@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#fcfcfd;--foreground:#0f172a;--muted:#f1f5f9;--muted-foreground:#64748b;--card:#fff;--card-foreground:#0f172a;--border:#e2e8f0;--border-strong:#cbd5e1;--input:#e2e8f0;--subtle-bg:#f8fafc;--primary:#0e7490;--primary-hover:#155e75;--primary-foreground:#fff;--ring:#0e7490;--secondary:#f1f5f9;--accent:#ecfeff;--destructive:#dc2626;--status-slate-bg:#f4f4f5;--status-slate-fg:#52525b;--status-slate-border:#e4e4e7;--status-amber-bg:#fef9c3;--status-amber-fg:#854d0e;--status-amber-border:#fde68a;--status-blue-bg:#dbeafe;--status-blue-fg:#1e40af;--status-blue-border:#bfdbfe;--status-violet-bg:#ede9fe;--status-violet-fg:#5b21b6;--status-violet-border:#ddd6fe;--status-emerald-bg:#d1fae5;--status-emerald-fg:#065f46;--status-emerald-border:#a7f3d0;--status-green-bg:#dcfce7;--status-green-fg:#166534;--status-green-border:#bbf7d0;--status-red-bg:#fee2e2;--status-red-fg:#991b1b;--status-red-border:#fecaca;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono", "SF Mono", Menlo, Consolas, monospace;--radius:10px;--radius-sm:8px;--radius-xs:6px}*{box-sizing:border-box}::selection{color:#fafafa;background:#09090b}html{-webkit-text-size-adjust:100%}html,body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;margin:0;padding:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.02em}.app-shell{background:var(--background);grid-template-columns:220px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--background);flex-direction:column;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0}.sidebar>div:first-child{border-bottom:1px solid var(--border);margin-bottom:12px;padding:0 8px 20px}.sidebar h1{color:var(--foreground);margin:4px 0 0;font-size:17px;font-weight:600}.sidebar nav{flex-direction:column;flex:1;gap:1px;display:flex}.sidebar nav a{border-radius:var(--radius-sm);height:34px;color:var(--muted-foreground);align-items:center;gap:10px;padding:0 10px;font-size:13.5px;font-weight:500;transition:background .1s,color .1s;display:flex}.sidebar nav a:hover{background:var(--muted);color:var(--foreground)}.sidebar nav a svg{color:var(--muted-foreground);flex-shrink:0}.sidebar nav a:hover svg{color:var(--foreground)}.sidebar-footer{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-foreground);align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.sidebar-footer svg{color:var(--muted-foreground);flex-shrink:0}.sidebar-user{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--muted) 72%, transparent);box-shadow:var(--shadow-xs);gap:10px;margin-top:12px;padding:10px;display:grid}.sidebar-user-row{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;display:grid}.sidebar-user-avatar{width:30px;height:30px;color:var(--accent-foreground);background:var(--accent);border-radius:999px;place-items:center;display:grid}.sidebar-user-copy{gap:1px;min-width:0;display:grid}.sidebar-user-copy strong,.sidebar-user-copy span,.sidebar-user-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user-copy strong{font-size:12.5px;line-height:1.25}.sidebar-user-copy span{color:var(--muted-foreground);font-size:11.5px}.sidebar-user-copy small{color:var(--muted-foreground);text-transform:capitalize;font-size:10.5px}.sidebar-user form{margin:0}.sidebar-logout{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);width:100%;height:30px;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:650;transition:border-color .1s,background .1s;display:flex}.sidebar-logout:hover{background:var(--muted);border-color:color-mix(in srgb, var(--border) 70%, var(--foreground))}main{width:100%;min-width:0;padding:24px clamp(20px,3vw,36px) 40px}main>*{max-width:1640px;margin-left:auto;margin-right:auto}.topbar{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);height:40px;color:var(--muted-foreground);justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 14px;font-size:12.5px;display:flex}.topbar>div{align-items:center;gap:8px;display:flex}.topbar strong{color:var(--foreground);font-weight:500}.status-dot{background:#16a34a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #16a34a2e}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 4px;font-size:11px;font-weight:500}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.02em;color:var(--foreground);margin:0 0 6px;font-size:26px;font-weight:600;line-height:1.2}.page-header>div>p:not(.eyebrow){max-width:680px;color:var(--muted-foreground);margin:0;font-size:14px;line-height:1.55}.header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.button{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);height:36px;color:var(--foreground);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:500;transition:background .1s,border-color .1s;display:inline-flex}.button:hover{background:var(--muted);border-color:var(--border-strong)}.button.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.button.disabled{opacity:.5;pointer-events:none}.button svg{flex-shrink:0}.data-banner{background:var(--status-emerald-bg);border:1px solid var(--status-emerald-border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.data-banner>div{align-items:center;gap:12px;min-width:0;display:flex}.data-banner svg{color:var(--status-emerald-fg);flex-shrink:0}.data-banner strong{color:var(--status-emerald-fg);font-size:13.5px;font-weight:600}.data-banner p{color:#4d7c5f;font-size:12.5px;font-family:var(--font-mono);margin:1px 0 0}.data-banner>span{background:var(--background);border:1px solid var(--border);color:var(--muted-foreground);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:500}.review-toolbar{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-bottom:20px;display:flex}.role-tabs{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);gap:4px;min-width:0;padding:4px;display:flex;overflow-x:auto}.role-tabs a{border-radius:var(--radius-xs);height:30px;color:var(--muted-foreground);white-space:nowrap;align-items:center;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.role-tabs a:hover{color:var(--foreground);background:var(--background)}.role-tabs a.active{color:var(--foreground);background:var(--card);border:1px solid var(--border)}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.metric{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;position:relative;overflow:hidden}.metric span{color:var(--muted-foreground);margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.metric strong{letter-spacing:0;color:var(--foreground);font-feature-settings:"tnum";overflow-wrap:anywhere;font-size:clamp(22px,2.4vw,28px);font-weight:600;line-height:1.1;display:block}.metric.accent-blue:before,.metric.accent-green:before,.metric.accent-amber:before,.metric.accent-slate:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.metric.accent-blue:before{background:#3b82f6}.metric.accent-green:before{background:#16a34a}.metric.accent-amber:before{background:#ca8a04}.metric.accent-slate:before{background:#71717a}.portfolio-grid{grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:20px;display:grid}.portfolio-grid-three{grid-template-columns:1.35fr .95fr .95fr;align-items:start}@media (max-width:1024px){.portfolio-grid{grid-template-columns:1fr}}.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-heading{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel-heading h3{letter-spacing:-.005em;color:var(--foreground);margin:0;font-size:14.5px;font-weight:600}.panel-heading p,.small{color:var(--muted-foreground);margin:2px 0 0;font-size:12.5px}.mini-count{color:var(--status-amber-fg);background:var(--status-amber-bg);border:1px solid var(--status-amber-border);border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:600}.status-panel{flex-direction:column;display:flex}.status-list{grid-template-columns:repeat(2,1fr);display:grid}.status-row{border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--foreground);justify-content:space-between;align-items:center;gap:10px;padding:11px 18px;font-size:13px;transition:background .1s;display:flex}.status-row:nth-child(2n){border-right:none}.status-row:nth-last-child(-n+2){border-bottom:none}.status-row:hover{background:var(--muted)}.status-row:before{content:"";background:#71717a;border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-row:first-child:before{background:#71717a}.status-row:nth-child(2):before{background:#ca8a04}.status-row:nth-child(3):before{background:#3b82f6}.status-row:nth-child(4):before{background:#8b5cf6}.status-row:nth-child(5):before{background:#16a34a}.status-row:nth-child(6):before{background:#10b981}.status-row:nth-child(7):before{background:#6ee7b7}.status-row:nth-child(8):before{background:#ef4444}.status-row span:first-of-type{flex:1;font-weight:500}.status-row strong{font-family:var(--font-mono);color:var(--foreground);font-feature-settings:"tnum";font-size:13px;font-weight:600}.region-strip{border-top:1px solid var(--border);background:var(--subtle-bg);flex-wrap:wrap;gap:6px;padding:12px 18px;display:flex}.region-strip span{background:var(--background);border:1px solid var(--border);color:var(--muted-foreground);border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:500}.issue-list{flex-direction:column;display:flex}.issue-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;transition:background .1s;display:flex}.issue-row:hover{background:var(--muted)}.issue-row:last-child{border-bottom:none}.issue-row span{color:var(--foreground);font-size:13px;font-weight:500}.issue-row strong{text-align:right;min-width:32px;font-family:var(--font-mono);font-size:13px;font-weight:600}.clear-inline{border-top:1px solid var(--border);background:var(--subtle-bg);color:var(--primary-hover);padding:10px 18px;font-size:12.5px;font-weight:500;display:block}.queue{flex-direction:column;display:flex}.queue-item{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:14px 18px;transition:background .1s;display:flex;position:relative}.queue-item:last-child{border-bottom:none}.queue-item:after{content:"→";color:var(--muted-foreground);transition:transform .12s;position:absolute;top:14px;right:18px}.queue-item:hover{background:var(--muted)}.queue-item:hover:after{color:var(--foreground);transform:translate(2px)}.queue-item .label{color:var(--muted-foreground);letter-spacing:0;text-transform:none;font-size:11.5px;font-weight:500}.queue-item strong{color:var(--foreground);font-size:14px;font-weight:600}.queue-item p{color:var(--muted-foreground);font-size:12.5px;font-family:var(--font-mono);font-feature-settings:"tnum";margin:1px 0 0}.queue-count{border-top:1px solid var(--border);background:var(--subtle-bg);padding:10px 18px}.filter-bar,.table-filters{border-bottom:1px solid var(--border);background:var(--subtle-bg);flex-wrap:wrap;gap:8px;padding:14px 18px;display:flex}.search-field{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);flex:240px;align-items:center;gap:8px;min-width:200px;height:34px;padding:0 12px;transition:border-color .1s,box-shadow .1s;display:flex}.search-field:focus-within{border-color:var(--ring);box-shadow:0 0 0 3px #0e749026}.search-field svg{color:var(--muted-foreground);flex-shrink:0}.search-field input{background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-field input::placeholder{color:var(--muted-foreground)}.filter-bar select,.filter-bar input:not([type=submit]),.table-filters select,.table-filters input:not([type=submit]){background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);height:34px;color:var(--foreground);appearance:none;cursor:pointer;outline:none;padding:0 12px;font-size:13px;transition:border-color .1s,box-shadow .1s}.filter-bar select:hover,.table-filters select:hover{border-color:var(--border-strong)}.filter-bar select:focus,.table-filters select:focus,.filter-bar input:focus,.table-filters input:focus{border-color:var(--ring);box-shadow:0 0 0 3px #0e749026}.filter-bar select,.table-filters select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%2371717a' d='M5 6L0 0h10z'/></svg>");background-position:right 12px center;background-repeat:no-repeat;padding-right:28px}.table-panel{flex-direction:column;display:flex}.table-heading{grid-template-columns:1fr auto;align-items:end;display:grid}.table-wrap{max-width:100%;overflow:auto}.project-table{border-collapse:collapse;width:100%;font-size:13px}.project-table thead tr{border-bottom:1px solid var(--border);background:var(--subtle-bg)}.project-table th{text-align:left;color:var(--muted-foreground);white-space:nowrap;background:var(--subtle-bg);z-index:1;padding:11px 18px;font-size:12px;font-weight:500;position:sticky;top:0}.project-table th.numeric{text-align:right}.project-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.project-table tbody tr:hover{background:var(--muted)}.project-table tbody tr:last-child{border-bottom:none}.project-table td{vertical-align:top;color:var(--foreground);padding:12px 18px}.project-table td.numeric{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";color:var(--foreground);font-weight:500}.table-project{flex-direction:column;gap:2px;max-width:380px;display:flex}.table-project strong{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;transition:color .1s;display:block;overflow:hidden}.table-project:hover strong{color:var(--primary-hover);text-underline-offset:3px;text-decoration:underline}.table-project span{color:var(--muted-foreground);font-size:12px;font-family:var(--font-mono)}.cell-subtext{color:var(--muted-foreground);margin-top:2px;font-size:12px;display:block}.age-pill{border:1px solid var(--border);min-width:42px;font-family:var(--font-mono);color:var(--muted-foreground);background:var(--background);border-radius:999px;justify-content:center;padding:3px 8px;font-size:11.5px;display:inline-flex}.age-pill[data-tone=fresh]{color:var(--status-emerald-fg);background:var(--status-emerald-bg);border-color:var(--status-emerald-border)}.age-pill[data-tone=watch]{color:var(--status-amber-fg);background:var(--status-amber-bg);border-color:var(--status-amber-border)}.age-pill[data-tone=stale]{color:var(--status-red-fg);background:var(--status-red-bg);border-color:var(--status-red-border)}.badge{white-space:nowrap;border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.badge:before{content:"";background:var(--muted-foreground);border-radius:50%;flex-shrink:0;width:6px;height:6px}.badge[data-status=originator]{color:var(--status-slate-fg);background:var(--status-slate-bg);border-color:var(--status-slate-border)}.badge[data-status=originator]:before{background:#71717a}.badge[data-status=in_review]{color:var(--status-amber-fg);background:var(--status-amber-bg);border-color:var(--status-amber-border)}.badge[data-status=in_review]:before{background:#ca8a04}.badge[data-status=capex_admin]{color:var(--status-blue-fg);background:var(--status-blue-bg);border-color:var(--status-blue-border)}.badge[data-status=capex_admin]:before{background:#3b82f6}.badge[data-status=bidding]{color:var(--status-violet-fg);background:var(--status-violet-bg);border-color:var(--status-violet-border)}.badge[data-status=bidding]:before{background:#8b5cf6}.badge[data-status=approved]{color:var(--status-green-fg);background:var(--status-green-bg);border-color:var(--status-green-border)}.badge[data-status=approved]:before{background:#16a34a}.badge[data-status=in_progress]{color:var(--status-emerald-fg);background:var(--status-emerald-bg);border-color:var(--status-emerald-border)}.badge[data-status=in_progress]:before{background:#10b981}.badge[data-status=completed]{color:var(--status-slate-fg);background:var(--status-slate-bg);border-color:var(--status-slate-border)}.badge[data-status=completed]:before{background:#6ee7b7}.badge[data-status=declined]{color:var(--status-red-fg);background:var(--status-red-bg);border-color:var(--status-red-border)}.badge[data-status=declined]:before{background:#ef4444}.pagination{align-items:center;gap:8px;display:flex}.pagination span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12.5px}.table-pagination{border-top:1px solid var(--border);background:var(--subtle-bg);padding:14px 18px}.empty-state{text-align:center;color:var(--muted-foreground);padding:56px 18px}.empty-state svg{color:var(--muted-foreground);margin-bottom:8px;display:inline-block}.empty-state strong{color:var(--foreground);margin-bottom:4px;font-size:14.5px;font-weight:600;display:block}.empty-state p{margin:0}main>p.small{border-top:1px solid var(--border);color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0 4px;font-size:12.5px;display:flex}main>p.small svg{color:var(--muted-foreground);flex-shrink:0}@media (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.metrics{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column}.header-actions{justify-content:flex-start}.page-header h2{font-size:22px}}@media (max-width:520px){.metric{padding:14px 12px}.metric strong{font-size:21px}}.detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;min-width:0;display:grid}@media (max-width:1024px){.detail-grid{grid-template-columns:1fr}}.detail-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:20px 22px}.detail-section h3{border-bottom:1px solid var(--border);color:var(--foreground);margin:0 0 16px;padding-bottom:12px;font-size:14.5px;font-weight:600}.field-grid{grid-template-columns:repeat(2,1fr);gap:14px 24px;display:grid}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field .label,.field span.label{color:var(--muted-foreground);letter-spacing:0;text-transform:none;margin:0;font-size:11.5px;font-weight:500}.field strong{color:var(--foreground);word-wrap:break-word;font-size:14px;font-weight:500}.field p{color:var(--foreground);margin:4px 0 0;font-size:14px;line-height:1.55}.next-action-card{background:var(--subtle-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.next-action-card .label{color:var(--muted-foreground);margin-bottom:3px;font-size:11.5px;display:block}.next-action-card strong{color:var(--foreground);font-size:15px;font-weight:600;display:block}.next-action-card p{color:var(--foreground);margin:8px 0 0;font-size:13.5px}.next-action-card ul{color:var(--status-red-fg);margin:10px 0 0;padding-left:18px;font-size:13px}.workflow-path{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.workflow-path li{align-items:center;gap:8px;display:flex;position:relative}.workflow-path li:not(:last-child):after{content:"→";color:var(--muted-foreground);font-size:12px}.workflow-path span{border:1px solid var(--border);background:var(--background);min-height:30px;color:var(--muted-foreground);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:500;display:inline-flex}.workflow-path .current span{color:var(--primary-hover);background:var(--accent);border-color:#0e749059}.workflow-path .declined span{color:var(--status-red-fg);background:var(--status-red-bg);border-color:var(--status-red-border)}.simple-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.simple-list li{background:var(--subtle-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.simple-list li strong{color:var(--foreground);margin-bottom:2px;font-size:13.5px;font-weight:600;display:block}.simple-list li p{color:var(--foreground);margin:0;font-size:13.5px;line-height:1.5}.simple-list li p.small{color:var(--muted-foreground);margin-bottom:4px;font-size:11.5px}.timeline{margin:0;padding:0 0 0 22px;list-style:none;position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:6px;bottom:6px;left:6px}.timeline li{padding:0 0 16px;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--background);border:2px solid var(--primary);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-19px}.timeline li strong{color:var(--foreground);margin-bottom:2px;font-size:13.5px;font-weight:600;display:block}.timeline li p{color:var(--muted-foreground);font-size:12.5px;font-family:var(--font-mono);margin:0}.transition-panel{flex-direction:column;gap:14px;display:flex}.transition-panel>div{flex-direction:column;gap:6px;display:flex}.transition-panel label{color:var(--muted-foreground);letter-spacing:0;text-transform:none;margin:0;font-size:11.5px;font-weight:500;display:block}.transition-panel select,.transition-panel textarea{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;padding:8px 10px;font-size:13.5px;transition:border-color .1s,box-shadow .1s}.transition-panel textarea{resize:vertical;min-height:80px;font-family:inherit}.transition-panel select:focus,.transition-panel textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px #0e749026}.transition-panel .error{background:var(--status-red-bg);border:1px solid var(--status-red-border);border-radius:var(--radius-sm);color:var(--status-red-fg);padding:10px 12px;font-size:13px}.compact-metrics{margin-bottom:18px}.inline-form{background:var(--subtle-bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;min-width:0;margin:12px 0 16px;padding:12px;display:flex}.inline-form>*,.inline-form-grid>*{min-width:0}.inline-form textarea{resize:vertical;min-height:76px}.inline-form-grid{grid-template-columns:minmax(130px,180px) minmax(0,1fr);align-items:end;gap:10px;display:grid}.inline-form input[type=file]{background:var(--card);width:100%;max-width:100%;min-height:38px;padding:7px 10px}@media (max-width:640px){.inline-form-grid{grid-template-columns:1fr}}@media (max-width:760px){.review-toolbar{flex-direction:column;align-items:stretch}.review-toolbar .button{justify-content:center}.role-tabs{width:100%}}.project-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:16px 20px;padding:20px 22px;display:grid}.project-form>.full-width,.project-form .full-width{grid-column:1/-1}.project-form label{color:var(--foreground);letter-spacing:0;text-transform:none;margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.project-form input,.project-form select,.project-form textarea{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;padding:8px 12px;font-size:13.5px;transition:border-color .1s,box-shadow .1s}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px #0e749026}.project-form textarea{resize:vertical;min-height:88px;font-family:inherit}@media (max-width:760px){.project-form{grid-template-columns:1fr}}.auth-shell{background:radial-gradient(circle at 50% -10%, #2563eb1f, transparent 34%), linear-gradient(180deg, #f8fafc 0%, var(--subtle-bg) 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.app-shell:has(.auth-shell){min-height:100dvh;display:block}:is(.app-shell:has(.auth-shell) .sidebar,.app-shell:has(.auth-shell) .topbar){display:none}.app-shell:has(.auth-shell) main{min-height:100dvh;padding:0}.app-shell:has(.auth-shell) main>*{max-width:none}.auth-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;width:100%;max-width:420px;padding:32px 28px;animation:.36s cubic-bezier(.16,1,.3,1) both auth-card-in;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 60px #0f172a1a}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), #0f766e, #475569);height:3px;position:absolute;inset:0 0 auto}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand>span{background:var(--accent);width:38px;height:38px;color:var(--accent-foreground);border-radius:10px;place-items:center;font-weight:800;display:grid;box-shadow:0 8px 24px #2563eb33}.auth-brand .eyebrow{margin:0 0 2px}.auth-brand h1{letter-spacing:0;margin:0;font-size:22px;font-weight:700}.auth-card h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:600}.auth-card p{color:var(--muted-foreground);margin:0;font-size:13.5px;line-height:1.5}.auth-card label{color:var(--foreground);letter-spacing:0;text-transform:none;margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.auth-card input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--foreground);outline:none;padding:9px 12px;font-size:14px;transition:border-color .1s,box-shadow .1s}.auth-card input:focus{border-color:var(--ring);box-shadow:0 0 0 3px #0e749026}.auth-alert{border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;line-height:1.4;animation:.22s both auth-toast-in}.auth-alert.error{background:var(--status-red-bg);border:1px solid var(--status-red-border);color:var(--status-red-fg)}.auth-alert.success{background:var(--status-green-bg);border:1px solid var(--status-green-border);color:var(--status-green-fg)}.auth-meta{color:var(--muted-foreground);margin:0;padding-top:2px;font-size:12.5px;line-height:1.45}@keyframes auth-card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes auth-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-card,.auth-alert{animation:none}}.import-uploader{flex-direction:column;gap:14px;display:flex}.process-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.setup-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.process-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:16px}.process-card svg{color:var(--primary)}.process-card strong{margin-top:10px;font-size:13.5px;font-weight:600;display:block}.process-card p{color:var(--muted-foreground);margin:4px 0 0;font-size:12.5px;line-height:1.45}.import-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:16px;display:grid}.run-list{flex-direction:column;display:flex}.run-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:14px 18px;display:grid}.run-row:last-child{border-bottom:none}.run-row strong{overflow-wrap:anywhere;font-size:13.5px;font-weight:600;display:block}.run-row dl{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 0;display:grid}.run-row dt{color:var(--muted-foreground);font-size:11px}.run-row dd{color:var(--foreground);font-family:var(--font-mono);margin:0;font-size:13px;font-weight:600}.workflow-overview{margin-bottom:20px}.workflow-map{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0;padding:16px 18px;list-style:none;display:grid}.workflow-map li{background:var(--subtle-bg);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;padding:12px;position:relative}.workflow-map li:not(:last-child):after{content:"→";color:var(--muted-foreground);z-index:1;position:absolute;top:50%;right:-10px;transform:translate(50%,-50%)}.workflow-map span{color:var(--foreground);overflow-wrap:anywhere;font-size:12.5px;font-weight:600;display:block}.workflow-map small{color:var(--muted-foreground);margin-top:4px;font-size:11.5px;display:block}.upload-form{background:var(--card);border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;gap:10px;padding:20px;display:flex}.file-drop{background:var(--subtle-bg);border:1px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;flex-direction:column;justify-content:center;gap:6px;min-height:132px;margin:0;padding:20px;display:flex}.file-drop strong{color:var(--foreground);font-size:14px}.file-drop span{color:var(--muted-foreground);font-size:12.5px}.file-drop input{width:100%;margin-top:8px}.upload-actions,.commit-strip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.commit-strip{background:var(--subtle-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.preview-stack{flex-direction:column;gap:12px;display:flex}@media (max-width:1100px){.import-layout{grid-template-columns:1fr}.workflow-map{grid-template-columns:repeat(3,1fr)}.workflow-map li:after{display:none}}@media (max-width:980px){.process-grid{grid-template-columns:repeat(2,1fr)}.setup-grid{grid-template-columns:1fr}}@media (max-width:560px){.process-grid,.workflow-map{grid-template-columns:1fr}.run-row dl{grid-template-columns:repeat(2,1fr)}}.config-table{border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:13px;overflow:hidden}.config-table thead tr{background:var(--subtle-bg);border-bottom:1px solid var(--border)}.config-table th{text-align:left;color:var(--muted-foreground);padding:11px 16px;font-size:12px;font-weight:500}.config-table td{border-bottom:1px solid var(--border);color:var(--foreground);padding:11px 16px}.config-table tr:last-child td{border-bottom:none}.config-table .compact{color:var(--muted-foreground);font-size:12.5px;font-family:var(--font-mono)}label{color:var(--foreground);margin-bottom:4px;font-size:12.5px;font-weight:500;display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=search],textarea,select{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);outline:none;padding:8px 10px;font-size:13.5px;transition:border-color .1s,box-shadow .1s}input:focus,textarea:focus,select:focus{border-color:var(--ring);box-shadow:0 0 0 3px #0e749026}hr{border:none;border-top:1px solid var(--border);margin:16px 0}code,kbd{font-family:var(--font-mono);background:var(--muted);border:1px solid var(--border);color:var(--foreground);border-radius:3px;padding:1px 4px;font-size:90%}.numeric{font-feature-settings:"tnum"}
