.cn{--cn-green:#72ad95;--cn-blue:#77a0c8;--cn-line:var(--border,#33424e);--cn-panel:var(--panel,#17232e);--cn-muted:var(--text-muted,#9cabb8);color:var(--text,#dce4eb);font-size:14px;line-height:1.5;max-width:1600px;margin:auto;padding:12px;font-variant-numeric:tabular-nums}
.cn *{box-sizing:border-box}.cn [hidden]{display:none!important}.cn h1{font-size:26px;letter-spacing:-.5px;margin:4px 0}.cn h2{font-size:17px;margin:18px 0 12px}.cn h3{font-size:15px}.cn p{margin:10px 0}.cn-header{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:12px 0 20px;border-bottom:1px solid var(--cn-line)}.cn-header>div{flex:1}.cn-header p{color:var(--cn-muted);margin:0}.cn-eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--cn-muted)}.cn-exporter{width:165px}.cn label{display:flex;flex-direction:column;gap:6px;color:var(--cn-muted);font-size:12px;font-weight:600}
.cn button,.cn input,.cn select{font:inherit;color:var(--text,#dce4eb);background:var(--cn-panel);border:1px solid var(--cn-line);border-radius:6px;min-height:40px;padding:8px 12px}.cn input,.cn select{width:100%;min-width:0;color-scheme:dark}.cn input[readonly]{color:var(--cn-muted);background:transparent}.cn button{cursor:pointer}.cn button:hover:not(:disabled){border-color:var(--cn-blue);background:#223342}.cn button:disabled{cursor:default;color:var(--cn-muted)}.cn :focus-visible{outline:2px solid var(--cn-blue);outline-offset:3px}.cn-tabs{display:flex;gap:4px;padding-top:20px;border-bottom:1px solid var(--cn-line)}.cn-tabs button{border:0;border-radius:6px 6px 0 0;background:transparent;padding:12px 18px;color:var(--cn-muted);border-bottom:2px solid transparent}.cn-tabs button[aria-pressed=true]{color:var(--text,#e3eaf0);background:var(--cn-panel);border-bottom-color:var(--cn-blue)}.cn-muted{color:var(--cn-muted);font-size:12px}.cn-status{display:inline-block;padding:5px 10px;background:var(--cn-panel);border:1px solid var(--cn-line);border-radius:5px;font-size:12px;font-weight:600}.cn-stale{color:var(--warning,#d3b27c)}.cn-empty{padding:24px;border:1px dashed var(--cn-line);border-radius:8px;color:var(--cn-muted)}.cn-loading{padding:24px;color:var(--cn-muted)}
.cn-freshness{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.cn-freshness>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:14px 16px;background:var(--cn-panel);border:1px solid var(--cn-line);border-radius:8px}.cn-freshness small{grid-column:1/-1;color:var(--cn-muted)}.cn-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.cn-kpis>div{padding:16px;border:1px solid var(--cn-line);border-radius:8px;background:var(--cn-panel)}.cn-kpis span{font-size:12px;color:var(--cn-muted)}.cn-kpis strong{display:block;font-size:24px;font-weight:600;margin-top:8px}.cn-ranks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cn-ranks>section{min-width:0;padding:0 16px 16px;border:1px solid var(--cn-line);border-radius:8px;background:var(--cn-panel)}
.cn form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;padding:20px;margin:20px 0;background:var(--cn-panel);border:1px solid var(--cn-line);border-radius:8px;align-items:end}.cn-wide{grid-column:1/-1}.cn-presets{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.cn-presets button{padding:6px 9px}.cn-actions,.cn-hours-list{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.cn-scroll{overflow:auto;max-width:100%;border-radius:6px}.cn table{border-collapse:collapse;width:100%;font-size:12px}.cn th{font-size:11px;letter-spacing:.2px;color:var(--cn-muted);font-weight:600;background:var(--cn-panel)}.cn td,.cn th{text-align:left;padding:11px 12px;white-space:nowrap;border-bottom:1px solid var(--cn-line)}.cn td button{min-height:32px;padding:4px 8px;color:var(--cn-blue);background:transparent}.cn tbody tr:hover{background:#8198af08}.cn section>button{margin:12px 8px 12px 0}
.cn-bars{display:grid;gap:7px;max-height:540px;overflow:auto;padding:4px}.cn-bar{display:grid;grid-template-columns:190px minmax(80px,1fr) 110px;gap:12px;align-items:center;text-align:left}.cn-bar small{grid-column:2/-1;color:var(--cn-muted)}.cn-track{height:12px;border-radius:3px;background:#ffffff08;overflow:hidden}.cn-track>span{display:block;height:100%;background:var(--cn-blue);border-radius:3px}.cn-minute-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;padding:4px;max-height:600px;overflow:auto}.cn-minute{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;overflow:hidden;text-align:left}.cn-minute strong{font-size:15px}.cn-minute small{color:var(--cn-muted);font-size:11px}.cn-minute-meter{position:absolute;bottom:0;left:0;height:3px;background:var(--cn-green)}.cn-up .cn-minute-meter{background:var(--cn-blue)}
.cn-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(96vw,1400px);height:100dvh;max-height:100dvh;max-width:100vw;overflow:auto;background:var(--bg,#111c26);color:var(--text,#dce4eb);border:1px solid var(--cn-line);padding:24px}.cn-drawer::backdrop{background:#060d16b8}.cn-drawer>button{float:right;position:sticky;top:0;z-index:2}.cn-sankey{width:100%;min-width:1020px;display:block}.cn-sankey .cn-flow{fill:none;opacity:.56}.cn-sankey .cn-download{stroke:var(--cn-green)}.cn-sankey .cn-upload{stroke:var(--cn-blue)}.cn-sankey .cn-flow:hover,.cn-sankey .cn-flow:focus{opacity:1}.cn-sankey rect{fill:#9aaab8}.cn-sankey text{fill:var(--text,#dce4eb);font:12px ui-monospace,SFMono-Regular,monospace}
@media(max-width:1000px){.cn form{grid-template-columns:repeat(2,minmax(0,1fr))}.cn-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.cn-ranks{grid-template-columns:1fr}.cn-freshness{grid-template-columns:1fr}}
@media(max-width:600px){.cn{padding:8px}.cn-header{flex-wrap:wrap;gap:12px}.cn-header>div{flex-basis:100%}.cn h1{font-size:22px}.cn form{grid-template-columns:1fr;padding:14px}.cn-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cn-tabs button{padding:10px;font-size:12px}.cn-bar{grid-template-columns:1fr 100px}.cn-bar>.cn-track{grid-column:1/-1;grid-row:2}.cn-bar small{grid-column:1/-1}.cn-drawer{width:100vw;padding:14px}.cn-freshness>div{grid-template-columns:1fr}.cn th,.cn td{padding:8px}}
@media(prefers-reduced-motion:reduce){.cn *{scroll-behavior:auto;animation:none;transition:none}}
/* Stage investigation refinements: calm hierarchy and dense, readable evidence. */
.cn{--cn-panel:var(--panel,#17232e);max-width:1560px;padding:20px 24px 40px}
.cn-header{padding:12px 0 24px}.cn-header h1{font-weight:650;line-height:1.2}.cn-header p{margin-top:8px;max-width:650px}
.cn form{box-shadow:0 3px 12px #0000000d}.cn form>button[type=submit]{background:#2d4c65;border-color:#46647c;font-weight:600}.cn input::placeholder{color:var(--cn-muted);opacity:.75}
.cn-evidence{border-left:3px solid var(--cn-line);padding:12px 16px;background:var(--cn-panel);color:var(--cn-muted);font-size:12px}
.cn #cn-search,.cn #cn-hours,.cn #cn-minutes,.cn #cn-ports{scroll-margin-top:20px}.cn #cn-search:has(table),.cn #cn-hours:not(:empty),.cn #cn-minutes:not(:empty),.cn #cn-ports:not(:empty){border:1px solid var(--cn-line);border-radius:10px;margin:18px 0;padding:4px 18px 16px;background:var(--cn-panel)}
.cn-scroll{border:1px solid var(--cn-line);max-height:620px}.cn thead{position:sticky;top:0;z-index:1}.cn td{font-variant-numeric:tabular-nums}.cn tbody td:first-child{font-weight:500}.cn [aria-busy=true]{min-height:100px}.cn [role=alert]:not(:empty){border-left:3px solid var(--warning,#d3b27c);padding:10px 14px;background:var(--cn-panel)}
.cn button:disabled{opacity:.5}.cn #cn-csv-status:not(:empty){padding:10px 14px;border:1px solid var(--cn-line);border-radius:6px;color:var(--cn-muted);font-size:12px}.cn-freshness strong{font-size:13px}.cn-kpis strong{letter-spacing:-.5px}.cn .cn-loading{border:1px dashed var(--cn-line);border-radius:8px}.cn .cn-tabs{overflow:auto}
@media(max-width:600px){.cn{padding:12px}.cn #cn-search:has(table),.cn #cn-hours:not(:empty),.cn #cn-minutes:not(:empty),.cn #cn-ports:not(:empty){padding:4px 10px 12px}.cn-actions>button{flex:1 1 135px}.cn-header .cn-exporter{flex:1}}
/* Process: explicit availability state. Neutral panel, no data-like figures. */
.cn-availability{margin:18px 0 0;padding:14px 18px;border:1px solid var(--cn-line);border-left:3px solid var(--cn-muted);border-radius:8px;background:var(--cn-panel)}
.cn-availability[hidden]{display:none!important}.cn-availability strong{display:block;font-size:14px}.cn-availability p{margin:6px 0 0;max-width:900px}
.cn-availability[data-state=unconfigured],.cn-availability[data-state=forbidden],.cn-availability[data-state=auth],.cn-availability[data-state=error]{border-left-color:var(--warning,#d3b27c)}
.cn-availability code{font:12px ui-monospace,SFMono-Regular,monospace;padding:1px 5px;border:1px solid var(--cn-line);border-radius:4px}
.cn input:disabled,.cn select:disabled{cursor:not-allowed;opacity:.6}
.cn label small{font-weight:400;color:var(--cn-muted)}.cn label small[hidden]{display:none}
.cn-header .cn-exporter{width:220px}.cn-header .cn-exporter input{color:var(--text,#dce4eb);background:var(--cn-panel)}
@media(max-width:600px){.cn-header .cn-exporter{width:auto;flex:1 1 100%}.cn-header>button{flex:1 1 100%}}
