:root{--color-royal: #003594;--color-royal-dark: #00205b;--color-gold: #ffb81c;--color-text: #1c1c1c;--color-text-muted: #4f5359;--color-bg: #ffffff;--color-surface: #f3f4f6;--color-border: #6e7178;--color-error: #a4161a;--color-error-bg: #fbe9ea;--color-success: #1d6b38;--color-success-bg: #e7f3eb;--color-warning-text: #4d3800;--color-warning-bg: #fff3d1;--color-info-bg: #e8eef8;--color-selected-bg: #dce5f5;--color-on-royal: #ffffff;--color-focus: #003594;--color-focus-on-royal: #ffb81c;--font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--font-size: 1rem;--font-size-small: .875rem;--line-height: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius: 4px;--focus-width: 2px;--focus-offset: 2px;--target-min: 24px;--content-max: 80rem}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-family);font-size:100%;line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-width:0;overflow-wrap:break-word}h1,h2,h3{line-height:1.25;margin:0 0 var(--space-3)}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}h1:focus{outline:none}h1:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}p{margin:0 0 var(--space-3)}a{color:var(--color-royal);text-decoration:underline;text-underline-offset:.15em}a:hover{color:var(--color-royal-dark)}:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}button,input,select,textarea{font:inherit;color:inherit}button,select,input[type=checkbox],input[type=radio],input[type=file]{min-height:var(--target-min);min-width:var(--target-min)}input[type=file]{max-width:100%}input[type=checkbox],input[type=radio]{accent-color:var(--color-royal);margin:0}input[type=text],input[type=date],input[type=search],input[type=number],input:not([type]),select,textarea{min-height:2.25rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);max-width:100%}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-error);border-width:2px}textarea{width:100%;min-height:5rem}table{border-collapse:collapse}pre{font-family:var(--font-mono);font-size:var(--font-size-small);white-space:pre;margin:0}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.unsupported{max-width:40rem;margin:var(--space-6) auto;padding:0 var(--space-4)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.app{min-height:100vh;display:flex;flex-direction:column}.skip-link{position:absolute;left:var(--space-2);top:-10rem;z-index:10;padding:var(--space-2) var(--space-3);background:var(--color-bg);color:var(--color-royal);border:var(--focus-width) solid var(--color-focus)}.skip-link:focus{top:var(--space-2)}.app-header{background:var(--color-royal);color:var(--color-on-royal);border-bottom:4px solid var(--color-gold)}.app-header-inner{max-width:var(--content-max);margin:0 auto;padding:var(--space-3) var(--space-4);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5)}.app-header a,.app-header .app-name{color:var(--color-on-royal)}.app-header :focus-visible{outline-color:var(--color-focus-on-royal)}.app-name{font-weight:700;font-size:1.25rem;text-decoration:none}.app-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.app-nav a{display:inline-block;min-height:var(--target-min);padding:var(--space-1) 0}.app-user{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.app-user-email{overflow-wrap:anywhere}.app-main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-6)}.app-main:focus{outline:none}.renewal-warning{max-width:var(--content-max);margin:var(--space-3) auto 0;padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);color:var(--color-text);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.renewal-warning p{margin:0}.page-narrow{max-width:44rem}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.page-heading{overflow-wrap:anywhere}.breadcrumb{margin:0 0 var(--space-1)}.batch-status{color:var(--color-text-muted);margin:0}.panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);margin:var(--space-4) 0;background:var(--color-surface)}.panel h2,.panel h3{margin-top:0}.empty-state{padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius)}.hint,.field-hint{color:var(--color-text-muted);font-size:var(--font-size-small)}.status-text{font-weight:600}.block{display:block;margin-top:var(--space-1)}.account{font-family:var(--font-mono)}.error-page{max-width:44rem;margin:var(--space-6) auto;padding:0 var(--space-4)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:2.25rem;min-width:var(--target-min);padding:var(--space-1) var(--space-3);border:1px solid var(--color-royal);border-radius:var(--radius);background:var(--color-bg);color:var(--color-royal);font-weight:600;cursor:pointer;text-align:center}.button:hover{background:var(--color-info-bg)}.button-primary{background:var(--color-royal);color:var(--color-on-royal)}.button-primary:hover{background:var(--color-royal-dark)}.button-on-royal{background:var(--color-royal);color:var(--color-on-royal);border-color:var(--color-on-royal)}.button-on-royal:hover{background:var(--color-royal-dark)}.button-small{min-height:var(--target-min);padding:0 var(--space-2);font-size:var(--font-size-small)}.button:disabled{cursor:not-allowed;opacity:1;background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.button-link{min-height:var(--target-min);padding:0;border:0;background:none;color:var(--color-royal);text-decoration:underline;text-align:left;cursor:pointer;font:inherit}.button-link:hover{color:var(--color-royal-dark)}.button-group{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.save-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}.save-bar-status{color:var(--color-text-muted)}.notice{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-left:6px solid var(--color-border);border-radius:var(--radius);background:var(--color-info-bg);color:var(--color-text)}.notice-info{border-left-color:var(--color-royal)}.notice-warning{background:var(--color-warning-bg);border-left-color:var(--color-warning-text)}.notice-error{background:var(--color-error-bg);border-left-color:var(--color-error)}.notice-success{background:var(--color-success-bg);border-left-color:var(--color-success)}.notice-prefix{margin-right:var(--space-1)}.error-summary{margin:var(--space-3) 0 var(--space-4);padding:var(--space-3) var(--space-4);border:2px solid var(--color-error);border-radius:var(--radius);background:var(--color-bg)}.error-summary-title{font-size:1.125rem;color:var(--color-error)}.error-summary ul{margin:0;padding-left:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4);max-width:36rem}.field-inline{margin-bottom:0}.field-label{font-weight:600}.field-required{font-weight:400;color:var(--color-text-muted)}.field-error{color:var(--color-error);font-weight:600}.field-error:before{content:"Error: "}.field-warning{color:var(--color-warning-text);background:var(--color-warning-bg);padding:var(--space-1) var(--space-2);border-radius:var(--radius)}.field-checkbox{flex-direction:row;align-items:center;gap:var(--space-2)}.field-readonly .field-value{padding:var(--space-1) 0;overflow-wrap:anywhere}.field-empty{color:var(--color-text-muted);font-style:italic}.field-group{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);align-items:flex-start}.fieldset{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4);min-width:0}.fieldset legend{font-weight:600;padding:0 var(--space-1)}.derived{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:var(--space-5) 0 var(--space-4)}.derived dt{font-weight:600}.derived dd{margin:0}.template-link{margin-top:var(--space-4)}.tablist{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.tab{min-height:2.5rem;padding:var(--space-2) var(--space-4);border:1px solid transparent;border-bottom:0;border-radius:var(--radius) var(--radius) 0 0;background:var(--color-surface);color:var(--color-text);cursor:pointer;font-weight:600}.tab[aria-selected=true]{background:var(--color-selected-bg);color:var(--color-royal);border-color:var(--color-border);box-shadow:inset 0 -3px 0 var(--color-royal)}.tab-marker{font-weight:700}.tabpanel{padding:var(--space-4) 0}.combobox{position:relative;max-width:28rem}.combobox input{width:100%}.combobox-list{position:absolute;z-index:5;left:0;right:0;max-height:16rem;overflow-y:auto;margin-top:2px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.combobox-option{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-3);cursor:pointer}.combobox-option.is-active,.combobox-option:hover{background:var(--color-selected-bg);outline:var(--focus-width) solid var(--color-focus);outline-offset:-2px}.combobox-detail{color:var(--color-text-muted);font-size:var(--font-size-small)}.combobox-empty{padding:var(--space-2) var(--space-3);color:var(--color-text-muted)}.dialog{width:min(36rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text)}.dialog::backdrop{background:#0000007f}.dialog-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.steps-list{list-style:none;margin:var(--space-4) 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.step a,.step-unavailable{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius)}.step a{background:var(--color-bg)}.step.is-current a{background:var(--color-selected-bg);color:var(--color-royal);font-weight:700;border:2px solid var(--color-royal)}.step-unavailable{background:var(--color-surface);color:var(--color-text-muted)}.step-number{font-weight:700}.step-reason{font-size:var(--font-size-small)}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3) var(--space-4);margin:var(--space-3) 0 var(--space-4)}.filters-actions{display:flex;gap:var(--space-3);align-items:center}.table-scroll{max-width:100%;overflow-x:auto}.data-table{width:100%;min-width:40rem}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.data-table thead th{background:var(--color-surface)}.numeric{text-align:right!important;font-variant-numeric:tabular-nums}.row-note{margin:var(--space-1) 0 0;font-size:var(--font-size-small);color:var(--color-warning-text);background:var(--color-warning-bg);padding:var(--space-1) var(--space-2)}.progress{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-3) 0;max-width:36rem}.progress progress{width:100%;height:1rem;accent-color:var(--color-royal)}.progress-label{font-weight:600}.upload-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.upload-row .field{margin-bottom:0;min-width:0}.totals{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.totals-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin:0}.totals-list dt{font-size:var(--font-size-small);color:var(--color-text-muted)}.totals-list dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.totals-list .is-unbalanced dd{color:var(--color-error)}.out-of-balance,.totals-problem{margin:var(--space-2) 0 0;color:var(--color-error)}.totals-note{margin:var(--space-2) 0 0}.grid-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin:var(--space-3) 0}.goto{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.goto-input{width:6rem}.grid-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius)}.grid{display:table;border-collapse:collapse;min-width:78rem;width:100%}.grid-row{display:table-row}.grid-cell{display:table-cell;padding:0;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);vertical-align:top}.grid-head-cell{padding:var(--space-2);background:var(--color-surface);font-weight:700;font-size:var(--font-size-small);white-space:nowrap}.grid-cell-line{width:4.5rem;padding:var(--space-1) var(--space-2);background:var(--color-surface);font-variant-numeric:tabular-nums;white-space:nowrap}.grid-cell-text,.grid-cell-status{padding:var(--space-1) var(--space-2);min-height:2rem}.grid-cell-entity{width:3.5rem}.grid-cell-department,.grid-cell-purpose,.grid-cell-reference,.grid-cell-future{width:5rem}.grid-cell-subcode{width:4.5rem}.grid-cell-project{width:5.5rem}.grid-cell-debit,.grid-cell-credit{width:8.5rem}.grid-cell-description{min-width:14rem}.grid-cell-status{min-width:14rem;font-size:var(--font-size-small)}.grid-input{display:block;width:100%;min-height:2rem;padding:var(--space-1) var(--space-2);border:0;border-radius:0;background:transparent;font-variant-numeric:tabular-nums}.grid-cell-debit .grid-input,.grid-cell-credit .grid-input{text-align:right}.grid-input:focus-visible,.grid-input:focus,.grid-cell[tabindex]:focus{outline:var(--focus-width) solid var(--color-focus);outline-offset:-2px;background:var(--color-selected-bg)}.grid-row.has-errors .grid-cell-line{box-shadow:inset 4px 0 0 var(--color-error)}.grid-input[aria-invalid=true]{box-shadow:inset 0 -2px 0 var(--color-error)}.pending-mark{margin-left:var(--space-1);font-weight:700}.cell-error{display:block;color:var(--color-error)}.cell-outcome{display:block}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin:var(--space-3) 0}.filter-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.filter-buttons .button[aria-pressed=true]{background:var(--color-royal);color:var(--color-on-royal)}.error-list{padding-left:var(--space-5)}.error-list li{margin-bottom:var(--space-2)}.error-list li .button-small{margin-left:var(--space-2)}.unverified{margin-top:var(--space-4)}.summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--space-3) var(--space-5);margin:var(--space-4) 0}.summary dt{font-size:var(--font-size-small);color:var(--color-text-muted)}.summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}.acknowledgement ul{margin-top:0}.report-scroll{max-width:100%;max-height:32rem;overflow:auto;margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.control-report h4{margin:var(--space-4) 0 var(--space-2)}@media(max-width:40rem){.app-main{padding:var(--space-4) var(--space-3) var(--space-5)}.app-user{margin-left:0}h1{font-size:1.5rem}.tab{padding:var(--space-2) var(--space-3)}.panel{padding:var(--space-3)}}
