@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--navy: #0b1f3a;--navy-deep: #060d1a;--navy-mid: #0f1e35;--ink: #152238;--muted: #5b6b82;--line: #d9e2ef;--surface: #ffffff;--bg: #eef2f7;--green: #10b981;--blue: #3b82f6;--cyan: #06b6d4;--amber: #f59e0b;--red: #ef4444;--grey: #8b95a5;--purple: #8b5cf6;--glass-bg: rgba(15, 30, 53, .72);--glass-border: rgba(59, 130, 246, .18);--glass-highlight: rgba(255, 255, 255, .06);--glass-blur: blur(20px);--sidebar-width: 240px;--shadow: 0 10px 30px rgba(11, 31, 58, .08);--glow-blue: 0 0 24px rgba(59, 130, 246, .35);--glow-cyan: 0 0 20px rgba(6, 182, 212, .28);--radius: 14px;--font: "Inter", "Segoe UI", sans-serif;--display: "Inter", "Segoe UI", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 500px at 10% -10%,rgba(59,130,246,.1),transparent 55%),radial-gradient(900px 400px at 100% 0%,rgba(6,182,212,.07),transparent 50%),var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3b82f659;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#3b82f699}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.3fr 1fr;overflow:hidden}.login-hero{position:relative;background:linear-gradient(160deg,#060d1a,#0a1628 45%,#081323);color:#e8f0ff;display:flex;align-items:flex-end;padding:64px 60px;overflow:hidden}.login-hero-orbs{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45;animation:orb-drift 12s ease-in-out infinite alternate}.orb-1{width:520px;height:520px;top:-120px;left:-100px;background:radial-gradient(circle,rgba(59,130,246,.6),transparent 70%);animation-duration:14s}.orb-2{width:380px;height:380px;bottom:-80px;right:-60px;background:radial-gradient(circle,rgba(6,182,212,.5),transparent 70%);animation-duration:10s;animation-delay:-3s}.orb-3{width:280px;height:280px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(139,92,246,.3),transparent 70%);animation-duration:18s;animation-delay:-6s}@keyframes orb-drift{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.08)}66%{transform:translate(-20px,30px) scale(.95)}to{transform:translate(15px,-15px) scale(1.05)}}.login-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(59,130,246,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.06) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.login-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:36px}.login-brand-mark{display:flex;align-items:center;gap:16px}.login-crest{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#f0d37a,#c89c2e);display:grid;place-items:center;font-size:1.4rem;box-shadow:0 0 28px #f0d37a73;flex-shrink:0}.login-brand-name{font-family:var(--display);font-weight:800;font-size:1.4rem;letter-spacing:.06em;color:#e8f4ff}.login-brand-sub{font-size:.78rem;font-weight:500;color:#6b8fc8;letter-spacing:.04em;margin-top:2px}.login-hero-copy{display:flex;flex-direction:column;gap:14px}.login-eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#4db6ff}.login-headline{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,3.5vw,3.2rem);line-height:1.12;letter-spacing:-.02em;color:#fff;text-shadow:0 2px 24px rgba(59,130,246,.25)}.login-tagline{margin:0;color:#7fa3d1;font-size:1rem;line-height:1.6;max-width:36rem;font-weight:400}.login-hero-stats{display:flex;gap:32px}.hero-stat{display:flex;flex-direction:column;gap:4px}.hero-stat-value{font-family:var(--display);font-size:2rem;font-weight:800;color:#fff;line-height:1;background:linear-gradient(135deg,#60d0ff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat-label{font-size:.72rem;font-weight:600;color:#5a7ba8;text-transform:uppercase;letter-spacing:.1em}.login-panel{background:linear-gradient(180deg,#080e1d,#0b1525);border-left:1px solid rgba(59,130,246,.15);display:flex;align-items:center;justify-content:center;padding:48px 40px;position:relative;overflow:hidden}.login-panel:before{content:"";position:absolute;top:-200px;right:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(59,130,246,.08),transparent 60%);pointer-events:none}.login-card{width:100%;max-width:400px;background:#0f1c34cc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(59,130,246,.2);border-radius:20px;padding:40px 36px;box-shadow:0 0 0 1px #ffffff0a inset,0 24px 64px #00000080,0 0 60px #3b82f614;animation:card-in .5s ease}@keyframes card-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card-header{text-align:center;margin-bottom:32px}.login-card-icon{font-size:2rem;margin-bottom:12px;filter:drop-shadow(0 0 12px rgba(59,130,246,.6))}.login-card-title{margin:0 0 6px;font-family:var(--display);font-size:1.6rem;font-weight:700;color:#e8f4ff;letter-spacing:-.01em}.login-card-sub{margin:0;font-size:.82rem;color:#4a6d9c;font-weight:500;letter-spacing:.04em}.login-form{display:flex;flex-direction:column;gap:18px}.login-field{display:flex;flex-direction:column;gap:7px}.login-label{font-size:.78rem;font-weight:600;color:#6b8fc8;letter-spacing:.04em;text-transform:uppercase}.login-input{background:#ffffff0d;border:1px solid rgba(59,130,246,.25);border-radius:10px;padding:13px 16px;color:#e8f4ff;font-size:.95rem;font-weight:400;transition:border-color .2s,box-shadow .2s,background .2s;outline:none}.login-input::placeholder{color:#3a5070}.login-input:focus{border-color:#3b82f6b3;background:#3b82f612;box-shadow:0 0 0 3px #3b82f626}.login-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:11px 14px;color:#fca5a5;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:8px;animation:shake .35s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-submit{margin-top:6px;border:0;border-radius:12px;padding:14px 20px;font-size:.95rem;font-weight:700;letter-spacing:.02em;color:#030a14;background:linear-gradient(135deg,#3ecf9a,#3b82f6 60%,#60d0ff);cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .25s;box-shadow:0 4px 20px #3b82f659;position:relative;overflow:hidden}.login-submit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent 60%);pointer-events:none}.login-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 8px 32px #3b82f680}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit.loading{opacity:.7;cursor:not-allowed;display:flex;align-items:center;justify-content:center}.login-spinner{width:18px;height:18px;border:2px solid rgba(3,10,20,.3);border-top-color:#030a14;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-footer-note{margin:24px 0 0;text-align:center;font-size:.72rem;color:#2d4a6e;line-height:1.7}.sidebar-overlay,.sidebar-close-btn,.hamburger{display:none}.topbar-header-row{display:flex;align-items:center}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr}.sidebar{background:linear-gradient(180deg,#060c1a,#080f1e);border-right:1px solid rgba(59,130,246,.12);color:#c7d9f5;padding:0 10px 20px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;overflow:hidden}.brand-block{display:flex;gap:11px;align-items:center;padding:18px 10px 16px;border-bottom:1px solid rgba(59,130,246,.1);margin-bottom:4px;flex-shrink:0}.crest{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#f0d37a,#b8872d);color:#3a2a08;font-size:1.1rem;box-shadow:0 0 16px #f0d37a4d;flex-shrink:0}.brand{font-family:var(--display);font-weight:800;letter-spacing:.06em;font-size:1.05rem;color:#e0edff}.brand-sub{font-size:.7rem;font-weight:500;color:#3d6090;letter-spacing:.03em;margin-top:1px}.menu{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;padding:2px 0}.menu a{display:flex;align-items:center;gap:10px;color:#4a6a98;padding:9px 12px;border-radius:10px;font-weight:500;font-size:.86rem;transition:background .18s,color .18s,box-shadow .18s;text-decoration:none;letter-spacing:.01em}.menu a:hover{background:#3b82f61a;color:#a0c0f0}.menu a.active{background:#3b82f62e;color:#93c5fd;font-weight:600;box-shadow:inset 0 0 0 1px #3b82f633}.nav-icon{font-size:.9rem;width:18px;text-align:center;flex-shrink:0;opacity:.75}.menu a.active .nav-icon{opacity:1}.nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{flex-shrink:0;border-top:1px solid rgba(59,130,246,.1);padding:14px 10px 0;display:flex;flex-direction:column;gap:8px}.sidebar-user{display:flex;align-items:center;gap:10px}.sidebar-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center;flex-shrink:0;letter-spacing:.03em}.sidebar-user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-user-name{font-size:.82rem;font-weight:600;color:#b0cdf5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.68rem;color:#3d6090;font-weight:500}.sidebar-date{margin:0;font-size:.68rem;color:#273d5c}.main-column{display:flex;flex-direction:column;min-width:0;background:radial-gradient(1000px 400px at 80% -5%,rgba(59,130,246,.05),transparent 60%),#f0f4fa}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 24px 12px;background:#f0f4fad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(59,130,246,.1);position:sticky;top:0;z-index:20}.topbar-heading h1,.topbar h1{margin:0;font-family:var(--display);font-size:1.45rem;font-weight:700;color:var(--navy);letter-spacing:-.02em}.subtitle{margin:2px 0 0;color:var(--muted);font-size:.85rem;font-weight:400}.topbar-meta,.topbar-meta-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar-actions{display:flex;align-items:center;gap:8px}.meta-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.01em}.role-chip{background:#3b82f614;border-color:#3b82f640;color:#2563eb}.variance-chip{background:#f59e0b14;border-color:#f59e0b40;color:#b45309;display:flex;align-items:center;gap:6px}.variance-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0}.avatar{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:700;font-size:.8rem}.topbar-controls{display:flex;align-items:center;gap:8px;position:relative}.live-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 10px;font-size:.75rem;color:var(--muted);font-weight:600}.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--grey)}.live-pill.on{color:var(--green);border-color:#10b98159;background:#10b9810f}.live-pill.on i{background:var(--green);box-shadow:0 0 #10b98173;animation:pulse 2s infinite}.bell-wrap,.account-wrap{position:relative}.bell-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--navy);display:grid;place-items:center;position:relative;cursor:pointer;transition:background .15s,border-color .15s}.bell-btn.open,.bell-btn:hover{border-color:#3b82f666;background:#3b82f60f}.bell-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 3px;border-radius:999px;background:var(--red);color:#fff;font-size:.65rem;font-weight:800;display:grid;place-items:center}.account-btn{border:0;cursor:pointer}.notif-panel,.account-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #0b1f3a26}.notif-panel{width:min(380px,calc(100vw - 32px));overflow:hidden}.notif-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--line)}.notif-panel-head p{margin:2px 0 0;font-size:.78rem;color:var(--muted)}.notif-list{max-height:360px;overflow:auto}.notif-item{width:100%;text-align:left;border:0;border-bottom:1px solid #eef2f7;background:#fff;padding:12px 14px;display:grid;gap:4px;cursor:pointer}.notif-item.unread{background:#f3f8ff}.notif-item strong{color:var(--navy);font-size:.9rem}.notif-item p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}.notif-item time{font-size:.72rem;color:#8a9bb5}.notif-tag{width:fit-content;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}.notif-item.kind-broadcast .notif-tag{color:var(--purple)}.notif-item.kind-deadline .notif-tag,.notif-item.kind-alert .notif-tag{color:var(--amber)}.notif-item.kind-task_complete .notif-tag{color:var(--green)}.notif-panel-foot{padding:10px 14px;border-top:1px solid var(--line);font-weight:700;font-size:.88rem}.account-menu{width:220px;padding:8px;display:grid;gap:4px}.account-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:4px;display:grid}.account-menu-head span{font-size:.78rem;color:var(--muted)}.account-menu a,.account-menu button{text-align:left;border:0;background:transparent;border-radius:8px;padding:9px 10px;color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none}.account-menu a:hover,.account-menu button:hover{background:#eef3fa}.toast-stack{position:fixed;top:18px;right:18px;z-index:80;display:grid;gap:10px;width:min(360px,calc(100vw - 24px));pointer-events:none}.toast-card{pointer-events:auto;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 12px 14px;border-radius:14px;background:#0b1f3a;color:#e8f0ff;box-shadow:0 16px 40px #07152859;border:1px solid rgba(255,255,255,.08);animation:toast-in .35s ease}.toast-card strong{display:block;margin-bottom:4px;font-size:.92rem}.toast-card p{margin:0;font-size:.82rem;color:#b7c9e8;line-height:1.4}.toast-kind{margin:0 0 4px!important;font-size:.68rem!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7ad0a8!important}.toast-card.kind-broadcast .toast-kind{color:#c4b0ff!important}.toast-card.kind-deadline .toast-kind,.toast-card.kind-alert .toast-kind{color:#ffb574!important}.toast-card .icon-btn{color:#9eb6dc}.toast-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:linear-gradient(90deg,#3ecf9a,#4db6ff);transform-origin:left center;animation:toast-drain 10s linear forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px) translate(12px)}to{opacity:1;transform:translateY(0) translate(0)}}@keyframes toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toggle-row{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}.main-content{padding:8px 24px 24px}.app-footer{margin-top:auto;padding:10px 24px 16px;color:var(--muted);font-size:.82rem;display:flex;align-items:center;gap:8px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #10b98180;animation:pulse 2s infinite;flex-shrink:0}@keyframes pulse{70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.filter-bar{display:grid;grid-template-columns:1.4fr repeat(4,minmax(120px,1fr)) auto;gap:10px;padding:12px 24px 4px;align-items:end}.filter-bar .person-picker{min-width:0}.filter-bar .person-picker-menu{z-index:45}.page-stack .filter-bar{padding:0;margin-bottom:12px}.filter-bar label{display:grid;gap:4px;font-size:.78rem;color:var(--muted);font-weight:600}.filter-bar input,.filter-bar select{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 10px;color:var(--ink)}.filter-search{min-width:0}.btn-primary,.btn-ghost,.icon-btn,.task-actions button,.subtask-row button,.link-btn{cursor:pointer}.btn-primary{border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(90deg,#1a73e8,#2b8cff);color:#fff;font-weight:700}.btn-ghost{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:8px 12px;color:var(--ink)}.icon-btn{border:0;background:transparent;font-size:1.4rem;line-height:1;color:var(--muted)}.danger-text{color:var(--red)!important;background:transparent;border:0}.page-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.section-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.section-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.section-card-head h3{margin:0;font-family:var(--display);font-size:1.05rem;color:var(--navy)}.page-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.health-ribbon{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);display:grid;gap:6px;min-height:118px}.kpi-card p{margin:0;color:var(--muted);font-size:.82rem;font-weight:600}.kpi-card h2{margin:0;font-family:var(--display);font-size:1.55rem;color:var(--navy)}.kpi-card.danger h2{color:var(--red)}.kpi-card.warn h2{color:var(--amber)}.kpi-card.decision h2{color:var(--purple)}.kpi-donut{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0 0%,#e5ebf4 0);position:relative}.kpi-donut strong{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:.85rem;color:var(--green)}.overall-status-chip{display:inline-flex;gap:10px;align-items:center;margin-bottom:10px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:var(--muted)}.dash-mid,.dash-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.rag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700;white-space:nowrap}.rag:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.rag-completed,.rag-on_track{color:var(--green);background:#1f9d631f}.rag-on_track{color:var(--blue);background:#1a73e81f}.rag-at_risk,.rag-warn,.rag-mitigating,.rag-high{color:var(--amber);background:#e67e2224}.rag-delayed,.rag-blocked,.rag-escalated,.rag-critical{color:var(--red);background:#d645451f}.rag-planned,.rag-not_started,.rag-closed{color:var(--grey);background:#8b95a529}.rag-on_hold{color:#8e44ad;background:#8e44ad24}.rag-in_progress,.rag-open,.rag-pm_review,.rag-submitted,.rag-draft{color:var(--blue);background:#1a73e81f}.rag-approved,.rag-resolved{color:var(--green);background:#1f9d631f}.rag-rejected{color:var(--red);background:#d645451f}.rag-apex_review{color:var(--amber);background:#e67e2224}.progress-track{height:8px;background:#e8eef7;border-radius:999px;overflow:hidden;min-width:70px}.progress-fill{height:100%;background:var(--blue);border-radius:inherit}.progress-fill.tone-completed,.progress-fill.tone-on_track{background:var(--green)}.progress-fill.tone-at_risk{background:var(--amber)}.progress-fill.tone-delayed{background:var(--red)}.progress-fill.tone-planned{background:var(--grey)}.progress-fill.tone-on_track{background:var(--blue)}.journey-timeline{padding:8px 4px 4px}.tl-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.tl-meta{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:8px 12px;display:grid;gap:2px;min-width:120px}.tl-meta span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tl-meta.today{border-color:#9fc2f5;background:#eef5ff}.tl-meta.today strong{color:var(--blue)}.tl-meta.risk strong,.tl-meta.risk em{color:var(--red)}.tl-meta em{font-style:normal;font-size:.78rem;font-weight:700}.tl-legend{display:flex;gap:16px;font-size:.82rem;color:var(--muted);margin-bottom:8px}.tl-legend .line{display:inline-block;width:22px;height:3px;margin-right:6px;vertical-align:middle;border-radius:2px}.tl-legend .planned{background:var(--navy)}.tl-legend .actual{background:var(--green)}.tl-legend .forecast{background:repeating-linear-gradient(90deg,var(--blue),var(--blue) 4px,transparent 4px,transparent 8px)}.tl-scroll-area{width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 4px 12px;margin-top:4px;scrollbar-width:thin;scrollbar-color:var(--blue) var(--line)}.tl-scroll-area::-webkit-scrollbar{height:6px}.tl-scroll-area::-webkit-scrollbar-track{background:var(--line);border-radius:999px}.tl-scroll-area::-webkit-scrollbar-thumb{background:var(--blue);border-radius:999px}.tl-scroll-content{min-width:980px;padding-left:10px;padding-right:55px;box-sizing:border-box}.tl-axis{display:grid;grid-template-columns:repeat(16,1fr);font-size:.7rem;color:var(--muted);margin-bottom:8px}.tl-track-wrap{position:relative;height:120px;margin:12px 0 8px;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#eef3fa);border:1px solid var(--line)}.tl-track{position:absolute;top:56px;left:0;height:4px;border-radius:4px}.tl-track.planned{background:var(--navy);opacity:.35}.tl-track.actual{background:var(--green)}.tl-track.forecast{background:repeating-linear-gradient(90deg,var(--blue),var(--blue) 5px,transparent 5px,transparent 10px)}.tl-today{position:absolute;top:8px;bottom:8px;width:0;border-left:2px dashed var(--blue);transform:translate(-1px)}.tl-today span{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);background:var(--blue);color:#fff;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:999px}.tl-milestone{position:absolute;top:28px;transform:translate(-50%);width:88px;text-align:center;color:inherit}.tl-dot{width:28px;height:28px;margin:0 auto 4px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:3px solid currentColor;background:#fff;color:inherit}.tl-milestone.rag-completed{color:var(--green)}.tl-milestone.rag-on_track{color:var(--blue)}.tl-milestone.rag-at_risk{color:var(--amber)}.tl-milestone.rag-delayed{color:var(--red)}.tl-milestone.rag-planned{color:var(--grey)}.tl-milestone.rag-on_hold{color:#8e44ad}.tl-name{display:block;font-size:.68rem;font-weight:700;color:var(--navy);line-height:1.2}.tl-date{display:block;font-size:.62rem;color:var(--muted)}.tl-hint{margin:8px 0 0;color:var(--blue);font-size:.85rem}.legend-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-top:16px}.status-legend,.milestone-counts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.milestone-counts>div{display:flex;gap:8px;align-items:center}.variance-box{border:1px solid #f0c9a4;background:#fff7ef;border-radius:12px;padding:12px}.variance-box strong{color:var(--amber);font-size:1.2rem}.data-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.phase-list{display:grid;gap:10px}.phase-row{display:grid;grid-template-columns:1.3fr 1fr auto auto auto;gap:8px;align-items:center}.phase-row small,.muted{color:var(--muted)}.phase-row>div{display:grid}.upcoming-block{margin-bottom:10px}.upcoming-block h4{margin:0 0 6px;font-size:.85rem;color:var(--navy)}.upcoming-block ul,.simple-list,.decision-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.upcoming-block li,.simple-list li{display:grid;grid-template-columns:1.4fr auto auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #eef2f7;font-size:.88rem}.decision-grid{display:grid;gap:10px}.decision-card{border-radius:12px;padding:10px 12px;border:1px solid var(--line)}.decision-card.info{background:#eef5ff;border-color:#c5dbff}.decision-card.warn{background:#fff6eb;border-color:#f0d0a8}.decision-card.danger{background:#fff0f0;border-color:#f0bcbc}.decision-card li{font-size:.85rem;color:var(--ink)}.decision-card em{color:var(--muted);font-style:normal}.readiness-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:14px;align-items:center}.readiness-list{display:grid;gap:8px}.readiness-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px;align-items:center;font-size:.88rem}.readiness-score{border:1px solid var(--line);border-radius:16px;padding:18px;text-align:center;background:#f7faff}.readiness-score strong{display:block;font-family:var(--display);font-size:2.2rem;color:var(--amber)}.task-snapshot{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.snap-tile{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfe}.snap-tile p{margin:0;color:var(--muted);font-size:.8rem}.snap-tile h2{margin:6px 0 0;font-family:var(--display)}.snap-tile.completed h2{color:var(--green)}.snap-tile.on_track h2{color:var(--blue)}.snap-tile.delayed h2{color:var(--red)}.snap-tile.planned h2{color:var(--grey)}.snap-tile.action{display:grid;place-items:center;font-weight:700;color:var(--blue)}.task-tree{display:grid;gap:12px}.task-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfe}.task-main{display:grid;grid-template-columns:1.5fr 1fr auto;gap:12px}.task-main h4{margin:0 0 4px;color:var(--navy)}.task-main p{margin:0 0 8px;color:var(--muted);font-size:.9rem}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.task-meta{display:grid;gap:6px;font-size:.88rem}.task-actions{display:grid;gap:6px;align-content:start}.task-actions button,.subtask-row button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:.8rem}.deps-line{margin:8px 0 0;font-size:.82rem;color:var(--muted)}.subtask-list{margin-top:10px;display:grid;gap:6px;padding-left:12px;border-left:3px solid #d7e4f7}.subtask-row{display:grid;grid-template-columns:1.4fr auto auto auto auto auto;gap:8px;align-items:center;font-size:.88rem}.prio{text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.04em}.prio-critical,.prio-high{color:var(--red)}.prio-medium{color:var(--amber)}.prio-low{color:var(--grey)}.pillar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pillar-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfe}.pillar-card h3{margin:0 0 10px;font-size:1rem;color:var(--navy)}.dep-chains{display:grid;gap:10px}.dep-card{border:1px solid var(--line);border-radius:12px;padding:12px}.dep-flow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.dep-flow em{font-style:normal;padding:4px 8px}.arrow{color:var(--muted);font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-grid article{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfe}.report-grid h4{margin:0 0 6px;color:var(--navy)}.report-grid .btn-primary{margin-top:10px}.compact-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.readiness-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.readiness-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:linear-gradient(160deg,#fff,#f4f7fb);display:grid;gap:10px}.readiness-card .score-lg{font-size:1.6rem;color:var(--navy);font-family:var(--display)}.readiness-score.big{display:grid;gap:8px;justify-items:start}.readiness-score.big strong{font-size:3rem;line-height:1}.page-hero-readiness{display:grid;grid-template-columns:2fr 1fr;gap:14px}@media (max-width: 960px){.readiness-cards,.page-hero-readiness{grid-template-columns:1fr}}.pod-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pod-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfcfe;display:grid;gap:8px}.pod-card h4{margin:6px 0 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.pod-card p{margin:0;font-size:.88rem;color:var(--steel)}@media (max-width: 960px){.pod-grid{grid-template-columns:1fr}}.empty-state{color:var(--muted);font-size:.9rem}.text-danger{color:var(--red);font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0715288c;display:grid;place-items:center;z-index:50;padding:20px}.modal-panel{width:min(560px,100%);background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000040;max-height:90vh;overflow:auto}.modal-panel.wide{width:min(760px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0;font-family:var(--display);color:var(--navy)}.modal-body{padding:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:5px;font-size:.85rem;color:var(--muted);font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);border-radius:10px;padding:9px 10px;color:var(--ink);background:#fff}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:8px}.tab-pills{font-size:.8rem;color:var(--muted)}@media (max-width: 1200px){.health-ribbon{grid-template-columns:repeat(4,minmax(0,1fr))}.dash-mid,.dash-bottom,.task-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;height:100vh;z-index:100;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(180deg,#060c1a,#080f1e);border-right:1px solid rgba(59,130,246,.15);box-shadow:none;padding:0 16px 20px}.sidebar.open{transform:translate(0);box-shadow:0 0 40px #00000073}.hamburger{display:block;background:none;border:none;font-size:1.5rem;color:var(--navy);cursor:pointer;padding:6px;margin-right:0;line-height:1;display:flex;align-items:center;justify-content:center}.sidebar-close-btn{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid rgba(59,130,246,.2);background:#ffffff0d;color:#93c5fd;font-size:1.1rem;cursor:pointer;margin-left:auto;transition:background .15s,color .15s}.sidebar-close-btn:hover{background:#3b82f626;color:#fff}.sidebar-overlay.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#060d1aa6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:99;cursor:pointer;pointer-events:auto;animation:fadeIn .2s ease-out}.menu{display:flex;flex-direction:column;gap:4px;overflow-y:auto}.topbar{display:grid;grid-template-areas:"heading actions" "chips chips";grid-template-columns:1fr auto;align-items:center;gap:10px;padding:12px 16px}.topbar-heading{grid-area:heading}.topbar-meta{display:contents}.topbar-meta-chips{grid-area:chips;display:flex;flex-wrap:wrap;gap:6px}.topbar-actions{grid-area:actions;display:flex;align-items:center;gap:10px}.bell-wrap,.topbar-controls{position:static}.notif-panel{position:absolute;top:100%;left:16px;right:16px;width:auto;max-width:none;z-index:99}.topbar-heading h1{font-size:1.25rem}.topbar-heading .subtitle{font-size:.78rem}.health-ribbon,.dash-mid,.dash-bottom,.task-snapshot,.pillar-grid,.report-grid,.readiness-layout,.detail-grid,.legend-summary,.task-main,.phase-row,.subtask-row,.upcoming-block li{grid-template-columns:minmax(0,1fr)}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-left:16px;padding-right:16px}.filter-search,.filter-bar .btn-ghost{grid-column:span 2}.main-content{padding-left:16px;padding-right:16px}.tl-milestone{width:70px}.login-layout{grid-template-columns:1fr}.login-hero{padding:48px 24px;align-items:center;text-align:center;min-height:auto}.login-brand-mark{justify-content:center}.login-hero-copy{align-items:center}.login-hero-stats{justify-content:center;gap:20px;width:100%}.login-panel{padding:32px 16px;border-left:0;border-top:1px solid rgba(59,130,246,.15)}.login-card{padding:28px 20px;width:100%;max-width:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.person-picker{display:grid;gap:5px;font-size:.85rem;color:var(--muted);font-weight:600;position:relative}.person-picker-control{position:relative}.person-picker-value{width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff;color:var(--ink);cursor:pointer}.person-picker-menu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}.person-picker-menu input{width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 12px}.person-picker-list{max-height:220px;overflow:auto}.person-picker-list button{width:100%;text-align:left;border:0;background:#fff;padding:10px 12px;display:grid;gap:2px;cursor:pointer}.person-picker-list button.is-selected{background:#e8f2ff}.select-hint{font-style:normal;color:var(--muted);font-weight:500;font-size:.85em}.searchable-select .person-picker-menu{z-index:50}.person-picker-list button span{font-size:.78rem;color:var(--muted);font-weight:500}.login-accounts{display:grid;gap:8px;margin:14px 0 18px}.login-accounts button{text-align:left;border:1px solid #2c4a78;background:#0b1a35;color:#d7e4ff;border-radius:10px;padding:10px 12px;display:grid;gap:2px;cursor:pointer}.login-accounts button.active,.login-accounts button:hover{border-color:#4db6ff;background:#122746}.login-accounts strong{color:#fff}.login-accounts span,.login-accounts em{font-size:.78rem;color:#8ea6cf;font-style:normal}.chat-layout{display:grid;grid-template-columns:220px 1fr;gap:12px;min-height:420px}.chat-channels{display:grid;gap:6px;align-content:start}.chat-channels button{text-align:left;border:1px solid var(--line);background:#fbfcfe;border-radius:10px;padding:10px;display:grid;gap:2px;cursor:pointer}.chat-channels button.active{border-color:#9fc2f5;background:#eef5ff}.chat-channels span{font-size:.75rem;color:var(--muted)}.chat-main{border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:420px;background:#fbfcfe}.chat-main header{padding:12px 14px;border-bottom:1px solid var(--line)}.chat-main h3{margin:0;color:var(--navy)}.chat-messages{flex:1;overflow:auto;padding:12px;display:grid;gap:10px;align-content:start}.chat-bubble{max-width:85%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.chat-bubble.mine{justify-self:end;background:#e8f2ff;border-color:#c5dbff}.chat-bubble p{margin:4px 0}.chat-bubble time{font-size:.72rem;color:var(--muted)}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line)}.chat-compose input{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.comment-box{margin-top:10px;display:grid;gap:8px;padding:10px;background:#f4f7fb;border-radius:10px}.comment-box form{display:grid;grid-template-columns:1fr auto;gap:8px}.comment-box input{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.comment-row{display:grid;gap:2px;font-size:.88rem}.comment-row time{font-size:.72rem;color:var(--muted)}.announce-list{display:grid;gap:12px}.announce-list article{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fbfcfe}.announce-list h4{margin:0 0 6px;color:var(--navy)}.activity-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.activity-list li{display:grid;grid-template-columns:110px 140px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9rem}.account-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:10px}.account-cards div{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:2px;font-size:.82rem}.account-cards div.active{border-color:var(--blue);background:#eef5ff}.account-cards em{color:var(--muted);font-style:normal;text-transform:capitalize}.role-hint{margin:0;padding:8px 12px;background:#eef5ff;border-radius:10px;color:var(--navy);font-weight:600;font-size:.9rem}.rag-submitted{color:var(--purple);background:#6b4fcf1f}@media (max-width: 900px){.chat-layout,.activity-list li{grid-template-columns:1fr}}.text-ok{color:var(--green);font-weight:700;text-transform:uppercase;font-size:.8rem}.tl-track-wrap-clean{min-height:72px;margin-top:8px}.tl-cluster{position:absolute;top:8px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;z-index:2;pointer-events:none}.tl-cluster-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.68rem;font-weight:700;color:#fff;background:var(--blue);border:2px solid #fff;box-shadow:0 1px 4px #0f172a33}.tl-cluster.rag-completed .tl-cluster-dot{background:var(--green)}.tl-cluster.rag-on_track .tl-cluster-dot{background:var(--blue)}.tl-cluster.rag-at_risk .tl-cluster-dot{background:var(--orange)}.tl-cluster.rag-delayed .tl-cluster-dot{background:var(--red)}.tl-cluster.rag-on_hold .tl-cluster-dot{background:var(--purple)}.tl-cluster.rag-planned .tl-cluster-dot{background:#94a3b8}.tl-cluster-date{position:absolute;left:50%;transform:translate(-50%);font-size:.62rem;font-weight:600;color:var(--navy);white-space:nowrap;background:#ffffffeb;padding:1px 4px;border-radius:4px;z-index:5}.tl-cluster:nth-child(2n) .tl-cluster-date{top:26px}.tl-cluster:nth-child(odd) .tl-cluster-date{bottom:26px}.status-stack-chart{margin-top:12px;display:grid;gap:8px}.status-stack-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#e8eef6}.stack-seg{height:100%;min-width:2px}.stack-seg.rag-completed{background:var(--green)}.stack-seg.rag-on_track{background:var(--blue)}.stack-seg.rag-at_risk{background:var(--orange)}.stack-seg.rag-delayed{background:var(--red)}.stack-seg.rag-on_hold{background:var(--purple)}.stack-seg.rag-planned{background:#94a3b8}.status-stack-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:.78rem}.date-cluster-list{display:grid;gap:10px}.date-cluster-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.date-cluster-card.rag-border-delayed{border-left:4px solid var(--red)}.date-cluster-card.rag-border-at_risk{border-left:4px solid var(--orange)}.date-cluster-card.rag-border-on_hold{border-left:4px solid var(--purple)}.date-cluster-card.rag-border-on_track{border-left:4px solid var(--blue)}.date-cluster-card.rag-border-completed{border-left:4px solid var(--green)}.date-cluster-card.rag-border-planned{border-left:4px solid #94a3b8}.date-cluster-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:0;background:#f8fafc;cursor:pointer;text-align:left}.date-cluster-body{padding:0 8px 12px;overflow-x:auto}.roadmap-filters{margin-bottom:4px}.dep-map{display:grid;gap:10px;margin-top:12px}.dep-map-row{display:grid;gap:10px;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#fbfdff,#f3f7fc);cursor:pointer;transition:border-color .15s,box-shadow .15s}.dep-map-row:hover,.dep-map-row.active{border-color:var(--blue);box-shadow:0 4px 16px #2563eb1f}.dep-map-row.impact-high{border-left:4px solid var(--red)}.dep-map-row.impact-medium{border-left:4px solid var(--orange)}.dep-map-row.impact-low{border-left:4px solid var(--blue)}.dep-map-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dep-node{display:inline-flex;align-items:center;gap:6px}.dep-pill{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:600;background:#eef5ff;color:var(--navy);border:1px solid #d6e4f8}.dep-arrow{color:var(--muted);font-weight:700}.dep-map-meta{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:.85rem;color:var(--muted)}.dep-map-meta strong{color:var(--navy)}.detail-flow{margin:12px 0;padding:12px;background:#f8fafc;border-radius:12px}.dep-impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.dep-impact-grid h4{margin:0 0 6px;color:var(--navy)}.dep-side-panel{display:grid;gap:12px}@media (max-width: 900px){.dep-impact-grid{grid-template-columns:1fr}}.dep-urgency-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.urgency-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:.8rem;cursor:pointer}.urgency-chip.active.critical,.urgency-chip.active[data-u=critical]{background:#fee2e2;border-color:var(--red);color:var(--red)}.urgency-chip.active.high{background:#ffedd5;border-color:var(--orange)}.urgency-chip.active.medium{background:#e0f2fe;border-color:var(--blue)}.urgency-chip.active.low{background:#f1f5f9}.manpower-note{font-size:.9rem}@media (max-width: 900px){.tl-cluster-date{display:none}.dep-map-meta{flex-direction:column;gap:4px}}
