:root{
  --bg:#101010; --card:#1a1a1a; --soft:#242424; --text:#f4f4f4; --muted:#b8b8b8;
  --accent:#d99a35; --danger:#e84545; --ok:#38b26b; --warn:#ffcc4d; --line:#343434;
}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f2ec;color:#222} a{text-decoration:none;color:inherit}
.hero{min-height:100vh;background:linear-gradient(135deg,#151515,#3d2a16);color:white;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px}
.hero-card{max-width:720px}.hero h1{font-size:48px;margin:0 0 12px;letter-spacing:2px}.hero p{color:#e2d4c0;font-size:18px}.btn{display:inline-block;border:0;border-radius:12px;padding:12px 18px;background:var(--accent);color:#111;font-weight:700;cursor:pointer}.btn.dark{background:#222;color:#fff}.btn.ghost{background:transparent;border:1px solid var(--line);color:inherit}.btn.danger{background:var(--danger);color:#fff}.btn.ok{background:var(--ok);color:#fff}.btn.small{padding:8px 12px;font-size:13px}.btn:disabled{opacity:.55;cursor:not-allowed}
.topbar{background:#151515;color:white;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:5}.brand{font-weight:800;letter-spacing:1px}.subtle{color:var(--muted);font-size:13px}.container{max-width:1180px;margin:0 auto;padding:18px}.grid{display:grid;grid-template-columns:1fr 360px;gap:18px}.card{background:white;border-radius:18px;padding:16px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.card.dark{background:var(--card);color:var(--text)}.section-title{font-size:18px;font-weight:800;margin:12px 0}.menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.menu-item{border:1px solid #ddd;background:#fff;border-radius:14px;padding:8px;cursor:pointer;min-width:0}.menu-item:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,.08)}.menu-item.soldout{opacity:.45;cursor:not-allowed}.menu-photo-wrap{width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#f2f2f2;margin-bottom:8px}.menu-photo{width:100%;height:100%;object-fit:cover;display:block}.menu-thumb{width:64px;height:48px;object-fit:cover;border-radius:8px;background:#eee;border:1px solid #ddd}.current-menu-photo{width:140px;max-width:100%;border-radius:12px;border:1px solid #ddd;background:#eee;margin-top:6px}
.menu-name{font-weight:800;font-size:15px;line-height:1.2}.menu-price{color:#6b6b6b;margin-top:3px;font-size:14px}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#eee;font-size:12px}.badge.food{background:#ffe0dd}.badge.drink{background:#dff1ff}.badge.warn{background:#fff0b8}.badge.ok{background:#d7f7df}.badge.danger{background:#ffd9d9}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}label{font-size:13px;font-weight:700;margin-bottom:5px;display:block}input,select,textarea{width:100%;padding:11px;border:1px solid #ddd;border-radius:10px;font-size:15px;background:#fff}textarea{min-height:70px}.cart-item{border-bottom:1px solid #eee;padding:10px 0}.cart-item:last-child{border-bottom:0}.cart-line{display:flex;justify-content:space-between;gap:8px}.qtybtn{width:28px;height:28px;border:0;border-radius:8px;background:#eee;cursor:pointer}.qty-control{display:grid;grid-template-columns:46px 1fr 46px;gap:8px;align-items:center}.qty-control button{height:46px;border:0;border-radius:12px;background:var(--accent);font-size:24px;font-weight:900;cursor:pointer}.qty-control input{text-align:center;font-size:18px;font-weight:800}.payment-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}.summary{border-top:1px solid #eee;margin-top:12px;padding-top:12px}.summary-row{display:flex;justify-content:space-between;margin:6px 0}.total{font-size:22px;font-weight:900}.note-chip{display:inline-block;padding:6px 10px;border:1px solid #ddd;border-radius:999px;margin:3px;background:#fafafa;cursor:pointer;font-size:13px}.note-chip:hover{border-color:var(--accent)}
.admin-layout{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#151515;color:white;padding:18px;position:sticky;top:0;height:100vh;overflow:auto}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sidebar h2{margin:0 0 8px}.nav-toggle{display:none;border:1px solid #3a3a3a;background:#242424;color:#fff;border-radius:10px;padding:8px 10px;font-weight:800}.admin-nav a{display:block;padding:9px 11px;border-radius:10px;color:#ddd;margin:3px 0}.admin-nav a:hover,.admin-nav a.active{background:#2f2f2f;color:white}.admin-nav details{border:1px solid #2b2b2b;border-radius:12px;margin:8px 0;padding:2px 6px}.admin-nav summary{cursor:pointer;list-style:none;padding:10px 5px;font-weight:800;color:#f2eadf}.admin-nav summary::-webkit-details-marker{display:none}.admin-nav summary:after{content:' +';float:right;color:var(--accent)}.admin-nav details[open] summary:after{content:' −'}.admin-nav details a{margin-left:5px}.main{padding:18px}.table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden}.table th,.table td{padding:10px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}.table th{background:#f0ece4}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.ticket{background:#fff;border-radius:16px;padding:14px;border-left:6px solid var(--ok);box-shadow:0 6px 22px rgba(0,0,0,.08)}.ticket.warning{border-left-color:var(--warn);animation:blink 1.15s infinite;background:#fff8d8}.ticket.urgent{border-left-color:var(--danger);animation:blink .85s infinite;background:#ffecec}.ticket.critical{border-left-color:#9b0000;animation:blink 0.65s infinite;background:#ffdada}@keyframes blink{50%{opacity:.72}}.ticket h3{margin:0 0 8px}.timer{font-size:22px;font-weight:900}.item-note{background:#fff0b8;border-radius:8px;padding:5px;margin-top:4px;font-weight:700}.status-pill{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.pending{background:#fff0b8}.paid{background:#d7f7df}.waiting{background:#ffe0dd}.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:99;padding:18px}.modal.show{display:flex}.modal-box{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:18px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.receipt-wrap{max-width:80mm;margin:0 auto;background:white;color:#000;padding:8px;font-family:Arial,Helvetica,sans-serif}.receipt-center{text-align:center}.receipt-title{font-weight:900;font-size:18px}.receipt-line{border-top:1px dashed #000;margin:8px 0}.receipt-row{display:flex;justify-content:space-between;gap:8px;font-size:13px}.receipt-item{font-size:13px;margin:5px 0}.print-actions{text-align:center;margin:15px}
@media(max-width:1100px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.nav-toggle{display:inline-block}.admin-nav{display:none;margin-top:12px}.sidebar.open .admin-nav{display:block}.payment-buttons{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
@media(max-width:620px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:34px}.container{padding:12px}.card{border-radius:14px}.menu-item{padding:7px}.menu-photo-wrap{aspect-ratio:16/9}}
@media print{body{background:white}.print-actions,.topbar,.sidebar,.no-print{display:none!important}.receipt-wrap{width:80mm;max-width:80mm;margin:0;padding:4mm;box-shadow:none}.receipt-row,.receipt-item{font-size:12px}@page{size:80mm auto;margin:0}}

/* V3: login tone ala menu Vulcan */
.login-page{background:#394733;color:#243024;min-height:100vh}
.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#394733,#1a1712)}
.login-card{width:100%;max-width:430px;background:#eef2ea;border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.28);color:#263126}
.login-card h2{margin:0 0 10px;font-size:30px;letter-spacing:.5px}.login-card p{color:#5f695b}.login-card input{background:#fff;color:#222;border-color:#cfd6c9}.login-card .btn.ghost{border-color:#394733;color:#394733;background:#fff}

/* V5 revisions */
.search-wrap{margin:14px 0}.search-wrap input{font-size:16px;padding:13px 14px;border:2px solid #e3ded4;background:#fffdf9}.recommended-grid .menu-item{border-color:#d99a35;background:#fff9ec}.cart-card{height:max-content;position:sticky;top:82px}.cart-actions{display:flex;gap:7px;margin-top:8px;align-items:center}.cart-actions .qtybtn{font-size:16px;font-weight:900}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:9px}.menu-item{padding:7px;border-radius:13px}.menu-photo-wrap{aspect-ratio:16/7;margin-bottom:7px}.menu-name{font-size:14px}.menu-price{font-size:13px}.section-title{margin-top:18px}.timer{font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}.ticket.warning{border-left-color:#ffcc4d;animation:blink 1s infinite;background:#fff7c2}.ticket.urgent{border-left-color:#d41414;animation:blink .75s infinite;background:#ffe2e2}.ticket.critical{border-left-color:#d41414;animation:blink .75s infinite;background:#ffe2e2}.ticket-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px}.ticket{min-height:180px}.ticket .btn.ok{margin-top:10px}

.kitchen-menu-button{display:none}
body.kitchen-focus .admin-layout{display:block;min-height:100vh}
body.kitchen-focus .main{padding:28px 34px 34px;max-width:none}
body.kitchen-focus .sidebar{position:fixed;left:-280px;top:0;width:270px;max-width:84vw;height:100vh;z-index:50;transition:left .22s ease;box-shadow:10px 0 35px rgba(0,0,0,.25)}
body.kitchen-focus .sidebar.open{left:0}
body.kitchen-focus .nav-toggle{display:inline-block}
body.kitchen-focus .admin-nav{display:block}
body.kitchen-focus .kitchen-menu-button{display:block;position:fixed;top:12px;left:12px;z-index:45;background:#151515;color:#fff;border:1px solid #3a3a3a;border-radius:12px;padding:10px 13px;font-weight:800;box-shadow:0 6px 20px rgba(0,0,0,.18)}
body.kitchen-focus h1{margin-left:0;margin-top:34px;font-size:34px}.kitchen-focus .ticket-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}

@media(max-width:900px){.cart-card{position:static}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}body.kitchen-focus .main{padding:64px 14px 22px}.kitchen-focus .ticket-grid{grid-template-columns:1fr}.ticket{font-size:15px}}
@media(max-width:620px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-photo-wrap{aspect-ratio:16/8}.menu-name{font-size:13px}.menu-price{font-size:12px}.ticket-grid{grid-template-columns:1fr}}

/* V5 revisions */
.nav-badge{display:inline-block;min-width:20px;text-align:center;background:var(--accent);color:#111;border-radius:999px;font-size:12px;padding:2px 6px;margin-left:5px}
.global-sidebar-button{position:fixed;left:10px;top:10px;z-index:44;background:#151515;color:#fff;border:1px solid #3a3a3a;border-radius:12px;padding:9px 12px;font-weight:900;box-shadow:0 6px 18px rgba(0,0,0,.18)}
body:not(.kitchen-focus) .global-sidebar-button{display:block}
body:not(.kitchen-focus) .admin-layout{grid-template-columns:245px 1fr;transition:grid-template-columns .2s ease}
body.sidebar-collapsed:not(.kitchen-focus) .admin-layout{grid-template-columns:0 1fr}
body.sidebar-collapsed:not(.kitchen-focus) .sidebar{transform:translateX(-260px);padding-left:0;padding-right:0;overflow:hidden}
body:not(.kitchen-focus) .sidebar{transition:transform .2s ease,padding .2s ease}
body:not(.kitchen-focus) .main{padding-left:44px}.action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.status-card{max-width:980px}.dashboard-filter{grid-template-columns:180px 1fr 1fr 1fr auto}.dashboard-cards .card{min-height:105px}
@media(max-width:900px){body:not(.kitchen-focus) .main{padding-left:18px}.global-sidebar-button{top:8px;left:8px}.dashboard-filter{grid-template-columns:1fr}.dashboard-cards{grid-template-columns:1fr!important}}
