:root{--bg: #f4f6f8;--surface: #ffffff;--surface-soft: #eef6f4;--ink: #14211e;--muted: #64736f;--line: #dce6e2;--accent: #087b72;--accent-strong: #065f58;--amber: #a96d06;--danger: #b42318;--ok: #127044;--shadow: 0 16px 40px rgba(18, 32, 29, .08);--radius: 8px;--sidebar: #101c1a;--sidebar-soft: #172825}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:6px;font-size:clamp(30px,4vw,44px);line-height:1.05}h2{margin-bottom:14px;font-size:21px;line-height:1.2}h3{margin-bottom:8px;font-size:16px}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:12px 22px;background:#0f1a18;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.topbar a{color:#fff;text-decoration:none;font-weight:700}.topbar nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.topbar nav a{min-height:34px;display:inline-flex;align-items:center;padding:7px 10px;border-radius:7px;color:#dceae6;font-size:13px}.topbar nav a:hover{background:#ffffff17;color:#fff}.brand{display:inline-flex;gap:11px;align-items:center;font-size:16px;letter-spacing:0}.brand span:last-child{display:grid;gap:0}.brand small,.topbar-status small{color:#aebebb;font-size:12px;font-weight:600}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#e8f6f3;color:var(--accent-strong);font-weight:900}.topbar-status{display:grid;justify-self:end;text-align:right;font-weight:800}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 63px)}.sidebar{position:sticky;top:63px;align-self:start;min-height:calc(100vh - 63px);padding:18px 14px;background:var(--sidebar);color:#fff}.side-group{margin-bottom:22px}.side-group h2{margin:0 0 8px;padding:0 10px;color:#8fa4a0;font-size:11px;text-transform:uppercase}.side-link{display:grid;gap:2px;margin-bottom:5px;padding:10px;border:1px solid transparent;border-radius:8px;color:#e9f2ef;text-decoration:none}.side-link span{font-weight:800}.side-link small{color:#9fb1ad;font-size:12px}.side-link:hover,.side-link.active{border-color:#ffffff1c;background:var(--sidebar-soft)}.side-link.active{box-shadow:inset 3px 0 #45c2b4}.page{width:min(1280px,calc(100% - 40px));margin:0 auto;padding:30px 0 56px}.auth-page .page{width:min(560px,calc(100% - 32px))}.cashier-page .app-shell{grid-template-columns:minmax(0,1fr)}.cashier-page .sidebar .side-group:not(:first-child){display:none}.cashier-page .sidebar,.cashier-page .side-group h2,.cashier-page .side-link small{display:none}.cashier-page .side-link{justify-items:center;text-align:center;padding:12px 8px}.cashier-page .page{width:min(1400px,calc(100% - 20px));padding-top:16px}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px}.page-head p,.panel-title p{margin:0;color:var(--muted)}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:22px}.card{padding:18px}.narrow{max-width:520px;margin:8vh auto}.grid{display:grid;gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-grid{grid-template-columns:300px minmax(0,1fr);align-items:start}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}.stack{display:grid;gap:14px}.workspace-grid{align-items:stretch}.workspace-panel{display:grid;align-content:start;gap:14px}.card span,.muted,small{color:var(--muted)}.card strong{display:block;margin-top:4px;font-size:34px;line-height:1}.panel-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.wide{grid-column:1 / -1}label{display:grid;gap:6px;color:var(--ink);font-size:13px;font-weight:700}input,select,textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}.message-box{min-height:360px;white-space:pre-wrap}.button,.mini,button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:#fff;font:inherit;font-size:14px;font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer}.button:hover,button:hover{background:var(--accent-strong)}.secondary{background:#fff;color:var(--accent)}.secondary:hover{background:var(--surface-soft);color:var(--accent-strong)}.mini{min-height:32px;padding:6px 10px;border-color:var(--line);background:#fff;color:var(--ink);font-size:12px}.mini:hover{border-color:var(--accent);background:var(--surface-soft)}.danger{border-color:var(--danger);background:var(--danger);color:#fff}.full{width:100%}.notice{margin-bottom:16px;padding:12px 14px;border:1px solid #b9ded8;border-radius:var(--radius);background:#eaf7f4;color:var(--accent-strong)}.warn{border-color:#f1cf8c;background:#fff6e5;color:#7a4d00}.wallet-link-notice{display:grid;gap:8px}.wallet-link-notice input{font-family:Consolas,Monaco,monospace;font-size:13px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;background:#fff}td,th{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}tr:last-child td{border-bottom:0}th{color:var(--muted);font-size:12px;text-transform:uppercase}.qr{width:140px;height:140px}.eyebrow{margin-bottom:8px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.pill{display:inline-flex;padding:5px 9px;border-radius:6px;background:#dff4e8;color:var(--ok);font-weight:700}.nav-list{display:grid;gap:8px;margin-bottom:20px}.nav-list a{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}.nav-list a.active,.nav-list a:hover{border-color:var(--accent);background:var(--surface-soft)}.nav-list span{color:var(--muted);font-size:13px}.shift-admin{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfc}.signup-list{display:grid;gap:8px}.signup-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.cashier{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(360px,1.15fr);gap:16px}.cashier-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.scanner{min-height:230px;display:grid;place-items:center;margin-bottom:12px;border:1px dashed #b8c9c4;border-radius:var(--radius);background:#f9fbfa}.scanner.compact{min-height:118px;margin-bottom:0}.account-box{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fbfa}.quick,.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.quick button,.product-grid button{min-height:76px;background:#fff;color:var(--ink);border-color:var(--line)}.quick button:hover,.product-grid button:hover{border-color:var(--accent);background:var(--surface-soft)}.product-grid button{flex-direction:column}.product-grid button strong,.product-grid button span{display:block;white-space:nowrap}.wallet-create{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.cashier-pos{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100vh - 108px);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.pos-main{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;padding:16px;background:#fbfcfc}.pos-toolbar{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:14px;align-items:center;padding-bottom:14px;border-bottom:2px solid #111917}.pos-operator{display:grid;gap:1px;min-width:150px}.pos-operator strong{font-size:20px;line-height:1}.pos-operator span{color:var(--muted);font-size:13px;font-weight:700}.pos-lookup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pos-status{min-width:72px;justify-self:end;padding:7px 10px;border-radius:7px;background:#111917;color:#fff;font-size:12px;font-weight:800;text-align:center}.pos-scan-strip{display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;align-items:stretch;padding:14px 0}.pos-account{display:grid;align-content:center;gap:3px;margin:0;min-height:118px}.pos-account strong{font-size:22px;color:var(--ink)}.pos-account span{color:var(--muted);font-size:13px;font-weight:700}.pos-account b{color:var(--accent-strong);font-size:28px}.pos-tabs{display:flex;gap:8px;padding-bottom:12px}.pos-tabs button{min-height:36px;border-color:transparent;background:#eef1f2;color:#202826}.pos-tabs button.active{background:#111917;color:#fff}.pos-products{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));align-content:start;gap:10px;overflow-y:auto;padding-right:4px}.product-tile{position:relative;min-height:112px;align-items:flex-start;justify-content:space-between;padding:13px;border:1px solid #dde3e4;background:#f4f5f6;color:#101816;text-align:left;box-shadow:none}.product-tile strong{max-width:100%;font-size:15px;line-height:1.08;white-space:normal}.product-tile span:not(.product-badge){color:#697571;font-size:12px;font-weight:800}.product-tile:hover,.product-tile.selected{border-color:#111917;background:#fff}.product-badge{position:absolute;top:-8px;right:-7px;min-width:24px;height:24px;display:grid!important;place-items:center;border-radius:999px;background:#111917;color:#fff!important;font-size:12px!important;font-weight:900}.product-badge[hidden]{display:none!important}.pos-cart-panel{display:grid;grid-template-rows:auto minmax(180px,1fr) auto auto auto;gap:14px;padding:18px;border-left:1px solid var(--line);background:#fff}.pos-cart-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:2px solid #111917}.pos-cart-head div{display:grid;gap:2px}.pos-cart-head strong{font-size:20px;line-height:1}.pos-cart-head span{color:var(--muted);font-size:12px;font-weight:700}.pos-cart{display:grid;align-content:start;gap:8px;overflow-y:auto}.cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:7px 0}.cart-row span{display:grid;min-width:0;color:var(--ink);font-weight:800}.cart-row span b{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:6px;border-radius:50%;background:#eef1f2;font-size:12px}.cart-row small{font-weight:600}.cart-row strong{font-size:14px;white-space:nowrap}.cart-empty{padding:18px 0}.pos-totals{display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--line)}.pos-totals div{display:flex;justify-content:space-between;gap:12px}.pos-totals span{color:var(--muted);font-size:13px;font-weight:700}.pos-charge{min-height:54px;background:#111917;border-color:#111917}.pos-topup h2,.wallet-create h2{margin-bottom:10px;font-size:16px}.pos-topup .quick{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}.pos-topup .quick button{min-height:48px}.wallet{max-width:440px;margin:5vh auto;text-align:center}.wallet-qr canvas{width:280px!important;height:280px!important;max-width:100%}.balance{font-size:42px;font-weight:800}@media(max-width:920px){.topbar,.page-head,.panel-title{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.topbar{display:flex;align-items:flex-start}.topbar-status{justify-self:start;text-align:left}.app-shell,.cashier-page .app-shell{grid-template-columns:1fr}.sidebar{position:static;min-height:auto;display:flex;gap:12px;overflow-x:auto;padding:12px}.side-group{min-width:210px;margin-bottom:0}.two,.shell-grid,.cashier{grid-template-columns:1fr}.cashier-pos{grid-template-columns:1fr;min-height:auto}.pos-main{min-height:60vh}.pos-toolbar,.pos-scan-strip{grid-template-columns:1fr}.pos-status{justify-self:stretch}.pos-products{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));max-height:52vh}.product-tile{min-height:96px}.pos-cart-panel{border-left:0;border-top:1px solid var(--line)}.form-grid{grid-template-columns:1fr}.page{width:min(100% - 20px,1240px);padding-top:18px}}
