:root{color-scheme:dark;--bg:#171b2b;--surface:#252a40;--border:#3a425f;--text:#f0f2ff;--muted:#a9afc7;--primary:#7567ee;--primary-dark:#a69cff;--danger:#dc5265;--radius:10px;--shadow:0 16px 38px rgba(5,8,18,.28)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 88% 0,rgba(117,103,238,.1),transparent 28rem),var(--bg);color:var(--text);font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.app-header{align-items:center;background:rgba(25,29,47,.95);border-bottom:1px solid var(--border);box-shadow:0 8px 28px rgba(5,8,18,.18);color:#fff;display:flex;justify-content:space-between;min-height:62px;padding:0 20px;position:sticky;top:0;z-index:30}.brand{align-items:center;color:#fff;display:inline-flex;font-size:18px;font-weight:760;gap:10px;text-decoration:none}.brand:before{align-items:center;background:linear-gradient(145deg,#8c7dff,#5e50cf);border-radius:8px;box-shadow:0 7px 18px rgba(117,103,238,.35);content:"P";display:inline-flex;font-size:14px;height:34px;justify-content:center;width:34px}.app-header nav{align-items:center;display:flex;gap:8px}.app-header nav a,.link-button{background:none;border:0;border-radius:6px;color:#e7e9f7;cursor:pointer;font:inherit;padding:7px 10px;text-decoration:none}.app-header nav>a:hover,.link-button:hover{background:rgba(255,255,255,.07)}.app-header form{margin:0}.user-name{color:#aeb4ca;margin:0 4px 0 10px}
.page-shell{margin:0;max-width:none;min-width:0;padding:24px clamp(14px,2vw,30px) 72px;width:100%}.page-heading{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:24px}.page-heading h1{font-size:30px;letter-spacing:-.025em;line-height:1.15;margin:4px 0 7px}.eyebrow{color:#9d92ff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted);margin:0}
.button{border:1px solid transparent;border-radius:7px;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;padding:10px 16px;text-decoration:none;transition:.15s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,#7d6ff3,#6759dc);color:#fff}.button.primary:hover{background:linear-gradient(135deg,#8e82fa,#7567e8)}.button.secondary{background:#2c324a;border-color:#49516e;color:var(--text)}.button.secondary:hover{background:#353c57;border-color:#5d6687}.button.danger{background:#bc4356;color:#fff}
.card-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.project-card,.panel,.empty-state,.auth-card{background:linear-gradient(145deg,rgba(40,46,69,.98),rgba(33,38,58,.98));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.project-card{padding:22px}.project-card h2{font-size:20px;margin:12px 0 1px}.project-card h2 a{color:var(--text);text-decoration:none}.project-card p{color:var(--muted)}.identifier{color:var(--muted);font-family:ui-monospace,monospace;font-size:12px}.status{border-radius:99px;display:inline-block;font-size:11px;font-weight:800;padding:4px 9px;text-transform:uppercase}.status.active{background:rgba(49,180,116,.16);color:#82e3af}.status.archived{background:rgba(174,180,202,.12);color:#b8bdd1}
.panel{max-width:850px;padding:26px}.empty-state{padding:48px;text-align:center}.auth-card{margin:8vh auto 0;max-width:430px;padding:34px}.auth-card h1{font-size:30px;margin:6px 0}.stack-form{display:grid;gap:18px;margin-top:24px}.stack-form label{display:block;font-weight:700;margin-bottom:6px}.stack-form input:not([type=submit]),.stack-form textarea,.stack-form select{background:#1d2234;border:1px solid #4a526f;border-radius:7px;color:var(--text);font:inherit;padding:10px 12px;width:100%}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus{border-color:#8f82f7;box-shadow:0 0 0 3px rgba(117,103,238,.2);outline:0}
.form-actions,.actions{display:flex;gap:10px}.actions form{margin:0}.flash{border:1px solid transparent;border-radius:7px;margin-bottom:20px;padding:12px 15px}.flash.notice{background:rgba(49,180,116,.15);border-color:rgba(83,205,142,.3);color:#9ce8bd}.flash.alert,.errors{background:rgba(220,82,101,.15);border-color:rgba(220,82,101,.32);color:#ffadb8}.errors{border-radius:7px;padding:12px 16px}.facts{display:grid;grid-template-columns:100px 1fr}.facts dt{font-weight:700}.facts dd{margin:0}.section-gap{margin-top:20px}.section-heading{align-items:center;display:flex;justify-content:space-between}
.table-card{background:#22273b;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid #39415c;padding:13px 15px;text-align:left;white-space:nowrap}th{background:#1d2234;color:#adb3cb;font-size:11px;letter-spacing:.04em;text-transform:uppercase}tbody tr:hover td{background-color:rgba(255,255,255,.025)}td a{color:#aaa0ff;font-weight:700;text-decoration:none}td a:hover{color:#cbc5ff}.form-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr}.workflow{display:flex;flex-wrap:wrap;gap:12px}.workflow span{background:#1d2234;border:1px solid #3b435e;border-radius:7px;padding:8px 11px}.workflow-actions{border-top:1px solid var(--border);flex-wrap:wrap;margin-top:24px;padding-top:20px}.workflow-actions form{margin:0}
@media(max-width:650px){.app-header{align-items:flex-start;gap:12px;padding:13px 18px}.app-header,.page-heading{flex-direction:column}.app-header nav{flex-wrap:wrap;gap:6px}.page-shell{padding:24px 16px}.auth-card{margin-top:3vh;padding:25px}.page-heading h1{font-size:27px}.form-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}}
.email-settings-form{margin-top:0}.email-settings-form .panel,.email-address-layout .panel{max-width:none}.settings-section{display:grid;gap:20px}.settings-section h2,.email-address-layout h2{font-size:18px;margin:0}.settings-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(180px,1fr))}.smtp-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}.inline-checks,.event-grid{display:flex;flex-wrap:wrap;gap:12px 24px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr))}.check-row,.switch-row{align-items:center;display:flex!important;gap:9px;margin:0!important}.check-row input,.switch-row input{flex:0 0 auto;height:17px;width:17px!important}.check-row span,.switch-row span{font-weight:600}.form-check{align-self:end;min-height:44px}.email-address-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr)}.compact{padding:6px 10px}.test-mail-section{align-items:end;display:flex;justify-content:space-between}.test-mail-form{align-items:center;display:flex;gap:10px}.test-mail-form input[type=email]{background:#1d2234;border:1px solid #4a526f;border-radius:7px;color:var(--text);font:inherit;min-width:290px;padding:10px 12px}
@media(max-width:950px){.settings-grid,.smtp-grid,.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.email-address-layout{grid-template-columns:1fr}.test-mail-section{align-items:stretch;flex-direction:column}.test-mail-form{align-items:stretch;flex-direction:column}.test-mail-form input[type=email]{min-width:0;width:100%}}
@media(max-width:650px){.settings-grid,.smtp-grid,.event-grid{grid-template-columns:1fr}}
.scrum-dashboard{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.scrum-dashboard .panel{max-width:none}.scrum-current,.scrum-sprints{grid-column:1/-1}.scrum-dashboard h2{font-size:19px;margin:5px 0 12px}.scrum-dashboard h3{font-size:22px;margin:8px 0}.sprint-metrics{display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin:20px 0}.sprint-metrics span{background:#1d2234;border:1px solid #3b435e;border-radius:7px;color:var(--muted);display:flex;flex-direction:column;padding:12px}.sprint-metrics b{color:var(--text);font-size:16px}.progress-track{background:#171b2b;border-radius:99px;height:8px;margin:0 0 20px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,#7567ee,#4fc895);display:block;height:100%}.backlog-preview{align-items:center;border-bottom:1px solid #39415c;display:grid;gap:12px;grid-template-columns:95px 1fr auto;padding:10px 0}.backlog-preview a{color:#aaa0ff;text-decoration:none}.work-type{border-radius:99px;display:inline-block;font-size:10px;font-weight:800;padding:4px 8px;text-transform:uppercase}.work-type.story{background:rgba(117,103,238,.18);color:#b9b1ff}.work-type.task{background:rgba(66,154,232,.16);color:#91caff}.work-type.bug{background:rgba(220,82,101,.17);color:#ff9baa}.sprint-list{display:grid;gap:8px}.sprint-list>div{align-items:center;border-bottom:1px solid #39415c;display:grid;gap:14px;grid-template-columns:100px 1fr auto auto auto;padding:11px 0}.status.planned{background:rgba(174,180,202,.12);color:#c2c6d7}.status.completed{background:rgba(49,180,116,.16);color:#82e3af}.kanban-board{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(270px,1fr));min-width:900px}.kanban-column{background:#202538;border:1px solid var(--border);border-radius:10px;min-height:480px;padding:14px}.kanban-column>header{align-items:center;display:flex;justify-content:space-between}.kanban-column>header h2{font-size:16px;margin:0}.kanban-column>header span{background:#30364e;border-radius:99px;padding:2px 8px}.kanban-stack{display:grid;gap:12px;margin-top:14px}.kanban-card{background:#2a3047;border:1px solid #424a67;border-radius:8px;box-shadow:0 8px 18px rgba(5,8,18,.18);padding:14px}.kanban-card>div,.kanban-card footer{align-items:center;display:flex;justify-content:space-between}.kanban-card h3{font-size:14px;margin:12px 0}.kanban-card h3 a{color:var(--text);text-decoration:none}.kanban-card p{color:var(--muted);font-size:12px;min-height:36px}.kanban-card footer{align-items:flex-end;border-top:1px solid #3b435e;color:var(--muted);font-size:11px;padding-top:10px}.board-actions{display:flex;gap:5px}.board-actions form,.rank-actions form{margin:0}.board-move{background:#343b56;border:1px solid #4b5575;border-radius:5px;color:var(--text);cursor:pointer;font-size:10px;padding:4px 6px}.story-points{color:#a9afc7;font-size:11px;font-weight:800}.rank-actions{display:flex;gap:6px}.agile-item-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr 2fr}.sprint-form{max-width:none}
@media(max-width:900px){.scrum-dashboard{grid-template-columns:1fr}.scrum-current,.scrum-sprints{grid-column:auto}.sprint-metrics{grid-template-columns:repeat(2,1fr)}.sprint-list>div{grid-template-columns:1fr 1fr}.agile-item-grid{grid-template-columns:1fr}.kanban-board{overflow-x:auto}}
.kanban-board.four-columns{grid-template-columns:repeat(4,minmax(260px,1fr));min-width:1120px}.sticky-note{background:linear-gradient(145deg,#303750,#292f46);border-left:5px solid}.schedule-on_track{border-color:#42c481!important}.schedule-warning{border-color:#e8b949!important}.schedule-overdue{border-color:#ed6476!important}.trend-line{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:6px;margin:10px 0}.trend-dot{background:#42c481;border-radius:50%;height:7px;width:7px}.schedule-warning .trend-dot{background:#e8b949}.schedule-overdue .trend-dot{background:#ed6476}.schedule-legend{display:flex;gap:18px;margin:-8px 0 16px}.schedule-legend span,.chart-legend span{align-items:center;display:flex;font-size:11px;gap:7px}.schedule-legend span:before,.chart-legend span:before{background:#42c481;border-radius:3px;content:"";height:9px;width:18px}.schedule-legend .warning:before{background:#e8b949}.schedule-legend .overdue:before{background:#ed6476}.swimlane-table{background:#202538;border:1px solid var(--border);border-radius:10px;min-width:1050px;overflow:hidden}.swimlane-header,.swimlane-row{display:grid;grid-template-columns:180px repeat(4,minmax(210px,1fr))}.swimlane-header{background:#1b2031;color:#aeb4ca;font-size:11px;font-weight:800;text-transform:uppercase}.swimlane-header span,.swimlane-owner,.swimlane-cell{border-bottom:1px solid #39415c;border-right:1px solid #39415c;padding:12px}.swimlane-owner{display:flex;flex-direction:column}.swimlane-owner span{color:var(--muted);font-size:11px}.swimlane-cell{display:flex;flex-wrap:wrap;gap:8px;min-height:90px}.swimlane-note{background:#2c3249;border:1px solid #46506d;border-left:4px solid;border-radius:5px;color:var(--text);display:grid;font-size:11px;gap:3px;grid-template-columns:auto 1fr auto;padding:8px;text-decoration:none;width:100%}.swimlane-note small{color:var(--muted)}.agile-chart-grid{display:grid;gap:18px;grid-template-columns:2fr 1fr}.chart-panel{max-width:none}.chart-panel h2{font-size:18px;margin:0}.burndown-chart{align-items:end;border-bottom:1px solid #56607e;border-left:1px solid #56607e;display:flex;gap:2px;height:260px;margin-top:24px;padding:10px 8px 0;position:relative}.burndown-day{flex:1;height:100%;min-width:5px;position:relative}.burndown-day .actual{background:linear-gradient(180deg,rgba(117,103,238,.85),rgba(117,103,238,.25));bottom:0;left:10%;position:absolute;width:80%}.burndown-day i{border-top:2px solid #e8b949;left:0;position:absolute;width:100%;z-index:2}.burndown-day small{bottom:-24px;color:var(--muted);font-size:9px;left:50%;position:absolute;transform:translateX(-50%)}.chart-legend{display:flex;gap:20px;margin-top:35px}.chart-legend .actual-key:before{background:#7567ee}.chart-legend .ideal-key:before{background:#e8b949;height:2px}.waterfall-chart{align-items:end;display:flex;gap:12px;height:300px;padding-top:25px}.waterfall-step{display:flex;flex:1;flex-direction:column;height:100%;justify-content:end;text-align:center}.waterfall-step span{background:linear-gradient(180deg,#8c7dff,#5549bd);border-radius:5px 5px 0 0;min-height:4px}.waterfall-step b{font-size:20px;margin-top:6px}.waterfall-step small{color:var(--muted)}.waterfall-step.step-1 span{background:linear-gradient(180deg,#58a9ed,#3979ae)}.waterfall-step.step-2 span{background:linear-gradient(180deg,#e8b949,#a77e22)}.waterfall-step.step-3 span{background:linear-gradient(180deg,#54d397,#27895d)}.schedule-chart{grid-column:1/-1}.schedule-chart>div{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:18px}.schedule-chart span{background:linear-gradient(90deg,rgba(66,196,129,.3) var(--share),#202538 var(--share));border:1px solid #42c481;border-radius:7px;display:flex;justify-content:space-between;padding:14px}.schedule-chart .warning{background:linear-gradient(90deg,rgba(232,185,73,.3) var(--share),#202538 var(--share));border-color:#e8b949}.schedule-chart .overdue{background:linear-gradient(90deg,rgba(237,100,118,.3) var(--share),#202538 var(--share));border-color:#ed6476}
@media(max-width:900px){.agile-chart-grid{grid-template-columns:1fr}.schedule-chart{grid-column:auto}.schedule-chart>div{grid-template-columns:1fr}.swimlane-table{overflow-x:auto}}
.document-section{margin-top:24px}.document-upload{align-items:end;background:#22273b;border:1px solid var(--border);border-radius:9px;display:grid;gap:14px;grid-template-columns:minmax(240px,1fr) minmax(280px,2fr) auto;margin:14px 0 18px;padding:16px}.document-upload label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.document-upload input[type=file],.document-upload input[type=text]{background:#1d2234;border:1px solid #4a526f;border-radius:7px;color:var(--text);font:inherit;padding:9px 11px;width:100%}.document-upload input[type=file]::file-selector-button{background:#363e59;border:0;border-radius:5px;color:var(--text);cursor:pointer;margin-right:10px;padding:7px 10px}.document-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.document-card{align-items:center;background:#22273b;border:1px solid var(--border);border-radius:9px;display:grid;gap:14px;grid-template-columns:76px minmax(0,1fr);padding:12px}.document-preview{align-items:center;background:#181d2d;border:1px solid #414963;border-radius:7px;display:flex;height:76px;justify-content:center;overflow:hidden}.document-preview img{height:100%;object-fit:cover;width:100%}.pdf-mark{color:#ff8291;font-size:17px;font-weight:900;letter-spacing:.08em}.document-meta{display:flex;min-width:0;flex-direction:column}.document-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta span,.document-meta small{color:var(--muted);font-size:11px}.document-actions{display:flex;flex-wrap:wrap;gap:7px;grid-column:1/-1}.document-actions form{margin:0}
@media(max-width:760px){.document-upload{align-items:stretch;grid-template-columns:1fr}.document-grid{grid-template-columns:1fr}}
.overview-filters{align-items:end;background:#22273b;border:1px solid var(--border);border-radius:9px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin-bottom:18px;padding:15px}.overview-filters label{display:block;font-size:11px;font-weight:800;margin-bottom:4px;text-transform:uppercase}.overview-filters input,.overview-filters select{background:#1d2234;border:1px solid #4a526f;border-radius:7px;color:var(--text);font:inherit;height:40px;padding:8px 10px;width:100%}.filter-actions{display:flex;gap:8px}.document-overview-table td:nth-child(2){white-space:normal;min-width:220px}.document-overview-table td:nth-child(2) strong,.document-overview-table td:nth-child(2) small{display:block}.document-overview-table td:nth-child(2) small{color:var(--muted)}.document-table-preview{align-items:center;background:#181d2d;border:1px solid #414963;border-radius:5px;color:#ff8291;display:flex;font-size:10px;font-weight:900;height:42px;justify-content:center;overflow:hidden;text-decoration:none;width:54px}.document-table-preview img{height:100%;object-fit:cover;width:100%}
.status.paused{background:rgba(232,185,73,.16);color:#f0ca70}.status.completed{background:rgba(80,166,220,.16);color:#8dccf4}.equal-textareas textarea{height:150px;resize:vertical}.project-status-field{border-top:1px solid var(--border);padding-top:18px}.project-status-field small{display:block;margin-top:7px}
.overview-filters>div{min-width:0}.overview-filters .filter-actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:6px}.overview-filters .filter-actions .button{flex:1 1 88px;font-size:12px;min-width:0;padding:8px 9px;white-space:nowrap}.overview-filters input,.overview-filters select{min-width:0}
@media(max-width:560px){.overview-filters{grid-template-columns:1fr}.overview-filters .filter-actions{display:grid;grid-template-columns:1fr 1fr}.overview-filters .filter-actions .button{width:100%}}
.legal-footer{align-items:center;background:rgba(20,24,39,.97);border-top:1px solid var(--border);bottom:0;color:var(--muted);display:flex;font-size:11px;height:38px;justify-content:space-between;left:0;padding:0 20px;position:fixed;right:0;z-index:40}.legal-footer nav{display:flex;gap:18px}.legal-footer a{color:#c7cbea;text-decoration:none}.legal-footer a:hover{color:#fff}.legal-overlay{display:none;inset:0;position:fixed;z-index:100}.legal-overlay:target{align-items:center;display:flex;justify-content:center}.legal-overlay-backdrop{background:rgba(6,9,18,.78);inset:0;position:absolute}.legal-modal{background:#252a40;border:1px solid #4b5474;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.55);max-height:min(82vh,760px);max-width:680px;overflow:hidden;position:relative;width:min(calc(100vw - 32px),680px);z-index:1}.legal-modal-wide{max-width:840px;width:min(calc(100vw - 32px),840px)}.legal-modal>header{align-items:flex-start;background:#1d2234;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 24px}.legal-modal h2{font-size:25px;margin:3px 0 0}.legal-modal-close{align-items:center;background:#343b55;border:1px solid #515b7c;border-radius:6px;color:#fff;display:flex;font-size:24px;height:34px;justify-content:center;line-height:1;text-decoration:none;width:34px}.legal-content{max-height:calc(82vh - 90px);overflow-y:auto;padding:22px 24px}.legal-content h3{margin-top:0}.legal-content dl{display:grid;gap:7px 16px;grid-template-columns:150px 1fr}.legal-content dt{font-weight:700}.legal-content dd{margin:0}.legal-settings-form{margin-top:0}.legal-settings-form .panel{max-width:none}.legal-settings-form textarea{resize:vertical}
@media(max-width:600px){.legal-footer{padding:0 12px}.legal-footer nav{gap:10px}.legal-content dl{grid-template-columns:1fr}.legal-content dd{margin-bottom:7px}}
.project-form.panel{max-width:none;width:100%}.project-responsibility-grid{display:grid;gap:18px;grid-template-columns:minmax(220px,2fr) minmax(180px,1.3fr) minmax(110px,.7fr) minmax(150px,1fr)}.project-responsibility-grid>div{min-width:0}.project-responsibility-grid input,.project-responsibility-grid select{min-width:0}
@media(max-width:900px){.project-responsibility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-responsibility-grid{grid-template-columns:1fr}}
.budget-capacity{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.budget-capacity span{background:#1d2234;border:1px solid #3b435e;border-radius:7px;color:var(--muted);display:flex;flex-direction:column;padding:10px 12px}.budget-capacity b{color:var(--text);font-size:16px}@media(max-width:700px){.budget-capacity{grid-template-columns:1fr}}
.global-back-row{display:flex;margin-bottom:14px}.overview-section,.milestone-state{box-sizing:border-box;max-width:none!important;width:100%}.dashboard-grid,.desktop-canvas{max-width:none;width:100%}.milestone-state+.overview-section{margin-top:22px}

/* Keep long legal texts fully accessible within the current viewport. */
.legal-overlay:target{padding:12px}
.legal-modal{display:flex;flex-direction:column;max-height:min(calc(100vh - 24px),760px);max-height:min(calc(100dvh - 24px),760px)}
.legal-modal>header{flex:0 0 auto}
.legal-modal-close{flex:0 0 auto}
.legal-content{-webkit-overflow-scrolling:touch;flex:1 1 auto;max-height:none;min-height:0;overscroll-behavior:contain;overflow-y:auto;scrollbar-gutter:stable}
@media(max-height:520px){.legal-overlay:target{align-items:stretch;padding:6px}.legal-modal{max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px)}.legal-modal>header{padding:12px 16px}.legal-modal h2{font-size:20px}.legal-content{padding:16px}}

/* Project FMEA and risk catalogue. */
.fmea-admin-layout{display:grid;gap:24px}.fmea-threshold-panel,.risk-group-form{max-width:none}.fmea-threshold-form{align-items:end;display:flex;flex-wrap:wrap;gap:12px}.fmea-threshold-form>div{min-width:180px}.fmea-threshold-form label{display:block;font-weight:700;margin-bottom:6px}.fmea-threshold-form select{background:#1d2234;border:1px solid #4a526f;border-radius:7px;color:var(--text);font:inherit;height:42px;padding:8px 12px;width:100%}.fmea-groups-section h2{font-size:20px}.risk-group-table td:nth-child(3){min-width:320px;white-space:normal}
.fmea-threshold-note{align-items:center;background:rgba(232,185,73,.1);border:1px solid rgba(232,185,73,.4);border-left:5px solid #e8b949;border-radius:8px;display:flex;gap:16px;margin-bottom:18px;padding:12px 15px}.fmea-threshold-note strong{color:#f4cd70;flex:0 0 auto}.fmea-threshold-note span{color:var(--muted)}
.fmea-table-card{max-width:100%;overflow-x:auto}.fmea-table{min-width:1660px;table-layout:auto;width:100%}.fmea-table th{font-size:10px;line-height:1.3;white-space:normal}.fmea-table td{font-size:12px;line-height:1.4;max-width:300px;min-width:62px;vertical-align:top;white-space:normal}.fmea-table td:nth-child(1){min-width:145px}.fmea-table td:nth-child(2){min-width:170px}.fmea-table .fmea-description{min-width:230px}.fmea-table .fmea-rating{font-size:14px;font-weight:800;text-align:center}.fmea-row.risk-critical td:first-child{box-shadow:inset 5px 0 #dc5265}.fmea-row.risk-warning td:first-child{box-shadow:inset 5px 0 #e8b949}.fmea-row.risk-acceptable td:first-child{box-shadow:inset 5px 0 #42c481}
.risk-score{align-items:center;border:1px solid transparent;border-radius:6px;display:inline-flex;font-size:13px;font-weight:900;justify-content:center;min-height:30px;min-width:36px;padding:4px 8px}.risk-score.acceptable{background:rgba(66,196,129,.18);border-color:rgba(66,196,129,.45);color:#85e4b4}.risk-score.warning{background:rgba(232,185,73,.18);border-color:rgba(232,185,73,.5);color:#f5cf76}.risk-score.critical{background:rgba(220,82,101,.2);border-color:rgba(220,82,101,.55);color:#ff9baa}.risk-score.none{background:rgba(169,175,199,.1);border-color:var(--border);color:var(--muted)}
.fmea-status{border-radius:99px;display:inline-flex;font-size:10px;font-weight:800;padding:4px 8px;white-space:nowrap}.fmea-status.required{background:rgba(220,82,101,.2);color:#ff9baa}.fmea-status.acceptable,.fmea-status.done{background:rgba(66,196,129,.18);color:#85e4b4}.fmea-status.open,.fmea-status.in_progress,.fmea-status.review{background:rgba(232,185,73,.18);color:#f5cf76}.fmea-task-link{display:block;font-size:11px;margin-top:7px}
.fmea-form{margin-top:0}.fmea-form .panel{max-width:none}.fmea-core-grid{align-items:end;display:grid;gap:16px;grid-template-columns:minmax(170px,1fr) minmax(240px,1.35fr) minmax(300px,2fr) minmax(150px,.8fr) minmax(130px,.7fr) minmax(120px,.55fr)}.fmea-core-grid>div,.fmea-measure-grid>div{min-width:0}.fmea-risk-text{align-self:stretch}.fmea-risk-text textarea{height:100%;min-height:94px}.fmea-measure-panel{border-left:5px solid #7567ee}.fmea-measure-grid{align-items:end;display:grid;gap:16px;grid-template-columns:minmax(320px,2fr) minmax(160px,.7fr) minmax(200px,1fr) minmax(170px,.8fr) minmax(150px,.7fr) minmax(120px,.55fr)}.fmea-action-text{align-self:stretch}.fmea-action-text textarea{height:100%;min-height:94px}.fmea-live-score{align-items:center;background:#1d2234;border:1px solid #4a526f;border-radius:7px;display:flex;gap:10px;justify-content:space-between;min-height:44px;padding:6px 9px}.fmea-live-score>span{color:var(--muted);font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase}
html[data-theme="light"] .fmea-threshold-form select,html[data-theme="light"] .fmea-live-score{background:#fff;border-color:#cfd6e5}html[data-theme="light"] .fmea-threshold-note{background:#fff9e9}html[data-theme="light"] .fmea-threshold-note strong{color:#765500}html[data-theme="light"] .risk-score.acceptable{color:#176c47}html[data-theme="light"] .risk-score.warning{color:#765500}html[data-theme="light"] .risk-score.critical{color:#9c2435}
@media(max-width:1250px){.fmea-core-grid,.fmea-measure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fmea-risk-text,.fmea-action-text{grid-column:1/-1}.fmea-risk-text textarea,.fmea-action-text textarea{height:auto}}
@media(max-width:760px){.fmea-threshold-note{align-items:flex-start;flex-direction:column;gap:5px}.fmea-core-grid,.fmea-measure-grid{grid-template-columns:1fr}.fmea-risk-text,.fmea-action-text{grid-column:auto}.fmea-threshold-form{align-items:stretch;flex-direction:column}.fmea-threshold-form>div{min-width:0}}

/* Ordered FMEA edit layout: context, description and assessment. */
.fmea-form{max-width:none!important;width:100%}.fmea-form .fmea-form-panel,.fmea-form .fmea-measure-panel{max-width:none!important;width:100%}.fmea-section-layout{display:grid;gap:18px;width:100%}.fmea-context-row{display:grid;gap:18px;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr)}.fmea-description-row{min-width:0;width:100%}.fmea-description-row textarea{min-height:112px;resize:vertical;width:100%}.fmea-assessment-row{align-items:end;display:grid;gap:18px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(170px,.65fr)}.fmea-context-row>div,.fmea-assessment-row>div{min-width:0}.fmea-context-row label,.fmea-description-row label,.fmea-assessment-row label{line-height:1.35;white-space:normal}.fmea-context-row input,.fmea-context-row select,.fmea-assessment-row input,.fmea-assessment-row select{min-width:0;width:100%}.fmea-assessment-row .fmea-live-score{width:100%}
@media(max-width:820px){.fmea-context-row,.fmea-assessment-row{grid-template-columns:1fr}}

/* FMEA lifecycle, sorting and risk-group colour coding. */
.project-name-with-fmea,.project-title-with-fmea{align-items:center;display:inline-flex;gap:9px}.project-fmea-indicator{cursor:help;display:inline-flex;font-size:18px;line-height:1;text-shadow:0 0 10px currentColor}.project-fmea-indicator.none{color:#9299ad}.project-fmea-indicator.created,.project-fmea-indicator.completed{color:#62a8ff}.project-fmea-indicator.running{color:#4fd391}.project-fmea-indicator.tasks_overdue{color:#efc44f}.project-fmea-indicator.target_overdue{color:#f16c7e}
.fmea-lifecycle-panel{display:grid;gap:18px;margin-bottom:18px;max-width:none!important;width:100%}.fmea-lifecycle-heading h2{font-size:16px;margin:4px 0 0}.fmea-lifecycle-state{align-items:center;border:1px solid currentColor;border-radius:7px;display:inline-flex;font-size:12px;font-weight:800;gap:7px;padding:7px 10px}.fmea-lifecycle-state.none{color:#a9afc7}.fmea-lifecycle-state.created,.fmea-lifecycle-state.completed{background:rgba(64,145,235,.14);color:#82bbff}.fmea-lifecycle-state.running{background:rgba(66,196,129,.14);color:#82e3af}.fmea-lifecycle-state.tasks_overdue{background:rgba(232,185,73,.15);color:#f5cf76}.fmea-lifecycle-state.target_overdue{background:rgba(220,82,101,.16);color:#ff9baa}.fmea-lifecycle-form{align-items:end;display:grid;gap:14px;grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(230px,1.4fr) auto}.fmea-lifecycle-form label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}.fmea-lifecycle-form input,.fmea-lifecycle-form select{background:#1d2234;border:1px solid #4a526f;border-radius:7px;color:var(--text);font:inherit;height:40px;min-width:0;padding:7px 10px;width:100%}.fmea-lifecycle-facts{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.fmea-lifecycle-facts>div{background:#1d2234;border:1px solid var(--border);border-radius:7px;padding:10px 12px}.fmea-lifecycle-facts dt{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.fmea-lifecycle-facts dd{font-weight:700;margin:3px 0 0}.fmea-lifecycle-actions{align-items:center;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding-top:14px}.fmea-lifecycle-actions form{margin:0}.fmea-sort-link{align-items:center;color:inherit!important;display:inline-flex;gap:4px;text-decoration:none}.fmea-sort-link:hover,.fmea-sort-link.active{color:var(--text)!important}.fmea-sort-indicator{color:#9d92ff;font-size:9px}.fmea-risk-group-cell{background:hsl(var(--risk-group-hue) 72% 88%)!important;color:#172033!important}.fmea-risk-group-cell strong{color:inherit}
html[data-theme="light"] .fmea-lifecycle-form input,html[data-theme="light"] .fmea-lifecycle-form select,html[data-theme="light"] .fmea-lifecycle-facts>div{background:#fff;border-color:#cfd6e5}
@media(max-width:900px){.fmea-lifecycle-form{grid-template-columns:repeat(2,minmax(0,1fr))}.fmea-lifecycle-facts{grid-template-columns:1fr}}@media(max-width:600px){.fmea-lifecycle-form{grid-template-columns:1fr}.fmea-lifecycle-actions{align-items:stretch;flex-direction:column}}

/* Global project-feature configuration. */
.feature-settings-form{margin-top:0}.feature-settings-panel{gap:0;max-width:none!important;padding:0}.feature-setting-row{align-items:center;border-bottom:1px solid var(--border);cursor:pointer;display:grid!important;gap:16px;grid-template-columns:42px minmax(0,1fr) auto;margin:0!important;padding:17px 20px}.feature-setting-row:last-child{border-bottom:0}.feature-setting-row:hover{background:rgba(255,255,255,.025)}.feature-setting-icon{align-items:center;background:#353c57;border:1px solid #505a7b;border-radius:8px;color:#bcb5ff;display:flex;font-size:16px;font-weight:900;height:38px;justify-content:center;width:38px}.feature-setting-row strong,.feature-setting-row small{display:block}.feature-setting-row small{color:var(--muted);font-size:12px;margin-top:2px}.feature-setting-switch{align-items:center;background:#1d2234;border:1px solid var(--border);border-radius:99px;display:inline-flex;font-size:12px;font-weight:800;gap:8px;padding:7px 11px}.feature-setting-switch input{height:17px;width:17px!important}html[data-theme="light"] .feature-setting-switch{background:#fff;border-color:#cfd6e5}@media(max-width:600px){.feature-setting-row{grid-template-columns:38px 1fr}.feature-setting-switch{grid-column:2;justify-self:start}}
