:root{
  --brand-primary:#3959a8;
  --brand-secondary:#f68921;

  --bg:#0b1220;
  --surface:#0f1a30;
  --surface-2:#122143;
  --text:#eaf0ff;
  --muted:#a7b6da;
  --border:rgba(255,255,255,.10);
  --shadow: 0 12px 30px rgba(0,0,0,.35);
  --radius: 20px;

  /* App-scale typography */
  --text-base: 1.125rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 2.5rem;
  --space: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 2.5rem;
}

/* Course File Audit acknowledgement/export signature pads. */
.cfa-signature-pad{width:100%;max-width:none;}
.cfa-signature-pad__canvas{display:block;width:100%;max-width:none;height:300px;border:1px solid var(--border);border-radius:var(--radius);background:#fff !important;cursor:crosshair;touch-action:none;vertical-align:middle;}

*{box-sizing:border-box}
[x-cloak]{display:none !important}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  font-size: var(--text-base);
  line-height: 1.5;
  /* Single smooth gradient – no repeat, no blocks */
  background: var(--bg);
  background-image: linear-gradient(165deg,
    var(--bg) 0%,
    #0d1525 25%,
    #0f1a2e 50%,
    #0b1320 75%,
    var(--bg) 100%);
  background-attachment: fixed;
  background-size: 100% 100%;
  min-height: 100vh;
  color: var(--text);
}

