:root{--bg: #f5f7fb;--surface: #ffffff;--ink: #14213d;--ink-2: #5b6b82;--line: #e6eaf1;--navy: #14213d;--blue: #2f6fed;--blue-soft: #e8f0fe;--orange: #f2994a;--orange-soft: #fdf1e6;--red: #eb5757;--red-soft: #fdecec;--green: #27ae60;--green-soft: #e7f6ee;--purple: #8e5cf6;--purple-soft: #f1ebfe;--teal: #12a4a4;--teal-soft: #e3f6f6;--amber-soft: #fff6dd;--radius: 12px;--shadow: 0 1px 2px rgba(20, 33, 61, .06);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:3px solid #9cbcf7;outline-offset:2px}.topbar{background:var(--navy);color:#fff}.topbar-inner{max-width:1280px;margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:14px}.brand h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em}.brand p{margin:3px 0 0;color:#b9c4d6;font-size:13px}.logo{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--blue);color:#fff}.cutoff{display:flex;flex-direction:column;gap:6px}.cutoff-label{font-size:11px;color:#b9c4d6;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented button,.segmented .custom{border:0;background:#23335a;color:#dbe3f0;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}.segmented button:hover,.segmented .custom:hover{background:#2c3f6c}.segmented .active{background:var(--blue);color:#fff}.segmented input{border:0;border-radius:6px;padding:3px 6px;font-size:13px;background:#fff;color:var(--ink)}.tabs-bar{background:var(--surface);border-bottom:1px solid var(--line)}.tabs{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;gap:8px;overflow-x:auto}.tabs button{border:0;background:none;padding:14px 4px;margin-right:14px;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--blue);border-color:var(--blue)}main{max-width:1280px;margin:0 auto;padding:20px 24px 8px}.view{display:flex;flex-direction:column;gap:16px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar button{width:38px;height:38px;border:0;background:var(--surface);border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;color:var(--ink);box-shadow:var(--shadow)}.toolbar button:hover:not(:disabled){background:var(--blue-soft);color:var(--blue)}.toolbar button:disabled{opacity:.35;cursor:default}.toolbar input{height:38px;border:0;border-radius:8px;padding:0 10px;background:var(--surface);box-shadow:var(--shadow);color:var(--ink)}.toolbar-title{margin-left:6px;color:var(--ink-2);font-size:15px}.toolbar-title b{color:var(--ink)}.callout{display:flex;gap:12px;align-items:flex-start;border-radius:var(--radius);padding:14px 16px;line-height:1.55;font-size:14.5px}.callout-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%}.callout-info{background:var(--blue-soft)}.callout-info .callout-icon{background:var(--blue);color:#fff}.callout-action{background:var(--amber-soft)}.callout-action .callout-icon{background:var(--orange);color:#fff}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.kpi{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.kpi-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:10px}.kpi-label{font-size:12.5px;color:var(--ink-2);font-weight:600}.kpi-value{font-size:26px;font-weight:800;margin-top:2px;letter-spacing:-.02em}.kpi-hint{font-size:12px;color:var(--ink-2);margin-top:2px}.tone-blue .kpi-icon{background:var(--blue-soft);color:var(--blue)}.tone-orange .kpi-icon{background:var(--orange-soft);color:var(--orange)}.tone-red .kpi-icon{background:var(--red-soft);color:var(--red)}.tone-red .kpi-value{color:var(--red)}.tone-green .kpi-icon{background:var(--green-soft);color:var(--green)}.tone-green .kpi-value{color:var(--green)}.tone-purple .kpi-icon{background:var(--purple-soft);color:var(--purple)}.tone-teal .kpi-icon{background:var(--teal-soft);color:var(--teal)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:var(--surface);border-radius:var(--radius);padding:18px 18px 14px;min-width:0;box-shadow:var(--shadow)}.card-wide{grid-column:1 / -1}.card h3{margin:0 0 12px;font-size:15.5px;font-weight:700}.caption{margin:10px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.5}.chart{width:100%}.recharts-legend-item-text{color:var(--ink-2)!important;font-size:12.5px}.method ol,.method ul{line-height:1.65;padding-left:20px;margin:0 0 8px}.method li{margin-bottom:6px}.method h3+ol,.method h3+ul{margin-top:4px}.method .card h3:not(:first-child){margin-top:18px}.status{display:flex;align-items:center;gap:10px;padding:18px;color:var(--ink-2)}.status-error{color:#a32323;background:var(--red-soft);border-radius:var(--radius)}.spinner{width:16px;height:16px;border:3px solid var(--blue-soft);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer{max-width:1280px;margin:8px auto 0;padding:16px 24px 28px;font-size:12px;color:var(--ink-2)}@media(max-width:860px){.grid{grid-template-columns:1fr}.topbar-inner,main,.tabs,.footer{padding-left:14px;padding-right:14px}.kpi-value{font-size:22px}.brand h1{font-size:19px}}.warn-text{color:var(--red)}.tabs{scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}@media(max-width:480px){.tabs button{margin-right:6px;font-size:13.5px}.segmented button,.segmented .custom{padding:7px 10px;font-size:12.5px}}.is-updating{opacity:.45;transition:opacity .15s;pointer-events:none}.status-error{flex-wrap:wrap}.retry{margin-left:auto;border:0;border-radius:8px;padding:8px 14px;background:var(--red);color:#fff;font-weight:700;cursor:pointer}
