:root{
  --bg:#070707;--panel:#111;--panel2:#171717;--line:#2c2c2c;--text:#fff;--muted:#9c9c9c;
  --gold:#ffd21f;--gold2:#ffb900;--green:#31d889;--red:#ff6868;--blue:#5aa9ff;--orange:#ff9038;
  --shadow:0 22px 70px rgba(0,0,0,.42);--radius:22px
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}img{max-width:100%}.hidden{display:none!important}.muted{color:var(--muted)}.danger{color:var(--red)}.success{color:var(--green)}.accent{color:var(--gold)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 0,rgba(255,210,31,.09),transparent 32%),radial-gradient(circle at 100% 100%,rgba(255,185,0,.06),transparent 28%);z-index:-1}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#050505}.login-visual{position:relative;min-height:100vh;background:url('assets/cover.png') center/cover no-repeat;overflow:hidden}.login-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.86))}.login-copy{position:absolute;z-index:2;left:7%;bottom:8%;max-width:620px}.login-copy h1{font-size:clamp(2.3rem,4.2vw,5rem);line-height:.96;margin:0 0 14px}.login-copy p{font-size:1.04rem;line-height:1.55;color:#d7d7d7;max-width:500px}.login-panel{display:flex;align-items:center;justify-content:center;padding:34px;background:linear-gradient(180deg,#0b0b0b,#050505)}.login-card{width:min(480px,100%);padding:34px;border:1px solid var(--line);border-radius:28px;background:rgba(17,17,17,.94);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.brand-mini,.sidebar-brand{display:flex;align-items:center;gap:13px}.brand-mini{margin-bottom:25px}.brand-mini img{width:96px;height:72px;object-fit:contain;object-position:center;background:#050505;padding:5px;border-radius:16px;border:1px solid #343434}.brand-mini strong{font-size:1.18rem}.brand-mini span,.sidebar-brand span{display:block;color:#777;font-size:.78rem;margin-top:3px}.login-card h2{font-size:1.9rem;margin:0 0 8px}.login-card>p{color:var(--muted);margin:0 0 22px}.pin-display{height:64px;border:1px solid #383838;background:#080808;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:2rem;letter-spacing:12px;margin-bottom:17px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.key{height:59px;border:1px solid #303030;border-radius:16px;background:#171717;color:#fff;font-size:1.08rem;transition:.18s}.key:hover{transform:translateY(-1px);background:#202020;border-color:#4d4d4d}.key.action{color:var(--gold)}.key.enter{border:none;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111;font-weight:850}.login-alt{display:flex;gap:10px;margin-top:17px}.login-alt button{flex:1;border:1px solid #343434;background:#101010;color:#fff;border-radius:14px;padding:13px}.demo{margin-top:17px;padding-top:15px;border-top:1px solid #292929;color:#777;font-size:.78rem;line-height:1.6}.db-status{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:#888;font-size:.75rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(49,216,137,.7)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:258px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#0b0b0b;border-right:1px solid #1f1f1f;display:flex;flex-direction:column;z-index:30}.sidebar-brand{padding:8px 10px 20px}.sidebar-brand img{width:74px;height:52px;object-fit:contain;background:#050505;border:1px solid #292929;border-radius:13px;padding:4px}.sidebar-brand strong{font-size:.94rem}.nav{display:flex;flex-direction:column;gap:7px}.nav button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;border:none;border-radius:14px;background:transparent;color:#c6c6c6;text-align:left}.nav button:hover,.nav button.active{background:#1a1a1a;color:#fff}.nav button.active{box-shadow:inset 3px 0 0 var(--gold)}.nav .ico{width:24px;text-align:center}.sidebar-footer{margin-top:auto;padding:10px}.user-badge{padding:13px;border:1px solid #292929;border-radius:16px;background:#121212}.user-badge strong{display:block}.user-badge span{font-size:.77rem;color:#888}.logout{width:100%;margin-top:9px;padding:11px;border:1px solid #333;border-radius:13px;background:#0d0d0d;color:#ddd}
.main{min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid #1f1f1f;background:rgba(7,7,7,.9);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.topbar h1{font-size:1.3rem;margin:0}.topbar-sub{color:#777;font-size:.8rem;margin-top:3px}.topbar-left{display:flex;align-items:center;gap:12px}.top-actions{display:flex;gap:9px;align-items:center}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid #303030;background:#121212;color:#ddd;border-radius:999px;padding:9px 13px;font-size:.8rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(49,216,137,.75)}.content{max-width:1720px;margin:0 auto;padding:24px}.mobile-menu{display:none;border:1px solid #333;background:#151515;color:#fff;width:40px;height:40px;border-radius:12px}
.hero-strip{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:20px}.hero-card{min-height:220px;border:1px solid #2b2b2b;border-radius:26px;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.34)),url('assets/cover.png') center/cover;position:relative;overflow:hidden;padding:28px}.hero-card h2{font-size:2rem;max-width:560px;margin:0 0 8px}.hero-card p{color:#d1d1d1;max-width:620px;line-height:1.5}.quick-actions,.toolbar{display:flex;gap:10px;flex-wrap:wrap}.quick-actions{margin-top:21px}.toolbar{margin-bottom:16px}.summary-card,.panel,.kpi{border:1px solid #292929;background:linear-gradient(180deg,#151515,#101010);border-radius:22px}.summary-card{padding:24px;display:flex;flex-direction:column;justify-content:space-between}.summary-card .big{font-size:2.7rem;font-weight:900;letter-spacing:-2px}.summary-card small{color:#777}.mini-bars{height:64px;display:flex;align-items:end;gap:7px}.mini-bars span{flex:1;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--gold),rgba(255,210,31,.16))}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi{padding:18px}.kpi-head{display:flex;align-items:center;justify-content:space-between;color:#999;font-size:.8rem}.kpi-icon{width:36px;height:36px;border-radius:12px;background:#202020;display:grid;place-items:center}.kpi-value{font-size:1.62rem;font-weight:850;margin-top:13px}.kpi small{color:#777}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{padding:20px;min-width:0}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-title h3{margin:0;font-size:1rem}.panel-title span{display:block;color:#777;font-size:.76rem;margin-top:3px}.btn{border:none;border-radius:14px;padding:12px 16px;font-weight:750}.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111}.btn-dark{background:#171717;color:#fff;border:1px solid #343434}.btn-danger{background:#2a1212;color:#ff9b9b;border:1px solid #562626}.btn-green{background:#0d2a1c;color:#66e7a7;border:1px solid #245a40}.btn-sm{padding:8px 11px;border-radius:11px;font-size:.77rem}.search,.select{border:1px solid #303030;background:#0d0d0d;color:#fff;border-radius:14px;padding:12px 14px}.search{flex:1;min-width:220px}.segmented{display:flex;background:#0d0d0d;border:1px solid #303030;border-radius:14px;padding:4px}.segmented button{border:none;background:transparent;color:#888;border-radius:10px;padding:8px 11px}.segmented button.active{background:#252525;color:#fff}
.table-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:13px}.table-card{border:1px solid #2d2d2d;background:#131313;border-radius:18px;padding:16px;transition:.18s}.table-card:hover{transform:translateY(-2px);border-color:#444}.table-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.table-number{font-size:1.38rem;font-weight:900}.badge{font-size:.69rem;padding:6px 8px;border-radius:999px;border:1px solid}.badge-free{color:#69e8aa;background:#0d2a1c;border-color:#255c41}.badge-open{color:#ffdd73;background:#2b2409;border-color:#655413}.badge-ready{color:#87bdff;background:#10243b;border-color:#2c5c92}.badge-close{color:#ff9e9e;background:#351313;border-color:#6b2a2a}.table-card p{color:#888;font-size:.78rem;min-height:36px}.table-card .amount{font-size:1.05rem;font-weight:800;margin-bottom:12px}.table-card .btn{width:100%}
.pos-layout{display:grid;grid-template-columns:1fr 405px;gap:18px;align-items:start}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px}.product-card{border:1px solid #2c2c2c;background:#121212;border-radius:18px;padding:16px;display:flex;flex-direction:column;min-height:168px}.product-card .cat{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#888}.product-card h4{margin:9px 0 5px;font-size:1rem}.product-card .stock{font-size:.74rem;color:#777}.product-card .price{margin-top:auto;font-size:1.14rem;font-weight:850;color:var(--gold)}.product-card button{margin-top:12px}.cart{position:sticky;top:96px;border:1px solid #343434;border-radius:22px;background:#111;overflow:hidden}.cart-header{padding:18px;border-bottom:1px solid #292929}.cart-header h3{margin:0 0 5px}.cart-header span{color:#888;font-size:.79rem}.cart-items{max-height:390px;overflow:auto;padding:12px}.cart-empty,.empty-state{padding:34px 16px;text-align:center;color:#777}.empty-state{border:1px dashed #343434;border-radius:18px;background:#0e0e0e}.empty-state h3{color:#fff;margin:0 0 8px}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 4px;border-bottom:1px solid #232323}.cart-item h4{margin:0 0 4px;font-size:.9rem}.cart-item small{color:#777}.qty{display:flex;align-items:center;gap:8px}.qty button{width:28px;height:28px;border-radius:9px;border:1px solid #333;background:#181818;color:#fff}.cart-total{padding:18px;border-top:1px solid #292929;background:#0d0d0d}.total-row{display:flex;justify-content:space-between;margin:7px 0;color:#bdbdbd}.total-row.final{font-size:1.23rem;color:#fff;font-weight:850;margin-top:12px}.cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.unsaved{color:var(--gold)!important}
.queue{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.ticket{border:1px solid #303030;background:#121212;border-radius:19px;padding:17px}.ticket.new{box-shadow:inset 4px 0 0 var(--orange)}.ticket.ready{box-shadow:inset 4px 0 0 var(--green)}.ticket-head{display:flex;justify-content:space-between;gap:12px}.ticket h4{margin:0}.ticket .time,.ticket .origin{font-size:.74rem;color:#888}.ticket ul{margin:14px 0;padding-left:18px}.ticket li{margin:7px 0}.destination{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;background:#202020;color:#aaa;font-size:.68rem;text-transform:uppercase}
.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 10px;border-bottom:1px solid #272727;text-align:left;font-size:.82rem}.data-table th{color:#777;font-weight:600}.data-table td{color:#ddd}.table-scroll{overflow:auto}.progress{height:8px;background:#292929;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold2),var(--gold));border-radius:999px}.finance-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.chart{height:260px}.chart svg{width:100%;height:100%;overflow:visible}.chart-grid line{stroke:#242424;stroke-width:1}.chart-line{fill:none;stroke:var(--gold);stroke-width:4;filter:drop-shadow(0 0 8px rgba(255,210,31,.3))}.chart-area{fill:url(#areaGradient)}.finance-list,.notes-grid{display:grid;gap:10px}.finance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #292929;border-radius:14px;background:#131313}.finance-row small{display:block;color:#777;margin-top:3px}.note-card{border:1px solid #2d2d2d;border-radius:18px;background:#121212;padding:17px}.note-card.pinned{box-shadow:inset 4px 0 0 var(--gold)}.note-card h4{margin:0 0 8px}.note-card p{color:#bbb;white-space:pre-wrap;line-height:1.5}.note-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#777;font-size:.74rem}.note-actions{display:flex;gap:7px}.role-chip{display:inline-flex;padding:5px 8px;border-radius:999px;background:#202020;color:#ccc;font-size:.7rem}.cash-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #323232;background:linear-gradient(90deg,rgba(255,210,31,.08),#111);border-radius:18px;padding:15px 17px;margin-bottom:16px}.cash-banner strong{display:block}.cash-banner span{color:#888;font-size:.78rem}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.75);display:grid;place-items:center;padding:20px;backdrop-filter:blur(7px)}.modal{width:min(780px,100%);max-height:90vh;overflow:auto;border:1px solid #373737;border-radius:24px;background:#111;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #292929}.modal-head h3{margin:0}.modal-close{width:36px;height:36px;border:none;border-radius:11px;background:#222;color:#fff}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:18px 20px;border-top:1px solid #292929}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field.full{grid-column:1/-1}.field label{display:block;color:#aaa;font-size:.77rem;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #333;background:#0b0b0b;color:#fff;border-radius:13px;padding:12px}.field textarea{min-height:120px;resize:vertical}.check-row{display:flex;align-items:center;gap:9px;color:#bbb;font-size:.83rem}.check-row input{width:auto}
.receipt-preview{background:#f7f7f2;color:#111;border-radius:14px;padding:22px;font-family:"Courier New",monospace}.receipt-preview h3{text-align:center;margin:0}.receipt-preview .center{text-align:center}.receipt-preview .line{border-top:1px dashed #555;margin:11px 0}.receipt-preview table{width:100%;border-collapse:collapse;font-size:.83rem}.receipt-preview td{padding:4px 0}.receipt-preview .right{text-align:right}.receipt-preview .total{font-size:1.08rem;font-weight:800}.receipt-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:14px}
.client-shell{min-height:100vh;background:#080808}.client-hero{height:280px;background:linear-gradient(180deg,rgba(0,0,0,.08),#080808),url('assets/cover.png') center 52%/cover no-repeat;display:flex;align-items:end;padding:28px}.client-hero h1{font-size:2.2rem;margin:0}.client-hero p{margin:6px 0 0;color:#ccc}.client-main{max-width:1120px;margin:0 auto;padding:0 20px 90px}.client-table{margin-top:-16px;position:relative;z-index:2;border:1px solid #333;background:#111;border-radius:20px;padding:18px;display:flex;justify-content:space-between;align-items:center;gap:18px}.client-cart{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(720px,calc(100% - 28px));background:#161616;border:1px solid #3d3d3d;border-radius:18px;padding:12px 14px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;z-index:40}.client-cart-actions{display:flex;gap:9px;align-items:center}
.toast{position:fixed;right:24px;bottom:24px;z-index:220;background:#171717;border:1px solid #3b3b3b;color:#fff;padding:14px 17px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;max-width:min(420px,calc(100% - 28px))}.toast.show{opacity:1;transform:translateY(0)}.busy{position:fixed;inset:0;z-index:210;background:rgba(0,0,0,.46);display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;backdrop-filter:blur(3px)}.spinner{width:24px;height:24px;border:3px solid #555;border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.setup-error{min-height:100vh;display:grid;place-items:center;padding:24px;background:#080808}.setup-card{width:min(680px,100%);border:1px solid #3b3320;background:#111;border-radius:24px;padding:28px;box-shadow:var(--shadow)}.setup-card h1{margin-top:0}.setup-card code{display:block;background:#080808;border:1px solid #2c2c2c;border-radius:12px;padding:13px;color:#ffd96a;overflow:auto}
@media(max-width:1120px){.login-shell{grid-template-columns:1fr}.login-visual{display:none}.app-shell{grid-template-columns:86px 1fr}.sidebar-brand div,.nav .label,.user-badge div,.logout span{display:none}.sidebar-brand{justify-content:center}.sidebar-brand img{width:58px;height:45px}.nav button{justify-content:center}.kpi-grid{grid-template-columns:repeat(2,1fr)}.hero-strip,.finance-grid{grid-template-columns:1fr}.pos-layout{grid-template-columns:1fr}.cart{position:relative;top:auto}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:258px;transform:translateX(-110%);transition:.22s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.sidebar-brand div,.nav .label,.user-badge div,.logout span{display:block}.nav button{justify-content:flex-start}.topbar{height:68px;padding:0 15px}.mobile-menu{display:block}.top-actions .pill:first-child{display:none}.content{padding:16px}.hero-card{min-height:245px;padding:22px}.hero-card h2{font-size:1.6rem}.summary-card{min-height:180px}.kpi-grid,.grid-2,.grid-3,.finance-grid{grid-template-columns:1fr}.table-list,.products{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.login-panel{padding:18px}.login-card{padding:24px}.client-hero{height:230px}.client-table{align-items:flex-start;flex-direction:column}.data-table{min-width:720px}.topbar h1{font-size:1rem}.topbar-sub{display:none}.cash-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:450px){.table-list,.products{grid-template-columns:1fr}.login-card h2{font-size:1.55rem}.key{height:56px}.cart-actions{grid-template-columns:1fr}.client-cart{font-size:.84rem}.client-cart-actions{flex-direction:column;align-items:stretch}.brand-mini img{width:86px;height:66px}}
