@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f7fb;--card:#fff;--ink:#172033;--muted:#788398;--line:#e9edf4;--blue:#536dfe;--nav:#101a30;--green:#16865b;--red:#c74747;--shadow:0 8px 28px rgba(29,44,77,.045)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}.app-shell{min-height:100vh}.sidebar{width:248px;background:var(--nav);color:#fff;position:fixed;inset:0 auto 0 0;padding:28px 18px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:800 16px Manrope,sans-serif;letter-spacing:.3px}.brand-mark{width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,#7285ff,#536dfe);display:grid;place-items:center;font-size:22px}.brand-sub{display:block;font:600 8px 'DM Sans';letter-spacing:1.7px;color:#94a3bd;margin-top:4px}.nav-label,.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#96a3b9}.nav-label{margin:48px 12px 13px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{color:#aab5c8;text-decoration:none;padding:12px 13px;border-radius:9px;display:flex;gap:13px;align-items:center;font-weight:600}.sidebar nav a i{font-style:normal;font-size:18px;width:20px;text-align:center}.sidebar nav a.active,.sidebar nav a:hover{background:#263451;color:white}.sidebar-bottom{margin-top:auto}.user-chip{display:flex;gap:10px;align-items:center;padding:12px 4px;border-top:1px solid #2b3850}.avatar{width:34px;height:34px;border-radius:50%;background:#344b75;display:grid;place-items:center;font-weight:700}.user-chip small,.user-chip b{display:block}.user-chip small{color:#94a3bd;font-size:11px;margin-top:3px}.logout{display:block;color:#aab5c8;text-decoration:none;padding:8px 4px}.main{margin-left:248px}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-weight:700}.top-right{font-size:12px;color:var(--muted);font-weight:500}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#21b77b;margin-right:7px}.content{max-width:1500px;margin:auto;padding:34px 38px 55px}.welcome,.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.welcome h1,.page-heading h1{font:800 29px Manrope;margin:8px 0 5px;letter-spacing:-1px}.welcome p,.page-heading p,.panel-head p{color:var(--muted);margin:0}.eyebrow{color:var(--blue)}.btn{border:0;border-radius:9px;padding:11px 16px;font:700 13px 'DM Sans';cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:var(--blue);color:white;box-shadow:0 5px 12px #536dfe30}.secondary{background:#eef1ff;color:#465be0}.full{width:100%;margin-top:8px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stats-grid.compact{grid-template-columns:repeat(3,1fr)}.stat-card,.panel{background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.stat-card{padding:19px 20px}.stat-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:600}.stat-icon{color:var(--blue);font-size:19px}.stat-value{font:800 27px Manrope;margin:13px 0 5px;letter-spacing:-.7px}.stat-note{font-size:11px;color:#9aa4b5}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:19px}.panel{padding:20px;margin-bottom:19px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panel-head h2,.panel h2{font:700 16px Manrope;margin:0 0 5px}.panel-head p{font-size:12px}.panel-head a{color:var(--blue);font-size:12px;text-decoration:none;font-weight:700}.list-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f2f6}.list-row:last-child{border:0}.grow{flex:1;min-width:0}.grow b,.grow small{display:block}.grow b{font-size:13px}.grow small{font-size:11px;color:var(--muted);margin-top:4px}.product-mini{width:36px;height:36px;border-radius:9px;background:#f0f3ff;display:grid;place-items:center;color:var(--blue);overflow:hidden}.product-mini img,.table-product img{width:100%;height:100%;object-fit:cover}.pill{font-size:10px;padding:5px 8px;border-radius:20px;font-weight:700}.danger{background:#fff0f0;color:var(--red)}.success{background:#e9f8f1;color:var(--green)}.warning{background:#fff5e5;color:#a76b12}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:700px}th{text-align:left;color:#8792a5;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:12px;border-bottom:1px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid #f0f2f6;font-size:12px}tr:last-child td{border:0}.table-product{display:flex;align-items:center;gap:10px}.table-product img,.placeholder{width:34px;height:34px;border-radius:8px;object-fit:cover;background:#f0f3ff}.placeholder{display:grid;place-items:center;color:var(--blue)}.mono{font-family:monospace;color:#58647a}.empty{padding:23px;text-align:center;color:#98a2b3;font-size:12px}.searchbar{display:flex;gap:9px;margin-bottom:17px}.searchbar input{flex:1}.searchbar input,input{border:1px solid #e3e8f0;border-radius:8px;padding:11px 12px;font:13px 'DM Sans';outline:none;background:white;color:var(--ink)}input:focus{border-color:#8090ff;box-shadow:0 0 0 3px #536dfe15}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#465168;margin-bottom:14px}.modal{display:none;position:fixed;inset:0;background:#101a3077;z-index:10;align-items:center;justify-content:center;padding:18px}.modal.show{display:flex}.modal-card{background:white;border-radius:16px;width:min(540px,100%);padding:25px;box-shadow:0 20px 80px #101a3040}.modal-head{display:flex;justify-content:space-between;margin-bottom:20px}.modal-head h2{font:800 21px Manrope;margin:8px 0 5px}.modal-head p,.hint{font-size:11px;color:var(--muted);line-height:1.6}.close{border:0;background:#f1f3f8;border-radius:50%;width:32px;height:32px;font-size:21px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}details{margin:10px 0 15px;color:#59657a;font-size:12px}summary{cursor:pointer;font-weight:700;margin-bottom:13px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.notice{background:#fff8e9;border:1px solid #f4e3bd;border-radius:12px;padding:18px 20px;margin-bottom:18px;color:#77551a;line-height:1.6}.notice p{margin:7px 0 0;font-size:12px}.check-list{line-height:2.1;color:#5e6a7e;font-size:13px}.alert{padding:12px 14px;border-radius:8px;margin-bottom:17px;font-size:12px}.alert.success{background:#e9f8f1;color:#16865b}.alert.error{background:#fff0f0;color:#bd3838}.alert.warning{background:#fff5e5;color:#986212}.text-btn{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.chart{padding:5px 4px 0}.chart-legend{display:flex;gap:16px;font-size:11px;color:var(--muted);margin-bottom:15px}.chart-legend span:first-child{color:#536dfe}.chart-legend span:last-child{color:#23ad83}.bars{display:flex;align-items:end;gap:10px;min-height:170px;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 3px}.bar-group{min-width:30px;flex:1;text-align:center}.bar-pair{height:140px;display:flex;align-items:end;justify-content:center;gap:3px}.bar{display:block;width:9px;border-radius:4px 4px 0 0}.bar.added{background:#536dfe}.bar.sold{background:#23ad83}.bar-group small{display:block;color:#98a2b3;font-size:9px;padding:8px 0}.auth-bg{min-height:100vh;background:radial-gradient(circle at 15% 20%,#dfe5ff,transparent 35%),#f4f6fb;display:grid;place-items:center;padding:20px}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:17px;padding:34px;box-shadow:0 20px 70px #1d2c4d12}.auth-brand{color:var(--ink);margin-bottom:30px}.auth-brand .brand-sub{color:#8994a8}.auth-card h1{font:800 25px Manrope;margin:0 0 8px}.auth-card>p{color:var(--muted);font-size:13px;margin:0 0 24px}.auth-card hr{border:0;border-top:1px solid var(--line);margin:20px 0}.auth-card label{margin-bottom:13px}
@media(max-width:1050px){.sidebar{width:205px}.main{margin-left:205px}.content{padding:28px 22px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:static;width:auto;height:auto;padding:13px 15px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:14px}.sidebar nav a{white-space:nowrap;padding:9px}.brand{font-size:14px}.main{margin:0}.topbar{height:48px;padding:0 17px}.content{padding:22px 14px}.welcome,.page-heading{align-items:flex-start;flex-direction:column}.welcome h1,.page-heading h1{font-size:25px}.stats-grid,.stats-grid.compact,.two-col{grid-template-columns:1fr}.stat-card{padding:16px}.panel{padding:15px}.form-grid{grid-template-columns:1fr}.modal-actions{justify-content:stretch}.modal-actions .btn{flex:1}.top-right{font-size:10px}}
