:root{--paper:#f3f6f8;--surface:#fff;--ink:#10263b;--muted:#526373;--line:#7d8e9b;--accent:#176452;--accent-dark:#0c493d;--danger:#982f32;--signal:#855000;--focus:#075fc7;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--radius:.5rem}
.source-operation a{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius);max-width:100%}
.warning{color:var(--signal);border-inline-start:3px solid var(--signal);padding-inline-start:var(--space-2)}
.data-panel{margin-block:var(--space-4)}.source-operation{padding-block:var(--space-2);border-block-start:1px solid var(--line)}.pending{padding:var(--space-2);border:2px solid var(--signal);border-radius:var(--radius);margin-block:var(--space-2)}
.login-panel{max-width:480px;margin:var(--space-4) auto}.login-panel form{display:grid;gap:var(--space-2)}[hidden]{display:none!important}
fieldset{border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin-block:var(--space-2);padding:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}legend{font-weight:600}label{display:grid;gap:var(--space-1);font-size:.9rem}input,select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:44px;max-width:100%;width:100%;padding:.6rem}.check{display:flex;align-items:center;gap:var(--space-1)}.check input{width:24px;min-height:24px;height:24px;flex-shrink:0}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.settings-panel{margin-block:var(--space-2)}
*{box-sizing:border-box}html{color-scheme:light;background:var(--paper)}body{margin:0;color:var(--ink);font:1rem/1.55 "Segoe UI Variable","Segoe UI",sans-serif;overflow-wrap:anywhere}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;min-height:44px;border:1px solid var(--accent);border-radius:var(--radius);padding:.7rem 1.25rem;background:var(--accent);color:var(--surface);font-weight:600}button:hover{background:var(--accent-dark)}button:disabled{background:#e3eaf0;color:#526373;border-color:#7d8e9b;cursor:wait}a{color:var(--accent-dark);text-underline-offset:.2em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip-link{position:absolute;top:-100px;left:1rem;padding:1rem;background:var(--surface);z-index:10}.skip-link:focus{top:1rem}header{background:var(--ink);color:white;padding:var(--space-3) max(var(--space-2),calc((100% - 1120px)/2));display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}header p{margin:0;color:#dce6e9;font-size:.9rem}.brand{font-size:1.25rem;font-weight:700}.brand span{color:#b9d8cf}.local{margin-inline-start:auto;font-size:.8rem;color:#dce6e9;border:1px solid #7d8e9b;border-radius:var(--radius);padding:.3rem .6rem}main{max-width:1120px;margin:auto;padding:var(--space-4) var(--space-2)}.intro{margin-bottom:var(--space-4)}.eyebrow{color:var(--accent-dark);font-weight:600;margin:0 0 var(--space-1)}h1{font-size:clamp(1.75rem,2.7vw,2.5rem);line-height:1.2;margin:0 0 var(--space-2);letter-spacing:-.025em}h2{font-size:1.25rem;line-height:1.3;margin:0 0 var(--space-2)}h3{font-size:1rem;margin:0}p{max-width:75ch}.intro>p:last-child,.hint,.action p{color:var(--muted)}.source{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);background:var(--surface)}dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:var(--space-3);margin:var(--space-3) 0}dl div{min-width:0}dt{font-size:.85rem;color:var(--muted)}dd{margin:0;font-size:1.1rem;font-weight:600}.hint{font-size:.9rem;margin-bottom:0}.action{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center;margin-block:var(--space-3)}.action p{margin:0;font-size:.9rem}.notice{min-height:1.55em;white-space:pre-wrap}.notice.error{color:var(--danger)}.section-heading{display:flex;gap:var(--space-2);justify-content:space-between;align-items:center;flex-wrap:wrap;margin-block:var(--space-3)}.section-heading h2{margin:0}.secondary{background:var(--surface);color:var(--accent-dark)}.secondary:hover{background:#e3eaf0}.empty{border:1px dashed var(--line);padding:var(--space-4);border-radius:var(--radius);color:var(--muted)}.job{border-block-start:1px solid var(--line);padding-block:var(--space-3)}.job-head{display:flex;gap:var(--space-2);justify-content:space-between;align-items:start;flex-wrap:wrap}.job small{color:var(--muted)}.status{font-size:.9rem;font-weight:600;color:var(--accent-dark)}.status.failed,.status.interrupted{color:var(--danger)}.status.running,.status.queued{color:var(--signal)}.files{display:grid;gap:var(--space-1);margin-block:var(--space-2)}.files a{display:block;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:44px}.log{max-height:280px;overflow:auto;white-space:pre-wrap;background:var(--ink);color:#dce6e9;padding:var(--space-2);border-radius:var(--radius);font: .8rem/1.6 Consolas,monospace}summary{cursor:pointer;padding:.6rem 0;min-height:44px}footer{max-width:1120px;margin:auto;padding:var(--space-3) var(--space-2);color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}@media(max-width:480px){.action button{width:100%}.local{margin-inline-start:0}.empty{padding:var(--space-3)}}

.backup-hash{overflow-wrap:anywhere}
#today-dates{border-block-start:1px solid var(--line);padding-block-start:var(--space-2)}#today-dates dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-block:var(--space-2)}#today-dates dd{font-size:1rem}
.technical-settings{margin-block-start:var(--space-2);color:var(--muted);font-size:.875rem;font-weight:400}.technical-settings p{margin-block:.4rem;font-weight:400}.technical-settings .hint{font-size:inherit}
.source-flow-stages{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0}.source-flow-stages li{flex:1 1 210px;min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2)}.source-flow-stages button{width:100%;text-align:start}#source-flow{margin-block:var(--space-3)}