a{color:inherit}
.container{
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--space-lg) var(--space-xl);
}
.topbar{
  position: sticky;
  top: 0;
  backdrop-filter: blur(12px);
  background: rgba(11,18,32,.85);
  border-bottom: 1px solid var(--border);
  z-index: 10;
}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space);}
.topbar__nav{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-end;gap:.7rem;}
.topbar__user{display:flex;flex:1 1 27rem;min-width:12rem;max-width:36rem;flex-direction:column;align-items:flex-start;margin-left:0;text-align:left;}
.topbar__user-name{max-width:100%;overflow:hidden;font-size:var(--text-base);font-weight:650;text-overflow:ellipsis;white-space:nowrap;}
.topbar__user-unit,.topbar__user-roles{width:100%;max-width:100%;overflow-wrap:normal;word-break:normal;color:var(--muted);white-space:normal;}
.topbar__user-unit{max-height:3.1em;color:#d2def7;line-height:1.3;}
.topbar__user-roles{display:flex;max-height:2.7em;flex-wrap:wrap;justify-content:flex-start;gap:.1rem .4rem;font-size:.76rem;line-height:1.3;overflow:hidden;}
.topbar__user-role{white-space:nowrap;}
.topbar__user-role-separator{margin-right:.4rem;color:rgba(167,182,218,.7);}
.support-topbar-link{display:inline-flex;flex:0 0 auto;align-items:center;gap:.35rem;margin-inline:0;color:var(--text);font-size:.95rem;font-weight:650;text-decoration:none;white-space:nowrap;}
.support-topbar-link__icon{width:1.15rem;height:1.15rem;flex:0 0 auto;}
.support-topbar-link__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:#d92d20;color:#fff;font-size:.7rem;font-weight:800;line-height:1;}
.support-topbar-link:hover{color:#9fe9ff;}
.support-topbar-link:focus-visible{outline:2px solid #8ce8ff;outline-offset:3px;border-radius:4px;}

/* Phase 1 Academic Operations attention center. The panel is server-rendered
   and only fetched when opened so ordinary page loads stay compact. */
.ao-attention-center{position:relative;z-index:12;}
.ao-attention-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.65rem;min-height:44px;width:min(100%,25rem);padding:.45rem .55rem .45rem .65rem;border:1px solid rgba(140,232,255,.28);border-radius:13px;background:rgba(140,232,255,.06);color:var(--text);cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease;}
.ao-attention-control:hover{background:rgba(140,232,255,.12);border-color:rgba(140,232,255,.52);transform:translateY(-1px);}
.ao-attention-control:focus-visible{outline:2px solid #8ce8ff;outline-offset:3px;}
.ao-attention-control__icon{width:1.35rem;height:1.35rem;flex:0 0 auto;color:#8ce8ff;}
.ao-attention-control__copy{display:flex;min-width:0;flex-direction:column;line-height:1.18;}
.ao-attention-control__label{font-size:.84rem;font-weight:800;letter-spacing:.01em;white-space:nowrap;}
.ao-attention-control__meta{display:block;max-width:19rem;margin-top:.2rem;color:var(--muted);font-size:.66rem;line-height:1.25;white-space:normal;}
.ao-attention-control__badge{display:inline-flex;align-items:center;justify-content:center;align-self:end;min-width:2rem;min-height:1.55rem;padding:.16rem .45rem;border-radius:999px;background:rgba(140,232,255,.18);color:#b7f3ff;font-size:.76rem;font-weight:850;line-height:1;white-space:nowrap;}
.ao-attention-control--urgent{border-color:rgba(239,102,117,.58);background:rgba(239,102,117,.10);}
.ao-attention-control--urgent .ao-attention-control__icon,.ao-attention-control--urgent .ao-attention-control__badge{color:#ffd4d8;}
.ao-attention-control--urgent .ao-attention-control__badge{background:rgba(222,67,86,.38);}
.ao-attention-control--due{border-color:rgba(246,137,33,.48);background:rgba(246,137,33,.08);}
.ao-attention-control--due .ao-attention-control__icon,.ao-attention-control--due .ao-attention-control__badge{color:#ffd39f;}
.ao-attention-control--due .ao-attention-control__badge{background:rgba(246,137,33,.25);}
.ao-attention-control--unread{border-color:rgba(140,232,255,.48);}
.ao-attention-control--urgent .ao-attention-control__badge{animation:ao-attention-pulse 2.8s ease-in-out infinite;}
@keyframes ao-attention-pulse{0%,100%{box-shadow:0 0 0 rgba(239,102,117,0)}50%{box-shadow:0 0 16px rgba(239,102,117,.28)}}
.ao-attention-drawer{position:absolute;top:calc(100% + .7rem);right:0;width:min(32rem,calc(100vw - 2rem));max-height:min(70vh,38rem);overflow:auto;padding:1rem;border:1px solid rgba(140,232,255,.28);border-radius:18px;background:rgba(15,26,48,.98);box-shadow:0 18px 48px rgba(0,0,0,.48);}
.ao-attention-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--border);}
.ao-attention-drawer__header strong{display:block;margin-top:.15rem;font-size:1.05rem;}
.ao-attention-drawer__close{width:2rem;height:2rem;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text);font-size:1.25rem;line-height:1;cursor:pointer;}
.ao-attention-drawer__close:focus-visible{outline:2px solid #8ce8ff;outline-offset:2px;}
.ao-attention-drawer__content{padding-top:.8rem;}
.ao-attention-preview__list{display:flex;flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;}
.ao-attention-preview__item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid rgba(140,232,255,.15);border-left:3px solid rgba(140,232,255,.62);border-radius:12px;background:rgba(255,255,255,.035);}
.ao-attention-preview__item--due{border-left-color:#f6a64b;}
.ao-attention-preview__item--urgent{border-left-color:#ef6675;background:rgba(239,102,117,.07);}
.ao-attention-preview__item-main{min-width:0;display:flex;flex-direction:column;gap:.18rem;}
.ao-attention-preview__item-title{display:flex;align-items:flex-start;gap:.4rem;font-size:.92rem;font-weight:750;line-height:1.25;}
.ao-attention-preview__item-title a{overflow:hidden;text-overflow:ellipsis;}
.ao-attention-preview__item-meta{color:var(--muted);font-size:.72rem;line-height:1.3;}
.ao-attention-preview__unread-dot{width:.48rem;height:.48rem;flex:0 0 auto;margin-top:.3rem;border-radius:50%;background:#8ce8ff;box-shadow:0 0 9px rgba(140,232,255,.7);}
.ao-attention-preview__actions{display:flex;flex:0 0 auto;align-items:center;gap:.35rem;}
.ao-attention-preview__actions form{margin:0;}
.ao-attention-preview__open,.ao-attention-preview__ack{min-height:36px;padding:.42rem .62rem;font-size:.72rem;border-radius:9px;}
.ao-attention-preview__notice{margin:0 0 .7rem;padding:.55rem .7rem;border:1px solid rgba(140,232,255,.28);border-radius:9px;color:#c5f5ff;font-size:.78rem;}
.ao-attention-preview__empty{display:flex;align-items:center;gap:.7rem;padding:.6rem 0 1rem;}
.ao-attention-preview__empty strong,.ao-attention-preview__empty span{display:block;}
.ao-attention-preview__empty-icon{display:inline-flex !important;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:rgba(76,184,135,.18);color:#93e6b8;font-weight:800;}
.ao-attention-preview__footer{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem;padding-top:.8rem;border-top:1px solid var(--border);}
.ao-attention-preview__footer .btn{min-height:40px;padding:.5rem .7rem;font-size:.75rem;}
.eyebrow{color:#96e6f3;font-size:.68rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;}

.brand{display:flex;align-items:center;gap:16px}
.brand__link,.brand__link:link,.brand__link:visited,.brand__link:hover,.brand__link:active{text-decoration:none !important;color:inherit;}
.brand__link:hover{opacity:.92;}
.brand__link .brand__title,.brand__link .brand__subtitle{text-decoration:none !important;}
.brand__logo{
  height: 44px;
  width: auto;
  display: block;
  object-fit: contain;
}
.brand__mark{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
  box-shadow: var(--shadow);
}
.brand__title{font-weight:800;font-size: var(--text-xl);letter-spacing:.02em}
.brand__subtitle{font-size: var(--text-base);color:var(--muted);margin-top:2px}

.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--border);
  padding: 14px 20px;
  font-size: var(--text-base);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor: pointer;
  text-decoration: none;
}
.btn:hover{background: rgba(255,255,255,.07)}
.btn--primary{border-color: rgba(57,89,168,.6);background: linear-gradient(135deg, rgba(57,89,168,.55), rgba(57,89,168,.20)); color: var(--text)}
.btn--secondary{border-color: rgba(246,137,33,.6);background: linear-gradient(135deg, rgba(246,137,33,.45), rgba(246,137,33,.15)); color: var(--text)}
.btn--ghost{background: transparent; padding: 12px 16px; font-size: 1.25rem; color: #fff}

.support-page{max-width:980px;margin:0 auto;}
.support-workspace-block{margin-top:var(--space);}
.support-page h1{margin:.15rem 0 .35rem;}
.support-page h2{margin-top:0;}
.support-eyebrow{margin:0;color:#96e6f3;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.support-case-list{display:flex;flex-direction:column;gap:.7rem;margin-top:var(--space);}
.support-case-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space);padding:1rem 1.1rem;border:1px solid var(--border);border-left:4px solid transparent;border-radius:14px;background:rgba(255,255,255,.025);text-decoration:none;transition:filter .15s ease,transform .15s ease;}
.support-case-row:hover{filter:brightness(1.12);transform:translateY(-1px);}
.support-case--new{background:rgba(228,93,117,.10);border-color:rgba(228,93,117,.42);border-left-color:#e45d75;}
.support-case--under-review{background:rgba(246,184,96,.10);border-color:rgba(246,184,96,.46);border-left-color:#f6b860;}
.support-case--action-planned{background:rgba(170,130,255,.11);border-color:rgba(170,130,255,.45);border-left-color:#aa82ff;}
.support-case--in-progress{background:rgba(108,232,248,.10);border-color:rgba(108,232,248,.44);border-left-color:#6ce8f8;}
.support-case--waiting{background:rgba(242,145,76,.10);border-color:rgba(242,145,76,.45);border-left-color:#f2914c;}
.support-case--resolved{background:rgba(92,205,138,.10);border-color:rgba(92,205,138,.44);border-left-color:#5ccd8a;}
.support-case--closed{background:rgba(148,163,184,.09);border-color:rgba(148,163,184,.35);border-left-color:#94a3b8;}
.support-case--unknown{background:rgba(255,255,255,.025);}
.support-case-row__main,.support-case-row__meta{display:flex;align-items:center;gap:.75rem;min-width:0;}
.support-case-row__main{flex-wrap:wrap;}
.support-case-row__main span{overflow-wrap:anywhere;}
.support-case-row__meta{justify-content:flex-end;flex-wrap:wrap;}
.support-empty{text-align:center;padding:2rem 1rem;border:1px dashed var(--border);border-radius:14px;}
.support-section{margin-top:var(--space);}
.support-detail-head{max-width:none;}
.support-description{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);overflow-wrap:anywhere;}
.support-timeline{display:flex;flex-direction:column;gap:1rem;}
.support-timeline__item{padding:1rem;border-left:3px solid rgba(108,232,248,.55);background:rgba(255,255,255,.025);}
.support-timeline__meta{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem;}
.support-timeline__body{overflow-wrap:anywhere;}
.support-attachments{margin:.75rem 0 0;padding-left:1.2rem;}
.support-attachments--inline{margin-bottom:0;}
.support-form-page .form{max-width:760px;}
.support-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;}
.support-notifications{margin-top:0;padding:1.1rem;border:1px solid rgba(159,233,255,.18);border-radius:14px;background:rgba(255,255,255,.025);}
.support-section__head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.65rem;}
.support-section__head h2{margin:0;}
.support-notification-list{display:flex;flex-direction:column;gap:.55rem;}
.support-notification-list--remaining{margin-top:.55rem;}
.support-notifications-more{display:block;}
.support-notifications-toggle{display:flex;justify-content:center;align-items:center;gap:.45rem;padding:.6rem .8rem;border:1px solid rgba(159,233,255,.2);border-radius:10px;background:rgba(108,232,248,.05);color:#c8f5fb;cursor:pointer;font-size:.86rem;font-weight:750;list-style:none;}
.support-notifications-toggle::-webkit-details-marker{display:none;}
.support-notifications-toggle:focus-visible{outline:2px solid #8ce8ff;outline-offset:3px;}
.support-notifications-toggle__collapse{display:none;}
.support-notifications-more[open] .support-notifications-toggle__expand{display:none;}
.support-notifications-more[open] .support-notifications-toggle__collapse{display:inline;}
.support-notification{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.018);}
.support-notification a{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;color:inherit;text-decoration:none;min-width:0;}
.support-notification a span{overflow-wrap:anywhere;}
.support-notification--unread{border-color:rgba(150,230,243,.38);border-left:3px solid #96e6f3;padding-left:.7rem;background:rgba(108,232,248,.08);}
.support-notification--unread strong{font-weight:800;color:#f3fcff;}
.support-notification--read{background:rgba(255,255,255,.012);color:var(--muted);}
.support-notification--read strong{color:var(--text);font-weight:650;}
.support-cases-section{background:rgba(255,255,255,.018);}
.dashboard-issued-signatories{display:flex;flex-direction:column;gap:.2rem;margin:.45rem 0 0;padding:0;list-style:none;max-width:34rem;}
.dashboard-issued-signatories li{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.85rem;}
.support-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin-top:var(--space);align-items:end;}
.support-filter-grid label{display:flex;flex-direction:column;gap:.35rem;font-weight:650;font-size:.88rem;}
.support-filter-grid input,.support-filter-grid select{width:100%;}
.support-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:var(--space);}
.support-admin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space);align-items:start;}
.support-admin-actions .form{display:flex;flex-direction:column;gap:.8rem;}
.support-status-stack{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;}
.support-timeline__item--internal{border-left-color:#f6b860;background:rgba(246,184,96,.08);}
.support-duplicate-banner,.support-closed-notice{padding:1rem;border:1px solid rgba(246,184,96,.55);border-radius:12px;background:rgba(246,184,96,.08);}
.support-phase3-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--space);align-items:start;}
.support-ai-panel,.support-prompt-panel,.support-receipt-panel{overflow:hidden;}
.support-ai-output{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);}
.support-ai-output h3{margin:1rem 0 .35rem;font-size:1rem;color:#96e6f3;}
.support-ai-output ul{margin-top:.35rem;}
.support-ai-meta{font-size:.82rem;color:var(--muted);}
.support-ai-facts{display:grid;grid-template-columns:minmax(9rem,.5fr) minmax(0,1fr);gap:.45rem .8rem;margin:1rem 0;}
.support-ai-facts dt{font-weight:700;color:var(--muted);}
.support-ai-facts dd{margin:0;overflow-wrap:anywhere;}
.support-history-details{margin-top:1rem;}
.support-prompt-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem;}
.support-prompt-text{width:100%;min-height:32rem;margin-top:1rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.5;}
.support-receipt-readonly{padding:1rem;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025);}
.support-resolution-summary{border-left:3px solid #96e6f3;}
@media(max-width:720px){
  .support-topbar-link{font-size:.84rem;}
  .support-case-row{align-items:flex-start;flex-direction:column;}
  .support-case-row__meta{justify-content:flex-start;}
  .support-admin-actions{grid-template-columns:1fr;}
  .support-notification{align-items:flex-start;flex-direction:column;}
  .support-status-stack{justify-content:flex-start;}
  .support-phase3-grid{grid-template-columns:1fr;}
  .support-ai-facts{grid-template-columns:1fr;}
}

.menu{
  display: none;
  position: absolute;
  right: var(--space-lg);
  top: 76px;
  background: rgba(15,26,48,.98);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow);
  min-width: 260px;
  overflow: hidden;
}
.menu--open{display:block}
.menu__identity{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  padding:12px 20px;
  border-bottom:1px solid var(--border);
  color:var(--muted);
  font-size:.78rem;
  line-height:1.3;
}
.menu__identity strong{color:var(--text);font-size:.9rem;}
.menu__identity span{overflow-wrap:anywhere;}

/* Interactive CORE architecture mark and journey. */
.brand{min-width:0;}
.brand__link{min-width:0;}
.companion-mark{
  position:relative;
  flex:0 0 auto;
  width:72px;
  height:72px;
  padding:4px;
  border:1px solid transparent;
  border-radius:20px;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  isolation:isolate;
  transition:background .25s ease, border-color .25s ease, filter .25s ease;
}
.companion-mark::before{
  position:absolute;
  inset:10px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(74,211,255,.18), rgba(111,82,255,.07) 52%, transparent 74%);
  content:"";
  filter:blur(7px);
  opacity:.72;
  transition:opacity .25s ease, transform .25s ease;
}
.companion-mark:hover{border-color:rgba(117,215,255,.24);background:rgba(115,190,255,.06);filter:brightness(1.08);}
.companion-mark:hover::before{opacity:1;transform:scale(1.12);}
.companion-mark:focus-visible{outline:2px solid #8ce8ff;outline-offset:3px;}
.companion-mark__svg{display:block;width:100%;height:100%;overflow:visible;transform-origin:center;animation:companion-mark-signature 5s ease-in-out infinite;}
.companion-mark__layer{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;}
.companion-mark__layer--outer{stroke:#a98cff;opacity:.9;animation:companion-mark-idle-outer 8.4s ease-in-out -2.1s infinite, companion-mark-signature-outer 5s ease-in-out infinite;}
.companion-mark__layer--middle{stroke:#3a9dff;opacity:.93;animation:companion-mark-idle-middle 7.1s ease-in-out -1.6s infinite, companion-mark-signature-middle 5s ease-in-out infinite;}
.companion-mark__layer--inner{stroke:#69e8f8;opacity:.98;animation:companion-mark-idle-inner 6.2s ease-in-out -.8s infinite, companion-mark-signature-inner 5s ease-in-out infinite;}
@keyframes companion-mark-idle-outer{0%,100%{opacity:.68}50%{opacity:1}}
@keyframes companion-mark-idle-middle{0%,100%{opacity:.78}48%{opacity:1}}
@keyframes companion-mark-idle-inner{0%,100%{opacity:.78}56%{opacity:1}}
@keyframes companion-mark-signature{0%,78%{transform:scale(1)}84%{transform:scale(1.045)}88%{transform:scale(1.075)}93%{transform:scale(1.025)}100%{transform:scale(1)}}
@keyframes companion-mark-signature-outer{0%,78%{transform:scale(1)}84%{transform:scale(1.025)}88%{transform:scale(1.055)}93%{transform:scale(1.015)}100%{transform:scale(1)}}
@keyframes companion-mark-signature-middle{0%,78%{transform:scale(1)}84%{transform:scale(1.035)}88%{transform:scale(1.075)}93%{transform:scale(1.02)}100%{transform:scale(1)}}
@keyframes companion-mark-signature-inner{0%,78%{transform:scale(1)}84%{transform:scale(1.06)}88%{transform:scale(1.12)}93%{transform:scale(1.03)}100%{transform:scale(1)}}

.architecture-journey[hidden]{display:none;}
.architecture-journey{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  min-height:100vh;
  max-width:100vw;
  z-index:1000;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#030711;
  color:#eff6ff;
  opacity:0;
  transition:opacity .45s ease;
}
.architecture-journey.is-open{opacity:1;}
.architecture-journey__atmosphere,
.architecture-journey__canvas,
.architecture-journey__bloom{position:absolute;inset:0;pointer-events:none;}
.architecture-journey__canvas{width:100%;height:100%;opacity:.72;}
.architecture-journey__atmosphere{background:radial-gradient(ellipse at 50% 45%, rgba(20,54,103,.24), transparent 58%);}
.architecture-journey__bloom{inset:auto;border-radius:50%;filter:blur(70px);opacity:.28;}
.architecture-journey__bloom--blue{width:32rem;height:20rem;top:30%;left:12%;background:#1765b5;}
.architecture-journey__bloom--violet{width:28rem;height:24rem;right:8%;bottom:4%;background:#5a2d9e;}
.architecture-journey__topline{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,4rem);}
.architecture-journey__eyebrow{color:#9db2d8;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;}
.architecture-journey__close{width:2.75rem;height:2.75rem;border:1px solid rgba(214,231,255,.25);border-radius:50%;background:rgba(7,15,31,.58);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
.architecture-journey__close:hover{border-color:rgba(139,226,255,.8);background:rgba(50,100,153,.28);}
.architecture-journey__close:focus-visible,.architecture-journey__skip:focus-visible,.architecture-journey__return:focus-visible{outline:2px solid #8ce8ff;outline-offset:3px;}
.architecture-journey__dialog{position:relative;z-index:2;display:grid;flex:1;min-height:0;place-items:center;padding:clamp(1rem,4vw,4rem);outline:none;}
.architecture-journey__stage{position:absolute;width:min(48vw,38rem);aspect-ratio:1;opacity:.88;transform:translateY(2vh);}
.architecture-journey__stage-svg{display:block;width:100%;height:100%;overflow:visible;}
.architecture-journey__stage-layer{fill:none;stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.82);transition:opacity 1.3s ease,transform 1.5s cubic-bezier(.2,.75,.25,1),filter 1.3s ease;}
.architecture-journey__stage-layer--outer{stroke:#aa8cff;filter:drop-shadow(0 0 10px rgba(159,119,255,.72));}
.architecture-journey__stage-layer--middle{stroke:#3c9dff;filter:drop-shadow(0 0 10px rgba(60,157,255,.7));}
.architecture-journey__stage-layer--inner{stroke:#6ce8f8;filter:drop-shadow(0 0 10px rgba(108,232,248,.72));}
.architecture-journey__stage-layer.is-active{opacity:.76;transform:scale(1);}
.architecture-journey__stage-layer--inner.is-active{opacity:.94;}
.architecture-journey__scenes{position:relative;width:min(44rem,100%);min-height:17rem;text-align:center;}
.architecture-journey__scene{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;opacity:0;transform:translateY(1.5rem);pointer-events:none;transition:opacity .85s ease,transform 1s cubic-bezier(.2,.75,.25,1);}
.architecture-journey__scene.is-active{opacity:1;transform:translateY(0);pointer-events:auto;}
.architecture-journey__scene h1,.architecture-journey__scene h2{margin:.35rem 0 1rem;color:#f6fbff;font-weight:800;letter-spacing:.03em;text-shadow:0 0 30px rgba(90,175,255,.2);}
.architecture-journey__scene h1{font-size:clamp(2.4rem,7vw,5.6rem);line-height:1.02;}
.architecture-journey__scene h2{font-size:clamp(1.25rem,3vw,2.45rem);line-height:1.15;}
.architecture-journey__overline{margin:0;color:#96e6f3;font-size:clamp(.72rem,1.4vw,.9rem);font-weight:700;letter-spacing:.26em;text-transform:uppercase;}
.architecture-journey__copy{max-width:36rem;margin:.25rem 0 0;color:#c2d1eb;font-size:clamp(1rem,2vw,1.25rem);line-height:1.75;}
.architecture-journey__scene--arrival .architecture-journey__copy{color:#9caecc;}
.architecture-journey__scene--convergence h2{font-size:clamp(1.45rem,3.4vw,2.8rem);}
.architecture-journey__return{margin-top:1.2rem;letter-spacing:.08em;font-size:.78rem;}
.architecture-journey__skip{position:relative;z-index:3;align-self:center;margin:0 0 clamp(1rem,3vw,2rem);border:0;background:transparent;color:#90a7cb;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}
.architecture-journey__skip:hover{color:#e5f4ff;}
.architecture-journey--complete .architecture-journey__stage-layer{transition-duration:.8s;}
.architecture-journey--complete .architecture-journey__stage-layer.is-active{filter:drop-shadow(0 0 16px rgba(132,201,255,.82));}
.architecture-journey--reduced{overflow:auto;}
.architecture-journey--reduced .architecture-journey__canvas{display:none;}
.architecture-journey--reduced .architecture-journey__dialog{display:block;overflow:auto;padding-top:1rem;}
.architecture-journey--reduced .architecture-journey__stage{position:fixed;top:23%;left:50%;width:min(58vw,23rem);opacity:.28;transform:translate(-50%,-50%);}
.architecture-journey--reduced .architecture-journey__scenes{min-height:0;width:min(44rem,100%);}
.architecture-journey--reduced .architecture-journey__scene{position:relative;min-height:10rem;padding:1rem 0;opacity:1;transform:none;pointer-events:auto;}
.architecture-journey--reduced .architecture-journey__scene--arrival{min-height:15rem;}
.architecture-journey--reduced .architecture-journey__skip{display:none;}

@media(max-width:640px){
  .container{padding-left:var(--space);padding-right:var(--space);}
  .topbar__inner{gap:.65rem;}
  .topbar__nav{gap:.5rem;}
  .companion-mark{width:60px;height:60px;border-radius:16px;}
  .brand{gap:9px;}
  .brand__title{font-size:1.08rem;white-space:nowrap;}
  .brand__subtitle{max-width:38vw;overflow:hidden;font-size:.7rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;}
  .topbar__user{flex:0 1 24vw;min-width:0;max-width:24vw;margin-left:0;}
  .topbar__user-name{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap;}
  .topbar__user-unit,.topbar__user-roles{font-size:.61rem;}
  .topbar__user-unit{max-height:2.6em;}
  .topbar__user-roles{max-height:2.6em;}
  .support-topbar-link{margin-inline:0;}
  .ao-attention-control{width:auto;padding:.42rem .42rem .42rem .5rem;}
  .ao-attention-control__copy{display:none;}
  .ao-attention-control__badge{min-width:1.8rem;padding-left:.3rem;padding-right:.3rem;font-size:.68rem;}
  .ao-attention-drawer{position:fixed;top:4.7rem;right:var(--space);left:var(--space);width:auto;max-height:calc(100vh - 5.7rem);}
  .ao-attention-preview__item{flex-direction:column;}
  .ao-attention-preview__actions{width:100%;}
  .ao-attention-preview__actions .btn{flex:1;}
  .architecture-journey__dialog{padding:1rem;}
  .architecture-journey__stage{width:min(92vw,28rem);opacity:.55;}
  .architecture-journey__scenes{min-height:21rem;}
  .architecture-journey__copy{line-height:1.55;}
}
@media(max-width:420px){
  .support-topbar-link__label{display:none;}
  .topbar__user{flex-basis:27vw;max-width:27vw;}
  .brand__subtitle{max-width:42vw;}
  .architecture-journey__eyebrow{font-size:.62rem;letter-spacing:.14em;}
  .architecture-journey__scenes{min-height:24rem;}
}
@media(prefers-reduced-motion:reduce){
  .companion-mark__svg,.companion-mark__layer{animation:none;}
  .architecture-journey,.architecture-journey__scene,.architecture-journey__stage-layer{transition:none;}
  .ao-attention-control,.ao-attention-control--urgent .ao-attention-control__badge{animation:none;transition:none;}
}

/* Director's Cut — separated narrative and architecture zones. */
.architecture-journey__dialog{
  display:block;
  padding:0;
  overflow:hidden;
}
.architecture-journey__narrative{
  position:absolute;
  top:clamp(.5rem,2vh,1.5rem);
  left:50%;
  z-index:4;
  display:flex;
  width:min(48rem,calc(100% - 2rem));
  min-height:clamp(8rem,18vh,11rem);
  align-items:center;
  flex-direction:column;
  justify-content:flex-start;
  transform:translateX(-50%);
  text-align:center;
  transition:opacity .7s ease,transform .9s cubic-bezier(.2,.75,.25,1),top .9s ease;
}
.architecture-journey__narrative h1{
  max-width:48rem;
  margin:.35rem 0 .8rem;
  color:#f6fbff;
  font-size:clamp(1.8rem,4.8vw,4rem);
  line-height:1.08;
  letter-spacing:.025em;
  text-shadow:0 0 30px rgba(90,175,255,.2);
}
.architecture-journey__copy{
  display:flex;
  min-height:2.1rem;
  max-width:40rem;
  align-items:center;
  justify-content:center;
  margin:0;
  color:#c2d1eb;
  font-size:clamp(.98rem,1.8vw,1.22rem);
  line-height:1.45;
}
.architecture-journey__copy-line{
  display:block;
  max-width:40rem;
  opacity:0;
  transform:translateY(.45rem);
  filter:blur(3px);
  transition:opacity .55s ease,transform .65s cubic-bezier(.2,.75,.25,1),filter .65s ease;
}
.architecture-journey__copy-line.is-visible{opacity:1;transform:translateY(0);filter:blur(0);}
.architecture-journey__letter{
  display:inline-block;
  min-width:.2em;
  opacity:0;
  transform:translateY(.4em) scale(.98);
  filter:blur(4px);
  transition:opacity .28s ease,transform .42s cubic-bezier(.2,.75,.25,1),filter .42s ease;
}
.architecture-journey__letter.is-revealed{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}
.architecture-journey.is-narrative-exiting .architecture-journey__narrative{opacity:0;transform:translate(-50%,-.8rem);}
.architecture-journey__stage{
  position:absolute;
  top:clamp(9rem,20vh,13rem);
  bottom:clamp(2rem,6vh,4rem);
  left:50%;
  z-index:2;
  width:min(54vw,40rem);
  height:auto;
  aspect-ratio:1;
  opacity:.9;
  transform:translateX(-50%);
  transition:transform 1.8s cubic-bezier(.2,.75,.25,1),opacity 1.3s ease,top 1.8s ease;
}
.architecture-journey__stage-haze{position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle,rgba(75,190,255,.12),rgba(109,75,255,.05) 46%,transparent 72%);filter:blur(22px);}
.architecture-journey__stage-svg{position:relative;z-index:1;display:block;width:100%;height:100%;overflow:visible;}
.architecture-journey__stage-layer{fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:none;filter:none;transition:opacity .75s ease,filter .75s ease;}
.architecture-journey__stage-layer path{fill:none;vector-effect:non-scaling-stroke;}
.architecture-journey__stage-layer--outer{stroke:url(#architecture-outer-gradient);}
.architecture-journey__stage-layer--middle{stroke:#3c9dff;}
.architecture-journey__stage-layer--inner{stroke:#6ce8f8;}
.architecture-journey__stage-layer path{stroke-dasharray:none;stroke-dashoffset:0;}
.architecture-journey__stage-layer.is-drawing{opacity:.9;}
.architecture-journey__stage-layer.is-drawing path{stroke-dasharray:100 100;stroke-dashoffset:100;animation:architecture-layer-draw var(--journey-draw-duration,2.4s) cubic-bezier(.2,.75,.25,1) forwards;}
.architecture-journey__stage-layer.is-complete{opacity:.78;animation:architecture-layer-breathe 6.5s ease-in-out infinite;}
.architecture-journey__stage-layer--inner.is-complete{opacity:.94;}
.architecture-journey__stage-layer.is-surge{animation:architecture-layer-surge .76s ease-out 1;}
.architecture-journey.is-synchronized .architecture-journey__stage-layer.is-complete{animation:architecture-layer-breathe 6.5s ease-in-out infinite,architecture-layer-synchronize 1.4s ease-out 1;}
.architecture-journey.is-converging .architecture-journey__stage{top:21%;transform:translateX(-50%) scale(.46);}
.architecture-journey.is-converging .architecture-journey__narrative{top:8%;min-height:8rem;opacity:1;transform:translateX(-50%);}
.architecture-journey.is-finale .architecture-journey__stage{top:27%;transform:translateX(-50%) scale(.34);opacity:.95;}
.architecture-journey.is-finale .architecture-journey__narrative{top:57%;min-height:7rem;}
.architecture-journey.is-finale .architecture-journey__narrative h1{max-width:38rem;font-size:clamp(1.35rem,3.4vw,2.65rem);}
.architecture-journey.is-finale .architecture-journey__copy{max-width:24rem;}
.architecture-journey__return{position:absolute;bottom:clamp(1.1rem,4vh,2.75rem);left:50%;z-index:5;opacity:0;pointer-events:none;transform:translateX(-50%);letter-spacing:.08em;font-size:.78rem;transition:opacity .7s ease,transform .7s ease;}
.architecture-journey.is-finale .architecture-journey__return{opacity:1;pointer-events:auto;transform:translateX(-50%);}
.architecture-journey__reduced-story{display:none;}
@keyframes architecture-layer-draw{to{stroke-dashoffset:0;}}
@keyframes architecture-layer-breathe{0%,100%{opacity:.68}50%{opacity:1}}
@keyframes architecture-layer-surge{0%{opacity:.8;filter:drop-shadow(0 0 5px currentColor)}45%{opacity:1;filter:drop-shadow(0 0 19px currentColor)}100%{opacity:.78;filter:none}}
@keyframes architecture-layer-synchronize{0%{opacity:.78;filter:none}48%{opacity:1;filter:drop-shadow(0 0 18px rgba(155,214,255,.82))}100%{opacity:.82;filter:none}}
@media(max-width:640px){
  .architecture-journey__narrative{top:.35rem;width:calc(100% - 1.5rem);min-height:10rem;}
  .architecture-journey__narrative h1{font-size:clamp(1.55rem,8vw,2.55rem);}
  .architecture-journey__copy{max-width:20rem;font-size:.94rem;}
  .architecture-journey__stage{top:11.5rem;bottom:3.5rem;width:min(86vw,25rem);}
  .architecture-journey.is-converging .architecture-journey__stage{top:22%;transform:translateX(-50%) scale(.43);}
  .architecture-journey.is-finale .architecture-journey__stage{top:26%;transform:translateX(-50%) scale(.3);}
  .architecture-journey.is-finale .architecture-journey__narrative{top:56%;}
}
@media(max-width:420px){
  .architecture-journey__stage{top:12rem;width:min(88vw,22rem);}
  .architecture-journey__narrative{min-height:10.5rem;}
}
@media(prefers-reduced-motion:reduce){
  .architecture-journey__stage-layer.is-drawing path,.architecture-journey__stage-layer.is-complete{animation:none;}
  .architecture-journey__letter,.architecture-journey__copy-line{opacity:1;transform:none;filter:none;transition:none;}
  .architecture-journey--reduced .architecture-journey__dialog{display:block;overflow:auto;padding:0 1rem 5rem;}
  .architecture-journey--reduced .architecture-journey__narrative{display:none;}
  .architecture-journey--reduced .architecture-journey__stage{position:fixed;top:22%;bottom:auto;width:min(58vw,23rem);opacity:.25;transform:translateX(-50%);}
  .architecture-journey--reduced .architecture-journey__reduced-story{position:relative;z-index:4;display:block;width:min(40rem,100%);margin:1rem auto 0;padding-top:1rem;text-align:center;}
  .architecture-journey--reduced .architecture-journey__reduced-story h2{margin:1.4rem 0 .45rem;font-size:clamp(1.05rem,4vw,1.6rem);}
  .architecture-journey--reduced .architecture-journey__reduced-story p{margin:.4rem auto;max-width:34rem;color:#c2d1eb;line-height:1.5;}
  .architecture-journey--reduced .architecture-journey__skip{display:none;}
  .architecture-journey--reduced .architecture-journey__return{opacity:1;pointer-events:auto;}
}

/* Finale: keep the closing line above the compact, recognizable architecture. */
.architecture-journey__skip[hidden]{display:none;}
.architecture-journey.is-finale .architecture-journey__narrative{top:8%;min-height:8rem;}
.architecture-journey.is-finale .architecture-journey__stage{top:31%;transform:translateX(-50%) scale(.42);}
@media(max-width:640px){
  .architecture-journey.is-finale .architecture-journey__narrative{top:7%;}
  .architecture-journey.is-finale .architecture-journey__stage{top:31%;transform:translateX(-50%) scale(.34);}
}
.menu__item{
  display: block;
  padding: 16px 20px;
  font-size: var(--text-base);
  text-decoration: none;
  color: var(--text);
}
.menu__item:hover{background: rgba(255,255,255,.06)}

/* The shared header keeps identity details available in the menu on narrow screens. */
@media(max-width:800px){
  .topbar__inner{gap:.75rem;padding-top:.9rem;padding-bottom:.9rem;}
  .topbar__nav{position:relative;flex:0 0 auto;gap:.4rem;}
  .brand{flex:1 1 auto;min-width:0;gap:.7rem;}
  .brand__text,.brand__link{min-width:0;}
  .brand__subtitle{display:none;}
  .companion-mark{width:52px;height:52px;border-radius:14px;}
  .brand__title{font-size:1.12rem;white-space:nowrap;}
  .topbar__user{flex:0 1 10rem;min-width:0;max-width:10rem;}
  .topbar__user-unit,.topbar__user-roles{display:none;}
  .menu{top:calc(100% + .5rem);right:0;min-width:min(18rem,calc(100vw - 1.5rem));}
}

@media(max-width:640px){
  .topbar__inner{gap:.4rem;padding:.65rem .85rem;}
  .brand{gap:.55rem;}
  .companion-mark{width:44px;height:44px;border-radius:12px;}
  .brand__title{font-size:1rem;}
  .topbar__user{display:none;}
  .topbar__nav{gap:.25rem;}
  .support-topbar-link{width:36px;height:36px;justify-content:center;padding:0;border:1px solid transparent;border-radius:10px;}
  .support-topbar-link__icon{width:1.1rem;height:1.1rem;}
  .ao-attention-control{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:.35rem;border-radius:10px;}
  .ao-attention-control__icon{width:1.15rem;height:1.15rem;}
  .ao-attention-control__badge{position:absolute;top:-.25rem;right:-.2rem;min-width:1.15rem;min-height:1.15rem;padding:0 .2rem;font-size:.62rem;}
  .ao-attention-control__badge-label{display:none;}
  .topbar .btn--ghost{width:36px;height:36px;padding:0;border-radius:10px;font-size:1.15rem;}
  .menu__identity{padding:.8rem 1rem;}
}

/* Main content – app-like area */
main.container {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
  min-height: calc(100vh - 80px);
}

.page{padding-top: var(--space);}
.page__header{margin: 0 0 var(--space-lg);}
h1{margin:0 0 var(--space);font-size: var(--text-3xl);font-weight: 800;}
h2{margin:0 0 var(--space);font-size: var(--text-2xl);font-weight: 700;}
h3{margin:0 0 var(--space);font-size: var(--text-xl);font-weight: 600;}
.muted{color:var(--muted);font-size: var(--text-base);}
.small{font-size: var(--text-base);}

.grid{display:grid;grid-template-columns:1fr;gap: var(--space-lg);}

/* Staff Timetable layout polish (H2B-C-B) — compact width usage before grid UI */
.staff-timetable-header{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap: var(--space);
  margin-bottom: var(--space-lg);
}
.staff-timetable-header__meta{min-width:0;flex:1 1 16rem;}
.staff-timetable-header__meta h1{margin-bottom:0.35rem;}
.staff-timetable-header__actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  align-items:center;
}
.staff-timetable-days{
  display:grid;
  grid-template-columns:1fr;
  gap: var(--space);
}
@media(min-width:700px){
  .staff-timetable-days{grid-template-columns:1fr 1fr;}
}
.staff-timetable-total{
  margin:0;
  padding:0.65rem 0.75rem;
  border:1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface, #fff);
}
.staff-timetable-total strong{font-size: var(--text-lg);}
.staff-timetable-workload-table{
  width:100%;
  margin:0;
  border:none;
  border-collapse:collapse;
}
.staff-timetable-workload-table th,
.staff-timetable-workload-table td,
.staff-timetable-workload-table tbody tr:nth-child(even) td{
  border:none;
  padding:0.4rem 0.35rem 0.4rem 0;
  vertical-align:baseline;
  background:transparent;
}
.staff-timetable-workload-table tbody td{
  font-size: var(--text-base);
  font-weight:650;
}
.staff-timetable-workload-hours-col{
  text-align:right;
  width:4.5rem;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.staff-timetable-workload-empty{
  margin:0;
  padding:0.35rem 0 0.55rem;
}
.staff-timetable-grid-placeholder{
  margin-bottom: var(--space-lg);
}
.staff-timetable-grid-placeholder .card__head{margin-bottom:0.35rem;}
.staff-timetable-grid-placeholder p{margin:0;padding:0 var(--space) var(--space);}
.staff-timetable-actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  align-items:center;
  margin-top: var(--space);
  margin-bottom: var(--space-lg);
}
.staff-timetable-grid-wrap{
  overflow-x:auto;
  padding: 0 var(--space) var(--space);
}
.staff-timetable-grid-table{
  width:100%;
  min-width: 44rem;
  border-collapse:collapse;
  table-layout:fixed;
}
.staff-timetable-grid-table th,
.staff-timetable-grid-table td{
  border:1px solid var(--border);
  padding:0.25rem 0.35rem;
  vertical-align:middle;
  font-size: var(--text-base);
}
.staff-timetable-grid-table th{
  text-align:center;
  background: rgba(0,0,0,0.03);
}
.staff-timetable-grid-time{
  width:6.5rem;
  white-space:nowrap;
}
.staff-timetable-grid-cell--filled{
  background: rgba(57,89,168,0.12);
  font-weight:600;
  text-align:center;
  font-size:0.85rem;
}
.staff-timetable-grid-cell--span{
  vertical-align:middle;
}
.dashboard__audit-card{margin-top: var(--space-lg);margin-bottom: var(--space-lg);}
.dashboard-primary-sections{display:grid;gap:var(--space-lg);}

/* Dashboard — featured Observatory card (cosmic / scoped to dashboard only) */
.dashboard-observatory-feature{
  margin-top:var(--space-xl);
  margin-bottom:var(--space-xl);
  width:100%;
}
.dashboard-observatory-feature-card{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
}
.dashboard-observatory-feature-card__inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-lg);
}
.dashboard-observatory-feature-card__copy{
  flex:1 1 280px;
  min-width:0;
}
.dashboard-observatory-feature-card__copy h2{
  margin:0 0 var(--space-sm);
  color:#f8fafc;
}
.dashboard-observatory-feature-card__lead{
  margin:0 0 var(--space-sm);
  font-size:var(--text-lg);
  font-weight:600;
  line-height:1.35;
  color:#fecdd3;
}
.dashboard-observatory-feature-card__support{
  margin:0 0 var(--space-md);
  max-width:42rem;
  color:#cbd5e1;
}
.dashboard-observatory-feature-card__visual{
  position:relative;
  flex:0 0 auto;
  width:9.5rem;
  height:9.5rem;
  margin-left:auto;
  margin-right:var(--space-sm);
}
.dashboard-observatory-feature-card__stars{
  position:absolute;
  inset:0;
  border-radius:50%;
  opacity:.95;
  background:
    radial-gradient(circle at 22% 30%, rgba(255,255,255,.95) 0 1px, transparent 2px),
    radial-gradient(circle at 68% 24%, rgba(255,255,255,.75) 0 1px, transparent 2px),
    radial-gradient(circle at 54% 72%, rgba(255,255,255,.65) 0 1px, transparent 2px),
    radial-gradient(circle at 38% 48%, rgba(255,255,255,.5) 0 1px, transparent 2px),
    radial-gradient(circle at 82% 62%, rgba(255,255,255,.55) 0 1px, transparent 2px);
  background-size:100% 100%;
}
.dashboard-observatory-feature-card__dwarf{
  position:absolute;
  left:50%;
  top:54%;
  width:3.25rem;
  height:3.25rem;
  margin:-1.625rem 0 0 -1.625rem;
  border-radius:50%;
  background:
    radial-gradient(circle at 32% 28%, #fecaca 0%, #ef4444 38%, #7f1d1d 72%, #450a0a 100%);
  box-shadow:
    0 0 28px rgba(248,113,113,.55),
    0 0 64px rgba(185,28,28,.35),
    inset -6px -10px 18px rgba(0,0,0,.45);
}
.dashboard-observatory-feature-card__dwarf::after{
  content:"";
  position:absolute;
  inset:-14%;
  border-radius:50%;
  border:1px solid rgba(251,146,60,.25);
  box-shadow:0 0 20px rgba(251,146,60,.2);
}
.dashboard-observatory-feature-card__orbit{
  position:absolute;
  inset:4%;
  border-radius:50%;
  border:1px dashed rgba(248,113,113,.22);
  animation:dashboard-observatory-orbit 26s linear infinite;
}
.dashboard-observatory-feature-card__satellite{
  position:absolute;
  top:0;
  left:50%;
  width:.55rem;
  height:.55rem;
  margin:-.275rem 0 0 -.275rem;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fde68a, #f97316 55%, #9a3412 100%);
  box-shadow:0 0 10px rgba(251,146,60,.65);
}
@keyframes dashboard-observatory-orbit{
  to{transform:rotate(360deg);}
}
@media(max-width:640px){
  .dashboard-observatory-feature-card__visual{
    width:7.5rem;
    height:7.5rem;
    margin-left:0;
    margin-right:auto;
  }
  .dashboard-observatory-feature-card__dwarf{
    width:2.65rem;
    height:2.65rem;
    margin:-1.325rem 0 0 -1.325rem;
  }
}
@media(prefers-reduced-motion:reduce){
  .dashboard-observatory-feature-card__orbit{
    animation:none;
  }
}

@media(min-width:900px){.grid{grid-template-columns:1fr 1fr}}

.card{
  background: rgba(15,26,48,.85);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-lg);
  box-shadow: var(--shadow);
}
/* Observatory dashboard tile — night sky (must follow .card to override default surface) */
.card.dashboard-observatory-feature-card{
  border:1px solid rgba(248,113,113,.36);
  background-color:#010308;
  background-image:
    radial-gradient(ellipse 100% 70% at 50% 110%, rgba(49,46,129,.32), transparent 58%),
    radial-gradient(ellipse 55% 45% at 90% 38%, rgba(127,29,29,.22), transparent 52%),
    radial-gradient(ellipse 45% 40% at 6% 72%, rgba(30,58,138,.18), transparent 48%),
    radial-gradient(circle at 24% 20%, rgba(255,255,255,.04) 0, transparent 42%),
    linear-gradient(168deg, #010308 0%, #030712 45%, #02040a 100%);
  box-shadow:
    0 20px 56px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 48px rgba(127,29,29,.12);
}
.card.dashboard-observatory-feature-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.92;
  background:
    radial-gradient(circle at 8% 14%, rgba(255,255,255,.14) 0 1px, transparent 2px),
    radial-gradient(circle at 28% 62%, rgba(255,255,255,.1) 0 1px, transparent 2px),
    radial-gradient(circle at 52% 28%, rgba(255,255,255,.11) 0 1px, transparent 2px),
    radial-gradient(circle at 76% 44%, rgba(255,255,255,.09) 0 1px, transparent 2px),
    radial-gradient(circle at 88% 78%, rgba(255,255,255,.08) 0 1px, transparent 2px),
    radial-gradient(circle at 42% 82%, rgba(255,255,255,.07) 0 1px, transparent 2px);
  background-size:72px 72px, 96px 96px, 120px 120px, 140px 140px, 160px 160px, 200px 200px;
}
.card--narrow{max-width: 560px;margin: 0 auto;}
.card__head{display:flex;align-items:center;justify-content:space-between;gap: var(--space);margin-bottom: var(--space);}
.card__head--audit-toolbar{flex-wrap:wrap;}
.audit-actor-filter{display:flex;align-items:center;gap: var(--space);flex-wrap:wrap;}
.audit-actor-filter input[type="search"]{min-width:12rem;max-width:20rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);}
.cdp-section-helper{margin:0 0 var(--space);font-size: var(--text-sm, 0.9rem);line-height:1.45;}
.cdp-section-helper--editable{color:#c62828;font-weight:700;}
.cdp-section-helper--locked{color: var(--muted);}
/* Catalog-locked inputs: visually distinct from editable staff fields */
.cdp-field--catalog-locked,
select.form__select.cdp-field--catalog-locked:disabled{
  background: rgba(6, 10, 22, 0.72) !important;
  border-color: rgba(255,255,255,0.07) !important;
  color: rgba(255,255,255,0.82);
  cursor: not-allowed;
}
textarea.form__textarea.cdp-field--catalog-locked{
  background: rgba(6, 10, 22, 0.72) !important;
  border-color: rgba(255,255,255,0.07) !important;
  resize: none;
}
.cdp-field-group--catalog-locked{
  padding: var(--space);
  border-radius: var(--radius);
  background: rgba(6, 10, 22, 0.45);
  border: 1px solid rgba(255,255,255,0.06);
}
/* Course Type — checkboxes visible on dark UI (native accent + size) */
.cdp-course-type__checkbox{
  width: 1.2rem;
  height: 1.2rem;
  flex-shrink: 0;
  margin: 0;
  accent-color: #e53935;
  vertical-align: middle;
}
.cdp-course-type__label{
  cursor: pointer;
  color: var(--text);
}
.cdp-field-group--catalog-locked .cdp-course-type__checkbox{
  cursor: not-allowed;
  opacity: 0.9;
}
.cdp-field-inline-note{color:#c62828;font-weight:700;font-size:0.88em;}
.cdp-field--staff-update{
  border-left: 3px solid rgba(198, 40, 40, 0.75);
  padding-left: 0.6rem;
  margin-left: -0.15rem;
  background: rgba(198, 40, 40, 0.06);
}
.card__head--expandable{cursor:pointer;}
.card__head--expandable:hover{opacity:.95;}
.card__head--expandable:focus-visible{outline:1px solid var(--border);outline-offset:2px;}
.card__chevron{
  color: var(--muted);
  font-size: .65em;
  transition: transform .2s ease;
  margin-left: var(--space);
}
.card__chevron--open{transform:rotate(180deg);}
.card__expandable{margin-top: var(--space);}
.card--accent{border-color: rgba(57,89,168,.35)}
.card--accent2{border-color: rgba(246,137,33,.35)}
.academic-operations-attention-card{border-left:4px solid rgba(140,232,255,.65);background:linear-gradient(155deg,rgba(140,232,255,.06),rgba(15,26,48,.92));}
.academic-operations-attention-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space);}
.academic-operations-attention-card__heading h3{margin:.15rem 0 0;}
.academic-operations-attention-card__total{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;min-height:3rem;padding:.3rem .6rem;border:1px solid rgba(140,232,255,.32);border-radius:14px;background:rgba(140,232,255,.12);color:#b7f3ff;font-size:1.35rem;font-weight:850;}
.academic-operations-attention-card__total--urgent{border-color:rgba(239,102,117,.55);background:rgba(239,102,117,.14);color:#ffd4d8;}
.academic-operations-attention-card__total--due{border-color:rgba(246,137,33,.52);background:rgba(246,137,33,.12);color:#ffd39f;}
.academic-operations-attention-card__metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:1rem 0;}
.academic-operations-attention-card__metrics div{display:flex;min-width:0;flex-direction:column;padding:.65rem .55rem;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025);}
.academic-operations-attention-card__metrics strong{font-size:1.25rem;line-height:1.1;}
.academic-operations-attention-card__metrics span{margin-top:.2rem;color:var(--muted);font-size:.68rem;line-height:1.2;}
.academic-operations-attention-card__actions{display:flex;flex-wrap:wrap;gap:.55rem;}
.academic-operations-attention-card__actions .btn{min-height:42px;}
@media(max-width:720px){.academic-operations-attention-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:440px){.academic-operations-attention-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr));}.academic-operations-attention-card__heading{gap:.7rem;}}
.support-close-warning{display:flex;flex-direction:column;gap:.45rem;padding:.8rem;border:1px solid rgba(246,184,96,.7);border-radius:10px;background:rgba(246,184,96,.09);font-size:.88rem;}
.support-close-warning label{display:flex;align-items:flex-start;gap:.45rem;font-weight:600;}
.support-close-warning input{margin-top:.2rem;}

/* Public About page — institutional dedication, scoped to the read-only page. */
.about-page{
  max-width:1120px;
  margin:0 auto;
  padding-top:var(--space-lg);
}
.about-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(2rem,5vw,4rem);
  background:
    radial-gradient(circle at 88% 12%, rgba(246,137,33,.17), transparent 32%),
    linear-gradient(135deg, rgba(57,89,168,.24), rgba(15,26,48,.92) 58%);
  border-color:rgba(112,142,223,.28);
}
.about-hero__accent{
  position:absolute;
  width:18rem;
  height:18rem;
  right:-7rem;
  bottom:-10rem;
  border:1px solid rgba(246,137,33,.26);
  border-radius:50%;
  box-shadow:0 0 0 1.5rem rgba(246,137,33,.04), 0 0 0 3rem rgba(246,137,33,.025);
  pointer-events:none;
}
.about-contributor__role{
  margin:0 0 .65rem;
  color:#aebff0;
  font-size:.82rem;
  font-weight:750;
  letter-spacing:.09em;
  line-height:1.35;
  text-transform:uppercase;
}
.about-hero h1{
  position:relative;
  margin:0 0 .65rem;
  max-width:42rem;
  font-size:clamp(2.1rem,5vw,3.45rem);
  letter-spacing:.015em;
}
.about-hero__secondary{
  position:relative;
  max-width:42rem;
  margin:0;
  color:#c8d4ef;
  font-size:var(--text-base);
  font-weight:650;
  line-height:1.45;
  letter-spacing:.04em;
}
.about-introduction{
  max-width:52rem;
  margin:clamp(2.5rem,6vw,4.5rem) auto var(--space-xl);
}
.about-introduction h2,
.about-section-title{
  margin:0 0 .9rem;
  font-size:clamp(1.65rem,3vw,2.35rem);
}
.about-introduction__description,
.about-introduction__acknowledgement{
  margin:0;
  color:#dce5fb;
  font-size:var(--text-lg);
  line-height:1.65;
}
.about-introduction__acknowledgement{
  margin-top:1rem;
  color:var(--muted);
  font-size:var(--text-base);
}
.about-section-title{
  margin-bottom:var(--space-lg);
}
.about-contributors{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-lg);
  perspective:1600px;
}
.about-contributor{
  --about-accent:rgba(112,142,223,.44);
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:17.5rem;
  padding:clamp(1.5rem,3vw,2.25rem);
  border:1px solid rgba(255,255,255,.18);
  border-top:2px solid var(--about-accent);
  border-radius:24px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--about-accent) 24%, transparent), transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035) 42%,rgba(5,10,25,.62));
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  backdrop-filter:blur(18px) saturate(130%);
  box-shadow:
    0 24px 52px rgba(0,0,0,.34),
    0 8px 16px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.32);
  transform-style:preserve-3d;
}
.about-contributor::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:23px;
  background:
    linear-gradient(120deg,rgba(255,255,255,.14),transparent 28%,transparent 70%,rgba(255,255,255,.035));
  opacity:.75;
  pointer-events:none;
  z-index:0;
}
.about-contributor::after{
  content:"";
  position:absolute;
  top:1.55rem;
  right:1.55rem;
  width:.6rem;
  height:.6rem;
  border-radius:50%;
  background:var(--about-accent);
  box-shadow:0 0 0 .3rem color-mix(in srgb, var(--about-accent) 16%, transparent), 0 0 18px var(--about-accent);
  pointer-events:none;
  z-index:1;
}
.about-contributor > *{
  position:relative;
  z-index:1;
}
.about-contributor--institutional{--about-accent:rgba(112,142,223,.72);}
.about-contributor--leadership{--about-accent:rgba(246,137,33,.72);}
.about-contributor--strategic{--about-accent:rgba(125,211,252,.66);}
.about-contributor--development{--about-accent:rgba(129,140,248,.72);}
.about-contributor--origin{--about-accent:rgba(250,204,21,.64);}
.about-contributor--security{--about-accent:rgba(74,222,128,.62);}
.about-contributor--fyp{--about-accent:rgba(192,132,252,.68);}
.about-contributor--enhancement{--about-accent:rgba(45,212,191,.68);}
.about-contributor--quality{--about-accent:rgba(96,165,250,.72);}
.about-contributor--advising{--about-accent:rgba(251,146,60,.7);}
.about-contributor--review{--about-accent:rgba(244,114,182,.66);}
.about-contributor--operations{--about-accent:rgba(34,211,238,.68);}
.about-contributor--department{--about-accent:rgba(163,230,53,.62);}
.about-contributor--featured{
  grid-column:1 / -1;
  width:calc((100% - var(--space-lg)) / 2);
  justify-self:center;
}
.about-contributor__name{
  margin:0 0 .35rem;
  padding-right:1.75rem;
  color:#f8fbff;
  font-size:var(--text-xl);
  line-height:1.25;
  overflow-wrap:anywhere;
}
.about-contributor__role{
  align-self:flex-start;
  max-width:100%;
  padding:.35rem .7rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(0,0,0,.18);
  margin-bottom:1.15rem;
  color:#f3b36e;
  font-size:.78rem;
}
.about-contributor__text{
  margin:1.25rem 0 0;
  color:#d4def4;
  font-size:var(--text-base);
  line-height:1.62;
}
.about-contributor--group{
  --about-accent:rgba(125,211,252,.66);
  grid-column:1 / -1;
  background:
    radial-gradient(circle at 92% 8%,rgba(125,211,252,.16),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.10),rgba(20,45,77,.70) 45%,rgba(5,10,25,.60));
}
.about-contributor__group-heading{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.about-contributor__group-heading .about-contributor__role{margin-bottom:.35rem;}
.about-contributor__group-label{
  max-width:16rem;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.4;
  text-align:right;
}
.about-contributor__people{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  margin:1.25rem 0 1.4rem;
  padding:0;
  list-style:none;
}
.about-contributor__people li{
  min-width:0;
  padding:.9rem 1rem;
  border:1px solid rgba(125,211,252,.22);
  border-left:3px solid rgba(125,211,252,.72);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:#f8fbff;
  font-size:var(--text-lg);
  font-weight:650;
  line-height:1.35;
  overflow-wrap:anywhere;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.about-closing{
  margin:var(--space-xl) 0 var(--space-lg);
  text-align:center;
  background:linear-gradient(135deg,rgba(57,89,168,.2),rgba(246,137,33,.08));
}
.about-closing__line{
  margin:0 0 .75rem;
  color:#f8fbff;
  font-size:clamp(1.35rem,3vw,2rem);
}
.about-closing p{
  max-width:48rem;
  margin:0 auto;
  color:#d4def4;
  line-height:1.6;
}
@media(max-width:760px){
  .about-contributors{grid-template-columns:1fr;}
  .about-contributor--group{grid-column:auto;}
  .about-contributor--featured{width:100%;}
}
@media(max-width:560px){
  .about-page{padding-top:var(--space);}
  .about-hero{padding:var(--space-lg) var(--space);}
  .about-contributor{min-height:0;padding:var(--space);}
  .about-contributor__people{grid-template-columns:1fr;}
  .about-contributor__group-label{text-align:left;}
}
/* Course Audit — visually separate handout buckets (theory vs lab, current vs previous) */
.course-audit-bucket{
  margin-top: var(--space-lg);
  padding: var(--space);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.course-audit-bucket h3{
  margin-top: 0;
}
.course-audit-bucket--theory-current{
  border-left: 4px solid rgba(57,89,168,.9);
  background: rgba(57,89,168,.08);
}
.course-audit-bucket--theory-previous{
  border-left: 4px solid rgba(57,89,168,.45);
  background: rgba(57,89,168,.04);
}
.course-audit-bucket--lab-current{
  border-left: 4px solid rgba(246,137,33,.9);
  background: rgba(246,137,33,.08);
}
.course-audit-bucket--lab-previous{
  border-left: 4px solid rgba(246,137,33,.45);
  background: rgba(246,137,33,.04);
}
.course-audit-handouts-grid{
  display: grid;
  gap: var(--space-lg);
}
@media(min-width:900px){
  .course-audit-handouts-grid{
    grid-template-columns: 1fr 1fr;
  }
}
.course-audit-upload-row{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space);
  margin-top: var(--space);
}
.course-audit-upload-row .form__input[type="file"]{
  flex: 1 1 200px;
  margin: 0;
  padding: 12px 16px;
  font-size: var(--text-base);
}

/* AI audit result — structured display */
.course-audit-ai{
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.course-audit-ai__intro{
  font-size: var(--text-base);
  color: var(--muted);
  margin: 0 0 var(--space);
  line-height: 1.5;
}
.course-audit-ai__block{
  padding: var(--space);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}
.course-audit-ai__block--summary{
  border-left: 4px solid rgba(57,89,168,.75);
  background: rgba(57,89,168,.07);
}
.course-audit-ai__block--actions{
  border-left: 4px solid rgba(246,137,33,.65);
  background: rgba(246,137,33,.06);
}
.course-audit-ai__block--pc{
  border-left: 4px solid rgba(57,89,168,.85);
}
.course-audit-ai__block--cc{
  border-left: 4px solid rgba(246,137,33,.85);
}
.course-audit-ai__block h3{
  margin: 0 0 var(--space);
  font-size: var(--text-xl);
  font-weight: 650;
}
.course-audit-ai__block h4{
  margin: 0 0 0.35rem;
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--muted);
  text-transform: none;
  letter-spacing: 0;
}
.course-audit-criterion{
  padding: var(--space) 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.course-audit-criterion:last-child{
  border-bottom: none;
  padding-bottom: 0;
}
.course-audit-criterion__head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-bottom: 0.5rem;
}
.course-audit-criterion__name{
  font-weight: 650;
  font-size: var(--text-lg);
  color: var(--text);
}
.course-audit-criterion__tag{
  font-size: var(--text-base);
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--muted);
}
.course-audit-criterion__body{
  font-size: var(--text-base);
  color: var(--text);
  line-height: 1.55;
}
.course-audit-criterion__body p{
  margin: 0.35rem 0 0;
}
.course-audit-criterion__label{
  color: var(--muted);
  font-size: var(--text-base);
  display: block;
  margin-top: 0.5rem;
}
.course-audit-ai__raw{
  margin-top: var(--space-lg);
  padding-top: var(--space);
  border-top: 1px solid rgba(255,255,255,.08);
}
.course-audit-ai__raw summary{
  cursor: pointer;
  color: var(--muted);
  font-size: var(--text-base);
}
.course-audit-ai__raw pre{
  margin: var(--space) 0 0;
  padding: var(--space);
  border-radius: 12px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.08);
  font-size: 0.88rem;
  line-height: 1.45;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.modules{display:grid;grid-template-columns:1fr;gap: var(--space-lg);margin-top: var(--space-lg);}
@media(min-width:900px){.modules{grid-template-columns:repeat(3,1fr)}}

.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap: var(--space);}
.list__row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space);
  padding: var(--space) var(--space-lg);
  font-size: var(--text-base);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.list__title{font-weight: 650; font-size: var(--text-lg);}

.badge{font-size: var(--text-base);padding: 8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background: rgba(255,255,255,.06)}
.badge--todo{border-color: rgba(246,137,33,.35)}
.badge--doing{border-color: rgba(246,137,33,.55)}
.badge--done{border-color: rgba(57,89,168,.55)}
.badge--draft{border-color: rgba(255,255,255,.18)}
.badge--preparer_signed{border-color: rgba(74,222,128,.4)}
.badge--in_progress{border-color: rgba(246,137,33,.55)}
.badge--completed{border-color: rgba(57,89,168,.55)}
.badge--blocked{border-color: rgba(255,80,80,.55)}
.badge--approved{border-color: rgba(74,222,128,.45)}
/* Exam moderation lifecycle (distinct from generic "approved") */
.badge--moderation_completed{border-color: rgba(246,137,33,.45)}
.badge--moderation_approved{border-color: rgba(74,222,128,.5)}

/* Backup & Recovery — superuser-only operational surface. */
.backup-page{max-width:1180px;margin:0 auto;padding-top:var(--space);}
.backup-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-lg);padding:clamp(1.5rem,4vw,3rem);border-color:rgba(108,232,248,.25);background:radial-gradient(circle at 82% 8%,rgba(108,232,248,.13),transparent 30%),linear-gradient(135deg,rgba(57,89,168,.28),rgba(15,26,48,.94) 65%);}
.backup-hero h1{margin:.25rem 0 .4rem;}
.backup-hero__copy{max-width:42rem;margin:0;color:#c4d1e7;font-size:var(--text-lg);}
.backup-eyebrow{margin:0;color:#96e6f3;font-size:.76rem;font-weight:750;letter-spacing:.14em;text-transform:uppercase;}
.backup-hero__status{display:flex;flex-direction:column;gap:.25rem;min-width:14rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:16px;background:rgba(0,0,0,.2);}
.backup-hero__status span:last-child{color:var(--muted);font-size:.9rem;line-height:1.35;}
.backup-hero__status--ready{border-color:rgba(92,205,138,.45);}.backup-hero__status--pending{border-color:rgba(246,184,96,.45);}.backup-hero__status--blocked{border-color:rgba(228,93,117,.48);}
.backup-status-dot{width:.65rem;height:.65rem;border-radius:50%;background:#f6b860;box-shadow:0 0 0 5px rgba(246,184,96,.1);}.backup-hero__status--ready .backup-status-dot{background:#5ccd8a;box-shadow:0 0 0 5px rgba(92,205,138,.1);}.backup-hero__status--blocked .backup-status-dot{background:#e45d75;box-shadow:0 0 0 5px rgba(228,93,117,.1);}
.backup-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin-top:var(--space-lg);}
.backup-metric-card{min-height:15rem;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;border-color:rgba(255,255,255,.11);}.backup-metric-card h2{margin:0;font-size:1.45rem;}.backup-metric-card .muted{margin:0;line-height:1.5;}.backup-metric-card .btn{margin-top:auto;}.backup-metric-card .backup-history-table{min-width:0;table-layout:fixed;}.backup-metric-card .backup-history-table th,.backup-metric-card .backup-history-table td{overflow-wrap:anywhere;}
.backup-setup-banner,.backup-current-job{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-top:var(--space-lg);border-color:rgba(246,137,33,.3);background:linear-gradient(120deg,rgba(246,137,33,.08),rgba(255,255,255,.025));}.backup-setup-banner h2,.backup-current-job h2{margin:.25rem 0 .35rem;}.backup-setup-banner p,.backup-current-job p{margin:0;max-width:52rem;}
.backup-history{margin-top:var(--space-lg);}.backup-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space);margin-bottom:var(--space);}.backup-section-heading h2{margin:.25rem 0 0;}.backup-history-table-wrap{overflow-x:auto;}.backup-history-table{width:100%;border-collapse:collapse;min-width:660px;}.backup-history-table th,.backup-history-table td{padding:.8rem .7rem;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;vertical-align:middle;}.backup-history-table th{color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;}.backup-history-table td{font-size:.92rem;}.backup-history-table .badge{font-size:.78rem;padding:.35rem .6rem;white-space:nowrap;}.backup-empty{padding:1rem 0;margin:0;}.backup-digest{display:block;max-width:100%;overflow-wrap:anywhere;padding:.55rem .7rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.22);color:#b7f3ff;font-size:.72rem;}.backup-safety-note{margin:var(--space) 0 0;color:var(--muted);font-size:.82rem;text-align:center;}.backup-setup-page .page__header{display:flex;justify-content:space-between;gap:var(--space-lg);align-items:flex-start;}.backup-setup-state{margin-top:var(--space-lg);}.backup-setup-state h2{margin:.3rem 0 .5rem;}.backup-setup-state--ready{border-color:rgba(92,205,138,.4);}.backup-setup-state--blocked{border-color:rgba(246,184,96,.45);}.backup-warning-card{margin-top:var(--space-lg);border-color:rgba(228,93,117,.35);}.backup-warning-card p{margin:.5rem 0 0;}.backup-action-form{margin-top:auto;}.backup-metric-card button[disabled],.backup-setup-state button[disabled]{cursor:not-allowed;opacity:.55;}
.backup-notification-list{display:grid;gap:.7rem;}.backup-notification{padding:.8rem .9rem;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.14);}.backup-notification--unread{border-color:rgba(108,232,248,.35);}.backup-notification strong{display:block;}.backup-notification p{margin:.25rem 0;}
 .backup-key-material{margin-top:var(--space-lg);border-color:rgba(108,232,248,.4);}.backup-key-material h2{margin:.3rem 0 .5rem;}.backup-key-material[hidden]{display:none;}.backup-private-key{min-height:6rem;background:rgba(0,0,0,.28);color:#b7f3ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.45;resize:vertical;}.backup-key-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem;}.backup-step-up-dialog{width:min(34rem,calc(100vw - 2rem));max-width:none;padding:1.35rem;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);}.backup-step-up-dialog::backdrop{background:rgba(3,8,18,.72);backdrop-filter:blur(3px);}.backup-step-up-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;}.backup-step-up-dialog__head h2{margin:.2rem 0 0;font-size:1.2rem;}.backup-step-up-dialog label{display:block;margin:.8rem 0 .25rem;color:var(--muted);font-size:.84rem;}.backup-step-up-dialog__error{margin:.8rem 0 0;color:#ffd4d8;font-size:.84rem;line-height:1.4;}.backup-step-up-dialog__actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.1rem;}.backup-step-up-dialog [hidden]{display:none;}
@media(max-width:850px){.backup-hero,.backup-setup-banner,.backup-current-job,.backup-setup-page .page__header{flex-direction:column;align-items:flex-start;}.backup-hero__status{width:100%;}.backup-metric-grid{grid-template-columns:1fr;}}

input, select, textarea{
  width: 100%;
  padding: 14px 18px;
  font-size: var(--text-base);
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: var(--text);
  margin: 8px 0 var(--space);
}
select, .form__select{
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23a7b6da' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  padding-right: 40px;
}
select option, .form__select option{
  background: #0f1a30;
  color: #eaf0ff;
}
textarea{
  min-height: 80px;
  resize: vertical;
}
label{font-size: var(--text-base);color:var(--muted);font-weight: 500;}
.form{margin-top: var(--space);}
.flash{margin: var(--space) 0;}
.flash__item{
  padding: var(--space) var(--space-lg);
  font-size: var(--text-base);
  border-radius: 16px;
  background: rgba(246,137,33,.12);
  border: 1px solid rgba(246,137,33,.25);
}
.pill{font-size: var(--text-base);padding: 8px 14px;border-radius:999px;background: rgba(57,89,168,.20);border:1px solid rgba(57,89,168,.35)}

/* Searchable select - dark themed dropdown */
.searchable-select-wrap{position:relative;}
.searchable-select{position:relative;}
.searchable-select__input{width:100%;}
.searchable-select__dropdown{
  position:absolute;left:0;right:0;top:100%;margin-top:4px;max-height:280px;overflow-y:auto;
  background: var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow: var(--shadow);
  z-index:100;
}
.searchable-select__option{
  padding:12px 18px;cursor:pointer;color:var(--text);font-size:var(--text-base);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.searchable-select__option:last-child{border-bottom:none;}
.searchable-select__option:hover,.searchable-select__option--active{background:rgba(57,89,168,.25);}
.searchable-select__empty{padding:16px 18px;color:var(--muted);font-size:var(--text-base);}

/* CDP form: numbered labels for objectives/CLOs */
.cdp-number{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 8px;font-weight:700;font-size:var(--text-base);border-radius:12px;background:linear-gradient(135deg,rgba(57,89,168,.5),rgba(57,89,168,.2));border:1px solid rgba(57,89,168,.4);color:var(--text);flex-shrink:0;}
.cdp-numbered-row{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:0.75rem;}
.cdp-numbered-row textarea{margin:0;}
.form__textarea{min-height:80px;resize:vertical;}

/* Searchable course select (New CDP) */
.form__searchable-select{position:relative;}
.form__searchable-select .form__input{width:100%;}
.form__searchable-list{list-style:none;margin:0;padding:0;}
.form__searchable-option{display:block;width:100%;text-align:left;padding:10px 14px;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:1rem;}
.form__searchable-option:hover{background:rgba(255,255,255,.08);}
.form__searchable-empty{padding:10px 14px;color:var(--muted);font-size:0.95rem;}

/* Final Year Projects: searchable panel member picker */
.fyp-panel-picker{position:relative;}
.fyp-panel-picker__control{display:flex;gap:.5rem;align-items:center;}
.fyp-panel-picker__control .form__input{flex:1;min-width:0;}
.fyp-panel-picker__selected{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem;}
.fyp-panel-picker__chip{
  display:inline-flex;align-items:center;gap:.35rem;
  border:1px solid var(--border);border-radius:999px;
  padding:.25rem .55rem;background:rgba(255,255,255,.06);
  color:var(--text);cursor:pointer;font-size:.88rem;
}
.fyp-panel-picker__chip:hover{background:rgba(255,255,255,.1);}
.fyp-panel-picker__menu{
  margin-top:.5rem;border:1px solid var(--border);border-radius:var(--radius);
  background:var(--surface);max-height:20rem;overflow:auto;
  box-shadow:0 16px 32px rgba(0,0,0,.22);z-index:5;
}
.fyp-panel-picker__option{
  display:flex;gap:.65rem;align-items:flex-start;
  padding:.65rem .75rem;border-bottom:1px solid var(--border);
  cursor:pointer;
}
.fyp-panel-picker__option:hover{background:rgba(255,255,255,.06);}
.fyp-panel-picker__option input{width:auto;margin-top:.2rem;accent-color:var(--primary);}
.fyp-panel-picker__option small{display:block;color:var(--muted);margin-top:.1rem;}
.fyp-panel-picker__empty{margin:0;padding:.75rem;color:var(--muted);}

/* Final Year Projects: proposal detail polish (H3C) */
.fyp-proposal-detail__status-row{
  display:flex;flex-wrap:wrap;gap:.35rem .65rem;
  margin-top:.65rem;
}
.fyp-proposal-detail__status-sep{opacity:.55;}
.fyp-proposal-content__body{padding-top:.25rem;}
.fyp-proposal-content__section{
  padding:.85rem 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.fyp-proposal-content__section:first-child{border-top:none;padding-top:.15rem;}
.fyp-proposal-content__label{
  margin:0 0 .4rem;
  font-size:.95rem;font-weight:600;color:var(--text);
}
.fyp-proposal-content__text{margin:0;}
.fyp-proposal-content__list{
  margin:.15rem 0 0;padding-left:1.15rem;
}
.fyp-proposal-content__list li{margin:.2rem 0;}
.fyp-ai-review-card__section{
  margin-top:1rem;padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.fyp-ai-review-card__heading{
  margin:0 0 .45rem;font-size:.95rem;font-weight:600;color:var(--text);
}
.fyp-ai-review-card__list{margin:.15rem 0 0;padding-left:1.15rem;}
.fyp-ai-review-card__list li{margin:.2rem 0;}
.fyp-ai-review-card__risk-badge{margin:0 .35rem .35rem 0;}
.fyp-ai-action-panel{
  margin-top:.85rem;padding:.85rem 1rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  background:rgba(255,255,255,.04);
}
.fyp-ai-action-panel__label{
  margin:0;font-size:.82rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.03em;color:var(--muted);
}
.fyp-ai-action-panel__badge{font-size:.95rem;padding:.35rem .7rem;}
.fyp-ai-review-card__notice--warning{color:var(--color-warning,#f59e0b);}
.fyp-ai-review-card__notice--danger{color:var(--color-danger,#f87171);}

[x-cloak]{display:none!important;}
.form__errors{list-style:none;margin:0.25rem 0 0;padding:0;color:#f87171;font-size:0.9rem;}
.form__errors li{margin-top:0.25rem;}
[x-cloak]{display:none !important;}

/* Course Grade Analysis: draw attention to empty or zero mark cells (visual only) */
input.form__input.final-results-mark--attention,
.form__input.final-results-mark--attention{
  background-color:color-mix(in srgb, #fbbf24 28%, var(--surface) 72%);
  border-color:color-mix(in srgb, #d97706 45%, var(--border) 55%);
}

/* Weekly theory/practical rows - two-line layout, larger fields */
.weekly-row{border:1px solid var(--border);border-radius:16px;padding:var(--space);margin-bottom:var(--space);background:rgba(0,0,0,.15);}
.weekly-row__line1,.weekly-row__line2{display:grid;gap:var(--space);align-items:end;margin-bottom:0.75rem;}
.weekly-row__line2{margin-bottom:0;}
.weekly-row__line1{grid-template-columns:1fr 7rem 6rem auto;}
.weekly-row__line2{grid-template-columns:1fr 1fr 1fr 1fr;}
.weekly-row__field label{display:block;margin-bottom:4px;font-size:0.9rem;}
.weekly-row__field input,.weekly-row__field textarea{margin:0;min-height:2.5rem;}
.weekly-row__field textarea{min-height:4rem;}
.weekly-row__topic{grid-column:1;}
.weekly-row__small{min-width:0;}
.weekly-row__actions{display:flex;align-items:flex-end;}

/* 10) Prepared & Agreed By rows */
.prepared-by-row{border:1px solid var(--border);border-radius:12px;padding:var(--space);margin-bottom:0.75rem;background:rgba(0,0,0,.12);}
.prepared-by-row__inputs{display:grid;grid-template-columns:1fr 1fr auto;gap:var(--space);align-items:end;}
.prepared-by-row__inputs label{display:block;margin-bottom:4px;}
.prepared-by-row__signoff{margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.prepared-by-row__status{display:flex;align-items:center;gap:0.75rem;}
.prepared-by-row__signature{max-height:36px;border-radius:8px;}

/* Graduate Attributes reference table (2×4 grid) */
.graduate-attributes-table{width:100%;border-collapse:collapse;margin:0;}
.graduate-attributes-table th,.graduate-attributes-table td{padding:12px 18px;text-align:left;border:1px solid var(--border);color:var(--text);}
.graduate-attributes-table th{background:rgba(0,0,0,.2);color:var(--muted);font-weight:600;}
.graduate-attributes-table td:first-child{font-weight:600;width:3rem;}
.graduate-attributes-table tbody tr:hover{background:rgba(255,255,255,.03);}
.graduate-attributes-table--grid td{width:50%;vertical-align:top;}
.graduate-attributes-table--grid td strong{margin-right:0.25rem;}

/* Audit dashboard table */
.table-wrap{overflow-x:auto;margin-top:var(--space);}
.audit-table{width:100%;border-collapse:collapse;font-size:var(--text-base);}
.audit-table th,.audit-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);}
.audit-table th{background:rgba(0,0,0,.2);color:var(--muted);font-weight:600;}
.audit-table tbody tr:hover{background:rgba(255,255,255,.03);}
.audit-table__technical{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.85em;word-break:break-word;}
.audit-table code{font-size:0.9em;background:rgba(0,0,0,.25);padding:2px 6px;border-radius:6px;}

/* Exam Moderation: CLO table + mapping matrix blocks + Step 3 review tables + ToS (shared: edit + review) */
.table{
  width:100%;
  border-collapse:collapse;
  font-size: var(--text-base);
}
.table.small{font-size:0.95rem;}
.table th,.table td{
  padding:0.55rem 0.65rem;
  border:1px solid var(--border);
  vertical-align:top;
}
.table th{
  background:rgba(255,255,255,0.06);
  font-weight:600;
  text-align:left;
}
.table tbody tr:nth-child(even) td{
  background:rgba(255,255,255,0.02);
}

/* Course Review Report: readable readiness badges and clearly separated tables. */
.evidence-readiness-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%, 15rem),1fr));
  gap:0.75rem;
  list-style:none;
  margin:0;
  padding:0;
}
.evidence-readiness-item{
  display:flex;
  flex-direction:column;
  gap:0.25rem;
  min-width:0;
  padding:0.75rem 0.9rem;
  border:1px solid rgba(57,89,168,.35);
  border-radius:14px;
  background:rgba(57,89,168,.14);
  line-height:1.45;
  overflow-wrap:anywhere;
}
.evidence-readiness-item__label{
  color:var(--text);
}
.evidence-readiness-item__status{
  color:var(--muted);
}
@media (max-width:640px){
  .evidence-readiness-list{
    grid-template-columns:1fr;
    gap:0.6rem;
  }
}
.course-review-report-table th{
  min-width:8rem;
  white-space:nowrap;
}
.course-review-report-table th + th{
  border-left-color:rgba(255,255,255,0.28);
}
.course-review-report-table--actions{
  min-width:68rem;
}
.course-review-report-workspace-status{
  margin-top:var(--space-sm);
  padding:var(--space-sm) 0;
  border-top:1px solid var(--border);
}
.course-review-report-workspace-status__summary,
.course-review-report-workspace-status__timestamp{
  margin:0 0 0.4rem;
}
.course-review-course-actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  align-items:center;
}

.table--clo{border-collapse:collapse;width:100%;}
.table--clo .clo-th,.table--clo .clo-td{padding:0.5rem 0.6rem;border:1px solid var(--border);vertical-align:top;}
.table--clo .clo-th{background:rgba(255,255,255,0.06);font-weight:600;text-align:left;}
.table--clo .clo-th--no{width:5rem;max-width:5rem;}
.table--clo .clo-th--outcome{min-width:22rem;}
.table--clo .clo-th--hours{width:6.5rem;max-width:6.5rem;}
.table--clo .clo-th--calc{width:5rem;min-width:5rem;text-align:center;}
.table--clo .clo-th--included{min-width:8rem;}
.table--clo .clo-th--actions{width:7rem;}
.table--clo .clo-td--no{width:5rem;}
.table--clo .clo-td--outcome{min-width:22rem;}
.table--clo .clo-td--hours{width:6.5rem;}
.table--clo .clo-td--calc{
  min-width:5rem;text-align:center;font-variant-numeric:tabular-nums;
  background:rgba(255,220,140,0.12);font-weight:500;
  border-left:1px solid rgba(255,220,140,0.2);border-right:1px solid rgba(255,220,140,0.2);
}
.table--clo .clo-td--calc:empty{background:rgba(255,255,255,0.02);}
.table--clo tfoot .clo-td--foot{background:rgba(255,200,100,0.18);font-weight:600;}
.table--clo .clo-td--included{min-width:8rem;}
.table--clo .clo-td--actions{width:7rem;}
.mm-matrix-tables{display:flex;flex-direction:column;gap:var(--space-lg);overflow-x:auto;}
.mm-table-block{
  background:rgba(255,255,255,0.04);
  border:1px solid var(--border);
  border-radius:8px;
  padding:var(--space);
}
.mm-table-block--short{border-left:3px solid rgba(100,160,220,0.5);}
.mm-table-block--long{border-left:3px solid rgba(160,120,220,0.5);}
.mm-table-block--mcq{border-left:3px solid rgba(100,200,160,0.5);}
.mm-review-wrap{display:flex;flex-direction:column;gap:var(--space-lg);margin-top:var(--space);}
.mm-review-section{min-width:0;}
.mm-review-h3{margin:0 0 0.5rem 0;font-size:1rem;}
.table--mm-review{width:100%;border-collapse:collapse;table-layout:fixed;}
.table--mm-review th,.table--mm-review td{padding:0.4rem 0.5rem;border:1px solid var(--border);text-align:center;}
.table--mm-review .mm-review-label{text-align:left;background:rgba(255,255,255,0.06);font-weight:600;}
.table--mm-review .mm-review-level-title{text-align:center;background:rgba(255,255,255,0.06);}
.mm-review-lots-header{background:#2a6b8a;color:#fff;font-weight:600;}
.mm-review-hots-header{background:#a63d3d;color:#fff;font-weight:600;}
.mm-review-cog{background:rgba(255,220,120,0.2);color:var(--text);}
.mm-review-cog--lots{color:#7eb8e0;}
.mm-review-cog--hots{color:#e08a8a;}
.mm-review-val{background:rgba(255,220,120,0.15);}
.mm-review-val--lots{color:#7eb8e0;font-weight:600;}
.mm-review-val--hots{color:#e08a8a;font-weight:600;}
.mm-review-lots-total{background:#2a6b8a;color:#fff;font-weight:600;}
.mm-review-hots-total{background:#a63d3d;color:#fff;font-weight:600;}
.mm-review-lots-cell{background:rgba(42,107,138,0.35);color:#7eb8e0;}
.mm-review-hots-cell{background:rgba(166,61,61,0.35);color:#e08a8a;}
.mm-review-clo-table{margin-top:0.5rem;}
.table--tos{width:100%;border-collapse:collapse;font-size:0.9rem;}
.table--tos th,.table--tos td{padding:0.4rem 0.5rem;border:1px solid var(--border);text-align:left;}
.table--tos th{background:rgba(255,255,255,0.06);}
.table--tos td:nth-child(n+3){text-align:center;}
.table--tos tfoot td{font-weight:600;background:rgba(255,255,255,0.04);}

/* Certificates — request detail summary field tiles */
.cert-detail-tiles{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(148px, 1fr));
  gap:0.65rem;
}
.cert-detail-tile{
  padding:0.65rem 0.85rem;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.045);
  box-shadow:0 4px 14px rgba(0,0,0,.14);
}
.cert-detail-tile__label{
  font-size:0.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:var(--muted);
  margin:0 0 0.35rem;
  line-height:1.25;
}
.cert-detail-tile__value{
  margin:0;
  font-weight:600;
  font-size:0.95rem;
  line-height:1.35;
  word-break:break-word;
  color:var(--text);
}
.cert-detail-tile__value a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.cert-detail-tile__value a:hover{opacity:0.92;}

/* --------------------------------------------------------------------------
   The Observatory — Phase 3A cinematic shell (scoped; no new framework)
   Phase 3A.2: full-bleed page under topbar; vertical centered hero; inner max-width
   Phase 3B: data-aware pillar planets (CSS modifiers + anchors); slower dwarf entrance
   Phase 3C: AI results briefing (Leadership Intelligence Brief + structured pillar cards)
   -------------------------------------------------------------------------- */

body.observatory-page{
  background:#020308;
  overflow-x:hidden;
}
body.observatory-page main.container{
  max-width:none;
  width:100%;
  padding-left:0;
  padding-right:0;
  padding-top:0;
  background:transparent;
}
body.observatory-page main.container > .flash{
  max-width:80rem;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--space-xl);
  padding-right:var(--space-xl);
  padding-top:var(--space);
}
.observatory-inner{
  max-width:80rem;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--space-xl);
  padding-right:var(--space-xl);
  box-sizing:border-box;
}

.card.observatory-restricted-tile.dashboard-beam-card{
  border-left:4px solid #f87171;
  background:linear-gradient(165deg, rgba(127,29,29,.22), rgba(15,23,42,.92));
  border-color:rgba(248,113,113,.28);
  box-shadow:0 12px 36px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.05);
}

.observatory-shell{
  --obs-accent:#e11d48;
  --obs-accent-soft:rgba(225,29,72,.14);
  --obs-glow:rgba(251,146,60,.45);
  --obs-surface:rgba(8,12,22,.78);
  --obs-border:rgba(248,113,113,.22);
  --obs-text:#f1f5f9;
  --obs-muted:#cbd5e1;
  margin-top:0;
  padding-bottom:var(--space-xl);
  color:var(--obs-text);
}
.observatory-shell .muted{color:var(--obs-muted);}
.observatory-shell h2,
.observatory-shell h3{color:var(--obs-text);}
.observatory-shell .observatory-section-heading{
  font-size:1rem;
  letter-spacing:0.04em;
  text-transform:uppercase;
  margin-bottom:var(--space-md);
  color:#94a3b8;
}

.observatory-cosmos{
  background:#020308;
}

.observatory-hero.observatory-full-bleed{
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:100%;
  margin:0;
  border-radius:0;
  border:none;
  border-bottom:1px solid rgba(248,113,113,.15);
  margin-bottom:0;
  min-height:min(82vh,52rem);
  background:
    radial-gradient(120% 90% at 50% 100%, rgba(30,10,12,.92) 0%, rgba(2,3,8,.98) 55%),
    linear-gradient(180deg, #050810 0%, #020308 100%);
  box-shadow:none;
}
.observatory-hero__stars{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.55;
  background-image:
    radial-gradient(1.2px 1.2px at 8% 12%, rgba(255,255,255,.9) 50%, transparent 52%),
    radial-gradient(1px 1px at 22% 78%, rgba(255,255,255,.75) 50%, transparent 52%),
    radial-gradient(1.4px 1.4px at 41% 31%, rgba(255,255,255,.85) 50%, transparent 52%),
    radial-gradient(1px 1px at 63% 18%, rgba(255,255,255,.7) 50%, transparent 52%),
    radial-gradient(1.2px 1.2px at 78% 64%, rgba(255,255,255,.8) 50%, transparent 52%),
    radial-gradient(1px 1px at 91% 42%, rgba(255,255,255,.65) 50%, transparent 52%),
    radial-gradient(1.3px 1.3px at 15% 55%, rgba(255,255,255,.55) 50%, transparent 52%),
    radial-gradient(1px 1px at 55% 88%, rgba(255,255,255,.5) 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 88% 12%, rgba(255,255,255,.75) 50%, transparent 52%);
  background-size:100% 100%;
  animation:observatory-stars-drift 180s linear infinite;
}
.observatory-hero__stars::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.35;
  background-image:
    radial-gradient(2px 2px at 12% 40%, rgba(147,197,253,.5) 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 70% 30%, rgba(252,165,165,.45) 50%, transparent 52%),
    radial-gradient(2px 2px at 48% 70%, rgba(254,215,170,.35) 50%, transparent 52%);
  background-size:100% 100%;
}
.observatory-hero__vignette{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:radial-gradient(ellipse 88% 72% at 50% 42%, transparent 22%, rgba(0,0,0,.62) 100%);
}
.observatory-hero__nebula{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:0.72;
  mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 120% 75% at 50% 36%, rgba(88,28,135,.11), transparent 58%),
    radial-gradient(ellipse 85% 55% at 22% 24%, rgba(30,58,138,.1), transparent 52%),
    radial-gradient(ellipse 70% 50% at 78% 28%, rgba(127,29,29,.09), transparent 50%),
    radial-gradient(ellipse 55% 40% at 50% 72%, rgba(15,23,42,.35), transparent 70%);
}
.observatory-hero__content{
  position:relative;
  z-index:3;
  max-width:56rem;
  margin:0 auto;
  padding:var(--space-lg) clamp(var(--space), 4vw, var(--space-xl)) var(--space-xl);
  box-sizing:border-box;
}
.observatory-hero__top{
  position:relative;
  text-align:center;
  margin-bottom:var(--space-lg);
  padding-right:0;
}
.observatory-hero__titles{
  margin:0 auto;
  max-width:44rem;
}
@media (max-width:640px){
  .observatory-hero__top{text-align:left;padding-top:2rem;}
}
.observatory-hero__title{
  margin:0 0 .35rem;
  font-size:clamp(1.85rem, 4.5vw, 2.75rem);
  font-weight:800;
  letter-spacing:.03em;
  background:linear-gradient(90deg, #fecdd3 0%, #fff 40%, #fecaca 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 40px rgba(248,113,113,.35);
}
.observatory-hero__subtitle{
  margin:0 auto;
  max-width:40rem;
  font-size:var(--text-base);
  color:#cbd5e1;
  line-height:1.45;
}
.observatory-hero__meta{margin:.5rem 0 0;color:#94a3b8;}

.observatory-hero__stage{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:min(64vh,42rem);
  margin:0 auto var(--space-lg);
  animation:observatory-hero-stage-enter 4.7s cubic-bezier(.22,1,.36,1) both;
}
.observatory-hero__viz{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%;
  min-height:min(58vh,38rem);
  overflow-x:clip;
}
.observatory-orbit-ring{
  --orbit-r:clamp(10.75rem, 28vw, 19rem);
  --eye-offset-x:calc(0.54 * var(--orbit-r));
  --eye-offset-y:calc(-0.36 * var(--orbit-r));
  position:relative;
  width:min(100%, 44rem);
  aspect-ratio:1;
  margin:0 auto;
}

@keyframes observatory-orbit-lane-spin{
  from{
    transform:rotate(var(--orbit-start)) translateY(calc(-1 * var(--orbit-r)));
  }
  to{
    transform:rotate(calc(var(--orbit-start) + 360deg)) translateY(calc(-1 * var(--orbit-r)));
  }
}
@keyframes observatory-orbit-counter-spin{
  from{transform:rotate(calc(-1 * var(--orbit-start)));}
  to{transform:rotate(calc(-1 * var(--orbit-start) - 360deg));}
}
@keyframes observatory-planet-shimmer-slide{
  0%,100%{background-position:0% 40%;}
  50%{background-position:100% 60%;}
}
@keyframes observatory-dwarf-surface-shimmer{
  0%,100%{opacity:.28;}
  50%{opacity:.42;}
}

.observatory-orbit-lane{
  position:absolute;
  left:50%;
  top:50%;
  width:0;
  height:0;
  z-index:8;
  transform-origin:center;
  pointer-events:none;
  animation:observatory-orbit-lane-spin var(--orbit-t,118s) linear infinite;
  animation-delay:calc(var(--orbit-i) * -14s);
}
.observatory-orbit-lane:hover,
.observatory-orbit-lane:focus-within{
  animation-play-state:paused;
}

.observatory-planet-mount{
  position:relative;
  display:block;
  --planet-d:clamp(3rem, 7.5vw, 3.65rem);
  width:var(--planet-d);
  height:var(--planet-d);
  margin:calc(-0.5 * var(--planet-d)) 0 0 calc(-0.5 * var(--planet-d));
  pointer-events:auto;
  text-decoration:none;
  color:inherit;
  border-radius:50%;
  outline-offset:4px;
  z-index:2;
  touch-action:manipulation;
  transform-origin:center center;
  animation:observatory-orbit-counter-spin var(--orbit-t,118s) linear infinite;
  animation-delay:calc(var(--orbit-i) * -14s);
}
.observatory-planet-mount:focus-visible{
  outline:2px solid #38bdf8;
}
.observatory-planet-mount__counter{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:calc(var(--planet-d) + 1.1rem);
}
.observatory-planet-orb{
  position:relative;
  width:var(--planet-d);
  height:var(--planet-d);
  border-radius:50%;
  flex-shrink:0;
  overflow:visible;
  transition:box-shadow .25s ease, filter .25s ease;
}
.observatory-planet-mount:hover .observatory-planet-orb,
.observatory-planet-mount:focus-visible .observatory-planet-orb{
  filter:brightness(1.08);
}

.observatory-planet-halo{
  position:absolute;
  inset:-26%;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  box-sizing:border-box;
  opacity:calc(0.42 + 0.52 * var(--planet-coverage-intensity, 0.5));
  transition:opacity .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.observatory-planet-halo--measured{
  border:2px solid rgba(254,202,202,calc(0.42 + 0.38 * var(--planet-confidence-intensity, 0.5)));
  box-shadow:0 0 calc(6px + 14px * var(--planet-coverage-intensity, 0.5)) rgba(248,113,113,.28);
}
.observatory-planet-halo--partial{
  border:1px solid rgba(254,215,170,calc(0.35 + 0.35 * var(--planet-confidence-intensity, 0.5)));
  box-shadow:0 0 calc(4px + 8px * var(--planet-coverage-intensity, 0.5)) rgba(251,146,60,.18);
  opacity:calc(0.38 + 0.48 * var(--planet-coverage-intensity, 0.5));
}
.observatory-planet-halo--weak{
  border:1px dashed rgba(251,146,60,calc(0.45 + 0.35 * var(--planet-coverage-intensity, 0.5)));
  box-shadow:0 0 8px rgba(234,88,12,.12);
  opacity:calc(0.4 + 0.45 * var(--planet-coverage-intensity, 0.5));
}
.observatory-planet-halo--future,
.observatory-planet-halo--not-instrumented{
  border:1px dashed rgba(100,116,139,.38);
  background:repeating-linear-gradient(
    90deg,
    transparent,
    transparent 5px,
    rgba(51,65,85,.22) 5px,
    rgba(51,65,85,.22) 7px
  );
  opacity:calc(0.32 + 0.35 * var(--planet-coverage-intensity, 0.5));
}

/* Equatorial ring (sphere), distinct from maturity halo */
.observatory-planet-orb > .observatory-planet-ring{
  position:absolute;
  left:50%;
  top:54%;
  width:138%;
  height:30%;
  transform:translate(-50%,-50%) rotate(-8deg);
  border-radius:50%;
  pointer-events:none;
  z-index:3;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    inset 0 0 5px rgba(255,255,255,.08),
    0 0 6px rgba(248,113,113,.12);
  opacity:0.55;
  background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 55%);
}

.observatory-planet-core{
  --psi:var(--planet-score-intensity, 0.5);
  --pci:var(--planet-coverage-intensity, 0.5);
  --pfi:var(--planet-confidence-intensity, 0.5);
  position:absolute;
  inset:0;
  border-radius:50%;
  z-index:1;
  background:
    radial-gradient(circle at 30% 25%, rgba(254,226,226,.95) 0%, transparent 42%),
    radial-gradient(circle at 72% 68%, rgba(127,29,29,.92) 0%, rgba(30,6,10,.98) 72%);
  box-shadow:
    inset -0.12rem -0.18rem 0.35rem rgba(0,0,0,.45),
    inset 0.1rem 0.12rem 0.25rem rgba(255,255,255,.12),
    0 0 calc(8px + 16px * var(--psi)) rgba(220,38,38, calc(0.15 + 0.32 * var(--psi))),
    inset 0 0 calc(8px + 10px * var(--pci)) rgba(255,255,255,calc(0.03 + 0.05 * var(--pfi)));
  opacity:calc(0.82 + 0.18 * var(--psi));
}
.observatory-planet-shimmer{
  position:absolute;
  inset:0;
  border-radius:50%;
  z-index:4;
  pointer-events:none;
  opacity:0.18;
  background:linear-gradient(
    118deg,
    transparent 38%,
    rgba(255,255,255,.35) 48%,
    transparent 58%
  );
  background-size:220% 220%;
  animation:observatory-planet-shimmer-slide 11s ease-in-out infinite;
  mix-blend-mode:screen;
}
.observatory-planet-label{
  margin-top:0.2rem;
  font-size:0.58rem;
  font-weight:800;
  letter-spacing:0.06em;
  color:#fecdd3;
  text-shadow:0 1px 5px rgba(0,0,0,.9);
  line-height:1;
  pointer-events:none;
  text-align:center;
  max-width:4.5rem;
}
.observatory-planet-badge{
  margin-top:0.06rem;
  font-size:0.5rem;
  font-weight:800;
  letter-spacing:0.08em;
  color:#93c5fd;
  line-height:1;
  pointer-events:none;
}

.observatory-dwarf-wrap{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  width:clamp(11.5rem, 36vw, 23rem);
  height:clamp(11.5rem, 36vw, 23rem);
  animation:observatory-dwarf-enter 4.7s cubic-bezier(.22,1,.36,1) forwards;
}
.observatory-dwarf{
  --stellar-heat:#ef4444;
  --stellar-corona:rgba(251,113,133,.5);
  --stellar-flare:rgba(254,215,170,.45);
  --stellar-gold:#fde68a;
  --stellar-plasma-opacity:.38;
  position:relative;
  width:100%;
  height:100%;
  border-radius:50%;
  overflow:visible;
  animation:observatory-dwarf-pulse 5.5s ease-in-out infinite;
  animation-delay:3.7s;
}
.observatory-dwarf__limb-glow{
  position:absolute;
  inset:-8%;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  opacity:.55;
  background:radial-gradient(circle at 50% 50%, transparent 58%, rgba(220,38,38,.22) 72%, transparent 88%);
  filter:blur(6px);
}
.observatory-dwarf__corona{
  position:absolute;
  inset:-58%;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  background:radial-gradient(circle, var(--stellar-corona) 0%, rgba(220,38,38,.14) 42%, transparent 72%);
  filter:blur(16px);
  opacity:.98;
  animation:observatory-dwarf-corona-breathe 9s ease-in-out infinite;
}
.observatory-dwarf__flare-ring{
  position:absolute;
  inset:-18%;
  border-radius:50%;
  pointer-events:none;
  z-index:6;
  overflow:visible;
}
.observatory-dwarf__flare{
  position:absolute;
  pointer-events:none;
  border-radius:50% 50% 50% 0;
  background:linear-gradient(145deg, rgba(254,215,170,.55), rgba(239,68,68,.15));
  filter:blur(1px);
  opacity:.35;
  animation:observatory-dwarf-flare-flicker 7s ease-in-out infinite;
}
.observatory-dwarf__flare--one{
  width:18%;
  height:28%;
  top:8%;
  right:-4%;
  transform:rotate(35deg);
  animation-delay:0s;
}
.observatory-dwarf__flare--two{
  width:14%;
  height:22%;
  bottom:12%;
  left:-2%;
  transform:rotate(-120deg);
  animation-delay:-2.4s;
}
.observatory-dwarf__flare--three{
  width:12%;
  height:20%;
  top:42%;
  left:-6%;
  transform:rotate(-55deg);
  opacity:.28;
  animation-delay:-4.8s;
}
.observatory-dwarf__body{
  position:absolute;
  inset:0;
  border-radius:50%;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 28% 24%, rgba(254,243,199,.88) 0%, transparent 38%),
    radial-gradient(circle at 68% 62%, rgba(185,28,28,.92) 0%, rgba(69,10,10,.98) 58%),
    radial-gradient(circle at 50% 88%, rgba(24,4,6,.98) 0%, rgba(12,2,4,1) 72%);
  box-shadow:
    0 0 32px rgba(248,113,113,.62),
    0 0 88px rgba(220,38,38,.34),
    inset 0 0 28px rgba(0,0,0,.52),
    inset 0 -12px 24px rgba(127,29,29,.35);
}
.observatory-dwarf__plasma{
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
  z-index:3;
  opacity:var(--stellar-plasma-opacity);
  mix-blend-mode:screen;
  background:
    radial-gradient(ellipse 55% 35% at 38% 32%, rgba(254,202,202,.5), transparent 58%),
    radial-gradient(ellipse 40% 28% at 62% 48%, rgba(251,146,60,.35), transparent 62%),
    radial-gradient(ellipse 30% 22% at 48% 68%, rgba(239,68,68,.28), transparent 55%);
  animation:observatory-dwarf-plasma-drift 22s ease-in-out infinite;
}
.observatory-dwarf__granulation{
  position:absolute;
  inset:4%;
  border-radius:50%;
  pointer-events:none;
  z-index:4;
  opacity:.42;
  mix-blend-mode:overlay;
  background:
    radial-gradient(circle at 22% 38%, rgba(254,215,170,.35) 0 8%, transparent 9%),
    radial-gradient(circle at 58% 28%, rgba(252,165,165,.28) 0 6%, transparent 7%),
    radial-gradient(circle at 74% 58%, rgba(248,113,113,.22) 0 7%, transparent 8%),
    radial-gradient(circle at 36% 72%, rgba(253,186,116,.25) 0 5%, transparent 6%);
  animation:observatory-dwarf-granulation-shift 28s linear infinite;
}
.observatory-dwarf__surface{
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
  opacity:.36;
  mix-blend-mode:overlay;
  z-index:5;
  background:
    radial-gradient(ellipse 85% 42% at 28% 20%, rgba(255,255,255,.24), transparent 52%),
    radial-gradient(circle at 76% 64%, rgba(0,0,0,.34), transparent 52%),
    conic-gradient(from 210deg at 50% 50%, transparent 0deg, rgba(255,255,255,.06) 40deg, transparent 80deg);
  animation:observatory-dwarf-surface-shimmer 16s ease-in-out infinite;
}
.observatory-dwarf__core{
  position:absolute;
  inset:22%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(254,243,199,.62) 0%, rgba(251,113,133,.12) 48%, transparent 68%);
  mix-blend-mode:screen;
  opacity:.88;
  z-index:7;
  pointer-events:none;
}
@keyframes observatory-dwarf-corona-breathe{
  0%,100%{opacity:.92;transform:scale(1);}
  50%{opacity:1;transform:scale(1.03);}
}
@keyframes observatory-dwarf-plasma-drift{
  0%,100%{transform:rotate(0deg) scale(1);opacity:var(--stellar-plasma-opacity);}
  33%{transform:rotate(8deg) scale(1.02);opacity:calc(var(--stellar-plasma-opacity) + .06);}
  66%{transform:rotate(-6deg) scale(.98);opacity:calc(var(--stellar-plasma-opacity) - .04);}
}
@keyframes observatory-dwarf-granulation-shift{
  0%{transform:rotate(0deg);}
  100%{transform:rotate(360deg);}
}
@keyframes observatory-dwarf-flare-flicker{
  0%,100%{opacity:.22;filter:blur(1px);}
  40%{opacity:.42;}
  70%{opacity:.3;}
}

.observatory-hero__legend{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr));
  gap:clamp(0.5rem, 1.8vw, 0.85rem) clamp(0.65rem, 2vw, 1rem);
  margin:0 auto clamp(var(--space-md), 3vw, var(--space-lg));
  max-width:52rem;
  text-align:left;
}
.observatory-hero__legend-item{
  --psi:var(--planet-score-intensity, 0.5);
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:.5rem;
  row-gap:.2rem;
  padding:.5rem .65rem;
  border-radius:12px;
  background:rgba(4,8,18,.55);
  border:1px solid rgba(148,163,184, calc(0.12 + 0.22 * var(--psi)));
  box-shadow:0 0 calc(6px + 10px * var(--psi)) rgba(220,38,38, calc(0.04 + 0.1 * var(--psi)));
  align-items:start;
  text-decoration:none;
  color:inherit;
  outline-offset:2px;
  opacity:calc(0.88 + 0.12 * var(--psi));
  transition:border-color .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.observatory-hero__legend-item:hover,
.observatory-hero__legend-item:focus-visible{
  border-color:rgba(248,250,252,.22);
}
.observatory-hero__legend-item:focus-visible{
  outline:2px solid #38bdf8;
}
.observatory-hero__legend-abbr{
  grid-row:1 / -1;
  align-self:start;
  font-size:.78rem;
  font-weight:800;
  color:#fecdd3;
  letter-spacing:.04em;
  padding-top:.1rem;
}
.observatory-hero__legend-label{
  grid-column:2;
  font-size:.82rem;
  font-weight:600;
  color:#e2e8f0;
  line-height:1.3;
}
.observatory-hero__legend-meta{
  grid-column:2;
  font-size:.72rem;
  line-height:1.35;
}
.observatory-legend__ai-hint{
  grid-column:2;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.04em;
  color:#93c5fd;
  text-transform:uppercase;
}
.observatory-planet__ai-hint{
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.06em;
  color:#93c5fd;
  line-height:1;
  margin-top:.08rem;
}

.observatory-hero-metric-strip{
  max-width:52rem;
  margin:0 auto;
  padding:clamp(var(--space-sm), 2.5vw, var(--space)) clamp(var(--space), 3vw, var(--space-lg));
  border-radius:16px;
  background:rgba(8,12,22,.78);
  border:1px solid rgba(248,113,113,.18);
  backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 12px 40px rgba(0,0,0,.35);
  display:flex;
  flex-direction:column;
  gap:clamp(0.35rem, 1.2vw, 0.55rem);
}
.observatory-hero-metric-strip__scope{
  margin:0 0 var(--space-sm);
  text-align:center;
}
.observatory-hero-metrics--strip{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(9.5rem, 1fr));
  gap:var(--space-sm);
}
.observatory-hero-metrics__item{
  padding:var(--space-sm) var(--space);
  border-radius:14px;
  background:rgba(4,10,22,.72);
  border:1px solid rgba(148,163,184,.12);
  backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.observatory-hero-metrics__label{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#94a3b8;
  margin-bottom:.25rem;
}
.observatory-hero-metrics__value{font-weight:700;font-size:1.08rem;color:#f8fafc;}

.observatory-hero__scan{
  margin-top:var(--space-xl);
  border-color:rgba(248,113,113,.2) !important;
}
.observatory-glass__h2{
  margin:0;
  font-size:var(--text-xl);
}

@keyframes observatory-hero-stage-enter{
  from{
    opacity:.55;
    transform:scale(.62);
    filter:blur(2px);
  }
  to{
    opacity:1;
    transform:scale(1);
    filter:blur(0);
  }
}
.observatory-body .observatory-glass,
.observatory-hero__scan.observatory-glass{
  background:rgba(8,12,22,.82);
  backdrop-filter:blur(14px);
  border:1px solid rgba(148,163,184,.18);
  box-shadow:
    0 12px 40px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.observatory-body .observatory-glass--alert{
  border-left:4px solid #ea580c;
  border-color:rgba(234,88,12,.35);
}

/* Phase AI-6C — leadership readout (deterministic explanations) */
.observatory-leadership-readout{
  margin-top:var(--space-lg);
  padding:var(--space-md) var(--space-lg);
  border-radius:12px;
}
.observatory-leadership-readout__head{
  margin-bottom:var(--space-md);
}
.observatory-leadership-readout__title{
  margin:0 0 .35rem;
  font-size:1.15rem;
  color:#f8fafc;
}
.observatory-leadership-readout__headline{
  margin:0;
  font-size:.95rem;
  color:#cbd5e1;
  line-height:1.45;
}
.observatory-leadership-readout__chips{
  display:grid;
  gap:var(--space-sm);
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  margin-bottom:var(--space-md);
}
.observatory-leadership-readout__chip{
  margin:0;
  padding:var(--space-sm) var(--space-md);
  background:rgba(4,8,18,.55);
  border:1px solid rgba(148,163,184,.14);
  border-radius:10px;
}
.observatory-leadership-readout__chip-label{
  margin:0 0 .35rem;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.observatory-leadership-readout__chip-text{
  margin:0;
  line-height:1.4;
}
.observatory-leadership-readout__block{
  margin-bottom:var(--space-md);
}
.observatory-leadership-readout__block--cdp{
  padding:var(--space-sm) var(--space-md);
  background:rgba(4,8,18,.4);
  border:1px solid rgba(56,189,248,.18);
  border-radius:10px;
}
.observatory-leadership-readout__lines{
  margin:0;
  padding-left:1.1rem;
  display:grid;
  gap:.3rem;
}
.observatory-leadership-readout__section-title{
  margin:0 0 var(--space-sm);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.observatory-leadership-readout__badges{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.observatory-leadership-readout__badge{
  display:inline-block;
  padding:.2rem .55rem;
  font-size:.72rem;
  line-height:1.35;
  color:#e2e8f0;
  background:rgba(248,113,113,.12);
  border:1px solid rgba(248,113,113,.28);
  border-radius:999px;
}
.observatory-leadership-readout__actions{
  display:grid;
  gap:.45rem;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
.observatory-leadership-readout__action-card{
  margin:0;
  padding:.55rem var(--space-md);
  background:rgba(15,23,42,.75);
  border:1px solid rgba(148,163,184,.16);
  border-radius:8px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.observatory-leadership-readout__action-text{
  margin:0;
  font-size:.85rem;
  color:#e2e8f0;
  line-height:1.4;
}
.observatory-leadership-readout__caution{
  margin:var(--space-md) 0 0;
  padding-top:var(--space-sm);
  border-top:1px solid rgba(148,163,184,.12);
  font-style:italic;
}

.observatory-executive-brief{
  margin-top:var(--space-lg);
  padding:var(--space-md) var(--space-lg);
}
.observatory-executive-brief__head{margin-bottom:var(--space-md);}
.observatory-executive-brief__title{
  margin:0 0 .35rem;
  font-size:1.15rem;
  font-weight:600;
  color:#f8fafc;
}
.observatory-executive-brief__headline{
  margin:0;
  font-size:.95rem;
  line-height:1.45;
  color:#e2e8f0;
}
.observatory-executive-brief__ai-status{margin:.4rem 0 0;}
.observatory-executive-brief__chips{
  display:grid;
  gap:var(--space-sm);
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  margin-bottom:var(--space-md);
}
.observatory-executive-brief__chip{
  margin:0;
  padding:var(--space-sm) var(--space-md);
  background:rgba(4,8,18,.55);
  border:1px solid rgba(148,163,184,.16);
  border-radius:8px;
}
.observatory-executive-brief__chip-label{
  margin:0 0 .35rem;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.observatory-executive-brief__chip-text{margin:0;line-height:1.4;}
.observatory-executive-brief__block{margin-bottom:var(--space-md);}
.observatory-executive-brief__block--cdp{
  padding:var(--space-sm) var(--space-md);
  background:rgba(4,8,18,.4);
  border-radius:8px;
}
.observatory-executive-brief__section-title{
  margin:0 0 var(--space-sm);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#cbd5e1;
}
.observatory-executive-brief__badges{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.observatory-executive-brief__badge{
  display:inline-block;
  padding:.2rem .55rem;
  border-radius:999px;
  font-size:.78rem;
  background:rgba(225,29,72,.12);
  border:1px solid rgba(248,113,113,.25);
  color:#fecdd3;
}
.observatory-executive-brief__lines{
  margin:0;
  padding-left:1.1rem;
  line-height:1.4;
}
.observatory-executive-brief__actions{
  display:grid;
  gap:.45rem;
}
.observatory-executive-brief__action-card{
  margin:0;
  padding:.55rem var(--space-md);
  background:rgba(4,8,18,.5);
  border:1px solid rgba(148,163,184,.14);
  border-radius:8px;
}
.observatory-executive-brief__action-text{
  margin:0;
  font-size:.85rem;
  color:#e2e8f0;
  line-height:1.4;
}
.observatory-executive-brief__empty{margin:.5rem 0 var(--space-md);}
.observatory-executive-brief__ai{
  margin-bottom:var(--space-md);
  padding:var(--space-sm) var(--space-md);
  background:rgba(4,8,18,.45);
  border:1px solid rgba(148,163,184,.14);
  border-radius:8px;
}
.observatory-executive-brief__ai-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.5rem;
}
.observatory-executive-brief__ai-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.observatory-executive-brief__interpretation{
  margin:0 0 var(--space-sm);
  line-height:1.45;
  color:#e2e8f0;
}
.observatory-executive-brief__strip{
  display:grid;
  gap:.45rem;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  margin-bottom:var(--space-sm);
}
.observatory-executive-brief__strip-item{
  padding:.4rem .55rem;
  background:rgba(2,6,14,.55);
  border-radius:6px;
  border:1px solid rgba(148,163,184,.12);
}
.observatory-executive-brief__strip-item--wide{grid-column:1 / -1;}
.observatory-executive-brief__strip-label{
  display:block;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#94a3b8;
}
.observatory-executive-brief__strip-value{
  display:block;
  font-size:.85rem;
  color:#f1f5f9;
  margin-top:.15rem;
}
.observatory-executive-brief__grid{
  display:grid;
  gap:var(--space-sm);
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  margin-bottom:var(--space-sm);
}
.observatory-executive-brief__panel-title{
  margin:0 0 .35rem;
  font-size:.8rem;
  font-weight:600;
  color:#cbd5e1;
}
.observatory-executive-brief__gaps{margin-top:.35rem;}
.observatory-executive-brief__coverage-warning{
  margin:.35rem 0 0;
  padding:.35rem .5rem;
  border-left:3px solid rgba(245,158,11,.55);
}
.observatory-executive-brief__caution{
  margin:var(--space-md) 0 0;
  padding-top:var(--space-sm);
  border-top:1px solid rgba(148,163,184,.12);
  font-style:italic;
}

.observatory-pillar-intel-details{
  margin-top:var(--space-md);
  padding:var(--space-sm) var(--space-md);
}
.observatory-pillar-intel-details__summary{
  cursor:pointer;
  font-weight:600;
  color:#e2e8f0;
  list-style:none;
}
.observatory-pillar-intel-details__summary::-webkit-details-marker{display:none;}
.observatory-pillar-intel-details__body{
  margin-top:var(--space-md);
  padding-top:var(--space-sm);
  border-top:1px solid rgba(148,163,184,.12);
}

.observatory-overlay-pane{
  display:flex;
  flex-direction:column;
  gap:0;
}
.observatory-pillar-overlay--mode-action .observatory-overlay-pane__action{order:1;}
.observatory-pillar-overlay--mode-action .observatory-overlay-pane__evidence{order:2;}
.observatory-pillar-overlay--mode-evidence .observatory-overlay-pane__action{order:2;}
.observatory-pillar-overlay--mode-evidence .observatory-overlay-pane__evidence{order:1;}
.observatory-tl-portfolio--overlay{
  margin-top:var(--space-md);
  padding-top:var(--space-sm);
  border-top:1px solid rgba(148,163,184,.12);
}
.observatory-tl-portfolio__grid--overlay{
  grid-template-columns:1fr;
}
@media (min-width:900px){
  .observatory-tl-portfolio__grid--overlay{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.observatory-tl-portfolio{
  margin-top:var(--space-lg);
  padding:var(--space-md) var(--space-lg);
}
.observatory-tl-portfolio__head{
  margin-bottom:var(--space-md);
}
.observatory-tl-portfolio__title{
  margin:0 0 .35rem;
  font-size:1.05rem;
  font-weight:600;
  color:#f8fafc;
}
.observatory-tl-portfolio__intro{
  margin:0;
  line-height:1.4;
}
.observatory-tl-portfolio__grid{
  display:grid;
  gap:var(--space-md);
  grid-template-columns:1fr;
}
@media (min-width:900px){
  .observatory-tl-portfolio__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
.observatory-tl-portfolio-card{
  margin:0;
  padding:var(--space-sm) var(--space-md);
  background:rgba(4,8,18,.55);
  border:1px solid rgba(148,163,184,.16);
  border-radius:10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.observatory-tl-portfolio-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:.35rem .5rem;
  margin-bottom:.45rem;
}
.observatory-tl-portfolio-card__title{
  margin:0;
  font-size:.92rem;
  font-weight:600;
  color:#f1f5f9;
}
.observatory-tl-portfolio-card__status{
  display:inline-block;
  padding:.15rem .5rem;
  border-radius:999px;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
  border:1px solid transparent;
}
.observatory-tl-portfolio-card__status--good{
  color:#86efac;
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.28);
}
.observatory-tl-portfolio-card__status--attention{
  color:#fde68a;
  background:rgba(245,158,11,.12);
  border-color:rgba(245,158,11,.28);
}
.observatory-tl-portfolio-card__status--weak{
  color:#fca5a5;
  background:rgba(239,68,68,.12);
  border-color:rgba(239,68,68,.28);
}
.observatory-tl-portfolio-card__status--missing{
  color:#cbd5e1;
  background:rgba(148,163,184,.1);
  border-color:rgba(148,163,184,.22);
}
.observatory-tl-portfolio-card__meaning{
  margin:0 0 .5rem;
  line-height:1.35;
}
.observatory-tl-portfolio-card__evidence{
  margin:0 0 .55rem;
  font-size:.86rem;
  color:#e2e8f0;
  line-height:1.4;
}
.observatory-tl-portfolio-card__block{
  margin-top:.45rem;
}
.observatory-tl-portfolio-card__label{
  margin:0 0 .25rem;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.observatory-tl-portfolio-card__list{
  margin:0;
  padding-left:1.05rem;
}
.observatory-tl-portfolio-card__list li{
  margin-bottom:.25rem;
  line-height:1.35;
}
.observatory-tl-portfolio-card__actions li{
  color:#e2e8f0;
}

.observatory-shell .observatory-pillar-card{
  border-top:3px solid var(--obs-accent);
}
.observatory-shell .observatory-metric-triple__item{
  background:rgba(4,8,18,.65);
  border:1px solid rgba(148,163,184,.14);
  color:var(--obs-text);
}
.observatory-shell .observatory-metric-triple__label{color:#94a3b8;}
.observatory-shell .observatory-metric-triple__value{color:#f8fafc;}

.observatory-shell .observatory-json-pre{
  border:1px solid rgba(248,113,113,.15);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}

.observatory-shell .observatory-table th{
  background:rgba(0,0,0,.35);
  color:#cbd5e1;
}
.observatory-shell .observatory-table td{
  border-bottom-color:rgba(148,163,184,.12);
  color:#e2e8f0;
}

@keyframes observatory-dwarf-enter{
  from{
    transform:translate(-50%,-50%) scale(.12);
    opacity:.35;
    filter:blur(8px);
  }
  to{
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
    filter:blur(0);
  }
}
@keyframes observatory-dwarf-pulse{
  0%,100%{filter:brightness(1);transform:scale(1);}
  50%{filter:brightness(1.06);transform:scale(1.025);}
}
@keyframes observatory-stars-drift{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-1.5%,1.2%,0);}
}

@media (prefers-reduced-motion:reduce){
  .observatory-hero__stars{animation:none;transform:none;}
  .observatory-hero__stage{animation:none !important;opacity:1 !important;transform:none !important;filter:none !important;}
  .observatory-orbit-lane,
  .observatory-planet-mount{
    animation:none !important;
  }
  .observatory-planet-shimmer{animation:none !important;opacity:0.12;}
  .observatory-dwarf__surface,
  .observatory-dwarf__plasma,
  .observatory-dwarf__granulation,
  .observatory-dwarf__corona,
  .observatory-dwarf__flare{animation:none !important;}
  .observatory-dwarf__surface{opacity:0.26;}
  .observatory-dwarf__plasma{opacity:0.22;}
  .observatory-dwarf__granulation{opacity:0.2;}
  .observatory-shell.observatory-scan-active .observatory-planet-orb{
    animation:none !important;
    filter:none;
  }
  .observatory-dwarf-wrap{
    animation:none;
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
    filter:none;
  }
  .observatory-dwarf{
    animation:none;
    filter:none;
    transform:none;
  }
  .observatory-satellite-orbit,
  .observatory-orbit-path{animation:none !important;}
  .observatory-shell.observatory-scan-active .observatory-dwarf{animation:none;}
  .observatory-scan-status__dot{animation:none;}
}

/* Phase 3B — pillar planet intelligence (round hero orbs + legend; no new engine) */
.observatory-pillar-section{scroll-margin-top:5.5rem;}
.observatory-planet--measured .observatory-planet-orb{
  box-shadow:
    0 0 calc(10px + 26px * var(--planet-score-intensity, 0.5)) rgba(220,38,38,calc(0.18 + 0.36 * var(--planet-score-intensity, 0.5))),
    inset 0 0 0 1px rgba(255,255,255,.06);
}
.observatory-planet--partial .observatory-planet-orb,
.observatory-planet--weak .observatory-planet-orb{
  box-shadow:
    0 0 calc(8px + 18px * var(--planet-score-intensity, 0.5)) rgba(234,88,12,calc(0.12 + 0.22 * var(--planet-score-intensity, 0.5))),
    inset 0 0 0 1px rgba(255,237,213,.05);
}
.observatory-planet--weak .observatory-planet-orb{
  opacity:calc(0.9 + 0.1 * var(--planet-score-intensity, 0.5));
}
.observatory-planet--future .observatory-planet-orb,
.observatory-planet--not-instrumented .observatory-planet-orb{
  box-shadow:0 0 12px rgba(30,41,59,.35);
  opacity:calc(0.88 + 0.12 * var(--planet-score-intensity, 0.5));
}
.observatory-planet--measured .observatory-planet-core{
  background:
    radial-gradient(circle at 30% 25%, rgba(254,226,226,.95) 0%, transparent 42%),
    radial-gradient(circle at 72% 68%, rgba(127,29,29,.92) 0%, rgba(30,6,10,.98) 72%);
}
.observatory-planet--partial .observatory-planet-core,
.observatory-planet--weak .observatory-planet-core{
  background:
    radial-gradient(circle at 30% 25%, rgba(254,237,213,.88) 0%, transparent 44%),
    radial-gradient(circle at 70% 66%, rgba(154,52,18,.9) 0%, rgba(40,10,6,.98) 74%);
}
.observatory-planet--future .observatory-planet-core,
.observatory-planet--not-instrumented .observatory-planet-core{
  background:
    radial-gradient(circle at 35% 30%, rgba(226,232,240,.75) 0%, transparent 48%),
    radial-gradient(circle at 68% 66%, rgba(71,85,105,.88) 0%, rgba(15,23,42,.96) 76%);
}
.observatory-hero__legend-item.observatory-planet--measured{
  border-color:rgba(248,113,113,calc(0.2 + 0.26 * var(--psi)));
  box-shadow:0 0 calc(8px + 14px * var(--psi)) rgba(220,38,38,calc(0.08 + 0.16 * var(--psi)));
}
.observatory-hero__legend-item.observatory-planet--partial,
.observatory-hero__legend-item.observatory-planet--weak{
  border-color:rgba(251,146,60,calc(0.22 + 0.18 * var(--psi)));
  box-shadow:0 0 calc(6px + 12px * var(--psi)) rgba(234,88,12,calc(0.06 + 0.12 * var(--psi)));
}
.observatory-hero__legend-item.observatory-planet--future,
.observatory-hero__legend-item.observatory-planet--not-instrumented{
  border-color:rgba(100,116,139,.32);
  box-shadow:none;
  opacity:calc(0.82 + 0.12 * var(--psi));
}

/* Phase 3A.1 — live scan feedback (satellite + status; shell.observatory-scan-active) */
.observatory-live-outer{margin-bottom:var(--space-xl);padding-top:var(--space-xl);}
.observatory-hero__scanning-text{
  margin:.65rem auto 0;
  text-align:center;
  max-width:22rem;
  display:none;
  color:#fecdd3;
}
.observatory-shell.observatory-scan-active .observatory-hero__scanning-text{display:block;}

.observatory-orbit-path{
  position:absolute;
  inset:10%;
  border-radius:50%;
  border:1px dashed rgba(248,113,113,.14);
  opacity:0;
  pointer-events:none;
  z-index:1;
  transition:opacity .45s ease;
}
.observatory-shell.observatory-scan-active .observatory-orbit-path{
  opacity:.38;
  animation:observatory-scan-ring-pulse 5s ease-in-out infinite;
}
.observatory-shell.observatory-scan-active .observatory-planet-orb{
  animation:observatory-planet-mount-glow 3.2s ease-in-out infinite;
  animation-delay:calc(var(--orbit-i) * 0.22s);
}
@keyframes observatory-planet-mount-glow{
  0%,100%{filter:brightness(1);}
  50%{filter:brightness(1.08);}
}

.observatory-satellite-orbit{
  position:absolute;
  left:50%;
  top:50%;
  width:42%;
  height:42%;
  margin:-21% 0 0 -21%;
  z-index:6;
  pointer-events:none;
  opacity:0;
  transition:opacity .55s ease;
  animation:observatory-satellite-spin 16s linear infinite;
}
.observatory-shell.observatory-scan-active .observatory-satellite-orbit{
  opacity:1;
}
.observatory-satellite{
  position:absolute;
  left:50%;
  top:0;
  width:clamp(1rem, 2.8vw, 1.2rem);
  height:clamp(0.78rem, 2.2vw, 0.92rem);
  transform:translate(-50%,-55%);
}
.observatory-satellite__body{
  display:block;
  width:100%;
  height:100%;
  border-radius:3px;
  background:linear-gradient(145deg,#e2e8f0,#94a3b8);
  box-shadow:
    0 0 10px rgba(56,189,248,.45),
    0 0 4px rgba(248,250,252,.8);
}
.observatory-satellite__dish{
  position:absolute;
  left:50%;
  top:-3px;
  width:10px;
  height:4px;
  margin-left:-5px;
  border-radius:50% 50% 0 0;
  background:linear-gradient(180deg,#cbd5e1,#64748b);
  transform:rotate(-18deg);
}

.observatory-shell.observatory-scan-active .observatory-dwarf{
  animation:observatory-dwarf-pulse-active 3.2s ease-in-out infinite;
  animation-delay:0s;
}
@keyframes observatory-dwarf-pulse-active{
  0%,100%{filter:brightness(1.02);transform:scale(1);}
  50%{filter:brightness(1.14);transform:scale(1.04);}
}
@keyframes observatory-satellite-spin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes observatory-scan-ring-pulse{
  0%,100%{opacity:.38;box-shadow:0 0 0 0 rgba(248,113,113,0);}
  50%{opacity:.62;box-shadow:0 0 24px 2px rgba(248,113,113,.12);}
}

.observatory-scan-status{
  display:flex;
  align-items:flex-start;
  gap:.5rem;
  margin-bottom:var(--space-sm);
}
.observatory-scan-status__dot{
  flex-shrink:0;
  width:.55rem;
  height:.55rem;
  margin-top:.35rem;
  border-radius:50%;
  background:#f87171;
  box-shadow:0 0 10px rgba(248,113,113,.75);
  animation:observatory-status-dot 1.4s ease-in-out infinite;
}
@keyframes observatory-status-dot{
  0%,100%{opacity:1;}
  50%{opacity:.45;}
}

.observatory-glass--warning{
  border-color:rgba(251,191,36,.35) !important;
  box-shadow:
    0 12px 40px rgba(0,0,0,.4),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 1px rgba(251,191,36,.12);
}

/* Phase 3C — AI results briefing (scoped; presentation only) */
.observatory-scan-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:0.75rem;
}
.observatory-scan-start-form{margin-top:var(--space-sm);}

.observatory-run-badge{
  display:inline-block;
  padding:0.2rem 0.55rem;
  border-radius:999px;
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  border:1px solid transparent;
}
.observatory-run-badge--completed{
  background:rgba(34,197,94,.16);
  color:#bbf7d0;
  border-color:rgba(74,222,128,.32);
}
.observatory-run-badge--failed{
  background:rgba(248,113,113,.16);
  color:#fecaca;
  border-color:rgba(239,68,68,.38);
}
.observatory-run-badge--partial{
  background:rgba(251,191,36,.14);
  color:#fef3c7;
  border-color:rgba(245,158,11,.38);
}
.observatory-run-badge--active{
  background:rgba(56,189,248,.14);
  color:#bae6fd;
  border-color:rgba(14,165,233,.35);
}
.observatory-run-badge--other{
  background:rgba(100,116,184,.14);
  color:#e2e8f0;
  border-color:rgba(148,163,184,.28);
}

.observatory-ai-results__heading{margin-top:var(--space-xl);}

.observatory-brief{
  margin-bottom:var(--space-xl);
  padding:var(--space-lg);
  border-radius:18px;
  border:1px solid rgba(248,113,113,.22);
  background:linear-gradient(165deg, rgba(30,27,75,.35), rgba(6,10,22,.88));
  box-shadow:
    0 16px 48px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.observatory-brief__header{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--space-md);
  align-items:flex-start;
  margin-bottom:var(--space-md);
  padding-bottom:var(--space-md);
  border-bottom:1px solid rgba(148,163,184,.16);
}
.observatory-brief__kicker{
  margin:0 0 0.25rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-size:0.68rem;
}
.observatory-brief__title{
  margin:0;
  font-size:clamp(1.35rem,3vw,1.85rem);
  font-weight:800;
  color:#f8fafc;
  letter-spacing:0.02em;
}
.observatory-brief__badges{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;}

.observatory-risk,
.observatory-confidence{
  display:inline-block;
  padding:0.28rem 0.6rem;
  border-radius:8px;
  font-size:0.74rem;
  font-weight:700;
  border:1px solid transparent;
  white-space:nowrap;
}
.observatory-risk--low{
  background:rgba(34,197,94,.14);
  color:#bbf7d0;
  border-color:rgba(74,222,128,.32);
}
.observatory-risk--medium{
  background:rgba(251,191,36,.14);
  color:#fef3c7;
  border-color:rgba(245,158,11,.38);
}
.observatory-risk--high{
  background:rgba(248,113,113,.18);
  color:#fecaca;
  border-color:rgba(239,68,68,.42);
}
.observatory-risk--unknown{
  background:rgba(71,85,105,.35);
  color:#cbd5e1;
  border-color:rgba(100,116,139,.4);
}

.observatory-confidence--low{
  background:rgba(100,116,139,.22);
  color:#e2e8f0;
  border-color:rgba(148,163,184,.3);
}
.observatory-confidence--medium{
  background:rgba(251,191,36,.12);
  color:#fef9c3;
  border-color:rgba(245,158,11,.32);
}
.observatory-confidence--high{
  background:rgba(56,189,248,.14);
  color:#bae6fd;
  border-color:rgba(14,165,233,.35);
}
.observatory-confidence--unknown{
  background:rgba(71,85,105,.35);
  color:#cbd5e1;
  border-color:rgba(100,116,139,.4);
}

.observatory-brief__summary{
  margin-bottom:var(--space-lg);
  padding:var(--space);
  border-radius:14px;
  background:rgba(0,0,0,.3);
  border:1px solid rgba(148,163,184,.16);
}
.observatory-brief__h{
  margin:0 0 0.5rem;
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
}
.observatory-brief__summary-body{
  color:#e2e8f0;
  line-height:1.55;
  font-size:0.95rem;
  max-height:14rem;
  overflow-y:auto;
}

.observatory-brief__strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));
  gap:var(--space-sm);
  margin-bottom:var(--space-lg);
}
.observatory-brief__strip-item{
  padding:0.65rem 0.75rem;
  border-radius:12px;
  background:rgba(4,10,24,.68);
  border:1px solid rgba(148,163,184,.18);
}
.observatory-brief__strip-item--wide{grid-column:1/-1;}
.observatory-brief__strip-label{
  display:block;
  font-size:0.66rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
  margin-bottom:0.28rem;
}
.observatory-brief__strip-value{font-weight:600;color:#f1f5f9;font-size:0.95rem;}

.observatory-brief__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
  gap:var(--space-md);
  margin-bottom:var(--space-lg);
}
.observatory-brief__panel{
  padding:var(--space);
  border-radius:14px;
  background:rgba(6,12,28,.78);
  border:1px solid rgba(148,163,184,.14);
}

.observatory-action-list{
  margin:0;
  padding-left:1.15rem;
  color:#e2e8f0;
  line-height:1.45;
}
.observatory-action-list li{margin-bottom:0.35rem;}
.observatory-action-list--compact{font-size:0.88rem;}
.observatory-action-list--muted{font-size:0.84rem;color:#94a3b8;}

.observatory-brief__evidence{
  margin-bottom:var(--space-md);
  padding:var(--space);
  border-radius:14px;
  border:1px dashed rgba(251,191,36,.32);
  background:rgba(120,53,15,.07);
}
.observatory-brief__caution{
  margin-top:var(--space-sm);
  padding:var(--space);
  border-radius:12px;
  background:rgba(127,29,29,.2);
  border:1px solid rgba(248,113,113,.32);
}
.observatory-brief__caution-body{margin:0;color:#fecaca;line-height:1.45;}
.observatory-ai-empty{margin:0;}

.observatory-ai-pillar-grid{
  display:grid;
  gap:var(--space-md);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));
  margin-bottom:var(--space-lg);
}
.observatory-ai-card{text-align:left;}
.observatory-ai-card__head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:var(--space);
  align-items:flex-start;
  margin-bottom:var(--space-sm);
  padding-bottom:var(--space-sm);
  border-bottom:1px solid rgba(148,163,184,.12);
}
.observatory-ai-card__title{margin:0;font-size:1.05rem;color:#f8fafc;}
.observatory-ai-card__sub{margin:0.2rem 0 0;}
.observatory-ai-card__pillar-link{
  color:#93c5fd;
  text-decoration:none;
  font-weight:600;
}
.observatory-ai-card__pillar-link:hover{text-decoration:underline;}
.observatory-ai-card__badges{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center;}
.observatory-ai-card__exec{margin-bottom:var(--space);}
.observatory-ai-card__exec-body{
  color:#e2e8f0;
  line-height:1.5;
  font-size:0.94rem;
  max-height:11rem;
  overflow-y:auto;
}
.observatory-ai-card__split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-md);
}
@media (max-width:720px){
  .observatory-ai-card__split{grid-template-columns:1fr;}
}
.observatory-ai-section{margin-bottom:var(--space);}
.observatory-ai-section__title{
  margin:0 0 0.35rem;
  font-size:0.76rem;
  text-transform:uppercase;
  letter-spacing:0.07em;
  color:#94a3b8;
}
.observatory-ai-card__limitations{
  padding-top:var(--space-sm);
  border-top:1px solid rgba(51,65,85,.45);
  margin-top:var(--space-sm);
}
.observatory-ai-card--compact .observatory-ai-card__title{font-size:0.95rem;}

.observatory-ai-failed-panel{margin-bottom:var(--space-lg);}
.observatory-ai-failed-panel__lead{
  margin:0 0 var(--space-sm);
  font-weight:700;
  color:#fecaca;
  font-size:1.02rem;
}
.observatory-ai-failed-panel__status{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.75rem;
  margin-bottom:var(--space-md);
}
.observatory-ai-failed-panel__h{
  margin:var(--space-md) 0 var(--space-sm);
  font-size:0.86rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:#94a3b8;
}
.observatory-ai-failed-panel__error{margin-bottom:var(--space-md);}
.observatory-ai-failed-panel__pre{max-height:12rem;white-space:pre-wrap;}
.observatory-ai-failed-partial-grid{
  display:grid;
  gap:var(--space-md);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));
}

/* Phase 3C.1 — pillar overlay, clickability, evidence layer IA */
.observatory-hero__stars,
.observatory-hero__vignette{
  pointer-events:none;
}
.observatory-dwarf-wrap,
.observatory-dwarf,
.observatory-dwarf__limb-glow,
.observatory-dwarf__corona,
.observatory-dwarf__flare-ring,
.observatory-dwarf__flare,
.observatory-dwarf__body,
.observatory-dwarf__plasma,
.observatory-dwarf__granulation,
.observatory-dwarf__surface,
.observatory-dwarf__core{
  pointer-events:none;
}
.observatory-orbit-ring{
  overflow:visible;
}
.observatory-orbit-lane{
  z-index:8;
}
.observatory-orbit-node__link{
  pointer-events:auto;
}
.observatory-orbit-path{pointer-events:none;}
.observatory-satellite-orbit{pointer-events:none;}

.observatory-hero-metric-strip__snapshot{
  text-align:center;
  margin:0 0 var(--space-sm);
  font-size:0.78rem;
}

.observatory-pillar-overlay{
  position:fixed;
  inset:0;
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--space-lg);
  box-sizing:border-box;
}
.observatory-pillar-overlay[hidden]{display:none !important;}
.observatory-pillar-overlay__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,3,8,.72);
  backdrop-filter:blur(6px);
  cursor:pointer;
}
.observatory-pillar-overlay__panel{
  position:relative;
  z-index:1;
  width:min(36rem,calc(100vw - 1.5rem));
  max-height:min(88vh,calc(100vh - 2.5rem));
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:var(--space-lg);
  border-radius:18px;
  border:1px solid rgba(248,113,113,.28);
  background:linear-gradient(165deg,rgba(15,23,42,.94),rgba(6,10,22,.98));
  box-shadow:
    0 24px 64px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.06),
    0 0 0 1px rgba(248,113,113,.06);
}
.observatory-pillar-overlay__toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  position:sticky;
  top:0;
  z-index:3;
  margin:calc(-0.25rem) 0 var(--space-md);
  padding:var(--space-xs) 0 var(--space-sm);
  background:linear-gradient(180deg,rgba(6,10,22,.98) 55%,rgba(6,10,22,0) 100%);
  border-bottom:1px solid rgba(248,113,113,.12);
}
.observatory-pillar-overlay__close-btn{
  min-height:2.75rem;
  min-width:5.25rem;
  font-weight:700;
  border-color:rgba(248,113,113,.45);
  color:#fecdd3;
  background:rgba(30,10,16,.92);
  box-shadow:0 0 0 1px rgba(0,0,0,.35), 0 4px 18px rgba(0,0,0,.35);
}
.observatory-pillar-overlay__close-btn:hover{
  border-color:rgba(253,224,71,.42);
  color:#fff7ed;
}
.observatory-overlay-pane[hidden]{display:none !important;}
.observatory-overlay__title{
  margin:0 0 var(--space-sm);
  font-size:1.35rem;
  font-weight:800;
  color:#f8fafc;
}
.observatory-overlay__run-hint{margin:0 0 var(--space-md);}
.observatory-overlay__kbd-hint{font-weight:600;color:#fecdd3;}
.observatory-overlay__block{
  margin-bottom:var(--space-md);
  padding:var(--space);
  border-radius:14px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(148,163,184,.14);
}
.observatory-overlay__h{
  margin:0 0 var(--space-sm);
  font-size:0.8rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
}
.observatory-overlay__dl{
  display:grid;
  gap:0.35rem 1rem;
  margin:0;
  font-size:0.9rem;
}
.observatory-overlay__dl dt{color:#94a3b8;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;}
.observatory-overlay__dl dd{margin:0;color:#e2e8f0;}
.observatory-overlay__details{margin-top:var(--space-sm);}
.observatory-overlay__details summary{cursor:pointer;color:#93c5fd;font-weight:600;}
.observatory-overlay__list{margin:0.35rem 0 0;padding-left:1.1rem;line-height:1.45;}
.observatory-overlay__badges{display:flex;flex-wrap:wrap;gap:0.45rem;margin-bottom:var(--space-sm);}
.observatory-overlay__exec{
  margin:0 0 var(--space-md);
  line-height:1.5;
  color:#e2e8f0;
}
.observatory-overlay__split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-md);
}
@media (max-width:640px){
  .observatory-overlay__split{grid-template-columns:1fr;}
}
.observatory-overlay__subh{
  margin:var(--space-sm) 0 0.25rem;
  font-size:0.76rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
  color:#94a3b8;
}
.observatory-overlay__footer{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid rgba(51,65,85,.4);}

/* Phase 7 — executive score composition and common planet analytics shell */
.observatory-hero-metrics--headline{justify-content:center;}
.observatory-hero-metrics--headline .observatory-hero-metrics__item{min-width:min(100%,24rem);}
.observatory-headline-score{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.25rem;
  width:100%;
  padding:.85rem 1.25rem 1rem;
  border:1px solid rgba(248,113,113,.2);
  border-radius:16px;
  background:rgba(4,8,18,.54);
  color:inherit;
  cursor:pointer;
  text-align:center;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}
.observatory-headline-score:hover,
.observatory-headline-score:focus-visible{
  border-color:rgba(254,202,202,.62);
  background:rgba(30,10,16,.7);
  box-shadow:0 0 0 3px rgba(248,113,113,.1), 0 0 30px rgba(220,38,38,.16);
  transform:translateY(-1px);
}
.observatory-headline-score:focus-visible{outline:2px solid #38bdf8;outline-offset:3px;}
.observatory-headline-score__value{font-size:clamp(2.2rem,6vw,3.7rem);line-height:1;letter-spacing:.02em;}
.observatory-headline-score__affordance{font-size:.76rem;color:#fecdd3;letter-spacing:.04em;}

.observatory-score-composition{
  position:fixed;
  inset:0;
  z-index:190;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--space-lg);
  box-sizing:border-box;
}
.observatory-score-composition[hidden]{display:none !important;}
.observatory-score-composition__backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,3,8,.76);
  backdrop-filter:blur(7px);
  cursor:pointer;
}
.observatory-score-composition__panel{
  position:relative;
  z-index:1;
  width:min(46rem,calc(100vw - 1.5rem));
  max-height:min(88vh,calc(100vh - 2.5rem));
  overflow:auto;
  padding:var(--space-lg);
  border:1px solid rgba(248,113,113,.3);
  border-radius:20px;
  background:linear-gradient(165deg,rgba(15,23,42,.97),rgba(6,10,22,.99));
  box-shadow:0 24px 70px rgba(0,0,0,.64), inset 0 1px 0 rgba(255,255,255,.06);
}
.observatory-score-composition__toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);border-bottom:1px solid rgba(148,163,184,.14);padding-bottom:var(--space-md);}
.observatory-score-composition__toolbar h2{margin:0;color:#f8fafc;font-size:clamp(1.2rem,3vw,1.65rem);}
.observatory-score-composition__eyebrow{margin:0 0 .25rem;color:#fecdd3;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.observatory-score-composition__close{min-height:2.65rem;}
.observatory-score-composition__context{margin:var(--space-md) 0;}
.observatory-score-composition__total{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:.7rem;padding:var(--space-md);margin-bottom:var(--space-md);border:1px solid rgba(248,113,113,.24);border-radius:14px;background:rgba(30,10,16,.5);}
.observatory-score-composition__total-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:#fecdd3;}
.observatory-score-composition__total strong{font-size:1.5rem;color:#fff1f2;}
.observatory-score-composition__list{display:grid;gap:.6rem;margin:0;padding:0;list-style:none;}
.observatory-score-composition__item{margin:0;}
.observatory-score-composition__planet{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-md);width:100%;padding:.8rem .9rem;border:1px solid rgba(148,163,184,.18);border-radius:13px;background:rgba(4,8,18,.62);color:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease;}
.observatory-score-composition__planet:hover,.observatory-score-composition__planet:focus-visible{border-color:rgba(254,202,202,.55);background:rgba(30,10,16,.66);transform:translateX(2px);}
.observatory-score-composition__planet:focus-visible{outline:2px solid #38bdf8;outline-offset:2px;}
.observatory-score-composition__planet-main{display:flex;align-items:center;gap:.7rem;min-width:0;}
.observatory-score-composition__planet-index{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;background:rgba(248,113,113,.13);color:#fecdd3;font-size:.72rem;font-weight:800;}
.observatory-score-composition__planet-label{display:block;color:#f1f5f9;line-height:1.25;}
.observatory-score-composition__planet-meta{display:block;margin-top:.18rem;color:#94a3b8;font-size:.72rem;}
.observatory-score-composition__planet-score{display:grid;gap:.3rem;min-width:8.4rem;text-align:right;color:#f8fafc;}
.observatory-score-composition__planet-score strong{font-size:1rem;white-space:nowrap;}
.observatory-score-composition__bar{display:block;width:100%;height:.28rem;border-radius:99px;background:rgba(148,163,184,.16);overflow:hidden;}
.observatory-score-composition__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f87171,#fecdd3);}
.observatory-score-composition__planet-cta{font-size:.72rem;color:#93c5fd;white-space:nowrap;}
.observatory-score-composition__footnote{margin:var(--space-md) 0 0;line-height:1.45;}

.observatory-overlay__score-header{display:grid;grid-template-columns:minmax(9rem,.65fr) minmax(0,1.35fr);gap:var(--space-md);align-items:center;margin-bottom:var(--space-md);padding:var(--space-md);border:1px solid rgba(248,113,113,.25);border-radius:14px;background:rgba(30,10,16,.42);}
.observatory-overlay__score-kicker{display:block;color:#94a3b8;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.observatory-overlay__score-value{display:block;margin:.18rem 0;font-size:1.8rem;line-height:1;color:#fff1f2;}
.observatory-overlay__context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin:0;}
.observatory-overlay__context-grid dt,.observatory-family-card__meta dt{color:#94a3b8;font-size:.67rem;letter-spacing:.05em;text-transform:uppercase;}
.observatory-overlay__context-grid dd,.observatory-family-card__meta dd{margin:.1rem 0 0;color:#e2e8f0;font-size:.8rem;overflow-wrap:anywhere;}
.observatory-family-grid{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));}
.observatory-family-card{padding:.7rem;border:1px solid rgba(148,163,184,.15);border-radius:11px;background:rgba(4,8,18,.58);}
.observatory-family-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.45rem;}
.observatory-family-card__head h4{margin:0;color:#f1f5f9;font-size:.86rem;line-height:1.3;}
.observatory-family-card__state{padding:.12rem .36rem;border:1px solid rgba(148,163,184,.24);border-radius:99px;color:#cbd5e1;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;}
.observatory-family-card__score{margin:.55rem 0 .35rem;color:#fff1f2;}
.observatory-family-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin:0;}
.observatory-family-card__meta div:first-child{grid-column:1 / -1;}
.observatory-family-card__reason{margin:.55rem 0 0;line-height:1.38;}
.observatory-family-card__diagnostic{margin:.5rem 0 0;color:#fcd34d;font-size:.7rem;line-height:1.35;}
.observatory-family-card__records{margin-top:.45rem;border-top:1px solid rgba(148,163,184,.1);padding-top:.35rem;}
.observatory-family-card__records summary{cursor:pointer;}
.observatory-family-card--unknown,.observatory-family-card--missing{border-color:rgba(251,191,36,.28);}
.observatory-family-card--failed{border-color:rgba(248,113,113,.3);}
.observatory-family-card--not_due,.observatory-family-card--not_applicable{border-style:dashed;opacity:.9;}
.observatory-analytics-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);}
.observatory-ai-state{margin:0 0 var(--space-sm);padding:.55rem .65rem;border-left:3px solid rgba(148,163,184,.4);background:rgba(148,163,184,.06);font-size:.82rem;line-height:1.4;}
.observatory-ai-state--available{border-left-color:#4ade80;}
.observatory-ai-state--failed{border-left-color:#f87171;}
.observatory-ai-state--pending,.observatory-ai-state--running{border-left-color:#fbbf24;}
.observatory-traceability{background:rgba(4,12,24,.5);}

@media (max-width:700px){
  .observatory-score-composition{padding:.65rem;}
  .observatory-score-composition__panel{padding:var(--space-md);}
  .observatory-score-composition__total{grid-template-columns:1fr auto;}
  .observatory-score-composition__total .muted{grid-column:1 / -1;}
  .observatory-score-composition__planet{grid-template-columns:1fr auto;gap:.45rem .7rem;}
  .observatory-score-composition__planet-score{grid-column:2;grid-row:1;min-width:6.6rem;}
  .observatory-score-composition__planet-cta{grid-column:1 / -1;padding-left:2.5rem;}
  .observatory-overlay__score-header,.observatory-family-grid,.observatory-analytics-columns{grid-template-columns:1fr;}
}

/* Phase AI-6D — pillar overlay leadership interpretation */
.observatory-pillar-leadership{
  border-color:rgba(56,189,248,.22);
  background:rgba(4,12,24,.55);
}
.observatory-pillar-leadership__headline{
  margin:0 0 var(--space-sm);
  font-size:1rem;
  font-weight:600;
  color:#f1f5f9;
}
.observatory-pillar-leadership__section{
  margin-bottom:var(--space-sm);
}
.observatory-pillar-leadership__label{
  margin:0 0 .3rem;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.observatory-pillar-leadership__text{
  margin:0 0 .35rem;
  line-height:1.4;
}
.observatory-pillar-leadership__chips{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
}
.observatory-pillar-leadership__chip{
  display:inline-block;
  padding:.18rem .5rem;
  font-size:.72rem;
  line-height:1.35;
  color:#e2e8f0;
  background:rgba(248,113,113,.1);
  border:1px solid rgba(248,113,113,.25);
  border-radius:999px;
}
.observatory-pillar-leadership__actions{
  display:grid;
  gap:.4rem;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
}
.observatory-pillar-leadership__action-card{
  margin:0;
  padding:.45rem .55rem;
  background:rgba(15,23,42,.7);
  border:1px solid rgba(148,163,184,.14);
  border-radius:8px;
}
.observatory-pillar-leadership__action-text{
  margin:0;
  font-size:.8rem;
  line-height:1.35;
  color:#e2e8f0;
}
.observatory-pillar-leadership__caution{
  margin:var(--space-sm) 0 0;
  font-style:italic;
  border-top:1px solid rgba(148,163,184,.12);
  padding-top:var(--space-sm);
}

body.observatory-overlay-open{overflow:hidden;}

.observatory-intel-deck-header{margin-top:var(--space-xl);margin-bottom:var(--space-md);}
.observatory-intel-deck-header__title{margin:0 0 0.35rem;font-size:clamp(1.1rem,2.5vw,1.45rem);font-weight:800;color:#e2e8f0;}
.observatory-layer-title{
  margin:0 0 var(--space-md);
  font-size:clamp(1.05rem,2.2vw,1.35rem);
  font-weight:800;
  color:#f1f5f9;
  letter-spacing:0.02em;
}
.observatory-intel-layer{margin-bottom:var(--space-xl);}
.observatory-intel-layer--brief .observatory-brief{margin-top:0;}
.observatory-brief__title--secondary{
  margin:0;
  font-size:1.2rem;
  font-weight:800;
  color:#f8fafc;
  letter-spacing:0.02em;
}
.observatory-intel-deck .observatory-ai-pillar-grid{margin-bottom:0;}

.observatory-lower{margin-top:var(--space-xl);}
.observatory-evidence-layer{
  border-radius:16px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(6,10,20,.55);
  padding:0 var(--space) var(--space);
  margin-bottom:var(--space-xl);
}
.observatory-evidence-layer__summary{
  list-style:none;
  cursor:pointer;
  padding:var(--space-md) var(--space-lg);
  margin:0 calc(-1 * var(--space)) 0;
  border-radius:16px 16px 0 0;
  background:rgba(8,12,24,.75);
  border-bottom:1px solid rgba(148,163,184,.14);
  display:flex;
  flex-direction:column;
  gap:0.25rem;
}
.observatory-evidence-layer__summary::-webkit-details-marker{display:none;}
.observatory-evidence-layer__summary-title{
  font-weight:800;
  font-size:1.05rem;
  color:#f8fafc;
}
.observatory-evidence-layer__summary-hint{max-width:48rem;}
.observatory-evidence-layer__inner{
  padding-top:var(--space-lg);
}
.observatory-evidence-layer__subhead{margin-top:var(--space-md);}
.observatory-evidence-card,
.observatory-lower .card.observatory-glass{
  background:rgba(8,12,22,.82) !important;
  border-color:rgba(148,163,184,.18) !important;
}
.observatory-lower .audit-table{background:transparent;}

/* Phase 3D — visual-only target preview (CSS/JS; maturity halos live with Phase 3F hero orbs) */
.observatory-eye-toggle{
  position:absolute;
  left:50%;
  top:50%;
  z-index:12;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.15rem;
  width:clamp(2.5rem, 7vw, 2.85rem);
  height:clamp(2.5rem, 7vw, 2.85rem);
  padding:0;
  margin:0;
  transform:translate(calc(-50% + var(--eye-offset-x, 10.5rem)), calc(-50% + var(--eye-offset-y, -7.25rem)));
  border-radius:50%;
  border:1px solid rgba(148,163,184,.4);
  background:rgba(6,10,20,.88);
  color:#e2e8f0;
  cursor:pointer;
  box-shadow:0 0 18px rgba(56,189,248,.18), inset 0 1px 0 rgba(255,255,255,.06);
  transition:color .2s ease, border-color .2s ease, box-shadow .25s ease, background .2s ease;
}
.observatory-eye-toggle:hover,
.observatory-eye-toggle:focus-visible{
  color:#fef9c3;
  border-color:rgba(253,224,71,.45);
  box-shadow:0 0 22px rgba(250,204,21,.22), inset 0 1px 0 rgba(255,255,255,.08);
  outline:none;
}
.observatory-eye-toggle:focus-visible{
  outline:2px solid #38bdf8;
  outline-offset:2px;
}
.observatory-eye-toggle__icon{display:block;opacity:.92;}
.observatory-eye-toggle__caption{
  position:absolute;
  top:calc(100% + 0.2rem);
  left:50%;
  transform:translateX(-50%);
  display:none;
  white-space:nowrap;
  font-size:0.58rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#fde68a;
  text-align:center;
  line-height:1.15;
  pointer-events:none;
}
.observatory-eye-toggle:hover .observatory-eye-toggle__caption,
.observatory-eye-toggle:focus-visible .observatory-eye-toggle__caption,
.observatory-shell.observatory-preview-mode--target .observatory-eye-toggle__caption,
.observatory-shell.observatory-preview-mode--max .observatory-eye-toggle__caption,
.observatory-shell.observatory-target-preview .observatory-eye-toggle__caption{
  display:block;
}
.observatory-shell.observatory-preview-mode--target .observatory-eye-toggle,
.observatory-shell.observatory-target-preview .observatory-eye-toggle{
  border-color:rgba(253,224,71,.5);
  color:#fefce8;
  box-shadow:0 0 26px rgba(250,204,21,.28), inset 0 1px 0 rgba(255,255,255,.1);
}
.observatory-shell.observatory-preview-mode--max .observatory-eye-toggle{
  border-color:rgba(253,224,71,.65);
  color:#fffbeb;
  box-shadow:0 0 32px rgba(250,204,21,.38), inset 0 1px 0 rgba(255,255,255,.12);
}

.observatory-dwarf__energy-ring{
  position:absolute;
  left:50%;
  top:50%;
  width:132%;
  height:132%;
  margin:-66% 0 0 -66%;
  border-radius:50%;
  border:1px solid rgba(251,191,36,.18);
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.observatory-shell.observatory-preview-mode--target .observatory-dwarf__energy-ring,
.observatory-shell.observatory-target-preview .observatory-dwarf__energy-ring{
  opacity:0.88;
  border-color:rgba(253,224,71,.42);
  box-shadow:0 0 28px rgba(250,204,21,.15);
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__energy-ring{
  opacity:1;
  border-color:rgba(254,249,195,.55);
  box-shadow:0 0 36px rgba(250,204,21,.28);
}

.observatory-hero-metric-strip__mode{
  margin:0 0 var(--space-sm);
  text-align:center;
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:#94a3b8;
}
.observatory-target-label--current{color:#94a3b8;}
.observatory-target-label--target,
.observatory-target-label--preview{
  color:#fde047;
  text-shadow:0 0 18px rgba(250,204,21,.25);
}
.observatory-target-label--max{
  color:#fef08a;
  text-shadow:0 0 22px rgba(250,204,21,.35);
}

.observatory-shell.observatory-preview-mode--target .observatory-dwarf__corona,
.observatory-shell.observatory-target-preview .observatory-dwarf__corona{
  inset:-78%;
  opacity:1;
  filter:blur(18px);
  background:radial-gradient(circle, rgba(254,202,202,.68) 0%, rgba(220,38,38,.26) 46%, transparent 74%);
}
.observatory-shell.observatory-preview-mode--target .observatory-dwarf__body,
.observatory-shell.observatory-target-preview .observatory-dwarf__body{
  box-shadow:
    0 0 38px rgba(252,165,165,.75),
    0 0 88px rgba(220,38,38,.42),
    inset 0 0 26px rgba(0,0,0,.48);
  filter:brightness(1.08);
}
.observatory-shell.observatory-preview-mode--target .observatory-dwarf,
.observatory-shell.observatory-target-preview .observatory-dwarf{
  --stellar-plasma-opacity:.48;
  animation:observatory-dwarf-pulse-target 3.4s ease-in-out infinite;
  animation-delay:0s;
}
.observatory-shell.observatory-preview-mode--target .observatory-dwarf__plasma,
.observatory-shell.observatory-target-preview .observatory-dwarf__plasma{
  opacity:.52;
}
.observatory-shell.observatory-preview-mode--target .observatory-dwarf__flare,
.observatory-shell.observatory-target-preview .observatory-dwarf__flare{
  opacity:.48;
}

/* Maximum maturity preview — visual-only “wow” state (OBS-VIS-1) */
.observatory-shell.observatory-preview-mode--max .observatory-dwarf{
  --stellar-heat:#fbbf24;
  --stellar-corona:rgba(254,243,199,.72);
  --stellar-flare:rgba(253,224,71,.65);
  --stellar-plasma-opacity:.62;
  animation:observatory-dwarf-pulse-max 2.8s ease-in-out infinite;
  animation-delay:0s;
  filter:brightness(1.12) saturate(1.12);
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__limb-glow{
  opacity:.78;
  background:radial-gradient(circle at 50% 50%, transparent 52%, rgba(253,224,71,.28) 70%, transparent 88%);
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__corona{
  inset:-82%;
  filter:blur(20px);
  opacity:1;
  background:radial-gradient(circle, rgba(254,249,195,.78) 0%, rgba(251,191,36,.32) 40%, rgba(220,38,38,.12) 58%, transparent 76%);
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__body{
  background:
    radial-gradient(circle at 30% 22%, rgba(255,251,235,.95) 0%, transparent 36%),
    radial-gradient(circle at 66% 58%, rgba(251,191,36,.88) 0%, rgba(180,83,9,.92) 52%),
    radial-gradient(circle at 50% 90%, rgba(69,26,3,.95) 0%, rgba(24,4,6,1) 70%);
  box-shadow:
    0 0 48px rgba(253,224,71,.82),
    0 0 110px rgba(251,146,60,.45),
    inset 0 0 22px rgba(255,255,255,.08);
  filter:brightness(1.14) saturate(1.15);
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__plasma{
  opacity:.68;
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__granulation{
  opacity:.55;
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__surface{
  opacity:.44;
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__core{
  opacity:1;
  background:radial-gradient(circle, rgba(255,251,235,.85) 0%, rgba(253,224,71,.2) 50%, transparent 68%);
}
.observatory-shell.observatory-preview-mode--max .observatory-dwarf__flare{
  opacity:.62;
}
@keyframes observatory-dwarf-pulse-max{
  0%,100%{filter:brightness(1.1) saturate(1.1);transform:scale(1);}
  50%{filter:brightness(1.2) saturate(1.18);transform:scale(1.045);}
}
@keyframes observatory-dwarf-pulse-target{
  0%,100%{filter:brightness(1.05);transform:scale(1);}
  50%{filter:brightness(1.14);transform:scale(1.04);}
}

.observatory-shell.observatory-preview-mode--target .observatory-planet-halo,
.observatory-shell.observatory-target-preview .observatory-planet-halo{
  opacity:1 !important;
  border-style:solid !important;
  border-width:2px !important;
  border-color:rgba(254,249,195,.82) !important;
  background:none !important;
  box-shadow:
    0 0 22px rgba(250,204,21,.35),
    inset 0 0 14px rgba(255,255,255,.12) !important;
}
.observatory-shell.observatory-preview-mode--max .observatory-planet-halo{
  opacity:1 !important;
  border-style:solid !important;
  border-width:2px !important;
  border-color:rgba(255,251,235,.92) !important;
  box-shadow:
    0 0 28px rgba(250,204,21,.45),
    inset 0 0 16px rgba(255,255,255,.16) !important;
}
.observatory-shell.observatory-preview-mode--target .observatory-planet-orb > .observatory-planet-ring,
.observatory-shell.observatory-target-preview .observatory-planet-orb > .observatory-planet-ring{
  opacity:0.95 !important;
  border-color:rgba(254,249,195,.75) !important;
  box-shadow:
    0 0 14px rgba(250,204,21,.4),
    inset 0 0 8px rgba(255,255,255,.15) !important;
}
.observatory-shell.observatory-preview-mode--target .observatory-planet-orb,
.observatory-shell.observatory-target-preview .observatory-planet-orb{
  border-color:rgba(254,249,195,.55) !important;
  opacity:1 !important;
  box-shadow:
    0 0 calc(18px + 28px * var(--planet-score-intensity, 0.85)) rgba(250,204,21,.32),
    inset 0 0 0 1px rgba(255,255,255,.1),
    inset 0 0 18px rgba(255,255,255,.08) !important;
}
.observatory-shell.observatory-preview-mode--max .observatory-planet-orb{
  border-color:rgba(255,251,235,.65) !important;
  opacity:1 !important;
  box-shadow:
    0 0 calc(22px + 32px * var(--planet-score-intensity, 1)) rgba(250,204,21,.42),
    inset 0 0 0 1px rgba(255,255,255,.14),
    inset 0 0 22px rgba(255,255,255,.1) !important;
}
.observatory-shell.observatory-preview-mode--target .observatory-planet-core,
.observatory-shell.observatory-target-preview .observatory-planet-core{
  box-shadow:
    0 0 18px rgba(253,224,71,.55),
    inset 0 0 12px rgba(255,255,255,.12) !important;
}
.observatory-shell.observatory-preview-mode--max .observatory-planet-core{
  box-shadow:
    0 0 24px rgba(253,224,71,.68),
    inset 0 0 14px rgba(255,255,255,.16) !important;
}
.observatory-shell.observatory-preview-mode--target .observatory-hero__legend-item,
.observatory-shell.observatory-target-preview .observatory-hero__legend-item{
  border-color:rgba(253,224,71,.38) !important;
  opacity:1 !important;
  box-shadow:0 0 16px rgba(250,204,21,.15) !important;
}
.observatory-shell.observatory-preview-mode--max .observatory-hero__legend-item{
  border-color:rgba(253,224,71,.48) !important;
  opacity:1 !important;
  box-shadow:0 0 20px rgba(250,204,21,.22) !important;
}

@media (prefers-reduced-motion:reduce){
  .observatory-shell.observatory-preview-mode--target .observatory-dwarf,
  .observatory-shell.observatory-preview-mode--max .observatory-dwarf,
  .observatory-shell.observatory-target-preview .observatory-dwarf{
    animation:none !important;
    filter:brightness(1.1);
    transform:none;
  }
  .observatory-shell.observatory-preview-mode--max .observatory-dwarf{
    filter:brightness(1.12);
  }
}

/* Phase 3E — red dwarf evolution from headline overall score (presentation only; `.observatory-target-preview` rules above override dwarf visuals when preview is on) */
.observatory-stellar-state{
  margin:0 0 var(--space-sm);
  padding:0 var(--space-sm);
  text-align:center;
}
.observatory-stellar-state__line{
  margin:0 0 0.35rem;
  line-height:1.35;
}
.observatory-stellar-state__kicker{
  display:block;
  margin-bottom:0.15rem;
  font-size:0.72rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
}
.observatory-stellar-state__name{
  display:block;
  font-size:clamp(0.95rem,2vw,1.15rem);
  font-weight:800;
  color:#fecdd3;
  letter-spacing:0.02em;
}
.observatory-stellar-state__line--actual{
  margin-bottom:0.35rem;
}
.observatory-stellar-state__actual-prefix{font-weight:700;color:#cbd5e1;}
.observatory-stellar-state__actual-name{font-weight:700;color:#fecdd3;}
.observatory-stellar-state__desc{
  margin:0 auto;
  max-width:42rem;
  line-height:1.45;
  font-size:0.78rem;
}

/* Unknown — subdued */
.observatory-dwarf.observatory-dwarf-state--unknown .observatory-dwarf__corona{
  inset:-48%;
  opacity:.55;
  filter:blur(16px);
  background:radial-gradient(circle, rgba(148,163,184,.42) 0%, rgba(71,85,105,.14) 48%, transparent 74%);
}
.observatory-dwarf.observatory-dwarf-state--unknown .observatory-dwarf__body{
  filter:brightness(0.9) saturate(0.78);
  box-shadow:
    0 0 16px rgba(100,116,139,.35),
    0 0 48px rgba(30,41,59,.28),
    inset 0 0 22px rgba(0,0,0,.55);
}
.observatory-dwarf.observatory-dwarf-state--unknown .observatory-dwarf__core{opacity:.55;}

/* Dim */
.observatory-dwarf.observatory-dwarf-state--dim .observatory-dwarf__corona{
  inset:-46%;
  opacity:.62;
  filter:blur(12px);
  background:radial-gradient(circle, rgba(185,28,28,.38) 0%, rgba(48,6,8,.1) 50%, transparent 74%);
}
.observatory-dwarf.observatory-dwarf-state--dim .observatory-dwarf__body{
  filter:brightness(0.92) saturate(0.88);
  box-shadow:
    0 0 20px rgba(127,29,29,.45),
    0 0 52px rgba(30,6,8,.3),
    inset 0 0 24px rgba(0,0,0,.58);
}
.observatory-dwarf.observatory-dwarf-state--dim .observatory-dwarf__energy-ring{
  opacity:0.14;
  border-color:rgba(248,113,113,.2);
}

/* Stable — near default, slightly calmer corona */
.observatory-dwarf.observatory-dwarf-state--stable .observatory-dwarf__corona{
  inset:-54%;
  opacity:.88;
  filter:blur(13px);
  background:radial-gradient(circle, rgba(251,146,60,.38) 0%, rgba(220,38,38,.14) 46%, transparent 72%);
}
.observatory-dwarf.observatory-dwarf-state--stable .observatory-dwarf__body{
  filter:brightness(0.97) saturate(0.95);
}

/* Active */
.observatory-dwarf.observatory-dwarf-state--active .observatory-dwarf__corona{
  inset:-62%;
  opacity:.95;
  filter:blur(14px);
  background:radial-gradient(circle, rgba(251,113,133,.52) 0%, rgba(220,38,38,.16) 44%, transparent 72%);
}
.observatory-dwarf.observatory-dwarf-state--active .observatory-dwarf__body{
  filter:brightness(1.02) saturate(1.02);
  box-shadow:
    0 0 32px rgba(248,113,113,.62),
    0 0 78px rgba(220,38,38,.34),
    inset 0 0 22px rgba(0,0,0,.5);
}
.observatory-dwarf.observatory-dwarf-state--active .observatory-dwarf__core{opacity:.92;}

/* High-energy */
.observatory-dwarf.observatory-dwarf-state--high-energy .observatory-dwarf__corona{
  inset:-68%;
  opacity:1;
  filter:blur(15px);
  background:radial-gradient(circle, rgba(254,215,170,.55) 0%, rgba(220,38,38,.2) 42%, transparent 70%);
}
.observatory-dwarf.observatory-dwarf-state--high-energy .observatory-dwarf__body{
  filter:brightness(1.05) saturate(1.08);
  box-shadow:
    0 0 36px rgba(253,186,116,.55),
    0 0 86px rgba(220,38,38,.38),
    inset 0 0 22px rgba(0,0,0,.48);
}
.observatory-dwarf.observatory-dwarf-state--high-energy .observatory-dwarf__energy-ring{
  opacity:0.22;
  border-color:rgba(253,186,116,.28);
}

/* Red-giant horizon — strongest “real” state; still below target-preview overrides */
.observatory-dwarf.observatory-dwarf-state--red-giant-horizon .observatory-dwarf__corona{
  inset:-74%;
  opacity:1;
  filter:blur(16px);
  background:radial-gradient(circle, rgba(254,243,199,.52) 0%, rgba(251,113,133,.45) 36%, rgba(220,38,38,.18) 58%, transparent 76%);
}
.observatory-dwarf.observatory-dwarf-state--red-giant-horizon .observatory-dwarf__body{
  filter:brightness(1.08) saturate(1.1);
  box-shadow:
    0 0 40px rgba(254,215,170,.55),
    0 0 96px rgba(220,38,38,.42),
    inset 0 0 20px rgba(0,0,0,.45);
}
.observatory-dwarf.observatory-dwarf-state--red-giant-horizon .observatory-dwarf__energy-ring{
  opacity:0.32;
  border-color:rgba(253,224,71,.32);
}

/* Metric strip accent per dwarf state (subtle) */
.observatory-shell.observatory-dwarf-state--unknown .observatory-hero-metric-strip{
  border-color:rgba(100,116,139,.22);
}
.observatory-shell.observatory-dwarf-state--dim .observatory-hero-metric-strip{
  border-color:rgba(127,29,29,.22);
}
.observatory-shell.observatory-dwarf-state--stable .observatory-hero-metric-strip{
  border-color:rgba(251,146,60,.2);
}
.observatory-shell.observatory-dwarf-state--active .observatory-hero-metric-strip{
  border-color:rgba(248,113,113,.24);
}
.observatory-shell.observatory-dwarf-state--high-energy .observatory-hero-metric-strip{
  border-color:rgba(253,186,116,.26);
}
.observatory-shell.observatory-dwarf-state--red-giant-horizon .observatory-hero-metric-strip{
  border-color:rgba(253,224,71,.28);
}

@media (prefers-reduced-motion:reduce){
  .observatory-dwarf[class*="observatory-dwarf-state--"]{
    animation:none !important;
  }
  .observatory-shell.observatory-scan-active .observatory-dwarf[class*="observatory-dwarf-state--"]{
    animation:none !important;
  }
}

/* After dwarf-state strip accents: preview chrome must win when both apply */
.observatory-shell.observatory-preview-mode--target .observatory-hero-metric-strip,
.observatory-shell.observatory-target-preview .observatory-hero-metric-strip{
  border-color:rgba(253,224,71,.32);
  box-shadow:
    inset 0 1px 0 rgba(253,224,71,.1),
    0 12px 44px rgba(0,0,0,.38);
}
.observatory-shell.observatory-preview-mode--max .observatory-hero-metric-strip{
  border-color:rgba(254,249,195,.38);
  box-shadow:
    inset 0 1px 0 rgba(254,249,195,.12),
    0 14px 48px rgba(0,0,0,.4);
}

/* Phase 3G — cinematic polish, responsive refinement (CSS / copy only) */
@media (max-width:640px){
  .observatory-hero__stage{
    min-height:min(58vh, 36rem);
    margin-bottom:var(--space-md);
  }
  .observatory-hero__viz{
    min-height:min(52vh, 32rem);
  }
  .observatory-orbit-ring{
    --orbit-r:clamp(9.5rem, 46vw, 14.5rem);
    width:min(100%, 100vw - 2rem);
  }
  .observatory-dwarf-wrap{
    width:clamp(9.75rem, 52vw, 14.5rem);
    height:clamp(9.75rem, 52vw, 14.5rem);
  }
  .observatory-planet-mount{
    --planet-d:clamp(2.85rem, 11vw, 3.35rem);
  }
  .observatory-hero__legend-item{
    padding:0.55rem 0.55rem;
  }
  .observatory-hero-metrics--strip{
    grid-template-columns:1fr;
  }
}
@media (max-width:420px){
  .observatory-orbit-ring{
    --orbit-r:clamp(8.75rem, 48vw, 12rem);
  }
}
/* Phase 5A–5D — Scope constellation in cosmic hero (mini dwarf navigation + parent dwarf + path trail) */
.observatory-scope-constellation--hero{
  margin-top:clamp(var(--space-lg), 4vw, var(--space-xl));
  padding:clamp(var(--space-md), 3vw, var(--space-lg)) 0 clamp(var(--space-md), 2vw, var(--space-lg));
  border-top:1px solid rgba(148,163,184,.14);
  background:linear-gradient(180deg, rgba(2,6,18,.25) 0%, transparent 100%);
  border-radius:0;
  box-shadow:none;
  max-width:52rem;
  margin-left:auto;
  margin-right:auto;
}
/* Phase AI-6G — Superuser bulk AI brief coverage (visible constellation children only) */
.observatory-ai-coverage-manager{
  margin-top:var(--space-md);
  padding:clamp(var(--space-md), 3vw, var(--space-lg));
  max-width:52rem;
  margin-left:auto;
  margin-right:auto;
}
.observatory-ai-coverage-manager__head{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--space-sm);
}
.observatory-ai-coverage-manager__badge{
  flex-shrink:0;
}
.observatory-ai-coverage-manager__active-line{
  margin-top:0;
  margin-bottom:var(--space-sm);
}
.observatory-ai-coverage-manager__counts{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(7rem, 1fr));
  gap:var(--space-xs) var(--space-md);
  margin:0 0 var(--space-md);
}
.observatory-ai-coverage-manager__counts dt{
  margin:0;
  font-weight:600;
}
.observatory-ai-coverage-manager__counts dd{
  margin:0;
}
.observatory-ai-coverage-manager__counts--highlight dd{
  font-weight:700;
}
.observatory-ai-coverage-manager__hints{
  margin-top:0;
  margin-bottom:var(--space-sm);
}
.observatory-ai-coverage-manager__form .btn{
  margin-top:0;
}
/* Phase AI-6I — Visible constellation children AI brief status (superuser coverage manager only) */
.observatory-ai-coverage-visible{
  margin-top:var(--space-md);
  padding-top:var(--space-md);
  border-top:1px solid rgba(148,163,184,.12);
}
.observatory-ai-coverage-visible__title{
  margin:0 0 var(--space-sm);
  font-size:clamp(0.98rem, 2vw, 1.12rem);
  font-weight:700;
  letter-spacing:0.03em;
  color:#e2e8f0;
  text-shadow:0 0 18px rgba(56,189,248,.1);
}
.observatory-ai-coverage-visible__grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(13.5rem, 1fr));
  gap:var(--space-sm);
}
.observatory-ai-coverage-visible__card{
  padding:var(--space-sm) var(--space-md);
  border-radius:var(--radius-md, 10px);
  border:1px solid rgba(148,163,184,.16);
  background:rgba(2,6,23,.38);
  box-shadow:0 0 0 1px rgba(56,189,248,.04), inset 0 1px 0 rgba(255,255,255,.03);
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}
.observatory-ai-coverage-visible__card--active{
  border-color:rgba(56,189,248,.28);
  box-shadow:0 0 20px rgba(56,189,248,.08), inset 0 1px 0 rgba(255,255,255,.05);
}
.observatory-ai-coverage-visible__scope-head{
  display:flex;
  flex-direction:column;
  gap:0.15rem;
}
.observatory-ai-coverage-visible__scope-name{
  font-weight:650;
  color:#f1f5f9;
  text-decoration:none;
}
.observatory-ai-coverage-visible__scope-name:hover{
  color:#7dd3fc;
  text-decoration:underline;
}
.observatory-ai-coverage-visible__scope-type{
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-size:0.72rem;
}
.observatory-ai-coverage-visible__msg{
  margin:0;
  line-height:1.35;
}
.observatory-ai-coverage-visible__meta{
  margin:0;
  font-size:0.78rem;
  opacity:0.92;
}
.observatory-ai-coverage-visible__empty{
  margin:0;
}
.observatory-scope-constellation__head{
  text-align:center;
  margin-bottom:clamp(var(--space-md), 2.5vw, var(--space-lg));
  padding:0 var(--space-xs);
}
.observatory-scope-constellation__title{
  margin:0 0 0.35rem;
  font-size:clamp(1.05rem, 2.2vw, 1.35rem);
  font-weight:800;
  letter-spacing:0.04em;
  color:#e2e8f0;
  text-shadow:0 0 24px rgba(56,189,248,.12);
}
.observatory-scope-constellation__subtitle{
  margin:0 auto;
  max-width:36rem;
  line-height:1.45;
}
/* Phase 5D — cosmic breadcrumb trail */
.observatory-scope-trail{
  margin:0 auto clamp(var(--space-md), 2.5vw, var(--space-lg));
  padding:0 var(--space-xs);
  max-width:48rem;
}
.observatory-scope-trail__title{
  margin:0 0 0.5rem;
  text-align:center;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-size:0.62rem;
}
.observatory-scope-trail__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:0.35rem 0.15rem;
}
.observatory-scope-trail__item-wrap{
  display:flex;
  align-items:center;
  gap:0.35rem;
  max-width:100%;
}
.observatory-scope-trail__connector{
  display:inline-block;
  width:0.65rem;
  height:0.35rem;
  flex-shrink:0;
  background:
    radial-gradient(circle at 0% 50%, rgba(56,189,248,.55), transparent 55%),
    radial-gradient(circle at 100% 50%, rgba(56,189,248,.55), transparent 55%);
  opacity:0.75;
  filter:blur(0.5px);
}
.observatory-scope-trail__item{
  display:inline-block;
  max-width:min(100%, 18rem);
  padding:0.28rem 0.65rem;
  border-radius:999px;
  font-size:0.68rem;
  line-height:1.35;
  letter-spacing:0.01em;
  color:#e2e8f0;
  background:linear-gradient(135deg, rgba(15,23,42,.72), rgba(30,41,59,.45));
  border:1px solid rgba(148,163,184,.22);
  box-shadow:
    0 0 0 1px rgba(2,6,23,.35) inset,
    0 4px 18px rgba(0,0,0,.28),
    0 0 20px rgba(56,189,248,.08);
  backdrop-filter:blur(10px);
  overflow-wrap:anywhere;
  word-break:break-word;
  text-align:center;
}
.observatory-scope-constellation__cluster{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:clamp(var(--space-md), 3vw, var(--space-xl));
}
.observatory-scope-constellation__parent-slot{
  display:flex;
  justify-content:center;
  width:100%;
}
.observatory-scope-constellation__empty{
  margin:0;
  text-align:center;
  max-width:40rem;
  margin-left:auto;
  margin-right:auto;
}
.observatory-scope-constellation__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(var(--space-md), 3vw, var(--space-xl)) var(--space-md);
  max-width:100%;
}
@media (max-width:900px){
  .observatory-scope-constellation__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:520px){
  .observatory-scope-constellation__grid{
    grid-template-columns:1fr;
  }
}
.observatory-parent-dwarf{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  text-decoration:none;
  color:#e2e8f0;
  max-width:12.5rem;
  padding:var(--space-sm) var(--space-md) var(--space-md);
  border-radius:22px;
  background:
    radial-gradient(130% 90% at 50% 0%, rgba(34,211,238,.12) 0%, rgba(4,12,28,.5) 52%, rgba(2,6,18,.65) 100%);
  border:1px solid rgba(34,211,238,.32);
  box-shadow:
    0 0 0 1px rgba(15,23,42,.45) inset,
    0 10px 36px rgba(0,0,0,.38),
    0 0 28px rgba(34,211,238,.14);
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.observatory-parent-dwarf--ascend{
  position:relative;
}
.observatory-parent-dwarf--ascend::before{
  content:"";
  position:absolute;
  top:-0.35rem;
  left:50%;
  transform:translateX(-50%);
  width:2.25rem;
  height:0.2rem;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(34,211,238,.45), transparent);
  opacity:0.85;
  pointer-events:none;
}
.observatory-parent-dwarf:hover{
  border-color:rgba(94,234,212,.5);
  box-shadow:
    0 0 0 1px rgba(15,23,42,.35) inset,
    0 12px 42px rgba(0,0,0,.42),
    0 0 36px rgba(34,211,238,.22);
  transform:translateY(-2px);
}
.observatory-parent-dwarf__kicker{
  display:block;
  margin-bottom:0.35rem;
  font-size:0.62rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#94a3b8;
}
.observatory-parent-dwarf__kicker::before{
  content:"↑ ";
  font-weight:700;
  color:rgba(94,234,212,.85);
  letter-spacing:0;
}
.observatory-parent-dwarf__viz{
  position:relative;
  width:clamp(4.75rem, 12vw, 5.75rem);
  height:clamp(4.75rem, 12vw, 5.75rem);
  margin:0.15rem 0 0.45rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.observatory-parent-dwarf__halo{
  opacity:0.95;
  background:radial-gradient(circle, rgba(34,211,238,.22), transparent 62%) !important;
}
.observatory-parent-dwarf__orbit{
  border-color:rgba(34,211,238,.28) !important;
}
.observatory-mini-dwarf-visual--parent.observatory-mini-dwarf__orb{
  width:76%;
  height:76%;
  animation-duration:7s;
}
.observatory-mini-dwarf-visual--parent .observatory-mini-dwarf__corona{
  background:radial-gradient(circle, rgba(56,189,248,.32), transparent 68%);
  opacity:0.9;
}
.observatory-mini-dwarf-visual--parent .observatory-mini-dwarf__body{
  background:radial-gradient(circle at 35% 30%, #bae6fd 0%, #0369a1 52%, #0c4a6e 100%);
  box-shadow:inset 0 0 14px rgba(0,0,0,.4);
}
.observatory-mini-dwarf-visual--parent .observatory-mini-dwarf__core{
  background:radial-gradient(circle at 30% 30%, #f0f9ff, #38bdf8 65%, #0e7490 100%);
  box-shadow:0 0 12px rgba(56,189,248,.55);
}
.observatory-parent-dwarf__label{
  font-size:0.78rem;
  font-weight:700;
  color:#f1f5f9;
  line-height:1.25;
  max-width:100%;
  overflow-wrap:anywhere;
}
.observatory-parent-dwarf__scope{
  display:block;
  margin-top:0.2rem;
  font-size:0.68rem;
  line-height:1.3;
  max-width:100%;
}
/* Phase 5D — mini dwarf stellar cells */
.observatory-mini-dwarf.observatory-mini-dwarf-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:clamp(0.75rem, 2vw, 1rem) var(--space-sm) clamp(0.85rem, 2.2vw, 1.1rem);
  border-radius:22px;
  background:
    radial-gradient(120% 85% at 50% 0%, rgba(248,113,113,.1) 0%, rgba(8,15,32,.55) 45%, rgba(2,6,14,.62) 100%);
  border:1px solid rgba(148,163,184,.22);
  text-decoration:none;
  color:#e2e8f0;
  min-width:0;
  min-height:clamp(8.5rem, 22vw, 9.75rem);
  justify-content:flex-start;
  backdrop-filter:blur(10px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 10px 32px rgba(0,0,0,.36);
  transition:border-color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.observatory-mini-dwarf.observatory-mini-dwarf-card:hover{
  border-color:rgba(248,113,113,.42);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 12px 40px rgba(0,0,0,.44),
    0 0 32px rgba(248,113,113,.12);
  transform:translateY(-2px);
}
.observatory-mini-dwarf--active,
.observatory-mini-dwarf-card--active{
  border-color:rgba(56,189,248,.52);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(56,189,248,.22),
    0 12px 44px rgba(0,0,0,.48),
    0 0 40px rgba(56,189,248,.18);
}
.observatory-mini-dwarf__score{
  font-size:clamp(0.88rem, 2.1vw, 1.05rem);
  font-weight:800;
  color:#f8fafc;
  margin-bottom:0.4rem;
  letter-spacing:0.03em;
  text-shadow:0 0 18px rgba(248,113,113,.15);
}
.observatory-mini-dwarf__viz{
  position:relative;
  width:clamp(4.35rem, 11vw, 5.35rem);
  height:clamp(4.35rem, 11vw, 5.35rem);
  margin:0.2rem 0 0.55rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.observatory-mini-dwarf__halo{
  position:absolute;
  inset:-22%;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle, rgba(248,113,113,.14), rgba(56,189,248,.08) 45%, transparent 70%);
  filter:blur(1px);
  opacity:0.9;
  animation:observatory-mini-halo-breathe 9s ease-in-out infinite;
}
.observatory-mini-dwarf__orb.observatory-mini-dwarf-visual{
  position:relative;
  width:72%;
  height:72%;
  border-radius:50%;
  animation:observatory-dwarf-pulse 5.5s ease-in-out infinite;
  z-index:1;
}
.observatory-mini-dwarf__orb.observatory-mini-dwarf-visual .observatory-mini-dwarf__corona{
  position:absolute;
  inset:-18%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(248,113,113,.28), transparent 68%);
  opacity:0.85;
}
.observatory-mini-dwarf__orb.observatory-mini-dwarf-visual .observatory-mini-dwarf__body{
  position:absolute;
  inset:0;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fca5a5 0%, #b91c1c 52%, #450a0a 100%);
  box-shadow:inset 0 0 12px rgba(0,0,0,.35);
}
.observatory-mini-dwarf__orb.observatory-mini-dwarf-visual .observatory-mini-dwarf__core{
  position:absolute;
  left:50%;
  top:52%;
  width:22%;
  height:22%;
  margin:-11% 0 0 -11%;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #fff7ed, #f97316 65%, #7c2d12 100%);
  box-shadow:0 0 10px rgba(251,191,36,.5);
}
.observatory-mini-dwarf__orbit{
  position:absolute;
  inset:5%;
  border-radius:50%;
  border:1px dashed rgba(248,113,113,.2);
  pointer-events:none;
  animation:observatory-mini-orbit-spin 52s linear infinite;
}
.observatory-mini-dwarf__orbit-dot{
  position:absolute;
  left:50%;
  top:-0.1rem;
  width:0.3rem;
  height:0.3rem;
  margin-left:-0.15rem;
  border-radius:50%;
  background:radial-gradient(circle, #fef3c7, #f59e0b 70%, #b45309);
  box-shadow:0 0 8px rgba(251,191,36,.65);
}
.observatory-mini-dwarf__label{
  font-size:clamp(0.68rem, 1.8vw, 0.78rem);
  line-height:1.35;
  color:#cbd5e1;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  padding-top:0.15rem;
  flex:1 1 auto;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
}
@keyframes observatory-mini-halo-breathe{
  0%,100%{ opacity:0.75; transform:scale(1); }
  50%{ opacity:1; transform:scale(1.03); }
}
@keyframes observatory-mini-orbit-spin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

.observatory-overlay-evidence-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.75rem;
  padding:0.35rem 1rem;
}
@media (prefers-reduced-motion:reduce){
  .observatory-hero__nebula{
    opacity:0.55;
    mix-blend-mode:normal;
  }
  .observatory-mini-dwarf__halo,
  .observatory-mini-dwarf__orbit{
    animation:none !important;
  }
}

/* Phase AI-6F — AI brief coverage / freshness (display only, no Celery enqueue) */
.observatory-ai-status{
  margin:0;
  display:inline-block;
  font-size:0.7rem;
  line-height:1.35;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  padding:0.1rem 0.4rem;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.26);
  background:rgba(8,14,26,.62);
  color:#e2e8f0;
}
.observatory-ai-status--missing{ border-color:rgba(148,163,184,.32); color:#94a3b8; background:rgba(15,23,42,.52); }
.observatory-ai-status--ready{ border-color:rgba(52,211,153,.42); color:#a7f3d0; }
.observatory-ai-status--stale{ border-color:rgba(251,191,36,.45); color:#fef3c7; }
.observatory-ai-status--running{ border-color:rgba(56,189,248,.52); color:#bae6fd; }
.observatory-ai-status--failed{ border-color:rgba(248,113,113,.52); color:#fecaca; }
.observatory-ai-status--partial{ border-color:rgba(192,132,252,.42); color:#e9d5ff; }

.observatory-leadership-readout__ai-brief-status{
  margin:0.4rem 0 0;
  text-transform:none;
  font-weight:500;
  font-size:0.88rem;
  letter-spacing:normal;
  border-radius:8px;
  padding:0.35rem 0.65rem;
}
.observatory-mini-dwarf__ai-brief{
  margin-top:0.35rem;
  font-size:0.58rem;
  padding:0.06rem 0.34rem;
  max-width:100%;
}
.observatory-parent-dwarf__ai-brief{
  display:block;
  margin:0.25rem auto 0;
  max-width:100%;
  font-size:0.6rem;
  padding:0.08rem 0.42rem;
}

/* CDP AI Review v3 structured UI (Phase AI-5B) */
.cdp-ai-review-v3{
  font-size:0.95rem;
}
.cdp-ai-review-v3__eyebrow{
  text-transform:uppercase;
  letter-spacing:0.04em;
  margin:0 0 0.35rem;
}
.cdp-ai-review-v3__lead{
  margin:0;
  line-height:1.5;
}
.cdp-ai-review-v3__section-title,
.cdp-ai-review-v3__card-title{
  margin:0 0 0.65rem;
  font-size:1rem;
}
.cdp-ai-review-v3__card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:var(--space);
  background:var(--surface);
}
.cdp-ai-review-v3__card--issue{
  border-color:rgba(248,113,113,.35);
  background:rgba(127,29,29,.12);
}
.cdp-ai-review-v3__card--guidance{
  border-color:rgba(96,165,250,.3);
}
.cdp-ai-review-v3__card--return{
  border-color:rgba(251,191,36,.35);
}
.cdp-ai-review-v3__card--note{
  border-color:rgba(74,222,128,.25);
}
.cdp-ai-review-v3__row-card,
.cdp-ai-review-v3__finding{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:0.75rem;
  margin-bottom:0.5rem;
  background:var(--surface);
}
.cdp-ai-finding--critical{
  border-color:rgba(248,113,113,.45);
}
.cdp-ai-finding--important{
  border-color:rgba(251,191,36,.35);
}
.cdp-ai-finding--enhancement,
.cdp-ai-finding--improvement{
  border-color:rgba(148,163,184,.25);
}
.cdp-ai-review-v3__row-topic{
  font-weight:600;
  margin:0.15rem 0 0.35rem;
}
.cdp-ai-review-v3__remarks-box{
  margin-top:0.5rem;
  padding:0.75rem;
  border:1px dashed var(--border);
  border-radius:var(--radius);
  white-space:pre-wrap;
  background:var(--surface-2);
}
.cdp-ai-review-v3__chip-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:0.35rem;
}
.cdp-ai-review-v3__chip{
  padding:0.2rem 0.55rem;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--surface-2);
  font-size:0.85rem;
}
.cdp-ai-review-v3__steps{
  margin:0;
  padding:0;
  list-style:none;
}
.cdp-ai-review-v3__step-card{
  display:flex;
  gap:0.5rem;
  align-items:flex-start;
  padding:0.5rem 0;
  border-bottom:1px solid var(--border);
}
.cdp-ai-review-v3__step-card:last-child{
  border-bottom:none;
}
.cdp-ai-review-v3__step-num{
  flex:0 0 auto;
  width:1.5rem;
  height:1.5rem;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:0.8rem;
  font-weight:600;
  background:var(--surface-2);
  border:1px solid var(--border);
}
.cdp-ai-review-v3__actions{
  margin:0;
  padding-left:1.1rem;
}
.cdp-ai-badge{
  display:inline-block;
  padding:0.15rem 0.55rem;
  border-radius:999px;
  font-size:0.75rem;
  font-weight:600;
  border:1px solid var(--border);
  line-height:1.3;
}
.cdp-ai-badge--danger{
  border-color:rgba(248,113,113,.5);
  color:#fecaca;
}
.cdp-ai-badge--warning{
  border-color:rgba(251,191,36,.45);
  color:#fde68a;
}
.cdp-ai-badge--success{
  border-color:rgba(74,222,128,.45);
  color:#bbf7d0;
}
.cdp-ai-badge--info{
  border-color:rgba(96,165,250,.45);
  color:#bfdbfe;
}
.cdp-ai-badge--neutral{
  color:var(--muted);
}
.cdp-ai-checklist{
  display:grid;
  gap:0.35rem;
}
@media (min-width:640px){
  .cdp-ai-checklist{
    grid-template-columns:1fr 1fr;
  }
}
.cdp-ai-checklist__item{
  display:flex;
  justify-content:space-between;
  gap:0.5rem;
  padding:0.45rem 0.6rem;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  font-size:0.85rem;
}
.cdp-ai-checklist__item--pass{
  border-color:rgba(74,222,128,.35);
}
.cdp-ai-checklist__item--partial{
  border-color:rgba(251,191,36,.35);
}
.cdp-ai-checklist__item--fail{
  border-color:rgba(248,113,113,.35);
}
.cdp-ai-checklist__label{
  color:var(--muted);
}
.cdp-ai-checklist__value{
  font-weight:600;
  text-align:right;
}

/* Course Evidence Hub (Observatory CEH-1) */
.observatory-ceh-entry-wrap{
  margin-top:var(--space-sm);
}
.observatory-ceh-page .page__header{
  margin-bottom:var(--space-lg);
}
.observatory-hub-tabs{
  display:flex;
  width:fit-content;
  max-width:100%;
  gap:0.25rem;
  padding:0.25rem;
  margin:var(--space-md) 0 var(--space-lg);
  background:rgba(15,23,42,.72);
  border:1px solid rgba(148,163,184,.24);
  border-radius:999px;
}
.observatory-hub-tabs__link{
  flex:0 0 auto;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--muted);
  font-weight:600;
  padding:0.55rem 1rem;
  text-decoration:none;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.observatory-hub-tabs__link:hover,
.observatory-hub-tabs__link:focus-visible{
  color:var(--text);
  background:rgba(96,165,250,.12);
}
.observatory-hub-tabs__link--active{
  color:var(--text);
  background:linear-gradient(135deg,rgba(34,211,238,.28),rgba(59,130,246,.28));
  border-color:rgba(103,232,249,.54);
  box-shadow:0 0 0 1px rgba(59,130,246,.12) inset;
}
@media (max-width:520px){
  .observatory-hub-tabs{
    width:100%;
  }
  .observatory-hub-tabs__link{
    flex:1 1 50%;
    padding:0.5rem 0.65rem;
    text-align:center;
  }
}
.observatory-ceh-page .observatory-ceh-ai-section{
  margin-top:var(--space-xl);
}
.observatory-ceh-ai-section__head{
  align-items:flex-start;
}
.observatory-ceh-ai-section__titles{
  flex:1;
  min-width:0;
}
.observatory-ceh-ai-collapsed-hint{
  margin:0.35rem 0 0;
  line-height:1.4;
}
.observatory-ceh-ai-collapsed-hint__action{
  color:var(--muted);
}
.observatory-ceh-ai-panel{
  padding-top:0;
}
.observatory-ceh-ai-detail-block{
  margin-top:var(--space-md);
  padding-top:var(--space-md);
  border-top:1px solid var(--border);
}
.observatory-ceh-ai-detail-block:first-of-type{
  margin-top:var(--space-sm);
}
.observatory-ceh-ai-detail-block__heading{
  margin:0 0 0.35rem;
  font-size:0.88rem;
  font-weight:600;
}
.observatory-ceh-ai-detail-block__body{
  margin:0;
  font-size:0.88rem;
  line-height:1.5;
  white-space:pre-wrap;
  word-break:break-word;
  max-height:none;
}
.observatory-ceh-term{
  margin-bottom:0;
}
.observatory-ceh-page .observatory-ceh-term + .observatory-ceh-term{
  margin-top:var(--space-xl);
}
.observatory-ceh-grid{
  display:grid;
  gap:var(--space-lg);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));
  padding:var(--space-md) var(--space-md) var(--space-lg);
  align-items:stretch;
}
.observatory-ceh-grid > .observatory-ceh-card{
  min-width:0;
  width:100%;
  margin:0;
}
.observatory-ceh-card{
  display:flex;
  flex-direction:column;
  gap:0.35rem;
  padding:var(--space-md);
  text-decoration:none;
  color:inherit;
  box-sizing:border-box;
  min-height:0;
}
.observatory-ceh-card.card{
  padding:var(--space-md);
}
.observatory-ceh-card.card--link{
  transition:border-color .15s ease, box-shadow .15s ease;
}
.observatory-ceh-card.card--link:hover,
.observatory-ceh-card.card--link:focus-visible{
  border-color:rgba(96,165,250,.55);
  box-shadow:var(--shadow), 0 0 0 1px rgba(96,165,250,.2);
}
.observatory-ceh-card__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:0.5rem;
}
.observatory-ceh-card__code{
  font-weight:700;
  font-size:0.95rem;
}
.observatory-ceh-card__score{
  font-weight:700;
  font-size:0.9rem;
  color:var(--accent);
}
.observatory-ceh-card__title{
  font-size:0.88rem;
  line-height:1.35;
}
.observatory-ceh-chips{
  display:flex;
  flex-wrap:wrap;
  gap:0.25rem;
  margin-top:0.25rem;
}
.observatory-ceh-chip{
  font-size:0.65rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.02em;
  padding:0.12rem 0.35rem;
  border-radius:4px;
  border:1px solid var(--border);
}
.observatory-ceh-chip--done{
  border-color:rgba(74,222,128,.4);
  color:#bbf7d0;
}
.observatory-ceh-chip--in_progress{
  border-color:rgba(251,191,36,.4);
  color:#fde68a;
}
.observatory-ceh-chip--missing,
.observatory-ceh-chip--not_found{
  border-color:rgba(148,163,184,.35);
  color:var(--muted);
}
.observatory-ceh-score-line{
  margin:0.35rem 0 0;
}
.observatory-ceh-score-line__value{
  font-size:1.25rem;
  margin-left:0.35rem;
}
.observatory-ceh-workflow-grid{
  display:grid;
  gap:var(--space-md);
  grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));
  padding:var(--space-md);
}
.observatory-ceh-workflow{
  padding:var(--space-md);
}
.observatory-ceh-workflow__label{
  font-weight:600;
  margin-bottom:0.35rem;
}
.observatory-ceh-badge--done{
  background:rgba(74,222,128,.12);
  border-color:rgba(74,222,128,.35);
}
.observatory-ceh-badge--in_progress{
  background:rgba(251,191,36,.1);
  border-color:rgba(251,191,36,.35);
}
.observatory-ceh-badge--missing,
.observatory-ceh-badge--not_found{
  background:var(--surface-2);
}
.observatory-ceh-ai-block{
  padding:var(--space-md);
}
.observatory-ceh-ai-block--sep{
  border-top:1px solid var(--border);
}
.observatory-ceh-ai-grid{
  display:grid;
  gap:var(--space-md);
  grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));
}
.observatory-ceh-ai-card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:var(--space-md);
  background:var(--surface-2);
}
.observatory-ceh-ai-card--available{
  border-left:3px solid rgba(96,165,250,.65);
}
.observatory-ceh-ai-card--unavailable{
  border-left:3px solid rgba(148,163,184,.35);
  opacity:.92;
}
.observatory-ceh-ai-card--attention{
  border-left-color:rgba(251,191,36,.7);
}
.observatory-ceh-ai-card__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:var(--space-sm);
  margin-bottom:0.35rem;
}
.observatory-ceh-ai-card__title{
  margin:0;
  font-size:0.95rem;
}
.observatory-ceh-ai-status{
  font-size:0.65rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.03em;
}
.observatory-ceh-ai-status--available{
  background:rgba(74,222,128,.12);
  border-color:rgba(74,222,128,.35);
  color:#bbf7d0;
}
.observatory-ceh-ai-status--unavailable{
  background:var(--surface);
  border-color:rgba(148,163,184,.35);
  color:var(--muted);
}
.observatory-ceh-ai-card__source{
  margin:0 0 0.35rem;
}
.observatory-ceh-ai-card__priority{
  margin:0.25rem 0;
  font-size:0.88rem;
}
.observatory-ceh-ai-card__priority--attention{
  color:#fde68a;
}
.observatory-ceh-ai-card__summary{
  margin:0.35rem 0 0;
  font-size:0.88rem;
  line-height:1.4;
}
.observatory-ceh-ai-card__bullets{
  margin-top:0.35rem;
}
.list-compact{
  margin:0.35rem 0 0;
  padding-left:1.1rem;
  font-size:0.88rem;
}

/* Synchronous AI generation submit feedback. */
.ai-generation-card{
  position:relative;
  overflow:hidden;
}
.ai-generation-beam{
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(90deg, transparent 0%, rgba(246,137,33,.96) 50%, transparent 100%) top left / 200% 3px no-repeat,
    linear-gradient(180deg, transparent 0%, rgba(246,137,33,.96) 50%, transparent 100%) top right / 3px 200% no-repeat,
    linear-gradient(270deg, transparent 0%, rgba(246,137,33,.96) 50%, transparent 100%) bottom right / 200% 3px no-repeat,
    linear-gradient(0deg, transparent 0%, rgba(246,137,33,.96) 50%, transparent 100%) bottom left / 3px 200% no-repeat;
}
.ai-generation-card.is-submitting .ai-generation-beam{
  opacity:1;
  animation:ai-generation-card-beam 1.45s linear infinite;
}
.ai-submit-helper{
  margin-top:var(--space-sm);
}
@keyframes ai-generation-card-beam{
  0%{background-position:-200% 0,100% -200%,200% 100%,0 200%;}
  100%{background-position:200% 0,100% 200%,-200% 100%,0 -200%;}
}
@media (prefers-reduced-motion:reduce){
  .ai-generation-card.is-submitting .ai-generation-beam{animation:none;opacity:1;}
}

/* Researcher workspace cockpit. */
.research-workspace{padding-bottom:var(--space-xl);}
.research-workspace__header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space);}
.research-workspace__header h1{margin-bottom:.35rem;}
.research-workspace__header p{margin-bottom:0;}
.research-workspace__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end;}
.research-nav{display:flex;align-items:center;gap:.25rem;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:var(--space-lg);padding-bottom:.25rem;scrollbar-width:thin;}
.research-nav__link{padding:.65rem .85rem;color:var(--muted);white-space:nowrap;border-radius:10px;text-decoration:none;}
.research-nav__link:hover,.research-nav__link:focus-visible,.research-nav__link--active{color:var(--text);background:rgba(96,165,250,.1);}
.research-quick-menu{position:relative;}
.research-quick-menu summary{list-style:none;cursor:pointer;}
.research-quick-menu summary::-webkit-details-marker{display:none;}
.research-quick-menu__panel{position:absolute;right:0;z-index:5;display:grid;min-width:13rem;margin-top:.5rem;padding:.4rem;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);}
.research-quick-menu__panel a,.research-quick-menu__panel button{display:block;padding:.65rem .75rem;border:0;border-radius:9px;background:transparent;color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer;}
.research-quick-menu__panel a:hover,.research-quick-menu__panel button:hover{background:var(--surface-2);}
.research-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:var(--space-lg);}
.research-stat{min-width:0;padding:1rem 1.1rem;border:1px solid var(--border);border-left:3px solid rgba(96,165,250,.8);border-radius:16px;background:linear-gradient(145deg,rgba(18,33,67,.92),rgba(15,26,48,.96));box-shadow:var(--shadow);}
.research-stat--violet{border-left-color:rgba(167,139,250,.85);}
.research-stat--teal{border-left-color:rgba(45,212,191,.85);}
.research-stat--amber{border-left-color:rgba(251,191,36,.9);}
.research-stat__label,.research-stat__hint{display:block;color:var(--muted);font-size:.78rem;}
.research-stat__value{display:block;margin:.2rem 0;font-size:1.9rem;line-height:1.1;letter-spacing:-.03em;}
.research-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space);margin-bottom:var(--space-lg);}
.research-profile-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space);margin-bottom:var(--space-lg);align-items:start;scroll-margin-top:1.5rem;}
.research-content-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,.85fr);gap:var(--space);align-items:start;}
.research-content-grid__main,.research-content-grid__side{display:grid;gap:var(--space);min-width:0;}
.research-card{min-width:0;background:linear-gradient(145deg,rgba(18,33,67,.72),rgba(15,26,48,.96));}
.research-card h2{margin:0;font-size:1.15rem;}
.research-card .card__head{align-items:flex-start;margin-bottom:1rem;}
.research-card__footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;}
.research-identity-card__org{min-height:2.8rem;margin:0 0 1rem;color:var(--text);line-height:1.45;}
.research-identity-card__designation{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.82rem;}
.research-identity-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;}
.research-identity-card__facts>div{padding:.75rem;border:1px solid var(--border);border-radius:12px;background:rgba(11,18,32,.28);}
.research-fact__label{display:block;margin-bottom:.2rem;color:var(--muted);font-size:.75rem;}
.research-fact__label+strong{font-size:1.2rem;}
.research-chip-list{display:flex;gap:.4rem;flex-wrap:wrap;min-height:1.65rem;}
.research-chip-list .badge{font-size:.78rem;padding:.25rem .55rem;}
.research-interest-chip{display:inline-flex;align-items:center;gap:.3rem;}
.research-interest-chip__edit{color:var(--muted);font-size:.72rem;text-decoration:none;}
.research-list{list-style:none;margin:0;padding:0;}
.research-list--compact .research-list__row{padding:.7rem 0;}
.research-list__row{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;padding:.85rem 0;border-top:1px solid var(--border);}
.research-list__row:first-child{border-top:0;padding-top:0;}
.research-list__row:last-child{padding-bottom:0;}
.research-list__body{display:grid;gap:.2rem;min-width:0;}
.research-list__actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap;}
.research-list__eyebrow{color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.research-list__title{overflow:hidden;color:var(--text);font-weight:700;text-overflow:ellipsis;text-decoration:none;}
.research-list__title:hover,.text-link:hover{text-decoration:underline;}
.research-list__meta{overflow:hidden;color:var(--muted);font-size:.82rem;line-height:1.4;text-overflow:ellipsis;}
.research-list__row--link>a{color:inherit;text-decoration:none;}
.research-empty{display:grid;justify-items:start;gap:.65rem;padding:1.2rem 0 0;}
.research-empty--compact{padding:.3rem 0 0;}
.research-empty strong{font-size:1rem;}
.research-table-wrap{overflow-x:auto;}
.research-table{width:100%;border-collapse:collapse;min-width:32rem;}
.research-table th,.research-table td{padding:.8rem .65rem;border-top:1px solid var(--border);text-align:left;vertical-align:top;}
.research-table th{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.research-table td:first-child{width:54%;}
.research-table tr:first-child td{border-top:0;}
.research-provider-list{list-style:none;margin:0;padding:0;}
.research-provider-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-top:1px solid var(--border);}
.research-provider-list li:first-child{border-top:0;padding-top:0;}
.research-provider-list li>span:first-child{display:grid;gap:.2rem;min-width:0;}
.research-provider-list__details{display:grid;gap:.22rem;min-width:0;}
.research-provider-list__identity{color:var(--muted);font-size:.78rem;line-height:1.4;overflow-wrap:anywhere;}
.research-provider-list__identity a,.research-provider-list__edit,.research-provider-list__auth{color:var(--accent);text-decoration:none;}
.research-provider-list__edit,.research-provider-list__auth{font-size:.74rem;margin-left:.35rem;white-space:nowrap;}
.research-provider-list__edit:hover,.research-provider-list__auth:hover{ text-decoration:underline;}
.research-discovery{border-top:1px solid var(--border);margin-top:1.15rem;padding-top:1.1rem;}
.research-discovery .card__head{margin-bottom:.45rem;}
.research-discovery h3{font-size:.95rem;margin:0;}
.research-provider-list small{color:var(--muted);font-size:.78rem;line-height:1.35;}
.research-discovery__action{margin-top:1rem;}
.research-disclosure{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem;}
.research-disclosure summary{cursor:pointer;color:var(--text);font-weight:700;}
.research-disclosure__body{padding-top:1rem;}
.research-pending-change{display:grid;gap:.55rem;margin-top:1rem;padding:1rem;border:1px solid rgba(251,191,36,.45);border-radius:14px;background:rgba(251,191,36,.07);}
.research-pending-change p{margin:0;}
.research-pending-change form{display:inline-block;margin-right:.35rem;}
.research-inline-form{margin-top:1rem;}
.research-inline-form p{margin-bottom:.75rem;}
.research-inline-form label{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.82rem;}
.research-inline-form .form__input{width:100%;}
.research-dialog{width:min(32rem,calc(100vw - 2rem));max-width:none;padding:1.35rem;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);}
.research-dialog::backdrop{background:rgba(3,8,18,.72);backdrop-filter:blur(3px);}
.research-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.research-dialog__head h2{margin:0;font-size:1.2rem;}
.research-dialog form p{margin-bottom:.85rem;}
.research-dialog form label{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.84rem;}
.research-dialog .form__input{width:100%;}
.research-dialog__actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.1rem;}
.research-card .badge,.research-provider-list .badge{font-size:.72rem;padding:.25rem .55rem;white-space:nowrap;}
.research-card .badge--success{border-color:rgba(74,222,128,.45);color:#bbf7d0;}
.research-card .badge--warning{border-color:rgba(251,191,36,.5);color:#fde68a;}
.research-card .badge--muted{border-color:rgba(148,163,184,.35);color:var(--muted);}
.research-card .btn--small{padding:.42rem .65rem;font-size:.78rem;}
.research-card :is(a,button):focus-visible,.research-dialog :is(a,button,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

@media (max-width:900px){
  .research-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
  .research-profile-grid{grid-template-columns:minmax(0,1fr);}
  .research-content-grid{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  .research-workspace__header{align-items:flex-start;flex-direction:column;gap:1rem;}
  .research-workspace__actions{justify-content:flex-start;width:100%;}
  .research-workspace__actions .btn{flex:1 1 auto;text-align:center;}
  .research-quick-menu{flex:1 1 auto;}
  .research-quick-menu summary{text-align:center;}
  .research-quick-menu__panel{left:0;right:auto;width:min(16rem,calc(100vw - 2rem));}
  .research-overview-grid{grid-template-columns:minmax(0,1fr);}
  .research-metrics{gap:.65rem;}
  .research-stat{padding:.85rem;}
  .research-stat__value{font-size:1.55rem;}
  .research-card .card__head{flex-wrap:wrap;gap:.6rem;}
  .research-provider-list li{align-items:flex-start;flex-direction:column;}
  .research-provider-list li>.badge,.research-provider-list li>form{align-self:flex-start;}
  .research-table{min-width:0;}
  .research-table thead{display:none;}
  .research-table,.research-table tbody,.research-table tr,.research-table td{display:block;width:100%;}
  .research-table tr{padding:.8rem 0;border-top:1px solid var(--border);}
  .research-table tr:first-child{padding-top:0;border-top:0;}
  .research-table td{display:flex;justify-content:space-between;gap:1rem;padding:.18rem 0;border:0;}
  .research-table td:first-child{display:grid;width:100%;}
  .research-table td:nth-child(2)::before{content:"Year";color:var(--muted);font-size:.75rem;}
  .research-table td:nth-child(3)::before{content:"Venue";color:var(--muted);font-size:.75rem;}
  .research-list__row{gap:.55rem;}
  .research-dialog__actions{flex-direction:column-reverse;}
  .research-dialog__actions .btn{width:100%;}
}

/* R&I-4C — scoped institutional oversight workspace */
.ri-oversight{--ri-line:rgba(148,163,184,.18);--ri-soft:rgba(15,23,42,.34);position:relative}
.ri-oversight__header{align-items:flex-start;gap:1.5rem}.ri-oversight__context,.ri-oversight__scope,.ri-scope-form,.ri-scope-badge{align-items:center;display:flex;gap:.55rem}.ri-oversight__context{flex-wrap:wrap;margin-top:.9rem}.ri-oversight__scope{flex:0 0 auto;margin-left:auto}.ri-scope-form{align-items:flex-end;flex-direction:column}.ri-scope-form label,.ri-scope-badge__label{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ri-scope-form select,.ri-directory__filters select,.ri-directory__filters input{background:rgba(15,23,42,.75);border:1px solid var(--ri-line);border-radius:.72rem;color:var(--text);min-height:2.55rem;padding:.55rem .75rem}.ri-scope-form select{min-width:18rem}.ri-scope-badge{align-items:flex-end;background:linear-gradient(135deg,rgba(30,41,59,.8),rgba(15,23,42,.62));border:1px solid var(--ri-line);border-radius:.85rem;flex-direction:column;padding:.75rem .9rem}.ri-scope-badge strong{color:var(--text);font-size:.95rem}.ri-scope-badge span:last-child{color:var(--muted);font-size:.75rem}.ri-oversight__metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.ri-oversight__metrics .research-stat__hint{min-height:2.2em}.research-stat--rose{--stat-accent:#fb7185}
.ri-empty-state{align-items:center;display:flex;gap:1rem;margin:1.35rem 0;padding:1.1rem 1.3rem}.ri-empty-state__mark{align-items:center;background:rgba(45,212,191,.1);border:1px solid rgba(45,212,191,.26);border-radius:1rem;color:#5eead4;display:flex;flex:0 0 2.9rem;font-size:1.5rem;height:2.9rem;justify-content:center}.ri-empty-state h2{font-size:1.12rem;margin:0 0 .25rem}.ri-empty-state p{margin:0}
.ri-analytics-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.1rem}.ri-panel{min-width:0}.ri-panel .card__head{gap:1rem}.ri-panel .card__head .badge{flex:0 0 auto}.ri-bar-chart{align-items:end;display:flex;gap:clamp(.75rem,2vw,1.5rem);height:13rem;justify-content:space-around;padding:1rem .3rem 0}.ri-bar-chart__column{align-items:center;display:flex;flex:1;flex-direction:column;gap:.45rem;height:100%;justify-content:end;min-width:2.5rem}.ri-bar-chart__column strong{color:var(--text);font-size:.8rem}.ri-bar-chart__column>span{color:var(--muted);font-size:.72rem}.ri-bar-chart__track{align-items:end;background:rgba(100,116,139,.12);border-radius:.55rem .55rem .25rem .25rem;display:flex;height:8.5rem;overflow:hidden;width:min(3.2rem,100%)}.ri-bar-chart__track span{background:linear-gradient(180deg,#67e8f9,#6366f1);border-radius:.55rem .55rem .15rem .15rem;display:block;min-height:.25rem;width:100%}.ri-ranked-bars{display:grid;gap:.9rem;padding-top:.35rem}.ri-ranked-bars__row{display:grid;gap:.35rem}.ri-ranked-bars__label{align-items:baseline;display:flex;font-size:.82rem;gap:.5rem;justify-content:space-between}.ri-ranked-bars__label span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ri-ranked-bars__label strong{color:var(--text);font-size:.8rem}.ri-ranked-bars__track{background:rgba(100,116,139,.13);border-radius:.5rem;height:.42rem;overflow:hidden}.ri-ranked-bars__track span{background:linear-gradient(90deg,#a78bfa,#22d3ee);border-radius:inherit;display:block;height:100%;min-width:.24rem}.ri-ranked-bars--interests .ri-ranked-bars__track span{background:linear-gradient(90deg,#2dd4bf,#60a5fa)}.ri-chart-empty{align-items:flex-start;border:1px dashed var(--ri-line);border-radius:.8rem;display:flex;flex-direction:column;gap:.2rem;justify-content:center;min-height:10rem;padding:1rem}.ri-chart-empty strong{color:var(--text)}.ri-status-grid{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ri-status-grid__item{background:var(--ri-soft);border:1px solid var(--ri-line);border-radius:.75rem;display:flex;flex-direction:column;gap:.15rem;padding:.85rem}.ri-status-grid__item strong{color:var(--text);font-size:1.45rem}.ri-status-grid__item span{color:var(--muted);font-size:.75rem}
.ri-financial-strip{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;margin-top:1.1rem;padding:1rem 1.15rem}.ri-financial-strip h2{font-size:1.05rem;margin:.1rem 0}.ri-financial-strip p{margin:0}.ri-financial-strip__values{display:flex;flex-wrap:wrap;gap:clamp(1.25rem,4vw,3.5rem);margin:0}.ri-financial-strip__values div{min-width:8.5rem}.ri-financial-strip__values dt{color:var(--muted);font-size:.72rem}.ri-financial-strip__values dd{color:var(--text);font-size:1.18rem;font-weight:750;margin:.25rem 0 0}.ri-financial-strip__values small{color:var(--muted);font-size:.68rem;font-weight:600}
.ri-directory{margin-top:1.1rem;overflow:hidden}.ri-directory__head{align-items:flex-start}.ri-directory__head h2{margin-bottom:.2rem}.ri-directory__head p{margin:0}.ri-directory__filters{align-items:end;border-bottom:1px solid var(--ri-line);display:flex;flex-wrap:wrap;gap:.7rem;padding:0 0 1rem}.ri-filter{display:flex;flex:0 1 14rem;flex-direction:column;gap:.3rem}.ri-filter--search{flex:1 1 22rem}.ri-filter>span{color:var(--muted);font-size:.73rem;font-weight:650}.ri-directory__clear{align-self:center;font-size:.8rem}.ri-filter-warning{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.22);border-radius:.6rem;color:#fcd34d;font-size:.82rem;margin:.8rem 0 0;padding:.55rem .7rem}.ri-researcher-list{display:grid}.ri-researcher-row{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--ri-line);color:inherit;cursor:pointer;display:grid;gap:.9rem;grid-template-columns:minmax(11rem,1.25fr) minmax(12rem,1.35fr) minmax(11rem,1.1fr) minmax(8rem,.9fr) minmax(8rem,.85fr) auto;padding:1rem .2rem;text-align:left;transition:background 160ms ease,transform 160ms ease;width:100%}.ri-researcher-row:hover,.ri-researcher-row:focus-visible{background:rgba(51,65,85,.22);outline:none;transform:translateX(.15rem)}.ri-researcher-row__identity,.ri-researcher-row__interests{display:flex;flex-direction:column;gap:.2rem;min-width:0}.ri-researcher-row__identity strong{color:var(--text);font-size:.9rem}.ri-researcher-row__identity span,.ri-researcher-row__organization,.ri-researcher-row__counts{color:var(--muted);font-size:.76rem}.ri-researcher-row__organization{line-height:1.35}.ri-researcher-row__interests{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.ri-researcher-row__interests em{background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.18);border-radius:999px;color:#bfdbfe;font-size:.7rem;font-style:normal;padding:.18rem .42rem}.ri-researcher-row__counts{line-height:1.5}.ri-researcher-row__counts b{color:var(--text);font-weight:750}.ri-researcher-row__identity-state .badge{white-space:nowrap}.ri-researcher-row__arrow{color:#67e8f9;font-size:1.2rem}.ri-directory__empty{align-items:center;display:flex;flex-direction:column;gap:.35rem;justify-content:center;min-height:10rem;text-align:center}.ri-pagination{align-items:center;display:flex;gap:1rem;justify-content:center;padding-top:1rem}.ri-pagination a{color:#93c5fd;font-size:.82rem}.ri-pagination span{color:var(--muted);font-size:.78rem}
.ri-drawer[aria-hidden="false"]{display:block}.ri-drawer{inset:0;position:fixed;z-index:80}.ri-drawer__backdrop{background:rgba(2,6,23,.64);inset:0;position:absolute}.ri-drawer__sheet{background:linear-gradient(180deg,#111827,#0f172a);border-left:1px solid rgba(148,163,184,.22);box-shadow:-1rem 0 3rem rgba(2,6,23,.28);height:100%;max-width:34rem;overflow-y:auto;padding:1.25rem 1.35rem 2rem;position:absolute;right:0;top:0;width:min(92vw,34rem)}.ri-drawer__loading{align-items:flex-start;display:flex;flex-direction:column;gap:.45rem;min-height:8rem;padding-top:1rem}.ri-drawer__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.ri-drawer__header h2{font-size:1.35rem;margin:.1rem 0}.ri-drawer__header p{margin:0}.ri-drawer__close{font-size:1.5rem;line-height:1}.ri-drawer__org{border-bottom:1px solid var(--ri-line);display:flex;flex-direction:column;gap:.2rem;padding:1rem 0}.ri-drawer__org strong{color:var(--text);font-size:.9rem}.ri-drawer__org span{color:var(--muted);font-size:.78rem}.ri-drawer__metrics{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);padding:1rem 0}.ri-drawer__metrics div{background:rgba(30,41,59,.58);border:1px solid var(--ri-line);border-radius:.7rem;display:flex;flex-direction:column;padding:.7rem}.ri-drawer__metrics strong{color:var(--text);font-size:1.2rem}.ri-drawer__metrics span{color:var(--muted);font-size:.7rem}.ri-drawer__tabs{border-bottom:1px solid var(--ri-line);display:flex;gap:.3rem}.ri-drawer__tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.82rem;padding:.7rem .65rem}.ri-drawer__tabs button[aria-selected="true"]{border-color:#67e8f9;color:var(--text)}.ri-drawer__content [role="tabpanel"]{padding-top:1.1rem}.ri-drawer__content h3{color:var(--text);font-size:.92rem;margin:0 0 .7rem}.ri-drawer__chips{display:flex;flex-wrap:wrap;gap:.35rem}.ri-drawer__identity-state{margin-top:1rem}.ri-drawer__list{display:grid;gap:.55rem;list-style:none;margin:0;padding:0}.ri-drawer__list li{border:1px solid var(--ri-line);border-radius:.7rem;display:flex;flex-direction:column;gap:.25rem;padding:.7rem}.ri-drawer__list strong{color:var(--text);font-size:.82rem;line-height:1.35}.ri-drawer__list span{color:var(--muted);font-size:.74rem}.ri-drawer-open{overflow:hidden}
@media (max-width:1180px){.ri-oversight__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ri-researcher-row{grid-template-columns:minmax(11rem,1.25fr) minmax(11rem,1.2fr) minmax(9rem,1fr) minmax(7rem,.8fr) auto}.ri-researcher-row__identity-state{display:none}}
@media (max-width:820px){.ri-oversight__header{flex-direction:column}.ri-oversight__scope{margin-left:0}.ri-scope-form{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.ri-analytics-grid{grid-template-columns:1fr}.ri-financial-strip{align-items:flex-start;flex-direction:column}.ri-researcher-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto}.ri-researcher-row__organization,.ri-researcher-row__interests{display:none}.ri-researcher-row__counts{font-size:.72rem}}
@media (max-width:560px){.ri-oversight__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ri-oversight__metrics .research-stat:last-child{grid-column:1/-1}.ri-scope-form select{max-width:100%;min-width:0}.ri-directory__filters{align-items:stretch;flex-direction:column}.ri-filter,.ri-filter--search{flex:1 1 auto}.ri-directory__filters .btn{align-self:flex-start}.ri-researcher-row{gap:.5rem;grid-template-columns:minmax(0,1fr) auto;padding:.85rem .1rem}.ri-researcher-row__counts{grid-column:1}.ri-researcher-row__arrow{grid-column:2;grid-row:1/span 2}.ri-drawer__sheet{border-left:0;width:100%}.ri-financial-strip__values{gap:1rem}.ri-financial-strip__values div{min-width:7rem}}
.ri-oversight .sr-only{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ri-drawer [hidden]{display:none!important}

/* R&I-4D — canonical publications reporting workspace */
.ri-card__actions{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.ri-report__filters{margin-top:1.1rem;padding:1.15rem}.ri-report__filters .card__head{margin-bottom:1rem}.ri-report-form{display:grid;gap:1rem}.ri-report-form__basis-row{display:grid;gap:1rem;grid-template-columns:minmax(14rem,.75fr) minmax(0,1.65fr)}.ri-report-fieldset{border:0;margin:0;min-width:0;padding:0}.ri-report-fieldset legend{color:var(--muted);font-size:.73rem;font-weight:700;letter-spacing:.08em;margin-bottom:.45rem;text-transform:uppercase}.ri-report-segmented{display:flex;flex-wrap:wrap;gap:.35rem}.ri-report-segmented__item{cursor:pointer;display:inline-flex;position:relative}.ri-report-segmented__item input{height:1px;opacity:0;position:absolute;width:1px}.ri-report-segmented__item span{background:rgba(15,23,42,.7);border:1px solid var(--ri-line);border-radius:.7rem;color:var(--muted);font-size:.79rem;padding:.58rem .72rem;transition:background 160ms ease,border-color 160ms ease,color 160ms ease}.ri-report-segmented__item:hover span{border-color:rgba(103,232,249,.42);color:var(--text)}.ri-report-segmented__item input:checked+span{background:linear-gradient(135deg,rgba(37,99,235,.36),rgba(20,184,166,.2));border-color:rgba(103,232,249,.55);color:var(--text);font-weight:700}.ri-report-segmented__item input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.ri-report-boundary{color:var(--muted);font-size:.78rem;margin:.6rem 0 0}.ri-report-boundary strong{color:var(--text)}.ri-report-custom{background:rgba(15,23,42,.26);border:1px solid var(--ri-line);border-radius:.8rem;padding:.8rem}.ri-report-custom[hidden],.ri-report-custom__date[hidden],.ri-report-custom__year[hidden]{display:none}.ri-report-custom__date,.ri-report-custom__year{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ri-report-custom p{font-size:.75rem;margin:.65rem 0 0}.ri-report-form__filters{display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr))}.ri-report-form select,.ri-report-form input[type="date"],.ri-report-form input[type="number"],.ri-report-form input[type="search"]{background:rgba(15,23,42,.75);border:1px solid var(--ri-line);border-radius:.72rem;color:var(--text);min-height:2.55rem;padding:.55rem .75rem;width:100%}.ri-report-form .ri-filter{min-width:0}.ri-report-form .ri-filter>span{color:var(--muted);font-size:.73rem;font-weight:650}.ri-report-form__search{align-items:end;display:flex;gap:.7rem}.ri-report-form__search .ri-filter--search{flex:1 1 auto}.ri-report-form__search .btn{white-space:nowrap}.ri-report-form__search .text-link{align-self:center;white-space:nowrap}.ri-report-errors{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.28);border-radius:.7rem;color:#fde68a;font-size:.82rem;margin-top:1rem;padding:.7rem .8rem}.ri-report-errors strong{color:#fef3c7}.ri-report-errors ul{margin:.35rem 0 0;padding-left:1.1rem}.ri-report__summary{display:grid;gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1.1rem 0}.ri-report__summary .research-stat{min-width:0}.ri-report__period-value{font-size:1.15rem;letter-spacing:0}.ri-report__mix-value{font-size:1rem;letter-spacing:0;line-height:1.35}.ri-report__results{overflow:hidden;padding:1.15rem}.ri-report__results-head{align-items:flex-start}.ri-report__results-head p{margin:.25rem 0 0}.ri-report__exports{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.ri-report-table-wrap{overflow-x:auto}.ri-report-table{border-collapse:collapse;min-width:68rem;width:100%}.ri-report-table th,.ri-report-table td{border-top:1px solid var(--ri-line);padding:.78rem .55rem;text-align:left;vertical-align:top}.ri-report-table th{color:var(--muted);font-size:.71rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.ri-report-table td{color:#dbeafe;font-size:.8rem;line-height:1.4}.ri-report-table td:first-child{max-width:21rem;width:25%}.ri-report-table td strong{color:var(--text);display:block;font-size:.88rem;line-height:1.35}.ri-report-table__authors{color:var(--muted);display:block;font-size:.72rem;margin-top:.3rem}.ri-report-table__doi{overflow-wrap:anywhere}.ri-report__empty{align-items:center;border:1px dashed var(--ri-line);border-radius:.9rem;display:flex;flex-direction:column;gap:.4rem;justify-content:center;min-height:14rem;text-align:center}.ri-report__empty .ri-empty-state__mark{margin-bottom:.2rem}.ri-report__note{font-size:.76rem;margin:1rem .15rem 0}.ri-report .ri-pagination{border-top:1px solid var(--ri-line);margin-top:1rem}.ri-report .badge{white-space:nowrap}
@media (max-width:1080px){.ri-report-form__basis-row{grid-template-columns:1fr}.ri-report-form__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ri-report__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ri-card__actions{align-items:flex-start;justify-content:flex-start}.ri-report .ri-oversight__context .badge{max-width:100%;min-width:0;overflow-wrap:anywhere;white-space:normal}.ri-report__filters,.ri-report__results{padding:.9rem}.ri-report-segmented--period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ri-report-segmented--period .ri-report-segmented__item span{text-align:center;width:100%}.ri-report-custom__date,.ri-report-custom__year,.ri-report-form__filters{grid-template-columns:1fr}.ri-report-form__search{align-items:stretch;flex-direction:column}.ri-report-form__search .btn{align-self:flex-start}.ri-report-form__search .text-link{align-self:flex-start}.ri-report__summary{gap:.65rem}.ri-report__summary .research-stat{padding:.8rem}.ri-report__summary .research-stat__value{font-size:1.35rem}.ri-report__results-head{gap:.8rem}.ri-report__exports{justify-content:flex-start}.ri-report__exports .btn{flex:1 1 8rem;text-align:center}.ri-report-table{min-width:0}.ri-report-table thead{display:none}.ri-report-table,.ri-report-table tbody,.ri-report-table tr,.ri-report-table td{display:block;width:100%}.ri-report-table tr{border-top:1px solid var(--ri-line);padding:.85rem 0}.ri-report-table tr:first-child{border-top:0;padding-top:0}.ri-report-table td{border:0;display:flex;gap:1rem;justify-content:space-between;padding:.24rem 0}.ri-report-table td:first-child{display:block;max-width:none;width:100%}.ri-report-table td::before{color:var(--muted);content:attr(data-label);flex:0 0 8.5rem;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.ri-report-table td:first-child::before{display:none}.ri-report-table td .badge{margin-left:auto}.ri-report__period-value{font-size:1.05rem}}

/* Academic Operations Phase 2 — command center and task workspace. */
.ao-command-center__header{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between}.ao-command-center__header h1{margin:.2rem 0 .35rem}.ao-command-center__header p{margin:0}.ao-command-center__header-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.ao-secondary-nav{border-bottom:1px solid var(--border);display:flex;gap:.2rem;margin:1.1rem 0 1.3rem;overflow-x:auto;padding-bottom:.2rem}.ao-secondary-nav__link{border-bottom:2px solid transparent;color:var(--muted);font-size:.82rem;font-weight:700;padding:.65rem .75rem;text-decoration:none;white-space:nowrap}.ao-secondary-nav__link:hover,.ao-secondary-nav__link:focus-visible,.ao-secondary-nav__link--active{border-color:#8ce8ff;color:var(--text)}.ao-summary-grid{display:grid;gap:.65rem;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:1.35rem}.ao-summary-card{background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:.85rem}.ao-summary-card--attention{border-color:rgba(140,232,255,.38)}.ao-summary-card--due{border-color:rgba(246,166,75,.42)}.ao-summary-card--urgent{border-color:rgba(239,102,117,.45)}.ao-summary-card__value{color:var(--text);font-size:1.45rem;font-weight:850;line-height:1}.ao-summary-card__label{color:var(--muted);font-size:.7rem;line-height:1.25}.ao-command-section{margin-top:1.2rem}.ao-command-section__header{align-items:flex-end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.ao-command-section__header h2{margin:.15rem 0 0}.ao-command-section__header p{margin:0}.ao-attention-groups{display:grid;gap:.7rem}.ao-attention-group,.ao-work-group{background:rgba(255,255,255,.018);border:1px solid var(--border);border-radius:14px;padding:.85rem}.ao-attention-group__header{align-items:center;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:.6rem}.ao-attention-group__header h3,.ao-work-group h3{font-size:.92rem;margin:0}.ao-task-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ao-task-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ao-task-list{display:grid;gap:.65rem}.ao-task-card{background:rgba(15,26,48,.56);border:1px solid var(--border);border-left:3px solid rgba(148,163,184,.44);border-radius:12px;display:flex;flex-direction:column;gap:.55rem;min-width:0;padding:.85rem}.ao-task-card:hover{background:rgba(255,255,255,.055);border-color:rgba(140,232,255,.38)}.ao-task-card--urgent,.ao-task-card--overdue{border-left-color:#ef6675;background:rgba(239,102,117,.055)}.ao-task-card--due{border-left-color:#f6a64b;background:rgba(246,166,75,.045)}.ao-task-card--unread{border-left-color:#8ce8ff}.ao-task-card--complete{border-left-color:#62d39b}.ao-task-card__topline{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.ao-task-card__signals{display:flex;flex-wrap:wrap;gap:.3rem;min-width:0}.ao-task-card__signal,.ao-task-card__priority{border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.67rem;font-weight:750;line-height:1.2;padding:.22rem .45rem}.ao-task-card__signal--unread{background:rgba(140,232,255,.1);border-color:rgba(140,232,255,.35);color:#b7f3ff}.ao-task-card__signal--overdue{background:rgba(239,102,117,.12);border-color:rgba(239,102,117,.42);color:#ffd4d8}.ao-task-card__signal--due{background:rgba(246,166,75,.12);border-color:rgba(246,166,75,.4);color:#ffd39f}.ao-task-card__signal--ack{background:rgba(246,166,75,.08);border-color:rgba(246,166,75,.28);color:#ffd39f}.ao-task-card__signal--complete{background:rgba(98,211,155,.1);border-color:rgba(98,211,155,.32);color:#a7f3c8}.ao-task-card__priority--urgent{border-color:rgba(239,102,117,.48);color:#ffd4d8}.ao-task-card__priority--high{border-color:rgba(246,166,75,.42);color:#ffd39f}.ao-task-card__title{font-size:1rem;line-height:1.25;margin:0}.ao-task-card__title a{color:var(--text);text-decoration:none}.ao-task-card__title a:hover{text-decoration:underline}.ao-task-card__description{color:var(--muted);font-size:.78rem;line-height:1.4;margin:0}.ao-task-card__meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.7rem;gap:.25rem .55rem;line-height:1.35}.ao-task-card__meta span+span::before{content:"·";margin-right:.55rem;opacity:.65}.ao-task-card__actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.ao-task-card__actions .btn{font-size:.72rem;min-height:34px;padding:.4rem .6rem}.ao-empty-state{align-items:center;color:var(--muted);display:flex;font-size:.78rem;gap:.5rem;padding:.45rem 0}.ao-empty-state--compact{padding:.25rem 0}.ao-empty-state__icon{align-items:center;background:rgba(98,211,155,.12);border:1px solid rgba(98,211,155,.28);border-radius:50%;color:#a7f3c8;display:inline-flex;flex:0 0 1.35rem;font-size:.8rem;font-weight:800;height:1.35rem;justify-content:center;width:1.35rem}.ao-command-center__ineligible{margin-top:1.2rem;padding:1.3rem}.ao-command-center__ineligible h2{margin:.2rem 0}.ao-work-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.ao-work-group{min-width:0}.ao-timeline{display:grid;gap:0;list-style:none;margin:0;padding:0}.ao-timeline__item{display:grid;gap:.7rem;grid-template-columns:1rem minmax(0,1fr);padding:.75rem 0}.ao-timeline__item+.ao-timeline__item{border-top:1px solid var(--border)}.ao-timeline__marker{background:#8ce8ff;border:3px solid rgba(140,232,255,.18);border-radius:50%;height:.75rem;margin-top:.2rem;width:.75rem}.ao-timeline__body{min-width:0}.ao-timeline__meta{color:var(--muted);font-size:.7rem}.ao-timeline__task{color:#b7f3ff;font-size:.85rem;font-weight:750;text-decoration:none}.ao-timeline__task:hover{text-decoration:underline}.ao-timeline__body p{margin:.3rem 0 0;white-space:pre-wrap}.ao-task-page__header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.ao-task-page__header h1{margin:.2rem 0 .35rem}.ao-task-page__header p{margin:0}.ao-task-status{border:1px solid rgba(239,102,117,.48);border-radius:999px;color:#ffd4d8;font-size:.75rem;font-weight:800;padding:.4rem .6rem}.ao-task-workspace{align-items:start;display:grid;gap:1.1rem;grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);margin-top:1rem}.ao-task-workspace__main,.ao-task-workspace__sidebar{display:grid;gap:1rem;min-width:0}.ao-task-hero,.ao-task-panel,.ao-task-facts,.ao-acknowledgement{padding:1.15rem}.ao-task-hero__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.ao-chip{background:rgba(255,255,255,.035);border:1px solid var(--border);border-radius:999px;color:var(--muted);display:inline-flex;font-size:.72rem;font-weight:750;padding:.28rem .5rem}.ao-chip--priority-urgent,.ao-chip--overdue{border-color:rgba(239,102,117,.45);color:#ffd4d8}.ao-chip--priority-high{border-color:rgba(246,166,75,.42);color:#ffd39f}.ao-chip--status-done{border-color:rgba(98,211,155,.36);color:#a7f3c8}.ao-chip--status-in_progress{border-color:rgba(140,232,255,.38);color:#b7f3ff}.ao-chip--unread{border-color:rgba(140,232,255,.38);color:#b7f3ff}.ao-task-description{font-size:1rem;line-height:1.65;white-space:pre-wrap}.ao-task-panel__header{align-items:flex-start;display:flex;gap:.7rem;justify-content:space-between;margin-bottom:.85rem}.ao-task-panel__header h2{font-size:1.05rem;margin:.15rem 0 0}.ao-status-form{display:grid;gap:.45rem}.ao-status-form__actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.ao-update-form{border-top:1px solid var(--border);display:grid;gap:.45rem;margin-top:1rem;padding-top:1rem}.ao-update-form .btn{justify-self:start}.ao-acknowledgement__required,.ao-acknowledgement__complete{align-items:flex-start;display:flex;gap:.7rem}.ao-acknowledgement__required p{margin:.3rem 0 .7rem}.ao-acknowledgement__required form{margin:0}.ao-acknowledgement__icon{align-items:center;background:rgba(98,211,155,.12);border:1px solid rgba(98,211,155,.32);border-radius:50%;color:#a7f3c8;display:inline-flex;flex:0 0 2rem;font-size:1.1rem;font-weight:850;height:2rem;justify-content:center;width:2rem}.ao-task-facts__list{display:grid;gap:.7rem;margin:0}.ao-task-facts__list div{border-bottom:1px solid var(--border);display:grid;gap:.15rem;padding-bottom:.65rem}.ao-task-facts__list div:last-child{border-bottom:0;padding-bottom:0}.ao-task-facts__list dt{color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.ao-task-facts__list dd{color:var(--text);font-size:.82rem;line-height:1.4;margin:0;overflow-wrap:anywhere}.ao-timeline--detail{padding-left:.1rem}
@media (max-width:980px){.ao-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ao-task-workspace{grid-template-columns:1fr}.ao-task-workspace__sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.ao-command-center__header,.ao-command-section__header,.ao-task-page__header{align-items:flex-start;flex-direction:column}.ao-command-center__header-actions{justify-content:flex-start}.ao-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ao-task-grid,.ao-task-grid--compact,.ao-work-grid{grid-template-columns:1fr}.ao-task-workspace__sidebar{grid-template-columns:1fr}.ao-command-section__header .btn{align-self:flex-start}}
@media (max-width:520px){.ao-summary-card{padding:.7rem}.ao-summary-card__value{font-size:1.25rem}.ao-task-card__meta{display:grid;gap:.22rem}.ao-task-card__meta span+span::before{display:none}.ao-task-card__actions .btn{flex:1 1 8rem;text-align:center}.ao-secondary-nav__link{padding-inline:.55rem}}
