:root{color-scheme:light;--brand-azul-900: #13283f;--brand-ouro-600: #c48a24;--brand-ouro-700: #ab751e;--brand-marfim-050: #f7f4ec;--color-surface-canvas: var(--brand-marfim-050);--color-surface-card: #fffdf8;--color-surface-subtle: #eee9dc;--color-surface-inverse: var(--brand-azul-900);--color-text-primary: var(--brand-azul-900);--color-text-secondary: #536474;--color-text-inverse: var(--brand-marfim-050);--color-border-default: #d9d2c2;--color-border-strong: #9aa6b2;--color-action-primary: var(--brand-azul-900);--color-action-primary-hover: #1d3d5e;--color-action-primary-text: var(--brand-marfim-050);--color-focus-ring: #2869a8;--color-highlight-institutional: var(--brand-ouro-600);--color-feedback-info-surface: #e8f1fa;--color-feedback-info-text: #164f7e;--color-feedback-success-surface: #e5f4eb;--color-feedback-success-text: #17623b;--color-feedback-warning-surface: #fff1cf;--color-feedback-warning-text: #755500;--color-feedback-danger-surface: #fde9e7;--color-feedback-danger-text: #8c2d24;--color-finance-positive-surface: #e5f4eb;--color-finance-positive-text: #17623b;--color-finance-negative-surface: #fde9e7;--color-finance-negative-text: #8c2d24;--color-finance-neutral-surface: #e8edf2;--color-finance-neutral-text: #3e5366;--color-sync-synced-surface: #e5f4eb;--color-sync-synced-text: #17623b;--color-sync-pending-surface: #fff1cf;--color-sync-pending-text: #755500;--color-sync-conflict-surface: #fde9e7;--color-sync-conflict-text: #8c2d24;--color-sync-offline-surface: #e8edf2;--color-sync-offline-text: #3e5366;--font-family-sans: Inter, ui-sans-serif, system-ui, sans-serif;--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-size-display: 3rem;--font-size-h1: 1.5rem;--font-size-h2: 1.25rem;--font-size-h3: 1rem;--font-size-h4: .875rem;--font-size-body-m: .875rem;--font-size-label: .8125rem;--font-size-caption: .75rem;--font-size-code: .8125rem;--line-height-body: 1.5;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--control-height-sm: 2rem;--control-height-md: 2.25rem;--control-height-lg: 2.5rem;--target-touch: 2.75rem;--row-height-compact: 2.5rem;--row-height-default: 2.75rem;--row-height-comfortable: 3rem;--icon-size-sm: 1rem;--icon-size-md: 1.25rem;--icon-size-lg: 1.5rem;--radius-0: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--elevation-1: 0 1px 3px rgb(19 40 63 / 10%);--elevation-2: 0 8px 24px rgb(19 40 63 / 14%);--elevation-3: 0 20px 70px rgb(19 40 63 / 18%);--content-width-form: 30rem;--content-width-app: 67.5rem;--breakpoint-field: 24.375rem;--breakpoint-tablet: 48rem;--breakpoint-desktop: 80rem;--breakpoint-wide: 90rem;--sidebar-width: 15rem;--topbar-height: 3.5rem;--bottom-nav-height: 3.5rem;--surface: var(--color-surface-canvas);--surface-card: var(--color-surface-card);--text: var(--color-text-primary);--text-muted: var(--color-text-secondary);--border: var(--color-border-default);--brand-primary: var(--color-action-primary);--brand-gold: var(--color-highlight-institutional);--sidebar: var(--sidebar-width);--topbar: var(--topbar-height);--bottom-nav: var(--bottom-nav-height);--row: var(--row-height-default);--touch: var(--target-touch)}html[data-theme=dark]{color-scheme:dark;--color-surface-canvas: #0e1a2b;--color-surface-card: #17304a;--color-surface-subtle: #203c58;--color-surface-inverse: var(--brand-marfim-050);--color-text-primary: var(--brand-marfim-050);--color-text-secondary: #c9d3df;--color-text-inverse: var(--brand-azul-900);--color-border-default: #3b5874;--color-border-strong: #7591aa;--color-action-primary: #dbe8f4;--color-action-primary-hover: var(--brand-marfim-050);--color-action-primary-text: var(--brand-azul-900);--color-focus-ring: #f4f7fb;--color-feedback-info-surface: #173d61;--color-feedback-info-text: #d7ebff;--color-feedback-success-surface: #153f2d;--color-feedback-success-text: #d9f5e5;--color-feedback-warning-surface: #4b3b12;--color-feedback-warning-text: #fff0bd;--color-feedback-danger-surface: #542722;--color-feedback-danger-text: #ffe1dd;--color-finance-positive-surface: #153f2d;--color-finance-positive-text: #d9f5e5;--color-finance-negative-surface: #542722;--color-finance-negative-text: #ffe1dd;--color-finance-neutral-surface: #2a4157;--color-finance-neutral-text: #e4edf5;--color-sync-synced-surface: #153f2d;--color-sync-synced-text: #d9f5e5;--color-sync-pending-surface: #4b3b12;--color-sync-pending-text: #fff0bd;--color-sync-conflict-surface: #542722;--color-sync-conflict-text: #ffe1dd;--color-sync-offline-surface: #2a4157;--color-sync-offline-text: #e4edf5}*{box-sizing:border-box}html{font-family:var(--font-family-sans);font-size:16px;background:var(--color-surface-canvas);color:var(--color-text-primary)}body{margin:0;min-width:320px;background:var(--color-surface-canvas);color:var(--color-text-primary);font-size:var(--font-size-body-m);line-height:var(--line-height-body)}button,a,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;background:var(--color-surface-inverse);color:var(--color-text-inverse)}.brand{display:flex;align-items:center;gap:var(--space-3);font-weight:750;font-size:1.05rem}.brand span{display:grid;place-items:center;width:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-md);color:var(--brand-azul-900);background:var(--color-highlight-institutional)}.eyebrow{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.sidebar .eyebrow{margin:var(--space-8) 0 var(--space-3);color:color-mix(in srgb,var(--color-text-inverse) 78%,transparent)}nav{display:grid;gap:var(--space-1)}nav a{min-height:var(--target-touch);display:flex;align-items:center;padding:0 var(--space-3);border-radius:var(--radius-md);color:color-mix(in srgb,var(--color-text-inverse) 84%,transparent);text-decoration:none}nav a.active,nav a:hover{color:var(--color-text-inverse);background:color-mix(in srgb,var(--color-text-inverse) 10%,transparent)}.signout{margin-top:auto;justify-content:flex-start;color:color-mix(in srgb,var(--color-text-inverse) 84%,transparent)}.signout:hover{color:var(--color-text-inverse)}.content{flex:1;min-width:0;padding:0 clamp(var(--space-4),4vw,var(--space-10)) var(--space-8)}.topbar{min-height:var(--topbar-height);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.topbar h1{margin:0;font-size:var(--font-size-h2);letter-spacing:-.03em}.topbar .eyebrow{margin:0}.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.avatar,.ui-avatar{display:grid;place-items:center;width:var(--control-height-md);height:var(--control-height-md);border-radius:var(--radius-full);background:var(--color-surface-subtle);color:var(--color-text-primary);font-weight:700}.bottom-nav{display:none}.ui-button,.btn-primary,.login-actions button{min-height:var(--target-touch);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:650}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button--sm{--control-visual-height: var(--control-height-sm);padding-inline:var(--space-3)}.ui-button--md{--control-visual-height: var(--control-height-md)}.ui-button--lg{--control-visual-height: var(--control-height-lg);padding-inline:var(--space-5)}.ui-button--primary,.btn-primary,.login-actions button{background:var(--color-action-primary);color:var(--color-action-primary-text)}.ui-button--primary:hover,.btn-primary:hover,.login-actions button:hover{background:var(--color-action-primary-hover)}.ui-button--secondary,.theme-toggle{border-color:var(--color-border-default);background:var(--color-surface-card);color:var(--color-text-primary)}.ui-button--danger{background:var(--color-feedback-danger-text);color:var(--color-feedback-danger-surface)}.ui-button--ghost{background:transparent;color:var(--color-text-primary)}.sidebar .signout{color:color-mix(in srgb,var(--color-text-inverse) 84%,transparent)}.sidebar .signout:hover{color:var(--color-text-inverse)}.ui-spinner{width:var(--icon-size-sm);height:var(--icon-size-sm);border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ui-input,.preset select,.filter-bar select{min-height:var(--target-touch);width:100%;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-surface-card);color:var(--color-text-primary);padding:0 var(--space-3)}.ui-input[aria-invalid=true]{border-color:var(--color-feedback-danger-text)}.ui-upload{display:grid;gap:var(--space-2)}.ui-upload__dropzone{min-height:7rem;display:grid;place-content:center;gap:var(--space-1);padding:var(--space-4);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-card);cursor:pointer}.ui-upload__dropzone input{width:1px;height:1px;position:absolute;opacity:0}.ui-upload__dropzone span,.ui-field-message{color:var(--color-text-secondary)}.ui-field-message{margin:0;font-size:var(--font-size-caption)}.ui-selection{min-height:var(--target-touch);display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.ui-selection input{width:var(--icon-size-md);height:var(--icon-size-md);accent-color:var(--color-action-primary)}.ui-progress{display:grid;gap:var(--space-2)}.ui-progress__label{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-label)}.ui-progress progress{width:100%;accent-color:var(--color-action-primary)}.ui-divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-caption)}.ui-divider:before,.ui-divider:after{content:"";flex:1;border-top:1px solid var(--color-border-default)}.ui-tooltip{position:relative;display:inline-flex}.ui-tooltip:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + var(--space-2));z-index:30;max-width:16rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-inverse);color:var(--color-text-inverse);font-size:var(--font-size-caption);white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%)}.ui-tooltip:hover:after,.ui-tooltip:focus-within:after{opacity:1}.ui-badge{display:inline-flex;align-items:center;min-height:var(--control-height-sm);padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:700}.ui-badge--neutral{background:var(--color-finance-neutral-surface);color:var(--color-finance-neutral-text)}.ui-badge--info{background:var(--color-feedback-info-surface);color:var(--color-feedback-info-text)}.ui-badge--success{background:var(--color-feedback-success-surface);color:var(--color-feedback-success-text)}.ui-badge--warning{background:var(--color-feedback-warning-surface);color:var(--color-feedback-warning-text)}.ui-badge--danger{background:var(--color-feedback-danger-surface);color:var(--color-feedback-danger-text)}.ui-card{border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-surface-card);box-shadow:var(--elevation-1)}.ui-table{width:100%;border-collapse:collapse;background:var(--color-surface-card)}.ui-toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.ui-toast--neutral{background:var(--color-finance-neutral-surface);color:var(--color-finance-neutral-text)}.ui-toast--info{background:var(--color-feedback-info-surface);color:var(--color-feedback-info-text)}.ui-toast--success{background:var(--color-feedback-success-surface);color:var(--color-feedback-success-text)}.ui-toast--warning{background:var(--color-feedback-warning-surface);color:var(--color-feedback-warning-text)}.ui-toast--danger{background:var(--color-feedback-danger-surface);color:var(--color-feedback-danger-text)}.ui-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--brand-azul-900) 68%,transparent)}.ui-modal__panel{width:min(100%,36rem);max-height:90vh;overflow:auto;padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-surface-card);color:var(--color-text-primary);box-shadow:var(--elevation-3)}.ui-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.ui-modal__header h2,.ui-modal__header p{margin:0}.ui-modal__header p{margin-top:var(--space-1);color:var(--color-text-secondary)}.confirm-dialog__body{margin-top:var(--space-5)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.confirm-dialog__error{color:var(--color-feedback-danger-text)}.page{max-width:61.25rem}.intro{max-width:38.75rem;margin:var(--space-12) 0 var(--space-8)}.intro h2{margin:var(--space-2) 0 var(--space-4);font-size:clamp(1.8rem,4vw,var(--font-size-display));line-height:1.05;letter-spacing:-.04em}.intro p:not(.eyebrow){color:var(--color-text-secondary);font-size:1.05rem;line-height:1.6}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.metrics article{display:flex;justify-content:space-between;padding:var(--space-5);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);background:var(--color-surface-card)}.metrics span{font-weight:650}.login{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:var(--color-surface-canvas)}.login-card{width:min(100%,27.5rem);padding:var(--space-10);border-radius:var(--radius-xl);background:var(--color-surface-card);color:var(--color-text-primary);box-shadow:var(--elevation-3)}.login-card .brand{color:var(--color-text-primary)}.login-card h1{margin:var(--space-8) 0 var(--space-2);font-size:2.2rem;letter-spacing:-.04em}.login-card p{color:var(--color-text-secondary);line-height:var(--line-height-body)}.preset{display:grid;gap:var(--space-2);margin-top:var(--space-5);font-size:var(--font-size-label);font-weight:650}.login-actions{display:grid;gap:var(--space-2);margin:var(--space-6) 0}.login-card a{color:var(--color-action-primary);font-size:var(--font-size-label)}.works-page{display:grid;gap:var(--space-4);max-width:var(--content-width-app)}.scope-chip{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-label)}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-3)}.filter-bar label,.work-form label{display:grid;gap:var(--space-2);min-width:12rem;font-size:var(--font-size-label);font-weight:650}.works-table th,.works-table td{height:var(--row-height-default);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-default);text-align:left;font-size:var(--font-size-body-m);white-space:nowrap}.works-table th{position:sticky;top:0;background:var(--color-surface-subtle);font-size:var(--font-size-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.works-table a{color:var(--color-text-primary);font-weight:650}.works-datalist{display:none;list-style:none;margin:0;padding:0}.works-datalist a{min-height:var(--target-touch);display:grid;align-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-surface-card);color:var(--color-text-primary);text-decoration:none}.works-datalist span{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.works-datalist .ui-badge{justify-self:start}.state-card{max-width:32.5rem;display:grid;gap:var(--space-3);padding:var(--space-6)}.state-card h2{margin:0;font-size:var(--font-size-h2)}.state-card p{margin:0;color:var(--color-text-secondary);line-height:var(--line-height-body)}.state-denied{border-left:4px solid var(--color-feedback-warning-text)}.state-error{border-left:4px solid var(--color-feedback-danger-text)}.work-form{display:grid;gap:var(--space-4);max-width:var(--content-width-form)}.form-note,.result-count{color:var(--color-text-secondary)}.money-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.money-display{display:grid;gap:var(--space-1);margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-finance-neutral-surface);color:var(--color-finance-neutral-text)}.money-display--warning{background:var(--color-feedback-warning-surface);color:var(--color-feedback-warning-text)}.money-display--success{background:var(--color-feedback-success-surface);color:var(--color-feedback-success-text)}.money-display__label{font-size:var(--font-size-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.money-display__amount{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-h3, 1.25rem)}.budget-page header h2{margin:0;font-size:var(--font-size-h2)}.budget-form,.budget-item-form{padding:var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-surface-card);grid-template-columns:repeat(2,minmax(0,1fr))}.budget-item-form{max-width:var(--content-width-form)}.budget-field-wide{grid-column:1 / -1}.budget-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)}.budget-heading h3,.budget-heading p{margin:0}.budget-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.budget-summary p{display:grid;gap:var(--space-1);margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-finance-neutral-surface)}.budget-summary span{color:var(--color-text-secondary);font-size:var(--font-size-caption);text-transform:uppercase}.budget-summary strong,.budget-money{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}.budget-table-wrap{overflow-x:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.budget-table th,.budget-table td{height:var(--row-height-default);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border-default);text-align:left;white-space:nowrap}.budget-table th{position:sticky;top:0;z-index:1;background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-caption);text-transform:uppercase}.budget-table .ui-input,.budget-table select{min-width:7rem;min-height:var(--control-height-sm)}.budget-table td:nth-child(2) .ui-input{min-width:15rem}.budget-datalist{display:none;list-style:none;margin:0;padding:0}.budget-datalist li{min-height:3.5rem;display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background:var(--color-surface-card)}.budget-datalist span{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.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}.finance-page{display:grid;gap:var(--space-6);max-width:var(--content-width-app)}.finance-intro{margin-bottom:0}.finance-loading{color:var(--color-text-secondary)}.finance-policy-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,1fr);gap:var(--space-8);padding:var(--space-6)}.finance-policy-card h3,.finance-policy-card p,.finance-pending h3{margin-top:0}.finance-policy-card p:not(.eyebrow),.finance-policy-actions span{color:var(--color-text-secondary)}.finance-policy-form{display:grid;align-content:start;gap:var(--space-4)}.finance-policy-form label{display:grid;gap:var(--space-2);font-size:var(--font-size-label);font-weight:650}.finance-policy-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.finance-pending{display:grid;gap:var(--space-4)}.finance-table-wrap{overflow-x:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-xl)}.finance-table-wrap th,.finance-table-wrap td{height:var(--row-height-default);padding:0 var(--space-3);border-bottom:1px solid var(--color-border-default);text-align:left;white-space:nowrap}.finance-table-wrap th{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:var(--font-size-caption);letter-spacing:.04em;text-transform:uppercase}.finance-money{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums}.approval-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding:0;list-style:none}.approval-flow li{padding:var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-secondary)}.approval-flow li[data-state=current]{border-color:var(--color-feedback-warning-text);background:var(--color-feedback-warning-surface);color:var(--color-feedback-warning-text)}.approval-flow li[data-state=complete]{border-color:var(--color-feedback-success-text);background:var(--color-feedback-success-surface);color:var(--color-feedback-success-text)}@media(max-width:47.99rem){.shell{display:block;padding-bottom:var(--bottom-nav-height)}.sidebar{width:auto;padding:var(--space-4)}.sidebar nav,.sidebar .eyebrow,.signout{display:none}.content{padding:0 var(--space-4) var(--space-6)}.topbar-actions{gap:var(--space-2)}.intro{margin:var(--space-8) 0 var(--space-6)}.metrics{grid-template-columns:1fr}.filter-bar>label{width:100%}.money-dimensions,.budget-form,.budget-item-form,.budget-summary{grid-template-columns:1fr}.budget-field-wide{grid-column:auto}.budget-table-wrap{display:none}.budget-datalist{display:grid;gap:var(--space-2)}.finance-policy-card{grid-template-columns:1fr}.works-table-wrap{display:none}.works-datalist{display:grid;gap:var(--space-2)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:10;min-height:var(--bottom-nav-height);display:grid;grid-auto-flow:column;background:var(--color-surface-inverse)}.bottom-nav a{min-height:var(--bottom-nav-height);justify-content:center;color:color-mix(in srgb,var(--color-text-inverse) 84%,transparent)}.bottom-nav a.active{color:var(--color-text-inverse);background:color-mix(in srgb,var(--color-text-inverse) 10%,transparent)}.login-card{padding:var(--space-8)}}@media(min-width:80rem){.content{padding-inline:var(--space-10)}}@media(min-width:90rem){.content{padding-inline:var(--space-12)}}
