@import"https://fonts.googleapis.com/css2?family=Urbanist:wght@400;500;600;700;800&display=swap";.debug-radial{position:fixed;right:26px;bottom:26px;z-index:1000;font-family:var(--font-sans)}.debug-radial-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a192947;z-index:-1;animation:debug-fade .14s ease-out}.debug-fab{position:relative;display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 16px;border:none;border-radius:28px;background:var(--accent, #003087);color:#fff;box-shadow:0 8px 24px #0a192952;cursor:pointer;opacity:.75;transition:transform .14s ease,box-shadow .14s ease,background .2s ease,opacity .14s ease}.debug-fab:hover{transform:translateY(-1px);box-shadow:0 10px 28px #0a192966;opacity:1}.debug-fab:active{transform:translateY(0)}.debug-fab.is-open{background:var(--navy-deep, #0a1929);opacity:1}.debug-fab-emoji{font-size:22px;line-height:1}.debug-fab-label{font-size:13px;font-weight:800;letter-spacing:.2px;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.debug-wedges{position:absolute;right:28px;bottom:28px;width:0;height:0}.debug-wedge{position:absolute;margin:-28px;width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:2px solid var(--accent, #003087);border-radius:50%;background:var(--white, #fff);color:var(--ink, #1a1a1a);cursor:pointer;box-shadow:0 4px 14px #0a192938;animation:debug-pop .18s cubic-bezier(.2,.9,.3,1.4) backwards;transition:box-shadow .12s ease,background .12s ease}.debug-wedge:hover{box-shadow:0 6px 18px #0a192957;z-index:2;transform:scale(1.06)}.debug-wedge.is-active{background:var(--accent, #003087);color:#fff;box-shadow:0 0 0 3px #ffffffb3,0 6px 18px #0a192966}.debug-wedge-emoji{font-size:20px;line-height:1}.debug-wedge-label{font-size:8.5px;font-weight:800;line-height:1.05;text-align:center;max-width:58px;text-transform:uppercase;letter-spacing:.2px}.debug-density{position:absolute;right:0;bottom:72px;display:flex;background:var(--white, #fff);border:1px solid var(--border, #dde1e6);border-radius:10px;overflow:hidden;box-shadow:0 4px 14px #0a192933;animation:debug-fade .16s ease-out}.debug-density-btn{border:none;background:transparent;padding:8px 12px;font-size:12px;font-weight:700;color:var(--gray, #595959);cursor:pointer;font-family:var(--font-sans)}.debug-density-btn.is-active{background:var(--navy, #003087);color:#fff}.debug-tooltip{position:absolute;right:76px;bottom:76px;width:268px;max-width:72vw;background:var(--white, #fff);border:2px solid var(--navy, #003087);border-radius:14px;padding:14px 16px;box-shadow:0 14px 40px #0a192957;animation:debug-fade ease-out backwards;pointer-events:none}.debug-tooltip-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.debug-tooltip-emoji{font-size:18px}.debug-tooltip-title{font-size:14px;font-weight:800;color:var(--ink, #1a1a1a)}.debug-tooltip-badge{margin-left:auto;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--gray, #595959);background:var(--bg, #f5f7fa);border:1px solid var(--border, #dde1e6);border-radius:6px;padding:2px 6px}.debug-tooltip-body{margin:0;font-size:12.5px;line-height:1.5;color:var(--gray, #595959)}@keyframes debug-fade{0%{opacity:0}to{opacity:1}}@keyframes debug-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (max-width: 600px){.debug-radial{right:16px;bottom:16px}.debug-tooltip{right:66px;bottom:66px;width:232px}}.system-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0a19298c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:system-fade .14s ease-out;font-family:var(--font-sans)}.system-menu-panel{width:340px;max-width:88vw;background:var(--white, #fff);border-radius:18px;box-shadow:0 24px 64px #0a192973;padding:26px 24px 22px;animation:system-pop .18s cubic-bezier(.2,.9,.3,1.4)}.system-menu-head{display:flex;align-items:center;gap:10px;margin-bottom:20px}.system-menu-kicker{display:block;font-size:10.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--gray, #595959);margin-bottom:2px}.system-menu-title{margin:0;font-size:24px;font-weight:800;color:var(--navy, #003087)}.system-menu-back{border:none;background:var(--bg, #f5f7fa);color:var(--navy, #003087);width:32px;height:32px;border-radius:8px;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.system-menu-back:hover{background:var(--navy-light, #e8edf7)}.system-menu-actions{display:flex;flex-direction:column;gap:10px}.system-menu-btn{width:100%;padding:13px 16px;border:1px solid var(--border, #dde1e6);border-radius:12px;background:var(--white, #fff);color:var(--navy, #003087);font-family:var(--font-sans);font-size:15px;font-weight:800;cursor:pointer;transition:background .12s ease,transform .12s ease}.system-menu-btn:hover{background:var(--navy-light, #e8edf7);transform:translateY(-1px)}.system-menu-btn.primary{background:var(--navy, #003087);color:#fff;border-color:var(--navy, #003087)}.system-menu-btn.primary:hover{background:var(--navy-700, #002569)}.system-menu-btn.ghost{border-style:dashed;font-weight:700}.system-menu-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.system-menu-hint{margin:18px 0 0;text-align:center;font-size:12px;color:var(--gray, #595959)}.setting-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--border, #dde1e6)}.setting-row:first-of-type{border-top:none}.setting-label{flex:1;min-width:0}.setting-name{display:block;font-size:14px;font-weight:700;color:var(--ink, #1a1a1a)}.setting-desc{display:block;font-size:11.5px;line-height:1.4;color:var(--gray, #595959);margin-top:2px}.setting-rebind{flex-shrink:0;min-width:92px;padding:8px 12px;border:1px solid var(--navy, #003087);border-radius:10px;background:var(--white, #fff);color:var(--navy, #003087);font-family:var(--font-sans);font-size:12px;font-weight:800;cursor:pointer}.setting-rebind:hover{background:var(--navy-light, #e8edf7)}.setting-rebind.is-capturing{border-style:dashed;background:var(--navy-light, #e8edf7);animation:system-pulse 1s ease-in-out infinite}.setting-segment{flex-shrink:0;display:flex;border:1px solid var(--border, #dde1e6);border-radius:10px;overflow:hidden}.setting-segment-btn{border:none;background:transparent;padding:8px 14px;font-family:var(--font-sans);font-size:12px;font-weight:700;color:var(--gray, #595959);cursor:pointer}.setting-segment-btn.is-active{background:var(--navy, #003087);color:#fff}.setting-conflict{margin:-4px 0 0;font-size:11.5px;font-weight:700;color:var(--red, #da291c)}.setting-hint{margin:-4px 0 0;font-size:11.5px;color:var(--gray, #595959)}.setting-footer{display:flex;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border, #dde1e6)}.setting-footer .system-menu-btn{width:auto;flex:1}kbd{font-family:var(--font-sans);font-size:11.5px;font-weight:800;background:var(--bg, #f5f7fa);border:1px solid var(--border, #dde1e6);border-bottom-width:2px;border-radius:6px;padding:2px 7px;color:var(--ink, #1a1a1a)}.system-menu-trigger{position:fixed;left:26px;bottom:26px;z-index:1000;width:46px;height:46px;border:none;border-radius:50%;background:var(--navy-deep, #0a1929);color:#fff;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 8px 24px #0a192952;opacity:.75;transition:opacity .14s ease,transform .14s ease}.system-menu-trigger:hover{opacity:1;transform:translateY(-1px)}@keyframes system-fade{0%{opacity:0}to{opacity:1}}@keyframes system-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes system-pulse{0%,to{box-shadow:0 0 #0030874d}50%{box-shadow:0 0 0 4px #0030871f}}@media (max-width: 600px){.system-menu-trigger{left:16px;bottom:16px}}:root{--navy-deep:#0a1929;--navy:#003087;--navy-700:#002569;--navy-light:#e8edf7;--signal-blue:#3e6fe0;--signal-blue-light:#6f9af0;--steel:#8fa9c9;--red:#DA291C;--red-bg:#FFE0E0;--red-bg-strong:#FFCFCF;--green:#1E7A46;--green-bg:#E3F3EA;--yellow-selected:#FFF4D6;--gray:#595959;--gray-faint:#c7c7c7;--border:#DDE1E6;--bg:#F5F7FA;--ink:#1a1a1a;--white:#ffffff;--navy-fill-rgba:rgba(0,48,135,.08);--surface-page:var(--bg);--surface-card:var(--white);--surface-header:var(--navy);--surface-hover:var(--navy-light);--surface-selected:var(--yellow-selected);--text-primary:var(--ink);--text-secondary:var(--gray);--text-muted:var(--gray-faint);--text-on-navy:#ffffff;--text-on-navy-muted:#c7d3ec;--text-link:var(--navy);--text-link-hover:var(--red);--accent-primary:var(--navy);--accent-attention:var(--red);--accent-attention-bg:var(--red-bg);--accent-positive:var(--green);--accent-positive-bg:var(--green-bg);--border-default:var(--border)}:root{--font-sans:"Urbanist","Futura","Century Gothic","Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif}:root{--font-family-base:var(--font-sans);--text-title:24px;--text-title-weight:700;--text-title-tracking:.2px;--text-subtitle:13px;--text-subtitle-weight:400;--text-card-title:16px;--text-card-title-weight:700;--text-card-subtitle:14px;--text-card-subtitle-weight:700;--text-card-desc:12.5px;--text-card-desc-weight:400;--text-table:12.5px;--text-table-header-weight:700;--text-table-body-weight:400;--text-table-label-weight:600;--text-button:13.5px;--text-button-weight:700;--text-tooltip:12px;--text-tooltip-weight:500;--text-finePrint:12px}:root{--space-unit:22px;--space-xs:6px;--space-sm:8px;--space-md:14px;--space-lg:22px;--space-xl:32px;--card-padding:20px 22px;--card-radius:10px;--card-border-width:1px;--card-shadow:0 1px 3px rgba(0,0,0,.04);--modal-shadow:0 10px 34px rgba(0,0,0,.28);--control-radius:6px;--control-radius-lg:8px;--pill-radius:20px;--table-cell-padding-v:7px;--table-cell-padding-h:6px;--page-max-width:1900px;--page-padding:24px 32px 60px}*{box-sizing:border-box}body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans)}a{color:var(--text-link)}a:hover{color:var(--text-link-hover)}body{margin:0;background:var(--bg)}.wrap{max-width:1220px;margin:0 auto;padding:24px 24px 60px}.app-header{background:var(--navy);color:#fff;padding:8px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.app-header .brand{display:flex;align-items:center;gap:14px}.app-header .brand-mark{height:40px;width:40px;border-radius:8px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px}.app-header h1{margin:0;font-size:21px;font-weight:700;letter-spacing:.2px}.app-header .divider{width:1px;height:44px;background:#ffffff80;display:inline-block}.app-header .right{display:flex;align-items:center;gap:16px}.info-btn{width:30px;height:30px;border-radius:50%;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.45);font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:15px;cursor:pointer;flex:none}a{color:var(--navy)}a:hover{color:var(--red)}.ds-tabnav{display:flex;gap:10px;padding:24px 24px 0;max-width:1220px;margin:0 auto}.ds-tab{background:#fff;color:var(--navy);border:1px solid var(--border);border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--font-sans)}.ds-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.ds-filterbar{display:flex;align-items:center;gap:10px;margin:20px 0 18px;flex-wrap:wrap}.ds-filterbar .hint{font-size:13px;color:var(--gray);margin-right:6px;font-family:var(--font-sans)}.ds-select{background:#fff;color:var(--navy);border:1px solid var(--navy);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-sans)}.ds-search-input{background:#fff;color:var(--navy);border:1px solid var(--navy);border-radius:8px;padding:7px 12px;font-size:13px;font-family:var(--font-sans);min-width:180px}.ds-search-input::placeholder{color:var(--gray);font-weight:400}.ds-button{border-radius:16px;padding:6px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-sans);border:1px solid var(--navy)}.ds-button.primary{background:var(--navy);color:#fff}.ds-button.secondary{background:#fff;color:var(--navy)}.ds-button.sm{padding:5px 12px;font-size:12.5px}.ds-backbutton{background:#fff;color:var(--navy);border:1px solid var(--navy);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font-sans);margin-bottom:16px;display:inline-block}.ds-kpi{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:14px 18px;min-width:180px;box-shadow:var(--card-shadow)}.ds-kpi .label{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--gray);font-family:var(--font-sans);margin-bottom:4px}.ds-kpi .value{font-size:24px;font-weight:700;color:var(--navy);font-family:var(--font-sans)}.ds-kpi.attention .value{color:var(--red)}.ds-card{background:#fff;border:1px solid var(--border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow)}.ds-card .card-title{margin:0;font-size:16px;font-weight:700;color:var(--navy);font-family:var(--font-sans)}.ds-card .card-subtitle{margin:4px 0 14px;font-size:12.5px;color:var(--gray);font-family:var(--font-sans)}.ds-table{width:100%;border-collapse:collapse;font-size:12.5px;font-family:var(--font-sans)}.ds-table th{text-align:right;font-weight:700;color:var(--gray);padding:7px 6px;border-bottom:2px solid var(--border);white-space:nowrap}.ds-table th.leftcol{text-align:left}.ds-table td{text-align:right;padding:7px 6px;border-bottom:1px solid var(--border)}.ds-table td.leftcol{text-align:left;font-weight:600}.ds-table tbody tr.clickable{cursor:pointer}.ds-table tbody tr.clickable:hover{background:var(--navy-light)}.ds-table.tall tbody{display:block;max-height:420px;overflow-y:auto}.ds-table.tall thead,.ds-table.tall tbody tr{display:table;width:100%;table-layout:fixed}.ds-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.ds-modal{background:#fff;border-radius:var(--card-radius);padding:22px 26px;max-width:520px;width:90%;box-shadow:var(--modal-shadow);max-height:80vh;overflow-y:auto}.ds-modal h3{margin:0 0 12px;color:var(--navy);font-family:var(--font-sans)}.ds-modal .close-btn{float:right;background:none;border:none;font-size:18px;cursor:pointer;color:var(--gray)}.empty-state{padding:32px 16px;text-align:center;color:var(--gray);font-size:13px;font-family:var(--font-sans)}.empty-state strong{display:block;color:var(--navy);font-size:14px;margin-bottom:6px}.daily-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.daily-table table{width:auto}.ds-card--chart canvas{max-width:100%}@media (max-width: 600px){.wrap{padding:16px 14px 48px}.ds-table{display:block}.ds-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ds-table tbody{display:block}.ds-table tbody tr{display:block;border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:10px;background:#fff}.ds-table tbody tr:last-child{margin-bottom:0}.ds-table td{display:flex;align-items:baseline;justify-content:space-between;gap:16px;text-align:right;padding:5px 0;border-bottom:1px solid var(--border);min-width:0}.ds-table td:last-child{border-bottom:none}.ds-table td:before{content:attr(data-label);flex:0 0 auto;text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--gray)}.ds-table td:first-child{display:block;text-align:left;font-size:15px;font-weight:700;color:var(--navy);padding:0 0 8px;margin-bottom:6px;border-bottom:1px solid var(--border)}.ds-table td:first-child:before{content:none}.daily-table .ds-table{display:table}.daily-table .ds-table thead{position:static;width:auto;height:auto;clip:auto;display:table-header-group}.daily-table .ds-table tbody{display:table-row-group}.daily-table .ds-table tbody tr{display:table-row;border:none;border-radius:0;padding:0;margin:0;background:none}.daily-table .ds-table td,.daily-table .ds-table td:first-child,.daily-table .ds-table td:last-child{display:table-cell;text-align:right;padding:7px 6px;border-bottom:1px solid var(--border);font-size:12.5px;font-weight:400;color:inherit;margin:0}.daily-table .ds-table td.leftcol,.daily-table .ds-table td:first-child{text-align:left}.daily-table .ds-table td.leftcol{font-weight:600;color:var(--navy)}.daily-table .ds-table td:before{content:none}}
