:root{--background: hsl(220 14% 96%);--foreground: hsl(219 35% 14%);--card: hsl(0 0% 100%);--primary: hsl(359 58% 48%);--primary-hover: hsl(356 49% 44%);--brand: hsl(219 41% 25%);--border: hsl(220 13% 86%);--muted: hsl(220 14% 92%);--muted-foreground: hsl(219 14% 42%);--success: hsl(142 71% 38%);--warning: hsl(32 95% 44%);--info: hsl(199 89% 38%);color:var(--foreground);background:var(--background);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.app-shell{min-height:100vh;padding:24px}.hero-strip{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:24px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:.78rem;font-weight:700;text-transform:uppercase}.brand-mark{display:block;height:38px;width:auto}.brand-lockup{background:var(--brand);border-radius:8px;display:inline-flex;margin-bottom:18px;padding:10px 12px}.topbar{align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:8px;display:flex;gap:20px;justify-content:space-between;padding:24px}.topbar h1,.dossier-card h2,.kanban-column h2{margin:0}.topbar h1{color:var(--brand);font-size:clamp(2rem,4vw,3.5rem);line-height:1}.topbar-actions{align-items:flex-end;display:flex;flex-direction:column;gap:12px;max-width:min(100%,520px)}.view-switcher{background:color-mix(in srgb,var(--muted) 64%,white);border:1px solid var(--border);border-radius:8px;display:flex;gap:4px;padding:4px}.view-tab{background:transparent;border:0;border-radius:8px;color:var(--muted-foreground);cursor:pointer;font-size:.86rem;font-weight:800;line-height:1.2;min-height:38px;padding:0 12px;white-space:normal}.view-tab:hover,.view-tab.is-active{background:var(--card);color:var(--brand)}.primary-action{background:var(--primary);border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;min-height:44px;padding:0 18px;white-space:nowrap}.primary-action:hover{background:var(--primary-hover)}.primary-action:disabled{background:color-mix(in srgb,var(--primary) 38%,var(--muted));color:color-mix(in srgb,white 76%,var(--muted-foreground));cursor:not-allowed}.funnel{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(130px,1fr));margin-top:16px;overflow-x:auto;padding-bottom:4px}.funnel-card{background:var(--card);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:12px;min-height:112px;padding:18px}.funnel-card span{color:var(--muted-foreground);font-size:.86rem;font-weight:700}.funnel-card strong{color:var(--brand);font-size:2.25rem;line-height:1}.workspace{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) 340px;margin-top:16px}.kanban{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(180px,1fr));overflow-x:auto;padding-bottom:4px}.kanban-column{background:color-mix(in srgb,var(--muted) 72%,white);border:1px solid var(--border);border-radius:8px;min-width:180px;padding:12px}.kanban-column header{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.kanban-column h2{color:var(--brand);font-size:.9rem;line-height:1.2}.kanban-column header span{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);display:inline-flex;font-size:.78rem;font-weight:800;height:24px;justify-content:center;min-width:24px;padding:0 8px}.kanban-cards{display:flex;flex-direction:column;gap:10px;min-height:160px}.process-card{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:flex;flex-direction:column;gap:8px;min-height:148px;padding:14px;text-align:left;width:100%}.process-card:hover{border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}.process-card:focus-visible,.primary-action:focus-visible,.view-tab:focus-visible,.secondary-action:focus-visible,.icon-button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}.process-card.is-selected{border-color:var(--primary);box-shadow:inset 3px 0 0 var(--primary)}.process-card strong{color:var(--brand);font-size:1rem;line-height:1.25}.process-card span{color:var(--foreground);font-size:.82rem;font-weight:700;line-height:1.35}.process-card small{color:var(--muted-foreground);font-size:.8rem;line-height:1.45}.dossier-card{background:var(--card);border:1px solid var(--border);border-radius:8px;max-height:calc(100vh - 32px);min-height:180px;overflow-y:auto;padding:18px;position:sticky;top:16px}.dossier-card h2{color:var(--brand);font-size:1.35rem;line-height:1.2}.dossier-card .muted{color:var(--muted-foreground);font-weight:700;line-height:1.4;margin-bottom:0}.metric-row{align-items:center;background:color-mix(in srgb,var(--muted) 68%,white);border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;margin-top:16px;padding:12px}.metric-row span{color:var(--foreground);font-size:.9rem;font-weight:800}.metric-row strong{color:var(--primary);font-size:1.35rem;line-height:1}.panel-section{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.panel-section h3{color:var(--brand);font-size:.82rem;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}.intake-section{background:color-mix(in srgb,var(--info) 7%,white);border:1px solid color-mix(in srgb,var(--info) 22%,var(--border));border-radius:8px;display:grid;gap:12px;padding:14px}.intake-section h3{margin-bottom:4px}.intake-section small{color:var(--muted-foreground);display:block;font-size:.78rem;font-weight:800;line-height:1.35}.upload-field{align-items:center;background:var(--card);border:1px dashed color-mix(in srgb,var(--primary) 42%,var(--border));border-radius:8px;color:var(--primary);cursor:pointer;display:flex;gap:10px;min-height:44px;padding:10px 12px}.upload-field:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,white)}.upload-field svg{flex:0 0 auto}.upload-field span{color:var(--brand);font-size:.84rem;font-weight:800;line-height:1.25}.upload-field input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.upload-field:focus-within{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}.success-line,.task-item,.trace-item,.document-item{border-radius:8px}.success-line,.task-item,.trace-item{align-items:flex-start;display:flex;gap:10px}.success-line{color:var(--success);font-size:.86rem;font-weight:800;margin:0}.task-item{background:color-mix(in srgb,var(--warning) 9%,white);border:1px solid color-mix(in srgb,var(--warning) 32%,var(--border));color:var(--foreground);padding:12px}.task-item svg{color:var(--warning);flex:0 0 auto;margin-top:2px}.task-item strong,.risk-item strong,.trace-item strong,.document-item strong{color:var(--brand);display:block;font-size:.88rem;line-height:1.35}.task-item p,.risk-item p,.trace-item p,.document-item p{color:var(--muted-foreground);font-size:.82rem;line-height:1.45;margin:4px 0 0}.optimization-grid{display:grid;gap:8px;grid-template-columns:1fr}.optimization-grid span{background:color-mix(in srgb,var(--info) 8%,white);border:1px solid color-mix(in srgb,var(--info) 22%,var(--border));border-radius:8px;color:var(--foreground);font-size:.84rem;font-weight:800;padding:10px 12px}.value-grid{display:grid;gap:8px;grid-template-columns:1fr}.value-grid span,.stakeholder-group,.risk-item{border-radius:8px}.value-grid span{background:color-mix(in srgb,var(--info) 8%,white);border:1px solid color-mix(in srgb,var(--info) 22%,var(--border));display:flex;justify-content:space-between;gap:12px;padding:10px 12px}.value-grid small,.stakeholder-group>span{color:var(--muted-foreground);font-size:.78rem;font-weight:800;text-transform:uppercase}.value-grid strong{color:var(--brand);font-size:.95rem}.stakeholder-group,.risk-list{display:flex;flex-direction:column;gap:8px}.risk-item{align-items:flex-start;background:color-mix(in srgb,var(--warning) 9%,white);border:1px solid color-mix(in srgb,var(--warning) 32%,var(--border));display:flex;gap:10px;padding:12px}.risk-item.is-critical{background:color-mix(in srgb,var(--primary) 8%,white);border-color:color-mix(in srgb,var(--primary) 28%,var(--border))}.risk-item.is-info{background:color-mix(in srgb,var(--info) 8%,white);border-color:color-mix(in srgb,var(--info) 28%,var(--border))}.risk-item svg{color:var(--warning);flex:0 0 auto;margin-top:2px}.risk-item.is-critical svg{color:var(--primary)}.risk-item.is-info svg{color:var(--info)}.trace-list,.document-list{display:flex;flex-direction:column;gap:8px}.traceability-section h3{margin-bottom:14px}.traceability-section .trace-list{gap:10px}.trace-item{border:1px solid var(--border);background:color-mix(in srgb,var(--card) 86%,var(--muted));gap:12px;padding:12px 14px}.trace-item svg{color:var(--muted-foreground);flex:0 0 auto;margin-top:2px}.trace-item.is-complete svg,.trace-item.is-waived svg{color:var(--success)}.trace-item.is-partial svg{color:var(--warning)}.trace-item.is-pending svg{color:var(--primary)}.trace-item p{line-height:1.55}.document-item{background:color-mix(in srgb,var(--muted) 54%,white);border:1px solid var(--border);padding:10px 12px}.document-item span{color:var(--muted-foreground);display:block;font-size:.78rem;font-weight:800;margin-top:2px}.support-view{background:var(--card);border:1px solid var(--border);border-radius:8px;margin-top:16px;padding:24px}.support-view h2{color:var(--brand);font-size:clamp(1.45rem,3vw,2.25rem);line-height:1.1;margin:0}.support-view h3{color:var(--brand);font-size:.88rem;letter-spacing:0;margin:0 0 12px;text-transform:uppercase}.support-view .muted{color:var(--muted-foreground);font-weight:700;line-height:1.45;margin:8px 0 0}.client-phase{align-items:center;background:color-mix(in srgb,var(--info) 8%,white);border:1px solid color-mix(in srgb,var(--info) 24%,var(--border));border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-top:18px;padding:14px 16px}.client-phase span{color:var(--muted-foreground);font-size:.84rem;font-weight:800}.client-phase strong{color:var(--brand);font-size:1rem}.support-view .document-list{margin-top:18px}.secondary-action{background:var(--card);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:8px;color:var(--primary);cursor:pointer;font-size:.84rem;font-weight:800;margin-top:12px;min-height:38px;padding:0 12px}.secondary-action:hover{border-color:var(--primary);color:var(--primary-hover)}.modal-backdrop{align-items:center;background:color-mix(in srgb,var(--brand) 58%,transparent);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:40}.process-modal{background:var(--card);border:1px solid color-mix(in srgb,var(--brand) 18%,var(--border));border-radius:8px;box-shadow:0 24px 70px color-mix(in srgb,var(--brand) 24%,transparent);max-height:min(720px,calc(100vh - 48px));overflow-y:auto;padding:22px;width:min(620px,100%)}.modal-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.modal-header h2{color:var(--brand);font-size:1.55rem;line-height:1.1;margin:0}.icon-button{align-items:center;background:color-mix(in srgb,var(--muted) 72%,white);border:1px solid var(--border);border-radius:8px;color:var(--brand);cursor:pointer;display:inline-flex;flex:0 0 auto;height:38px;justify-content:center;width:38px}.icon-button:hover{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));color:var(--primary)}.modal-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-grid label{color:var(--brand);display:flex;flex-direction:column;font-size:.82rem;font-weight:800;gap:7px}.modal-grid input,.modal-grid select{background:color-mix(in srgb,var(--muted) 35%,white);border:1px solid var(--border);border-radius:8px;color:var(--foreground);min-height:42px;min-width:0;padding:0 12px;width:100%}.modal-grid input::placeholder{color:color-mix(in srgb,var(--muted-foreground) 76%,white)}.modal-grid input:focus,.modal-grid select:focus{border-color:color-mix(in srgb,var(--primary) 52%,var(--border));outline:3px solid color-mix(in srgb,var(--primary) 14%,transparent)}.modal-actions{align-items:center;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.modal-actions .primary-action,.modal-actions .secondary-action{margin-top:0}.blocked-line{background:color-mix(in srgb,var(--warning) 10%,white);border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border));border-radius:8px;color:var(--warning);font-size:.9rem;font-weight:800;line-height:1.45;margin:16px 0 0;padding:12px 14px}.block-reasons{background:color-mix(in srgb,var(--warning) 7%,white);border:1px solid color-mix(in srgb,var(--warning) 24%,var(--border));border-radius:8px;color:var(--foreground);font-size:.86rem;font-weight:700;line-height:1.45;margin:10px 0 0;padding:12px 14px 12px 32px}.block-reasons li+li{margin-top:4px}.empty-state{background:color-mix(in srgb,var(--muted) 58%,white);border:1px solid var(--border);border-radius:8px;color:var(--muted-foreground);font-size:.9rem;font-weight:800;line-height:1.45;margin:16px 0 0;padding:14px}.petition-layout{display:grid;gap:16px;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);margin-top:16px}.petition-layout aside,.petition-layout article{background:color-mix(in srgb,var(--muted) 46%,white);border:1px solid var(--border);border-radius:8px;padding:18px}.petition-layout ol{color:var(--foreground);font-size:.9rem;font-weight:700;line-height:1.5;margin:0;padding-left:20px}.petition-layout li+li{margin-top:8px}.petition-layout pre{background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--foreground);font:.9rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:0;overflow-x:auto;padding:16px;white-space:pre-wrap}@media(max-width:980px){.funnel{grid-template-columns:repeat(5,minmax(150px,1fr))}.workspace{grid-template-columns:1fr}.dossier-card{max-height:none;overflow:visible;position:static}}@media(max-width:760px){.petition-layout{grid-template-columns:1fr}}@media(max-width:640px){.app-shell{padding:16px}.topbar{flex-direction:column}.topbar-actions,.view-switcher{align-items:stretch;width:100%}.view-tab{flex:1 1 0;padding:0 8px}.topbar h1{font-size:2.1rem}.primary-action,.secondary-action{width:100%}.kanban{grid-template-columns:repeat(5,minmax(220px,72vw))}.modal-backdrop{align-items:flex-end;padding:12px}.process-modal{max-height:calc(100vh - 24px);padding:18px}.modal-grid{grid-template-columns:1fr}.modal-actions{align-items:stretch;flex-direction:column-reverse}}
