:root{color:#0f172a;background:#f1f5f9;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:#2563eb}.page{max-width:1400px;margin:0 auto;padding:24px}.header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.header h1{letter-spacing:-.02em;margin:0;font-size:28px;line-height:1.2}.filters{align-items:center;gap:16px;display:flex}.filters label{color:#64748b;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.filters select,.filters input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:150px;padding:10px 12px}.filters label{position:relative}.filters .range-control{flex-direction:column;display:flex;position:relative}.filters .range-button{color:#0f172a;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;min-width:290px;padding:10px 12px}.filters .range-popover{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:12px;gap:10px;min-width:310px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #0f172a24}.filters .range-popover label{color:#64748b;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.filters .range-popover input{min-width:100%}.filters .range-actions{justify-content:flex-end;gap:8px;display:flex}.filters .btn{cursor:pointer;border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600}.filters .btn--ghost{color:#334155;background:#fff}.filters .btn--primary{color:#fff;background:#0f172a;border-color:#0f172a}.hint{color:#334155;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:13px}.hint--error{color:#991b1b;background:#fee2e2;border-color:#fecaca}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.kpi{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;box-shadow:0 1px 2px #0f172a0a}.kpi__label{color:#64748b;font-size:12px;font-weight:600}.kpi__value{letter-spacing:-.02em;color:#0f172a;margin-top:10px;font-size:30px;font-weight:800;line-height:1}.card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:18px;overflow:hidden}.card h2{color:#0f172a;margin:0;padding:16px 16px 8px;font-size:18px}.table-wrap{padding:0 8px 8px;overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:860px}thead th{z-index:1;text-align:left;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:11px 10px;font-size:12px;font-weight:700;position:sticky;top:0}thead th:nth-child(n+3){text-align:right}tbody td,tfoot td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:10px;font-size:14px}tbody td:nth-child(n+3),tfoot td:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.row-foot td{background:#f8fafc;border-top:1px solid #e2e8f0}.row-main{cursor:pointer;background:#fff}.row-main td:first-child{color:#64748b;text-align:center;width:28px;padding-right:0}.row-main td:nth-child(2){font-weight:600}.row-main:hover{background:#f8fafc}.row-sub td{color:#475569;background:#f8fafc}.row-sub td:nth-child(2){padding-left:20px;font-weight:500}.metric-button{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.group-cell{align-items:baseline;gap:2px;display:inline-flex}.modal-backdrop{z-index:100;background:#0f172a80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;flex-direction:column;width:min(1100px,100%);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a59}.modal__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.modal__header h3{margin:0;font-size:20px}.modal__subtitle{color:#64748b;margin-top:6px;font-size:13px}.modal__close{cursor:pointer;color:#64748b;background:0 0;border:0;font-size:22px}.modal__body{padding:12px 14px 16px;overflow:auto}@media (width<=980px){.page{padding:16px}.header{flex-direction:column;align-items:stretch}.header h1{font-size:24px}.filters{flex-wrap:wrap}.filters .range-popover{left:0;right:auto}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.kpi-grid{grid-template-columns:1fr}.kpi__value{font-size:26px}}
