:root{--bg:#0a0e15;--panel:#111824;--panel2:#151e2c;--line:#27344a;--text:#eef5ff;--muted:#8e9bb1;--blue:#3da8ff;--cyan:#62e5ff}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#15365a44,transparent 30%),var(--bg);color:var(--text);font:14px system-ui,Segoe UI,Arial}.app{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.side{border-right:1px solid var(--line);padding:20px 14px;background:#0a0f17ee}.brand{display:flex;gap:10px;align-items:center;margin-bottom:22px}.logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#06111b;display:grid;place-items:center;font-weight:900}.brand b{letter-spacing:.12em}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.16em;margin-top:3px}.navtitle{color:#64748c;font-size:10px;text-transform:uppercase;letter-spacing:.18em;margin:16px 10px 7px}.nav a{display:block;padding:10px 11px;border-radius:10px;color:#cbd5e4;margin:3px 0;text-decoration:none}.nav a:hover,.nav a.active{background:#172233;color:#fff}.main{padding:24px;max-width:1500px;width:100%;min-width:0}.top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:20px}.top h1{margin:0;font-size:27px}.sub{color:var(--muted);margin-top:5px}.tools{display:flex;gap:8px;align-items:center}.search{width:280px;background:var(--panel);border:1px solid var(--line);padding:10px 12px;border-radius:11px;min-width:0}.search input{width:100%;background:none;border:0;outline:0;color:#fff}.btn{border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:10px;padding:10px 12px}.primary{border:0;background:linear-gradient(135deg,#238de4,#35bbdf);color:#06111b;font-weight:800}.layout{display:grid;grid-template-columns:1.55fr .95fr;gap:18px}.panel{background:linear-gradient(180deg,#151e2cf0,#101722f0);border:1px solid var(--line);border-radius:17px;padding:18px;box-shadow:0 18px 45px #0005}.hero{padding:21px}.eyebrow{font-size:10px;color:var(--cyan);letter-spacing:.2em;font-weight:800}.hero h2{font-size:25px;margin:7px 0}.hero p{color:var(--muted);line-height:1.55;margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.stat{background:#0f1722;border:1px solid var(--line);border-radius:12px;padding:13px}.stat b{font-size:20px}.stat span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.mt{margin-top:18px}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.title h3{margin:0;font-size:14px}.small{font-size:11px;color:var(--muted)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.tool{display:block;min-height:100px;background:#0f1722;border:1px solid var(--line);border-radius:13px;padding:12px;text-decoration:none;color:#fff}.tool:hover{border-color:#3b6189;transform:translateY(-1px)}.ico{width:36px;height:36px;border-radius:10px;background:#17263a;border:1px solid #2c4563;display:grid;place-items:center;font-size:11px;font-weight:900;color:#c9eaff}.tool b{display:block;margin-top:10px;font-size:12px}.tool span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.toolbox-layout{display:grid;grid-template-columns:220px 1fr;gap:12px}.calc-list{display:grid;gap:8px}.calc-card{display:block;width:100%;text-align:left;background:#0f1722;border:1px solid var(--line);border-radius:11px;padding:10px 11px;color:#fff;cursor:pointer}.calc-card.active,.calc-card:hover{border-color:#3b6189;background:#172233}.calc-card-name{font-size:12px;font-weight:800}.calc-card-desc{font-size:10px;color:var(--muted);margin-top:3px}.calc-panel{background:#0f1722;border:1px solid var(--line);border-radius:12px;padding:12px}.calc-form{display:grid;gap:10px}.calc-header h4{margin:0;font-size:16px}.calc-header p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.calc-field{display:grid;gap:6px;color:var(--muted);font-size:11px}.calc-field input,.calc-field select{width:100%;background:#0b121a;border:1px solid var(--line);border-radius:9px;padding:9px 10px;color:#fff;outline:0}.calc-actions{display:flex;gap:8px;flex-wrap:wrap}.calc-output{background:#0b121a;border:1px solid var(--line);border-radius:10px;padding:10px;min-height:74px}.calc-summary{display:grid;gap:5px}.calc-primary{font-size:20px;font-weight:800;color:#c7f1ff}.calc-message{color:var(--muted);font-size:12px;line-height:1.45}.calc-note{color:var(--muted);font-size:11px;line-height:1.5}.calc-error{color:#ffd5d5;font-size:12px;font-weight:700}.links{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.link{display:flex;gap:9px;align-items:center;background:#0f1722;border:1px solid var(--line);border-radius:11px;padding:10px;text-decoration:none;color:#fff}.link .ico{width:29px;height:29px;font-size:9px}.clock{display:grid;grid-template-columns:1fr 1fr;gap:10px}.box{background:#0f1722;border:1px solid var(--line);border-radius:13px;padding:14px}.time{font-size:29px;font-weight:900}.timer{font-size:42px;font-weight:900;text-align:center;padding:6px}.center{text-align:center}.progress{height:5px;background:#243143;border-radius:99px;overflow:hidden;margin:7px 0 12px}.bar{height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));width:100%}.todos{display:flex;flex-direction:column;gap:8px}.todo{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;background:#0f1722;border:1px solid var(--line);border-radius:10px;padding:9px}.todo.done div{text-decoration:line-through;color:#68778e}.todo button{background:none;border:0;color:#718198;font-size:18px}.add{display:flex;gap:7px;margin-top:9px}.add input,.notes{width:100%;background:#0c131d;border:1px solid var(--line);border-radius:10px;padding:10px;color:#fff;outline:0}.notes{min-height:125px;resize:vertical}.footer{text-align:center;color:#617089;font-size:10px;margin-top:18px}
.research-workspace{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.research-toolbar{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(4,minmax(110px,1fr)) auto;gap:8px;margin-bottom:12px}.research-toolbar input,.research-toolbar select,.research-form input,.research-form select,.research-form textarea{width:100%;background:#0b121a;border:1px solid var(--line);border-radius:9px;padding:9px 10px;color:#fff;outline:0}.research-form select[multiple]{min-height:88px}.research-list{display:grid;gap:9px}.research-card p{color:#b5c1d2;line-height:1.45;margin:9px 0}.research-tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.research-tags span{font-size:10px;color:#bdefff;background:#17263a;border:1px solid #2c4563;border-radius:99px;padding:3px 7px}.research-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:4px}.research-detail p{margin:0 0 8px}.research-status-inbox{color:#b9c6d8}.research-status-reading{color:#ffe0a3}.research-status-reviewed{color:#a8e8ff}.research-status-cited{color:#8ff0c4}.research-status-archived{color:#8e9bb1}.research-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.research-ai-select{background:#0b121a;border:1px solid var(--line);border-radius:8px;color:var(--cyan);font-size:10px;padding:4px 6px;outline:0;cursor:pointer}.research-ai-select:hover{border-color:#3da8ff}
@media(max-width:800px){.research-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.research-toolbar input{grid-column:1/-1}}
@media(max-width:480px){.research-toolbar{grid-template-columns:1fr}.research-toolbar input{grid-column:auto}}
.layout>section,.layout>aside{min-width:0}.project-empty{padding:18px;background:#0f1722;border:1px solid var(--line);border-radius:12px}.project-empty h4{margin:0 0 6px;font-size:15px}.project-empty p,.project-description{color:var(--muted);line-height:1.5;margin:0 0 13px}.project-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.project-header h4{font-size:21px;margin:5px 0}.project-meta{display:flex;gap:9px;align-items:center;margin:10px 0 14px}.project-status{background:#3a1f31;color:#ffb8d5;border:1px solid #74405c;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.project-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.project-stats .stat{padding:10px}.project-stats .stat b{font-size:17px}.project-progress{margin-top:15px}.project-progress .title{margin-bottom:5px}.project-progress .progress{margin:5px 0 0;height:8px}.project-progress .bar{background:linear-gradient(90deg,#d34b88,#ff8bb9)}.project-future{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.project-future span{color:#aab6c9;background:#151e2c;border:1px solid var(--line);border-radius:99px;padding:5px 8px;font-size:10px}.project-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.project-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.project-wide{grid-column:1/-1}.project-form textarea{width:100%;background:#0b121a;border:1px solid var(--line);border-radius:9px;padding:9px 10px;color:#fff;resize:vertical;font:inherit}.project-form [type="date"]{color-scheme:dark}.project-form [type="submit"]+.btn{white-space:nowrap}.project-form [role="status"]{color:#ffb8d5;align-self:center}.project-doc-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:12px 0}.project-doc-stats .stat{padding:10px}.document-traceability{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.document-traceability .small{display:block;padding:8px 10px;background:#0f1722;border:1px solid var(--line);border-radius:9px}.document-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:10px}.document-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.document-detail-grid div,.document-block{display:grid;gap:5px;padding:10px;background:#0b121a;border:1px solid var(--line);border-radius:10px}.document-detail-grid strong,.document-block strong{color:#cfe8ff;font-size:11px}.document-detail-grid span,.document-block p,.document-block a{color:#eef5ff;font-size:12px;line-height:1.5;margin:0}.document-detail-grid span{display:block}.document-block a{display:inline-block;color:var(--cyan)}.document-card .module-actions{display:flex;gap:6px}.document-card .module-actions button{background:none;border:1px solid var(--line);border-radius:8px;color:#dfe9f8;padding:6px 8px}.document-card .module-actions button[data-delete-document]{color:#ffb8d5}.workload-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;background:#0f1722;border:1px solid var(--line);border-radius:9px;padding:8px 10px;margin-top:8px}.workload-row b{font-size:12px}.workload-row span{color:var(--muted);font-size:10px}@media(max-width:800px){.project-doc-stats{grid-template-columns:repeat(3,1fr)}.document-detail-grid{grid-template-columns:1fr 1fr}.document-traceability{grid-template-columns:1fr}}@media(max-width:480px){.project-doc-stats{grid-template-columns:repeat(2,1fr)}.document-detail-grid{grid-template-columns:1fr}.workload-row{grid-template-columns:1fr}.project-module-filters{grid-template-columns:1fr}}
.task-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.task-stats span{background:#0f1722;border:1px solid var(--line);border-radius:9px;padding:7px 9px;color:var(--muted);font-size:11px}.task-stats b{color:#fff;margin-left:3px}.task-filters{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:8px;margin-bottom:12px}.task-filters label,.task-form label{display:grid;gap:5px;color:var(--muted);font-size:10px}.task-filters select,.task-form input,.task-form select,.task-form textarea{width:100%;background:#0b121a;border:1px solid var(--line);border-radius:9px;padding:8px 9px;color:#fff;outline:0;font:inherit}.task-filters .btn{align-self:end;padding:8px 10px}.todo{grid-template-columns:20px 1fr auto}.todo-content{min-width:0}.todo-content>b{font-size:12px}.todo-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;color:var(--muted);font-size:10px}.task-status,.task-priority{border-radius:99px;padding:3px 6px;border:1px solid var(--line)}.status-done{color:#9de8bd}.status-in-progress{color:#9edbff}.status-backlog{color:#b3bfd0}.task-priority{color:#ffd38e}.priority-critical{color:#ff9d9d}.todo-description{color:var(--muted);font-size:11px;line-height:1.35;margin-top:5px}.todo-actions{display:flex;gap:4px;align-items:center}.todo-actions button{font-size:11px}.task-form{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.task-form-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:8px}.task-wide{grid-column:1/-1}.task-form textarea{resize:vertical}.task-form [type="date"]{color-scheme:dark}.task-form [role="status"]{align-self:center;color:#ffb8d5}
.kanban-section,.team-section,.requirements-section,.milestones-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.kanban-board{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:9px}.kanban-column{background:#0c131d;border:1px solid var(--line);border-radius:11px;padding:9px;min-height:130px}.kanban-column.drop-active{border-color:#62e5ff;background:#122338}.kanban-column .title{margin-bottom:8px}.kanban-column h5,.team-section h4,.workload-list h5,.requirements-section h4,.milestones-section h4{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.kanban-dropzone{display:grid;gap:7px;min-height:90px}.kanban-card{background:#151e2c;border:1px solid var(--line);border-radius:9px;padding:9px;cursor:grab}.kanban-card:active{cursor:grabbing}.kanban-card b{font-size:11px;display:block}.kanban-card.overdue{border-color:#a85252}.kanban-card.done{opacity:.75}.kanban-edit{background:none;border:0;color:#9edbff;padding:4px 0 0;font-size:10px}.team-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}.team-list,.workload-list{display:grid;gap:7px}.team-member,.workload-row{display:flex;align-items:center;gap:8px;background:#0f1722;border:1px solid var(--line);border-radius:9px;padding:8px}.team-member.inactive{opacity:.55}.member-avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#3a1f31;color:#ffb8d5;font-size:10px;font-weight:800}.member-info{display:grid;gap:2px;min-width:0;flex:1}.member-info b{font-size:11px}.member-info span{color:var(--muted);font-size:10px}.member-actions{display:flex;gap:4px}.member-actions button{background:none;border:0;color:#9edbff;font-size:10px}.workload-row{display:grid;grid-template-columns:1.2fr repeat(4,auto);font-size:10px;color:var(--muted)}.workload-row b{color:#fff}.team-form{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px}.task-overdue{color:#ff9d9d}.project-module-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.project-module-filters select{background:#0b121a;border:1px solid var(--line);border-radius:9px;padding:7px 8px;color:#fff;font-size:10px;max-width:180px}.module-list{display:grid;gap:8px}.module-card{background:#0f1722;border:1px solid var(--line);border-radius:10px;padding:10px}.component-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;background:#0f1722;border:1px solid var(--line);border-radius:10px;padding:10px}.component-main,.component-number{display:flex;flex-direction:column;gap:4px}.component-main span,.component-number span{font-size:10px;color:var(--muted)}.component-number{text-align:right}.component-number b{color:var(--accent)}.budget-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.budget-breakdowns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}.budget-breakdowns h5{margin:0 0 5px}.breakdown-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:5px 0;font-size:10px}.module-card.module-overdue{border-color:#a85252}.module-card-head{display:flex;justify-content:space-between;gap:8px}.module-card h5{margin:4px 0;font-size:13px}.module-actions{display:flex;gap:5px}.module-actions button{background:none;border:0;color:#9edbff;font-size:10px}.module-card p{color:var(--muted);font-size:11px;line-height:1.4;margin:7px 0}.module-progress{color:var(--muted);font-size:10px;margin-top:8px}.module-progress .progress{margin:5px 0 0;height:5px}.module-form{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px}.module-form select[multiple]{min-height:64px}.module-form [type="date"]{color-scheme:dark}
.component-entry-method{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 8px;font-size:11px}.component-entry-method>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.component-importer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0c131d}.component-importer label{display:grid;gap:4px}.component-importer label span{font-size:10px;color:var(--muted)}.component-importer .small{grid-column:1/-1}.component-image-preview img{max-width:72px;max-height:72px;border-radius:7px;object-fit:contain;background:#fff}.component-image-preview{grid-column:1/-1}.module-card.module-overdue{border-color:#a85252}.module-card-head{display:flex;justify-content:space-between;gap:8px}.module-card h5{margin:4px 0;font-size:13px}.module-actions{display:flex;gap:5px}.module-actions button{background:none;border:0;color:#9edbff;font-size:10px}.module-card p{color:var(--muted);font-size:11px;line-height:1.4;margin:7px 0}.module-progress{color:var(--muted);font-size:10px;margin-top:8px}.module-progress .progress{margin:5px 0 0;height:5px}.module-form{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px}.module-form select[multiple]{min-height:64px}.module-form [type="date"]{color-scheme:dark}
.component-import-preview{grid-column:1/-1;margin-top:8px;padding:10px;border:1px solid #3c6477;border-radius:9px;background:#101f2a;overflow-wrap:anywhere}.component-import-preview strong{display:block;color:var(--accent);font-size:11px;letter-spacing:.08em}.import-preview-grid{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:5px 12px;margin:9px 0;font-size:10px}.import-preview-grid>span:nth-child(odd){color:var(--muted)}.import-preview-grid a{color:#9edbff}.import-preview-warning{color:#ffcf83;font-size:11px;line-height:1.4}.module-card.module-overdue{border-color:#a85252}.module-card-head{display:flex;justify-content:space-between;gap:8px}.module-card h5{margin:4px 0;font-size:13px}.module-actions{display:flex;gap:5px}.module-actions button{background:none;border:0;color:#9edbff;font-size:10px}.module-card p{color:var(--muted);font-size:11px;line-height:1.4;margin:7px 0}.module-progress{color:var(--muted);font-size:10px;margin-top:8px}.module-progress .progress{margin:5px 0 0;height:5px}.module-form{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px}.module-form select[multiple]{min-height:64px}.module-form [type="date"]{color-scheme:dark}
.experiments-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.experiment-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.experiment-card{overflow-wrap:anywhere}.experiment-status-passed{color:#8ff0b0}.experiment-status-failed{color:#ff9d9d}.experiment-status-blocked{color:#ffcf83}.experiment-detail{margin-top:10px;padding:10px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.experiment-detail b{color:var(--accent);font-size:9px;letter-spacing:.08em}.experiment-detail p{margin:4px 0 9px;line-height:1.5}.module-card.module-overdue{border-color:#a85252}.module-card-head{display:flex;justify-content:space-between;gap:8px}.module-card h5{margin:4px 0;font-size:13px}.module-actions{display:flex;gap:5px}.module-actions button{background:none;border:0;color:#9edbff;font-size:10px}.module-card p{color:var(--muted);font-size:11px;line-height:1.4;margin:7px 0}.module-progress{color:var(--muted);font-size:10px;margin-top:8px}.module-progress .progress{margin:5px 0 0;height:5px}.module-form{margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:10px}.module-form select[multiple]{min-height:64px}.module-form [type="date"]{color-scheme:dark}
@media(max-width:1050px){.app{grid-template-columns:70px 1fr}.side .text,.navtitle,.sidefoot{display:none}.grid4{grid-template-columns:repeat(3,1fr)}.toolbox-layout{grid-template-columns:1fr}.main{padding:18px}}
@media(max-width:800px){.layout{grid-template-columns:1fr}.top{flex-direction:column}.tools{width:100%;flex-wrap:wrap}.search{flex:1}.grid4{grid-template-columns:repeat(2,1fr)}.project-stats{grid-template-columns:repeat(2,1fr)}.task-filters{grid-template-columns:repeat(2,1fr)}.task-form-grid{grid-template-columns:repeat(2,1fr)}.kanban-board{overflow-x:auto;grid-template-columns:repeat(4,190px);padding-bottom:5px}.team-layout{grid-template-columns:1fr}.workload-row{grid-template-columns:1.1fr repeat(2,auto)}.project-module-filters{display:grid;grid-template-columns:repeat(2,1fr)}.project-module-filters select{max-width:none}.budget-summary{grid-template-columns:repeat(2,1fr)}.budget-breakdowns{grid-template-columns:1fr}.component-row{grid-template-columns:1fr auto}.component-row .module-actions{grid-column:1/-1}}
@media(max-width:800px){.layout{grid-template-columns:1fr}.top{flex-direction:column}.tools{width:100%;flex-wrap:wrap}.search{flex:1}.grid4{grid-template-columns:repeat(2,1fr)}.project-stats{grid-template-columns:repeat(2,1fr)}.task-filters{grid-template-columns:repeat(2,1fr)}.task-form-grid{grid-template-columns:repeat(2,1fr)}.kanban-board{overflow-x:auto;grid-template-columns:repeat(4,190px);padding-bottom:5px}.team-layout{grid-template-columns:1fr}.workload-row{grid-template-columns:1.1fr repeat(2,auto)}.project-module-filters{display:grid;grid-template-columns:repeat(2,1fr)}.project-module-filters select{max-width:none}.budget-summary{grid-template-columns:repeat(2,1fr)}.budget-breakdowns{grid-template-columns:1fr}.component-row{grid-template-columns:1fr auto}.component-row .module-actions{grid-column:1/-1}.experiment-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.links{grid-template-columns:1fr}.project-header{flex-direction:column}.project-form-grid,.task-form-grid{grid-template-columns:1fr}.project-wide,.task-wide{grid-column:auto}.task-filters{grid-template-columns:1fr}}.project-intelligence-wrap{display:grid;gap:15px}.project-intelligence-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}.project-intelligence-header h4{margin:4px 0 0;font-size:22px}.intelligence-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:10px}.metrics-grid{grid-template-columns:repeat(3, minmax(0,1fr));}.intelligence-section{margin-top:10px}.section-title{margin-bottom:8px}.section-title h5{margin:0;font-size:13px;color:#dfeaff}.intelligence-card{background:#0f1722;border:1px solid var(--line);border-radius:12px;padding:12px}.metric-card b{display:block;font-size:18px;margin:6px 0}.metric-card span{display:block;color:var(--muted);font-size:11px}.intelligence-card h6{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--cyan)}.intelligence-card ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:4px;font-size:12px}.two-col{grid-template-columns:repeat(2, minmax(0,1fr))}.attention-list,.readiness-list{display:grid;gap:10px}.attention-item{background:#0f1722;border:1px solid var(--line);border-radius:12px;padding:12px}.attention-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.severity-pill{padding:4px 7px;border-radius:999px;background:#1d2a3a;border:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.08em}.severity-high .severity-pill{background:#4a1c28;color:#ffd8df;border-color:#74485e}.severity-medium .severity-pill{background:#3a331f;color:#ffe8a9;border-color:#75653d}.severity-low .severity-pill{background:#19313b;color:#b7f2ff;border-color:#355e73}.attention-item b{display:block;margin-bottom:4px}.attention-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.readiness-row{background:#0f1722;border:1px solid var(--line);border-radius:10px;padding:10px}.readiness-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px}.readiness-head span{font-size:12px;color:#dfeaff}.table-scroll{overflow:auto}.intel-table{width:100%;border-collapse:collapse;border:1px solid var(--line);background:#0f1722;border-radius:10px;overflow:hidden}.intel-table th,.intel-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.intel-table th{color:#cfe7ff;background:#111d2d}.intel-table td{color:var(--muted)}.gap-card.warning{border-color:#5f2b35}.gap-card.info{border-color:#244966}.gap-card b{display:block;margin-top:6px;font-size:22px}.project-intelligence-section{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}@media(max-width:768px){.intelligence-grid,.metrics-grid,.two-col{grid-template-columns:1fr}.project-intelligence-header{flex-direction:column;align-items:flex-start}}
 .decision-stats{grid-template-columns:repeat(4,1fr)}.decision-card{scroll-margin-top:18px}.decision-card.module-overdue{border-color:#a85252}.decision-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:10px}.decision-alternatives{display:grid;gap:8px}.decision-alternative{display:grid;gap:4px;padding:10px;background:#0b121a;border:1px solid var(--line);border-radius:10px}.decision-alternative span{font-size:11px;color:var(--muted)}.decision-alternative p{margin:0;color:#dce8f8;font-size:12px;line-height:1.45}.decision-links{display:grid;gap:5px;padding:10px;background:#0b121a;border:1px solid var(--line);border-radius:10px}.decision-alternatives-form,.decision-links-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.decision-alternative-editor{display:grid;gap:8px;margin-top:8px;padding:10px;background:#0f1722;border:1px solid var(--line);border-radius:10px}.decision-alternative-editor .module-card-head{margin:0}.decision-alternative-editor .module-card-head button{background:none;border:0;color:#ffb8d5;font-size:10px}.decision-selected{display:flex!important;align-items:center;gap:7px;color:#cfe8ff!important}.decision-selected input{width:auto!important}.decisions-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}@media(max-width:800px){.decision-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.decision-stats{grid-template-columns:1fr}}
 .copilot-panel{overflow:hidden}.copilot-local-badge{font-size:10px;letter-spacing:.12em;color:#9ff4c1;border:1px solid #2c7353;border-radius:99px;padding:5px 8px}.copilot-overview{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#0f1722;border:1px solid var(--line);border-radius:12px;padding:14px}.copilot-overview h4{margin:5px 0;font-size:16px}.copilot-overview p{margin:0;color:var(--muted);line-height:1.45;font-size:12px}.copilot-workspace{display:grid;gap:12px;margin-top:14px}.copilot-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.copilot-context{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0}.copilot-context legend{padding:0 5px;color:#cfe7ff;font-size:11px}.copilot-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.copilot-context-grid label{color:#c5d3e7;font-size:11px;display:flex;gap:6px;align-items:center}.copilot-context-grid input{accent-color:var(--blue)}.copilot-context-summary{color:#9edbff;background:#0b121a;border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-size:11px;line-height:1.45}.copilot-workspace textarea{width:100%;background:#0b121a;border:1px solid var(--line);border-radius:9px;padding:10px;color:#fff;resize:vertical;font:inherit;line-height:1.45}.copilot-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.copilot-privacy{margin:0;color:#7889a2;font-size:10px;line-height:1.45}.intelligence-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:600px){.copilot-overview{align-items:flex-start;flex-direction:column}.copilot-controls{grid-template-columns:1fr}.copilot-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V1 presentation: shared surfaces, readable workspaces, and a live command center. */
:root {
  --muted: #9aa8ba;
  --rose: #f28bb0;
  --violet: #baa0ff;
  --green: #7edbb0;
  --amber: #e9bd75;
  color-scheme: dark;
}
body { background: var(--bg); line-height: 1.5; }
[hidden] { display: none !important; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button, input, select, textarea, fieldset { min-width: 0; max-width: 100%; }
button, .btn { min-height: 36px; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--accent, var(--cyan)); outline-offset: 3px;
}
[id] { scroll-margin-top: 24px; }
[tabindex="-1"]:focus { outline: none; }
.app { grid-template-columns: 224px minmax(0, 1fr); }
.side { position: sticky; top: 0; height: 100vh; overflow-y: auto; padding: 22px 14px; background: #0d131c; }
.brand { margin-bottom: 24px; }
.logo { border-radius: 9px; background: var(--cyan); flex-shrink: 0; }
.brand b { font-size: 14px; }
.navtitle { color: #8392a8; font-size: 9px; margin: 23px 10px 8px; letter-spacing: .14em; }
.nav a { display: flex; align-items: center; gap: 10px; font-size: 12px; padding: 8px 10px; border-radius: 6px; border-left: 2px solid transparent; margin: 2px 0; }
.nav a:hover { background: #18212f; }
.nav a.active { border-left-color: var(--cyan); background: #172733; color: #c5f5ff; }
.sidefoot { margin: 28px 10px 4px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 10px; color: var(--muted); line-height: 1.9; }
.local-dot { display: inline-block; width: 6px; height: 6px; background: var(--green); border-radius: 50%; margin-right: 5px; }
.side .menu-toggle { display: none; }
.main { max-width: 1680px; padding: 28px 32px; margin-inline: auto; }
.top { align-items: center; margin-bottom: 24px; flex-wrap: wrap; }
.top h1 { font-size: 21px; letter-spacing: -.03em; }
.sub { font-size: 12px; }
.tools { flex-wrap: wrap; }
.search { display: flex; gap: 6px; width: 220px; padding: 8px 10px; border-radius: 7px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 12px; border-radius: 7px; font-size: 12px; text-decoration: none; font-weight: 600; background: #192332; border: 1px solid #344156; }
.btn:hover { background: #223044; border-color: #5b708d; }
.btn.primary { background: var(--accent, var(--cyan)); border-color: transparent; color: #0b1520; }
.btn.primary:hover { filter: brightness(1.1); }
.layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.layout > aside { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.layout > aside > .mt { margin-top: 0; }
.panel { --accent: var(--cyan); padding: 22px; border-radius: 10px; background: #111923; box-shadow: none; border-color: #293446; }
.mt { margin-top: 24px; }
.title { gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
.title h3 { font-size: 16px; letter-spacing: -.015em; }
h4, h5, p, b, .small { overflow-wrap: anywhere; }
.section-description { color: var(--muted); font-size: 12px; margin: -2px 0 16px; line-height: 1.6; }
.title .section-description { margin: 4px 0 0; }
.title > .btn { margin-left: auto; }
.small { font-size: 12px; }
.eyebrow { color: var(--accent, var(--cyan)); font-size: 10px; letter-spacing: .16em; }
.stat { border-radius: 7px; padding: 13px; background: #0d151f; }
.stat b { font-variant-numeric: tabular-nums; }
.stat span { font-size: 11px; }
.empty-state { padding: 16px; border: 1px dashed #354255; border-radius: 7px; background: #0e1620; }
.empty-state b { display: block; font-size: 13px; font-weight: 600; }
.empty-state p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.empty-state .btn { margin-top: 12px; }
.progress { background: #283243; height: 5px; }
.bar { background: var(--accent, var(--cyan)); }
.text-link { color: var(--accent, var(--cyan)); text-decoration: none; font-size: 12px; }
.text-link:hover { text-decoration: underline; }
.count-badge { font-size: 11px; color: var(--muted); border: 1px solid var(--line); border-radius: 5px; padding: 3px 7px; }
.dashboard { display: grid; gap: 16px; }
.command-header { --accent: var(--rose); border-top: 2px solid var(--rose); padding: 24px; }
.command-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.command-heading > div { min-width: 0; }
.command-heading .btn { flex-shrink: 0; }
.command-heading h2 { margin: 7px 0 8px; font-size: 27px; line-height: 1.25; letter-spacing: -.035em; }
.command-heading .project-description { font-size: 13px; max-width: 760px; margin-bottom: 0; }
.project-meta { flex-wrap: wrap; gap: 12px; margin: 14px 0 22px; }
.project-status { font-size: 10px; padding: 4px 8px; border-radius: 5px; }
.command-metrics { display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); margin-top: 10px; }
.command-metric { text-decoration: none; border-left: 1px solid var(--line); padding: 4px 22px; min-width: 0; }
.command-metric:first-child { border: 0; padding-left: 0; }
.command-metric > span { display: block; font-size: 12px; color: var(--muted); }
.command-metric > b { display: block; font-size: 32px; font-weight: 650; line-height: 1.4; font-variant-numeric: tabular-nums; }
.command-metric small { display: block; color: var(--muted); font-size: 11px; }
.command-metric:hover > b { color: var(--rose); }
.command-metric .progress { max-width: 200px; margin: 4px 0 8px; }
.health-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); padding-top: 16px; margin-top: 20px; gap: 12px; }
.health-strip a { display: grid; gap: 3px; text-decoration: none; min-width: 0; }
.health-strip span { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.health-strip b { font-size: 12px; font-weight: 550; }
.health-strip a:hover b { color: var(--accent); }
.dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.attention-panel { --accent: var(--amber); }
.attention-list { gap: 8px; }
.attention-item { display: block; text-decoration: none; border-radius: 6px; padding: 11px 13px; background: #0d151f; border-left: 2px solid var(--amber); }
.attention-item:hover { background: #182230; border-color: #657088; }
.attention-item.severity-high { border-left-color: var(--rose); }
.attention-item.severity-low { border-left-color: var(--cyan); }
.attention-item b { font-size: 12px; font-weight: 600; }
.attention-item p { font-size: 11px; line-height: 1.5; }
.attention-meta { margin-bottom: 5px; }
.attention-meta .small { font-size: 9px; letter-spacing: .08em; }
.severity-pill { font-size: 8px; padding: 1px 5px; border-radius: 3px; }
.attention-more summary { font-size: 12px; color: var(--muted); padding: 8px 0; }
.attention-more .attention-item { margin-top: 8px; }
.upcoming-row { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 12px; align-items: center; padding: 13px 0; text-decoration: none; border-bottom: 1px solid var(--line); }
.upcoming-row:last-child { border-bottom: 0; }
.upcoming-row time { font-size: 11px; color: var(--muted); }
.upcoming-row b { display: block; font-size: 12px; font-weight: 600; }
.upcoming-row small { color: var(--muted); display: block; margin-top: 3px; font-size: 10px; }
.upcoming-row:hover b { color: var(--cyan); }
.dashboard-team { --accent: var(--rose); }
.member-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.member-strip > .empty-state { grid-column: 1 / -1; }
.member-summary { display: flex; align-items: flex-start; gap: 10px; text-decoration: none; padding: 10px; border-radius: 6px; background: #0d151f; }
.member-summary > div:last-child { min-width: 0; }
.member-summary b { font-size: 12px; }
.member-summary span { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.member-summary em { font-style: normal; color: #ffafb5; }
.member-summary:hover { background: #202332; }
.member-avatar { flex-shrink: 0; width: 30px; height: 30px; }
.project-panel, #tasks { --accent: var(--rose); }
#software, #ai-copilot { --accent: var(--violet); }
#research { --accent: var(--green); }
#docs, .documents-section { --accent: var(--amber); }
.project-header h4 { font-size: 22px; letter-spacing: -.02em; }
.project-stats { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.overview-primary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.overview-details { margin-top: 16px; }
.overview-details summary, .intelligence-disclosure > summary { padding: 12px 0; font-size: 12px; font-weight: 600; color: #cbd6e7; }
.intelligence-disclosure { margin-top: 18px; border-block: 1px solid var(--line); }
.intelligence-disclosure summary .small { margin-left: 12px; font-weight: 400; }
.project-future { gap: 8px; margin-top: 18px; }
.project-future a { padding: 6px 9px; border: 1px solid var(--line); border-radius: 5px; text-decoration: none; color: #bec9da; font-size: 11px; }
.project-future a:hover { color: var(--rose); border-color: var(--rose); }
.kanban-section, .team-section, .requirements-section, .milestones-section, .components-section, .experiments-section, .documents-section, .decisions-section { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.kanban-section h4, .team-section h4, .requirements-section h4, .milestones-section h4, .components-section h4, .experiments-section h4, .documents-section h4, .decisions-section h4 { margin: 0; font-size: 15px; text-transform: none; letter-spacing: 0; }
.kanban-board { grid-template-columns: repeat(4, minmax(180px, 1fr)); overflow-x: auto; padding-bottom: 8px; }
.kanban-column { border-radius: 7px; }
.kanban-card { border-radius: 6px; }
.kanban-card b { font-size: 12px; }
.team-layout { align-items: start; }
.module-card, .component-row, .team-member, .workload-row { border-radius: 7px; padding: 13px; }
.module-card-head, .module-actions, .member-actions { flex-wrap: wrap; }
.module-actions button, .member-actions button, .todo-actions button, .kanban-edit { font-size: 11px; min-height: 32px; color: #b9d6ed; padding: 5px 8px; }
.module-actions button:hover, .member-actions button:hover, .todo-actions button:hover { background: #263448; border-radius: 4px; }
.module-card h5 { font-size: 14px; }
.module-card p { font-size: 12px; line-height: 1.6; }
.module-form, .team-form, .project-form, .task-form { padding: 16px; background: #0c141e; border: 1px solid var(--line); border-radius: 7px; }
.task-form-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.task-form-grid label, .project-form-grid label { min-width: 0; }
.module-form label, .team-form label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
.module-form input, .module-form textarea, .module-form select, .team-form input { width: 100%; background: #101b28; color: var(--text); border: 1px solid #35435a; border-radius: 6px; padding: 9px; }
input, textarea, select { accent-color: var(--accent, var(--cyan)); }
.calc-actions { margin-top: 12px; }
.task-filters { grid-template-columns: repeat(5, minmax(0, 1fr)) auto; }
.task-filters select, .project-module-filters select, .research-toolbar select { font-size: 12px; min-height: 36px; }
.research-toolbar { grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)) auto; }
.todo { padding: 13px; }
.todo-content > b { font-size: 13px; }
.todo-actions button { font-size: 12px; }
.toolbox-layout { grid-template-columns: 230px minmax(0, 1fr); }
.tool, .link, .calc-card, .calc-panel { border-radius: 7px; }
.tool:hover { transform: none; border-color: var(--accent); }
.ico { color: var(--accent); background: #182330; border-color: var(--line); border-radius: 6px; flex-shrink: 0; }
.tool b { font-size: 13px; }
.tool span { font-size: 11px; }
.calc-card.active { border-color: var(--cyan); background: #132c37; }
.copilot-local-badge { white-space: nowrap; }
.copilot-overview .eyebrow { color: var(--violet); }
.table-scroll { max-width: 100%; }
.project-intelligence-wrap { grid-template-columns: minmax(0, 1fr); }
.project-intelligence-wrap > *, .intelligence-grid > * { min-width: 0; }
.intel-table { min-width: 500px; }
@media (max-width: 1200px) {
  .main { padding: 24px; }
  .member-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout > aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout > aside #notes { grid-column: 1 / -1; }
  .task-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 801px) and (max-width: 1050px) {
  .app { grid-template-columns: 196px minmax(0, 1fr); }
  .side .text, .side .navtitle, .side .sidefoot { display: block; }
  .side { padding-inline: 10px; }
  .nav a { font-size: 11px; }
}
@media (max-width: 1050px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .command-metric { padding-inline: 14px; }
  .command-heading { flex-wrap: wrap; gap: 12px; }
  .research-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .task-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-layout, .toolbox-layout { grid-template-columns: 1fr; }
  .calc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  [id] { scroll-margin-top: 84px; }
  .app { display: block; }
  .side { height: 64px; width: 100%; z-index: 10; padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; border-right: 0; border-bottom: 1px solid var(--line); overflow: visible; }
  .side .brand { margin: 0; }
  .side .text { display: block; }
  .side .menu-toggle { display: inline-flex; }
  #workspaceNavigation { display: none; position: absolute; top: 63px; left: 0; width: min(340px, 100%); max-height: calc(100dvh - 64px); overflow-y: auto; padding: 0 18px 18px; background: #0d131c; border: 1px solid var(--line); box-shadow: 12px 20px 32px #0008; }
  .menu-open #workspaceNavigation { display: block; }
  .side .navtitle, .side .sidefoot { display: block; }
  .nav a { padding-block: 10px; }
  .top { align-items: stretch; }
  .tools { width: 100%; }
  .search { width: auto; flex: 1; }
  .command-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .command-metric > b { font-size: 27px; }
  .health-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-stats.overview-primary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .project-module-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .copilot-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .main { padding: 20px 14px; }
  .top h1 { font-size: 19px; }
  .tools .search { flex-basis: 100%; }
  .panel, .command-header { padding: 16px; }
  .command-heading h2 { font-size: 24px; }
  .command-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }
  .command-metric:nth-child(3) { border-left: 0; padding-left: 0; }
  .command-metric > b { font-size: 30px; }
  .dashboard-grid, .member-strip, .layout > aside, .task-filters, .task-form-grid, .project-form-grid, .project-module-filters, .research-toolbar { grid-template-columns: minmax(0, 1fr); }
  .project-stats.overview-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .layout > aside #notes { grid-column: auto; }
  .project-header, .module-card-head { flex-direction: column; }
  .title { gap: 8px; }
  .title > .small { flex-basis: 100%; }
  .title > .btn { margin-left: 0; }
  .todo { grid-template-columns: 20px minmax(0, 1fr); }
  .todo-actions { grid-column: 2; justify-content: flex-end; }
  .intelligence-disclosure summary .small { display: block; margin: 4px 0 0; }
  .component-importer { grid-template-columns: minmax(0, 1fr); }
  .document-detail-grid, .document-traceability, .budget-breakdowns { grid-template-columns: minmax(0, 1fr); }
  .project-doc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .component-row { grid-template-columns: minmax(0, 1fr); }
  .component-number { text-align: left; }
  .workload-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workload-row b { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
