:root{--ink:#161b1f;--ink-2:#222a30;--steel:#63717b;--line:#cbd0d2;--line-dark:#929b9f;--paper:#f3f1eb;--surface:#fffefa;--muted:#e4e4df;--accent:#f4aa00;--accent-dark:#b97e00;--teal:#257c78;--project-eyebrow:#216f6c;--eyebrow-on-dark:#69b6b0;--detail-text:#4f5d63;--detail-on-dark:#9ca8af;--danger:#ca382f;--success:#3a7b55;--radius:3px;--shadow:0 16px 40px #141b1f1c;--ease:cubic-bezier(.2, .75, .25, 1)}*{box-sizing:border-box}html{background:var(--paper);max-width:100%;color:var(--ink);overflow-x:clip}body{background:var(--paper);width:100%;min-width:0;max-width:100%;color:var(--ink);margin:0;font-family:Barlow,Arial Narrow,Arial,sans-serif;line-height:1.4;overflow-x:clip}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline-offset:2px;outline:3px solid #f4aa0080}.mono,.coordinate{font-family:JetBrains Mono,monospace}.coordinate{color:var(--steel);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:500}.eyebrow{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:500}.page-header .eyebrow,.project-page .page-header .eyebrow{color:var(--project-eyebrow)}.auth-card .eyebrow,.modal-heading .eyebrow{color:var(--eyebrow-on-dark)}.skip-link{z-index:1000;background:var(--accent);padding:12px 18px;font-weight:700;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.reveal{animation:reveal .42s var(--ease) both}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.14s}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.button{border:1px solid var(--line-dark);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:center;white-space:nowrap;max-width:100%;min-height:44px;transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;line-height:1.15;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 14px #151b1f1f}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{border-color:var(--ink);background:var(--accent);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.button.primary:hover:not(:disabled){box-shadow:4px 5px 0 var(--ink)}.button.ghost{background:0 0}.button.danger{color:#9a2922;background:#fff4f3;border-color:#e1a9a5}.button.small{min-height:36px;padding:0 12px;font-size:12px}.button.full{width:100%}.text-link{border-bottom:1px solid var(--line-dark);min-height:44px;color:var(--steel);align-items:center;margin-top:18px;font-size:13px;display:inline-flex}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field>input,.field>select,.field>textarea{min-width:0}.field>span,.field>label{letter-spacing:.055em;text-transform:uppercase;font-size:11px;font-weight:700}.required-label:after{content:" *";color:#a43b2e;vertical-align:-.08em;font-size:1.3em;line-height:0}.field small{color:var(--steel);font-size:11px}.field .field-error{color:#a43b2e;font-weight:700}input,select,textarea{border:1px solid var(--line-dark);border-radius:var(--radius);width:100%;color:var(--ink);background:#fff;padding:10px 11px;transition:border .18s,box-shadow .18s}input,select{min-height:44px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #257c781f}.notice{color:#8b2a24;background:#fff4f3;border:1px solid #e1a9a5;align-items:flex-start;gap:9px;padding:11px 12px;font-size:13px;display:flex}.notice.success{color:#286440;background:#f0faf3;border-color:#aad1b7}.progress-wrap{align-items:center;gap:10px;display:flex}.progress-track{background:repeating-linear-gradient(135deg,#ecebe7,#ecebe7 5px,#deded9 5px 10px);border:1px solid #aeb5b7;flex:1;height:8px;overflow:hidden}.progress-track span{background:var(--teal);height:100%;transition:width .45s var(--ease);display:block}.progress-wrap strong{text-align:right;min-width:42px;font-size:12px}.auth-stage{isolation:isolate;background:var(--ink);color:#f7f5ef;place-items:center;min-height:100dvh;padding:clamp(32px,7dvh,72px) clamp(16px,4vw,32px);display:grid;position:relative;overflow:hidden auto}.auth-stage:before{content:"";z-index:-2;background:radial-gradient(circle at 76% 18%,#257c7842,#0000 28%),repeating-linear-gradient(135deg,#ffffff06 0 1px,#0000 1px 8px);position:absolute;inset:0}.auth-grid{z-index:-1;opacity:.22;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 80%);mask-image:linear-gradient(90deg,#000,#0000 80%)}.auth-rail{color:#ffffff14;letter-spacing:.08em;gap:10px;font-family:JetBrains Mono,monospace;font-size:clamp(26px,4vw,58px);font-weight:500;line-height:.85;display:grid;position:absolute;top:50%;left:clamp(22px,5vw,76px);transform:translateY(-50%)}.auth-rail span:nth-child(2){color:#f4aa0059}.auth-stage footer{color:#899398;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:9px;position:absolute;bottom:22px;right:28px}.auth-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#191f23e6;border:1px solid #69747a;width:min(100%,440px);padding:42px;box-shadow:12px 12px #00000047}.auth-card.compact{width:min(100%,480px)}.auth-icon{background:var(--accent);width:50px;height:50px;color:var(--ink);place-items:center;margin-bottom:28px;display:grid;box-shadow:4px 4px #000}.auth-card h1{letter-spacing:-.04em;margin:0;font-size:clamp(34px,6vw,50px);line-height:.95}.auth-card.password-card h1{overflow-wrap:anywhere;margin-bottom:18px;line-height:1.12}.auth-copy{color:#aeb7bb;margin:20px 0 28px;line-height:1.5}.auth-card form{gap:17px;display:grid}.auth-card input{color:#fff;background:#1a2024;border-color:#5d686e}.auth-card .field>span{color:#d8dcdd}.auth-card .field small{color:var(--detail-on-dark)}.auth-card .text-link{color:#d8dcdd}.auth-card .text-link:hover,.auth-card .text-link:focus-visible{color:#fff;border-bottom-color:var(--accent)}.auth-card .text-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.invitation-return{color:#d8dcdd;border-bottom-color:#78858a;align-items:center;gap:6px;font-weight:600;display:inline-flex}.invitation-return:hover,.invitation-return:focus-visible{border-bottom-color:var(--accent);color:#fff;outline:none}.app-frame{grid-template-columns:clamp(208px,16vw,236px) minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{z-index:50;background:var(--ink);color:#eef0ed;border-right:4px solid var(--accent);flex-direction:column;height:100dvh;padding:22px 16px 16px;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar:after{content:"";background:repeating-linear-gradient(0deg, #111 0 7px, var(--accent) 7px 14px);width:4px;height:120px;position:absolute;top:0;right:-4px}.brand-block{align-items:center;gap:12px;padding:5px 5px 22px;display:flex}.brand-mark{background:var(--accent);width:42px;height:42px;color:var(--ink);place-items:center;display:grid}.brand-block strong,.brand-block span{display:block}.brand-block strong{font-size:18px;line-height:1}.brand-block div>span{color:#879298;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:9px}.sidebar>.coordinate{color:var(--detail-on-dark);border-top:1px solid #394146;border-bottom:1px solid #394146;padding:13px 8px}.sidebar nav{gap:5px;margin-top:22px;display:grid}.sidebar nav a{color:#abb4b7;border:1px solid #0000;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;padding:0 11px;font-size:13px;font-weight:600;display:grid}.sidebar-nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-nav-arrow{opacity:0}.sidebar nav a:hover{color:#fff;border-color:#404a4f}.sidebar nav a.active{color:#fff;background:#2a3237;border-color:#515c62}.sidebar nav a.active .sidebar-nav-arrow{opacity:1;color:var(--accent)}.sidebar-user{border-top:1px solid #394146;grid-template-columns:36px 1fr 32px;align-items:center;gap:9px;margin-top:auto;padding:14px 5px 2px;display:grid}.avatar{background:var(--teal);color:#fff;place-items:center;width:36px;height:36px;font-family:JetBrains Mono,monospace;font-size:11px;display:grid}.sidebar-user strong,.sidebar-user span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.sidebar-user strong{font-size:12px}.sidebar-user span{color:#7f8b90;margin-top:3px;font-size:10px}.sidebar-user button{color:#8f999e;cursor:pointer;background:0 0;border:0;width:32px;height:32px}.app-main{min-width:0;container:workspace/inline-size}.mobile-app-header,.mobile-menu,.sidebar-scrim{display:none}.page{width:100%;max-width:none;margin:0 auto;padding:clamp(28px,4vw,52px) clamp(18px,4vw,64px) clamp(52px,7vw,88px)}.page.narrow{max-width:1120px}.page.wide{max-width:none}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px;display:flex}.page-header>div:first-child{min-width:0}.page-header h1{overflow-wrap:anywhere;letter-spacing:-.045em;max-width:100%;margin:0;font-size:clamp(36px,4.4vw,60px);line-height:.96}.page-description{overflow-wrap:anywhere;max-width:650px;color:var(--detail-text);margin:14px 0 0;font-size:15px;line-height:1.5}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:0;display:flex}.reset-link-actions{flex-wrap:wrap;align-items:stretch;gap:12px 16px;margin-top:18px;display:flex}.reset-link-actions>a{white-space:normal;min-height:44px}.reset-link-actions .text-link{margin-top:0}@media (min-width:821px){.project-page .page-header{flex-wrap:wrap}.project-page .page-header>div:first-child{flex:24rem}.project-page .page-header .page-actions{flex:none}.project-page .page-header .page-actions .button{white-space:nowrap;flex-shrink:0}}.metric-strip{border:1px solid var(--line-dark);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:repeat(4,1fr);margin:0 0 26px;display:grid}.metric-strip article{border-right:1px solid var(--line);align-content:space-between;min-height:126px;padding:20px;display:grid;position:relative}.metric-strip article:last-child{border:0}.metric-strip article:after{content:"";border-top:1px solid var(--line-dark);border-right:1px solid var(--line-dark);width:10px;height:10px;position:absolute;top:7px;right:7px}.metric-strip span,.metric-strip small{color:var(--steel);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.metric-strip .metric-explanation{letter-spacing:.025em;text-transform:none;max-width:100%;line-height:1.25}.metric-strip strong{font-size:clamp(27px,3vw,34px);line-height:1}.metric-strip strong.accent{color:var(--teal)}.project-metrics-toggle{display:none}.project-metrics:focus-visible,.project-metrics-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media screen and (max-width:820px){.project-metrics{margin-bottom:20px}.project-metrics-toggle{border:1px solid var(--line-dark);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;padding:10px 14px;font-size:13px;font-weight:700;display:block}.project-metrics:not(.open) .project-metrics-content{display:none}.project-metrics .metric-strip{margin-top:8px;margin-bottom:0}}.toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.toolbar>.coordinate[aria-live]{color:var(--detail-text)}.search-box{border-bottom:1px solid var(--line-dark);align-items:center;gap:8px;width:min(100%,440px);display:flex;position:relative}.search-box input{box-shadow:none;background:0 0;border:0}.search-box button{width:32px;height:32px;color:var(--steel);cursor:pointer;background:0 0;border:0;flex:0 0 32px;place-items:center;display:grid}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;display:grid}.project-card{border:1px solid var(--line-dark);background:var(--surface);min-height:310px;transition:transform .23s var(--ease), box-shadow .23s;flex-direction:column;padding:20px 20px 20px 25px;display:flex;position:relative;overflow:hidden;box-shadow:5px 5px #d3d3ce}.project-card:before{content:"";background:var(--project-color,var(--teal));width:5px;position:absolute;inset:0 auto 0 0}.project-card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px #c7c8c2}.project-card-top{justify-content:space-between;align-items:center;display:flex}.status{border:1px solid var(--line);text-transform:uppercase;background:#edece7;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-flex}.status.active{color:#1f6663;background:#e1f0ee;border-color:#77aaa6}.status.paused{color:#7b5b11;background:#fff4d5;border-color:#d4b875}.status.finished{color:#326844;background:#e5f1e8;border-color:#90b99e}.project-card>.coordinate{margin-top:30px}.project-card h2{overflow-wrap:anywhere;min-height:58px;margin:8px 0 6px;font-size:25px;line-height:1.12}.address{overflow-wrap:anywhere;color:var(--steel);margin:0;font-size:13px}.project-dates{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin:auto 0 19px;padding-top:26px;display:grid}.project-dates small,.project-dates strong{display:block}.project-dates small{color:var(--steel);letter-spacing:.08em;margin-bottom:5px;font-size:10px}.project-dates strong{font-size:11px}.project-card .progress-wrap{margin-bottom:17px}.card-footer{border-top:1px dashed var(--line);color:var(--steel);justify-content:space-between;padding-top:11px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.empty-state{text-align:center;border:1px dashed var(--line-dark);background:#ffffff59;padding:70px 30px}.empty-state>span{color:#d2d2cd;font-family:JetBrains Mono,monospace;font-size:72px}.empty-state h2{margin:4px 0 8px;font-size:28px}.empty-state p{max-width:560px;color:var(--steel);margin:0 auto 22px}.empty-state.search-empty{justify-items:center;display:grid}.empty-state.search-empty>svg{color:var(--steel);margin-bottom:10px}.form-panel,.data-panel,.invite-panel{border:1px solid var(--line-dark);background:var(--surface);box-shadow:var(--shadow)}.form-panel>section{border-bottom:1px solid var(--line);grid-template-columns:76px 1fr;display:grid}.section-number{border-right:1px solid var(--line);color:var(--teal);padding:25px;font-family:JetBrains Mono,monospace;font-size:13px}.section-content{padding:28px}.section-content h2,.data-panel h2,.invite-panel h2{margin:0;font-size:25px}.section-content>p,.panel-copy,.invite-panel>p{color:var(--steel);margin:7px 0 22px;line-height:1.45}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.form-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.split-fields{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:12px;min-width:0;display:grid}.project-start-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-start-option{color:#2d393e;cursor:pointer;background:#f7f7f3;border:1px solid #939d9f;border-left-width:4px;align-items:center;gap:12px;min-width:0;min-height:72px;padding:14px;display:flex}.project-start-option:hover{background:#fff;border-color:#5d696d}.project-start-option.selected{background:repeating-linear-gradient(135deg,#edf6f3 0 10px,#f6faf7 10px 20px);border-color:#216f6c}.project-start-option:focus-within{outline-offset:3px;outline:3px solid #a56500}.project-start-option>input{accent-color:#216f6c;flex:0 0 20px;width:20px;height:20px;min-height:0;margin:0}.project-start-option>span{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.project-start-option strong{font-size:17px;line-height:1.25}.project-start-option small{color:#4f5d63;font-size:12px;line-height:1.45}.project-template-selection{min-width:0;margin-top:20px}.project-template-selection select{width:100%;min-height:44px}.project-template-summary{color:#264a48;overflow-wrap:anywhere;background:#edf7f4;border:1px solid #6fa09c;border-left:4px solid #216f6c;margin-top:12px;padding:16px}.project-template-summary>strong{font-size:18px;line-height:1.35;display:block}.project-template-summary>p{margin:8px 0 0;font-size:13px;line-height:1.5}.project-template-counts{font-weight:600}.project-template-summary .project-template-effect{border-top:1px solid #a0bdb6;padding-top:10px;font-weight:600}.project-template-required{color:#4f5d63;font-size:13px;line-height:1.5}.template-page .eyebrow{color:#216f6c}.template-editor .field small{color:#4f5d63}.template-library{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;display:grid}.template-library-card{background:var(--surface);border:1px solid var(--line-dark);border-top:4px solid var(--teal);min-width:0;box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:22px;display:flex}.template-library-card .eyebrow{align-items:center;gap:8px;display:flex}.template-library-card h2,.template-library-card p{overflow-wrap:anywhere;margin:0}.template-library-card>p:not(.eyebrow){color:#4f5d63;line-height:1.5}.template-library-card .template-actions{margin-top:auto;padding-top:10px}.template-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-library .button,.template-editor .button{white-space:normal;min-width:44px;min-height:44px}.template-editor-fields{border:0;min-width:0;margin:0;padding:0}.template-editor-section{background:var(--surface);border:1px solid var(--line-dark);box-shadow:var(--shadow);margin-bottom:20px;padding:22px}.template-editor-section h2{margin:0 0 12px;font-size:22px}.template-editor-section p{color:#4f5d63;max-width:90ch;line-height:1.5}.template-editor-section>.field{margin-top:16px}.template-editor-section .field{min-width:0}.template-editor-section input,.template-editor-section select{min-width:0;min-height:44px}.template-editor-section textarea{resize:vertical}.template-editor-section input[readonly]{color:#39464a;background:#e4e8e4}.template-row-workspace{grid-template-columns:minmax(180px,.7fr) minmax(0,1.7fr);align-items:start;gap:20px;margin-top:20px;display:grid}.template-row-list{gap:6px;max-height:580px;padding:3px;display:grid;overflow:auto}.template-row-list button{color:#26363c;text-align:left;background:#f7f7f3;border:1px solid #939d9f;gap:4px;min-width:0;min-height:56px;padding:10px 12px;display:grid}.template-row-list button[aria-pressed=true]{background:#e7f0ec;border-color:#216f6c;border-left-style:solid;border-left-width:4px}.template-row-list strong{overflow-wrap:anywhere;font-size:14px}.template-row-list .mono{color:#4f5d63;font-size:11px}.template-row-editor{gap:16px;min-width:0;display:grid}.template-category{grid-template-columns:minmax(0,1fr) 90px auto;align-items:end;gap:12px;margin:16px 0;display:grid}.template-dependency{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr)) minmax(130px,.8fr) minmax(130px,.6fr) auto;align-items:end;gap:10px;margin:16px 0;padding-top:14px;display:grid}.template-editor summary{cursor:pointer;color:#216f6c;text-underline-offset:3px;align-content:center;min-height:44px;text-decoration:underline}.template-editor :is(button,summary,input,textarea,select):focus-visible,.template-library a:focus-visible{outline-offset:3px;outline:3px solid #966400}@media (max-width:1100px){.template-dependency{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.template-editor-section{padding:16px}.template-row-workspace{grid-template-columns:minmax(0,1fr)}.template-row-list{max-height:220px}.template-category{grid-template-columns:minmax(0,1fr) 70px}.template-category>button{grid-column:1/-1;justify-self:start}}@media (max-width:500px){.template-dependency{grid-template-columns:minmax(0,1fr)}}.project-color-field{border:1px solid var(--line-dark);background:#fff;grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:42px;display:grid}.project-color-field input{border:0;border-right:1px solid var(--line);width:64px;min-height:40px;box-shadow:none;cursor:pointer;border-radius:0;padding:4px 8px}.project-color-field output{color:var(--steel);letter-spacing:.05em;padding:0 12px;font-size:11px}.form-actions{justify-content:flex-end;gap:10px;padding:18px 28px;display:flex}.settings-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:24px;display:grid}.settings-grid>.notice{grid-column:1/-1}.form-panel>.notice{margin:18px 28px 0}.data-panel{padding:26px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.panel-heading.secondary{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.panel-heading h3{margin:0;font-size:20px}.category-editor{gap:8px;display:grid}.category-editor form{grid-template-columns:42px minmax(0,1fr) auto;gap:7px;min-width:0;display:grid}.category-editor button,.exception-list button,.invite-list button{border:1px solid var(--line);cursor:pointer;background:#f1f0ec}.settings-row-actions{gap:6px;min-width:0;display:flex}.settings-row-action{color:#394449;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-height:42px;padding:0 9px;font-family:Barlow,Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:750;line-height:1;display:inline-flex}.settings-row-action:hover{background:#fff;border-color:#677276}.settings-row-action.save{color:#185f57;background:#e5f1ef;border-color:#8aaaa5}.settings-row-action.archive{color:#725514;background:#fff6dd;border-color:#cbb274}.settings-row-action.remove{color:#8d2923;background:#fff0ee;border-color:#d0a19d;min-height:34px}.settings-row-action:disabled{opacity:.55;cursor:wait}.color-input,.inline-create input[type=color]{min-height:42px;padding:4px}.inline-create{grid-template-columns:42px minmax(0,1fr) auto;gap:7px;min-width:0;margin-top:12px;display:grid}.exception-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.exception-form .field:nth-child(3),.exception-form button{grid-column:1/-1}.exception-list{gap:6px;margin-top:18px;display:grid}.exception-list article{grid-template-columns:54px 95px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;font-size:12px;display:grid}.exception-list article>span:nth-child(3){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-flag{text-align:center;color:#9a2922;text-transform:uppercase;background:#fee7e5;padding:4px 5px;font-size:9px;font-weight:700}.calendar-flag.work{color:#326844;background:#e0f0e5}.user-layout{grid-template-columns:minmax(300px,.8fr) minmax(480px,1.4fr);align-items:start;gap:22px;display:grid}.invite-panel{padding:28px;position:sticky;top:24px}.panel-icon{background:var(--accent);width:50px;height:50px;box-shadow:4px 4px 0 var(--ink);place-items:center;margin-bottom:24px;display:grid}.invite-panel form,.invite-panel{gap:16px;display:grid}.user-list,.invite-list{margin-top:17px;display:grid}.user-list article{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:12px 0;display:grid}.avatar.light{color:var(--teal);background:#dce5e4}.user-list strong,.user-list span,.invite-list strong,.invite-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.user-list span,.invite-list span{color:var(--steel);font-size:11px}.role-badge{border:1px solid var(--line);text-transform:uppercase;background:#efefeb;padding:5px 7px;font-weight:700;white-space:nowrap!important;font-size:9px!important}.role-badge.admin{color:#76590e;background:#fff4cf;border-color:#ddba61}.invite-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 34px 34px;gap:7px;min-width:0;padding:11px 0;display:grid}.project-facts{border:1px solid var(--line-dark);background:var(--surface);grid-template-columns:.7fr 1.6fr 1fr .7fr;margin:-8px 0 24px;display:grid}.project-facts>span{border-right:1px solid var(--line);align-content:space-between;min-height:70px;padding:14px 17px;display:grid}.project-facts>span:last-child{border:0}.project-facts small{color:var(--steel);letter-spacing:.08em;font-size:10px}.project-facts strong{overflow-wrap:anywhere;align-items:center;gap:5px;min-width:0;font-size:13px;line-height:1.25;display:flex}.project-facts .accent{color:var(--teal);font-size:20px}.planner-shell{border:1px solid var(--line-dark);background:var(--surface);box-shadow:var(--shadow)}.planner-toolbar{border-bottom:1px solid var(--line-dark);background:#e9e8e3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;min-height:58px;padding:10px 12px;display:flex}.segmented,.mini-segmented{border:1px solid var(--line-dark);background:#d7d8d4;display:inline-flex}.segmented button,.mini-segmented button{border:0;border-right:1px solid var(--line-dark);cursor:pointer;text-transform:uppercase;background:0 0;align-items:center;gap:7px;min-height:35px;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}.segmented button:last-child,.mini-segmented button:last-child{border:0}.segmented button.active,.mini-segmented button.active{background:var(--ink);color:#fff}.planner-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;min-width:0;display:flex}.planner-actions .calendar-audit-trigger{color:#644b10;background:#fff5d7;border-color:#b5851f;position:relative;box-shadow:inset 0 -3px #d99a13}.planner-actions .calendar-audit-trigger:hover:not(:disabled),.planner-actions .calendar-audit-trigger:focus-visible{outline-offset:2px;background:#ffe9a4;outline:2px solid #b87900}.planner-actions .calendar-audit-trigger b{color:#644b10;background:#fff;border:1px solid #936b14;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-grid}.planner-error{padding:10px 12px 0}.schedule-undo-notice{color:#24413f;background:#eef8f5;border:1px solid #46827e;border-left:5px solid #126a66;grid-template-columns:30px minmax(0,1fr) auto 30px;align-items:center;gap:9px;min-height:54px;margin:10px 12px 0;padding:8px 8px 8px 10px;display:grid;box-shadow:3px 3px #1c413f21}.schedule-undo-icon{color:#126a66;background:#fff;border:1px solid #126a66;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.schedule-undo-notice>span:nth-child(2){gap:3px;min-width:0;display:grid}.schedule-undo-notice strong{color:#173b38;font-size:12px;line-height:1.15}.schedule-undo-notice small{color:#526d69;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:9px;overflow:hidden}.schedule-undo-action{color:#175f5b;letter-spacing:.025em;text-transform:uppercase;cursor:pointer;background:#fff;border:1px solid #175f5b;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.schedule-undo-action:hover:not(:disabled),.schedule-undo-action:focus-visible{outline-offset:2px;background:#dff2ed;outline:2px solid #126a66}.schedule-undo-action:disabled{opacity:.55;cursor:wait}.schedule-undo-close{color:#526d69;cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:30px;padding:0;display:grid}.schedule-undo-close:hover:not(:disabled),.schedule-undo-close:focus-visible{color:#173b38;background:#dcebe7;outline:1px solid #46827e}.planner-meta{border-bottom:1px solid var(--line);color:#526168;grid-template-columns:1fr 260px 1fr;align-items:center;gap:15px;min-height:40px;padding:0 14px;font-family:JetBrains Mono,monospace;font-size:10px;display:grid}.planner-meta>span:last-child{text-align:right}.planner-meta .progress-wrap strong{display:none}.calendar-controls{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:43px;padding:7px 12px;display:flex}.mini-segmented button{min-height:27px;padding:0 8px;font-size:9px}.gantt-panel{--gantt-table-width:clamp(360px, 48%, 560px);--gantt-grid:#c4cac8;--gantt-grid-strong:#737f83;background:#fff;min-width:0;container:gantt/inline-size}.gantt-commandbar{border-bottom:1px solid var(--gantt-grid-strong);background:#e3e6e3;grid-template-columns:minmax(320px,1fr) minmax(270px,410px) auto;align-items:center;gap:12px;min-height:56px;padding:8px 10px;display:grid;box-shadow:inset 0 1px #f8f8f5}.gantt-commandbar>*{min-width:0}.gantt-command-group{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.gantt-view-controls{align-items:center;gap:7px;min-width:0;display:flex}.gantt-toolbar-kicker{color:#526168;letter-spacing:.09em;text-transform:uppercase;margin-right:2px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:650}.gantt-structure-actions{flex-wrap:nowrap;justify-content:flex-end}.gantt-command,.gantt-scale button{color:#30383d;cursor:pointer;letter-spacing:.025em;white-space:nowrap;text-transform:uppercase;background:#f8f8f5;border:1px solid #929a9c;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-family:Barlow,Arial Narrow,Arial,sans-serif;font-size:10px;font-weight:750;line-height:1;transition:background .18s linear,border-color .18s linear,color .18s linear;display:inline-flex}.gantt-command:hover,.gantt-scale button:hover{background:#fff;border-color:#5f6a6e}.gantt-command.active,.gantt-scale button.active{border-color:var(--ink);background:var(--ink-2);color:#fff;box-shadow:inset 0 -3px var(--accent)}.gantt-command.icon{width:34px;padding:0}.gantt-command.phase-action{padding-inline:8px}.gantt-command-divider{background:#aeb5b6;width:1px;height:24px;margin:0 2px}.gantt-project-view{min-width:66px}.gantt-scale{background:#d3d7d4;border:1px solid #929a9c;display:inline-flex}.gantt-scale button{border:0;border-right:1px solid #929a9c;min-width:54px}.gantt-scale button:last-child{border-right:0}.gantt-analysisbar{background:#edf0ed;border-bottom:1px solid #737f83;grid-template-columns:auto minmax(0,auto) minmax(180px,1fr);align-items:center;gap:10px;min-height:44px;padding:6px 10px;display:grid;box-shadow:inset 4px 0 #b42318}.gantt-analysisbar.partial-network{background:#f5f0df;grid-template-columns:auto minmax(0,1fr);box-shadow:inset 4px 0 #b87900}.gantt-analysisbar.partial-network .gantt-analysis-summary{text-align:left;grid-column:1/-1;justify-content:flex-start;overflow:visible}.gantt-analysis-title{color:#27343a;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:9px;display:inline-flex}.gantt-analysis-title>svg{color:#a51d16}.gantt-analysis-toggles{flex-wrap:wrap;align-items:stretch;gap:5px;display:inline-flex}.gantt-analysis-toggles button{color:#39464c;cursor:pointer;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;background:#fff;border:1px solid #929a9c;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-family:Barlow,Arial Narrow,Arial,sans-serif;font-size:9.5px;font-weight:750;display:inline-flex}.gantt-analysis-toggles button:hover{background:#fffdf8;border-color:#5f6a6e}.gantt-analysis-toggles button.active{color:#841b15;background:#fff2f0;border-color:#7c1813;box-shadow:inset 0 -3px #b42318}.gantt-analysis-toggles button.baseline-save{color:#33434a;background:#f6f7f5;border-color:#69777c;box-shadow:inset 0 -3px #778388}.gantt-analysis-toggles button.baseline-save:hover{background:#fff;border-color:#39484e}.gantt-analysis-toggles button:disabled{opacity:.55;cursor:wait}.gantt-analysis-toggles button:focus-visible{outline-offset:2px;outline:2px solid #b42318}.gantt-analysis-summary{color:#4d5b61;text-align:right;white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:3px 10px;min-width:0;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.2;display:flex;overflow:hidden}.gantt-analysis-summary b{color:#a51d16;font-size:11px}.gantt-analysis-summary small{color:#526d78;border-left:1px solid #aab2b2;padding-left:10px;font-size:9px}.gantt-analysis-summary small.driving-status{color:#624900;background:#fff7d9;border-left:3px solid #b87900;font-weight:800}.gantt-analysis-summary small.cascade-status{color:#0d5d59;background:#e8f6f3;border-left:3px solid #126a66;padding-right:6px;font-weight:800}.gantt-analysis-summary small.dependency-visibility-status{color:#284f55;background:#eef5f3;border-left:3px solid #315d63;align-items:center;gap:4px;padding-right:6px;font-weight:800;display:inline-flex}.gantt-analysis-summary small.network-quality{white-space:normal;text-align:left;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.gantt-analysis-summary small.network-quality b{color:inherit;font-size:inherit}.gantt-analysis-summary small.network-quality.incomplete{color:#604700;background:#fff4cf;border:1px solid #d8bb73;border-left:4px solid #b87900;font-weight:800}.gantt-analysis-summary small.network-quality.complete{color:#235b54;background:#e8f5f1;border-left:3px solid #287167;font-weight:800}.gantt-analysis-summary small.baseline-status{color:#3f4d52;font-weight:750}.gantt-analysis-summary small.baseline-status.empty{color:var(--detail-text);font-weight:600}.gantt-lookaheadbar{background:#e9eeeb;border-bottom:1px solid #6e7d7d;flex-wrap:wrap;align-items:center;gap:7px 10px;min-height:50px;padding:7px 10px;display:flex;box-shadow:inset 4px 0 #257c78,inset 0 1px #ffffffb8}.gantt-lookaheadbar.active{background:repeating-linear-gradient(135deg,#e8f1ed 0 10px,#edf4f1 10px 20px)}.gantt-lookahead-title{color:#26383c;align-items:center;gap:7px;min-width:178px;display:flex}.gantt-lookahead-title>svg{color:#176c68;flex:none}.gantt-lookahead-title>span{gap:2px;display:grid}.gantt-lookahead-title strong{letter-spacing:.045em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9.5px}.gantt-lookahead-title small{color:var(--detail-text);font-size:9px}.gantt-lookahead-horizons{background:#d4dbd7;border:1px solid #879394;display:inline-flex}.gantt-lookahead-horizons button{color:#35464b;text-transform:uppercase;cursor:pointer;background:#fbfbf8;border:0;border-right:1px solid #879394;min-width:48px;min-height:31px;padding:0 7px;font-family:JetBrains Mono,monospace;font-size:8.5px;font-weight:700}.gantt-lookahead-horizons button:last-child{border-right:0}.gantt-lookahead-horizons button b{margin-right:2px;font-size:11px}.gantt-lookahead-horizons button:hover{background:#fff}.gantt-lookahead-horizons button.active{color:#fff;background:#26383d;box-shadow:inset 0 -3px #f4aa00}.gantt-lookahead-range{color:#425359;gap:2px;min-width:142px;display:grid}.gantt-lookahead-range small{letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:7.5px}.gantt-lookahead-range strong{white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:9px}.gantt-lookahead-statuses{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.gantt-lookahead-statuses button{color:#3a494f;text-transform:uppercase;cursor:pointer;background:#ffffffeb;border:1px solid #8e999b;align-items:center;gap:5px;min-height:31px;padding:0 5px 0 7px;font-size:9px;font-weight:750;display:inline-flex}.gantt-lookahead-statuses button b{color:#314148;text-align:center;background:#edf0ed;border:1px solid #adb5b5;min-width:20px;padding:2px 4px;font-family:JetBrains Mono,monospace;font-size:8.5px}.gantt-lookahead-statuses button[aria-pressed=true]{color:#fff;background:#26383d;border-color:#26383d;box-shadow:inset 0 -3px #f4aa00}.gantt-lookahead-statuses button.overdue[aria-pressed=true]{background:#8d211b;border-color:#8d211b}.gantt-lookahead-statuses button.critical[aria-pressed=true]{color:#8d1e18;background:#fff0ee;border-color:#a51d16;box-shadow:inset 0 -3px #b42318}.gantt-lookahead-statuses button.not-started[aria-pressed=true]{color:#274e5d;background:#edf5f7;border-color:#315f70;box-shadow:inset 0 -3px #47798c}.gantt-lookahead-result{color:#314348;justify-items:end;min-width:56px;margin-left:auto;display:grid}.gantt-lookahead-result b{font-family:JetBrains Mono,monospace;font-size:15px;line-height:1}.gantt-lookahead-result small{color:#617074;white-space:nowrap;font-size:8px}.gantt-lookahead-reset{color:#425258;cursor:pointer;background:#fbfbf8;border:1px solid #7c898b;place-items:center;width:31px;height:31px;padding:0;display:grid}.gantt-lookahead-hint{color:#617074;text-align:right;text-transform:uppercase;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:8.5px}.gantt-lookaheadbar button:focus-visible{outline-offset:2px;outline:2px solid #a76f00}.gantt-filterbar{border-bottom:1px solid var(--gantt-grid-strong);background:#f5f6f3;grid-template-columns:minmax(220px,1fr) minmax(170px,230px) auto;align-items:center;gap:7px;min-height:43px;padding:6px 10px;display:grid}.gantt-search{background:#fff;border:1px solid #9aa2a5;align-items:center;min-height:31px;display:flex;position:relative}.gantt-search>svg{color:var(--steel);margin-left:9px}.gantt-search input{min-height:29px;box-shadow:none;border:0;padding:4px 29px 4px 7px;font-size:11px}.gantt-search button{width:28px;color:var(--steel);cursor:pointer;background:0 0;border:0;position:absolute;inset:0 0 0 auto}.gantt-category-filter select{border-color:#9aa2a5;min-height:31px;padding:3px 27px 3px 8px;font-size:11px}.gantt-result-count{color:#526168;letter-spacing:.035em;text-transform:uppercase;justify-self:end;font-family:JetBrains Mono,monospace;font-size:10px}.gantt-edit-guide{color:#39464c;min-height:34px;box-shadow:inset 4px 0 var(--accent-dark);background:#fff6dc;border-bottom:1px solid #9ca5a6;align-items:center;gap:7px;padding:6px 10px;font-size:10.5px;line-height:1.25;display:flex}.gantt-edit-guide>svg{color:#73580e;flex:none}.gantt-edit-guide strong{color:#263238;text-transform:uppercase;font-weight:800}.gantt-edit-guide .guide-divider{background:#c2ab6c;width:1px;height:18px;margin-inline:3px}.gantt-window-nav{isolation:isolate;background:var(--ink-2);color:#fff;border:1px solid #59656a;grid-template-columns:44px minmax(160px,1fr) 44px;align-items:stretch;min-width:0;min-height:42px;display:grid;box-shadow:inset 0 1px #3b454a}.gantt-window-nav button{z-index:2;color:#f4aa00;cursor:pointer;background:#263137;border:0;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:grid;position:relative}.gantt-window-nav button:first-child{border-right:1px solid #59656a}.gantt-window-nav button:last-child{border-left:1px solid #59656a}.gantt-window-nav button:hover:not(:disabled){color:#ffd45c;background:#3d494f}.gantt-window-nav button:focus-visible{z-index:3;outline-offset:-4px;outline:3px solid #f4aa00}.gantt-window-nav button:disabled{color:#69757a;cursor:not-allowed;background:#2c353a}.gantt-window-nav>span{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:3px 10px;display:grid}.gantt-window-nav strong{color:#f5f6f3;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:10px}.gantt-window-nav small{color:#c4ccce;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:9px;overflow:hidden}.gantt-pane-switcher,.gantt-mobile-meta{display:none}.gantt-workspace{grid-template-columns:var(--gantt-table-width) minmax(max(var(--gantt-timeline-min-width,0px), calc(100cqw + 160px)), 1fr);scrollbar-color:#78848a #e4e5e1;scrollbar-width:auto;overscroll-behavior-x:contain;height:clamp(440px,68dvh,760px);scroll-padding-left:var(--gantt-table-width);background:#fff;align-items:start;scroll-padding-top:72px;display:grid;position:relative;overflow:auto}.gantt-workspace:focus-visible{outline-offset:-3px;outline:3px solid #216f6c}.gantt-table-pane,.gantt-timeline-pane{min-width:0;position:relative}.gantt-table-pane{z-index:22;border-right:2px solid var(--ink);background:#fff;position:sticky;left:0;box-shadow:3px 0 #161b1f14}.gantt-table-header,.gantt-table-row{grid-template-columns:minmax(210px,1fr) 64px 64px 64px;display:grid}.gantt-table-header{z-index:40;border-bottom:2px solid var(--ink);background:var(--ink-2);color:#fff;position:sticky;top:0}.gantt-table-header span{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-right:1px solid #4f5a60;justify-content:center;align-items:center;min-width:0;padding:0 7px;font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:650;display:flex;overflow:hidden}.gantt-table-header span:first-child{flex-direction:column;justify-content:center;align-items:flex-start;padding-left:12px}.gantt-table-header span:first-child small{color:var(--accent);letter-spacing:.12em;font-size:7.5px;font-weight:600}.gantt-table-header span:first-child strong{white-space:normal;margin-top:3px;font-size:9px;line-height:1.12}.gantt-table-header span:last-child{border:0;padding-inline:4px;font-size:9px}.gantt-table-body{min-height:436px}.gantt-table-row{border-bottom:1px solid var(--gantt-grid);background:#fff;transition:background .12s linear}.gantt-table-row.stripe{background:#f5f6f4}.gantt-table-row.summary{background:#d9dedc;border-top:2px solid #7c878b;box-shadow:inset 5px 0 #354148}.gantt-table-row:first-child.summary{border-top:0}.gantt-table-row.hovered{background:#e8f0ef}.gantt-table-row.driving{background:#fff8df;box-shadow:inset 4px 0 #b87900}.gantt-table-row.driving.hovered{background:#fff2bf}.gantt-table-row.cascade-preview{background:repeating-linear-gradient(135deg,#e9f6f3 0 8px,#f5fbf9 8px 16px);box-shadow:inset 4px 0 #126a66}.gantt-table-row.selected{box-shadow:inset 5px 0 0 var(--accent-dark);background:#fff0bd}.gantt-table-row.saving{opacity:.62}.gantt-table-row>span,.gantt-name-cell{border-right:1px solid #d0d4d3;min-width:0}.gantt-name-cell{--gantt-edit-width:26px;height:100%;padding-block:5px;padding-right:calc(var(--gantt-edit-width) + 6px);align-items:center;gap:4px;display:flex;position:relative;overflow:hidden}.gantt-row-number{color:#43545b;letter-spacing:-.025em;text-align:right;white-space:nowrap;flex:0 0 43px;width:43px;font-family:JetBrains Mono,monospace;font-size:8.5px;font-weight:750}.gantt-table-row.summary .gantt-row-number{color:#26343a;font-weight:800}.gantt-tree-toggle,.gantt-row-edit,.gantt-task-name,.gantt-bar-move,.gantt-bar-resize{cursor:pointer;background:0 0;border:0}.gantt-tree-toggle{color:#3e4a50;flex:0 0 20px;place-items:center;width:20px;height:32px;padding:0;display:grid}.gantt-tree-spacer{flex:0 0 20px;width:20px}.gantt-category-dot{border:1px solid #00000061;flex:0 0 7px;width:7px;height:12px}.gantt-table-row.summary .gantt-category-dot{height:16px;background:#354148!important}.gantt-type-icon{flex:none}.gantt-task-copy{flex:1;align-content:center;min-width:0;display:grid}.gantt-task-name{overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto;color:#1f292e;text-align:left;text-overflow:clip;white-space:normal;width:100%;min-width:0;padding:0 2px;font-size:12px;font-weight:650;line-height:1.12;overflow:visible}.gantt-task-copy small{color:#58676d;letter-spacing:.01em;text-transform:uppercase;white-space:normal;flex-wrap:wrap;align-items:center;gap:3px 5px;min-width:0;margin-top:3px;padding:0 2px;font-family:JetBrains Mono,monospace;font-size:9.5px;line-height:1.2;display:flex;overflow:visible}.gantt-task-copy small>span{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto;text-overflow:clip;white-space:normal;flex:1 0 100%;width:100%;min-width:0;overflow:visible}.gantt-timing-state{letter-spacing:.035em;overflow-wrap:anywhere;text-align:left;white-space:normal;border:1px solid;flex:0 auto;max-width:100%;padding:1px 4px;font-size:8px;font-weight:800;line-height:1.1}.gantt-timing-state.baseline,.gantt-timing-state.slack{flex:1 0 100%;width:100%}.gantt-timing-state.critical{color:#971e17;background:#fff0ee;border-color:#a51d16}.gantt-timing-state.driving{color:#6b4c00;background:#fff3c4;border-color:#9a6a00}.gantt-timing-state.cascade-preview{color:#0d5d59;background:#e7f7f3;border-color:#126a66}.gantt-timing-state.overdue{color:#8d211b;background:#fff0ee;border-color:#a13a32}.gantt-timing-state.not-started{color:#365b69;background:#eef5f7;border-color:#5c7b87}.gantt-timing-state.slack{color:#405a65;background:#eef3f4;border-color:#70858e}.gantt-timing-state.baseline{color:#39474d;background:#f0f2f1;border-color:#7b8589}.gantt-timing-state.baseline.late{color:#9b281d;background:#fff1ef;border-color:#a84336}.gantt-timing-state.baseline.early{color:#28644f;background:#edf8f2;border-color:#3f7d68}.gantt-table-row.summary .gantt-task-name{letter-spacing:.01em;text-overflow:clip;text-transform:uppercase;white-space:normal;font-weight:800;line-height:1.05;overflow:visible}.gantt-table-row.summary .gantt-task-copy small{color:var(--detail-text);margin-top:4px}.gantt-table-row.lookahead-not-started{background:#f2f7f7}.gantt-table-row.lookahead-overdue{background:repeating-linear-gradient(135deg,#fff1ef 0 8px,#fff8f6 8px 16px);box-shadow:inset 4px 0 #a13a32}.gantt-row-edit{width:var(--gantt-edit-width);z-index:3;color:#46545a;background:#fffffff0;border:1px solid #aeb6b7;place-items:center;height:30px;transition:border-color .14s linear,background .14s linear,color .14s linear;display:grid;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.gantt-table-row.summary .gantt-row-edit{background:#f5f7f4f5}.gantt-row-edit:hover,.gantt-row-edit:focus-visible{color:#5d4507;background:#fff2c7;border-color:#5f6c70;outline:none}.gantt-date-cell{color:#35434a;text-overflow:ellipsis;white-space:nowrap;justify-content:center;align-items:center;min-width:0;padding:0 3px;font-family:JetBrains Mono,monospace;font-size:9.5px;display:flex;overflow:hidden}.gantt-progress-cell{align-content:center;gap:3px;padding:0 5px;display:grid}.gantt-progress-cell>i{background:repeating-linear-gradient(135deg,#eceeeb 0 4px,#e0e3df 4px 8px);border:1px solid #9da4a6;height:6px;overflow:hidden}.gantt-progress-cell>i b{background:var(--teal);height:100%;display:block}.gantt-progress-cell em{color:#26343a;text-align:right;font-family:JetBrains Mono,monospace;font-size:10px;font-style:normal;font-weight:750}.gantt-timeline-pane{isolation:isolate;background:#fff;overflow:clip}.gantt-timeline-header{z-index:40;border-bottom:2px solid var(--ink);background:#e7eae7;position:sticky;top:0;overflow:hidden}.gantt-axis-primary,.gantt-axis-secondary{position:absolute;inset-inline:0;overflow:hidden}.gantt-axis-primary{border-bottom:1px solid var(--gantt-grid-strong);height:30px;box-shadow:inset 0 3px var(--accent);background:#cdd3d0;top:0}.gantt-axis-secondary{background:#f3f4f1;height:42px;top:30px}.gantt-timeline-header span{border-right:1px solid var(--gantt-grid-strong);color:#1f292e;text-align:center;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;padding:0 4px;font-family:JetBrains Mono,monospace;font-weight:700;line-height:1;display:flex;position:absolute;overflow:hidden}.gantt-timeline-header .gantt-axis-primary span{color:#182126;letter-spacing:.025em;justify-content:flex-start;height:30px;padding:3px 7px 0;font-size:10.5px}.gantt-timeline-header .gantt-axis-primary span.compact{padding-inline:3px;font-size:9.5px}.gantt-timeline-header .gantt-axis-secondary span{background:linear-gradient(#ffffffb8,#e1e5e285);flex-direction:column;gap:3px;height:42px;font-size:9px}.gantt-timeline-header .gantt-axis-secondary span:nth-child(2n){background:linear-gradient(#eef1eeb8,#d7dcd994)}.gantt-timeline-header .gantt-axis-secondary span.compact{gap:2px;padding-inline:1px;font-size:8px}.gantt-timeline-header .gantt-axis-secondary small{color:#526168;letter-spacing:.025em;font-size:8.5px;font-weight:700}.gantt-timeline-header .gantt-axis-secondary strong{color:#111a1e;font-size:12px;font-weight:800}.gantt-timeline-header.scale-day .gantt-axis-secondary span{gap:1px;padding-inline:0}.gantt-timeline-header.scale-day .gantt-axis-secondary span.weekend{background:linear-gradient(#e6e9e6,#d7ddda)}.gantt-timeline-header.scale-day .gantt-axis-secondary span small{color:#42545b;letter-spacing:0;font-size:9.5px}.gantt-timeline-header.scale-day .gantt-axis-secondary span strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:Barlow,Arial Narrow,Arial,sans-serif;font-size:12.5px;line-height:1}.gantt-timeline-header.scale-day .gantt-axis-secondary span.narrow-day small{font-size:8.5px}.gantt-timeline-header.scale-day .gantt-axis-secondary span.narrow-day strong{letter-spacing:-.02em;font-size:11px}.gantt-timeline-header.scale-day .gantt-axis-secondary span.narrow-day:nth-child(2n) small{visibility:hidden}.gantt-timeline-header.scale-month .gantt-axis-secondary strong{letter-spacing:-.025em;font-size:10px}.gantt-timeline-header.scale-month .gantt-axis-secondary span.compact strong{font-size:9px}.gantt-timeline-header.scale-month .gantt-axis-secondary span.range{padding-inline:1px}.gantt-timeline-header.scale-month .gantt-axis-secondary span.range strong{letter-spacing:-.04em;font-size:8px}.gantt-today-header-line{z-index:5;pointer-events:none;background:#416bab;width:2px;position:absolute;inset-block:0;box-shadow:0 0 0 1px #ffffffe6}.gantt-today-label{z-index:6;color:#fff;letter-spacing:.035em;text-transform:uppercase;pointer-events:none;background:#416bab;border:1px solid #274f83;place-items:center;width:42px;height:16px;font-family:JetBrains Mono,monospace;font-size:9px;font-style:normal;font-weight:800;line-height:1;display:grid;position:absolute;top:3px;box-shadow:0 0 0 2px #ffffffeb,0 2px 5px #243f6947}.gantt-timeline-body{min-height:436px;position:relative}.gantt-timeline-field{z-index:0;background-color:#fff;position:absolute;inset:0;overflow:hidden}.gantt-timeline-field>span{z-index:0;background:#3e494f0e;position:absolute;inset-block:0}.gantt-timeline-field>span.holiday{background:#ca382f16}.gantt-timeline-field>span.exception{background:repeating-linear-gradient(135deg,#f4aa001f 0 4px,#f4aa000a 4px 8px)}.gantt-period-line,.gantt-major-line{z-index:2;background:#38454b4d;width:1px;position:absolute;inset-block:0}.gantt-major-line{background:#1e2b318f;width:2px}.gantt-today-line{z-index:4;pointer-events:none;background:#416bab;width:2px;position:absolute;inset-block:0;box-shadow:0 0 0 1px #ffffffd9}.gantt-dependencies{z-index:15;pointer-events:none;position:absolute;inset:0 auto auto 0;overflow:visible}.gantt-dependencies *{pointer-events:none}.gantt-dependencies>path{fill:none;stroke:#52666d;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #fffffffa);transition:opacity .12s,stroke .12s,stroke-width .12s,filter .12s}.gantt-dependencies>path.has-offscreen-endpoint{opacity:.68}.gantt-dependencies>path.critical{opacity:1;stroke:#b42318;stroke-width:2.05px;filter:drop-shadow(0 0 1px #fffffff2)}.gantt-dependencies>path.active{opacity:1;stroke:#126a66;stroke-width:2.05px;filter:drop-shadow(0 0 1px #fffffff2)}.gantt-dependencies>path.driving{opacity:1;stroke:#ad7200;stroke-width:2.25px;filter:drop-shadow(0 0 1.25px #fff)}.gantt-dependency-source{fill:#52666d;stroke:#fff;stroke-width:1.1px;vector-effect:non-scaling-stroke}.gantt-dependency-source.critical{fill:#b42318}.gantt-dependency-source.active{fill:#126a66}.gantt-dependency-source.driving{fill:#ad7200;stroke-width:1.2px}.gantt-dependency-continuation rect{fill:#f8faf8f5;stroke:#52666d;stroke-width:1px;vector-effect:non-scaling-stroke}.gantt-dependency-continuation text{fill:#34464c;dominant-baseline:middle;text-anchor:middle;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:800}.gantt-dependency-continuation.critical rect{stroke:#b42318}.gantt-dependency-continuation.critical text{fill:#8d1c14}.gantt-dependency-continuation.active rect{stroke:#126a66}.gantt-dependency-continuation.active text{fill:#0d5d59}.gantt-dependency-continuation.driving rect{fill:#fff7dc;stroke:#ad7200}.gantt-dependency-continuation.driving text{fill:#805400}.gantt-dependency-window-edge path{fill:none;stroke:#52666d;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.gantt-dependency-window-edge.critical path{stroke:#b42318}.gantt-dependency-window-edge.active path{stroke:#126a66}.gantt-dependency-window-edge.driving path{stroke:#ad7200}.gantt-dependency-marker path{fill:#4d5b61}.gantt-dependency-marker.critical path{fill:#b42318}.gantt-dependency-marker.active path{fill:#126a66}.gantt-dependency-marker.driving path{fill:#ad7200}.gantt-dependency-drawing{z-index:21;pointer-events:none;position:absolute;inset:0 auto auto 0;overflow:visible}.gantt-dependency-drawing path{fill:none;stroke:#126a66;stroke-width:2.2px;stroke-dasharray:6 3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #fffffff2)}.gantt-dependency-drawing circle{fill:#fff;stroke:#126a66;stroke-width:2px;vector-effect:non-scaling-stroke}.gantt-timeline-row{border-bottom:1px solid var(--gantt-grid);transition:background .12s linear;position:relative;overflow:hidden}.gantt-timeline-row.stripe{background:#edf0ed61}.gantt-timeline-row.summary{background:#d9dedc94;border-top:2px solid #7c878bbf}.gantt-timeline-row:first-of-type.summary{border-top:0}.gantt-timeline-row.hovered{background:#257c7816}.gantt-timeline-row.driving{background:#f4aa0016;box-shadow:inset 0 1px #b8790047,inset 0 -1px #b8790047}.gantt-timeline-row.cascade-preview{background:repeating-linear-gradient(135deg,#126a6617 0 8px,#126a6606 8px 16px)}.gantt-timeline-row.lookahead-not-started{background:#47798c0b}.gantt-timeline-row.lookahead-overdue{background:repeating-linear-gradient(135deg,#b4231814 0 8px,#b4231805 8px 16px)}.gantt-timeline-row.selected{background:#f4aa0013;border-block-color:#c78500b8}.gantt-timeline-row.has-baseline .gantt-new-bar,.gantt-timeline-row.has-baseline .gantt-new-milestone{top:var(--gantt-bar-y,calc(50% - 7px))}.gantt-link-handle{z-index:24;cursor:crosshair;opacity:0;touch-action:none;background:#f9fbf8;border:2px solid #2f5558;border-radius:50%;width:14px;height:14px;padding:0;transition:opacity .12s linear,background .12s linear,border-color .12s linear,transform .12s linear;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ffffffd1}.gantt-link-handle:after{content:"";background:#fff;border:1px solid #257c78;border-radius:50%;width:4px;height:4px;position:absolute;inset:3px}.gantt-link-handle:hover,.gantt-link-handle:focus-visible,.gantt-link-handle.source,.gantt-panel.drawing-dependency .gantt-link-handle{opacity:1;background:#e8f6f3;border-color:#0e6662;transform:translate(-50%,-50%)scale(1.16)}.gantt-link-handle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.gantt-link-handle.source{background:#fff2c7;border-color:#8b5e00;box-shadow:0 0 0 3px #f4aa0057}.gantt-timeline-row:hover .gantt-link-handle,.gantt-timeline-row.selected .gantt-link-handle{opacity:1}.gantt-timeline-row.has-baseline .gantt-link-handle{top:var(--gantt-bar-y,calc(50% - 7px))}.gantt-dependency-explanation{background:#fff8df;border-bottom:1px solid #7d898b;grid-template-columns:20px minmax(180px,.42fr) minmax(0,1fr);align-items:center;gap:10px;min-height:62px;padding:8px 11px;display:grid;box-shadow:inset 5px 0 #b87900}.gantt-dependency-explanation>svg{color:#8b5e00}.gantt-dependency-explanation-heading{gap:2px;min-width:0;display:grid}.gantt-dependency-explanation-heading small{color:#6d5a25;letter-spacing:.035em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700}.gantt-dependency-explanation-heading strong{overflow-wrap:anywhere;color:#2c3639;min-width:0;font-size:12px}.gantt-dependency-explanation>div{gap:3px;min-width:0;display:grid}.gantt-dependency-explanation p{color:#3f4c50;grid-template-columns:68px minmax(0,1fr);align-items:baseline;gap:7px;min-width:0;margin:0;font-size:10px;line-height:1.25;display:grid}.gantt-dependency-explanation p b{color:#76510a;letter-spacing:.025em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:8.5px}.gantt-dependency-explanation p span{overflow-wrap:anywhere;min-width:0}.gantt-new-bar{z-index:12;border:1px solid color-mix(in srgb, var(--gantt-color,#71808d) 72%, #202a2f);border-left:4px solid color-mix(in srgb, var(--gantt-color,#71808d) 72%, #202a2f);background:var(--gantt-color,#71808d);min-width:2px;height:20px;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%);box-shadow:inset 0 1px #ffffff61}.gantt-new-bar.short{border-right-style:dashed}.gantt-new-bar.critical{outline-offset:1px;outline:2px solid #b42318;box-shadow:inset 0 1px #ffffff61,0 0 0 1px #ffffffe0}.gantt-new-bar.preview{outline:2px solid var(--accent);outline-offset:2px}.gantt-new-bar.cascade-preview{opacity:.76;outline-offset:2px;outline:2px dashed #126a66;box-shadow:inset 0 1px #ffffff8c,0 0 0 1px #ffffffeb}.gantt-new-bar.summary{background:#9ba4a7;border:1px solid #606d72;border-left:4px solid #566268;height:20px;overflow:hidden;box-shadow:inset 0 1px #ffffff73}.gantt-new-bar.summary:before,.gantt-new-bar.summary:after{content:none}.gantt-new-bar.summary .gantt-bar-progress{opacity:.78;background:#667278}.gantt-bar-progress{background:color-mix(in srgb, var(--gantt-color,#71808d) 82%, #182329);opacity:.62;pointer-events:none;position:absolute;inset:0 auto 0 0}.gantt-short-bar-extension{z-index:2;pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff80 0 3px,#fff3 3px 6px);position:absolute;inset-block:0}.gantt-short-bar-extension.before{border-right:2px solid color-mix(in srgb, var(--gantt-color,#71808d) 65%, #202a2f);left:0}.gantt-short-bar-extension.after{border-left:2px solid color-mix(in srgb, var(--gantt-color,#71808d) 65%, #202a2f);right:0}.gantt-bar-progress-text{z-index:3;color:var(--gantt-text,#fff);letter-spacing:-.02em;text-shadow:0 1px 1px #0000007a,0 0 2px #ffffff2e;white-space:nowrap;pointer-events:none;place-items:center;font-family:JetBrains Mono,monospace;font-size:9.5px;font-weight:800;line-height:1;display:grid;position:absolute;inset:0;overflow:hidden}.gantt-new-bar.summary .gantt-bar-progress-text{color:#fff}.gantt-bar-label{height:auto;min-height:20px;top:var(--gantt-label-y,50%);z-index:16;box-sizing:border-box;letter-spacing:.005em;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;pointer-events:none;padding:0 2px;font-family:Barlow,Arial Narrow,Arial,sans-serif;font-size:10.5px;font-weight:700;line-height:20px;display:block;position:absolute;overflow:visible}.gantt-bar-label.inside{z-index:16;text-shadow:0 1px 1px #00000059;padding-left:2px}.gantt-bar-label.outside{overflow-wrap:anywhere;color:#263238;text-overflow:clip;text-shadow:-1px -1px #fffffff5,1px -1px #fffffff5,-1px 1px #fffffff5,1px 1px #fffffff5;white-space:normal;height:auto;min-height:20px;max-height:none;line-height:1.3;display:block;overflow:visible}.gantt-bar-label.outside.right{text-align:left}.gantt-bar-label.outside.left{text-align:right;justify-content:flex-end}.gantt-bar-label.outside.with-progress{max-height:none;padding-block:2px;display:block}.gantt-label-progress{white-space:nowrap}.gantt-label-measure{visibility:hidden;pointer-events:none;white-space:pre;letter-spacing:.005em;width:max-content;padding:0 2px;font:700 10.5px/20px Barlow,Arial Narrow,Arial,sans-serif;position:absolute;top:0;left:0}.gantt-summary-label,.gantt-label-measure.summary{font-size:12px}.gantt-summary-label{cursor:pointer;pointer-events:auto;text-align:left;background:0 0;border:0}.gantt-summary-label:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}.gantt-timeline-row .gantt-new-bar,.gantt-timeline-row .gantt-new-milestone,.gantt-timeline-row .gantt-link-handle,.gantt-timeline-row .gantt-cascade-origin{top:var(--gantt-bar-y,50%)}.gantt-bar-move{z-index:4;color:#253238;cursor:grab;opacity:0;touch-action:none;background:#ffffffb8;place-items:center;width:14px;padding:0;transition:opacity .12s linear;display:grid;position:absolute;inset:0 auto 0 0}.gantt-new-bar:hover .gantt-bar-move,.gantt-new-bar:focus-within .gantt-bar-move{opacity:1}.gantt-new-bar.short .gantt-bar-move{opacity:1;background:#ffffffe6;border:0;border-right:1px solid #1c2a2f8c;width:16px;left:0}.gantt-bar-move:active{cursor:grabbing}.gantt-bar-resize{z-index:4;cursor:ew-resize;touch-action:none;background:#ffffff80;border-left:1px solid #00000059;width:6px;padding:0;position:absolute;inset:0 9px 0 auto}.gantt-new-bar.short .gantt-bar-resize{background:#ffffffd1;border-left:2px solid #1c2a2fb8;width:8px;left:auto;right:9px}.gantt-bar-move:focus-visible,.gantt-bar-resize:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.gantt-continuation{z-index:6;pointer-events:none;border-block:6px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.gantt-continuation.before{border-left:0;border-right:7px solid #ffffffeb;left:1px}.gantt-continuation.after{border-left:7px solid #ffffffeb;border-right:0;right:1px}.gantt-new-bar.summary .gantt-continuation{border-block-width:5px}.gantt-new-milestone{z-index:14;box-sizing:border-box;background:var(--gantt-color,#71808d);width:14px;height:14px;box-shadow:none;cursor:grab;touch-action:none;border:2px solid #273238;position:absolute;top:50%;transform:translate(-7px,-50%)rotate(45deg)}.gantt-new-milestone.critical{border:3px solid #b42318;box-shadow:inset 0 0 0 1px #fffffff0}.gantt-new-milestone.cascade-preview{opacity:.76;border:3px solid #126a66;box-shadow:inset 0 0 0 1px #ffffffe6}.gantt-cascade-origin{z-index:9;box-sizing:border-box;pointer-events:none;background:#ffffff9e;border:2px dashed #68767b;height:24px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-cascade-origin.milestone{height:10px;transform:translate(-5px,-50%)rotate(45deg);width:10px!important}.gantt-baseline-bar{z-index:11;box-sizing:border-box;pointer-events:none;background:#a5adaf;border:1px solid #59666b;height:5px;position:absolute;top:calc(50% + 11px);box-shadow:inset 0 1px #ffffffa6}.gantt-baseline-bar.summary{background:#858f92;border-color:#4c585d;height:6px}.gantt-baseline-bar.milestone{border:1px solid #4c585d;width:8px;height:8px;transform:translate(-4px,-50%)rotate(45deg)}.gantt-baseline-delta{z-index:17;box-sizing:border-box;color:#3d4b50;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#f9faf8f5;border:1px solid #7b8589;place-items:center;width:82px;height:15px;padding:0 4px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:800;line-height:1;display:grid;position:absolute;top:calc(50% + 5px);overflow:hidden}.gantt-baseline-delta.late{color:#9b281d;background:#fff4f2;border-color:#a84336}.gantt-baseline-delta.early{color:#28644f;background:#f0faf5;border-color:#3f7d68}.gantt-slack-bar{z-index:10;box-sizing:border-box;pointer-events:none;border-top:2px dashed #526d78;border-right:2px solid #526d78;height:6px;position:absolute;top:calc(50% + 14px)}.gantt-slack-bar:after{content:"";background:#fff;border:1px solid #526d78;width:5px;height:5px;position:absolute;top:-4px;right:-3px;transform:rotate(45deg)}.gantt-timeline-row.has-baseline .gantt-slack-bar{height:4px;top:calc(50% + 20px)}.gantt-timeline-row .gantt-baseline-bar{top:var(--gantt-baseline-y,calc(50% + 11px))}.gantt-timeline-row .gantt-baseline-delta{top:var(--gantt-delta-y,calc(50% + 5px))}.gantt-timeline-row .gantt-slack-bar{top:var(--gantt-slack-y,calc(50% + 14px))}.gantt-timeline-row.has-baseline .gantt-slack-bar{top:var(--gantt-slack-y,calc(50% + 20px))}.gantt-empty-window{z-index:24;border:1px solid #6f7b80;border-left:4px solid var(--accent-dark);color:#263238;background:#f9faf7f7;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;width:min(360px,100% - 32px);min-height:62px;padding:10px;display:grid;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:4px 4px #232d3229}.gantt-empty-project{color:#263238;background:#f9faf7;border-bottom:1px solid #6f7b80;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.gantt-empty-project>span{overflow-wrap:anywhere;flex:220px;gap:4px;min-width:0;display:grid}.gantt-empty-project strong{font-size:14px}.gantt-empty-project small{color:#4f5d63;font-size:12px}.gantt-empty-project .button{flex-shrink:0;min-width:44px;min-height:44px}.gantt-empty-window>svg{color:#6d777c}.gantt-empty-window span{gap:3px;min-width:0;display:grid}.gantt-empty-window strong{text-transform:uppercase;font-size:11px}.gantt-empty-window small{color:#68757a;font-size:9px}.gantt-empty-window button{color:#fff;text-transform:uppercase;cursor:pointer;background:#303a40;border:1px solid #626d72;min-height:30px;padding:0 8px;font-size:9px;font-weight:750}.gantt-footer{border-top:1px solid var(--gantt-grid-strong);background:#e6e9e6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:38px;padding:7px 10px;display:flex}.gantt-scroll-hint{color:#4f5d63;flex-basis:100%;font-size:12px;line-height:1.4}.gantt-legend{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gantt-legend span{color:#344249;align-items:center;gap:5px;font-size:9.5px;font-weight:650;display:inline-flex}.gantt-legend i{border:1px solid #0006;width:4px;height:12px}.gantt-legend .gantt-legend-critical i{background:#fff;border:2px solid #b42318;width:14px;height:9px}.gantt-legend .gantt-legend-driving i{border:0;border-top:3px solid #ad7200;width:18px;height:0}.gantt-legend .gantt-legend-dependency i{border:0;border-top:2px solid #334d55;width:19px;height:0;position:relative}.gantt-legend .gantt-legend-dependency i:after{content:"";border-block:3px solid #0000;border-left:5px solid #334d55;position:absolute;top:-4px;right:-1px}.gantt-legend .gantt-legend-slack i{border:0;border-top:2px dashed #526d78;width:18px;height:0}.gantt-legend .gantt-legend-baseline i{background:#a5adaf;border:1px solid #59666b;width:18px;height:5px}.gantt-hint{color:#526168;white-space:nowrap;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:10px;display:inline-flex}.gantt-link-dialog{width:min(100%,650px)}.gantt-link-dialog .modal-heading{box-shadow:inset 5px 0 var(--teal)}.gantt-link-summary{background:#edf0ed;border:1px solid #7f8a8c;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:stretch;min-height:76px;display:grid}.gantt-link-summary>span{background:#fff;align-content:center;gap:5px;min-width:0;padding:11px 12px;display:grid}.gantt-link-summary>span:first-child{border-right:1px solid #b6bdbc}.gantt-link-summary>span:last-child{border-left:1px solid #b6bdbc}.gantt-link-summary small{color:#657277;letter-spacing:.07em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700}.gantt-link-summary strong{overflow-wrap:anywhere;color:#26343a;min-width:0;font-size:13px;line-height:1.15}.gantt-link-summary>i{color:#257c78;align-content:center;place-items:center;gap:4px;font-style:normal;display:grid}.gantt-link-summary>i b{color:#26343a;text-align:center;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.2}.gantt-link-relation{border:1px solid #98a2a3;border-left:4px solid var(--teal);color:#45545a;text-transform:uppercase;background:#eef2ef;align-items:center;gap:9px;min-height:38px;padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.gantt-link-relation b{color:#1f3036;min-width:90px;font-size:10px}.calendar-panel{background:#fff;min-width:0;container:calendar/inline-size}.calendar-controls{flex-wrap:wrap;justify-content:flex-start;gap:10px}.calendar-controls button{border:1px solid var(--line-dark);cursor:pointer;background:#fff;min-width:44px;min-height:44px}.calendar-controls button:last-child{width:auto;padding:0 12px;font-weight:700}.calendar-controls>span{color:#526168;text-align:right;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.3}.calendar-month-nav{z-index:8;background:#e4e8e4;border-bottom:1px solid #8d9798;grid-template-columns:36px minmax(0,1fr) 36px;align-items:stretch;gap:6px;min-height:50px;padding:6px 8px;display:grid;position:sticky;top:0;box-shadow:0 3px #1f2d311a}.calendar-month-nav>div{scrollbar-width:thin;grid-template-columns:repeat(12,minmax(48px,1fr));min-width:0;display:grid;overflow-x:auto}.calendar-month-nav button{color:#405158;cursor:pointer;background:#f8f9f5;border:1px solid #a2acad;border-right-width:0;min-height:36px}.calendar-month-nav>div button:last-child{border-right-width:1px}.calendar-month-nav>div button{align-content:center;place-items:center;gap:1px;padding:4px 3px;display:grid}.calendar-month-nav>div button b{color:#58666b;font-size:8px;line-height:1}.calendar-month-nav>div button span{letter-spacing:.03em;text-transform:uppercase;font-size:9px;font-weight:800}.calendar-month-nav button:hover:not(:disabled),.calendar-month-nav button:focus-visible{z-index:1;border-color:var(--teal);color:#175f5b;outline-offset:-3px;background:#edf5f1;outline:2px solid #257c7840;position:relative}.calendar-month-nav>div button.active{z-index:2;background:var(--ink-2);color:#fff;box-shadow:inset 0 4px var(--accent);border-color:#26353a;border-right-width:1px;position:relative}.calendar-month-nav>div button.active+button{border-left-width:0}.calendar-month-nav>div button.active b{color:var(--accent)}.calendar-month-nav .calendar-month-step{color:#26353a;background:#fff;border-right-width:1px;font-size:16px;font-weight:800}.calendar-month-nav button:disabled{opacity:.4;cursor:not-allowed}.year-scroll{scroll-snap-type:inline mandatory;overscroll-behavior-inline:contain;min-width:0;padding-bottom:8px;overflow-x:auto;container:year-calendar/inline-size}.year-grid{--calendar-month-width:25cqw;grid-template-columns:repeat(12, var(--calendar-month-width));grid-auto-columns:max(0px, calc(100cqw - var(--calendar-month-width)));width:max-content;min-width:100%;display:grid}.year-grid:after{content:"";grid-area:1/13}.month-column{border-right:1px solid var(--line-dark);scroll-snap-align:start;scroll-snap-stop:always;min-width:0;overflow:hidden}.month-column h3{z-index:4;border-bottom:1px solid var(--line-dark);background:var(--ink-2);color:#fff;text-align:center;text-transform:uppercase;height:40px;margin:0;padding:11px 8px;font-size:13px;position:sticky;top:0}.day-cell{background:#fff;border-bottom:1px solid #d8d9d5;grid-template-columns:27px 27px minmax(0,1fr);align-items:center;height:48px;display:grid;position:relative}.day-cell.weekend{background:#e7e8e6}.day-cell.holiday{color:#9b2b24;background:#fde2df}.day-cell.off-override{background:#fff0d1}.day-cell.work-override{background:#e0f1e5}.day-cell.invalid{opacity:.35;background:#bfc3c3}.day-cell.outside-project{color:#8d9698;cursor:not-allowed;opacity:.62;background:#eceeed}.day-number{padding-left:6px;font-size:11px;font-weight:700}.weekday{text-transform:uppercase;font-size:10px;font-weight:600}.day-tasks{align-content:center;gap:2px;height:100%;display:grid;overflow:hidden}.day-tasks button{color:#101010;text-align:left;white-space:nowrap;cursor:grab;border:1px solid #00000059;align-items:center;gap:3px;max-width:138px;height:19px;padding:0 4px;font-size:9px;font-weight:700;display:flex;overflow:hidden}.day-tasks.has-overflow{gap:1px}.day-tasks.has-overflow>button:not(.day-overflow-trigger){height:16px;font-size:8.5px}.day-tasks .day-overflow-trigger{color:#5b4305;cursor:pointer;background:#fff0b8;border-color:#8b6500;justify-content:center;gap:4px;height:11px;min-height:11px;padding:0 5px;font-family:JetBrains Mono,monospace;font-size:7.5px;line-height:1}.day-tasks .day-overflow-trigger b{font-size:8px}.day-tasks .day-overflow-trigger:hover,.day-tasks .day-overflow-trigger:focus-visible{background:var(--accent);color:#182125;outline-offset:-2px;border-color:#22353b;outline:2px solid #257c784d}.day-tasks button>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.day-task-wbs{border-right:1px solid;flex:none;padding-right:3px;font-size:7.5px;font-weight:800}.day-tasks button.continues{border-left-style:dashed}.day-tasks button.ends{border-right:3px solid #0000008f}.day-task-flow{text-align:center;flex:0 0 8px;width:8px;font-family:JetBrains Mono,monospace;font-size:7px;line-height:1}.day-cell>em{color:currentColor;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;position:absolute;bottom:1px;left:54px;right:3px;overflow:hidden}.category-legend{border-top:1px solid var(--line-dark);flex-wrap:wrap;gap:18px;padding:15px;display:flex}.category-legend span{align-items:center;gap:6px;font-size:10px;font-weight:600;display:inline-flex}.category-legend i{border:1px solid #00000059;width:18px;height:12px}.calendar-day-overview{overflow:hidden}.calendar-day-overview .modal-heading{min-height:88px;box-shadow:inset 5px 0 var(--accent)}.calendar-day-overview .modal-heading h2{text-transform:capitalize}.calendar-day-overview-body{padding:16px}.calendar-day-overview-body>p{color:#5b696e;margin:0 0 12px;font-size:11px;line-height:1.4}.calendar-day-overview-list{overscroll-behavior:contain;gap:6px;max-height:min(440px,58vh);display:grid;overflow-y:auto}.calendar-day-overview-list>button{color:#25343a;text-align:left;cursor:pointer;background:#fff;border:1px solid #a2abab;grid-template-columns:5px 45px minmax(0,1fr) auto 18px;align-items:center;gap:8px;min-width:0;min-height:58px;padding:8px 10px;display:grid;box-shadow:2px 2px #d8dbd7}.calendar-day-overview-list>button>i{border:1px solid #00000040;width:5px;height:32px}.calendar-day-overview-list>button:hover,.calendar-day-overview-list>button:focus-visible{border-color:var(--teal);outline-offset:-3px;background:#edf5f1;outline:2px solid #257c783d;transform:translate(2px)}.calendar-day-overview-wbs{color:#31535a;font-size:10px;font-weight:800}.calendar-day-overview-copy{gap:3px;min-width:0;display:grid}.calendar-day-overview-copy strong{overflow-wrap:anywhere;font-size:12px;line-height:1.15}.calendar-day-overview-copy small,.calendar-day-overview-when small{color:#687579;font-family:JetBrains Mono,monospace;font-size:8px;line-height:1.25}.calendar-day-overview-when{white-space:nowrap;justify-items:end;gap:3px;display:grid}.calendar-day-overview-when b{text-transform:uppercase;background:#e8ebe7;border:1px solid #9da6a7;padding:2px 5px;font-family:JetBrains Mono,monospace;font-size:8px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d1215b3;place-items:center;padding:30px 18px;display:grid;position:fixed;inset:0}.modal{overscroll-behavior:contain;background:var(--surface);border:1px solid #7c8589;width:min(100%,760px);max-height:92dvh;overflow-y:auto;box-shadow:10px 10px #00000047}.modal.small{width:min(100%,520px)}.modal-heading{border-bottom:1px solid var(--line-dark);background:var(--ink-2);color:#fff;justify-content:space-between;gap:20px;min-height:80px;padding:19px 22px;display:flex}.modal-heading>div{min-width:0}.modal-heading h2{overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.1}.modal-heading button{color:#fff;cursor:pointer;background:0 0;border:1px solid #5f6a70;flex:0 0 36px;width:36px;height:36px}.modal form{gap:17px;padding:22px;display:grid}.modal-actions{border-top:1px solid var(--line);background:#eeede8;justify-content:space-between;margin:5px -22px -22px;padding:16px 22px;display:flex}.modal-actions>div{gap:8px;display:flex}.confirm-dialog-copy{padding:22px}.confirm-dialog-copy p{max-width:52ch;color:var(--detail-text);margin:0;line-height:1.55}.confirm-dialog-actions{align-items:center;gap:12px;margin:0}.confirm-dialog-actions>span{color:var(--detail-text);font-size:12px}.task-dependencies{background:#f4f5f1;border:1px solid #8d989a}.task-dependencies-heading{min-height:82px;box-shadow:inset 4px 0 var(--teal);background:#e5e9e5;border-bottom:1px solid #aeb5b5;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.task-dependencies-heading>div{min-width:0}.task-dependencies-heading .eyebrow{margin-bottom:4px}.task-dependencies-heading h3{margin:0;font-size:20px}.task-dependencies-heading p:last-child{color:#526168;max-width:510px;margin:4px 0 0;font-size:11px;line-height:1.35}.task-dependency-add-actions{flex-shrink:0;gap:6px;display:grid}.task-dependency-add-actions .button{min-height:44px}.task-dependency-feedback{color:var(--teal);margin:12px;font-size:12px;line-height:1.4}.task-dependency-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;display:grid}.task-dependency-columns>section{min-width:0}.task-dependency-columns h4{color:#303d43;letter-spacing:.045em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 0 7px;font-size:12px;display:flex}.task-dependency-columns h4 span{text-align:center;background:#fff;border:1px solid #9aa4a5;min-width:24px;padding:3px 6px;font-family:JetBrains Mono,monospace;font-size:10px}.task-dependency-list{gap:7px;display:grid}.task-dependency-list>p{color:#69757a;text-align:center;border:1px dashed #aab2b2;place-items:center;min-height:68px;margin:0;padding:12px;font-size:11px;display:grid}.task-dependency-card{min-width:0;box-shadow:inset 3px 0 var(--accent-dark);background:#fff;border:1px solid #a9b1b1}.task-dependency-card-heading{grid-template-columns:35px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:9px;display:grid}.task-dependency-card-heading>span:last-child{gap:3px;min-width:0;display:grid}.task-dependency-card-heading strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.task-dependency-card-heading small{color:#5c696e;gap:1px;min-width:0;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.3;display:grid}.task-dependency-card-heading small span{overflow-wrap:anywhere;min-width:0}.task-dependency-number{color:#405057;border-right:1px solid #c2c8c7;align-self:stretch;place-items:center;font-size:10px;font-weight:750;display:grid}.task-dependency-relation{color:#445158;text-transform:uppercase;background:#eef1ed;border-top:1px solid #d2d6d5;align-items:center;gap:6px;min-height:31px;padding:5px 9px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.task-dependency-relation svg{color:var(--teal);flex:none}.task-dependency-relation b{color:#213036}.task-dependency-actions{justify-content:flex-end;gap:6px;padding:6px 8px 8px;display:flex}.task-dependency-actions button{color:#39484e;cursor:pointer;text-transform:uppercase;background:#fff;border:1px solid #9ea8a8;align-items:center;gap:5px;min-height:31px;padding:0 9px;font-size:10px;font-weight:750;display:inline-flex}.task-dependency-actions button.remove{color:#8c2d26;background:#fff2f0;border-color:#d4a29e}.task-dependency-actions button:disabled{opacity:.5;cursor:wait}.task-dependency-editor{border:1px solid #657276;border-left:4px solid var(--accent-dark);background:#fff;gap:13px;min-width:0;margin:0 12px 12px;padding:13px;display:grid;box-shadow:3px 3px #212d321f}.task-dependency-editor-heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.task-dependency-editor-heading .eyebrow{margin-bottom:4px}.task-dependency-editor-heading h4{margin:0;font-size:17px}.task-dependency-editor-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.task-dependency-editor-actions>small{color:#5b686d;max-width:440px;font-size:10px;line-height:1.35}.task-dependency-summary-note{color:#59676d;align-items:center;gap:9px;min-height:72px;padding:15px;font-size:11px;display:flex}.dependency-modal{width:min(100%,1040px)}.dependency-audit-overview{box-shadow:inset 5px 0 var(--teal);background:#e6ebe7;border-bottom:1px solid #aeb5b5;grid-template-columns:repeat(4,max-content) minmax(220px,1fr);align-items:center;gap:10px;padding:12px 16px;display:grid}.dependency-audit-overview>div{color:#36525a;background:#f8faf7;border:1px solid #aeb8b6;align-items:center;gap:8px;min-height:48px;padding:7px 11px;display:flex}.dependency-audit-overview>div>svg{color:var(--teal)}.dependency-audit-overview>div.coverage-incomplete{color:#674c08;background:#fff5d7;border-color:#c29437}.dependency-audit-overview>div.coverage-incomplete>svg{color:#a66d00}.dependency-audit-overview>div>span:last-child{gap:1px;display:grid}.dependency-audit-overview strong{color:var(--ink);font-family:JetBrains Mono,monospace;font-size:17px;line-height:1}.dependency-audit-overview small{color:#5a686d;letter-spacing:.05em;font-family:JetBrains Mono,monospace;font-size:8px}.dependency-audit-count{color:#7a5510;border:2px solid #99711b;border-radius:50%;place-items:center;width:20px;height:20px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:800;display:grid}.dependency-audit-overview>p{color:#43545a;max-width:380px;margin:0 0 0 auto;font-size:11px;line-height:1.4}.dependency-section-heading{background:#f1f2ed;border-bottom:1px solid #aeb5b5;justify-content:space-between;align-items:end;gap:16px;min-height:57px;padding:10px 16px;display:flex}.dependency-section-heading.existing{border-top:1px solid #899496}.dependency-section-heading .eyebrow{margin-bottom:3px}.dependency-section-heading h3{margin:0;font-size:17px}.dependency-section-heading>span{color:#46565c;letter-spacing:.04em;background:#fff;border:1px solid #96a1a2;padding:5px 7px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:750}.dependency-proposal-review{background:#f0f1ec;border-bottom:1px solid #899496}.dependency-section-heading.proposal-heading{box-shadow:inset 5px 0 #b87900}.dependency-proposal-explanation{color:#664f15;background:#fff7dc;border-bottom:1px solid #d2c18f;align-items:flex-start;gap:10px;min-height:58px;padding:10px 16px;display:flex}.dependency-proposal-explanation>svg{color:#a66d00;flex:none;margin-top:2px}.dependency-proposal-explanation>span{gap:3px;display:grid}.dependency-proposal-explanation strong{color:#59440f;font-size:11px}.dependency-proposal-explanation p{max-width:820px;margin:0;font-size:10.5px;line-height:1.4}.dependency-proposal-toggle{color:#3c4e54;cursor:pointer;letter-spacing:.035em;text-transform:uppercase;background:#e5e8e2;border:0;border-bottom:1px solid #b8c0be;justify-content:center;align-items:center;gap:7px;width:100%;min-height:40px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:750;display:flex}.dependency-proposal-toggle:hover,.dependency-proposal-toggle:focus-visible{color:var(--teal);outline-offset:-3px;background:#dce3dd;outline:2px solid #257c7840}.dependency-proposal-toggle svg{transition:transform .16s}.dependency-proposal-toggle svg.open{transform:rotate(180deg)}.dependency-proposal-list{overscroll-behavior:contain;background:#dfe3df;max-height:390px;overflow-y:auto}.dependency-proposal-item{background:#fafaf7;border-bottom:1px solid #c1c8c6;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:78px;padding:9px 12px;display:grid;box-shadow:inset 4px 0 #b87900}.dependency-proposal-item:last-child{border-bottom:0}.dependency-proposal-route{grid-template-columns:minmax(150px,1fr) 120px minmax(150px,1fr);align-items:center;gap:9px;min-width:0;display:grid}.dependency-proposal-route>strong{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 6px;min-width:0;display:grid}.dependency-proposal-route .dependency-wbs{color:#34444b;background:#e8ece9;border:1px solid #a5adae;padding:2px 4px;font-size:9px;line-height:1}.dependency-proposal-route em{color:#27363b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-style:normal;overflow:hidden}.dependency-proposal-route strong small{color:#657277;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:500;overflow:hidden}.dependency-proposal-route>span{color:#6d5210;text-align:center;background:#fff4cc;border:1px solid #c2ad75;align-content:center;place-items:center;gap:2px;min-height:34px;padding:5px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:800;display:grid}.dependency-proposal-route>span small{font-size:7.5px;font-weight:600}.dependency-proposal-actions{justify-content:flex-end;gap:6px;display:flex}.dependency-proposal-actions .button{min-height:32px}.dependency-suggestion-list{background:#dfe3df;gap:9px;max-height:342px;padding:10px 12px;display:grid;overflow-y:auto}.dependency-suggestion{background:#fff;border:1px solid #8f9a9a;border-left:5px solid #c28a22;box-shadow:3px 3px #2530331a}.dependency-suggestion.high{border-left-color:var(--teal)}.dependency-suggestion-route{grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:9px 11px;display:grid}.dependency-suggestion-task{grid-template-columns:54px minmax(0,1fr);align-items:stretch;gap:8px;min-width:0;display:grid}.dependency-suggestion-task>.dependency-wbs{color:#405057;border-right:1px solid #c0c7c6;place-items:center;font-size:10px;display:grid}.dependency-suggestion-task>span:last-child{gap:3px;min-width:0;display:grid}.dependency-suggestion-task strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dependency-suggestion-task small{color:#5b696d;font-family:JetBrains Mono,monospace;font-size:9px}.dependency-suggestion-relation{color:#4c5b60;white-space:nowrap;background:#e9eeea;border:1px solid #a5aead;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:5px;font-family:JetBrains Mono,monospace;font-size:8.5px;display:flex}.dependency-suggestion-relation b{color:var(--teal);font-size:11px}.dependency-suggestion-evidence{color:#4a5a60;background:#f1f4f0;border-top:1px solid #d1d6d4;align-items:flex-start;gap:8px;padding:8px 11px;display:flex}.dependency-suggestion-evidence>svg{color:var(--teal);flex:none;margin-top:1px}.dependency-suggestion-evidence>span{gap:2px;min-width:0;display:grid}.dependency-suggestion-evidence strong{color:#27363b;letter-spacing:.045em;text-transform:uppercase;font-size:10px}.dependency-suggestion-evidence p{margin:0;font-size:11px;line-height:1.35}.dependency-suggestion-evidence small{color:#657277;font-family:JetBrains Mono,monospace;font-size:8.5px}.dependency-suggestion-actions{border-top:1px solid #d1d6d4;justify-content:flex-end;gap:7px;padding:8px 10px;display:flex}.dependency-suggestion-actions .button{min-height:32px}.dependency-suggestion-scope{color:#664f15;background:#fff7dc;border-bottom:1px solid #d2c18f;align-items:center;gap:9px;min-height:44px;padding:8px 16px;display:flex}.dependency-suggestion-scope>svg{color:#a66d00;flex:none}.dependency-suggestion-scope p{max-width:760px;margin:0;font-size:10.5px;line-height:1.4}.dependency-suggestion-empty{min-height:74px;color:var(--teal);background:#f7f8f4;align-items:center;gap:10px;padding:14px 17px;display:flex}.dependency-suggestion-empty>span{gap:3px;display:grid}.dependency-suggestion-empty strong{color:#304047;font-size:12px}.dependency-suggestion-empty small{color:#667378;font-size:10px}.dependency-manual-review{background:#eef0ec;border-top:1px solid #899496;border-bottom:1px solid #899496}.dependency-section-heading.manual-review-heading{box-shadow:inset 5px 0 var(--teal);border-bottom-color:#aeb7b5}.dependency-review-controls{background:#e3e8e4;border-bottom:1px solid #b8c0be;grid-template-columns:minmax(260px,1fr) minmax(190px,270px) auto;align-items:end;gap:10px;padding:10px 14px;display:grid}.dependency-review-controls>label{color:#4a595f;letter-spacing:.055em;text-transform:uppercase;gap:5px;min-width:0;font-size:9px;font-weight:750;display:grid}.dependency-review-search{min-width:0;display:block;position:relative}.dependency-review-search>svg{color:#66747a;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.dependency-review-search input{background:#fff;width:100%;padding-left:33px;font-size:11px}.dependency-review-controls select{background:#fff;font-size:11px}.dependency-review-result{background:var(--ink-2);color:#fff;text-align:center;border:1px solid #879294;align-content:center;place-items:center;min-width:84px;min-height:39px;padding:5px 9px;display:grid}.dependency-review-result b{color:#f4aa00;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1}.dependency-review-result small{letter-spacing:.04em;text-transform:uppercase;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:7.5px}.dependency-proposal-controls{background:#f2ead5;border-bottom-color:#c8b476}.dependency-proposal-controls>label{color:#654f19}.dependency-proposal-result{background:#4c421f;border-color:#9a7418}.dependency-proposal-result b{color:#ffc13b}.dependency-review-empty.proposal-filtered{background:#fafaf7}.dependency-review-empty.proposal-filtered .text-button{margin-left:8px}.dependency-proposal-more{background:#f6f0df;border-bottom-color:#c8b476}.dependency-unlinked-list{overscroll-behavior:contain;background:#dfe3df;max-height:330px;overflow-y:auto}.dependency-unlinked-list article{background:#fafaf7;border-bottom:1px solid #c1c8c6;grid-template-columns:55px minmax(180px,1fr) 112px auto;align-items:center;gap:9px;min-width:0;min-height:62px;padding:8px 12px;display:grid;box-shadow:inset 4px 0 #7b8788}.dependency-unlinked-list article:last-child{border-bottom:0}.dependency-unlinked-list article.has-suggestion{background:#fff8df;box-shadow:inset 4px 0 #b87900}.dependency-unlinked-wbs{color:#33454b;border-right:1px solid #c5ccca;align-self:stretch;place-items:center;font-size:10px;font-weight:800;display:grid}.dependency-unlinked-copy{gap:3px;min-width:0;display:grid}.dependency-unlinked-copy strong{color:#25343a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.dependency-unlinked-copy small{color:#5c696e;text-overflow:ellipsis;white-space:nowrap;gap:5px;min-width:0;font-family:JetBrains Mono,monospace;font-size:8.5px;display:flex;overflow:hidden}.dependency-unlinked-copy small i{color:#9aa2a3;font-style:normal}.dependency-unlinked-state{color:#526168;text-align:center;text-transform:uppercase;background:#eef1ed;border:1px solid #a9b2b0;justify-content:center;align-items:center;gap:5px;min-height:27px;padding:4px 6px;font-family:JetBrains Mono,monospace;font-size:7.5px;font-weight:750;display:inline-flex}.has-suggestion .dependency-unlinked-state{color:#73540d;background:#fff2c9;border-color:#d0b36b}.dependency-unlinked-actions{justify-content:flex-end;gap:6px;display:flex}.dependency-unlinked-actions button{color:#35454b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #879294;min-height:32px;padding:0 8px;font-size:9px;font-weight:750}.dependency-unlinked-actions button:last-child{color:#215e5a;border-color:#4e7e7a}.dependency-unlinked-actions button:hover,.dependency-unlinked-actions button:focus-visible{border-color:var(--ink);outline-offset:1px;background:#eef5f3;outline:2px solid #257c7840}.dependency-unlinked-actions button:disabled{opacity:.5;cursor:wait}.dependency-review-empty,.dependency-review-complete{color:#627075;text-align:center;justify-content:center;align-items:center;gap:10px;min-height:82px;padding:15px 18px;display:flex}.dependency-review-empty>span,.dependency-review-complete>span{gap:3px;display:grid}.dependency-review-empty strong,.dependency-review-complete strong{color:#2f4147;font-size:12px}.dependency-review-empty small,.dependency-review-complete small{font-size:10px}.dependency-review-complete{color:var(--teal);background:#edf6f2}.dependency-register-controls{background:#e3e8e4;border-bottom:1px solid #aeb7b5;grid-template-columns:minmax(260px,1fr) minmax(170px,230px) minmax(150px,190px) auto;align-items:end;gap:9px;padding:10px 14px;display:grid}.dependency-register-controls>label{color:#4a595f;letter-spacing:.055em;text-transform:uppercase;gap:5px;min-width:0;font-size:9px;font-weight:750;display:grid}.dependency-register-search{min-width:0;display:block;position:relative}.dependency-register-search>svg{color:#66747a;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.dependency-register-search input{background:#fff;width:100%;min-height:38px;padding-left:33px;font-size:11px}.dependency-register-controls select{background:#fff;min-height:38px;font-size:11px}.dependency-register-result{background:var(--ink-2);color:#fff;text-align:center;border:1px solid #657276;align-content:center;place-items:center;min-width:92px;min-height:38px;padding:5px 9px;display:grid}.dependency-register-result b{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:14px;line-height:1}.dependency-register-result small{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:7.5px}.dependency-register{border-bottom:1px solid var(--line-dark);background:#e8e9e5;max-height:340px;overflow-y:auto}.dependency-register article{background:#f8f8f5;border-bottom:1px solid #c6cbca;grid-template-columns:86px minmax(0,1fr) 36px 36px;align-items:center;gap:8px;min-width:0;min-height:64px;padding:9px 14px;display:grid}.dependency-register article:last-child{border-bottom:0}.dependency-register article.editing{box-shadow:inset 5px 0 var(--accent);background:#fff9e9}.dependency-type{background:var(--ink-2);color:#fff;text-align:center;white-space:normal;border:1px solid #6e797d;place-items:center;min-height:30px;padding:4px 6px;font-size:8px;font-weight:700;line-height:1.15;display:grid}.dependency-register article>div{grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr);align-items:center;gap:8px;min-width:0;display:grid}.dependency-register article strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex;overflow:hidden}.dependency-register article strong .dependency-wbs{color:#34444b;background:#e8ece9;border:1px solid #a5adae;flex:none;padding:2px 4px;font-size:9px;line-height:1}.dependency-register article strong em{text-overflow:ellipsis;min-width:0;font-style:normal;overflow:hidden}.dependency-register article div span{color:var(--steel);text-align:center;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:8px}.dependency-check-state{color:#476057;letter-spacing:.025em;text-transform:uppercase;background:#edf2ed;border:1px solid #b1b9b7;grid-column:1/-1;justify-content:center;align-items:center;gap:4px;min-height:22px;padding:3px 6px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700;display:flex}.dependency-check-state.buffered{color:#785f16;background:#fff8df;border-color:#c7b26f}.dependency-check-state.conflict{color:#8c2d26;background:#fff0ed;border-color:#d4a29e}.dependency-register article>button{border:1px solid var(--line-dark);cursor:pointer;background:#fff;place-items:center;width:34px;height:34px;display:grid}.dependency-register article>button:last-child{color:var(--danger);border-color:#d7a5a1}.dependency-register article>button:disabled{opacity:.45;cursor:not-allowed}.dependency-empty{min-height:88px;color:var(--steel);align-items:center;gap:12px;padding:18px 22px;display:flex}.dependency-empty div{gap:3px;display:grid}.dependency-empty strong{color:var(--ink);font-size:13px}.dependency-empty span{font-size:11px}.dependency-empty.filtered .text-button{width:max-content;color:var(--teal);margin-top:4px;font-weight:750}.dependency-register-more{color:#526168;background:#eef0ec;border-bottom:1px solid #899496;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:9px;display:flex}.dependency-register-more b{color:var(--ink)}.dependency-form-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.dependency-form-heading .eyebrow{margin-bottom:5px}.dependency-form-heading h3{margin:0;font-size:20px}.dependency-form .form-grid{align-items:start}.dependency-form.manual-preset{background:#fffdf6;box-shadow:inset 5px 0 #b87900}.dependency-manual-prompt{color:#725817;background:#fff5d4;border:1px solid #d1b86f;align-items:center;gap:9px;padding:10px 12px;display:flex}.dependency-manual-prompt>svg{flex:none}.dependency-manual-prompt>span{gap:2px;display:grid}.dependency-manual-prompt strong{color:#59440f;font-size:11px}.dependency-manual-prompt small{font-size:10px;line-height:1.35}.dependency-task-picker{gap:6px;min-width:0;display:grid;position:relative}.dependency-task-picker>label{letter-spacing:.055em;text-transform:uppercase;font-size:11px;font-weight:700}.dependency-task-selected{border:1px solid #8e999d;border-left:4px solid var(--teal);background:#f5f6f2;grid-template-columns:54px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:57px;padding:7px 9px 7px 6px;display:grid}.dependency-task-selected>svg{color:var(--teal)}.dependency-task-number{color:#3d4b51;letter-spacing:-.025em;white-space:nowrap;border-right:1px solid #c6cccb;align-self:stretch;place-items:center;font-size:9px;font-weight:750;display:grid}.dependency-task-copy{text-align:left;gap:3px;min-width:0;display:grid}.dependency-task-copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;line-height:1.2;overflow:hidden}.dependency-task-copy small{color:#526168;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-family:JetBrains Mono,monospace;font-size:8px;line-height:1.25;display:flex;overflow:hidden}.dependency-task-copy small i{color:#98a1a4;font-style:normal}.dependency-task-search{position:relative}.dependency-task-search>svg{z-index:1;color:#66747a;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.dependency-task-search>svg:first-child{left:11px}.dependency-task-search>svg:last-child{right:10px}.dependency-task-search input{padding-left:34px;padding-right:32px;font-size:11px}.dependency-task-search input::-webkit-search-cancel-button{margin-right:16px}.dependency-task-menu{z-index:20;background:#fff;border:1px solid #657177;width:100%;min-width:min(350px,100%);max-width:100%;position:absolute;bottom:48px;box-shadow:7px 8px #161b1f3d}.dependency-task-menu-heading{background:var(--ink-2);color:#e5e8e6;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #aab2b4;justify-content:space-between;align-items:center;gap:12px;min-height:29px;padding:6px 9px;font-family:JetBrains Mono,monospace;font-size:8px;display:flex}.dependency-task-options{overscroll-behavior:contain;max-height:268px;overflow-y:auto}.task-dependency-editor .dependency-task-menu{margin-bottom:6px;position:static}.dependency-task-options>button{cursor:pointer;background:#fff;border:0;border-bottom:1px solid #d4d8d7;grid-template-columns:54px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:56px;padding:7px 9px 7px 7px;display:grid}.dependency-task-options>button.dependency-task-create{color:#155d59;text-align:left;background:#eaf4f1;border-top:2px solid #b6c9c5;border-bottom:0;justify-content:flex-start;align-items:center;gap:7px;min-height:44px;padding:8px 10px;font-weight:750;display:flex}.dependency-task-options>button.dependency-task-create:hover,.dependency-task-options>button.dependency-task-create:focus-visible{color:#0b4f4b;background:#dceeea}.dependency-task-options>button.dependency-task-create:disabled{opacity:.6;cursor:wait}.dependency-task-options>button:last-child{border-bottom:0}.dependency-task-options>button:hover,.dependency-task-options>button.active{box-shadow:inset 4px 0 var(--teal);background:#eef5f3}.dependency-task-options>button.selected{box-shadow:inset 4px 0 var(--accent);background:#fff8e5}.dependency-task-options>button.selected.active{box-shadow:inset 4px 0 var(--teal);background:#eef5f3}.dependency-task-options>button>svg{color:var(--teal)}.dependency-task-no-results{min-height:112px;color:var(--steel);text-align:center;align-content:center;place-items:center;gap:3px;padding:20px;display:grid}.dependency-task-no-results strong{color:var(--ink);font-size:12px}.dependency-task-no-results span{font-size:10px}.text-button{border:0;border-bottom:1px solid var(--line-dark);color:var(--steel);cursor:pointer;background:0 0;padding:4px 0;font-size:11px}.calendar-audit-modal{width:min(100%,1120px);overflow:hidden}.calendar-audit-modal .modal-heading{box-shadow:inset 6px 0 #d99a13}.calendar-audit-overview{background:#ebece8;border-bottom:1px solid #9da5a5;grid-template-columns:repeat(3,max-content) minmax(260px,1fr);align-items:stretch;gap:1px;min-height:92px;padding:12px 16px;display:grid;box-shadow:inset 6px 0 #d99a13}.calendar-audit-overview>div{color:#48565b;background:#f7f7f3;border:1px solid #b9bfbd;align-items:center;gap:10px;min-width:116px;padding:11px 14px;display:flex}.calendar-audit-overview>div svg{color:#a06f00;flex:none}.calendar-audit-overview>div span{gap:2px;display:grid}.calendar-audit-overview>div strong{color:#28343a;font-family:JetBrains Mono,monospace;font-size:20px;line-height:1}.calendar-audit-overview>div small{color:#67747a;letter-spacing:.08em;font-size:8px;font-weight:800}.calendar-audit-overview .calendar-audit-total{background:#fff2c7;border-color:#b9891e}.calendar-audit-overview .calendar-audit-total strong{color:#77560b}.calendar-audit-overview>p{color:#536168;align-self:center;max-width:48ch;margin:0 0 0 auto;padding:9px 5px 9px 18px;font-size:10.5px;line-height:1.45}.calendar-audit-guidance{background:#fff;border-bottom:1px solid #b8bfbd;grid-template-columns:1fr 1fr;display:grid}.calendar-audit-guidance>span{grid-template-columns:22px minmax(0,1fr);align-content:center;gap:2px 8px;min-height:72px;padding:13px 17px;display:grid}.calendar-audit-guidance>span+span{border-left:1px solid #c4c9c7}.calendar-audit-guidance svg{color:var(--teal);grid-row:1/3;align-self:start;margin-top:1px}.calendar-audit-guidance strong{color:#28363b;font-size:11px}.calendar-audit-guidance small{color:#5c696e;font-size:9.5px;line-height:1.35}.calendar-audit-error{padding:10px 14px 0}.calendar-audit-controls{background:#e2e4e1;border-bottom:1px solid #9da5a5;grid-template-columns:minmax(260px,1fr) minmax(150px,210px) auto;align-items:end;gap:10px;min-height:68px;padding:10px 14px;display:grid}.calendar-audit-controls label{color:#4c5a5f;letter-spacing:.08em;text-transform:uppercase;gap:4px;min-width:0;font-size:8.5px;font-weight:800;display:grid}.calendar-audit-controls input,.calendar-audit-controls select{height:36px;color:var(--ink);background:#fff;border-color:#818b8e;font-size:11px}.calendar-audit-search{display:block;position:relative}.calendar-audit-search svg{color:#5f6d72;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.calendar-audit-search input{width:100%;padding-left:34px}.calendar-audit-result{background:var(--ink-2);color:#fff;border:1px solid #818b8e;justify-content:center;align-items:baseline;gap:5px;min-width:92px;height:36px;padding:5px 10px;display:flex}.calendar-audit-result b{font-family:JetBrains Mono,monospace;font-size:15px}.calendar-audit-result small{color:#b9c1c3;font-size:8px}.calendar-audit-list{overscroll-behavior:contain;background:#d9dcda;max-height:min(440px,48vh);overflow-y:auto}.calendar-audit-list article{background:#fff;border-left:5px solid #bf8b17;grid-template-columns:minmax(235px,1.2fr) minmax(170px,.8fr) minmax(170px,.8fr) minmax(150px,auto);align-items:center;gap:12px;min-height:84px;margin-top:1px;padding:10px 12px;display:grid}.calendar-audit-list article:first-child{margin-top:0}.calendar-audit-list article.deciding{background:#fffdf6;box-shadow:inset 0 0 0 1px #c69a37}.calendar-audit-task{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.calendar-audit-wbs{color:#31535a;border-right:1px solid #b9c0bf;place-items:center;min-height:38px;padding:4px;font-size:9px;font-weight:800;display:grid}.calendar-audit-task>span:last-child{gap:4px;min-width:0;display:grid}.calendar-audit-task strong{overflow-wrap:anywhere;color:#26343a;font-size:12px;line-height:1.2}.calendar-audit-task small{color:#6b777b;text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.25;overflow:hidden}.calendar-audit-date,.calendar-audit-next{gap:3px;min-width:0;display:grid}.calendar-audit-date small,.calendar-audit-next small{color:#778287;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:7.5px;font-weight:800}.calendar-audit-date strong,.calendar-audit-next strong{overflow-wrap:anywhere;color:#2d393e;font-size:10.5px;line-height:1.25}.calendar-audit-date>span,.calendar-audit-next>span{color:#758084;font-size:8.5px}.calendar-audit-date strong{color:#8b5f00}.calendar-audit-actions{gap:5px;display:grid}.calendar-audit-actions button{color:#334146;cursor:pointer;text-align:left;background:#f3f4f0;border:1px solid #7d898c;align-items:center;gap:6px;min-height:31px;padding:5px 8px;font-size:9px;font-weight:750;display:flex}.calendar-audit-actions button:hover:not(:disabled),.calendar-audit-actions button:focus-visible{border-color:var(--teal);color:#175f5b;outline:1px solid var(--teal);background:#e4f1ef}.calendar-audit-actions button:disabled{opacity:.55;cursor:wait}.calendar-audit-decision{color:#624a10;background:#fff0bf;border-top:1px solid #c99a2f;grid-column:1/-1;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;margin:1px -12px -10px;padding:11px 12px 11px 17px;display:grid}.calendar-audit-decision.working-day{color:#254d4a;background:#e8f4f1;border-color:#47827e}.calendar-audit-decision>svg{align-self:start}.calendar-audit-decision>span{gap:3px;display:grid}.calendar-audit-decision strong{font-size:11px}.calendar-audit-decision small{max-width:70ch;font-size:9.5px;line-height:1.4}.calendar-audit-decision>div{justify-content:flex-end;gap:7px;display:flex}.calendar-audit-empty{min-height:180px;color:var(--teal);text-align:left;background:#f7f7f3;place-content:center;align-items:center;gap:12px;padding:28px;display:flex}.calendar-audit-empty>span{gap:4px;display:grid}.calendar-audit-empty strong{color:#29383d;font-size:13px}.calendar-audit-empty small{color:#69767a;font-size:10px}.calendar-audit-footer{background:#ebece8;border-top:1px solid #818b8e;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 14px;display:flex}.calendar-audit-footer>span{color:#70530d;align-items:center;gap:7px;font-size:9.5px;font-weight:700;display:flex}body:has(.print-page){background:#dfe2df}body:has(.print-page) .app-frame{display:block}body:has(.print-page) .app-main{width:100%}:is(body:has(.print-page) .sidebar,body:has(.print-page) .sidebar-scrim,body:has(.print-page) .mobile-app-header,body:has(.print-page) .mobile-menu,body:has(.print-page) .skip-link){display:none!important}.print-page{width:min(100%,1780px);min-width:0;margin:0 auto;padding:clamp(14px,2vw,28px)}.print-controls{border:1px solid #68757a;border-left:5px solid var(--accent-dark);background:#f4f2eb;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 20px;margin-bottom:16px;padding:12px;display:grid;box-shadow:5px 6px #1d262a29}.print-scope-picker{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.print-scope-picker a{color:#35454b;background:#fff;border:1px solid #9aa4a4;align-content:center;gap:2px;min-width:0;min-height:74px;padding:10px 13px 10px 17px;text-decoration:none;display:grid;position:relative;overflow:hidden}.print-scope-picker a:before{content:"";inset-block:0;background:#8b9697;width:5px;position:absolute;left:0}.print-scope-picker a:hover,.print-scope-picker a:focus-visible{border-color:var(--teal);outline-offset:1px;outline:2px solid #257c783b}.print-scope-picker a.active{background:#e8efeb;border-color:#294248;box-shadow:inset 0 0 0 1px #294248}.print-scope-picker a.active:before{background:var(--accent)}.print-scope-picker span{color:#69767a;letter-spacing:.07em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:750}.print-scope-picker strong{color:#26363b;font-size:15px}.print-scope-picker small{color:#58666b;font-size:9.5px;line-height:1.25}.print-range-form{flex-wrap:wrap;align-items:flex-end;gap:10px;min-width:0;display:flex}.print-overview-range{border-left:4px solid var(--teal);background:#e7ece8;align-content:center;gap:2px;min-width:0;min-height:44px;padding:7px 11px;display:grid}.print-overview-range span{color:#657277;letter-spacing:.065em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:7.5px;font-weight:800}.print-overview-range strong{color:#26383d;font-family:JetBrains Mono,monospace;font-size:10px}.print-controls label{text-transform:uppercase;gap:4px;font-size:11px;font-weight:700;display:grid}.print-controls-action{justify-content:flex-end;align-items:center;gap:16px;display:flex}.print-controls-note{color:#536168;text-align:right;max-width:390px;font-size:10px;line-height:1.35}.print-document{background:#fff;border:1px solid #838d8f;min-width:0;padding:clamp(20px,2.1vw,34px);box-shadow:10px 12px #1d262a2e,0 18px 55px #1d262a1f}.print-header{border-bottom:2px solid var(--ink);background:linear-gradient(90deg,#f8f7f2 0 67%,#fff 67%);grid-template-columns:minmax(0,1fr) minmax(300px,390px);align-items:stretch;gap:26px;min-height:118px;padding:18px 0 14px 18px;display:grid}.print-header p{color:var(--teal);margin:0 0 5px;font-family:JetBrains Mono,monospace;font-size:11px}.print-header h1{margin:0;font-size:31px;line-height:1.05}.print-header span{color:var(--steel);font-size:12px}.print-header>div:first-child{align-self:center}.print-header>div:last-child{border-left:4px solid var(--accent);background:var(--ink-2);color:#fff;text-align:right;align-content:center;gap:5px;padding:14px 16px;display:grid}.print-header>div:last-child small{color:#f4aa00;letter-spacing:.12em;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700}.print-header>div:last-child strong{font-size:13px}.print-header>div:last-child span{color:#c9d0d2;font-size:9.5px}.print-legend{border-bottom:1px solid var(--line-dark);background:#f3f4f0;flex-wrap:wrap;align-items:center;gap:8px 13px;min-height:42px;padding:9px 10px;display:flex}.print-legend>strong{color:#2f3b40;letter-spacing:.08em;text-transform:uppercase;margin-right:2px;font-family:JetBrains Mono,monospace;font-size:8.5px}.print-legend span{align-items:center;gap:5px;font-size:10px;display:flex}.print-legend i{border:1px solid #333;width:15px;height:9px}.print-legend .print-calendar-reference{color:#536168;border-left:1px solid #9ba4a5;margin-left:auto;padding-left:10px;font-family:JetBrains Mono,monospace;font-size:8px}.print-calendar-reference b{color:#284f56;font-size:8px}.print-gantt{border:1px solid var(--ink);border-collapse:collapse;table-layout:fixed;width:100%;margin-top:15px}.print-task-column{width:31%}.print-gantt thead{display:table-header-group}.print-gantt-axis{background:#e2e4e1;height:58px}.print-axis-label{border-right:1px solid var(--ink);background:var(--ink);color:#fff;text-align:left;vertical-align:middle;padding:7px 9px}.print-axis-label strong,.print-axis-label span{display:block}.print-axis-label strong{text-transform:uppercase;font-size:10.5px}.print-axis-label span{color:#d2d8da;margin-top:3px;font-family:JetBrains Mono,monospace;font-size:8.5px}.print-axis-timeline{height:58px;padding:0;position:relative}.print-axis-primary,.print-axis-secondary{height:29px;position:absolute;inset-inline:0;overflow:hidden}.print-axis-primary{box-shadow:inset 0 3px var(--accent);background:#ccd2cf;border-bottom:1px solid #788287;top:0}.print-axis-secondary{background:#f2f2ee;top:29px}.print-axis-timeline span{text-transform:uppercase;white-space:nowrap;border-right:1px solid #8f989b;align-items:center;height:25px;padding:0 3px;font-family:JetBrains Mono,monospace;font-size:8.5px;font-weight:650;display:flex;position:absolute;overflow:hidden}.print-gantt-row{break-inside:avoid;page-break-inside:avoid;height:38px}.print-gantt-row>td{border-bottom:1px solid var(--line)}.print-gantt-row.summary{background:#dfe3e0;height:42px;box-shadow:inset 5px 0 #39464b}.print-task-name{border-right:1px solid var(--line-dark);vertical-align:middle;padding:5px 8px}.print-task-name strong,.print-task-name span{display:block}.print-task-name strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-size:10.5px;line-height:1.15;overflow:visible}.print-task-name .print-wbs{color:#31535a;white-space:nowrap;border-right:1px solid #9eaaad;min-width:42px;margin-right:6px;padding-right:5px;font-family:JetBrains Mono,monospace;font-size:9px;font-style:normal;font-weight:800;display:inline-block}.print-gantt-row.summary .print-task-name strong{text-overflow:clip;text-transform:uppercase;white-space:normal;font-weight:800;line-height:1.15;overflow:visible}.print-task-name span{color:#526168;margin-top:3px;font-family:JetBrains Mono,monospace;font-size:9px}.print-timeline{background:repeating-linear-gradient(90deg,#0000 0 4.99%,#505a5f1f 5%);height:37px;padding:0;position:relative;overflow:hidden}.print-gantt-row.summary .print-timeline{height:41px}.print-nonworking{background:#505a5f14;position:absolute;inset-block:0}.print-bar{box-sizing:border-box;border:1px solid #263238;border-left-width:3px;height:18px;position:absolute;top:9px;overflow:hidden}.print-bar.short{border-right-style:dashed}.print-bar b{z-index:1;background:#00000038;height:100%;display:block;position:absolute;inset:0 auto 0 0}.print-bar em{z-index:3;color:#fff;text-shadow:0 1px 1px #000000a6;white-space:nowrap;place-items:center;font-family:JetBrains Mono,monospace;font-size:7.5px;font-style:normal;font-weight:800;line-height:1;display:grid;position:absolute;inset:0;overflow:hidden}.print-bar.summary{border:0;height:8px;top:16px;background:var(--ink)!important}.print-bar-extension{z-index:2;background:repeating-linear-gradient(135deg,#ffffff8f 0 3px,#ffffff2e 3px 6px);position:absolute;inset-block:0}.print-bar-extension.before{border-right:1px solid #182328b8;left:0}.print-bar-extension.after{border-left:1px solid #182328b8;right:0}.print-bar-continuation{z-index:4;border-block:4px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.print-bar-continuation.before{border-right:5px solid #fff;left:0}.print-bar-continuation.after{border-left:5px solid #fff;right:0}.print-milestone{border:1px solid #222;width:11px;height:11px;position:absolute;top:12px;transform:translate(-5px)rotate(45deg)}.print-page-footer{color:#56656b;text-transform:uppercase;border-top:1px solid #727d80;justify-content:space-between;gap:18px;min-height:32px;margin-top:10px;padding-top:7px;font-family:JetBrains Mono,monospace;font-size:8.5px;display:flex}.print-page-footer strong{color:#27353a}.print-gantt-document{gap:28px;display:grid}.print-gantt-document.site .print-map-task{padding-block:2px}.print-gantt-document.site .print-map-task strong{font-size:10px}.print-gantt-document.site .print-map-task small{font-size:7.4px}.print-gantt-document.site .print-map-bar-label{font-size:8.6px}.print-preview-scroll-hint{display:none}.responsive-print-frame{width:100%;min-width:0;height:var(--print-preview-height);position:relative;overflow:hidden}.responsive-print-frame>.print-gantt-sheet,.responsive-print-frame>.print-document{width:var(--print-preview-base-width);max-width:none;transform:scale(var(--print-preview-scale));transform-origin:0 0;position:absolute;inset:0 auto auto 0}.responsive-print-frame>.print-gantt-sheet{min-height:848px}.print-gantt-page{min-width:0}.print-gantt-sheet{box-sizing:border-box;background:#fff;border:1px solid #788488;flex-direction:column;width:100%;min-width:0;min-height:min(1160px,70.7vw - 39.592px);padding:22px 24px 16px;display:flex;box-shadow:10px 12px #1d262a2e,0 18px 55px #1d262a1f}.print-map-header{border-top:5px solid var(--teal);border-bottom:2px solid var(--ink);background:linear-gradient(90deg,#f6f5ef 0 68%,#e8ebe7 68%);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:64px;padding:9px 12px 8px;display:grid}.print-map-header p{color:var(--teal);letter-spacing:.06em;margin:0 0 2px;font-family:JetBrains Mono,monospace;font-size:8.5px;font-weight:750}.print-map-header h1{margin:0;font-size:22px;line-height:1}.print-map-header>div:first-child>span{color:#58666c;font-size:9.5px}.print-map-meta{background:#fff;border:1px solid #6b777b;grid-template-columns:auto auto auto;align-items:stretch;gap:0;display:grid}.print-map-meta>span{border-right:1px solid #aab2b2;align-content:center;gap:2px;min-width:150px;padding:7px 10px;display:grid}.print-map-meta small{color:#657277;letter-spacing:.055em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:7px;font-weight:750}.print-map-meta strong{color:#26353a;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:9px}.print-map-meta>b{background:var(--ink-2);color:#fff;white-space:nowrap;place-items:center;min-width:82px;padding:0 10px;font-family:JetBrains Mono,monospace;font-size:9px;display:grid}.print-map-legend{background:#f1f2ed;border-bottom:1px solid #7d898c;flex-wrap:wrap;align-items:center;gap:5px 11px;min-height:34px;padding:6px 8px;display:flex}.print-map-legend>strong{color:#35444a;letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:7.5px}.print-map-legend>span{color:#46545a;white-space:nowrap;align-items:center;gap:4px;font-size:8px;display:inline-flex}.print-map-legend>span.print-map-abbreviation{border-right:1px solid #9da7a7;padding-right:10px}.print-map-abbreviation b{color:#284f56;font-family:JetBrains Mono,monospace;font-size:7.5px}.print-map-legend i{box-sizing:border-box;border:1px solid #2e3a3e;width:14px;height:8px;display:inline-block}.print-map-legend i.critical{background:#fff;border:2px solid #b42318}.print-map-legend i.baseline{background:#949da0;height:4px}.print-map-legend i.dependency{border:0;border-top:2px solid #355158;height:0;position:relative}.print-map-legend i.dependency:after{content:"";border-block:3px solid #0000;border-left:5px solid #355158;position:absolute;top:-4px;right:-1px}.print-map-legend i.extended{background:repeating-linear-gradient(135deg,#809092 0 2px,#dfe5e2 2px 4px);border-right-style:dashed}.print-gantt-map{background:#fff;border:1px solid #344247;grid-template-rows:54px auto;grid-template-columns:42% 58%;margin-top:9px;display:grid}.print-gantt-map-viewport{min-width:0}.print-map-table-head{background:var(--ink-2);color:#fff;grid-template-columns:52px minmax(0,1fr) 76px 76px 70px;display:grid}.print-map-table-head>span{text-transform:uppercase;border-right:1px solid #657277;align-items:center;min-width:0;padding:6px;font-family:JetBrains Mono,monospace;font-size:7.5px;font-weight:750;line-height:1.15;display:flex;overflow:hidden}.print-map-table-head>span:first-child{text-align:center;white-space:nowrap;justify-content:center;padding-inline:4px}.print-map-table-head>span:nth-child(n+3){text-align:center;justify-content:center}.print-map-axis{background:#e5e8e4;border-left:1px solid #1f2c31;position:relative;overflow:hidden}.print-map-axis-primary,.print-map-axis-secondary{height:27px;position:absolute;inset-inline:0;overflow:hidden}.print-map-axis-primary{box-shadow:inset 0 3px var(--accent);background:#cbd2ce;border-bottom:1px solid #788287;top:0}.print-map-axis-secondary{background:#f3f3ef;top:27px}.print-map-axis span{box-sizing:border-box;text-transform:uppercase;white-space:nowrap;border-right:1px solid #8d979a;justify-content:center;align-items:center;height:27px;padding:0 3px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:700;line-height:1;display:flex;position:absolute;overflow:hidden}.print-map-table-body{min-width:0}.print-map-table-row{box-sizing:border-box;background:#fff;border-bottom:1px solid #c5ccca;grid-template-columns:52px minmax(0,1fr) 76px 76px 70px;align-items:stretch;min-width:0;display:grid}.print-map-table-row:nth-child(2n){background:#f5f6f2}.print-map-table-row.summary{background:#dfe3e0;border-top:2px solid #717d80;box-shadow:inset 5px 0 #39464b}.print-map-table-row:first-child.summary{border-top:0}.print-map-table-row>*{box-sizing:border-box;border-right:1px solid #c1c8c7;min-width:0}.print-map-wbs{color:#31535a;text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;padding:0 5px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:800;display:flex}.print-map-table-row.critical .print-map-wbs{color:#a22a22}.print-map-task{padding-block:4px;align-items:center;gap:5px;padding-right:6px;display:flex}.print-map-task>i{background:var(--print-task-color);border:1px solid #354145;flex:none;width:7px;height:7px}.print-map-task>i.milestone{transform:rotate(45deg)}.print-map-task>span{gap:1px;min-width:0;display:grid}.print-map-task strong{overflow-wrap:anywhere;color:#26343a;font-size:9.5px;line-height:1.05;overflow:visible}.print-map-table-row.summary .print-map-task strong{text-transform:uppercase;font-weight:850}.print-map-task small{color:#5a676c;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:7.2px;line-height:1.05;overflow:hidden}.print-map-relations{gap:1px;min-width:0;display:grid}.print-map-relation{color:#405158;grid-template-columns:51px minmax(0,1fr);align-items:start;gap:3px;min-width:0;font-family:JetBrains Mono,monospace;font-size:6.6px;line-height:1.1;display:grid}.print-map-relation>b{color:#24545b;font-size:6.6px}.print-map-relation>span{overflow-wrap:anywhere;white-space:normal;min-width:0}.print-map-table-row>time{color:#35454b;white-space:nowrap;place-items:center;padding:0 4px;font-family:JetBrains Mono,monospace;font-size:7.7px;display:grid}.print-map-progress{grid-template-columns:minmax(12px,1fr) 25px;align-items:center;gap:4px;padding:0 5px;display:grid}.print-map-progress>i{background:#e3e6e3;border:1px solid #778286;height:7px;overflow:hidden}.print-map-progress>i>b{background:var(--teal);height:100%;display:block}.print-map-progress em{text-align:right;font-family:JetBrains Mono,monospace;font-size:7.5px;font-style:normal;font-weight:750}.print-map-timeline-body{background:#fff;border-left:1px solid #566267;min-width:0;position:relative;overflow:hidden}.print-map-grid{z-index:0;background:repeating-linear-gradient(90deg,#0000 0 4.99%,#505a5f0b 5%);position:absolute;inset:0;overflow:hidden}.print-map-grid>i{background:#5b686c38;width:1px;position:absolute;inset-block:0}.print-map-grid>i.major{background:#313e4261;width:1.5px}.print-map-grid>span{background:#45515613;position:absolute;inset-block:0}.print-map-dependencies{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.print-map-dependencies path{fill:none;stroke:#50636a;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.print-map-dependencies path.print-dependency-halo{opacity:1;stroke:#fffffff0;stroke-width:3.2px;stroke-dasharray:none}.print-map-dependencies path.critical{stroke:#b42318;stroke-width:1.9px}.print-map-dependencies path.long-reverse:not(.critical){opacity:.82;stroke-width:1.3px;stroke-dasharray:none}.print-map-dependencies .print-dependency-source{fill:#50636a;stroke:#fff;stroke-width:.9px;vector-effect:non-scaling-stroke}.print-map-dependencies .print-dependency-source.critical{fill:#b42318;stroke-width:1px}.print-map-dependencies .print-dependency-source.long-reverse:not(.critical){opacity:.78;fill:#697a80;stroke-width:.8px}.print-map-dependencies marker path{fill:#40555c;stroke:none}.print-map-dependencies marker[id*=reverse] path{fill:#697a80}.print-map-dependencies marker[id*=critical] path{fill:#b42318}.print-map-timeline-row{z-index:2;box-sizing:border-box;background:#ffffff2e;border-bottom:1px solid #c5ccca;position:relative;overflow:hidden}.print-map-timeline-row:nth-of-type(2n){background:#e8ebe757}.print-map-timeline-row.summary{background:#d7ddda8f;border-top:2px solid #717d80}.print-map-timeline-row:first-of-type.summary{border-top:0}.print-map-bar{z-index:5;box-sizing:border-box;background:var(--print-task-color);border:1px solid #263238;border-left-width:3px;height:16px;position:absolute;top:calc(50% - 8px);overflow:hidden}.print-map-timeline-row:has(.print-map-baseline) .print-map-bar{top:calc(50% - 11px)}.print-map-bar.critical{outline-offset:1px;outline:2px solid #b42318}.print-map-bar.summary{background:#39464b;border:0;height:8px;top:calc(50% - 4px)}.print-map-bar.short{border-right-style:dashed}.print-map-bar>b{z-index:1;background:color-mix(in srgb, var(--print-task-color) 72%, #172327);position:absolute;inset:0 auto 0 0}.print-map-bar>em{z-index:4;color:var(--print-task-text);white-space:nowrap;place-items:center;font-family:JetBrains Mono,monospace;font-size:7px;font-style:normal;font-weight:850;line-height:1;display:grid;position:absolute;inset:0;overflow:hidden}.print-map-bar-extension{z-index:3;background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--print-task-color) 42%, #fff) 0 3px, color-mix(in srgb, var(--print-task-color) 74%, #fff) 3px 6px);position:absolute;inset-block:0}.print-map-bar-extension.before{border-right:1px solid #182328b8;left:0}.print-map-bar-extension.after{border-left:1px solid #182328b8;right:0}.print-map-milestone{z-index:5;box-sizing:border-box;background:var(--print-task-color);border:1px solid #263238;width:11px;height:11px;position:absolute;top:calc(50% - 6px);transform:translate(-50%)rotate(45deg)}.print-map-milestone.critical{border:2px solid #b42318;box-shadow:inset 0 0 0 1px #ffffffdb}.print-map-baseline{z-index:4;box-sizing:border-box;background:#a5adaf;border:1px solid #59666b;height:5px;position:absolute;top:calc(50% + 8px)}.print-map-baseline.milestone{width:8px;height:8px;transform:translate(-4px)rotate(45deg)}.print-map-bar-label{z-index:6;box-sizing:border-box;color:#263238;text-overflow:ellipsis;white-space:nowrap;text-shadow:-1px -1px #fffffff0,1px -1px #fffffff0,-1px 1px #fffffff0,1px 1px #fffffff0;align-items:center;height:18px;padding:0 2px;font-size:8.5px;font-weight:750;line-height:1;display:flex;position:absolute;top:calc(50% - 9px);overflow:hidden}.print-map-bar-label.inside{text-shadow:0 1px 1px #00000073;padding-left:0}.print-map-bar-label.left{text-align:right;justify-content:flex-end}.print-map-footer{color:#56656b;text-transform:uppercase;border-top:1px solid #727d80;justify-content:space-between;gap:18px;min-height:25px;margin-top:auto;padding-top:6px;font-family:JetBrains Mono,monospace;font-size:7.5px;display:flex}.print-map-footer strong{color:#27353a}.print-year-grid{border-top:1px solid var(--ink);border-left:1px solid var(--ink);grid-template-columns:repeat(6,1fr);margin-top:12px;display:grid}.print-year-grid .outside-project{color:#8d9698;background:#eceeed}.print-month{break-inside:avoid;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.print-month h2{background:var(--ink);color:#fff;text-align:center;text-transform:uppercase;margin:0;padding:6px;font-size:12px}.print-month>div{border-bottom:1px solid #d2d5d4;grid-template-columns:20px 21px minmax(0,1fr);min-height:24px;font-size:9.5px;line-height:1.15;display:grid}.print-month>div.weekend{background:#e7e8e6}.print-month>div.holiday{color:#9b2b24;background:#f9dedb}.print-month b,.print-month>div>span{padding:4px 3px}.print-month>div>div{align-content:center;gap:1px;min-width:0;padding:2px 1px;display:grid}.print-month em{white-space:nowrap;border-left:3px solid;align-items:baseline;gap:2px;min-width:0;min-height:10px;padding:1px 1px 1px 4px;font-style:normal;font-weight:650;display:flex;overflow:hidden}.print-calendar-wbs{color:#31535a;margin-right:3px;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:800}.print-calendar-task-name{letter-spacing:-.01em;text-overflow:ellipsis;flex:1;min-width:0;font-family:Barlow,Arial Narrow,Arial,sans-serif;font-stretch:75%;overflow:hidden}.print-calendar-task-name.long{letter-spacing:-.025em;font-size:8.6px}.print-calendar-task-name.very-long{letter-spacing:-.04em;font-size:7.8px}.print-month em:only-child{align-items:flex-start}.print-month em:only-child .print-calendar-task-name{text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:2.1em;line-height:1.05;display:-webkit-box;overflow:hidden}.print-month em:only-child .print-calendar-task-name.long,.print-month em:only-child .print-calendar-task-name.very-long{-webkit-line-clamp:3;max-height:3.1em}.print-calendar-task-state{color:#59676c;flex:none;font-family:JetBrains Mono,monospace;font-size:7px;font-style:normal}@media screen and (min-width:821px) and (max-width:1180px){.app-frame{grid-template-columns:76px minmax(0,1fr)}.sidebar{border-right-width:3px;padding-inline:10px}.brand-block{justify-content:center;padding-inline:0}.brand-block>div,.sidebar>.coordinate,.sidebar-nav-label,.sidebar-nav-arrow,.sidebar-user>div:nth-child(2){display:none}.sidebar nav a{grid-template-columns:1fr;justify-items:center;padding-inline:0}.sidebar-user{grid-template-columns:1fr;justify-items:center;gap:7px;padding-inline:0}.sidebar-user button{place-items:center;width:44px;height:44px;display:grid}}@container gantt (min-width:901px) and (max-width:1100px){.gantt-workspace{--gantt-table-width:clamp(405px, 44%, 470px)}}@container gantt (max-width:900px){.gantt-commandbar{grid-template-columns:minmax(0,1fr)}.gantt-view-controls{flex-wrap:wrap;grid-area:1/1}.gantt-structure-actions{flex-wrap:wrap;grid-area:2/1;justify-content:flex-start}.gantt-window-nav{grid-area:3/1}.gantt-analysisbar{grid-template-columns:minmax(0,1fr)}.gantt-analysis-title,.gantt-analysis-toggles,.gantt-analysis-summary{grid-column:1}.gantt-analysis-summary{text-align:left;white-space:normal;justify-content:flex-start;overflow:visible}.gantt-edit-guide{flex-wrap:wrap;align-items:flex-start}.gantt-edit-guide .guide-divider{display:none}}@container gantt (max-width:760px){.gantt-pane-switcher{border-bottom:1px solid var(--gantt-grid-strong);background:#dfe4e0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-height:56px;padding:6px 10px;display:grid}.gantt-pane-switcher button{color:#33434a;cursor:pointer;letter-spacing:.035em;text-transform:uppercase;background:#f8f9f5;border:1px solid #7f8a8d;min-width:0;min-height:44px;font-size:11px;font-weight:800}.gantt-pane-switcher button[aria-pressed=true]{border-color:var(--ink);background:var(--ink-2);color:#fff;box-shadow:inset 0 -4px var(--accent)}.gantt-commandbar button,.gantt-analysisbar button,.gantt-lookaheadbar button,.gantt-filterbar button{min-height:44px}.gantt-workspace{grid-template-columns:minmax(0,1fr);height:clamp(420px,68dvh,720px);scroll-padding-left:0}.gantt-panel.compact-pane-timeline .gantt-workspace{grid-template-columns:minmax(max(var(--gantt-timeline-min-width,0px), calc(100cqw + 160px)), 1fr)}.gantt-table-pane,.gantt-timeline-pane{width:100%;box-shadow:none;border-right:0}.gantt-panel.compact-pane-table .gantt-timeline-pane,.gantt-panel.compact-pane-timeline .gantt-table-pane{display:none}.gantt-panel .gantt-table-header,.gantt-panel .gantt-table-row{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(64px,.32fr))}.gantt-panel .gantt-filterbar{grid-template-columns:minmax(0,1fr) minmax(150px,.55fr)}.gantt-panel .gantt-result-count{grid-column:1/-1;justify-self:start}.gantt-dependency-explanation{grid-template-columns:20px minmax(0,1fr)}.gantt-dependency-explanation>div{grid-column:2}.gantt-footer{flex-direction:column;align-items:flex-start}}@container gantt (max-width:560px){.gantt-commandbar,.gantt-analysisbar,.gantt-lookaheadbar,.gantt-filterbar,.gantt-edit-guide,.gantt-dependency-explanation{padding-inline:8px}.gantt-view-controls,.gantt-scale,.gantt-structure-actions,.gantt-analysis-toggles,.gantt-lookahead-horizons,.gantt-lookahead-statuses{width:100%}.gantt-toolbar-kicker{flex:1 0 100%}.gantt-scale{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gantt-scale button,.gantt-project-view{min-width:0;min-height:44px}.gantt-project-view{flex:1 0 100%}.gantt-structure-actions .gantt-command{flex:calc(50% - 6px);min-height:44px}.gantt-command-divider{display:none}.gantt-window-nav{grid-template-columns:44px minmax(0,1fr) 44px}.gantt-window-nav>span{grid-template-columns:1fr;gap:1px;padding-inline:7px}.gantt-window-nav small{text-align:left}.gantt-panel .gantt-analysis-title{display:flex}.gantt-analysis-toggles{grid-template-columns:1fr;display:grid}.gantt-analysis-toggles button{white-space:normal;min-height:44px}.gantt-analysis-summary small{border-left-width:3px;width:100%;padding:5px 6px}.gantt-lookahead-title,.gantt-lookahead-hint{text-align:left;flex-basis:100%;margin-left:0}.gantt-lookahead-horizons{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.gantt-lookahead-horizons button,.gantt-lookahead-statuses button,.gantt-lookahead-reset{min-width:0;min-height:44px}.gantt-lookahead-statuses{grid-template-columns:1fr;display:grid}.gantt-lookahead-range,.gantt-lookahead-result{margin-left:0}.gantt-panel .gantt-filterbar{grid-template-columns:1fr}.gantt-search,.gantt-search input,.gantt-category-filter select{min-height:44px}.gantt-search button{width:44px}.gantt-panel .gantt-table-header{grid-template-columns:1fr;min-height:54px;height:auto!important}.gantt-table-header span:first-child{min-height:54px;padding:8px 12px}.gantt-table-header span:not(:first-child){display:none}.gantt-panel .gantt-table-row{grid-template-columns:1fr}.gantt-table-row>.gantt-date-cell,.gantt-table-row>.gantt-progress-cell{display:none}.gantt-name-cell{padding-block:8px;padding-right:calc(var(--gantt-edit-width) + 6px);border-right:0}.gantt-tree-toggle{flex-basis:36px;width:36px;height:44px}.gantt-tree-spacer{flex-basis:36px;width:36px}.gantt-row-edit{width:36px;height:44px}.gantt-mobile-meta{border-top:1px solid #c8cecc;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:7px 2px 0;padding-top:6px;display:grid}.gantt-mobile-meta>span{gap:2px;min-width:0;display:grid}.gantt-mobile-meta small{color:#6a767a;letter-spacing:.045em;margin:0;font-size:7px}.gantt-mobile-meta b{color:#26343a;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:9px;overflow:hidden}.gantt-empty-window{grid-template-columns:22px minmax(0,1fr);width:calc(100% - 16px)}.gantt-empty-window button{grid-column:2;min-height:40px}.gantt-link-summary{grid-template-columns:1fr}.gantt-link-summary>span:first-child,.gantt-link-summary>span:last-child{border:0}.gantt-link-summary>i{border-block:1px solid #b6bdbc;min-height:54px}}@container year-calendar (max-width:1100px){.year-grid{--calendar-month-width:33.3333cqw}}@container calendar (max-width:900px){.calendar-controls button,.calendar-month-nav button{height:auto;min-height:44px}.calendar-month-nav{grid-template-columns:44px minmax(0,1fr) 44px}}@container year-calendar (max-width:900px){.day-cell{grid-template-columns:32px 32px minmax(0,1fr);height:auto;min-height:106px}.day-tasks{min-height:98px;padding:4px 5px;overflow:visible}.day-tasks button,.day-tasks.has-overflow>button:not(.day-overflow-trigger),.day-tasks .day-overflow-trigger{width:100%;max-width:none;height:44px;min-height:44px;font-size:10px}.day-cell>em{left:64px}}@container year-calendar (max-width:760px){.year-grid{--calendar-month-width:50cqw}}@container year-calendar (max-width:520px){.year-grid{--calendar-month-width:100cqw}.month-column h3{height:auto;min-height:44px;padding-block:12px}}@media screen and (max-width:1280px){.print-gantt-document.full .print-preview-scroll-hint{border:1px solid #9ba7a7;border-left:4px solid var(--teal);color:#56656a;background:#f4f6f2;align-items:baseline;gap:6px;margin:0;padding:9px 12px;font-size:10px;line-height:1.35;display:flex}.print-gantt-document.full .print-preview-scroll-hint strong{color:#26383d;letter-spacing:.04em;text-transform:uppercase;flex:none;font-family:JetBrains Mono,monospace;font-size:9px}}@container workspace (max-width:1280px){.gantt-commandbar{grid-template-columns:minmax(0,1fr) auto}.gantt-window-nav{grid-area:2/1/auto/-1}.gantt-structure-actions{grid-area:1/2}}@container workspace (max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}.gantt-commandbar{grid-template-columns:minmax(0,1fr) auto}.gantt-window-nav{grid-area:2/1/auto/-1}.gantt-structure-actions{grid-area:1/2}.gantt-analysisbar{grid-template-columns:auto minmax(0,1fr)}.gantt-analysis-summary{text-align:left;grid-column:1/-1;justify-content:flex-start;overflow:visible}}@container workspace (max-width:900px){.page-header{align-items:start;gap:20px;display:grid}.page-actions{justify-content:flex-start}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip article:nth-child(2){border-right:0}.metric-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.user-layout{grid-template-columns:1fr}.invite-panel{position:static}.project-facts{grid-template-columns:1fr 1fr}.project-facts>span:nth-child(2){border-right:0}.project-facts>span:nth-child(-n+2){border-bottom:1px solid var(--line)}.planner-toolbar{flex-direction:column;align-items:flex-start}.planner-actions{justify-content:flex-start}.gantt-table-header,.gantt-table-row{grid-template-columns:minmax(170px,1fr) 64px 64px 64px}.gantt-name-cell{padding-right:calc(var(--gantt-edit-width) + 6px);gap:3px}.gantt-row-number{flex-basis:38px;width:38px}.gantt-tree-toggle,.gantt-tree-spacer{flex-basis:18px;width:18px}.gantt-filterbar{grid-template-columns:minmax(0,1fr) minmax(170px,220px)}.gantt-result-count{grid-column:1/-1;justify-self:start}.dependency-audit-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.dependency-audit-overview>p{grid-column:1/-1;max-width:none;margin:0}.calendar-audit-overview{grid-template-columns:repeat(3,1fr)}.calendar-audit-overview>div{min-width:0}.calendar-audit-overview>p{grid-column:1/-1;max-width:none;margin:0;padding:8px 4px}.calendar-audit-list article{grid-template-columns:minmax(230px,1fr) minmax(155px,.75fr) minmax(155px,.75fr)}.calendar-audit-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}@container workspace (max-width:820px){.gantt-commandbar{grid-template-columns:minmax(0,1fr)}.gantt-view-controls{flex-wrap:wrap;grid-area:1/1}.gantt-structure-actions{flex-wrap:wrap;grid-area:2/1;justify-content:flex-start}.gantt-window-nav{grid-area:3/1}}@container workspace (max-width:720px){.project-grid,.project-start-options,.form-grid,.form-grid.two{grid-template-columns:1fr}.form-grid-spacer{display:none}.gantt-view-controls{flex-wrap:wrap}.gantt-analysisbar{grid-template-columns:auto minmax(0,1fr)}.gantt-analysis-summary{text-align:left;grid-column:1/-1;justify-content:flex-start}.gantt-dependency-explanation{grid-template-columns:20px minmax(0,1fr)}.gantt-dependency-explanation>div{grid-column:2}.gantt-lookahead-title{flex:1 0 calc(100% - 220px)}.gantt-lookahead-range{order:3}.gantt-lookahead-statuses{order:4}.gantt-lookahead-result{order:5;margin-left:0}.gantt-lookahead-reset{order:6}.gantt-footer{flex-direction:column;align-items:flex-start}.calendar-controls>span{text-align:left;flex-basis:100%;margin-left:0}.dependency-register article>div{grid-template-columns:1fr;gap:2px}.dependency-register article div span{text-align:left}.dependency-register-controls{grid-template-columns:1fr 1fr}.dependency-register-result{justify-self:start}.dependency-proposal-item{grid-template-columns:74px minmax(0,1fr)}.dependency-proposal-actions{grid-column:2;justify-content:flex-start}.dependency-proposal-route{grid-template-columns:1fr}.dependency-proposal-route>span{justify-self:start;min-width:120px}.dependency-review-controls{grid-template-columns:1fr 1fr}.dependency-review-result{grid-column:1/-1;justify-self:start}.dependency-unlinked-list article{grid-template-columns:48px minmax(0,1fr)}.dependency-unlinked-state,.dependency-unlinked-actions{grid-column:2;justify-self:start}.calendar-audit-guidance{grid-template-columns:1fr}.calendar-audit-guidance>span+span{border-top:1px solid #c4c9c7;border-left:0}.calendar-audit-controls{grid-template-columns:minmax(0,1fr) minmax(145px,.45fr)}.calendar-audit-result{grid-column:1/-1;justify-content:flex-start}.calendar-audit-list article{grid-template-columns:minmax(220px,1fr) minmax(155px,.7fr)}.calendar-audit-task,.calendar-audit-actions,.calendar-audit-decision{grid-column:1/-1}.calendar-audit-actions{grid-template-columns:1fr 1fr}.calendar-audit-decision{grid-template-columns:24px minmax(0,1fr)}.calendar-audit-decision>div{grid-column:1/-1}}@container workspace (max-width:560px){.metric-strip,.project-facts{grid-template-columns:1fr}.metric-strip article,.project-facts>span{border-right:0;border-bottom:1px solid var(--line)}.gantt-panel{--gantt-table-width:340px}.gantt-analysis-title{display:none}.gantt-analysis-toggles{grid-column:1/-1}.gantt-lookahead-title{flex-basis:100%}.gantt-lookahead-hint{text-align:left;flex:1 0 100%;margin-left:0}.gantt-filterbar{grid-template-columns:1fr}.gantt-result-count{grid-column:auto}.dependency-audit-overview{grid-template-columns:1fr}.dependency-audit-overview>p{grid-column:1}.dependency-review-controls{grid-template-columns:1fr}.dependency-review-result{grid-column:1}.dependency-register-controls{grid-template-columns:1fr}.dependency-register-result{justify-self:stretch}.dependency-register-more{flex-direction:column;align-items:stretch}.dependency-register-more .button{width:100%}.dependency-unlinked-actions{flex-wrap:wrap}.inline-create{grid-template-columns:44px minmax(0,1fr)}.inline-create .button{grid-column:1/-1}.category-editor form{grid-template-columns:42px minmax(0,1fr)}.category-editor .settings-row-actions{grid-column:1/-1;justify-content:flex-end}}@media (max-width:1120px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip{grid-template-columns:1fr 1fr}.metric-strip article:nth-child(2){border-right:0}.metric-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.settings-grid{grid-template-columns:1fr}.project-facts{grid-template-columns:1fr 1fr}.project-facts>span:nth-child(2){border-right:0}.project-facts>span:nth-child(-n+2){border-bottom:1px solid var(--line)}.print-controls{grid-template-columns:1fr}.print-controls-action{justify-content:space-between}.print-controls-note{text-align:left;max-width:520px}}@media (max-width:820px){.app-frame{display:block}.sidebar:not(.open){visibility:hidden}.sidebar{width:min(86vw,280px);transition:left .25s var(--ease);position:fixed;left:min(-92vw,-300px);box-shadow:12px 0 30px #00000040}.sidebar.open{left:0}.sidebar-scrim{z-index:49;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c11147a;border:0;display:block;position:fixed;inset:0}.mobile-app-header{z-index:60;height:0;display:block;position:relative}.mobile-menu{background:var(--ink);color:#fff;width:44px;height:44px;box-shadow:3px 3px 0 var(--accent);border:1px solid #657078;place-items:center;display:grid;position:absolute;top:15px;right:15px}.mobile-menu[aria-expanded=true]{z-index:60;position:fixed}.page{padding:72px clamp(14px,4vw,24px) 55px}.page-header{align-items:start;display:grid}.page-actions{justify-content:flex-start}.project-grid{grid-template-columns:1fr}.form-panel>section{grid-template-columns:48px 1fr}.section-number{padding:18px 12px}.section-content{padding:20px}.form-grid,.form-grid.two{grid-template-columns:1fr}.form-grid-spacer{display:none}.user-layout{grid-template-columns:1fr}.invite-panel{position:static}.planner-toolbar{flex-direction:column;align-items:flex-start}.planner-actions{justify-content:flex-start}.planner-actions .button{min-height:44px}.planner-meta{grid-template-columns:1fr;padding:9px 12px}.planner-meta>span:last-child{text-align:left}.gantt-commandbar{grid-template-columns:minmax(0,1fr)}.gantt-view-controls{flex-wrap:wrap}.gantt-analysisbar{grid-template-columns:auto minmax(0,1fr)}.gantt-analysis-summary{text-align:left;grid-column:1/-1;justify-content:flex-start}.gantt-structure-actions{flex-wrap:wrap;grid-area:2/1;justify-content:flex-start}.gantt-window-nav{grid-area:3/1}.gantt-filterbar{grid-template-columns:1fr 1fr}.gantt-result-count{grid-column:1/-1;justify-self:start}.gantt-footer{flex-direction:column;align-items:flex-start}.segmented button,.mini-segmented button,.calendar-controls button,.calendar-month-nav button{min-height:44px}.calendar-audit-overview,.calendar-audit-controls,.calendar-audit-list article{grid-template-columns:1fr}.calendar-audit-overview>p,.calendar-audit-task,.calendar-audit-date,.calendar-audit-next,.calendar-audit-actions,.calendar-audit-decision,.calendar-audit-result{grid-column:1}.calendar-audit-actions{grid-template-columns:1fr}.calendar-audit-footer{flex-direction:column;align-items:stretch}.calendar-audit-footer .button{width:100%}.print-scope-picker{grid-template-columns:1fr}.print-controls-action{flex-direction:column;align-items:stretch}.print-controls-action .button{width:100%}.button.small{min-height:44px}.search-box button,.modal-heading button{flex-basis:44px;width:44px;height:44px}.task-dependency-actions button,.dependency-proposal-actions .button,.dependency-suggestion-actions .button,.dependency-proposal-toggle,.settings-row-action,.color-input,.inline-create input[type=color]{min-height:44px}}@media (max-width:560px){.auth-stage{place-items:start center;padding-top:clamp(28px,8dvh,64px);padding-bottom:72px}.auth-card,.auth-card.compact{width:100%;padding:28px 22px}.auth-rail{display:none}.auth-stage footer{text-align:center;bottom:18px;left:18px;right:18px}.page-header{gap:16px;margin-bottom:26px}.page-header h1{font-size:clamp(32px,11vw,44px)}.page-actions,.page-actions .button{width:100%}.metric-strip,.project-facts{grid-template-columns:1fr}.metric-strip article,.project-facts>span{border-right:0;border-bottom:1px solid var(--line)}.toolbar{flex-direction:column;align-items:flex-start}.project-dates,.split-fields{grid-template-columns:1fr}.form-panel>section{display:block}.section-number{border-right:0;border-bottom:1px solid var(--line)}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.button{white-space:normal}.toolbar,.search-box{width:100%}.schedule-undo-notice{grid-template-columns:30px minmax(0,1fr) 36px}.schedule-undo-notice small{white-space:normal}.schedule-undo-action{grid-column:1/-1;justify-content:center;min-height:44px}.schedule-undo-close{grid-area:1/3;width:36px;height:44px}.settings-grid{margin-inline:0}.data-panel{padding:19px}.exception-form{grid-template-columns:1fr}.category-editor form{grid-template-columns:44px minmax(0,1fr)}.category-editor .settings-row-actions{grid-column:1/-1;justify-content:flex-end}.exception-list article{grid-template-columns:54px 1fr auto}.exception-list article>span:nth-child(3){display:none}.user-list article{grid-template-columns:38px minmax(0,1fr)}.user-list .role-badge{grid-column:2;justify-self:start}.invite-list article{grid-template-columns:minmax(0,1fr) 44px 44px}.gantt-analysis-toggles{grid-column:1/-1}.calendar-month-nav{grid-template-columns:44px minmax(0,1fr) 44px}.calendar-month-nav>div{scroll-snap-type:inline mandatory}.calendar-month-nav>div button{scroll-snap-align:start;min-width:52px}.calendar-day-overview-list>button{grid-template-columns:5px 42px minmax(0,1fr) 18px;min-height:76px}.calendar-day-overview-when{grid-column:3;justify-items:start}.calendar-day-overview-list>button>svg{grid-area:1/4/span 2}.dependency-suggestion-route{grid-template-columns:1fr}.dependency-suggestion-relation{white-space:normal;justify-self:stretch}.dependency-suggestion-actions{flex-wrap:wrap}.dependency-suggestion-actions .button{flex:130px}.dependency-form-heading,.dependency-section-heading{flex-direction:column;align-items:flex-start}.dependency-form-heading .text-button{align-self:flex-start}.print-range-form,.print-range-form label,.print-range-form .button{width:100%}.modal-backdrop{align-items:end;padding:10px}.modal{max-height:calc(100dvh - 20px)}.modal-heading{min-height:68px;padding:15px 16px}.modal form{padding:16px}.modal-actions{flex-direction:column-reverse;align-items:stretch;gap:10px;margin:4px -16px -16px;padding:14px 16px}.modal-actions>div{flex-wrap:wrap}.modal-actions .button{flex:1}.task-dependencies-heading{flex-direction:column;align-items:flex-start}.task-dependency-add-actions{width:100%}.task-dependency-columns{grid-template-columns:1fr}.task-dependency-editor-actions{flex-direction:column;align-items:stretch}.task-dependency-editor-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{size:A3 landscape;margin:7mm}:is(body,body:has(.print-page)){-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.sidebar,.mobile-app-header,.mobile-menu,.skip-link,.print-controls{display:none!important}.app-frame{display:block}.app-main{width:100%}.print-page{background:#fff;width:406mm;min-width:0;max-width:none;min-height:283mm;margin:0;padding:0}.responsive-print-frame{width:406mm;position:static;overflow:visible;height:auto!important}.responsive-print-frame>.print-gantt-sheet,.responsive-print-frame>.print-document{width:406mm;max-width:none;position:static;transform:none}.responsive-print-frame>.print-gantt-sheet{position:relative}.print-document{box-sizing:border-box;min-height:283mm;box-shadow:none;background:#fff;border:0;padding:0 0 11mm;position:relative}.print-gantt-document{width:406mm;display:block}.print-gantt-page{break-inside:avoid;page-break-inside:avoid;break-after:page;page-break-after:always;background:#fff;width:406mm;min-height:283mm}.print-gantt-page:last-child{break-after:auto;page-break-after:auto}.print-gantt-sheet{box-sizing:border-box;width:406mm;height:auto;min-height:283mm;box-shadow:none;background:#fff;border:0;padding:0 0 8mm;display:block;position:relative}.print-map-footer{margin-top:0;position:absolute;inset:auto 0 0}.print-gantt-map{break-inside:avoid;page-break-inside:avoid}.print-header{break-after:avoid}.print-gantt-row,.print-month{break-inside:avoid}.print-gantt thead{display:table-header-group}.print-page-footer{break-before:avoid;position:absolute;inset:auto 0 0}.print-year-grid{break-inside:avoid;page-break-inside:avoid;grid-template-columns:repeat(12,minmax(0,1fr));margin-top:6px}.print-year-grid.print-density-dense{margin-top:3px}.print-month{min-width:0}.print-month h2{padding:4px 2px;font-size:10px}.print-month>div{grid-template-columns:16px 17px minmax(0,1fr);min-height:24px;font-size:9.5px;line-height:1}.print-month b,.print-month>div>span{padding:2px 1px}.print-month>div>div{padding:1px}.print-month em{gap:1px;min-height:9px;padding:0 1px 0 3px;line-height:1}.print-calendar-wbs{margin-right:1px;font-size:7.4px}.print-calendar-task-state{font-size:6.8px}}.form-fields{border:0;min-width:0;margin:0;padding:0}.gantt-advanced-toggle{display:none}.gantt-term-help{color:#35454b;background:#eef1ec;margin:0;padding:10px 16px;font-size:13px;line-height:1.5}.day-cell button.day-number{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.day-cell button.day-number:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.print-task-index{color:#16282d;background:#fff;margin-top:24px;padding:24px}.print-task-index table{border-collapse:collapse;width:100%;font-size:13px}.print-task-index th,.print-task-index td{text-align:left;vertical-align:top;border-bottom:1px solid #a9b6b9;padding:8px}.print-task-index td:nth-child(2){overflow-wrap:anywhere}.print-task-index td:first-child{width:7%}.print-task-index td:nth-child(3),.print-task-index td:nth-child(4){white-space:nowrap;width:12%}.print-map-meta>b small{color:#fff;margin-top:3px;font-size:7px;font-weight:500;display:block}.print-index-heading th{background:#eef1ec;font-weight:700}.dependency-shortcuts{border-bottom:1px solid var(--line-dark);background:#eef1ec;flex-wrap:wrap;gap:8px;padding:10px 16px;display:flex}.dependency-shortcuts a{border:1px solid var(--line-dark);background:#fff;align-items:center;min-height:44px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}@media (max-width:900px){.gantt-advanced-toggle{text-align:left;width:100%;min-height:44px;font:inherit;background:#e6ebe5;border:1px solid #85918d;padding:10px;font-weight:700;display:block}.gantt-advanced:not(.open){display:none}.project-facts{grid-template-columns:1fr 1fr;display:grid}.project-facts>span{min-height:0;padding:12px}.project-facts>span strong{font-size:13px}.gantt-edit-guide{display:none}.gantt-panel:has(.gantt-advanced.open) .gantt-edit-guide{display:flex}}@media print{.print-task-index{break-before:page;margin:0;padding:0}html{background:#fff}.print-task-index thead{display:table-header-group}.print-task-index tr{break-inside:avoid}}.draft-card{border:1px solid var(--teal);color:var(--ink);background:#edf3ef;grid-column:1/-1;gap:8px;margin:12px 0;padding:14px;display:grid}.draft-card p{margin:0;font-size:13px}.draft-card small{font-size:11px}.draft-card>div{flex-wrap:wrap;gap:8px;display:flex}.draft-card summary{cursor:pointer;padding:10px 0}.draft-card textarea{width:100%;font:12px JetBrains Mono,monospace}.draft-status{color:#215e58;grid-column:1/-1;padding:8px 12px;font-size:12px}.draft-form-fields{border:0;margin:0;padding:0;display:contents}.draft-warning{color:#422c00;background:#fff1ce;border:2px solid #ad7400;padding:12px}.mobile-tools-toggle,.project-overview-compact{display:none}.project-overview .project-facts{margin-top:12px}.gantt-advanced-toggle{text-align:left;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#e6ebe5;border:1px solid #85918d;padding:10px 16px;font-weight:700;display:block}.gantt-advanced[hidden]{display:none}.gantt-active-options{background:#eef2ed;flex-wrap:wrap;gap:12px;padding:10px 16px;display:flex}.planner-toolbar>.planner-create{order:1}.project-plan-jump{min-height:44px;color:var(--project-eyebrow);align-items:center;margin-bottom:4px;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.project-plan-jump:focus-visible,.planner-toolbar:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.planning-help{color:#263b40;background:#f4f5ef;border:1px solid #a7b2ae;margin:6px 10px;font-size:13px;line-height:1.45}.planning-help summary{cursor:pointer;min-height:44px;padding:11px 12px;font-weight:700}.planning-help summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.planning-help>div{padding:0 12px 12px}.planning-help p{margin:0 0 8px}.planning-help ul{padding-left:20px}.action-effect{font-size:10px;font-weight:500;display:block}.gantt-analysis-toggles .baseline-save{text-align:left;white-space:normal;grid-template-columns:14px minmax(0,1fr);align-items:center;column-gap:7px;min-width:0;min-height:44px;padding:6px 9px;display:inline-grid}.baseline-save-copy{gap:2px;min-width:0;line-height:1.2;display:grid}.baseline-save-label{overflow-wrap:anywhere}.gantt-analysis-toggles .baseline-save .action-effect{letter-spacing:normal;text-transform:none;overflow-wrap:anywhere;line-height:1.2}.dependency-proposal-actions>small{color:var(--muted);flex:100%}.gantt-instructions>button{color:#263238;text-align:left;cursor:pointer;width:100%;min-height:44px;font:inherit;background:#fff6dc;border:0;border-bottom:1px solid #9ca5a6;padding:8px 12px;font-size:12px;font-weight:700}.gantt-instructions>button:after{content:" +"}.gantt-instructions>button[aria-expanded=true]:after{content:" −"}.gantt-instructions>button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}@media screen and (max-width:820px){.gantt-instructions{display:none}.gantt-panel.tools-open .gantt-instructions{display:block}.gantt-panel:has(.gantt-advanced.open) .gantt-instructions{display:block}.gantt-instructions .gantt-edit-guide{display:flex}}.calendar-panel.full-names .year-grid{grid-template-rows:40px repeat(31,auto)}.calendar-names-toggle[aria-pressed=true]{background:var(--ink-2);color:#fff;border-color:var(--ink-2);box-shadow:inset 0 -3px var(--accent)}.calendar-panel.full-names .month-column{grid-template-rows:subgrid;grid-row:1/span 32;display:grid}.calendar-panel.full-names .day-cell{height:auto;min-height:48px}.calendar-panel.full-names .day-tasks{height:auto;padding:4px 4px 14px;overflow:visible}.calendar-panel.full-names .day-tasks>button{white-space:normal;width:100%;max-width:none;height:auto;min-height:44px;padding-block:5px}.calendar-panel.full-names .day-tasks>button>span:last-child{overflow-wrap:anywhere;text-overflow:clip;overflow:visible}.calendar-panel.full-names .day-task-wbs,.calendar-panel.full-names .day-task-flow{flex-shrink:0}.planner-actions{order:3}.planner-actions .planner-print-action{flex:0 0 164px;width:164px}.planner-calendar-options{border-bottom:1px solid var(--line-dark);background:#e9e8e3;padding:8px 12px}.planner-calendar-options .button{min-height:44px}.planner-toolbar>.segmented{order:0}@media screen and (min-width:821px){.planner-toolbar{flex-direction:row;justify-content:flex-start}.planner-actions{margin-left:auto}}@media screen and (max-width:820px){.project-overview-compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0 12px;font-size:13px;display:flex}.project-overview:not(.open) #project-details{display:none}.mobile-tools-toggle{order:2;display:inline-flex}.planner-shell:not(.tools-open) .planner-actions,.planner-shell:not(.tools-open) .planner-calendar-options{display:none}.planner-toolbar{flex-flow:wrap;gap:8px;padding:10px}.planner-toolbar>.segmented{width:100%}.planner-toolbar .planner-create,.planner-toolbar .mobile-tools-toggle{width:auto}.gantt-panel:not(.tools-open) .gantt-view-controls,.gantt-panel:not(.tools-open) .gantt-secondary-command,.gantt-panel:not(.tools-open) .phase-action,.gantt-panel:not(.tools-open) .gantt-command-divider{display:none}.gantt-panel:not(.tools-open) .gantt-structure-actions{display:flex}.gantt-panel:not(.tools-open) .gantt-commandbar{flex-wrap:wrap;gap:6px;padding:8px;display:flex}.gantt-panel:not(.tools-open) .gantt-window-nav{flex:1;min-width:210px}.gantt-today-command{min-width:56px;min-height:44px}.project-page{padding-top:20px}.project-page .project-plan-jump{max-width:calc(100% - 52px)}.project-page .page-header{gap:8px;margin-bottom:12px;padding-right:52px}.project-page .page-header h1{font-size:clamp(24px,6.8vw,32px);line-height:1.12}.project-page .page-header .eyebrow{margin-bottom:6px}.project-page .page-description{margin-top:6px;font-size:12px}.project-page .page-actions,.project-page .page-actions .button{width:auto}.project-page .project-facts{margin-bottom:14px}.project-page .project-facts>span{gap:3px;padding:8px 10px}.planner-meta{grid-template-columns:1fr auto;gap:8px}.planner-meta .progress-wrap{display:none}.planner-meta>span:last-child{text-align:right;font-size:9px}.gantt-tree-toggle{flex-basis:44px;width:44px;height:44px}.gantt-name-cell{--gantt-edit-width:44px}.gantt-row-edit{height:44px}.gantt-task-name{min-height:32px}.day-cell{grid-template-columns:44px 26px minmax(0,1fr)}.day-cell button.day-number{width:44px;height:44px}.day-cell>em{left:70px}}@media screen and (max-width:820px) and (max-height:500px){.planner-toolbar>.segmented{flex:280px;width:auto}.planner-toolbar .mobile-tools-toggle{flex:none;min-height:44px}.planner-toolbar{gap:4px;padding:6px 8px}.gantt-panel .gantt-commandbar{padding-block:4px}.gantt-instructions{display:block}.project-page{padding-top:8px}.project-page .project-plan-jump{margin-bottom:0}.project-page .page-header{gap:4px;margin-bottom:6px}.project-page .page-header h1{font-size:24px}.project-page .project-overview-compact{padding-bottom:6px}}@container gantt (max-width:560px){.gantt-view-controls{grid-template-columns:minmax(0,3fr) minmax(72px,1fr);gap:6px;display:grid}.gantt-toolbar-kicker{display:none}.gantt-scale{width:auto}.gantt-project-view{width:auto;padding-inline:4px}.gantt-structure-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.gantt-structure-actions .gantt-command{white-space:normal;gap:3px;min-width:0;padding-inline:3px;font-size:10px}.gantt-structure-actions .gantt-command svg{display:none}.gantt-panel .gantt-filterbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.gantt-search input,.gantt-category-filter select{width:100%;min-width:0;font-size:11px}.gantt-name-cell{padding-right:calc(var(--gantt-edit-width) + 6px)}}.print-full-names .responsive-print-frame>.print-gantt-sheet,.print-full-names .responsive-print-frame>.print-document{box-sizing:border-box;border:0;min-height:283mm;padding:0 0 42px;display:block}.print-full-names .print-map-header h1,.print-full-names .print-header h1,.print-full-names footer strong{overflow-wrap:anywhere}.print-full-names .print-map-header>div,.print-full-names .print-header>div,.print-full-names footer>*{min-width:0}.print-full-names .print-map-footer,.print-full-names .print-page-footer{margin:0;position:absolute;inset:auto 0 0}.print-full-names .print-map-task small{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;overflow:visible}.print-map-page-links{color:#405158;overflow-wrap:anywhere;gap:1px;font-family:JetBrains Mono,monospace;font-size:7.2px;line-height:1.25;display:grid}.print-map-relation>b>small{white-space:nowrap;font-weight:500;display:block}.print-full-names .print-map-bar-label{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;height:auto;min-height:12px;line-height:1.25;display:block;overflow:visible}.print-full-names .print-map-bar-label.inside{white-space:nowrap}.print-full-names .print-map-timeline-row.summary{border-top:0;box-shadow:inset 0 2px #717d80}.print-full-names .print-map-timeline-row .print-map-bar{top:calc(var(--print-bar-y) - 8px)}.print-full-names .print-map-timeline-row .print-map-bar.summary{top:calc(var(--print-bar-y) - 4px)}.print-full-names .print-map-milestone{top:calc(var(--print-bar-y) - 5.5px)}.template-import h2{align-items:center;gap:10px;display:flex}.template-import h3{margin-top:24px;font-size:18px}.template-import input[type=file]{width:100%;min-height:44px;padding:8px}.template-import input[type=file]::file-selector-button{min-height:44px;font:inherit;border:1px solid var(--ink);background:var(--yellow);color:var(--ink);cursor:pointer;margin-right:12px;padding:8px 12px}.import-table-scroll{background:#fff;border:1px solid #9ba7a7;max-width:100%;max-height:450px;overflow:auto}.import-table-scroll table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:580px}.import-table-scroll th{background:var(--ink);color:#fff;text-align:left}.import-table-scroll td,.import-table-scroll th{overflow-wrap:anywhere;vertical-align:top;border-bottom:1px solid #c5ccca;padding:10px}.import-table-scroll small{color:#4f5d63;margin-top:4px;display:block}.import-source table{table-layout:auto}.import-source td,.import-source th{min-width:140px;max-width:260px}.import-errors{color:#742a20;overflow-wrap:anywhere;background:#fff1ed;border:1px solid #a43b2e;max-height:280px;padding:16px;overflow:auto}.import-valid{font-weight:700;color:#216f6c!important}.print-full-names .print-map-baseline{top:var(--print-baseline-top)}.print-overview-note{border:1px solid #9ba7a7;border-left:4px solid var(--teal);color:#56656a;background:#f4f6f2;margin:0;padding:9px 12px;font-size:10px;line-height:1.35}.print-overview-note strong{color:#26383d;letter-spacing:.04em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:9px}.print-gantt-document.overview .print-gantt-map-viewport{height:var(--print-overview-height);margin-top:9px;overflow:hidden}.print-gantt-document.overview .print-gantt-map{width:var(--print-overview-width);transform:scale(var(--print-overview-scale));transform-origin:0 0;grid-template-columns:34% 66%;margin-top:0}.print-gantt-document.overview .print-map-table-head,.print-gantt-document.overview .print-map-table-row{grid-template-columns:46px minmax(0,1fr) 68px 68px 60px}.print-gantt-document.overview .print-map-table-head>span{padding:3px;font-size:7px}.print-gantt-document.overview .print-map-table-row{overflow:hidden}.print-gantt-document.overview .print-map-wbs{padding-inline:3px;font-size:7.5px;overflow:hidden}.print-gantt-document.overview .print-map-task{padding-block:1px;gap:3px;padding-right:4px;overflow:hidden}.print-gantt-document.overview .print-map-task>span{display:block;overflow:hidden}.print-gantt-document.overview .print-map-task strong{text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;line-height:1;display:block;overflow:hidden}.print-gantt-document.overview .print-map-table-row>time{padding-inline:2px;font-size:7px}.print-gantt-document.overview .print-map-progress{grid-template-columns:minmax(8px,1fr) 20px;gap:2px;padding-inline:3px}.print-gantt-document.overview .print-map-progress em{font-size:7px}.print-gantt-document.overview .print-map-timeline-row .print-map-bar{height:10px;top:calc(var(--print-bar-y) - 5px);border-left-width:2px}.print-gantt-document.overview .print-map-timeline-row .print-map-bar.summary{height:6px;top:calc(var(--print-bar-y) - 3px)}.print-gantt-document.overview .print-map-milestone{width:8px;height:8px;top:calc(var(--print-bar-y) - 4px)}.print-gantt-document.overview .print-map-baseline{height:3px;top:var(--print-baseline-top)}.print-gantt-document.overview .print-map-baseline.milestone{width:6px;height:6px;transform:translate(-3px)rotate(45deg)}.print-gantt-document.overview .print-map-bar.critical{outline-offset:0;outline-width:1px}.print-calendar-document{gap:28px;display:grid}.print-annual-viewport{width:100%;position:relative;overflow:hidden}.print-annual-surface{width:100%;display:block}.print-annual-grid.print-year-grid{border:1px solid var(--ink);margin:0;display:block}.print-annual-months,.print-annual-row{grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.print-annual-months h3{background:var(--ink);color:#fff;text-align:center;text-transform:uppercase;border-right:1px solid #83918e;margin:0;padding:5px 1px;font-size:10px;line-height:1.2}.print-calendar-day{border-right:1px solid var(--ink);border-bottom:1px solid #c5ccca;grid-template-columns:14px 16px minmax(0,1fr);min-width:0;font-size:9.5px;line-height:1.3;display:grid}.print-calendar-day.weekend{background:#e7e8e6}.print-calendar-day.holiday{color:#9b2b24;background:#f9dedb}.print-calendar-day.nonexistent,.print-calendar-day.outside-project{background:#eceeed}.print-calendar-day>b,.print-calendar-day>span{padding:2px 1px}.print-calendar-day>b small{font-size:9.5px;display:block}.print-calendar-entries{align-content:start;gap:1px;min-width:0;padding:1px;display:grid}.print-calendar-entry{border-left:3px solid;align-items:baseline;gap:1px;min-width:0;padding:0 1px 0 2px;font-size:9.5px;font-style:normal;font-weight:650;line-height:12px;display:flex}.print-calendar-entry .print-calendar-task-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;max-height:none;font-size:9.5px;line-height:12px;display:block;overflow:hidden}.print-calendar-entry .print-calendar-wbs{flex:none;margin-right:0;font-size:8px}.print-calendar-entry .print-calendar-task-state{flex:none;font-size:7px}.print-calendar-measure{visibility:hidden;pointer-events:none;width:94px;position:absolute;top:0;left:0}.print-preparation-notice{color:#24383d;background:#fff6d4;border:1px solid #83918e;margin:0 0 16px;padding:12px 16px;display:none}.print-download-actions{gap:8px;min-width:0;display:grid}.print-action-buttons{flex-wrap:wrap;gap:8px;display:flex}.print-action-buttons .button{min-height:44px}.print-dialog-help{color:#4f5d63;margin:0;font-size:12px;line-height:1.5}.print-help-panel{border:1px solid #83918e;border-left:4px solid var(--accent);color:#24383d;background:#fff6d4;min-width:0;max-width:480px;font-size:13px;line-height:1.5}.print-help-toggle{width:100%;min-width:44px;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:flex}.print-help-toggle span{overflow-wrap:anywhere;min-width:0}.print-help-toggle svg{flex:none}.print-help-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.print-help-toggle:hover{background:#f5ebc7}.print-help-toggle:focus-visible{outline-offset:3px;outline:3px solid #216f6c}.print-help-content{padding:0 12px 12px}.print-help-content[hidden]{display:none}.print-help-content .button{white-space:normal;min-height:44px}.print-help-panel p{margin:0 0 8px}.print-help-panel [role=status]{font-weight:700}@media print{.print-overview-note{display:none}.print-calendar-document{display:block}.print-full-names .responsive-print-frame>.print-document{position:relative}.print-calendar-page{break-inside:avoid;break-after:page}.print-calendar-page:last-child{break-after:auto}.print-annual-row,.print-calendar-entry{break-inside:avoid}.print-calendar-measure{display:none}.print-page:not([data-print-preparation=ready])>:not(.print-preparation-notice){display:none!important}.print-preparation-notice button{display:none}}@media screen{:root{--ink:#222;--ink-2:#222;--steel:#6a6a6a;--line:#ddd;--line-dark:#b0b0b0;--paper:#fff;--surface:#f7f7f7;--muted:#f2f2f2;--accent:#4a76ba;--accent-strong:#416bab;--accent-dark:#365b94;--teal:#4a76ba;--teal-hover:#365b94;--teal-soft:#f0f4fa;--teal-line:#a5bddf;--project-eyebrow:#2d4c7c;--detail-text:#6a6a6a;--workbar:#f7f7f7;--ribbon:#fff;--ribbon-secondary:#f7f7f7;--workspace:#fff;--sheet:#fff;--panel-shadow:0 1px 2px #0000000a, 0 6px 18px #00000009;--overlay-shadow:0 16px 44px #00000029;--shadow:var(--panel-shadow);--radius:10px;--panel-radius:14px;--motion-fast:.15s cubic-bezier(.2, .7, .2, 1)}html,body{background:var(--workspace);color:var(--ink);font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:15px}.mono,.coordinate{font-variant-numeric:tabular-nums;font-family:inherit}.coordinate,.eyebrow{color:var(--detail-text);letter-spacing:0;text-transform:none;font-family:inherit;font-size:12px;font-weight:500}.reveal{animation:none}.app-frame{background:var(--workspace);grid-template-rows:80px minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.app-main{background:var(--workspace);border:0;grid-area:2/1;min-width:0}.sidebar{z-index:50;border:0;border-bottom:1px solid var(--line);background:var(--ribbon);width:100%;height:80px;color:var(--ink);box-shadow:none;flex-direction:row;grid-area:1/1;align-items:stretch;padding:0 clamp(20px,3vw,48px);display:flex;position:sticky;top:0;overflow:hidden}.sidebar:after{display:none}.brand-block{border-right:0;align-items:center;gap:10px;min-width:210px;padding:0 24px 0 0;display:flex}.brand-block .brand-mark{width:40px;height:40px;color:var(--accent);background:#f0f4fa;border-radius:50%;flex:0 0 40px;place-items:center;line-height:0;display:grid}.brand-block .brand-mark svg{width:24px;height:24px;display:block;transform:translateY(-1px)}.brand-block strong{letter-spacing:-.02em;font-size:17px}.brand-block div>span{color:var(--detail-text);letter-spacing:0;text-transform:none;margin-top:3px;font-family:inherit;font-size:10px}.sidebar>.coordinate{min-width:0;color:var(--detail-text);opacity:.8;border:0;align-items:center;padding:0;font-size:11px;display:flex}.sidebar nav{align-items:stretch;gap:4px;min-width:0;margin:0;display:flex;position:absolute;left:50%;transform:translate(-50%)}.sidebar nav a{min-width:104px;min-height:80px;color:var(--detail-text);transition:color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast);border:0;border-bottom:3px solid #0000;grid-template-columns:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:500;display:flex}.sidebar nav a:hover{color:var(--ink);background:#fafafa;border-bottom-color:#dadada}.sidebar nav a.active{border-bottom-color:var(--accent);color:var(--ink);background:0 0;padding-left:16px;font-weight:600}.sidebar nav a.active .sidebar-nav-arrow{display:none}.sidebar-user{border:0;grid-template-columns:34px minmax(0,1fr) 44px;align-items:center;gap:9px;min-width:186px;margin:0 0 0 auto;padding:0 0 0 16px;display:grid}.avatar{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:#f5f5f5;border-radius:50%}.sidebar-user strong{color:var(--ink)}.sidebar-user span{color:var(--detail-text)}.sidebar-user button{width:44px;height:44px;color:var(--detail-text);border-radius:50%}.sidebar-user button:hover,.sidebar-user button:focus-visible{color:var(--ink);background:#f2f2f2;border-radius:50%}.page{max-width:1680px;margin-inline:auto;padding:44px clamp(24px,4vw,64px) 80px;position:relative}.page:before{display:none}.page-header{min-height:0;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;align-items:flex-end;margin-bottom:32px;padding:0}body:not(:has(.print-page)) .project-page .page-header{min-height:0;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;align-items:flex-end;margin-bottom:32px;padding:0}.page-header:after{display:none}body:not(:has(.print-page)) .project-page .page-header:after{display:none}body:not(:has(.print-page)) .project-page .page-header:before{display:none}.page-header .eyebrow{color:var(--detail-text);letter-spacing:0;border-left:0;margin-bottom:4px;padding-left:0;font-weight:500}body:not(:has(.print-page)) .project-page .page-header .eyebrow{color:var(--detail-text);letter-spacing:0;border-left:0;margin-bottom:4px;padding-left:0;font-weight:500}.page-header h1{letter-spacing:-.03em;max-width:32ch;color:var(--ink);font-size:clamp(28px,2.4vw,32px);line-height:1.1}body:not(:has(.print-page)) .project-page .page-header h1{letter-spacing:-.03em;max-width:32ch;color:var(--ink);font-size:clamp(28px,2.4vw,32px);line-height:1.1}.page-description{max-width:68ch;color:var(--detail-text);margin-top:8px;font-size:14px;line-height:1.5}:is(body:not(:has(.print-page)) .project-page .page-header .button.ghost,body:not(:has(.print-page)) .project-page .page-header .button:not(.primary)){color:var(--ink);background:#fff;border-color:#bac8c5}.button{border-color:var(--line-dark);box-shadow:none;transition:border-color var(--motion-fast), background var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast);background:#fff;border-radius:999px;font-weight:600}.button:hover:not(:disabled){box-shadow:none;background:#f7f7f7;border-color:#8e8e8e;transform:none}.button.primary,.page-actions .button.primary,.project-card .button.primary,.template-actions .button.primary{border:1px solid var(--accent);background:linear-gradient(90deg, var(--accent) 0%, var(--accent-strong) 52%, var(--accent-dark) 100%);color:#fff;box-shadow:none}.button.primary:hover:not(:disabled){border-color:var(--accent-dark);box-shadow:none;background:linear-gradient(90deg,#426aa7 0%,#395e97 52%,#2f5083 100%);transform:none}:focus-visible{outline:3px solid var(--accent-dark);outline-offset:3px;box-shadow:0 0 0 2px #fff}.progress-track{background:#ededed;border-color:#dedede;border-radius:999px}.progress-track span{background:var(--teal)}.metric-strip{border:0;border-block:1px solid var(--rule,#ebebeb);color:var(--ink);box-shadow:none;background:#fff;border-radius:0;margin:0 0 32px}.metric-strip article{border-right-color:var(--line);background:0 0;min-height:92px;padding:18px 22px}.metric-strip article:after{display:none}.metric-strip span,.metric-strip small,.metric-strip .metric-explanation{color:var(--detail-text);letter-spacing:0;text-transform:none}.metric-strip strong{color:var(--ink);font-size:clamp(24px,2.1vw,30px)}.metric-strip strong.accent{color:var(--accent-dark)}.toolbar{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 0 30px;padding:0}.search-box{border:1px solid var(--line);background:var(--sheet);border-radius:999px;width:min(100%,680px);min-height:66px;padding-inline:22px 12px;box-shadow:0 3px 16px #0000001a}input,select,textarea{border-color:var(--line-dark);box-shadow:none;background:#fff;border-radius:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px #4a76ba21}.project-grid{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;scrollbar-color:#b8b8b8 transparent;border-top:0;grid-template-columns:none;grid-auto-columns:minmax(312px,368px);grid-auto-flow:column;gap:28px;max-width:100%;padding:2px 2px 18px;scroll-padding-inline:2px;display:grid;overflow:auto hidden}.project-card{min-height:0;box-shadow:none;scroll-snap-align:start;transition:opacity var(--motion-fast);background:0 0;border:0;border-radius:14px;padding:0;display:block}.project-card:before{display:none}.project-card:hover{box-shadow:none;background:0 0;border-color:#0000;transform:none}.project-card:hover .technical-preview,.project-card:focus-visible .technical-preview{border-color:#c5c5c5;box-shadow:0 7px 24px #0000001a}.project-card-visual{aspect-ratio:3/2;border-radius:14px;position:relative}.project-card-copy{padding:14px 2px 0}.project-card-top{background:0 0;border:0;border-radius:0;min-height:36px;padding:0;position:absolute;inset:2px 12px auto}.project-card-top .status{color:#222;text-transform:none;background:#fffffff0;border:1px solid #0000;border-radius:999px;min-height:30px;padding:5px 10px;box-shadow:0 1px 4px #0000001f}.project-card-top .status.planned{color:#365b94;background:#f0f4fa;border-color:#a5bddf}.project-card-top .status.active{color:#1f665f;background:#e8f4f1;border-color:#8ac1ba}.project-card-top .status.paused{color:#815000;background:#fff3df;border-color:#e0b666}.project-card-top .status.finished{color:#48635d;background:#edf1ef;border-color:#aab9b3}.project-card-open{width:34px;height:34px;color:var(--ink);background:#fffffff0;border-radius:50%;place-items:center;display:grid;box-shadow:0 1px 4px #0000001f}.project-card-copy>.coordinate{color:var(--detail-text);margin:0 0 5px;font-size:11px}.project-card h2{letter-spacing:-.01em;min-height:0;margin:0 0 4px;padding:0;font-size:18px;line-height:1.25}.project-card .address{min-height:42px;color:var(--detail-text);padding:0;font-size:13px;line-height:1.45}.project-dates{background:0 0;border-top:1px solid #ededed;border-left:0;margin:12px 0 10px;padding:10px 0 0}.project-dates small{color:var(--detail-text);letter-spacing:0;text-transform:none;font-size:11px}.project-card .progress-wrap{border-top:0;margin:0;padding:0}.project-card .card-footer{color:var(--detail-text);background:0 0;border-top:0;border-radius:0;padding:9px 0 0;font-size:11px}.technical-preview{--preview-accent:var(--accent);isolation:isolate;width:100%;height:100%;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);background:#f4f4f2;border:1px solid #dedede;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 1px 2px #00000009}.technical-preview:after{content:"";background:var(--preview-accent);height:5px;position:absolute;bottom:0;left:0;right:0}.technical-preview-svg{font-variant-numeric:tabular-nums;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;display:block;overflow:visible}.tp-sheet{fill:#ffffffeb;stroke:#d7d7d4;stroke-width:1.5px}.tp-grid{fill:none;stroke:#ececea;stroke-width:1px}.tp-kicker,.tp-index,.tp-meta,.tp-date,.tp-row-number,.tp-progress-label,.tp-room{fill:#222;letter-spacing:.05em;font-size:13px;font-weight:650}.tp-kicker{letter-spacing:.035em;font-size:15px;font-weight:700}.tp-index,.tp-meta,.tp-date,.tp-row-number{fill:#6a6a6a;font-size:12px}.tp-meta{fill:#4f4f4d;letter-spacing:.025em;font-size:15px;font-weight:700}.tp-ink,.tp-ink-thin,.tp-slab,.tp-brace,.tp-axis,.tp-tick,.tp-door,.tp-table-lines,.tp-link,.tp-accent-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round}.tp-ink{stroke:#222;stroke-width:4px}.tp-ink-thin,.tp-axis,.tp-table-lines{stroke:#70706d;stroke-width:2px}.tp-slab{stroke:#222;stroke-width:7px}.tp-brace,.tp-door{stroke:#777;stroke-width:2px}.tp-tick{stroke:#d4d4d1;stroke-width:1.5px;stroke-dasharray:4 6}.tp-link{stroke:var(--preview-accent);stroke-width:2.5px}.tp-accent-stroke{stroke:var(--preview-accent);stroke-width:4px}.tp-window{fill:color-mix(in srgb, var(--preview-accent) 13%, white);stroke:#4e4e4c;stroke-width:1.5px}.tp-accent-fill,.tp-progress,.tp-bar{fill:var(--preview-accent)}.tp-zone{fill:#f1f1ef;stroke:#aaa9a5;stroke-width:1.5px}.tp-room-light{fill:#fff}.tp-bar-muted{fill:#777b7b}.tp-progress-track{fill:#dededb}.tp-progress-label{fill:#222;font-size:12px}.tp-table{fill:#ffffffb3;stroke:#656562;stroke-width:2px}.project-plan-jump{color:var(--accent-dark);letter-spacing:0;text-transform:none;font-family:inherit;font-size:13px;font-weight:600}.project-facts{border:0;box-shadow:none;background:#fff;border-block:1px solid #ebebeb;border-radius:0;margin:0 0 20px}.project-facts>span{border-right-color:var(--line);background:#fff;min-height:56px;padding:8px 16px}.project-facts>.project-status-fact{background:var(--status-surface);color:var(--status-text);padding-left:20px;position:relative}.project-status-fact:before{content:"";background:var(--status-accent);width:4px;position:absolute;inset:0 auto 0 0}.project-status-fact small{color:var(--status-text);opacity:.78}.project-status-fact strong:before{content:"";background:var(--status-accent);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--status-accent) 18%, transparent);border-radius:50%;flex:0 0 8px}.project-status-fact.planned{--status-surface:#f0f4fa;--status-text:#365b94;--status-accent:#5d7fab}.project-status-fact.active{--status-surface:#e8f4f1;--status-text:#1f665f;--status-accent:#2b7773}.project-status-fact.paused{--status-surface:#fff3df;--status-text:#754900;--status-accent:#c68712}.project-status-fact.finished{--status-surface:#edf4ef;--status-text:#356047;--status-accent:#5a8f6b}body:has(.print-page) .print-controls{border:1px solid var(--line);border-left:1px solid var(--line);box-shadow:var(--panel-shadow);background:#fff;border-radius:18px;margin-bottom:18px;padding:16px}body:has(.print-page) .print-controls label{color:var(--ink);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600}:is(body:has(.print-page) .print-controls input,body:has(.print-page) .print-controls select){border-color:var(--line);background:#fff;border-radius:12px;min-height:44px}body:has(.print-page) .print-scope-picker a{border-color:var(--line);box-shadow:none;border-radius:14px}body:has(.print-page) .print-scope-picker a:before{border-radius:14px 0 0 14px}body:has(.print-page) .print-scope-picker a.active{border-color:var(--accent);background:var(--teal-soft);box-shadow:0 0 0 1px var(--accent)}body:has(.print-page) .print-overview-range{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--teal-soft);border-radius:12px}body:has(.print-page) .print-controls-note{color:var(--detail-text)}.planner-shell{border:1px solid var(--line);background:var(--sheet);border-radius:18px;overflow:hidden;box-shadow:0 8px 26px #0000000e}.planner-toolbar{border-bottom:1px solid var(--line);min-height:68px;color:var(--ink);background:#fff;padding:11px 16px}.planner-toolbar .segmented{border:1px solid var(--line);background:#f5f5f5;border-radius:999px;align-self:stretch;padding:3px}.planner-toolbar .segmented button{min-height:38px;color:var(--detail-text);background:0 0;border:0;border-radius:999px}.planner-toolbar .segmented button:first-child{border-left:0}.planner-toolbar .segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #00000017}.planner-toolbar .planner-actions .button{border-color:var(--line);color:var(--ink);background:#fff}.planner-meta{border-bottom-color:var(--line);background:#fafafa;min-height:38px}.gantt-commandbar{border-bottom:1px solid var(--line);background:#fff;min-height:48px;padding:6px 12px}.gantt-panel{--gantt-grid:#e3e3e3;--gantt-grid-strong:#b9b9b9;border-radius:0 0 18px 18px;overflow:hidden}.gantt-analysisbar,.gantt-lookaheadbar,.gantt-filterbar,.gantt-edit-guide,.gantt-instructions{border-bottom-color:var(--line)}.gantt-analysisbar{background:#fafbfd;box-shadow:inset 3px 0 #bd4a3f}.gantt-analysisbar.partial-network{box-shadow:inset 3px 0 var(--accent);background:#fff8e7}.gantt-lookaheadbar,.gantt-lookaheadbar.active{box-shadow:inset 3px 0 var(--accent);background:#f6f8fc}.gantt-filterbar{background:#fafafa;min-height:44px;padding-inline:12px}.gantt-instructions{background:#fff9e8}.gantt-window-nav{border-color:var(--line);box-shadow:none;background:#f5f5f5;border-radius:999px;overflow:hidden}.gantt-window-nav button{color:var(--ink);background:#fff}.gantt-window-nav button:hover:not(:disabled){color:var(--ink);background:#f1f1f1}.gantt-window-nav button:focus-visible{outline-color:var(--accent-dark)}.gantt-window-nav button:disabled{color:#9a9a9a;background:#f5f5f5}.gantt-table-pane{border-right:2px solid #c8c8c8;box-shadow:4px 0 12px #0000000e}.gantt-table-row.summary{background:#fafafa;box-shadow:inset 3px 0 #dedede}.gantt-table-header{color:var(--ink);background:#f3f3f3;box-shadow:inset 0 -1px #cfcfcf}.gantt-table-body,.gantt-timeline-body{background-color:var(--sheet)}.gantt-footer{border-top:1px solid var(--line);background:#fafafa}.segmented button.active,.mini-segmented button.active,.gantt-command.active,.gantt-scale button.active{border-color:var(--accent-dark);background:linear-gradient(90deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff;box-shadow:none}.gantt-table-row.selected{background:var(--teal-soft);box-shadow:inset 4px 0 0 var(--accent)}.gantt-timeline-row.selected{background:#4a76ba0f;border-block-color:#4a76ba73}.gantt-workspace{scrollbar-color:#b6b6b6 #f1f1f1;border-radius:0 0 18px 18px}.gantt-row-edit:hover,.gantt-row-edit:focus-visible{background:var(--teal-soft);color:var(--accent-dark);border-color:#96b1d8}.calendar-panel{border-radius:0 0 18px 18px;overflow:hidden}.calendar-controls{border-bottom:1px solid var(--line);background:#fff;min-height:50px;padding:6px 12px}.year-scroll{border-top:1px solid var(--line);background:#fafafa;border-radius:0 0 18px 18px}.year-grid{border:1px solid var(--line)}.month-column{border-right-color:var(--line);background:var(--sheet)}.month-column>h3{color:var(--ink);background:#f3f3f3;box-shadow:inset 0 -1px #cdcdcd}.form-panel,.data-panel,.invite-panel,.template-editor-section{border:1px solid var(--line);background:var(--sheet);box-shadow:var(--panel-shadow);border-radius:14px;overflow:hidden}.form-fields>section,.form-panel>section{border-bottom:1px solid var(--line);background:var(--sheet);grid-template-columns:40px minmax(0,1fr);display:grid}.form-fields>section:nth-child(2n) .section-content,.form-panel>section:nth-child(2n) .section-content{background:var(--sheet)}.section-number{border-right:1px solid var(--line);color:var(--accent-dark);background:#fafafa;padding:20px 8px;font-size:12px;font-weight:700}.section-content{padding:22px 26px 26px}.section-content h2,.data-panel>h2,.invite-panel>h2,.panel-heading h3{border-bottom:1px solid var(--line);letter-spacing:-.015em;padding-bottom:8px;font-size:18px}.form-actions{border-top:1px solid var(--line);background:#fafafa;min-height:56px;padding:8px 20px}.project-start-option{border:1px solid var(--line);background:var(--sheet);border-radius:12px;min-height:72px}.project-start-option.selected{border-color:var(--accent);background:var(--teal-soft);box-shadow:0 0 0 1px var(--accent)}.settings-grid,.user-layout{gap:20px}.data-panel,.invite-panel{border-top:1px solid var(--line)}.panel-icon{width:40px;height:40px;color:var(--accent);box-shadow:none;background:#f0f4fa;border-radius:50%;place-items:center;margin-bottom:16px;line-height:0;display:grid}.panel-icon svg{width:20px;height:20px;display:block}.data-panel>h2,.invite-panel>h2,.panel-heading h3{border-bottom-color:var(--line)}.category-editor form,.inline-create,.exception-list article,.user-list article,.invite-list article{border-bottom-color:var(--line);padding-block:11px}.template-library{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:thin;scrollbar-color:#b8b8b8 transparent;border-top:0;grid-template-columns:none;grid-auto-columns:minmax(312px,368px);grid-auto-flow:column;gap:28px;max-width:100%;padding:2px 2px 18px;display:grid;overflow:auto hidden}.template-library-card{min-height:0;box-shadow:none;scroll-snap-align:start;background:0 0;border:0;border-radius:14px;flex-direction:column;padding:0;display:flex;overflow:visible}.template-library-card>.technical-preview{aspect-ratio:3/2;flex:none;height:auto}.template-library-card:hover>.technical-preview,.template-library-card:focus-within>.technical-preview{border-color:#c5c5c5;box-shadow:0 7px 24px #0000001a}.template-card-copy{min-height:170px;padding:12px 3px 8px}.template-card-copy>.eyebrow{color:var(--detail-text);margin-bottom:6px}.template-card-copy>h2{margin:0 0 5px;font-size:18px;line-height:1.3}.template-card-copy>p:not(.eyebrow){color:var(--detail-text);margin:0 0 8px;font-size:13px;line-height:1.5}.template-card-copy>p.mono{color:var(--ink);font-size:12px}.template-library-card .template-actions{background:0 0;border:0;align-items:stretch;margin-top:auto;padding:0 3px}.template-library-card .template-actions .button{white-space:normal;flex:100%}.template-editor-section{padding:0}.template-editor-section>*{margin-inline:21px}.template-editor-section>h2{border-bottom:1px solid var(--line);background:#fafafa;margin:0 0 14px;padding:12px 20px 10px}.template-editor-section>:last-child{margin-bottom:21px}.import-table-scroll{border:1px solid var(--line);border-radius:var(--panel-radius)}.import-table-scroll th{color:var(--ink);background:#f3f3f3;box-shadow:inset 0 -1px #cdcdcd}.empty-state{border:1px solid var(--line);border-top:1px solid var(--line);border-radius:var(--panel-radius);background:var(--sheet);box-shadow:var(--panel-shadow);padding:48px 24px}.notice,.notice.success{border-left-width:4px;border-radius:12px;box-shadow:0 1px 2px #132d350d}.modal{border:1px solid var(--line);border-top:1px solid var(--line);box-shadow:var(--overlay-shadow);border-radius:16px;overflow:hidden}.modal-heading{border-bottom:1px solid var(--line);color:var(--ink);background:#fff;padding:14px 20px}.modal-heading .eyebrow{color:var(--detail-text)}.modal-heading button{border-color:var(--line);color:var(--ink);border-radius:50%}.modal-actions{border-top:1px solid var(--line);background:#fafafa}.auth-stage{color:var(--ink);background:#f7f7f7}.auth-stage:before,.auth-grid,.auth-rail{display:none}.auth-card{border:1px solid var(--line);border-top:1px solid var(--line);color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:18px;box-shadow:0 14px 42px #0000001f}.auth-card h1{border-bottom:1px solid var(--line);max-width:12ch;color:var(--ink);padding-bottom:18px}.auth-icon{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;box-shadow:none;border:0;border-radius:50%}.auth-card .eyebrow,.auth-card .field>span,.auth-card .text-link,.auth-copy,.auth-card .field small,.auth-stage footer{color:var(--detail-text)}.auth-card input{border-color:var(--line-dark);color:var(--ink);background:#fff}.auth-card .text-link:hover,.auth-card .text-link:focus-visible{border-bottom-color:var(--accent);color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:821px) and (max-width:1100px){.brand-block{min-width:142px;padding-right:12px}.brand-block div>span,.sidebar>.coordinate,.sidebar-user>div:nth-child(2){display:none}.sidebar nav{gap:0}.sidebar nav a{min-width:86px;padding-inline:9px}.sidebar-user{grid-template-columns:34px 44px;min-width:94px;padding-left:10px}}@media (max-width:900px){.project-card{display:block}.project-dates{border-top:1px solid #ededed;border-left:0}.settings-grid,.user-layout{grid-template-columns:minmax(0,1fr)}.invite-panel{position:static}.template-library{grid-template-columns:none}.template-library-card{gap:0;display:flex}}@media (max-width:820px){.app-frame{display:block}.app-main{border-left:0;display:block}.sidebar{border:0;border-right:1px solid var(--line);width:min(86vw,300px);height:100dvh;color:var(--ink);background:#fff;flex-direction:column;grid-area:auto;align-items:stretch;padding:20px 16px 18px;position:fixed;overflow:hidden auto;box-shadow:12px 0 32px #00000024}.brand-block{border-right:0;border-bottom:1px solid var(--line);min-width:0;padding:0 4px 18px}.brand-block div>span{display:block}.sidebar>.coordinate{border-right:0;border-bottom:1px solid var(--line);min-width:0;padding:12px 8px;display:flex}.sidebar nav{align-items:stretch;gap:4px;margin:16px 0 0;display:grid}.sidebar nav a{min-width:0;min-height:46px;color:var(--detail-text);border:1px solid #0000;border-left:0;border-radius:10px;justify-content:flex-start;padding:0 12px}.sidebar nav a:hover{border-color:var(--line);color:var(--ink);background:#f7f7f7}.sidebar nav a.active{border-color:var(--line);border-left-color:var(--line);color:var(--ink);box-shadow:inset 3px 0 var(--accent);background:#f5f5f5;padding-left:12px}.sidebar-user{border-left:0;border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) 44px;min-width:0;margin:auto 0 0;padding:14px 0 0}.page{padding:78px clamp(16px,4vw,24px) 55px}.page-header{box-shadow:none;border:0;border-radius:0;margin-bottom:24px;padding:0}body:not(:has(.print-page)) .project-page .page-header{box-shadow:none;border:0;border-radius:0;margin-bottom:24px;padding:0}.page-header h1{font-size:clamp(22px,7vw,26px)}body:not(:has(.print-page)) .project-page .page-header h1{font-size:clamp(22px,7vw,26px)}.metric-strip article{min-height:80px;padding:12px}.toolbar{padding:0}.mobile-menu{border-color:var(--line);color:var(--ink);background:#fff;border-radius:50%;box-shadow:0 3px 12px #0000001a}.mobile-menu:hover,.mobile-menu:focus-visible,.mobile-menu[aria-expanded=true]{background:#f5f5f5;border-color:#b6b6b6}.sidebar-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000052}.project-metrics-toggle{border-color:var(--line);color:var(--ink);background:#fff;border-radius:12px}.project-metrics-toggle:hover,.project-metrics-toggle:focus-visible{background:var(--teal-soft);color:var(--accent-dark);border-color:#8fa9cf}.form-fields>section,.form-panel>section{grid-template-columns:44px minmax(0,1fr)}.section-number{padding:18px 10px}.section-content{padding:21px 17px}}@media (max-width:620px){.project-card{flex-direction:column;padding:0;display:flex}.project-card h2,.project-card .address{padding:0}.project-dates,.project-card .progress-wrap,.project-card .card-footer{padding-inline:0}body:not(:has(.print-page)) .project-page .page-header:before{top:0;left:0;right:auto}.template-library-card{flex-direction:column;display:flex}.template-library-card .template-actions{border:0;padding:0 3px}}}
