:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#183131;background:#f4f7f6;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:238px;background:#102f2e;color:#d9e6e2;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:19px;letter-spacing:1px}.brand b{display:grid;place-items:center;background:#bddd9b;color:#143c32;border-radius:10px;width:42px;height:42px;font-size:27px}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:5px;color:#97b7b0}.workspace{font-size:12px;border-block:1px solid #31504e;margin:32px 0 22px;padding:17px 5px}.workspace small{display:block;margin-top:9px;color:#aacd9c;font-size:10px}nav{display:grid;gap:7px}nav button{background:none;color:#afc8c2;text-align:left;border:0;padding:14px;font-size:14px;border-radius:8px}nav button.active{background:#2c4b45;color:#e4f6c6}footer{margin-top:auto;font-size:11px;color:#9ab7b0}footer p{font-size:9px;color:#74968e}footer i{display:inline-block;background:#acd188;width:6px;height:6px;border-radius:50%;margin-right:7px}main{margin-left:238px}header{height:76px;border-bottom:1px solid #dce5e0;background:#fff;padding:0 42px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.session{display:flex;align-items:center;gap:14px}#app{padding:38px 42px;max-width:1700px}.eyebrow{font-size:10px;letter-spacing:2px;color:#6a8b7b;font-weight:700}h1{font-size:30px;letter-spacing:-1px;font-weight:600;margin:12px 0}p{color:#6b7f78;line-height:1.8}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.page-heading p{margin:7px 0;font-size:13px}button{cursor:pointer;border:1px solid #d4dfd9;border-radius:6px;padding:10px 16px;background:#fff;color:#284c43;font:inherit}button:hover{filter:brightness(.96)}button:disabled{opacity:.45;cursor:wait}.primary{background:#174f40;color:white;border:0}.danger{color:#aa3a35}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.card,.panel{background:white;border:1px solid #e0e7e1;border-radius:10px;padding:24px;box-shadow:0 3px 10px #183b2210}.card .value{font-size:31px;margin:12px 0;color:#215447}.card small{color:#81918a}.card .tag{color:#648950;float:right;font-size:10px}.panel{margin-bottom:22px;overflow:auto}.panel h2{font-size:17px;margin:0 0 18px}.panel h3{font-size:14px}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}label{display:grid;gap:7px;font-size:12px;color:#526c61}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d6e1d8;background:#fcfdfb;border-radius:5px;color:#234539;font:inherit;min-width:0}textarea{min-height:82px;font-family:ui-monospace,monospace;font-size:12px}.grid-form button{align-self:end}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:#7f9086;font-weight:500;background:#f5f8f4;white-space:nowrap}td,th{padding:13px 12px;border-bottom:1px solid #e8eee6;max-width:370px;overflow-wrap:anywhere}td button{font-size:11px;margin:2px;padding:6px 10px}.badge{padding:4px 8px;border-radius:4px;background:#e9f2e3;color:#376549;font-size:10px;white-space:nowrap}.badge.deny{background:#f9e9e7;color:#b34e44}.empty{padding:34px;text-align:center;color:#86958a}.muted{color:#7b8d82;font-size:12px}pre{white-space:pre-wrap;background:#f5f8f3;padding:18px;border-radius:6px;font-size:12px;max-height:350px;overflow:auto}#notice{position:fixed;bottom:25px;right:25px;padding:14px 22px;border-radius:8px;background:#204d3c;color:white;box-shadow:0 3px 15px #0002;display:none;max-width:min(600px,calc(100vw - 40px));overflow-wrap:anywhere}#login{padding:85px 10%;max-width:800px}#login h1{font-size:45px;line-height:1.4;margin:20px 0}#login form{max-width:400px;display:grid;gap:17px;margin:30px 0}#login small{color:#8b9a8e}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pill{background:#edf3e6;color:#47673d;padding:5px 10px;border-radius:20px;font-size:10px}[hidden]{display:none!important}@media(max-width:1000px){aside{width:190px;padding:25px 14px}main{margin-left:190px}#app{padding:25px}.grid-form{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}}@media(max-width:680px){aside{position:static;width:auto;padding:15px}aside nav{display:flex;overflow:auto}nav button{white-space:nowrap}.workspace,footer{display:none}main{margin:0}header{padding:0 20px}.cards,.grid-form{grid-template-columns:1fr}#login{padding:40px 25px}.page-heading{align-items:start;gap:12px}}
.subnav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:25px;border-bottom:1px solid #dae3db;padding-bottom:15px}.subnav button{font-size:12px;padding:8px 12px;border-color:transparent;background:transparent}.subnav .selected{color:#fff;background:#265a45}.panel pre{max-width:100%;overflow:auto}.panel textarea{min-height:110px}nav{overflow-y:auto}#login{padding-top:45px}#login h1{font-size:36px}#login form{margin-top:20px}
.wide{grid-column:1/-1}.table-scroll{overflow-x:auto}.scope-editor fieldset{border:1px solid #d6e1d8;border-radius:7px;margin:0 0 12px;padding:12px;display:flex;flex-wrap:wrap;gap:12px}.scope-editor legend{padding:0 5px;color:#284c43}.scope-editor fieldset label,.check-list label{display:flex;align-items:center;gap:7px}.scope-editor input[type=checkbox],.check-list input{width:auto}.check-list{display:flex;flex-wrap:wrap;gap:15px}.scope-editor select{max-width:240px}.panel>button{margin:5px 10px 5px 0}.knowledge-body{white-space:pre-wrap;line-height:1.9;font-size:15px;margin:20px 0}label small{color:#7b8d82;font-weight:normal;line-height:1.6}summary{cursor:pointer;color:#476d5d;font-size:13px}#first-setup{max-width:460px;margin-top:25px;border-top:1px solid #dce5e0;padding-top:20px}#login-error{color:#a64035;font-size:13px}#login form{max-width:460px}#login h1{font-size:34px}input[type=file]{font-size:12px}nav button{font-size:14px;letter-spacing:.5px}
.bi-context,.bi-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.bi-toolbar select{width:auto;max-width:260px}.bi-toolbar span{color:#73877c;font-size:12px}.bi-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.bi-kpi{border:1px solid #dae7df;border-radius:10px;padding:20px;background:#fff;border-top:3px solid #52967b;display:grid;gap:12px}.bi-kpi>span{font-size:13px;color:#617c6d}.bi-kpi strong{font-size:27px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.bi-kpi small{font-size:11px;color:#7c8f83}.bi-charts,.bi-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:18px}.bi-charts svg{width:100%;height:auto;max-height:600px}.bi-editor-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:22px;align-items:start}.bi-editor-config .panel{padding:20px}.bi-editor-config label{margin-bottom:12px}.bi-editor-config fieldset{margin:15px 0;padding:12px;border:1px solid #e0e8e2;border-radius:6px}.bi-editor-config legend{font-size:12px;color:#476a56}.bi-editor-config .bi-check{display:flex;align-items:center;gap:8px;margin:8px 0}.bi-check input{width:auto}.bi-editor-config details{border-top:1px solid #e4eae5;padding-top:12px;margin-top:12px}.bi-editor-config details>label{margin-top:12px}.bi-editor-canvas{min-width:0}.bi-editor-canvas>.panel{background:#f6faf6}.bi-filter{padding:12px 0;border-bottom:1px solid #e2e9e3}.bi-filter button{font-size:11px;padding:6px 10px}.bi-result table{font-variant-numeric:tabular-nums}.bi-result th{position:sticky;top:0}.bi-result .table-scroll{max-height:520px}.bi-dashboard-grid .panel{margin-bottom:0}.bi-dashboard-grid{margin-bottom:22px}@media(max-width:1150px){.bi-editor-layout{grid-template-columns:1fr}.bi-editor-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.bi-editor-config .panel{margin-bottom:0}}@media(max-width:680px){.bi-kpis{grid-template-columns:1fr 1fr}.bi-kpi{padding:14px}.bi-kpi strong{font-size:22px}.bi-toolbar select{width:100%}}

.success-message{margin-bottom:22px;padding:18px 22px;border:1px solid #9ac7aa;border-left:5px solid #2c8051;border-radius:8px;background:#eaf6ed;color:#205738;font-size:15px;font-weight:600;line-height:1.8}

aside nav{min-height:0;overflow-y:auto;align-content:start}aside footer{flex-shrink:0;padding-top:14px}

.phase1-table .table-scroll:last-child table{min-width:800px}.phase1-table td button{white-space:nowrap}.phase1-table td{word-break:normal;overflow-wrap:normal}

/* R&D template and project editors */
.rd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.rd-health{margin:0}.rd-health strong{display:block;font-size:32px;margin-top:10px}.rd-health.green{border-top:4px solid #2d8765}.rd-health.yellow{border-top:4px solid #c2931e}.rd-health.red{border-top:4px solid #c7544b}.rd-line{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding:10px 0;border-bottom:1px solid #e4e9ee}.rd-line label{flex:1;min-width:150px}.rd-stage-editor{margin:14px 0;padding:18px;border:1px solid #dce4ea;border-radius:10px}fieldset{min-width:0}fieldset>small{display:block;margin-bottom:10px}.rd-line button{margin:0 0 8px}.rd-stage-editor legend{font-weight:600}.panel .panel{box-shadow:none}form>button{margin-top:16px}.rd-line select,.rd-line input{width:100%}
/* Project planning workspace */
.rd-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.rd-cards strong{display:block;font-size:25px;margin-top:10px}.gantt-scroll{overflow:auto;max-height:650px;border:1px solid var(--line,#dce3eb);border-radius:10px}.gantt-grid{position:relative;background:white}.gantt-row{display:flex;height:42px;border-bottom:1px solid #e6eaf0;box-sizing:border-box}.gantt-heading{position:sticky;top:0;z-index:5;background:#f0f5fa}.gantt-name{position:sticky;left:0;z-index:3;width:240px;min-width:240px;display:flex;align-items:center;gap:8px;padding:6px 12px;box-sizing:border-box;background:#f8fafc;border-right:1px solid #dde5ee;font-size:13px;overflow:hidden}.gantt-kind{font-size:10px;white-space:nowrap;color:#50647c;border:1px solid #ccd6e1;border-radius:5px;padding:2px 4px}.gantt-track{position:relative;flex-shrink:0;background:repeating-linear-gradient(90deg,transparent,transparent 69px,#eaf0f6 70px)}.gantt-tick{position:absolute;top:12px;font-size:11px;white-space:nowrap;color:#50647c}.gantt-bar{position:absolute;top:8px;height:26px;min-height:0;padding:3px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;border-radius:5px;background:#3579b6;color:white;font-size:12px;text-align:left;z-index:2}.gantt-bar.stage{background:#576e85}.gantt-bar.project{background:#1d6b69}.gantt-bar.done{background:#33825a}.gantt-bar.milestone{background:transparent;color:#a55c14;font-size:22px;padding:0;overflow:visible}.gantt-links{position:absolute;top:0;left:0;pointer-events:none;z-index:1}.gantt-links path{fill:none;stroke:#a5733f;stroke-width:1.4;stroke-dasharray:3 2}
dialog.approval-confirm{width:min(620px,calc(100vw - 48px));max-height:85vh;overflow:auto;border:1px solid #d5dce5;border-radius:14px;padding:28px;color:#182b3a;box-shadow:0 20px 60px #0003}dialog.approval-confirm::backdrop{background:#172b4d66}.approval-confirm p{line-height:1.7}.approval-confirm label{display:grid;gap:8px;margin:20px 0}.approval-confirm-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}
/* Organization and employee actions remain visible in narrow workspace panels. */
.people-table td:last-child button{white-space:nowrap}
@media(max-width:1000px){
 .people-table,.people-table tbody{display:block;width:100%}
 .people-table thead{display:none}
 .people-table tbody{display:grid;gap:16px}
 .people-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e0e7e1;border-radius:8px;padding:14px;gap:12px;background:#fff}
 .people-table td{display:block;border:0;padding:0;max-width:none;min-width:0;order:2;line-height:1.6}
 .people-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:400;color:#7f9086;margin-bottom:3px}
 .people-table td:first-child{grid-column:1/-1;order:0;font-size:16px;font-weight:600}
 .people-table td:last-child{grid-column:1/-1;order:1;padding-bottom:8px;border-bottom:1px solid #edf1eb;display:flex;gap:6px;flex-wrap:wrap}
 .people-table td:last-child:before{display:none}
 .people-table td:last-child button{margin:0;font-size:12px;padding:7px 12px}
}
/* Professional R&D uses the existing controls and responsive project workspace. */
.rd-pro-field { padding:12px 0; border-bottom:1px solid #e4e8ef; }
.rd-pro-field p { white-space:pre-wrap; overflow-wrap:anywhere; margin:6px 0; }
.rd-diff { white-space:pre-wrap; overflow-wrap:anywhere; max-height:540px; overflow:auto; background:#f5f7fa; padding:16px; border-radius:10px; line-height:1.6; }
.rd-risk-grid { display:grid; grid-template-columns:minmax(84px,1.4fr) repeat(5,minmax(46px,1fr)); gap:6px; max-width:640px; align-items:center; text-align:center; }
.rd-risk-grid button { min-height:42px; margin:0; }
.risk-high { background:#fee2e2; color:#991b1b; border-color:#fca5a5; }
.risk-mid { background:#fef3c7; color:#854d0e; border-color:#fcd34d; }
.risk-low { background:#dcfce7; color:#166534; border-color:#86efac; }
.rd-document-image { display:block; max-width:100%; max-height:640px; object-fit:contain; }
.audit-results{margin-top:24px;border-top:1px solid #e0e7e1;padding-top:12px}
.audit-summary{font-weight:600;color:#284c43}
.audit-pagination{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.audit-results .table-scroll{max-height:650px}
.audit-results th{position:sticky;top:0}

.rd-lifecycle-performance table{min-width:1320px}.rd-lifecycle-performance td,.rd-lifecycle-performance th{white-space:nowrap}.rd-lifecycle-performance .table-scroll{max-width:100%;overflow-x:auto}
