/* Cassell consolidated theme and responsive presentation.
 * Preserves the former cassell-vision-design.css -> cassell-unified-theme.css cascade order.
 * Retired source files remain only for cached older HTML; do not load both chains.
 * See docs/CASSELL_CSS_CONSOLIDATION.md before adding another override layer.
 */
/* Cassell Vision Design System
   Fluid, restrained, cinematic. Inspired by premium product interfaces,
   adapted to the Cassell College world instead of imitating any brand. */
:root{
 --vision-ease:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth}
body{
 min-height:100vh;
}
body:before{
 content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;
}
body:after{
 content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.5;
 background:radial-gradient(circle at 50% -20%,transparent 0 38%,rgba(0,0,0,.42) 86%);
}
.vision-ambient{
 position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;
}
.vision-orb{position:absolute;border-radius:999px;filter:blur(90px);opacity:.13;will-change:transform}
.vision-orb:nth-child(1){width:42vw;height:42vw;left:-16vw;top:12vh;background:#477eb7}
.vision-orb:nth-child(2){width:34vw;height:34vw;right:-12vw;top:35vh;background:#a88040}
.vision-orb:nth-child(3){width:26vw;height:26vw;left:38vw;bottom:-14vw;background:#315f78}
.vision-progress{position:fixed;left:0;top:0;width:var(--page-progress,0%);z-index:9999;transition:width 80ms linear}

/* Shell */
.site-head{position:relative;border:0}
.utility-inner{min-height:32px;color:var(--vision-dim);font-size:10px;letter-spacing:.08em}
.status-online{color:var(--vision-green)}
.head-main{padding-top:10px;padding-bottom:10px}
.brand-lockup{gap:14px}
.brand-lockup .seal{width:48px;height:48px;border:1px solid rgba(255,255,255,.14)}
.brand-copy strong{letter-spacing:.08em}
.brand-copy span{letter-spacing:.17em;font-size:9px}
.access-chip{padding:7px 11px}
.search-form{transition:border-color var(--vision-fast),background var(--vision-fast),box-shadow var(--vision-fast),transform var(--vision-fast)}
.search-form input{color:var(--vision-text)}
.search-form input::placeholder{color:#707986}
.primary-nav{z-index:60;border:0}
.nav-inner{pointer-events:auto}
.nav-link{position:relative;transition:color var(--vision-fast),background var(--vision-fast),transform var(--vision-fast)}
.nav-link.active:after{content:"";position:absolute;left:24%;right:24%;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--vision-blue),var(--vision-gold-bright));box-shadow:0 0 10px rgba(143,200,255,.45)}
.user-menu-btn,.quick-account-switch{border:0!important;transition:background var(--vision-fast),transform var(--vision-fast)}
.context-bar{background:transparent;border:0}
.context-inner{color:var(--vision-dim);font-size:10px;gap:20px;overflow-x:auto;scrollbar-width:none}
.context-inner::-webkit-scrollbar{display:none}
.footer-inner{color:var(--vision-dim);padding-block:28px}

/* Typography and spacious rhythm */
h2{line-height:1.12}

/* Content surfaces */
.panel,.profile-card,.archive-card,.news-card,.notification-card,.mission-card,.explore-card{
 position:relative;
 overflow:hidden;
 transition:transform var(--vision-medium) var(--vision-ease),border-color var(--vision-medium),box-shadow var(--vision-medium),background var(--vision-medium);
}
.panel:before,.profile-card:before,.archive-card:before,.news-card:before,.notification-card:before{
 content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
 background:radial-gradient(480px circle at var(--card-x,50%) var(--card-y,0%),rgba(160,205,255,.11),transparent 45%);
 transition:opacity var(--vision-medium);
}
.panel:hover:before,.profile-card:hover:before,.archive-card:hover:before,.news-card:hover:before,.notification-card:hover:before{opacity:1}
.notice-strip strong{font-size:11px}

/* Hero */
.workbench-hero:after{content:"";position:absolute;width:320px;height:320px;right:-90px;bottom:-130px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.018),0 0 0 90px rgba(255,255,255,.012);pointer-events:none}
.workbench-hero .panel-body{display:flex;flex-direction:column}
.workbench-title-row{align-items:flex-start}
.classification{padding:9px 14px}
.identity-card{background:transparent}
.identity-card .avatar{width:54px;height:54px}
.session-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden}
.session-ledger span{font-size:9px;letter-spacing:.11em}
.session-ledger strong{font-size:11px;font-weight:550}
.home-actions{display:flex;flex-wrap:wrap}
.btn-primary{box-shadow:0 10px 28px rgba(190,154,73,.22)!important}

