:root{--teal-50:#F0FDFA;--teal-100:#CCFBF1;--teal-200:#99F6E4;--teal-300:#5EEAD4;--teal-400:#2DD4BF;--teal-500:#14B8A6;--teal-600:#0D9488;--teal-700:#0F766E;--teal-800:#115E59;--teal-900:#134E4A;--teal-950:#042F2E;--slate-50:#F8FAFC;--slate-100:#F1F5F9;--slate-200:#E2E8F0;--slate-300:#CBD5E1;--slate-400:#94A3B8;--slate-500:#64748B;--slate-600:#475569;--slate-700:#334155;--slate-800:#1E293B;--slate-900:#0F172A;--ai-bright:#F59E0B;--ai-dim:#FCD34D;--ai-surface:#FEF3C7;--ai-text:#78350F;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","SF Mono",Menlo,Consolas,monospace;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--ease-soft:cubic-bezier(0.4,0,0.2,1);--ease-sheet:cubic-bezier(0.32,0.72,0,1);--color-paper:#fff;--color-surface:var(--teal-50);--color-ink:var(--teal-950);--color-text-primary:var(--teal-900);--color-text-secondary:var(--slate-500);--color-text-tertiary:var(--slate-400);--color-border:rgba(19,78,74,.12);--color-border-strong:rgba(19,78,74,.25);--color-primary:var(--teal-600);--color-primary-hover:var(--teal-700);--shadow-sm:0 1px 2px rgba(19,78,74,.06);--shadow-md:0 4px 12px rgba(19,78,74,.08);--shadow-lg:0 12px 32px rgba(13,148,136,.18);--c-work:var(--teal-600);--c-normal:#0EA5E9;--c-near:#F59E0B;--c-crit:#F43F5E;--c-deep:#9F1239;--c-supply:#3B82F6;--c-transport:#8B5CF6;--c-equip:#0EA5E9;--c-overhead:#64748B;--c-milestone:#042F2E;--c-baseline:#CBD5E1;--c-today:#F43F5E}*{box-sizing:border-box}body,html{margin:0;background:#E9EFEE;color:var(--color-text-primary)}body{font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.5}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--color-paper);border-right:1px solid var(--color-border);padding:20px 14px}.sidebar .brand{display:flex;align-items:center;gap:10px}.sidebar .brand .logo{width:34px;height:36px;display:grid;place-items:center;color:var(--teal-600);flex:none}.sidebar .brand .logo svg{width:100%;height:100%;display:block}.sidebar .brand b{font-size:13px;font-weight:600;letter-spacing:.02em;display:block}.sidebar .brand small{font-size:10px;color:var(--color-text-tertiary);letter-spacing:.04em;text-transform:uppercase}.sidebar .preamble{font-size:11px;color:var(--color-text-secondary);padding:10px 12px;background:var(--color-surface);border-radius:8px;margin:14px 0 18px;line-height:1.5}.nav-group{margin-bottom:14px}.nav-group .h{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 6px;padding:0 6px}.nav-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.nav-group a{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;color:var(--color-text-secondary);text-decoration:none;font-size:12px;transition:background .15s var(--ease-soft)}.nav-group a:hover{background:var(--color-surface);color:var(--color-text-primary)}.nav-group a .num{width:18px;height:18px;border-radius:99px;background:var(--color-surface);display:grid;place-items:center;font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);flex:none}.nav-group.future a{opacity:.45;cursor:not-allowed}.content{padding:0;min-width:0}.screen-section{padding:36px 28px 28px;border-bottom:1px solid var(--color-border)}.screen-section .header{margin-bottom:18px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.screen-section .num{font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);letter-spacing:.04em;font-weight:500}.screen-section h2{font-size:21px;margin:0;font-weight:600;letter-spacing:-.01em}.screen-section .sub{font-size:13px;color:var(--color-text-secondary);max-width:64ch;line-height:1.55;margin:6px 0 0;flex-basis:100%}.frame-wrap{display:flex;justify-content:flex-start;overflow:auto;padding:8px 0}.desktop{width:1280px;flex:none;height:780px;background:var(--color-paper);border-radius:14px;box-shadow:0 24px 64px rgba(4,47,46,.12);display:grid;grid-template-columns:240px 1fr;grid-template-rows:56px auto auto 1fr;overflow:hidden;font-size:13px;position:relative}.desktop.tall{height:870px}.desktop>.app-sidebar{grid-column:1;grid-row:1/-1}.desktop>:not(.app-sidebar){min-height:0;min-width:0}.app-sidebar{width:240px;background:var(--teal-950);color:#FFFFFF;display:flex;flex-direction:column;padding:20px 14px;overflow:visible;border-right:1px solid rgba(0,0,0,.2)}.app-sidebar .pq-sidebar-top{flex-shrink:0;display:flex;flex-direction:column;gap:4px}.app-sidebar .pq-sidebar-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:4px 0;scrollbar-width:thin;scrollbar-color:rgba(94,234,212,.2) transparent}.app-sidebar .pq-sidebar-scroll::-webkit-scrollbar{width:6px}.app-sidebar .pq-sidebar-scroll::-webkit-scrollbar-thumb{background:rgba(94,234,212,.2);border-radius:3px}.app-sidebar .pq-sidebar-bottom{flex-shrink:0;padding:12px 10px 0;margin-top:8px;border-top:1px solid rgba(255,255,255,.08)}.app-sidebar .pq-sidebar-logo{display:flex;align-items:center;gap:10px;padding:6px 10px 14px}.app-sidebar .pq-sidebar-logo-cube{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#5EEAD4}.app-sidebar .pq-sidebar-logo-cube svg{display:block;width:26px;height:28px}.app-sidebar .pq-sidebar-wordmark{font-family:var(--font-display),var(--font-sans);font-size:17px;color:#FFFFFF;letter-spacing:.06em;font-weight:600}.app-sidebar .pq-sidebar-section{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);padding:14px 10px 6px}.app-sidebar .pq-nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13.5px;color:rgba(255,255,255,.72);cursor:pointer;transition:all .15s var(--ease-soft);text-decoration:none}.app-sidebar .pq-nav-item:hover{background:rgba(94,234,212,.08);color:#FFFFFF}.app-sidebar .pq-nav-item[data-active=true]{background:var(--teal-600,#0D9488);color:#FFFFFF;font-weight:500}.app-sidebar .pq-nav-item svg{width:17px;height:17px;flex-shrink:0}.app-sidebar .pq-nav-item .ico{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;flex:none;opacity:.95}.app-sidebar .pq-nav-item .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar .pq-nav-badge{margin-left:auto;font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--ai-bright,#F59E0B);color:#FFFFFF}.app-sidebar .pq-sidebar-misc-toggle{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13.5px;color:rgba(255,255,255,.72);cursor:pointer;background:transparent;border:none;text-align:left;width:100%;font-family:inherit;transition:all .15s var(--ease-soft)}.app-sidebar .pq-sidebar-misc-toggle:hover{background:rgba(94,234,212,.08);color:#FFFFFF}.app-sidebar .pq-sidebar-misc-toggle .ico,.app-sidebar .pq-sidebar-misc-toggle svg{width:17px;height:17px;flex-shrink:0;font-size:15px;display:inline-flex;align-items:center;justify-content:center}.app-sidebar .pq-sidebar-misc-toggle .chev{margin-left:auto;width:14px;height:14px;font-size:11px;transition:transform .15s var(--ease-soft)}.app-sidebar .pq-sidebar-misc-toggle[data-open=true] .chev{transform:rotate(180deg)}.app-sidebar .pq-sidebar-misc-list{display:flex;flex-direction:column;gap:2px;padding:4px 0 4px 8px;border-left:1px solid rgba(255,255,255,.08);margin-left:18px}.app-sidebar .pq-sidebar-misc-list .pq-nav-item{font-size:12.5px;padding:6px 10px;color:rgba(255,255,255,.55)}.app-sidebar .pq-sidebar-misc-list .pq-nav-item:hover{color:#FFFFFF;background:rgba(94,234,212,.06)}.app-sidebar .pq-sidebar-misc-list .pq-nav-item[data-active=true]{background:rgba(94,234,212,.12);color:#FFFFFF;font-weight:500}.app-sidebar .pq-project-pill{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:rgba(94,234,212,.08);font-size:12.5px;color:#FFFFFF;cursor:pointer;border:none;width:100%;font-family:inherit;text-align:left;transition:background .15s var(--ease-soft)}.app-sidebar .pq-project-pill:hover{background:rgba(94,234,212,.14)}.app-sidebar .pq-project-pill .ico{width:16px;height:16px;flex:none;font-size:14px;display:inline-flex;align-items:center;justify-content:center}.app-sidebar .pq-project-pill .info{flex:1;min-width:0}.app-sidebar .pq-project-pill .label{font-size:10px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em}.app-sidebar .pq-project-pill .name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.app-sidebar .pq-project-pill .chev{margin-left:auto;font-size:11px;color:rgba(255,255,255,.55)}.app-sidebar .proj-menu{display:none;position:absolute;left:0;right:0;bottom:calc(100% + 6px);background:#0F1F1E;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px;box-shadow:0 -8px 24px rgba(0,0,0,.35);z-index:30}.app-sidebar .proj-switch-wrap.open .proj-menu{display:block}.app-sidebar .proj-menu-h{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#64748B;padding:6px 10px 4px}.app-sidebar .proj-menu-it{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:6px;color:#CBD5E1;font:inherit;font-size:12px;text-align:left;cursor:pointer;transition:background .12s var(--ease-soft)}.app-sidebar .proj-menu-it:hover{background:rgba(255,255,255,.06);color:#fff}.app-sidebar .proj-menu-it.on{background:rgba(13,148,136,.18);color:#fff}.app-sidebar .proj-menu-it .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.app-sidebar .proj-menu-it .dim{font-family:var(--font-mono);font-size:10px;color:#64748B;flex:none}.app-sidebar .proj-menu-it .check{color:var(--teal-400,#2DD4BF);font-size:13px;flex:none;margin-left:4px}.app-sidebar .proj-menu-it.new{color:#94A3B8;border-top:none}.app-sidebar .proj-menu-it.new:hover{color:var(--ai-bright);background:rgba(245,158,11,.08)}.app-sidebar .proj-menu-sep{height:1px;background:rgba(255,255,255,.08);margin:4px 6px}.app-topbar{justify-content:space-between;padding:0 20px;background:#FFFFFF;border-bottom:1px solid var(--slate-100,#e2e8f0);gap:16px}.app-topbar,.app-topbar .tb-left{display:flex;align-items:center;min-width:0}.app-topbar .tb-left{gap:14px;flex:1}.app-topbar .tb-right{display:flex}.app-topbar .tb-right,.pq-trial{align-items:center;gap:8px;flex:none}.pq-trial{display:inline-flex;padding:5px 12px 5px 10px;border-radius:999px;background:var(--amber-50,#FEF3C7);color:var(--amber-900,#78350F);font-size:12px;font-weight:500;line-height:1}.pq-trial .dot{width:6px;height:6px;border-radius:50%;background:var(--ai-bright,#F59E0B);flex:none}.pq-trial .gift{width:14px;height:14px;color:#D97706;flex:none}.pq-trial b{font-weight:600;color:#7C2D12}.pq-trial .sep{color:#A16207;margin:0 1px}.pq-trial a{color:#7C2D12;font-weight:600;text-decoration:none;cursor:pointer;margin-left:4px;display:inline-flex;align-items:center;gap:2px}.pq-trial a:hover{text-decoration:underline}.pq-langpill{display:inline-flex;align-items:center;gap:0;padding:3px;background:#F1F5F9;border-radius:8px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;flex:none}.pq-langpill button{background:transparent;border:none;padding:3px 8px;border-radius:6px;cursor:pointer;color:#64748B;font:inherit;text-transform:uppercase;transition:all .15s var(--ease-soft)}.pq-langpill button.on{background:#FFFFFF;color:#0F172A;box-shadow:0 1px 2px rgba(15,23,42,.08)}.pq-langpill button:hover:not(.on){color:#334155}.pq-icon-btn{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#64748B;position:relative;background:transparent;border:none;cursor:pointer;transition:all .15s var(--ease-soft);font-family:inherit;padding:0}.pq-icon-btn:hover{background:#F1F5F9;color:#334155}.pq-icon-btn svg{width:18px;height:18px;display:block}.pq-icon-btn .indicator{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#F43F5E;border:1.5px solid #ffffff}.pq-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--teal-600,#0D9488),var(--teal-800,#115E59));color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;flex:none;border:none;font-family:inherit}.tb-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:14px;position:relative;transition:background .15s var(--ease-soft);font-family:inherit}.tb-icon:hover{background:var(--color-surface);color:var(--color-text-primary)}.tb-icon .dot{position:absolute;top:6px;right:7px;width:6px;height:6px;border-radius:99px;background:var(--c-crit);box-shadow:0 0 0 2px #FCFEFD}.ph-cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:inherit;line-height:1;transition:all .15s var(--ease-soft);white-space:nowrap}.ph-cta svg{width:14px;height:14px;flex:none}.ph-cta.ghost{background:#FFFFFF;border-color:#E2E8F0;color:#334155}.ph-cta.ghost:hover{background:#F8FAFC;border-color:#CBD5E1}.export-menu{position:relative;display:inline-block}.export-menu .ph-cta .caret{width:11px;height:11px;margin-left:-2px;opacity:.6}.export-menu[data-open="1"] .ph-cta.ghost{background:#F1F5F9;border-color:#CBD5E1}.export-menu-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:#FFFFFF;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 12px 28px -10px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.06);padding:6px;display:none;z-index:50}.export-menu[data-open="1"] .export-menu-pop{display:block}.export-menu-pop button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 12px;border:0;background:transparent;border-radius:8px;cursor:pointer;text-align:left;font:inherit}.export-menu-pop button:hover{background:#F1F5F9}.export-menu-pop button b{font-size:13px;font-weight:600;color:#0F172A;line-height:1.2}.export-menu-pop button span{font-size:11px;color:#64748B;line-height:1.2}.ph-cta.primary{background:#0D9488;color:#FFFFFF;border-color:#0D9488;box-shadow:0 1px 2px rgba(13,148,136,.18)}.ph-cta.primary:hover{background:#0F766E;border-color:#0F766E}.ph-bread{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748B;padding:0;line-height:1.4;min-width:0}.ph-bread a{color:#64748B;text-decoration:none;cursor:pointer}.ph-bread a:hover{color:#0F172A}.ph-bread .cur{color:#0F172A;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ph-bread .sep{color:#CBD5E1;flex:none}.mobile-wrap{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}.device{width:390px;height:844px;background:#0a0a0a;border-radius:48px;padding:14px;box-shadow:0 24px 64px rgba(4,47,46,.18);position:relative;flex:none}.screen-m{width:100%;height:100%;background:#FBFEFD;border-radius:36px;overflow:hidden;display:flex;flex-direction:column;position:relative}.notch{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:120px;height:32px;background:#0a0a0a;border-radius:99px;z-index:10}.status-bar{height:46px;display:flex;align-items:flex-end;padding:0 28px 4px;justify-content:space-between;font-size:14px;font-weight:600;color:#042F2E}.m-home{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:130px;height:5px;background:#000;border-radius:99px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--color-border);background:#FCFEFD;gap:16px;min-width:0}.topbar.topbar-breadcrumbs-only{padding:12px 24px 0;background:transparent;border-bottom:none;min-height:0}.topbar.topbar-breadcrumbs-only .crumbs{font-size:13px;color:#64748B;gap:8px}.topbar.topbar-breadcrumbs-only .crumbs a{color:#64748B}.topbar.topbar-breadcrumbs-only .crumbs a:hover{color:#0F172A}.topbar.topbar-breadcrumbs-only .crumbs b{color:#0F172A;font-weight:600}.topbar.topbar-breadcrumbs-only .crumbs .sep{color:#CBD5E1}.topbar .crumbs{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary);flex:1;white-space:nowrap}.topbar .crumbs,.topbar .crumbs b{min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar .crumbs b{color:var(--color-text-primary);font-weight:600}.topbar .crumbs .sep{color:var(--color-text-tertiary);flex:none}.topbar .crumbs>*{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar .crumbs>b:last-child{flex-shrink:0;max-width:280px}.topbar .crumbs a{color:var(--color-text-secondary);text-decoration:none;cursor:pointer}.topbar .crumbs a:hover{color:var(--color-primary)}.topbar .right{display:flex;align-items:center;gap:8px;flex:none}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;font-size:12px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);font-family:var(--font-mono);font-weight:500}.pill.mode{background:#ECFDF5;border-color:#A7F3D0;color:#047857}.pill.cp{background:#FEF2F2;border-color:#FECACA;color:#9F1239}.pill .dot{width:6px;height:6px;border-radius:99px;background:#10B981;flex:none}.pill.cp .dot{background:var(--c-crit)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-paper);font-size:12px;color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:all .15s var(--ease-soft)}.btn:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.btn.primary{background:var(--c-work);color:#fff;border-color:var(--c-work)}.btn.primary:hover{background:var(--teal-700);border-color:var(--teal-700)}.avatar{width:30px;height:30px;border-radius:99px;background:linear-gradient(135deg,var(--teal-600),var(--teal-950));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600}.projheader{display:grid;grid-template-rows:64px 44px;border-bottom:1px solid var(--color-border);background:#FBFEFD;overflow:hidden}.projheader.legacy{display:grid;grid-template-rows:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:14px 24px;gap:18px}.projheader.legacy .meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}.projheader.legacy h1{font-size:18px;margin:0;font-weight:600;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}.projheader.legacy .stats{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary);flex-wrap:wrap}.projheader.legacy .stats b{color:var(--color-text-primary);font-weight:500}.projheader.legacy .right-controls{display:flex;align-items:center;gap:8px;flex:none}.ph-row1{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;border-bottom:1px solid var(--color-border)}.ph-row1,.ph-row2{align-items:center;padding:0 22px}.ph-row2{display:flex;justify-content:space-between;gap:14px;background:#F8FBFA}.ph-meta{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:1px}.ph-h1{font-size:19px;margin:0;font-weight:600;letter-spacing:-.005em;color:var(--color-text-primary)}.ph-h1,.ph-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ph-sub{font-size:12px;color:var(--color-text-secondary)}.ph-actions{display:flex;align-items:center;gap:8px;flex:none}.seg-bp{display:flex;background:var(--teal-50,#ECFDF5);border:1px solid var(--teal-100,#d1fae5);border-radius:999px;padding:3px;gap:2px}.seg-bp button{padding:6px 14px;border:none;background:transparent;font-size:12px;border-radius:999px;cursor:pointer;color:var(--teal-800,#115E59);font-family:inherit;font-weight:500;display:inline-flex;align-items:center;gap:5px;transition:all .15s var(--ease-soft)}.seg-bp button:hover{color:var(--color-text-primary)}.seg-bp button.on{background:var(--teal-900,#134E4A);color:#FFFFFF;box-shadow:0 1px 2px rgba(19,78,74,.18);font-weight:600}.seg-bp button.on .ico{color:var(--teal-300,#5EEAD4)}.seg-bp button .ico{font-size:11px;opacity:.85}.ph-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:9px;border:1px solid var(--color-border);background:var(--color-paper);font-size:12px;color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:all .15s var(--ease-soft);font-weight:500}.ph-btn:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.ph-btn.primary{background:var(--c-work);color:#fff;border-color:var(--c-work)}.ph-btn.primary:hover{background:var(--teal-700);border-color:var(--teal-700)}.scope-rail{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.scope-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;height:30px;border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--slate-600,#475569);font-weight:500;transition:all .12s var(--ease-soft);border:1px solid transparent;background:transparent;font-family:inherit;flex:none;white-space:nowrap}.scope-chip:hover{background:#F1F5F9;color:#0F172A}.scope-chip[aria-selected=true]{background:#FFFFFF;border-color:var(--teal-200,#99F6E4);color:var(--teal-900,#134E4A);box-shadow:0 1px 2px rgba(15,23,42,.05)}.scope-chip svg{width:14px;height:14px;flex:none}.scope-chip[aria-selected=true] svg{color:var(--teal-700,#0F766E)}.scope-chip .dim{font-family:var(--font-mono);font-size:10px;color:var(--slate-400,#94A3B8);font-weight:500}.scope-picker{position:relative;flex:none}.scope-picker-btn{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;height:30px;border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--teal-900,#134E4A);font-weight:500;background:#FFFFFF;border:1px solid var(--teal-200,#99f6e4);font-family:inherit;transition:all .12s var(--ease-soft);box-shadow:0 1px 2px rgba(15,23,42,.05)}.scope-picker-btn:hover{border-color:var(--teal-300,#5EEAD4);background:#F0FDFA}.scope-picker-btn svg{width:14px;height:14px;flex:none;color:var(--teal-700,#0F766E)}.scope-picker-btn .caret{margin-left:2px;color:var(--slate-400)}.scope-picker-btn .count{font-family:var(--font-mono);font-size:10px;color:var(--slate-500);font-weight:500;padding:1px 6px;border-radius:999px;background:#F1F5F9}.scope-picker-menu{display:none;position:absolute;left:0;top:calc(100% + 6px);background:#FFFFFF;border:1px solid var(--slate-200,#e2e8f0);border-radius:10px;padding:6px;box-shadow:0 8px 24px rgba(15,23,42,.1);z-index:30;min-width:220px}.scope-picker.open .scope-picker-menu{display:block}.scope-picker.open .scope-picker-btn .caret{transform:rotate(180deg)}.scope-picker-menu .scope-mi{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:transparent;border:none;border-radius:6px;color:var(--slate-700);font:inherit;font-size:12.5px;text-align:left;cursor:pointer;transition:background .1s var(--ease-soft)}.scope-picker-menu .scope-mi:hover{background:#F1F5F9;color:#0F172A}.scope-picker-menu .scope-mi[aria-selected=true]{background:var(--teal-50,#F0FDFA);color:var(--teal-900,#134E4A);font-weight:500}.scope-picker-menu .scope-mi svg{width:14px;height:14px;flex:none;color:var(--slate-500)}.scope-picker-menu .scope-mi[aria-selected=true] svg{color:var(--teal-700,#0F766E)}.scope-picker-menu .scope-mi .check{margin-left:auto;color:var(--teal-600,#0D9488);font-size:13px}.scope-picker-menu .scope-sep{height:1px;background:var(--slate-100,#F1F5F9);margin:4px}.ph-filter{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary);cursor:pointer;flex:none;padding:5px 9px;border-radius:7px;transition:background .15s var(--ease-soft)}.ph-filter:hover{background:rgba(19,78,74,.05)}.ph-filter .lbl{text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:9px;color:var(--color-text-tertiary)}.ph-filter b{color:var(--color-text-primary);font-weight:500;font-size:12px}.ph-filter .caret{color:var(--color-text-tertiary);font-size:9px}.ph-calpill{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:99px;background:var(--color-surface);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:all .15s var(--ease-soft);flex:none}.ph-calpill:hover{background:var(--teal-50);border-color:var(--teal-300)}.ph-calpill .ico{font-size:11px}.ph-calpill .dim{color:var(--color-text-tertiary);font-weight:400}.ph-crumb{display:flex;gap:6px;color:var(--color-text-secondary);margin-bottom:2px;line-height:1.3}.ph-crumb,.ph-crumb-back{align-items:center;font-size:11px}.ph-crumb-back{cursor:pointer;color:var(--teal-700,#0F766E);font-weight:500;transition:all .15s var(--ease-soft);display:inline-flex;gap:4px;background:#F0FDFA;border:1px solid #ccfbf1;border-radius:6px;padding:3px 8px;font-family:inherit;line-height:1;flex:none}.ph-crumb-back:hover{background:#CCFBF1;border-color:#5EEAD4;color:var(--teal-800,#115E59)}.ph-crumb-it{color:var(--color-text-secondary);cursor:pointer}.ph-crumb-it:hover{color:var(--color-text-primary);text-decoration:underline}.ph-crumb-cur{color:var(--color-text-primary);font-weight:500}.ph-crumb-sep{color:var(--color-text-tertiary)}.seg-modes{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:3px;gap:2px}.seg-modes button{padding:6px 14px;border:none;background:transparent;font-size:12px;border-radius:7px;cursor:pointer;color:var(--color-text-secondary);font-family:inherit;font-weight:500;transition:all .15s var(--ease-soft)}.seg-modes button:hover{color:var(--color-text-primary)}.seg-modes button.on{background:var(--color-ink);color:#fff}.today-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;background:#FEF2F2;border:1px solid #fecaca;color:var(--c-crit);font-family:var(--font-mono);font-size:11px;font-weight:500}.today-badge:before{content:"●";font-size:8px}.bsl{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;background:#F8FBFA}.bsl-header{padding:18px 24px 12px;background:var(--color-paper);border-bottom:1px solid var(--color-border);flex:none}.bsl-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary)}.bsl-header .bsl-sub{margin-top:3px;font-size:11px;color:var(--color-text-secondary);font-family:var(--font-mono)}.bsl-header .bsl-active{color:var(--teal-700);font-weight:500}.bsl-canvas{flex:1;overflow:auto;padding:14px 24px 18px;position:relative;min-height:0}.bsl-grid{position:relative;background:var(--color-paper);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.bsl-today-overlay{position:absolute;top:0;bottom:0;width:1.5px;background:var(--c-crit);z-index:5;pointer-events:none;margin-left:14px}.bsl-today-overlay:before{content:"";position:absolute;top:-4px;left:-4px;width:9px;height:9px;border-radius:99px;background:var(--c-crit)}.bsl-months{display:flex;height:34px;border-bottom:1px solid var(--color-border);background:#FBFEFD;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.bsl-months .m-spacer{flex:none;width:280px;border-right:1px solid var(--color-border);display:flex;align-items:center;padding:0 14px;font-size:9px}.bsl-months .m-track{flex:1;display:flex;position:relative}.bsl-months .m-col{flex:0 0 auto;padding:2px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.05;border-right:1px solid rgba(19,78,74,.06);overflow:hidden;white-space:nowrap;min-width:0;box-sizing:border-box}.bsl-months .m-col b{font-size:10px;font-weight:600;letter-spacing:.06em;color:inherit;max-width:100%;overflow:hidden}.bsl-months .m-col i{font-size:8px;font-style:normal;font-weight:400;letter-spacing:.04em;color:var(--color-text-tertiary);font-family:var(--font-mono);max-width:100%;overflow:hidden}.bsl-months .m-col.wide{flex-direction:row;gap:6px}.bsl-months .m-col.wide b{letter-spacing:.08em}.bsl-row{display:flex;align-items:center;border-bottom:1px solid rgba(19,78,74,.06);min-height:42px;cursor:pointer;transition:background .15s var(--ease-soft)}.bsl-row:hover{background:#F4FAF9}.bsl-row:last-child{border-bottom:none}.bsl-name{flex:none;width:280px;padding:0 14px;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--color-text-primary);min-width:0;border-right:1px solid var(--color-border)}.bsl-dot{width:8px;height:8px;border-radius:99px;flex:none;display:inline-block}.bsl-name .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.bsl-chip-risk{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:99px;background:#FEF3C7;border:1px solid #fcd34d;color:#92400E;font-size:10px;font-weight:600;flex:none}.bsl-chip-risk:before{content:"⚠";font-size:9px}.bsl-chip-now{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:99px;background:#ECFDF5;border:1px solid #6ee7b7;color:#047857;font-size:10px;font-weight:600;flex:none}.bsl-chip-now:before{content:"●";font-size:7px}.bsl-track{flex:1;position:relative;height:42px;padding:0 14px;min-width:0}.bsl-bar,.bsl-track{display:flex;align-items:center}.bsl-bar{position:absolute;height:24px;border-radius:99px;justify-content:center;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.01em;padding:0 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.bsl-bar.done{background:var(--teal-700);color:#fff;border:1px solid var(--teal-800)}.bsl-bar.done.short{padding:0 8px}.bsl-bar.progress{background:linear-gradient(to right,var(--teal-700) 0,var(--teal-700) var(--p,100%),var(--teal-100) var(--p,100%),var(--teal-100) 100%);color:#fff;border:1px solid var(--teal-800);justify-content:flex-start;padding:0 11px}.bsl-bar.progress .bsl-bar-text{color:#fff;font-weight:700;letter-spacing:.01em;text-shadow:0 0 3px rgba(15,118,110,.95),0 0 1px rgba(15,118,110,.95),1px 0 0 rgba(15,118,110,.6),-1px 0 0 rgba(15,118,110,.6),0 1px 0 rgba(15,118,110,.6),0 -1px 0 rgba(15,118,110,.6)}.bsl-bar.risk{background:transparent;color:#92400E;border:1.5px solid #f59e0b;font-weight:600}.bsl-bar.plan{background:transparent;color:var(--color-text-secondary);border:1px dashed var(--slate-300)}.bsl-bar.ed{background:#F1F5F9;color:#475569;border:1px solid var(--slate-300);font-style:italic}.bsl-bar.milestone{background:transparent!important;color:var(--teal-950);border:none;padding:0;width:18px!important;justify-content:flex-start}.bsl-typeicon{font-size:11px;flex:none;opacity:.85}.bsl-chip-lock{font-size:11px;flex:none;cursor:help}.bsl-today{top:0;bottom:0;width:1.5px;z-index:5;pointer-events:none}.bsl-today,.bsl-today:before{position:absolute;background:var(--c-crit)}.bsl-today:before{content:"";top:-4px;left:-4px;width:9px;height:9px;border-radius:99px}.bsl-legend{display:flex;gap:18px;padding:12px 24px;font-size:11px;color:var(--color-text-secondary);background:var(--color-paper);border-top:1px solid var(--color-border);flex:none}.bsl-legend .it{display:inline-flex;align-items:center;gap:6px}.bsl-legend .sw{width:18px;height:10px;border-radius:99px;display:inline-block;flex:none}.bsl-legend .sw.done{background:var(--teal-700)}.bsl-legend .sw.progress{background:linear-gradient(90deg,var(--teal-700) 60%,var(--teal-100) 60%)}.bsl-legend .sw.risk{background:transparent;border:1.5px solid #f59e0b}.bsl-legend .sw.plan{background:transparent;border:1px dashed var(--slate-300)}.prep-screen{flex:1;justify-content:center;padding:32px;background:linear-gradient(180deg,#FBFEFD,#F0FAF8);min-height:0;overflow:hidden}.prep-screen,.prep-stage{display:flex;align-items:center}.prep-stage{flex-direction:column;gap:18px;max-width:420px;text-align:center}.prep-logo-wrap{width:200px;height:200px;position:relative}.prep-logo{width:100%;height:100%}.prep-logo .orb{fill:none;stroke:var(--teal-300);stroke-width:1;stroke-dasharray:2 4;opacity:.55;transform-origin:100px 100px}.prep-logo .orb-1{animation:prepOrbit 14s linear infinite}.prep-logo .orb-2{animation:prepOrbit 10s linear infinite reverse;stroke:var(--teal-400)}.prep-logo .orb-3{animation:prepOrbit 7s linear infinite;stroke:var(--teal-500);opacity:.4}@keyframes prepOrbit{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.prep-logo .dot{fill:var(--teal-500);transform-origin:100px 100px}.prep-logo .dot-1{animation:prepOrbit 14s linear infinite}.prep-logo .dot-2{animation:prepOrbit 10s linear infinite reverse}.prep-logo .dot-3{animation:prepOrbit 7s linear infinite}.prep-logo .ray{stroke-dasharray:90;stroke-dashoffset:90;animation:prepRay 4s ease-in-out infinite}.prep-logo .ray-1{animation-delay:0s}.prep-logo .ray-2{animation-delay:.25s}.prep-logo .ray-3{animation-delay:.5s}.prep-logo .ray-4{animation-delay:.75s}.prep-logo .ray-5{animation-delay:1s}.prep-logo .ray-6{animation-delay:1.25s}@keyframes prepRay{0%{stroke-dashoffset:90;opacity:0}25%{stroke-dashoffset:0;opacity:.6}75%{stroke-dashoffset:0;opacity:.6}to{stroke-dashoffset:-90;opacity:0}}.prep-logo .node{transform-origin:center;animation:prepNode 2.4s ease-in-out infinite}.prep-logo .n-1{animation-delay:.1s;transform-origin:100px 20px}.prep-logo .n-2{animation-delay:.3s;transform-origin:170px 60px}.prep-logo .n-3{animation-delay:.5s;transform-origin:170px 140px}.prep-logo .n-4{animation-delay:.7s;transform-origin:100px 180px}.prep-logo .n-5{animation-delay:.9s;transform-origin:30px 140px}.prep-logo .n-6{animation-delay:1.1s;transform-origin:30px 60px}@keyframes prepNode{0%,to{transform:scale(.7);opacity:.4}50%{transform:scale(1.4);opacity:1}}.prep-logo .prep-core{transform-origin:100px 100px;animation:prepCore 3s ease-in-out infinite}@keyframes prepCore{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.prep-h{margin:0;font-size:22px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.prep-msg{font-size:14px;color:var(--ai-text);font-weight:500;min-height:22px;transition:opacity .22s var(--ease-soft);background:var(--ai-surface);padding:6px 14px;border-radius:99px;border:1px solid #fcd34d}.prep-bar{width:240px;height:4px;background:var(--teal-50);border-radius:99px;overflow:hidden;position:relative}.prep-bar-fill{position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,var(--teal-500),var(--teal-700),var(--teal-500),transparent);animation:prepBar 1.6s ease-in-out infinite}@keyframes prepBar{0%{left:-40%}to{left:100%}}.prep-foot{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono);margin-top:4px}.pro-subbar{justify-content:space-between;padding:8px 22px;background:#FBFEFD;border-bottom:1px solid var(--color-border);gap:14px;height:42px;box-sizing:border-box}.pro-subbar,.pro-subbar-r{display:flex;align-items:center;flex:none}.pro-subbar-r{gap:8px}.mode-content{display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0}.mode-content>.flow-canvas,.mode-content>.tl-canvas{flex:1;min-height:0;min-width:0}.ai-banner{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 14px;background:var(--ai-surface);border-bottom:1px solid var(--ai-dim);font-size:12.5px;color:var(--ai-text);line-height:1.45;flex:none;position:relative;overflow:hidden}.ai-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ai-bright)}.ai-banner-icon{flex:none;width:26px;height:26px;border-radius:99px;background:var(--ai-bright);display:grid;place-items:center;color:#fff;box-shadow:0 0 0 4px rgba(245,158,11,.1)}.ai-banner-icon svg{width:14px;height:14px;display:block}.ai-banner-body{flex:1;min-width:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.ai-banner-label{font-weight:700;color:var(--ai-text);letter-spacing:.01em;flex:none}.ai-banner-text{color:#7C2D12;font-weight:400}.ai-banner-cta,.ai-banner-text b{font-weight:600;color:var(--ai-text)}.ai-banner-cta{flex:none;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:rgba(255,255,255,.65);border:1px solid var(--ai-dim);border-radius:99px;font-size:11px;cursor:pointer;transition:background .15s var(--ease-soft),border-color .15s var(--ease-soft)}.ai-banner-cta:hover{background:#fff;border-color:var(--ai-bright)}.ai-banner-cta .arr{font-family:var(--font-mono);font-size:10px}.ai-banner-close{flex:none;width:24px;height:24px;border-radius:6px;background:transparent;border:none;color:var(--ai-text);cursor:pointer;display:grid;place-items:center;font-size:14px;opacity:.55;transition:opacity .15s var(--ease-soft),background .15s var(--ease-soft)}.ai-banner-close:hover{opacity:1;background:rgba(120,53,15,.06)}.ai-banner.shimmer:after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55) 50%,transparent);animation:aiShimmer 1.8s ease-in-out 1}@keyframes aiShimmer{0%{left:-30%}to{left:130%}}.ai-fab{position:absolute;right:22px;bottom:22px;width:54px;height:54px;border-radius:99px;background:var(--ai-bright);border:none;color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 22px rgba(245,158,11,.42),0 2px 6px rgba(245,158,11,.22),inset 0 -2px 0 rgba(120,53,15,.18);z-index:20;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft)}.ai-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(245,158,11,.5),0 4px 10px rgba(245,158,11,.28),inset 0 -2px 0 rgba(120,53,15,.18)}.ai-fab svg{width:22px;height:22px;display:block;filter:drop-shadow(0 1px 1px rgba(120,53,15,.25))}.ai-fab:before{content:"";position:absolute;inset:-7px;border-radius:99px;background:radial-gradient(circle,rgba(245,158,11,.3) 0,transparent 70%);z-index:-1;animation:aiHalo 2.4s ease-in-out infinite}@keyframes aiHalo{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}.ai-fab .dot{position:absolute;top:5px;right:5px;width:10px;height:10px;border-radius:99px;background:#fff;border:2px solid var(--ai-bright);box-shadow:0 0 0 1px rgba(245,158,11,.5)}.canvas{display:grid;grid-template-columns:1fr 300px;height:100%;min-height:0}.stage-stream{overflow:auto;background:#F4FAF9;padding:18px;display:flex;flex-direction:column;gap:12px;position:relative}.stage{background:var(--color-paper);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(19,78,74,.05);position:relative;transition:box-shadow .15s var(--ease-soft);flex:none}.stage.crit{border-left:4px solid var(--c-crit);box-shadow:0 1px 3px rgba(244,63,94,.1)}.stage.compact{display:flex;align-items:center;padding:0}.stage.compact .stage-h{flex:1;border-bottom:none}.stage.dimmed{opacity:.55}.stage.expanded{box-shadow:0 4px 12px rgba(19,78,74,.1)}.stage-h{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:12px 16px;background:#FBFEFD;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .15s var(--ease-soft)}.stage-h:hover{background:#F0FAF8}.stage-h .num{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:600;font-size:13px;font-family:var(--font-mono);flex:none}.stage-h .nm-block{display:flex;flex-direction:column;gap:2px;min-width:0}.stage-h .nm{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.badge-kp{padding:2px 6px;background:#FEF2F2;color:var(--c-crit)}.badge-kp,.badge-now{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-radius:99px}.badge-now{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;background:var(--c-crit);color:#fff}.badge-now:before{content:"●";font-size:6px}.stage-h .progress,.stage-h .sub{font-size:11px;color:var(--color-text-secondary);font-family:var(--font-mono)}.stage-h .progress{display:flex;align-items:center;gap:10px}.stage-h .progress .pct-bar{width:80px;height:5px;border-radius:99px;background:rgba(19,78,74,.08);overflow:hidden}.stage-h .progress .pct-bar>span{display:block;height:100%;background:var(--c-work);transition:width .2s var(--ease-soft)}.stage.crit .stage-h .progress .pct-bar>span{background:var(--c-crit)}.stage-h .chevron{font-size:14px;color:var(--color-text-tertiary);transform:rotate(0deg);transition:transform .15s var(--ease-soft)}.stage.compact .stage-h .chevron{transform:rotate(-90deg)}.stage-body{padding:14px 16px;flex-direction:column;gap:8px}.stage-body,.stage-scale{display:flex;position:relative}.stage-scale{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);height:18px;border-bottom:1px solid var(--color-border);margin-bottom:4px}.stage-scale .tick{flex:1;border-right:1px solid var(--color-border);padding-left:6px;display:flex;align-items:center}.stage-scale .tick:last-child{border-right:none}.stage-scale .tick.cur{color:var(--c-today);font-weight:500}.crew-h{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--color-text-secondary);padding:6px 10px;background:var(--color-surface);border-radius:6px;margin-top:4px;cursor:pointer}.crew-h .stripe{width:3px;height:12px;border-radius:99px;background:var(--c-work);flex:none}.crew-h.sup .stripe{background:#3B82F6}.crew-h .nm{font-weight:500;color:var(--color-text-primary)}.crew-h .ct{margin-left:auto;font-family:var(--font-mono);color:var(--color-text-tertiary)}.row{display:grid;grid-template-columns:200px 1fr 110px;gap:10px;align-items:center;font-size:12px;min-height:30px;padding:2px 0;cursor:pointer;border-radius:6px;transition:background .15s var(--ease-soft)}.row:hover{background:rgba(13,148,136,.05)}.row.dim{opacity:.4}.row.active{background:#E0F2F0;outline:2px solid var(--teal-300);outline-offset:-1px}.row .label-col{font-size:11px;color:var(--color-text-secondary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding-left:8px;min-width:0}.row .label-col b{color:var(--color-text-primary);font-weight:500;font-size:12px;display:block}.row .label-col .room{display:block;font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary)}.row .lane{position:relative;background:rgba(19,78,74,.04);overflow:visible}.row .lane,.row .seg{height:24px;border-radius:6px}.row .seg{position:absolute;display:flex;align-items:center;padding:0 8px;font-size:11px;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;box-shadow:0 1px 2px rgba(19,78,74,.06)}.row .seg .pct{position:absolute;left:0;top:0;bottom:0;background:rgba(0,0,0,.18);border-radius:6px 0 0 6px;pointer-events:none}.row .seg.work{background:var(--c-work)}.row .seg.crit{background:var(--c-crit)}.row .seg.near{background:var(--c-near);color:#451a03}.row .seg.deep{background:var(--c-deep)}.row .seg.supply{background:var(--c-supply)}.row .seg.transport{background:var(--c-transport)}.row .seg.equip{background:var(--c-equip)}.row .seg.overhead{background:var(--c-overhead)}.row .seg.done{opacity:.55}.row .seg.ed{background-image:repeating-linear-gradient(45deg,transparent 0 8px,rgba(255,255,255,.18) 8px 16px)}.row .seg .lbl{position:relative;z-index:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.row .seg .ico{margin-right:4px;font-size:10px;opacity:.95}.row .seg .lock{left:-16px;color:var(--c-deep)}.row .seg .lock,.row .seg.warn:after{position:absolute;top:50%;transform:translateY(-50%);font-size:11px}.row .seg.warn:after{content:"⚠";right:4px}.row .meta-col{font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary);text-align:right;padding-right:8px}.row .meta-col.crit{color:var(--c-crit);font-weight:600}.row .seg-baseline{position:absolute;height:5px;border-radius:99px;background:var(--c-baseline);top:30px;opacity:.7;z-index:0}.stage-ms{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#042F2E;color:#fff;border-radius:8px;margin-top:4px}.stage-ms.crit{background:var(--c-crit)}.stage-ms .diamond{width:14px;height:14px;background:#fff;transform:rotate(45deg);flex:none}.stage-ms .nm{font-weight:600;font-size:12px;flex:1}.stage-ms .dt{font-family:var(--font-mono);font-size:10px;opacity:.92}.today-marker{position:absolute;top:18px;bottom:8px;width:0;border-left:2px dashed var(--c-today);pointer-events:none;z-index:5}.stage.ed-stage{background:linear-gradient(135deg,#3B82F6,#1D4ED8);color:#fff;border:none}.stage.ed-stage .stage-h{background:transparent;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.stage.ed-stage .stage-h .sub{color:rgba(255,255,255,.85)}.stage.ed-stage .stage-h .num{background:rgba(255,255,255,.18);color:#fff}.stage.ed-stage .stage-h .progress{color:rgba(255,255,255,.85)}.stage.ed-stage .stage-h .progress .pct-bar{background:rgba(255,255,255,.18)}.stage.ed-stage .stage-h .progress .pct-bar>span{background:#fff}.stage.ed-stage .stage-body{padding:18px 24px;background-image:repeating-linear-gradient(45deg,transparent 0 12px,rgba(255,255,255,.05) 12px 24px)}.ed-clock{display:flex;align-items:center;gap:18px;margin-bottom:8px}.ed-clock .big{font-size:34px;font-weight:600;line-height:1;font-feature-settings:"tnum"}.ed-clock .big small{font-size:12px;font-weight:400;opacity:.85;margin-left:6px}.ed-clock .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-top:4px;font-weight:500}.ed-clock .div{height:42px;width:1px;background:rgba(255,255,255,.25)}.ed-meta{font-size:12px;opacity:.92;font-family:var(--font-mono);margin:8px 0}.ed-parallel{padding:10px 14px;background:rgba(255,255,255,.12);border-radius:8px;font-size:12px;display:flex;align-items:center;gap:10px}.ed-parallel .icon{width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:11px;flex:none}.inspector{border-left:1px solid var(--color-border);background:#FBFEFD;display:flex;flex-direction:column;overflow:hidden}.insp-h{padding:14px 18px;border-bottom:1px solid var(--color-border)}.insp-h .sub{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.insp-h h3{margin:4px 0 6px;font-size:14px;font-weight:600}.insp-h .meta{font-size:11px;color:var(--color-text-secondary);font-family:var(--font-mono)}.insp-body{padding:14px 18px;overflow:auto;flex:1}.insp-section{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:14px 0 8px}.insp-section:first-child{margin-top:0}.ai-card{padding:12px;background:var(--ai-surface);border:1px solid var(--ai-dim);border-radius:10px;display:flex;gap:10px;font-size:12px;color:var(--ai-text);align-items:flex-start;line-height:1.45}.ai-card .star{flex:none;width:14px;height:14px;border-radius:99px;background:var(--ai-bright);margin-top:2px}.ai-card b{font-weight:600}.dates-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:12px}.dates-grid .it{padding:7px 9px;background:var(--color-surface);border-radius:6px}.dates-grid .it .k{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);letter-spacing:.04em}.dates-grid .it .v{font-family:var(--font-mono);font-weight:500;color:var(--color-text-primary);margin-top:2px}.dates-grid .it.crit .v{color:var(--c-crit)}.deps-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--color-border);font-size:12px;gap:8px;align-items:center}.deps-row:last-child{border-bottom:none}.deps-row .lk{font-family:var(--font-mono);font-size:10px;color:var(--c-work);white-space:nowrap}.deps-row .lk.crit{color:var(--c-crit)}.stages-mini{display:flex;flex-direction:column;gap:3px}.smini{display:flex;align-items:center;gap:8px;font-size:11px;padding:5px 8px;border-radius:6px;background:var(--color-surface);cursor:pointer;transition:background .15s var(--ease-soft)}.smini:hover{background:#E0F2F0}.smini .dot{width:8px;height:8px;border-radius:99px;flex:none}.smini.cur{background:#FEF2F2;color:var(--c-deep);font-weight:500}.smini .pct{font-family:var(--font-mono);color:var(--color-text-tertiary);margin-left:auto;font-size:10px}.tl-canvas{display:grid;grid-template-columns:260px 1fr;height:100%;min-height:0}.tl-list{border-right:1px solid var(--color-border);overflow:auto;background:#FBFEFD}.tl-list-h{position:sticky;top:0;background:#FBFEFD;z-index:2;display:grid;grid-template-columns:42px 1fr 60px;align-items:center;height:52px;padding:0 14px;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.tl-list-h,.tl-stage-row{border-bottom:1px solid var(--color-border)}.tl-stage-row{height:60px;padding:8px 14px 6px;background:#F0FAF8;box-sizing:border-box;overflow:hidden}.tl-stage-row .top{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden}.tl-stage-row .top span:not(.code):not(.chev){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.tl-stage-row .top .code{font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);font-weight:500}.tl-stage-row .top .chev{margin-left:auto;color:var(--color-text-tertiary)}.tl-stage-row .progress{margin-top:5px;height:3px;background:rgba(13,148,136,.12);border-radius:99px;overflow:hidden}.tl-stage-row .progress>span{display:block;height:100%;background:var(--c-work);border-radius:99px}.tl-stage-row.crit .progress>span{background:var(--c-crit)}.tl-stage-row .meta{display:flex;justify-content:space-between;margin-top:3px;font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary)}.tl-task-row{position:relative;display:grid;grid-template-columns:42px 1fr 60px;align-items:center;height:32px;padding:0 14px;border-bottom:1px solid rgba(19,78,74,.06);cursor:pointer;font-size:12px;transition:background .15s var(--ease-soft)}.tl-task-row:hover{background:#F0FAF8}.tl-task-row.cur{background:rgba(244,63,94,.06)}.tl-task-row .code{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary)}.tl-task-row .name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-task-row .name .ti{width:14px;height:14px;flex:none;border-radius:3px;display:grid;place-items:center;font-size:9px;color:#fff;font-weight:600}.tl-task-row .name .ti.work{background:var(--c-work)}.tl-task-row .name .ti.supply{background:var(--c-supply)}.tl-task-row .name .ti.transport{background:var(--c-transport)}.tl-task-row .name .ti.equip{background:var(--c-equip)}.tl-task-row .name .ti.overhead{background:var(--c-overhead)}.tl-task-row .name .ti.milestone{background:transparent;color:var(--c-milestone)}.tl-task-row .name .nm-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-task-row .dur{font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary);text-align:right}.tl-task-row.done .name .nm-text{color:var(--color-text-tertiary)}.tl-grid{display:grid;grid-template-rows:52px 1fr;min-width:0;background:linear-gradient(180deg,#FAFEFD,#F4FAF9);overflow:auto;position:relative}.tl-grid-h{position:sticky;top:0;display:flex;height:52px;border-bottom:1px solid var(--color-border);background:#FBFEFD;z-index:2}.tl-grid-h .col,.tl-grid-h .month{border-right:1px solid var(--color-border);padding:7px 10px;font-size:11px;font-weight:600;color:var(--color-text-primary);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;overflow:hidden;box-sizing:border-box;min-width:0;line-height:1.25}.tl-grid-h .col small,.tl-grid-h .col>span,.tl-grid-h .month small,.tl-grid-h .month>span{overflow:hidden;white-space:nowrap;max-width:100%;text-overflow:ellipsis;display:block;line-height:1.25}.tl-grid-h .col small,.tl-grid-h .month small{font-family:var(--font-mono);font-size:9.5px;font-weight:400;color:var(--color-text-tertiary)}.tl-grid-h[data-zoom=day] .col{padding:4px 2px;align-items:center;text-align:center;font-size:10px}.tl-grid-h[data-zoom=day] .col small{font-size:8.5px}.tl-grid-h[data-zoom=month] .col,.tl-grid-h[data-zoom=quarter] .col{flex-direction:row;align-items:baseline;justify-content:center;gap:6px;padding:8px 12px;text-align:center}.tl-grid-h[data-zoom=month] .col>span,.tl-grid-h[data-zoom=quarter] .col>span{flex:0 0 auto}.tl-grid-h[data-zoom=month] .col small,.tl-grid-h[data-zoom=quarter] .col small{flex:0 0 auto;font-size:10px}.tl-grid-h[data-zoom=month] .col small:before,.tl-grid-h[data-zoom=quarter] .col small:before{content:"· "}.tl-body{position:relative;min-height:100%}.tl-body .grid{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(19,78,74,.05) 1px,transparent 0);background-size:calc(var(--col-w)*5) 100%;pointer-events:none}.tl-stage-band{display:flex;align-items:center;height:60px;border-bottom:1px solid var(--color-border);background:rgba(13,148,136,.04);position:relative}.tl-stage-bracket{position:absolute;height:8px;background:#042F2E;border-radius:2px;top:50%;transform:translateY(-50%)}.tl-stage-bracket:after,.tl-stage-bracket:before{content:"";position:absolute;top:0;width:0;height:0;border-style:solid}.tl-stage-bracket:before{left:0;border-width:8px 0 0 6px;border-color:#042F2E transparent transparent}.tl-stage-bracket:after{right:0;border-width:8px 6px 0 0;border-color:#042F2E transparent transparent}.tl-row{height:32px;border-bottom:1px solid rgba(19,78,74,.05);position:relative;z-index:2}.tl-bar,.tl-row{display:flex;align-items:center}.tl-bar{position:absolute;height:18px;border-radius:5px;padding:0 6px;font-size:10px;color:#fff;font-weight:500;font-feature-settings:"tnum";box-shadow:0 1px 2px rgba(19,78,74,.06);overflow:hidden;white-space:nowrap;cursor:pointer}.tl-bar.work{background:var(--c-work)}.tl-bar.crit{background:var(--c-crit)}.tl-bar.deep{background:var(--c-deep)}.tl-bar.near{background:var(--c-near);color:#451a03}.tl-bar.supply{background:var(--c-supply)}.tl-bar.transport{background:var(--c-transport)}.tl-bar.equip{background:var(--c-equip)}.tl-bar.milestone,.tl-bar.overhead{background:var(--c-overhead)}.tl-bar.milestone{border-radius:99px}.tl-bar.risk-near{outline:1.5px solid var(--c-near);outline-offset:1px}.tl-bar.risk-crit{outline:2px solid var(--c-crit);outline-offset:1px;box-shadow:0 0 6px rgba(244,63,94,.32)}.tl-bar.risk-deep{outline:2.5px dashed var(--c-deep);outline-offset:1px;box-shadow:0 0 8px rgba(159,18,57,.4)}.tl-bar.ed{background-image:repeating-linear-gradient(45deg,transparent 0 6px,rgba(255,255,255,.22) 6px 12px)}.tl-bar.float-normal{background:var(--c-normal,#0EA5E9);color:#fff}.tl-bar.float-near-critical{background:var(--c-near,#F59E0B);color:#451a03}.tl-bar.float-critical{background:var(--c-crit,#F43F5E);color:#fff}.tl-bar.float-negative{background:var(--c-deep,#9F1239);color:#fff}.tl-bar.task-done{opacity:.55}.tl-bar.task-delayed{outline:1.5px solid #F59E0B;outline-offset:0;box-shadow:0 0 0 3px rgba(245,158,11,.18)}.tl-bar .bar-icon{flex:none;opacity:.9}.tl-bar .bar-icon.warn{color:#FEF3C7}.tl-bar .bar-orv-negative{display:inline-flex;align-items:center;padding:1px 5px;border-radius:3px;background:rgba(255,255,255,.22);color:inherit;font-size:8.5px;font-weight:700;font-family:var(--font-mono);margin-left:4px;font-feature-settings:"tnum"}.tl-bar-overdue-icon{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:99px;background:#FEF3C7;color:#92400E;border:1.5px solid #f59e0b;z-index:3;cursor:help;pointer-events:auto;box-sizing:border-box}.tl-bar-overdue-icon:hover{background:#FDE68A}.tl-bar-overflow-label{position:absolute;top:50%;transform:translateY(-50%);font-size:9.5px;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;font-weight:500}.tl-bar-overflow-label.float-normal{color:var(--c-normal,#0EA5E9);font-weight:600}.tl-bar-overflow-label.float-near-critical{color:#92400E;font-weight:600}.tl-bar-overflow-label.float-critical{color:var(--c-crit)}.tl-bar-overflow-label.float-negative{color:var(--c-deep,#9F1239);font-weight:700}.tl-today-pill{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--c-crit,#F43F5E);color:#fff;font-size:10px;font-weight:600;padding:3px 10px;border-radius:99px;font-family:var(--font-sans);white-space:nowrap;box-shadow:0 2px 4px rgba(244,63,94,.25);z-index:7;letter-spacing:.02em}.tl-today-pill:before{content:"●";margin-right:5px;font-size:8px}.tl-bar-focus-target{outline:2px solid var(--ai-bright,#F59E0B);outline-offset:2px;box-shadow:0 0 0 4px rgba(245,158,11,.18)}.tl-bar .badge-ed{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.28);color:inherit;font-size:8.5px;font-weight:600;padding:1px 4px;border-radius:3px;margin-left:4px;font-style:italic;letter-spacing:.04em;line-height:1;flex:none;font-feature-settings:"tnum"}.tl-section-header{border-bottom:2px solid var(--c-crit,#f43f5e);background:#FBFEFD;padding:8px 14px 6px;box-sizing:border-box}.tl-section-header[data-critical=false]{border-bottom-color:var(--teal-600,#0D9488)}.tl-section-header .top{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--slate-900,#0F172A);white-space:nowrap;overflow:hidden}.tl-section-header .top .code{font-family:var(--font-mono);font-size:11px;color:var(--slate-500);font-weight:600;flex:none;min-width:18px}.tl-section-header .top .nm-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--slate-900)}.tl-section-header .top .kp-marker{flex:none;padding:1px 6px;border-radius:99px;background:var(--c-crit,#F43F5E);color:#fff;font-size:9px;font-weight:700;letter-spacing:.04em;font-family:var(--font-sans)}.tl-section-header .meta{display:flex;justify-content:space-between;margin-top:3px;font-family:var(--font-mono);font-size:10px;color:var(--slate-500);gap:8px}.tl-section-header .meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tl-section-header .progress{margin-top:5px;height:3px;background:rgba(13,148,136,.12);border-radius:99px;overflow:hidden}.tl-section-header .progress>span{display:block;height:100%;background:var(--teal-600,#0D9488);border-radius:99px;transition:width .3s var(--ease-soft)}.tl-section-header[data-critical=true] .progress>span{background:var(--c-crit,#F43F5E)}.tl-section-band[data-critical=true]{background:rgba(244,63,94,.04)}.tl-section-band[data-critical=false]{background:rgba(13,148,136,.04)}.tl-task-row-focus-target{background:rgba(245,158,11,.08);box-shadow:inset 3px 0 0 var(--ai-bright,#F59E0B)}.tl-grid-h-2row{flex-direction:column;height:56px}.tl-grid-h-2row .tl-grid-h-row{display:flex;width:100%}.tl-grid-h .tl-grid-h-row-single{display:flex;width:100%;height:100%}.tl-grid-h-2row .tl-grid-h-row-months{height:28px;border-bottom:1px solid var(--color-border);background:#FBFEFD}.tl-grid-h-2row .tl-grid-h-row-months .month-group{border-right:1px solid var(--color-border);padding:3px 8px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;overflow:hidden;box-sizing:border-box;min-width:0;line-height:1.15}.tl-grid-h-2row .tl-grid-h-row-months .month-group>span{font-size:11px;font-weight:600;color:var(--slate-800,#1E293B);text-transform:uppercase;letter-spacing:.04em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;line-height:1.15}.tl-grid-h-2row .tl-grid-h-row-months .month-group small{font-size:9.5px;font-weight:500;color:var(--slate-500,#64748B);font-family:var(--font-mono);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:block;line-height:1.15}.tl-grid-h-2row .tl-grid-h-row-cols{height:28px;background:#FFFFFF}.tl-grid-h-2row .tl-grid-h-row-cols .col{height:28px;padding:4px 8px;font-size:10.5px;font-weight:500;color:var(--slate-600,#475569);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;border-right:1px solid var(--color-border);overflow:hidden;line-height:1.15}.tl-grid-h-2row .tl-grid-h-row-cols .col>span{font-size:10.5px;font-weight:600;color:var(--slate-700,#334155);font-family:var(--font-mono);overflow:hidden;white-space:nowrap}.tl-grid-h-2row .tl-grid-h-row-cols .col small{font-size:9px;font-weight:400;color:var(--slate-400,#94A3B8);font-family:var(--font-mono);overflow:hidden;white-space:nowrap}.tl-grid-h-2row[data-zoom=day] .tl-grid-h-row-cols .col{padding:3px 2px;font-size:9.5px}.tl-grid-h[data-zoom=month] .col{min-width:96px}.tl-grid-h[data-zoom=quarter] .col{min-width:140px}.legend-swatch.float-normal{background:var(--c-normal,#0EA5E9)}.legend-swatch.float-near-critical{background:var(--c-near,#F59E0B)}.legend-swatch.float-critical{background:var(--c-crit,#F43F5E)}.legend-swatch.float-negative{background:var(--c-deep,#9F1239)}.legend-swatch.task-done{background:var(--c-work,#0D9488);opacity:.55}.legend-swatch.task-delayed{background:var(--c-work,#0D9488);outline:1.5px solid #F59E0B;box-sizing:border-box}.legend-swatch.task-in-progress{background:linear-gradient(to right,var(--c-work,#0D9488) 50%,rgba(13,148,136,.3) 50%)}.legend-icon-supply{display:inline-flex;align-items:center;justify-content:center;width:22px;height:12px;border-radius:4px;background:var(--c-work,#0D9488);color:#fff;font-size:8px;flex:none}.tl-bar.tl-bar-dimmed{opacity:.28;filter:grayscale(.4)}.tl-bar.tl-bar-dimmed:hover{opacity:.65}.journal-filter-group{transition:background .15s var(--ease-soft)}.journal-filter-group>summary{outline:none}.journal-filter-group>summary::-webkit-details-marker{display:none}.journal-filter-group>summary::marker{content:""}.journal-filter-group[open]>summary>span[aria-hidden]:first-child{display:inline-block;transform:rotate(90deg);transition:transform .15s var(--ease-soft)}.journal-filter-group:not([open])>summary>span[aria-hidden]:first-child{display:inline-block;transition:transform .15s var(--ease-soft)}.journal-filter-group>summary:hover{background:rgba(13,148,136,.04)}.tl-bar .pct{position:absolute;left:0;top:0;height:100%;background:rgba(0,0,0,.28);border-radius:5px 0 0 5px;pointer-events:none;box-shadow:inset -1px 0 0 rgba(255,255,255,.35)}.tl-bar .lock{left:-12px;color:var(--c-deep)}.tl-bar .lock,.tl-bar.warn:after{position:absolute;top:50%;transform:translateY(-50%);font-size:10px}.tl-bar.warn:after{content:"⚠";right:3px}.tl-bar-baseline{position:absolute;height:5px;border-radius:99px;background:var(--c-baseline);opacity:.7;z-index:0;top:24px}.tl-ms{position:absolute;width:12px;height:12px;background:var(--c-milestone);transform:rotate(45deg);top:50%;margin-top:-6px}.tl-ms.crit{background:var(--c-crit)}.tl-today{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed var(--c-today);z-index:6;pointer-events:none}.tl-today .badge{position:absolute;top:-6px;left:-22px;background:var(--c-today);color:#fff;font-size:9px;font-weight:600;padding:1px 6px;border-radius:99px;font-family:var(--font-mono);white-space:nowrap}.tl-link{position:absolute;pointer-events:none;z-index:1}.tl-link path{fill:none;stroke:#64748B;stroke-width:1.6;opacity:.85}.tl-link.crit path{stroke:var(--c-crit);stroke-width:2.2;opacity:.95}.tl-link.nn path{stroke-dasharray:3 3}.tl-link.no path{stroke-dasharray:2 3}.tl-row.tl-dim{opacity:.22;transition:opacity .25s var(--ease-soft)}.tl-row.tl-focus .tl-bar{outline:2px solid var(--ai-bright);outline-offset:2px;box-shadow:0 0 0 4px rgba(245,158,11,.18),0 1px 4px rgba(19,78,74,.15)}.tl-task-row.tl-dim{opacity:.35;transition:opacity .25s var(--ease-soft)}.tl-task-row.tl-focus{background:rgba(245,158,11,.08);font-weight:600}.tl-task-row.tl-focus:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ai-bright)}.tl-row.tl-kp .tl-bar{outline:1.5px solid var(--c-crit);outline-offset:1px;box-shadow:0 0 0 3px rgba(244,63,94,.14)}.tl-row.tl-kp .tl-ms{outline:2px solid var(--c-crit);outline-offset:2px}.tl-task-row.tl-kp{background:rgba(244,63,94,.05);font-weight:600}.tl-task-row.tl-kp:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c-crit)}.tl-focus-hint{display:flex;align-items:flex-start;gap:10px;margin:8px 14px 0;padding:10px 12px;background:var(--ai-surface);border:1px solid var(--ai-dim);border-left:3px solid var(--ai-bright);border-radius:10px;font-size:12px;color:var(--ai-text);line-height:1.4}.tl-focus-hint .hint-ico{flex:none;width:22px;height:22px;border-radius:99px;background:var(--ai-bright);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}.tl-focus-hint .hint-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tl-focus-hint .hint-text b{font-weight:600;font-size:12.5px;color:var(--color-text-primary)}.tl-focus-hint .hint-text small{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-sans);font-weight:400}.tl-focus-hint .hint-close{flex:none;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-tertiary);font-size:18px;line-height:1;cursor:pointer;border-radius:6px;transition:all .15s var(--ease-soft)}.tl-focus-hint .hint-close:hover{background:rgba(0,0,0,.06);color:var(--color-text-primary)}.tl-focus-hint.kp-hint{background:#FEF2F2;border-color:#FECACA;border-left-color:var(--c-crit)}.tl-focus-hint.kp-hint .hint-ico{background:var(--c-crit)}.tl-focus-hint.kp-hint .hint-text b{color:var(--c-crit)}.tl-lag-pill{background:var(--ai-surface);color:var(--ai-text);font-family:var(--font-mono);font-size:9px;padding:2px 7px 2px 5px;border-radius:99px;border:1px solid var(--ai-bright);z-index:4;box-shadow:0 1px 2px rgba(0,0,0,.06)}.tl-lag-pill .lag-ico{font-size:10px;color:var(--ai-bright);line-height:1}.tl-lag-pill:hover{background:#FEF3C7;border-color:#D97706}.tl-insp{border-left:1px solid var(--color-border);background:#FBFEFD;display:flex;flex-direction:column;overflow:hidden}.layer-toggles{display:flex}.layer-tog,.layer-toggles{gap:6px;align-items:center}.layer-tog{display:inline-flex;padding:5px 9px;border-radius:8px;font-size:11px;border:1px solid var(--color-border);background:var(--color-paper);cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-mono);font-weight:500}.layer-tog.on{background:#042F2E;color:#5EEAD4;border-color:#042F2E}.layer-tog .sw{width:6px;height:6px;border-radius:99px;background:currentColor;opacity:.8}.tl-links-seg{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:2px;gap:1px;align-items:center}.tl-links-seg .lbl{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);padding:0 6px 0 8px;font-weight:600}.tl-links-seg button{padding:4px 10px;border:none;background:transparent;font-size:11px;border-radius:5px;cursor:pointer;color:var(--color-text-secondary);font-family:inherit;font-weight:500;transition:all .15s var(--ease-soft)}.tl-links-seg button:hover{color:var(--color-text-primary)}.tl-links-seg button.on{background:var(--color-ink);color:#fff}.tl-zoom-seg{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:2px;gap:1px;align-items:center;flex:none}.tl-zoom-seg button{padding:4px 9px;border:none;background:transparent;font-size:11px;border-radius:5px;cursor:pointer;color:var(--color-text-secondary);font-family:inherit;font-weight:500;transition:all .15s var(--ease-soft)}.tl-zoom-seg button:hover{color:var(--color-text-primary)}.tl-zoom-seg button.on{background:var(--teal-700);color:#fff}.tl-body.links-off .tl-lag-pill,.tl-body.links-off svg.tl-link{display:none}.flow-canvas{padding:18px 16px;overflow:hidden;height:100%}.flow-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;height:100%;min-height:600px}.flow-col{display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--color-border);overflow:hidden;min-height:0}.flow-col,.flow-col-h{background:var(--color-paper)}.flow-col-h{padding:12px 14px 10px;border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:2}.flow-col-h .row1{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.flow-col-h .row1 .dot{width:8px;height:8px;border-radius:99px;flex:none}.flow-col-h .row1 .n{margin-left:auto;font-size:11px;font-weight:500}.flow-col-h .row1 .n,.flow-col-h .row2{font-family:var(--font-mono);color:var(--color-text-tertiary)}.flow-col-h .row2{font-size:10px;margin-top:3px}.flow-col-h .auto-tag{display:inline-flex;align-items:center;gap:4px;font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:99px;background:var(--ai-surface);color:var(--ai-text);font-weight:600;margin-top:6px}.flow-col-h .auto-tag:before{content:"";width:6px;height:6px;border-radius:99px;background:var(--ai-bright)}.flow-col.done .flow-col-h{background:#F8FAFC}.flow-col.done .flow-col-h .dot{background:#94A3B8}.flow-col.done .flow-col-h .row1{color:#475569}.flow-col.now .flow-col-h{background:#FEF2F2}.flow-col.now .flow-col-h .dot{background:var(--c-crit)}.flow-col.now .flow-col-h .row1{color:var(--c-deep)}.flow-col.today .flow-col-h{background:#FFFBEB}.flow-col.today .flow-col-h .dot{background:var(--c-near)}.flow-col.today .flow-col-h .row1{color:#78350F}.flow-col.week .flow-col-h{background:#F0FDFA}.flow-col.week .flow-col-h .dot{background:var(--c-work)}.flow-col.week .flow-col-h .row1{color:#115E59}.flow-col.next .flow-col-h{background:#EFF6FF}.flow-col.next .flow-col-h .dot{background:var(--c-supply)}.flow-col.next .flow-col-h .row1{color:#1D4ED8}.flow-col.backlog .flow-col-h{background:#F8FAFC}.flow-col.backlog .flow-col-h .dot{background:#CBD5E1}.flow-col.backlog .flow-col-h .row1{color:#64748B}.flow-col-body{padding:10px;display:flex;flex-direction:column;gap:8px;overflow:auto;flex:1;min-height:0}.flow-card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;cursor:grab;position:relative;font-size:12px;transition:box-shadow .15s var(--ease-soft)}.flow-card:hover{box-shadow:0 4px 12px rgba(19,78,74,.08)}.flow-card.crit{border-left:3px solid var(--c-crit)}.flow-card.near{border-left:3px solid var(--c-near)}.flow-card.work{border-left:3px solid var(--c-work)}.flow-card.done{opacity:.65;background:#FBFEFD}.flow-card.fn{box-shadow:0 0 0 1px var(--c-crit) inset,0 1px 3px rgba(244,63,94,.18)}.flow-card .top{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;flex-wrap:wrap}.flow-card .top .num{color:var(--color-text-secondary);font-weight:600}.flow-card .top .badge{padding:1px 6px;border-radius:99px;font-weight:600;font-size:9px}.flow-card .top .badge.kp{background:#FEF2F2;color:var(--c-crit)}.flow-card .top .badge.fn{background:var(--c-crit);color:#fff}.flow-card .top .badge.orv{background:#F0FDFA;color:#115E59}.flow-card .top .badge.orv-1{background:#FFFBEB;color:#78350F}.flow-card .top .badge.orv-0{background:#FEF2F2;color:var(--c-crit)}.flow-card .nm{font-size:13px;font-weight:500;color:var(--color-text-primary);line-height:1.3}.flow-card .room{font-size:11px;color:var(--color-text-secondary)}.flow-card .meta-row{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.flow-card .meta-row .crew{padding:1px 6px;border-radius:99px;background:var(--color-surface);color:var(--color-text-secondary)}.flow-card .meta-row .dur{margin-left:auto}.flow-card .pct-bar{height:3px;border-radius:99px;background:rgba(19,78,74,.08);overflow:hidden}.flow-card .pct-bar>span{display:block;height:100%;background:var(--c-work)}.flow-card.crit .pct-bar>span{background:var(--c-crit)}.flow-card.near .pct-bar>span{background:var(--c-near)}.flow-card.milestone{background:var(--c-milestone);color:#fff;border:none;align-items:center;flex-direction:row;gap:10px;padding:12px}.flow-card.milestone.crit{background:var(--c-crit)}.flow-card.milestone .diamond{width:14px;height:14px;background:#fff;transform:rotate(45deg);flex:none}.flow-card.milestone .nm{color:#fff;flex:1}.flow-card.milestone .dt{font-family:var(--font-mono);font-size:10px;opacity:.9}.flow-card.supply{background:#EFF6FF;border-color:#BFDBFE}.flow-card.supply .nm{color:#1D4ED8}.flow-card.ed-break{background:linear-gradient(135deg,#3B82F6,#1D4ED8);color:#fff;border:none;background-image:linear-gradient(135deg,#3B82F6,#1D4ED8),repeating-linear-gradient(45deg,transparent 0 8px,rgba(255,255,255,.08) 8px 16px);padding:14px}.flow-card.ed-break .nm{color:#fff;font-size:14px;font-weight:600}.flow-card.ed-break .clock{font-size:24px;font-weight:600;line-height:1;margin-top:4px}.flow-card.ed-break .clock small{font-size:11px;font-weight:400;opacity:.85;margin-left:4px}.flow-card.ed-break .info{font-size:11px;opacity:.9;margin-top:4px;font-family:var(--font-mono)}.flow-card .auto-bar{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--ai-surface);border-radius:6px;font-size:10px;color:var(--ai-text);line-height:1.4}.flow-card .auto-bar.warn{background:#FEF2F2;color:var(--c-crit)}.flow-card .auto-bar:before{content:"⚡";font-size:11px}.group-h{font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 2px;padding:0 4px}.group-h.cur{color:var(--c-crit);font-weight:600}.task-card-frame{display:grid;grid-template-columns:1fr 440px;height:100%}.task-card-shadow{background:rgba(4,47,46,.32);overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;padding:30px}.task-card-shadow .placeholder{padding:24px 32px;background:rgba(255,255,255,.08);border-radius:12px;border:1px dashed rgba(255,255,255,.25);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;line-height:1.7;max-width:340px;text-align:center}.task-card-shadow .placeholder b{color:#fff;font-family:var(--font-sans);font-size:14px;display:block;margin-bottom:8px;font-weight:600}.task-card{background:var(--color-paper);height:100%;overflow:auto;border-left:1px solid var(--color-border)}.task-card,.task-card .h{display:flex;flex-direction:column}.task-card .h{padding:18px 24px;border-bottom:1px solid var(--color-border);gap:6px}.task-card .h .breadcrumb{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.task-card .h .title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.task-card .h h2{font-size:20px;margin:0;font-weight:600;letter-spacing:-.01em}.task-card .h .close{font-size:22px;color:var(--color-text-tertiary);cursor:pointer;line-height:1}.task-card .h .badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.task-card .h .badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:99px}.task-card .h .badge.kp{background:#FEF2F2;color:var(--c-crit)}.task-card .h .badge.work{background:#F0FDFA;color:var(--teal-700)}.task-card .h .badge.fn{background:var(--c-crit);color:#fff}.task-card .h .badge.overdue{background:#FEF3C7;color:#92400E;font-weight:600}.task-card .h .badge.cur{background:var(--c-crit);color:#fff;display:inline-flex;align-items:center;gap:4px}.task-card .h .badge.cur:before{content:"●";font-size:7px}.task-card .b{padding:18px 24px;display:flex;flex-direction:column;gap:18px;flex:1}.task-card .sec h4{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 8px}.task-card .desc-text{font-size:13px;color:var(--color-text-primary);line-height:1.6;margin:0}.task-card .progress-block{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--color-surface);border-radius:10px}.task-card .progress-block .num{font-size:24px;font-weight:600;color:var(--slate-700,#475569);font-feature-settings:"tnum";line-height:1}.task-card .progress-block .info{flex:1;font-size:11px;color:var(--color-text-secondary)}.task-card .progress-block .info b{display:block;color:var(--color-text-primary);font-size:13px;font-weight:500;margin-bottom:2px}.task-card .progress-block .pbar{flex:none;width:130px;height:6px;border-radius:99px;background:rgba(19,78,74,.08);overflow:hidden}.task-card .progress-block .pbar>span{display:block;height:100%;background:var(--slate-400,#94A3B8)}.task-card .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.task-card .field-grid .it{padding:10px 12px;background:var(--color-surface);border-radius:8px}.task-card .field-grid .it .k{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);letter-spacing:.04em}.task-card .field-grid .it .v{font-weight:500;color:var(--color-text-primary);margin-top:2px;font-family:var(--font-mono)}.task-card .field-grid .it.full{grid-column:span 2}.task-card .field-grid .it.crit .v{color:var(--c-crit)}.task-card .deps-list{display:flex;flex-direction:column;gap:4px}.task-card .dep-it{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:var(--color-surface);font-size:12px}.task-card .dep-it .dot{width:6px;height:6px;border-radius:99px;background:var(--c-work);flex:none}.task-card .dep-it.crit .dot{background:var(--c-crit)}.task-card .dep-it .nm{font-weight:500}.task-card .dep-it .nm small{display:block;font-weight:400;color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:10px}.task-card .dep-it .lk{font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary)}.task-card .actions{padding:14px 24px;border-top:1px solid var(--color-border);display:flex;gap:8px;background:#FBFEFD}.dd-canvas{display:grid;grid-template-columns:60px 1fr 300px;height:100%}.dd-mini-rail{background:#F4FAF9;border-right:1px solid var(--color-border);padding:14px 6px;display:flex;flex-direction:column;gap:8px;overflow:auto}.dd-mini-rail .item{padding:8px 4px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:6px;font-size:10px;text-align:center;color:var(--color-text-secondary);font-family:var(--font-mono);cursor:pointer}.dd-mini-rail .item.cur{background:#FEF2F2;color:var(--c-crit);border-color:#FECACA;font-weight:600}.dd-mini-rail .item.dimmed{opacity:.45}.dd-content{padding:24px 28px;background:#F4FAF9;overflow:auto}.dd-section{margin-bottom:18px}.dd-section h4{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 10px}.dd-task-main{background:var(--color-paper);border:2px solid var(--c-crit);border-radius:14px;padding:18px 20px;box-shadow:0 8px 24px rgba(244,63,94,.12);margin-bottom:18px}.dd-task-main .top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.dd-task-main .top .meta-l{display:flex;flex-direction:column;gap:3px}.dd-task-main .top .meta-l .code{font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary)}.dd-task-main .top .meta-l h3{font-size:18px;margin:0;font-weight:600;letter-spacing:-.005em}.dd-task-main .top .meta-l .sub{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary)}.dd-task-main .top .badges{display:flex;gap:5px;flex-wrap:wrap}.dd-task-main .lane-big{height:32px;background:rgba(244,63,94,.08);border-radius:8px;position:relative;overflow:hidden;margin-bottom:12px}.dd-task-main .lane-big .seg{position:absolute;top:0;bottom:0;background:var(--c-crit);border-radius:8px;display:flex;align-items:center;padding:0 14px;color:#fff;font-weight:500;font-size:13px}.dd-task-main .lane-big .seg .pct{position:absolute;left:0;top:0;bottom:0;background:rgba(0,0,0,.18);border-radius:8px 0 0 8px}.dd-task-main .lane-big .seg .lbl{position:relative;z-index:1}.dd-subtasks{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:10px;border-top:1px dashed var(--color-border)}.dd-subtask{display:grid;grid-template-columns:32px 1fr 80px;align-items:center;gap:10px;padding:7px 10px;background:var(--color-surface);border-radius:6px;font-size:11px;cursor:pointer}.dd-subtask:hover{background:#E0F2F0}.dd-subtask .code{font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary)}.dd-subtask .nm{font-weight:500}.dd-subtask .nm small{display:block;font-weight:400}.dd-subtask .dates,.dd-subtask .nm small{color:var(--color-text-secondary);font-size:10px}.dd-subtask .dates{font-family:var(--font-mono);text-align:right}.dd-related{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.dd-related-col{background:var(--color-paper);border:1px solid var(--color-border);border-radius:12px;padding:14px}.dd-related-col h5{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 10px;display:flex;align-items:center;gap:6px}.dd-related-col h5:before{content:"";width:6px;height:6px;border-radius:99px;background:var(--c-work);flex:none}.dd-related-col.preds h5:before{background:var(--c-work)}.dd-related-col.succs h5:before{background:var(--c-supply)}.dd-rel-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;background:var(--color-surface);border-radius:6px;margin-bottom:6px;font-size:12px;cursor:pointer}.dd-rel-item:last-child{margin-bottom:0}.dd-rel-item .ti{width:14px;height:14px;border-radius:3px;display:grid;place-items:center;color:#fff;font-size:9px;font-weight:600;flex:none}.dd-rel-item .nm{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-rel-item .nm small{display:block;font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);font-weight:400}.dd-rel-item .lk{font-family:var(--font-mono);font-size:10px;color:var(--c-work);white-space:nowrap}.dd-rel-item .lk.crit{color:var(--c-crit)}.m-top{padding:8px 16px 10px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:10px;background:#FBFEFD}.m-top .crumb{font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.m-top h2{font-size:16px;margin:2px 0 0;font-weight:600}.m-top .icon-btn{width:34px;height:34px;border-radius:9px;background:var(--color-surface);display:grid;place-items:center;border:1px solid var(--color-border);font-size:15px;color:var(--color-text-primary)}.m-modes{padding:8px 14px 0;display:flex;justify-content:center;background:#FBFEFD}.m-modes .seg-modes{width:100%}.m-modes .seg-modes button{flex:1;font-size:11px;padding:6px 8px}.m-ai-banner{display:flex;align-items:flex-start;gap:9px;margin:10px 14px 0;padding:9px 11px 9px 9px;background:var(--ai-surface);border-left-color:var(--ai-dim);border-left-width:1px;border:1px solid var(--ai-dim);border-left:3px solid var(--ai-bright);border-radius:9px;font-size:11.5px;color:var(--ai-text);line-height:1.4}.m-ai-icon{flex:none;width:20px;height:20px;border-radius:99px;background:var(--ai-bright);color:#fff;display:grid;place-items:center;margin-top:1px}.m-ai-icon svg{width:11px;height:11px;display:block}.m-ai-text{flex:1;min-width:0}.m-ai-text b{font-weight:700}.m-stages{flex:1;overflow:auto;padding:14px;background:#F4FAF9}.m-stage{margin-bottom:10px;border-radius:12px;background:var(--color-paper);border:1px solid var(--color-border);overflow:hidden;box-shadow:0 1px 2px rgba(19,78,74,.04)}.m-stage.crit{border-left:4px solid var(--c-crit)}.m-stage.dimmed{opacity:.55}.m-stage.expanded{box-shadow:0 4px 12px rgba(19,78,74,.1)}.m-stage-h{padding:12px 14px;display:flex;align-items:center;gap:10px}.m-stage-h .n{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:600;font-size:12px;flex:none;font-family:var(--font-mono)}.m-stage-h .body{flex:1;min-width:0}.m-stage-h .body .nm{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}.m-stage-h .body .nm small{font-size:9px;font-weight:600;text-transform:uppercase;padding:1px 5px;border-radius:99px;background:#FEF2F2;color:var(--c-crit);letter-spacing:.04em}.m-stage-h .body .sub{color:var(--color-text-secondary);margin-top:2px}.m-stage-h .body .sub,.m-stage-h .pct{font-size:10px;font-family:var(--font-mono)}.m-stage-h .pct{color:var(--color-text-tertiary)}.m-stage-bar{height:3px;background:rgba(19,78,74,.08);position:relative}.m-stage-bar>span{display:block;height:100%;background:var(--c-work)}.m-stage.crit .m-stage-bar>span{background:var(--c-crit)}.m-stage-body{padding:0 14px 12px;display:flex;flex-direction:column;gap:6px}.m-stask{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-surface);border-radius:8px;font-size:12px;cursor:pointer}.m-stask .stripe{width:3px;height:18px;border-radius:99px;flex:none;background:var(--c-work)}.m-stask.crit .stripe{background:var(--c-crit)}.m-stask.near .stripe{background:var(--c-near)}.m-stask.done{opacity:.55}.m-stask .nm{flex:1;font-weight:500}.m-stask .dates{font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary)}.m-stask.cur{background:#FEF2F2;color:var(--c-deep)}.m-ed-stage{background:linear-gradient(135deg,#3B82F6,#1D4ED8);color:#fff;padding:14px;border-radius:12px;margin-bottom:10px;background-image:linear-gradient(135deg,#3B82F6,#1D4ED8),repeating-linear-gradient(45deg,transparent 0 8px,rgba(255,255,255,.05) 8px 16px)}.m-ed-stage .head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.m-ed-stage .head .n{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:600;font-size:12px;font-family:var(--font-mono)}.m-ed-stage .head .nm{font-size:13px;font-weight:600;flex:1}.m-ed-stage .clock{font-size:32px;font-weight:600;line-height:1}.m-ed-stage .clock small{font-size:13px;font-weight:400;opacity:.85;margin-left:4px}.m-ed-stage .meta{font-size:11px;opacity:.9;font-family:var(--font-mono);margin-top:6px}.m-stage-ms{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#042F2E;color:#fff;border-radius:12px;margin-bottom:10px}.m-stage-ms.crit{background:var(--c-crit)}.m-stage-ms .diamond{width:14px;height:14px;background:#fff;transform:rotate(45deg);flex:none}.m-stage-ms .nm{flex:1;font-size:13px;font-weight:600}.m-stage-ms .dt{font-family:var(--font-mono);font-size:10px;opacity:.95}.m-bottom{height:74px;border-top:1px solid var(--color-border);display:flex;background:#FBFEFD}.m-bottom .nav{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding-top:6px;font-size:10px;color:var(--color-text-tertiary)}.m-bottom .nav.on{color:var(--c-work)}.m-bottom .nav .ico{font-size:18px}.m-stage-detail-h{padding:12px 16px 14px;background:linear-gradient(135deg,var(--c-crit),var(--c-deep));color:#fff}.m-stage-detail-h .crumb{font-size:11px;opacity:.85;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.m-stage-detail-h h2{font-size:18px;margin:4px 0 6px;font-weight:600}.m-stage-detail-h .stats{display:flex;gap:10px;font-family:var(--font-mono);font-size:11px;opacity:.95;flex-wrap:wrap}.m-room-tabs{padding:8px 14px;border-bottom:1px solid var(--color-border);display:flex;gap:6px;overflow-x:auto;background:#FBFEFD}.m-room-tab{flex:none;padding:6px 12px;border-radius:99px;background:var(--color-surface);font-size:11px;color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer}.m-room-tab.on{background:#042F2E;color:#fff;border-color:#042F2E}.m-detail-body{flex:1;overflow:auto;padding:12px 14px;background:#F4FAF9}.m-tcard{background:var(--color-paper);border:1px solid var(--color-border);border-radius:12px;padding:11px 12px;margin-bottom:8px;cursor:pointer}.m-tcard.crit{border-left:4px solid var(--c-crit)}.m-tcard.work{border-left:4px solid var(--c-work)}.m-tcard.cur{background:#FEF2F2;border-color:#FECACA}.m-tcard .top{display:flex;justify-content:space-between;align-items:center;font-size:11px;flex-wrap:wrap;gap:4px}.m-tcard .top .room{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);letter-spacing:.04em;text-transform:uppercase}.m-tcard .top .badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:99px;background:#FEF2F2;color:var(--c-crit);text-transform:uppercase;letter-spacing:.06em}.m-tcard .top .badge.orv{background:#F0FDFA;color:var(--c-work)}.m-tcard .top .badge.near{background:#FEF3C7;color:#78350F}.m-tcard .nm{font-size:14px;font-weight:600;margin:4px 0 6px}.m-tcard .dates{font-family:var(--font-mono);font-size:11px;color:var(--color-text-secondary);margin-bottom:6px}.m-tcard .pct-row{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--color-text-secondary);margin-top:4px}.m-tcard .pct-bar{flex:1;height:4px;border-radius:99px;background:rgba(19,78,74,.08);overflow:hidden}.m-tcard .pct-bar>span{display:block;height:100%;background:var(--c-crit)}.m-tcard.work .pct-bar>span{background:var(--c-work)}.m-tcard.near .pct-bar>span{background:var(--c-near)}.m-tcard .deps{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.m-tcard .deps .tag{font-size:9px;padding:3px 7px;border-radius:99px;background:#F1F5F9;color:var(--color-text-secondary);font-family:var(--font-mono)}.m-tcard .deps .tag.crit{background:#FEF2F2;color:var(--c-deep)}.m-tl-body{flex:1;overflow:auto;padding:12px 14px;background:#F4FAF9;position:relative}.m-tl-month{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);letter-spacing:.06em;text-transform:uppercase;margin:8px 0 6px;padding-left:4px}.m-tl-month:first-child{margin-top:0}.m-tl-row{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:8px;padding:0;font-size:11px;cursor:pointer;height:38px;box-sizing:border-box}.m-tl-row .nm{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.m-tl-row .nm small{display:block;font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);font-weight:400;text-transform:none;letter-spacing:0}.m-tl-row .lane{position:relative;height:18px;background:rgba(19,78,74,.04);border-radius:4px;overflow:visible}.m-tl-row .seg{position:absolute;top:0;height:18px;border-radius:4px;display:flex;align-items:center;padding:0 5px;font-size:9px;color:#fff;font-weight:500;font-family:var(--font-mono);font-feature-settings:"tnum";white-space:nowrap;overflow:hidden}.m-tl-row .seg.work{background:var(--c-work)}.m-tl-row .seg.crit{background:var(--c-crit)}.m-tl-row .seg.near{background:var(--c-near);color:#451a03}.m-tl-row .seg.supply{background:var(--c-supply)}.m-tl-row .seg.done{opacity:.6}.m-tl-row .seg.ed{background-image:repeating-linear-gradient(45deg,transparent 0 5px,rgba(255,255,255,.22) 5px 10px)}.m-tl-ms{position:absolute;width:12px;height:12px;background:var(--c-milestone);transform:rotate(45deg);top:50%;margin-top:-6px;border-radius:1px}.m-tl-ms.crit{background:var(--c-crit)}.m-tl-today-line{position:absolute;top:0;bottom:0;width:0;border-left:1.5px dashed var(--c-today);z-index:2;pointer-events:none}.m-tl-today-line .badge{position:absolute;top:0;left:-22px;background:var(--c-today);color:#fff;font-size:8px;font-weight:600;padding:1px 5px;border-radius:99px;font-family:var(--font-mono)}.m-tl-toggle{display:flex;gap:0;padding:8px 14px 6px;background:#FBFEFD;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center}.m-tl-toggle-l{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);font-weight:600}.m-tl-toggle-seg{display:flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:2px;gap:1px}.m-tl-toggle-seg button{padding:5px 9px;border:none;background:transparent;font-size:10px;border-radius:5px;cursor:pointer;color:var(--color-text-secondary);font-family:inherit;font-weight:500}.m-tl-toggle-seg button.on{background:var(--color-ink);color:#fff}.m-tl-row.dim{opacity:.18;transition:opacity .25s var(--ease-soft)}.m-tl-row.focus .seg{outline:2px solid var(--c-crit);outline-offset:1px}.m-tl-row[data-task]{cursor:pointer}.m-tl-links{position:absolute;left:0;top:0;pointer-events:none;z-index:3}.m-tl-links path{fill:none}.m-tl-lag-pill{position:absolute;font-family:var(--font-mono);font-size:9px;padding:1px 4px;border-radius:99px;z-index:4;white-space:nowrap;pointer-events:none;font-weight:500}.m-tl-focus-hint,.m-tl-lag-pill{background:var(--ai-surface);color:var(--ai-text);border:1px solid var(--ai-dim)}.m-tl-focus-hint{margin:0 0 10px;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.4;display:flex;align-items:flex-start;gap:8px}.m-tl-focus-hint:before{content:"●";color:var(--c-crit);font-size:11px;flex:none;margin-top:1px}.m-tl-focus-hint b{font-weight:600}.m-flow-body{flex:1;overflow:hidden;display:flex;flex-direction:column;background:#F4FAF9}.m-flow-tabs{display:flex;gap:6px;padding:10px 14px;overflow-x:auto;background:#FBFEFD;border-bottom:1px solid var(--color-border)}.m-flow-tab{flex:none;padding:6px 12px;border-radius:99px;background:var(--color-surface);font-size:11px;color:var(--color-text-secondary);border:1px solid var(--color-border);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px}.m-flow-tab .n{font-family:var(--font-mono);font-size:9px;opacity:.7}.m-flow-tab.on{background:#042F2E;color:#fff;border-color:#042F2E}.m-flow-tab.now{background:#FEF2F2;color:var(--c-crit);border-color:#FECACA}.m-flow-tab.now.on{background:var(--c-crit);color:#fff;border-color:var(--c-crit)}.m-flow-list{padding:12px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:8px}.m-sheet-bg{position:absolute;inset:0;background:rgba(4,47,46,.45);z-index:20}.m-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--color-paper);border-radius:20px 20px 0 0;z-index:21;height:65%;overflow:auto;display:flex;flex-direction:column;box-shadow:0 -8px 24px rgba(4,47,46,.2)}.m-sheet-handle{width:48px;height:5px;background:var(--slate-300);border-radius:99px;margin:8px auto 0;flex:none}.m-sheet-h{padding:12px 16px 0}.m-sheet-h .crumb{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.m-sheet-h h3{font-size:17px;margin:4px 0;font-weight:600;letter-spacing:-.005em;line-height:1.3}.m-sheet-h .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.m-sheet-h .badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:99px}.m-sheet-h .badge.kp{background:#FEF2F2;color:var(--c-crit)}.m-sheet-h .badge.fn{background:var(--c-crit);color:#fff}.m-sheet-h .badge.work{background:#F0FDFA;color:var(--teal-700)}.m-sheet-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:14px;flex:1}.m-sheet-b .desc-text{font-size:12px;color:var(--color-text-primary);line-height:1.6;margin:0}.m-sheet-b .grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.m-sheet-b .grid .it{padding:8px 10px;background:var(--color-surface);border-radius:8px}.m-sheet-b .grid .it .k{font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);letter-spacing:.04em}.m-sheet-b .grid .it .v{font-weight:500;font-size:11px;margin-top:2px;color:var(--color-text-primary);font-family:var(--font-mono)}.m-sheet-b .grid .it.crit .v{color:var(--c-crit)}.m-sheet-b .ai-card{font-size:11px;padding:10px}.m-sheet-actions{padding:12px 16px;border-top:1px solid var(--color-border);display:flex;gap:6px;background:#FBFEFD}.m-sheet-actions .btn{flex:1;justify-content:center;padding:8px;font-size:11px}.m-swipe-toggle{display:flex;gap:6px;padding:10px 14px;background:#FBFEFD;border-bottom:1px solid var(--color-border)}.m-swipe-toggle button{flex:1;padding:8px;border:1px solid var(--color-border);background:var(--color-paper);border-radius:8px;font-size:11px;font-family:inherit;color:var(--color-text-secondary);cursor:pointer;font-weight:500}.m-swipe-toggle button.on{background:#042F2E;color:#fff;border-color:#042F2E}.m-swipe-demo{padding:18px 14px;background:#F4FAF9;flex:1;overflow:auto}.m-swipe-demo h3{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 8px}.m-swipe-row{background:var(--color-paper);border-radius:12px;border:1px solid var(--color-border);overflow:hidden;margin-bottom:8px;box-shadow:0 1px 3px rgba(19,78,74,.06);position:relative}.m-swipe-actions-l,.m-swipe-row{display:flex;align-items:stretch}.m-swipe-actions-l{background:linear-gradient(90deg,#FEF3C7,#FEF3C7);flex:none}.m-swipe-actions-l .chip{padding:0 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;color:var(--ai-text);border-right:1px solid #fcd34d;cursor:pointer;min-width:42px;font-family:var(--font-mono)}.m-swipe-actions-l .chip:last-child{border-right:none}.m-swipe-actions-l .chip.on{background:var(--ai-bright);color:#fff}.m-swipe-actions-l .chip .lbl{font-size:8px;font-weight:500;color:inherit;opacity:.85;font-family:var(--font-sans)}.m-swipe-content{flex:1;padding:11px 13px;min-width:0;background:var(--color-paper)}.m-swipe-content.crit{border-left:4px solid var(--c-crit)}.m-swipe-content .top{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.m-swipe-content .nm{font-size:13px;font-weight:600;margin:4px 0}.m-swipe-content .dates{font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary)}.m-swipe-actions-r{display:flex;flex:none}.m-swipe-actions-r .chip{padding:0 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#fff;cursor:pointer;width:60px}.m-swipe-actions-r .chip.menu{background:#475569}.m-swipe-actions-r .chip.del{background:var(--c-crit)}.m-swipe-actions-r .chip .icon{font-size:18px;font-weight:400}.m-swipe-explainer{padding:11px 12px;background:#FBFEFD;border:1px dashed var(--color-border);border-radius:10px;font-size:11px;color:var(--color-text-secondary);line-height:1.5;margin-top:6px}.m-swipe-explainer b{color:var(--color-text-primary)}.m-swipe-explainer .arrow{display:inline-block;width:14px;text-align:center;color:var(--c-crit);font-weight:600}.m-swipe-explainer .arrow.r{color:var(--ai-bright)}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:300px 0}}.shimmer{border-radius:6px;color:transparent!important}.shimmer,.shimmer-pill{background:linear-gradient(90deg,#E8F3F1,#F5FBFA 40%,#E8F3F1 80%);background-size:600px 100%;animation:shimmer 1.8s linear infinite}.shimmer-pill{display:inline-block;height:14px;width:80px;border-radius:99px;vertical-align:middle}.empty-canvas{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#FAFEFD,#F0FAF8);min-height:100%;padding:60px 40px;text-align:center}.empty-illu{width:280px;height:200px;margin-bottom:28px;position:relative}.empty-illu svg{width:100%;height:100%}.empty-canvas h3{font-size:24px;font-weight:600;margin:0 0 12px;letter-spacing:-.01em;color:var(--color-text-primary);max-width:48ch}.empty-canvas .lede{font-size:14px;color:var(--color-text-secondary);max-width:54ch;line-height:1.6;margin:0 0 24px}.empty-canvas .actions{display:flex;gap:10px}.empty-canvas .btn{padding:10px 18px;font-size:13px}.empty-canvas .btn.primary{box-shadow:0 8px 24px rgba(13,148,136,.25)}.empty-side-tip{position:absolute;bottom:24px;right:24px;max-width:280px;padding:14px 16px;background:var(--ai-surface);border:1px solid var(--ai-dim);border-radius:12px;font-size:12px;color:var(--ai-text);line-height:1.5;display:flex;gap:10px;align-items:flex-start}.empty-side-tip .star{flex:none;width:14px;height:14px;border-radius:99px;background:var(--ai-bright);margin-top:2px}.empty-side-tip b{font-weight:600}.loading-banner{display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--ai-surface);border-bottom:1px solid var(--ai-dim);font-size:12px;color:var(--ai-text)}.loading-banner .pulse{width:10px;height:10px;border-radius:99px;background:var(--ai-bright);position:relative;flex:none}.loading-banner .pulse:after{content:"";position:absolute;inset:-4px;border-radius:99px;background:var(--ai-bright);opacity:.4;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.6);opacity:0}}.loading-banner b{font-weight:600}.error-canvas{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#FBFEFD;min-height:100%;padding:60px 40px;text-align:center}.error-illu{width:200px;height:200px;margin-bottom:24px;display:grid;place-items:center}.error-illu svg{width:100%;height:100%}.error-canvas h3{font-size:22px;font-weight:600;margin:0 0 10px;letter-spacing:-.01em;color:var(--color-text-primary)}.error-canvas .lede{font-size:14px;color:var(--color-text-secondary);max-width:54ch;line-height:1.6;margin:0 0 24px}.error-canvas .err-code{font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);background:var(--color-surface);padding:6px 12px;border-radius:6px;margin-bottom:20px;letter-spacing:.04em}.error-canvas .actions{display:flex;gap:10px}.viewer-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;font-size:11px;background:#FEF3C7;border:1px solid var(--ai-dim);color:var(--ai-text);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.viewer-badge:before{content:"👁";font-size:13px;filter:saturate(.7)}.viewer-readonly-overlay{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.95);border:1px solid var(--ai-dim);box-shadow:0 4px 12px rgba(120,53,15,.12);color:var(--ai-text);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;z-index:8}.viewer-readonly-overlay:before{content:"👁";font-size:12px;filter:saturate(.7)}.m-empty,.m-error,.m-loading{flex:1;overflow:auto;background:#F4FAF9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;text-align:center}.m-empty .illu,.m-error .illu{width:160px;height:120px;margin-bottom:18px}.m-empty .illu svg,.m-error .illu svg{width:100%;height:100%}.m-empty h3{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--color-text-primary);letter-spacing:-.01em}.m-empty .lede{font-size:12px;color:var(--color-text-secondary);max-width:32ch;line-height:1.6;margin:0 0 18px}.m-empty .actions{display:flex;flex-direction:column;gap:8px;width:100%}.m-empty .btn{padding:11px;justify-content:center}.m-error h3{font-size:17px;font-weight:600;margin:0 0 8px;color:var(--color-text-primary)}.m-error .lede{font-size:12px;color:var(--color-text-secondary);max-width:32ch;line-height:1.6;margin:0 0 14px}.m-error .err-code{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);background:var(--color-paper);padding:5px 10px;border-radius:6px;margin-bottom:18px;border:1px solid var(--color-border)}.m-error .actions{display:flex;flex-direction:column;gap:8px;width:100%}.m-loading-stages{padding:14px;display:flex;flex-direction:column;gap:10px;flex:1;background:#F4FAF9;overflow:auto}.m-loading-row{height:54px;background:linear-gradient(90deg,var(--color-paper) 0,#F0FAF8 50%,var(--color-paper) 100%);background-size:600px 100%;animation:shimmer 1.8s linear infinite;border:1px solid var(--color-border);border-radius:12px}.m-prep{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 18px;background:#F4FAF9;gap:14px;text-align:center}.m-prep-logo-wrap{width:140px;height:140px;display:grid;place-items:center}.m-prep-logo{width:100%;height:100%}.m-prep-h{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:4px 0 0}.m-prep-msg{font-size:12px;color:var(--color-text-secondary);min-height:18px;font-family:var(--font-sans);transition:opacity .22s var(--ease-soft)}.m-prep-bar{width:80%;max-width:240px;height:4px;border-radius:99px;background:var(--teal-100);overflow:hidden;margin-top:6px}.m-prep-bar-fill{width:35%;height:100%;border-radius:99px;background:var(--teal-600);animation:m-prep-march 2.4s linear infinite}@keyframes m-prep-march{0%{transform:translateX(-100%);width:35%}60%{transform:translateX(280%);width:35%}to{transform:translateX(280%);width:35%}}.m-prep-foot{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);margin-top:8px}.conflict-modal-bg{position:absolute;inset:124px 0 0 0;background:rgba(4,47,46,.4);z-index:30;display:flex;align-items:flex-start;justify-content:center;padding:60px 40px}.conflict-modal{background:var(--color-paper);border-radius:14px;width:560px;max-width:100%;box-shadow:0 24px 64px rgba(159,18,57,.3);overflow:hidden;border-top:5px solid var(--c-deep);max-height:-moz-fit-content;max-height:fit-content}.conflict-modal .h{padding:20px 24px 18px;border-bottom:1px solid var(--color-border)}.conflict-modal .h .ico-row{display:flex;align-items:flex-start;gap:14px}.conflict-modal .h .ico{flex:none;width:40px;height:40px;border-radius:50%;background:var(--c-deep);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:600}.conflict-modal .h .h-text{flex:1}.conflict-modal .h h3{font-size:17px;margin:0;font-weight:600;color:var(--c-deep);letter-spacing:-.005em}.conflict-modal .h .sub{font-size:12px;color:var(--color-text-secondary);margin-top:4px;line-height:1.5}.conflict-modal .body{padding:18px 24px;display:flex;flex-direction:column;gap:14px}.conflict-modal .scenario{padding:12px 14px;background:#FEF2F2;border:1px solid #fecaca;border-radius:8px;font-size:12px;color:var(--c-deep);line-height:1.55}.conflict-modal .scenario b{font-weight:600}.conflict-modal .opts-h{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:6px 0}.conflict-modal .options{display:flex;flex-direction:column;gap:8px}.conflict-modal .option{padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;display:flex;align-items:flex-start;gap:12px;transition:all .15s var(--ease-soft)}.conflict-modal .option:hover{background:var(--color-surface);border-color:var(--color-primary)}.conflict-modal .option.recommended{background:#F0FDFA;border-color:var(--c-work)}.conflict-modal .option .opt-ico{flex:none;width:22px;height:22px;border-radius:50%;background:var(--color-surface);display:grid;place-items:center;font-size:11px;color:var(--color-primary);font-weight:600;margin-top:1px}.conflict-modal .option.recommended .opt-ico{background:var(--c-work);color:#fff}.conflict-modal .option .nm{flex:1;font-size:13px;font-weight:500;color:var(--color-text-primary)}.conflict-modal .option .nm .badge{display:inline-block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:99px;background:var(--c-work);color:#fff;margin-left:6px;vertical-align:middle}.conflict-modal .option .nm small{display:block;font-size:11px;color:var(--color-text-secondary);font-weight:400;margin-top:3px;line-height:1.45}.conflict-modal .actions{padding:14px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:8px;background:#FBFEFD}.conflict-modal .actions .left{font-size:11px;color:var(--color-text-tertiary)}.soft-banner{padding:10px 18px;background:#FFFBEB;border-bottom:1px solid #fcd34d;display:flex;align-items:center;gap:12px;font-size:12px;color:#78350F}.soft-banner .ico{flex:none;width:24px;height:24px;border-radius:99px;background:var(--c-near);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600}.soft-banner b{font-weight:600}.soft-banner .acts{margin-left:auto;display:flex;gap:8px;flex:none}.soft-banner .btn-ai{padding:5px 10px;background:var(--ai-bright);color:#fff;border:none;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.soft-banner .btn-ai:before{content:"⚡";font-size:11px}.soft-banner .btn-dismiss{padding:5px 10px;background:transparent;color:#78350F;border:1px solid #fcd34d;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer}.m-soft-banner{padding:9px 14px;background:#FFFBEB;border-bottom:1px solid #fcd34d;display:flex;align-items:center;gap:10px;font-size:11px;color:#78350F;line-height:1.4}.m-soft-banner .ico{flex:none;width:22px;height:22px;border-radius:99px;background:var(--c-near);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:600}.m-soft-banner b{font-weight:600}.m-soft-banner .ico-act{flex:none;width:30px;height:30px;border-radius:8px;background:var(--ai-bright);color:#fff;display:grid;place-items:center;font-size:14px}.m-conflict-sheet-bg{position:absolute;inset:0;background:rgba(4,47,46,.55);z-index:20}.m-conflict-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--color-paper);border-radius:20px 20px 0 0;z-index:21;max-height:80%;overflow:auto;display:flex;flex-direction:column;box-shadow:0 -8px 24px rgba(159,18,57,.3);border-top:4px solid var(--c-deep)}.m-conflict-sheet .handle{width:48px;height:5px;background:var(--slate-300);border-radius:99px;margin:8px auto 0;flex:none}.m-conflict-sheet .h{padding:14px 16px 12px;display:flex;align-items:flex-start;gap:12px}.m-conflict-sheet .h .ico{flex:none;width:32px;height:32px;border-radius:50%;background:var(--c-deep);color:#fff;display:grid;place-items:center;font-size:16px;font-weight:600}.m-conflict-sheet .h h3{font-size:15px;margin:0;font-weight:600;color:var(--c-deep);line-height:1.3}.m-conflict-sheet .h .sub{font-size:11px;color:var(--color-text-secondary);margin-top:3px;line-height:1.5}.m-conflict-sheet .body{padding:0 16px 14px;display:flex;flex-direction:column;gap:10px}.m-conflict-sheet .scenario{padding:10px 12px;background:#FEF2F2;border:1px solid #fecaca;border-radius:8px;font-size:11px;color:var(--c-deep);line-height:1.5}.m-conflict-sheet .opts-h{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:4px 0}.m-conflict-sheet .option{padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-size:12px;cursor:pointer;display:flex;align-items:flex-start;gap:10px}.m-conflict-sheet .option.recommended{background:#F0FDFA;border-color:var(--c-work)}.m-conflict-sheet .option .opt-ico{flex:none;width:20px;height:20px;border-radius:50%;background:var(--color-surface);display:grid;place-items:center;font-size:10px;color:var(--color-primary);font-weight:600}.m-conflict-sheet .option.recommended .opt-ico{background:var(--c-work);color:#fff}.m-conflict-sheet .option .nm{flex:1;font-weight:500}.m-conflict-sheet .option .nm small{display:block;font-size:10px;color:var(--color-text-secondary);font-weight:400;margin-top:2px;line-height:1.4}.m-conflict-sheet .actions{padding:12px 16px;border-top:1px solid var(--color-border);display:flex;gap:6px;background:#FBFEFD}.deviation-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:99px;font-size:9px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.deviation-badge.late{background:#FEF2F2;color:var(--c-crit)}.deviation-badge.early{background:#ECFDF5;color:#047857}.planfakt-summary{padding:12px 14px;background:#F0FDFA;border:1px solid var(--teal-200);border-radius:10px;font-size:12px;line-height:1.5;display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.planfakt-summary .row1{display:flex;align-items:center;gap:8px;font-weight:500}.planfakt-summary .row1 .pill{padding:2px 8px;border-radius:99px;font-family:var(--font-mono);font-size:10px;font-weight:600}.planfakt-summary .row1 .pill.late{background:#FEF2F2;color:var(--c-crit)}.planfakt-summary .row1 .pill.early{background:#ECFDF5;color:#047857}.planfakt-summary .row2{font-size:11px;color:var(--color-text-secondary)}.planfakt-list{display:flex;flex-direction:column;gap:5px}.planfakt-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--color-border);font-size:11px}.planfakt-row:last-child{border-bottom:none}.planfakt-row .code{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);min-width:30px}.planfakt-row .nm{font-weight:500}.lang-compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:32px;background:linear-gradient(180deg,#F4FAF9,#E0F2F0);height:100%;overflow:auto}.lang-card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(19,78,74,.1)}.lang-card.simple{border-top:4px solid var(--c-work)}.lang-card.pro{border-top:4px solid var(--slate-500)}.lang-card-h{padding:14px 20px;border-bottom:1px solid var(--color-border);background:#FBFEFD;justify-content:space-between}.lang-card-h,.lang-card-h h3{display:flex;align-items:center}.lang-card-h h3{font-size:13px;margin:0;font-weight:600;letter-spacing:-.005em;gap:8px}.lang-card-h h3 .ico{font-size:16px}.lang-card-h .badge{font-size:9px;font-weight:600;padding:3px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em}.lang-card-h .badge.s{background:#F0FDFA;color:var(--teal-700)}.lang-card-h .badge.p{background:var(--color-surface);color:var(--color-text-secondary)}.lang-card-body{padding:18px 20px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:14px}.lang-card .field-block{padding:10px 12px;background:var(--color-surface);border-radius:8px;font-size:12px}.lang-card .field-block .k{font-size:11px;color:var(--color-text-tertiary);margin-bottom:3px;display:flex;align-items:center;gap:5px}.lang-card .field-block .v{font-weight:500;color:var(--color-text-primary)}.lang-card.pro .field-block .v{font-family:var(--font-mono)}.lang-card .field-block.crit .v{color:var(--c-crit)}.lang-card .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lang-card .desc-text{font-size:12px;color:var(--color-text-primary);line-height:1.6;margin:0}.lang-card .deps-list{display:flex;flex-direction:column;gap:5px}.lang-card .dep-item{padding:8px 10px;background:var(--color-surface);border-radius:6px;font-size:12px;display:flex;align-items:center;gap:8px}.lang-card .dep-item .arrow{flex:none;font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);width:20px}.lang-card.simple .dep-item .arrow{color:var(--c-work)}.lang-card .dep-item .nm{flex:1;font-weight:500}.lang-card .dep-item .nm small{display:block;font-size:10px;color:var(--color-text-secondary);font-weight:400;margin-top:1px}.lang-card.pro .dep-item .lk{font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary)}.lang-tip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--color-surface);color:var(--color-text-secondary);font-size:9px;font-weight:600;cursor:help;border:1px solid var(--color-border);position:relative}.lang-tip:hover{background:var(--ai-surface);color:var(--ai-text);border-color:var(--ai-dim)}.lang-tip:hover:after{content:attr(data-tip);bottom:calc(100% + 8px);background:var(--color-ink);color:var(--teal-100);font-size:11px;font-weight:400;padding:8px 12px;border-radius:8px;width:240px;line-height:1.5;text-align:left;z-index:10;box-shadow:0 8px 24px rgba(0,0,0,.2)}.lang-tip:hover:after,.lang-tip:hover:before{position:absolute;left:50%;transform:translateX(-50%)}.lang-tip:hover:before{content:"";bottom:calc(100% + 4px);border:4px solid transparent;border-top:4px solid var(--color-ink);z-index:11}.lang-card-foot{padding:10px 20px;border-top:1px solid var(--color-border);background:#FBFEFD;font-size:11px;color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:space-between}.lang-card-foot b{color:var(--color-text-primary);font-weight:500}.lang-toggle-bar{padding:14px 24px;background:var(--color-paper);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:14px}.lang-toggle-bar .lbl{font-size:12px;color:var(--color-text-secondary);font-weight:500}.lang-toggle-bar .seg-modes{padding:3px}.lang-toggle-bar .lang-hint{margin-left:auto;font-size:11px;color:var(--color-text-tertiary);font-style:italic}.m-lang-card-h{padding:12px 14px;border-bottom:1px solid var(--color-border);background:#FBFEFD;display:flex;justify-content:space-between;align-items:center}.m-lang-card-h h3{font-size:13px;margin:0;font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:6px}.m-lang-card-h .badge{font-size:9px;font-weight:600;padding:2px 7px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em}.m-lang-card-h .badge.s{background:#F0FDFA;color:var(--teal-700)}.m-lang-card-h .badge.p{background:var(--color-surface);color:var(--color-text-secondary)}.m-lang-body{padding:14px;display:flex;flex-direction:column;gap:10px;flex:1;overflow:auto;background:#F4FAF9}.m-lang-body .field-block{padding:9px 11px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:8px;font-size:11px}.m-lang-body .field-block .k{font-size:10px;color:var(--color-text-tertiary);margin-bottom:2px;display:flex;align-items:center;gap:4px}.m-lang-body .field-block .v{font-weight:500;color:var(--color-text-primary);font-size:12px}.m-lang-body.pro .field-block .v{font-family:var(--font-mono)}.m-lang-body .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5px}.m-lang-body .desc-text{font-size:11px;color:var(--color-text-primary);line-height:1.5;margin:0;padding:9px 11px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:8px}.editor-card{background:var(--color-paper);height:100%;overflow:auto;display:flex;flex-direction:column;border-left:1px solid var(--color-border)}.editor-card .h{padding:14px 24px 12px;border-bottom:1px solid var(--color-border);background:#FBFEFD}.editor-card .h .crumb{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.editor-card .h h2{font-size:18px;margin:4px 0 6px;font-weight:600;letter-spacing:-.005em}.editor-card .h .badges{display:flex;gap:5px;flex-wrap:wrap}.editor-card .h .badge-edit{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:var(--ai-surface);color:var(--ai-text);border:1px solid var(--ai-dim)}.editor-card .b{padding:18px 24px;flex:1;overflow:auto;gap:14px}.editor-card .b,.form-row{display:flex;flex-direction:column}.form-row{gap:5px}.form-row label{font-size:10px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:6px}.form-input{padding:9px 11px;border:1px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:13px;color:var(--color-text-primary);background:var(--color-paper);outline:none;transition:all .15s var(--ease-soft)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(13,148,136,.12)}.form-input.readonly{background:var(--color-surface);cursor:not-allowed;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:12px}.form-input.with-ico{padding-right:36px}textarea.form-input{min-height:72px;resize:vertical;line-height:1.5}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.form-row-inline{display:flex;gap:8px;align-items:flex-end}.form-row-inline>div{flex:1}.form-helper{font-size:11px;color:var(--color-text-tertiary);line-height:1.45}.editable-link{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;padding:9px 11px;background:var(--color-surface);border-radius:8px;font-size:12px}.editable-link .ti{width:14px;height:14px;border-radius:3px;flex:none;background:var(--c-work);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:600}.editable-link.crit .ti{background:var(--c-crit)}.editable-link .nm{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editable-link .nm small{display:block;font-size:10px;color:var(--color-text-tertiary);font-family:var(--font-mono);font-weight:400;margin-top:1px}.editable-link .lk-edit{display:flex;gap:4px;align-items:center}.editable-link .lk-edit .lk-input{padding:3px 7px;border:1px solid var(--color-border);border-radius:5px;background:var(--color-paper);font-size:10px;font-family:var(--font-mono);width:54px}.editable-link .lk-edit select.lk-input{cursor:pointer}.editable-link .x-btn{width:22px;height:22px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:5px;font-size:14px;line-height:1}.editable-link .x-btn:hover{background:#FEF2F2;color:var(--c-crit)}.add-btn{padding:9px;border:1px dashed var(--color-border-strong);background:transparent;border-radius:8px;color:var(--color-text-secondary);font-size:12px;cursor:pointer;text-align:center;font-family:inherit}.add-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(13,148,136,.04)}.editor-card .actions{padding:12px 24px;border-top:1px solid var(--color-border);background:#FBFEFD;display:flex;gap:8px;justify-content:space-between;align-items:center}.editor-card .actions .left-actions{display:flex;gap:6px}.task-card.edit-mode{background:var(--color-paper);height:100%;overflow:hidden;display:flex;flex-direction:column;border-left:1px solid var(--color-border)}.task-card.edit-mode .h{padding:14px 24px 0;border-bottom:1px solid var(--color-border);background:#FBFEFD;display:flex;flex-direction:column;gap:6px}.task-card.edit-mode .h .breadcrumb{font-size:11px;color:var(--color-text-tertiary);font-family:var(--font-mono)}.task-card.edit-mode .h .title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.task-card.edit-mode .h h2{font-size:18px;margin:0;font-weight:600;letter-spacing:-.005em;flex:1;display:flex;gap:8px;align-items:baseline}.task-card.edit-mode .h h2 .code{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:14px}.task-card.edit-mode .h h2 .title-input{flex:1;border:none;background:transparent;font:inherit;color:inherit;padding:2px 4px;border-bottom:1.5px dashed var(--color-border);outline:none}.task-card.edit-mode .h h2 .title-input:focus{border-bottom-color:var(--color-primary);border-bottom-style:solid}.task-card.edit-mode .h .close{font-size:22px;color:var(--color-text-tertiary);cursor:pointer;line-height:1}.task-card.edit-mode .h .badges{display:flex;flex-wrap:wrap;gap:5px}.task-card.edit-mode .h .badge-edit{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:var(--ai-surface);color:var(--ai-text);border:1px solid var(--ai-dim)}.insp-tabs{display:flex;gap:0;margin-top:8px;border-bottom:1px solid transparent;margin-bottom:-1px;overflow-x:auto;scrollbar-width:none}.insp-tabs::-webkit-scrollbar{display:none}.insp-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;padding:9px 11px;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border:none;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-family:inherit}.insp-tab:hover{color:var(--color-text-primary)}.insp-tab.on{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.insp-tab .cnt{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);font-weight:500}.insp-tab.on .cnt{color:var(--color-primary)}.insp-tab .ico-lock{color:var(--c-deep);font-size:11px}.task-card.edit-mode .b{padding:16px 24px;flex:1;overflow:auto;display:flex;flex-direction:column;gap:13px}.task-card.edit-mode .insp-pane{display:none;flex-direction:column;gap:13px}.task-card.edit-mode .insp-pane.on{display:flex}.task-card.edit-mode .actions{padding:12px 24px;border-top:1px solid var(--color-border);background:#FBFEFD;display:flex;gap:8px;justify-content:space-between;align-items:center;flex:none}.cal-radio-list,.task-card.edit-mode .actions .left-actions{display:flex;gap:6px}.cal-radio-list{flex-direction:column}.cal-radio{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:11px 13px;border:1.5px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .15s}.cal-radio.on,.cal-radio:hover{border-color:var(--color-primary)}.cal-radio.on{background:#F0FDFA;box-shadow:0 0 0 1px var(--color-primary) inset}.cal-radio .radio{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--color-border);position:relative;flex:none}.cal-radio.on .radio{border-color:var(--color-primary)}.cal-radio.on .radio:after{content:"";position:absolute;inset:2.5px;background:var(--color-primary);border-radius:50%}.cal-radio .nm{font-size:12px;font-weight:600;color:var(--color-text-primary);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cal-radio .desc{font-size:11px;color:var(--color-text-secondary);line-height:1.4;margin-top:2px}.cal-radio .meta{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary)}.cal-recalc-warning{padding:9px 12px;background:#FFFBEB;border:1px solid #fcd34d;border-radius:8px;font-size:11px;color:#78350F;line-height:1.45;display:flex;gap:7px;align-items:flex-start}.cal-recalc-warning .ico{font-size:13px;line-height:1.2;flex:none}.constraint-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-paper);font-size:12px;cursor:pointer}.constraint-pill:hover{border-color:var(--color-primary);background:var(--color-surface)}.constraint-pill .code{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--color-text-tertiary);background:var(--color-surface);padding:1px 6px;border-radius:99px}.constraint-pill .arrow{margin-left:auto;color:var(--color-text-tertiary)}.modal-md-bg{position:absolute;inset:124px 0 0 0;background:rgba(4,47,46,.42);z-index:30;display:flex;align-items:flex-start;justify-content:center;padding:50px 40px;overflow:auto}.modal-md{background:var(--color-paper);border-radius:14px;width:560px;max-width:100%;box-shadow:0 24px 64px rgba(13,148,136,.2);overflow:hidden;border-top:4px solid var(--color-primary);max-height:-moz-fit-content;max-height:fit-content}.modal-md.with-shift{margin-left:200px}.modal-md .h{padding:18px 24px 14px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.modal-md .h h3{font-size:16px;margin:0;font-weight:600;letter-spacing:-.005em}.modal-md .h .sub{font-size:12px;color:var(--color-text-secondary);margin-top:4px;line-height:1.5}.modal-md .h .close{font-size:22px;color:var(--color-text-tertiary);cursor:pointer;line-height:1;flex:none}.modal-md .body{padding:18px 24px;display:flex;flex-direction:column;gap:14px}.modal-md .preview-block{padding:11px 14px;background:#F0FDFA;border:1px solid var(--teal-200);border-radius:8px;font-size:12px;color:var(--teal-700);line-height:1.5}.modal-md .preview-block b{font-weight:600}.modal-md .actions{padding:14px 24px;border-top:1px solid var(--color-border);background:#FBFEFD;display:flex;justify-content:space-between;align-items:center;gap:8px}.linktype-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.linktype-card{padding:11px 12px;border:1.5px solid var(--color-border);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:all .15s var(--ease-soft);background:var(--color-paper)}.linktype-card.on,.linktype-card:hover{border-color:var(--color-primary)}.linktype-card.on{background:#F0FDFA;box-shadow:0 0 0 1px var(--color-primary) inset}.linktype-card .top{display:flex;align-items:center;gap:6px}.linktype-card .ti{font-family:var(--font-mono);font-weight:600;font-size:11px;color:var(--color-text-tertiary);background:var(--color-surface);padding:1px 6px;border-radius:99px}.linktype-card.on .ti{background:var(--teal-100);color:var(--color-primary)}.linktype-card .nm{font-size:12px;font-weight:600;color:var(--color-text-primary)}.linktype-card .desc{font-size:11px;color:var(--color-text-secondary);line-height:1.4}.linktype-card .visual{height:24px;display:flex;align-items:center;gap:4px;margin-top:2px}.linktype-card .visual .seg{height:8px;border-radius:3px;background:var(--color-text-tertiary);flex:1;max-width:38px}.linktype-card .visual .seg.a{background:var(--c-work)}.linktype-card .visual .seg.b{background:var(--c-supply)}.linktype-card .visual .arr{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary)}.constraint-list{display:flex;flex-direction:column;gap:5px}.constraint-card{padding:10px 13px;border:1.5px solid var(--color-border);border-radius:8px;cursor:pointer;display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;transition:all .15s var(--ease-soft);background:var(--color-paper)}.constraint-card.on,.constraint-card:hover{border-color:var(--color-primary)}.constraint-card.on{background:#F0FDFA;box-shadow:0 0 0 1px var(--color-primary) inset}.constraint-card .radio{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--color-border);position:relative;flex:none}.constraint-card.on .radio{border-color:var(--color-primary)}.constraint-card.on .radio:after{content:"";position:absolute;inset:2.5px;background:var(--color-primary);border-radius:50%}.constraint-card .info .nm{font-size:12px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.constraint-card .info .nm .code{font-family:var(--font-mono);font-size:9px;color:var(--color-text-tertiary);font-weight:500;background:var(--color-surface);padding:1px 5px;border-radius:99px;letter-spacing:.04em}.constraint-card.on .info .nm .code{background:var(--teal-100);color:var(--color-primary)}.constraint-card .info .desc{font-size:11px;color:var(--color-text-secondary);line-height:1.4;margin-top:2px}.constraint-card .info .desc b{color:var(--color-text-primary);font-weight:500}.constraint-card .right{display:flex;align-items:center;gap:6px}.constraint-card .date-input{padding:4px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-paper);font-family:var(--font-mono);font-size:10px;width:96px;color:var(--color-text-primary)}.constraint-card.on .date-input{border-color:var(--color-primary)}.constraint-card .lock-ico{font-size:13px;color:var(--color-text-tertiary)}.constraint-card.on .lock-ico{color:var(--color-primary)}.constraint-card.locked.on{border-color:var(--c-deep);background:#FEF2F2;box-shadow:0 0 0 1px var(--c-deep) inset}.constraint-card.locked.on .info .nm,.constraint-card.locked.on .info .nm .code{color:var(--c-deep)}.constraint-card.locked.on .radio{border-color:var(--c-deep)}.constraint-card.locked.on .radio:after{background:var(--c-deep)}.constraint-card.locked.on .lock-ico{color:var(--c-deep)}.fs-pred-row{display:grid;grid-template-columns:18px 1fr auto auto;gap:8px;align-items:center;padding:6px 8px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:6px;font-size:11px;color:var(--color-text-primary)}.fs-pred-row.crit{border-left:2px solid var(--c-crit)}.fs-pred-row .ti{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;line-height:1;background:var(--c-work)}.fs-pred-row .nm{font-size:11px;color:var(--color-text-primary);line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fs-pred-row .nm b{font-weight:600;font-size:10px;margin-right:4px}.fs-pred-row .link-pill,.fs-pred-row .nm b{font-family:var(--font-mono);color:var(--color-text-secondary)}.fs-pred-row .link-pill{font-size:9px;padding:2px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:99px;letter-spacing:.04em;white-space:nowrap}.fs-pred-row .st{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.fs-pred-row .st-ico{font-size:11px;line-height:1}.fs-pred-row.ok .st,.fs-pred-row.ok .st-ico{color:var(--c-ok,#0f766e)}.fs-pred-row.warn{background:#FFFBEB;border-color:#FCD34D}.fs-pred-row.warn .st{color:#92400E}.fs-pred-row.block{background:#FEF2F2;border-color:#FCA5A5}.fs-pred-row.block .st{color:var(--c-deep)}.m-edit-h{padding:12px 16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:10px;background:#FBFEFD}.m-edit-h .back{font-size:20px;color:var(--color-text-secondary);cursor:pointer;line-height:1;width:28px;text-align:center}.m-edit-h .h-text{flex:1;min-width:0}.m-edit-h .crumb{font-size:10px;color:var(--color-text-tertiary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.m-edit-h h3{font-size:15px;margin:2px 0 0;font-weight:600;letter-spacing:-.005em;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-edit-body{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px;background:#F4FAF9}.m-edit-actions{padding:12px 16px;border-top:1px solid var(--color-border);background:#FBFEFD;display:flex;gap:6px}.m-edit-actions .btn{flex:1;justify-content:center;padding:10px;font-size:12px}.m-dialog-sheet-bg{position:absolute;inset:0;background:rgba(4,47,46,.5);z-index:20}.m-dialog-sheet{position:absolute;left:0;right:0;bottom:0;background:var(--color-paper);border-radius:20px 20px 0 0;z-index:21;max-height:88%;overflow:auto;display:flex;flex-direction:column;box-shadow:0 -8px 24px rgba(4,47,46,.2);border-top:4px solid var(--color-primary)}.m-dialog-sheet .handle{width:48px;height:5px;background:var(--slate-300);border-radius:99px;margin:8px auto 0;flex:none}.m-dialog-sheet .h{padding:12px 16px 10px}.m-dialog-sheet .h h3{font-size:15px;margin:0;font-weight:600}.m-dialog-sheet .h .sub{font-size:11px;color:var(--color-text-secondary);margin-top:3px;line-height:1.4}.m-dialog-sheet .body{padding:0 16px 14px;display:flex;flex-direction:column;gap:10px;flex:1}.m-dialog-sheet .actions{padding:12px 16px;border-top:1px solid var(--color-border);background:#FBFEFD;display:flex;gap:6px}.m-dialog-sheet .actions .btn{flex:1;justify-content:center;padding:10px;font-size:12px}.cal-canvas{display:grid;grid-template-columns:220px 1fr 300px;height:100%;min-height:0;background:#F4FAF9}.cal-sidebar{background:#FBFEFD;border-right:1px solid var(--color-border);padding:16px 14px;overflow:auto;display:flex;flex-direction:column;gap:14px}.cal-sidebar h4{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 6px}.cal-list{display:flex;flex-direction:column;gap:4px}.cal-list-item{padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;font-size:12px;transition:all .15s var(--ease-soft);background:var(--color-paper)}.cal-list-item.on,.cal-list-item:hover{border-color:var(--color-primary)}.cal-list-item.on{background:#F0FDFA;box-shadow:0 0 0 1px var(--color-primary) inset}.cal-list-item .nm{font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.cal-list-item .nm .ico{font-size:14px}.cal-list-item .meta{font-size:10px;color:var(--color-text-tertiary);margin-top:3px;font-family:var(--font-mono)}.cal-list-item.individual .nm:after{content:"индивид.";display:inline-block;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:99px;background:var(--ai-surface);color:var(--ai-text);margin-left:auto}.cal-main{padding:18px 22px;overflow:auto}.cal-main .top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:12px}.cal-main .top .name-block{display:flex;flex-direction:column;gap:3px}.cal-main .top h2{font-size:18px;margin:0;font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:8px}.cal-main .top h2 .ico{font-size:20px}.cal-main .top .meta{font-size:11px;color:var(--color-text-secondary);font-family:var(--font-mono)}.cal-main .top .pill-row{display:flex;gap:6px}.cal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cal-month-card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:10px;padding:12px}.cal-month-card h3{font-size:13px;margin:0 0 8px;font-weight:600;color:var(--color-text-primary);display:flex;justify-content:space-between;align-items:center}.cal-month-card h3 .meta-tiny{font-size:10px;font-weight:400;color:var(--color-text-tertiary);font-family:var(--font-mono)}.cal-month{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;font-size:11px}.cal-dow{padding:4px 0;text-align:center;font-size:9px;color:var(--color-text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:5px;cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--color-text-primary);background:var(--teal-50);border:1px solid transparent;transition:all .12s var(--ease-soft);position:relative}.cal-day:hover{background:var(--teal-100);border-color:var(--teal-300)}.cal-day.dow0,.cal-day.dow6{background:var(--color-surface);color:var(--color-text-tertiary)}.cal-day.dow0:hover,.cal-day.dow6:hover{background:#E0F2F0}.cal-day.holiday{background:#FEF2F2;color:var(--c-deep);font-weight:600}.cal-day.holiday:hover{background:#FECACA}.cal-day.holiday:after{content:"●";position:absolute;top:1px;right:2px;font-size:6px;color:var(--c-crit)}.cal-day.special{background:#FFFBEB;color:#78350F;font-weight:600}.cal-day.special:after{content:"+";position:absolute;top:0;right:2px;font-size:8px;color:var(--ai-bright);font-weight:700}.cal-day.today{outline:2px solid var(--c-crit);outline-offset:-1px;background:var(--color-paper);color:var(--c-crit)}.cal-day.empty{cursor:default}.cal-day.empty,.cal-day.empty:hover{background:transparent;border:none}.cal-day.in-project{box-shadow:inset 0 -2px 0 var(--c-work)}.cal-day.in-project.dow0,.cal-day.in-project.dow6,.cal-day.in-project.holiday{box-shadow:inset 0 -2px 0 var(--slate-300)}.cal-side{background:#FBFEFD;border-left:1px solid var(--color-border);padding:18px;overflow:auto;display:flex;flex-direction:column;gap:18px}.cal-side h4{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 8px}.cal-side .row-set{padding:9px 11px;background:var(--color-surface);border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.cal-side .row-set .k{color:var(--color-text-secondary)}.cal-side .row-set .v{font-weight:500;color:var(--color-text-primary);font-family:var(--font-mono);font-size:12px}.workdays-row{display:flex;gap:3px}.workday-pill{flex:1;padding:6px 4px;text-align:center;font-size:10px;font-weight:600;border-radius:6px;background:var(--color-surface);color:var(--color-text-tertiary);cursor:pointer;border:1px solid var(--color-border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.workday-pill.on{background:var(--c-work);color:#fff;border-color:var(--c-work)}.workday-pill.special{background:#FFFBEB;color:#78350F;border-color:#FCD34D}.holiday-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto}.holiday-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:7px 10px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:6px;font-size:11px;align-items:center}.holiday-row .date{font-family:var(--font-mono);font-weight:500;color:var(--c-deep)}.holiday-row .nm{color:var(--color-text-primary)}.holiday-row .x{color:var(--color-text-tertiary);cursor:pointer;font-size:13px}.holiday-row .x:hover{color:var(--c-crit)}.cal-side .ai-note{padding:11px 13px;background:var(--ai-surface);border:1px solid var(--ai-dim);border-radius:8px;font-size:11px;color:var(--ai-text);line-height:1.5;display:flex;gap:8px;align-items:flex-start}.cal-side .ai-note .star{flex:none;width:12px;height:12px;border-radius:99px;background:var(--ai-bright);margin-top:2px}.cal-side .indiv-tasks-list{display:flex;flex-direction:column;gap:4px}.cal-side .indiv-task-item{padding:8px 10px;background:var(--color-surface);border-radius:6px;font-size:11px;display:flex;align-items:center;gap:8px;cursor:pointer}.cal-side .indiv-task-item .ti{flex:none;font-size:14px}.cal-side .indiv-task-item .nm{font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-side .indiv-task-item .nm small{display:block;color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:9px;font-weight:400}.cal-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:11px;font-family:var(--font-mono);font-weight:500;cursor:pointer;transition:all .15s var(--ease-soft)}.cal-pill:hover{background:#F0FAF8;border-color:var(--color-primary);color:var(--color-primary)}.cal-pill .ico{font-size:13px}.m-cal-body{flex:1;overflow:auto;background:#F4FAF9;padding:14px}.m-cal-h{padding:12px 14px;border-bottom:1px solid var(--color-border);background:#FBFEFD;display:flex;align-items:center;gap:10px}.m-cal-h .back{font-size:18px;color:var(--color-text-secondary);cursor:pointer;line-height:1;width:24px;text-align:center}.m-cal-h h3{font-size:15px;margin:0;font-weight:600;flex:1}.m-cal-tabs{display:flex;gap:6px;padding:10px 14px;background:#FBFEFD;border-bottom:1px solid var(--color-border);overflow-x:auto}.m-cal-tab{flex:none;padding:6px 12px;border-radius:99px;background:var(--color-surface);font-size:11px;color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;font-weight:500}.m-cal-tab.on{background:#042F2E;color:#fff;border-color:#042F2E}.m-cal-month-mobile{margin-bottom:18px}.m-cal-month-mobile h3{font-size:14px;margin:0 0 8px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.m-cal-month-mobile h3 .meta-tiny{font-size:10px;font-weight:400;color:var(--color-text-tertiary);font-family:var(--font-mono)}.m-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:var(--color-paper);padding:10px;border-radius:10px;border:1px solid var(--color-border)}.m-cal-grid .cal-day{aspect-ratio:1;font-size:11px}.m-cal-grid .cal-dow{font-size:9px;padding:3px 0}.m-cal-summary{padding:12px 14px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:10px;margin-bottom:14px;font-size:12px;display:flex;flex-direction:column;gap:8px}.m-cal-summary .row{display:flex;justify-content:space-between;align-items:center}.m-cal-summary .row .k{color:var(--color-text-secondary);font-size:11px}.m-cal-summary .row .v{font-family:var(--font-mono);font-weight:500;font-size:11px}.journal-canvas{display:grid;grid-template-columns:220px 1fr;height:100%;min-height:0;background:#F4FAF9}.journal-filters{background:#FBFEFD;border-right:1px solid var(--color-border);padding:16px 14px;overflow:auto;display:flex;flex-direction:column;gap:14px}.journal-filters h4{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 6px}.filter-group{display:flex;flex-direction:column;gap:3px}.filter-item{padding:6px 10px;border-radius:6px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .12s var(--ease-soft)}.filter-item:hover{background:var(--color-surface);color:var(--color-text-primary)}.filter-item.on{background:#042F2E;color:#fff;font-weight:500}.filter-item .n{font-family:var(--font-mono);font-size:10px;color:inherit;opacity:.8}.journal-main{padding:18px 22px;overflow:auto}.journal-main .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:14px}.journal-main h2{font-size:18px;margin:0;font-weight:600;letter-spacing:-.005em}.journal-main .controls{display:flex;gap:8px;align-items:center}.journal-main .controls .form-input{padding:6px 10px;font-size:12px}.journal-day-header{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin:14px 0 6px;padding:0 4px;display:flex;align-items:center;gap:8px}.journal-day-header:before{content:"";flex:none;width:6px;height:6px;border-radius:99px;background:var(--color-text-tertiary)}.journal-day-header.today:before{background:var(--c-crit)}.journal-day-header.today{color:var(--c-deep)}.journal-list{display:flex;flex-direction:column;gap:4px}.journal-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;padding:10px 14px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:8px;font-size:12px;align-items:flex-start;cursor:pointer;transition:box-shadow .15s var(--ease-soft)}.journal-row:hover{box-shadow:0 2px 6px rgba(19,78,74,.08)}.journal-row .ts{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);min-width:50px;padding-top:2px}.journal-row .ico{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;color:#fff}.journal-row .ico.create{background:var(--c-work)}.journal-row .ico.locked{background:var(--c-deep)}.journal-row .ico.progress{background:var(--c-work)}.journal-row .ico.finish{background:#10B981}.journal-row .ico.link_add{background:var(--c-supply)}.journal-row .ico.subtasks{background:var(--c-transport)}.journal-row .ico.baseline{background:var(--ai-bright)}.journal-row .ico.calendar{background:var(--c-near)}.journal-row .ico.add_task{background:var(--c-work)}.journal-row .ico.mode{background:var(--ai-bright)}.journal-row .ico.milestone{background:var(--c-milestone)}.journal-row .desc{flex:1;line-height:1.5;color:var(--color-text-primary)}.journal-row .desc b{font-weight:500}.journal-row .desc .object{display:inline-block;background:var(--color-surface);padding:1px 6px;border-radius:99px;font-family:var(--font-mono);font-size:10px;color:var(--color-text-secondary);font-weight:500}.journal-row .author{font-size:10px;color:var(--color-text-tertiary);font-family:var(--font-mono);text-align:right;min-width:84px}.journal-row .author small{display:block;font-size:9px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;margin-bottom:1px}.m-journal-body{flex:1;overflow:auto;background:#F4FAF9;padding:12px 14px}.m-journal-row{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px 12px;background:var(--color-paper);border:1px solid var(--color-border);border-radius:10px;font-size:11px;align-items:flex-start;margin-bottom:6px}.m-journal-row .ico{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:600;color:#fff}.m-journal-row .ico.create{background:var(--c-work)}.m-journal-row .ico.locked{background:var(--c-deep)}.m-journal-row .ico.progress{background:var(--c-work)}.m-journal-row .ico.finish{background:#10B981}.m-journal-row .ico.link_add{background:var(--c-supply)}.m-journal-row .ico.subtasks{background:var(--c-transport)}.m-journal-row .ico.baseline{background:var(--ai-bright)}.m-journal-row .ico.calendar{background:var(--c-near)}.m-journal-row .ico.add_task{background:var(--c-work)}.m-journal-row .ico.mode{background:var(--ai-bright)}.m-journal-row .ico.milestone{background:var(--c-milestone)}.m-journal-row .body{flex:1;min-width:0}.m-journal-row .ts-line{display:flex;justify-content:space-between;font-size:9px;color:var(--color-text-tertiary);font-family:var(--font-mono);margin-bottom:4px;letter-spacing:.04em;text-transform:uppercase}.m-journal-row .desc{font-size:11px;line-height:1.45;color:var(--color-text-primary)}.m-journal-row .desc .object{background:var(--color-surface);padding:1px 5px;border-radius:99px;font-family:var(--font-mono);font-size:9px}@media (prefers-color-scheme:dark){body [data-cmp=StagesPage]{--color-paper:#FFFFFF;--color-surface:var(--teal-50);--color-surface-alt:var(--slate-50);--color-ink:var(--teal-950);--color-text-primary:var(--teal-900);--color-text-secondary:var(--slate-500);--color-text-tertiary:var(--slate-400);--color-border:rgba(19,78,74,0.12);--color-border-strong:rgba(19,78,74,0.25)}body [data-cmp=StagesPage] .empty-canvas,body [data-cmp=StagesPage] .error-canvas,body [data-cmp=StagesPage] .flow-card,body [data-cmp=StagesPage] .flow-col,body [data-cmp=StagesPage] .prep-screen,body [data-cmp=StagesPage] .stage,body [data-cmp=StagesPage] .task-card,body [data-cmp=StagesPage] .tl-grid,body [data-cmp=StagesPage] .tl-list{background-color:#FFFFFF;color:var(--teal-900)}body [data-cmp=StagesPage] .flow-col-h,body [data-cmp=StagesPage] .stage-h,body [data-cmp=StagesPage] .tl-grid-h,body [data-cmp=StagesPage] .tl-list-h{background-color:#FBFEFD}body [data-cmp=TaskCardViewer]{--color-paper:#FFFFFF;--color-surface:var(--teal-50);--color-text-primary:var(--teal-900);--color-text-secondary:var(--slate-500);--color-text-tertiary:var(--slate-400);--color-border:rgba(19,78,74,0.12);background-color:#FFFFFF;color:var(--teal-900)}body [data-cmp=CalendarPageShell]{--color-paper:#FFFFFF;--color-surface:var(--teal-50);--color-surface-alt:var(--slate-50);--color-ink:var(--teal-950);--color-text-primary:var(--teal-900);--color-text-secondary:var(--slate-600);--color-text-tertiary:var(--slate-500);--color-border:rgba(19,78,74,0.12);--color-border-strong:rgba(19,78,74,0.25);background-color:#FFFFFF;color:var(--teal-900)}body [data-cmp=CalendarPageShell] aside,body [data-cmp=CalendarPageShell] main,body [data-cmp=CalendarPageShell] section{color:var(--teal-900)}}[data-cmp=ProGanttSubbar]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-paper);flex:none}[data-cmp=ZoomToolbar]{display:inline-flex;background:var(--c-surface,#f8fafc);border:1px solid var(--color-border);border-radius:8px;padding:2px;gap:0}[data-cmp=ZoomToolbar] button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:6px 12px;font-size:12px;color:var(--color-text-secondary,#475569);cursor:pointer;border-radius:6px;transition:background-color .15s ease,color .15s ease;font-family:inherit;font-weight:500}[data-cmp=ZoomToolbar] button:hover:not([data-active=true]){background:rgba(15,118,110,.06);color:var(--color-text-primary)}[data-cmp=ZoomToolbar] button[data-active=true]{background:var(--color-paper);color:var(--color-text-primary,#0f172a);box-shadow:0 1px 2px rgba(15,23,42,.08)}.tl-bar.done{opacity:.55}.tl-bar.ed{background-image:repeating-linear-gradient(-45deg,transparent,transparent 6px,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 12px)}.tl-bar.accepted{box-shadow:inset 0 0 0 2px var(--c-accepted,#10b981)}.tl-bar.delayed{outline:1px dashed var(--c-warn,#f59e0b);outline-offset:1px}.tl-row.tl-focus,.tl-stage-row.tl-focus,.tl-task-row.tl-focus{background:var(--c-focus-bg,rgba(251,191,36,.06));outline:1px solid var(--c-focus,#fbbf24);outline-offset:-1px}.tl-row,.tl-task-row{min-height:32px;max-height:32px;box-sizing:border-box}.tl-row-header,.tl-row.tl-stage,.tl-stage-row{min-height:60px;max-height:60px}.tl-bar-drag-handle{position:absolute;top:0;width:6px;height:100%;cursor:col-resize;background:transparent;z-index:2;transition:background-color .12s ease}.tl-bar-drag-handle-start{left:0;border-radius:5px 0 0 5px}.tl-bar-drag-handle-end{right:0;border-radius:0 5px 5px 0}.tl-bar:hover .tl-bar-drag-handle{background:rgba(15,118,110,.18)}.tl-bar-drag-handle:hover{background:rgba(15,118,110,.32)}.tl-bar[data-summary=true] .tl-bar-drag-handle,[data-schedule-mode=auto] .tl-bar-drag-handle{cursor:not-allowed;pointer-events:none}.tl-bar-ghost{position:absolute;height:18px;border:2px dashed var(--c-near,#f59e0b);background:rgba(245,158,11,.1);border-radius:5px;pointer-events:none;z-index:10}.tl-bar-ghost-label{position:absolute;bottom:-20px;left:0;font-family:var(--font-mono,monospace);font-size:11px;font-weight:600;color:var(--c-near,#b45309);white-space:nowrap}.constraint-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;cursor:help}.constraint-icon.hard{color:var(--c-crit,#ef4444);background:var(--color-paper);border-radius:50%}.constraint-icon.soft{color:var(--color-text-secondary,#64748b)}.constraint-icon.start{left:-7px}.constraint-icon.end{right:-7px}.tl-grid-scroll .tl-grid{min-width:100%}.modal-shell-overlay{position:fixed;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:modalFadeIn .15s ease-out}.modal-shell-card{background:var(--color-paper,#ffffff);border-radius:12px;box-shadow:0 24px 48px rgba(15,23,42,.22),0 2px 6px rgba(15,23,42,.08);max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .18s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.modal-shell-card,.modal-shell-overlay{animation:none}}.modal-shell-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px 14px;border-bottom:1px solid var(--color-border)}.modal-shell-header-text{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0}.modal-shell-header-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;flex:none}.modal-shell-title{margin:0;font-size:18px;font-weight:600;line-height:1.3;color:var(--color-text-primary,#0f172a)}.modal-shell-subtitle{margin:4px 0 0;font-size:13px;line-height:1.4}.modal-shell-close,.modal-shell-subtitle{color:var(--color-text-secondary,#64748b)}.modal-shell-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:30px;height:30px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background-color .12s,color .12s}.modal-shell-close:hover{background:rgba(15,23,42,.06);color:var(--color-text-primary,#0f172a)}.modal-shell-body{padding:18px 22px;overflow-y:auto;flex:1;font-size:14px;line-height:1.5;color:var(--color-text-primary,#0f172a)}.modal-shell-body p{margin:0 0 10px}.modal-shell-body p:last-child{margin-bottom:0}.modal-shell-footer{padding:14px 22px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-shell-footer .btn-danger,.modal-shell-footer .btn-primary,.modal-shell-footer .btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:background-color .12s,border-color .12s,color .12s}.modal-shell-footer .btn-primary{background:var(--teal-600,#0d9488);color:#ffffff}.modal-shell-footer .btn-primary:hover{background:var(--teal-700,#0f766e)}.modal-shell-footer .btn-secondary{background:transparent;border-color:var(--color-border);color:var(--color-text-primary,#0f172a)}.modal-shell-footer .btn-secondary:hover{background:var(--c-surface,#f1f5f9)}.modal-shell-footer .btn-danger{background:var(--c-crit,#dc2626);color:#ffffff}.modal-shell-footer .btn-danger:hover{background:#b91c1c}.modal-shell-footer button:disabled{opacity:.5;cursor:not-allowed}.shift-preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.shift-preview-stat{display:flex;flex-direction:column;gap:4px}.shift-preview-stat .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary,#64748b);font-weight:500}.shift-preview-stat .val{font-size:18px;font-weight:600;font-family:var(--font-mono,"JetBrains Mono",monospace);color:var(--color-text-primary,#0f172a)}.shift-preview-stat .val.warn{color:var(--c-warn,#d97706)}.shift-preview-stat .val.crit{color:var(--c-crit,#dc2626)}.shift-preview-list{display:flex;flex-direction:column;max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;background:var(--c-surface,#f8fafc)}.affected-stage-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:8px 12px;align-items:center;border-bottom:1px solid var(--color-border);font-size:12.5px}.affected-stage-row:last-child{border-bottom:none}.affected-stage-row .stage-name{font-weight:500;color:var(--color-text-primary,#0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.affected-stage-row .mono{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:11.5px;color:var(--color-text-secondary,#64748b);white-space:nowrap}.affected-stage-row .delta-pill{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:11px;padding:2px 8px;border-radius:99px;background:rgba(13,148,136,.1);color:var(--teal-700,#0f766e)}.affected-stage-row .delta-pill.warn{background:rgba(217,119,6,.12);color:var(--c-warn,#b45309)}.affected-stage-row .conflict-badge,.affected-stage-row .delta-pill.crit{background:rgba(220,38,38,.12);color:var(--c-crit,#b91c1c)}.affected-stage-row .conflict-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10.5px;font-weight:500;margin-left:8px}.hard-constraint-banner{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:8px;background:rgba(220,38,38,.06);border:1px solid rgba(220,38,38,.24);margin-bottom:14px}.hard-constraint-banner-icon{flex:none;color:var(--c-crit,#dc2626)}.hard-constraint-banner-text{font-size:13px;line-height:1.45;color:var(--color-text-primary,#0f172a)}.hard-constraint-banner-text strong{color:var(--c-crit,#b91c1c)}.hard-constraint-detail{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;margin-top:8px}.hard-constraint-detail dt{color:var(--color-text-secondary,#64748b);font-weight:500}.hard-constraint-detail dd{margin:0;font-family:var(--font-mono,"JetBrains Mono",monospace);color:var(--color-text-primary,#0f172a)}.task-card-editor .editor-header{padding:16px 20px 10px;border-bottom:1px solid var(--color-border)}.task-card-editor .editor-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-card-editor .editor-title-row h2{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary,#0f172a);line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-editor .editor-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;padding:4px;color:var(--color-text-secondary);border-radius:6px;flex:none}.task-card-editor .editor-close:hover{background:rgba(15,23,42,.06);color:var(--color-text-primary)}.task-card-editor .editor-subtitle{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary,#64748b)}.task-card-editor .editor-tabs{display:flex;gap:2px;padding:8px 14px;border-bottom:1px solid var(--color-border);overflow-x:auto}.task-card-editor .editor-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--color-text-secondary,#64748b);font-size:12px;font-weight:500;padding:6px 12px;border-radius:6px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background-color .12s,color .12s}.task-card-editor .editor-tabs button:hover:not([data-active=true]){background:rgba(13,148,136,.06);color:var(--color-text-primary)}.task-card-editor .editor-tabs button[data-active=true]{background:var(--teal-50,#ccfbf1);color:var(--teal-700,#0f766e);border-color:var(--teal-200,#99f6e4)}.task-card-editor .editor-body{padding:16px 20px;flex:1;overflow-y:auto;font-size:13px;color:var(--color-text-primary,#0f172a)}.editor-fieldset{border:1px solid var(--color-border);border-radius:8px;padding:12px 14px;margin:0 0 14px}.editor-fieldset legend{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary,#94a3b8);padding:0 4px}.editor-fieldset legend small{font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-tertiary);margin-left:6px}.field-row{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center;margin-bottom:10px}.field-row.stack{grid-template-columns:1fr;gap:4px}.field-row:last-child{margin-bottom:0}.field-row label{font-size:12px;font-weight:500;color:var(--color-text-secondary,#64748b)}.field-row input[type=date],.field-row input[type=number],.field-row input[type=text],.field-row select,.field-row textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);border-radius:6px;padding:6px 10px;font-size:13px;font-family:inherit;background:var(--color-paper);color:var(--color-text-primary);transition:border-color .12s}.field-row input[type=date],.field-row input[type=number]{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:12.5px}.field-row input:focus,.field-row select:focus,.field-row textarea:focus{outline:none;border-color:var(--teal-500,#14b8a6);box-shadow:0 0 0 3px rgba(13,148,136,.12)}.field-row textarea{resize:vertical;min-height:60px}.editor-hint{font-size:11.5px;color:var(--color-text-secondary,#64748b);margin:6px 0 0;line-height:1.4}.editor-error{font-size:12px;color:var(--c-crit,#b91c1c);margin:0 0 8px}.editor-dirty-note{font-size:11.5px;color:var(--c-warn,#b45309);margin:0 0 8px;font-style:italic}.task-card-editor .editor-footer{border-top:1px solid var(--color-border);padding:12px 20px;background:var(--color-paper);position:sticky;bottom:0}.task-card-editor .editor-footer-actions{display:flex;justify-content:flex-end;gap:8px}.editor-footer .btn-primary,.editor-footer .btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.editor-footer .btn-primary{background:var(--teal-600,#0d9488);color:#ffffff}.editor-footer .btn-primary:hover:not(:disabled){background:var(--teal-700,#0f766e)}.editor-footer .btn-secondary{background:transparent;border-color:var(--color-border);color:var(--color-text-primary)}.editor-footer .btn-secondary:hover:not(:disabled){background:var(--c-surface,#f1f5f9)}.editor-footer button:disabled{opacity:.5;cursor:not-allowed}.task-card .viewer-actions{display:flex;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--color-border)}.task-card .viewer-actions .btn-primary{display:inline-flex;align-items:center;background:var(--teal-600,#0d9488);color:#fff;border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.task-card .viewer-actions .btn-primary:hover{background:var(--teal-700,#0f766e)}.task-card .viewer-actions .btn-danger-outline{display:inline-flex;align-items:center;background:transparent;color:var(--c-crit,#dc2626);border:1px solid var(--c-crit,#dc2626);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;margin-left:auto}.task-card .viewer-actions .btn-danger-outline:hover{background:rgba(220,38,38,.08)}.dates-tab .cascade-preview-badge{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;background:rgba(13,148,136,.08);border:1px solid var(--teal-200,#99f6e4);border-radius:6px;font-size:11.5px;color:var(--teal-700,#0f766e);font-weight:500}.dates-tab .cascade-preview-badge[data-trigger-modal=true]{background:rgba(217,119,6,.08);border-color:rgba(217,119,6,.32);color:var(--c-warn,#b45309)}.calendar-tab .radio-card{align-items:flex-start;border:1px solid var(--color-border);transition:background-color .12s,border-color .12s}.calendar-tab .radio-card:hover{background:var(--c-surface,#f8fafc)}.calendar-tab .radio-card.selected{background:var(--teal-50,#ccfbf1);border-color:var(--teal-400,#2dd4bf)}.calendar-tab .radio-card p{font-size:11.5px;color:var(--color-text-secondary)}.constraints-tab .constraint-current{background:var(--c-surface,#f8fafc);border:1px solid var(--color-border);border-radius:8px;padding:12px 14px;font-size:13px}.constraints-tab .constraint-current-code{font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:16px;font-weight:600;color:var(--teal-700,#0f766e);margin-right:8px}.constraints-tab .constraint-current-label{color:var(--color-text-primary)}.constraints-tab .constraint-current-hard{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:500;color:var(--c-crit,#b91c1c);background:rgba(220,38,38,.1);padding:2px 6px;border-radius:4px;margin-left:8px}.constraints-tab .constraint-current-date{margin-top:6px;font-size:12px;color:var(--color-text-secondary)}.constraint-options{display:flex;flex-direction:column;gap:6px}.constraint-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:background-color .12s,border-color .12s}.constraint-option:hover{background:var(--c-surface)}.constraint-option.selected{background:var(--teal-50,#ccfbf1);border-color:var(--teal-400,#2dd4bf)}.constraint-option.hard.selected{background:rgba(220,38,38,.06);border-color:rgba(220,38,38,.32)}.constraint-option-body{flex:1}.constraint-option-title{display:block;font-size:13px;color:var(--color-text-primary)}.constraint-option-title strong{font-family:var(--font-mono);margin-right:6px;color:var(--teal-700)}.constraint-option.hard .constraint-option-title strong{color:var(--c-crit)}.constraint-option .hard-pill{display:inline-block;font-size:10px;background:rgba(220,38,38,.12);color:var(--c-crit);padding:1px 6px;border-radius:4px;margin-left:6px}.constraint-option-hint{font-size:11px;color:var(--color-text-secondary);margin:3px 0 0;line-height:1.4}.dep-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dep-type-option{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:background-color .12s,border-color .12s}.dep-type-option:hover{background:var(--c-surface)}.dep-type-option.selected{background:var(--teal-50);border-color:var(--teal-400)}.dep-type-ru{display:block;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--teal-700)}.dep-type-label{display:block;font-size:12px;color:var(--color-text-primary);margin-top:1px}.dep-type-desc{font-size:10.5px;color:var(--color-text-secondary);margin:3px 0 0;line-height:1.35}.dep-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.dep-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--c-surface);font-size:12px}.dep-row-main{flex:1;min-width:0}.dep-row-name{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-row-meta{display:block;font-size:11px;color:var(--color-text-secondary);margin-top:2px}.dep-row-meta strong{color:var(--teal-700);font-family:var(--font-mono)}.dep-row-lag{margin-left:6px;font-family:var(--font-mono);color:var(--ai-bright,#b45309)}.dep-row-actions{display:flex;gap:2px;flex:none}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;cursor:pointer;padding:4px;border-radius:4px;color:var(--color-text-secondary)}.icon-btn:hover{background:rgba(15,23,42,.08);color:var(--color-text-primary)}.icon-btn.danger:hover{background:rgba(220,38,38,.1);color:var(--c-crit)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.delete-impact{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:13px;margin:10px 0 0}.delete-impact dt{color:var(--color-text-secondary);font-weight:500}.delete-impact dd{margin:0}.delete-impact dd strong{font-family:var(--font-mono);font-size:14px}.delete-impact dd.warn strong{color:var(--c-warn,#b45309)}.mode-toggle{display:inline-flex;background:var(--c-surface,#f1f5f9);border:1px solid var(--color-border);border-radius:8px;padding:2px;gap:0}.mode-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:6px 14px;font-size:12.5px;font-weight:500;color:var(--color-text-secondary,#64748b);cursor:pointer;border-radius:6px;font-family:inherit;transition:background-color .12s,color .12s}.mode-toggle button:hover:not([data-active=true]){background:rgba(13,148,136,.06);color:var(--color-text-primary)}.mode-toggle button[data-active=true]{background:var(--teal-600,#0d9488);color:#ffffff;box-shadow:0 1px 2px rgba(15,23,42,.12)}.phase-mini-timeline{position:relative;display:inline-block;height:8px;width:100%;max-width:180px;min-width:90px;background:var(--c-surface,#f1f5f9);border-radius:99px;overflow:visible;align-self:center;margin:0 12px}.phase-mini-bar{position:absolute;top:0;bottom:0;border-radius:99px;min-width:4px;transition:width .2s ease,left .2s ease;box-shadow:0 1px 2px rgba(15,23,42,.08)}.phase-mini-bar.crit{outline:1.5px solid var(--c-crit,#f43f5e);outline-offset:1px}.conflict-diff{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:240px;overflow-y:auto;border:1px solid var(--color-border);border-radius:8px;padding:4px;background:var(--c-surface,#f8fafc)}.conflict-diff-row{padding:6px 8px;border-radius:4px;background:var(--color-paper)}.conflict-diff-field{font-size:11.5px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.conflict-diff-vals{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11.5px}.conflict-diff-val{padding:4px 8px;border-radius:4px;font-family:var(--font-mono)}.conflict-diff-val.your{background:rgba(13,148,136,.08);color:var(--teal-700)}.conflict-diff-val.theirs{background:rgba(217,119,6,.08);color:var(--c-warn,#b45309)}.conflict-diff-val .lbl{font-size:10px;font-weight:600;text-transform:uppercase;margin-right:4px}.conflict-diff-val .val{font-weight:500}.tl-lag-pills-layer{position:absolute;inset:0;pointer-events:none;z-index:4}.tl-lag-pill{position:absolute;display:inline-flex;align-items:center;gap:3px;background:var(--ai-surface,#fef3c7);border:1px solid var(--ai-dim,#fbbf24);color:var(--ai-bright,#b45309);font-family:var(--font-mono,"JetBrains Mono",monospace);font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:4px;pointer-events:auto;cursor:help;white-space:nowrap;transform:translate(-50%,-50%);box-shadow:0 1px 2px rgba(15,23,42,.06)}.tl-lag-pill.negative{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.36);color:var(--c-crit,#b91c1c)}@media (max-width:640px){[data-cmp=StagesPage] .projheader.legacy{grid-template-columns:1fr;padding:12px 14px;gap:10px}[data-cmp=StagesPage] .projheader.legacy h1{font-size:16px;max-width:100%;white-space:normal}[data-cmp=StagesPage] .projheader.legacy .stats{font-size:11px;gap:6px}[data-cmp=StagesPage] .projheader.legacy .right-controls{flex-wrap:wrap;width:100%}[data-cmp=StagesPage] .seg-bp{flex:1}[data-cmp=StagesPage] .seg-bp button{flex:1;padding:5px 8px;font-size:11px}[data-cmp=StagesPage] .pq-langpill{flex:none}[data-cmp=StagesTopBar]{flex-direction:column;align-items:stretch!important;gap:8px!important}[data-cmp=StagesPage] .stage-stream{padding:12px!important;gap:10px!important}[data-cmp=StagesPage] .stage-h{grid-template-columns:auto 1fr auto!important;padding:10px 12px}[data-cmp=StagesPage] .stage-h .progress{display:none}[data-cmp=StagesPage] .stage-h .nm{font-size:13px}[data-cmp=StagesPage] .stage-h .sub{font-size:10px}[data-cmp=ProGanttView] .tl-canvas{grid-template-columns:180px 1fr!important}[data-cmp=ProGanttView] .tl-stage-row,[data-cmp=ProGanttView] .tl-task-row{padding:0 10px;grid-template-columns:30px 1fr 50px}[data-cmp=ProGanttView] .tl-task-row .name .nm-text{font-size:11px}[data-cmp=ProGanttView] .tl-grid-h .col,[data-cmp=ProGanttView] .tl-grid-h .month{padding:6px 8px;font-size:10px}[data-cmp=FlowView] .flow-cols{grid-template-columns:repeat(5,84vw)!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;min-height:480px!important}[data-cmp=FlowView] .flow-col{scroll-snap-align:start}[data-cmp=TaskCardViewer]{top:auto!important;bottom:0!important;right:0!important;left:0!important;width:100%!important;max-height:90vh;height:90vh;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(19,78,74,.18)!important}[data-cmp=TaskCardViewer] .h{padding:14px 18px 12px}[data-cmp=TaskCardViewer] .h h2{font-size:17px}[data-cmp=TaskCardViewer] .b{padding:14px 18px}[data-cmp=SetupWizardModal]{width:100vw!important;max-height:100vh!important;height:100vh!important;border-radius:0!important;transform:none!important;top:0!important;left:0!important}}.status-pill{font-feature-settings:"tnum";letter-spacing:.01em}.status-pill .dot{width:6px;height:6px;border-radius:999px;display:inline-block;margin-right:6px;vertical-align:middle}.baseline-card{display:flex;gap:12px;padding:12px 14px;background:linear-gradient(180deg,#F8FAFC,#F1F5F9);border:1px solid var(--slate-200,#e2e8f0);border-radius:10px;align-items:center;flex-wrap:wrap}.baseline-card .head{display:flex;gap:8px;align-items:baseline;flex:1;min-width:200px;flex-wrap:wrap}.baseline-card .head .title{font-weight:600;color:var(--slate-900,#0F172A);font-size:13px}.baseline-card .head .name{color:var(--slate-700,#334155);font-size:13px;font-family:var(--font-mono)}.baseline-card .head .small{font-size:11px;color:var(--slate-500,#64748B)}.baseline-card .head .pill.late{background:#FEE2E2;color:#991B1B;border-color:transparent;font-size:11px;padding:2px 8px}.baseline-card .head .pill.early{background:#DBEAFE;color:#1E40AF;border-color:transparent;font-size:11px;padding:2px 8px}.baseline-card .actions{display:flex;gap:8px;flex-wrap:wrap}.baseline-card--empty{background:#FEFCE8;border-color:#FDE68A;justify-content:space-between;flex-wrap:wrap;gap:16px}.baseline-card--empty .info{flex:1;min-width:200px}.baseline-card--empty .info strong{display:block;color:var(--slate-900,#0F172A);font-size:13px;margin-bottom:2px}.baseline-card--empty .info .hint{color:var(--slate-600,#475569);font-size:12px;margin:0}.baseline-card .btn-primary,.baseline-card .btn-secondary,.baseline-history-row .btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .12s,border-color .12s}.baseline-card .btn-primary{background:var(--teal-600,#0D9488);color:#FFFFFF}.baseline-card .btn-primary:hover{background:var(--teal-700,#0F766E)}.baseline-card .btn-secondary,.baseline-history-row .btn-secondary{background:#FFFFFF;border-color:var(--color-border,#E2E8F0);color:var(--slate-800,#1E293B)}.baseline-card .btn-secondary:hover,.baseline-history-row .btn-secondary:hover{background:var(--slate-50,#F8FAFC);border-color:var(--slate-300,#CBD5E1)}.baseline-history-list{list-style:none;padding:0;margin:0}.baseline-history-row{padding:12px 4px;border-bottom:1px solid var(--slate-100,#f1f5f9);display:flex;flex-direction:column;gap:6px}.baseline-history-row:last-child{border-bottom:none}.baseline-history-row.active{background:#F0FDFA;border-radius:8px;padding:12px;border-bottom-color:transparent;margin-bottom:8px}.baseline-history-row .meta{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.baseline-history-row .meta .name{font-weight:600;color:var(--slate-900,#0F172A);font-family:var(--font-mono);font-size:13px}.baseline-history-row .meta .small{font-size:11px;color:var(--slate-500,#64748B);margin-left:auto}.baseline-history-row .notes{font-size:12px;color:var(--slate-600,#475569);margin:0}.baseline-history-row .row-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.baseline-history-row .row-actions .small{font-size:11px;color:var(--slate-500,#64748B);margin-right:auto}.modal-field-group{gap:14px}.modal-field,.modal-field-group{display:flex;flex-direction:column}.modal-field{gap:4px}.modal-field-label{font-size:12px;font-weight:500;color:var(--slate-700,#334155)}.modal-field input[type=text],.modal-field textarea{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;padding:8px 10px;background:#FFFFFF;color:var(--slate-900,#0F172A);resize:vertical}.modal-field input[type=text]:focus,.modal-field textarea:focus{outline:none;border-color:var(--teal-500,#14B8A6);box-shadow:0 0 0 3px rgba(20,184,166,.15)}.modal-hint{font-size:12px;color:var(--slate-600,#475569);margin:0;line-height:1.5}.modal-error{font-size:12px;color:var(--rose-800,#991B1B);background:var(--rose-50,#FFF1F2);border:1px solid var(--rose-200,#fecdd3);padding:8px 10px;border-radius:6px;margin:0}.cal-page{padding:12px 18px 32px;max-width:1180px;margin:0 auto}.calendar-tab .date-chip{font-feature-settings:"tnum"}.calendar-tab .radio-list{display:flex;flex-direction:column;gap:8px}.calendar-tab .radio-card{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;cursor:pointer;transition:border-color .12s,background-color .12s}.calendar-tab .radio-card:hover{background:var(--slate-50,#F8FAFC)}.calendar-tab .radio-card.selected{border-color:var(--teal-500,#14B8A6);background:#F0FDFA}.calendar-tab .radio-card input[type=radio]{margin-top:3px}.calendar-tab .radio-card strong{display:block;font-size:13px;color:var(--slate-900,#0F172A);margin-bottom:2px}.calendar-tab .radio-card p{margin:0;font-size:11px;color:var(--slate-600,#475569);line-height:1.4}.calendar-tab .editor-hint{font-size:11px;color:var(--slate-500,#64748B);line-height:1.5}@media (max-width:720px){.cal-layout{grid-template-columns:1fr!important}.cal-page{padding:10px 14px 24px}.journal-page>div[style*=grid-template-columns]{grid-template-columns:1fr!important}}.links-tab .link-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.links-tab .link-row{display:flex;gap:8px;align-items:center;padding:8px 10px;background:var(--color-surface,#FFFFFF);border:1px solid var(--slate-100,#f1f5f9);border-radius:6px}.links-tab .link-row[data-immutable]{background:#FFFBEB;border-color:#FDE68A}.links-tab .link-row-body{flex:1;min-width:0}.links-tab .link-row-title{font-size:12px;font-weight:500;color:var(--slate-900,#0F172A);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.links-tab .link-row-meta{display:flex;gap:6px;align-items:center;margin-top:2px;font-size:10px;color:var(--slate-500,#64748B);flex-wrap:wrap}.links-tab .link-row-budget-no{font-family:var(--font-mono);color:var(--slate-600)}.links-tab .link-row-money{font-family:var(--font-mono);color:var(--slate-700);margin-left:auto}.links-tab .link-unlink-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;padding:4px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--slate-500);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.links-tab .link-unlink-btn:hover:not(:disabled){background:#FEE2E2;color:#991B1B;border-color:#FECDD3}.links-tab .link-unlink-btn:disabled{opacity:.5;cursor:wait}.cp-banner,.seasonal-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:12px}.seasonal-banner.amber-surface{background:var(--amber-50,#fffbeb);color:var(--amber-800,#92400e);border:1px solid var(--amber-200,#fde68a)}.cp-banner.rose-surface{background:var(--rose-50,#fff1f2);color:var(--rose-800,#9f1239);border:1px solid var(--rose-200,#fecdd3)}.cp-banner .banner-clickable,.seasonal-banner .banner-text{flex:1}.cp-banner .banner-clickable{background:none;border:0;text-align:left;cursor:pointer;color:inherit;font-size:inherit;padding:0}.cp-banner .banner-clickable:hover{text-decoration:underline}.banner-actions{display:flex;gap:8px;align-items:center}.banner-cta.amber{background:var(--amber-500,#f59e0b);color:white;border:0;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer}.banner-cta.amber:disabled{opacity:.6;cursor:not-allowed}.banner-close{background:none;border:0;color:inherit;opacity:.7;cursor:pointer;padding:4px}.banner-close:hover{opacity:1}.banner-error{color:var(--rose-700);font-size:11px;margin-left:8px}.stage-filter-dropdown{position:relative;display:inline-block}.stage-filter-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--slate-700);font-size:12px;cursor:pointer}.stage-filter-trigger strong{color:var(--slate-900);font-weight:600}.stage-filter-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:white;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.08);list-style:none;margin:0;padding:4px 0;z-index:30;max-height:320px;overflow-y:auto}.stage-filter-menu li button{display:block;width:100%;text-align:left;padding:6px 12px;background:none;border:0;font-size:12px;color:var(--slate-700);cursor:pointer}.stage-filter-menu li button[aria-selected=true]{background:var(--teal-50);color:var(--teal-900);font-weight:500}.stage-filter-menu li button:hover{background:var(--slate-50)}.seasonal-banner.is-info.amber-surface{background:var(--slate-50,#f8fafc);color:var(--slate-700);border-color:var(--slate-200,#e2e8f0)}.seasonal-banner .banner-hint{font-style:normal;color:var(--slate-500);font-size:12px}.seasonal-banner.is-info .banner-hint{color:var(--slate-600)}.hard-conflict-context{background:var(--rose-50,#fff1f2);border:1px solid var(--rose-200,#fecdd3);border-radius:10px;padding:14px 16px;margin-bottom:18px;font-size:13px;line-height:1.55;color:var(--slate-800,#1f2937)}.hard-conflict-context strong{color:var(--rose-800,#9f1239);font-weight:600}.hard-conflict-context p{margin:6px 0 0}.hard-conflict-grid-section{margin-bottom:20px}.hard-conflict-grid-section h4{font-size:11px;font-weight:600;color:var(--slate-600,#475569);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.hard-conflict-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hard-conflict-grid-cell{background:var(--color-surface,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono,ui-monospace,"JetBrains Mono",monospace)}.hard-conflict-grid-cell strong{font-size:13px;color:var(--slate-900,#0f172a);font-weight:600}.hard-conflict-grid-cell span{font-size:10px;color:var(--slate-500,#64748b);font-family:var(--font-body,system-ui)}.hard-conflict-grid-cell.active{border-color:var(--rose-500,#f43f5e);background:var(--rose-50,#fff1f2);box-shadow:0 0 0 1px var(--rose-500,#f43f5e) inset}.hard-conflict-grid-cell.active strong{color:var(--rose-800,#9f1239);font-weight:700}.hard-conflict-variants-section{margin-bottom:16px}.hard-conflict-variants-section h4{font-size:11px;font-weight:600;color:var(--slate-600,#475569);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.hard-conflict-variant-card{display:flex;gap:12px;padding:12px 14px;margin-bottom:8px;background:var(--color-surface,#ffffff);border:1.5px solid var(--color-border,#e2e8f0);border-radius:10px;text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.hard-conflict-variant-card:hover{border-color:var(--slate-300,#cbd5e1)}.hard-conflict-variant-card.selected{border-color:var(--teal-600,#0d9488);background:var(--teal-50,#f0fdfa);box-shadow:0 0 0 1px var(--teal-600,#0d9488) inset}.hard-conflict-variant-card.recommended:not(.selected){border-color:var(--teal-300,#5eead4)}.hard-conflict-variant-card:focus-visible{outline:2px solid var(--teal-600,#0d9488);outline-offset:2px}.variant-circle{width:32px;height:32px;border-radius:50%;background:var(--slate-200,#e2e8f0);color:var(--slate-700,#334155);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;font-family:var(--font-mono,monospace)}.hard-conflict-variant-card.selected .variant-circle{background:var(--teal-600,#0d9488);color:#ffffff}.variant-body{flex:1;min-width:0}.variant-title{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.variant-title strong{font-size:14px;color:var(--slate-900,#0f172a);font-weight:600}.ai-recommend-pill{display:inline-flex;align-items:center;gap:4px;background:var(--teal-600,#0d9488);color:#ffffff;font-size:9.5px;font-weight:700;padding:2px 7px;border-radius:99px;letter-spacing:.04em;text-transform:uppercase}.variant-description{font-size:12.5px;color:var(--slate-600,#475569);margin:0 0 6px;line-height:1.45}.variant-meta{display:inline-block;font-size:11px;color:var(--slate-500,#64748b);margin-right:10px;font-family:var(--font-mono,monospace)}.variant-meta.risk{color:var(--rose-700,#be123c);font-weight:500}.hard-conflict-ai-reasoning{display:flex;align-items:flex-start;gap:8px;background:var(--ai-surface,#fffbeb);border-left:3px solid var(--ai-bright,#f59e0b);padding:8px 12px;font-size:12px;color:var(--slate-700,#334155);border-radius:0 6px 6px 0;line-height:1.5}.hard-conflict-ai-reasoning svg{flex-shrink:0;color:var(--ai-bright,#f59e0b);margin-top:2px}.modal-error-text{font-size:12px;color:var(--rose-700,#be123c);margin-right:auto;align-self:center;max-width:320px;line-height:1.4}.lock-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:var(--rose-50,#fff1f2);border:1px solid var(--rose-200,#fecdd3);font-size:11px;font-weight:500;color:var(--rose-800,#9f1239);line-height:1}.lock-indicator.is-self{background:var(--teal-50,#f0fdfa);border-color:var(--teal-200,#99f6e4);color:var(--teal-800,#115e59)}.lock-indicator.is-stale{background:var(--slate-50,#f8fafc);border-color:var(--slate-200,#e2e8f0);color:var(--slate-600,#475569)}.lock-indicator .dot{width:6px;height:6px;border-radius:50%;background:var(--rose-500,#f43f5e)}.lock-indicator.is-self .dot{background:var(--teal-500,#14b8a6)}.lock-indicator.is-stale .dot{background:var(--slate-400,#94a3b8)}.lock-indicator .holder-name{font-weight:500}.lock-indicator svg{flex-shrink:0}@keyframes rotate-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rotate-spinner{animation:rotate-spinner 1.2s linear infinite;transform-origin:center}@media (prefers-reduced-motion:reduce){.rotate-spinner{animation:none}}