@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;600&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";
:root{--bg:#0d0f14;--surface:#161a22;--surface2:#1e2330;--border:#2a3040;--accent:#f26522;--accent2:#f5a623;--accent3:#e05c5c;--text:#e8ecf4;--text-muted:#7a8499;--text-dim:#4a5570;--ok:#f26522;--na:#7a8499;--fail:#e05c5c;--phase-o:#f5a623;--phase-f:#22c55e;--phase-e:#6b7280}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);min-height:100vh;font-family:IBM Plex Sans,sans-serif;line-height:1.5}nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0d0f14f5;align-items:center;height:56px;padding:0 32px;display:flex;position:sticky;top:0}.nav-logo{color:var(--accent);letter-spacing:.08em;align-items:center;gap:0;margin-right:auto;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;display:flex}.nav-logo span{color:var(--text-muted)}.nav-etex-logo{vertical-align:middle;mix-blend-mode:screen;width:auto;height:28px;margin-right:2px}.nav-divider{color:var(--border);margin:0 10px;font-size:16px;font-weight:300}.nav-tabs{gap:2px;display:flex}.nav-tab{color:var(--text-muted);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;border-radius:6px;padding:8px 20px;font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.nav-tab:hover{color:var(--text);background:var(--surface2)}.nav-tab.active{color:var(--accent);background:#f2652214}.page-content{max-width:1100px;margin:0 auto;padding:32px}.page-header{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px}.page-title{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:600}.page-title .hi{color:var(--accent)}.page-subtitle{color:var(--text-muted);margin-top:3px;font-size:13px}.edit-banner{color:var(--accent2);background:#f5a62314;border:1px solid #f5a6234d;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:10px 16px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.edit-dot{background:var(--accent2);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.4s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:24px}.form-section-title{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;display:flex}.form-section-title:after{content:"";background:var(--border);flex:1;height:1px}.phase-badge{letter-spacing:.1em;text-transform:uppercase;border-radius:3px;margin-left:8px;padding:2px 10px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;display:inline-block}.phase-o{color:var(--phase-o);background:#6b72801f;border:1px solid #6b72804d}.phase-f{color:var(--phase-f);background:#22c55e1f;border:1px solid #22c55e4d}.phase-e{color:var(--phase-e);background:#6b72801f;border:1px solid #6b72804d}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid-three{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group-full{flex-direction:column;grid-column:1/-1;gap:6px;display:flex}label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:500}input[type=text],input[type=email],input[type=date],select,textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;width:100%;padding:9px 12px;font-family:IBM Plex Sans,sans-serif;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f2652214}select option{background:var(--surface2)}textarea{resize:vertical;min-height:70px}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;display:grid}.kpi-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.kpi-num{color:var(--text-dim);min-width:36px;padding-top:2px;font-family:IBM Plex Mono,monospace;font-size:10px}.kpi-label{color:var(--text);flex:1;font-size:12px;line-height:1.4}.kpi-controls{gap:4px;display:flex}.kpi-btn{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:600;transition:all .12s;display:flex}.kpi-btn:hover{border-color:var(--accent);color:var(--accent)}.kpi-btn.active-yes{border-color:var(--ok);color:var(--ok);background:#f2652226}.kpi-btn.active-no{border-color:var(--fail);color:var(--fail);background:#e05c5c26}.kpi-btn.active-na{border-color:var(--na);color:var(--na);background:#7a849926}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.05em;cursor:pointer;border:none;border-radius:7px;padding:12px 32px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;transition:all .15s}.btn-primary:hover{background:#ff8040;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary.update-mode{background:var(--accent2)}.btn-primary.update-mode:hover{background:#ffbe44}.btn-secondary{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:7px;padding:12px 24px;font-family:IBM Plex Mono,monospace;font-size:13px;transition:all .15s}.btn-secondary:hover{color:var(--text);border-color:var(--text-dim)}.btn-cancel{color:var(--fail);cursor:pointer;background:#e05c5c1a;border:1px solid #e05c5c4d;border-radius:7px;padding:12px 20px;font-family:IBM Plex Mono,monospace;font-size:13px;transition:all .15s}.btn-cancel:hover{background:#e05c5c33}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.report-empty{text-align:center;color:var(--text-dim);padding:80px 32px;font-family:IBM Plex Mono,monospace;font-size:13px}.report-empty .big{opacity:.3;margin-bottom:12px;font-size:40px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;transition:border-color .2s;overflow:hidden}.project-card:hover{border-color:#3a4050}.project-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.project-name{color:var(--text);flex:1;min-width:200px;font-size:18px;font-weight:600}.project-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meta-chip{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:11px}.status-chip{border-radius:4px;padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.status-ongoing{color:var(--ok);background:#f265221a;border:1px solid #f265224d}.status-finished{color:var(--phase-o);background:#6b72801a;border:1px solid #6b72804d}.status-stop{color:var(--fail);background:#e05c5c1a;border:1px solid #e05c5c4d}.status-standby{color:var(--accent2);background:#f5a6231a;border:1px solid #f5a6234d}.project-overview{background:var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;display:grid}.overview-cell{background:var(--surface);padding:14px 16px}.overview-label{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:500}.overview-value{color:var(--text);font-size:14px;font-weight:500}.progress-section{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;gap:20px;padding:20px 24px;display:grid}.progress-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:500}.progress-pct{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600}.progress-bar{background:var(--surface2);border-radius:3px;height:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.fill-o{background:var(--phase-o)}.fill-f{background:var(--phase-f)}.fill-e{background:var(--phase-e)}.health-band{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:16px 24px;display:flex}.health-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:500}.health-score-display{min-width:60px;font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600}.health-good{color:var(--ok)}.health-warn{color:var(--accent2)}.health-bad{color:var(--fail)}.health-bar-wrap{background:var(--surface2);border-radius:4px;flex:1;height:8px;overflow:hidden}.health-bar-fill{border-radius:4px;height:100%;transition:width 1s}.kpi-breakdown{padding:20px 24px}.breakdown-tabs{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.breakdown-tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;padding:6px 16px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;transition:all .12s}.breakdown-tab:hover{color:var(--text)}.breakdown-tab.active-o{border-color:var(--phase-o);color:var(--phase-o);background:#6b72801f}.breakdown-tab.active-f{border-color:var(--phase-f);color:var(--phase-f);background:#22c55e1f}.breakdown-tab.active-e{border-color:var(--phase-e);color:var(--phase-e);background:#6b72801f}.kpi-report-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.kpi-report-item{background:var(--surface2);border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;display:flex}.kpi-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kpi-dot-ok{background:#22c55e;box-shadow:0 0 6px #22c55e73}.kpi-dot-fail{background:var(--fail);box-shadow:0 0 6px #e05c5c66}.kpi-dot-na{background:var(--na)}.kpi-dot-blank{background:var(--text-dim);opacity:.4}.kpi-report-num{color:var(--text-dim);min-width:32px;font-family:IBM Plex Mono,monospace;font-size:10px}.kpi-report-label{color:var(--text);flex:1;font-size:12px;line-height:1.3}.kpi-report-val{border-radius:3px;padding:2px 6px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.val-ok{color:#22c55e;background:#22c55e1a;font-weight:700}.val-fail{color:var(--fail);background:#e05c5c14}.val-na{color:var(--na);background:#7a849914}.val-blank{color:var(--text-dim);background:0 0}.card-actions{gap:8px;display:flex}.btn-edit{color:#22c55e;cursor:pointer;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:6px;padding:6px 16px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;transition:all .12s}.btn-edit:hover{background:#22c55e33;border-color:#22c55e;transform:translateY(-1px)}.btn-delete{color:var(--fail);cursor:pointer;opacity:.8;background:#e05c5c0f;border:1px solid #e05c5c33;border-radius:6px;padding:5px 10px;font-family:IBM Plex Mono,monospace;font-size:10px;transition:all .12s}.btn-delete:hover{opacity:1;background:#e05c5c29}.toast{opacity:0;z-index:999;pointer-events:none;border-radius:8px;padding:12px 20px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;bottom:24px;right:24px;transform:translateY(80px)}.toast.show{opacity:1;transform:translateY(0)}.toast.type-green{background:var(--accent);color:#fff}.toast.type-orange{background:var(--accent2);color:#0d0f14}.toast.type-error{background:var(--fail);color:#fff}.loading-overlay{z-index:200;color:var(--text-muted);background:#0d0f14b3;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex;position:fixed;inset:0}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;margin-right:10px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:700px){.form-grid,.form-grid-three,.progress-section{grid-template-columns:1fr}.project-overview{grid-template-columns:1fr 1fr}nav{padding:0 16px}.page-content{padding:20px 16px}}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;padding:16px 20px;display:flex}.filter-group{flex-direction:column;flex:1;gap:5px;min-width:150px;display:flex}.filter-label{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.filter-select{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;outline:none;width:100%;padding:7px 10px;font-family:IBM Plex Sans,sans-serif;font-size:13px;transition:border-color .15s}.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f2652214}.filter-clear{color:var(--fail);cursor:pointer;white-space:nowrap;background:#e05c5c14;border:1px solid #e05c5c40;border-radius:6px;align-self:flex-end;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:all .12s}.filter-clear:hover{background:#e05c5c2e}.filter-count{color:var(--text-dim);white-space:nowrap;align-self:flex-end;margin-left:auto;padding-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.error-banner{color:var(--fail);background:#e05c5c14;border:1px solid #e05c5c4d;border-radius:8px;margin-bottom:24px;padding:16px 20px;font-family:IBM Plex Mono,monospace;font-size:13px}.link{color:var(--accent);cursor:pointer;text-decoration:underline}.link:hover{opacity:.8}@media (max-width:700px){.filter-bar{gap:10px;padding:14px}.filter-group{min-width:130px}.filter-count{margin-left:0}}.mr-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;padding:16px 20px;display:flex}.mr-toolbar-left{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.mr-stats{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mr-stat-pill{background:#f265220f;border:1px solid #f2652233;border-radius:6px;align-items:baseline;gap:6px;padding:6px 14px;display:flex}.mr-stat-n{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:600}.mr-stat-l{color:var(--text-muted);font-size:11px}.pm-list{flex-direction:column;gap:28px;display:flex}.pm-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.pm-header{background:var(--surface2);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.pm-identity{align-items:center;gap:14px;display:flex}.pm-avatar{width:40px;height:40px;color:var(--accent);background:#f2652226;border:1px solid #f265224d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;display:flex}.pm-name{color:var(--text);font-size:15px;font-weight:600}.pm-email{color:var(--text-muted);margin-top:2px;font-size:12px}.pm-stats{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.pm-stat{text-align:center}.pm-stat-val{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:20px;font-weight:600;display:block}.pm-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.btn-email{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:7px;padding:9px 18px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;transition:all .15s}.btn-email:hover{background:#ff8040;transform:translateY(-1px)}.proj-block{border-bottom:1px solid var(--border)}.proj-block:last-child{border-bottom:none}.proj-block-title{color:var(--text);font-size:14px;font-weight:600}.proj-block-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.phase-tag{letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 10px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.meta-tag{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:10px}.open-count{color:var(--fail);background:#e05c5c14;border:1px solid #e05c5c40;border-radius:4px;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.op-list{padding:4px 0}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000080}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:16px;transition:color .12s}.modal-close:hover{color:var(--text)}.modal-meta{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 20px;display:flex}.modal-field{align-items:baseline;gap:10px;display:flex}.modal-field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;min-width:52px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.modal-field-val{color:var(--text);font-size:13px}.modal-body-text{background:var(--surface2);color:var(--text);resize:none;border:none;outline:none;flex:1;padding:16px 20px;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}@media (max-width:700px){.op-row{grid-template-columns:1fr}.op-kpi-info{border-right:none;border-bottom:1px solid var(--border)}.mr-toolbar{flex-direction:column;align-items:stretch}.mr-stats{justify-content:flex-start}.pm-header{flex-direction:column;align-items:flex-start}}.expert-display{background:#f265220f;border:1px solid #f2652233;border-radius:6px;flex-direction:column;gap:4px;min-width:200px;padding:7px 14px;display:flex}.expert-display-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.expert-display-val{color:var(--accent);font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:500}.btn-manage-experts{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-self:flex-end;padding:7px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:all .15s}.btn-manage-experts:hover{color:var(--text);border-color:var(--text-dim)}.op-table-header{background:var(--surface2);border-bottom:1px solid var(--border);grid-template-columns:1fr 130px 1fr;display:grid}.op-th{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;font-size:10px;font-weight:600}.op-th+.op-th{border-left:1px solid var(--border)}.op-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 130px 1fr;gap:0;transition:background .12s;display:grid}.op-row:last-child{border-bottom:none}.op-row:hover{background:#ffffff04}.op-kpi-info{border-right:1px solid var(--border);align-items:flex-start;gap:10px;padding:11px 14px;display:flex}.op-kpi-num{color:var(--text-dim);white-space:nowrap;min-width:38px;padding-top:1px;font-family:IBM Plex Mono,monospace;font-size:10px}.op-kpi-label{color:var(--text);font-size:12px;line-height:1.4}.op-status-cell{border-right:1px solid var(--border);align-items:center;padding:8px 10px;display:flex}.op-status-select{cursor:pointer;border-style:solid;border-width:1px;border-radius:5px;outline:none;width:100%;padding:5px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;transition:all .15s}.op-status-select:focus{box-shadow:0 0 0 2px #f2652226}.op-comment-wrap{align-items:stretch;padding:8px 10px;display:flex}.op-comment{width:100%;color:var(--text);resize:vertical;background:0 0;border:1px solid #0000;border-radius:5px;outline:none;min-height:40px;padding:5px 9px;font-family:IBM Plex Sans,sans-serif;font-size:12px;line-height:1.4;transition:border-color .15s}.op-comment::placeholder{color:var(--text-dim);font-style:italic}.op-comment:focus{border-color:var(--accent);background:#f265220a;box-shadow:0 0 0 2px #f2652214}.safety-status-wrap{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.safety-status-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.safety-status-pills{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.safety-pill{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;padding:4px 11px;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:500;transition:all .12s}.safety-pill:hover{border-color:var(--text-dim);color:var(--text)}.safety-pill.active{font-weight:600}.proj-block-header{border-bottom:1px solid var(--border);background:#ffffff03;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 20px;display:flex}@media (max-width:700px){.op-row,.op-table-header{grid-template-columns:1fr}.op-status-cell{border-right:none;border-bottom:1px solid var(--border)}.op-kpi-info{border-right:none}.safety-status-wrap{align-items:flex-start}.safety-status-pills{justify-content:flex-start}}.modal-box-wide{max-width:760px!important}.email-preview-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#f4f4f4;flex:1;min-height:480px;max-height:60vh;overflow:hidden}.email-preview-frame{border:none;width:100%;height:100%;min-height:480px;display:block}.login-bg{background:#0d0f14;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-grid{pointer-events:none;opacity:.45;background-image:radial-gradient(circle,#2a3040 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.login-card{z-index:1;background:#161a22;border:1px solid #2a3040;border-radius:14px;width:100%;max-width:420px;padding:40px 44px;position:relative;box-shadow:0 24px 64px #00000073}.login-brand{margin-bottom:32px}.login-logo-text{color:#f26522;letter-spacing:-1px;font-size:32px;font-weight:900;line-height:1}.login-brand-sub{color:#4a5570;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:11px}.login-title{color:#e8ecf4;margin:0 0 6px;font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:600}.login-subtitle{color:#7a8499;margin:0 0 24px;font-size:13px;line-height:1.5}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:#7a8499;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.login-field input{color:#e8ecf4;background:#1e2330;border:1px solid #2a3040;border-radius:7px;outline:none;width:100%;padding:10px 14px;font-family:IBM Plex Sans,sans-serif;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:#f26522;box-shadow:0 0 0 3px #f265221f}.login-field input::placeholder{color:#4a5570}.login-btn{color:#fff;letter-spacing:.04em;cursor:pointer;background:#f26522;border:none;border-radius:7px;margin-top:4px;padding:12px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;transition:all .15s}.login-btn:hover:not(:disabled){background:#ff8040;transform:translateY(-1px)}.login-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-error{color:#e05c5c;background:#e05c5c1a;border:1px solid #e05c5c4d;border-radius:6px;padding:10px 14px;font-size:13px;line-height:1.4}.login-success{color:#f26522;background:#f2652214;border:1px solid #f2652240;border-radius:6px;margin-top:8px;padding:14px 16px;font-size:13px;line-height:1.4}.login-link{cursor:pointer;color:#7a8499;text-align:center;background:0 0;border:none;margin-top:16px;padding:0;font-family:IBM Plex Sans,sans-serif;font-size:12px;transition:color .12s;display:block}.login-link:hover{color:#e8ecf4}.nav-user{border-left:1px solid var(--border);align-items:center;gap:10px;margin-left:16px;padding-left:16px;display:flex}.nav-user-info{text-align:right}.nav-user-name{color:var(--text);font-size:12px;font-weight:600;line-height:1.2}.nav-user-email{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:10px}.nav-signout{color:#e05c5c;cursor:pointer;background:#e05c5c14;border:1px solid #e05c5c33;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;transition:all .12s;display:flex}.nav-signout:hover{background:#e05c5c2e;border-color:#e05c5c66}@media (max-width:700px){.login-card{padding:28px 20px}.nav-user-info{display:none}}.param-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:24px;padding-bottom:0;display:flex}.param-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:7px;margin-bottom:-1px;padding:9px 16px;font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:500;transition:all .15s;display:flex;position:relative}.param-tab:hover{color:var(--text);background:var(--surface2)}.param-tab.active{color:var(--accent);background:var(--surface);border-color:var(--border);border-bottom-color:var(--surface)}.param-tab-count{background:var(--surface2);min-width:18px;height:18px;color:var(--text-dim);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;display:inline-flex}.param-tab.active .param-tab-count{color:var(--accent);background:#f265221f}.param-content{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;padding:24px}.param-table-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.param-table-title{color:var(--text);align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;display:flex}.param-table-count{color:var(--text-dim);font-size:11px;font-weight:400}.btn-add-row{color:var(--accent);cursor:pointer;background:#f2652214;border:1px solid #f2652240;border-radius:6px;padding:6px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;transition:all .12s}.btn-add-row:hover{border-color:var(--accent);background:#f2652229}.param-table{border-collapse:collapse;width:100%;font-size:13px}.param-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:var(--surface2);padding:8px 12px;font-size:10px;font-weight:600}.param-table th:first-child{border-radius:6px 0 0}.param-table th:last-child{border-radius:0 6px 0 0}.param-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:8px 12px}.param-table tr:last-child td{border-bottom:none}.param-table tr:hover td{background:#ffffff04}.param-table tr.param-row-editing td{background:#f265220a}.param-table tr.param-row-new td{background:#f265220f}.param-table input[type=text],.param-table input[type=email]{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:5px;outline:none;width:100%;padding:6px 10px;font-family:IBM Plex Sans,sans-serif;font-size:13px;transition:border-color .15s}.param-table input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #f2652214}.param-row-actions{gap:6px;display:flex}.btn-row-edit{width:28px;height:28px;color:var(--accent);cursor:pointer;background:#f2652214;border:1px solid #f2652233;border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.btn-row-edit:hover{background:#f265222e}.btn-row-save{width:28px;height:28px;color:var(--accent);cursor:pointer;background:#f265221f;border:1px solid #f265224d;border-radius:5px;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .12s;display:flex}.btn-row-save:hover:not(:disabled){background:#f2652238}.btn-row-save:disabled{opacity:.4;cursor:not-allowed}.btn-row-cancel,.btn-row-delete{width:28px;height:28px;color:var(--fail);cursor:pointer;background:#e05c5c14;border:1px solid #e05c5c33;border-radius:5px;justify-content:center;align-items:center;font-size:13px;transition:all .12s;display:flex}.btn-row-cancel:hover,.btn-row-delete:hover{background:#e05c5c2e}.param-empty{text-align:center;color:var(--text-dim);padding:24px;font-family:IBM Plex Mono,monospace;font-size:12px}.dash-stats-row{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:24px;display:grid}.dash-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;padding:16px;transition:border-color .2s;display:flex}.dash-stat:hover{border-color:#3a4050}.dash-stat-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.dash-stat-val{font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:700;line-height:1}.dash-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-size:11px;font-weight:500}.dash-stat-sub{color:var(--text-dim);margin-top:2px;font-size:10px}.dash-row{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.dash-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;overflow:hidden}.dash-chart-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:14px 18px 0;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.dash-chart-body{justify-content:center;align-items:center;height:240px;padding:14px 18px 18px;display:flex;position:relative}.dash-chart-body canvas{max-height:210px!important}.dash-table{border-collapse:collapse;width:100%;font-size:12px}.dash-table th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border);background:var(--surface2);white-space:nowrap;padding:8px 12px;font-size:10px;font-weight:600}.dash-table td{border-bottom:1px solid var(--border);color:var(--text-muted);vertical-align:middle;padding:9px 12px}.dash-table tr:last-child td{border-bottom:none}.dash-table tbody tr:hover td{background:#ffffff05}@media (max-width:900px){.dash-row{flex-direction:column}.dash-stats-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.dash-stats-row{grid-template-columns:1fr 1fr}}.phase-section-active{transition:border-color .2s,box-shadow .2s;position:relative}.phase-section-o{box-shadow:0 0 0 3px #f265221a,inset 0 0 #0000;border-color:var(--accent)!important}.phase-section-f{box-shadow:0 0 0 3px #22c55e1f;border-color:var(--phase-f)!important}.phase-section-e{box-shadow:0 0 0 3px #6b728026;border-color:var(--phase-e)!important}.phase-active-tag{color:var(--accent);letter-spacing:.04em;text-transform:none;opacity:.85;margin-left:8px;font-family:IBM Plex Sans,sans-serif;font-size:10px;font-weight:600}.phase-active-tag-f{color:var(--phase-f)}.phase-active-tag-e{color:var(--phase-e)}[data-theme=light]{--bg:#f4f5f7;--surface:#fff;--surface2:#f0f2f5;--border:#d1d5db;--text:#111827;--text-muted:#4b5563;--text-dim:#9ca3af}[data-theme=light] body{background:var(--bg);color:var(--text)}[data-theme=light] nav{border-bottom-color:var(--border);background:#fffffff5}[data-theme=light] .nav-tab{color:var(--text-muted)}[data-theme=light] .nav-tab:hover{background:var(--surface2);color:var(--text)}[data-theme=light] .nav-user-name{color:var(--text)}[data-theme=light] .nav-user-email{color:var(--text-dim)}[data-theme=light] input[type=text],[data-theme=light] input[type=email],[data-theme=light] input[type=date],[data-theme=light] input[type=password],[data-theme=light] select,[data-theme=light] textarea{color:#111827!important;background:#fff!important;border-color:#d1d5db!important}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#9ca3af!important}[data-theme=light] select option{color:#111827;background:#fff}[data-theme=light] .form-section{background:#fff;border-color:#e5e7eb}[data-theme=light] .form-section-title,[data-theme=light] .form-group label{color:#374151}[data-theme=light] .kpi-btn.active-yes{color:#14532d!important;background:#22c55e2e!important;border-color:#16a34a!important;font-weight:700!important}[data-theme=light] .kpi-btn.active-no{color:#991b1b!important;background:#dc26261f!important;border-color:#dc2626!important;font-weight:700!important}[data-theme=light] .kpi-btn.active-na{color:#1f2937!important;background:#6b728026!important;border-color:#6b7280!important;font-weight:700!important}[data-theme=light] .kpi-label{color:#374151}[data-theme=light] .kpi-item{background:#f9fafb;border-color:#e5e7eb}[data-theme=light] .edit-banner{color:#374151;background:#f5a62314;border-color:#f5a6234d}[data-theme=light] .op-status-select{color:#374151!important;background:#f9fafb!important;border-color:#d1d5db!important}[data-theme=light] .kpi-item{background:#f9fafb}[data-theme=light] .kpi-btn:not(.active-yes):not(.active-no):not(.active-na){color:#6b7280!important;background:#fff!important;border-color:#d1d5db!important}[data-theme=light] .project-card,[data-theme=light] .project-header,[data-theme=light] .overview-cell{background:#fff}[data-theme=light] .progress-bar,[data-theme=light] .health-bar-wrap{background:#e5e7eb}[data-theme=light] .kpi-report-item{background:#f9fafb}[data-theme=light] .health-band,[data-theme=light] .kpi-breakdown{background:#fff}[data-theme=light] .project-name,[data-theme=light] .overview-value{color:#111827}[data-theme=light] .filter-bar,[data-theme=light] .form-section,[data-theme=light] .pm-section,[data-theme=light] .proj-block,[data-theme=light] .pm-header,[data-theme=light] .dash-chart-card,[data-theme=light] .dash-stat,[data-theme=light] .param-table-wrap,[data-theme=light] .param-content{border-color:var(--border);background:#fff}[data-theme=light] .param-table th{color:#374151;background:#f3f4f6}[data-theme=light] .param-table td{color:#374151;border-color:#e5e7eb}[data-theme=light] .dash-table th{color:#374151;background:#f3f4f6}[data-theme=light] .dash-table td{color:#6b7280;border-color:#e5e7eb}[data-theme=light] .op-row:hover{background:#fafafa}[data-theme=light] .op-kpi-label,[data-theme=light] .op-comment{color:#111827}[data-theme=light] .op-table-header{background:#f3f4f6}[data-theme=light] .op-th{color:#374151}[data-theme=light] .modal-box{background:#fff}[data-theme=light] .modal-body-text{color:#111827;background:#f9fafb}[data-theme=light] .modal-meta{background:#fff}[data-theme=light] .login-bg{background:#f4f5f7}[data-theme=light] .login-card{background:#fff;border-color:#d1d5db}[data-theme=light] .page-title{color:#111827}[data-theme=light] .page-subtitle{color:#6b7280}[data-theme=light] .mr-stat-pill{background:#fff7ed;border-color:#f2652233}.nav-theme-toggle{background:var(--surface2);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin-right:4px;font-size:15px;transition:all .12s;display:flex}.nav-theme-toggle:hover{color:var(--text);border-color:var(--text-dim)}@keyframes cardFlash{0%{border-color:var(--border);box-shadow:0 0 #f2652200}20%{border-color:var(--accent);box-shadow:0 0 0 6px #f2652259}60%{border-color:var(--accent);box-shadow:0 0 0 4px #f2652233}to{border-color:var(--border);box-shadow:0 0 #f2652200}}.card-highlight .project-card{animation:3s ease-out forwards cardFlash}.safety-issue-input-wrap{width:100%;min-width:260px;margin-top:8px}.safety-issue-input{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:6px;outline:none;padding:8px 10px;font-family:IBM Plex Sans,sans-serif;font-size:12px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.safety-issue-input::placeholder{color:var(--text-dim);font-style:italic}.safety-issue-input:focus{box-shadow:0 0 0 2px #f265221a}[data-theme=light] .safety-issue-input{color:#111827;border-color:var(--border);background:#fff}.spec-layout{grid-template-columns:300px 1fr;align-items:start;gap:24px;display:grid}.spec-sidebar{flex-direction:column;gap:16px;display:flex;position:sticky;top:80px}.spec-meta-card,.spec-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px}.spec-meta-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.spec-meta-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.spec-meta-field label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.spec-meta-field input{font-size:13px}.spec-summary-row{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.spec-summary-n{font-family:IBM Plex Mono,monospace;font-size:28px;font-weight:700}.spec-summary-l{color:var(--text-muted);font-size:12px}.spec-summary-bar{background:var(--surface2);border-radius:3px;height:6px;margin-bottom:12px;overflow:hidden}.spec-summary-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .4s}.spec-quick-actions{gap:8px;display:flex}.spec-quick-actions .btn-secondary{flex:1;padding:6px 8px;font-size:11px}.spec-generate-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;transition:all .15s;display:flex}.spec-generate-btn:hover:not(:disabled){background:#ff8040;transform:translateY(-1px)}.spec-generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spec-main{flex-direction:column;gap:16px;display:flex}.spec-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.spec-section-header{background:var(--accent);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.spec-section-title{color:#fff;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.spec-section-actions{align-items:center;gap:10px;display:flex}.spec-count{color:#ffffffbf;font-family:IBM Plex Mono,monospace;font-size:11px}.spec-toggle-all{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:5px;padding:4px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:all .12s}.spec-toggle-all:hover{background:#ffffff40}.spec-subsection{border-bottom:1px solid var(--border);padding:14px 18px}.spec-subsection:last-child{border-bottom:none}.spec-subsection-title{color:var(--text);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;display:flex}.spec-subsection-intro{color:var(--text-dim);cursor:help;background:var(--surface2);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;display:inline-flex}.spec-req-list{flex-direction:column;gap:6px;display:flex}.spec-req-row{border:1px solid var(--border);border-radius:6px;transition:border-color .12s;overflow:hidden}.spec-req-row.selected{background:#f2652208;border-color:#f2652266}.spec-req-top{justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.spec-preview-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:10px;transition:all .12s}.spec-preview-btn:hover{background:var(--surface2);color:var(--text)}.spec-req-preview{background:var(--surface2);border-top:1px solid var(--border);color:var(--text-muted);padding:10px 14px;font-size:11px;line-height:1.6}.spec-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.spec-checkbox input[type=checkbox]{display:none}.spec-check-box{border:2px solid var(--border);color:#fff;background:var(--surface2);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;transition:all .12s;display:flex}.spec-check-box.checked{background:var(--accent);border-color:var(--accent)}.spec-checkbox:hover .spec-check-box{border-color:var(--accent)}.spec-check-label{color:var(--text);font-size:13px;line-height:1.3}.spec-check-label.sub{color:var(--text-muted);font-size:12px}[data-theme=light] .spec-meta-card,[data-theme=light] .spec-summary-card,[data-theme=light] .spec-section,[data-theme=light] .spec-req-row{background:#fff;border-color:#e5e7eb}[data-theme=light] .spec-req-row.selected{background:#fff7ed}[data-theme=light] .spec-req-preview{background:#f9fafb}[data-theme=light] .spec-check-box{background:#f3f4f6;border-color:#d1d5db}@media (max-width:900px){.spec-layout{grid-template-columns:1fr}.spec-sidebar{position:static}}.spec-checklist-items{background:var(--surface2);border-top:1px solid var(--border);flex-direction:column;gap:5px;padding:10px 12px 12px;display:flex}.spec-checklist-items p{color:var(--text-muted);margin:0 0 8px;font-size:11px;font-style:italic}.spec-checklist-items .spec-checkbox{padding:3px 0}.spec-checklist-items .spec-check-label.sub{font-size:12px;line-height:1.4}[data-theme=light] .spec-checklist-items{background:#f9fafb}
