:root{--bg:#f4f6f9;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e5e7eb;--primary:#146c5a;--primary-dark:#0d5144;--danger:#c0392b;--warning:#d97706;--sidebar:#102620;--radius:12px;--shadow:0 5px 18px rgba(15,23,42,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Calibri,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:235px;background:var(--sidebar);color:#fff;position:fixed;inset:0 auto 0 0;overflow-y:auto;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:18px 15px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark,.login-logo{width:40px;height:40px;border-radius:10px;background:#e8b84c;color:#102620;display:grid;place-items:center;font-weight:800;font-size:23px}.brand strong,.brand small{display:block}.brand small{font-size:11px;color:#b9c8c3;margin-top:2px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar nav{padding:10px}.sidebar nav a{display:block;padding:10px 12px;color:#dce8e4;border-radius:8px;margin-bottom:2px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.12);color:#fff}.sidebar nav a.pos-link{background:#e8b84c;color:#1b2a26;font-weight:700;margin-bottom:10px}.nav-label{color:#86a096;text-transform:uppercase;font-size:10px;letter-spacing:.8px;padding:14px 12px 5px}.main-wrap{margin-left:235px;min-width:0;width:calc(100% - 235px)}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10}.page-heading{font-size:20px;font-weight:700}.user-menu{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:13px}.user-menu form{margin:0}.content{padding:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:18px}.card h2{font-size:17px;margin:0 0 14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #cbd5e1;background:#fff;color:#263544;border-radius:7px;padding:8px 13px;font-weight:600;line-height:1.15}.btn:hover{background:#f8fafc}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{background:#fff3f2;border-color:#efb2ac;color:var(--danger)}.btn-light{background:#f8fafc}.btn-sm{padding:5px 9px;font-size:12px}.btn-block{width:100%}.disabled{opacity:.45;pointer-events:none}.icon-btn{border:0;background:transparent;font-size:20px;padding:4px 7px;border-radius:6px}.icon-btn:hover{background:#edf2f7}label{display:block;font-size:12px;font-weight:700;color:#4b5563;margin:9px 0 5px}input,select,textarea{width:100%;border:1px solid #cfd6df;border-radius:7px;padding:9px 10px;background:#fff;color:#172033;outline:none}input:focus,select:focus,textarea:focus{border-color:#4b9b89;box-shadow:0 0 0 3px rgba(20,108,90,.1)}textarea{min-height:75px;resize:vertical}.check{display:flex;align-items:center;gap:7px;font-weight:500}.check input,.check-grid input,.check-field input{width:auto}.form-card{max-width:850px}.form-card.wide{max-width:1100px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px}.span-2{grid-column:1/-1}.check-grid{display:flex;flex-wrap:wrap;gap:10px 20px;margin:12px 0}.check-grid label,.check-field label{display:flex;align-items:center;gap:6px;margin:5px 0;font-weight:500}.check-field{padding-top:18px}.form-actions,.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:17px}.inline{display:flex}.inline select{width:75px;border-radius:7px 0 0 7px}.inline input{border-radius:0 7px 7px 0}.inline-form{display:flex;gap:8px;align-items:end}.inline-form input{flex:1}.alert{padding:12px 15px;border-radius:8px;margin-bottom:15px}.alert ul{margin:7px 0 0}.alert.success{background:#e9f8f2;border:1px solid #a8ddc9;color:#175c49}.alert.danger{background:#fff0ef;border:1px solid #efb4ae;color:#8a2720}.note,.warning-box{background:#fff8e8;border:1px solid #f0d9a0;border-radius:8px;padding:10px 12px;color:#6c5321}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.stats-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;box-shadow:var(--shadow)}.stat-card span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.stat-card strong{font-size:20px}.grid-2{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.order-summary-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(290px,.8fr);gap:18px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}.detail-grid label{margin:0 0 4px}.detail-grid strong{display:block}.metric-row,.ticket-link,.payment-list li{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.metric-row small,.ticket-link small,.payment-list small{display:block;color:var(--muted);font-weight:400}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.35px;color:#6b7280;background:#f8fafc}tr:hover td{background:#fbfcfd}.actions{display:flex;gap:6px;justify-content:flex-end}.actions form{margin:0}.empty,.empty-state{text-align:center;color:var(--muted);padding:25px}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;background:#eef2f7}.badge.confirmed,.badge.ready,.badge.completed{background:#e7f8ef;color:#17613f}.badge.preparing{background:#fff4da;color:#7a5411}.badge.cancelled{background:#ffeceb;color:#8b2921}.badge.out_for_delivery{background:#eaf2ff;color:#255bb5}.voided{text-decoration:line-through;opacity:.55}.totals{max-width:370px;margin:15px 0 0 auto}.totals>div,.cart-totals>div{display:flex;justify-content:space-between;padding:6px 0}.totals .grand,.cart-totals .grand{border-top:2px solid var(--text);font-size:18px;margin-top:5px;padding-top:10px}.amount-due{background:#eaf7f3;padding:12px;border-radius:8px;font-size:20px;font-weight:700;margin-bottom:10px}.payment-list{list-style:none;padding:0;margin:10px 0 0}.filter-bar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.filter-bar input,.filter-bar select{width:auto;min-width:145px}.pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:15px}.page-info{font-size:12px;color:var(--muted)}.table-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.table-card{border:2px solid #b8d7cd;background:#f4fbf8;border-radius:12px;padding:15px}.table-card.occupied{border-color:#efb0aa;background:#fff5f4}.table-card.reserved{border-color:#efcf84;background:#fffaf0}.table-card strong,.table-card span,.table-card small{display:block}.table-card span,.table-card small{color:var(--muted);font-size:12px;margin-top:4px}.table-card .actions{justify-content:flex-start;margin-top:11px}.color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:7px}.modifier-list{list-style:none;padding:0}.modifier-list li{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.modifier-list li span{flex:1}.report-nav{display:flex;gap:7px;margin-bottom:14px}.report-nav a{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:7px}.profit-box{max-width:620px}.profit-box>div{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}.profit-box .highlight{background:#f0faf7}.profit-box .grand{background:#173d33;color:#fff;font-size:19px}.login-page{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#0d342a,#1b6a58)}.login-card{background:#fff;width:min(390px,calc(100% - 30px));padding:30px;border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.25)}.login-logo{margin:0 auto 12px}.login-card h1{text-align:center;margin:0}.login-card>p,.login-card>small{display:block;text-align:center;color:var(--muted)}.login-card form{margin:20px 0}.mobile-only{display:none}
/* POS */.content:has(.pos-screen){padding:12px}.pos-screen{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.75fr);gap:12px;height:calc(100vh - 89px)}.pos-products,.pos-cart{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.pos-products{display:flex;flex-direction:column}.pos-toolbar{padding:12px;border-bottom:1px solid var(--line)}.pos-toolbar>input{font-size:15px}.category-tabs{display:flex;gap:6px;overflow-x:auto;margin-top:9px;padding-bottom:2px}.category-tabs button,.order-types button{border:1px solid #cfd8df;background:#fff;border-radius:7px;padding:8px 11px;white-space:nowrap;font-weight:600}.category-tabs button.active,.order-types button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:9px;padding:11px;overflow-y:auto}.product-card{text-align:left;border:1px solid #dce3e8;background:#fff;border-radius:9px;padding:13px;min-height:108px;display:flex;flex-direction:column;transition:.12s}.product-card:hover{border-color:#58a18f;transform:translateY(-1px);box-shadow:0 5px 14px rgba(20,108,90,.1)}.product-card span{font-weight:700}.product-card small{color:var(--muted);margin:5px 0;flex:1}.product-card strong{color:var(--primary);font-size:15px}.pos-cart{display:flex;flex-direction:column}.order-types{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:8px;border-bottom:1px solid var(--line)}.order-types button{padding:8px 4px;font-size:11px}.order-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px 10px;border-bottom:1px solid var(--line)}.order-meta label,.cart-settings label{margin:2px 0 3px}.order-meta input,.order-meta select,.order-meta textarea{padding:7px}.hidden{display:none!important}.cart-lines{flex:1;overflow-y:auto;min-height:150px;padding:7px 10px}.empty-cart{display:grid;place-items:center;height:100%;color:var(--muted)}.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.cart-line .name{font-weight:700}.cart-line small{display:block;color:var(--muted)}.qty-control{display:flex;align-items:center;gap:5px;margin-top:5px}.qty-control button{width:25px;height:25px;border:1px solid #ccd5dd;background:#fff;border-radius:5px}.qty-control input{width:55px;padding:4px;text-align:center}.cart-line .line-right{text-align:right}.cart-line .remove{color:var(--danger);border:0;background:transparent;font-size:18px}.cart-settings{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;padding:7px 10px;border-top:1px solid var(--line);background:#fafcfd}.cart-settings input,.cart-settings select{padding:7px}.cart-totals{padding:8px 12px}.pos-actions{display:grid;grid-template-columns:.6fr 1.4fr;gap:8px;padding:8px;border-top:1px solid var(--line)}.modal{position:fixed;inset:0;background:rgba(9,20,27,.58);z-index:100;display:none;place-items:center;padding:15px}.modal.show{display:grid}.modal-card{background:#fff;border-radius:14px;padding:18px;width:min(540px,100%);max-height:90vh;overflow:auto}.modifier-group{border:1px solid var(--line);border-radius:8px;padding:10px;margin-bottom:10px}.modifier-group h3{font-size:14px;margin:0 0 7px}.modifier-option{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.modifier-option label{display:flex;align-items:center;gap:7px;margin:0;font-weight:500}.modifier-option input{width:auto}.print-link{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:9px;margin:7px 0}
/* KDS */.kds-toolbar{display:flex;justify-content:space-between;margin-bottom:12px}.kds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:13px}.kds-ticket{background:#fff;border:2px solid #d9e2e7;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.kds-ticket.status-preparing{border-color:#e8ad39}.kds-ticket.status-ready{border-color:#43a474}.kds-ticket header{background:#132e27;color:#fff;padding:10px 12px;display:flex;justify-content:space-between;align-items:center}.kds-ticket header strong,.kds-ticket header span{display:block}.kds-ticket header span{font-size:11px;color:#b8cdc6}.kds-ticket .token{font-size:25px;font-weight:800}.kds-meta{display:flex;justify-content:space-between;gap:5px;padding:7px 10px;background:#f5f8f7;font-size:11px}.kds-ticket ul{list-style:none;padding:8px 13px;margin:0}.kds-ticket li{padding:9px 0;border-bottom:1px dashed #ccd6d2}.kds-ticket li strong,.kds-ticket li small,.kds-ticket li em{display:block}.kds-ticket li small{color:var(--muted)}.kds-ticket li em{color:#a13d31;font-weight:700;margin-top:4px}.kds-ticket footer{display:flex;gap:5px;padding:9px}.kds-ticket footer form{flex:1}.kds-ticket footer .btn{width:100%;padding:7px 5px;font-size:11px}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.pos-screen{grid-template-columns:minmax(0,1.3fr) minmax(330px,.8fr)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}
@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main-wrap{margin-left:0;width:100%}.mobile-only{display:inline-flex}.user-menu>span{display:none}.content{padding:12px}.grid-2,.order-summary-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.detail-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.pos-screen{display:block;height:auto}.pos-products{height:55vh}.pos-cart{margin-top:10px;min-height:70vh}.order-meta{grid-template-columns:1fr}.topbar{padding:0 12px}.filter-bar input,.filter-bar select{width:100%}}
@media print{.sidebar,.topbar,.no-print,.filter-bar,.report-nav,.btn{display:none!important}.main-wrap{margin:0;width:100%}.content{padding:0}.card{box-shadow:none;border:0}.app-shell{display:block}}
