@import url("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}body,html{font-family:IBM Plex Sans,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}nav{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(13,15,20,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 32px;height:56px}.nav-logo,nav{display:flex;align-items:center}.nav-logo{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;color:var(--accent);letter-spacing:.08em;margin-right:auto;gap:0}.nav-logo span{color:var(--text-muted)}.nav-etex-logo{height:28px;width:auto;vertical-align:middle;margin-right:2px;mix-blend-mode:screen}.nav-divider{color:var(--border);margin:0 10px;font-weight:300;font-size:16px}.nav-tabs{display:flex;gap:2px}.nav-tab{padding:8px 20px;font-size:13px;font-weight:500;color:var(--text-muted);border:none;background:transparent;cursor:pointer;border-radius:6px;transition:all .15s;letter-spacing:.03em;font-family:IBM Plex Sans,sans-serif}.nav-tab:hover{color:var(--text);background:var(--surface2)}.nav-tab.active{color:var(--accent);background:rgba(242,101,34,.08)}.page-content{padding:32px;max-width:1100px;margin:0 auto}.page-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}.page-title{font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:600;color:var(--text)}.page-title .hi{color:var(--accent)}.page-subtitle{font-size:13px;color:var(--text-muted);margin-top:3px}.edit-banner{background:rgba(245,166,35,.08);border:1px solid rgba(245,166,35,.3);border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:13px;color:var(--accent2);font-family:IBM Plex Mono,monospace}.edit-dot{width:8px;height:8px;border-radius:50%;background:var(--accent2);animation:pulse 1.4s infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:20px}.form-section-title{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:8px}.form-section-title:after{content:"";flex:1 1;height:1px;background:var(--border)}.phase-badge{display:inline-block;padding:2px 10px;border-radius:3px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-left:8px}.phase-o{background:hsla(220,9%,46%,.12);color:var(--phase-o);border:1px solid hsla(220,9%,46%,.3)}.phase-f{background:rgba(34,197,94,.12);color:var(--phase-f);border:1px solid rgba(34,197,94,.3)}.phase-e{background:hsla(220,9%,46%,.12);color:var(--phase-e);border:1px solid hsla(220,9%,46%,.3)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.form-grid-three{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:14px;gap:14px}.form-group,.form-group-full{display:flex;flex-direction:column;gap:6px}.form-group-full{grid-column:1/-1}label{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}input[type=date],input[type=email],input[type=text],select,textarea{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:IBM Plex Sans,sans-serif;font-size:14px;padding:9px 12px;transition:border-color .15s;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,101,34,.08)}select option{background:var(--surface2)}textarea{resize:vertical;min-height:70px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:10px;gap:10px}.kpi-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;align-items:flex-start;gap:12px}.kpi-num{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--text-dim);min-width:36px;padding-top:2px}.kpi-label{flex:1 1;font-size:12px;color:var(--text);line-height:1.4}.kpi-controls{display:flex;gap:4px}.kpi-btn{width:28px;height:28px;border-radius:5px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;font-family:IBM Plex Sans,sans-serif}.kpi-btn:hover{border-color:var(--accent);color:var(--accent)}.kpi-btn.active-yes{background:rgba(242,101,34,.15);border-color:var(--ok);color:var(--ok)}.kpi-btn.active-no{background:rgba(224,92,92,.15);border-color:var(--fail);color:var(--fail)}.kpi-btn.active-na{background:rgba(122,132,153,.15);border-color:var(--na);color:var(--na)}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:7px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;letter-spacing:.05em;padding:12px 32px;cursor:pointer;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{background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:7px;font-family:IBM Plex Mono,monospace;font-size:13px;padding:12px 24px;cursor:pointer;transition:all .15s}.btn-secondary:hover{color:var(--text);border-color:var(--text-dim)}.btn-cancel{background:rgba(224,92,92,.1);color:var(--fail);border:1px solid rgba(224,92,92,.3);border-radius:7px;font-family:IBM Plex Mono,monospace;font-size:13px;padding:12px 20px;cursor:pointer;transition:all .15s}.btn-cancel:hover{background:rgba(224,92,92,.2)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.report-empty{text-align:center;padding:80px 32px;color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:13px}.report-empty .big{font-size:40px;margin-bottom:12px;opacity:.3}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:24px;transition:border-color .2s}.project-card:hover{border-color:#3a4050}.project-header{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.project-name{font-size:18px;font-weight:600;color:var(--text);flex:1 1;min-width:200px}.project-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.meta-chip{border-radius:4px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted)}.meta-chip,.status-chip{padding:3px 10px;font-family:IBM Plex Mono,monospace;font-size:11px}.status-chip{border-radius:4px;font-weight:600}.status-ongoing{background:rgba(242,101,34,.1);color:var(--ok);border:1px solid rgba(242,101,34,.3)}.status-finished{background:hsla(220,9%,46%,.1);color:var(--phase-o);border:1px solid hsla(220,9%,46%,.3)}.status-stop{background:rgba(224,92,92,.1);color:var(--fail);border:1px solid rgba(224,92,92,.3)}.status-standby{background:rgba(245,166,35,.1);color:var(--accent2);border:1px solid rgba(245,166,35,.3)}.project-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1px;gap:1px;background:var(--border);border-bottom:1px solid var(--border)}.overview-cell{background:var(--surface);padding:14px 16px}.overview-label{font-size:10px;font-weight:500;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.overview-value{font-size:14px;color:var(--text);font-weight:500}.progress-section{padding:20px 24px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:20px;gap:20px}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label{font-size:11px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-weight:500}.progress-pct{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600}.progress-bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.progress-fill{height:100%;border-radius:3px;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{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:20px}.health-label{font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.health-score-display{font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600;min-width:60px}.health-good{color:var(--ok)}.health-warn{color:var(--accent2)}.health-bad{color:var(--fail)}.health-bar-wrap{flex:1 1;height:8px;background:var(--surface2);border-radius:4px;overflow:hidden}.health-bar-fill{height:100%;border-radius:4px;transition:width 1s}.kpi-breakdown{padding:20px 24px}.breakdown-tabs{display:flex;gap:4px;margin-bottom:16px;flex-wrap:wrap}.breakdown-tab{padding:6px 16px;font-size:12px;font-weight:500;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .12s;font-family:IBM Plex Mono,monospace}.breakdown-tab:hover{color:var(--text)}.breakdown-tab.active-o{background:hsla(220,9%,46%,.12);border-color:var(--phase-o);color:var(--phase-o)}.breakdown-tab.active-f{background:rgba(34,197,94,.12);border-color:var(--phase-f);color:var(--phase-f)}.breakdown-tab.active-e{background:hsla(220,9%,46%,.12);border-color:var(--phase-e);color:var(--phase-e)}.kpi-report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:8px;gap:8px}.kpi-report-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;background:var(--surface2);border:1px solid var(--border)}.kpi-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kpi-dot-ok{background:#22c55e;box-shadow:0 0 6px rgba(34,197,94,.45)}.kpi-dot-fail{background:var(--fail);box-shadow:0 0 6px rgba(224,92,92,.4)}.kpi-dot-na{background:var(--na)}.kpi-dot-blank{background:var(--text-dim);opacity:.4}.kpi-report-num{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--text-dim);min-width:32px}.kpi-report-label{font-size:12px;color:var(--text);flex:1 1;line-height:1.3}.kpi-report-val{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px}.val-ok{color:#22c55e;background:rgba(34,197,94,.1);font-weight:700}.val-fail{color:var(--fail);background:rgba(224,92,92,.08)}.val-na{color:var(--na);background:rgba(122,132,153,.08)}.val-blank{color:var(--text-dim);background:transparent}.card-actions{display:flex;gap:8px}.btn-edit{background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.3);border-radius:6px;font-size:12px;font-weight:700;padding:6px 16px;cursor:pointer;transition:all .12s;font-family:IBM Plex Mono,monospace}.btn-edit:hover{background:rgba(34,197,94,.2);border-color:#22c55e;transform:translateY(-1px)}.btn-delete{background:rgba(224,92,92,.06);color:var(--fail);border:1px solid rgba(224,92,92,.2);border-radius:6px;font-size:10px;padding:5px 10px;cursor:pointer;transition:all .12s;font-family:IBM Plex Mono,monospace;opacity:.8}.btn-delete:hover{background:rgba(224,92,92,.16);opacity:1}.toast{position:fixed;bottom:24px;right:24px;padding:12px 20px;border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;transform:translateY(80px);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:999;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}.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{position:fixed;inset:0;background:rgba(13,15,20,.7);display:flex;align-items:center;justify-content:center;z-index:200;font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--text-muted)}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin-right:10px}@keyframes spin{to{transform:rotate(1turn)}}@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{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:150px;flex:1 1}.filter-label{font-size:10px;font-weight:600;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.filter-select{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:IBM Plex Sans,sans-serif;font-size:13px;padding:7px 10px;outline:none;cursor:pointer;transition:border-color .15s;width:100%}.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,101,34,.08)}.filter-clear{background:rgba(224,92,92,.08);color:var(--fail);border:1px solid rgba(224,92,92,.25);border-radius:6px;font-family:IBM Plex Mono,monospace;font-size:11px;padding:7px 14px;cursor:pointer;transition:all .12s;white-space:nowrap;align-self:flex-end}.filter-clear:hover{background:rgba(224,92,92,.18)}.filter-count{font-size:11px;color:var(--text-dim);align-self:flex-end;padding-bottom:8px;white-space:nowrap;margin-left:auto}.error-banner,.filter-count{font-family:IBM Plex Mono,monospace}.error-banner{background:rgba(224,92,92,.08);border:1px solid rgba(224,92,92,.3);border-radius:8px;padding:16px 20px;color:var(--fail);font-size:13px;margin-bottom:24px}.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{justify-content:space-between;gap:16px;margin-bottom:28px;padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.mr-toolbar,.mr-toolbar-left{display:flex;align-items:flex-end;flex-wrap:wrap}.mr-toolbar-left{gap:14px}.mr-stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mr-stat-pill{display:flex;align-items:baseline;gap:6px;padding:6px 14px;border-radius:6px;background:rgba(242,101,34,.06);border:1px solid rgba(242,101,34,.2)}.mr-stat-n{font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:600;color:var(--accent)}.mr-stat-l{font-size:11px;color:var(--text-muted)}.pm-list{display:flex;flex-direction:column;gap:28px}.pm-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.pm-header{justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 24px;background:var(--surface2);border-bottom:1px solid var(--border)}.pm-header,.pm-identity{display:flex;align-items:center}.pm-identity{gap:14px}.pm-avatar{width:40px;height:40px;border-radius:50%;background:rgba(242,101,34,.15);border:1px solid rgba(242,101,34,.3);color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pm-name{font-size:15px;font-weight:600;color:var(--text)}.pm-email{font-size:12px;color:var(--text-muted);margin-top:2px}.pm-stats{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.pm-stat{text-align:center}.pm-stat-val{display:block;font-family:IBM Plex Mono,monospace;font-size:20px;font-weight:600;color:var(--text)}.pm-stat-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.btn-email{background:var(--accent);color:#fff;border:none;border-radius:7px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;padding:9px 18px;cursor:pointer;transition:all .15s;white-space:nowrap}.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-header{align-items:center;gap:12px;padding:14px 24px}.proj-block-title{font-size:14px;font-weight:600;color:var(--text)}.proj-block-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.phase-tag{padding:2px 10px;border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.meta-tag{border-radius:4px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted)}.meta-tag,.open-count{padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:10px}.open-count{font-weight:600;color:var(--fail);border-radius:4px;background:rgba(224,92,92,.08);border:1px solid rgba(224,92,92,.25)}.op-list{padding:4px 0}.op-row{grid-template-columns:1fr 1fr}.op-kpi-info{padding:12px 24px}.op-comment-wrap{padding:8px 16px}.op-comment{min-height:44px;padding:6px 10px}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.5)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-title{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:600;color:var(--text)}.modal-close{background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .12s}.modal-close:hover{color:var(--text)}.modal-meta{padding:12px 20px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.modal-field{display:flex;gap:10px;align-items:baseline}.modal-field-label{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;min-width:52px}.modal-field-val{font-size:13px;color:var(--text)}.modal-body-text{flex:1 1;background:var(--surface2);border:none;outline:none;color:var(--text);font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.6;padding:16px 20px;resize:none;overflow-y:auto}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border)}@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{display:flex;flex-direction:column;gap:4px;padding:7px 14px;background:rgba(242,101,34,.06);border:1px solid rgba(242,101,34,.2);border-radius:6px;min-width:200px}.expert-display-label{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.expert-display-val{font-size:14px;font-weight:500;color:var(--accent);font-family:IBM Plex Sans,sans-serif}.btn-manage-experts{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:12px;padding:7px 14px;cursor:pointer;transition:all .15s;white-space:nowrap;align-self:flex-end;font-family:IBM Plex Mono,monospace}.btn-manage-experts:hover{color:var(--text);border-color:var(--text-dim)}.op-table-header{display:grid;grid-template-columns:1fr 130px 1fr;background:var(--surface2);border-bottom:1px solid var(--border)}.op-th{padding:7px 14px;font-size:10px;font-weight:600;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.op-th+.op-th{border-left:1px solid var(--border)}.op-row{display:grid;grid-template-columns:1fr 130px 1fr;grid-gap:0;gap:0;border-bottom:1px solid var(--border);transition:background .12s}.op-row:last-child{border-bottom:none}.op-row:hover{background:hsla(0,0%,100%,.015)}.op-kpi-info{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-right:1px solid var(--border)}.op-kpi-num{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--text-dim);white-space:nowrap;padding-top:1px;min-width:38px}.op-kpi-label{font-size:12px;color:var(--text);line-height:1.4}.op-status-cell{display:flex;align-items:center;padding:8px 10px;border-right:1px solid var(--border)}.op-status-select{width:100%;border-radius:5px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;padding:5px 8px;cursor:pointer;outline:none;transition:all .15s;border-width:1px;border-style:solid}.op-status-select:focus{box-shadow:0 0 0 2px rgba(242,101,34,.15)}.op-comment-wrap{padding:8px 10px;display:flex;align-items:stretch}.op-comment{width:100%;background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text);font-family:IBM Plex Sans,sans-serif;font-size:12px;resize:vertical;min-height:40px;padding:5px 9px;transition:border-color .15s;outline:none;line-height:1.4}.op-comment::placeholder{color:var(--text-dim);font-style:italic}.op-comment:focus{border-color:var(--accent);background:rgba(242,101,34,.04);box-shadow:0 0 0 2px rgba(242,101,34,.08)}.safety-status-wrap{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.safety-status-label{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em}.safety-status-pills{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.safety-pill{padding:4px 11px;border-radius:5px;font-size:11px;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .12s;font-family:IBM Plex Sans,sans-serif;white-space:nowrap}.safety-pill:hover{border-color:var(--text-dim);color:var(--text)}.safety-pill.active{font-weight:600}.proj-block-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid var(--border);background:hsla(0,0%,100%,.01)}@media (max-width:700px){.op-row,.op-table-header{grid-template-columns:1fr}.op-status-cell{border-bottom:1px solid var(--border)}.op-kpi-info,.op-status-cell{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{flex:1 1;overflow:hidden;background:#f4f4f4;border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-height:480px;max-height:60vh}.email-preview-frame{width:100%;height:100%;min-height:480px;border:none;display:block}.login-bg{min-height:100vh;background:#0d0f14;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:24px}.login-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#2a3040 1px,transparent 0);background-size:32px 32px;opacity:.45}.login-card{position:relative;z-index:1;background:#161a22;border:1px solid #2a3040;border-radius:14px;padding:40px 44px;width:100%;max-width:420px;box-shadow:0 24px 64px rgba(0,0,0,.45)}.login-brand{margin-bottom:32px}.login-logo-text{font-size:32px;font-weight:900;color:#f26522;letter-spacing:-1px;line-height:1}.login-brand-sub{font-size:11px;color:#4a5570;letter-spacing:.1em;text-transform:uppercase;margin-top:4px}.login-brand-sub,.login-title{font-family:IBM Plex Mono,monospace}.login-title{font-size:18px;font-weight:600;color:#e8ecf4;margin:0 0 6px}.login-subtitle{font-size:13px;color:#7a8499;margin:0 0 24px;line-height:1.5}.login-form{gap:16px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field label{font-size:11px;font-weight:600;color:#7a8499;text-transform:uppercase;letter-spacing:.06em}.login-field input{background:#1e2330;border:1px solid #2a3040;border-radius:7px;color:#e8ecf4;font-family:IBM Plex Sans,sans-serif;font-size:14px;padding:10px 14px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.login-field input:focus{border-color:#f26522;box-shadow:0 0 0 3px rgba(242,101,34,.12)}.login-field input::placeholder{color:#4a5570}.login-btn{margin-top:4px;background:#f26522;color:#fff;border:none;border-radius:7px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;letter-spacing:.04em;padding:12px;cursor:pointer;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{background:rgba(224,92,92,.1);border:1px solid rgba(224,92,92,.3);border-radius:6px;padding:10px 14px;color:#e05c5c}.login-error,.login-success{font-size:13px;line-height:1.4}.login-success{background:rgba(242,101,34,.08);border:1px solid rgba(242,101,34,.25);border-radius:6px;padding:14px 16px;color:#f26522;margin-top:8px}.login-link{background:transparent;border:none;cursor:pointer;font-size:12px;color:#7a8499;margin-top:16px;display:block;text-align:center;transition:color .12s;padding:0;font-family:IBM Plex Sans,sans-serif}.login-link:hover{color:#e8ecf4}.nav-user{display:flex;align-items:center;gap:10px;margin-left:16px;padding-left:16px;border-left:1px solid var(--border)}.nav-user-info{text-align:right}.nav-user-name{font-size:12px;font-weight:600;color:var(--text);line-height:1.2}.nav-user-email{font-size:10px;color:var(--text-dim);font-family:IBM Plex Mono,monospace}.nav-signout{width:32px;height:32px;border-radius:6px;background:rgba(224,92,92,.08);border:1px solid rgba(224,92,92,.2);color:#e05c5c;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.nav-signout:hover{background:rgba(224,92,92,.18);border-color:rgba(224,92,92,.4)}@media (max-width:700px){.login-card{padding:28px 20px}.nav-user-info{display:none}}.param-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:0}.param-tab{display:flex;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;cursor:pointer;transition:all .15s;font-family:IBM Plex Sans,sans-serif;margin-bottom:-1px;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{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:var(--surface2);color:var(--text-dim);font-size:10px;font-family:IBM Plex Mono,monospace;font-weight:600;padding:0 5px}.param-tab.active .param-tab-count{background:rgba(242,101,34,.12);color:var(--accent)}.param-content{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;padding:24px}.param-table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.param-table-title{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.param-table-count{font-size:11px;color:var(--text-dim);font-weight:400}.btn-add-row{background:rgba(242,101,34,.08);color:var(--accent);border:1px solid rgba(242,101,34,.25);border-radius:6px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;padding:6px 14px;cursor:pointer;transition:all .12s}.btn-add-row:hover{background:rgba(242,101,34,.16);border-color:var(--accent)}.param-table{width:100%;border-collapse:collapse;font-size:13px}.param-table th{text-align:left;padding:8px 12px;font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:var(--surface2)}.param-table th:first-child{border-radius:6px 0 0 0}.param-table th:last-child{border-radius:0 6px 0 0}.param-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.param-table tr:last-child td{border-bottom:none}.param-table tr:hover td{background:hsla(0,0%,100%,.015)}.param-table tr.param-row-editing td{background:rgba(242,101,34,.04)}.param-table tr.param-row-new td{background:rgba(242,101,34,.06)}.param-table input[type=email],.param-table input[type=text]{background:var(--surface2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:IBM Plex Sans,sans-serif;font-size:13px;padding:6px 10px;width:100%;outline:none;transition:border-color .15s}.param-table input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(242,101,34,.08)}.param-row-actions{display:flex;gap:6px}.btn-row-edit{width:28px;height:28px;border-radius:5px;background:rgba(242,101,34,.08);color:var(--accent);border:1px solid rgba(242,101,34,.2);font-size:13px;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center}.btn-row-edit:hover{background:rgba(242,101,34,.18)}.btn-row-save{width:28px;height:28px;border-radius:5px;background:rgba(242,101,34,.12);color:var(--accent);border:1px solid rgba(242,101,34,.3);font-size:14px;font-weight:700;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center}.btn-row-save:hover:not(:disabled){background:rgba(242,101,34,.22)}.btn-row-save:disabled{opacity:.4;cursor:not-allowed}.btn-row-cancel,.btn-row-delete{width:28px;height:28px;border-radius:5px;background:rgba(224,92,92,.08);color:var(--fail);border:1px solid rgba(224,92,92,.2);font-size:13px;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center}.btn-row-cancel:hover,.btn-row-delete:hover{background:rgba(224,92,92,.18)}.param-empty{text-align:center;color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:12px;padding:24px}.dash-stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:14px;gap:14px;margin-bottom:24px}.dash-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;align-items:center;gap:14px;transition:border-color .2s}.dash-stat:hover{border-color:#3a4050}.dash-stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.dash-stat-val{font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:700;line-height:1}.dash-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;font-weight:500}.dash-stat-sub{font-size:10px;color:var(--text-dim);margin-top:2px}.dash-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.dash-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:16px}.dash-chart-title{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;padding:14px 18px 0}.dash-chart-body{padding:14px 18px 18px;position:relative;height:240px;display:flex;align-items:center;justify-content:center}.dash-chart-body canvas{max-height:210px!important}.dash-table{width:100%;border-collapse:collapse;font-size:12px}.dash-table th{padding:8px 12px;font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;text-align:left;background:var(--surface2);white-space:nowrap}.dash-table td,.dash-table th{border-bottom:1px solid var(--border)}.dash-table td{padding:9px 12px;color:var(--text-muted);vertical-align:middle}.dash-table tr:last-child td{border-bottom:none}.dash-table tbody tr:hover td{background:hsla(0,0%,100%,.02)}@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{position:relative;transition:border-color .2s,box-shadow .2s}.phase-section-o{border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(242,101,34,.1),inset 0 0 0 0 transparent}.phase-section-f{border-color:var(--phase-f)!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)}.phase-section-e{border-color:var(--phase-e)!important;box-shadow:0 0 0 3px hsla(220,9%,46%,.15)}.phase-active-tag{margin-left:8px;font-size:10px;font-weight:600;color:var(--accent);letter-spacing:.04em;text-transform:none;font-family:IBM Plex Sans,sans-serif;opacity:.85}.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{background:hsla(0,0%,100%,.96);border-bottom-color:var(--border)}[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=date],[data-theme=light] input[type=email],[data-theme=light] input[type=password],[data-theme=light] input[type=text],[data-theme=light] select,[data-theme=light] textarea{background:#fff!important;color:#111827!important;border-color:#d1d5db!important}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#9ca3af!important}[data-theme=light] select option{background:#fff;color:#111827}[data-theme=light] .form-section{background:#fff;border-color:#e5e7eb}[data-theme=light] .form-group label,[data-theme=light] .form-section-title{color:#374151}[data-theme=light] .kpi-btn:not(.active-yes):not(.active-no):not(.active-na){background:#f9fafb!important}[data-theme=light] .kpi-btn.active-yes{background:rgba(34,197,94,.18)!important;color:#14532d!important;border-color:#16a34a!important;font-weight:700!important}[data-theme=light] .kpi-btn.active-no{background:rgba(220,38,38,.12)!important;color:#991b1b!important;border-color:#dc2626!important;font-weight:700!important}[data-theme=light] .kpi-btn.active-na{background:hsla(220,9%,46%,.15)!important;color:#1f2937!important;border-color:#6b7280!important;font-weight:700!important}[data-theme=light] .kpi-label{color:#374151}[data-theme=light] .kpi-item{border-color:#e5e7eb}[data-theme=light] .edit-banner{background:rgba(245,166,35,.08);border-color:rgba(245,166,35,.3);color:#374151}[data-theme=light] .op-status-select{background:#f9fafb!important;color:#374151!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){background:#fff!important;color:#6b7280!important;border-color:#d1d5db!important}[data-theme=light] .overview-cell,[data-theme=light] .project-card,[data-theme=light] .project-header{background:#fff}[data-theme=light] .health-bar-wrap,[data-theme=light] .progress-bar{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] .overview-value,[data-theme=light] .project-name{color:#111827}[data-theme=light] .dash-chart-card,[data-theme=light] .dash-stat,[data-theme=light] .filter-bar,[data-theme=light] .form-section,[data-theme=light] .param-content,[data-theme=light] .param-table-wrap,[data-theme=light] .pm-header,[data-theme=light] .pm-section,[data-theme=light] .proj-block{background:#fff;border-color:var(--border)}[data-theme=light] .param-table th{background:#f3f4f6;color:#374151}[data-theme=light] .param-table td{color:#374151;border-color:#e5e7eb}[data-theme=light] .dash-table th{background:#f3f4f6;color:#374151}[data-theme=light] .dash-table td{color:#6b7280;border-color:#e5e7eb}[data-theme=light] .op-row:hover{background:#fafafa}[data-theme=light] .op-comment,[data-theme=light] .op-kpi-label{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{background:#f9fafb;color:#111827}[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:rgba(242,101,34,.2)}.nav-theme-toggle{width:32px;height:32px;border-radius:6px;background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;margin-right:4px}.nav-theme-toggle:hover{color:var(--text);border-color:var(--text-dim)}@keyframes cardFlash{0%{box-shadow:0 0 0 0 rgba(242,101,34,0);border-color:var(--border)}20%{box-shadow:0 0 0 6px rgba(242,101,34,.35);border-color:var(--accent)}60%{box-shadow:0 0 0 4px rgba(242,101,34,.2);border-color:var(--accent)}to{box-shadow:0 0 0 0 rgba(242,101,34,0);border-color:var(--border)}}.card-highlight .project-card{animation:cardFlash 3s ease-out forwards}.safety-issue-input-wrap{margin-top:8px;width:100%;min-width:260px}.safety-issue-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:IBM Plex Sans,sans-serif;font-size:12px;line-height:1.5;padding:8px 10px;resize:vertical;outline:none;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 rgba(242,101,34,.1)}[data-theme=light] .safety-issue-input{background:#fff;color:#111827;border-color:var(--border)}.spec-layout{display:grid;grid-template-columns:300px 1fr;grid-gap:24px;gap:24px;align-items:start}.spec-sidebar{display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;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{font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.spec-meta-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.spec-meta-field label{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.spec-meta-field input{font-size:13px}.spec-summary-row{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.spec-summary-n{font-family:IBM Plex Mono,monospace;font-size:28px;font-weight:700}.spec-summary-l{font-size:12px;color:var(--text-muted)}.spec-summary-bar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;margin-bottom:12px}.spec-summary-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s}.spec-quick-actions{display:flex;gap:8px}.spec-quick-actions .btn-secondary{flex:1 1;font-size:11px;padding:6px 8px}.spec-generate-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;padding:14px;cursor:pointer;transition:all .15s;width:100%}.spec-generate-btn:hover:not(:disabled){background:#ff8040;transform:translateY(-1px)}.spec-generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spec-main{display:flex;flex-direction:column;gap:16px}.spec-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.spec-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--accent)}.spec-section-title{font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;color:#fff}.spec-section-actions{display:flex;align-items:center;gap:10px}.spec-count{color:hsla(0,0%,100%,.75)}.spec-count,.spec-toggle-all{font-size:11px;font-family:IBM Plex Mono,monospace}.spec-toggle-all{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);border-radius:5px;color:#fff;padding:4px 10px;cursor:pointer;transition:all .12s}.spec-toggle-all:hover{background:hsla(0,0%,100%,.25)}.spec-subsection{border-bottom:1px solid var(--border);padding:14px 18px}.spec-subsection:last-child{border-bottom:none}.spec-subsection-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;justify-content:space-between}.spec-subsection-intro{font-size:11px;color:var(--text-dim);cursor:help;background:var(--surface2);border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center}.spec-req-list{display:flex;flex-direction:column;gap:6px}.spec-req-row{border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .12s}.spec-req-row.selected{border-color:rgba(242,101,34,.4);background:rgba(242,101,34,.03)}.spec-req-top{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;gap:8px}.spec-preview-btn{background:transparent;border:none;cursor:pointer;color:var(--text-dim);font-size:10px;padding:2px 6px;border-radius:4px;transition:all .12s}.spec-preview-btn:hover{background:var(--surface2);color:var(--text)}.spec-req-preview{padding:10px 14px;background:var(--surface2);border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);line-height:1.6}.spec-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spec-checkbox input[type=checkbox]{display:none}.spec-check-box{width:18px;height:18px;flex-shrink:0;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;transition:all .12s;background:var(--surface2)}.spec-check-box.checked{background:var(--accent)}.spec-check-box.checked,.spec-checkbox:hover .spec-check-box{border-color:var(--accent)}.spec-check-label{font-size:13px;color:var(--text);line-height:1.3}.spec-check-label.sub{font-size:12px;color:var(--text-muted)}[data-theme=light] .spec-meta-card,[data-theme=light] .spec-req-row,[data-theme=light] .spec-section,[data-theme=light] .spec-summary-card{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{padding:10px 12px 12px;background:var(--surface2);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:5px}.spec-checklist-items p{font-size:11px;color:var(--text-muted);margin:0 0 8px;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}