:root{--color-ink: #f5f5f7;--color-muted: #9b9ba1;--color-dim: #59595f;--color-sidebar: #111111;--color-panel: #1c1c1e;--color-panel-strong: #000000;--color-accent: #0a84ff;--color-accent-strong: #409cff;--color-danger: #ff453a;--color-success: #30d158;--color-warning: #ffd60a;--bg-color: #000000;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--panel-radius: 4px;--card-radius: 8px;--shadow-accent-soft: 0 0 14px rgba(10, 132, 255, .34);--z-sticky: 10;--z-modal: 40;--z-tooltip: 50;font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--color-ink);background:var(--bg-color)}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;min-height:0;color:var(--color-ink);background:var(--bg-color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}code{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.84rem;color:#d7e8ff}.app-shell{height:100%;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden;background:var(--bg-color)}.sidebar{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;padding:16px;overflow:hidden;background:var(--color-sidebar);border-right:1px solid var(--border)}.sidebar>*{min-width:0}.sidebar-header,.user-panel,.topbar,.summary-strip,.preflight-strip,.step-toolbar,.review-panel,.create-panel,.settings-panel,.audit-panel,.process-comments-review,.step-rail,.active-panel{background:var(--color-panel);border:1px solid var(--border);border-radius:var(--panel-radius)}.sidebar-header,.user-panel{min-height:58px;display:flex;align-items:center;gap:12px;padding:12px}.sidebar-header strong,.user-panel strong,.process-item span{display:block;font-size:.94rem;font-weight:650}.sidebar-header span,.user-panel span,.process-item small,.muted{display:block;color:var(--color-muted);font-size:.8rem}.sidebar-header>div:last-child,.user-panel>div{min-width:0}.sidebar-header strong,.sidebar-header span,.user-panel strong,.user-panel span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-logo{width:34px;height:34px;flex:0 0 34px;object-fit:contain}.brand-logo-large{width:64px;height:64px;flex-basis:64px}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.login-brand .app-mark{margin:0}.view-tabs{display:grid;gap:6px}.view-tabs button,.process-main{min-height:38px;min-width:0;display:flex;align-items:center;gap:8px;width:100%;border:1px solid transparent;border-radius:6px;padding:9px 10px;color:var(--color-muted);background:transparent;text-align:left}.view-tabs button:hover,.process-main:hover{color:var(--color-ink);background:#ffffff0b;border-color:var(--border)}.view-tabs button.is-selected,.process-item.is-selected{color:var(--color-ink);background:#0a84ff24;border-color:#0a84ff57}.process-item.is-selected .process-main{color:var(--color-ink)}.process-list{overflow:auto;display:flex;flex-direction:column;gap:6px}.rail-title,.app-mark{margin:0 0 8px;color:var(--color-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.process-item{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:center;min-width:0;border:1px solid transparent;border-radius:6px;padding:4px 8px 4px 0;background:transparent}.process-item:hover{border-color:var(--border);background:#ffffff0b}.process-item.is-selected:hover{border-color:#0a84ff57;background:#0a84ff24}.process-main{display:block;min-width:0;border:0;background:transparent;padding-right:6px}.user-panel{justify-content:space-between}.user-panel .icon-button{flex:0 0 34px}.workspace{height:100%;min-width:0;min-height:0;padding:16px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin-bottom:12px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}h1,h2,h3,p{margin:0}h1{font-size:1.36rem;line-height:1.2;letter-spacing:0}h2{font-size:1.05rem}h3{font-size:.98rem}.button,.icon-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:4px;background:#ffffff0b;color:var(--color-ink);font-size:.88rem;font-weight:650;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.button{padding:0 12px}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:#ffffff14;border-color:var(--border-strong)}.button:focus-visible,.icon-button:focus-visible,input:focus-visible,select:focus-visible,.branch-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.button-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.button-primary:hover:not(:disabled){background:var(--color-accent-strong)}.button-danger{color:#ffd0cc;background:#ff453a24;border-color:#ff453a52}.button.slim{min-height:30px;font-size:.78rem}.icon-button{width:34px;height:34px;padding:0}.dashboard-grid{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-areas:"summary summary" "preflight preflight" "review review" "steps active";gap:12px;align-items:start}.summary-strip{grid-area:summary;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:10px;padding:12px}.preflight-strip{grid-area:preflight;display:grid;grid-template-columns:minmax(190px,.9fr) minmax(360px,1.6fr) auto;gap:10px;align-items:center;padding:10px 12px}.preflight-head{display:flex;align-items:flex-start;gap:10px;min-width:0}.preflight-head>div{min-width:0}.preflight-head svg{color:var(--color-accent-strong)}.preflight-head strong,.preflight-head span{display:block}.preflight-head span{color:var(--color-muted);font-size:.78rem;line-height:1.4;overflow-wrap:anywhere;white-space:normal}.preflight-metrics{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:8px}.preflight-metrics .metric{min-height:44px;padding:6px 8px}.preflight-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.preflight-stale{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:#fff1a5;font-size:.82rem}.preflight-progress{grid-column:1 / -1;display:grid;gap:7px}.preflight-progress>div{display:flex;justify-content:space-between;gap:12px;color:var(--color-muted);font-size:.78rem}.preflight-progress strong{color:var(--color-ink)}.preflight-progress progress{width:100%;height:6px;border:0;border-radius:999px;overflow:hidden;background:#0f0f10}.preflight-progress progress::-webkit-progress-bar{background:#0f0f10}.preflight-progress progress::-webkit-progress-value,.preflight-progress progress::-moz-progress-bar{background:var(--color-accent)}.metric{min-height:54px;display:grid;align-content:center;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.metric span{color:var(--color-muted);font-size:.76rem}.metric strong{font-size:.95rem}.external-link{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--color-ink)}.step-rail{grid-area:steps;padding:8px}.step-row{width:100%;min-height:58px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px;border:1px solid transparent;border-radius:6px;color:var(--color-ink);background:transparent;text-align:left}.step-row:hover{background:#ffffff0b;border-color:var(--border)}.step-row:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.step-row.is-selected{border-color:var(--border-strong);background:#fff1}.step-row.is-current{border-color:#0a84ff57}.step-row.is-current .step-icon{color:var(--color-accent-strong);background:#0a84ff24}.step-row.is-current.is-selected{background:#0a84ff1f}.step-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;color:var(--color-muted);background:#ffffff0f}.step-row strong{display:block;font-size:.86rem}.step-row span{display:block;color:var(--color-muted);font-size:.76rem}.active-panel{grid-area:active;min-width:0;padding:12px}.process-comments-review{grid-area:review;display:grid;gap:10px;padding:12px}.process-comment-list{display:grid;gap:8px}.comment-review-meta{min-width:0;display:flex;align-items:baseline;gap:8px}.comment-review-meta span{overflow:hidden;color:var(--color-muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.step-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;margin-bottom:12px;background:#ffffff06}.toolbar-actions,.action-row,.skip-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.skip-inline,.toolbar-secondary-action{grid-column:1 / -1}.datetime-field{display:grid;gap:4px;color:var(--color-ink-muted);font-size:.75rem}.datetime-field small{line-height:1}.preproduction-controls{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.stage-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-width:0;margin:0;padding:6px 10px 8px;border:1px solid var(--border);border-radius:6px}.stage-options legend{padding:0 4px;color:var(--color-muted);font-size:.72rem}.stage-options .check-control{font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.72rem}.panel-stack{display:grid;gap:12px}.table-actions-inline{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.table-panel{overflow:auto;border:1px solid var(--border);border-radius:6px}.section-heading{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px;border-bottom:1px solid var(--border);background:#00000029}.section-heading span{color:var(--color-ink);font-size:.9rem;font-weight:650}.section-heading small{flex:0 0 auto;color:var(--color-muted);font-size:.76rem;font-weight:650}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;vertical-align:middle;font-size:.84rem}th{color:var(--color-muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#00000038}tr:last-child td{border-bottom:0}.table-action{width:1%;white-space:nowrap}.required-actions-table td{height:74px}.required-actions-table{table-layout:fixed;min-width:0}.required-action-col{width:68%}.required-validation-col,.required-validator-col{width:16%}.required-actions-table th:not(:first-child):not(:last-child),.required-actions-table td:not(:first-child):not(:last-child){max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.required-actions-table td:first-child{overflow-wrap:anywhere}.required-actions-table th:last-child,.required-actions-table td:last-child{white-space:normal}.required-actions-table td:last-child{overflow-wrap:anywhere;line-height:1.35}.required-actions-table .check-control{min-width:0;max-width:100%;overflow:hidden}.branch-link{max-width:320px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:4px;padding:4px 6px;background:transparent;color:var(--color-ink);text-align:left}.branch-link:hover{background:#0a84ff1f}.branch-link code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conflict-list{display:flex;flex-wrap:wrap;gap:4px;max-width:280px}.conflict-list code{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(255,69,58,.28);background:#ff453a14;color:#ffd0cc}.conflict-list .button{width:auto}.cell-error{flex-basis:100%;color:var(--color-danger);font-size:.72rem}.audit-panel{padding:12px;display:grid;gap:8px}.audit-workspace{display:grid;gap:12px}.audit-summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.compact-field{display:grid;gap:6px;min-width:min(420px,100%);color:var(--color-muted);font-size:.78rem;font-weight:650;text-align:left}.audit-row{display:grid;gap:4px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.audit-row span,.audit-row small{color:var(--color-muted);font-size:.76rem}.review-panel,.create-panel{display:flex;align-items:flex-start;gap:14px;padding:14px}.review-panel p{color:var(--color-muted);margin:6px 0 12px;max-width:70ch}.create-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-bottom:12px}.create-mode{grid-column:1 / -1;display:inline-flex;width:fit-content;padding:3px;border:1px solid var(--border);border-radius:6px;background:#0f0f10}.create-mode button{min-height:34px;padding:6px 10px;border:0;border-radius:4px;color:var(--color-muted);background:transparent}.create-mode button.is-selected{color:var(--color-ink);background:#0a84ff2e}.create-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.create-fields label{min-width:min(260px,100%);flex:1 1 260px}.template-create-note{min-width:min(360px,100%);display:grid;gap:4px;align-self:center}.template-create-note strong{font-size:.9rem}.template-create-note span{color:var(--color-muted);font-size:.8rem}.create-panel>.inline-notice{grid-column:1 / -1}.checklist-setup{display:grid;gap:16px;padding:18px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.checklist-setup-copy,.checklist-setup-actions{display:flex;align-items:center;gap:12px}.checklist-setup-copy p{max-width:70ch;margin-top:4px;color:var(--color-muted);font-size:.84rem;line-height:1.5}.checklist-setup-actions{flex-wrap:wrap}.state-indicator{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:999px}.state-indicator.is-ready{color:var(--color-success);background:#30d1581f}.state-indicator.is-waiting{color:var(--color-accent-strong);background:#0a84ff1f}.create-panel label,.settings-form label,.login-form label{display:grid;gap:6px;color:var(--color-muted);font-size:.78rem;font-weight:650}input,select{min-height:38px;min-width:0;border:1px solid var(--border);border-radius:4px;background:#0f0f10;color:var(--color-ink);padding:8px 10px}input::placeholder{color:#7f7f86}select{appearance:none}.check-control{display:inline-flex;align-items:center;gap:8px;color:var(--color-ink)}.check-control input{min-height:auto;width:16px;height:16px}.status-pill,.boolean-mark{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:2px 8px;border:1px solid var(--border);font-size:.74rem;font-weight:700}.is-success,.boolean-mark.is-yes{color:#a8f5bb;border-color:#30d15859;background:#30d1581f}.is-danger,.boolean-mark.is-no{color:#ffd0cc;border-color:#ff453a59;background:#ff453a1f}.is-warning{color:#fff1a5;border-color:#ffd60a59;background:#ffd60a1f}.is-info{color:#b9ddff;border-color:#0a84ff59;background:#0a84ff1f}.is-muted{color:var(--color-muted);border-color:var(--border);background:#ffffff0d}.inline-notice{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;font-size:.84rem;border:1px solid var(--border)}.inline-notice.is-danger{color:#ffd0cc}.inline-notice.is-success{color:#a8f5bb}.inline-notice.is-info{color:#b9ddff}.empty-state,.empty-mini,.diff-placeholder{display:grid;place-items:center;gap:8px;min-height:150px;border:1px dashed var(--border);border-radius:8px;color:var(--color-muted);text-align:center;padding:18px;background:#ffffff05}.empty-state strong,.diff-placeholder strong{color:var(--color-ink)}.empty-state.compact{min-height:96px}.empty-mini{min-height:78px;font-size:.84rem}.diff-placeholder{grid-template-columns:auto minmax(0,1fr);place-items:initial;text-align:left}.diff-placeholder span{display:block;color:var(--color-muted);font-size:.82rem}.branch-review{display:grid;gap:10px;border:1px solid var(--border);border-radius:6px;padding:10px;background:#ffffff05}.branch-review-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.branch-review-toolbar label{display:grid;gap:6px;min-width:min(360px,100%);color:var(--color-muted);font-size:.78rem;font-weight:650}.diff-stats{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border);border-radius:4px;color:var(--color-muted);background:#ffffff0a}.diff-stats strong{color:var(--color-ink)}.diff-stats span:first-of-type{color:#a8f5bb}.diff-stats span:last-of-type{color:#ffd0cc}.diff-browser{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:10px;min-height:440px}.file-list{min-width:0;max-height:620px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:#0003}.file-search{position:sticky;top:0;z-index:1;display:grid;gap:5px;padding:8px;border-bottom:1px solid var(--border);background:#111113;color:var(--color-muted);font-size:.72rem}.file-search input{min-height:34px}.file-list button{width:100%;display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px 8px;padding:10px;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;color:var(--color-ink);text-align:left}.file-list button:hover,.file-list button.is-selected{background:#0a84ff1f}.file-list button.is-selected{box-shadow:inset 2px 0 0 var(--color-accent)}.file-list span,.file-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list span{font-size:.82rem}.file-list small{grid-column:2;color:var(--color-muted);font-size:.72rem}.diff-panel{min-width:0;max-height:620px;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--border);border-radius:6px;background:#0f0f10}.diff-panel-header{position:sticky;top:0;z-index:var(--z-sticky);min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid var(--border);background:#111113}.diff-panel-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.diff-panel-header span{color:var(--color-muted);font-size:.78rem}.diff-panel-header code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-panel-header a{flex:0 0 auto;color:var(--color-accent);font-size:.78rem}.segmented-control{display:inline-flex;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:#ffffff08}.segmented-control button{min-height:28px;padding:0 10px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--color-muted);font:inherit;font-size:.76rem;font-weight:700}.segmented-control button:last-child{border-right:0}.segmented-control button:hover{color:var(--color-ink);background:#ffffff0d}.segmented-control button.is-active{color:var(--color-ink);background:#0a84ff38}.diff-panel .diff-view{--diff-background-color: #0f0f10}.diff-panel .unified-diff{overflow:auto}.unified-diff,.split-diff{min-width:max-content;font-family:JetBrains Mono,Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.55}.split-diff{width:100%;min-width:0;max-width:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}.split-diff-pane{min-width:0;overflow:auto;font-family:JetBrains Mono,Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:.78rem;line-height:1.55}.split-diff-pane+.split-diff-pane{border-left:1px solid var(--border)}.diff-row{display:grid;grid-template-columns:54px 54px minmax(560px,1fr);min-height:22px}.diff-row code{white-space:pre;padding:0 12px;color:#d7dce4}.diff-marker{display:inline-block;width:18px;color:#8b94a3}.diff-line-number{-webkit-user-select:none;user-select:none;text-align:right;padding:0 8px;color:#6f7784;border-right:1px solid rgba(255,255,255,.06);background:#ffffff05}.diff-row.is-hunk code,.diff-row.is-meta code{color:#9cb8ff}.diff-row.is-hunk{background:#466fc829}.diff-row.is-add{background:#388e5b2e}.diff-row.is-add .diff-line-number{background:#388e5b24}.diff-row.is-add code{color:#c9f5d8}.diff-row.is-delete{background:#be4a4a2e}.diff-row.is-delete .diff-line-number{background:#be4a4a24}.diff-row.is-delete code{color:#ffd0d0}.split-diff-row{display:grid;grid-template-columns:54px minmax(560px,1fr);min-height:22px}.split-diff-row code{white-space:pre;padding:0 12px;color:#d7dce4}.split-diff-row>code.is-delete{color:#ffd0d0;background:#be4a4a2e}.split-diff-row>code.is-add{color:#c9f5d8;background:#388e5b2e}.split-diff-row>code.is-empty{background:#ffffff04}.split-diff-row.is-hunk,.split-diff-row.is-meta{grid-template-columns:minmax(614px,1fr);background:#466fc829}.split-diff-row.is-hunk code,.split-diff-row.is-meta code{color:#9cb8ff}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:24px;background:#000000b8}.confirmation-dialog{width:min(460px,calc(100vw - 48px));display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:20px;border:1px solid rgba(255,105,97,.4);border-radius:8px;background:var(--color-panel)}.confirmation-dialog-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,105,97,.34);border-radius:50%;color:#ffd0cc;background:#ff453a24}.confirmation-dialog-copy{display:grid;gap:6px}.confirmation-dialog-copy p:last-child{color:var(--color-muted);line-height:1.5}.confirmation-dialog>.inline-notice,.confirmation-dialog-actions{grid-column:1 / -1}.confirmation-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.diff-dialog{width:min(1680px,calc(100vw - 24px));height:min(980px,calc(100vh - 24px));max-height:calc(100vh - 24px);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;overflow:hidden;border:1px solid var(--border-strong);border-radius:8px;background:var(--color-panel);padding:12px}.diff-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.diff-dialog-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diff-dialog .diff-browser{min-height:0;height:100%;grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.diff-dialog .file-list,.diff-dialog .diff-panel{max-height:none;height:100%}.admin-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(360px,1.1fr);gap:12px}.user-management-workspace{display:grid;gap:12px}.user-management-panel{display:grid;gap:12px;min-width:0}.user-management-help{margin:-6px 0 0;font-size:.8rem}.user-management-table table{min-width:940px}.table-subtitle{display:block;margin-top:3px;color:var(--color-muted);font-size:.76rem}.user-status-list,.user-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.role-assignment-control{display:flex;align-items:center;gap:8px}.role-assignment-control select{width:min(210px,100%);min-height:58px;padding:4px 6px}.settings-panel{padding:16px}.account-panel{margin-bottom:12px}.admin-span{grid-column:1 / -1}.settings-panel h2{margin-bottom:14px}.settings-form{display:grid;gap:12px}.account-form{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end}.create-role-form{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) auto;gap:8px;align-items:end;margin-bottom:12px;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.create-role-form label{display:grid;gap:6px;color:var(--color-muted);font-size:.78rem;font-weight:650}.pending-user-list{display:grid;gap:8px}.pending-user-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.pending-user-row strong,.pending-user-row span{display:block}.pending-user-row span{color:var(--color-muted);font-size:.78rem}.role-editor{border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#ffffff05}.role-editor+.role-editor{margin-top:8px}.role-editor-header{width:100%;min-height:58px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:0;background:transparent;color:var(--color-ink);text-align:left}.role-editor-header:hover,.role-editor.is-expanded .role-editor-header{background:#ffffff0b}.role-editor-header span,.role-editor-body{color:var(--color-muted);font-size:.8rem}.role-editor-body{display:grid;gap:10px;padding:12px;border-top:1px solid rgba(255,255,255,.07)}.permission-list{display:grid;gap:8px}.permission-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,220px) 34px;gap:8px;align-items:center}.permission-row select[multiple]{min-height:72px;padding:5px}.step-workspace-stack,.step-comments{display:grid;gap:10px}.step-comments{padding-top:2px}.section-heading span{display:inline-flex;align-items:center;gap:7px}.comment-form{display:flex;gap:8px}.comment-form input{flex:1 1 auto}.comment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:#ffffff06}.comment-row time{color:var(--color-muted);font-size:.75rem}.comment-row p{grid-column:1 / -1;margin:0;white-space:pre-wrap}.info-tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1px solid var(--border);border-radius:999px;color:var(--color-muted);cursor:help}.info-tip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.info-tip-popup{position:fixed;z-index:var(--z-tooltip);width:min(280px,calc(100vw - 24px));padding:7px 8px;border:1px solid var(--border-strong);border-radius:4px;background:#111113;color:var(--color-ink);font-size:.76rem;font-weight:500;line-height:1.35;pointer-events:none;text-align:left}.info-tip-popup[data-placement=above]{transform:translate(-50%,-100%)}.info-tip-popup[data-placement=below]{transform:translate(-50%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-shell{height:100%;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:16px;overflow:auto;overscroll-behavior:contain;background:var(--bg-color)}.login-panel{width:min(760px,100%);display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:center;padding:24px;border:1px solid var(--border);border-radius:8px;background:var(--color-panel)}.login-panel h1{margin-bottom:8px;font-size:1.6rem}.login-form{display:grid;gap:12px}.skeleton-row{height:46px;border-radius:6px;background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:skeleton 1.2s ease-in-out infinite}.build-summary{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:12px;padding:10px;border:1px solid var(--border);border-radius:6px}.build-summary pre{grid-column:1 / -1;overflow:auto;margin:0;color:#ffd0cc;white-space:pre-wrap}.build-history{margin-top:16px;display:grid;gap:8px}.build-history-list{display:grid;gap:8px}.build-history-list .build-summary{margin-top:0}.step-row.is-disabled{opacity:.58}.is-disabled-panel{opacity:.72}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton{0%{background-position:0 0}to{background-position:-200% 0}}@media(max-width:1180px){.dashboard-grid{grid-template-columns:280px minmax(0,1fr);grid-template-areas:"summary summary" "preflight preflight" "review review" "steps active"}.summary-strip,.preflight-metrics,.audit-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:860px){html,body,#root{height:auto;min-height:100%;overflow:visible}.app-shell{height:auto;min-height:100vh;grid-template-columns:1fr;overflow:visible}.sidebar{height:auto;min-height:auto;grid-template-rows:auto auto auto auto;overflow:visible;border-right:0;border-bottom:1px solid var(--border)}.workspace{height:auto;overflow:visible}.process-list{max-height:240px}.dashboard-grid,.admin-grid,.login-panel{grid-template-columns:1fr;grid-template-areas:"summary" "preflight" "review" "steps" "active"}.preflight-strip,.account-form,.create-role-form,.pending-user-row{grid-template-columns:1fr}.preflight-actions{justify-content:stretch}.audit-summary,.diff-browser,.diff-dialog .diff-browser{grid-template-columns:1fr}.modal-backdrop{padding:10px}.diff-dialog{max-height:calc(100vh - 20px)}.topbar,.step-toolbar,.create-panel{align-items:stretch;flex-direction:column;grid-template-columns:1fr}.toolbar-actions,.action-row,.skip-inline{align-items:stretch}.button,.action-row input,.skip-inline input,.datetime-field{width:100%}.preproduction-controls,.stage-options{align-items:stretch;width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}
