/* Finance layout using the original News brand, typography and 38px icon controls. */
:root{--news-background:#fff;--news-text:#101828;--news-title:#101828;--news-border:#e5e7eb;--news-active-border:#000;--news-muted-text:#667085;--news-section-text:#475467}
html[data-theme=dark]{--news-background:#000;--news-text:#e5e7eb;--news-title:#fff;--news-border:#334155;--news-active-border:#fff;--news-muted-text:#94a3b8;--news-section-text:#cbd5e1;color-scheme:dark}
*::-webkit-scrollbar{width:14px;height:14px;background:var(--news-background)}
*::-webkit-scrollbar-track{background:var(--news-background);border:1px solid var(--news-border);border-radius:8px}
*::-webkit-scrollbar-thumb{background:var(--news-muted-text);border:3px solid var(--news-background);border-radius:8px}
*::-webkit-scrollbar-thumb:hover{background:var(--news-text)}
/* The scrollbar intersection is spacing, not a control. */
*::-webkit-scrollbar-corner{background:transparent;border:0;border-radius:0;box-shadow:none}
*::-webkit-scrollbar-button{display:none;width:0;height:0}
@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--news-muted-text) var(--news-background)}}
main{width:100%;max-width:none;padding:38px clamp(16px,1vw,24px)}header{min-height:72px}header nav{flex-wrap:wrap}.brand{display:flex;align-items:center;gap:16px}.brand img{width:145px;max-height:44px;object-fit:contain}.brand-dark{display:none}html[data-theme=dark] .brand-light{display:none}html[data-theme=dark] .brand-dark{display:block}
.panel{border:1px solid var(--news-border);border-radius:14px;padding:26px;margin:20px 0;overflow:hidden;background:var(--news-background)}.panel form{display:grid;gap:16px}.panel h2{margin-top:0}.panel button{width:fit-content;cursor:pointer}.login{max-width:480px;margin:5vh auto}.notice{border:1px solid var(--news-border);border-radius:8px;padding:14px}.json-editor{width:100%;font:14px/1.5 Consolas,monospace}.nav-button{display:inline-flex;align-items:center;padding:10px 15px;color:var(--news-text);text-decoration:none}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--news-border);white-space:nowrap}.log{font:12px/1.6 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:70vh;overflow:auto}header form{margin:0}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none}
@media(max-width:800px){main{padding:24px 16px}.panel{padding:18px}.brand img{width:110px}header nav{width:auto}}
/* Keep the original logo and separator; replace its embedded NEWS suffix with live type. */
header .brand{--brand-height:32px;gap:calc(var(--brand-height) * 73 / 291);letter-spacing:0;color:var(--news-title);flex:none}
header .brand-mark{display:block;position:relative;width:calc(var(--brand-height) * 1555 / 291);height:var(--brand-height);overflow:hidden;flex:none}
header .brand-mark img{width:calc(var(--brand-height) * 1970 / 291);height:var(--brand-height);max-width:none;max-height:none;object-fit:contain}
header .brand-name{font-family:Roboto,Arial,sans-serif;font-weight:300;font-size:calc(var(--brand-height) * 128 / 291);line-height:1;letter-spacing:0;white-space:nowrap;transform:translateY(calc(var(--brand-height) * -4 / 291))}
@media(max-width:800px){header .brand{--brand-height:28px}}
/* Shared navigation stays visible on every page and at every viewport width. */
body>header{position:sticky;top:0;z-index:40;background:var(--news-background)}
/* Focus rings are opt-in; data-focus-ring restores the normal focus styling. */
html body :focus:not([data-focus-ring]),
html body :focus-visible:not([data-focus-ring]),
html body input:focus-visible:not([data-focus-ring])+span{outline:none!important;box-shadow:none!important}

/* Keep both scrollbar lanes stable, including when their contents fit. */
html{overflow-y:auto;scrollbar-gutter:stable}
[data-scrollbar-x]{overflow-x:scroll!important}
[data-scrollbar-y]{overflow-y:scroll!important;scrollbar-gutter:stable}
[data-scrollbar-x="empty"]::-webkit-scrollbar:horizontal,
[data-scrollbar-x="empty"]::-webkit-scrollbar-track:horizontal,
[data-scrollbar-x="empty"]::-webkit-scrollbar-thumb:horizontal,
[data-scrollbar-y="empty"]::-webkit-scrollbar:vertical,
[data-scrollbar-y="empty"]::-webkit-scrollbar-track:vertical,
[data-scrollbar-y="empty"]::-webkit-scrollbar-thumb:vertical{background:transparent;border-color:transparent;box-shadow:none}
[data-scrollbar-x="empty"][data-scrollbar-y="empty"]::-webkit-scrollbar-corner{background:transparent;border-color:transparent}
@supports not selector(::-webkit-scrollbar){[data-scrollbar-x="empty"]:not([data-scrollbar-y="needed"]),[data-scrollbar-y="empty"]:not([data-scrollbar-x="needed"]){scrollbar-color:transparent transparent}}

/* Full-window views scroll inside their tables, never on the document itself. */
html:has(>body.distribution-page){overflow:hidden!important;scrollbar-gutter:auto}

/* Keep vertical table scroll tracks below their measured column headings. */
[data-scrollbar-header][data-scrollbar-y]::-webkit-scrollbar-track:vertical{margin-top:var(--scrollbar-header-height,0px)}

/* Three dots distinguish draggable area boundaries from scrollbars. */
:root :is(.account-overview-splitter,.article-layout-splitter,.plan-layout-splitter,.forecast-layout-splitter,.maintenance-pair-splitter,.calculation-splitter)>span{display:block;flex:none;width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:calc(0px - var(--area-grip-x,8px)) calc(0px - var(--area-grip-y,0px)) 0 currentColor,var(--area-grip-x,8px) var(--area-grip-y,0px) 0 currentColor}
:is(.account-overview-splitter,.article-layout-splitter,.plan-layout-splitter,.forecast-layout-splitter,.maintenance-pair-splitter,.calculation-splitter)[aria-orientation=vertical]{--area-grip-x:0px;--area-grip-y:8px}

.tab-visibility-cell input[role=switch]{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:42px!important;min-width:42px;height:24px!important;min-height:24px;padding:2px;margin:0;border:1px solid #64748b!important;border-radius:999px;background:#39434c!important;cursor:pointer}
.tab-visibility-cell input[role=switch]::before{content:"";display:block;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s}
.tab-visibility-cell input[role=switch]:checked{background:#00a86b!important;border-color:#00c97b!important}
.tab-visibility-cell input[role=switch]:checked::before{transform:translateX(16px)}
.tab-visibility-cell input[role=switch]:focus-visible{outline:2px solid #22bafa;outline-offset:3px}
