:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f7fb;color:#13233a}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f4f7fb}a{color:inherit}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#123b72;color:#fff;position:sticky;top:0;z-index:20}.brand{text-decoration:none}.brand strong{margin-right:8px;letter-spacing:.04em}.top-actions{display:flex;align-items:center;gap:12px}.readonly-badge,.release-badge{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:13px}.release-badge{background:#dbeafe;color:#123b72}.user-name{font-size:14px}.app-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 64px)}.sidebar{padding:22px 16px;background:#fff;border-right:1px solid #dbe5f2;display:flex;flex-direction:column;gap:18px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.back-link,.link-button{padding:10px 12px;border-radius:10px;text-decoration:none;color:#52657d;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.sidebar nav a:hover,.sidebar nav a.active{background:#eaf2ff;color:#123b72;font-weight:700}.back-link{margin-top:auto}.page-shell{width:min(1180px,calc(100% - 40px));margin:28px auto 100px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.page-header h1{font-size:clamp(28px,4vw,42px);margin:4px 0 8px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:#2563eb;margin:0}.muted{color:#60738b;line-height:1.55}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi,.card,.login-card,.empty-state{background:#fff;border:1px solid #dbe5f2;border-radius:16px;box-shadow:0 8px 25px rgba(18,59,114,.06)}.kpi{padding:18px;display:grid;gap:8px}.kpi span{font-size:13px;color:#60738b}.kpi strong{font-size:clamp(21px,2.3vw,30px);word-break:break-word}.kpi small{color:#76889d}.card{padding:22px;margin-bottom:18px}.card h2{margin:0 0 16px}.two-column{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.chart{display:block;width:100%;height:280px;margin-bottom:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:11px 10px;border-bottom:1px solid #e5edf6;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}.metric-list{list-style:none;margin:0;padding:0}.metric-list li{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #e5edf6}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:10px;text-decoration:none;border:1px solid transparent;font-weight:700}.button.primary{background:#2563eb;color:#fff}.button.secondary{background:#fff;border-color:#93c5fd;color:#1d4ed8}.actions-card{display:flex;gap:12px;flex-wrap:wrap}.auth-shell{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:24px}.login-card{width:min(460px,100%);padding:28px}.login-card h1{margin:6px 0 8px}.login-card form{display:grid;gap:14px;margin-top:22px}.login-card label{display:grid;gap:7px;font-weight:600}.login-card input{width:100%;padding:12px;border:1px solid #c9d6e5;border-radius:10px;font:inherit}.alert{padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b}.empty-state{padding:40px;text-align:center}.mobile-nav{display:none}.link-button{width:100%}@media(max-width:960px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}.page-shell{width:min(100% - 24px,1180px);margin-top:18px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1fr}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dbe5f2;z-index:30}.mobile-nav a{text-align:center;padding:12px 4px;font-size:12px;text-decoration:none;color:#52657d}}@media(max-width:560px){.topbar{padding:0 14px}.user-name{display:none}.page-header{display:block}.release-badge{display:inline-block;margin-top:8px}.kpi-grid,.kpi-grid.compact{grid-template-columns:1fr 1fr}.kpi{padding:14px}.kpi strong{font-size:20px}.card{padding:16px}.table-wrap{margin:0 -16px;padding:0 16px}}@media(max-width:390px){.kpi-grid,.kpi-grid.compact{grid-template-columns:1fr}}
.role-badge{padding:6px 10px;border-radius:999px;background:#eef6ff;color:#123b72;font-size:12px;font-weight:700}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.account-tile{background:#fff;border:1px solid #dbe5f2;border-radius:16px;padding:20px;text-decoration:none;display:grid;gap:8px;box-shadow:0 8px 25px rgba(18,59,114,.05)}.account-tile:hover{border-color:#93c5fd;transform:translateY(-1px)}.account-tile span{color:#60738b}.detail-list{display:grid;gap:0;margin:0}.detail-list div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid #e5edf6}.detail-list dt{color:#60738b}.detail-list dd{margin:0;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}.form-grid label{display:grid;gap:7px;font-weight:700}.form-grid input,.form-grid select{width:100%;padding:11px 12px;border:1px solid #c9d6e5;border-radius:10px;background:#fff;font:inherit}.form-action{display:flex;align-items:end}.compact-form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;margin-top:18px}.inline-actions,.inline-actions form{display:flex;align-items:center;gap:7px}.inline-actions{flex-wrap:wrap}.inline-actions select{padding:8px;border:1px solid #c9d6e5;border-radius:8px;background:#fff}.button.mini{padding:7px 10px;font-size:12px}.button.danger{background:#b91c1c;color:#fff}.button.mini.danger{background:#fff1f2;color:#be123c;border-color:#fecdd3}.status-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.status-pill{padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.status-pill.success{background:#dcfce7;color:#166534}.status-pill.warning{background:#fef3c7;color:#92400e}.one-time-secret{border-color:#f59e0b;background:#fffbeb}.one-time-secret code,.break-code{display:block;padding:12px;background:#172033;color:#eef6ff;border-radius:10px;overflow-wrap:anywhere;word-break:break-all;margin:10px 0}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recovery-grid code{text-align:center;margin:0}.plain-list{line-height:1.8}.text-link{display:inline-block;margin-top:16px;color:#1d4ed8}.table-wrap small{color:#60738b}@media(max-width:800px){.account-grid,.form-grid,.compact-form{grid-template-columns:1fr}.detail-list div{grid-template-columns:1fr;gap:4px}.inline-actions,.inline-actions form{align-items:stretch}.recovery-grid{grid-template-columns:1fr}.status-row{display:block}}
.release-box{display:grid;gap:5px;min-width:250px;padding:14px 16px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff}.release-box span{font-size:12px;color:#60738b}.release-box strong{font-size:14px;overflow-wrap:anywhere}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.button.small{padding:7px 11px;font-size:12px}.status-pill.status-pending{background:#fef3c7;color:#92400e}.status-pill.status-processing{background:#dbeafe;color:#1d4ed8}.status-pill.status-published{background:#dcfce7;color:#166534}.status-pill.status-failed{background:#fee2e2;color:#991b1b}.report-downloads{display:flex;justify-content:flex-end;gap:7px}.empty-state.compact{padding:26px;box-shadow:none}.empty-state.compact h3{margin:0 0 7px}@media(max-width:700px){.release-box{margin-top:14px;min-width:0}.actions-card{display:grid}.report-downloads{justify-content:flex-start}}

/* Review round 01: accessibility, mobile navigation and source clarity. */
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#123b72;color:#fff;font-weight:700;text-decoration:none}.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.alert-stack{display:grid;gap:10px;margin-bottom:14px}.source-pill{display:inline-flex;margin:6px 0 0 7px;padding:3px 7px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:11px;font-weight:800;vertical-align:middle}
.mobile-nav a.active{background:#eaf2ff;color:#123b72;font-weight:800}.page-shell:focus{outline:none}
@media(max-width:960px){.mobile-nav{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.mobile-nav a{flex:1 0 76px;min-width:76px}.page-shell{margin-bottom:112px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.account-tile:hover{transform:none}}

/* Review round 02: auth hardening feedback and mobile clarity. */
.alert.warning{background:#fef3c7;color:#92400e}
.login-card input:invalid:not(:placeholder-shown){border-color:#f59e0b}
.mobile-nav a[aria-current="page"]{box-shadow:inset 0 3px 0 #2563eb}
code{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace}

/* CP-08: optional private Looker Studio embed. */
.looker-card{padding:0;overflow:hidden}.looker-frame-wrap{position:relative;width:100%;min-height:680px;background:#eef3f9}.looker-frame{display:block;width:100%;height:78vh;min-height:680px;border:0;background:#fff}.looker-note{margin:0;padding:14px 18px;border-top:1px solid #dbe5f2}.page-header>.button{flex:0 0 auto}@media(max-width:800px){.looker-frame-wrap,.looker-frame{min-height:560px}.looker-frame{height:72vh}.page-header>.button{margin-top:14px}}

.owner-canary-banner {
  align-items: center;
  background: #fff7ed;
  border-bottom: 1px solid #fdba74;
  color: #9a3412;
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  padding: 0.65rem 1rem;
  text-align: center;
}

.owner-canary-banner strong {
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .owner-canary-banner {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.2rem;
    text-align: left;
  }
}

/* CP-13 BI: executive decision cockpit. */
.executive-header{align-items:center}.executive-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.executive-hero-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.hero-kpi{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #dbe5f2;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(18,59,114,.07);display:grid;gap:8px}.hero-kpi::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#93c5fd}.hero-kpi.good::before{background:#22c55e}.hero-kpi.danger::before{background:#ef4444}.hero-kpi span{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#60738b}.hero-kpi strong{font-size:clamp(22px,2.4vw,32px);line-height:1.1;overflow-wrap:anywhere}.hero-kpi small{color:#76889d;line-height:1.4}.executive-grid{display:grid;gap:18px}.executive-grid-main{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.executive-grid-scenarios{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card{background:linear-gradient(160deg,#fff,#f8fbff)}.signal-count,.period-chip{font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;background:#eef6ff;color:#123b72;white-space:nowrap}.signal-list{display:grid;gap:10px}.signal{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:13px 14px;border-radius:14px;border:1px solid #e5edf6;background:#fff}.signal-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-weight:900;background:#eef6ff;color:#1d4ed8}.signal strong{display:block;margin-bottom:4px}.signal p{margin:0;color:#60738b;line-height:1.45;font-size:13px}.signal small{display:inline-block;margin-top:6px;font-weight:800}.signal-critical{border-color:#fecaca;background:#fff7f7}.signal-critical .signal-icon{background:#fee2e2;color:#b91c1c}.signal-warning{border-color:#fde68a;background:#fffbeb}.signal-warning .signal-icon{background:#fef3c7;color:#92400e}.signal-positive{border-color:#bbf7d0;background:#f7fff9}.signal-positive .signal-icon{background:#dcfce7;color:#166534}.change-list{display:grid}.change-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #e5edf6}.change-row>div:first-child{display:grid;gap:4px}.change-row span{color:#60738b;font-size:13px}.change-row strong{font-size:18px}.change-delta{text-align:right;display:grid;gap:3px}.change-delta.up strong{color:#15803d}.change-delta.down strong{color:#b91c1c}.change-delta.flat strong{color:#60738b}.change-delta small{color:#76889d}.executive-trend-card{overflow:hidden}.executive-chart{height:320px}.projection-table{display:grid;border:1px solid #e5edf6;border-radius:14px;overflow:hidden;margin:16px 0}.projection-head,.projection-row{display:grid;grid-template-columns:80px repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px;align-items:center}.projection-head{background:#f2f6fb;color:#60738b;font-size:12px;font-weight:800;text-transform:uppercase}.projection-row{border-top:1px solid #e5edf6;font-size:13px}.projection-row span{text-align:right}.negative{color:#b91c1c!important}.positive-text{color:#15803d!important}.run-rate-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.run-rate-strip span{padding:10px;border-radius:10px;background:#f7f9fc;color:#60738b;font-size:12px}.run-rate-strip strong{display:block;color:#13233a;margin-top:4px}.scenario-bars{display:grid;gap:15px;margin-top:18px}.scenario-bar-row{display:grid;grid-template-columns:130px minmax(100px,1fr) 135px;gap:12px;align-items:center}.scenario-label{display:grid;gap:2px}.scenario-label span{font-size:11px;color:#60738b}.scenario-track,.mini-track{height:9px;border-radius:999px;background:#edf2f7;overflow:hidden}.scenario-track span,.mini-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#60a5fa)}.scenario-bar-row small{text-align:right;font-weight:800}.rank-list,.exposure-list,.cash-source-list{display:grid}.rank-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e5edf6}.rank-index{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef6ff;color:#1d4ed8;font-weight:900;font-size:12px}.rank-main{display:grid;gap:8px}.rank-value{text-align:right;display:grid;gap:3px}.rank-value small{color:#60738b}.exposure-list article{padding:13px 0;border-bottom:1px solid #e5edf6}.exposure-list article>strong{display:block;margin-bottom:8px}.exposure-list article div{display:flex;justify-content:space-between;gap:14px;color:#60738b;font-size:13px}.exposure-list b{color:#13233a}.cash-source-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #e5edf6}.cash-source-row>div{display:grid;gap:3px}.cash-source-row small{color:#76889d}.quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.quality-grid div{padding:13px;border-radius:12px;background:#f7f9fc;display:grid;gap:5px}.quality-grid span{font-size:11px;color:#60738b}.quality-grid strong{font-size:22px}.bi-callout{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border-color:#bfdbfe}.bi-callout h2{margin:4px 0 8px}.model-note{padding:16px 18px;border:1px dashed #c9d6e5;border-radius:14px;color:#60738b;font-size:13px}.model-note ul{margin:8px 0 0;padding-left:20px;line-height:1.6}@media(max-width:1050px){.executive-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-grid-main,.executive-grid-scenarios{grid-template-columns:1fr}}@media(max-width:720px){.executive-header-actions{justify-content:flex-start;margin-top:14px}.scenario-bar-row{grid-template-columns:100px minmax(80px,1fr);gap:9px}.scenario-bar-row small{grid-column:1/-1;text-align:left}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projection-head,.projection-row{grid-template-columns:64px repeat(3,minmax(100px,1fr));min-width:520px}.projection-table{overflow-x:auto}.run-rate-strip{grid-template-columns:1fr}.bi-callout{display:block}.bi-callout .button{margin-top:12px}}@media(max-width:520px){.executive-hero-grid{grid-template-columns:1fr}.change-row{align-items:flex-start}.hero-kpi{padding:16px}.rank-row{grid-template-columns:28px minmax(0,1fr)}.rank-value{grid-column:2;text-align:left}.quality-grid{grid-template-columns:1fr 1fr}}
