@charset "UTF-8";button.btn,a.btn,.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:2.25rem;min-height:2.25rem;max-height:2.25rem;margin:0;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 .95rem;font:inherit;font-weight:600;font-size:.875rem;line-height:1;letter-spacing:0;vertical-align:middle;appearance:none;-webkit-appearance:none;cursor:pointer;text-decoration:none;color:inherit}button.btn-primary,.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}button.btn-primary:hover,.btn-primary:hover{background:color-mix(in srgb,var(--accent) 88%,black);border-color:color-mix(in srgb,var(--accent) 88%,black)}button.btn-ghost,.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}button.btn-ghost:hover,.btn-ghost:hover{background:var(--bg)}.btn:disabled{opacity:.55;cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.stack{display:grid;gap:1rem}.grid-2{display:grid;gap:1rem;align-items:start;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.field{display:grid;gap:.35rem;align-content:start}.field label{font-size:.8125rem;color:var(--ink-muted);font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.625rem .75rem;background:var(--surface);color:var(--ink);transition:border-color .15s ease}.field select{appearance:none;-webkit-appearance:none;padding-right:2.25rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:.75rem}.field input:focus,.field select:focus,.field textarea:focus,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--line);box-shadow:none}.field input::placeholder,.field textarea::placeholder{color:#94a3b8}.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:var(--danger)}.field.is-invalid input:focus,.field.is-invalid select:focus,.field.is-invalid textarea:focus{border-color:var(--danger)}.field-error{margin:0;font-size:.78rem;font-weight:550;color:var(--danger)}.field-hint{margin:0;font-size:.8rem;color:var(--ink-muted);line-height:1.4;font-weight:400}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:.75rem .85rem;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);font-weight:600;background:var(--bg)}.table a{color:var(--accent);text-decoration:none;font-weight:600}.muted{color:var(--ink-muted)}.error{color:var(--danger);font-size:.875rem}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(14rem,1fr);gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.kanban-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem;min-height:12rem}.kanban-col h3{margin:0 0 .75rem;font-size:.85rem;font-weight:600}.kanban-card{display:block;padding:.75rem;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--line);margin-bottom:.5rem;text-decoration:none;color:inherit}.kanban-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.kanban-card strong{display:block;margin-bottom:.25rem}.steps{display:grid;gap:.5rem}.step{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.step.is-done{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}.rel-dash{gap:1.25rem}.rel-kpi-section-head h2{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:550}.rel-kpi-section-head p{margin:.25rem 0 0}.rel-kpi-section{display:grid;gap:.75rem}.rel-kpi-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}.rel-kpi{display:grid;gap:.3rem;padding:.9rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);text-decoration:none;color:inherit;min-height:6.5rem}.rel-kpi:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}.rel-kpi.is-static{cursor:default}.rel-kpi.is-static:hover{background:var(--surface)}.rel-kpi-label{font-size:.8rem;color:var(--ink-muted);line-height:1.3}.rel-kpi-value{font-family:var(--font-display);font-size:clamp(1.45rem,2.2vw,1.75rem);font-weight:550;letter-spacing:-.02em;line-height:1.1}.rel-kpi-hint{margin-top:auto;font-size:.75rem;color:var(--accent);font-weight:600}.rel-kpi.is-static .rel-kpi-hint{color:var(--ink-muted);font-weight:500}.rel-kpi[data-tone=ok] .rel-kpi-value{color:var(--ok)}.rel-kpi[data-tone=warn] .rel-kpi-value{color:var(--warn)}.rel-kpi[data-tone=danger] .rel-kpi-value{color:var(--danger)}.rel-kpi[data-tone=accent]{border-color:color-mix(in srgb,var(--accent) 22%,var(--line));background:var(--accent-soft)}.rel-bars{display:grid;gap:.65rem}.rel-bar{display:grid;gap:.3rem;text-decoration:none;color:inherit}.rel-bar-meta{display:flex;justify-content:space-between;gap:.75rem;font-size:.88rem}.rel-bar-track{height:.4rem;border-radius:var(--radius-sm);background:var(--bg);overflow:hidden;border:1px solid var(--line)}.rel-bar-fill{height:100%;border-radius:inherit;background:var(--accent);min-width:.35rem}.rel-attention{display:grid;gap:.4rem}.rel-attention-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.7rem .8rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);text-decoration:none;color:inherit}.rel-attention-row:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft)}.rel-attention-cta{display:grid;gap:.35rem;justify-items:end;font-size:.82rem;color:var(--accent);font-weight:600;white-space:nowrap}@media(max-width:720px){.rel-attention-row{flex-direction:column;align-items:flex-start}.rel-attention-cta{justify-items:start}}.relations-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:color-mix(in srgb,var(--ink) 40%,transparent)}.relations-dialog{width:min(28rem,100%);max-height:min(92dvh,100%);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.relations-dialog-wide{width:min(36rem,100%)}.relations-dialog-compose{width:min(44rem,100%)}.relations-dialog-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.relations-dialog-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}.relations-dialog-eyebrow{margin:0 0 .2rem;font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.relations-dialog-title{margin:0;font-family:var(--font-display);font-size:1.2rem;font-weight:550;letter-spacing:-.02em;color:var(--ink)}.relations-dialog-body{flex:1 1 auto;min-height:0;padding:1.15rem 1.35rem;overflow:auto}.relations-dialog-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;padding:.85rem 1.35rem 1.1rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 70%,var(--surface))}.relations-dialog-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:36px;min-height:36px;max-height:36px;margin:0;padding:0 16px;border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-size:.875rem;font-weight:600;line-height:1;cursor:pointer;appearance:none;-webkit-appearance:none;text-decoration:none}.relations-dialog-btn:disabled{opacity:.6;cursor:not-allowed}.relations-dialog-btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.relations-dialog-btn-ghost:hover:not(:disabled){background:var(--bg)}.relations-dialog-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.relations-dialog-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,black);border-color:color-mix(in srgb,var(--accent) 88%,black)}.relations-dialog-btn-danger{background:var(--surface);border-color:var(--line);color:var(--danger)}.relations-dialog-btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}button.proposal-row-remove{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:.35rem;background:transparent;color:var(--ink-muted, #667085);cursor:pointer}button.proposal-row-remove:hover{color:var(--danger, #c2414b);background:color-mix(in srgb,var(--danger, #c2414b) 10%,transparent)}button.proposal-row-remove:hover svg,button.proposal-row-remove:hover .lucide{color:var(--danger, #c2414b)!important;stroke:var(--danger, #c2414b)!important}button.proposal-row-remove:disabled,button.proposal-row-remove.is-disabled{opacity:.35;cursor:not-allowed}html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #00458f;--mat-sys-on-tertiary-fixed: #001b3f;--mat-sys-on-tertiary-fixed-variant: #00458f;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #005cbb;--mat-sys-tertiary-container: #d7e3ff;--mat-sys-tertiary-fixed: #d7e3ff;--mat-sys-tertiary-fixed-dim: #abc7ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Inter, Segoe UI, sans-serif;--mat-sys-body-large-font: Inter, Segoe UI, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Inter, Segoe UI, sans-serif;--mat-sys-body-medium-font: Inter, Segoe UI, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Inter, Segoe UI, sans-serif;--mat-sys-body-small-font: Inter, Segoe UI, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Fraunces, Georgia, serif;--mat-sys-display-large-font: Fraunces, Georgia, serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Fraunces, Georgia, serif;--mat-sys-display-medium-font: Fraunces, Georgia, serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Fraunces, Georgia, serif;--mat-sys-display-small-font: Fraunces, Georgia, serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Fraunces, Georgia, serif;--mat-sys-headline-large-font: Fraunces, Georgia, serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Fraunces, Georgia, serif;--mat-sys-headline-medium-font: Fraunces, Georgia, serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Fraunces, Georgia, serif;--mat-sys-headline-small-font: Fraunces, Georgia, serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Inter, Segoe UI, sans-serif;--mat-sys-label-large-font: Inter, Segoe UI, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 600;--mat-sys-label-medium: 500 .75rem / 1rem Inter, Segoe UI, sans-serif;--mat-sys-label-medium-font: Inter, Segoe UI, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 600;--mat-sys-label-small: 500 .688rem / 1rem Inter, Segoe UI, sans-serif;--mat-sys-label-small-font: Inter, Segoe UI, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Fraunces, Georgia, serif;--mat-sys-title-large-font: Fraunces, Georgia, serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Inter, Segoe UI, sans-serif;--mat-sys-title-medium-font: Inter, Segoe UI, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Inter, Segoe UI, sans-serif;--mat-sys-title-small-font: Inter, Segoe UI, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: #2563eb;--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: #dbeafe;--mat-sys-on-primary-container: #0d2343}:root{--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", "Segoe UI", system-ui, sans-serif;--font-pdf-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--navy: #0d2343;--bg: #f7f9fc;--surface: #ffffff;--ink: #172033;--ink-muted: #667085;--line: #e4e9f0;--accent: #2563eb;--accent-soft: #dbeafe;--accent-foreground: #ffffff;--brand-blue: #2563eb;--danger: #c2414b;--warn: #c87816;--ok: #16875d;--state-info: var(--brand-blue);--state-info-surface: #dbeafe;--state-success: var(--ok);--state-success-surface: #e7f4ee;--state-warning: var(--warn);--state-warning-surface: #fdf3e4;--state-danger: var(--danger);--state-danger-surface: #fbeaec;--state-neutral: var(--ink-muted);--state-neutral-surface: #f1f4f9;--sidebar: #1e2430;--sidebar-gradient: none;--sidebar-foreground: #ffffff;--sidebar-muted: rgb(255 255 255 / .72);--sidebar-active: rgb(255 255 255 / .13);--sidebar-border: rgb(255 255 255 / .12);--sidebar-highlight: #7cb3ff;--radius: 8px;--radius-sm: 6px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100%}body{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font:inherit}textarea{resize:none}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline:none;box-shadow:none}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--surface) inset;transition:background-color 99999s ease-out}.lucide{display:inline-block;vertical-align:middle;flex-shrink:0}.app-toast.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--ink);--mdc-snackbar-supporting-text-color: #fff;--mat-snack-bar-button-color: #fff}.app-toast.toast-ok.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--ok)}.app-toast.toast-info.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--accent)}.app-toast.toast-error.mat-mdc-snack-bar-container{--mdc-snackbar-container-color: var(--danger)}.cdk-overlay-pane.app-feedback-dialog .mat-mdc-dialog-container,.cdk-overlay-pane.app-feedback-dialog .mdc-dialog__container,.cdk-overlay-pane.app-feedback-dialog .mat-mdc-dialog-inner-container,.cdk-overlay-pane.app-feedback-dialog .mdc-dialog__surface{padding:0!important;min-height:0!important}.cdk-overlay-pane.app-feedback-dialog .mdc-dialog__surface{border-radius:12px;overflow:hidden}button.btn-danger,.btn.btn-danger{background:var(--danger);color:#fff;border:1px solid var(--danger)}button.btn-danger:hover:not(:disabled),.btn.btn-danger:hover:not(:disabled){color:#fff;filter:brightness(.95)}
