@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Sora:wght@400;600;700&display=swap";.rv-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text)}.rv-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.rv-error{margin:0;padding:10px 12px;border-radius:10px;background:#fbe1e1;color:#8a1f1f;font-weight:600}.rv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.rv-card{display:grid;align-content:start;gap:2px;min-height:86px;padding:10px 12px;border:1px solid var(--line);border-left-width:4px;border-radius:12px;background:#fff;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:box-shadow .12s ease,border-color .12s ease}.rv-card:hover{box-shadow:0 4px 14px #162c491a}.rv-card:focus-visible{outline:3px solid rgba(95,136,201,.45);outline-offset:1px}.rv-card.is-active{box-shadow:inset 0 0 0 2px currentColor}.rv-card--green{border-left-color:#2f8a57}.rv-card--green .rv-card-head{color:#2f8a57}.rv-card--green.is-active{background:#e5f4ea;color:#24623f}.rv-card--amber{border-left-color:#b7791f}.rv-card--amber .rv-card-head{color:#7a5a00}.rv-card--amber.is-active{background:#fdf1d3;color:#7a5a00}.rv-card--red{border-left-color:#c53d43}.rv-card--red .rv-card-head{color:#c53d43}.rv-card--red.is-active{background:#fbe1e1;color:#8a1f1f}.rv-card--flag{border-left-color:#8a9ab2}.rv-card--flag .rv-card-head{color:var(--muted)}.rv-card--flag.is-active{background:#eaf0f9;color:#1f3d6b}.rv-card-head{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700}.rv-card-count{font-size:1.5rem;font-weight:800;line-height:1.15}.rv-card-sub{display:grid;color:var(--muted);font-size:.7rem}.rv-card-note{font-style:italic}.rv-skeleton{cursor:default;border-left-color:var(--line);background:linear-gradient(90deg,#eef2f7 25%,#f7f9fc,#eef2f7 75%);background-size:200% 100%;animation:rv-shimmer 1.2s linear infinite}@keyframes rv-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.rv-skeleton{animation:none}}.rv-insights-bar{display:flex;justify-content:flex-end}.rv-toggle,.rv-segmented button,.rv-link{font:inherit;cursor:pointer}.rv-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:.75rem;font-weight:600}.rv-insights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);grid-template-areas:"upcoming scorecards" "trend scorecards";align-items:start;gap:12px}.rv-section--upcoming{grid-area:upcoming}.rv-section--scorecards{grid-area:scorecards}.rv-section--trend{grid-area:trend}@media(max-width:900px){.rv-insights{grid-template-columns:minmax(0,1fr);grid-template-areas:"upcoming" "scorecards" "trend"}}.rv-section{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.rv-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rv-section-title{margin:0;font-size:.85rem;font-weight:700}.rv-empty{margin:0;color:var(--muted);font-size:.78rem}.rv-muted{color:var(--muted)}.rv-segmented{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:8px}.rv-segmented button{padding:3px 10px;border:0;background:transparent;color:var(--muted);font-size:.72rem}.rv-segmented button.is-active{background:#1f3d6b;color:#fff}.rv-upcoming{display:grid;gap:10px;max-height:320px;overflow-y:auto}.rv-upcoming-owner{margin:0 0 4px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.rv-upcoming-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.rv-upcoming-item{display:grid;gap:2px;width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--text);font:inherit;text-align:left;cursor:pointer}.rv-upcoming-item:hover,.rv-upcoming-item:focus-visible{border-color:#5f88c9}.rv-upcoming-main{display:flex;gap:6px;min-width:0;font-size:.78rem}.rv-upcoming-code{font-weight:700;white-space:nowrap}.rv-upcoming-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-upcoming-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;color:var(--muted);font-size:.7rem}.rv-upcoming-due{font-weight:700;color:var(--text)}.rv-chip{display:inline-flex;padding:1px 8px;border-radius:999px;font-size:.66rem;font-weight:700}.rv-chip--green{background:#e5f4ea;color:#24623f}.rv-chip--amber{background:#fdf0b8;color:#7a5a00}.rv-chip--red{background:#fbe1e1;color:#8a1f1f}.rv-chart{min-width:0;overflow:hidden}.rv-scorecard-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:.72rem}.rv-scorecard-table thead{position:static;background:#f2f6fc}.rv-scorecard-table th,.rv-scorecard-table td{padding:4px 6px;border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:normal;text-align:right;text-transform:none}.rv-scorecard-table tbody th{color:var(--text);font-weight:600}.rv-scorecard-table th:first-child{width:34%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.rv-scorecard-table thead th{color:var(--muted);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.rv-scorecard-table tbody tr:hover{background:#f4f8fd}.rv-link{padding:0;border:0;background:none;color:#1f5fae;text-align:left;text-decoration:underline}.rv-scorecard-table .rv-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-text--green{color:#2f8a57}.rv-text--amber{color:#b7791f}.rv-text--red{color:#c53d43}.rv-timeline{display:block;overflow:visible;font-family:inherit}.rv-timeline--mini{display:inline-block;vertical-align:middle}.rv-timeline--full{max-width:100%}.rv-timeline-track{fill:#f1f4f8}.rv-timeline-empty{color:var(--muted);font-size:.78rem;font-style:italic}.rv-timeline-empty--mini{font-size:.7rem}.rv-lane-bg{fill:#162c4908}.rv-lane-label{fill:var(--text);font-size:11px}.rv-lane-days{font-size:11px;font-weight:700}.rv-lane-days.rv-text--green{fill:#2f8a57}.rv-lane-days.rv-text--amber{fill:#b7791f}.rv-lane-days.rv-text--red{fill:#c53d43}.rv-bar--green{fill:#2f8a57}.rv-bar--amber{fill:#b7791f}.rv-bar--red{fill:#c53d43}.rv-marker{fill:#fff;stroke:#111827;stroke-width:1.5}.rv-timeline--mini .rv-marker{stroke-width:.75}.rv-tick line{stroke:#162c491a}.rv-tick text{fill:var(--muted);font-size:10px}.rv-line line{stroke-width:1.5}.rv-line text{font-size:10px;font-weight:700}.rv-line--today line{stroke:#1f5fae}.rv-line--today text{fill:#1f5fae}.rv-line--anchor line{stroke:#111827;stroke-width:2}.rv-line--anchor text{fill:#111827}.rv-line--baseline line{stroke:#52627a;stroke-dasharray:4 3}.rv-line--baseline text{fill:#52627a}.rv-timeline--mini .rv-line line{stroke-width:1}:root{color-scheme:light;--bg: #f3f7fc;--bg-soft: rgba(255, 255, 255, .9);--panel: rgba(255, 255, 255, .92);--panel-strong: rgba(248, 251, 255, .96);--line: rgba(22, 44, 73, .14);--text: #111827;--muted: #52627a;--accent: #f3c969;--accent-2: #5fe0d0;--danger: #ff7a7a;--shadow: 0 18px 50px rgba(22, 44, 73, .14)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(135deg,#f7faff,#e8f4f5)}.auth-panel{width:min(100%,30rem);padding:2.5rem;border:1px solid var(--line);border-radius:.75rem;background:var(--panel);box-shadow:var(--shadow)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at top left,rgba(95,224,208,.16),transparent 36%),radial-gradient(circle at top right,rgba(243,201,105,.14),transparent 38%),linear-gradient(180deg,#f7faff,#f3f7fc 52%,#eef4fb);color:var(--text);font-family:IBM Plex Sans,sans-serif}button,input,select{font:inherit}#root{min-height:100vh;zoom:var(--app-scale, .7)}@supports not (zoom: 1){#root{transform:scale(var(--app-scale, .7));transform-origin:top left;width:var(--app-scale-width, 142.86%);min-height:var(--app-scale-height, 142.86vh)}}.app-shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:18px 0 56px}@supports (zoom: 1){.app-shell{width:min(1440px,calc(var(--app-scale-width, 100%) - 32px))}}.app-navbar{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(90deg,#5f88c9,#4a7ba7);border-radius:12px;padding:12px 18px;margin-bottom:24px;box-shadow:0 2px 8px #162c491f}.navbar-left{display:flex;align-items:center}.navbar-home-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.navbar-home-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.navbar-home-button:active{transform:translateY(0)}.navbar-tabs{display:flex;gap:8px;flex-wrap:wrap}.navbar-account{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;margin-left:auto}.navbar-access-toggle{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap}.navbar-access-toggle input{width:34px;height:18px;margin:0;cursor:pointer}.navbar-account-email{max-width:260px;overflow:hidden;color:#fff;font-size:.8rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.navbar-signout-button{flex:0 0 auto;padding:8px 13px;border:1px solid rgba(255,255,255,.55);border-radius:6px;background:#ffffff29;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;white-space:nowrap}.navbar-signout-button:hover,.navbar-signout-button:focus-visible{background:#fff;color:#315c87}.navbar-tab{background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 14px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.navbar-tab:hover{background:#ffffff40;border-color:#fff6}.navbar-tab.is-active{background:#fff;color:#5f88c9;border-color:#fff;font-weight:600;box-shadow:0 2px 8px #00000026}.hero{display:grid;grid-template-columns:1fr 1.45fr;gap:16px;margin-bottom:14px;align-items:end}.hero-side{display:grid;gap:14px}.view-tabs{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.tab-button{border:1px solid rgba(159,186,220,.25);background:#ffffffe6;color:var(--muted);border-radius:999px;padding:8px 12px;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.tab-button:hover{color:var(--text);border-color:#5fe0d080}.tab-button.is-active{color:#07111b;background:linear-gradient(135deg,var(--accent),#ff9f1c);border-color:transparent;font-weight:700}.hero-copy h1,.panel h2{margin:0;font-family:Sora,sans-serif}.hero-copy h1{font-size:clamp(2rem,4.1vw,3.35rem);line-height:.98;letter-spacing:-.03em;max-width:9ch}.hero-text{max-width:72ch;color:var(--muted);margin-top:12px;line-height:1.5;font-size:.96rem}.hero-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;justify-content:end;margin-left:auto;width:100%}.status-card{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:none;border-radius:18px;box-shadow:0 4px 20px #0000001f;padding:16px;min-height:132px;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left;gap:6px;color:#fff;font-weight:600;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}@keyframes cardFadeInFromRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.status-card,.stat-card,.analytics-card{animation:cardFadeInFromRight .5s ease-out both}@keyframes tabCardFadeInFromBottom{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.tab-content-reveal :is(.panel,.status-card){animation:tabCardFadeInFromBottom .5s cubic-bezier(.22,.72,.28,1) both}@media(prefers-reduced-motion:reduce){.status-card,.stat-card,.analytics-card,.tab-content-reveal :is(.panel,.status-card){animation:none}}.status-card:nth-child(1){background:linear-gradient(135deg,#355fbb,#2f58b1)}.status-card:nth-child(2){background:linear-gradient(135deg,#3269bd,#2d63b4)}.status-card:nth-child(3){background:linear-gradient(135deg,#2f73be,#2a6eb6)}.status-card:nth-child(4){background:linear-gradient(135deg,#2c7dc0,#2780b8)}.status-card:nth-child(5){background:linear-gradient(135deg,#2890c4,#2298be)}.status-card:hover{transform:translateY(-2px);box-shadow:0 6px 28px #00000029}.panel{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:22px}.analytics-note,.analytics-message{margin-top:16px}.analytics-kpis,.analytics-grid{display:grid;gap:16px;margin-top:16px}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-kpi{min-width:0;min-height:118px;border-radius:12px;padding:14px}.analytics-kpi strong{width:100%;overflow-wrap:anywhere;font-size:1.55rem}.analytics-card{min-width:0;margin:0;padding:18px;border-radius:14px}.analytics-recent-card{margin-top:16px}.analytics-table{width:100%;border-collapse:collapse;table-layout:fixed}.analytics-table th,.analytics-table td{padding:9px 0;border-bottom:1px solid #edf2fa;text-align:left;overflow-wrap:anywhere}.analytics-table th{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.analytics-table .analytics-number{width:72px;text-align:right;white-space:nowrap}.analytics-table .analytics-time{white-space:nowrap}.analytics-empty{margin-top:0}.analytics-table-scroll{width:100%;overflow-x:auto}.analytics-recent-table{min-width:720px}.status-card strong{font-size:clamp(1.1rem,1.6vw + .6rem,1.8rem);font-family:Sora,sans-serif;font-weight:700;color:#fff;line-height:1.2;margin:6px 0 0;white-space:nowrap}.stat-card{border:1px solid rgba(22,44,73,.2);background:linear-gradient(150deg,#e4ecf8f7,#cfddf0fa)}.stat-card .stat-header{color:var(--text);font-weight:600}.stat-card strong{font-size:1.8rem;font-family:Sora,sans-serif;font-weight:700;color:var(--text);line-height:1.2;margin:6px 0 0}.status-label{display:block;width:100%;color:#ffffffe6;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(.58rem,.35vw + .5rem,.7rem);font-weight:600;margin:0 0 6px;padding-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-label:after{content:"";display:block;width:34px;height:2px;margin-top:8px;border-radius:999px;background:#ffffffad}.eyebrow,label span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:600;margin:0}.status-sub{color:#ffffffd9;font-size:clamp(.62rem,.3vw + .55rem,.75rem);margin:2px 0 0;line-height:1.3;max-width:100%;overflow-wrap:break-word}.eyebrow{margin:0 0 6px}.panel{padding:22px}.settings-subtabs{display:inline-flex;max-width:100%;flex-wrap:wrap;gap:2px;margin:0 0 16px;padding:3px;border:1px solid #cbd8e8;border-radius:8px;background:#edf3fa}.settings-function-panel{color:#000}.settings-site-selector{display:grid;gap:6px;width:min(100%,280px);margin-bottom:18px;color:#000;font-size:.82rem;font-weight:600}.settings-site-selector select{min-height:38px;padding:7px 10px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:#000}.curtain-manager,.curtain-manager table,.curtain-manager th,.curtain-manager td,.curtain-manager label,.curtain-manager p,.curtain-manager input{color:#000}.curtain-manager input::placeholder{color:#52627a}.curtain-color-swatch{display:inline-block;flex-shrink:0;width:18px;height:18px;border:1px solid rgba(17,24,39,.25);border-radius:4px;vertical-align:middle}.curtain-color-picker{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;border:0}.curtain-color-picker legend{margin-bottom:.5rem;font-size:.85rem}.curtain-color-option{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border:1px solid rgba(95,136,201,.25);border-radius:999px;background:#fff;font-size:.8rem;cursor:pointer}.curtain-color-option input{position:absolute;opacity:0;pointer-events:none}.curtain-color-option.is-selected{border-color:#1f3d6b;box-shadow:0 0 0 2px #1f3d6b40;font-weight:700}.curtain-color-option:focus-within{outline:2px solid #5f88c9;outline-offset:1px}.settings-subtabs button{min-height:34px;padding:7px 14px;border:0;border-radius:5px;background:transparent;color:#43536a;cursor:pointer;font-size:.78rem;font-weight:600}.settings-subtabs button.is-active{background:#fff;color:#173b72;box-shadow:0 1px 4px #173b7229}.settings-access-panel{display:grid;gap:14px}.settings-access-add-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.settings-access-add-row label{flex:1 1 340px}.settings-access-list{display:grid;gap:8px}.settings-access-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #d7e1ed;border-radius:8px;background:#f8fbff;color:#0f2745;font-size:.85rem;font-weight:600}.settings-access-tag{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #b7c8dd;border-radius:999px;background:#edf3fa;color:#2f4e73;font-size:.72rem;font-weight:700}.settings-access-meta{font-weight:400;color:#5f7290;font-size:.78rem}.toolbar,.settings-panel,.stats-grid,.chart-panel,.table-panel,.scenario-panel{margin-top:20px}.chart-site-watermark{position:absolute;top:0;right:0;bottom:0;left:0;top:-1.5rem;display:flex;align-items:flex-start;padding-top:0;justify-content:center;font-family:Sora,sans-serif;font-size:clamp(6rem,14vw,13rem);font-weight:700;letter-spacing:-.04em;color:#11182714;filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;white-space:nowrap;overflow:hidden}.toolbar{display:grid;gap:20px}.controls-fab{position:fixed;right:20px;bottom:20px;z-index:1100;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(95,224,208,.4);border-radius:999px;background:#fffffff2;color:var(--text);padding:10px 14px;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:scale(var(--app-scale, .7));transform-origin:bottom right}.controls-fab svg{width:18px;height:18px}.controls-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1090;background:#1f293733;display:flex;align-items:flex-start;justify-content:flex-end;padding:16px 16px 88px;overflow-y:auto}.controls-scale-frame{width:min(430px,calc(var(--app-scale-width, 142.86%) - 32px));flex:0 0 auto;transform:scale(var(--app-scale, .7));transform-origin:top right}.controls-modal{width:100%;height:auto;max-height:calc(var(--app-scale-height, 142.86vh) - 32px);overflow-y:auto;border-radius:14px;border-right:none;transform-origin:100% 100%;animation:controlsDrawerInflate .34s cubic-bezier(.18,.84,.26,1) forwards;margin-top:0;padding:16px}.controls-modal.is-closing{animation:controlsDrawerDeflate .28s cubic-bezier(.48,.04,.82,.22) forwards}.controls-modal-header{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(159,186,220,.2)}.controls-title-group{display:flex;align-items:center;gap:9px}.controls-title-group .eyebrow{margin-bottom:2px}.controls-title-group h2{margin:0;font-size:1.1rem}.controls-modal .controls-layout{grid-template-columns:1fr}.controls-modal .compact-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.controls-modal .toolbar-actions{align-items:center}.controls-modal .control-box{padding:11px;gap:8px}.application-scale-control{grid-column:1 / -1}.application-scale-heading,.application-scale-row{display:flex;align-items:center;gap:10px}.application-scale-heading{justify-content:space-between}.application-scale-heading output{min-width:3.5rem;color:var(--text);font-size:.92rem;font-weight:700;text-align:right}.application-scale-row input[type=range]{flex:1;min-width:0;padding:0;accent-color:#238f85}.scale-icon-button{width:34px;height:34px;flex:0 0 34px;display:inline-grid;place-items:center;padding:0;border-radius:50%}.scale-icon-button:disabled{opacity:.42;cursor:not-allowed;transform:none}.controls-modal input{padding:9px 10px;border-radius:9px;font-size:.85rem}.controls-modal .filter-list-box{max-height:104px;padding:7px}@keyframes controlsDrawerInflate{0%{opacity:0;transform:translate(18px,34px) scale(.08)}to{opacity:1;transform:translate(0) scale(1)}}.toolbar-heading,.stat-header,.panel-header,.scenario-row-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar-grid,.scenario-meta,.form-grid,.stats-grid{display:grid;gap:16px}.controls-layout{display:grid;gap:14px;grid-template-columns:minmax(320px,1.4fr) 1fr;align-items:start}.filters-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.control-box{border:1px solid rgba(159,186,220,.16);border-radius:14px;background:#ffffffd1;padding:12px;display:grid;gap:10px}.compact-controls-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.control-title{margin:0;font-size:.92rem}.filter-list-box{border:1px solid rgba(95,136,201,.3);border-radius:10px;max-height:120px;overflow-y:auto;padding:8px;background:#fffffff5}.filter-option-row{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;font-size:.8rem;width:100%;min-height:24px;text-align:left}.filter-option-row input{width:16px;height:16px;margin:0}.filter-option-row span{min-width:0;text-align:left}.filter-option-row+.filter-option-row{margin-top:5px}.toolbar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.toolbar-grid.is-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-meta{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:grid;gap:8px}input,select{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(159,186,220,.18);background:#fffffff5;color:var(--text)}input:focus,select:focus{outline:2px solid rgba(95,224,208,.35);border-color:#5fe0d073}.toolbar-actions,.scenario-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar-note,.legend-note,.stat-card p{color:var(--muted)}.control-box .toolbar-actions{margin-top:2px}.control-box .toolbar-note{font-size:.8rem}.primary-button,.secondary-button,.ghost-button{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;transition:transform .2s ease,opacity .2s ease,background .2s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.primary-button{background:linear-gradient(135deg,var(--accent),#ff9f1c);color:#07111b;font-weight:700}.secondary-button{background:#5fe0d01f;color:var(--text);border:1px solid rgba(95,224,208,.26)}.ghost-button{background:transparent;color:var(--muted)}.icon-button{display:inline-flex;align-items:center;gap:8px}.chart-panel{padding:16px}.chart-panel .panel-header{margin-bottom:6px}.chart-actions{display:flex;align-items:center;gap:10px}.chart-site-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.site-pill-button{border:1px solid rgba(95,136,201,.32);background:#5f88c91f;color:#1d3f64;cursor:pointer;padding:8px 16px;border-radius:8px;transform:skew(-18deg);transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease}.site-pill-button span{display:inline-block;transform:skew(18deg);font-size:.82rem;font-weight:600;white-space:nowrap}.site-pill-button:hover{background:#5f88c933;border-color:#5f88c980}.site-pill-button.is-active{background:linear-gradient(135deg,#f3c969,#ffb347);border-color:#ff9900b3;color:#402000;box-shadow:0 4px 12px #ffb34759}.chart-wrapper{margin-top:16px;position:relative}.chart-panel .chart-wrapper{margin-top:10px}.lower-chart-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.lower-chart-title{color:#374151;font-size:12px;font-weight:700}.lower-chart-view-toggle{display:inline-flex;min-width:0;padding:2px;border:1px solid #cbd8e8;border-radius:6px;background:#edf3fa}.lower-chart-view-toggle button{min-height:28px;padding:5px 10px;border:0;border-radius:4px;background:transparent;color:#43536a;cursor:pointer;font-size:.72rem;font-weight:700;white-space:nowrap}.lower-chart-view-toggle button.is-active{background:#fff;color:#173b72;box-shadow:0 1px 3px #173b7229}.lower-chart-view-toggle button:focus-visible{position:relative;z-index:1;outline:2px solid #f59e0b;outline-offset:-1px}.daily-heatmap-embedded{padding-top:4px}.daily-heatmap-embedded .heatmap-scroll{max-height:none}.flight-chart-body{position:relative}.flight-chart-body.is-loading>.recharts-responsive-container{filter:grayscale(.7);opacity:.52;transition:opacity .16s ease,filter .16s ease}.flight-chart-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#334155;font-size:13px;font-weight:700;pointer-events:none}.flight-chart-loading-icon{animation:flight-chart-spin .9s linear infinite;color:#5f88c9}@keyframes flight-chart-spin{to{transform:rotate(360deg)}}.table-shell{overflow:auto;max-height:480px;margin-top:16px;border:1px solid var(--line);border-radius:18px;position:relative}.table-filter-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;background:#1018205c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#f8fafc;font-size:.85rem;font-weight:600;letter-spacing:.02em}.table-filter-spinner{width:30px;height:30px;border-radius:999px;border:3px solid rgba(248,250,252,.35);border-top-color:#fff;animation:table-filter-spin .9s linear infinite}@keyframes table-filter-spin{to{transform:rotate(360deg)}}table{width:100%;min-width:1024px;border-collapse:collapse;font-size:.9rem}thead{background:#eaf1f8;position:sticky;top:0;z-index:1}th,td{padding:5px 9px;text-align:left;border-bottom:1px solid rgba(22,44,73,.16);line-height:1.2}th{font-size:.74rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}td{font-size:.82rem}td:nth-child(3){font-size:.8rem}.table-shell input[type=checkbox]{width:13px;height:13px;margin:0;vertical-align:middle}.table-shell.is-compact th,.table-shell.is-compact td{padding-top:2px;padding-bottom:2px}.sortable-header{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;text-transform:inherit;letter-spacing:inherit;font-size:inherit;font-weight:700;cursor:pointer}.sortable-header:hover{color:var(--text)}.sortable-header.is-active{color:#f3c969}.sort-indicator{font-size:.62rem;opacity:.8}tbody tr:hover{background:#5fe0d014}tbody tr.is-selected{background:#f3c96926}.source-pill,.chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.source-pill.base{background:#5c7cfa2e;color:#26418a}.source-pill.scenario,.chip{background:#f3c9692e;color:#8a5a00}.scenario-grid{display:grid;gap:16px;margin-top:16px}.scenario-row{border:1px solid rgba(22,44,73,.12);border-radius:20px;padding:18px;background:#ffffffbf}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}.checkbox-field{align-self:end;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#fffffff5;border:1px solid rgba(159,186,220,.18)}.checkbox-field input{width:auto}.loading-panel,.error-banner{margin-top:20px}.loading-panel{min-height:180px;display:grid;place-items:center;color:var(--muted)}.error-banner{padding:14px 16px;border-radius:16px;background:#ff7a7a26;border:1px solid rgba(255,122,122,.4);color:#8a1f1f}.app-error-banner{margin:0 0 20px}.success-banner{padding:14px 16px;border-radius:16px;background:#5fe0d029;border:1px solid rgba(55,178,162,.45);color:#0f6157}.settings-feedback{margin:12px 0 0}.database-write-notification{position:fixed;top:86px;left:50%;right:auto;transform:translate(-50%);z-index:1400;max-width:min(360px,calc(100vw - 36px));padding:12px 16px;border:1px solid;border-radius:10px;box-shadow:0 8px 24px #0f27452e;font-size:.86rem;font-weight:700}.database-write-notification.is-success{border-color:#86efac;background:#f0fdf4;color:#166534}.database-write-notification.is-error{border-color:#fca5a5;background:#fef2f2;color:#991b1b}.accent-a{background:linear-gradient(145deg,#4ccebe4d,#cde9ebfa)}.accent-b{background:linear-gradient(145deg,#eebe5c52,#f3e6cefa)}.accent-c{background:linear-gradient(145deg,#7892d04d,#d6e0f2fa)}@media(max-width:1180px){.hero,.toolbar-grid,.scenario-meta,.form-grid{grid-template-columns:1fr 1fr}.hero-status{gap:10px}.status-card{padding:12px;min-height:108px}}@media(max-width:820px){.database-write-notification{top:150px}.analytics-kpis,.analytics-grid{grid-template-columns:1fr}.analytics-card{padding:14px}.app-shell{width:min(100vw - 20px,100%);padding-top:12px}.app-navbar{align-items:stretch;flex-direction:column;gap:12px}.navbar-tabs{width:100%}.navbar-account{width:100%;padding-top:10px;border-top:1px solid rgba(255,255,255,.25)}.navbar-account-email{max-width:min(260px,calc(100% - 90px))}.hero,.controls-layout,.filters-pair,.compact-controls-grid,.toolbar-grid,.scenario-meta,.stats-grid,.form-grid{grid-template-columns:1fr}.hero-status{gap:6px}.status-card{padding:8px;min-height:88px;border-radius:12px;gap:3px}.status-label{padding-bottom:4px}.status-label:after{margin-top:4px}.toolbar-actions,.scenario-footer,.panel-header,.scenario-row-header{flex-direction:column;align-items:flex-start}.view-tabs{justify-content:flex-start}.panel{border-radius:20px}}@keyframes controlsDrawerDeflate{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(18px,34px) scale(.08)}}.data-table{display:flex;flex-direction:column;border:1px solid rgba(131,151,180,.22);border-radius:12px;overflow:hidden;background:#fff}.data-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid rgba(131,151,180,.18);background:#f4f7fc}.data-table-toolbar-start,.data-table-toolbar-end{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.data-table-search{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(131,151,180,.35);background:#fff;color:#52627a}.data-table-search input{border:0;outline:none;background:transparent;font-size:12px;min-width:180px;color:#1f2a3a}.data-table-count{font-size:11px;color:#6b7280;white-space:nowrap}.data-table-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px!important;font-size:12px;background:#fff;border:1px solid rgba(131,151,180,.35);color:#1f2a3a}.data-table-columns{position:relative}.data-table-columns-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:200px;max-height:280px;overflow-y:auto;padding:8px;background:#fff;border:1px solid rgba(131,151,180,.35);border-radius:10px;box-shadow:0 12px 28px #0f203c2e}.data-table-columns-item{display:flex;align-items:center;gap:8px;padding:5px 6px;font-size:12px;border-radius:6px;cursor:pointer;color:#1f2a3a}.data-table-columns-item:hover{background:#5f88c91a}.data-table-columns-item input{width:13px;height:13px;margin:0}.data-table-scroll{overflow:auto}.data-table-table{width:100%;border-collapse:collapse}.data-table-th{text-align:left;padding:9px 12px;font-size:12px;font-weight:700;color:#25324a;background:#dbe4f3;border-bottom:1px solid #9fb4d1;border-right:1px solid #b5c4db;white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table-th.is-sticky{position:sticky;top:0;z-index:2}.data-table-th-content{display:inline-flex;align-items:center;gap:6px}.data-table-sort-idle{opacity:.35}.data-table-td{font-size:12px;color:#1f2a3a;border-bottom:1px solid #e5edf8;border-right:1px solid #edf2fa;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}.data-table-row:nth-child(2n){background:#f5f8fe}.data-table-row:hover{background:#5f88c91a}.data-table-row.is-clickable{cursor:pointer}.data-table-empty{padding:18px;text-align:center;color:#52627a;font-size:12px}.data-table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid rgba(131,151,180,.18);background:#f4f7fc}.data-table-pagesize{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#52627a}.data-table-pager{display:flex;align-items:center;gap:8px}.data-table-page-indicator{font-size:12px;min-width:110px;text-align:center;color:#1f2a3a}.chart-selection-summary{display:flex;align-items:baseline;gap:8px;margin:0;padding:8px 10px;border-left:3px solid rgba(95,136,201,.35);color:var(--muted);font-size:.8rem}.chart-selection-summary.is-active{border-left-color:#5f88c9;background:#5f88c914;color:var(--text)}.chart-selection-summary-label{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.analytics-explorer{min-width:0;overflow:hidden;padding:20px}.analytics-explorer-header{align-items:flex-start}.analytics-explorer h2,.analytics-explorer h3{margin:0;font-family:Sora,sans-serif;letter-spacing:0}.analytics-explorer h2{font-size:1.25rem}.analytics-explorer h3{font-size:1rem}.analytics-explorer .eyebrow{margin:0 0 4px;color:#315c87;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.heatmap-grid button:focus-visible{position:relative;z-index:8;outline:3px solid #f59e0b;outline-offset:-2px}.analytics-instruction,.analytics-selection-summary,.analytics-title-row p{color:var(--muted);font-size:.78rem}.analytics-instruction{margin:12px 0 0}.analytics-selection-summary{margin:8px 0 0;padding:8px 10px;border-left:3px solid #5f88c9;background:#eef4fb}.analytics-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:20px 0 12px}.analytics-title-row p{margin:5px 0 0}.analytics-measure-badge{flex:0 0 auto;padding:6px 9px;border:1px solid #cbd8e8;border-radius:5px;background:#f4f7fb;color:#43536a;font-size:.7rem;font-weight:600}.weekly-chart{min-height:390px;border-top:1px solid #e4ebf4;padding-top:8px}.weekly-chart .recharts-wrapper,.weekly-chart .recharts-surface{overflow:visible}.analytics-tooltip{display:grid;gap:4px;max-width:280px;padding:11px 13px;border:1px solid #b8c7da;border-radius:7px;background:#fffffffa;box-shadow:0 8px 22px #162c492e;color:#1f2a3a;font-size:.72rem}.analytics-empty{display:grid;min-height:240px;place-items:center;border:1px dashed #bdcada;background:#f7f9fc;color:var(--muted)}.heatmap-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;color:#43536a;font-size:.7rem}.heatmap-legend>span:first-child{font-weight:700}.heatmap-legend-item{display:inline-flex;align-items:center;gap:4px}.heatmap-legend-item i{width:12px;height:12px;border:1px solid rgba(23,59,114,.15)}.heatmap-scroll{width:100%;max-height:min(66vh,680px);overflow:auto;overscroll-behavior:contain;border:1px solid #cbd8e8;background:#fff}.heatmap-grid{display:grid;width:max-content;min-width:100%;grid-auto-rows:36px;align-items:stretch}.heatmap-row-contents{display:contents}.heatmap-corner,.heatmap-row-label,.heatmap-month-heading,.heatmap-date-heading{border:0;border-right:1px solid #dbe4ef;border-bottom:1px solid #dbe4ef;background:#f4f7fb;color:#34445c;font-size:.68rem;font-weight:600}.heatmap-corner,.heatmap-row-label{position:sticky;left:0;z-index:5;display:flex;align-items:center;gap:7px;min-width:0;padding:0 10px;text-align:left}.heatmap-row-label{cursor:pointer}.heatmap-row-label i{flex:0 0 8px;width:8px;height:20px}.heatmap-row-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heatmap-month-corner,.heatmap-month-heading{position:sticky;top:0;z-index:6}.heatmap-month-corner{left:0;z-index:7}.heatmap-month-heading{display:flex;align-items:center;padding:0 8px;border-right:2px solid #91a6c0;background:#dce6f2;color:#25324a}.heatmap-date-heading{position:sticky;top:36px;z-index:4;width:36px;overflow:hidden;padding:0 2px;cursor:pointer;white-space:nowrap}.heatmap-date-heading.is-week-start,.heatmap-cell.is-week-start,.capacity-strip-cell.is-week-start{border-left:2px solid #91a6c0}.heatmap-date-heading.is-month-start,.heatmap-cell.is-month-start{box-shadow:inset 3px 0 #52627a}.heatmap-cell,.capacity-strip-cell{display:grid;width:36px;min-width:36px;height:36px;place-items:center;padding:0;border:0;border-right:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.7);color:#0f2745;cursor:pointer;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.heatmap-cell.is-selected,.capacity-strip-cell.is-selected{position:relative;z-index:2;outline:2px solid #111827;outline-offset:-3px}.heatmap-status-label{background:#e9eef5}.capacity-strip-cell{height:14px;align-self:center;border-bottom:0}.capacity-strip-cell.is-below{background:#4f9b76}.capacity-strip-cell.is-near{background:#e4a93d}.capacity-strip-cell.is-above{background:#c94e54}.capacity-strip-cell.is-unavailable{background:#aab5c3}@media(max-width:820px){.lower-chart-header{align-items:flex-start;flex-wrap:wrap}.lower-chart-view-toggle{flex:1 1 auto}.lower-chart-view-toggle button{flex:1 1 0;min-width:0;white-space:normal}.analytics-explorer{padding:14px}.analytics-explorer-header,.analytics-title-row{align-items:flex-start;flex-direction:column}.weekly-chart{margin-right:-8px}}@media(prefers-reduced-motion:reduce){.analytics-explorer *,.analytics-explorer *:before,.analytics-explorer *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.analytics-data-warning{margin:8px 0 0;padding:8px 10px;border-left:3px solid #c2413b;background:#fff3f1;color:#8a2f2a;font-size:.78rem}.readiness-tracker,.readiness-column-menu{position:relative}.readiness-column-menu-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;gap:6px;min-width:200px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.readiness-column-menu-item{display:flex;align-items:center;gap:8px;padding:4px 2px;color:var(--text);font-size:.82rem;font-weight:500;cursor:pointer}.readiness-empty-state{display:flex;align-items:center;justify-content:center;gap:8px;min-height:200px;margin-top:16px;border:1px dashed #bdcada;border-radius:14px;background:#f7f9fc;color:var(--muted);font-size:.9rem;text-align:center;padding:20px}.readiness-tracker-scroll{margin-top:16px;width:100%;max-height:72vh;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.readiness-tracker-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:.8rem}.readiness-tracker-table th,.readiness-tracker-table td{padding:8px 10px;border-right:1px solid rgba(22,44,73,.08);border-bottom:1px solid rgba(22,44,73,.08);white-space:nowrap}.readiness-tracker-table tbody td{border-bottom:2px solid rgba(22,44,73,.22)}.readiness-tracker-table thead th{position:sticky;top:0;z-index:3;height:34px;background:linear-gradient(180deg,#eef4fb,#e2ecf8);color:#1f3556;font-size:.72rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase;text-align:left}.readiness-tracker-table thead tr:first-child th{top:0}.readiness-tracker-table thead tr:nth-child(2) th{top:34px}.readiness-tracker-table thead tr:nth-child(3) th{top:68px}.readiness-header-merged-top{border-bottom:none!important;vertical-align:bottom}.readiness-header-merged-bottom{border-top:none}.readiness-milestone-group-header{text-align:center!important;background:linear-gradient(180deg,#dce6f5,#cddbf0)!important;border-left:2px solid rgba(95,136,201,.4)}.readiness-milestone-timeframe{font-weight:500;text-transform:none;opacity:.75}.readiness-milestone-field-header{text-align:center!important;background:#f2f6fc!important;font-size:.68rem!important}.readiness-fixed-col{background:#fbfdff;font-weight:600;color:#1f2a3a}.readiness-col-row-number{position:sticky;left:0;z-index:2;width:40px;min-width:40px;max-width:40px;text-align:center;color:var(--muted)}.readiness-col-activity-code{position:sticky;left:40px;z-index:2;width:130px;min-width:130px;max-width:130px}.readiness-col-activity-name{position:sticky;left:170px;z-index:2}.readiness-col-status{position:sticky;left:390px;z-index:2;width:124px;min-width:124px;max-width:124px;box-shadow:4px 0 6px -4px #162c4940}.readiness-tracker-table thead th.readiness-col-row-number,.readiness-tracker-table thead th.readiness-col-activity-code,.readiness-tracker-table thead th.readiness-col-activity-name,.readiness-tracker-table thead th.readiness-col-status{z-index:5}.readiness-activity-name{width:220px;min-width:220px;max-width:220px}.readiness-tracker-table td.readiness-activity-name{white-space:normal;word-break:break-word;vertical-align:top;line-height:1.3}.readiness-tracker-table tbody tr:nth-child(2n){background:#f8fafd}.readiness-tracker-table tbody tr:nth-child(2n) td.readiness-fixed-col{background:#f3f7fc}.readiness-tracker-table tbody tr:hover{background:#eef3fa}.readiness-tracker-table tbody tr:hover td.readiness-fixed-col{background:#e8eff9}.readiness-tracker-table tbody tr.is-at-risk{background:#fff5f5}.readiness-tracker-table tbody tr.is-at-risk td.readiness-fixed-col{background:#fff0f0}.readiness-text-input,.readiness-date-input{width:100%;min-width:108px;padding:5px 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:.78rem}.readiness-text-input:hover,.readiness-date-input:hover{border-color:#5f88c959;background:#fff}.readiness-text-input:focus,.readiness-date-input:focus{outline:none;border-color:#5f88c9;background:#fff;box-shadow:0 0 0 3px #5f88c92e}.readiness-status-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.7rem;font-weight:700;white-space:nowrap}.readiness-status-badge.is-green{background:#4f9b7629;color:#24623f}.readiness-status-badge.is-amber{background:#fdf0b8;color:#7a5a00}.readiness-status-badge.is-red{background:#c94e5429;color:#8a1f1f}.readiness-tracker-table td.readiness-target-cell{border-left:4px solid transparent}.readiness-tracker-table td.readiness-target-green{border-left-color:#2f8a57;background:#f1f9f4}.readiness-tracker-table td.readiness-target-amber{border-left-color:#b7791f;background:#fdf7e6}.readiness-tracker-table td.readiness-target-red{border-left-color:#c53d43;background:#fdf0f0}.readiness-last-modified{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.readiness-last-modified-time{color:var(--muted);font-size:.68rem}.readiness-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;background:#1118276b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.readiness-modal{width:min(560px,100%);max-height:80vh;overflow-y:auto;padding:20px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.readiness-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.readiness-modal-header h3{margin:0;font-size:1.05rem}.readiness-modal-tabs{display:inline-flex;gap:2px;margin-bottom:14px;padding:3px;border:1px solid #cbd8e8;border-radius:8px;background:#edf3fa}.readiness-modal-tabs button{padding:7px 12px;border:0;border-radius:5px;background:transparent;color:#43536a;cursor:pointer;font-size:.78rem;font-weight:600}.readiness-modal-tabs button.is-active{background:#fff;color:#173b72;box-shadow:0 1px 4px #173b7229}.readiness-modal-body{display:grid;gap:12px}.readiness-modal-body label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}.readiness-modal-body label span{font-weight:600;color:var(--text)}.readiness-search-field{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;color:var(--muted)}.readiness-search-field input{flex:1;border:0;background:transparent;outline:none;font-size:.85rem;color:var(--text)}.readiness-search-results{display:grid;gap:6px;max-height:280px;overflow-y:auto}.readiness-search-result{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.readiness-search-result:hover{border-color:#5f88c9;background:#5f88c90f}.readiness-search-result span{color:var(--muted);font-size:.76rem}.readiness-history-list{display:grid;gap:10px;max-height:320px;overflow-y:auto}.readiness-history-item{display:grid;gap:2px;padding:10px 12px;border-left:3px solid #5f88c9;border-radius:6px;background:#f7f9fc}.readiness-history-item span{font-size:.8rem;color:var(--text)}.readiness-history-meta{color:var(--muted)!important;font-size:.72rem!important}.readiness-activity-code-button{padding:3px 8px;border:1px solid rgba(95,136,201,.35);border-radius:6px;background:#5f88c914;color:#2f4e73;cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;white-space:nowrap}.readiness-activity-code-button:hover,.readiness-activity-code-button:focus-visible{border-color:#5f88c9;background:#5f88c929}.readiness-tracker-table td.is-not-applicable{background:repeating-linear-gradient(135deg,#52627a0f,#52627a0f 6px,#52627a1c 6px,#52627a1c 12px)}.readiness-date-input:disabled{background:transparent;color:var(--muted);cursor:not-allowed;opacity:.55}.readiness-tracker-table td.is-overdue{background:#c94e541f;color:#8a1f1f;font-weight:700}.readiness-milestone-toggle-icon{display:inline-flex;align-items:center;justify-content:center;float:right;margin-left:4px;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}.readiness-milestone-toggle-icon:hover{background:#5f88c929;color:#1f2a3a}.readiness-owner-filter{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:.82rem;color:var(--text)}.readiness-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.readiness-record-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line)}.readiness-record-tabs button{padding:10px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.readiness-record-tabs button.is-active{border-bottom-color:#5f88c9;color:#1f3556;font-weight:700}.readiness-search-form{display:flex;align-items:center;gap:8px;flex:1;min-width:0;max-width:540px}.readiness-search-form .readiness-search-field{flex:1;min-width:0;max-width:420px}.readiness-filter-group{display:flex;align-items:center;gap:8px}.readiness-sort-header-button{display:inline-flex;align-items:center;gap:5px;width:100%;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer}.readiness-sort-icon{flex-shrink:0;opacity:.45}.readiness-sort-icon.is-active{opacity:1;color:#1f3556}.readiness-milestone-stacked{display:flex;flex-direction:column;gap:3px}.readiness-milestone-stacked>*:first-child{padding-bottom:3px;margin-bottom:2px;border-bottom:1px solid rgba(22,44,73,.12)}.readiness-milestone-stacked>span{display:flex;align-items:center;gap:4px;font-size:.76rem;white-space:nowrap}.readiness-stacked-input-row{display:flex;align-items:center;gap:4px}.readiness-stacked-label{color:var(--muted);font-size:.65rem;font-weight:700}.readiness-date-input-inline{min-width:0;flex:1;padding:2px 4px}.readiness-date-input.is-empty{color:transparent}.readiness-date-input.is-empty::-webkit-datetime-edit{color:transparent}.readiness-milestone-select{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc}.readiness-milestone-select-label{margin:0;color:var(--text);font-size:.82rem;font-weight:700}.readiness-milestone-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 12px;margin-top:8px}.readiness-milestone-select-item{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.8rem;cursor:pointer}.readiness-details-modal{width:min(680px,100%)}.readiness-details-grid{display:grid;gap:2px;max-height:60vh;overflow-y:auto}.readiness-details-row{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:12px;padding:8px 10px;border-bottom:1px solid rgba(22,44,73,.08)}.readiness-details-row:nth-child(odd){background:#f7f9fc}.readiness-details-label{color:var(--muted);font-size:.76rem;font-weight:700}.readiness-details-value{color:var(--text);font-size:.82rem;word-break:break-word}.readiness-header-actions{display:flex;align-items:flex-start;gap:8px}.readiness-icon-text-button{display:inline-flex;align-items:center;gap:6px}.readiness-view-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.readiness-segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid #cbd8e8;border-radius:8px;background:#edf3fa}.readiness-segmented button{padding:5px 12px;border:0;border-radius:5px;background:transparent;color:#43536a;cursor:pointer;font:inherit;font-size:.78rem;font-weight:600}.readiness-segmented button.is-active{background:#fff;color:#173b72;box-shadow:0 1px 4px #173b7229}.readiness-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.readiness-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border:1px solid rgba(95,136,201,.45);border-radius:999px;background:#eaf0f9;color:#1f3d6b;font-size:.76rem;font-weight:600}.readiness-filter-chip button{display:inline-flex;padding:3px;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer}.readiness-filter-chip button:hover,.readiness-filter-chip button:focus-visible{background:#1f3d6b24}.readiness-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:4px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;color:var(--muted);font-size:.74rem}.readiness-legend-item{display:inline-flex;align-items:center;gap:5px}.readiness-legend-item strong{color:var(--text)}.readiness-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border-left:4px solid}.readiness-legend-swatch.is-green{border-color:#2f8a57;background:#e5f4ea}.readiness-legend-swatch.is-amber{border-color:#b7791f;background:#fdf1d3}.readiness-legend-swatch.is-red{border-color:#c53d43;background:#fbe1e1}.readiness-tracker-scroll.is-refreshing{opacity:.65;transition:opacity .15s}.readiness-phase-header{text-align:center!important;background:linear-gradient(180deg,#d3e0f3,#c4d5ee)!important;border-left:2px solid rgba(95,136,201,.45)}.readiness-phase-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:0;border-radius:5px;background:transparent;color:inherit;cursor:pointer;font:inherit;text-transform:inherit}.readiness-phase-toggle:hover,.readiness-phase-toggle:focus-visible{background:#fff9}.readiness-tracker-table thead th.readiness-milestone-group-header{padding:3px 8px;max-width:170px;white-space:normal;line-height:1.15;font-size:.64rem}.readiness-milestone-label{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.readiness-milestone-group-header.is-collapsed{font-weight:600;text-transform:none;opacity:.8}.readiness-activity-name-button{padding:0;border:0;background:transparent;color:#1f2a3a;cursor:pointer;font:inherit;font-weight:600;text-align:left}.readiness-activity-name-button:hover,.readiness-activity-name-button:focus-visible{color:#1f5fae;text-decoration:underline}.readiness-code-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.readiness-tracker-table td.readiness-col-activity-code{white-space:normal}.readiness-flag-badge{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid transparent;border-radius:999px;font-size:.64rem;font-weight:700;line-height:1.4;white-space:nowrap}.readiness-flag-badge.is-shifted{background:#ece8fb;color:#4b3a99;border-color:#d3cbf3}.readiness-flag-badge.is-missing-anchor{background:#eef1f5;color:#52627a;border-color:#d5dce6}.readiness-flag-badge.is-source-missing{background:#f5f5f5;color:#5c5c5c;border-color:#bdbdbd;border-style:dashed}.readiness-flag-badge.is-executed{background:#e2f3f3;color:#1d6363;border-color:#bfe0e0}.readiness-flag-badge.is-overdue{background:#fbe1e1;color:#8a1f1f;border-color:#f2c2c2}.readiness-rag-chip{display:inline-flex;align-items:baseline;gap:5px;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap}.readiness-rag-chip.is-green{background:#e5f4ea;color:#24623f}.readiness-rag-chip.is-amber{background:#fdf0b8;color:#7a5a00}.readiness-rag-chip.is-red{background:#fbe1e1;color:#8a1f1f}.readiness-rag-chip.is-none,.readiness-rag-chip.is-na{background:#eef1f5;color:var(--muted);font-weight:600}.readiness-rag-chip-days{font-weight:500;opacity:.85}.readiness-tracker-table.is-compact tbody td{height:36px;padding:3px 8px;border-bottom-width:1px;vertical-align:middle}.readiness-tracker-table.is-compact .readiness-text-input{padding:3px 6px}.readiness-tracker-table.is-compact td.readiness-activity-name{vertical-align:middle}.readiness-tracker-table td.readiness-compact-cell{padding:2px 6px;text-align:center}.readiness-compact-button{display:inline-flex;padding:1px;border:0;border-radius:999px;background:transparent;cursor:pointer}.readiness-compact-button:hover .readiness-rag-chip,.readiness-compact-button:focus-visible .readiness-rag-chip{box-shadow:0 0 0 2px #5f88c973}.readiness-collapsed-cell{border-left:2px solid rgba(95,136,201,.3)}.readiness-col-timeline{min-width:196px}.readiness-days-label{font-size:.66rem;font-weight:600;color:var(--muted)}.readiness-days-label.is-amber{color:#7a5a00}.readiness-days-label.is-red{color:#8a1f1f}.readiness-anchor-flags:empty{display:none}.readiness-na-text{color:var(--muted);font-size:.72rem}.readiness-row-actions{display:flex;gap:6px}.readiness-date-cell{display:inline-flex;flex-direction:column;gap:2px;min-width:0}.readiness-date-cell-main{display:inline-flex;align-items:center;gap:4px}.readiness-date-cell-display{min-width:84px;min-height:22px;padding:2px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.78rem;text-align:left}.readiness-date-cell-display:hover,.readiness-date-cell-display:focus-visible{border-color:#5f88c973;background:#fff;outline:none}.readiness-date-cell-add{color:#5f88c9;font-size:.72rem;font-style:italic;opacity:0;transition:opacity .12s}.readiness-tracker-table tr:hover .readiness-date-cell-add,.readiness-date-cell-display:focus-visible .readiness-date-cell-add,.readiness-drawer .readiness-date-cell-add{opacity:1}.readiness-date-cell-input{min-width:128px;padding:2px 4px;border-color:#5f88c9;background:#fff}.readiness-date-cell-text{font-size:.78rem}.readiness-drawer .readiness-date-cell-text,.readiness-drawer .readiness-date-cell-display,.readiness-drawer .readiness-date-cell-input,.readiness-drawer .readiness-date-cell-error{font-size:.95rem}.readiness-drawer .readiness-date-cell-display{padding:4px 6px}.readiness-drawer .readiness-status-badge,.readiness-drawer .readiness-flag-badge,.readiness-drawer .readiness-rag-chip{font-size:.8rem}.readiness-date-cell-state{display:inline-flex}.readiness-date-cell-state.is-saving svg{animation:readiness-spin .9s linear infinite;color:#5f88c9}.readiness-date-cell-state.is-saved{color:#2f8a57;animation:readiness-fade-out 2s ease-in forwards}.readiness-date-cell-state.is-error{color:#c53d43}.readiness-date-cell-error{max-width:200px;color:#a32b30;font-size:.68rem;font-weight:600;white-space:normal}@keyframes readiness-spin{to{transform:rotate(360deg)}}@keyframes readiness-fade-out{0%,60%{opacity:1}to{opacity:0}}.readiness-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px;background:#11182759;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:readiness-overlay-in .14s ease-out}.readiness-drawer{--drawer-zoom: max(var(--app-scale, .7), .9);display:flex;flex-direction:column;width:min(1400px,100%);max-height:calc(100vh - 48px);overflow:hidden;zoom:var(--drawer-zoom);border-radius:18px;background:#fff;box-shadow:0 24px 64px #11182747;animation:readiness-modal-in .16s ease-out}@supports (zoom: 1){.readiness-drawer{width:min(1400px,calc((100vw - 48px) / var(--drawer-zoom)));max-height:calc((100vh - 48px) / var(--drawer-zoom))}}@keyframes readiness-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes readiness-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.readiness-drawer-overlay,.readiness-drawer{animation:none}}.readiness-drawer:focus{outline:none}.readiness-drawer-header{display:flex;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f4f8fd,#fff)}.readiness-drawer-heading h2{margin:2px 0 8px;font-size:1.35rem}.readiness-drawer-code{color:#2f4e73;font-size:.88rem;font-weight:700}.readiness-drawer-meta{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0 0 10px;font-size:.9rem}.readiness-drawer-meta div{display:flex;gap:5px}.readiness-drawer-meta dt{color:var(--muted);font-weight:600}.readiness-drawer-meta dd{margin:0;color:var(--text)}.readiness-drawer-flags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.readiness-drawer-actions{display:flex;align-items:flex-start;gap:6px}.readiness-drawer-actions .secondary-button{display:inline-flex;align-items:center;gap:5px}.readiness-drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 26px 28px}.readiness-drawer-section{margin-bottom:18px}.readiness-drawer-section:focus{outline:none}.readiness-drawer-section h3{margin:0 0 10px;color:#1f3556;font-size:.95rem;letter-spacing:.02em;text-transform:uppercase}.readiness-drawer-phase h4{margin:14px 0 8px;color:var(--muted);font-size:.84rem;text-transform:uppercase}.readiness-drawer-milestone{display:grid;gap:8px;margin-bottom:8px;padding:12px 16px;border:1px solid rgba(22,44,73,.1);border-left:4px solid #d5dce6;border-radius:8px;background:#fff}.readiness-drawer-milestone:focus{outline:2px solid rgba(95,136,201,.5);outline-offset:1px}.readiness-drawer-milestone.is-green{border-left-color:#2f8a57}.readiness-drawer-milestone.is-amber{border-left-color:#b7791f}.readiness-drawer-milestone.is-red{border-left-color:#c53d43}.readiness-drawer-milestone.is-not-applicable{background:#f7f9fc}.readiness-drawer-milestone.is-focused{box-shadow:0 0 0 3px #5f88c940}.readiness-drawer-milestone-head{display:flex;justify-content:space-between;gap:10px;font-size:1rem}.readiness-drawer-applicable{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.86rem;cursor:pointer}.readiness-drawer-rag{display:flex;align-items:center;gap:8px}.readiness-drawer-reason,.readiness-drawer-na{margin:0;color:var(--muted);font-size:.86rem}.readiness-drawer-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-size:.95rem}.readiness-drawer-dates>div{display:grid;align-content:start;gap:2px}.readiness-drawer-date-label{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.readiness-drawer-date-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px}@media(max-width:820px){.readiness-modal{width:100%}.readiness-drawer-dates{grid-template-columns:1fr}}
