:root{--ink:#203a33;--text:#273d36;--muted:#7a8780;--green:#244e43;--green-2:#386b55;--pale:#edf3e9;--canvas:#f5f6f2;--line:#e4e8df;--white:#fff;--amber:#a26b27;--amber-bg:#fcf2de;--red:#b7493e;--red-bg:#fceee9;--radius:18px;--shadow:0 12px 44px rgba(34,55,44,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,input,select,textarea,a{ -webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #8caf71;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #8caf71;outline-offset:1px}button{border:0}a{color:var(--green)}h1,h2,h3,h4,p{margin:0}h1{font-size:29px;line-height:1.2;letter-spacing:-1.1px;font-weight:650}h2{font-size:19px;letter-spacing:-.4px;line-height:1.3}h3{font-size:16px;letter-spacing:-.2px}p+p{margin-top:8px}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.mono{font-variant-numeric:tabular-nums}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}.hidden{display:none!important}.flex{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:16px}.gap8{gap:8px}.spacer{flex:1}.btn{min-height:42px;padding:10px 16px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;color:var(--text);background:#f2f4ef;border:1px solid transparent;white-space:nowrap}.btn:hover{filter:brightness(.97)}.btn.primary{background:var(--green);color:white}.btn.outline{border:1px solid var(--line);background:white}.btn.danger{background:var(--red-bg);color:var(--red)}.btn.small{min-height:34px;padding:7px 10px;font-size:12px}.btn.full{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:var(--muted);background:transparent}.icon-btn:hover{color:var(--green);background:var(--pale)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600;line-height:1.3;background:var(--pale);color:var(--green)}.pill.warn{color:var(--amber);background:var(--amber-bg)}.pill.danger{color:var(--red);background:var(--red-bg)}.pill.neutral{color:var(--muted);background:#f0f2ee}.dot{width:6px;height:6px;display:inline-block;flex:none;background:currentColor;border-radius:50%}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.notice{padding:12px 15px;border-radius:11px;background:var(--pale);color:var(--green);display:flex;align-items:flex-start;gap:10px;font-size:12px}.notice.warn{color:var(--amber);background:var(--amber-bg)}.notice.danger{background:var(--red-bg);color:var(--red)}.notice svg{flex:none;margin-top:1px}.empty{padding:42px 18px;text-align:center;color:var(--muted)}.empty svg{color:#a9b9a8;margin:0 auto 10px;display:block}.empty h3{color:var(--text);margin-bottom:5px}.initial-loading{display:grid;place-content:center;text-align:center;min-height:100vh;gap:16px}.initial-loading img{margin:auto}.brand{display:flex;align-items:center;gap:11px;color:var(--green);font-size:22px;font-weight:700;letter-spacing:-.7px}.brand img{width:39px;height:39px}.brand small{display:block;font-size:9px;letter-spacing:2.2px;font-weight:600;margin-top:-5px;color:var(--muted)}
/* Login */
.login{min-height:100vh;display:grid;grid-template-columns:1.08fr 1fr;padding:24px;gap:24px}.login-story{border-radius:26px;background:#e8edde;position:relative;padding:44px;display:flex;flex-direction:column;overflow:hidden}.login-story .eyebrow{margin-top:75px;color:#73846d}.login-story h1{font-size:54px;line-height:1.05;letter-spacing:-2.8px;margin-top:15px;max-width:490px}.login-story>p{margin-top:20px;color:#73816c;max-width:360px;font-size:15px}.login-food{height:290px;position:relative;margin-top:22px}.login-food img{width:250px;border:8px solid rgba(255,255,255,.8);border-radius:27px;box-shadow:var(--shadow);position:absolute;transform:rotate(-8deg);left:12px;top:45px}.login-food img+img{left:220px;top:90px;width:200px;transform:rotate(8deg)}.login-note{margin-top:auto;font-size:11px;color:#73816c;display:flex;gap:20px;padding-top:20px}.login-form-side{display:flex;align-items:center;justify-content:center;padding:30px}.login-box{max-width:380px;width:100%}.login-box h1{font-size:32px;margin:14px 0 10px}.login-box>p{margin-bottom:30px}.login-box .brand{display:none}.form-stack{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span,.field>label{font-size:12px;font-weight:600;color:var(--text)}.field input,.field select,.field textarea,.input{width:100%;border:1px solid var(--line);border-radius:10px;min-height:44px;padding:11px 13px;background:white;color:var(--text)}.field textarea{resize:vertical;min-height:80px}.field .hint{color:var(--muted);font-size:11px;font-weight:400}.field input::placeholder{color:#a4aca5}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-inline{display:flex;align-items:center;gap:8px;font-size:12px}.field-inline input{accent-color:var(--green);width:17px;height:17px}.login-foot{margin-top:32px;color:var(--muted);font-size:11px;line-height:1.8}.form-error{color:var(--red);font-size:12px;min-height:0}.password-wrap{position:relative}.password-wrap input{padding-right:55px}.password-wrap button{position:absolute;right:6px;top:7px;font-size:11px;background:none;color:var(--muted);height:30px}.offline-login{margin:15px 0}
/* Application shell */
.app{min-height:100vh;padding-left:214px}.sidebar{width:214px;position:fixed;left:0;top:0;bottom:0;background:white;border-right:1px solid var(--line);padding:28px 17px 18px;display:flex;flex-direction:column;z-index:30}.sidebar .brand{margin:0 10px 34px}.nav-section{margin:22px 13px 10px;font-size:9px;font-weight:700;color:#9ba69c;letter-spacing:1.4px}.nav-button{width:100%;display:flex;align-items:center;gap:12px;min-height:45px;border-radius:10px;background:none;color:#7a867d;font-weight:550;padding:12px;margin:3px 0;text-align:left;font-size:12px}.nav-button:hover{background:#f4f6f1}.nav-button.active{background:var(--green);color:#fff}.nav-button svg{width:18px}.sidebar-bottom{margin-top:auto;padding-top:28px}.sidebar-sync{background:#f4f6ee;border-radius:12px;padding:13px;font-size:11px;cursor:pointer}.sidebar-sync strong{font-size:12px;display:block}.sidebar-sync .sync-label{display:block;color:var(--muted);margin-top:6px}.sidebar-help{font-size:10px;color:var(--muted);line-height:1.8;padding:18px 10px 0}.sidebar-help strong{color:#68776b;display:block}.topbar{height:82px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.84);gap:15px}.restaurant-icon{background:#f0f3eb;color:var(--green);border-radius:10px;width:38px;height:38px;display:flex;align-items:center;justify-content:center}.restaurant-label{font-size:13px;font-weight:650}.restaurant-caption{font-size:10px;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:16px}.connection-status{border:0;padding:7px 11px;cursor:pointer}.avatar{width:37px;height:37px;border-radius:12px;background:#e8ecde;color:#738468;display:flex;align-items:center;justify-content:center;font-weight:650;font-size:12px}.top-user{display:flex;align-items:center;gap:10px;padding-left:15px;border-left:1px solid var(--line)}.top-user strong{font-size:11px;display:block}.top-user small{font-size:10px;color:var(--muted);text-transform:capitalize}.bell-button{position:relative}.unread-dot{position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--red)}.page{padding:27px 30px 35px;max-width:1900px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-heading p{font-size:12px;color:var(--muted);margin-top:7px}.date-chip{font-size:11px;background:white;border:1px solid var(--line);padding:9px 12px;border-radius:9px;display:flex;align-items:center;gap:8px;white-space:nowrap}.status-banner{margin:0 0 17px}.snapshot-text{font-size:10px;color:var(--muted)}.mobile-cart{display:none}.mobile-brand{display:none}
/* POS */
.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:24px;align-items:start}.menu-section{min-width:0}.menu-toolbar{display:flex;gap:12px;margin-bottom:19px;align-items:center}.searchbox{position:relative;flex:1;min-width:0}.searchbox svg{position:absolute;left:14px;top:13px;color:#85917e}.searchbox input{height:46px;width:100%;background:white;border:1px solid var(--line);border-radius:12px;padding:11px 48px 11px 43px;font-size:12px}.shortcut{position:absolute;right:13px;top:13px;border:1px solid var(--line);border-radius:4px;min-width:19px;text-align:center;font-size:10px;color:var(--muted);background:#f8f9f6}.menu-count{font-size:11px;color:var(--muted);white-space:nowrap}.category-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:14px;margin-bottom:10px;scrollbar-width:thin}.category{min-width:96px;padding:12px 10px 10px;border:1px solid var(--line);border-radius:13px;background:white;color:var(--text);text-align:center;flex:1}.category img{width:53px;height:37px;object-fit:cover;mix-blend-mode:multiply;border-radius:8px;display:block;margin:0 auto 7px}.category .all-category{height:37px;display:flex;align-items:center;justify-content:center;margin:0 auto 7px;color:var(--green)}.category strong{font-size:10px;display:block;white-space:nowrap;font-weight:600}.category small{font-size:9px;color:var(--muted);display:block;margin-top:2px}.category.active{background:#e8efdf;border-color:#c3d3ac;box-shadow:inset 0 0 0 1px #c3d3ac}.category:hover{background:#f2f5ec}.section-title{margin:4px 0 14px;display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:17px}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:15px}.item-card{position:relative;background:white;padding:10px;border:1px solid var(--line);border-radius:15px;text-align:left;color:var(--text);display:flex;flex-direction:column;min-width:0;transition:transform .16s,box-shadow .16s}.item-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #23352d10;border-color:#bdcdb0}.item-card.in-cart{border-color:#9db68a}.item-card>img{width:100%;aspect-ratio:1.52;object-fit:cover;border-radius:10px;background:#f2f0e8}.item-info{padding:12px 3px 3px}.item-info .category-label{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#9a9f92}.item-name{font-size:12px;font-weight:650;line-height:1.4;min-height:34px;margin-top:5px}.item-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:6px}.item-price{font-size:13px;font-weight:700;color:var(--green)}.add-circle{height:29px;width:29px;border-radius:9px;background:var(--pale);display:flex;align-items:center;justify-content:center;color:var(--green)}.item-card.in-cart .add-circle{background:var(--green);color:white;font-size:12px;font-weight:700}.stock-caption{font-size:9px;color:var(--muted);margin-top:5px}.stock-caption.low{color:var(--amber)}.item-tag{position:absolute;top:18px;left:18px;border-radius:5px;padding:3px 6px;background:rgba(255,255,255,.92);font-size:8px;font-weight:650;color:#75805a}.order-panel{position:sticky;top:20px;background:white;border:1px solid var(--line);border-radius:18px;padding:21px;display:flex;flex-direction:column;min-height:640px}.order-header h2{font-size:19px}.order-header .receipt-label{font-size:10px;color:var(--muted);margin-top:4px}.order-type{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#f5f6f1;border-radius:10px;gap:4px;margin:18px 0 12px}.order-type button{background:none;border-radius:7px;padding:9px;font-size:11px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.order-type button.active{background:white;box-shadow:0 2px 8px #273e3210;color:var(--green);font-weight:650}.table-input{font-size:11px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;min-height:38px;width:100%;color:var(--text)}.cart-lines{flex:1;min-height:220px;max-height:350px;overflow-y:auto;margin:16px 0}.cart-line{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #eff1eb}.cart-line:first-child{padding-top:4px}.cart-line img{width:49px;height:49px;object-fit:cover;border-radius:9px;flex:none}.cart-line-main{flex:1;min-width:0}.cart-line-name{font-size:11px;font-weight:650}.cart-line-price{font-size:10px;color:var(--muted);margin-top:3px}.cart-line-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.stepper{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:2px}.stepper button{width:23px;height:22px;display:flex;align-items:center;justify-content:center;background:#f3f5ef;border-radius:5px;color:var(--green)}.stepper span{font-size:11px;min-width:15px;text-align:center;font-weight:650}.cart-line-total{font-size:11px;font-weight:650}.cart-empty{min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:9px;color:var(--muted);font-size:11px}.cart-empty-icon{width:58px;height:58px;background:#f2f5eb;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#a8b79b;margin-bottom:5px}.cart-empty strong{color:#8c9885;font-size:13px}.cart-total{border-top:1px dashed var(--line);padding-top:17px;display:flex;flex-direction:column;gap:11px}.summary-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.summary-row strong{color:var(--text);font-weight:600}.summary-row.total{font-size:15px;padding-top:9px;border-top:1px solid var(--line);color:var(--text);margin-top:3px}.summary-row.total strong{font-size:23px;letter-spacing:-.8px;color:var(--green)}.discount-field{border:1px solid var(--line);border-radius:6px;padding:5px 7px;width:76px;text-align:right;font-size:11px;min-height:30px;color:var(--text)}.charge-btn{margin-top:18px;min-height:50px;justify-content:space-between;font-size:13px}.charge-btn span{display:flex;align-items:center;gap:8px}.charge-btn kbd{font:10px inherit;opacity:.6;font-weight:400}.order-footer{display:flex;gap:8px;margin-top:10px}.order-footer button{flex:1;font-size:10px}.save-note{font-size:9px;text-align:center;color:#98a18f;margin-top:13px;display:flex;justify-content:center;gap:5px;align-items:center}.held-count{background:var(--pale);padding:1px 5px;border-radius:4px}
/* Dashboard and reports */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.metric{background:white;border:1px solid var(--line);border-radius:15px;padding:21px;min-width:0}.metric-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.metric-icon{height:33px;width:33px;border-radius:10px;display:grid;place-content:center;background:#f1f4e9;color:#849272}.metric-value{font-size:26px;font-weight:650;letter-spacing:-.9px;margin-top:14px;line-height:1.15;font-variant-numeric:tabular-nums}.metric-value.currency{font-size:23px}.metric-caption{font-size:10px;color:var(--muted);margin-top:10px}.metric.emphasis{background:var(--green);color:white;border-color:var(--green)}.metric.emphasis .metric-label,.metric.emphasis .metric-caption{color:#b7cabc}.metric.emphasis .metric-icon{color:#d6e4c9;background:#3b6151}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:23px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}.panel-header p{font-size:11px;color:var(--muted);margin-top:5px}.bar-chart{height:225px;display:flex;align-items:end;gap:22px;border-bottom:1px solid var(--line);padding:30px 10px 0;background:repeating-linear-gradient(to top,transparent 0,transparent 54px,#f0f2ea 54px,#f0f2ea 55px)}.chart-column{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;position:relative;min-width:0}.chart-bar{width:100%;max-width:44px;background:#d4e0c6;border-radius:7px 7px 0 0;min-height:3px;position:relative}.chart-bar.today{background:var(--green)}.chart-bar:hover{background:#8aa575}.chart-labels{display:flex;justify-content:space-around;margin:10px 10px 0;font-size:10px;color:var(--muted)}.chart-legend{display:flex;gap:16px;align-items:center;font-size:10px;color:var(--muted);margin-top:17px}.chart-legend .dot{background:#adc098}.leader-list{display:flex;flex-direction:column;gap:15px}.leader{display:flex;align-items:center;gap:12px}.leader img{width:56px;height:42px;border-radius:8px;object-fit:cover}.leader-info{flex:1;min-width:0}.leader-name{font-size:11px;font-weight:650}.leader-detail{font-size:10px;color:var(--muted);margin-top:3px}.leader-rank{font-size:10px;color:var(--muted);min-width:12px}.leader-money{text-align:right;font-size:11px;font-weight:650;white-space:nowrap}.leader-money small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:3px}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-top:23px}.terminal-list{display:flex;flex-direction:column;gap:12px}.terminal{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px}.terminal .terminal-icon{height:38px;width:38px;border-radius:10px;background:#f0f4e9;color:#7e9570;display:grid;place-content:center;flex:none}.terminal.offline .terminal-icon{color:var(--amber);background:var(--amber-bg)}.terminal-info{flex:1;min-width:0}.terminal-info strong{display:block;font-size:11px}.terminal-info small{font-size:9px;color:var(--muted)}.terminal .pill{font-size:9px}.alert-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:11px;align-items:start}.alert-row:last-child{border-bottom:0}.alert-row>svg{color:var(--amber);flex:none}.alert-row p{font-size:12px}.alert-row small{font-size:10px;color:var(--muted)}.filter-tiles{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:13px;margin-bottom:20px}.filter-tile{padding:17px 15px;background:white;border:1px solid var(--line);border-radius:14px;text-align:left;display:flex;flex-direction:column;gap:8px;color:var(--text)}.filter-tile .tile-icon{width:36px;height:36px;display:grid;place-content:center;border-radius:11px;background:#f1f4e9;color:#809373}.filter-tile strong{font-size:12px}.filter-tile small{font-size:10px;color:var(--muted)}.filter-tile.active{border-color:#a4ba8e;background:#eef3e6;box-shadow:inset 0 0 0 1px #c7d7b8}.filter-tile.active .tile-icon{background:#dbe8cb;color:var(--green)}.report-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}.report-controls select,.report-controls input{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:white;min-height:39px;color:var(--text);font-size:11px}.view-switch{display:flex;background:#e9ede2;border-radius:10px;padding:4px;gap:3px}.view-switch button{padding:9px 13px;border-radius:7px;background:none;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px}.view-switch button.active{background:white;color:var(--green);box-shadow:0 2px 6px #244e4310}.report-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:17px}.report-item{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden}.report-item img{width:100%;height:125px;object-fit:cover}.report-item-body{padding:17px}.report-item h3{font-size:13px}.report-item .money-large{font-size:21px;font-weight:650;letter-spacing:-.6px;margin-top:13px}.report-item .item-stat-row{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:10px}.sales-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:15px}.sale-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:white;text-align:left;color:var(--text)}.sale-card:hover{border-color:#b7c9a6}.sale-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.sale-card-header strong{font-size:11px}.sale-card time{font-size:10px;color:var(--muted);display:block;margin-top:8px}.sale-card .sale-card-total{font-size:24px;font-weight:650;letter-spacing:-.8px;margin:16px 0 10px}.sale-card .sale-card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.sale-card-preview{display:flex;align-items:center;gap:4px;margin:12px 0}.sale-card-preview img{width:43px;height:32px;border-radius:6px;object-fit:cover}.sale-card-preview small{color:var(--muted);margin-left:6px}.sale-card.voided{opacity:.66}.sale-card.voided .sale-card-total{text-decoration:line-through}.report-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px}.breakdown{display:flex;flex-direction:column;gap:16px}.breakdown-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;gap:10px}.breakdown-row strong{font-variant-numeric:tabular-nums}.breakdown-row.big{border-top:1px solid var(--line);padding-top:15px;font-size:17px}.mini-progress{height:7px;background:#edf0e6;border-radius:8px;overflow:hidden;margin-top:8px}.mini-progress>span{display:block;height:100%;background:#89a879;border-radius:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid #eef1e9;vertical-align:middle}tr:last-child td{border-bottom:0}.table-money{text-align:right;font-variant-numeric:tabular-nums}.table-item{display:flex;gap:12px;align-items:center}.table-item img{width:57px;height:42px;border-radius:8px;object-fit:cover}.table-item strong{display:block;font-size:12px}.table-item small{color:var(--muted);font-size:10px}.inventory-actions{display:flex;justify-content:end;gap:5px}.inventory-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.inventory-stat{padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:white;font-size:11px;display:flex;align-items:center;gap:7px}.inventory-stat strong{font-size:13px}.inventory-stat.warn{color:var(--amber);background:var(--amber-bg);border-color:#edddba}
/* Forms, team, settings */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:18px}.user-card{background:white;border:1px solid var(--line);border-radius:16px;padding:23px}.user-card .avatar{width:48px;height:48px;border-radius:15px;font-size:15px}.user-card h3{margin-top:18px;font-size:14px}.user-card p{font-size:11px;color:var(--muted);margin-top:3px}.user-card .between{margin-top:18px}.settings-layout{display:grid;grid-template-columns:minmax(300px,1.25fr) minmax(280px,1fr);gap:24px}.settings-panel h2{margin-bottom:7px}.settings-panel>p{margin-bottom:24px;color:var(--muted);font-size:12px}.info-list{display:flex;flex-direction:column;gap:16px}.info-pair{display:flex;justify-content:space-between;gap:18px;font-size:12px}.info-pair span:first-child{color:var(--muted)}.info-pair span:last-child{text-align:right;font-weight:550}.photo-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.photo-option{padding:3px;border:2px solid transparent;border-radius:10px;background:#f6f7f2}.photo-option img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:7px}.photo-option.selected{border-color:#8ca674;background:#e7efdc}.chosen-photo{width:110px;height:77px;object-fit:cover;border-radius:10px}.section-divider{height:1px;background:var(--line);margin:24px 0}.setting-switch{display:flex;justify-content:space-between;gap:15px;align-items:center}.setting-switch strong{font-size:12px;display:block}.setting-switch small{font-size:11px;color:var(--muted)}.setting-switch input{width:18px;height:18px;accent-color:var(--green)}
/* Dialogs and receipts */
dialog{border:1px solid var(--line);border-radius:20px;padding:0;width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 45px);overflow:auto;background:white;color:var(--text);box-shadow:0 24px 80px #182b3333}dialog.wide{width:min(850px,calc(100vw - 28px))}dialog::backdrop{background:#152b2559;backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 27px 18px;gap:20px;position:sticky;top:0;background:white;border-bottom:1px solid var(--line);z-index:3}.modal-header h2{font-size:21px}.modal-header p{font-size:11px;color:var(--muted);margin-top:5px}.modal-body{padding:24px 27px}.modal-footer{padding:18px 27px;border-top:1px solid var(--line);display:flex;justify-content:end;gap:10px;background:#fcfcfa}.payment-total{text-align:center;margin:2px 0 23px}.payment-total span{font-size:11px;color:var(--muted)}.payment-total h3{font-size:38px;font-weight:650;letter-spacing:-1.5px;margin-top:5px}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.payment-method{padding:18px;border-radius:13px;background:#fafbf7;border:1px solid var(--line);text-align:left;color:var(--muted)}.payment-method.active{border:1px solid #abc194;background:#eef4e6;color:var(--green);box-shadow:inset 0 0 0 1px #cbdcb9}.payment-method strong{font-size:13px;display:block;margin-top:9px}.payment-method small{display:block;font-size:10px;margin-top:2px;color:var(--muted)}.cash-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cash-presets button{border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:11px;color:var(--green);background:#f8faf5}.cash-input{font-size:23px!important;letter-spacing:-.5px;min-height:60px!important}.change-row{display:flex;justify-content:space-between;align-items:center;background:var(--pale);border-radius:10px;padding:14px;margin-top:18px;color:var(--green);font-size:12px}.change-row strong{font-size:19px}.receipt-success{text-align:center;margin-bottom:23px}.success-check{width:57px;height:57px;border-radius:50%;background:#e8f2df;display:grid;place-content:center;margin:0 auto 13px;color:#668653}.receipt-success h3{font-size:22px}.receipt-success p{font-size:12px;color:var(--muted);margin-top:5px}.receipt-paper{background:#fafbf6;border:1px solid var(--line);border-radius:13px;padding:22px}.receipt-brand{text-align:center;margin-bottom:20px}.receipt-brand h3{font-size:17px}.receipt-brand p{font-size:10px;color:var(--muted);margin-top:3px}.receipt-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin:5px 0}.receipt-lines{border-top:1px dashed #d5decb;border-bottom:1px dashed #d5decb;margin:13px 0;padding:10px 0}.receipt-line{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:5px 0}.receipt-line small{font-size:10px;color:var(--muted)}.receipt-total{margin:12px 0;font-size:17px;display:flex;justify-content:space-between;font-weight:650}.receipt-note{text-align:center;margin-top:18px;font-size:11px;color:var(--muted)}.receipt-id{font-size:8px;overflow-wrap:anywhere;color:#9da58f;text-align:center;margin-top:12px}.held-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.held-row strong{font-size:12px;display:block}.held-row small{font-size:10px;color:var(--muted)}.queue-row{border:1px solid var(--line);border-radius:11px;padding:13px;margin-top:10px}.queue-row strong{font-size:12px}.queue-row p{font-size:11px;color:var(--muted);margin-top:4px}.queue-row.error{border-color:#ebcbc2}.queue-row.error p{color:var(--red)}.sync-hero{text-align:center;padding:6px 0 25px}.sync-circle{width:65px;height:65px;background:var(--pale);border-radius:20px;color:var(--green);display:grid;place-content:center;margin:0 auto 15px}.sync-hero h3{font-size:22px}.sync-hero p{font-size:12px;color:var(--muted);margin-top:6px}.shortcut-grid{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:12px}.shortcut-grid kbd{border:1px solid var(--line);border-radius:5px;padding:2px 6px;background:#f3f5ed;width:max-content;font:11px monospace}.toast{background:var(--green);color:white;border-radius:12px;padding:13px 17px;box-shadow:var(--shadow);display:flex;align-items:center;gap:9px;font-size:12px;max-width:440px;animation:toast-in .2s ease}.toast.error{background:#984b3e}.toast svg{flex:none}#toast-region{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:150;display:flex;flex-direction:column;gap:10px;max-width:calc(100vw - 28px)}@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spin{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#print-area{display:none}
@media(min-width:1700px){.item-grid{grid-template-columns:repeat(4,minmax(170px,1fr))}.pos-layout{grid-template-columns:minmax(0,1fr) 370px}}
@media(max-width:1250px){.app{padding-left:176px}.sidebar{width:176px;padding-left:12px;padding-right:12px}.brand{font-size:19px}.brand img{width:33px;height:33px}.sidebar .brand{margin-left:7px}.nav-button{font-size:11px;gap:9px}.topbar{padding:0 22px}.page{padding:24px 22px}.pos-layout{grid-template-columns:minmax(0,1fr) 302px;gap:18px}.order-panel{padding:17px}.category{min-width:83px}.category strong{font-size:9px}.metrics{gap:12px}.metric{padding:17px}.metric-value.currency{font-size:20px}.item-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}.dashboard-grid{grid-template-columns:1.2fr 1fr}.top-actions{gap:10px}.top-user strong,.top-user small{display:none}.bar-chart{gap:16px}}
@media(max-width:1050px){.app{padding-left:77px}.sidebar{width:77px;padding:24px 10px 15px;align-items:center}.sidebar .brand{margin:0 0 31px}.sidebar .brand>div{display:none}.sidebar .brand img{width:39px;height:39px}.nav-section{font-size:0;margin:17px 0 8px;height:1px;background:var(--line);width:30px}.nav-button{width:48px;height:47px;justify-content:center;padding:10px}.nav-button span{display:none}.nav-button svg{width:20px}.sidebar-sync{padding:12px;width:48px;height:48px;display:grid;place-content:center}.sidebar-sync strong,.sidebar-sync .sync-label{display:none}.sidebar-help{display:none}.sidebar-bottom{width:48px}.pos-layout{grid-template-columns:minmax(0,1fr) 300px}.item-grid{grid-template-columns:repeat(auto-fill,minmax(147px,1fr))}.login-story{padding:34px}.login-story h1{font-size:43px}.login-food img{width:205px;left:0}.login-food img+img{left:150px;width:175px}.login-note{gap:12px}.dashboard-bottom{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.topbar{height:73px}.metrics{grid-template-columns:repeat(2,1fr)}.metric-value.currency{font-size:26px}.page-heading h1{font-size:26px}.filter-tile{padding:14px 11px}.dashboard-grid{grid-template-columns:1fr}.report-summary{grid-template-columns:1fr}}
@media(max-width:780px){.login{grid-template-columns:1fr;padding:0}.login-story{display:none}.login-form-side{min-height:100vh;padding:30px}.login-box .brand{display:flex;margin-bottom:40px}.login-box .eyebrow{display:none}.page{padding:22px 17px}.topbar{padding:0 17px;gap:8px}.restaurant-label{font-size:11px}.restaurant-caption{font-size:9px}.top-user{border:0;padding-left:0}.top-user .avatar{display:none}.top-actions{gap:5px}.connection-status{font-size:10px;padding:6px 8px}.topbar .restaurant-icon{display:none}.date-chip{display:none}.pos-layout{grid-template-columns:minmax(0,1fr)}.order-panel{position:static;min-height:400px;margin-top:8px}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.item-card{padding:8px}.item-name{font-size:11px}.item-price{font-size:11px}.category{min-width:78px}.category strong{font-size:9px}.category-list{gap:8px}.page-heading{margin-bottom:21px}.mobile-cart{display:flex;position:fixed;bottom:17px;right:17px;z-index:20;box-shadow:0 6px 20px #213e3a30}.page{padding-bottom:86px}.dashboard-bottom{grid-template-columns:1fr}.filter-tiles{grid-template-columns:repeat(5,minmax(80px,1fr));gap:8px;overflow:auto}.filter-tile .tile-icon{width:30px;height:30px}.filter-tile strong{font-size:11px}.filter-tile small{font-size:9px}.panel{padding:19px}.inventory-actions .btn span{display:none}.settings-layout{grid-template-columns:1fr}.report-controls{gap:8px}.report-controls .spacer{display:none}.topbar .icon-btn{width:30px}.modal-header{padding:21px 21px 16px}.modal-body{padding:21px}.modal-footer{padding:17px 21px}.team-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
@media(max-width:520px){.app{padding-left:0}.sidebar{top:auto;bottom:0;left:0;right:0;height:65px;width:100%;flex-direction:row;justify-content:space-around;padding:7px 8px;box-shadow:0 -2px 15px #213e320a;border:0;border-top:1px solid var(--line);z-index:40}.sidebar .brand,.sidebar .nav-section,.sidebar-bottom{display:none}.sidebar nav{display:contents}.nav-button{width:44px;height:43px;margin:0;padding:10px}.sidebar .nav-team,.sidebar .nav-settings{display:none}.sidebar .nav-button span{display:none}.mobile-settings{display:inline-flex!important}.page{padding:21px 14px 152px}.topbar{height:65px;padding:0 14px}.top-actions{gap:5px}.page-heading h1{font-size:25px}.page-heading p{font-size:11px}.page-heading .btn{font-size:11px;padding:9px 11px;min-height:38px}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.item-name{font-size:12px;min-height:34px}.item-info{padding:9px 3px 3px}.item-price{font-size:12px}.mobile-cart{bottom:78px;right:14px}.metrics{gap:10px;margin-bottom:20px}.metric{padding:15px}.metric-label{font-size:10px}.metric-icon{width:26px;height:26px}.metric-value.currency{font-size:21px}.metric-value{font-size:25px}.metric-caption{font-size:9px}.filter-tiles{margin-right:-14px;padding-right:14px}.filter-tile{min-width:87px}.field-row{grid-template-columns:1fr}.report-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-item img{height:97px}.report-item-body{padding:13px}.report-item h3{font-size:11px;min-height:32px}.report-item .money-large{font-size:17px}.report-item .item-stat-row{font-size:9px}.table-wrap{margin-left:-8px;margin-right:-8px}.team-grid{grid-template-columns:1fr}.terminal{padding:11px;gap:9px}.terminal .terminal-icon{display:none}.terminal-info strong{font-size:11px}.bar-chart{gap:14px}.toast{font-size:11px}#toast-region{bottom:142px}.modal-header h2{font-size:19px}.modal-body{padding:20px}.photo-picker{grid-template-columns:repeat(4,1fr)}.payment-total h3{font-size:34px}.receipt-paper{padding:16px}.page-heading{align-items:flex-start}.view-switch button{padding:8px 10px}.report-controls select{max-width:48%}.topbar .restaurant-label{max-width:146px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .connection-status svg{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body>*{display:none!important}#print-area{display:block!important;margin:0;padding:4mm;width:80mm;color:#000;font-family:monospace;font-size:10px}#print-area .receipt-paper{border:0;padding:0;background:white;border-radius:0}#print-area .receipt-paper *{color:#000!important}#print-area .receipt-total{font-size:14px}#print-area .receipt-brand h3{font-size:14px}#print-area .receipt-line{font-size:10px}#print-area .receipt-meta{font-size:9px}#print-area .pill{background:none;border:1px solid #777}#print-area .receipt-id{font-size:7px}.no-print{display:none!important}@page{size:80mm auto;margin:0}}

/* v3: two primary menus, usable by touch without a crowded toolbar. */
.department-tiles{display:flex;gap:12px;margin:0 0 20px;flex-wrap:wrap}
.department-tile{display:flex;align-items:center;gap:14px;flex:1;min-width:150px;min-height:76px;padding:16px 20px;border:1px solid var(--line,#dfe5de);border-radius:14px;background:#fff;color:#234b40;text-align:left;cursor:pointer;font:inherit}
.department-tile div{display:flex;flex-direction:column;gap:5px}
.department-tile strong{font-size:17px;font-weight:750}
.department-tile small{font-size:11px;color:#758078}
.department-tile.active{background:#234f43;color:#fff;border-color:#234f43;box-shadow:0 4px 10px #1c493314}
.department-tile.active small{color:#d5e5dd}
.department-tile:focus-visible{outline:3px solid #bea16c;outline-offset:3px}
.wrap{flex-wrap:wrap}
@media(max-width:640px){.department-tile{padding:13px;min-width:100px;gap:8px}.department-tile strong{font-size:15px}.department-tile small{font-size:10px}.department-tiles{gap:8px}.department-tile svg{width:20px;flex-shrink:0}}
/* V4 raw materials / recipes: touch-sized forms and responsive stock cards. */
.stock-note{margin:16px 0 22px}.stock-note p{margin:6px 0 0;line-height:1.6}.stock-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:20px 0;flex-wrap:wrap}.stock-search{min-height:44px;border:1px solid var(--line,#dde2dc);border-radius:10px;padding:10px 14px;min-width:230px;max-width:100%;background:white}.stock-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px;margin-bottom:22px}.raw-card .btn{padding:9px 12px;min-height:39px}.raw-card-title{display:flex;gap:14px;align-items:center;margin:20px 0 15px}.raw-card-title h2{font-size:19px;margin:0}.raw-card-title p{margin:5px 0;color:#68766e}.raw-unit{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#eff4ec;color:#264e42;font-size:20px;font-weight:700}.raw-quantity{font-size:28px;display:block;letter-spacing:-1px}.raw-alert{border:2px solid #c47749}.stock-metrics .metric{background:white;border:1px solid #e4e8e0;border-radius:16px;padding:20px}.stock-metrics .metric span{display:block;font-size:12px;color:#657168}.stock-metrics .metric strong{display:block;font-size:24px;margin-top:9px}.stock-departments .department-tile{flex-direction:column;align-items:flex-start;gap:6px;min-height:76px}.stock-documents{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px;margin-bottom:20px}.stock-documents p{font-size:13px;line-height:1.6;color:#657168}.stock-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:1px solid #dde4da;border-radius:12px;margin:0 0 16px;padding:16px;min-width:0}.stock-line legend{padding:0 8px;font-size:12px;font-weight:700;color:#56665b}.stock-line .wide-field{grid-column:span 2}.stock-line .field{min-width:0}.stock-line input,.stock-line select{width:100%;min-width:0}.stock-line .hint{grid-column:1/-1}.stock-line .btn{align-self:end}.stock-line.recipe-line{grid-template-columns:2fr 1fr 1fr auto;align-items:end}.stock-line.recipe-line .wide-field{grid-column:auto}.recipe-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(335px,1fr));gap:16px}.recipe-card{display:flex;gap:16px;align-items:center}.recipe-card img{width:96px;height:106px;object-fit:cover;border-radius:12px;flex-shrink:0}.recipe-card h3{font-size:15px;margin:10px 0 5px}.recipe-card p{font-size:11px;line-height:1.7;color:#68766e}.recipe-card .btn{font-size:12px;min-height:36px}.stock-ledger article{padding:16px 0;border-bottom:1px solid #e2e6df}.stock-ledger p{font-size:12px;line-height:1.6;color:#627066;overflow-wrap:anywhere}.ledger-values{display:flex;gap:24px;flex-wrap:wrap;margin-top:9px;font-size:13px}.stock-line+.btn{align-self:start}
@media(max-width:720px){.stock-departments{display:grid;grid-template-columns:1fr 1fr}.stock-metrics{grid-template-columns:1fr 1fr!important}.stock-metrics .metric strong{font-size:20px}.stock-line,.stock-line.recipe-line{grid-template-columns:1fr 1fr}.stock-line .wide-field,.stock-line.recipe-line .wide-field{grid-column:1/-1}.stock-cards,.stock-documents,.recipe-cards{grid-template-columns:1fr}.recipe-card{padding:15px}.recipe-card img{width:80px;height:98px}.stock-toolbar .flex{gap:8px}.stock-search{width:100%}.stock-line{padding:12px}.sidebar nav{overflow:auto}}
/* FOODPORTS V5: original restaurant mark and compact service controls. */
.brand img { width: 58px; height: 58px; object-fit: contain; background: #fff; border-radius: 6px; }
.brand-name { font-size: 21px; }
.service-fields { display: grid; gap: 7px; padding-bottom: 10px; }
.service-fields .table-input { margin: 0; }
.table-picker-button { width: 100%; justify-content: flex-start; min-height: 39px; }
.table-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(116px,1fr)); gap: 10px; margin-top: 18px; max-height: 440px; overflow-y: auto; padding: 2px; }
.table-tile { min-height: 80px; display: grid; align-content: center; gap: 6px; background: #f3f5ef; border: 1px solid #dde5d9; border-radius: 12px; color: #234d43; cursor: pointer; }
.table-tile small { font-size: 12px; }
.table-tile.table-held { background: #fff2dd; border-color: #e9ca8c; color: #774a13; }
.table-tile.selected { outline: 2px solid #234d43; }
.cost-review-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-bottom:1px solid #e5e8e0; }
.cost-review-row p { margin:5px 0 0; font-size:13px; color:#69786f; }
.cost-review-list { margin-top:12px; }
.receipt-logo { display:block; width:95px; height:92px; object-fit:contain; margin:0 auto 10px; }
#bottle-volume-wrap[hidden] { display:none !important; }
@media(max-width:560px) { .cost-review-row { align-items:stretch; flex-direction:column; } .table-grid { grid-template-columns:repeat(3,1fr); } }

/* FOODPORTS uses the supplied horizontal wordmark without distortion. */
.brand img { width:170px; height:46px; object-fit:contain; }
.sidebar .brand { margin:0 0 24px; justify-content:center; }
.login-story .brand img { width:245px; height:66px; }
.login-box .brand img { width:220px; height:60px; }
.receipt-logo { width:220px; height:60px; object-fit:contain; }
.initial-loading img { width:220px; height:60px; object-fit:contain; }
@media(max-width:700px) { .login-box .brand { display:flex; margin-bottom:20px; } }

/* V7 tenant settings: roomy controls, natural aspect ratios and touch targets. */
.restaurant-logo-preview{background:#fafaf7;border:1px solid var(--line,#dde3dc);border-radius:14px;padding:22px;margin:18px 0;display:flex;align-items:center;justify-content:center;min-height:120px}
.restaurant-logo-preview img{max-width:100%;width:auto;max-height:120px;object-fit:contain}
.sidebar .brand .restaurant-logo{max-width:100%;max-height:65px;object-fit:contain}
.restaurant-menu-setting{padding:16px;border:1px solid var(--line,#dde3dc);border-radius:12px;background:#f5f7f1}
.restaurant-menu-setting .setting-switch{gap:20px}
.restaurant-menu-setting input[type=checkbox]{width:24px;height:24px;flex-shrink:0;cursor:pointer}
.restaurant-menu-setting .hint{margin-top:10px;display:block;line-height:1.5}
