:root{--bg:#f5f2eb;--paper:#fffefa;--ink:#20251f;--muted:#81867d;--line:#e9e6dd;--green:#315f43;--green-dark:#244a33;--soft-green:#eaf1e9;--orange:#d88450;--danger:#b94d42;--shadow:0 8px 28px #272a2010}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}h1,h2,strong{font-family:Manrope,'DM Sans',sans-serif}h1{font-size:26px;margin:3px 0 0}h2{font-size:17px;margin:0}p{margin:6px 0}.hidden{display:none!important}.app-shell{min-height:100vh;display:flex}.sidebar{width:236px;background:var(--paper);border-right:1px solid var(--line);padding:26px 17px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;padding:2px 7px 34px}.brand strong,.brand small,.user-chip strong,.user-chip small{display:block}.brand strong{font:800 15px Manrope}.brand small,.user-chip small{font-size:11px;color:var(--muted);margin-top:3px}.brand-mark{height:39px;width:39px;background:var(--green);color:white;border-radius:13px;display:grid;place-items:center;font:800 21px Manrope}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#687066;border-radius:10px;text-align:left;padding:12px 13px;font-size:16px}.nav-item span{font-size:13px;margin-left:9px}.nav-item.active{background:var(--soft-green);color:var(--green);font-weight:700}.sidebar-bottom{margin-top:auto}.user-chip{display:flex;gap:10px;align-items:center;padding:15px 6px}.avatar{width:34px;height:34px;background:#f4e6d8;border-radius:50%;display:grid;place-items:center;color:#8a5938;font-weight:700}.user-chip strong{font-size:12px}.button{border:1px solid transparent;border-radius:9px;padding:10px 14px;font-weight:700;font-size:12px;transition:.15s}.button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:white}.primary:hover{background:var(--green-dark)}.secondary{background:white;border-color:var(--line);color:var(--ink)}.ghost{background:transparent;color:#697067;border-color:var(--line)}.full{width:100%}.main-area{padding:26px 32px 40px;max-width:1600px;width:100%;margin:0 auto}.topbar,.top-actions,.section-toolbar,.panel-heading,.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between}.topbar{margin-bottom:24px}.top-actions{gap:10px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--muted);margin:0}.status-pill{font-size:11px;font-weight:700;background:#f0e9df;border-radius:20px;padding:8px 11px;color:#84673f}.status-pill.online{background:#e8f2e8;color:#397448}.page{display:none}.page.active{display:block}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:19px;align-items:start}.catalog-panel,.cart-panel,.table-wrap,.report-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.catalog-panel{padding:17px}.toolbar{display:flex;gap:9px;margin-bottom:16px}.search{flex:1}.toolbar select{max-width:190px}.search,select,input:not([type=checkbox]):not([type=file]){background:white;border:1px solid var(--line);border-radius:8px;padding:10px 11px;outline:none;color:var(--ink)}input:focus,select:focus{border-color:#91a994!important;box-shadow:0 0 0 3px #315f4312}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px}.menu-card{border:1px solid var(--line);background:#fff;border-radius:11px;text-align:left;padding:14px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)}.menu-card:hover{border-color:#96b299;transform:translateY(-1px)}.menu-card .category{font-size:10px;color:var(--muted)}.menu-card strong{font-size:14px;margin:10px 0}.menu-card .price{color:var(--green);font-weight:700}.cart-panel{padding:18px;position:sticky;top:18px}.panel-heading{padding-bottom:14px;border-bottom:1px solid var(--line)}.panel-heading .muted{font-size:11px}.text-button{background:none;border:0;color:var(--danger);font-size:11px;font-weight:700}.cart-items{min-height:150px;max-height:38vh;overflow:auto}.cart-empty,.empty-state{color:var(--muted);display:grid;place-items:center;min-height:130px;font-size:12px}.cart-row{display:grid;grid-template-columns:1fr auto;gap:7px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-row strong{font-size:12px}.cart-row small{display:block;color:var(--muted);margin-top:4px}.quantity{display:flex;align-items:center;gap:8px}.quantity button{width:25px;height:25px;background:white;border:1px solid var(--line);border-radius:7px}.order-meta{display:grid;gap:10px;padding:13px 0;border-top:1px solid var(--line)}label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#5b6158}.order-meta label{gap:5px}.order-meta input,.order-meta select{width:100%}.total-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;font-size:13px}.total-row strong{font-size:19px}.section-toolbar{margin:7px 0 17px}.section-toolbar h2{font-size:20px}.section-toolbar p{font-size:12px}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:680px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:13px 15px;font-size:12px;vertical-align:middle}.data-table th{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;background:#fbfaf6}.data-table tr:last-child td{border:0}.badge{display:inline-flex;background:var(--soft-green);color:var(--green);border-radius:20px;padding:5px 8px;font-size:10px;font-weight:700}.badge.gray{background:#f0eee8;color:#72766e}.table-action{background:transparent;border:0;color:var(--green);font-weight:700;font-size:11px}.notice{padding:11px 14px;background:#fff3e8;border:1px solid #f1d9bf;border-radius:9px;color:#805331;margin-bottom:15px;font-size:12px}.notice.error{background:#fff0ee;color:#9a4037;border-color:#f3d4d0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 50% 30%,#fffefa 0%,var(--bg) 70%)}.login-card{width:min(100%,390px);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:var(--shadow)}.login-card .brand-mark{margin-bottom:22px}.login-card h1{font-size:24px}.login-card .muted{color:var(--muted);font-size:12px;margin-bottom:23px}.login-card label,.dialog-card label{margin:13px 0}.login-card input{width:100%;padding:12px!important}.message{min-height:16px;color:var(--muted);font-size:11px}.message.error{color:var(--danger)}dialog{border:0;border-radius:16px;padding:0;width:min(100% - 28px,470px);max-height:90vh;box-shadow:0 20px 80px #151b1580}dialog::backdrop{background:#17201866;backdrop-filter:blur(2px)}.dialog-card{padding:23px}.dialog-head{margin-bottom:16px}.dialog-head h2{font-size:20px;margin-top:5px}.icon-button{border:0;background:#f2f0e9;border-radius:50%;width:30px;height:30px;font-size:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-card input:not([type=checkbox]):not([type=file]),.dialog-card select{width:100%}.check-row{display:flex!important;align-items:center;gap:8px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px}.payment-total{display:flex;justify-content:space-between;background:var(--soft-green);padding:13px;border-radius:9px;margin-bottom:15px;font-size:12px}.payment-total strong{font-size:17px}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding-left:11px;background:#fff}.money-input span{color:var(--muted)}.money-input input{border:0!important;box-shadow:none!important;flex:1}.change-line{display:flex;justify-content:space-between;font-size:12px;margin:12px 0}.helper{font-size:11px;color:var(--muted);line-height:1.5}.proof-preview{border:1px solid var(--line);padding:9px;border-radius:9px;display:flex;align-items:center;gap:10px}.proof-preview img{width:54px;height:54px;object-fit:cover;border-radius:6px}.proof-preview span{font-size:10px;color:var(--muted);flex:1}.toast{position:fixed;right:24px;bottom:22px;background:#202820;color:white;border-radius:9px;padding:12px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:20;font-size:12px}.toast.show{opacity:1;transform:translateY(0)}.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.report-card{padding:18px}.report-card small{color:var(--muted);font-size:10px}.report-card strong{display:block;font-size:20px;margin-top:9px}.report-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-card h3{font:700 13px Manrope;margin:0 0 13px}.report-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}.report-line:last-child{border:0}.proof-link{color:var(--green);font-weight:700;text-decoration:none}.mobile-nav{display:none}
@media(max-width:900px){.sidebar{width:195px}.main-area{padding:22px 18px}.pos-layout{grid-template-columns:minmax(0,1fr) 310px}.report-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.app-shell{display:block;padding-bottom:67px}.sidebar{position:fixed;z-index:10;bottom:0;left:0;right:0;width:auto;height:62px;padding:5px;background:#fffefa;border-top:1px solid var(--line);border-right:0}.sidebar .brand,.sidebar-bottom{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:2px}.nav-item{padding:8px 7px;text-align:center;flex:1}.nav-item span{display:block;font-size:9px;margin:3px 0 0}.nav-item:not(.admin-only){display:block}.main-area{padding:18px 12px}.topbar{align-items:flex-start;margin-bottom:17px}.topbar h1{font-size:22px}.top-actions{gap:6px;flex-direction:column-reverse;align-items:flex-end}.top-actions .button{padding:9px}.top-actions .button span{font-size:10px}.pos-layout{display:flex;flex-direction:column}.catalog-panel{order:1;width:100%;padding:12px}.cart-panel{order:0;width:100%;position:static;padding:14px}.cart-items{max-height:30vh;min-height:80px}.cart-empty{min-height:70px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card{min-height:105px;padding:11px}.toolbar select{max-width:130px}.section-toolbar{align-items:flex-start;gap:10px}.report-lists{grid-template-columns:1fr}.report-grid{gap:8px}.report-card{padding:13px}.report-card strong{font-size:16px}.sidebar .admin-only{display:none}.sidebar nav:has(.active.admin-only) .admin-only{display:block}.sidebar nav:has(.active.admin-only) .nav-item:not(.admin-only){display:none}}
.report-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.report-controls label{font-size:10px}.report-controls input{padding:8px;font-size:11px}.report-period{font-size:12px;color:var(--muted);margin:0 0 12px}.report-transactions{margin-top:16px}.report-transactions h3{font:700 14px Manrope;margin:0 0 10px}
@media print{ @page{size:auto;margin:12mm} body{background:#fff!important;color:#111;font-size:10px}body *{visibility:hidden!important}.app-shell,.main-area,#page-reports,#page-reports *{visibility:visible!important}.sidebar,.topbar,.notice,.report-controls{display:none!important}.app-shell,.main-area{display:block!important;position:static!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;min-height:0!important}.page{display:none!important}#page-reports{display:block!important;position:static!important}.section-toolbar{display:block!important;margin:0 0 10px!important}.section-toolbar h2{font-size:19px}.section-toolbar p{font-size:10px}.report-card,.table-wrap{box-shadow:none!important;border:1px solid #ccc!important;border-radius:0!important;break-inside:avoid}.report-grid{grid-template-columns:repeat(4,1fr);gap:7px}.report-card{padding:9px}.report-card strong{font-size:14px}.report-lists{grid-template-columns:1fr 1fr;gap:8px}.data-table{min-width:0!important}.data-table th,.data-table td{font-size:9px;padding:6px 7px}.badge{background:transparent!important;color:#111!important;border:1px solid #aaa!important;padding:2px 5px}.report-transactions{break-before:auto}.report-transactions h3{font-size:12px}.report-period{color:#333;font-size:10px}.print-report{width:100%}}
