:root{--navy: #0b1f3a;--navy-deep: #071528;--navy-mid: #143356;--ink: #152238;--muted: #5b6b82;--line: #d9e2ef;--surface: #ffffff;--bg: #eef2f7;--green: #1f9d63;--blue: #1a73e8;--amber: #e67e22;--orange: #e67e22;--red: #d64545;--grey: #8b95a5;--purple: #6b4fcf;--shadow: 0 10px 30px rgba(11, 31, 58, .08);--radius: 14px;--font: "Source Sans 3", "Segoe UI", sans-serif;--display: "Barlow", "Source Sans 3", sans-serif;color:var(--ink);background:var(--bg);font-family:var(--font)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 500px at 10% -10%,rgba(26,115,232,.12),transparent 55%),radial-gradient(900px 400px at 100% 0%,rgba(31,157,99,.08),transparent 50%),var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.35fr 1fr;background:#060e1a}.login-hero{background:radial-gradient(circle at 20% 30%,rgba(37,99,235,.15),transparent 40%),radial-gradient(circle at 80% 80%,rgba(14,165,233,.12),transparent 45%),linear-gradient(145deg,#060e1af5,#0b1b33eb),url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2338bdf8' fill-opacity='0.04' fill-rule='evenodd'%3E%3Cpath d='M0 40L40 0H20L0 20M40 40V20L20 40'/%3E%3C/g%3E%3C/svg%3E");color:#e8f0ff;display:flex;flex-direction:column;justify-content:space-between;padding:64px 56px}.login-brand-badge{display:inline-flex;align-items:center;gap:12px;margin-bottom:36px}.login-brand-badge .badge-icon{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#eab308,#ca8a04);color:#0f172a;font-size:1.4rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #eab3084d}.login-brand-badge strong{display:block;font-size:1.25rem;font-weight:800;color:#fff;letter-spacing:.04em}.login-brand-badge span{font-size:.76rem;color:#94a3b8;font-weight:500}.login-hero-copy h1{font-family:var(--display);font-size:clamp(2.4rem,4vw,3.8rem);font-weight:800;margin:12px 0 16px;line-height:1.15;color:#fff;letter-spacing:-.02em}.hero-sub{font-size:1.05rem;color:#94a3b8;line-height:1.6;max-width:36rem;margin-bottom:48px}.login-metrics-strip{display:flex;align-items:center;gap:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}.metric-item{display:flex;flex-direction:column;gap:4px}.metric-item strong{font-family:var(--display);font-size:2.2rem;font-weight:800;color:#38bdf8;line-height:1}.metric-item span{font-size:.72rem;font-weight:700;color:#64748b;letter-spacing:.08em}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px;background:radial-gradient(circle at 50% 50%,#0f172afa,#030712);border-left:1px solid rgba(255,255,255,.06)}.login-card-container{width:100%;max-width:420px;background:#0f172abf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(59,130,246,.25);border-radius:20px;padding:36px 32px;box-shadow:0 25px 50px -12px #0009,0 0 30px #3b82f61a}.login-card-head{text-align:center;margin-bottom:24px}.login-card-head .lock-icon{font-size:2rem;display:block;margin-bottom:8px}.login-card-head h2{margin:0 0 4px;font-size:1.5rem;font-weight:700;color:#fff}.login-card-head p{margin:0;font-size:.8rem;color:#64748b}.login-accounts{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.login-accounts button{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#cbd5e1;cursor:pointer;transition:all .15s ease}.login-accounts button:hover{background:#334155cc;border-color:#3b82f666}.login-accounts button.active{background:#2563eb33;border-color:#3b82f6;color:#fff}.login-accounts button strong{font-size:.88rem}.login-accounts button span{font-size:.72rem;text-transform:uppercase;color:#94a3b8;font-weight:600}.login-panel form{display:flex;flex-direction:column;gap:16px}.login-panel label{display:flex;flex-direction:column;gap:6px;font-size:.72rem;font-weight:700;color:#94a3b8;letter-spacing:.06em}.login-panel input{border:1px solid rgba(255,255,255,.12);background:#0f172ae6;color:#fff;border-radius:10px;padding:12px 14px;font-size:.92rem;transition:border-color .15s ease}.login-panel input:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf826}.login-submit-btn{margin-top:8px;border:0;border-radius:12px;padding:14px;font-size:.95rem;font-weight:700;cursor:pointer;color:#0f172a;background:linear-gradient(135deg,#38bdf8,#60a5fa);box-shadow:0 4px 14px #38bdf859;transition:transform .15s ease,box-shadow .15s ease}.login-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #38bdf873}.login-error{color:#f87171;font-size:.8rem;text-align:center}.login-foot-note{margin-top:24px;text-align:center;font-size:.74rem;color:#475569;line-height:1.5}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr;transition:grid-template-columns .25s cubic-bezier(.4,0,.2,1);position:relative}.app-shell.sidebar-collapsed{grid-template-columns:68px 1fr}.sidebar{background:linear-gradient(180deg,#091322,#060e1a);color:#d7e5ff;padding:16px 12px;display:flex;flex-direction:column;gap:14px;position:sticky;top:0;height:100vh;z-index:100;border-right:1px solid rgba(255,255,255,.06);transition:width .25s cubic-bezier(.4,0,.2,1),padding .25s ease;overflow:hidden;white-space:nowrap;width:240px}.brand-block{display:flex;gap:10px;align-items:center;padding:6px 8px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-close-btn{margin-left:auto;background:transparent;border:none;color:#64748b;font-size:.95rem;cursor:pointer;padding:4px 6px;border-radius:6px;transition:all .15s ease}.sidebar-close-btn:hover{background:#ffffff1a;color:#fff}.topbar-left{display:flex;align-items:center;gap:14px}.sidebar-toggle-btn{background:#1e293bcc;border:1px solid rgba(255,255,255,.12);color:#38bdf8;font-size:1.25rem;width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background:#38bdf833;border-color:#38bdf8;color:#fff;transform:scale(1.05)}.crest{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#f0d37a,#b8872d);color:#3a2a08;font-size:1.2rem;flex-shrink:0}.brand{font-family:var(--display);font-weight:700;letter-spacing:.04em;font-size:1.15rem;color:#fff}.brand-sub{font-size:.78rem;color:#8eabd8}.menu{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;overflow-x:hidden;padding-right:4px}.menu::-webkit-scrollbar{width:4px}.menu::-webkit-scrollbar-track{background:transparent}.menu::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.menu::-webkit-scrollbar-thumb:hover{background:#38bdf866}.menu a{display:flex;align-items:center;gap:12px;color:#94a3b8;padding:9px 12px;border-radius:10px;font-weight:600;font-size:.92rem;transition:all .15s ease;text-decoration:none}.menu a .nav-icon{font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center;width:22px;flex-shrink:0;color:#38bdf8}.menu a:hover{background:#1e293bb3;color:#fff}.menu a.active{background:linear-gradient(135deg,#38bdf840,#2563eb4d);color:#fff;border:1px solid rgba(56,189,248,.3);box-shadow:0 4px 12px #38bdf826}.menu a.active .nav-icon{color:#38bdf8;filter:drop-shadow(0 0 6px rgba(56,189,248,.5))}.app-shell.sidebar-collapsed .sidebar{width:68px;padding:16px 8px}.app-shell.sidebar-collapsed .brand-block{justify-content:center;padding:4px 0 12px}.app-shell.sidebar-collapsed .brand-block>div,.app-shell.sidebar-collapsed .sidebar-close-btn,.app-shell.sidebar-collapsed .nav-text,.app-shell.sidebar-collapsed .sidebar-foot{display:none}.app-shell.sidebar-collapsed .crest{width:38px;height:38px;font-size:1.1rem}.app-shell.sidebar-collapsed .menu{padding-right:0;align-items:center}.app-shell.sidebar-collapsed .menu a{justify-content:center;padding:10px 0;width:44px;height:44px;border-radius:12px}.app-shell.sidebar-collapsed .menu a .nav-icon{width:auto;font-size:1.25rem}.sidebar-foot{margin-top:auto;padding:12px 8px;font-size:.78rem;color:#7f9bc8;border-top:1px solid rgba(255,255,255,.06)}.main-column{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 24px 8px}.topbar h1{margin:0;font-family:var(--display);font-size:1.55rem;color:var(--navy)}.subtitle{margin:2px 0 0;color:var(--muted);font-size:.92rem}.topbar-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.meta-chip{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.85rem;color:var(--muted)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:700;font-size:.85rem}.topbar-controls{display:flex;align-items:center;gap:10px;position:relative}.live-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 10px;font-size:.78rem;color:var(--muted);font-weight:600}.live-pill i{width:8px;height:8px;border-radius:50%;background:var(--grey)}.live-pill.on{color:var(--green);border-color:#1f9d6359;background:#1f9d6314}.live-pill.on i{background:var(--green);box-shadow:0 0 #1f9d6373;animation:pulse 2s infinite}.bell-wrap,.account-wrap{position:relative}.bell-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--navy);display:grid;place-items:center;position:relative;cursor:pointer}.bell-btn.open,.bell-btn:hover{border-color:#9fc2f5;background:#eef5ff}.bell-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--red);color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center}.account-btn{border:0;cursor:pointer}.notif-panel,.account-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:40;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #0b1f3a2e}.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:.85rem;display:flex;align-items:center;gap:8px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #1f9d6380;animation:pulse 2s infinite}@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;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;overflow:visible;position:relative;z-index:2}.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:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) 0 0%,#e5ebf4 0);position:relative}.kpi-donut.interactive{cursor:crosshair}.kpi-donut strong{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:.85rem;color:var(--navy);z-index:1;pointer-events:none}.donut-hit{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.kpi-completion{position:relative;overflow:visible;z-index:3}.donut-hint{font-size:.68rem;line-height:1.2}.completion-donut-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.completion-hover-panel{position:absolute;top:calc(100% + 10px);left:0;width:min(360px,78vw);max-height:380px;overflow:auto;z-index:40;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 32px #0f172a29;display:grid;gap:8px}.completion-hover-panel header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.completion-hover-panel header strong{font-size:1.25rem;color:var(--navy)}.completion-path-summary{margin:0;font-size:.85rem;line-height:1.35}.completion-crit-filter{display:grid;gap:4px;font-size:.78rem;color:var(--muted)}.completion-crit-filter select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--navy)}.completion-path-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.completion-path-list li{display:flex;justify-content:space-between;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-size:.8rem}.completion-path-list strong{display:block;color:var(--navy);font-size:.82rem}.completion-path-list .muted{display:block;font-size:.72rem}.completion-path-meta{display:grid;gap:4px;justify-items:end;flex-shrink:0}.crit-tag{font-size:.68rem;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:999px}.crit-tag.crit-critical{background:#fee2e2;color:var(--red)}.crit-tag.crit-urgent{background:#ffedd5;color:var(--orange)}.crit-tag.crit-needed{background:#e0f2fe;color:var(--blue)}.crit-tag.crit-can_wait{background:#f1f5f9;color:#64748b}.completion-hover-link{font-size:.82rem;font-weight:600}.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-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{width:100%;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:1fr 1fr}.filter-bar{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 900px){.app-shell,.login-layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.menu{grid-template-columns:repeat(3,minmax(0,1fr))}.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:1fr}.filter-bar{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.main-content,.topbar{padding-left:16px;padding-right:16px}.tl-milestone{width:70px}}.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{font-size:.62rem;font-weight:600;color:var(--navy);white-space:nowrap;background:#ffffffeb;padding:1px 4px;border-radius:4px}.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}}.psr-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.psr-toolbar-actions{display:flex;gap:8px;flex-shrink:0}.psr-sheet{background:#fff;border:1px solid #c5d0de;padding:16px 18px 22px;color:#1b2430;font-size:12.5px}.psr-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid #0b1f3a;padding-bottom:10px;margin-bottom:12px}.psr-head h2{margin:0 0 4px;font-family:var(--display);font-size:1.35rem;color:#0b1f3a}.psr-head p{margin:0;color:#5b6b82}.psr-dot-sep{margin:0 8px;color:#9aa8bb}.psr-variance{border:1px solid #c5d0de;padding:8px 12px;font-weight:700;white-space:nowrap;background:#f4f7fb}.psr-variance.bad{background:#fde8e8;border-color:#e7b0b0;color:#b42318}.psr-variance.ok{background:#e8f7ee;color:#157347}.psr-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.pg-live-badge{display:inline-flex;align-items:center;gap:5px;background:linear-gradient(135deg,#0d6e3c,#1a9a55);color:#fff;font-size:11px;font-weight:600;letter-spacing:.03em;padding:4px 10px;border-radius:20px;white-space:nowrap;box-shadow:0 2px 6px #0d6e3c4d;animation:pg-badge-pulse 2s ease-in-out infinite}@keyframes pg-badge-pulse{0%,to{box-shadow:0 2px 6px #0d6e3c4d}50%{box-shadow:0 2px 14px #0d6e3c8c}}.psr-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-bottom:12px}.psr-kpi{border:1px solid #d5deea;padding:8px;background:#f8fafc;min-height:64px}.psr-kpi span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:#66768a;margin-bottom:4px}.psr-kpi strong{display:block;font-size:.95rem;color:#0b1f3a}.psr-kpi.hot{background:#fde8e8;border-color:#e7b0b0}.psr-kpi.hot strong{color:#b42318}.psr-kpi.good{background:#e8f7ee}.psr-kpi.rai-red{background:#fde8e8}.psr-kpi.rai-amber{background:#fff4e0}.psr-kpi.rai-green{background:#e8f7ee}.psr-callout{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;border:1px solid #c5d0de;padding:10px 12px;margin-bottom:14px;background:#f4f7fb}.psr-callout h3,.psr-main h3{margin:0 0 8px;font-size:.92rem;color:#0b1f3a}.psr-callout p{margin:0;line-height:1.45}.psr-callout-nums{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.psr-callout-nums div{background:#fff;border:1px solid #d5deea;padding:6px}.psr-callout-nums em{display:block;font-style:normal;font-size:.68rem;color:#66768a;text-transform:uppercase}.psr-callout-nums b{font-size:1.05rem;color:#0b1f3a}.psr-callout-nums .short{background:#fff4e0}.psr-body{display:grid;grid-template-columns:1fr;gap:14px}.psr-head-right{display:flex;align-items:center;gap:12px;position:relative}.psr-info-wrapper{position:relative;display:inline-flex;align-items:center}.psr-info-icon-btn{width:28px;height:28px;border-radius:50%;border:1.5px solid #2563eb;background:#eff6ff;color:#1d4ed8;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 1px 3px #2563eb33}.psr-info-icon-btn:hover{background:#2563eb;color:#fff;border-color:#1d4ed8;box-shadow:0 0 10px #2563eb66;transform:scale(1.08)}.psr-info-popup-square{position:absolute;top:100%;right:0;margin-top:10px;width:320px;max-height:480px;overflow-y:auto;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:16px;box-shadow:0 20px 30px -5px #0003,0 10px 15px -5px #0000001a;z-index:99999;text-align:left;animation:popFadeIn .2s ease-out}.psr-info-section{border-bottom:1px solid #f1f5f9;padding-bottom:10px;margin-bottom:10px}.psr-info-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.psr-info-section h4{margin:0 0 6px;font-size:.84rem;font-weight:700;color:#0f172a}.psr-info-section p,.psr-info-section li{margin:0 0 4px;font-size:.78rem;line-height:1.45;color:#334155}.psr-info-section ul{margin:0;padding-left:16px}.psr-info-section b.g{color:#16a34a}.psr-info-section b.a{color:#d97706}.psr-info-section b.r{color:#dc2626}.psr-table-wrap{overflow-x:auto;margin-bottom:14px}.psr-table{width:100%;border-collapse:collapse;font-size:.78rem}.psr-table th,.psr-table td{border:1px solid #d5deea;padding:5px 6px;text-align:left;vertical-align:middle}.psr-table th{background:#0b1f3a;color:#fff;font-weight:600;white-space:nowrap}.psr-table.compact th{background:#143356}.psr-table tr.today{background:#e8f1ff;font-weight:700}.psr-table tr.future{color:#7a8798}.psr-table small{display:block;color:#66768a}.psr-table .caps{text-transform:uppercase;font-size:.68rem;font-weight:700;color:#66768a}.psr-bar{position:relative;height:16px;background:#e8eef6;min-width:72px}.psr-bar i{display:block;height:100%;background:#5b8def}.psr-bar.ok i{background:#1f9d63}.psr-bar.warn i{background:#e67e22}.psr-bar.bad i{background:#d64545}.psr-bar span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:.68rem;font-weight:700;color:#0b1f3a}.psr-rag{font-weight:700;text-align:center}.psr-rag.green{background:#c6efce;color:#006100}.psr-rag.amber{background:#ffeb9c;color:#9c5700}.psr-rag.red{background:#ffc7ce;color:#9c0006}.psr-rag.grey{background:#eee;color:#555}.psr-split{display:grid;grid-template-columns:280px 1fr;gap:12px;margin-bottom:14px}.psr-chart{width:100%;height:auto;background:#fff;border:1px solid #d5deea}.psr-grid{stroke:#edf1f6;stroke-width:1}.psr-axis{fill:#7a8798;font-size:9px;text-anchor:end}.psr-axis.x{text-anchor:middle}.psr-line.plan{stroke:#e67e22;stroke-width:2;stroke-dasharray:5 3}.psr-line.actual{stroke:#1a73e8;stroke-width:2.2}.psr-dot{fill:#1a73e8}.psr-chart-legend{display:flex;gap:14px;font-size:.75rem;margin-top:4px}.psr-chart-legend i{display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle}.psr-chart-legend .actual{background:#1a73e8}.psr-chart-legend .plan{background:#e67e22}.psr-note{margin:-4px 0 8px;color:#5b6b82}.psr-side{display:grid;gap:10px;align-content:start}.psr-side section{border:1px solid #d5deea;padding:8px 10px;background:#fbfcfe}.psr-side h4{margin:0 0 6px;font-size:.78rem;color:#0b1f3a}.psr-side p,.psr-side li{margin:0 0 4px;font-size:.72rem;line-height:1.35;color:#334155}.psr-side ul{margin:0;padding-left:16px}.psr-side b.g{color:#006100}.psr-side b.a{color:#9c5700}.psr-side b.r{color:#9c0006}@media (max-width: 1200px){.psr-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.psr-body,.psr-split,.psr-callout{grid-template-columns:1fr}}@media print{html,body,body.printing-daily,body.printing-daily *,.psr-sheet,.psr-sheet *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}body.printing-daily .sidebar,body.printing-daily .topbar,body.printing-daily .app-footer,body.printing-daily .no-print,body.printing-daily .toast-stack{display:none!important}body.printing-daily .app-shell{display:block;background:#fff!important}body.printing-daily .main-column,body.printing-daily .main-content{padding:0;margin:0;overflow:visible;background:#fff!important}body.printing-daily .psr-sheet{border:0;padding:0;background:#fff!important}.psr-sheet{break-inside:avoid}.psr-table th{background:#0b1f3a!important;color:#fff!important}.psr-table.compact th{background:#143356!important;color:#fff!important}.psr-table tr.today{background:#e8f1ff!important}.psr-kpi.hot,.psr-kpi.rai-red,.psr-variance.bad{background:#fde8e8!important;color:#b42318!important}.psr-kpi.good,.psr-kpi.rai-green,.psr-variance.ok{background:#e8f7ee!important}.psr-kpi.rai-amber,.psr-callout-nums .short{background:#fff4e0!important}.psr-rag.green{background:#c6efce!important;color:#006100!important}.psr-rag.amber{background:#ffeb9c!important;color:#9c5700!important}.psr-rag.red{background:#ffc7ce!important;color:#9c0006!important}.psr-rag.grey{background:#eee!important;color:#555!important}.psr-bar{background:#e8eef6!important}.psr-bar i{background:#5b8def!important}.psr-bar.ok i{background:#1f9d63!important}.psr-bar.warn i{background:#e67e22!important}.psr-bar.bad i{background:#d64545!important}.psr-line.plan{stroke:#e67e22!important}.psr-line.actual{stroke:#1a73e8!important}.psr-dot{fill:#1a73e8!important}.psr-chart-legend .actual{background:#1a73e8!important}.psr-chart-legend .plan{background:#e67e22!important}.psr-side b.g{color:#006100!important}.psr-side b.a{color:#9c5700!important}.psr-side b.r{color:#9c0006!important}@page{size:A3 landscape;margin:10mm}}.launch-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.workbook-tabs-group{display:flex;flex-direction:column;gap:6px;width:100%}.workbook-tabs-label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.workbook-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workbook-tab-btn{padding:8px 18px;font-size:.88rem;font-weight:500;color:var(--text-sub, #475569);background:#fff;border:1px solid var(--line, #cbd5e1);border-radius:8px;cursor:pointer;transition:all .15s ease-in-out;white-space:nowrap;box-shadow:0 1px 2px #0000000a;text-decoration:none;display:inline-flex;align-items:center}.workbook-tab-btn:hover{color:#1e293b;border-color:#94a3b8;background:#f8fafc}.workbook-tab-btn.active{color:#2563eb;background:#fff;font-weight:700;border-color:#2563eb;box-shadow:0 2px 5px #2563eb26}.workbook-tab-btn.report-tab{margin-left:4px}.launch-toolbar .btn-primary{margin-left:auto}.xl-sheet{background:#fff;border:1px solid #b4c4d8;padding:16px 18px 24px;font-size:12px;color:#1b2430}.xl-sheet-head-flex{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:12px}.xl-sheet-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.xl-edit-btn{font-weight:700!important;font-size:.88rem!important;border:1.5px solid #cbd5e1!important;background:#fff!important;color:#0f172a!important;padding:6px 16px!important;border-radius:6px!important;cursor:pointer;transition:all .15s ease-in-out}.xl-edit-btn:hover{background:#f8fafc!important;border-color:#94a3b8!important}.xl-edit-btn.edit-active{background:#eff6ff!important;color:#2563eb!important;border-color:#3b82f6!important;font-weight:700!important}.xl-add-btn{padding:5px 12px!important;font-size:.78rem!important;font-weight:600!important;border-radius:6px!important}.btn-disabled{opacity:.45!important;cursor:not-allowed!important;background:#e2e8f0!important;color:#94a3b8!important;border:1px solid #cbd5e1!important;box-shadow:none!important}.xl-new-row-highlight{background-color:#fef08a!important;animation:highlightPulse 2.5s ease-out forwards}@keyframes highlightPulse{0%{background-color:#fef08a}60%{background-color:#fef08a}to{background-color:transparent}}.xl-sheet-head h2{margin:0 0 4px;font-family:var(--display);font-size:1.2rem;color:#0b1f3a}.xl-sheet-head p{margin:0 0 10px;color:#5b6b82}.xl-hint-yellow{background:#fff8dc;border:1px solid #e6d98a;padding:6px 10px;border-radius:6px;font-size:.85rem}.xl-kpi-strip{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;padding:8px 10px;background:#f4f7fb;border:1px solid #d5deea;font-size:.85rem}.xl-table-wrap{overflow-x:auto}.xl-table{width:100%;border-collapse:collapse;font-size:.78rem;min-width:900px}.xl-table-wide{min-width:1400px}.xl-table th,.xl-table td{border:1px solid #c5d0de;padding:5px 7px;vertical-align:top}.xl-table th{background:#0b1f3a;color:#fff;font-weight:600;white-space:nowrap;position:sticky;top:0;z-index:1}.xl-section-row td{background:#dce6f5;font-weight:700;color:#0b1f3a;text-transform:uppercase;font-size:.72rem;letter-spacing:.03em}.xl-yellow{background:#fff8dc!important;font-weight:600}.xl-module-row{background:#f8fafc}.xl-wrap{max-width:220px;white-space:normal;line-height:1.3}.xl-pct{text-align:center;font-weight:700}.xl-edit{font-size:.72rem;padding:2px 6px}.xl-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:700}.xl-status.done{background:#c6efce;color:#006100}.xl-status.near{background:#d9e8ff;color:#0b3d91}.xl-status.prog{background:#ffeb9c;color:#9c5700}.xl-status.start{background:#e0f2fe;color:#0369a1}.xl-status.hold{background:#eee;color:#555}.daily-mode-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#f0f6ff,#fff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.daily-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:200px;padding:10px 14px;border:2px solid #c8d6ea;border-radius:10px;background:#fff;color:#1b2430;font-weight:700;cursor:pointer;transition:border-color .15s,box-shadow .15s}.daily-mode-btn small{font-weight:500;color:#5b6b82;font-size:.78rem}.daily-mode-btn.active{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.daily-mode-btn.tomorrow.active{border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.daily-mode-hint{flex:1 1 220px;margin:0;color:#5b6b82;font-size:.88rem}.save-toast{margin:0;padding:8px 12px;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;color:#065f46;font-weight:600}.xl-inline-input{width:100%;min-width:48px;box-sizing:border-box;border:1px solid #c5d4e8;border-radius:4px;padding:4px 6px;font:inherit;color:inherit;background:#fff}.xl-inline-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.xl-inline-area{resize:vertical;min-height:36px}.xl-yellow .xl-inline-input{background:#fff9c4}.xl-title-input{font-size:1.15rem;font-weight:700;width:min(100%,520px)}.xl-sheet.xl-editing .xl-table td{vertical-align:top}
