/* Shared components extend the approved register palette throughout the portal. */
.register-workspace {
    --portal-danger: light-dark(#a13d36, #f0a49d);
    --portal-danger-bg: light-dark(#fff1ef, #432e30);
    --portal-success: light-dark(#35775a, #95ccb0);
    --portal-success-bg: light-dark(#eef7f1, #273e36);
    --portal-warning-bg: light-dark(#fff6e6, #403925);
    --portal-blue: light-dark(#527fa5, #8fb7db);
    --portal-purple: light-dark(#846a9e, #c1a4db);
    --portal-track: light-dark(#e6eef0, #344c55);
    --portal-top: light-dark(#102f39, #0c2028);
    --dark: var(--portal-top);
}
.register-workspace a { color: var(--register-teal); }
.register-workspace .portal-brand, .portal-auth-theme .brand.light { color: #f0f7f9; }
.register-workspace summary:focus-visible, .register-workspace [role=region]:focus-visible { outline: 2px solid var(--register-teal); outline-offset: 3px; }
.register-workspace .back-link, .register-workspace .reset-link, .register-workspace .subtle-link { color: var(--register-secondary); }
.register-workspace input:focus, .register-workspace select:focus, .register-workspace textarea:focus { border-color: var(--register-teal) !important; outline-color: color-mix(in srgb, var(--register-teal) 30%, transparent); }
.register-workspace .portal-project-context { margin: 22px 0 12px; padding-top: 16px; border-color: var(--register-line); }
.register-workspace .portal-project-context strong, .register-workspace .portal-project-context > span:last-child { padding-left: 8px; padding-right: 8px; color: var(--register-ink); }
.register-workspace .portal-project-context strong { color: var(--register-teal); font-size: 11px; }
.register-workspace .portal-project-context > span:last-child { font-size: 12px; font-weight: 500; line-height: 1.5; }
.register-workspace .portal-project-nav .project-tabs { gap: 3px; }
.register-workspace .portal-project-nav .project-tabs a { padding: 9px 8px 9px 13px; font-size: 11px; color: var(--register-secondary); border-color: transparent; }
.register-workspace .portal-project-nav .project-tabs a:hover { background: var(--register-hover); }
.register-workspace .portal-project-nav .project-tabs a[aria-current=page] { color: var(--register-teal); background: var(--register-active); border-color: var(--register-teal); }
.register-workspace .portal-breadcrumb { flex-wrap: wrap; overflow-wrap: anywhere; }
.register-workspace .project-context-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.register-workspace .workspace .page-heading, .register-workspace .project-heading { margin-bottom: 16px; gap: 14px; }
.register-workspace .workspace .page-heading h1, .register-workspace .project-heading h1, .register-workspace .project-heading.project-heading-compact h1 { margin: 0; font-size: 21px; font-weight: 600; line-height: 1.35; letter-spacing: -.4px; color: var(--register-ink); }
.register-workspace .workspace .page-heading p { color: var(--register-secondary); font-size: 12px; }
.register-workspace .workspace .section-title { gap: 12px; margin: 20px 0 10px; }
.register-workspace .workspace .section-title h2 { font-size: 16px; font-weight: 600; color: var(--register-ink); }
.register-workspace .workspace .section-title h3 { font-size: 13px; font-weight: 600; color: var(--register-ink); }
.register-workspace .workspace .section-title > span, .register-workspace .table-tools, .register-workspace .estimate-note, .register-workspace .panel-intro, .register-workspace .source-note, .register-workspace .chart-note { color: var(--register-secondary); font-size: 11px; line-height: 1.6; }
.register-workspace .workspace-unit-toolbar { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin: 0 0 12px; color: var(--register-secondary); font-size: 11px; }
.register-workspace .workspace-unit-toolbar .register-units { margin-left: 0; }
.portal-app-theme:has(table [data-register-money]) [data-register-global-units][hidden] { display: flex !important; }
.register-workspace .workspace .panel, .register-workspace .project-basic-panel, .register-workspace .fact-panel, .register-workspace .chart-panel, .register-workspace .contract-panel { background: var(--register-paper); color: var(--register-ink); border: 1px solid var(--register-line); border-radius: 6px; box-shadow: none; }
.register-workspace .workspace .panel { padding: 16px 18px; }
.register-workspace .project-basic-panel > header, .register-workspace .fact-panel > header, .register-workspace .chart-panel > header { padding: 11px 16px; border-color: var(--register-line); background: var(--register-head); }
.register-workspace .project-basic-panel h2, .register-workspace .fact-panel h2, .register-workspace .chart-panel h2 { color: var(--register-ink); font-size: 13px; font-weight: 600; }
.register-workspace .project-heading-code, .register-workspace .project-heading-compact .project-heading-code { border-color: var(--register-line); background: var(--register-head); color: var(--register-secondary); }
.register-workspace .project-basic-fields, .register-workspace .project-facts { padding: 14px 16px; gap: 14px 24px; }
.register-workspace .project-basic-fields dt, .register-workspace .project-facts dt, .register-workspace .detail-grid dt { color: var(--register-secondary); font-size: 11px; }
.register-workspace .project-basic-fields dd, .register-workspace .project-facts dd, .register-workspace .detail-grid dd { color: var(--register-ink); font-size: 13px; line-height: 1.6; }
.register-workspace .project-basic-fields .project-basic-description, .register-workspace .project-facts .full-width, .register-workspace .contract-body { border-color: var(--register-line); }
.register-workspace .source-balance-strip, .register-workspace .allocation-balance { background: var(--register-head); border-color: var(--register-line); }
.register-workspace .source-balance-strip dt, .register-workspace .allocation-balance dt { color: var(--register-secondary); font-size: 11px; }
.register-workspace .source-balance-strip dd, .register-workspace .allocation-balance dd { color: var(--register-ink); font-size: 13px; }
.register-workspace .source-balance-strip small, .register-workspace .allocation-balance p { color: var(--register-warning); }
.register-workspace .filters { background: var(--register-paper); border-color: var(--register-line); box-shadow: none; border-radius: 6px; padding: 14px 16px; }
.register-workspace .filters label { font-weight: 400; }
.register-workspace .filters > div:not(.search-field) { min-width: 120px; }
.register-workspace .section-links { border-color: var(--register-line); gap: 22px; }
.register-workspace .section-links a, .register-workspace .section-links span, .register-workspace .table-tools p { color: var(--register-secondary); }
.register-workspace .register-wrapper, .register-workspace .table-scroll { background: var(--register-paper); border-color: var(--register-line); max-width: 100%; overflow-x: auto; }
.register-workspace .workspace table:not(.comparison-table) { color: var(--register-ink); font-size: 12.5px; }
.register-workspace .workspace table:not(.comparison-table) th, .register-workspace .workspace table:not(.comparison-table) td { height: 35px; padding: 5px 10px; border-color: var(--register-line); font-size: 12.5px; line-height: 1.5; vertical-align: middle; }
.register-workspace .workspace .register-wrapper th, .register-workspace .workspace .register-wrapper td { padding: 5px 10px !important; }
.register-workspace .workspace table:not(.comparison-table) thead th { background: var(--register-head); color: var(--register-secondary); font-size: 11px; font-weight: 400; text-transform: none; letter-spacing: 0; white-space: normal; }
.register-workspace .workspace table:not(.comparison-table) tbody th { background: var(--register-paper); color: var(--register-ink); font-weight: 500; }
.register-workspace .workspace table:not(.comparison-table) tbody tr { background: var(--register-paper); }
.register-workspace .workspace table:not(.comparison-table) tbody tr:hover > * { background: var(--register-hover); }
.register-workspace .workspace table:not(.comparison-table) tfoot > tr > * { background: var(--register-total); font-weight: 600; border-top: 1px solid var(--register-line); }
.register-workspace .workspace table:not(.comparison-table) .numeric { font-variant-numeric: tabular-nums; white-space: nowrap; }
.register-workspace .register-table .entity-name { min-width: 200px; max-width: 350px; }
.register-workspace .entity-name strong { color: var(--register-ink); font-weight: 500; }
.register-workspace table small, .register-workspace .entity-name small { color: var(--register-secondary); font-size: 11px; line-height: 1.5; margin-top: 3px; }
.register-workspace table .button { min-height: 24px; padding: 3px 7px; margin: 0 4px 0 0; font-size: 11px; }
.register-workspace table .actions { white-space: nowrap; }
.register-workspace table strong { font-weight: 500; }
.register-workspace .table-status { white-space: nowrap; }
.register-workspace .table-inline-date { margin-left: 8px; color: var(--register-secondary); font-size: 11px; }
.register-workspace table .icon-button { min-width: 28px; padding: 5px; }
.register-workspace .button.icon-button { min-width: 28px; padding: 5px; gap: 0; justify-content: center; }
.register-workspace table details { margin-bottom: 0; }
.register-workspace .compact-record-details > summary { color: var(--register-ink); font-size: 12px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.register-workspace .compact-record-details > summary strong { display: inline; margin-right: 8px; font-weight: 500; }
.register-workspace .compact-record-details > summary > span:not([data-register-money]) { color: var(--register-secondary); font-size: 11px; }
.register-workspace .compact-record-details dl { margin: 12px 0 0; font-size: 12px; white-space: normal; }
.register-workspace .compact-record-details dt { color: var(--register-secondary); margin-top: 8px; font-size: 11px; }
.register-workspace .compact-record-details dd { margin: 2px 0 0; overflow-wrap: anywhere; }
.register-workspace .compact-record-details p { margin: 10px 0 0; font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
.register-workspace .tag, .register-workspace .status-badge, .register-workspace .count-pill { background: var(--register-head); color: var(--register-secondary); border-color: var(--register-line); font-size: 11px; font-weight: 400; }
.register-workspace .tag.signed, .register-workspace .tag.done { background: var(--portal-success-bg); color: var(--portal-success); border-color: color-mix(in srgb, var(--portal-success) 25%, var(--register-line)); }
.register-workspace .tag.late { color: var(--portal-danger); background: var(--portal-danger-bg); }
.register-workspace .tag.active { color: var(--portal-blue); background: var(--register-head); }
.register-workspace #source-projects .register-table { min-width: 480px; }
.register-workspace #source-plan .register-table { min-width: 360px; }
.register-workspace .warning-note, .register-workspace .chart-warning, .register-workspace .dialog-message:not(:empty) { background: var(--portal-warning-bg); color: var(--register-warning); border-color: var(--register-warning); border-radius: 5px; font-size: 12px; }
.register-workspace .attention, .register-workspace .chart-warning, .register-workspace .milestone-overdue .milestone-state { color: var(--register-warning); }
.register-workspace .validation, .register-workspace .validation-summary-errors { background: var(--portal-danger-bg); color: var(--portal-danger); border-color: var(--portal-danger); border-radius: 4px; font-size: 12px; }
.register-workspace .field-validation-error, .register-workspace .editor-field > span { color: var(--portal-danger); font-size: 11px; }
.register-workspace .input-validation-error { border-color: var(--portal-danger) !important; }
.register-workspace .editor-grid { gap: 16px 18px; }
.register-workspace .editor-field label, .register-workspace .editor-field legend { color: var(--register-secondary); font-size: 12px; font-weight: 500; }
.register-workspace .editor-field small, .register-workspace .editor .panel-intro { color: var(--register-secondary); font-size: 11px; }
.register-workspace .editor-field input, .register-workspace .editor-field select, .register-workspace .editor-field textarea { background: var(--register-paper); color: var(--register-ink); border-color: var(--register-line); font-size: 13px; padding: 8px 10px; min-height: 38px; }
.register-workspace .editor-field input[readonly] { color: var(--register-secondary); background: var(--register-head); }
.register-workspace .editor-field input[type=color] { display: block; width: 82px; height: 44px; min-height: 44px; padding: 4px; cursor: pointer; }
.register-workspace .editor-field input[type=color]::-webkit-color-swatch-wrapper { padding: 0; }
.register-workspace .editor-field input[type=color]::-webkit-color-swatch { border: 0; border-radius: 2px; }
.register-workspace .color-inputs { display: flex; align-items: center; gap: 10px; }
.register-workspace .color-inputs [data-color-value] { width: 124px; font-family: Consolas, monospace; text-transform: uppercase; }
.register-workspace .corridor-theme {
    --corridor-color: #516575;
    --corridor-ink: light-dark(color-mix(in srgb, var(--corridor-color) 65%, #18323f), color-mix(in srgb, var(--corridor-color) 30%, #ffffff));
    --corridor-tint: light-dark(color-mix(in srgb, var(--corridor-color) 10%, #ffffff), color-mix(in srgb, var(--corridor-color) 22%, #1c2b32));
    --corridor-badge: light-dark(color-mix(in srgb, var(--corridor-color) 18%, #ffffff), color-mix(in srgb, var(--corridor-color) 32%, #1c2b32));
    --corridor-line: light-dark(color-mix(in srgb, var(--corridor-color) 30%, #dce4e9), color-mix(in srgb, var(--corridor-color) 45%, #354952));
}
.register-workspace .workspace .corridor-theme .corridor-total-row > * { background: var(--corridor-tint); border-top-color: var(--corridor-line); }
.register-workspace .corridor-theme .corridor-badge, .register-workspace .corridor-badge.corridor-theme, .register-workspace .project-heading-compact .source-heading-type.corridor-theme { background: var(--corridor-badge); color: var(--corridor-ink); border-color: var(--corridor-line); }
.register-workspace .corridor-theme .register-group-link { color: var(--corridor-ink); }
.register-workspace input[type=checkbox], .register-workspace input[type=radio] { accent-color: var(--register-teal); }
.register-workspace .editor-actions { border-color: var(--register-line); }
.register-workspace .contract-dialog-heading { padding: 16px 22px; min-height: 66px; }
.register-workspace .contract-dialog-content { padding: 20px 22px; }
.register-workspace .contract-dialog-heading h2 { color: var(--register-ink); font-size: 18px; }
.register-workspace .contract-dialog .editor-actions { margin: 22px -22px -20px; bottom: -20px; padding: 14px 22px; box-shadow: none; }
.register-workspace .editor-field .corridor-color-choice, .register-workspace .editor-field .funding-type-feature { background: var(--register-paper); color: var(--register-ink); border-color: var(--register-line); }
.register-workspace .editor-field .corridor-color-choice:has(input:checked), .register-workspace .editor-field .funding-type-feature:has(input:checked) { background: var(--register-active); border-color: var(--register-teal); }
.register-workspace .funding-type-feature-note { color: var(--register-secondary); font-size: 11px; }
.register-workspace .workspace .metrics { gap: 14px; margin: 18px 0; }
.register-workspace .workspace .metric, .register-workspace .workspace .metric.accent { background: var(--register-paper); color: var(--register-ink); border: 1px solid var(--register-line); border-radius: 6px; padding: 15px 16px; box-shadow: none; }
.register-workspace .workspace .metric > span { color: var(--register-secondary); font-size: 10px; letter-spacing: .02em; }
.register-workspace .workspace .metric strong { color: var(--register-ink); font-size: 24px; font-weight: 600; }
.register-workspace .workspace .metric small { color: var(--register-secondary); font-size: 11px; }
.register-workspace .dashboard-filter-note, .register-workspace .chart-empty, .register-workspace .chart-legend, .register-workspace .chart-values summary, .register-workspace .chart-panel > header > span { color: var(--register-secondary); font-size: 11px; }
.register-workspace .chart-legend { gap: 12px; padding: 12px 16px 0; }
.register-workspace .plot-grid line { stroke: var(--register-line); }
.register-workspace .plot-grid text, .register-workspace .plot-label text { fill: var(--register-secondary); font-family: inherit; }
.register-workspace .color-budget { --series-color: var(--register-teal); }
.register-workspace .color-credit { --series-color: var(--portal-blue); }
.register-workspace .color-grant { --series-color: light-dark(#b28332, #d9b774); }
.register-workspace .color-profit { --series-color: var(--portal-purple); }
.register-workspace .color-other, .register-workspace .color-guide { --series-color: var(--register-secondary); }
.register-workspace .color-debt { --series-color: light-dark(#b56d50, #e9ac8e); }
.register-workspace .ranking-chart a, .register-workspace .ranking-chart span { color: var(--register-ink); }
.register-workspace .rank-track { fill: var(--portal-track); }
.register-workspace .rank-bar { fill: var(--register-teal); }
.register-workspace .ranking-chart li { border-color: var(--register-line); }
.register-workspace .milestone-point { color: var(--register-secondary); }
.register-workspace .milestone-point::before { border-color: var(--register-line); }
.register-workspace .milestone-node { background: var(--register-paper); border-color: var(--register-secondary); }
.register-workspace .milestone-name, .register-workspace .milestone-today time, .register-workspace .milestone-today .milestone-name { color: var(--register-ink); }
.register-workspace .milestone-original, .register-workspace .milestone-caption { color: var(--register-secondary); font-size: 11px; }
.register-workspace .milestone-actual .milestone-node { background: var(--portal-success); border-color: var(--portal-success); }
.register-workspace .milestone-actual .milestone-state { color: var(--portal-success); }
.register-workspace .milestone-overdue .milestone-node { background: var(--portal-warning-bg); border-color: var(--register-warning); }
.register-workspace .milestone-today .milestone-node { background: var(--register-teal); border-color: var(--register-teal); box-shadow: 0 0 0 4px var(--register-active); }
.register-workspace .schedule-summary { color: var(--register-secondary); }
.register-workspace .gantt-row, .register-workspace .gantt-label { background: var(--register-paper); border-color: var(--register-line); color: var(--register-ink); }
.register-workspace .phase-row, .register-workspace .phase-row .gantt-label { background: var(--register-group); }
.register-workspace .gantt-axis, .register-workspace .gantt-axis .gantt-label { background: var(--register-head); }
.register-workspace .gantt-axis text { fill: var(--register-secondary); }
.register-workspace .gantt-grid { stroke: var(--register-line); }
.register-workspace .gantt-plan { fill: var(--portal-track); }
.register-workspace .gantt-progress { fill: var(--register-teal); }
.register-workspace .gantt-bars.late .gantt-plan { fill: var(--portal-danger-bg); }
.register-workspace .gantt-bars.late .gantt-progress { fill: var(--portal-danger); }
.register-workspace .gantt-bars.done .gantt-plan { fill: var(--portal-success-bg); }
.register-workspace .gantt-bars.done .gantt-progress { fill: var(--portal-success); }
.register-workspace .gantt-actual { fill: var(--portal-blue); }
.register-workspace .gantt-today { stroke: var(--register-warning); }
.register-workspace .phase-heading h3, .register-workspace .activity-main strong { color: var(--register-ink); font-size: 13px; font-weight: 500; }
.register-workspace .phase-heading p, .register-workspace .activity-main small { color: var(--register-secondary); font-size: 11px; }
.register-workspace .activity-card { border-color: var(--register-line); padding: 10px 0; }
.register-workspace .activity-progress progress { accent-color: var(--register-teal); }
.register-workspace .change-entry summary, .register-workspace details.panel > summary { color: var(--register-ink); font-size: 12px; line-height: 1.6; }
.register-workspace .change-entry[open] summary, .register-workspace details.panel[open] > summary { margin-bottom: 12px; }
.register-workspace .empty-state { background: var(--register-paper); color: var(--register-secondary); border-color: var(--register-line); }
.register-workspace .empty-state h2 { font-size: 21px; }
/* Authentication screens share appearance; their forms and access policy stay intact. */
.portal-auth-theme .brand-panel { background: var(--portal-top); padding: 36px 10%; }
.portal-auth-theme .brand-message .eyebrow { color: #a9d3d9; }
.portal-auth-theme .brand-message h2 { font-size: clamp(34px, 4vw, 56px); font-weight: 500; }
.portal-auth-theme .brand-message p, .portal-auth-theme .brand-footer { color: #c4d6dc; }
.portal-auth-theme .brand-mark { border-color: #52727d; border-radius: 6px; }
.portal-auth-theme .auth-main { background: var(--register-bg); padding: 60px 10% 24px; }
.portal-auth-theme .auth-content { width: 100%; max-width: 440px; margin: auto; }
.portal-auth-theme .auth-heading h1 { color: var(--register-ink); font-size: 32px; font-weight: 600; line-height: 1.2; letter-spacing: -.6px; }
.portal-auth-theme .auth-heading p, .portal-auth-theme .auth-note, .portal-auth-theme .auth-footer { color: var(--register-secondary); font-size: 12px; line-height: 1.7; }
.portal-auth-theme .auth-heading .eyebrow { color: var(--register-teal); }
.portal-auth-theme .auth-form label { color: var(--register-secondary); font-size: 12px; font-weight: 500; }
.portal-auth-theme .auth-form input { background: var(--register-paper); color: var(--register-ink); border-color: var(--register-line); border-radius: 4px; min-height: 43px; padding: 10px 12px; font-size: 14px; }
.portal-auth-theme .auth-form .button { min-height: 43px; font-size: 13px; }
.portal-auth-theme .qr-image { background: #fff; padding: 8px; border: 1px solid var(--register-line); border-radius: 6px; }
.portal-auth-theme .recovery-codes, .portal-auth-theme .secret-key { background: var(--register-paper); color: var(--register-ink); border: 1px solid var(--register-line); border-radius: 4px; padding: 14px; }
@media(max-width:1100px) {
    .register-workspace .workspace .metric strong { font-size: 21px; }
}
@media(max-width:760px) {
    .register-workspace .project-mobile-nav { border-color: var(--register-line); }
    .register-workspace .project-mobile-nav .project-tabs { background: var(--register-head); }
    .register-workspace .project-mobile-nav .project-tabs a { background: var(--register-paper); color: var(--register-secondary); border-color: var(--register-line); }
    .register-workspace .project-mobile-nav .project-tabs a[aria-current=page] { background: var(--register-active); color: var(--register-teal); border-color: var(--register-teal); }
    .register-workspace .workspace .page-heading, .register-workspace .project-heading { flex-wrap: wrap; }
    .register-workspace .workspace .panel { padding: 14px; }
    .register-workspace .editor-field input, .register-workspace .editor-field select, .register-workspace .editor-field textarea { font-size: 16px; min-height: 42px; }
    .register-workspace .filters > div { min-width: 0; }
    .register-workspace .dashboard-grid, .register-workspace .workspace .metrics { grid-template-columns: minmax(0, 1fr); }
    .register-workspace .workspace .metric strong { font-size: 24px; }
    .register-workspace .workspace-unit-toolbar { justify-content: flex-start; }
    .register-workspace .register-wrapper, .register-workspace .table-scroll { border-radius: 5px; }
    .portal-auth-theme .brand-panel { padding: 24px 28px; }
    .portal-auth-theme .auth-main { padding: 30px 24px 20px; }
    .portal-auth-theme .auth-heading h1 { font-size: 28px; }
    .portal-auth-theme .auth-form input { font-size: 16px; }
}
@media(pointer:coarse) {
    .register-workspace table .button { min-height: 44px; min-width: 44px; }
}
.register-workspace .record-delete { margin: 16px 0 0; border-top: 1px solid var(--register-line); padding: 12px 16px; font-size: 12px; }
.register-workspace .record-delete > summary { color: var(--portal-danger, var(--register-warning)); cursor: pointer; width: fit-content; }
.register-workspace .record-delete p { margin: 12px 0 8px; overflow-wrap: anywhere; }
.register-workspace .record-delete-confirm { display: flex; align-items: center; gap: 8px; color: var(--register-ink); margin-bottom: 12px; }
.register-workspace .record-delete-confirm input { width: 16px; height: 16px; min-height: 0; margin: 0; }
.register-workspace .record-delete-button { color: var(--portal-danger, var(--register-warning)); }
.register-workspace .contract-dialog.centered-editor { margin: auto; width: min(860px, calc(100% - 32px)); height: fit-content; max-height: 92dvh; border: 1px solid var(--register-line); border-radius: 7px; box-shadow: 0 20px 80px #0006; }
.centered-editor .editor-grid { gap: 12px 18px; }
.centered-editor .editor-grid > .wide { grid-column: 1 / -1; }
.centered-editor .editor-field label { margin-bottom: 4px; }
.centered-editor .editor-field input:not([type=checkbox]), .centered-editor .editor-field select { min-height: 34px; padding: 6px 9px; }
.contract-tabs { min-width: 0; }
.register-workspace .contract-dialog.centered-editor.large-contract-editor { width: min(1600px, calc(100% - 28px)); height: calc(100dvh - 28px); max-height: calc(100dvh - 28px); }
.large-contract-editor .contract-dialog-heading { padding: 12px 18px; flex: 0 0 auto; min-height: 52px; }
.large-contract-editor .contract-dialog-heading h2 { font-size: 16px; }
.large-contract-editor .contract-dialog-content { flex: 1; padding: 14px 18px; }
.large-contract-editor .editor { max-width: none; }
.contract-sections { display: grid; grid-template-columns: minmax(240px,.95fr) minmax(260px,1fr) minmax(360px,1.35fr); grid-template-areas: "basics values funding" "dates notes funding"; align-items: start; gap: 18px 22px; min-width: 0; }
.contract-basics-section { grid-area: basics; }
.contract-values-section { grid-area: values; }
.contract-dates-section { grid-area: dates; }
.contract-notes-section { grid-area: notes; }
.contract-financing-section { grid-area: funding; min-height: 0; }
.contract-section { min-width: 0; }
.contract-section h3 { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; margin: 0 0 10px; padding-bottom: 7px; border-bottom: 1px solid var(--register-line); }
.contract-section h3 > span { color: var(--register-secondary); font-size: 10px; font-weight: 400; margin-left: auto; }
.register-workspace .contract-sections .editor-grid { gap: 9px 12px; }
.register-workspace .contract-sections .editor-field label { display: flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 400; margin-bottom: 3px; }
.register-workspace .contract-sections .editor-field :is(input:not([type=checkbox]),select,textarea) { min-height: 29px; padding: 5px 7px; font-size: 12px; border-radius: 3px; }
.register-workspace .contract-sections .editor-field input[inputmode=decimal] { font-variant-numeric: tabular-nums; text-align: right; }
.register-workspace .contract-sections .portal-date-field input { padding-right: 29px; }
.register-workspace .contract-sections .portal-date-button { width: 28px; height: 27px; min-height: 0; }
.register-workspace .field-help { display: inline-flex; flex: 0 0 16px; align-items: center; justify-content: center; width: 16px; height: 16px; padding: 0; margin: 0 0 0 2px; border: 1px solid var(--register-secondary); border-radius: 50%; color: var(--register-secondary); background: transparent; font-family: inherit; font-size: 10px; font-weight: 400; line-height: 1; cursor: help; }
.register-workspace .field-help:hover { color: var(--register-teal); border-color: currentColor; }
.large-contract-editor .editor-actions { bottom: -14px; padding: 10px 0; margin-top: 14px; z-index: 8; }
.large-contract-editor .editor-actions .button { min-height: 30px; min-width: 90px; font-size: 12px; }
.contract-financing-list { min-width: 0; }
.financing-list-tools { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.financing-list-tools .button { min-height: 28px; padding: 4px 8px; font-size: 11px; }
.financing-list-scroll { max-height: calc(100dvh - 285px); min-height: 110px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--register-line); border-radius: 3px; }
.financing-list-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-variant-numeric: tabular-nums; }
.financing-entry-year { width: 76px; }
.financing-entry-amount { width: 142px; }
.financing-entry-action { width: 30px; }
.register-workspace .financing-list-table :is(th,td) { padding: 4px 5px; background: var(--register-paper); border-bottom: 1px solid var(--register-line); font-size: 11px; vertical-align: middle; }
.register-workspace .financing-list-table thead th { position: sticky; top: 0; z-index: 2; background: var(--register-head); font-weight: 500; }
.register-workspace .financing-list-table tfoot th, .register-workspace .financing-list-table tfoot td { position: sticky; bottom: 0; background: var(--register-total); font-weight: 500; }
.register-workspace .financing-list-table input, .register-workspace .financing-list-table select { width: 100%; min-width: 0; min-height: 28px; padding: 4px 5px; font-size: 12px; color: var(--register-ink); background: var(--register-paper); border: 1px solid var(--register-line); border-radius: 3px; }
.financing-list-table input[inputmode=decimal] { text-align: right; }
.register-workspace .financing-list-table .icon-button { width: 22px; min-width: 0; min-height: 24px; height: 24px; padding: 0; }
.financing-list-table [hidden], .financing-list-tools [hidden] { display: none; }
@media(max-width:1100px) {
 .contract-sections { grid-template-columns: minmax(240px,1fr) minmax(340px,1.2fr); grid-template-areas: "basics values" "dates notes" "funding funding"; }
 .financing-list-scroll { max-height: 330px; }
}
@media(max-width:700px) {
 .register-workspace .contract-dialog.centered-editor.large-contract-editor { width: calc(100% - 10px); height: calc(100dvh - 10px); max-height: calc(100dvh - 10px); }
 .large-contract-editor .contract-dialog-content { padding: 12px; }
 .contract-sections { grid-template-columns: minmax(0,1fr); grid-template-areas: "basics" "values" "dates" "funding" "notes"; gap: 18px; }
 .register-workspace .contract-sections .editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .register-workspace .contract-sections .editor-field :is(input,select,textarea), .register-workspace .financing-list-table :is(input,select) { font-size: 16px; min-height: 36px; }
 .financing-entry-year { width: 74px; }
 .financing-entry-amount { width: 126px; }
 .financing-list-table { min-width: 360px; }
}
.contract-financing { min-width: 0; }
.financing-editor-toolbar, .financing-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.financing-editor-toolbar { margin-bottom: 8px; font-size: 11px; color: var(--register-secondary); }
.financing-editor-toolbar > span { flex: 1 1 200px; }
.register-workspace .financing-editor-toolbar label { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.register-workspace .financing-editor-toolbar input[type=number] { width: 76px; min-height: 28px; padding: 4px 6px; }
.financing-editor-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--register-line); border-radius: 4px; }
.financing-editor-table { border-collapse: separate; border-spacing: 0; table-layout: fixed; min-width: 100%; width: max-content; font-size: 11px; }
.register-workspace .financing-editor-table :is(th, td) { width: 134px; min-width: 134px; padding: 6px; border-bottom: 1px solid var(--register-line); background: var(--register-paper); vertical-align: top; }
.register-workspace .financing-editor-table :is(thead, tfoot) > tr > * { background: var(--register-head); font-weight: 500; }
.register-workspace .financing-editor-table :is(th, td):first-child { position: sticky; left: 0; z-index: 1; width: 215px; min-width: 215px; box-shadow: inset -1px 0 var(--register-line); }
.register-workspace .financing-editor-table td.financing-remove-cell, .register-workspace .financing-editor-table th.financing-remove-cell { width: 38px; min-width: 38px; }
.register-workspace .financing-editor-table input[data-financing-amount] { width: 122px; min-height: 30px; font-size: 11px; padding: 5px 6px; text-align: right; font-variant-numeric: tabular-nums; }
.register-workspace .financing-editor-table select { width: 203px; font-size: 11px; min-height: 30px; padding: 5px 6px; }
.financing-row-note { margin-top: 5px; font-size: 10px; color: var(--register-secondary); }
.financing-row-note summary { cursor: pointer; }
.financing-row-note textarea { margin-top: 5px; width: 100%; }
.financing-editor-message { display: block; font-size: 11px; color: var(--register-warning); margin-top: 6px; }
.financing-editor-message:empty { display: none; }
.financing-toolbar strong { font-size: 12px; font-weight: 500; }
.financing-toolbar .financing-tax-label { font-size: 10px; color: var(--register-secondary); }
.financing-toolbar .financing-source-management { margin-left: auto; }
.financing-corridor-filter { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.register-workspace .workspace .financing-comparison-table { width: max-content; min-width: 100%; table-layout: fixed; }
.financing-label-col { width: 340px; }
.financing-year-col { width: 130px; }
.register-workspace .workspace .financing-comparison-table :is(th, td) { height: 36px; padding: 6px 10px; white-space: nowrap; font-size: 12px; }
.register-workspace .workspace .financing-comparison-table .financing-label-cell { position: sticky; left: 0; z-index: 2; width: 340px; max-width: 340px; text-align: left; overflow: hidden; background: var(--register-paper); box-shadow: inset -1px 0 var(--register-line); }
.register-workspace .workspace .financing-comparison-table thead th:first-child { position: sticky; left: 0; z-index: 5; background: var(--register-head); }
.financing-name-line { display: flex; align-items: center; gap: 4px; min-width: 0; }
.financing-name-line > span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.financing-toggle { flex: 0 0 22px; width: 22px; height: 24px; padding: 0; }
.financing-toggle[aria-expanded=false] svg { transform: rotate(-90deg); }
.register-workspace .workspace .financing-comparison-table .financing-source-row > * { background: var(--register-contract); font-weight: 400; }
.financing-source-name { display: block; padding-left: 28px; border-left: 1px solid var(--register-line); overflow: hidden; text-overflow: ellipsis; }
.register-workspace .workspace .financing-comparison-table .financing-project-total > * { background: var(--register-head); font-weight: 500; }
.register-workspace .workspace .financing-comparison-table .financing-corridor-total > * { background: var(--register-group); font-weight: 600; }
.register-workspace .workspace .financing-comparison-table tfoot > tr > * { background: var(--register-total); border-top: 1px solid var(--register-line); font-weight: 600; }
.financing-comparison-table [hidden] { display: none; }
@media(max-width:760px) {
 .financing-label-col { width: 230px; }
 .register-workspace .workspace .financing-comparison-table .financing-label-cell { width: 230px; max-width: 230px; }
 .financing-editor-toolbar { gap: 8px; }
 .financing-editor-toolbar > span { flex-basis: 100%; }
 .financing-toolbar .financing-source-management, .financing-corridor-filter { margin-left: 0; }
 .register-workspace .financing-editor-table input[data-financing-amount], .register-workspace .financing-editor-table select { font-size: 16px; min-height: 42px; }
}
.contract-tabs.tabs-ready { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 22px; }
.contract-tab-list { display: flex; flex-direction: column; align-self: start; gap: 5px; padding-right: 14px; border-right: 1px solid var(--register-line); }
.contract-tab-list [role=tab] { margin: 0; padding: 10px 9px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--register-secondary); font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.contract-tab-list [role=tab]:hover { background: var(--register-hover); }
.contract-tab-list [aria-selected=true] { background: var(--register-active); color: var(--register-teal); border-color: var(--register-line); }
.contract-tab-content, .contract-tab-panel { min-width: 0; }
.tabs-ready .contract-tab-panel { min-height: 350px; align-content: start; }
.contract-tab-panel:not(:last-child) { margin-bottom: 18px; }
.tabs-ready .contract-tab-panel { margin-bottom: 0; }
.value-deviation { display: inline-flex; gap: 0; font-variant-numeric: tabular-nums; }
.over-plan { color: var(--portal-danger); }
@media(max-width:760px) {
 .contract-tabs.tabs-ready { grid-template-columns: minmax(0, 1fr); gap: 15px; }
 .contract-tab-list { flex-direction: row; overflow-x: auto; padding: 0 0 8px; border-right: 0; border-bottom: 1px solid var(--register-line); }
 .contract-tab-list [role=tab] { flex: 0 0 auto; white-space: nowrap; font-size: 11px; padding: 9px 8px; }
 .tabs-ready .contract-tab-panel { min-height: 0; }
}
.contract-section-title { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; padding: 12px 0 3px; border-top: 1px solid var(--register-line); font-size: 12px; font-weight: 650; color: var(--register-ink); }
.contract-section-title span { font-size: 10px; color: var(--register-secondary); font-weight: 400; }
.contract-checklist { min-width: 0; margin: 0; padding: 9px 11px; border: 1px solid var(--register-line); border-radius: 4px; }
.contract-checklist legend { padding: 0 4px; font-size: 12px; }
.contract-checklist legend span { margin-left: 6px; font-size: 10px; opacity: .65; }
.contract-checklist-options { max-height: 104px; overflow-y: auto; }
.contract-checklist-options label { display: flex; align-items: flex-start; gap: 8px; padding: 4px 0; line-height: 1.5; font-size: 11px; font-weight: 400; }
.contract-checklist-options input[type=checkbox] { flex: 0 0 auto; width: 14px; height: 14px; min-height: 0; margin: 1px 0 0; accent-color: var(--register-teal); }
.contract-date-deviation { font-size: 11px; color: var(--register-teal); }
.contract-date-deviation:empty { display: none; }
.contractor-autocomplete { position: relative; }
.contractor-autocomplete input[data-contractor-search] { width: 100%; padding-right: 42px; }
.contractor-clear { position: absolute; right: 5px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; padding: 0; border: 0; border-radius: 4px; background: var(--register-hover); color: var(--register-ink); font: inherit; font-size: 20px; cursor: pointer; }
.contractor-clear[hidden] { display: none; }
.contractor-clear:hover { color: var(--register-teal); }
.contractor-results { position: absolute; top: calc(100% + 3px); left: 0; right: 0; z-index: 5; max-height: 190px; overflow-y: auto; padding: 4px; border: 1px solid var(--register-line); border-radius: 4px; background: var(--register-paper); box-shadow: 0 7px 18px #0003; }
.contractor-results[hidden], .contractor-results [hidden] { display: none; }
.contractor-results [data-contractor-option] { display: block; width: 100%; margin: 0; padding: 8px; border: 0; border-radius: 3px; text-align: left; font: inherit; font-size: 12px; color: var(--register-ink); background: transparent; cursor: pointer; }
.contractor-results [data-contractor-option]:hover, .contractor-results [aria-selected=true] { background: var(--register-active); color: var(--register-teal); }
.contractor-no-results { display: block; padding: 8px; font-size: 12px; color: var(--register-secondary); }
.register-workspace [data-contract-signing]:disabled { opacity: .55; cursor: not-allowed; }
.portal-date-button:disabled { opacity: .35; cursor: not-allowed; }
.catalog-mobile-nav { display: none; }
.catalog-table .actions-col { width: 70px; text-align: center; }
.register-workspace .workspace .comparison-table.catalog-table { min-width: 0; table-layout: auto; }
.catalog-table td { overflow-wrap: anywhere; }
.catalog-table .catalog-code { width: 64px; white-space: nowrap; overflow-wrap: normal; }
@media(max-width:760px) {
 .catalog-mobile-nav { display: flex; gap: 5px; overflow-x: auto; margin-bottom: 16px; }
 .catalog-mobile-nav a { color: var(--register-secondary); padding: 8px; white-space: nowrap; }
 .catalog-mobile-nav a[aria-current=page] { color: var(--register-teal); border-bottom: 2px solid currentColor; }
 .register-workspace .contract-dialog.centered-editor { width: calc(100% - 12px); max-height: 96dvh; }
 .centered-editor .editor-grid { grid-template-columns: minmax(0, 1fr); }
 .centered-editor .editor-field input:not([type=checkbox]), .centered-editor .editor-field select { font-size: 16px; }
}
.portal-hover-bubble {
    --bubble-outline: var(--register-line);
    position: fixed; inset: auto; z-index: 10000; margin: 0;
    width: max-content; max-width: min(340px, calc(100vw - 24px));
    padding: 10px 14px; border: 1px solid var(--bubble-outline); border-radius: 16px;
    background: var(--register-paper); color: var(--register-ink);
    box-shadow: 0 8px 26px light-dark(#102d3529, #0007);
    font: 400 12px/1.55 Inter, "Segoe UI", Arial, sans-serif;
    text-align: left; white-space: pre-line; overflow: visible;
    opacity: 0; transform: translateY(3px); transition: opacity .12s ease, transform .12s ease;
}
.portal-hover-bubble[data-open=true] { opacity: 1; transform: translateY(0); }
.portal-hover-bubble[data-tone=warning] { --bubble-outline: color-mix(in srgb, var(--register-warning) 42%, var(--register-line)); }
.portal-hover-bubble::before {
    content: ""; position: absolute; left: var(--bubble-arrow-x, 50%); bottom: -6px;
    width: 10px; height: 10px; background: var(--register-paper);
    border-right: 1px solid var(--bubble-outline); border-bottom: 1px solid var(--bubble-outline);
    transform: translateX(-50%) rotate(45deg);
}
.portal-hover-bubble[data-placement=bottom]::before { top: -6px; bottom: auto; transform: translateX(-50%) rotate(225deg); }
.portal-hover-bubble-content { max-height: min(260px, calc(100dvh - 48px)); overflow-y: auto; overflow-wrap: anywhere; overscroll-behavior: contain; }
@media(prefers-reduced-motion:reduce) { .portal-hover-bubble { transition: none; transform: none; } }

/* Three compact information columns above a full-width financing matrix. */
.contract-sections { grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-areas: none; gap: 14px 20px; }
.contract-section { grid-area: auto; position: relative; }
.contract-basics-section { grid-column: 1; grid-row: 1; }
.contract-values-section { grid-column: 2; grid-row: 1; }
.contract-dates-section { grid-column: 3; grid-row: 1; }
.contract-financing-section { grid-column: 1 / -1; grid-row: 2; }
.register-workspace .contract-sections .editor-grid { gap: 7px 10px; }
.register-workspace .contract-basics-section .editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.contract-field-subject { grid-column: span 2; }
.contract-field-phase { grid-column: span 1; }
.contract-field-contractor { grid-column: span 1; }
.register-workspace .contract-values-section .editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.register-workspace .contract-values-section .editor-grid > .editor-field { grid-column: span 1; }
.register-workspace .contract-dates-section .editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.contract-section h3 { margin-bottom: 7px; padding-bottom: 5px; }
.register-workspace .contract-sections .editor-field :is(input:not([type=checkbox]),select,textarea) { min-height: 27px; padding: 4px 6px; font-size: 12px; }
.register-workspace .contract-sections .editor-field label { font-size: 11px; margin-bottom: 2px; }
.contract-dates-section textarea { height: 68px; min-height: 47px; }
@media(min-width:1001px) {
 .contract-values-section, .contract-dates-section { align-self: stretch; display: flex; flex-direction: column; }
 .contract-values-section > .editor-grid, .contract-dates-section > .editor-grid { flex: 1; min-height: 0; }
 .contract-values-section > .editor-grid { align-content: space-between; }
 .register-workspace .contract-dates-section > .editor-grid { grid-template-rows: auto auto minmax(0,1fr); }
 .register-workspace .contract-dates-section > .editor-grid:has(> .contract-date-deviation:not(:empty)) { grid-template-rows: auto auto auto minmax(0,1fr); }
 .contract-values-section .editor-field, .contract-dates-section .editor-field { display: flex; flex-direction: column; }
 .contract-dates-section .editor-field.wide { min-height: 0; }
 .contract-dates-section textarea { flex: 1; height: auto; }
}
.register-workspace .field-help { position: relative; width: 20px; height: 18px; flex-basis: 20px; border: 0; background: transparent; font-size: 10px; }
.field-help::before { content: ""; position: absolute; width: 14px; height: 14px; left: 50%; top: 50%; transform: translate(-50%,-50%); box-sizing: border-box; border: 1px solid currentColor; border-radius: 50%; pointer-events: none; }
.financing-matrix-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 9px; margin-bottom: 7px; }
.financing-matrix-tools > label { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 0 8px; font-size: 11px; color: var(--register-secondary); }
.register-workspace .financing-matrix-tools input[type=number] { width: 76px; height: 27px; min-height: 27px; padding: 3px 6px; font: inherit; font-size: 12px; color: var(--register-ink); background: var(--register-paper); border: 1px solid var(--register-line); border-radius: 3px; appearance: textfield; }
.financing-matrix-tools input[type=number]::-webkit-inner-spin-button, .financing-matrix-tools input[type=number]::-webkit-outer-spin-button { appearance: none; margin: 0; }
.register-workspace .financing-matrix-tools .financing-unit-control { margin-left: 8px; }
.register-workspace .financing-matrix-tools .financing-unit-control select { width: 98px; height: 27px; padding: 3px 6px; font-size: 11px; color: var(--register-ink); background: var(--register-paper); border-radius: 3px; }
.financing-matrix-tools .button { min-height: 27px; padding: 4px 8px; font-size: 11px; }
.financing-matrix-tools > span { display: inline-flex; align-items: center; margin-left: auto; font-size: 10px; color: var(--register-secondary); }
.financing-matrix-tools [hidden] { display: none; }
.contract-financing-matrix { min-width: 0; --financing-source-width: 180px; --financing-year-width: 112px; --financing-total-width: 128px; }
.financing-matrix-scroll { max-width: 100%; max-height: 310px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--register-line); border-radius: 3px; }
.financing-matrix-table { width: 100%; min-width: calc(var(--financing-source-width) + var(--financing-year-count,0) * var(--financing-year-width) + var(--financing-total-width)); border-collapse: separate; border-spacing: 0; table-layout: fixed; font-variant-numeric: tabular-nums; }
.financing-matrix-table col.matrix-source-column { width: var(--financing-source-width); }
.financing-matrix-table col.matrix-year-column { width: var(--financing-year-width); }
.financing-matrix-table col.matrix-total-column { width: var(--financing-total-width); }
.register-workspace .financing-matrix-table :is(th,td) { min-width: 0; padding: 4px 6px; font-size: 11px; border-bottom: 1px solid var(--register-line); background: var(--register-paper); vertical-align: middle; }
.register-workspace .financing-matrix-table :is(th,td):first-child { position: sticky; left: 0; z-index: 2; box-shadow: inset -1px 0 var(--register-line); }
.register-workspace .financing-matrix-table :is(th,td).matrix-spacer { padding-left: 0; padding-right: 0; }
.register-workspace .financing-matrix-table :is(th,td).matrix-total-column { position: sticky; right: 0; z-index: 2; box-shadow: inset 1px 0 var(--register-line); }
.register-workspace .financing-matrix-table thead th { position: sticky; top: 0; z-index: 3; background: var(--register-head); font-weight: 500; }
.register-workspace .financing-matrix-table thead th:first-child, .register-workspace .financing-matrix-table thead th.matrix-total-column { z-index: 4; }
.register-workspace .financing-matrix-table tfoot { position: sticky; bottom: 0; z-index: 3; }
.register-workspace .financing-matrix-table tfoot :is(th,td) { position: static; background: var(--register-total); font-weight: 500; z-index: 1; }
.register-workspace .financing-matrix-table tfoot th:first-child { z-index: 2; }
.register-workspace .financing-matrix-table .financing-gap-row :is(th,td) { border-bottom: 0; }
.financing-gap-row .has-financing-gap, .financing-gap-row .financing-overallocated { color: var(--register-warning); }
.register-workspace .financing-matrix-table :is(input,select) { width: 100%; min-width: 0; height: 27px; min-height: 27px; padding: 4px 6px; color: var(--register-ink); background: var(--register-paper); border: 1px solid var(--register-line); border-radius: 3px; font-size: 12px; }
.financing-matrix-table input { text-align: right; }
.financing-source-field { display: flex; align-items: center; gap: 3px; }
.financing-source-field select { flex: 1; }
.financing-source-field .icon-button { flex: 0 0 20px; }
.financing-amount-field { position: relative; min-width: 0; }
.financing-amount-field [data-amount-preview] { position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-end; padding: 4px 6px; color: var(--register-ink); font-size: 12px; white-space: nowrap; overflow: hidden; pointer-events: none; }
.financing-amount-field:not([data-scaled=true]) [data-amount-preview], .financing-amount-field:focus-within [data-amount-preview] { visibility: hidden; }
.register-workspace .financing-amount-field[data-scaled=true]:not(:focus-within) input { color: transparent; }
.register-workspace .financing-matrix-table .icon-button { width: 20px; height: 20px; min-width: 0; min-height: 0; margin-left: 3px; padding: 0; opacity: .65; }
.financing-matrix-table .icon-button:hover { opacity: 1; }
@media(max-width:1450px) {
 .register-workspace .contract-basics-section .editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .contract-field-subject { grid-column: span 2; }
 .contract-field-phase { grid-column: span 1; }
 .contract-field-contractor { grid-column: span 1; }
 .register-workspace .contract-values-section .editor-grid, .register-workspace .contract-dates-section .editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .register-workspace .contract-values-section .editor-grid > .editor-field:nth-child(7),
 .register-workspace .contract-values-section .editor-grid > .editor-field:nth-child(8) { grid-column: span 1; }
}
@media(max-width:1000px) {
 .contract-sections { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .contract-dates-section { grid-column: 1 / -1; grid-row: 2; }
 .register-workspace .contract-dates-section .editor-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .contract-financing-section { grid-row: 3; }
}
@media(max-width:700px) {
 .contract-sections { grid-template-columns: minmax(0,1fr); }
 .contract-section { grid-column: 1; }
 .contract-basics-section { grid-row: 1; }
 .contract-values-section { grid-row: 2; }
 .contract-dates-section { grid-row: 3; }
 .contract-financing-section { grid-row: 4; }
 .register-workspace .contract-basics-section .editor-grid, .register-workspace .contract-values-section .editor-grid,
 .register-workspace .contract-dates-section .editor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .contract-field-subject, .contract-field-phase, .contract-field-contractor { grid-column: span 2; }
 .register-workspace .contract-sections .editor-field :is(input:not([type=checkbox]),select,textarea), .register-workspace .financing-matrix-table :is(input,select) { font-size: 16px; min-height: 36px; height: 36px; }
 .financing-matrix-tools > span { margin-left: 0; }
 .financing-matrix-tools > label { margin-left: 0; }
}
