:root{--color-canvas: #f3f1f2;--color-canvas-accent: #e7e2e3;--color-panel: #ffffff;--color-surface-subtle: #f8f6f7;--color-surface-strong: #242021;--color-text: #242021;--color-text-muted: #625b5d;--color-text-on-strong: #ffffff;--color-text-on-strong-muted: #ded9da;--color-border: #9d9497;--color-border-subtle: #d7d1d3;--color-focus: #d8072f;--color-action: #c8102e;--color-action-hover: #9f0c24;--color-action-soft: #f9e5e9;--color-error: #a41425;--color-error-soft: #fdebee;--color-success: #18713e;--color-success-soft: #dff4e8;--color-warning: #895000;--color-warning-soft: #fff0d6;--color-state-missing: #981d32;--color-state-incomplete: #ffe0bd;--color-state-incomplete-text: #6b3100;--color-state-balanced: #d8f0df;--color-state-balanced-text: #145c32;--color-state-exceeded: #ffedaa;--color-state-exceeded-text: #674900;--color-state-neutral: #ece8e9;--color-weekend: #e2dcde;--shadow-panel: 0 1.25rem 3.5rem rgb(36 32 33 / 14%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{--color-canvas: #141213;--color-canvas-accent: #1d1a1b;--color-panel: #211e1f;--color-surface-subtle: #2a2627;--color-surface-strong: #0e0d0d;--color-text: #f7f4f5;--color-text-muted: #c8c1c3;--color-text-on-strong: #ffffff;--color-text-on-strong-muted: #d8d2d4;--color-border: #81787b;--color-border-subtle: #514b4d;--color-focus: #ff6378;--color-action: #e21b3a;--color-action-hover: #ff3652;--color-action-soft: #4b2028;--color-error: #ff8292;--color-error-soft: #421b22;--color-success: #75d49a;--color-success-soft: #153d29;--color-warning: #ffc46b;--color-warning-soft: #493318;--color-state-missing: #9f2940;--color-state-incomplete: #51341f;--color-state-incomplete-text: #ffd2a6;--color-state-balanced: #173d29;--color-state-balanced-text: #a9e7bf;--color-state-exceeded: #4b3d18;--color-state-exceeded-text: #ffe89a;--color-state-neutral: #302c2d;--color-weekend: #383334;--shadow-panel: 0 1.25rem 3.5rem rgb(0 0 0 / 42%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-canvas)}button{font:inherit}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 2rem;color:#fff;background:#17324d}.header-identity,.app-header nav{display:flex;align-items:center;gap:1rem}.header-identity{min-width:0}.brand{font-weight:800}.current-user{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:0;color:#c8d7e4}.current-user>div{display:flex;gap:.3rem}.current-user dt{font-weight:700}.current-user dd{margin:0}.app-header a,.link-button,.navigation-menu-trigger{border:0;color:#fff;background:transparent;font-weight:700;text-decoration:none;cursor:pointer}.navigation-menu-trigger{padding:0}.navigation-menu-trigger:after{content:" ▾"}.navigation-menu-trigger:focus-visible,.app-header a:focus-visible,.link-button:focus-visible{border-radius:.2rem;outline:.15rem solid #ffffff;outline-offset:.2rem}.navigation-menu-list{position:absolute;z-index:10;top:calc(100% + .65rem);right:0;display:grid;min-width:12rem;padding:.4rem;border:1px solid #c8d7e4;border-radius:.6rem;background:#fff;box-shadow:0 .75rem 2rem #0d23363d}.navigation-menu-list a{padding:.65rem .75rem;border-radius:.35rem;color:#17324d;white-space:nowrap}.navigation-menu-list a:hover,.navigation-menu-list a:focus-visible{color:#17324d;background:#e3edf5;outline:none}.link-button:disabled{cursor:wait;opacity:.65}.global-feedback{margin:0;padding:.75rem 2rem;background:#fff0f0}.app-shell{display:grid;min-height:100vh;place-items:center;padding:2rem}.welcome-panel{width:min(100%,64rem);padding:clamp(2rem,6vw,4rem);border-radius:1.5rem;background:#fff;box-shadow:0 1.25rem 3.5rem #17324d1f}.auth-shell{background:linear-gradient(145deg,#edf3f8,#dbe9f2)}.login-panel{width:min(100%,32rem)}.login-panel h1{font-size:clamp(2rem,7vw,3.5rem)}.login-form button,.login-panel>button{width:100%;margin-top:1.5rem;padding:.85rem 1.2rem;border:0;border-radius:.6rem;color:#fff;background:#2878a0;font-weight:700;cursor:pointer}.login-form button:disabled{cursor:wait;opacity:.65}.remember-me-field{margin-top:1rem;font-weight:700}.remember-me-field label{display:flex;align-items:center;gap:.6rem;width:fit-content;cursor:pointer}.remember-me-field input[type=checkbox]{width:1.2rem;height:1.2rem;margin:0;accent-color:#2878a0}.primary-action{margin-top:2rem;padding:.8rem 1.2rem;border:0;border-radius:.6rem;color:#fff;background:#2878a0;font-weight:700;cursor:pointer}.admin-project-form{margin-bottom:2rem}.export-panel{width:min(100%,48rem)}.export-form{margin-top:2rem}.export-interval{margin-top:2rem;padding:1.25rem;border:1px solid #9fb2c3;border-radius:.6rem}.export-interval legend{padding:0 .35rem;font-weight:700}.export-interval .field{margin-top:1rem}.export-form .primary-action:disabled{cursor:wait;opacity:.65}.project-metadata-fields{margin:1.5rem 0;padding:1.25rem;border:1px solid #9fb2c3;border-radius:.6rem}.project-metadata-fields legend{padding:0 .35rem;font-weight:700}.checkbox-field{display:flex;align-items:center;gap:.5rem;margin:1rem 0;font-weight:700}.project-funding-fields,.project-date-fields{margin-top:.5rem}.admin-user-form{margin-bottom:2rem}.admin-users-panel{width:min(100%,88rem)}.admin-user-editor{width:min(100%,72rem)}.admin-user-unified-form{display:grid;gap:1.5rem;margin-top:2rem}.admin-user-unified-form>fieldset{min-width:0;padding:1.5rem;border:1px solid #d9e3eb;border-radius:1rem;background:#f8fbfd}.admin-user-unified-form>fieldset>legend{padding:0 .4rem;font-size:1.15rem;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem}.field-label-row,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.inline-link-button{padding:0;border:0;color:#2878a0;background:transparent;font:inherit;font-weight:700;cursor:pointer}.catalog-manager{padding:1.5rem;border:2px solid #9fb2c3;border-radius:1rem;background:#fff}.catalog-manager h3,.catalog-manager .form-note{margin:0}.catalog-inline-form{display:flex;align-items:end;gap:.75rem;margin-top:1rem}.catalog-inline-form .field{flex:1;margin-top:0}.catalog-inline-form button,.form-actions button,.section-heading>button,.active-user-field{margin-top:1rem}.catalog-inline-form button,.form-actions button,.section-heading>button{padding:.8rem 1.2rem;border:0;border-radius:.6rem;color:#fff;background:#2878a0;font:inherit;font-weight:700;cursor:pointer}.catalog-inline-form .secondary-button,.form-actions .secondary-button,.section-heading>.secondary-button,.welcome-panel>.secondary-button{margin-left:.75rem;color:#17324d;background:#d9e3eb}.compact-role-fields{margin-top:0;border:0}.active-user-field{display:flex;align-items:center;gap:.5rem;font-weight:700}.stacked-cell{min-width:12rem}.stacked-cell>span{display:block;margin-bottom:.3rem}.role-fields{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1.5rem;padding:1rem;border:1px solid #9fb2c3;border-radius:.6rem}.role-fields legend{padding:0 .35rem;font-weight:700}.role-fields label{display:flex;align-items:center;gap:.5rem}.role-fields .field-error{flex-basis:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-access-panel{width:min(100%,88rem)}.access-toolbar{display:flex;align-items:end;gap:.75rem;margin:1.5rem 0 1rem}.access-toolbar .field{margin:0}.access-toolbar .field:first-child{flex:1 1 18rem}.access-toolbar input,.access-toolbar select,.access-role-picker select{width:100%;min-height:2.75rem}.access-toolbar button{min-height:2.75rem;padding:.7rem 1.15rem;border:0;border-radius:.6rem;color:var(--color-text-on-strong);background:var(--color-action);font:inherit;font-weight:800;cursor:pointer}.access-toolbar button:hover{background:var(--color-action-hover)}.access-role-picker{max-width:62rem;margin:0;padding:1rem;border:1px solid var(--color-border-subtle);border-radius:.8rem;background:var(--color-surface-subtle)}.access-role-picker label{display:block;margin-bottom:.4rem;font-weight:800}.admin-access-detail{margin-top:1.5rem;padding:1.5rem;border:1px solid var(--color-border-subtle);border-radius:1rem;background:var(--color-panel)}.admin-access-detail>form>h2,.admin-access-detail>h2{margin-top:0}.permission-editor{display:grid;gap:1rem;margin-top:1.5rem}.permission-editor-heading h3,.permission-editor-heading p{margin:0}.permission-editor-heading p,.permission-module small,.permission-copy small,.permission-scope span{color:var(--color-text-muted);line-height:1.4}.permission-editor-heading p{margin-top:.35rem}.permission-module{min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:.8rem;background:var(--color-surface-subtle)}.permission-module legend{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem;color:var(--color-text);background:var(--color-panel);border-bottom:1px solid var(--color-border-subtle)}.permission-module legend>span:last-child{display:grid;gap:.15rem}.permission-module-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;color:var(--color-action);background:var(--color-action-soft);border-radius:.55rem}.permission-grid-header,.permission-grid-row{display:grid;grid-template-columns:5.75rem minmax(0,1fr) minmax(10rem,15rem);gap:.75rem;align-items:center}.permission-grid-header{padding:.7rem 1rem;color:var(--color-text-muted);font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.permission-grid-row{min-height:4.7rem;padding:.75rem 1rem;border-top:1px solid var(--color-border-subtle);background:var(--color-panel)}.permission-toggle{display:grid;place-items:center start}.permission-toggle input{width:1.15rem;height:1.15rem;accent-color:var(--color-action)}.permission-copy{display:grid;gap:.2rem;cursor:pointer}.permission-scope select{width:100%}.permission-scope span{display:block;padding-left:.1rem}.user-actions{min-width:15rem}.user-actions button{margin:0 .4rem .4rem 0}.admin-project-form h2{margin:0;font-size:1.35rem}.admin-project-form small,.form-note{color:#52687c;line-height:1.5}.status-active,.status-inactive{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.85rem;font-weight:700}.status-active{color:#176038;background:#dff4e8}.status-inactive{color:#6a4a13;background:#f7ead0}.eyebrow{margin:0 0 .75rem;color:#2878a0;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;font-size:clamp(2.25rem,7vw,4.5rem);line-height:1}.intro{margin:1.5rem 0 0;color:#52687c;font-size:1.125rem;line-height:1.6}.field{display:grid;gap:.5rem;margin-top:2rem}.field label{font-weight:700}.field select,.field input,.field textarea{width:100%;padding:.8rem 1rem;border:1px solid #9fb2c3;border-radius:.6rem;color:#17324d;background:#fff;font:inherit}.field select:focus-visible{outline:3px solid rgb(40 120 160 / 30%);outline-offset:2px}.field input:focus-visible{outline:3px solid rgb(40 120 160 / 30%);outline-offset:2px}.field textarea:focus-visible{outline:3px solid rgb(40 120 160 / 30%);outline-offset:2px}.feedback{margin:2rem 0 0;color:#52687c}.feedback.error{color:#a32222}.feedback.success{color:#237a45}.entry-form{margin-top:2rem;padding:1.5rem;border:1px solid #d9e3eb;border-radius:1rem;background:#f8fbfd}.entry-form h3{margin:0;font-size:1.15rem}.entry-form .field{margin-top:1rem}.entry-form button{margin-top:1.5rem;padding:.8rem 1.2rem;border:0;border-radius:.6rem;color:#fff;background:#2878a0;font:inherit;font-weight:700;cursor:pointer}.entry-form button:disabled{cursor:wait;opacity:.65}.entry-form .secondary-button{margin-left:.75rem;color:#17324d;background:#d9e3eb}td button{padding:.4rem .7rem;border:1px solid #2878a0;border-radius:.4rem;color:#2878a0;background:#fff;font:inherit;cursor:pointer}td button+button{margin-left:.5rem}td .danger-button{border-color:#a32222;color:#a32222}.field-error{margin:.4rem 0 0;color:#a32222;font-size:.9rem}.timesheet{margin-top:2.5rem;padding-top:2rem;border-top:1px solid #d9e3eb}.timesheet h2{margin:0;font-size:1.35rem}.date-field{max-width:24rem;margin-top:1.25rem}.date-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.5rem;align-items:center}.date-navigation-button{min-width:2.75rem;min-height:2.75rem;padding:.6rem;border:1px solid #2878a0;border-radius:.6rem;color:#2878a0;background:#fff;font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.date-navigation-button:hover{background:#edf3f8}.date-navigation-button:disabled{cursor:not-allowed;opacity:.55}.date-navigation-button:focus-visible{outline:3px solid rgb(40 120 160 / 30%);outline-offset:2px}.reconciliation-navigation-button{min-height:2.75rem;padding:.6rem .8rem;border:1px solid #2878a0;border-radius:.5rem;color:#fff;background:#2878a0;font-weight:700;cursor:pointer}.reconciliation-navigation-button:focus-visible{outline:3px solid rgb(40 120 160 / 30%);outline-offset:2px}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.summary div{padding:1rem;border-radius:.75rem;background:#edf3f8}.summary dt{color:#52687c;font-size:.85rem}.summary dd{margin:.35rem 0 0;font-size:1.25rem;font-weight:700}.summary .summary-status{border-left:.35rem solid #52687c}.summary .status-quadrata{border-left-color:#237a45}.summary .status-eccedente{border-left-color:#a05a00}.empty-state{margin:1.5rem 0 0;padding:1.25rem;border:1px dashed #9fb2c3;border-radius:.75rem;color:#52687c;text-align:center}.table-wrapper{overflow-x:auto;margin-top:1.5rem}.reconciliation-panel{width:min(100%,96rem);min-width:0;max-width:calc(100vw - 4rem);padding:clamp(1.25rem,3vw,2.5rem)}.reconciliation-controls{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem}.reconciliation-controls label{font-weight:700}.reconciliation-controls input,.reconciliation-controls button,.feedback button{min-height:2.5rem;padding:.5rem .75rem;border:1px solid #2878a0;border-radius:.5rem;color:#17324d;background:#fff;font:inherit}.reconciliation-controls button,.feedback button{font-weight:700;cursor:pointer}.reconciliation-controls button:focus-visible,.reconciliation-controls input:focus-visible,.feedback button:focus-visible,.reconciliation-table-wrapper:focus-visible,.reconciliation-cell:focus-visible{outline:3px solid rgb(40 120 160 / 35%);outline-offset:2px}.reconciliation-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:1.5rem 0 0;padding:0;list-style:none}.reconciliation-legend li{display:flex;align-items:center;gap:.4rem}.reconciliation-legend-symbol{display:inline-grid;width:1.5rem;height:1.5rem;place-items:center;border:1px solid rgb(23 50 77 / 18%);border-radius:.2rem;font-weight:800}.reconciliation-table-wrapper{overflow:auto;width:100%;max-width:100%;max-height:min(70vh,48rem);margin-top:1rem;border:1px solid #d9e3eb;border-radius:.5rem}.reconciliation-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.reconciliation-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.reconciliation-table th,.reconciliation-table td{border-right:1px solid #d9e3eb;border-bottom:1px solid #d9e3eb}.reconciliation-table thead th{position:sticky;z-index:2;top:0;min-width:2rem;padding:.35rem .2rem;background:#fff;text-align:center}.reconciliation-table thead th span,.reconciliation-table thead th abbr{display:block}.reconciliation-table thead th abbr{margin-top:.15rem;border:0;text-decoration:none;text-transform:capitalize}.reconciliation-table .reconciliation-user-heading{position:sticky;z-index:1;left:0;min-width:13rem;max-width:20rem;padding:.45rem .75rem;background:#fff;color:#17324d;text-align:left;white-space:nowrap}.reconciliation-table thead .reconciliation-user-heading{z-index:3}.reconciliation-table .reconciliation-weekend{background:#e3e9ee}.reconciliation-cell{position:relative;width:1.5rem;min-width:1.5rem;height:1.5rem;padding:0;font-size:.85rem;font-weight:800;line-height:1;text-align:center;vertical-align:middle;cursor:help}.reconciliation-cell-navigable{cursor:pointer}.reconciliation-cell-action{width:100%;height:100%;padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;cursor:pointer}.reconciliation-cell-action:focus-visible{outline:3px solid rgb(40 120 160 / 45%);outline-offset:-3px}.reconciliation-cell-missing{color:#fff;background:#9b1c2c}.reconciliation-cell-incomplete{color:#6b3100;background:#ffe0bd}.reconciliation-cell-balanced{color:#145c32;background:#d8f0df}.reconciliation-cell-exceeded{color:#674900;background:#ffedaa}.reconciliation-cell-not_evaluated{color:#52687c;background:#edf1f4}.reconciliation-callout{position:fixed;z-index:1000;width:max-content;max-width:min(18rem,calc(100vw - 1rem));max-height:calc(100vh - 1rem);overflow:auto;padding:.55rem .7rem;border-radius:.35rem;color:#fff;background:#17324d;box-shadow:0 .4rem 1rem #0d233640;font-size:.8rem;font-weight:500;line-height:1.35;text-align:left;white-space:normal;pointer-events:none}table{width:100%;border-collapse:collapse}th,td{padding:.85rem;border-bottom:1px solid #d9e3eb;text-align:left;vertical-align:top}th{color:#52687c;font-size:.85rem}@media(max-width:40rem){.app-header,.header-identity,.app-header nav{align-items:flex-start;flex-direction:column}.current-user{flex-direction:column}.navigation-menu-list{right:auto;left:0}.summary{grid-template-columns:1fr}.date-field{max-width:100%}.date-navigation{grid-template-columns:auto minmax(0,1fr) auto}.reconciliation-navigation-button{grid-column:1 / -1;justify-self:end}.app-shell{padding:1rem}.reconciliation-controls{align-items:stretch;flex-wrap:wrap}.reconciliation-controls label{flex-basis:100%}.reconciliation-panel{max-width:calc(100vw - 2rem)}.form-grid{grid-template-columns:1fr}.field-label-row,.section-heading,.catalog-inline-form,.access-toolbar{align-items:stretch;flex-direction:column}.access-toolbar .field:first-child{flex-basis:auto}.access-toolbar button{width:100%}.permission-grid-header{display:none}.permission-grid-row{grid-template-columns:2rem minmax(0,1fr)}.permission-scope{grid-column:2}}:focus-visible{outline-color:var(--color-focus)!important}.authenticated-shell{display:grid;grid-template-columns:17.5rem minmax(0,1fr);min-height:100vh;background:var(--color-canvas)}.authenticated-content{min-width:0}.authenticated-content .app-shell{width:100%;min-width:0;min-height:calc(100vh - 4.25rem)}.authenticated-content .welcome-panel,.authenticated-content .table-wrapper{min-width:0;max-width:100%}.app-sidebar{position:sticky;z-index:30;top:0;display:flex;flex-direction:column;width:17.5rem;height:100vh;overflow-y:auto;padding:1.5rem 1.25rem;color:var(--color-text-on-strong);background:var(--color-surface-strong);box-shadow:.5rem 0 1.75rem #00000024}.sidebar-brand{padding-bottom:1.25rem;border-bottom:.2rem solid var(--color-action);font-size:1.45rem;font-weight:900;letter-spacing:.04em}.sidebar-brand span{display:block;margin-top:.2rem;color:var(--color-text-on-strong-muted);font-size:.85rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.sidebar-profile{display:grid;gap:.65rem;margin:1.5rem 0;padding:1rem;border:1px solid color-mix(in srgb,var(--color-text-on-strong) 26%,transparent);border-radius:.5rem}.sidebar-profile>div{min-width:0}.sidebar-profile dt{color:var(--color-text-on-strong-muted);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.sidebar-profile dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-weight:650}.app-sidebar nav{display:grid;gap:.35rem}.app-sidebar nav>a,.navigation-menu-trigger,.link-button{width:100%;padding:.7rem .75rem;border:0;border-radius:.35rem;color:var(--color-text-on-strong);background:transparent;font-weight:750;text-align:left;text-decoration:none;cursor:pointer}.app-sidebar nav>a:hover,.navigation-menu-trigger:hover,.link-button:hover{background:color-mix(in srgb,var(--color-text-on-strong) 12%,transparent)}.navigation-menu{position:relative}.navigation-menu-trigger{display:flex;justify-content:space-between}.navigation-menu-list{position:static;display:grid;min-width:0;margin:.2rem 0 .35rem;padding:.2rem 0 .2rem .8rem;border:0;border-left:2px solid var(--color-action);border-radius:0;background:transparent;box-shadow:none}.navigation-menu-list a{padding:.6rem .7rem;border-radius:.3rem;color:var(--color-text-on-strong-muted);white-space:normal}.navigation-menu-list a:hover,.navigation-menu-list a:focus-visible{color:var(--color-text-on-strong);background:color-mix(in srgb,var(--color-text-on-strong) 12%,transparent)}.help-shell{max-width:74rem}.help-panel{min-width:0}.info-panel{max-width:52rem}.info-details{display:grid;gap:1rem;margin:2rem 0 0}.info-details div{padding:1rem 1.25rem;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.info-details dt{color:var(--color-text-muted);font-size:.85rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.info-details dd{margin:.35rem 0 0;font-size:1.15rem;font-weight:700}.info-website{margin:1.75rem 0 0}.info-website a{color:var(--color-action);font-weight:700}.markdown-content{color:var(--color-text);line-height:1.65;overflow-wrap:anywhere}.markdown-content h1{font-size:clamp(1.55rem,4vw,2.1rem)}.markdown-content h2{margin-top:var(--space-7)}.markdown-content h3{margin-top:var(--space-5)}.markdown-content img{display:block;max-width:100%;height:auto;margin:var(--space-5) auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.markdown-content table{width:100%;border-collapse:collapse}.markdown-content th,.markdown-content td{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);text-align:left;vertical-align:top}.markdown-content th{background:var(--color-surface-subtle)}.markdown-content blockquote{margin-inline:0;padding:var(--space-2) var(--space-4);border-left:.25rem solid var(--color-action);background:var(--color-surface-subtle)}@media(max-width:40rem){.markdown-content table{display:block;overflow-x:auto}}.sidebar-logout{margin-top:auto}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:4.25rem;padding:.75rem clamp(1rem,3vw,2rem);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text);background:var(--color-panel)}.current-user-name{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.icon-button{display:inline-grid;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--color-border);border-radius:50%;place-items:center;color:var(--color-text);background:var(--color-panel);font-size:1.3rem;cursor:pointer}.icon-button:hover{border-color:var(--color-action);color:var(--color-action)}.drawer-backdrop{position:fixed;z-index:40;inset:0;width:100%;height:100%;padding:0;border:0;background:#0000009e;cursor:default}.app-drawer{position:fixed;z-index:50;inset:0 auto 0 0;width:min(18rem,calc(100vw - 2.5rem));max-width:100%;animation:drawer-enter .16s ease-out}.drawer-close{align-self:end;width:2.5rem;height:2.5rem;margin:-.5rem -.25rem .5rem 0;padding:0;border:1px solid color-mix(in srgb,var(--color-text-on-strong) 42%,transparent);border-radius:50%;color:var(--color-text-on-strong);background:transparent;font-size:1.6rem;cursor:pointer}@keyframes drawer-enter{0%{transform:translate(-100%)}to{transform:translate(0)}}.login-brand{display:grid;justify-items:start;gap:.65rem;margin-bottom:1.5rem}.login-logo{display:block;width:min(100%,16rem);height:auto;object-fit:contain}.login-brand p{margin:0;color:var(--color-text-muted);font-size:.85rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.welcome-panel,.catalog-manager,.field input,.field textarea,.field select,.reconciliation-controls input,.reconciliation-controls button,.feedback button,.reconciliation-table thead th,.reconciliation-table .reconciliation-user-heading,td button{color:var(--color-text);background:var(--color-panel)}.welcome-panel{box-shadow:var(--shadow-panel)}.auth-shell{background:linear-gradient(145deg,var(--color-canvas),var(--color-canvas-accent))}.entry-form,.admin-user-unified-form>fieldset,.summary div{background:var(--color-surface-subtle)}.intro,.feedback,.form-note,.admin-project-form small,.summary dt,.empty-state,th{color:var(--color-text-muted)}.field input,.field textarea,.field select,.export-interval,.project-metadata-fields,.role-fields,.catalog-manager,.entry-form,.reconciliation-table-wrapper,.reconciliation-table th,.reconciliation-table td,th,td{border-color:var(--color-border-subtle)}.login-form button,.login-panel>button,.primary-action,.catalog-inline-form button,.form-actions button,.section-heading>button,.entry-form button,.reconciliation-navigation-button{color:var(--color-text-on-strong);background:var(--color-action)}.login-form button:hover,.primary-action:hover,.catalog-inline-form button:hover,.form-actions button:hover,.section-heading>button:hover,.entry-form button:hover,.reconciliation-navigation-button:hover{background:var(--color-action-hover)}.inline-link-button,.eyebrow,td button,.date-navigation-button{color:var(--color-action)}.feedback.error,.field-error,td .danger-button{color:var(--color-error)}.global-feedback{background:var(--color-error-soft)}.feedback.success{color:var(--color-success)}.status-active{color:var(--color-success);background:var(--color-success-soft)}.status-inactive{color:var(--color-warning);background:var(--color-warning-soft)}.remember-me-field input[type=checkbox]{accent-color:var(--color-action)}.catalog-inline-form .secondary-button,.form-actions .secondary-button,.section-heading>.secondary-button,.welcome-panel>.secondary-button,.entry-form .secondary-button{color:var(--color-text);background:var(--color-surface-subtle)}.date-navigation-button{border-color:var(--color-action);background:var(--color-panel)}.date-navigation-button:hover{background:var(--color-action-soft)}.reconciliation-table .reconciliation-weekend{background:var(--color-weekend)}.reconciliation-cell-missing{color:var(--color-text-on-strong);background:var(--color-state-missing)}.reconciliation-cell-incomplete{color:var(--color-state-incomplete-text);background:var(--color-state-incomplete)}.reconciliation-cell-balanced{color:var(--color-state-balanced-text);background:var(--color-state-balanced)}.reconciliation-cell-exceeded{color:var(--color-state-exceeded-text);background:var(--color-state-exceeded)}.reconciliation-cell-not_evaluated{color:var(--color-text-muted);background:var(--color-state-neutral)}.reconciliation-callout{color:var(--color-text-on-strong);background:var(--color-surface-strong)}@media(max-width:48rem){.authenticated-shell{display:block}.authenticated-content{width:100%;overflow-x:clip}.app-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;flex-direction:initial}.authenticated-content .app-shell{min-height:calc(100vh - 4.25rem);padding:1rem}.welcome-panel{padding:clamp(1.25rem,6vw,2rem);border-radius:.8rem}h1,.login-panel h1{font-size:clamp(1.9rem,10vw,3rem)}.navigation-menu-list{right:auto;left:auto}.table-wrapper{width:100%;min-width:0;max-width:100%;overflow-x:auto}}@media(prefers-reduced-motion:reduce){.app-drawer{animation:none}}.purchase-panel{width:min(100%,96rem)}.purchase-heading{align-items:flex-start}.purchase-heading .intro{max-width:52rem}.purchase-heading .primary-action{flex:0 0 auto;margin-top:0}.purchase-table{min-width:76rem}.purchase-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.purchase-table th button{padding:0;border:0;color:inherit;background:transparent;font:inherit;font-weight:800;cursor:pointer}.purchase-table th[aria-sort=ascending] button:after{content:" ↑"}.purchase-table th[aria-sort=descending] button:after{content:" ↓"}.purchase-badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.8rem;font-weight:800}.expense-opex{color:var(--color-action);background:var(--color-action-soft)}.expense-capex{color:var(--color-warning);background:var(--color-warning-soft)}.purchase-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem}.purchase-pagination p{margin:0 auto 0 0}.purchase-pagination select,.purchase-pagination button{min-height:2.5rem;padding:.45rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-panel);font:inherit}.purchase-pagination button:not(:disabled){cursor:pointer}.purchase-pagination button:disabled{cursor:not-allowed;opacity:.55}.purchase-drawer-layer{position:fixed;z-index:100;inset:0}.purchase-drawer-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#0000009e}.purchase-drawer{position:absolute;inset:0 0 0 auto;width:min(46rem,calc(100vw - 2rem));overflow-y:auto;padding:clamp(1.25rem,3vw,2rem);color:var(--color-text);background:var(--color-panel);box-shadow:-.75rem 0 2rem #0000003d;animation:purchase-drawer-enter .16s ease-out}.purchase-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.purchase-drawer h2{margin:0;font-size:clamp(1.6rem,5vw,2.25rem)}.purchase-form .field{margin-top:1rem}.purchase-money-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(7rem,.6fr)}.purchase-total{display:grid;gap:.35rem;margin-top:1.25rem;padding:1.1rem 1.25rem;border-left:.35rem solid var(--color-action);border-radius:var(--radius-md);background:var(--color-action-soft)}.purchase-total span{color:var(--color-text-muted);font-size:.85rem;font-weight:750}.purchase-total strong{font-size:1.35rem}.purchase-drawer-actions{position:sticky;bottom:-2rem;margin:1.5rem -2rem -2rem;padding:1rem 2rem;border-top:1px solid var(--color-border-subtle);background:var(--color-panel)}@keyframes purchase-drawer-enter{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:48rem){.purchase-heading{align-items:stretch;flex-direction:column}.purchase-heading .primary-action{width:100%}.purchase-pagination{align-items:stretch;flex-direction:column}.purchase-pagination p{margin-right:0}.purchase-drawer{width:100vw;max-width:100%;padding:1.25rem}.purchase-money-grid{grid-template-columns:1fr}.purchase-drawer-actions{bottom:-1.25rem;margin:1.5rem -1.25rem -1.25rem;padding:1rem 1.25rem}}@media(prefers-reduced-motion:reduce){.purchase-drawer{animation:none}}