/* Lists and forum */
.list-item,.thread-row,.post,.notification-item,.activity-row,.search-result,.archive-row{
 position:relative;border:0!important;
 padding:16px 17px!important;
 transition:background var(--vision-fast),transform var(--vision-fast),box-shadow var(--vision-fast);
}
.list-item+ .list-item,.thread-row+ .thread-row,.notification-item+ .notification-item{border-top:1px solid rgba(255,255,255,.055)!important}
.list-item>a,.thread-row a{font-weight:590;text-decoration:none}
.list-item p,.thread-row p{color:var(--vision-muted)}
.board-group,.forum-directory,.forum-toolbar,.thread-header,.thread-actions,.composer,.modal-card,.drawer-panel{
 border-color:var(--vision-stroke)!important;
}
.board-row{transition:background var(--vision-fast),transform var(--vision-fast)}
.board-row:hover{transform:translateX(3px)}
.thread-header{padding:clamp(24px,4vw,46px)!important}
.thread-header h1{font-size:clamp(30px,4vw,54px)}
.post{padding:24px!important;border:1px solid var(--vision-stroke-soft)!important;margin-bottom:12px!important}
.post:hover{background:rgba(255,255,255,.04)!important}
.field,textarea,select,input{
 border-color:var(--vision-stroke)!important;background:rgba(255,255,255,.045)!important;color:var(--vision-text)!important;border-radius:13px!important;transition:border-color var(--vision-fast),box-shadow var(--vision-fast),background var(--vision-fast)!important;
}
.field:focus,textarea:focus,select:focus,input:focus{outline:none!important;border-color:rgba(143,200,255,.45)!important;background:rgba(255,255,255,.07)!important;box-shadow:0 0 0 5px rgba(98,162,226,.09)!important}

/* Login experience */
.login{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:0}
.login-scene{position:relative;padding:clamp(42px,8vw,120px);display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.login-scene:after{content:"";position:absolute;width:68vw;height:68vw;left:-32vw;bottom:-48vw;border:1px solid rgba(255,255,255,.075);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.01)}
.login-scene h1{font-size:clamp(50px,8vw,112px);line-height:.88;margin:34px 0 28px;max-width:850px}
.login-scene>p{max-width:620px;color:var(--vision-muted);font-size:16px}
.login-seal{width:76px;height:76px;border-radius:23px;box-shadow:0 22px 60px rgba(0,0,0,.38)}
.terminal-status{margin-top:42px;border:1px solid var(--vision-stroke);overflow:hidden}
.terminal-status>div{padding:16px 18px;border-color:var(--vision-stroke-soft)}
.login-panel{margin:22px;padding:clamp(28px,4vw,58px);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.login-panel h2{font-size:38px}
.preset-grid{gap:10px}
.preset{padding:17px!important}
.preset:hover{transform:translateY(-4px)}

/* Drawer, modal and auth card */
.modal-backdrop,.drawer-backdrop{backdrop-filter:blur(14px);background:rgba(0,0,0,.5)!important}
.cassell-auth-gate{border-color:var(--vision-stroke)!important}

/* Reveal and page transitions */
.vision-tilt{transform-style:preserve-3d;will-change:transform}

/* Reduced motion and responsive */
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}
@media(max-width:980px){
 .session-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
 .login{grid-template-columns:1fr}
 .login-scene{min-height:54svh;padding:54px 32px 42px}
 .login-scene h1{font-size:clamp(48px,12vw,88px)}
 .login-panel{margin:0 18px 22px}
}
@media(max-width:720px){
 .utility{display:none}
 .brand-copy span,.access-chip{display:none}
 .nav-inner{overflow-x:auto;scrollbar-width:none;justify-content:flex-start}
 .nav-inner::-webkit-scrollbar{display:none}
 .nav-link{flex:0 0 auto;font-size:12px}
 .context-bar{display:none}
 .workbench-title-row{display:block}
 .classification{display:inline-flex}
 .session-ledger{grid-template-columns:1fr 1fr}
 .list-item,.thread-row{padding:15px 13px!important}
 .panel:hover,.profile-card:hover{transform:none!important}
 .login-scene{padding:42px 24px 34px;min-height:48svh}
 .login-panel{margin:0 10px 12px}
 .terminal-status{display:none}
 .cassell-auth-gate{left:10px!important;right:10px!important;bottom:10px!important}
}
@media(max-width:430px){
 .session-ledger{grid-template-columns:1fr}
 .home-actions{grid-template-columns:1fr 1fr}
}
/*
 * Cassell unified theme
 * Final visual normalization layer for the internal-network simulation.
 * Goal: mature institutional forum, restrained academic archive, quiet intelligence-system details.
 * This file intentionally overrides the more decorative visual layers without changing layout logic or content.
 */
