:root{--ink:#111318;--ink-soft:#4f5663;--ink-muted:#747b88;--paper:#fff;--canvas:#f7f8fa;--surface:#f0f3f7;--line:#dfe3e8;--line-dark:#c9ced6;--blue:#0b57d0;--blue-dark:#0842a0;--blue-soft:#e9f1ff;--green:#137a63;--green-soft:#e6f4ef;--red:#b42318;--red-soft:#fff0ee;--radius-sm:10px;--radius-md:18px;--radius-lg:28px;--shadow:0 18px 50px rgb(22 31 45 / 8%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}::selection{background:#cfe0ff;color:var(--ink)}:focus-visible{outline:3px solid rgb(11 87 208 / 32%);outline-offset:3px}.skip-link{position:fixed;top:-80px;left:18px;z-index:1000;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px}.skip-link:focus{top:12px}.eyebrow{margin:0 0 10px;color:var(--blue);font-size:.72rem;font-weight:750;letter-spacing:.11em}.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--blue);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:-.04em}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 18px;border:1px solid;border-radius:999px;font-weight:680;transition:all .15s ease;background:transparent}.button:hover{transform:translateY(-1px)}.button-small{min-height:40px;padding:8px 14px;font-size:.88rem}.button-blue{background:var(--blue);border-color:var(--blue);color:#fff}.button-blue:hover{background:var(--blue-dark);border-color:var(--blue-dark)}.button-dark{background:var(--ink);border-color:var(--ink);color:#fff}.button-outline{border-color:var(--line-dark);color:var(--ink);background:#fff}.button-outline:hover{background:var(--surface)}.button-quiet{border-color:transparent;color:var(--ink-soft)}.icon-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:1.3rem}.icon-button:hover{background:var(--surface);border-color:var(--line-dark)}
.login-view{min-height:100vh;padding:28px 4vw 40px;background:linear-gradient(90deg,var(--canvas) 0 62%,var(--paper) 62%)}.login-brand{display:flex;align-items:center;gap:10px}.login-grid{min-height:calc(100vh - 100px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.65fr);align-items:center;gap:8vw;max-width:1300px;margin:auto}.login-copy h1{margin:0;max-width:760px;font-size:clamp(3rem,6.2vw,6rem);line-height:.97;letter-spacing:-.064em;font-weight:590}.login-copy h1 span{color:var(--blue)}.lead{max-width:720px;margin:24px 0;color:var(--ink-soft);font-size:clamp(1.02rem,1.7vw,1.25rem);line-height:1.65}.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.trust-row span{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-soft);font-size:.78rem;font-weight:620}.login-card{padding:38px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.login-card h2{margin:0;font-size:2rem;letter-spacing:-.04em}.login-card>p:not(.eyebrow){color:var(--ink-soft)}label{display:grid;gap:7px;margin:18px 0 0;font-size:.82rem;font-weight:680;color:var(--ink-soft)}input,select{width:100%;height:48px;border:1px solid var(--line-dark);border-radius:var(--radius-sm);background:#fff;padding:0 13px;color:var(--ink)}input:hover,select:hover{border-color:#aeb5bf}.login-card .button{width:100%;margin-top:24px}.form-note{text-align:center;font-size:.76rem;color:var(--ink-muted)!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr;grid-template-rows:72px 1fr}.topbar{position:sticky;top:0;z-index:100;grid-column:1/-1;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:20px;height:72px;padding:0 22px;border-bottom:1px solid rgb(223 227 232 / 82%);background:rgb(255 255 255 / 88%);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font-weight:740}.product-name{margin-left:6px;padding-left:14px;border-left:1px solid var(--line);color:var(--blue);font-size:.8rem;letter-spacing:.08em}.context-bar{display:flex;justify-content:center;color:var(--ink-soft);font-size:.86rem}.context-bar span{padding:7px 12px;border-radius:999px;background:var(--surface)}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:8px;height:42px;padding:4px 11px 4px 5px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:650}.user-chip>span:first-child{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue-soft);color:var(--blue-dark)}.mobile-only{display:none}
.sidebar{position:sticky;top:72px;height:calc(100vh - 72px);display:flex;flex-direction:column;padding:24px 16px 16px;border-right:1px solid var(--line);background:#fff}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.sidebar-heading h2{margin:0;font-size:1.4rem;letter-spacing:-.03em}.sidebar-actions{padding:16px 6px}.sidebar-actions .button{width:100%}.project-list{display:grid;gap:6px;overflow:auto}.project-item{display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:left}.project-item:hover{background:var(--canvas);border-color:var(--line)}.project-item.active{background:var(--blue-soft);border-color:#cbdcf8}.project-item strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-item small{color:var(--ink-muted)}.project-item .count{grid-row:1/3;grid-column:2;align-self:center;padding:3px 7px;border-radius:999px;background:var(--surface);font-size:.72rem}.sidebar-footer{display:flex;align-items:center;gap:8px;margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--line);color:var(--ink-muted);font-size:.72rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green)}
.main{min-width:0;padding:30px 34px 60px}.empty-state{max-width:1100px;margin:8vh auto 0}.empty-mark{float:right;display:grid;place-items:center;width:150px;height:150px;border-radius:var(--radius-lg);background:var(--ink);color:#fff;font-size:2.5rem;font-weight:720;letter-spacing:-.06em}.empty-state h1{margin:0;max-width:800px;font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.01;letter-spacing:-.058em;font-weight:590}.empty-actions{display:flex;gap:10px;margin:28px 0 64px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid article{min-height:220px;padding:24px;border-top:2px solid var(--line-dark);background:#fff}.feature-grid article span{color:var(--blue);font-weight:720}.feature-grid h3{margin-top:72px;margin-bottom:8px;font-size:1.3rem;letter-spacing:-.03em}.feature-grid p{margin:0;color:var(--ink-soft)}
.workspace{max-width:1500px;margin:auto}.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.workspace-heading h1{margin:0;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.048em;font-weight:590}.project-meta{margin:6px 0 0;color:var(--ink-muted)}.validation-summary{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #bde2d5;border-radius:999px;background:var(--green-soft);color:#254b41;font-weight:650}.validation-summary.error{border-color:#f1c0ba;background:var(--red-soft);color:var(--red)}.validation-summary.warning{border-color:#cbdcf8;background:var(--blue-soft);color:var(--blue-dark)}.command-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.command-separator{height:28px;width:1px;margin:0 4px;background:var(--line)}
.prompt-panel{margin:16px 0;padding:18px;border:1px solid #cbdcf8;border-radius:var(--radius-md);background:var(--blue-soft)}.prompt-label{display:flex;align-items:center;gap:11px}.prompt-label>div{display:grid}.prompt-label span:last-child{color:#405069;font-size:.78rem}.ai-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-size:.72rem;font-weight:760}.prompt-form{display:flex;gap:9px;margin-top:14px}.prompt-form input{background:#fff}.prompt-result{margin-top:14px;padding:14px;border:1px solid #cbdcf8;border-radius:var(--radius-sm);background:#fff}.preview-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:12px 0}.preview-value{padding:10px;border-radius:var(--radius-sm);background:var(--surface)}.prompt-result .actions{display:flex;gap:8px;margin-top:12px}
.view-header{display:flex;align-items:center;justify-content:space-between;margin-top:20px;border-bottom:1px solid var(--line)}.tabs{display:flex;gap:4px}.tab{min-height:48px;padding:0 15px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink-soft);font-weight:680}.tab:hover{color:var(--ink)}.tab.active{border-color:var(--blue);color:var(--blue)}.view-tools{display:flex;align-items:center;gap:12px}.view-tools input{width:220px;height:38px}.quiet{color:var(--ink-muted);font-size:.78rem}.view-panel{display:none;min-height:420px;margin-top:14px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;overflow:hidden}.view-panel.active{display:block}.table-wrap{overflow:auto;max-height:58vh}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}th{position:sticky;top:0;z-index:2;background:var(--canvas);color:var(--ink-muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}td{font-size:.86rem}.activity-row{cursor:pointer}.activity-row:hover{background:#fafbfc}.activity-row.selected{background:var(--blue-soft)}.critical-id{display:inline-flex;align-items:center;gap:7px;font-weight:700}.critical-id::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--surface);font-size:.72rem;font-weight:650}.status-pill.critical{background:var(--blue-soft);color:var(--blue-dark)}
.gantt-canvas{overflow:auto;max-height:62vh}.gantt-head,.gantt-row{display:grid;grid-template-columns:280px minmax(700px,1fr)}.gantt-head{position:sticky;top:0;z-index:3;background:var(--canvas)}.gantt-label{padding:10px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-timeline{position:relative;min-height:42px;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,var(--line) 1px,transparent 1px);background-size:40px 100%}.gantt-bar{position:absolute;top:9px;height:24px;min-width:5px;border-radius:6px;background:var(--blue);color:#fff;font-size:.67rem;padding:4px 7px;overflow:hidden;white-space:nowrap}.gantt-bar.with-baseline{top:20px;height:18px}.gantt-baseline-bar{position:absolute;top:5px;height:11px;min-width:5px;border:2px solid #38465b;border-radius:4px;background:transparent}.gantt-bar.noncritical{background:#6f91c9}.gantt-row:hover{background:#fafbfc}.gantt-row.selected .gantt-label{background:var(--blue-soft)}.gantt-scale{display:flex;height:42px}.gantt-scale span{flex:1;min-width:40px;padding:11px 5px;border-right:1px solid var(--line);color:var(--ink-muted);font-size:.66rem}.gantt-legend{display:flex;align-items:center;gap:5px;margin-top:3px;color:var(--ink-muted);font-size:.62rem}.gantt-legend i,.gantt-legend b{width:14px;height:7px;border:2px solid #38465b;border-radius:2px}.gantt-legend b{border:0;background:var(--blue)}
.detail-panel{padding:28px}.empty-detail{text-align:center;padding:80px 20px;color:var(--ink-muted)}.empty-detail span{font-size:2rem}.detail-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.detail-head h2{margin:0;font-size:2rem;letter-spacing:-.04em}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.detail-field{padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm)}.detail-field span{display:block;color:var(--ink-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.detail-field strong{display:block;margin-top:6px}.evidence-note{margin-top:18px;padding:16px;border-radius:var(--radius-sm);background:var(--green-soft);color:#254b41}.xml-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--ink-muted);font-size:.78rem}.xml-code{height:58vh;margin:0;padding:18px;overflow:auto;background:#16191f;color:#dce4ef;font:12px/1.55 "SFMono-Regular",Consolas,monospace;white-space:pre}
.modal,.tutorial{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}.modal{width:min(560px,calc(100% - 30px));padding:0}.modal::backdrop,.tutorial::backdrop{background:rgb(17 19 24 / 42%);backdrop-filter:blur(2px)}.modal form{padding:26px}.modal-head,.tutorial-head{display:flex;align-items:flex-start;justify-content:space-between}.modal h2,.tutorial h2{margin:0;font-size:1.8rem;letter-spacing:-.04em}.modal-body{display:grid;gap:2px;margin-top:20px}.modal-body label{margin-top:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:28px}.tutorial{width:min(680px,calc(100% - 30px));padding:30px}.tutorial ol{display:grid;gap:12px;margin:24px 0;padding:0;list-style:none;counter-reset:steps}.tutorial li{counter-increment:steps;display:grid;grid-template-columns:38px 1fr;column-gap:12px}.tutorial li::before{content:counter(steps);grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:720}.tutorial li span{color:var(--ink-soft)}.info-note{padding:15px;border:1px solid #cbdcf8;border-radius:var(--radius-sm);background:var(--blue-soft);color:#405069}.info-note p{margin:5px 0 0}.tutorial>.button{margin-top:20px}.toast{position:fixed;right:22px;bottom:22px;z-index:1000;max-width:420px;padding:13px 17px;border-radius:var(--radius-sm);background:var(--ink);color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.18s ease}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:var(--red)}
@media(max-width:1020px){.app-shell{grid-template-columns:230px 1fr}.topbar{grid-template-columns:210px 1fr auto}.main{padding:24px 22px}.detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.login-view{background:var(--canvas)}.login-grid{grid-template-columns:1fr;padding:60px 0}.login-card{max-width:560px}.app-shell{display:block}.topbar{grid-template-columns:auto 1fr auto}.mobile-only{display:grid}.topbar .brand>span:not(.brand-mark),.context-bar,.top-actions>.button{display:none}.sidebar{position:fixed;top:72px;left:0;z-index:80;width:270px;transform:translateX(-105%);transition:.18s ease;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main{padding:22px 16px}.feature-grid{grid-template-columns:1fr}.empty-mark{display:none}.workspace-heading{align-items:flex-start}.command-separator{display:none}.gantt-head,.gantt-row{grid-template-columns:200px minmax(700px,1fr)}}
@media(max-width:600px){.login-view{padding:18px 16px}.login-copy h1{font-size:3.2rem}.login-card{padding:24px}.trust-row{margin-top:20px}.topbar{padding:0 12px}.user-chip #user-name{display:none}.main{padding:18px 12px}.empty-actions,.prompt-form{flex-direction:column}.empty-actions .button,.prompt-form .button{width:100%}.workspace-heading{display:block}.validation-summary{width:max-content;margin-top:12px}.command-bar .button{flex:1}.view-header{align-items:flex-start;overflow-x:auto}.view-tools{display:none}.detail-grid{grid-template-columns:1fr}.preview-grid{grid-template-columns:1fr}.preview-grid>span{text-align:center}.modal form{padding:20px}}
.login-view{background:var(--canvas)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Core schedule-management additions */
.validation-summary{font:inherit;cursor:pointer}.validation-summary:hover{filter:brightness(.98)}
.wbs-toolbar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.wbs-toolbar>div{display:grid}.wbs-toolbar span{color:var(--ink-muted);font-size:.78rem}.wbs-tree{padding:8px 0}.wbs-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:7px 16px 7px calc(16px + var(--depth)*28px);border-bottom:1px solid var(--line)}.wbs-row:hover,.wbs-row.selected{background:var(--blue-soft)}.wbs-select{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:12px;padding:8px;border:0;background:transparent;text-align:left}.wbs-code{color:var(--blue);font-size:.78rem;font-weight:720}.wbs-select small{color:var(--ink-muted)}.wbs-actions,.logic-row>span:last-child{display:flex;gap:5px}.wbs-actions button,.logic-row button,.active-filter button{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink-soft);font-size:.72rem}.wbs-actions button:hover,.logic-row button:hover{border-color:var(--line-dark);color:var(--ink)}
.active-filter{padding:9px 14px;border-bottom:1px solid #cbdcf8;background:var(--blue-soft);color:#405069;font-size:.8rem}.active-filter button{margin-left:8px;color:var(--blue)}
.detail-actions{display:flex;align-items:center;gap:8px}.danger{color:var(--red)}.logic-section{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.logic-section h3{margin:0 0 12px}.logic-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:7px;font-size:.84rem}
.validation-list{display:grid;gap:8px}.validation-item{padding:12px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius-sm)}.validation-item.error{border-left-color:var(--red)}.validation-item p{margin:4px 0 0;color:var(--ink-soft)}.query-findings{display:grid;gap:4px;max-height:260px;overflow:auto;margin:10px 0;padding:10px;border-radius:var(--radius-sm);background:var(--surface)}
.tour-coach{position:fixed;right:24px;bottom:24px;z-index:1200;width:min(400px,calc(100% - 32px));padding:22px;border:1px solid #cbdcf8;border-radius:var(--radius-md);background:#fff;box-shadow:0 20px 65px rgb(10 31 68 / 22%)}.tour-coach h3{margin:0;font-size:1.35rem}.tour-coach>p:not(.eyebrow){color:var(--ink-soft)}.tour-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:16px}.tour-highlight{position:relative;z-index:1100;box-shadow:0 0 0 5px rgb(11 87 208 / 25%),0 0 0 9999px rgb(17 19 24 / 12%);border-radius:12px}
.gantt-needs-calculation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #cbdcf8;background:var(--blue-soft)}.gantt-needs-calculation>div{display:grid}.gantt-needs-calculation span{color:#405069;font-size:.78rem}.gantt-unscheduled-head{display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);color:var(--ink-muted);font-size:.75rem;font-weight:650}.gantt-unscheduled{display:flex;align-items:center;padding:0 14px;background:repeating-linear-gradient(135deg,#fafbfc,#fafbfc 8px,#f4f6f8 8px,#f4f6f8 16px)}.gantt-unscheduled span{color:var(--ink-muted);font-size:.75rem;font-weight:650}
@media(max-width:700px){.wbs-select{grid-template-columns:1fr}.wbs-select small{display:none}.wbs-row{grid-template-columns:1fr}.wbs-actions{padding-left:8px}.detail-head,.logic-row{display:grid}.detail-actions{flex-wrap:wrap}.tour-coach{right:16px;bottom:16px}}

/* Contextual workspace and fast schedule authoring */
.app-shell{transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:0 1fr}.context-button{border:0;background:transparent;cursor:pointer}.context-button:hover span{background:var(--blue-soft);color:var(--blue-dark)}.sidebar-heading-actions{display:flex;gap:6px}.icon-button.compact{width:34px;height:34px;font-size:.9rem}.icon-button.active{border-color:#a9c7f6;background:var(--blue-soft);color:var(--blue)}.sidebar-collapsed .sidebar{visibility:hidden;width:0;padding:0;border:0;overflow:hidden}.sidebar-collapsed .sidebar-heading>div,.sidebar-collapsed .sidebar-actions,.sidebar-collapsed .project-list,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .sidebar-heading-actions{display:grid}.sidebar-collapsed .sidebar-heading{padding:0}.sidebar-collapsed .sidebar .icon-button{width:42px;height:42px}
.contextual-bar{position:relative;flex-wrap:nowrap;overflow:visible}.launcher{position:relative}.launcher summary{display:flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid var(--line-dark);border-radius:999px;background:#fff;font-size:.88rem;font-weight:680;cursor:pointer;list-style:none}.launcher summary::-webkit-details-marker{display:none}.launcher[open] summary,.launcher summary:hover{border-color:#a9c7f6;background:var(--blue-soft);color:var(--blue-dark)}.launcher-menu{position:absolute;top:48px;left:0;z-index:40;display:grid;width:270px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 50px rgb(22 31 45 / 16%)}.launcher-menu button{display:grid;gap:1px;padding:10px 11px;border:0;border-radius:9px;background:transparent;text-align:left;color:var(--ink)}.launcher-menu button:hover,.launcher-menu button.active{background:var(--blue-soft);color:var(--blue-dark)}.launcher-menu button span{font-weight:700}.launcher-menu button small{color:var(--ink-muted)}.view-menu{width:180px}.view-menu button{font-weight:680}.context-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.context-hint{padding:0 8px;color:var(--ink-muted);font-size:.78rem}.view-identity{padding:10px 0}.view-identity .eyebrow{margin-bottom:2px}.view-identity h2{margin:0;font-size:1.22rem;letter-spacing:-.025em}
.view-tools[hidden]{display:none}
.grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafbfc}.grid-toolbar>div:first-child{display:grid}.grid-toolbar>div:first-child span{color:var(--ink-muted);font-size:.72rem}.bulk-actions{display:flex;align-items:center;gap:7px}.bulk-actions select{width:190px;height:38px}.select-column{width:42px;text-align:center}.select-column input,.check-label input{width:16px;height:16px}.grid-input{height:34px;min-width:140px;padding:0 8px;border-color:transparent;background:transparent}.grid-input:hover,.grid-input:focus{border-color:var(--line-dark);background:#fff}.compact-input{min-width:78px;width:90px}.duration-input{min-width:76px;width:88px}.quick-entry-row{background:var(--blue-soft)}.quick-entry-row td{padding-block:8px}.quick-entry-row .grid-input{border-color:#cbdcf8;background:#fff}.activity-row td:has(.grid-input){padding-block:5px}.activity-row .grid-input{font-size:.84rem}.activity-row.selected .grid-input{background:transparent}.activity-row.selected .grid-input:focus{background:#fff}
textarea{width:100%;min-height:120px;padding:12px 13px;border:1px solid var(--line-dark);border-radius:var(--radius-sm);background:#fff;color:var(--ink);font:inherit;resize:vertical}.paste-help{padding:14px;border:1px solid #cbdcf8;border-radius:var(--radius-sm);background:var(--blue-soft)}.paste-help code{display:block;margin-top:5px;color:#28466f;font:12px/1.5 "SFMono-Regular",Consolas,monospace}.paste-help p{margin:7px 0 0;color:#405069;font-size:.78rem}.paste-help p code{display:inline}.check-label{display:flex;grid-template-columns:18px 1fr;align-items:center;gap:8px}.batch-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.batch-summary span{display:grid;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-muted);font-size:.72rem}.batch-summary strong{color:var(--ink);font-size:1.15rem}.mini-table{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.mini-table>div{display:grid;grid-template-columns:100px 1fr 90px 140px}.mini-table span{padding:8px 10px;border-bottom:1px solid var(--line);font-size:.78rem}.mini-table-head{position:sticky;top:0;background:var(--canvas);color:var(--ink-muted);font-weight:700}.command-list{display:grid;gap:4px;margin-top:12px}.command-list button{display:grid;gap:2px;padding:11px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:left}.command-list button:hover,.command-list button:focus{border-color:#cbdcf8;background:var(--blue-soft)}.command-list button span{color:var(--ink-muted);font-size:.76rem}
@media(max-width:1020px){.contextual-bar{flex-wrap:wrap}.context-actions{width:100%;margin-left:0}.batch-summary{grid-template-columns:1fr}.mini-table>div{grid-template-columns:90px 1fr 70px}.mini-table>div span:last-child{display:none}}
@media(max-width:820px){.app-shell.sidebar-collapsed{display:block}.sidebar-collapsed .sidebar{align-items:stretch;padding:24px 16px 16px}.sidebar-collapsed .sidebar-heading>div,.sidebar-collapsed .sidebar-actions,.sidebar-collapsed .project-list,.sidebar-collapsed .sidebar-footer{display:initial}.sidebar-collapsed .sidebar-heading-actions{display:flex}.launcher-menu{position:fixed;top:auto;right:16px;bottom:16px;left:16px;width:auto}.grid-toolbar{align-items:flex-start}.bulk-actions{flex-wrap:wrap}.view-tools{display:none}}
@media(max-width:600px){.contextual-bar{display:grid;grid-template-columns:repeat(3,1fr)}.launcher summary{justify-content:center;padding-inline:8px}.command-separator{display:none}.context-actions{grid-column:1/-1}.grid-toolbar{display:grid}.bulk-actions select{width:100%}.table-wrap{max-height:62vh}}
.membership-list{display:grid;gap:6px;max-height:190px;margin:12px 0;overflow:auto}.membership-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm)}.membership-list>div>span:first-child{display:grid}.membership-list small{color:var(--ink-muted)}.field-error{margin:7px 0 0;padding:10px 12px;border:1px solid #f1c0ba;border-radius:var(--radius-sm);background:var(--red-soft);color:var(--red);font-size:.8rem;font-weight:650}.field-error[hidden]{display:none}input[aria-invalid="true"]{border-color:var(--red);box-shadow:0 0 0 3px rgb(180 35 24 / 12%)}
.import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.import-summary>div{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.import-summary strong{font-size:1.35rem}.import-summary span,.import-provenance span,.coverage-table small{color:var(--ink-muted);font-size:.75rem}.import-summary .warning{background:#fff7e6}.import-provenance{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.import-provenance span{display:grid}.import-provenance strong{color:var(--ink);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.coverage-table{display:grid;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.coverage-table>div{display:grid;grid-template-columns:1.25fr .5fr .6fr .6fr 1.8fr;align-items:start;gap:8px;padding:9px 11px;border-top:1px solid var(--line)}.coverage-table>div:first-child{border-top:0}.coverage-head{background:var(--surface);color:var(--ink-muted);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.coverage-warning{display:grid;color:#8a4b0f}.coverage-table small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xml-toolbar>div{display:flex;gap:8px}

.baseline-preview,.comparison-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.baseline-preview{margin-bottom:16px}.baseline-preview span,.comparison-summary span{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-muted);font-size:.75rem}.baseline-preview strong,.comparison-summary strong{color:var(--ink);font-size:1rem}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comparison-panel{min-height:420px}.comparison-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px;border-bottom:1px solid var(--line)}.comparison-head h3{margin:3px 0;font-size:1.15rem}.comparison-head p{margin:0;color:var(--ink-muted);font-size:.8rem}.comparison-summary{min-width:390px}.comparison-summary .late{border-color:#f2c7bf;background:#fff3f0}.comparison-summary .late strong,.variance-late{color:#a72b18}.variance-early{color:var(--green)}.status-pill.late{background:#fff0ed;color:#a72b18}.comparison-table{max-height:58vh}.comparison-added{background:#f3fbf7}.comparison-removed{background:#fff6f4}.comparison-limit{margin:12px 20px;color:var(--ink-muted);font-size:.78rem}
.modal{max-height:calc(100vh - 24px);overflow:auto}
.modal-actions{position:sticky;bottom:0;padding-top:14px;border-top:1px solid var(--line);background:#fff}
.calendar-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.calendar-summary>span{display:flex;min-height:70px;flex-direction:column;justify-content:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.calendar-summary strong{font-size:1rem}.calendar-week,.constraint-fields{margin:14px 0 0;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm)}.calendar-week legend,.constraint-fields legend{padding:0 6px;font-weight:720}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-week label{display:grid;place-items:center;gap:6px;margin:0!important;padding:9px 4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:.75rem}.calendar-week input{width:auto}.constraint-fields>p{margin:0 0 8px;color:var(--ink-soft);font-size:.85rem}.constraint-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.warning-note{margin:14px 0;padding:14px;border:1px solid #edc99b;border-radius:var(--radius-sm);background:#fff7e6;color:#6f4516}.warning-note p{margin:5px 0 0}
@media(max-width:620px){.calendar-summary{grid-template-columns:1fr 1fr}.calendar-summary>span:first-child{grid-column:1/-1}.calendar-week{grid-template-columns:repeat(4,1fr)}.constraint-fields>div{grid-template-columns:1fr}}
.semantic-limitations{padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.semantic-limitations ul{margin:8px 0 0;padding-left:18px;color:var(--ink-soft)}.semantic-limitations li+li{margin-top:4px}
.revision-job{position:fixed;right:22px;bottom:22px;z-index:950;width:min(430px,calc(100% - 32px));padding:20px;border:1px solid #cbdcf8;border-radius:var(--radius-md);background:#fff;box-shadow:0 20px 65px rgb(10 31 68 / 22%)}.revision-job-head,.revision-job-meta,.revision-job-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.revision-job h3{margin:0;font-size:1.2rem}.revision-job>p:not(.field-error){margin:12px 0;color:var(--ink-soft);font-size:.84rem}.job-progress{height:9px;overflow:hidden;border-radius:999px;background:#e6edf7}.job-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--blue);transition:width .2s ease}.revision-job-meta{margin-top:7px;color:var(--ink-muted);font-size:.75rem}.revision-job-actions{justify-content:flex-end;margin-top:14px}.revision-job .status-pill.failed{background:var(--red-soft);color:var(--red)}.revision-job .status-pill.completed{background:var(--green-soft);color:#17614f}
@media(max-width:700px){.import-summary{grid-template-columns:1fr 1fr}.coverage-table>div{grid-template-columns:1fr .45fr .55fr .55fr 1.2fr}.import-provenance{grid-template-columns:1fr}.xml-toolbar{align-items:flex-start}.xml-toolbar>div{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:800px){.comparison-head{display:grid}.comparison-summary{min-width:0;width:100%}.baseline-preview,.comparison-summary{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.progress-grid{grid-template-columns:1fr}.comparison-summary{grid-template-columns:1fr 1fr}}
.cost-panel{min-height:420px}.cost-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid var(--line)}.cost-head h3{margin:3px 0}.cost-head p{margin:0;color:var(--ink-muted);font-size:.78rem}.cost-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 20px}.cost-summary span{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.cost-summary small{color:var(--ink-muted);font-weight:750}.cost-summary strong{font-size:1rem}.cost-summary .negative{border-color:#f2c7bf;background:#fff3f0}.cost-summary .negative strong{color:#a72b18}.cost-table{max-height:36vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cash-flow{display:grid;gap:8px;padding:18px 20px}.cash-flow>div{display:grid;grid-template-columns:110px repeat(3,1fr);gap:12px;padding:10px;border-bottom:1px solid var(--line);font-size:.78rem}.cash-flow span{color:var(--ink-muted)}
@media(max-width:800px){.cost-summary{grid-template-columns:1fr 1fr}.cash-flow>div{grid-template-columns:1fr 1fr}}
.report-panel{min-height:420px}.report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid var(--line)}.report-head h3{margin:3px 0}.report-head p{margin:0;color:var(--ink-muted);font-size:.78rem}.report-head>div:last-child{display:flex;gap:8px}.report-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:16px 20px}.report-summary span,.email-approval span{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.report-summary small,.email-approval small{color:var(--ink-muted);font-weight:750}.report-findings{display:grid;gap:0;padding:8px 20px 18px}.report-findings article{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.8rem}.report-findings span{color:var(--ink-muted)}.email-preview{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 20px 16px;padding:14px;border:1px solid #b8d2fb;border-radius:var(--radius-sm);background:var(--blue-soft)}.email-preview>div{display:grid;gap:3px}.email-preview span{color:var(--ink-muted);font-size:.75rem}.email-approval{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:800px){.report-summary{grid-template-columns:1fr 1fr}.report-head,.email-preview{display:grid}.report-head>div:last-child{flex-wrap:wrap}}
.bim-panel{min-height:420px}.bim-head{padding:20px;border-bottom:1px solid var(--line)}.bim-head h3{margin:3px 0}.bim-head p{margin:0;color:var(--ink-muted);font-size:.78rem}.bim-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:16px 20px}.bim-summary span{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.bim-summary small{color:var(--ink-muted);font-weight:750}.bim-summary .negative{border-color:#f2c7bf;background:#fff3f0}.bim-summary .negative strong{color:#a72b18}.bim-table{max-height:52vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bim-table td span{color:var(--ink-muted);font-size:.74rem}.bim-unlinked{background:#fff9ec}
@media(max-width:800px){.bim-summary{grid-template-columns:1fr 1fr}.bim-table{max-height:48vh}}
.check-label:has(>span){align-items:flex-start}.check-label:has(>span)>input{flex:0 0 auto;margin-top:4px}.check-label>span{display:grid;min-width:0;gap:3px}.check-label>span small{color:var(--ink-muted);font-size:.72rem;line-height:1.65}
