:root{--sidebar:#111827;--blue:#2864eb;--ink:#14223a;--muted:#64748b;--bg:#f4f7fb;--line:#e5ebf3}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:15px Inter,Segoe UI,Arial,sans-serif;color:var(--ink)}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:var(--sidebar);color:#d8e1ed;padding:22px 14px;z-index:20}.brand{font-size:25px;font-weight:900;color:#fff;padding:8px 9px 27px;border-bottom:1px solid #29364a}.brand span{color:#5a9cff}.brand small{font-size:12px;color:#98a9be}.sidebar p{font-size:11px;color:#8291a6;letter-spacing:1px;margin:28px 8px 9px}.sidebar a{display:block;color:#d5deea;text-decoration:none;padding:13px;border-radius:10px;margin:3px 0}.sidebar a:hover{background:#1f2b40;color:#fff}.main{margin-left:270px;min-height:100vh}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.topbar>div{display:flex;align-items:center;gap:14px}.topbar h1{font-size:26px;margin:0}.profile b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff}.menu-toggle{display:none}.content{padding:28px 38px;max-width:1720px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.kpi,.panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 5px 18px rgba(26,44,70,.035)}.kpi{padding:22px;position:relative}.kpi small{color:var(--muted);font-weight:600}.kpi strong{display:block;font-size:34px;margin-top:7px}.kpi i{position:absolute;right:20px;top:20px;width:48px;height:48px;display:grid;place-items:center;background:#edf4ff;border-radius:13px;font-style:normal}.dash-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-top:20px}.panel{padding:25px}.panel h2{font-size:19px;margin:0 0 20px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-grid a{display:block;border:1px solid #dfe6ef;border-radius:14px;padding:18px;color:var(--ink);text-decoration:none}.quick-grid a:hover,.quick-grid .primary{border-color:var(--blue);background:#f2f7ff}.quick-grid b{display:block;font-size:16px}.quick-grid span{display:block;color:var(--muted);font-size:13px;margin-top:7px}table{width:100%;border-collapse:collapse}th,td{padding:13px 10px;border-bottom:1px solid #edf0f4;text-align:left}th{font-size:13px;color:var(--muted)}td a{color:inherit;text-decoration:none}.pill{display:inline-block;padding:6px 10px;border-radius:16px;font-size:12px;font-weight:800}.green{background:#d9f8e5;color:#166534}.orange{background:#ffedd5;color:#9a3412}.red{background:#fee2e2;color:#a22020}.blue{background:#dbeafe;color:#1d4ed8}.notice{padding:13px;margin-bottom:16px;border-radius:10px}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.split{display:grid;grid-template-columns:360px 1fr;gap:18px}form,section:not(.kpi-grid):not(.dash-grid),.login form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}input,select,textarea,button{font:inherit;width:100%;padding:11px;margin:6px 0 12px;border:1px solid #cbd5e1;border-radius:8px}button,.button{display:inline-block;width:auto;background:var(--blue);color:#fff;border:0;padding:11px 17px;cursor:pointer;text-decoration:none}.product-thumb{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#f8fafc}.login{display:grid;place-items:center;min-height:100vh}.login form{width:350px}.quote-form{max-width:940px}.item{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr;gap:8px}@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.show{transform:translateX(0)}.main{margin-left:0}.topbar{padding:0 18px;height:70px}.topbar h1{font-size:21px}.menu-toggle{display:block;width:auto;margin:0;padding:0;background:none;color:var(--ink);font-size:24px}.content{padding:18px}.kpi-grid,.quick-grid,.split{grid-template-columns:1fr}.profile{font-size:0}.panel{padding:17px;overflow:auto}.item{grid-template-columns:1fr}}