:root{
  --cassell-bg:#0a0d11;
  --cassell-bg-deep:#07090c;
  --cassell-surface:#10151b;
  --cassell-surface-raised:#151b22;
  --cassell-surface-muted:#0d1217;
  --cassell-line:#2a3139;
  --cassell-line-soft:#20262d;
  --cassell-text:#ece8df;
  --cassell-text-soft:#c5c2ba;
  --cassell-muted:#9298a0;
  --cassell-gold:#b59a60;
  --cassell-gold-soft:#d1bd88;
  --cassell-blue:#6f91a6;
  --cassell-green:#76947e;
  --cassell-red:#93444a;
  --cassell-radius:7px;
  --cassell-radius-lg:10px;
  --cassell-shadow:0 12px 30px rgba(0,0,0,.22);
  --cassell-serif:"Noto Serif SC","Songti SC","STSong",Georgia,serif;
  --cassell-sans:Inter,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --cassell-mono:"Cascadia Code",Consolas,"SFMono-Regular",monospace;

  /* Normalize values consumed by the previous vision layer. */
  --vision-bg:var(--cassell-bg);
  --vision-bg-soft:var(--cassell-surface);
  --vision-surface:var(--cassell-surface);
  --vision-surface-strong:var(--cassell-surface-raised);
  --vision-surface-light:rgba(255,255,255,.035);
  --vision-stroke:var(--cassell-line);
  --vision-stroke-soft:var(--cassell-line-soft);
  --vision-text:var(--cassell-text);
  --vision-muted:var(--cassell-muted);
  --vision-dim:#737b84;
  --vision-gold:var(--cassell-gold);
  --vision-gold-bright:var(--cassell-gold-soft);
  --vision-blue:var(--cassell-blue);
  --vision-green:var(--cassell-green);
  --vision-red:var(--cassell-red);
  --vision-radius-xl:var(--cassell-radius-lg);
  --vision-radius-lg:var(--cassell-radius-lg);
  --vision-radius-md:var(--cassell-radius);
  --vision-shadow:var(--cassell-shadow);
  --vision-shadow-soft:0 8px 22px rgba(0,0,0,.16);
  --vision-fast:140ms;
  --vision-medium:180ms;
  --vision-slow:220ms;
}
html{
  background:var(--cassell-bg);
  color-scheme:dark;
}
body{
  color:var(--cassell-text);
  background:var(--cassell-bg) !important;
  background-image:none !important;
  background-attachment:scroll !important;
  font-family:var(--cassell-sans);
  letter-spacing:0;
}
body::before{
  background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 18rem) !important;
  background-size:auto !important;
  mask-image:none !important;
  opacity:1 !important;
}
body::after{display:none !important}
/* Remove decorative ambience that reads like a generic AI/SaaS landing page. */
.vision-ambient,.vision-orb{display:none !important}
.vision-progress{
  height:1px !important;
  background:var(--cassell-gold) !important;
  box-shadow:none !important;
}
/* Typography: institutional first, interface second. */
h1,h2,h3,.workbench-title-row h1,.page-title,.panel-head h2,.panel-head h3{
  font-family:var(--cassell-serif) !important;
  letter-spacing:.015em !important;
  text-wrap:pretty;
}
h1,.workbench-title-row h1{
  font-size:clamp(30px,3.4vw,46px) !important;
  line-height:1.12 !important;
  font-weight:600 !important;
}
h2{font-size:clamp(18px,1.8vw,24px) !important}
p{line-height:1.72}
.subtle{color:var(--cassell-muted) !important}
/* Shell: a real intranet, not a floating glass navigation demo. */
.shell{width:min(1320px,calc(100% - 40px)) !important}
.site-head{
  background:var(--cassell-bg-deep) !important;
  border-bottom:1px solid var(--cassell-line) !important;
  box-shadow:none !important;
}
.utility{
  background:#07090c !important;
  border-bottom:1px solid var(--cassell-line-soft) !important;
  backdrop-filter:none !important;
}
.head-main{min-height:82px !important;padding-block:8px !important}
.brand-lockup{color:var(--cassell-text) !important}
.brand-lockup .seal{
  border-color:#756643 !important;
  box-shadow:inset 0 0 0 3px var(--cassell-bg-deep),inset 0 0 0 4px #5d5136 !important;
}
.brand-copy strong{font-family:var(--cassell-serif) !important;font-size:20px !important}
.brand-copy span{color:var(--cassell-muted) !important}
.access-chip,.classification{
  border:1px solid #665b40 !important;
  background:#171711 !important;
  color:var(--cassell-gold-soft) !important;
  border-radius:3px !important;
  box-shadow:none !important;
}
.search-form{
  height:40px !important;
  border:1px solid #343b44 !important;
  background:#0b0f14 !important;
  border-radius:var(--cassell-radius) !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  transform:none !important;
}
.search-form:focus-within{
  border-color:#6e654c !important;
  background:#0d1217 !important;
  box-shadow:0 0 0 2px rgba(181,154,96,.12) !important;
  transform:none !important;
}
.primary-nav{
  position:sticky !important;
  top:0 !important;
  background:#0e1319 !important;
  border-top:1px solid var(--cassell-line-soft) !important;
  border-bottom:1px solid var(--cassell-line) !important;
  pointer-events:auto !important;
}
.nav-inner{
  min-height:46px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
}
.nav-link{
  padding:12px 14px !important;
  border:0 !important;
  border-bottom:2px solid transparent !important;
  border-radius:0 !important;
  color:#abb1b8 !important;
  background:transparent !important;
  transform:none !important;
}
.nav-link:hover{
  color:var(--cassell-text) !important;
  background:#151b22 !important;
  transform:none !important;
}
.nav-link.active{
  color:var(--cassell-gold-soft) !important;
  background:#151a20 !important;
  border-bottom-color:var(--cassell-gold) !important;
  box-shadow:none !important;
}
.nav-link.active::after{display:none !important}
.user-menu-btn,.quick-account-switch{
  border-radius:4px !important;
  background:transparent !important;
  transform:none !important;
}
.user-menu-btn:hover,.quick-account-switch:hover{
  background:#171d24 !important;
  transform:none !important;
}
.context-bar{margin-top:0 !important;border-bottom:1px solid var(--cassell-line-soft) !important}
.context-inner{min-height:34px !important}
.main{padding-top:28px !important;padding-bottom:64px !important}
.site-footer{
  background:#080b0e !important;
  border-top:1px solid var(--cassell-line) !important;
  backdrop-filter:none !important;
}
/* Surfaces: low radius, solid panels, almost no glass. */
.panel,.profile-card,.archive-card,.news-card,.notification-card,.mission-card,.explore-card,
.board-group,.forum-directory,.forum-toolbar,.thread-header,.thread-actions,.composer,.modal-card,.drawer-panel{
  border:1px solid var(--cassell-line) !important;
  border-radius:var(--cassell-radius-lg) !important;
  background:var(--cassell-surface) !important;
  background-image:none !important;
  box-shadow:0 8px 22px rgba(0,0,0,.14) !important;
  backdrop-filter:none !important;
  transform:none !important;
}
.panel::before,.profile-card::before,.archive-card::before,.news-card::before,.notification-card::before{display:none !important}
@media(hover:hover) and (pointer:fine){
  .panel:not(.workbench-hero):hover,.profile-card:hover,.archive-card:hover,.news-card:hover,.mission-card:hover,.explore-card:hover{
    transform:none !important;
    border-color:#3a424c !important;
    box-shadow:0 8px 22px rgba(0,0,0,.14) !important;
  }
}
.panel-head{
  min-height:49px !important;
  padding:12px 16px !important;
  border-bottom:1px solid var(--cassell-line) !important;
  background:var(--cassell-surface-raised) !important;
}
.panel-head h2{font-size:16px !important;letter-spacing:.025em !important}
.panel-body{padding:18px !important}
.stack{gap:18px !important}
.grid-home{gap:20px !important;grid-template-columns:minmax(0,1fr) 320px !important}
.notice-strip{
  margin-bottom:20px !important;
  padding:10px 14px !important;
  border:1px solid #4c3033 !important;
  border-left:3px solid var(--cassell-red) !important;
  border-radius:0 !important;
  background:#201619 !important;
  color:#c9babb !important;
  box-shadow:none !important;
}
.notice-strip strong{color:#d9b4b6 !important;letter-spacing:.04em !important}
/* Home workbench: reduce the giant product-landing hero into an intranet summary module. */
.workbench-hero{
  min-height:0 !important;
  border-radius:var(--cassell-radius-lg) !important;
  background:var(--cassell-surface) !important;
  box-shadow:0 8px 22px rgba(0,0,0,.14) !important;
}
.workbench-hero::after{display:none !important}
.workbench-hero .panel-body{
  min-height:0 !important;
  padding:28px !important;
}
.workbench-kicker{
  margin-bottom:12px !important;
  color:var(--cassell-gold) !important;
  font-family:var(--cassell-mono) !important;
  font-size:10px !important;
  letter-spacing:.12em !important;
}
.workbench-title-row{gap:18px !important}
.workbench-copy{
  max-width:700px !important;
  margin-top:12px !important;
  color:var(--cassell-muted) !important;
  font-size:14px !important;
}
.identity-card{
  margin-top:24px !important;
  padding-top:18px !important;
  border-top:1px solid var(--cassell-line-soft) !important;
}
.identity-card .avatar{border-radius:3px !important;box-shadow:none !important}
.identity-meta strong{font-size:16px !important}
.session-ledger{
  margin-top:20px !important;
  border:1px solid var(--cassell-line) !important;
  border-radius:4px !important;
  background:var(--cassell-line) !important;
}
.session-ledger>div{padding:11px 12px !important;background:#0c1116 !important}
.session-ledger span{color:#737b84 !important}
.session-ledger strong{color:#cfd1cd !important}
.home-actions{margin-top:16px !important;gap:8px !important}
/* Buttons: reserve pills for status labels, not actions. */
.btn,.button,a.button,.quick-action,.preset,.mobile-menu,.icon-btn{
  border-radius:var(--cassell-radius) !important;
  box-shadow:none !important;
  transform:none !important;
  transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease !important;
}
.btn,.button,a.button,.quick-action{
  border:1px solid #3a424b !important;
  background:#171d24 !important;
  color:var(--cassell-text-soft) !important;
}
.btn:hover,.button:hover,a.button:hover,.quick-action:hover{
  border-color:#615a49 !important;
  background:#1b222a !important;
  color:var(--cassell-text) !important;
  transform:none !important;
  box-shadow:none !important;
}
.btn-primary{
  border-color:#aa915b !important;
  background:#aa915b !important;
  background-image:none !important;
  color:#15120c !important;
  font-weight:700 !important;
}
.btn-primary:hover{
  border-color:#c0a66c !important;
  background:#c0a66c !important;
  color:#15120c !important;
  transform:none !important;
  box-shadow:none !important;
}
.btn-danger{border-color:#704045 !important;color:#d29a9f !important;background:#1b1417 !important}
.quick-action{padding:9px 13px !important;text-decoration:none !important}
/* Keep pills only where compact status semantics benefit from them. */
.badge,.tag,.state,.nav-badge{
  border-radius:3px !important;
  box-shadow:none !important;
}
/* Forum and archive rows: content hierarchy, not card choreography. */
.list{padding:0 !important}
.list-item,.thread-row,.post,.notification-item,.activity-row,.search-result,.archive-row{
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  margin:0 !important;
}
.list-item,.thread-row,.notification-item,.activity-row,.search-result,.archive-row{
  border-bottom:1px solid var(--cassell-line-soft) !important;
}
.list-item:last-child,.thread-row:last-child,.notification-item:last-child,.archive-row:last-child{border-bottom:0 !important}
.list-item:hover,.thread-row:hover,.notification-item:hover,.activity-row:hover,.search-result:hover,.archive-row:hover{
  background:#151b22 !important;
  box-shadow:inset 2px 0 0 #665d45 !important;
  transform:none !important;
}
.list-item>a,.thread-row a,.thread-title{color:var(--cassell-text) !important}
.list-item>a:hover,.thread-row a:hover,.thread-title:hover{color:var(--cassell-gold-soft) !important}
.board-row{border-color:var(--cassell-line-soft) !important;background:transparent !important}
.board-row:hover{background:#141a21 !important}
.group-title{background:var(--cassell-surface-raised) !important}
.board-icon{border-radius:3px !important;background:#0d1217 !important;box-shadow:none !important}
.norma-box{
  border-left:2px solid var(--cassell-blue) !important;
  border-radius:0 !important;
  background:#0e181f !important;
  box-shadow:none !important;
}
.norma-label{color:#8ca9ba !important}
.restricted-panel,.redacted-block{
  border-radius:3px !important;
  box-shadow:none !important;
}
/* Login: more like an old secure terminal foyer, less like a generated product splash. */
.login{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#090c10 !important;
  background-image:none !important;
}
.login::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:image-set(
    url("./assets/cassell-login-library-night-v1.avif") type("image/avif"),
    url("./assets/cassell-login-library-night-v1.webp") type("image/webp")
  );
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
  filter:saturate(.82) contrast(1.04);
  transform:scale(1.01);
}
.login::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(3,7,11,.36) 0%,rgba(4,8,12,.5) 52%,rgba(3,6,10,.74) 100%),
    linear-gradient(180deg,rgba(3,6,9,.08),rgba(3,6,9,.5));
}
.login-scene{
  background:linear-gradient(90deg,rgba(5,9,13,.2),rgba(5,9,13,.42)) !important;
}
.login-scene::before,.login-scene::after{opacity:.18 !important}
.login-scene h1{
  text-shadow:0 3px 28px rgba(0,0,0,.92),0 1px 2px rgba(0,0,0,.9) !important;
}
.login-scene>p,.terminal-status{
  text-shadow:0 2px 14px rgba(0,0,0,.92);
}
.login-panel{
  border:1px solid var(--cassell-line) !important;
  border-radius:var(--cassell-radius-lg) !important;
  background:rgba(10,15,21,.965) !important;
  background-image:none !important;
  box-shadow:var(--cassell-shadow) !important;
  backdrop-filter:none !important;
}
.login-panel h2{font-family:var(--cassell-serif) !important}
.field{
  border:1px solid #343b44 !important;
  border-radius:var(--cassell-radius) !important;
  background:#0b0f14 !important;
  color:var(--cassell-text) !important;
  box-shadow:none !important;
}
.field:focus{
  border-color:#6b624b !important;
  box-shadow:0 0 0 2px rgba(181,154,96,.1) !important;
}
.preset{
  border:1px solid var(--cassell-line) !important;
  background:#0e1319 !important;
  box-shadow:none !important;
}
.preset:hover{border-color:#5c5545 !important;background:#141a20 !important}
.terminal-status{border-radius:4px !important;background:rgba(4,7,10,.42) !important;backdrop-filter:none !important}
/* Dialogs, authentication gate and notifications should feel procedural. */
.toast,.cassell-auth-gate{
  border:1px solid var(--cassell-line) !important;
  border-radius:var(--cassell-radius) !important;
  background:#161c23 !important;
  box-shadow:var(--cassell-shadow) !important;
  backdrop-filter:none !important;
}
.cassell-auth-gate.is-inline{
  position:relative !important;
  inset:auto !important;
  z-index:1 !important;
  width:100% !important;
  margin:20px 0 4px !important;
  box-sizing:border-box;
}
.toast{padding:11px 14px !important}
/* Motion: retain feedback, remove cinematic blur/scale flourishes. */
.vision-reveal{
  opacity:0;
  transform:translateY(5px) !important;
  filter:none !important;
  transition:opacity 180ms ease,transform 180ms ease !important;
}
.vision-reveal.is-visible{opacity:1;transform:none !important;filter:none !important}
html.vision-route-changing #cassell-main{opacity:.55 !important;transform:none !important;filter:none !important}
#cassell-main{transition:opacity 140ms ease !important}
.vision-tilt{transform:none !important}
/* Accessible focus remains visible and consistent. */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--cassell-gold) !important;
  outline-offset:2px !important;
}
@media(max-width:980px){
  .grid-home{grid-template-columns:1fr !important}
  .primary-nav{top:0 !important}
  .login::before{
    background-image:image-set(
      url("./assets/cassell-login-library-night-mobile-v1.avif") type("image/avif"),
      url("./assets/cassell-login-library-night-mobile-v1.webp") type("image/webp")
    );
    background-position:center top;
  }
  .login::after{
    background:linear-gradient(180deg,rgba(3,7,11,.28) 0%,rgba(3,7,11,.56) 42%,rgba(3,7,11,.82) 58%,rgba(3,7,11,.94) 100%);
  }
  .login-scene{background:linear-gradient(180deg,rgba(4,8,12,.2),rgba(4,8,12,.58)) !important}
}
@media(max-width:720px){
  :root{--vision-radius-xl:8px;--vision-radius-lg:8px}
  .shell{width:min(100% - 22px,1320px) !important}
  .head-main{min-height:66px !important}
  .primary-nav{top:0 !important}
  .nav-inner{min-height:46px !important;border-radius:0 !important}
  .nav-link{padding:11px 12px !important}
  .main{padding-top:20px !important;padding-bottom:88px !important}
  .workbench-hero,.workbench-hero .panel-body{min-height:0 !important}
  .workbench-hero .panel-body{padding:22px 18px !important}
  h1,.workbench-title-row h1{font-size:31px !important}
  .classification{margin-top:12px !important}
  .panel-body{padding:16px !important}
  .panel-head{padding:12px 14px !important}
  .login-panel{border-radius:8px !important;padding:24px 18px !important}
  .cassell-auth-gate{border-radius:7px !important}
}
@media(max-width:430px){
  .home-actions{display:flex !important;flex-wrap:wrap !important}
  .quick-action{width:auto !important;text-align:left !important}
}
@media(prefers-reduced-motion:reduce){
  .vision-reveal{opacity:1 !important;transform:none !important}
}
