:root{--bg-base:#1e2023;--bg-surface:#24272b;--bg-elevated:#2a2e33;--bg-input:#2a2e33;--bg-sidebar:oklch(22.1269% .006599 258.365);--border:#3a4047;--border-strong:#545c66;--text-primary:#eef0f2;--text-secondary:#c1c7ce;--text-muted:#929ba5;--text-inverse:#fff;--accent:#e07a55;--accent-subtle:#372b27;--selection:#7fa6c5;--selection-subtle:#2b343d;--status-done:#79a98f;--status-done-bg:#26352e;--status-active:var(--status-info);--status-active-bg:var(--status-info-bg);--status-todo:var(--status-muted);--status-todo-bg:var(--status-muted-bg);--status-alert:#d87676;--status-alert-bg:#3a292b;--status-warn:#d3a05b;--status-warn-bg:#3a3124;--status-info:#7ea7c9;--status-info-bg:#27333d;--status-neutral:#c1c7ce;--status-neutral-bg:#30353b;--status-muted:#929ba5;--status-muted-bg:#2a2e33;--progress-fill:#6fa0a8;--progress-track:#3a4047;--shadow:0 1px 3px oklch(0% 0 0/.35);--shadow-lg:0 4px 16px oklch(0% 0 0/.5);--overlay-dim:#00000026;--focus-ring-color:#7fa6c5;--focus-ring:0 0 0 2px var(--focus-ring-color);--space-2px:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-5:20px;--radius-none:0;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:var(--radius-lg);--radius-full:9999px;--control-height-sm:28px;--control-height-md:36px;--table-cell-padding-y:10px;--table-cell-padding-x:12px;--table-cell-padding-y-dense:8px;--table-cell-padding-x-dense:10px;--font-interface:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-sans:var(--font-interface);--font-mono:"Fira Code", "SF Mono", "Cascadia Code", monospace;--type-page-size:22px;--type-page-line:28px;--type-page-weight:700;--type-entity-size:18px;--type-entity-line:24px;--type-entity-weight:700;--type-section-size:15px;--type-section-line:20px;--type-section-weight:700;--type-body-size:14px;--type-body-line:20px;--type-body-weight:400;--type-body-strong-size:14px;--type-body-strong-line:20px;--type-body-strong-weight:600;--type-data-size:13px;--type-data-line:18px;--type-data-weight:600;--type-label-size:12px;--type-label-line:16px;--type-label-weight:700;--type-caption-size:11px;--type-caption-line:15px;--type-caption-weight:600;--type-mono-size:12px;--type-mono-line:18px;--type-mono-weight:500;--bg-page:var(--bg-base);--bg-surface-alpha:var(--bg-surface);--bg-card:var(--bg-surface);--text-body:var(--text-primary);--accent-active:var(--accent);--accent-success:var(--status-done);--accent-warning:var(--status-warn);--accent-error:var(--status-alert);--accent-inactive:var(--border-strong);--shadow-card:none;--chip-bg-green:var(--status-done-bg);--chip-fg-green:var(--status-done);--chip-bg-cyan:var(--accent-subtle);--chip-fg-cyan:var(--accent);--chip-bg-orange:var(--status-warn-bg);--chip-fg-orange:var(--status-warn);--chip-bg-gray:var(--bg-elevated);--chip-fg-gray:var(--text-secondary);--chip-bg-red:var(--status-alert-bg);--chip-fg-red:var(--status-alert);--color-primary:var(--accent);--color-secondary:var(--text-secondary);--color-success:var(--status-done);--color-success-bg:var(--status-done-bg);--color-warning:var(--status-warn);--color-warning-bg:var(--status-warn-bg);--color-danger:var(--status-alert);--color-danger-bg:var(--status-alert-bg);--color-background:var(--bg-base);--color-surface:var(--bg-surface);--color-border:var(--border);--color-text:var(--text-primary);--color-muted:var(--text-muted);--color-selection:var(--selection);--color-selection-bg:var(--selection-subtle);--color-progress:var(--progress-fill);--color-focus:var(--focus-ring-color);--field-bg-contractor:#f0f7f2;--field-bg-sitevisit:#f0f7fa;--field-bg-snag:#fdf5f2;--field-accent-contractor:#2f855a;--field-accent-sitevisit:#0891b2;--field-accent-sitevisit-2:#06b6d4;--field-accent-snag:#ea580c;--field-accent-snag-subtle:#fff7ed;--field-text-heading:#111827;--field-text-body:#374151;--field-text-secondary:#6b7280;--field-text-muted:#6b7280;--field-text-label:#64748b;--field-border:#e5e7eb;--field-border-strong:#d1d5db;--field-bg-subtle:#f3f4f6;--field-bg-faint:#fafafa;--field-bg-card:#fff;--field-shadow:0 1px 3px #0000000a;--field-shadow-lg:0 1px 4px #0000000d;--field-text-on-accent:#fff;--field-success-bg:#dcfce7;--field-success-border:#86efac;--field-success-fg:#16a34a;--field-success-fg-dark:#166534;--field-warning-bg:#fef3c7;--field-warning-border:#fde68a;--field-warning-fg:#d97706;--field-warning-fg-dark:#92400e;--field-danger-bg:#fee2e2;--field-danger-border:#fca5a5;--field-danger-fg:#dc2626;--field-danger-fg-dark:#991b1b;--field-info-bg:#e0f2fe;--field-info-border:#7dd3fc;--field-info-fg:#0891b2;--field-info-fg-dark:#0c4a6e;--field-delayed-bg:#fce7f3;--field-delayed-border:#f9a8d4;--field-delayed-fg:#be185d;--field-neutral-bg:#f5f3ff;--field-neutral-fg:#7c3aed;--field-neutral-border:#ddd6fe;--field-neutral-bg-subtle:#faf8ff;--field-neutral-border-subtle:#ede9fe;--field-bg-faint-alt:#f9fafb;--field-warning-bg-subtle:#fefce8;--field-accent-slate:#475569;--field-accent-blue-bg:#dbeafe;--field-accent-blue-subtle:#eff6ff;--field-accent-blue-fg:#1e40af;--field-accent-blue-fg2:#2563eb;--field-accent-blue-border:#93c5fd;--field-accent-orange-bg:#fff7ed;--field-accent-orange-fg:#ea580c;--field-accent-orange-fg-dark:#c2410c;--field-accent-orange-border:#fed7aa;--color-on-fill-light:#fff;--color-on-fill-dark:#000;--print-brand:#1e3a5f;--print-text:#374151;--print-muted:#6b7280}[data-theme=light]{--bg-base:#f4f6f8;--bg-surface:#fff;--bg-elevated:#f8fafb;--bg-input:#fff;--bg-sidebar:oklch(95.6717% .005156 247.878);--border:#d8dee5;--border-strong:#b8c1cb;--text-primary:#20262d;--text-secondary:#4e5965;--text-muted:#5b6670;--text-inverse:#fff;--accent:#a84628;--accent-subtle:#f8eae5;--selection:#365f7e;--selection-subtle:#eaf0f5;--status-done:#3f765e;--status-done-bg:#eaf3ee;--status-active:var(--status-info);--status-active-bg:var(--status-info-bg);--status-todo:var(--status-muted);--status-todo-bg:var(--status-muted-bg);--status-alert:#a84747;--status-alert-bg:#f8e9e9;--status-warn:#94631e;--status-warn-bg:#f8f0e3;--status-info:#426a8a;--status-info-bg:#eaf1f7;--status-neutral:#4e5965;--status-neutral-bg:#eef1f4;--status-muted:#74808c;--status-muted-bg:#f2f4f6;--shadow:0 1px 3px oklch(0% 0 0/.1);--shadow-lg:0 4px 16px oklch(0% 0 0/.12);--overlay-dim:#20262d59;--focus-ring-color:#365f7e;--focus-ring:0 0 0 2px var(--focus-ring-color);--progress-fill:#3f7580;--progress-track:#e4e9ee}.chip{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:5px;padding:.125rem .5rem;font-size:.75rem;font-weight:600;line-height:1.6;display:inline-flex}.chip--green{background:var(--chip-bg-green);color:var(--chip-fg-green)}.chip--cyan{background:var(--chip-bg-cyan);color:var(--chip-fg-cyan)}.chip--orange{background:var(--chip-bg-orange);color:var(--chip-fg-orange)}.chip--gray{background:var(--chip-bg-gray);color:var(--chip-fg-gray)}.chip--red{background:var(--chip-bg-red);color:var(--chip-fg-red)}.dot{border-radius:var(--radius-full);flex-shrink:0;width:.375rem;height:.375rem;display:inline-block}.dot--green{background:var(--status-done)}.dot--cyan{background:var(--accent)}.dot--orange{background:var(--status-warn)}.dot--red{background:var(--status-alert)}.dot--gray{background:var(--border-strong)}.status-badge{border-radius:var(--radius-full);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:700;line-height:1.5;display:inline-flex}.status-badge--positive{background:var(--status-done-bg);color:var(--status-done)}.status-badge--caution{background:var(--status-warn-bg);color:var(--status-warn)}.status-badge--danger{background:var(--status-alert-bg);color:var(--status-alert)}.status-badge--info{background:var(--status-info-bg);color:var(--status-info)}.status-badge--neutral{background:var(--status-neutral-bg);color:var(--status-neutral);border-color:var(--border)}.status-badge--muted{background:var(--status-muted-bg);color:var(--status-muted);border-color:var(--border)}.progress-track{background:var(--progress-track);border-radius:var(--radius-sm);height:.375rem;overflow:hidden}.progress-fill{border-radius:var(--radius-sm);height:100%}.progress-fill--active{background:var(--progress-fill)}.progress-fill--done{background:var(--status-done)}.progress-fill--warning{background:var(--status-warn)}.progress-fill--error{background:var(--status-alert)}.progress-fill--gray{background:var(--border-strong)}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:none}.card--orange{border-color:var(--status-warn)}.card--red{border-color:var(--status-alert)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{height:var(--control-height-md);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;font-size:.875rem;font-weight:600;font-family:var(--font-sans);border:none;justify-content:center;align-items:center;gap:6px;padding:0 16px;transition:opacity .15s,background .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface);border-color:var(--border-strong)}.btn-ghost{background:var(--border);color:var(--text-primary);border:none}.btn-ghost:hover:not(:disabled){background:var(--border-strong);color:var(--text-primary)}.btn-ghost-sm{height:var(--control-height-sm);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:500;font-family:var(--font-sans);background:0 0;justify-content:center;align-items:center;gap:5px;padding:0 .75rem;transition:border-color .15s,color .15s;display:inline-flex}.btn-ghost-sm:hover{border-color:var(--border-strong);color:var(--text-primary)}.btn-ghost-sm:disabled{opacity:.45;cursor:not-allowed}.btn-icon{width:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-icon:disabled{opacity:.45;cursor:not-allowed}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn-danger{background:var(--status-alert);color:#fff}.btn-danger:hover:not(:disabled){opacity:.85}.ds-data-surface{overscroll-behavior-inline:contain;min-width:0;max-width:100%;overflow-x:auto}.ds-table{border-collapse:collapse;width:100%;font-size:var(--type-data-size);line-height:var(--type-data-line);font-variant-numeric:tabular-nums}.ds-table thead th{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);font-size:var(--type-caption-size);font-weight:var(--type-label-weight);line-height:var(--type-caption-line);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;background:0 0}.ds-table tbody td{padding:var(--table-cell-padding-y) var(--table-cell-padding-x);color:var(--text-primary);border-bottom:1px solid var(--border);font-size:var(--type-data-size);line-height:var(--type-data-line);vertical-align:middle}.ds-table tbody tr:hover{background:var(--bg-elevated)}.ds-table tbody tr.row--alert{background:var(--status-alert-bg)}.ds-table tbody tr.is-selected{background:var(--selection-subtle)}.ds-table tbody tr:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.ds-table--dense thead th,.ds-table--dense tbody td{padding:var(--table-cell-padding-y-dense) var(--table-cell-padding-x-dense)}.ds-cell-primary{color:var(--text-primary);font-weight:700}.ds-cell-secondary{color:var(--text-muted);font-size:.75rem}.ds-cell-number{font-variant-numeric:tabular-nums;text-align:right!important}.ds-cell-nowrap,.ds-cell-status,.ds-cell-action{white-space:nowrap}.ds-table-empty{color:var(--text-muted)!important;text-align:center!important;padding-block:24px!important}.nav-item{color:var(--text-secondary);border-radius:var(--radius-md);padding:.625rem 1rem;font-size:.875rem;text-decoration:none;transition:background .12s,color .12s;display:block}.nav-item:hover{background:var(--accent-subtle);color:var(--text-primary)}.nav-item.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.ds-input,.ds-select,.ds-textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius-sm);font-size:var(--type-body-size);font-family:var(--font-sans);outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.ds-input,.ds-select{height:var(--control-height-md);padding:0 .75rem}.ds-textarea{min-height:var(--control-height-md);resize:vertical;padding:.5rem .75rem}.ds-input:focus,.ds-select:focus,.ds-textarea:focus{border-color:var(--focus-ring-color);box-shadow:var(--focus-ring)}.ds-input::placeholder,.ds-textarea::placeholder{color:var(--text-muted)}.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.collapsible-toggle{color:var(--text-muted);font-size:12px;transition:transform .2s}.collapsible--open .collapsible-toggle{transform:rotate(180deg)}.collapsible-body{display:none}.collapsible--open .collapsible-body{display:block}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.empty-state__icon{opacity:.35;margin-bottom:1rem;font-size:2.5rem}.empty-state__title{color:var(--text-secondary);margin-bottom:.375rem;font-size:.938rem;font-weight:600}.empty-state__text{font-size:.813rem;line-height:1.65}.ds-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.ds-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;overflow:hidden auto}.ds-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.ds-modal-header h2{color:var(--text-primary);font-size:1rem;font-weight:600}.ds-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.5rem;line-height:1;transition:color .15s}.ds-modal-close:hover,.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-body{color:var(--text-primary)}.text-success{color:var(--status-done)}.text-active{color:var(--accent)}.text-warning{color:var(--status-warn)}.text-error{color:var(--status-alert)}.label-uppercase{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.theme-toggle{border-radius:var(--radius-md);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:15px;transition:background .15s,color .15s,border-color .15s;display:flex}.theme-toggle:hover{background:var(--accent-subtle);color:var(--text-primary);border-color:var(--border-strong)}.ds-attention-surface{min-width:0;padding:var(--space-4);border:1px solid var(--status-alert);border-radius:var(--radius-md);background:var(--status-alert-bg)}.ds-attention-surface.tone-calm{border-color:var(--status-done);background:var(--status-done-bg)}.ds-attention-heading,.ds-section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);min-width:0;display:flex}.ds-attention-heading h2,.ds-attention-heading h3,.ds-section-heading h2,.ds-section-heading h3{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:700;line-height:1.35}.ds-attention-heading p,.ds-section-heading p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.75rem;line-height:1.45}.ds-attention-accessory,.ds-section-accessory{color:var(--text-muted);flex-shrink:0;font-size:.6875rem;font-weight:650}.ds-analytical-section{gap:var(--space-3);min-width:0;display:grid}.ds-analytical-section.is-ruled{border-top:1px solid var(--border);padding:14px 0}.ds-metadata-rows,.ds-evidence-ledger{min-width:0;margin:0}.ds-metadata-rows.is-grid{grid-template-columns:repeat(var(--metadata-columns), minmax(0, 1fr));gap:var(--space-3) var(--space-5);display:grid}.ds-metadata-rows.is-inline{gap:6px var(--space-4);flex-wrap:wrap;display:flex}.ds-metadata-row{min-width:0}.ds-metadata-row dt,.ds-evidence-entry dt{color:var(--text-muted);font-size:.6875rem;font-weight:650;line-height:1.4}.ds-metadata-row dd,.ds-evidence-entry dd{min-width:0;margin:var(--space-1) 0 0;color:var(--text-primary);font-size:.75rem;line-height:1.45}.ds-metadata-value,.ds-metadata-secondary,.ds-evidence-entry dd>span{display:block}.ds-metadata-secondary,.ds-evidence-entry dd>span,.ds-evidence-entry dd>time{color:var(--text-muted);margin-top:2px}.ds-evidence-entry dd>time{font-size:.6875rem;display:block}.ds-metadata-rows.is-inline .ds-metadata-row{display:contents}.ds-metadata-rows.is-inline dt{display:none}.ds-metadata-rows.is-inline dd{color:var(--text-muted);margin:0;font-size:.6875rem}.ds-evidence-ledger.is-grid{grid-template-columns:repeat(var(--evidence-columns), minmax(0, 1fr));gap:var(--space-3) var(--space-5);display:grid}.ds-evidence-ledger.is-rows{border-top:1px solid var(--border);display:grid}.ds-evidence-ledger.is-rows .ds-evidence-entry{gap:var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,.55fr) minmax(0,1fr);padding:9px 0;display:grid}.ds-evidence-ledger.is-rows .ds-evidence-entry dd{margin:0}.ds-evidence-ledger.is-contained{border:1px solid var(--border);gap:0;overflow:hidden}.ds-evidence-ledger.is-contained .ds-evidence-entry{border-left:1px solid var(--border);padding:10px 12px}.ds-evidence-ledger.is-contained .ds-evidence-entry:first-child{border-left:0}.ds-empty-state{justify-content:center;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-6);color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.ds-empty-state.size-pane{min-height:240px;padding:var(--space-8)}.ds-empty-state-copy h3,.ds-empty-state-copy p{margin:0}.ds-empty-state-copy h3{color:var(--text-primary);font-size:.875rem}.ds-empty-state-copy p{max-width:52ch;margin-top:var(--space-1);font-size:.75rem;line-height:1.5}@media (width<=640px){.ds-attention-surface{padding:14px}.ds-attention-heading,.ds-section-heading{align-items:flex-start}.ds-metadata-rows.is-grid,.ds-evidence-ledger.is-grid{grid-template-columns:1fr}.ds-evidence-ledger.is-contained .ds-evidence-entry{border-top:1px solid var(--border);border-left:0}.ds-evidence-ledger.is-contained .ds-evidence-entry:first-child{border-top:0}.ds-evidence-ledger.is-rows .ds-evidence-entry{gap:var(--space-1);grid-template-columns:1fr}}*{box-sizing:border-box;font-family:var(--font-sans);margin:0;padding:0}body{background:var(--bg-page);color:var(--text-body);-webkit-font-smoothing:antialiased}.app-shell{background:var(--bg-page);align-items:stretch;block-size:100dvh;min-block-size:0;display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:208px;height:100%;padding:16px 10px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{align-items:center;gap:9px;padding:6px 6px 16px;display:flex}.sidebar-brand span{color:var(--text-primary);letter-spacing:0;font-size:.9375rem;font-weight:750}.sidebar h2{color:var(--text-primary);margin-bottom:40px;font-size:18px}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar a{min-height:var(--control-height-md);border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:10px;padding:0 10px;font-size:.8125rem;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar a:hover{background:var(--bg-elevated);color:var(--text-primary)}.sidebar a.active{background:var(--accent-subtle);color:var(--accent);font-weight:600}.sidebar-nav-group{gap:2px;display:grid}.sidebar-nav-group-toggle{width:100%;min-height:var(--control-height-md);border-radius:var(--radius-md);color:var(--text-secondary);font:600 .8125rem/1.25 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;transition:background .12s,color .12s;display:flex}.sidebar-nav-group-toggle:hover,.sidebar-nav-group-toggle:focus-visible,.sidebar-nav-group.active>.sidebar-nav-group-toggle{background:var(--bg-elevated);color:var(--text-primary)}.sidebar-nav-label{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-nav-group-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .18s ease-out}.sidebar-nav-group-toggle[aria-expanded=true] .sidebar-nav-group-chevron{transform:rotate(180deg)}.sidebar-nav-children{gap:1px;padding-left:10px;display:grid}.sidebar-nav-children[hidden]{display:none}.sidebar-nav-children a{padding-left:18px}.main-content{padding:var(--space-6) var(--space-8);flex:1;align-self:stretch;min-width:0;min-height:0;overflow:auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.page-header h1{color:var(--text-primary);margin-bottom:4px;font-size:1.5rem;font-weight:700}.page-header p,.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:.813rem}.split-workspace{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start;display:grid}.workspace{gap:16px;min-width:0;display:grid}.workspace>*,.inspector>*{min-width:0}.inspector{min-width:0;top:var(--space-6);gap:20px;display:grid;position:sticky}.inspector-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px;font-size:.6875rem;font-weight:700}.inspector-section+.inspector-section{border-top:1px solid var(--border);padding-top:20px}@media (width<=1080px){.split-workspace{grid-template-columns:1fr}.inspector{position:static}}.dashboard-toolbar{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.dashboard-filter-group{flex-direction:column;gap:6px;display:flex}.dashboard-filter-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:700}.dashboard-filter-group select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:240px;height:40px;color:var(--text-body);outline:none;padding:0 12px;font-size:.875rem;transition:border-color .15s}.dashboard-filter-group select:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.dashboard-metrics-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.metric-pill{border-radius:var(--radius-lg);background:var(--bg-surface-alpha);border:1px solid var(--border);color:var(--accent-warning);min-width:120px;box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:.875rem;font-weight:600;display:inline-flex}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.dashboard-card{background:var(--bg-surface-alpha);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:20px;display:flex}.dashboard-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:4px;font-size:.75rem;font-weight:700;display:block}.dashboard-card strong{color:var(--text-primary);margin-top:4px;font-size:1.75rem;font-weight:800;line-height:1;display:block}.progress-bar-track{background:var(--border);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar-track.small{height:4px}.progress-bar-fill{border-radius:var(--radius-full);background:var(--accent-active);height:100%}.progress-bar-fill.done{background:var(--accent-success)}.progress-bar-fill.warning{background:var(--accent-warning)}.plan-capture-crosshair{border:2px solid var(--status-alert);pointer-events:none;background:linear-gradient(var(--status-alert),var(--status-alert)) center/2px 100% no-repeat, linear-gradient(90deg,var(--status-alert),var(--status-alert)) center/100% 2px no-repeat;border-radius:50%;width:34px;height:34px;position:absolute;transform:translate(-50%,-50%)}.plan-capture-confirm,.capture-review-bar{background:var(--bg-elevated);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 16px;display:flex}.plan-capture-confirm p,.capture-review-bar span{color:var(--text-secondary)}.capture-review-bar>div{flex-direction:column;gap:3px;display:flex}.observation-list-row{position:relative}.observation-select{color:var(--text-secondary);align-items:center;gap:8px;margin:0 0 6px 4px;font-size:.8125rem;display:flex}.observation-select input{width:18px;height:18px}.observation-capture-card{background:var(--bg-elevated);border-radius:var(--radius-lg);margin-bottom:16px;padding:18px}.observation-capture-card>div{margin-bottom:14px}.observation-capture-card form{flex-direction:column;gap:12px;display:flex}.observation-capture-card>.btn{justify-content:center;width:100%;margin-top:4px}.trade-selection{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8125rem;display:flex}.trade-selection span{background:var(--trade-color);border:1px solid var(--border-strong);border-radius:50%;width:14px;height:14px}.publication-badge{border-radius:var(--radius-full);align-items:center;min-height:28px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.publication-badge.is-captured{background:var(--accent-subtle);color:var(--accent)}.publication-badge.is-published{background:var(--accent-subtle);color:var(--status-done)}.publication-badge.is-archived{background:var(--bg-elevated);color:var(--text-muted)}.capture-setup{background:var(--bg-surface);border-radius:var(--radius-md);margin-bottom:14px}.capture-setup summary{cursor:pointer;padding:12px 14px;font-weight:700}.capture-setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 14px 14px;display:grid}.capture-setup form{flex-direction:column;gap:9px;display:flex}.capture-setup p{color:var(--text-muted);font-size:.8125rem}@media (width<=520px){.plan-capture-confirm,.capture-review-bar{flex-direction:column;align-items:stretch}.plan-capture-confirm .btn,.capture-review-bar .btn{width:100%;min-height:44px}.observation-capture-card{padding:14px}.capture-setup-grid{grid-template-columns:1fr}}.dashboard-chart-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.chart-pill{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--accent-warning);padding:8px 12px;font-size:.8125rem;font-weight:700}.dashboard-chart{gap:14px;display:grid}.chart-label{color:var(--text-secondary);justify-content:space-between;margin-bottom:5px;font-size:.8125rem;display:flex}.chart-bar{border-radius:var(--radius-full);background:var(--border);height:10px;overflow:hidden}.risk-row{border-bottom:1px solid var(--border);color:var(--text-body);justify-content:space-between;padding:11px 0;font-size:.875rem;display:flex}.info-stack{gap:12px;display:grid}.dashboard-summary-card{background:var(--bg-surface-alpha);border-radius:var(--radius-lg);margin-bottom:20px;padding:20px}.status-pill-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.status-pill{background:var(--chip-bg-orange);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--chip-fg-orange);align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:600;display:flex}.dashboard-kpi-cluster{min-width:0}.dashboard-kpi-cluster-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:.72rem;font-weight:800}.dashboard-kpi-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-kpi-meta{color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-top:12px;font-size:.75rem;display:flex}.dashboard-kpi-meta span{border-radius:var(--radius-full);background:var(--bg-elevated);padding:4px 8px}.dashboard-health-card{align-content:start;display:grid}.dashboard-donut-wrap{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.dashboard-donut-legend{gap:6px;min-width:0;display:grid}.dashboard-control-panel{border-radius:var(--radius-lg);background:var(--bg-surface-alpha);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.dashboard-search-field{min-width:min(240px,100%);position:relative}.dashboard-search-field span{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.status-matrix-card{overflow:hidden}.status-matrix-scroll{max-width:100%;overflow-x:auto}.status-matrix-table{table-layout:fixed;min-width:980px;margin-top:0}.status-matrix-table th,.status-matrix-table td{padding:var(--table-cell-padding-y) 8px;vertical-align:middle}.status-matrix-table th{font-size:.66rem;line-height:1.2}.status-matrix-table td{font-size:.78rem}.status-matrix-table th:first-child{width:140px}.status-matrix-table th:nth-child(2){width:110px}.status-matrix-table th:nth-child(3){width:108px}.status-matrix-table th:nth-child(4){width:80px}.status-matrix-table th:nth-child(5){width:78px}.status-matrix-table th:nth-child(6){width:50px}.status-matrix-table th:nth-child(7){width:56px}.status-matrix-table th:nth-child(8){width:50px}.status-matrix-table th:nth-child(9){width:92px}.status-matrix-table th:nth-child(10){width:56px}.status-matrix-table th:nth-child(11){width:82px}.status-matrix-table th:nth-child(12){width:78px}.status-matrix-table td:first-child,.status-matrix-table td:nth-child(2),.status-matrix-table td:nth-child(3){white-space:normal}.status-matrix-table td:nth-child(4),.status-matrix-table td:nth-child(5),.status-matrix-table td:nth-child(6),.status-matrix-table td:nth-child(7),.status-matrix-table td:nth-child(8),.status-matrix-table td:nth-child(9),.status-matrix-table td:nth-child(10),.status-matrix-table td:nth-child(11),.status-matrix-table td:nth-child(12){white-space:nowrap}.status-matrix-phase{color:var(--text-body);line-height:1.35}.status-progress-cell{grid-template-columns:minmax(42px,1fr) auto;align-items:center;gap:8px;display:grid}.status-progress-track{border-radius:var(--radius-full);background:var(--bg-elevated);height:5px;position:relative;overflow:hidden}.status-progress-fill{border-radius:inherit;background:var(--accent);height:100%}.status-progress-zero{border-radius:inherit;background:var(--border-strong);opacity:.75;height:1px;margin-top:2px}.status-progress-value{color:var(--text-primary);font-size:.78rem;font-weight:800}.dashboard-tabs{border-bottom:1px solid var(--border);gap:20px;margin:4px 0 16px;display:flex;overflow-x:auto}.dashboard-tab{color:var(--text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 0 10px;font-size:.8125rem;font-weight:700;position:relative}.dashboard-tab:after{content:"";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.dashboard-tab.is-active{color:var(--text-primary)}.dashboard-tab.is-active:after{background:var(--accent)}@media (width<=1080px){.dashboard-donut-wrap{grid-template-columns:1fr}}.weekly-reports-surface{max-width:1640px;color:var(--text-primary);gap:18px;display:grid}.weekly-gantt-button{border:1px solid var(--border);min-height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;padding:7px 13px;font-size:.8125rem;font-weight:750;transition:background .15s,border-color .15s,color .15s}.weekly-gantt-button:hover,.weekly-gantt-button:focus-visible{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary);outline:none}.weekly-gantt-button.is-active{border-color:var(--status-done);background:var(--status-done-bg);color:var(--status-done)}.weekly-control-status{border-top:1px solid var(--border);color:var(--text-secondary);flex-basis:100%;padding-top:10px;font-size:.8125rem}.weekly-control-status strong{color:var(--text-primary)}.weekly-command-panel,.weekly-truth-console{background:var(--bg-surface-alpha);border-radius:var(--radius-lg);border:0;padding:22px;position:relative}.weekly-section-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:7px;font-size:.6875rem;font-weight:800}.weekly-template-alert{background:var(--status-warn-bg);border:1px solid var(--status-warn);border-radius:var(--radius-md);margin-bottom:16px;padding:12px 16px;font-size:.8125rem}.weekly-truth-console{padding:12px}.weekly-truth-scroll{width:100%}.weekly-truth-bar{grid-template-columns:minmax(270px,1.2fr) minmax(100px,.4fr) minmax(310px,1.25fr);gap:8px;min-width:700px;display:grid}.weekly-truth-group{gap:8px;min-width:0;display:grid}.weekly-truth-group-progress{grid-template-columns:repeat(3,minmax(84px,1fr))}.weekly-truth-group-validation{grid-template-columns:minmax(96px,1fr)}.weekly-truth-group-issues{grid-template-columns:repeat(5,minmax(54px,1fr))}.weekly-truth-cell{min-height:58px;padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-radius:var(--radius-md);background:var(--bg-elevated);border:0}.weekly-truth-group-progress .weekly-truth-cell{background:var(--bg-elevated);min-height:66px;padding:10px}.weekly-truth-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:7px;font-size:.625rem;font-weight:800}.weekly-truth-value{color:var(--text-primary);font-size:1rem;font-weight:850;line-height:1.1}.weekly-truth-group-progress .weekly-truth-value{font-size:1.125rem}.weekly-truth-sub{color:var(--text-muted);margin-top:5px;font-size:.6875rem}.weekly-truth-cell.tone-good .weekly-truth-value{color:var(--status-done)}.weekly-truth-cell.tone-warning .weekly-truth-value{color:var(--status-warn)}.weekly-truth-cell.tone-critical .weekly-truth-value{color:var(--status-alert)}.weekly-truth-cell.tone-accent .weekly-truth-value{color:var(--accent)}.weekly-truth-cell.tone-quiet .weekly-truth-value,.weekly-truth-cell.tone-quiet .weekly-truth-sub{color:var(--text-muted)}.weekly-overview-main{gap:16px;min-width:0;display:grid}.weekly-action-panel h2{color:var(--text-primary);margin:0 0 14px;font-size:1rem}.weekly-action-list{gap:8px;display:grid}.weekly-action-row{border-radius:var(--radius-md);background:var(--bg-elevated);border:0;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.weekly-action-label{color:var(--text-primary);font-size:.8125rem;font-weight:750}.weekly-action-detail{color:var(--text-muted);margin-top:3px;font-size:.75rem;line-height:1.35}.weekly-action-value{color:var(--text-secondary);white-space:nowrap;font-size:.8125rem;font-weight:800}.weekly-action-row.tone-warning .weekly-action-value{color:var(--status-warn)}.weekly-action-row.tone-critical .weekly-action-value{color:var(--status-alert)}.weekly-action-clear{border-radius:var(--radius-md);background:var(--status-done-bg);color:var(--status-done);border:0;gap:5px;padding:14px;display:grid}.weekly-action-clear span{color:var(--text-secondary);font-size:.8125rem}.weekly-phase-board{background:var(--bg-surface-alpha);border:0;margin-bottom:0}.weekly-compact-trend{border:0;margin-bottom:0}.weekly-compact-trend.is-empty{color:var(--text-muted)}.weekly-trend-head,.weekly-phase-board-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.weekly-trend-head strong,.weekly-phase-board-head h2{color:var(--text-primary);margin:0;font-size:1rem}.weekly-trend-head span,.weekly-phase-board-head span{color:var(--text-muted);font-size:.75rem}.weekly-phase-table{border-top:1px solid var(--border);min-width:620px;display:grid}.weekly-phase-columns,.weekly-phase-row{grid-template-columns:minmax(220px,1fr) 84px 72px 116px;align-items:center;column-gap:12px;display:grid}.weekly-phase-columns{min-height:32px;padding:0 var(--table-cell-padding-x);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.weekly-phase-row{width:100%;min-height:44px;padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border:0;border-bottom:1px solid var(--border);color:var(--text-secondary);text-align:left;font:inherit;background:0 0;border-radius:0;position:relative}button.weekly-phase-row{cursor:pointer}.weekly-phase-row.is-active{background:var(--accent-subtle);box-shadow:inset 2px 0 0 var(--accent)}.weekly-phase-marker{border-radius:var(--radius-full);background:var(--border-strong);width:3px;height:20px;position:absolute;left:0}.weekly-phase-marker.status-done{background:var(--status-done)}.weekly-phase-marker.status-current{background:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.weekly-phase-marker.status-upcoming,.weekly-phase-marker.status-out_of_scope{background:var(--border)}.weekly-phase-title{min-width:0}.weekly-phase-row strong{color:var(--text-primary);font-size:.8125rem;display:block}.weekly-phase-row small{color:var(--text-muted);margin-top:2px;font-size:.6875rem;display:block}.weekly-phase-pct,.weekly-phase-delta{color:var(--text-muted);font-size:.75rem}.weekly-phase-pct{font-weight:800}.weekly-phase-delta{margin-top:0}.weekly-phase-row .has-change{color:var(--status-done);font-weight:800}.weekly-phase-status{border-radius:var(--radius-full);background:var(--bg-elevated);text-transform:capitalize;justify-self:start;padding:2px 7px;font-size:.6875rem;font-weight:800}.weekly-phase-status.status-current{color:var(--accent)}.weekly-phase-status.status-done{color:var(--status-done)}.weekly-phase-status.status-upcoming,.weekly-phase-status.status-out_of_scope{color:var(--text-muted)}.weekly-phase-detail{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-base);margin-top:12px;padding:12px}.weekly-phase-detail>div:first-child{color:var(--text-secondary);justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.weekly-expandable-text{margin-bottom:14px}.weekly-expandable-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:7px;font-size:.6875rem;font-weight:800}.weekly-expandable-body{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--accent-subtle);max-height:4.6em;color:var(--text-primary);padding:12px 14px;font-size:.875rem;line-height:1.55;overflow:hidden}.weekly-expandable-body.is-expanded{max-height:none}.weekly-expandable-text button{color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:6px;padding:0;font-size:.75rem;font-weight:750}.weekly-why-panel{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.weekly-why-toggle{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);width:100%;min-height:38px;color:var(--text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:8px 11px;font-size:.75rem;font-weight:800;display:flex}.weekly-why-toggle:hover,.weekly-why-toggle:focus-visible{border-color:var(--border-strong);color:var(--text-primary);outline:none}.weekly-report-truth-grid{grid-template-columns:minmax(360px,1.25fr) minmax(320px,.95fr);align-items:stretch;gap:16px;margin-bottom:0;display:grid}.weekly-kpi-strip,.weekly-progress-narrative{box-sizing:border-box;background:var(--bg-surface-alpha);border-radius:var(--radius-lg);border:0;height:100%;margin-bottom:0}.weekly-kpi-strip{padding:20px 22px}.weekly-kpi-primary{flex-wrap:wrap;align-items:flex-end;gap:18px 30px;margin-bottom:20px;display:flex}.weekly-kpi-item{min-width:124px;padding:8px 0}.weekly-kpi-secondary{border-top:1px solid var(--border);flex-wrap:wrap;gap:18px 28px;padding-top:16px;display:flex}.weekly-kpi-missing{appearance:none;text-align:left;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;margin:0 -4px;padding:0 4px}.weekly-kpi-missing:disabled{cursor:default}.weekly-kpi-missing:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.weekly-progress-stats{flex-wrap:wrap;align-items:flex-end;gap:18px 26px;display:flex}.weekly-progress-narrative{padding:20px 22px}.weekly-report-body{gap:18px;display:grid}.weekly-progress-chart-card{background:var(--bg-surface-alpha);border:0;margin-bottom:0}.weekly-chart-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px;display:flex}.weekly-chart-head h2{color:var(--text-primary);margin:0;font-size:1rem}.weekly-chart-caption{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;padding-top:8px;font-size:.75rem;display:flex}.weekly-section-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.weekly-section-header h2{color:var(--text-primary);margin:0;font-size:1.125rem}.weekly-section-header p{color:var(--text-secondary);margin:4px 0 0;font-size:.8125rem}.weekly-comparison-section{background:var(--bg-surface-alpha);border-radius:var(--radius-lg);border:0;gap:16px;margin-bottom:0;padding:20px;display:grid}.weekly-comparison-list{background:var(--bg-elevated);border:0;margin-bottom:0}.weekly-comparison-empty{text-align:center;color:var(--text-secondary);background:var(--bg-elevated);border:0;margin-bottom:0;padding:40px 24px}.weekly-comparison-empty h3{color:var(--text-primary);margin:0 0 8px;font-size:1rem}.weekly-comparison-empty p{max-width:560px;margin:0 auto;line-height:1.55}.weekly-report-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.weekly-missing-modal{background:var(--bg-surface);z-index:1001;border-radius:var(--radius-lg);width:780px;max-width:96vw;max-height:85vh;box-shadow:var(--shadow-lg);border:1px solid var(--status-alert);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.weekly-report-empty,.weekly-report-error{color:var(--text-secondary);text-align:center;padding:32px 24px}.weekly-report-empty h2,.weekly-report-error h2{color:var(--text-primary);margin:0 0 8px;font-size:1rem}.weekly-report-empty p,.weekly-report-error p{max-width:560px;margin:0 auto;font-size:.875rem;line-height:1.55}.status-active{background:var(--chip-bg-green);color:var(--chip-fg-green);border-radius:var(--radius-full);padding:2px 8px;font-size:.75rem;font-weight:600}.status-closed{background:var(--chip-bg-gray);color:var(--chip-fg-gray);border-radius:var(--radius-full);padding:2px 8px;font-size:.75rem;font-weight:600}.primary-button{background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 20px;font-size:.9375rem;font-weight:600;transition:opacity .15s}.primary-button:hover{opacity:.85}.secondary-button{background:var(--border);color:var(--text-body);border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 20px;font-size:.9375rem;transition:background .15s}.secondary-button:hover{background:var(--border-strong)}.text-button{color:var(--accent-active);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:.875rem;font-weight:600;transition:background .15s}.text-button:hover{background:var(--accent-subtle)}.table-card{background:var(--bg-surface-alpha);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:1300px}.data-table th,.data-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:14px 16px;font-size:.8125rem}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:0 0;font-size:.75rem;font-weight:700}.data-table td{color:var(--text-body)}.data-table tbody tr:hover{background:var(--bg-elevated)}.data-table tbody tr.row--alert{background:var(--status-alert-bg)}.modal-overlay{z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{z-index:1001;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:1040px;max-width:92vw;max-height:90vh;box-shadow:var(--shadow-lg);position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.modal-header{border-bottom:1px solid var(--border);background:var(--overlay-dim);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-header h2{color:var(--text-primary);font-size:.9375rem;font-weight:600}.close-button{border-radius:var(--radius-md);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;transition:background .15s,color .15s;display:flex}.close-button:hover{background:var(--bg-elevated);color:var(--text-primary)}.project-form{grid-template-columns:repeat(4,1fr);gap:20px;padding:20px 24px 24px;display:grid}.form-field{flex-direction:column;gap:6px;margin-bottom:0;display:flex}.form-field label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:600}.form-field input,.form-field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);height:40px;color:var(--text-primary);outline:none;padding:0 12px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.form-field input:focus,.form-field select:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.form-field input::placeholder{color:var(--text-muted)}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.form-field textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-height:100px;color:var(--text-primary);outline:none;padding:12px;font-size:.875rem;transition:border-color .15s}.form-field textarea:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.project-selector-card,.selected-project-card,.weekly-form-card{background:var(--bg-surface-alpha);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border);max-width:100%;margin-bottom:20px;padding:20px}.project-selector-card label{color:var(--text-secondary);margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.project-selector-card select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;height:44px;color:var(--text-primary);outline:none;padding:0 14px;font-size:.875rem;transition:border-color .15s}.project-selector-card select:focus{border-color:var(--accent-active)}.selected-project-card h2,.weekly-form-card h2{color:var(--text-primary);margin-bottom:16px;font-size:1rem;font-weight:600}.project-details-grid{color:var(--text-secondary);grid-template-columns:repeat(3,1fr);gap:12px;font-size:.875rem;display:grid}.weekly-form-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;display:grid}.full-width{grid-column:1/-1}.auth-loading{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent-active);border-radius:50%;width:34px;height:34px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-surface-alpha);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);flex-direction:column;gap:20px;padding:36px 32px;display:flex}.login-header{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.login-logo{justify-content:center;align-items:center;display:flex}.login-title{color:var(--text-primary);font-size:1.125rem;font-weight:700;line-height:1.3}.login-subtitle{color:var(--text-muted);font-size:.8125rem}.login-form{flex-direction:column;gap:14px;display:flex}.login-error{background:var(--chip-bg-red);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--chip-fg-red);align-items:center;gap:8px;padding:10px 14px;font-size:.8125rem;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.login-field input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);height:42px;color:var(--text-primary);outline:none;padding:0 14px;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}.login-field input::placeholder{color:var(--text-muted)}.login-field input:disabled{opacity:.4;cursor:not-allowed}.login-row{justify-content:space-between;align-items:center;display:flex}.login-checkbox{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.8125rem;display:flex}.login-checkbox input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.login-link{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8125rem;text-decoration:underline}.login-link:hover{opacity:.8}.login-btn{background:var(--accent);height:44px;color:var(--text-inverse);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;font-size:.9375rem;font-weight:700;transition:opacity .15s;display:flex}.login-btn:hover:not(:disabled){opacity:.85}.login-btn:disabled{opacity:.45;cursor:not-allowed}.login-spinner{border:2px solid #0003;border-top-color:var(--text-inverse);border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}.login-hint{color:var(--text-muted);margin:0;font-size:.8125rem;line-height:1.5}.login-info{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:.8125rem;line-height:1.5}.login-footer{text-align:center;color:var(--text-muted);font-size:.6875rem}.unauth-page{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.unauth-card{text-align:center;max-width:360px}.unauth-icon{color:var(--border);letter-spacing:-2px;margin-bottom:16px;font-size:56px;font-weight:800}.unauth-title{color:var(--text-primary);margin-bottom:10px;font-size:1.25rem;font-weight:700}.unauth-text{color:var(--text-secondary);margin-bottom:28px;font-size:.875rem;line-height:1.65}.unauth-text strong{color:var(--text-body)}.unauth-actions{justify-content:center;gap:10px;display:flex}.contractor-select-page{background:var(--bg-page);flex-direction:column;min-height:100vh;display:flex}.contractor-header{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:8px;padding:14px 20px;display:flex}.contractor-header-brand{color:var(--text-primary);align-items:center;gap:10px;font-size:.9375rem;font-weight:600;display:flex}.contractor-header-user{align-items:center;gap:12px;min-width:0;display:flex}.contractor-role-badge{background:var(--chip-bg-red);color:var(--chip-fg-red);border-radius:var(--radius-full);padding:3px 10px;font-size:.75rem;font-weight:600}.contractor-user-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.8125rem;overflow:hidden}.contractor-select-main{width:100%;max-width:920px;margin:0 auto;padding:44px 28px}.contractor-select-heading{margin-bottom:32px}.contractor-select-heading h1{color:var(--text-primary);margin-bottom:6px;font-size:1.5rem;font-weight:700}.contractor-select-heading p{color:var(--text-muted);font-size:.875rem}.contractor-no-projects{background:var(--bg-surface-alpha);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;color:var(--text-muted);padding:48px;font-size:.875rem;line-height:2}.contractor-admin-selector{background:var(--bg-surface-alpha);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;padding:12px 16px;display:flex}.contractor-admin-selector label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.75rem;font-weight:700}.contractor-admin-selector select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);min-height:38px;color:var(--text-primary);flex:220px;max-width:320px;padding:6px 12px;font-size:.875rem}.contractor-admin-selector-hint{color:var(--text-muted);font-size:.75rem}.contractor-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:24px;display:grid}.contractor-summary-tile{background:var(--bg-surface-alpha);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;cursor:pointer;padding:14px 16px;font-family:inherit;transition:border-color .15s,background .15s}.contractor-summary-tile:hover{border-color:var(--accent-active)}.contractor-summary-tile[aria-pressed=true]{border-color:var(--accent-active);background:var(--accent-subtle)}.contractor-summary-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.contractor-summary-label{color:var(--text-secondary);margin-top:2px;font-size:.75rem}.contractor-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 12px;font-size:.75rem;font-weight:700}.contractor-project-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.contractor-project-grid+.contractor-section-label{margin-top:28px}.contractor-project-card{background:var(--bg-surface-alpha);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:20px;transition:border-color .15s;display:flex}.contractor-project-card:hover{border-color:var(--accent-active)}.contractor-project-code{color:var(--accent-active);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.contractor-project-name{color:var(--text-primary);font-size:1.0625rem;font-weight:600}.contractor-project-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.8125rem;display:flex}.contractor-work-status{font-size:.8125rem;font-weight:600}.contractor-work-status-strong{font-size:.875rem;font-weight:700}.contractor-project-actions{flex-direction:column;gap:8px;margin-top:6px;display:flex}.contractor-project-btn{width:100%}.sidebar-user{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;margin-bottom:24px;padding-bottom:18px;display:flex}.sidebar-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:600;overflow:hidden}.sidebar-role-badge{border-radius:var(--radius-full);width:fit-content;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-block}.sidebar-logout-btn{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;font-size:.8125rem;font-family:var(--font-sans);background:0 0;padding:9px;transition:border-color .15s,color .15s}.sidebar-logout-btn:hover{border-color:var(--accent-error);color:var(--accent-error)}.sidebar-footer{gap:10px;margin-top:auto;padding-top:16px;display:grid}.sidebar-profile-card{border-radius:var(--radius-lg);background:var(--bg-base);grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:9px;padding:10px;display:grid}.sidebar-profile-avatar{background:var(--bg-elevated);width:34px;height:34px;color:var(--text-primary);border-radius:10px;place-items:center;font-size:.8125rem;font-weight:800;display:grid}.sidebar-profile-copy{gap:4px;min-width:0;display:grid}.sidebar-logout-icon{border-radius:var(--radius-md);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:grid}.sidebar-logout-icon:hover,.sidebar-logout-icon:focus-visible{background:var(--status-alert-bg);color:var(--status-alert);outline:none}.sidebar-footer-controls{justify-content:flex-start;display:flex}.sidebar-credit{color:var(--text-muted);text-align:center;font-size:.6875rem}.admin-users-page{max-width:1100px}.admin-users-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:24px;display:grid}.admin-user-card{background:var(--bg-surface-alpha);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:18px;padding:20px;transition:border-color .15s;display:flex}.admin-user-card:hover{border-color:var(--accent-active)}.admin-user-header{align-items:center;gap:12px;display:flex}.admin-user-avatar{background:var(--border);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9375rem;font-weight:700;display:flex}.admin-user-info{flex:1;min-width:0}.admin-user-name-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-primary);font-size:.875rem;font-weight:600;font-family:var(--font-sans);background:0 0;outline:none;padding:2px 0 4px;transition:border-color .15s}.admin-user-name-input:focus{border-color:var(--accent-active)}.admin-user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.75rem;overflow:hidden}.admin-user-section{flex-direction:column;gap:8px;display:flex}.admin-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.6875rem;font-weight:700}.admin-role-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.admin-role-btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:center;font-size:.6875rem;font-weight:500;font-family:var(--font-sans);background:0 0;padding:6px 4px;transition:border-color .15s,color .15s,background .15s}.admin-role-btn:hover{border-color:var(--accent-active);color:var(--accent-active)}.admin-project-list{flex-direction:column;gap:6px;display:flex}.admin-project-row{cursor:pointer;border-radius:var(--radius-sm);background:0 0;align-items:center;gap:10px;padding:7px 10px;font-size:.8125rem;transition:background .15s;display:flex}.admin-project-row:hover{background:var(--bg-elevated)}.admin-project-row input[type=checkbox]{accent-color:var(--accent-active);cursor:pointer;flex-shrink:0;width:14px;height:14px}.admin-project-code{color:var(--accent-active);letter-spacing:.06em;flex-shrink:0;font-size:.6875rem;font-weight:700}.admin-project-name{color:var(--text-body);flex:1}.admin-project-city{color:var(--text-muted);flex-shrink:0;font-size:.6875rem}.admin-no-projects{color:var(--text-muted);font-size:.8125rem}.admin-save-btn{width:100%;margin-top:4px;transition:background .15s}.admin-save-ok{background:var(--status-done)!important;color:var(--text-inverse)!important}.contractor-link{color:var(--accent-active);font-weight:600;text-decoration:none}.contractor-link:hover{text-underline-offset:2px;text-decoration:underline}.option-list{gap:10px;margin-top:10px;margin-bottom:20px;display:grid}.option-list label{color:var(--text-body);align-items:center;gap:10px;font-size:.875rem;font-weight:500;display:flex}.option-list input{width:16px;height:16px;accent-color:var(--accent-active)}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}.sidebar{width:200px;padding:16px 12px}.main-content{padding:24px 20px}.weekly-report-truth-grid,.weekly-report-links,.weekly-overview-console{grid-template-columns:1fr}.weekly-action-panel{order:-1;max-height:none;position:static}.weekly-reports-toolbar{align-items:stretch}.weekly-reports-toolbar-fields{width:100%}.weekly-reports-toolbar .dashboard-filter-group{flex:220px}.weekly-reports-toolbar .dashboard-filter-group select{width:100%}}.mobile-nav-toggle,.mobile-nav-backdrop{display:none}@media (width<=640px){.mobile-nav-toggle{z-index:60;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);width:40px;min-width:44px;height:44px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex;position:fixed;top:12px;left:12px}.mobile-nav-backdrop{z-index:50;background:#00000073;display:block;position:fixed;inset:0}.sidebar{z-index:55;width:260px;max-width:82vw;box-shadow:var(--shadow);visibility:hidden;pointer-events:none;transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.sidebar-open{visibility:visible;pointer-events:auto;transform:translate(0)}.main-content{padding:64px 16px 24px}.page-header{gap:12px;margin-bottom:22px}.page-header h1{font-size:1.5rem}.btn,.btn-ghost,.btn-ghost-sm,.theme-toggle,.sidebar a{min-height:44px}}.site-visit-select-row,.site-visit-select-header{grid-template-columns:2fr 1.5fr 1fr auto;gap:16px;display:grid}.site-visit-select-row{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;padding:12px 18px}@media (width<=480px){.site-visit-select-header{display:none}.site-visit-select-row{grid-template-columns:1fr;gap:6px;padding:14px 16px}.site-visit-select-cta{justify-content:center;align-items:center;width:100%;min-height:44px;display:flex;padding:10px 18px!important}}.contractor-report-page{min-height:100vh;padding:var(--space-6) var(--space-5) 80px;background:var(--bg-base);color:var(--text-primary);--field-bg-contractor:var(--bg-base);--field-bg-card:var(--bg-surface);--field-bg-faint:var(--bg-base);--field-bg-subtle:var(--bg-elevated);--field-border:var(--border);--field-border-strong:var(--border-strong);--field-text-heading:var(--text-primary);--field-text-body:var(--text-primary);--field-text-secondary:var(--text-secondary);--field-text-muted:var(--text-muted);--field-text-label:var(--text-muted);--field-accent-contractor:var(--accent);--field-success-bg:var(--status-done-bg);--field-success-border:var(--border);--field-success-fg:var(--status-done);--field-warning-bg:var(--status-warn-bg);--field-warning-border:var(--border);--field-warning-fg:var(--status-warn);--field-danger-bg:var(--status-alert-bg);--field-danger-border:var(--border);--field-danger-fg:var(--status-alert)}.contractor-report-document{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);width:min(100%,900px);margin:0 auto;overflow:hidden}.contractor-report-header{gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);background:var(--bg-surface);display:grid}.contractor-report-header-main,.contractor-report-history,.contractor-report-week-progress>div,.contractor-report-page .field-form-sticky-submit{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.contractor-report-header-main{align-items:flex-start}.contractor-report-eyebrow{margin-bottom:var(--space-1);color:var(--accent);font-size:.75rem;font-weight:700}.contractor-report-header h1{color:var(--text-primary);margin:0;font-size:1.25rem;line-height:1.3}.contractor-report-header-main p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.8125rem}.contractor-report-continuity{min-width:190px;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--status-done-bg);color:var(--status-done);gap:2px;font-size:.75rem;display:grid}.contractor-report-continuity span{color:var(--text-muted);font-size:.6875rem}.contractor-report-context{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.contractor-report-week-progress{gap:var(--space-2);color:var(--text-muted);font-size:.75rem;display:grid}.contractor-report-week-progress strong{color:var(--accent)}.contractor-report-week-progress .progress-track{height:5px}.contractor-report-week-progress .progress-fill{background:var(--accent)}.contractor-report-history{padding-top:var(--space-3);border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;font-size:.75rem}.contractor-report-history>div{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.contractor-report-history strong{color:var(--text-primary)}.contractor-report-history .status-dot{border-radius:var(--radius-full);background:var(--status-done);width:7px;height:7px}.contractor-report-history .status-dot.is-warn{background:var(--status-warn)}.contractor-report-group{padding:0 var(--space-6)}.contractor-report-group+.contractor-report-group{border-top:6px solid var(--bg-base)}.contractor-report-group-heading{gap:var(--space-3);padding:var(--space-5) 0 var(--space-2);display:flex}.contractor-report-group-heading>span{border-radius:var(--radius-full);background:var(--accent-subtle);width:24px;height:24px;color:var(--accent);flex:0 0 24px;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.contractor-report-group-heading h2{color:var(--text-primary);margin:1px 0 0;font-size:.9375rem}.contractor-report-group-heading p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:.75rem;line-height:1.45}.contractor-report-section{margin:0}.contractor-report-section-content{min-width:0}.contractor-report-inheritance-note,.contractor-report-boundary-note,.contractor-report-evidence-count{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.5}.contractor-report-inheritance-note,.contractor-report-boundary-note{margin-bottom:var(--space-4)}.contractor-report-field-label{margin-bottom:var(--space-2);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:700;display:block}.contractor-report-input-narrow{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);width:min(100%,320px);min-height:44px;color:var(--text-primary);font:inherit;padding:10px 14px}.contractor-report-declaration{align-items:flex-start;gap:var(--space-3);min-height:44px;color:var(--text-primary);cursor:pointer;font-size:.8125rem;line-height:1.6;display:flex}.contractor-report-checkbox{border:2px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;display:flex}.contractor-report-checkbox.is-checked{border-color:var(--accent);background:var(--accent);color:var(--bg-surface)}.contractor-report-checkbox:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.contractor-report-page .field-form-sticky-submit{padding:var(--space-3) var(--space-6);border-top:1px solid var(--border);background:var(--bg-surface)}.contractor-report-autosave-note{color:var(--text-muted);font-size:.75rem}.contractor-report-submit{width:auto;min-width:190px;min-height:44px}.master-list-empty{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;flex-direction:column;display:flex}.master-list-empty strong{color:var(--text-primary)}.master-list-empty span{color:var(--text-muted);font-size:.75rem;line-height:1.5}.master-list-empty .btn{margin-top:var(--space-2)}.field-form-page input,.field-form-page select,.field-form-page textarea{font-size:16px!important}.field-form-2col{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=640px){.field-form-2col{grid-template-columns:1fr}.weekly-project-header{align-items:flex-start}.weekly-kpi-primary,.weekly-kpi-secondary,.weekly-progress-stats{gap:14px}.weekly-kpi-item{min-width:calc(50% - 8px)}.weekly-command-panel,.weekly-comparison-section,.weekly-truth-console{padding:16px}.weekly-reports-toolbar{position:static}.weekly-toolbar-actions{width:100%}.weekly-missing-modal{width:calc(100vw - 20px);max-height:calc(100vh - 28px)}}.field-form-scroll-x{overflow-x:auto}@media (width<=640px){.contractor-report-page{padding:0 0 80px}.contractor-report-document{border-left:0;border-right:0;border-radius:0}.contractor-report-header{padding:var(--space-4)}.contractor-report-header-main{flex-direction:column}.contractor-report-continuity{box-sizing:border-box;width:100%}.contractor-report-context{grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-report-group{padding:0 var(--space-3)}.contractor-report-group-heading{padding-top:var(--space-4)}.contractor-report-section.is-ruled{padding:var(--space-3) 0}.field-form-sticky-submit{z-index:20;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000014}.contractor-report-page .field-form-sticky-submit{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bg-surface);flex-direction:column;align-items:stretch}.contractor-report-autosave-note{display:none}.contractor-report-submit{width:100%}.field-form-sticky-submit-spacer{height:84px}}@keyframes field-form-spin{to{transform:rotate(360deg)}}.field-form-error-summary{border:1px solid var(--field-danger-border);background:var(--field-danger-bg);color:var(--field-danger-fg-dark);border-radius:12px;margin-bottom:16px;padding:16px 20px;font-size:.875rem;line-height:1.5}.field-form-recovery{border:1px solid var(--field-info-border);background:var(--field-info-bg);color:var(--field-text-body);border-radius:12px;justify-content:space-between;gap:20px;margin-bottom:16px;padding:18px 20px;display:flex}.field-form-recovery h2{color:var(--field-text-heading);margin:0 0 8px;font-size:1rem}.field-form-recovery p{margin:0}.field-form-recovery dl{flex-wrap:wrap;gap:8px 20px;margin:0;display:flex}.field-form-recovery dl div{gap:6px;display:flex}.field-form-recovery dt{color:var(--field-text-label);font-weight:700}.field-form-recovery dd{margin:0}.field-form-recovery-actions{flex-direction:column;flex-shrink:0;justify-content:center;gap:8px;display:flex}@media (width<=560px){.field-form-recovery,.field-form-recovery-actions{flex-direction:column}.field-form-recovery-actions button{width:100%;min-height:44px}}.site-visit-page{background:var(--field-bg-sitevisit);min-height:100vh;color:var(--field-text-body);--bg-base:var(--field-bg-sitevisit);--bg-surface:var(--field-bg-card);--bg-elevated:var(--field-bg-faint);--border:var(--field-border);--border-strong:var(--field-border-strong);--text-primary:var(--field-text-heading);--text-secondary:var(--field-text-secondary);--text-muted:var(--field-text-muted);padding:24px 20px 80px}.site-visit-document{border:1px solid var(--field-border);background:var(--field-bg-card);border-radius:12px;flex-direction:column;width:min(100%,1180px);margin:0 auto;display:flex;overflow:hidden}.site-visit-header{border-bottom:1px solid var(--field-border);gap:16px;padding:20px 24px;display:grid}.site-visit-header-main{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.site-visit-eyebrow{color:var(--field-accent-sitevisit);margin-bottom:4px;font-size:.75rem;font-weight:700}.site-visit-header h1{color:var(--field-text-heading);margin:0;font-size:1.25rem;line-height:1.3}.site-visit-header-main p{color:var(--field-text-muted);margin:4px 0 0;font-size:.8125rem}.site-visit-save-state{text-align:right;gap:3px;min-width:210px;display:grid}.site-visit-save-state strong{color:var(--field-accent-sitevisit);font-size:.75rem}.site-visit-save-state span{color:var(--field-text-muted);font-size:.6875rem}.site-visit-project-context{grid-template-columns:repeat(4,minmax(0,1fr))}.site-visit-submit-error,.site-visit-validation-summary,.site-visit-page .field-form-recovery{margin:12px 16px 0}.site-visit-validation-summary ul{margin:8px 0 0;padding-left:18px}.site-visit-context-section,.site-visit-declaration-section,.site-visit-legacy-scope{margin:0 24px}.site-visit-section{margin:0}.site-visit-section-content{min-width:0}.site-visit-field{color:var(--field-text-label);letter-spacing:.04em;text-transform:uppercase;gap:8px;font-size:.6875rem;font-weight:700;display:grid}.site-visit-field input,.site-visit-field select{box-sizing:border-box;border:1px solid var(--field-border-strong);background:var(--field-bg-card);width:100%;min-height:44px;color:var(--field-text-body);text-transform:none;border-radius:8px;padding:0 12px}.site-visit-no-report{border:1px solid var(--field-warning-border);background:var(--field-warning-bg);min-height:44px;color:var(--field-warning-fg-dark);text-transform:none;border-radius:8px;align-items:center;padding:0 12px;font-size:.8125rem;display:flex}.site-visit-loading,.site-visit-no-scope{text-align:center;color:var(--field-text-muted);margin:0 24px 20px;padding:32px}.site-visit-workspace{background:var(--field-bg-subtle);grid-template-columns:336px minmax(0,1fr);gap:8px;min-height:600px;margin:8px;display:grid}.site-visit-scope-pane,.site-visit-detail-pane{border:1px solid var(--field-border);background:var(--field-bg-card);min-width:0}.site-visit-scope-pane{flex-direction:column;display:flex}.site-visit-scope-heading{border-bottom:1px solid var(--field-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.site-visit-scope-heading h2,.site-visit-current-heading h2,.site-visit-review h2,.site-visit-filter-empty h2,.site-visit-legacy-heading h2{color:var(--field-text-heading);margin:0;font-size:.9375rem}.site-visit-scope-heading p,.site-visit-current-heading p,.site-visit-review p,.site-visit-filter-empty p,.site-visit-legacy-heading p{color:var(--field-text-muted);margin:4px 0 0;font-size:.75rem;line-height:1.45}.site-visit-scope-heading>span{color:var(--field-text-muted);white-space:nowrap;font-size:.6875rem}.site-visit-filters{border-bottom:1px solid var(--field-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 12px;display:grid}.site-visit-filters button{border:1px solid var(--field-border-strong);background:var(--field-bg-card);min-height:44px;color:var(--field-text-body);text-transform:capitalize;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:7px 9px;font-size:.75rem;display:flex}.site-visit-filters button span{color:var(--field-text-muted);font-size:.6875rem}.site-visit-filters button[aria-pressed=true]{border-color:var(--field-accent-sitevisit);background:var(--field-info-bg);color:var(--field-info-fg-dark);font-weight:700}.site-visit-task-list{min-height:0;overflow-y:auto}.site-visit-master-row{border:0;border-bottom:1px solid var(--field-border);background:var(--field-bg-card);width:100%;min-height:72px;color:var(--field-text-body);text-align:left;padding:11px 16px;display:grid}.site-visit-master-row strong{color:var(--field-text-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.site-visit-master-row span,.site-visit-master-row small{color:var(--field-text-muted);margin-top:3px;font-size:.6875rem}.site-visit-master-row small.is-complete{color:var(--field-success-fg-dark)}.site-visit-master-row.is-selected{background:var(--field-info-bg);box-shadow:inset 3px 0 0 var(--field-accent-sitevisit)}.site-visit-master-row:focus-visible,.site-visit-filters button:focus-visible,.site-visit-status-options button:focus-visible,.site-visit-progression button:focus-visible,.site-visit-checkbox:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.site-visit-detail-pane{flex-direction:column;display:flex}.site-visit-current-heading{border-bottom:1px solid var(--field-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.site-visit-current-heading>div>span{color:var(--field-accent-sitevisit);font-size:.6875rem;font-weight:700}.site-visit-current-heading>strong{color:var(--field-text-muted);white-space:nowrap;font-size:.75rem}.site-visit-observation{gap:12px;min-width:0;padding:16px 20px 24px;display:grid}.site-visit-reported,.site-visit-observed{border:1px solid var(--field-border);border-radius:8px;padding:14px 16px}.site-visit-reported{background:var(--field-info-bg)}.site-visit-observed{background:var(--field-success-bg)}.site-visit-concept-label{color:var(--field-text-label);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:.6875rem;font-weight:700}.site-visit-reported h3,.site-visit-observed h3{color:var(--field-text-heading);text-transform:capitalize;margin:0;font-size:1rem}.site-visit-reported p{color:var(--field-text-secondary);margin:5px 0 0;font-size:.75rem}.site-visit-status-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.site-visit-status-options button{border:1px solid var(--field-border-strong);background:var(--field-bg-card);min-height:44px;color:var(--field-text-secondary);border-radius:7px;padding:8px 6px;font-size:.75rem;position:relative}.site-visit-status-options button[aria-pressed=true]{border-color:var(--field-accent-sitevisit);background:var(--field-info-bg);color:var(--field-info-fg-dark);font-weight:700}.site-visit-status-options button span{color:var(--field-text-muted);margin-top:2px;font-size:.5625rem;display:block}.site-visit-progress-control{color:var(--field-text-secondary);grid-template-columns:auto minmax(100px,1fr) 42px;align-items:center;gap:10px;margin-top:12px;font-size:.75rem;display:grid}.site-visit-progress-control input{min-height:44px}.site-visit-progress-control strong{color:var(--field-text-heading);text-align:right}.site-visit-note-control{color:var(--field-text-label);gap:7px;margin-top:14px;font-size:.75rem;font-weight:700;display:grid}.site-visit-note-control small{color:var(--field-text-muted);font-weight:400}.site-visit-note-control textarea{box-sizing:border-box;border:1px solid var(--field-border-strong);background:var(--field-bg-card);width:100%;min-height:88px;color:var(--field-text-body);resize:vertical;border-radius:8px;padding:10px 12px;line-height:1.5}.site-visit-discrepancy-state{border:1px solid var(--field-border);border-radius:8px;gap:4px;padding:12px 14px;font-size:.75rem;display:grid}.site-visit-discrepancy-state strong{color:var(--field-text-heading)}.site-visit-discrepancy-state span{color:var(--field-text-secondary)}.site-visit-discrepancy-state.is-pending{background:var(--field-bg-faint)}.site-visit-discrepancy-state.is-aligned{border-color:var(--field-success-border);background:var(--field-success-bg)}.site-visit-filter-empty{text-align:center;place-items:center;min-height:420px;padding:32px;display:grid}.site-visit-filter-empty .btn{margin-top:8px}.site-visit-supporting-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px;display:grid}.site-visit-supporting-sections .ds-analytical-section{min-width:0}.site-visit-reported-assessment{color:var(--field-text-secondary);margin:0 0 12px;font-size:.75rem}.site-visit-assessment-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.site-visit-assessment-options button{border:1px solid var(--field-border-strong);background:var(--field-bg-card);min-height:44px;color:var(--field-text-secondary);border-radius:8px}.site-visit-assessment-options button[aria-pressed=true]{border-color:var(--field-accent-sitevisit);background:var(--field-info-bg);color:var(--field-info-fg-dark);font-weight:700}.site-visit-evidence .ds-evidence-ledger{margin-bottom:14px}.site-visit-photo-error{border:1px solid var(--field-danger-border);background:var(--field-danger-bg);color:var(--field-danger-fg-dark);border-radius:8px;margin-top:10px;padding:10px 12px;font-size:.8125rem}.site-visit-declaration{min-height:44px;color:var(--field-text-body);cursor:pointer;align-items:flex-start;gap:12px;font-size:.8125rem;line-height:1.55;display:flex}.site-visit-checkbox{border:2px solid var(--field-border-strong);background:var(--field-bg-card);border-radius:6px;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.site-visit-checkbox.is-checked{border-color:var(--field-accent-sitevisit);background:var(--field-accent-sitevisit);color:var(--field-text-on-accent)}.site-visit-review{border:1px solid var(--field-border);background:var(--field-bg-faint);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:0 24px 16px;padding:14px 16px;display:flex}.site-visit-review>div:last-child,.site-visit-progression{gap:8px;display:flex}.site-visit-legacy-heading{padding:16px 0 12px}.site-visit-page .field-form-sticky-submit{border-top:1px solid var(--field-border);background:var(--field-bg-card);justify-content:flex-end;align-items:center;gap:10px;padding:12px 24px;display:flex}.site-visit-autosave-note{color:var(--field-text-muted);margin-right:auto;font-size:.75rem}.site-visit-progression button,.site-visit-submit{min-height:44px}.site-visit-submit{min-width:170px}@media (width<=760px){.site-visit-page{padding:0 0 92px}.site-visit-document{border-left:0;border-right:0;border-radius:0}.site-visit-header{padding:14px 16px}.site-visit-header-main{display:block}.site-visit-save-state{text-align:left;margin-top:8px}.site-visit-project-context{grid-template-columns:repeat(2,minmax(0,1fr))}.site-visit-context-section{order:2;margin:0 12px}.site-visit-workspace{order:1;grid-template-columns:minmax(0,1fr);min-height:0;margin:8px 0}.site-visit-scope-pane{border-left:0;border-right:0;order:1}.site-visit-scope-heading{padding:12px 14px}.site-visit-filters{scrollbar-width:none;padding:8px 10px;display:flex;overflow-x:auto}.site-visit-filters::-webkit-scrollbar{display:none}.site-visit-filters button{min-width:max-content}.site-visit-task-list{display:none}.site-visit-detail-pane{display:contents}.site-visit-current-heading{border-top:1px solid var(--field-border);background:var(--field-bg-card);order:0;padding:14px 16px}.site-visit-observation,.site-visit-filter-empty{background:var(--field-bg-card);order:2}.site-visit-observation{padding:12px}.site-visit-status-options{grid-template-columns:repeat(2,minmax(0,1fr))}.site-visit-status-options button:last-child{grid-column:span 2}.site-visit-supporting-sections{order:3;grid-template-columns:1fr;gap:0;padding:0 12px}.site-visit-declaration-section{order:4;margin:0 12px}.site-visit-review{flex-direction:column;order:5;align-items:stretch;margin:0 12px 12px}.site-visit-review>div:last-child{grid-template-columns:1fr 1fr;display:grid}.site-visit-legacy-scope{order:1;margin:0 12px}.site-visit-page .field-form-sticky-submit{padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--field-bg-card);box-shadow:var(--field-shadow-lg);grid-template-columns:minmax(0,1fr) auto;display:grid}.site-visit-autosave-note{display:none}.site-visit-progression{min-width:0}.site-visit-progression button{flex:1;min-width:0;padding-left:10px;padding-right:10px}.site-visit-submit{min-width:112px}.site-visit-page .field-form-sticky-submit-spacer{order:6}}@supports (padding:max(0px)){.field-form-sticky-submit{padding-bottom:max(10px, env(safe-area-inset-bottom))}}.toast-stack{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:2000;pointer-events:none;flex-direction:column-reverse;gap:8px;width:min(420px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-lg);pointer-events:auto;align-items:center;gap:10px;padding:12px 14px;font-size:.8125rem;animation:.15s ease-out toast-in;display:flex}.toast span{flex:1}.toast-success{border-color:var(--status-done)}.toast-error{border-color:var(--status-alert)}.toast-dismiss{width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex}.toast-dismiss:hover{background:var(--bg-input);color:var(--text-primary)}.toast-dismiss:focus-visible{box-shadow:var(--focus-ring);outline:none}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.benchmark-view-header{margin-bottom:16px}.benchmark-view-title{color:var(--text-primary);margin:0 0 4px;font-size:1.05rem;font-weight:800}.benchmark-view-subtitle{color:var(--text-secondary);margin:0;font-size:.85rem}.benchmark-view-note{color:var(--text-muted);margin:4px 0 0;font-size:.75rem}.benchmark-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.benchmark-card{border:1px solid var(--border);border-radius:var(--radius-md,12px);background:var(--bg-elevated);min-width:0;padding:16px}.benchmark-card--unavailable{color:var(--text-muted)}.benchmark-card-title{color:var(--text-primary);margin-bottom:10px;font-size:.85rem;font-weight:750}.benchmark-unavailable-heading{color:var(--text-secondary);margin-bottom:4px;font-size:.8125rem;font-weight:700}.benchmark-unavailable-text{color:var(--text-muted);font-size:.75rem;line-height:1.4}.benchmark-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:2px;font-size:.6875rem;font-weight:700}.benchmark-stat-value{color:var(--text-primary);margin-bottom:10px;font-size:1.05rem;font-weight:800}.benchmark-stat-secondary{color:var(--text-secondary);margin-bottom:10px;font-size:.8125rem;font-weight:600}.benchmark-sample-size{color:var(--text-muted);margin-bottom:12px;font-size:.75rem}.benchmark-your-project{border-top:1px solid var(--border);margin-bottom:6px;padding-top:10px}.benchmark-your-project .benchmark-stat-label{color:var(--accent)}.benchmark-your-project .benchmark-stat-value{color:var(--text-primary);font-size:.9375rem;font-weight:700}.benchmark-comparison{color:var(--text-primary);font-size:.8125rem;font-weight:600}.benchmark-comparison-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.benchmark-not-available-yet{color:var(--text-muted);font-size:.8125rem;font-style:italic}.benchmark-hint{color:var(--text-muted);margin-bottom:8px;font-size:.6875rem}.benchmark-disclosure-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.75rem;font-weight:700}.benchmark-disclosure-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.benchmark-disclosure-panel{border-top:1px dashed var(--border);margin-top:8px;padding-top:8px}.benchmark-criteria-row{color:var(--text-secondary);justify-content:space-between;gap:12px;padding:3px 0;font-size:.75rem;display:flex}.benchmark-criteria-row span:last-child{color:var(--text-primary);text-align:right;font-weight:600}@media (width<=720px){.benchmark-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.toast-stack{width:calc(100vw - 24px);bottom:calc(12px + env(safe-area-inset-bottom,0px))}}.portfolio-page{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.portfolio-page>.page-header{flex-shrink:0;margin-bottom:14px}.portfolio-page-actions{flex-wrap:wrap;gap:10px;display:flex}.portfolio-master-detail{background:var(--bg-surface)}.portfolio-master-header{padding-bottom:10px}.portfolio-filter-stack{gap:8px;display:grid}.portfolio-master-header .master-search .ds-input{width:100%;padding-left:10px}.portfolio-filter-primary{align-items:flex-start;gap:6px;min-width:0;display:flex}.portfolio-filter-disclosure{flex-shrink:0}.portfolio-filter-disclosure>summary{height:var(--control-height-sm);padding:0 8px;font-size:.6875rem;list-style:none}.portfolio-filter-disclosure>summary::-webkit-details-marker{display:none}.portfolio-filter-disclosure>summary.is-active{border-color:var(--border-strong);color:var(--accent)}.portfolio-secondary-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.portfolio-secondary-filters label{min-width:0}.portfolio-secondary-filters label>span{color:var(--text-muted);margin-bottom:3px;font-size:.625rem;font-weight:650;display:block}.portfolio-secondary-filters .ds-select{height:var(--control-height-sm);padding-inline:8px 22px;font-size:.6875rem}.portfolio-filter-summary{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.6875rem;display:flex}.portfolio-filter-summary .btn-ghost-sm{min-height:24px;padding-inline:6px;font-size:.625rem}.master-list-row.portfolio-master-row{min-height:72px;padding:8px 14px}.master-list-row.portfolio-master-row.is-selected{padding-left:17px}.portfolio-master-row .master-row-bottom{justify-content:flex-start}.portfolio-pagination{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex}.portfolio-pagination-summary{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.portfolio-pagination-controls{align-items:center;gap:4px;display:flex}.portfolio-page-button{border:1px solid var(--border);min-width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:0 6px;font-size:.75rem}.portfolio-page-button:hover{background:var(--bg-elevated)}.portfolio-page-button.is-active{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent);font-weight:700}.portfolio-page-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.portfolio-detail-header{justify-content:space-between}.portfolio-detail-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.portfolio-detail-actions .btn{min-height:var(--control-height-sm);height:var(--control-height-sm);padding:0 10px;font-size:.6875rem}.portfolio-back-to-master{display:none}.portfolio-detail-tabpanel{min-width:0;min-height:100%;padding:16px}.project-detail-sheet{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-width:0;overflow:hidden}.project-detail-section{min-width:0;padding:16px 18px}.project-detail-section+.project-detail-section{border-top:1px solid var(--border)}.project-detail-section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.project-detail-section-heading h2{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:700}.project-detail-section-heading p{max-width:58ch;color:var(--text-muted);text-align:right;margin:0;font-size:.6875rem;line-height:1.4}.project-detail-kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;display:grid}.project-detail-kv-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(112px,.7fr) minmax(0,1fr);gap:14px;min-width:0;padding:8px 0;display:grid}.project-detail-kv-row dt{color:var(--text-muted);font-size:.6875rem}.project-detail-kv-row dd{overflow-wrap:anywhere;min-width:0;color:var(--text-primary);margin:0;font-size:.75rem;font-weight:600}.project-detail-kv-row dd.is-empty{color:var(--text-muted);font-weight:500}.project-detail-value-note{margin-top:2px;font-size:.625rem;font-weight:500;display:block}.project-detail-link-actions{flex-wrap:wrap;gap:8px;display:flex}.project-detail-link-actions .btn{height:var(--control-height-sm);padding-inline:10px;font-size:.6875rem}.portfolio-detail-empty{place-items:center;min-height:260px;display:grid}.project-editor-modal{flex-direction:column;max-height:min(90vh,820px);display:flex}.project-editor-body{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.project-scope-entry{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-scope-entry-summary{flex-direction:column;gap:4px;min-width:0;display:flex}.project-scope-entry-summary strong{color:var(--text-primary);font-size:.875rem}.project-scope-entry-summary span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.project-scope-entry-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=1180px){.portfolio-detail-header{flex-wrap:wrap}.project-detail-kv-grid{grid-template-columns:1fr}.portfolio-detail-actions{width:100%;padding-left:0}}@media (width<=900px){.portfolio-page{height:auto;overflow:visible}.portfolio-back-to-master{flex-shrink:0;display:inline-flex}.portfolio-page[data-mobile-view=detail] .portfolio-page-actions{display:none}}@media (width<=640px){.project-detail-kv-grid{grid-template-columns:1fr}.project-detail-section-heading{display:block}.project-detail-section-heading p{text-align:left;margin-top:4px}.portfolio-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.portfolio-detail-actions .btn-primary{grid-column:1/-1}.project-editor-modal{max-height:calc(100dvh - 20px);width:calc(100vw - 20px)!important}.project-editor-body{padding:16px}.project-scope-entry{flex-direction:column;align-items:stretch;gap:12px}.project-scope-entry-actions{flex-direction:column;align-items:stretch}.project-scope-entry-actions .btn{justify-content:center;width:100%}.project-scope-configurator-overlay{padding:10px}.project-scope-configurator{width:100%!important;max-height:calc(100dvh - 20px)!important}.project-scope-configurator-header,.project-scope-area-context{padding-left:16px!important;padding-right:16px!important}.project-scope-area-grid{grid-template-columns:1fr!important;gap:6px!important}.project-scope-configurator-footer{flex-direction:column;gap:10px;align-items:stretch!important;padding:12px 16px!important}.project-scope-configurator-actions{width:100%}.project-scope-configurator-actions button{flex:1}}.specialized-data-grid{font-variant-numeric:tabular-nums}.specialized-data-grid tr:focus-visible{box-shadow:inset var(--focus-ring);outline:none}.risk-register-table{min-width:820px}.risk-register-table tbody>tr:not(.is-selected){background:0 0}.master-detail{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);flex:1;grid-template-columns:clamp(320px,28vw,390px) minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.master-pane,.detail-pane{background:var(--bg-surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.master-pane-header,.detail-pane-header,.detail-pane-tabs{flex-shrink:0}.master-pane-list,.detail-pane-content{flex:1;min-width:0;min-height:0;overflow:auto}.dashboard-page{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.master-pane-header{border-bottom:1px solid var(--border);background:var(--bg-surface);padding:13px 14px 11px}.master-pane-title{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin:0 0 8px;font-size:.6875rem;font-weight:750}.master-search{display:block;position:relative}.master-search>svg{z-index:1;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.master-search .ds-input{height:var(--control-height-sm);padding-left:32px;font-size:.75rem}.master-filter-row{align-items:center;gap:6px;min-width:0;margin-top:8px;display:flex}.master-filter-select-wrap{flex:none}.master-filter-select{width:82px;height:var(--control-height-sm);border-radius:var(--radius-sm);padding:0 22px 0 8px;font-size:.6875rem;font-weight:650}.master-quick-filters{scrollbar-width:thin;flex:1;gap:3px;min-width:0;display:flex;overflow-x:auto}.master-quick-filter{min-height:var(--control-height-sm);border-radius:var(--radius-sm);color:var(--text-secondary);font:600 .6875rem/1 var(--font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.master-quick-filter span{color:var(--text-muted);font-size:.625rem}.master-quick-filter:hover{background:var(--bg-elevated);color:var(--text-primary)}.master-quick-filter.is-active{border-color:var(--border);background:var(--accent-subtle);color:var(--accent)}.master-quick-filter:focus-visible,.master-list-row:focus-visible,.detail-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.master-list-label{border-bottom:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;font-size:.625rem;font-weight:700;display:flex}.master-list-row{border:0;border-bottom:1px solid var(--border);width:100%;min-width:0;min-height:76px;color:var(--text-primary);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border-radius:0;flex-direction:column;padding:10px 14px;transition:background .15s ease-out;display:flex;position:relative}.master-list-row:hover{background:var(--bg-elevated)}.master-list-row.is-selected{background:var(--accent-subtle);padding-left:17px}.master-list-row.is-selected:before{background:var(--accent);content:"";width:3px;position:absolute;inset:0 auto 0 0}.master-list-row--portfolio{flex-direction:row;justify-content:space-between;align-items:center;gap:16px;min-height:58px}.master-row-main{gap:2px;min-width:0;display:grid}.master-row-main strong,.master-row-top strong,.master-row-name,.master-row-bottom>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.master-row-main strong{text-transform:uppercase;font-size:.75rem}.master-row-main span{color:var(--text-muted);font-size:.6875rem}.master-row-count{color:var(--text-secondary);font-size:.75rem;font-weight:700}.master-row-top,.master-row-bottom{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.master-row-top strong{min-width:0;color:var(--text-primary);font-size:.75rem;font-weight:750}.master-row-name{color:var(--text-primary);margin-top:3px;font-size:.75rem;font-weight:650}.master-row-bottom{color:var(--text-muted);margin-top:4px;font-size:.6875rem}.master-row-bottom>span:first-child{min-width:0}.master-health{color:var(--text-secondary);flex-shrink:0;font-weight:650}.master-health.is-positive{color:var(--status-done)}.master-health.is-warning{color:var(--status-warn)}.master-health.is-critical{color:var(--status-alert)}.master-list-empty{color:var(--text-muted);text-align:center;padding:28px 18px;font-size:.75rem;line-height:1.5}.detail-pane-header{border-bottom:1px solid var(--border);background:var(--bg-surface);align-items:center;gap:14px;min-width:0;padding:14px 18px;display:flex}.dashboard-back-to-master{display:none}.dashboard-detail-identity{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.dashboard-detail-identity>div{min-width:0}.dashboard-detail-title,.dashboard-detail-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-detail-title{color:var(--text-primary);font-size:1rem;font-weight:750;line-height:1.25}.dashboard-detail-meta{color:var(--text-muted);margin-top:3px;font-size:.75rem}.dashboard-detail-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dashboard-detail-actions .btn{min-height:var(--control-height-sm);height:var(--control-height-sm);padding:0 10px;font-size:.6875rem}.detail-pane-tabs{border-bottom:1px solid var(--border);background:var(--bg-surface);gap:20px;min-width:0;padding:0 18px;display:flex;overflow:auto hidden}.detail-tab{color:var(--text-muted);font:600 .75rem/1.2 var(--font-sans);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:10px 0 9px;position:relative}.detail-tab:hover{color:var(--text-primary)}.detail-tab.is-active:after{background:var(--accent);content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0}.detail-pane-content{background:var(--bg-base)}.dashboard-project-overview,.dashboard-portfolio-overview{gap:12px;min-width:0;display:grid}.dashboard-project-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-detail-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-width:0;padding:14px 16px}.dashboard-detail-section>h3,.dashboard-section-heading h3{color:var(--text-primary);margin:0 0 12px;font-size:.8125rem;font-weight:750}.dashboard-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard-section-heading h3{margin-bottom:2px}.dashboard-section-heading p,.dashboard-section-heading>span{color:var(--text-muted);font-size:.6875rem}.dashboard-attention-strip{flex-wrap:wrap;align-items:center;gap:8px 18px;padding:2px 0 4px;display:flex}.dashboard-attention-strip.is-clear{color:var(--text-muted);font-size:.75rem}.dashboard-attention-chip{color:var(--text-secondary);align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.dashboard-attention-list{display:grid}.dashboard-attention-row{border-top:1px solid var(--border);min-width:0;color:var(--text-secondary);grid-template-columns:92px minmax(72px,.6fr) minmax(100px,1fr) auto minmax(120px,1fr) 28px;align-items:center;gap:10px;padding:8px 0;font-size:.6875rem;display:grid}.dashboard-attention-row>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-attention-row strong{color:var(--text-primary)}.dashboard-attention-status{color:var(--status-warn);align-items:center;gap:5px;font-weight:700;display:inline-flex}.dashboard-attention-row.is-critical .dashboard-attention-status{color:var(--status-alert)}.dashboard-attention-row .btn-icon{width:28px;height:28px}.dashboard-portfolio-panel{border:1px solid var(--border);background:var(--bg-surface);border-radius:6px;grid-template-columns:minmax(0,1.05fr) minmax(190px,.85fr) minmax(260px,1.15fr);grid-template-areas:"health scope reporting";min-width:0;min-height:172px;display:grid;overflow:hidden}.dashboard-portfolio-column{min-width:0;min-height:170px;padding:14px 16px}.dashboard-portfolio-column+.dashboard-portfolio-column{border-left:1px solid var(--border)}.dashboard-portfolio-health-column{grid-area:health}.dashboard-portfolio-scope-column{grid-area:scope}.dashboard-portfolio-reporting-column{grid-area:reporting}.dashboard-portfolio-column h2{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;font-size:.6875rem;font-weight:800;line-height:1.45}.dashboard-portfolio-health-compact{gap:8px;display:grid}.dashboard-portfolio-health-donut{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.dashboard-portfolio-status-bar{border-radius:var(--radius-full);background:var(--bg-elevated);width:100%;height:8px;display:flex;overflow:hidden}.dashboard-portfolio-status-bar>span{height:100%;display:block}.dashboard-portfolio-donut{flex-shrink:0}.dashboard-portfolio-status-legend{gap:2px;min-width:0;display:grid}.dashboard-portfolio-status-row,.dashboard-portfolio-status-label{align-items:center;display:flex}.dashboard-portfolio-status-row{min-height:15px;color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:.6875rem}.dashboard-portfolio-status-label{gap:7px}.dashboard-portfolio-status-dot{border-radius:var(--radius-full);flex:0 0 7px;width:7px;height:7px}.dashboard-portfolio-empty{color:var(--text-muted);margin:0;font-size:.75rem}.dashboard-portfolio-total{align-items:baseline;gap:7px;margin-bottom:10px;display:flex}.dashboard-portfolio-total strong{color:var(--text-primary);font-size:1.5rem;line-height:1.1}.dashboard-portfolio-total span{color:var(--text-secondary);font-size:.75rem;font-weight:650}.dashboard-portfolio-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;display:grid}.dashboard-portfolio-scope-grid dt,.dashboard-portfolio-reporting-grid span{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.5625rem;font-weight:750;line-height:1.4}.dashboard-portfolio-scope-grid dd{color:var(--text-primary);margin:1px 0 0;font-size:.875rem;font-weight:700}.dashboard-portfolio-reporting-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-portfolio-reporting-grid>div{align-content:start;display:grid}.dashboard-portfolio-reporting-grid strong{color:var(--text-primary);margin-top:2px;font-size:1.25rem;line-height:1.2}.dashboard-portfolio-reporting-grid small{color:var(--text-muted);margin-top:2px;font-size:.625rem;line-height:1.4}.dashboard-portfolio-missing-callout{background:var(--status-warn-bg);color:var(--status-warn);border-radius:4px;margin:10px 0 0;padding:7px 10px;font-size:.625rem;font-weight:700;line-height:1.4}.dashboard-portfolio-monte-carlo-warning{border:1px solid var(--status-warn);background:var(--status-warn-bg);color:var(--status-warn);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.75rem;display:flex}.dashboard-portfolio-monte-carlo-warning strong{align-items:center;gap:6px;display:inline-flex}.dashboard-portfolio-tools{grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:20px;display:grid}.dashboard-portfolio-tools h3{color:var(--text-primary);margin:0 0 10px;font-size:.8125rem;font-weight:750;display:block}.dashboard-snapshot-disclosure{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:10px 14px;font-size:.75rem}.dashboard-snapshot-disclosure>summary{color:var(--text-secondary);cursor:pointer;font-weight:650;list-style:none}.dashboard-snapshot-disclosure>summary::-webkit-details-marker{display:none}.dashboard-snapshot-disclosure[open]>summary{color:var(--text-primary);margin-bottom:10px}.dashboard-snapshot-control p{color:var(--text-muted);margin:-6px 0 8px;font-size:.6875rem;line-height:1.4}.dashboard-snapshot-control>div{align-items:center;gap:8px;display:flex}.dashboard-snapshot-control .ds-input{max-width:180px;height:var(--control-height-sm);font-size:.75rem}.dashboard-snapshot-banner{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-subtle);color:var(--text-secondary);align-items:center;gap:10px;padding:9px 12px;font-size:.75rem;display:flex}.dashboard-snapshot-banner strong{color:var(--accent)}.dashboard-snapshot-banner .btn-icon{margin-left:auto}.dashboard-content-heading{color:var(--text-primary);margin-bottom:4px;font-size:.9375rem;font-weight:700}.dashboard-content-subtitle{color:var(--text-muted);margin-bottom:18px;font-size:.75rem}@media (width<=1180px){.dashboard-portfolio-panel{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"health scope""reporting reporting"}.dashboard-portfolio-reporting-column{border-top:1px solid var(--border);border-left:0}.dashboard-project-overview{grid-template-columns:1fr}.dashboard-detail-actions .btn-secondary{display:none}.dashboard-attention-row{grid-template-columns:82px minmax(70px,.6fr) minmax(100px,1fr) auto 28px}.dashboard-attention-row>span:nth-child(5){display:none}}@media (width<=900px){.dashboard-page{height:auto;min-height:0;overflow:visible}.master-detail{background:0 0;border:0;display:block;overflow:visible}.master-pane,.detail-pane{border:1px solid var(--border);border-radius:var(--radius-md);overflow:visible}.master-pane-list,.detail-pane-content{overflow:visible}.master-detail[data-mobile-view=master] .detail-pane,.master-detail[data-mobile-view=detail] .master-pane{display:none}.dashboard-back-to-master{flex-shrink:0;display:inline-flex}.detail-pane-header{flex-wrap:wrap}.dashboard-detail-identity{flex-basis:calc(100% - 110px)}.dashboard-detail-actions{width:100%;padding-left:98px}.dashboard-portfolio-tools{grid-template-columns:1fr}.dashboard-snapshot-control{border-top:1px solid var(--border);border-left:0;padding:16px 0 0}}@media (width<=640px){.dashboard-portfolio-panel{grid-template-columns:minmax(0,1fr);grid-template-areas:"health""reporting""scope"}.dashboard-portfolio-column+.dashboard-portfolio-column{border-top:1px solid var(--border);border-left:0}.dashboard-portfolio-health-donut{grid-template-columns:1fr}.dashboard-portfolio-monte-carlo-warning{flex-direction:column;align-items:flex-start}.master-pane-header{padding:12px}.master-list-row{min-height:80px;padding:11px 12px}.master-list-row.is-selected{padding-left:15px}.detail-pane-header{gap:10px;padding:12px}.dashboard-detail-identity{flex-basis:calc(100% - 94px)}.dashboard-detail-actions{padding-left:0}.dashboard-detail-actions .btn{flex:1}.detail-pane-tabs{gap:16px;padding:0 12px}.dashboard-detail-section{padding:12px}.dashboard-detail-grid{grid-template-columns:1fr;gap:10px}.dashboard-attention-row{grid-template-columns:78px minmax(68px,.7fr) minmax(90px,1fr) 28px}.dashboard-attention-row>span:nth-child(4),.dashboard-attention-row>span:nth-child(5){display:none}}.home-page{width:100%;max-width:1120px}.home-header-date{color:var(--text-secondary);align-self:center;font-size:.8125rem}.home-content-grid{gap:var(--space-4) var(--space-6);grid-template-columns:minmax(0,720px) minmax(300px,376px);grid-template-areas:"attention attention""snapshot snapshot""activity continue";display:grid}.home-attention-region{grid-area:attention;min-width:0}.home-attention-title-link{color:inherit;text-decoration:none}.home-attention-title-link:hover{text-decoration:underline}.home-priority-list{display:grid}.home-priority-row{gap:var(--space-1);border-bottom:1px solid var(--border);min-width:0;padding:10px 12px;display:grid}.home-priority-heading{align-items:center;gap:var(--space-2);min-width:0;display:flex}.home-priority-link{align-items:center;gap:var(--space-2);min-width:0;color:var(--text-primary);font-size:.8125rem;font-weight:700;text-decoration:none;display:flex}.home-priority-link:hover{text-decoration:underline}.home-priority-label{border-radius:var(--radius-sm);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;padding:2px 7px;font-size:.625rem;font-weight:700}.home-priority-title{color:var(--text-primary);font-size:.8125rem;font-weight:700}.home-priority-toggle{min-width:28px;min-height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px}.home-priority-detail{color:var(--text-secondary);font-size:.75rem}.home-priority-action{color:var(--text-muted);font-size:.6875rem;font-style:italic}.home-priority-blockers{gap:var(--space-1);margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border);font-size:.6875rem;display:grid}.home-blocker-critical{color:var(--status-alert)}.home-blocker-warning{color:var(--status-warn)}.home-snapshot{grid-area:snapshot}.home-snapshot .ds-metadata-rows.is-inline{gap:6px var(--space-3)}.home-snapshot .ds-metadata-value{display:inline}.home-snapshot .ds-metadata-row:not(:last-child) dd:after{margin-left:var(--space-3);color:var(--border-strong);content:"·"}.home-recent-activity{grid-area:activity}.home-recent-activity .ds-evidence-ledger.is-rows .ds-evidence-entry{grid-template-columns:minmax(120px,.4fr) minmax(0,1fr)}.home-continue-work{grid-area:continue}.home-quick-links{border-top:1px solid var(--border);display:grid}.home-quick-links a{border-bottom:1px solid var(--border);min-height:44px;color:var(--text-primary);align-items:center;padding:8px;font-size:.75rem;text-decoration:none;display:flex}.home-quick-links a:hover{background:var(--bg-hover)}@media (width<=640px){.home-header-date{display:none}.home-content-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);grid-template-areas:"attention""continue""snapshot""activity"}.home-priority-heading{flex-wrap:wrap;align-items:flex-start}.home-priority-link{flex-basis:calc(100% - 36px);align-items:flex-start}.home-priority-toggle{min-width:44px;min-height:44px;margin-top:-8px}.home-snapshot .ds-metadata-rows.is-inline{display:flex}.home-recent-activity .ds-evidence-ledger.is-rows .ds-evidence-entry{grid-template-columns:1fr}.home-quick-links a{padding-right:var(--space-2);padding-left:var(--space-2)}}.dashboard-page .dashboard-master-header{gap:var(--space-2);flex-direction:column;display:flex}.dashboard-page .dashboard-master-title-row,.dashboard-page .dashboard-master-heading{align-items:center;display:flex}.dashboard-page .dashboard-master-title-row{justify-content:space-between;gap:var(--space-3)}.dashboard-page .dashboard-master-heading{gap:var(--space-2);min-width:0}.dashboard-page .master-pane-title{color:var(--text-primary);letter-spacing:0;text-transform:none;margin:0;font-size:1rem;font-weight:700;line-height:1.25}.dashboard-page .dashboard-master-heading>span{color:var(--text-muted);font-size:.6875rem;font-weight:600}.dashboard-page .master-filter-select{width:auto;min-width:88px}.dashboard-page .master-filter-row{margin:0}.dashboard-page .master-quick-filters{gap:var(--space-1)}.dashboard-page .master-list-row:not(.master-list-row--portfolio){column-gap:var(--space-2);padding-block:var(--space-1);grid-template-rows:repeat(3,minmax(0,auto));grid-template-columns:minmax(0,1fr) minmax(88px,.8fr);display:grid}.dashboard-page .master-row-top{grid-column:1/-1;min-height:20px}.dashboard-page .master-row-top strong{color:var(--text-muted);font-size:.6875rem;font-weight:600;line-height:1.4}.dashboard-page .master-row-name{margin-top:0;font-size:.875rem;font-weight:600;line-height:1.35}.dashboard-page .master-row-location{color:var(--text-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin-top:0;font-size:.75rem;line-height:1.35;display:block;overflow:hidden}.dashboard-page .master-row-bottom{grid-column:1/-1;min-height:16px;margin-top:0;font-size:.6875rem;line-height:1.4}.dashboard-page .master-row-progress{color:var(--text-secondary);flex-shrink:0;font-size:.8125rem;font-weight:600}.dashboard-page .dashboard-detail-identity{align-items:flex-start}.dashboard-page .dashboard-detail-copy{gap:var(--space-2px);flex-direction:column;min-width:0;display:flex}.dashboard-page .dashboard-detail-code,.dashboard-page .dashboard-detail-context{color:var(--text-muted);font-size:.6875rem;font-weight:600;line-height:1.4}.dashboard-page .dashboard-detail-title{margin:0;font-size:1rem;font-weight:700;line-height:1.25}.dashboard-page .dashboard-health-reporting{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:start;display:grid}.dashboard-page .dashboard-project-overview{grid-template-columns:minmax(0,1fr)}.dashboard-page .dashboard-detail-meta{color:var(--text-secondary);margin:0;font-size:.75rem;line-height:1.4}.dashboard-page .dashboard-detail-status-actions{align-items:flex-end;gap:var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.dashboard-page .dashboard-detail-actions{gap:var(--space-3)}.dashboard-page .dashboard-detail-actions .btn{height:var(--control-height-md);min-height:var(--control-height-md);padding:0 var(--space-4);font-size:.8125rem}.dashboard-page .dashboard-detail-tabs-shell{min-width:0;position:relative}.dashboard-page .dashboard-needs-attention{position:relative}.dashboard-page .dashboard-needs-attention-list{flex-direction:column;display:flex}.dashboard-page .dashboard-needs-attention-item{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-2) 0;display:flex}.dashboard-page .dashboard-needs-attention-item+.dashboard-needs-attention-item{border-top:1px solid color-mix(in srgb, var(--status-alert) 24%, transparent)}.dashboard-page .dashboard-needs-attention-copy{min-width:0}.dashboard-page .dashboard-needs-attention-copy h4,.dashboard-page .dashboard-needs-attention-copy p,.dashboard-page .dashboard-attention-empty{margin:0}.dashboard-page .dashboard-needs-attention-copy h4{color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.5}.dashboard-page .dashboard-needs-attention-copy p{gap:var(--space-1);color:var(--text-muted);font-size:.75rem;line-height:1.45;display:flex}.dashboard-page .dashboard-needs-attention-copy p strong{color:var(--text-secondary);font-weight:600}.dashboard-page .dashboard-attention-empty{padding:var(--space-2) 0 0;text-align:left;align-items:flex-start}.dashboard-page .dashboard-workflow-handoffs{grid-template-columns:repeat(var(--workflow-columns), minmax(0, 1fr));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);min-width:0;margin:0;padding:0;list-style:none;display:grid}.dashboard-page .dashboard-workflow-handoffs li{min-width:0}.dashboard-page .dashboard-workflow-handoffs li+li{border-left:1px solid var(--border)}.dashboard-page .dashboard-workflow-handoffs a,.dashboard-page .dashboard-workflow-boundary{justify-content:center;gap:var(--space-1);min-height:68px;padding:var(--space-3);flex-direction:column;display:flex}.dashboard-page .dashboard-workflow-handoffs a{color:var(--text-primary);text-decoration:none}.dashboard-page .dashboard-workflow-handoffs a:hover{background:var(--bg-hover)}.dashboard-page .dashboard-workflow-handoffs a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:-2px}.dashboard-page .dashboard-workflow-handoffs strong{color:var(--selection);font-size:.875rem;line-height:1.4}.dashboard-page .dashboard-workflow-handoffs span{color:var(--text-muted);font-size:.6875rem;line-height:1.4}.dashboard-page .dashboard-workflow-boundary strong{color:var(--text-secondary)}.dashboard-page .dashboard-status-strip{gap:var(--space-5);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);grid-template-columns:1.15fr repeat(4,minmax(0,1fr));display:grid}.dashboard-page .dashboard-status-item{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.dashboard-page .dashboard-status-label,.dashboard-page .dashboard-status-detail{color:var(--text-muted);font-size:.6875rem;font-weight:600;line-height:1.4}.dashboard-page .dashboard-status-value{min-height:21px;color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.5}.dashboard-page .dashboard-status-value .status-badge{vertical-align:middle}.dashboard-page .dashboard-progress-track{border-radius:var(--radius-full);height:4px;overflow:hidden}.dashboard-page .dashboard-progress-track>span{width:var(--dashboard-progress);border-radius:inherit;height:100%;display:block}.dashboard-page .dashboard-secondary-context{gap:var(--space-2)}.dashboard-page .dashboard-secondary-context .ds-section-heading h3{color:var(--text-muted);font-size:.75rem}@media (width<=1180px){.dashboard-page .dashboard-health-reporting{grid-template-columns:1fr}.dashboard-page .dashboard-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-page .dashboard-schedule-grid,.dashboard-page .dashboard-evidence-ledger{--metadata-columns:2;--evidence-columns:2}.dashboard-page .dashboard-context-list{--metadata-columns:3}.dashboard-page .dashboard-detail-actions .btn-secondary{display:inline-flex}}@media (width<=900px){.dashboard-page .dashboard-detail-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.dashboard-page .dashboard-detail-identity,.dashboard-page .dashboard-detail-status-actions,.dashboard-page .dashboard-detail-actions{width:100%}.dashboard-page .dashboard-detail-identity{flex-basis:auto}.dashboard-page .dashboard-detail-status-actions{align-items:flex-start}.dashboard-page .dashboard-detail-actions{flex-wrap:wrap;padding-left:0}}@media (width<=640px){.dashboard-page.is-mobile-master .dashboard-master-header{padding-top:56px}.dashboard-page .master-list-row:not(.master-list-row--portfolio){display:flex}.dashboard-page .master-row-location{margin-top:var(--space-1);text-align:left}.dashboard-page .dashboard-detail-actions .btn{flex:0 auto}.dashboard-page .dashboard-detail-tabs{overscroll-behavior-x:contain;scroll-behavior:smooth;padding-right:30px;overflow-x:auto}.dashboard-page .dashboard-tabs-overflow-cue{z-index:2;border-left:1px solid var(--border);background:var(--bg-surface);width:30px;height:36px;color:var(--text-secondary);pointer-events:none;place-items:center;font-size:1.25rem;font-weight:700;display:grid;position:absolute;top:0;right:0}.dashboard-page .dashboard-status-strip,.dashboard-page .dashboard-schedule-grid,.dashboard-page .dashboard-evidence-ledger,.dashboard-page .dashboard-context-list{grid-template-columns:1fr}.dashboard-page .dashboard-project-workflows .ds-section-heading{gap:var(--space-1);flex-direction:column}.dashboard-page .dashboard-workflow-handoffs{grid-template-columns:1fr}.dashboard-page .dashboard-workflow-handoffs li+li{border-top:1px solid var(--border);border-left:0}.dashboard-page .dashboard-workflow-handoffs a,.dashboard-page .dashboard-workflow-boundary{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);flex-direction:row}.dashboard-page .dashboard-workflow-handoffs span{text-align:right}.dashboard-page .dashboard-status-strip{padding:var(--space-3);gap:0}.dashboard-page .dashboard-status-item{gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--border);grid-template-columns:minmax(104px,1fr) minmax(0,1.5fr);align-items:center;display:grid}.dashboard-page .dashboard-status-item:first-child{border-top:0;padding-top:0}.dashboard-page .dashboard-status-value,.dashboard-page .dashboard-status-detail{text-align:right}.dashboard-page .dashboard-status-item .dashboard-progress-track{grid-area:2/1/auto/-1}.dashboard-page .dashboard-status-item.is-progress .dashboard-status-detail{grid-area:3/2}.dashboard-page .dashboard-needs-attention-item{align-items:flex-start;gap:var(--space-2);flex-direction:column}.dashboard-page .dashboard-needs-attention-copy p{font-size:.75rem;display:block}.dashboard-page .dashboard-needs-attention-copy p strong{margin-right:var(--space-1)}.dashboard-page .dashboard-schedule-grid,.dashboard-page .dashboard-evidence-ledger{gap:0}.dashboard-page .dashboard-schedule-grid .ds-metadata-row,.dashboard-page .dashboard-evidence-ledger .ds-evidence-entry{gap:var(--space-3);padding:var(--space-2) 0;grid-template-columns:minmax(112px,1fr) minmax(0,1.6fr);align-items:start;display:grid}.dashboard-page .dashboard-schedule-grid .ds-metadata-row dd,.dashboard-page .dashboard-evidence-ledger .ds-evidence-entry dd{text-align:right;margin:0}.dashboard-page .dashboard-context-list{gap:var(--space-1)}.dashboard-page .dashboard-context-list .ds-metadata-row{gap:var(--space-1);display:flex}.dashboard-page .dashboard-context-list .ds-metadata-row dt:after{content:":"}.dashboard-page .dashboard-context-list .ds-metadata-row dd{margin:0}}.weekly-reports-surface{flex-direction:column;gap:0;min-width:0;max-width:none;height:100%;min-height:0;display:flex;overflow:hidden}.weekly-master-project-select{width:92px}.weekly-master-row{min-height:84px}.weekly-master-context{align-items:flex-start}.weekly-master-attention{color:var(--status-warn);white-space:nowrap;flex-shrink:0;font-weight:700}.weekly-detail-header{align-items:flex-start}.weekly-back-to-master{display:none}.weekly-back-to-master svg{transform:rotate(180deg)}.weekly-detail-identity{flex:1;min-width:0}.weekly-detail-title-row{align-items:center;gap:8px;min-width:0;display:flex}.weekly-detail-title-row h2{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:750;line-height:1.25;overflow:hidden}.weekly-detail-meta{min-width:0;color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;margin-top:4px;font-size:.6875rem;display:flex}.weekly-detail-actions{flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.weekly-detail-actions .btn{min-height:var(--control-height-sm);height:var(--control-height-sm);white-space:nowrap;padding:0 10px;font-size:.6875rem}.weekly-detail-actions .btn-secondary.is-active{border-color:var(--status-done);background:var(--status-done-bg);color:var(--status-done)}.weekly-report-select-wrap{gap:3px;display:grid}.weekly-report-select-wrap>span{color:var(--text-muted);font-size:.625rem;font-weight:700}.weekly-report-select-wrap .ds-select{width:138px;height:var(--control-height-sm);font-size:.6875rem}.weekly-detail-tabpanel .weekly-truth-console{border:1px solid var(--border);background:var(--bg-surface);margin-bottom:16px;overflow:hidden}.weekly-overview-main{gap:0}.weekly-overview-main>*,.weekly-report-body>*,.weekly-comparison-section,.weekly-comparison-list{min-width:0}.weekly-support-section h2,.weekly-support-section h3,.weekly-comparison-list h3{color:var(--text-primary);margin:0;font-size:.875rem;line-height:1.35}.weekly-action-list{gap:0;margin-top:10px}.weekly-action-row{border-top:1px solid color-mix(in srgb, var(--status-alert) 22%, transparent);background:0 0;border-radius:0;padding:9px 0}.weekly-action-row.tone-critical{background:0 0}.weekly-overview-main>.weekly-progress-narrative,.weekly-overview-main>.weekly-phase-board{border:0;border-top:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding:14px 0}.weekly-overview-main>.weekly-phase-board{overflow:hidden}.weekly-overview-main>.weekly-action-panel+.weekly-overview-section{margin-top:14px}.ds-section-accessory .weekly-compact-trend{width:min(320px,40%)}.ds-section-accessory .weekly-compact-trend svg{display:none}.weekly-trend-head{justify-content:flex-end;margin:0}.weekly-trend-head .weekly-section-kicker{display:none}.weekly-truth-scroll{border-radius:var(--radius-md);background:var(--bg-elevated);margin-top:12px}.weekly-truth-bar{gap:0}.weekly-truth-group{border-right:1px solid var(--border);gap:0}.weekly-truth-group:last-child{border-right:0}.weekly-truth-cell,.weekly-truth-group-progress .weekly-truth-cell{background:0 0;border-radius:0;min-height:64px;padding:10px 12px}.weekly-truth-cell.tone-critical{background:0 0}.weekly-progress-narrative{height:auto;margin:0;padding-inline:0}.weekly-progress-narrative>.weekly-section-kicker{color:var(--text-primary);letter-spacing:0;text-transform:none;margin-bottom:12px;font-size:.875rem}.weekly-report-links{gap:24px;margin:12px 0 0}.weekly-support-section{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.weekly-support-section h2,.weekly-support-section h3{margin-bottom:10px}.weekly-evidence-ledger strong{color:var(--text-secondary);font-weight:650}.weekly-comparison-section{background:0 0;border-radius:0;gap:14px;padding:0}.weekly-verification-ledger{border-radius:var(--radius-md);background:var(--bg-elevated);flex-wrap:wrap;gap:0;display:flex}.weekly-verification-ledger>div{border-right:1px solid var(--border);color:var(--text-muted);align-items:baseline;gap:6px;padding:10px 14px;font-size:.6875rem;display:flex}.weekly-verification-ledger strong{color:var(--text-primary);font-size:.75rem}.weekly-verification-ledger .is-critical{color:var(--status-alert)}.weekly-verification-ledger .is-warning{color:var(--status-warn)}.weekly-comparison-list{border-top:1px solid var(--border);padding-top:14px}.weekly-comparison-list>p{color:var(--text-muted);margin:3px 0 12px;font-size:.75rem}.weekly-comparison-list>div>div{border-radius:var(--radius-md)!important}.weekly-report-body{gap:0}.weekly-report-body>*{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;padding-block:14px;margin:0!important}.weekly-overview-main>.dashboard-summary-card,.weekly-report-body>.dashboard-summary-card,.weekly-report-body>.weekly-kpi-strip,.weekly-report-body>.weekly-progress-chart-card{border:0;border-bottom:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0}.weekly-kpi-strip,.weekly-progress-chart-card,.weekly-phase-board{background:0 0;height:auto;padding-inline:0}.weekly-additional-works.has-entries>h2{color:var(--status-warn)}.weekly-template-alert-wrap{margin-bottom:14px}.weekly-template-alert ul{margin:6px 0 0;padding-left:20px}.weekly-template-alert li{color:var(--status-warn);margin-top:3px}.weekly-detail-gantt{margin-bottom:16px}@media (width<=1180px){.weekly-detail-header{flex-wrap:wrap}.weekly-detail-actions{width:100%}}@media (width<=900px){.weekly-reports-surface{height:auto;overflow:visible}.weekly-back-to-master{flex-shrink:0;display:inline-flex}.weekly-detail-identity{flex-basis:calc(100% - 90px)}.weekly-detail-actions{padding-left:76px}}@media (width<=640px){.weekly-detail-identity{flex-basis:calc(100% - 82px)}.weekly-detail-actions{padding-left:0;overflow-x:auto}.weekly-detail-actions .btn{flex:none}.weekly-report-select-wrap .ds-select{width:128px}.weekly-reports-master-detail .detail-pane-tabs,.weekly-reports-master-detail .detail-tab{height:44px;min-height:44px}.weekly-overview-main .ds-section-heading{align-items:flex-start}.weekly-overview-main .ds-section-accessory .weekly-compact-trend{width:auto;min-width:108px}.weekly-truth-bar{grid-template-columns:1fr;min-width:0}.weekly-truth-group{border-right:0;border-bottom:1px solid var(--border)}.weekly-truth-group:last-child{border-bottom:0}.weekly-truth-group-issues{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-report-links{grid-template-columns:1fr}.weekly-evidence-ledger .ds-evidence-entry{grid-template-columns:112px minmax(0,1fr);gap:12px}.weekly-verification-ledger>div{flex:50%}}.risk-dashboard-page{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.risk-master-detail{flex:1;min-height:0}.risk-master-header{gap:8px;display:grid}.risk-master-filters{margin-top:0}.risk-master-list-tools{border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;padding:8px 12px}.risk-forecast-control{align-items:center;gap:4px;display:flex}.risk-forecast-control>span{color:var(--text-muted);margin-right:3px;font-size:.625rem;font-weight:700}.risk-forecast-control button{border-radius:var(--radius-sm);min-height:26px;color:var(--text-secondary);font:600 .6875rem/1 var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;padding:0 8px}.risk-forecast-control button:hover{background:var(--bg-elevated)}.risk-forecast-control button[aria-pressed=true]{border-color:var(--border);background:var(--accent-subtle);color:var(--accent)}.risk-forecast-control button:focus-visible{box-shadow:var(--focus-ring);outline:none}.risk-master-row{min-height:96px}.risk-portfolio-row{background:var(--bg-elevated);min-height:88px}.risk-detail-header{align-items:flex-start}.risk-back-to-master{display:none}.risk-back-to-master svg{transform:rotate(180deg)}.risk-detail-identity{flex:1;min-width:0}.risk-detail-title-row{align-items:center;gap:8px;min-width:0;display:flex}.risk-detail-title-row h2{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:750;line-height:1.25;overflow:hidden}.risk-detail-meta{color:var(--text-muted);flex-wrap:wrap;gap:5px 12px;margin-top:4px;font-size:.6875rem;display:flex}.risk-detail-actions{flex-shrink:0;align-items:center;display:flex}.risk-detail-actions .btn{min-height:var(--control-height-sm);height:var(--control-height-sm);white-space:nowrap;padding:0 10px;font-size:.6875rem}.risk-portfolio-overview,.risk-portfolio-stack,.risk-selected-overview,.risk-selected-drivers{gap:0;min-width:0;display:grid}.risk-portfolio-summary{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);gap:0;display:grid}.risk-portfolio-summary>div{padding:14px 16px}.risk-portfolio-summary>div+div{border-left:1px solid var(--border)}.risk-portfolio-summary h3{color:var(--text-primary);margin:0 0 12px;font-size:.8125rem;font-weight:750}.risk-kpi-strip{border:1px solid var(--border);grid-template-columns:repeat(5,minmax(62px,1fr));display:grid}.risk-kpi-strip-supporting{grid-template-columns:repeat(3,minmax(62px,1fr))}.risk-kpi-item{border-left:1px solid var(--risk-kpi-border,var(--border));background:var(--risk-kpi-bg,transparent);text-align:center;min-width:0;padding:10px 8px}.risk-kpi-item:first-child{border-left:0}.risk-kpi-value{color:var(--risk-kpi-color,var(--text-primary));font-size:1.25rem;font-weight:800;line-height:1}.risk-kpi-label{color:var(--risk-kpi-color,var(--text-muted));letter-spacing:.07em;text-transform:uppercase;margin-top:4px;font-size:.5625rem;font-weight:700}.risk-critical-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.risk-attention-list{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.risk-attention-list li{color:var(--text-secondary);justify-content:space-between;gap:16px;font-size:.75rem;display:flex}.risk-attention-list span{color:var(--status-alert);font-weight:700}.risk-conclusion-copy{gap:3px;margin-top:10px;display:grid}.risk-conclusion-copy strong{color:var(--text-primary);font-size:.8125rem}.risk-conclusion-copy span,.risk-section-note{color:var(--text-muted);margin:0;font-size:.6875rem;line-height:1.45}.risk-explanation-list{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.risk-explanation-list li{border-left:1px solid var(--border);gap:3px;min-width:0;padding:0 14px;display:grid}.risk-explanation-list li:first-child{border-left:0;padding-left:0}.risk-explanation-list strong,.risk-explanation-list span,.risk-explanation-list small{text-overflow:ellipsis;overflow:hidden}.risk-explanation-list strong{color:var(--text-primary);font-size:.75rem}.risk-explanation-list span{color:var(--text-secondary);font-size:.75rem}.risk-explanation-list small{color:var(--text-muted);font-size:.6875rem}.risk-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.risk-operational-strip{border:1px solid var(--border);gap:0}.risk-operational-strip .ds-metadata-row{border-left:1px solid var(--border);padding:10px 12px}.risk-operational-strip .ds-metadata-row:first-child{border-left:0}.risk-operational-strip .ds-metadata-row dt{color:var(--text-muted);font-size:.625rem;font-weight:650}.risk-operational-strip .ds-metadata-row dd{color:var(--text-primary);text-overflow:ellipsis;margin:3px 0 0;font-size:.75rem;font-weight:650;overflow:hidden}.risk-reason-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.risk-reason-list li,.risk-driver-row{border-top:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;gap:14px;padding:7px 0;font-size:.75rem;display:flex}.risk-reason-list li:first-child,.risk-driver-row:first-child{border-top:0;padding-top:0}.risk-reason-list strong,.risk-driver-row strong{color:var(--text-primary);flex-shrink:0}.risk-driver-list{display:grid}.risk-driver-row>span{gap:2px;min-width:0;display:grid}.risk-driver-row>span>strong{color:var(--text-primary);font-size:.75rem}.risk-driver-row>span>small{color:var(--text-muted);text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.risk-dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.risk-dimension-grid>div{min-width:0;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;padding:5px 0;font-size:.6875rem;display:flex}.risk-dimension-grid>div>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.risk-action-list{gap:8px;margin-top:12px;display:grid}.risk-action-list>div{border-top:1px solid var(--border);gap:2px;padding:8px 0;display:grid}.risk-action-list strong{color:var(--text-primary);font-size:.75rem}.risk-action-list span{color:var(--text-muted);margin:0;font-size:.6875rem;line-height:1.5}.risk-next-action{border-top:1px solid var(--border);gap:4px;padding:8px 0;display:grid}.risk-next-action strong{color:var(--text-primary);font-size:.75rem}.risk-next-action span{color:var(--text-muted);font-size:.6875rem}.risk-next-action small{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.625rem;font-weight:700}.risk-next-action p{color:var(--text-secondary);margin:4px 0 0;font-size:.6875rem;line-height:1.45}.risk-secondary-context{padding:10px 0}.risk-critical-warnings{border:1px solid var(--status-alert);background:var(--status-alert-bg);padding:14px 16px}.risk-critical-heading{color:var(--status-alert);justify-content:flex-start;font-size:.8125rem}.risk-critical-heading span{display:inline-flex}.risk-critical-list{margin-top:10px;display:grid}.risk-critical-row{border-top:1px solid color-mix(in srgb, var(--status-alert) 24%, transparent);color:var(--text-secondary);grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(110px,1fr));gap:12px;padding:9px 0;font-size:.75rem;display:grid}.risk-critical-row>strong,.risk-critical-row b,.risk-critical-row .is-alert{color:var(--status-alert)}.risk-critical-row .is-warning{color:var(--status-warn)}.risk-critical-row span{align-items:center;gap:4px;display:inline-flex}.risk-detail-tabpanel .dashboard-summary-card{min-width:0;max-width:100%;box-shadow:none;background:0 0;border:0;border-radius:0}@media (width<=1180px){.risk-portfolio-summary{grid-template-columns:1fr}.risk-portfolio-summary>div+div{border-top:1px solid var(--border);border-left:0;padding:14px 0 0}}@media (width<=900px){.risk-dashboard-page{height:100%;overflow:hidden}.risk-master-detail{background:0 0;border:0;height:100%;display:block;overflow:hidden}.risk-master-detail .master-pane,.risk-master-detail .detail-pane{border:0;height:100%;overflow:hidden}.risk-master-detail .master-pane-list,.risk-master-detail .detail-pane-content{overflow-y:auto}.risk-master-detail[data-mobile-view=master] .detail-pane,.risk-master-detail[data-mobile-view=detail] .master-pane{display:none}.risk-back-to-master{flex-shrink:0;min-height:44px;display:inline-flex}.risk-forecast-control button{min-height:44px;padding:0 12px}}@media (width<=640px){.risk-detail-header{flex-wrap:wrap}.risk-detail-identity{flex-basis:calc(100% - 82px)}.risk-detail-actions{width:100%;padding-left:72px}.risk-detail-grid,.risk-dimension-grid,.risk-operational-strip,.risk-critical-row,.risk-explanation-list{grid-template-columns:1fr}.risk-explanation-list li,.risk-explanation-list li:first-child{border-top:1px solid var(--border);border-left:0;padding:10px 0}.risk-explanation-list li:first-child{border-top:0;padding-top:0}.risk-operational-strip .ds-metadata-row{border-top:1px solid var(--border);border-left:0}.risk-operational-strip .ds-metadata-row:first-child{border-top:0}.risk-kpi-strip{grid-template-columns:repeat(3,minmax(62px,1fr))}.risk-attention-list li,.risk-critical-row{align-items:flex-start}}.sidebar{width:224px;padding:var(--space-3) var(--space-2)}.sidebar-brand{padding:var(--space-1) var(--space-1) var(--space-3)}.sidebar nav{gap:var(--space-2px)}.sidebar a,.sidebar-nav-group-toggle{border-radius:var(--radius-sm);min-height:36px;font-size:var(--type-data-size);line-height:var(--type-data-line);padding-inline:10px}.sidebar a.active{background:var(--selection-subtle);color:var(--selection)}.sidebar-profile-card{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);grid-template-columns:32px minmax(0,1fr) 28px}.sidebar-profile-avatar{border-radius:var(--radius-full);width:32px;height:32px}.sidebar-user-name{line-height:var(--type-caption-line);overflow-wrap:anywhere;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width>=901px){.main-content:has(>:is(.dashboard-page,.portfolio-page,.weekly-reports-surface,.risk-dashboard-page,.site-snag-page)){padding-left:0}}.page-header{min-height:56px;margin-bottom:var(--space-4);gap:var(--space-4);border-radius:var(--radius-none);box-shadow:none;background:0 0;border:0;padding:0}.page-header h1{color:var(--text-primary);font-size:var(--type-page-size);font-weight:var(--type-page-weight);line-height:var(--type-page-line);margin:0}.page-header p,.page-subtitle{margin-top:var(--space-1);color:var(--text-muted);font-size:var(--type-data-size);line-height:var(--type-data-line)}.master-detail{gap:var(--space-2);border-radius:var(--radius-none);background:0 0;border:0;grid-template-columns:clamp(312px,23.333vw,360px) minmax(0,1fr);overflow:hidden}.master-pane,.detail-pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:none;overflow:hidden}.master-pane{border-right:1px solid var(--border)}.master-pane-header{height:132px;min-height:132px;padding:var(--space-3) var(--space-4);background:var(--bg-surface)}.detail-pane-header{height:96px;min-height:96px;padding:var(--space-3) var(--space-4);background:var(--bg-surface)}.detail-pane-tabs{align-items:stretch;gap:var(--space-6);height:36px;min-height:36px;padding-inline:var(--space-4);border-bottom:1px solid var(--border);scrollbar-width:thin;overflow:auto hidden}.detail-tab{min-height:36px;color:var(--text-secondary);font:var(--type-label-weight) var(--type-label-size) / var(--type-label-line) var(--font-interface);padding:0}.detail-tab.is-active{color:var(--selection)}.detail-tab.is-active:after{background:var(--selection);height:2px}.master-quick-filter.is-active,.master-list-row.is-selected{background:var(--selection-subtle);color:var(--selection)}.master-quick-filter.is-active{border-color:#0000}.master-list-row.is-selected:before{background:var(--selection)}.master-list-row{min-height:68px;padding:var(--space-2) var(--space-3)}.master-pane-list,.detail-pane-content{overscroll-behavior:contain}.dashboard-summary-card,.metric-pill{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none}.status-progress-track,.dashboard-progress-track{background:var(--progress-track)}.status-progress-track>span,.dashboard-progress-track>span{background:var(--progress-fill)}.ds-data-surface{overscroll-behavior-inline:contain;overflow-x:auto}.ds-data-surface>.ds-table{min-width:640px}.ds-cell-action{text-align:right}.canonical-detail-content{min-width:0;min-height:100%;padding:var(--space-4)}.canonical-detail-flow{gap:0;min-width:0;display:grid}.canonical-detail-flow.is-spaced{gap:var(--space-4)}.canonical-detail-flow>*{min-width:0}@media (width<=900px){.sidebar{width:224px}.master-detail{display:block;overflow:visible}.master-pane,.detail-pane{overflow:visible}.master-pane-header,.detail-pane-header{height:auto;min-height:0}.master-pane-list,.detail-pane-content{overscroll-behavior:auto;overflow:visible}}@media (width<=640px){.sidebar{width:260px;max-width:82vw;padding:var(--space-4) var(--space-3)}.sidebar a,.sidebar-nav-group-toggle{min-height:44px}.page-header{min-height:0;margin-bottom:var(--space-4)}.master-list-row{min-height:72px}.detail-pane-tabs{gap:var(--space-4);padding-inline:var(--space-3)}.canonical-detail-flow.is-spaced{gap:var(--space-3)}.canonical-detail-content{padding:var(--space-3)}}@media print{:root{--bg-base:#fff;--bg-surface:#f5f5f5;--bg-elevated:#ebebeb;--bg-input:#fff;--border:#e5e5e5;--border-strong:#d4d4d4;--text-primary:#0a0a0a;--text-secondary:#525252;--text-muted:#a3a3a3;--text-inverse:#f5f5f5;--accent:#0a0a0a;--accent-subtle:#0000000a;--status-done:#0a0a0a;--status-done-bg:#0000000f;--status-active:#525252;--status-active-bg:#52525214;--status-todo:#d4d4d4;--status-todo-bg:transparent;--status-alert:#dc2626;--status-alert-bg:#dc26260f;--status-warn:#ea580c;--status-warn-bg:#ea580c0f}.sidebar,nav,header,.no-print,button,[role=navigation]{display:none!important}@page{size:A4 portrait;margin:16mm 12mm}body{color:#000;background:#fff;font-size:11pt}.main-content{width:100%!important;margin:0!important;padding:0!important}.page-break{page-break-before:always}.no-break{page-break-inside:avoid}table{border-collapse:collapse;width:100%}th,td{border:1px solid #d1d5db;padding:6px 8px;font-size:10pt}.badge-red{color:#991b1b!important;background:#fee2e2!important}.badge-amber{color:#92400e!important;background:#fef3c7!important}.badge-green{color:#065f46!important;background:#d1fae5!important}*{box-shadow:none!important;text-shadow:none!important}}.print-only{display:none}@media print{.print-only{display:block!important}}.snag-page{max-width:1180px;color:var(--text-primary);margin:0 auto;padding:4px 0 48px}.snag-page h1{letter-spacing:-.025em;text-wrap:balance;margin:6px 0;font-size:1.75rem}.snag-page h2{font-size:1rem}.snag-page p{color:var(--text-muted)}.snag-page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.snag-back{color:var(--text-muted);margin-bottom:6px;display:block}.snag-primary-action{align-items:center;min-height:44px;display:inline-flex}.snag-quick-views{gap:8px;padding-bottom:10px;display:flex;overflow:auto}.snag-quick-views button{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-elevated);min-height:40px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;padding:8px 14px}.snag-quick-views button:focus-visible{box-shadow:var(--focus-ring);outline:none}.snag-filters{border-bottom:1px solid var(--border);grid-template-columns:2fr repeat(3,1fr) auto;align-items:end;gap:12px;padding:16px 0 20px;display:grid}.snag-filters label,.snag-form label,.snag-inline-form label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.snag-number{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem;font-weight:700}.snag-detail-data{gap:8px;margin:14px 0;display:grid}.snag-detail-data div{grid-template-columns:80px 1fr;gap:8px;display:grid}.snag-detail-data dt{color:var(--text-muted);font-size:.75rem}.snag-detail-data dd{overflow-wrap:anywhere;margin:0;font-size:.8125rem}.snag-status,.snag-priority{border-radius:var(--radius-full);align-items:center;min-height:28px;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.snag-status-success{background:var(--status-done-bg);color:var(--status-done)}.snag-status-danger{background:var(--status-alert-bg);color:var(--status-alert)}.snag-status-warning,.snag-priority-high{background:var(--status-warn-bg);color:var(--status-warn)}.snag-status-info,.snag-status-review{background:var(--accent-subtle);color:var(--accent)}.snag-status-neutral{background:var(--bg-input);color:var(--text-secondary)}.snag-priority-critical{background:var(--status-alert-bg);color:var(--status-alert)}.snag-priority-low,.snag-priority-medium{background:var(--bg-input);color:var(--text-secondary)}.snag-form-page{max-width:760px}.snag-form{flex-direction:column;gap:18px;margin-top:22px;display:flex}.snag-form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.snag-form fieldset{border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:16px;display:flex}.snag-form legend{padding:0 6px;font-weight:700}.snag-sticky-actions{background:var(--bg-base);justify-content:flex-end;gap:10px;padding:14px 0;display:flex;position:sticky;bottom:0}.snag-error{border:1px solid var(--status-alert);border-radius:var(--radius-md);background:var(--status-alert-bg);color:var(--text-primary);padding:14px}.snag-error p{color:inherit}.snag-skeleton-list,.snag-muted{color:var(--text-muted)}.snag-publish-notice{border:1px solid var(--status-warn);border-radius:var(--radius-md);background:var(--status-warn-bg);color:var(--text-primary);margin:10px 0 0;padding:10px 12px;font-size:.8125rem}.snag-detail-state{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.snag-detail>*{width:100%;max-width:960px;margin-left:auto;margin-right:auto}.snag-operational-summary{flex-direction:column;gap:16px;margin-bottom:4px;display:flex}.snag-operational-summary .ds-attention-surface{margin:0}.snag-operational-summary .ds-analytical-section{padding-bottom:4px}.snag-operational-summary .ds-metadata-row{min-width:0}.snag-detail .observation-capture-card{border-top:1px solid var(--border);background:0 0;border-radius:0;margin-bottom:16px;padding:16px 0 0}.snag-detail-section{border-bottom:1px solid var(--border);padding:18px 0}.snag-inline-form{flex-direction:column;gap:10px;max-width:580px;margin-top:14px;display:flex}.snag-help{font-size:.75rem}.snag-evidence-list,.snag-timeline{padding:0;list-style:none}.snag-evidence-list li{border-bottom:1px solid var(--border);padding:10px 0}.snag-evidence-list p{margin:4px 0}.snag-evidence-list time,.snag-timeline time{color:var(--text-muted);font-size:.72rem}.snag-timeline{flex-direction:column;gap:0;display:flex}.snag-timeline li{border-left:1px solid var(--border);padding:0 0 18px 24px;position:relative}.snag-timeline li:before{content:"";background:var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:3px;left:-5px}.snag-timeline li>div{justify-content:space-between;gap:12px;display:flex}.snag-timeline p,.snag-timeline blockquote{margin:5px 0;font-size:.8125rem}.snag-timeline blockquote{background:var(--bg-elevated);border-radius:var(--radius-sm);padding:8px 10px}.snag-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.snag-section-heading h2,.snag-section-heading p{margin-top:0}.snag-section-heading>span{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.snag-evidence-list{flex-direction:column;display:flex}.snag-evidence-item>div:first-child{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.snag-evidence-item>div:first-child span{overflow-wrap:anywhere}.snag-evidence-item time{margin-left:auto}.snag-evidence-upload{background:var(--bg-elevated);border-radius:var(--radius-lg);flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px;padding:16px;display:flex}.snag-evidence-upload h3,.snag-evidence-upload p{margin:0}.snag-evidence-draft{flex-direction:column;gap:10px;width:min(100%,580px);display:flex}.snag-evidence-draft>img,.snag-evidence-preview img{object-fit:contain;background:var(--bg-input);border-radius:var(--radius-md);width:100%;max-height:360px;display:block}.snag-evidence-draft label{flex-direction:column;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.snag-evidence-draft progress{width:100%}.snag-evidence-actions{flex-wrap:wrap;gap:8px;display:flex}.snag-evidence-preview{flex-direction:column;align-items:flex-start;gap:8px;margin:10px 0;display:flex}.snag-evidence-preview figcaption{color:var(--text-muted);font-size:.75rem}@media (width<=760px){.snag-page{padding:48px 0 84px}.snag-detail{padding-top:0}.snag-page-header{align-items:flex-start}.snag-filters{grid-template-columns:1fr 1fr}.snag-filters label:first-child{grid-column:1/-1}.snag-sticky-actions{padding:12px 0 calc(12px + env(safe-area-inset-bottom))}.snag-sticky-actions .btn{min-height:44px}.snag-detail-data div{grid-template-columns:92px 1fr}}@media (width<=390px){.snag-page-header{flex-direction:column}.snag-primary-action{justify-content:center;width:100%}.snag-filters{grid-template-columns:1fr}.snag-filters label:first-child{grid-column:auto}.snag-evidence-item>div:first-child{flex-direction:column;align-items:flex-start}.snag-evidence-item time{margin-left:0}.snag-timeline li>div{flex-direction:column;gap:3px}.snag-evidence-upload{padding:14px}.snag-evidence-actions,.snag-evidence-actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){.snag-page *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.site-snag-page{max-width:1280px}.site-snag-header{align-items:center}.site-snag-header p{margin:4px 0 0}.site-snag-mode-tabs{margin-bottom:18px}.site-snag-section-state{min-height:240px;color:var(--text-muted);place-items:center;display:grid}.site-snag-breakdowns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:8px;display:grid}.site-snag-breakdown h3{margin:0 0 10px;font-size:.8125rem}.site-snag-breakdown>p{color:var(--text-muted)}.site-snag-breakdown ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.site-snag-breakdown li>div{justify-content:space-between;gap:16px;margin-bottom:6px;font-size:.8125rem;display:flex}.site-snag-breakdown-track{border-radius:var(--radius-full);background:var(--border);height:5px;display:block;overflow:hidden}.site-snag-breakdown-track>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.site-snag-section-intro{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.site-snag-section-intro h2{margin:0 0 5px}.site-snag-section-intro p{margin:0}.site-snag-section-intro>span{color:var(--text-muted);white-space:nowrap;font-size:.8125rem}.site-snag-plan-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}.site-snag-plan-layout.has-preview{grid-template-columns:minmax(0,1fr) 340px}.site-snag-plan-main{min-width:0}.site-snag-plan-controls{margin-bottom:12px}.site-snag-plan-controls label{flex:260px}.site-snag-plan-stage{border-radius:var(--radius-md);min-height:520px}.site-snag-pin-preview{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);max-height:calc(100vh - 36px);position:sticky;top:18px;overflow:auto}.site-snag-pin-preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.site-snag-pin-preview-header h2{margin:0}.site-snag-pin-preview-body{flex-direction:column;align-items:flex-start;gap:14px;padding:16px;display:flex}.site-snag-pin-preview-body h3,.site-snag-pin-preview-body p{margin:0}.site-snag-pin-preview-body .snag-detail-data{width:100%;margin:0}.site-snag-preview-evidence{border-top:1px solid var(--border);width:100%;padding-top:14px}.site-snag-preview-evidence h3{margin-bottom:8px}.site-snag-preview-evidence .snag-evidence-list{margin:0}.site-snag-preview-evidence .snag-evidence-item{padding:10px 0}.site-snag-preview-evidence .snag-evidence-preview img{max-height:240px}@media (width<=980px){.site-snag-plan-layout.has-preview{grid-template-columns:1fr}.site-snag-pin-preview{max-height:none;position:static}}@media (width<=640px){.site-snag-header{align-items:flex-start}.site-snag-breakdowns{grid-template-columns:1fr;gap:16px}.site-snag-section-intro{flex-direction:column}.site-snag-plan-controls{flex-wrap:nowrap;overflow-x:auto}.site-snag-plan-controls>*{flex:none}.site-snag-plan-controls label{width:230px}.site-snag-plan-stage{min-height:360px}}@media (width<=900px){.site-snag-page[data-mobile-view=detail] .site-snag-header,.site-snag-page[data-mobile-view=detail] .site-snag-mode-tabs{display:none}}.site-snag-master-detail .master-pane-header{padding-bottom:12px}.site-snag-master-row{min-height:118px}.site-snag-master-row .publication-badge{min-height:22px;padding:2px 7px;font-size:.625rem}.site-snag-master-responsibility{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;display:block;overflow:hidden}.site-snag-master-state{align-items:center;display:inline-flex}.site-snag-master-state .snag-status{min-height:22px;padding:2px 7px;font-size:.625rem}.site-snag-master-row .master-row-bottom{align-items:center}.site-snag-master-row .master-row-bottom>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.site-snag-master-row .master-row-bottom>span:last-child{display:none}.snag-disclosure{flex-shrink:0}.snag-disclosure>summary{height:var(--control-height-sm);padding:0 8px;font-size:.6875rem;list-style:none}.snag-disclosure>summary::-webkit-details-marker{display:none}.site-snag-master-header .snag-filters{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px;padding:10px 0 0}.site-snag-detail-empty{place-items:center;min-height:260px;display:grid}.snag-capture-actions{gap:10px;margin-top:14px;display:flex}.snag-view-on-plan{color:var(--accent);margin-left:auto;font-size:.75rem;font-weight:600;text-decoration:none}.snag-view-on-plan:hover{text-decoration:underline}.plan-page{max-width:1040px}.plan-upload{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:12px;padding:18px 0 24px;display:grid}.plan-upload h2,.plan-upload>p{grid-column:1/-1;margin:0}.plan-upload label{flex-direction:column;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.plan-upload progress{width:160px;margin-right:10px}.plan-version-list{border-top:1px solid var(--border);margin-top:22px}.plan-version-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:16px 2px;display:flex}.plan-version-title,.plan-version-actions,.plan-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plan-version-row p{margin:5px 0 0;font-size:.8rem}.plan-badge{border-radius:var(--radius-full);background:var(--bg-input);padding:4px 8px;font-size:.72rem;font-weight:700}.plan-viewer-page{min-width:0}.plan-viewer-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.plan-viewer-header h1{margin:4px 0;font-size:1.35rem}.plan-viewer-header h1 span{color:var(--text-muted);font-weight:400}.plan-viewer-header p{color:var(--text-muted);margin:0}.plan-controls .btn{min-height:44px}.plan-placement-banner,.plan-placement-summary{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--accent-subtle);color:var(--text-primary);margin:10px 0;padding:10px 12px}.plan-stage-scroll{overscroll-behavior:contain;background:var(--bg-input);max-width:100%;min-height:420px;padding:16px;overflow:auto}.plan-surface{touch-action:pan-x pan-y;background:#fff;width:max-content;margin:0 auto;line-height:0;position:relative}.plan-surface.is-placing{cursor:crosshair;touch-action:none;outline:2px solid var(--accent);outline-offset:3px}.plan-surface canvas{max-width:none;display:block}.plan-pin{background:var(--status-alert);color:#fff;border:2px solid #fff;border-radius:50% 50% 50% 0;place-items:center;width:38px;height:38px;text-decoration:none;display:grid;position:absolute;transform:translate(-50%,-100%)rotate(-45deg)}.plan-pin span{font-size:.7rem;font-weight:800;rotate:45deg}.plan-pin:focus-visible{outline:3px solid var(--accent);outline-offset:3px;z-index:2}.plan-pin-list{padding:18px 0}.plan-pin-list ul{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.plan-pin-list a{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);padding:10px 12px;display:block}.plan-loading{min-height:360px;color:var(--text-muted);place-items:center;display:grid}@media (width<=760px){.plan-upload{grid-template-columns:1fr}.plan-upload h2,.plan-upload>p{grid-column:auto}.plan-version-row,.plan-viewer-header{flex-direction:column;align-items:flex-start}.plan-version-actions{width:100%}.plan-version-actions .btn{flex:1;justify-content:center}.plan-controls{flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow:auto}.plan-controls .btn,.plan-controls span{flex:none}.plan-stage-scroll{min-height:320px;padding:8px}.plan-pin{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.plan-viewer-page *{scroll-behavior:auto!important;transition:none!important}}.plan-pin{font-family:var(--font-sans);cursor:pointer;padding:0}.plan-pin:hover,.plan-pin.is-selected{background:var(--accent);z-index:2}.plan-pin-list button{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font:inherit;cursor:pointer;background:0 0;padding:10px 12px;display:block}.plan-pin-list button:hover{border-color:var(--border-strong);background:var(--accent-subtle)}.snag-field-shell{--bg-base:var(--field-bg-snag);--bg-surface:var(--field-bg-card);--bg-elevated:var(--field-bg-card);--bg-input:var(--field-bg-subtle);--border:var(--field-border);--border-strong:var(--field-border-strong);--text-primary:var(--field-text-heading);--text-secondary:var(--field-text-body);--text-muted:var(--field-text-muted);--accent:var(--field-accent-snag);--accent-subtle:var(--field-accent-snag-subtle);--status-alert:var(--field-danger-fg);--status-alert-bg:var(--field-danger-bg);--status-done:var(--field-success-fg);--status-done-bg:var(--field-success-bg);--status-warn:var(--field-warning-fg);--status-warn-bg:var(--field-warning-bg);background:var(--bg-base);min-height:100vh;color:var(--text-primary);padding:20px 20px calc(72px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.snag-field-back-link{color:var(--text-secondary);margin-bottom:12px;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-block}.snag-field-back-link:hover{color:var(--accent)}.snag-field-back-link,.snag-field-header,.snag-field-body{width:100%;max-width:680px;margin-left:auto;margin-right:auto}.snag-field-header{padding:0 0 14px}.snag-field-header-context{border-bottom:1px solid var(--field-border);padding:4px 0 14px}.snag-field-header h1{color:var(--field-text-heading);margin:0;font-size:1.75rem;font-weight:800;line-height:1.1}.snag-field-header p{color:var(--field-text-secondary);margin:4px 0 0;font-size:.875rem}.snag-field-body{flex:1;min-width:0;padding-top:16px}.snag-field-tabbar{z-index:30;padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:var(--bg-surface,var(--bg-elevated));border-top:1px solid var(--border);justify-content:space-around;align-items:stretch;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #00000014}.snag-field-tab{min-height:48px;color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;display:flex}.snag-field-tab span[aria-hidden]{font-size:1.15rem;line-height:1}.snag-field-tab.is-active{color:var(--accent);background:var(--accent-subtle)}.snag-field-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.snag-field-tab.is-add span[aria-hidden]{background:var(--accent);width:34px;height:34px;color:var(--field-text-on-accent,#fff);border-radius:50%;place-items:center;margin-bottom:1px;font-size:1.3rem;display:grid}.snag-field-tab.is-add.is-active span[aria-hidden]{background:var(--accent)}.snag-field-plan{flex-direction:column;gap:10px;display:flex;position:relative}.snag-field-plan-controls{padding-bottom:4px}.snag-field-plan-controls .ds-select{flex:160px;min-height:44px}.snag-field-plan-name{align-items:baseline;gap:6px;font-weight:700;display:flex}.snag-field-plan-name small{color:var(--text-muted);font-weight:400}.snag-field-plan-stage{min-height:60vh}.snag-field-plan-loading{min-height:50vh;color:var(--text-muted);place-items:center;display:grid}.snag-field-plan-empty{margin-top:12px}.snag-field-plan-empty-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.snag-field-plan-empty-actions .btn{flex:auto;justify-content:center;min-height:44px}.snag-field-fab{right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:25;background:var(--accent);width:56px;height:56px;color:var(--field-text-on-accent,#fff);cursor:pointer;border:none;border-radius:50%;font-size:1.75rem;line-height:1;position:fixed;box-shadow:0 4px 14px #00000047}.snag-field-fab:focus-visible{box-shadow:var(--focus-ring), 0 4px 14px #00000047;outline:none}.snag-field-capture-confirm{left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:26;background:var(--bg-surface,var(--bg-elevated));border-top:1px solid var(--border);padding:10px 16px;position:fixed;box-shadow:0 -2px 10px #00000026}.snag-field-capture-confirm .btn{min-height:44px}.snag-field-list{flex-direction:column;gap:12px;display:flex}.snag-field-list-toolbar{align-items:center;gap:8px;display:flex}.snag-field-list-toolbar .snag-quick-views{flex:1;margin:0;padding:0}.snag-field-filter-trigger{white-space:nowrap;flex:none;min-height:44px}.snag-field-capture-bar{flex-direction:column;align-items:stretch;gap:10px}.snag-field-capture-bar .btn{min-height:44px}.snag-field-cards{flex-direction:column;gap:12px;display:flex}.snag-field-card-row{flex-direction:column;gap:6px;display:flex}.snag-field-select{min-height:32px;color:var(--text-secondary);align-items:center;gap:8px;font-size:.78rem;display:flex}.snag-field-select input{width:20px;height:20px}.snag-field-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);color:inherit;min-height:44px;padding:14px 16px;text-decoration:none;display:block}.snag-field-card:focus-visible{box-shadow:var(--focus-ring);outline:none}.snag-field-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.snag-field-card h2{margin:8px 0 4px;font-size:1rem}.snag-field-card-stakeholder{color:var(--text-secondary);margin:0 0 8px;font-size:.8125rem}.snag-field-card-stakeholder span{color:var(--text-muted);text-transform:uppercase;margin-right:8px;font-size:.6875rem;font-weight:700}.snag-field-card-foot{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;font-size:.75rem;display:flex}.snag-field-card-state{text-align:right;justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.snag-field-card-state .snag-status{min-height:22px;padding:2px 7px}.snag-field-card-visibility{color:var(--text-muted);margin:8px 0 0;font-size:.6875rem}@media (width<=390px){.snag-field-shell{padding:12px 12px calc(72px + env(safe-area-inset-bottom))}.snag-field-card-foot{flex-direction:column;align-items:flex-start}.snag-field-card-state{text-align:left;justify-content:flex-start}}.snag-field-sheet-overlay{z-index:1000;background:#00000080;position:fixed;inset:0}.snag-field-sheet{z-index:1001;background:var(--bg-surface,var(--bg-elevated));border:1px solid var(--border);max-height:85vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-bottom:none;border-radius:16px 16px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 30px #00000059}.snag-field-sheet-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.snag-field-sheet-header h2{margin:0;font-size:1.05rem}.snag-field-sheet .snag-filters{border-bottom:none;flex-direction:column;gap:14px;padding:0;display:flex}.snag-mobile-review-nav{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:8px 4px;font-size:.8125rem;display:flex}.snag-mobile-review-nav .btn{flex:none;min-height:44px}@media (prefers-reduced-motion:reduce){.snag-field-shell *{scroll-behavior:auto!important;transition-duration:.01ms!important}}.import-page{max-width:1100px;padding:var(--space-5,20px);flex-direction:column;gap:20px;margin:0 auto;display:flex}.import-back{color:var(--text-muted);margin-bottom:6px;display:block}.import-header h1{margin:0 0 4px;font-size:1.5rem}.import-header p{color:var(--text-muted);margin:0;font-size:.9rem}.import-steps{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.import-step{color:var(--text-muted);border-radius:var(--radius-full,999px);background:var(--bg-input);align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:flex}.import-step-index{background:var(--border);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;display:inline-flex}.import-step--active{color:var(--accent);background:var(--accent-subtle)}.import-step--active .import-step-index{background:var(--accent);color:var(--text-inverse)}.import-step--done .import-step-index{background:var(--status-done);color:var(--text-inverse)}.import-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);min-height:200px;color:var(--text-muted);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.import-dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.import-dropzone--dragover{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.import-file-summary{color:var(--text-secondary);flex-wrap:wrap;gap:16px;font-size:.85rem;display:flex}.import-file-summary strong{color:var(--text-primary)}.import-alert{border-radius:var(--radius-md);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.875rem;display:flex}.import-alert--danger{background:var(--status-alert-bg);color:var(--status-alert)}.import-alert--warning{background:var(--status-warn-bg);color:var(--status-warn)}.import-alert--info{background:var(--accent-subtle);color:var(--accent)}.import-mapping-grid{grid-template-columns:1fr 1fr auto;align-items:center;gap:10px 16px;display:grid}.import-mapping-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:700}.import-mapping-source{color:var(--text-primary);word-break:break-word;font-size:.875rem}.import-mapping-tag{border-radius:var(--radius-full,999px);white-space:nowrap;padding:2px 8px;font-size:.68rem;font-weight:700}.import-mapping-tag--suggested{background:var(--accent-subtle);color:var(--accent)}.import-mapping-tag--manual{background:var(--status-warn-bg);color:var(--status-warn)}.import-mapping-tag--ignored{background:var(--bg-input);color:var(--text-muted)}@media (width<=640px){.import-mapping-grid{grid-template-columns:1fr}.import-mapping-header:nth-child(3){display:none}}.import-summary-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.import-summary-card{padding:14px 16px}.import-summary-card .value{font-size:1.5rem;font-weight:700;display:block}.import-summary-card .label{color:var(--text-muted);font-size:.75rem}.import-summary-card--success .value{color:var(--status-done)}.import-summary-card--neutral .value{color:var(--text-secondary)}.import-summary-card--danger .value{color:var(--status-alert)}.import-summary-card--warning .value{color:var(--status-warn)}.import-filter-row{flex-wrap:wrap;gap:8px;display:flex}.import-filter-chip{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);border-radius:var(--radius-full,999px);cursor:pointer;padding:6px 14px;font-size:.8rem;font-weight:600}.import-filter-chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.import-status-col{background:var(--bg-surface);white-space:nowrap;z-index:1;position:sticky;left:0}.import-row-status{border-radius:var(--radius-full,999px);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.import-row-status--success{background:var(--status-done-bg);color:var(--status-done)}.import-row-status--neutral{background:var(--bg-input);color:var(--text-secondary)}.import-row-status--danger{background:var(--status-alert-bg);color:var(--status-alert)}.import-row-status--warning{background:var(--status-warn-bg);color:var(--status-warn)}.import-preview-cards{flex-direction:column;gap:10px;display:flex}.import-preview-card{flex-direction:column;gap:6px;padding:12px 14px;display:flex}.import-preview-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.import-preview-card-code{font-weight:700}.import-preview-card-meta{color:var(--text-secondary);flex-wrap:wrap;gap:4px 12px;font-size:.8rem;display:flex}.import-row-detail{margin-top:8px;font-size:.82rem}.import-row-detail ul{margin:4px 0 0;padding-left:18px}.import-row-detail li{margin-bottom:2px}.import-result-hero{text-align:center;padding:28px 16px}.import-result-hero h2{margin:8px 0 4px}.import-result-counts{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:12px;display:flex}.import-result-counts .value{font-size:1.4rem;font-weight:700;display:block}.import-result-counts .label{color:var(--text-muted);font-size:.75rem}@media (width<=480px){.import-page{padding:12px}.import-result-counts{gap:12px}}
