:root{--bg: #f6f3ec;--card: #ffffff;--ink: #15172e;--muted: #6a6d85;--faint: #a3a6b8;--border: #e8e3d8;--field: #f1eee6;--primary: #1b1e4b;--accent: #f5a524;--accent-soft: #fff2d6;--good: #0e7f44;--good-soft: #dff6ea;--warn: #8a5300;--warn-soft: #fff2d6;--bad: #b3241b;--bad-soft: #fdeae8;--brand-soft: #e8e9f8;--shadow: 0 1px 2px rgba(21, 23, 46, .04), 0 6px 20px rgba(21, 23, 46, .06);--radius: 16px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,p{margin:0}a{color:var(--primary);font-weight:700;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}small{display:block;color:var(--muted);font-size:12.5px}small.inline{display:inline}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:24px;padding:22px 14px;background:linear-gradient(170deg,#1b1e4b,#2c2468);color:#fff}.brand{display:flex;align-items:center;gap:10px;padding:0 8px;color:#fff;font-size:18px;font-weight:800;letter-spacing:-.3px}.brand:hover{text-decoration:none}.brand-dark{color:var(--ink);padding:0}.brand-mark{width:30px;height:30px;border-radius:10px;background:var(--accent);box-shadow:inset 0 0 0 7px var(--accent),inset 0 0 0 30px #1b1e4b}.brand-tag{padding:2px 8px;border-radius:20px;background:#f5a52433;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.brand-dark .brand-tag{background:var(--accent-soft);color:var(--warn)}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{display:flex;align-items:center;min-height:42px;padding:0 14px;border-radius:12px;color:#ffffffb8;font-weight:600}.sidebar nav a:hover{background:#ffffff14;color:#fff;text-decoration:none}.sidebar nav a.nav-on{background:#ffffff24;color:#fff;font-weight:800;box-shadow:inset 3px 0 0 var(--accent)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:#fffc}.sidebar-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot .link{color:var(--accent);text-align:left}.content{display:flex;flex-direction:column;gap:18px;width:100%;max-width:1280px;padding:28px 32px 48px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header h1{font-size:28px;font-weight:800;letter-spacing:-.6px}.page-header p{color:var(--muted)}.back{align-self:flex-start;font-size:13px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;display:flex;flex-direction:column;gap:14px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-head h2{font-size:16px;font-weight:800}.card-head p,.card-foot{color:var(--muted);font-size:13px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.tiles-small{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tile{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);color:var(--ink);font-weight:500}.tile-link:hover{text-decoration:none;box-shadow:0 0 0 2px var(--primary),var(--shadow)}.tile-label{color:var(--muted);font-size:13px;font-weight:600}.tile-value{font-size:30px;font-weight:800;letter-spacing:-.8px;line-height:1.2;font-variant-numeric:tabular-nums}.tiles-small .tile-value{font-size:24px}.tile-value-small{font-size:18px!important;letter-spacing:-.2px}.tile-note{color:var(--muted);font-size:12.5px}.chart{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:180px auto;column-gap:10px;row-gap:6px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.chart-plot{display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--border);background:linear-gradient(to bottom,var(--border) 1px,transparent 1px) top / 100% 100% no-repeat}.chart-slot{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;outline-offset:-2px}.chart-bar{width:100%;max-width:24px;min-height:0;border-radius:4px 4px 0 0;background:var(--primary)}.chart-bar-on{background:#3a2c83}.chart-slot:hover{background:#1b1e4b0d}.chart-tip{position:absolute;bottom:calc(100% - 28px);left:50%;z-index:2;padding:8px 10px;border-radius:10px;background:var(--ink);color:#fff;font-size:12.5px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow)}.chart-tip-left{left:auto;right:50%}.chart-tip span{display:block;color:#ffffffb3}.chart-x{grid-column:2;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.chart-table{max-height:260px;overflow-y:auto}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.input{min-height:42px;padding:8px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--card)}.input:focus{border-color:var(--primary);outline:none}.search{flex:1 1 280px;max-width:420px}.filters{display:flex;gap:6px;flex-wrap:wrap}.chip{min-height:38px;padding:0 14px;border:1.5px solid var(--border);border-radius:20px;background:var(--card);font-weight:600;cursor:pointer}.chip-on{border-color:var(--primary);background:var(--primary);color:#fff}.toolbar-total{margin-left:auto;color:var(--muted);font-weight:600}.table-wrap{overflow-x:auto;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}.card .table-wrap{box-shadow:none;border:1px solid var(--border);border-radius:12px}table{width:100%;border-collapse:collapse}th{padding:12px 16px;background:#fcfbf8;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.5px;text-align:left;text-transform:uppercase;white-space:nowrap}td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:0}td strong{font-weight:700}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#fcfbf8}.row-actions{display:flex;gap:12px;flex-wrap:wrap}.pills{display:flex;gap:6px;flex-wrap:wrap}.empty{padding:40px 20px;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);color:var(--muted);text-align:center}.card .empty{box-shadow:none;background:var(--field);padding:24px}.pager{display:flex;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}.pill span{font-size:9px}.pill-good{background:var(--good-soft);color:var(--good)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-bad{background:var(--bad-soft);color:var(--bad)}.pill-neutral{background:#eeedf2;color:var(--muted)}.pill-brand{background:var(--brand-soft);color:var(--primary)}.btn{min-height:42px;padding:0 16px;border:1.5px solid var(--border);border-radius:12px;background:var(--card);font-weight:700;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{border-color:var(--primary);background:var(--primary);color:#fff}.btn-danger{border-color:transparent;background:var(--bad-soft);color:var(--bad)}.link{padding:0;border:0;background:none;color:var(--primary);font-weight:700;cursor:pointer;white-space:nowrap}.link:hover{text-decoration:underline}.link-danger{color:var(--bad)}.error,.notice{padding:10px 14px;border-radius:12px;font-weight:600}.error{background:var(--bad-soft);color:#8f1d16}.notice{background:var(--accent-soft);color:#6b4100}.actions{display:flex;flex-direction:column}.action{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--border);font-weight:600}.action-buttons{display:flex;gap:8px;flex-wrap:wrap}.modal{width:min(460px,calc(100vw - 32px));padding:0;border:0;border-radius:20px;color:var(--ink);box-shadow:0 24px 60px #15172e4d}.modal::backdrop{background:#15172e73}.modal-body{display:flex;flex-direction:column;gap:16px;padding:22px}.modal h2{font-size:18px;font-weight:800}.form,.login-card{display:flex;flex-direction:column;gap:14px}.form label,.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}.form-actions{display:flex;justify-content:flex-end;gap:8px}.login{min-height:100%;display:grid;place-items:center;padding:24px;background:linear-gradient(150deg,#1b1e4b,#3a2c83)}.login-card{width:min(400px,100%);padding:28px;border-radius:24px;background:var(--card);box-shadow:0 24px 60px #0000004d}.login-card h1{font-size:22px;font-weight:800;letter-spacing:-.4px}@media(max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto;gap:12px;padding:14px 16px}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar nav a{white-space:nowrap}.sidebar nav a.nav-on{box-shadow:inset 0 -3px 0 var(--accent)}.sidebar-foot{flex-direction:row;justify-content:space-between;margin-top:0}.content{padding:20px 16px 40px}.toolbar-total{margin-left:0}}