.workspace-nav{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-block-end:var(--space-3)}.workspace-nav a{min-height:44px;padding:.6rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.workspace-nav a[aria-current="page"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.table-region{max-width:100%;overflow:auto;min-width:0}.table-region table{border-collapse:collapse}.table-region th,.table-region td{padding:var(--space-1);border:1px solid var(--line);text-align:start}.table-region:focus-visible{outline:3px solid var(--focus)}iframe{display:block;max-width:100%;width:100%;min-height:500px;border:1px solid var(--line)}[data-screen]{min-width:0}.status.cancelled{color:var(--muted)}

.guide-links{display:flex;gap:var(--space-2);flex-wrap:wrap}.guide-links a{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.scenario-description{margin:0;align-self:center;border-inline-start:3px solid var(--accent);padding-inline-start:var(--space-2)}#calculation-kind{background:var(--surface)}#custom-items{resize:vertical}#screen-tools>details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2);margin-block:var(--space-3)}

/* Workspace hierarchy: one task per section, details stay near their object. */
.workspace-nav{margin-block-end:var(--space-1)}.workspace-utility{display:flex;gap:var(--space-3);margin-block-end:var(--space-3)}.workspace-utility a,.help-action{display:inline-flex;align-items:center;min-height:44px}.workspace-section,.workspace-details{margin-block:var(--space-3)}.workspace-details>summary{font-weight:600}.work-journey{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;list-style-position:inside;border-block:1px solid var(--line);color:var(--muted)}.home-readiness{padding-block:var(--space-3)}.home-readiness>a{margin-inline-start:var(--space-2)}.home-release{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);padding-block:var(--space-2);border-block-start:1px solid var(--line)}.home-release p{margin:0}.home-release button{grid-column:2;grid-row:1/3}.source-current{padding-block:var(--space-2);border-block:1px solid var(--line)}.quality-issue{padding-block:var(--space-2);border-block-start:1px solid var(--line)}.quality-issue p{margin-block:var(--space-1)}.selected-release{padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-block:var(--space-3)}.release-navigation{display:flex;gap:var(--space-1);flex-wrap:wrap;border-block-end:1px solid var(--line);padding-block-end:var(--space-2)}.release-navigation button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.release-documents{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:var(--space-3)}.release-documents .job{min-width:0;padding-block:var(--space-2)}.release-documents .job h3{overflow-wrap:anywhere}.release-documents .files a{display:inline-flex}.release-filters{align-items:end}.technical-settings summary{color:var(--ink)}.compact a{border:0;background:transparent;padding:.3rem 0}.intro{margin-bottom:var(--space-2)}.scenario-description,.warning{border-inline-start-width:1px}#screen-admin>details,#screen-admin>#backups-panel{border-block-start:1px solid var(--line);margin-block:var(--space-3);padding-block:var(--space-2)}#source-connections-workspace{margin-block:var(--space-3)}::selection{background:#cbe4db;color:var(--ink)}input,select,textarea{caret-color:var(--accent)}.status{font-variant-numeric:tabular-nums}
@media(max-width:600px){header{padding:var(--space-2)}header p{display:none}main{padding-block:var(--space-2)}.workspace-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-nav a{padding:.6rem .75rem}.home-release{grid-template-columns:1fr}.home-release button{grid-column:auto;grid-row:auto;justify-self:start}.selected-release{padding:var(--space-2)}.release-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.release-navigation button{padding:.6rem}.work-journey{font-size:.875rem;gap:var(--space-1) var(--space-2)}.guide-links.compact{gap:var(--space-2)}.release-documents{grid-template-columns:1fr}.home-readiness>a{display:block;margin-inline-start:0;min-height:44px;padding-block:var(--space-1)}}
#screen-calculation{padding-bottom:150px}#screen-calculation:not([hidden]) .calculation-action{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(1120px,100%);padding:var(--space-2);margin:0;background:var(--surface);border-block-start:1px solid var(--line)}#screen-calculation input,#screen-calculation select,#screen-calculation textarea,#screen-calculation summary{scroll-margin-block:var(--space-3) 160px}#preview-panel{scroll-margin-bottom:160px}#screen-calculation .calculation-action p{max-width:55ch}@media print{.calculation-action{position:static!important;transform:none!important}#screen-calculation{padding-bottom:0}}
#workspace-menu{margin:0}#workspace-menu>summary{display:none}@media(max-width:600px){#workspace-menu>summary{display:list-item;font-weight:600}header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1)}header .brand{font-size:1.125rem}header .local{grid-column:1;grid-row:2;margin:0;padding:0;border:0;font-size:.75rem}header #logout{grid-column:2;grid-row:1/3}.workspace-utility{margin-block-end:var(--space-2)}#workspace-menu .workspace-nav{margin-bottom:var(--space-2)}}
.workspace-utility{flex-wrap:wrap;gap:var(--space-1) var(--space-3)}.help-steps li{padding-block:var(--space-2)}.help-steps p{margin-block:var(--space-1)}
.source-dashboard{margin-block:var(--space-3);padding-block:var(--space-2);border-block:1px solid var(--line)}.source-progress{padding-inline-start:1.5rem}.source-progress>li{padding-block:var(--space-1)}.source-progress p{margin:0}.source-progress ol{padding-inline-start:1.25rem;font-size:.9rem}.source-dates{max-width:100%;overflow-x:auto}.source-dates table{border-collapse:collapse;width:100%;font-size:.9rem}.source-dates th,.source-dates td{padding:var(--space-1);text-align:start;vertical-align:top;border-block-end:1px solid var(--line)}.source-dates button{padding:.5rem;min-height:44px}#source-flow>h3{font-size:1.25rem}#source-flow>.action{margin-block:var(--space-2)}
.source-dates table{min-width:680px}.source-dates:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.source-dates th[scope=row]{min-inline-size:7rem;overflow-wrap:normal}.source-dates th[scope=col]{overflow-wrap:normal}.source-dates td:nth-child(3),.source-dates td:nth-child(5){min-inline-size:9rem}

.source-chain-total{font-weight:600;margin-block:var(--space-2)}.source-progress{margin-block:var(--space-2);padding-inline-start:1.75rem}.source-progress>li{padding-block:var(--space-1);border-block-start:1px solid var(--line)}.source-progress>li::marker{font-variant-numeric:tabular-nums}.source-step-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,auto);gap:var(--space-1) var(--space-2);align-items:baseline;overflow-wrap:anywhere}.source-step-label{display:flex;gap:var(--space-1);flex-wrap:wrap;align-items:baseline}.source-step-state{font-weight:600;color:var(--accent)}.source-step-duration{font-size:.9rem;text-align:end;color:var(--muted);font-variant-numeric:tabular-nums}.source-progress li[data-state=failed]>.source-step-heading .source-step-state,.source-progress li[data-state=interrupted]>.source-step-heading .source-step-state{color:var(--danger)}.source-progress li[data-state=pending]>.source-step-heading .source-step-state{color:var(--muted)}.source-progress>li[aria-current=step]{border-inline-start:3px solid var(--accent);padding-inline-start:var(--space-1);background:var(--paper)}.source-progress details>summary{min-height:44px;padding-block:var(--space-1);cursor:pointer}.source-progress details ol>li{padding-block:var(--space-1)}@media(max-width:640px){.source-step-heading{grid-template-columns:minmax(0,1fr)}.source-step-duration{min-width:0;text-align:start}.source-progress{padding-inline-start:1.5rem}}
