*{box-sizing:border-box}body{color:#2e2e38;background:#f2f2f5;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.layout{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#2e2e38;flex-direction:column;gap:6px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{font-size:20px;font-weight:700}.brand-accent{color:#ffe600}.brand-sub{color:#b3b3bd;margin-bottom:18px;font-size:12px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar button{text-align:left;color:#d8d8de;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:9px 12px;font-size:14px}.sidebar button:hover{color:#fff;background:#3d3d4a}.sidebar button.active{color:#2e2e38;background:#ffe600;font-weight:600}.sidebar-foot{color:#74747e;margin-top:auto;font-size:11px}.content{flex-direction:column;min-width:0;display:flex}main{max-width:1200px;padding:18px 32px 24px}.topbar{z-index:30;background:#fff;border-bottom:1px solid #e5e5ea;justify-content:space-between;align-items:center;gap:18px;padding:14px 32px;display:flex;position:sticky;top:0}.topbar-title{margin:0;font-size:20px}.wake-banner{color:#6b5d00;background:#fff8d6;border:1px solid #e6d651;border-radius:8px;margin:12px 32px 0;padding:10px 14px;font-size:13px}.card{background:#fff;border-radius:10px;margin-bottom:18px;padding:18px 20px;box-shadow:0 1px 3px #00000014}.card h3{color:#4a4a57;margin:0 0 14px;font-size:15px}.card.error{border-left:4px solid #ff4136}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi{background:#fff;border-top:3px solid #ffe600;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #00000014}.kpi-value{font-size:26px;font-weight:700}.kpi-label{color:#74747e;margin-top:2px;font-size:12px}.filters{flex-wrap:wrap;gap:14px;margin-bottom:18px;display:flex}.filter{color:#4a4a57;flex-direction:column;gap:4px;font-size:12px;display:flex}.filter select{background:#fff;border:1px solid #d4d4dc;border-radius:6px;min-width:170px;padding:7px 10px;font-size:13px}.data-table{border-collapse:collapse;width:100%;font-size:12.5px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #ececf1;padding:7px 10px}.data-table th{color:#4a4a57;background:#f7f7fa;position:sticky;top:0}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}.data-table tbody tr:hover{background:#fffbe0}.tooltip{background:#fff;border:1px solid #d4d4dc;border-radius:6px;padding:8px 10px;font-size:12px}.filter-chips{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 32px 0;display:flex}.chip{color:#fff;background:#2e2e38;border-radius:14px;align-items:center;gap:6px;max-width:420px;padding:4px 6px 4px 11px;font-size:12px;display:inline-flex}.chip-label{color:#b3b3bd}.chip-value{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chip.chip-inactive{background:#9a9aa4}.chip-note{color:#e8e8ee;font-size:10.5px;font-style:italic}.chip-remove{color:#fff;cursor:pointer;background:#4a4a57;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;line-height:1;display:inline-flex}.chip-remove:hover{background:#ff4136}.chip-clear{color:#4a4a57;cursor:pointer;background:0 0;border:1px solid #d4d4dc;border-radius:14px;padding:4px 12px;font-size:12px}.chip-clear:hover{color:#2e2e38;border-color:#2e2e38}.search-box{flex:0 380px;position:relative}.search-input{background:#f7f7fa;border:1px solid #d4d4dc;border-radius:8px;width:100%;padding:8px 12px;font-size:13px}.search-input:focus{background:#fff;outline:2px solid #ffe600}.search-spinner{color:#74747e;position:absolute;top:8px;right:10px}.search-results{z-index:40;background:#fff;border:1px solid #d4d4dc;border-radius:8px;max-height:420px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #0000001f}.search-group-title{text-transform:uppercase;letter-spacing:.04em;color:#74747e;padding:8px 12px 4px;font-size:11px;font-weight:700}.search-result{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:7px 12px;font-size:13px;display:flex}.search-result:hover{background:#fffbe0}.search-result-name{color:#2e2e38;font-weight:600}.search-result-meta{color:#74747e;font-size:11.5px}.search-empty{color:#74747e;padding:12px;font-size:13px}.landing{justify-content:center;align-items:center;min-height:100vh;display:flex}.landing-card{text-align:center;background:#fff;border-radius:12px;max-width:380px;padding:36px 40px;box-shadow:0 4px 16px #0000001a}.landing-card .brand{font-size:24px}.landing-sub{color:#74747e;margin:10px 0 22px;font-size:13px}.landing-msg{color:#4a4a57;font-size:13px}.login-btn{color:#2e2e38;cursor:pointer;background:#ffe600;border:none;border-radius:8px;padding:10px 26px;font-size:14px;font-weight:700}.login-btn:hover{background:#f5dc00}.sidebar-foot .logout-btn{color:#d8d8de;cursor:pointer;background:0 0;border:1px solid #4a4a57;border-radius:6px;margin-top:10px;padding:6px 12px;font-size:12px}.sidebar-foot .logout-btn:hover{color:#ffe600;border-color:#ffe600}.view-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.view-actions .filters{margin-bottom:0}.export{align-items:center;gap:10px;display:inline-flex}.export-btn{color:#fff;cursor:pointer;background:#2e2e38;border:none;border-radius:6px;padding:9px 16px;font-size:13px}.export-btn:hover:not(:disabled){background:#4a4a57}.export-btn:disabled{opacity:.6;cursor:wait}.export-btn.small{padding:7px 12px;font-size:12px}.export-notice{color:#b35a00;font-size:12px}.detail-table-wrap{overflow-x:auto}.detail-table-wrap .data-table th{white-space:nowrap;text-transform:capitalize}.detail-status{color:#74747e;padding:10px 0;font-size:13px}.detail-error{background:#fff3f2;border-left:4px solid #ff4136;margin-bottom:10px;padding:10px 12px;font-size:13px}.detail-more{justify-content:center;padding-top:14px;display:flex}.load-more-btn{cursor:pointer;background:#fff;border:1px solid #d4d4dc;border-radius:6px;padding:8px 22px;font-size:13px}.load-more-btn:hover:not(:disabled){border-color:#2e2e38}.load-more-btn:disabled{opacity:.6;cursor:wait}.recharts-bar-rectangle path[cursor=pointer]{cursor:pointer}
