:root{--bg:#f5f7fa;--surface:#fff;--surface-soft:#f8fafc;--navy:#0b1726;--navy-2:#14283d;--text:#172536;--muted:#718096;--line:#e4e9ef;--primary:#f06445;--primary-dark:#d94f31;--green:#16805f;--green-bg:#e9f8f1;--amber:#a66b00;--amber-bg:#fff5dc;--red:#c43d3d;--red-bg:#ffeded;--blue:#3267c8;--blue-bg:#edf4ff;--shadow:0 10px 30px rgba(17,31,49,.06);--radius:16px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}body{font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}
.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:270px;background:var(--navy);color:#fff;padding:22px 15px 16px;display:flex;flex-direction:column;transition:transform .25s ease,width .25s ease;overflow:hidden}.brand-row{display:flex;align-items:center;gap:11px;padding:3px 7px 20px;white-space:nowrap}.brand-logo{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#ff7956,#ed5233);font-weight:800;letter-spacing:-1px;flex:0 0 auto}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:17px}.brand-copy span{font-size:8px;letter-spacing:1.4px;color:#91a2b4;margin-top:3px}.sidebar-close{display:none;margin-left:auto}.store-status{display:flex;align-items:center;gap:10px;background:var(--navy-2);border:1px solid #22384d;border-radius:12px;padding:11px 12px;margin:0 2px 20px;white-space:nowrap}.store-status strong{display:block;font-size:11px}.store-status small{display:block;color:#8fa1b2;font-size:10px;margin-top:2px}.status-dot{width:7px;height:7px;border-radius:50%;background:#42c48c;box-shadow:0 0 0 4px rgba(66,196,140,.1);flex:0 0 auto}.nav-menu{overflow:auto;flex:1;padding-right:2px}.nav-section{font-size:9px;letter-spacing:1.6px;color:#657b90;font-weight:700;padding:14px 11px 8px;white-space:nowrap}.nav-menu button{width:100%;border:0;background:transparent;color:#aebdca;display:flex;align-items:center;gap:12px;border-radius:11px;padding:11px 12px;margin:2px 0;text-align:left;transition:.18s;white-space:nowrap}.nav-menu button:hover{background:#13283d;color:#fff}.nav-menu button.active{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(240,100,69,.2)}.nav-icon{width:20px;text-align:center;font-size:16px;opacity:.9;flex:0 0 auto}.nav-menu button span:last-child{font-size:12px;font-weight:600}.sidebar-user{margin-top:15px;background:#13283d;border:1px solid #22384d;border-radius:13px;padding:10px;display:flex;align-items:center;gap:9px;white-space:nowrap}.avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ffe1d8;color:#b84c35;font-weight:800;font-size:11px;flex:0 0 auto}.avatar.small{width:32px;height:32px;border-radius:9px}.user-copy{min-width:0;flex:1}.user-copy strong,.top-user strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-copy small,.top-user small{display:block;font-size:10px;color:#8395a7;margin-top:2px}
.main{margin-left:270px;min-height:100vh;transition:margin-left .25s ease}.topbar{height:72px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px}.menu-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;gap:4px}.menu-toggle span{display:block;width:19px;height:2px;background:var(--navy);border-radius:3px;transition:.2s}.breadcrumb{display:flex;gap:9px;align-items:center;color:#98a4b2;font-size:12px}.breadcrumb b{font-weight:400;color:#c4cbd3}.breadcrumb strong{color:var(--text)}.live-badge{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #dcebe5;background:#f3fbf7;color:var(--green);border-radius:9px;font-size:10px;font-weight:700}.top-user{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:14px}.icon-btn{border:0;background:transparent;color:inherit}.content{padding:30px;max-width:1450px;margin:0 auto}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-title-main{min-width:0}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:800;color:#bd624b;text-transform:uppercase}.page-title h1{font-size:31px;line-height:1.1;letter-spacing:-1.1px;margin:7px 0 6px}.page-title p{margin:0;color:var(--muted);font-size:12px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:10px 13px;font-size:11px;font-weight:700;box-shadow:0 1px 1px rgba(0,0,0,.02);transition:.15s}.btn:hover{border-color:#cdd6e0;transform:translateY(-1px)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.ghost{background:var(--surface-soft)}.btn.full{width:100%;margin-top:18px}.danger-action{color:var(--red);border-color:#f2caca;margin-top:12px}
.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-head{min-height:62px;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2,.pad h2{margin:0;font-size:14px;letter-spacing:-.2px}.panel-head .muted{font-size:10px}.pad{padding:18px}.metric{position:relative;padding:19px}.metric .metric-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.metric small{color:var(--muted);font-size:10px;font-weight:600}.metric-icon{width:35px;height:35px;border-radius:10px;background:var(--blue-bg);color:var(--blue);display:grid;place-items:center;font-weight:800}.metric strong{display:block;font-size:24px;letter-spacing:-.7px;margin:13px 0 7px}.metric b{font-size:10px;color:var(--green)}.muted{color:var(--muted)}.welcome-bar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff6f2,#fff);border:1px solid #f5d9d0;border-radius:14px;padding:13px 16px;margin-bottom:16px}.welcome-bar strong{display:block;font-size:12px}.welcome-bar span:not(.live-badge){display:block;font-size:10px;color:var(--muted);margin-top:3px}
table{width:100%;border-collapse:collapse;min-width:760px}th{font-size:9px;letter-spacing:1px;text-align:left;color:#8b98a6;background:#fbfcfd;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:11px;vertical-align:middle}tbody tr:hover{background:#fafcfe}.table-wrap{width:100%;overflow-x:auto}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;background:var(--green-bg);color:var(--green);font-size:9px;font-weight:800;white-space:nowrap}.pill.warn{background:var(--amber-bg);color:var(--amber)}.pill.danger{background:var(--red-bg);color:var(--red)}.pill.blue{background:var(--blue-bg);color:var(--blue)}.price{color:#cc5a3e!important;font-weight:800!important}.searchbar{display:flex;gap:8px;margin-bottom:15px}.searchbar .search{margin:0;max-width:none}.search{width:100%;max-width:520px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:10px;font-weight:700;color:#69788a}.field input,.field select,.field textarea,input,select,textarea{width:100%;border:1px solid #dce3ea;background:#fff;color:var(--text);border-radius:9px;padding:10px 11px;outline:none}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:#ef9b87;box-shadow:0 0 0 3px rgba(240,100,69,.08)}textarea{min-height:90px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px}.item{border:1px solid var(--line);background:#fbfcfe;border-radius:13px;padding:14px;transition:.15s;cursor:pointer;text-align:left;color:var(--text)}.item:hover{border-color:#f0a08e;box-shadow:0 8px 18px rgba(17,31,49,.06);transform:translateY(-1px)}.item h3{font-size:12px;margin:13px 0 5px}.item p{font-size:10px;color:var(--muted);margin:4px 0}.service-card{padding:17px}.service-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.service-card h3{margin:14px 0 5px;font-size:14px}.service-card p{font-size:11px;line-height:1.6}.service-meta{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:15px}.service-actions{margin-top:12px;display:flex;gap:8px}.cart{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;position:sticky;top:90px}.cart-head{background:var(--navy);color:#fff;padding:18px}.cart-head h2{margin:0;font-size:16px}.cart-head small{display:block;color:#8ea0b1;margin-top:4px;font-size:10px}.cart-body{padding:18px}.cart-line{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px dashed #dfe5eb;font-size:11px}.total{display:flex;justify-content:space-between;font-size:19px;font-weight:800;margin:18px 0}.empty{padding:34px 18px;text-align:center;color:var(--muted);font-size:11px}.empty strong{display:block;color:var(--text);margin-bottom:5px}.modal-backdrop{position:fixed;inset:0;background:rgba(7,18,31,.58);backdrop-filter:blur(3px);display:grid;place-items:center;padding:18px;z-index:100}.modal{background:#fff;width:min(760px,100%);max-height:90vh;overflow:auto;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.22)}.modal-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:16px}.modal-body{padding:19px}.close{width:34px;height:34px;border:0;border-radius:9px;background:#f3f5f7;font-size:20px;color:#637184}.history{border:1px solid var(--line);border-radius:11px;padding:12px;margin-top:8px;font-size:11px;line-height:1.6}.pos-tabs{display:flex;gap:6px;padding:12px 16px 0}.tab{border:0;background:var(--surface-soft);color:var(--muted);border-radius:9px;padding:8px 11px;font-size:10px;font-weight:700}.tab.active{background:var(--navy);color:#fff}.sidebar-overlay{display:none}.toast{position:fixed;right:22px;bottom:22px;z-index:200;background:var(--navy);color:#fff;border-radius:11px;padding:12px 15px;font-size:11px;box-shadow:0 12px 30px rgba(0,0,0,.18);animation:toastIn .2s ease}.toast.error{background:#8e2929}.section-gap{margin-top:16px}.loading-root{position:fixed;inset:0;z-index:300;background:rgba(245,247,250,.65);display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:12px;backdrop-filter:blur(2px)}.loading-root[hidden]{display:none}.spinner{width:20px;height:20px;border:3px solid #f3c2b5;border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.error-state{margin:30px auto;max-width:600px}@keyframes toastIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:781px){body.sidebar-collapsed .sidebar{width:78px;padding-left:10px;padding-right:10px}body.sidebar-collapsed .main{margin-left:78px}body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .store-status div,body.sidebar-collapsed .nav-section,body.sidebar-collapsed .nav-menu button span:last-child,body.sidebar-collapsed .sidebar-user .user-copy,body.sidebar-collapsed .sidebar-user>.status-dot{display:none}body.sidebar-collapsed .brand-row,body.sidebar-collapsed .sidebar-user{justify-content:center}body.sidebar-collapsed .nav-menu button{justify-content:center}.menu-toggle{display:grid}}
@media(max-width:1100px){.sidebar{width:235px}.main{margin-left:235px}.content{padding:24px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-user{display:none}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);width:min(290px,86vw);box-shadow:20px 0 50px rgba(0,0,0,.2)}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block;color:#9db0c2;font-size:25px}.sidebar-overlay{position:fixed;inset:0;background:rgba(4,13,24,.5);z-index:25;display:none;opacity:0;transition:opacity .25s}.sidebar-overlay.show{display:block;opacity:1}.main{margin-left:0}.topbar{height:64px;padding:0 16px}.breadcrumb span,.breadcrumb b{display:none}.breadcrumb{font-size:11px}.live-badge{display:none}.content{padding:18px 14px 30px}.page-title{align-items:flex-start;flex-direction:column;margin-bottom:18px;gap:14px}.page-title h1{font-size:27px}.page-actions{width:100%}.page-actions .btn{flex:1}.grid-2{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:15px}.metric strong{font-size:20px}.item-grid{grid-template-columns:1fr;padding:12px}.panel-head{align-items:flex-start;flex-direction:column}.panel-head>input{max-width:none!important}.searchbar{flex-direction:column}.cart{position:static}.form-row{grid-template-columns:1fr}.topbar-right{margin-left:auto}.welcome-bar .live-badge{display:none}}
@media(max-width:420px){.grid-4{grid-template-columns:1fr}.content{padding-left:11px;padding-right:11px}.page-title h1{font-size:24px}.page-title p{font-size:11px}.btn{padding:9px 10px}.metric strong{font-size:22px}}
@media print{.sidebar,.topbar,.page-actions,.btn,.loading-root{display:none!important}.main{margin-left:0}.content{padding:0}.panel{box-shadow:none}}

/* Sidebar state guards: desktop keeps a compact rail; mobile keeps the hamburger above the drawer overlay. */
@media(min-width:781px){
  .sidebar{transform:translateX(0);width:270px}
  .main{margin-left:270px}
  body.sidebar-collapsed .sidebar{width:76px;padding-left:8px;padding-right:8px;transform:translateX(0)}
  body.sidebar-collapsed .main{margin-left:76px}
  body.sidebar-collapsed .brand-row{justify-content:center;padding-left:0;padding-right:0}
  body.sidebar-collapsed .brand-copy,
  body.sidebar-collapsed .store-status,
  body.sidebar-collapsed .nav-section,
  body.sidebar-collapsed .nav-menu button span:last-child,
  body.sidebar-collapsed .sidebar-user .user-copy,
  body.sidebar-collapsed .sidebar-user>.status-dot{display:none}
  body.sidebar-collapsed .nav-menu button{justify-content:center;width:56px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
  body.sidebar-collapsed .sidebar-user{justify-content:center;padding-left:0;padding-right:0;background:transparent;border-color:transparent}
}
@media(max-width:780px){
  body.menu-open{overflow:hidden}
  .topbar{z-index:50}
  .sidebar-overlay{z-index:35}
  .sidebar{z-index:45}
  .menu-toggle{position:relative;z-index:51}
}