:root{--ink:#0f172a;--ink-secondary:#334155;--muted:#64748b;--muted-light:#94a3b8;--paper:#f8fafc;--panel:#fff;--panel-subtle:#f1f5f9;--line:#e2e8f0;--line-strong:#cbd5e1;--signal:#0f766e;--signal-dark:#115e59;--signal-soft:#ccfbf1;--signal-border:#99f6e4;--signal-text:#042f2e;--violet:#6366f1;--violet-dark:#4338ca;--violet-soft:#ede9fe;--violet-border:#c4b5fd;--warning:#d97706;--warning-soft:#fef3c7;--warning-border:#fde68a;--danger:#dc2626;--danger-soft:#fee2e2;--danger-border:#fecaca;--info:#2563eb;--info-soft:#dbeafe;--info-border:#bfdbfe;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-md:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--radius-sm:6px;--radius:10px;--radius-lg:14px}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}button,input,textarea,select{font:inherit}button{border-radius:var(--radius-sm);background:var(--signal);color:#fff;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;font-weight:600;line-height:1.3;transition:all .15s;display:inline-flex}button:hover:not(:disabled){background:var(--signal-dark);box-shadow:var(--shadow-sm)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{border:1px solid var(--line-strong);color:var(--ink-secondary);background:#fff}button.secondary:hover:not(:disabled){background:var(--panel-subtle);border-color:var(--muted);color:var(--ink)}button.danger{background:var(--danger);color:#fff}button.danger:hover:not(:disabled){background:#b91c1c}input,textarea,select{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#fff;padding:8px 12px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--signal);outline:none;box-shadow:0 0 0 3px #0f766e26}textarea{resize:vertical;min-height:80px}label{color:var(--ink-secondary);gap:5px;font-size:.82rem;font-weight:600;display:grid}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:-.025em;color:var(--ink);font-weight:700}h1{margin-bottom:0;font-size:clamp(1.4rem,2.5vw,1.85rem)}h2{margin-bottom:0;font-size:1.25rem}h3{margin-bottom:0;font-size:1.05rem}h4{margin-bottom:0;font-size:.92rem}.eyebrow{color:var(--signal);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:.68rem;font-weight:800}.muted{color:var(--muted)}.hint{color:var(--muted);margin:6px 0 0;font-size:.76rem;line-height:1.4}.auth-shell{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);min-height:100vh;display:grid}.auth-intro{color:#fff;background:radial-gradient(circle at 85% 20%,#d9770626 0%,#0000 40%),linear-gradient(135deg,#042f2e 0%,#0f172a 100%);flex-direction:column;justify-content:center;padding:8vw;display:flex}.auth-intro .eyebrow{color:#5eead4}.auth-intro h1{color:#fff;max-width:620px;margin:12px 0 18px;font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:700;line-height:1.1}.auth-intro p:not(.eyebrow){color:#cbd5e1;max-width:520px;font-size:1.05rem;line-height:1.6}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(100%,420px);box-shadow:var(--shadow-md);align-self:center;gap:16px;margin:40px auto;padding:36px;display:grid}.app-shell{max-width:1440px;margin:0 auto;padding:16px 24px 48px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:8px 0 16px;display:flex}.brand-block{align-items:center;gap:10px;display:flex}.brand-icon{background:var(--signal);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-size:1rem;font-weight:900;display:grid}.brand-text{display:grid}.brand-title{letter-spacing:-.02em;color:var(--ink);font-size:.98rem;font-weight:800}.topbar-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.env-pill{background:var(--signal-soft);color:var(--signal-dark);border:1px solid var(--signal-border);border-radius:99px;align-items:center;gap:6px;padding:4px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.budget-chip{background:var(--panel-subtle);color:var(--ink-secondary);border:1px solid var(--line);border-radius:99px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.budget-chip.active{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.budget-chip.blocked{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.user-chip{color:var(--ink-secondary);align-items:center;gap:9px;font-size:.82rem;display:flex}.user-avatar{background:var(--signal-soft);width:28px;height:28px;color:var(--signal-dark);border-radius:50%;place-items:center;font-size:.78rem;font-weight:800;display:grid}.role-badge{background:var(--panel-subtle);border:1px solid var(--line);color:var(--muted);text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:800;display:inline-block}.admin-link{color:var(--violet-dark);background:var(--violet-soft);border:1px solid var(--violet-border);border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font-size:.76rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.admin-link:hover{color:#312e81;background:#ddd6fe}.logout-btn{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;padding:4px 8px;font-size:.74rem}.logout-btn:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink);background:#fff}.workspace-header{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.workspace-select-wrap select{width:auto;min-width:200px;font-weight:600}.main-nav{border-bottom:1px solid var(--line);align-items:center;gap:6px;margin-bottom:24px;padding-bottom:2px;display:flex;overflow-x:auto}.nav-tab-btn{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;align-items:center;gap:6px;padding:8px 14px;font-size:.86rem;font-weight:600;transition:all .15s;display:inline-flex}.nav-tab-btn:hover{background:var(--panel-subtle);color:var(--ink);transform:none}.nav-tab-btn.active{color:var(--signal);border-bottom-color:var(--signal);background:0 0;font-weight:700;transform:none}.nav-badge{background:var(--panel-subtle);color:var(--muted);border-radius:99px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.nav-tab-btn.active .nav-badge{background:var(--signal-soft);color:var(--signal-dark)}.overview-layout{gap:24px;display:grid}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.kpi-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:10px;padding:18px 20px;transition:border-color .15s;display:grid}.kpi-card:hover{border-color:var(--line-strong)}.kpi-top{justify-content:space-between;align-items:center;display:flex}.kpi-title{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.kpi-value{color:var(--ink);font-size:1.7rem;font-weight:800;line-height:1.1}.kpi-sub{color:var(--muted);margin:0;font-size:.78rem}.kpi-action-btn{background:var(--panel-subtle);border:1px solid var(--line);color:var(--ink-secondary);justify-self:start;padding:4px 10px;font-size:.76rem}.kpi-action-btn:hover{background:var(--signal-soft);color:var(--signal-dark);border-color:var(--signal-border)}.action-center{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px}.action-center-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.action-queue{gap:12px;display:grid}.action-card{border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:var(--radius-sm);background:#fbfcfd;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;transition:all .15s;display:grid}.action-card.priority-high{border-left-color:var(--danger);background:snow}.action-card.priority-medium{border-left-color:var(--warning);background:#fffdfa}.action-card.priority-review{border-left-color:var(--info);background:#f8faff}.action-card.priority-success{border-left-color:var(--signal);background:#f8fbf9}.action-card-body{gap:4px;display:grid}.action-card-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.action-card-title{color:var(--ink);font-size:.92rem;font-weight:700}.action-card-desc{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.action-card-meta{color:var(--muted-light);font-size:.74rem}.empty-action-box{border-radius:var(--radius-sm);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;align-items:center;gap:12px;padding:16px 20px;font-size:.88rem;display:flex}.roadmap-section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px}.lifecycle-track{align-items:center;gap:8px;padding:12px 0 4px;display:flex;overflow-x:auto}.lifecycle-step{flex-shrink:0;align-items:center;gap:8px;display:flex}.lifecycle-chip{background:var(--panel-subtle);border:1px solid var(--line);color:var(--ink-secondary);border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.lifecycle-chip.done{background:var(--signal-soft);border-color:var(--signal-border);color:var(--signal-dark)}.lifecycle-chip.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.lifecycle-arrow{color:var(--muted-light);font-size:.8rem;font-weight:700}.project-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:20px;display:grid}.project-sidebar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px}.project-sidebar-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.project-nav-list{gap:6px;margin-bottom:20px;display:grid}.project-nav-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;gap:2px;padding:10px 12px;transition:all .15s;display:grid}.project-nav-item:hover{background:var(--panel-subtle);border-color:var(--line);transform:none}.project-nav-item.active{background:var(--signal-soft);border-color:var(--signal-border);color:var(--signal-dark);transform:none}.project-nav-item strong{font-size:.86rem;font-weight:700}.project-nav-item small{color:var(--muted);text-transform:capitalize;font-size:.74rem}.new-project-card{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:grid}.project-detail-area{gap:20px;display:grid}.project-header-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px}.project-header-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.project-stepper{border-top:1px solid var(--line);align-items:center;gap:6px;padding-top:14px;display:flex;overflow-x:auto}.stepper-tab-btn{background:var(--panel-subtle);border:1px solid var(--line);color:var(--ink-secondary);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 11px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.stepper-tab-btn:hover{background:#e2e8f0;transform:none}.stepper-tab-btn.active{background:var(--signal);color:#fff;border-color:var(--signal);transform:none}.stepper-tab-btn.completed{background:var(--signal-soft);color:var(--signal-dark);border-color:var(--signal-border)}.stage-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:20px;padding:24px;display:grid}.stage-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.discovery-messages{gap:10px;max-height:380px;padding-right:4px;display:grid;overflow-y:auto}.discovery-bubble{border-left:3px solid var(--signal);border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafc;padding:10px 14px}.discovery-bubble-meta{justify-content:space-between;gap:10px;margin-bottom:4px;display:flex}.discovery-bubble-meta strong{color:var(--signal-dark);text-transform:uppercase;font-size:.76rem}.discovery-bubble-meta time{color:var(--muted);font-size:.72rem}.discovery-bubble p{white-space:pre-wrap;margin:0;font-size:.86rem;line-height:1.45}.recommendation-card{border-radius:var(--radius);background:#f0f9ff;border:1px solid #bae6fd;gap:12px;padding:18px;display:grid}.recommendation-runtime{color:#0369a1;text-transform:uppercase;margin:0;font-size:1.3rem;font-weight:800}.rationale-list{color:var(--ink-secondary);gap:4px;margin:0;padding-left:18px;font-size:.84rem;display:grid}.decision-banner{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;gap:4px;padding:12px 14px;display:grid}.review-form-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;gap:10px;padding:14px;display:grid}.revision-list{gap:12px;display:grid}.revision-card{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd;gap:10px;padding:16px 18px;display:grid}.revision-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.stage-steps-list{gap:6px;margin:0;padding-left:20px;display:grid}.stage-steps-list li{font-size:.84rem}.stage-steps-list strong{color:var(--ink)}.stage-steps-list span{color:var(--muted)}.blueprint-nodes-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:8px 0;display:grid}.node-chip{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;gap:2px;padding:8px 10px;display:grid}.node-chip strong{font-size:.8rem}.node-chip span{color:var(--muted);font-size:.72rem}.evidence-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f8fafc;gap:8px;margin-top:8px;padding:12px 14px;display:grid}.evidence-meta{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.76rem;display:flex}.checks-checklist{flex-wrap:wrap;gap:6px;display:flex}.check-badge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:.72rem;font-weight:700;display:inline-flex}.full-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:22px;padding:24px;display:grid}.connection-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.connection-tile{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd;gap:6px;padding:16px;display:grid}.connection-tile.active{background:#f0fdf4;border-color:#bbf7d0}.connection-tile.error{border-color:var(--danger-border);background:snow}.ledger-table{border-collapse:collapse;width:100%;font-size:.82rem}.ledger-table th{text-align:left;background:var(--panel-subtle);border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;padding:8px 12px;font-size:.74rem;font-weight:700}.ledger-table td{border-bottom:1px solid var(--line);padding:10px 12px}.member-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.member-tile{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd;align-items:center;gap:12px;padding:12px 14px;display:flex}.status-pill{background:var(--panel-subtle);color:var(--ink-secondary);border:1px solid var(--line);text-transform:uppercase;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.status-pill.success{background:var(--signal-soft);color:var(--signal-dark);border-color:var(--signal-border)}.status-pill.warning{background:var(--warning-soft);color:#92400e;border-color:var(--warning-border)}.status-pill.danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.status-pill.info{background:var(--info-soft);color:var(--info);border-color:var(--info-border)}.feedback{border-radius:var(--radius-sm);margin:0 0 16px;padding:10px 14px;font-size:.86rem;line-height:1.45}.feedback.notice{background:var(--signal-soft);color:var(--signal-dark);border:1px solid var(--signal-border)}.feedback.error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-border)}.admin-shell{max-width:1140px;margin:0 auto;padding:24px}.admin-topbar{border-bottom:1px solid var(--violet-border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:18px;display:flex}.admin-overview,.admin-denied{border:1px solid var(--violet-border);border-top:4px solid var(--violet-dark);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;gap:18px;margin-bottom:24px;padding:24px;display:grid}.admin-metrics{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.admin-metrics article{border:1px solid var(--violet-border);border-radius:var(--radius-sm);background:#fbfaff;gap:6px;padding:16px;display:grid}.admin-metrics span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.admin-metrics strong{color:var(--violet-dark);font-size:2rem;line-height:1}.admin-boundary-note{border-top:1px solid var(--line);color:var(--muted);margin:0;padding-top:14px;font-size:.82rem}.workspace-registry{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;gap:16px;padding:22px;display:grid}.registry-table{gap:8px;display:grid}.registry-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fafbfd;grid-template-columns:1.2fr 1fr 1fr .8fr;align-items:center;gap:14px;padding:12px 14px;display:grid}.registry-row strong{font-size:.86rem}.registry-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.registry-row small{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:800}@media (max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.project-layout{grid-template-columns:240px minmax(0,1fr)}.admin-metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.app-shell,.admin-shell{padding:12px 14px 40px}.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:280px;padding:40px 20px}.auth-card{margin:20px auto 40px;padding:24px}.topbar,.workspace-header{flex-direction:column;align-items:flex-start;gap:12px}.workspace-select-wrap select{width:100%}.kpi-grid,.project-layout,.action-card,.admin-metrics{grid-template-columns:1fr}.registry-row{grid-template-columns:1fr;gap:6px}}
