:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#332f25;background:#fffaf2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;min-height:56px;border:0;border-radius:16px;font-weight:750;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.42}#app{min-height:100vh}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.side{padding:28px 16px;background:#96d72f;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}.brand{color:#e9167b;font-size:32px;line-height:.8;letter-spacing:-2px;font-weight:900}.brand small{color:#fffaf2;display:block;font-size:15px;letter-spacing:0;margin:9px 0 0 4px}.nav{display:grid;gap:8px}.nav button{text-align:left;padding:0 18px;background:transparent;color:#38550c}.nav button.active{background:#fffaf2;color:#e9167b;box-shadow:0 8px 24px #638d1e33}.side footer{margin-top:auto;font-size:12px;color:#38550c}.side footer button{min-height:38px;padding:0;color:#38550c;background:transparent}.page{padding:30px 36px;max-width:1680px;width:100%;margin:0 auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.heading h1{margin:0;font-size:34px;letter-spacing:-1.5px}.heading p{margin:5px 0 0;color:#756d5f}.panel{background:#fff;border:1px solid #f0e8dc;border-radius:24px;padding:22px;box-shadow:0 12px 32px #6c5e4310}.pos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr);gap:22px}.stack{display:grid;gap:18px}.section-title{margin:0 0 16px;font-size:22px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.choice{min-height:112px;text-align:left;padding:18px;background:#fffaf2;color:#332f25;border:2px solid #eadfce;box-shadow:0 4px #eadfce;transition:transform .12s,background .12s}.choice:active,.payment-option:active,.quantity-button:active{transform:translateY(3px);box-shadow:none}.choice.selected{border-color:#e9167b;background:#fff0f7;box-shadow:0 4px #e9167b}.choice strong,.choice span{display:block}.choice strong{font-size:18px}.choice span{margin-top:8px;color:#756d5f;font-size:15px}.flavors{grid-template-columns:repeat(auto-fill,minmax(142px,1fr))}.flavors .choice{min-height:78px;text-align:center;padding:12px;font-size:17px}.primary{background:#e9167b;color:#fff;padding:0 22px;box-shadow:0 5px #ae0c53}.secondary{background:#fff0f7;color:#c71265;padding:0 20px}.outline{border:1px solid #d9cfbf;background:#fff;color:#4d463c;padding:0 16px}.cart{display:flex;flex-direction:column;min-height:720px}.cart-items{display:grid;gap:10px;flex:1}.cart-item{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #eee6db}.cart-item small{color:#756d5f}.total{margin-top:18px;padding:22px 0;border-top:3px solid #332f25;display:flex;justify-content:space-between;font-size:30px;font-weight:900}.quantity-panel{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.quantity-panel .section-title{margin:0}.quantity-control{display:flex;align-items:center;border:2px solid #eadfce;border-radius:18px;overflow:hidden;background:#fffaf2}.quantity-control output{width:78px;text-align:center;font-size:28px;font-weight:900}.quantity-button{min-width:70px;min-height:70px;padding:0;border-radius:0;background:#96d72f;color:#274009;font-size:34px;line-height:1;box-shadow:inset 0 0 0 1px #7ab624}.pos-action{margin-left:auto;min-width:230px;min-height:70px;font-size:19px}.payment-section{margin-top:10px}.payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-option{min-height:74px;padding:10px;background:#fffaf2;border:2px solid #eadfce;color:#4d463c;font-size:17px;box-shadow:0 4px #eadfce}.payment-option.selected{background:#effbdc;border-color:#7dba22;color:#38550c;box-shadow:0 4px #7dba22}.payment-comment{margin-top:18px}.checkout-action{margin-top:22px;min-height:76px;font-size:21px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:7px;color:#756d5f;font-size:13px}.field input,.field select{min-height:52px;border:1px solid #d9cfbf;border-radius:13px;padding:0 13px;color:#332f25;background:#fff}.actions{display:flex;gap:12px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px 10px;border-bottom:1px solid #eee6db}.table th{color:#756d5f;font-size:12px;text-transform:uppercase}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#e9f9d2;color:#507b13}.status.cancelled{background:#fee0e9;color:#bf155b}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:20px;border-radius:20px;background:#fff;border:1px solid #f0e8dc}.metric b{display:block;font-size:30px;margin-top:8px}.breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.breakdown ul{margin:0;padding:0;list-style:none}.breakdown li{padding:9px 0;display:flex;justify-content:space-between;border-bottom:1px solid #eee6db}.empty{padding:45px 16px;text-align:center;color:#8b8274}.notice{border-radius:16px;padding:14px 16px;background:#fff0f7;color:#a10f4f}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#332f2588;display:grid;place-items:center;z-index:3;padding:24px}.modal{width:min(500px,100%);background:#fffaf2;border-radius:24px;padding:24px}.modal h2{margin-top:0}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,#c5ed7f,transparent 38%),#fffaf2}.login-card{width:min(480px,100%);padding:48px;border-radius:30px;background:#fff;box-shadow:0 24px 70px #35500033}.login-card .brand{font-size:58px}.login-card p{color:#756d5f;line-height:1.5;margin:30px 0}.pos-page{height:100vh;overflow:hidden}.pos-screen{height:calc(100vh - 154px)}.pos-screen .pos{height:100%}.catalog-panel{display:flex;flex-direction:column;gap:18px;min-height:0;overflow:hidden}.catalog-panel .product-grid{align-content:start;overflow-y:auto;padding:2px 4px 8px 2px}.cart{min-height:0;height:100%}.cart-items{overflow-y:auto}.step-label{margin:0 0 5px;color:#b50f5a;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.pos-modal{width:min(860px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:30px}.modal-heading{display:flex;justify-content:space-between;gap:20px}.modal-heading h2{margin:0;font-size:30px}.modal-heading p:not(.step-label){margin:8px 0 0;color:#756d5f;font-size:17px}.modal-close{min-width:54px;min-height:54px;border-radius:50%;background:#fff0f7;color:#b50f5a;font-size:32px;line-height:1}.flavor-progress{margin:24px 0 18px;color:#756d5f;font-weight:750}.flavor-progress>div{height:10px;margin-top:9px;border-radius:999px;background:#efe5d6;overflow:hidden}.flavor-progress i{display:block;height:100%;border-radius:inherit;background:#96d72f;transition:width .15s}.modal-flavors{max-height:420px;overflow-y:auto;padding:2px}.modal-cancel{min-width:180px;margin-top:22px;min-height:62px}.quantity-modal{width:min(540px,100%)}.modal-quantity{width:max-content;margin:38px auto}.modal-quantity output{width:120px;font-size:42px}.modal-add{width:100%;min-height:76px;font-size:21px}.quantity-modal .modal-cancel{width:100%;margin-top:16px}.catalog-launch{min-height:104px;width:min(520px,100%);font-size:25px}.catalog-hint{margin:auto 0;max-width:480px;color:#756d5f;font-size:20px;line-height:1.45}.modal-products{max-height:500px;overflow-y:auto;padding:3px}.flavor-choice{position:relative}.flavor-count{position:absolute;top:7px;right:8px;display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#e9167b;color:#fff;font-size:15px}.modal-close{width:56px;height:56px;min-width:56px;min-height:56px;flex:0 0 56px;padding:0;aspect-ratio:1}.confirm-modal{width:min(480px,100%);padding:34px}.confirm-modal h2{margin:4px 0 10px;font-size:28px}.confirm-modal>p:not(.step-label){color:#756d5f;font-size:18px;line-height:1.45}.confirm-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin-top:28px}.config-row{align-items:center;gap:14px}.config-row>div{display:flex;gap:8px}.config-row button{min-height:42px}.danger{color:#b50f5a;border-color:#eeb4cb}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{padding:14px;flex-direction:row;align-items:center}.side footer{margin:0 0 0 auto}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap;min-height:46px}.pos{grid-template-columns:1fr}.page{padding:20px}.pos-page{height:auto;overflow:visible}.pos-screen{height:auto}.cart{height:auto;min-height:600px}.metrics{grid-template-columns:repeat(2,1fr)}.breakdown{grid-template-columns:1fr}.side .brand small{display:none}}.side-user{margin-top:auto;display:grid;gap:12px}.side-tools{display:grid;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid #5c8b2233}.side-tools button{min-height:48px;padding:8px 12px;background:#fffaf2;color:#38550c;border-radius:13px;font-size:14px;font-weight:850;box-shadow:0 3px #7fae2b44}.side-tools button:first-child{color:#a10f4f}.user-card{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fff3;border-radius:14px}.user-avatar{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:50%;background:#fffaf2;color:#e9167b;font-weight:900;font-size:17px;text-transform:uppercase}.user-name{color:#274009;font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side .logout{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 14px;background:#fffaf2;color:#b50f5a;border-radius:14px;font-size:15px;font-weight:800;box-shadow:0 4px #7fae2b55}.side .logout:active{transform:translateY(2px);box-shadow:none}.logout-icon{flex:0 0 18px}.pos-left{display:flex;flex-direction:column;gap:22px;min-height:0;height:100%}.pos-left .catalog-panel{flex:1}.pos-left .payment-panel{flex:0 0 auto}.payment-panel .payment-options{margin-top:4px}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.row-cancelled td{color:#a99f90}.row-cancelled td:nth-child(4){text-decoration:line-through}.confirm-modal .field{margin-top:16px;text-align:left}.confirm-actions.single{grid-template-columns:1fr}.form-modal{width:min(560px,100%)}.form-modal .form-grid{margin-top:8px}@media(max-width:900px){.side-tools{display:flex;flex:0 0 auto;margin:0;padding:0;border:0}.side-tools button{white-space:nowrap}.side-user{flex-direction:column;align-items:stretch;min-width:180px}}.cart-items{align-content:start}.cart-item{align-items:start}button{transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.icon-btn{width:44px;min-width:44px;min-height:44px;padding:0;display:inline-grid;place-items:center;font-size:24px;line-height:1;border-radius:12px}.config-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.config-panel{display:flex;flex-direction:column}.config-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.config-head .section-title{margin:0}.config-add{min-height:42px;padding:0 16px}.config-list{display:grid;gap:8px;max-height:440px;overflow-y:auto;padding:2px}.config-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;min-height:auto;padding:12px 14px;background:#fffaf2;border:1px solid #eadfce;border-radius:14px;color:#332f25}.config-item:hover{border-color:#e9b8d0;background:#fff5fa}.config-item-main{display:grid;gap:3px;min-width:0}.config-item-title{font-size:16px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-item-sub{font-size:13px;color:#8b8274;font-weight:600}.config-chevron{font-size:24px;color:#c9a9b8;font-weight:900;flex:0 0 auto}.entity-modal{width:min(520px,100%)}.entity-usage{display:flex;align-items:baseline;gap:10px;margin:14px 0 4px;padding:12px 16px;background:#fff0f7;border-radius:14px;color:#a10f4f}.entity-usage strong{font-size:22px}.entity-usage small{margin-left:auto;font-weight:700;color:#b50f5a}.entity-details{margin:14px 0 0;display:grid;gap:8px}.entity-details>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee6db;padding-bottom:7px}.entity-details dt{margin:0;color:#8b8274;font-size:13px}.entity-details dd{margin:0;font-weight:700}.confirm-actions.triple{grid-template-columns:1fr 1fr 1.2fr}.primary-ghost{color:#38550c;border-color:#bfe08a}.config-add{width:42px;min-width:42px;min-height:42px;padding:0;display:grid;place-items:center;font-size:28px;line-height:1;border-radius:50%}button:hover{transform:translateY(-1px)}button:active{transform:scale(.95)}button:disabled:hover,button:disabled:active{transform:none}.table tbody tr{height:68px}.icon-btn{min-height:40px;height:40px}.modal-products{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.modal-products{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.side{position:static;height:auto;align-self:auto;overflow:visible}}.receipt-overlay{z-index:5}.receipt-modal{width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto}.receipt-modal>.modal-heading{align-items:center;margin-bottom:16px}.receipt-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:32px;align-items:start}.receipt-form{display:grid;gap:12px}.receipt-paper{width:max-content;max-width:100%;margin:20px auto;padding:24px 14px;background:#fff;color:#111;font:14px/1.5 Courier New,monospace;white-space:pre;overflow-x:auto;border:1px solid #ddd;box-shadow:0 8px 20px #0001}.receipt-check{display:flex;gap:12px;align-items:center;min-height:48px}.receipt-check input{width:22px;height:22px;flex-shrink:0;accent-color:#e9167b}.receipt-help{font-size:13px;line-height:1.5;color:#756d5f}.receipt-status{min-height:24px;font-weight:650;overflow-wrap:anywhere}.pos-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pos-tools button{font-size:13px;min-height:48px}@media(max-width:700px){.receipt-settings-grid{grid-template-columns:1fr}.receipt-paper{font-size:12px}.heading{flex-wrap:wrap}}
