/* Cyber Cave Portal 5.1.0 — Field Notes design system
   Direction: bold editorial / outdoor-tech / student-club character.
   Light mode = warm paper + ink + ember orange + deep teal.
   Dark mode = charcoal + warm ivory + ember orange + teal.
*/
:root{
  --cc-paper:#f4efe5;
  --cc-paper-2:#ebe3d5;
  --cc-paper-3:#ded2c0;
  --cc-card:#fbf7ef;
  --cc-card-strong:#ffffff;
  --cc-ink:#171816;
  --cc-ink-2:#2a2d29;
  --cc-muted:#6d6b64;
  --cc-muted-2:#8a867d;
  --cc-line:#d7cbbb;
  --cc-line-strong:#bda992;
  --cc-charcoal:#171a18;
  --cc-charcoal-2:#202421;
  --cc-charcoal-3:#2a2f2b;
  --cc-orange:#e56b27;
  --cc-orange-2:#bc4e17;
  --cc-teal:#176b68;
  --cc-teal-2:#0e504e;
  --cc-gold:#c89b38;
  --cc-green:#41735a;
  --cc-red:#a84838;
  --cc-cream:#fffaf0;
  --cc-sidebar:#171816;
  --cc-sidebar-ink:#f6efe2;
  --cc-sidebar-muted:#b8b0a3;
  --cc-shadow:0 18px 48px rgba(42,32,22,.14);
  --cc-shadow-soft:0 7px 22px rgba(42,32,22,.09);
  --cc-shadow-lift:0 20px 42px rgba(29,23,18,.18);
  --cc-radius:14px;
  --cc-radius-sm:9px;
  --cc-sidebar-width:242px;
  --bg:var(--cc-paper);--surface:var(--cc-card);--ink:var(--cc-ink);--muted:var(--cc-muted);--line:var(--cc-line);
  --blue:var(--cc-teal);--purple:var(--cc-orange);--orange:var(--cc-orange);--green:var(--cc-green);--red:var(--cc-red);
  --navy:var(--cc-charcoal);--shadow:var(--cc-shadow);--radius:var(--cc-radius)
}
html[data-theme="dark"]{
  --cc-paper:#151816;--cc-paper-2:#1b1f1c;--cc-paper-3:#252a26;
  --cc-card:#1e221f;--cc-card-strong:#242925;
  --cc-ink:#f3ecdf;--cc-ink-2:#ddd3c4;--cc-muted:#aea79c;--cc-muted-2:#858079;
  --cc-line:#353b36;--cc-line-strong:#4c544c;
  --cc-charcoal:#0e100f;--cc-charcoal-2:#151815;--cc-charcoal-3:#222722;
  --cc-orange:#f17a34;--cc-orange-2:#e7601b;--cc-teal:#48aaa3;--cc-teal-2:#7bc7c1;
  --cc-gold:#d6ad52;--cc-green:#69a47f;--cc-red:#db7562;--cc-cream:#fff7e8;
  --cc-sidebar:#0f1110;--cc-sidebar-ink:#fff7e9;--cc-sidebar-muted:#bdb5a8;
  --cc-shadow:0 20px 54px rgba(0,0,0,.32);--cc-shadow-soft:0 9px 26px rgba(0,0,0,.22);--cc-shadow-lift:0 24px 58px rgba(0,0,0,.38)
}

*{box-sizing:border-box}
html{background:var(--cc-paper);color-scheme:light;scrollbar-color:var(--cc-line-strong) var(--cc-paper)}
html[data-theme="dark"]{color-scheme:dark}
body{font-family:Inter,Aptos,"Segoe UI",system-ui,-apple-system,sans-serif!important;background-color:var(--cc-paper)!important;color:var(--cc-ink)!important;font-size:16px!important;line-height:1.55;letter-spacing:-.006em}
body:not(.kiosk-body):not(.announcements-display-body):not(.photo-board-display-body):not(.bpa-kindle-body){
  background-image:radial-gradient(circle at 15% 10%,rgba(229,107,39,.045) 0 1px,transparent 1.4px),radial-gradient(circle at 85% 42%,rgba(23,107,104,.038) 0 1px,transparent 1.4px);
  background-size:22px 22px,27px 27px;
}
::selection{background:rgba(229,107,39,.26);color:var(--cc-ink)}
a{transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease}
p{line-height:1.62}.muted,small{color:var(--cc-muted)}

/* Typography — bold, readable, editorial */
h1,h2,h3,h4,h5,h6,.workspace-heading h1,.welcome-row h1,.dashboard-welcome h1,.profile-title-row h1,.form-card h2,.section-heading h2{
  font-family:Oswald,"Arial Narrow","Aptos Display",sans-serif!important;
  color:var(--cc-ink)!important;
  letter-spacing:.008em!important;
  font-weight:650!important;
  line-height:1.08!important;
}
h1,.workspace-heading h1,.welcome-row h1{font-size:clamp(2.35rem,3.2vw,4rem)!important;text-transform:uppercase}
h2{font-size:clamp(1.55rem,2vw,2.25rem)!important}h3{font-size:1.32rem!important}h4{font-size:1.08rem!important}
.eyebrow,.kicker,[class*="-kicker"]{font-family:Inter,sans-serif!important;text-transform:uppercase!important;letter-spacing:.145em!important;font-weight:850!important;font-size:.78rem!important;color:var(--cc-orange)!important}
blockquote,.editorial-quote,.sidebar-quote{font-family:Lora,Georgia,serif!important;font-style:italic}
label{font-size:.88rem!important;font-weight:780!important;color:var(--cc-ink-2)!important}
button,.button,.mini-button,.text-button{font-weight:800!important}

/* Frame + permanent dark club-style sidebar */
.app-shell-active{background:var(--cc-paper)!important}.app-sidebar{width:var(--cc-sidebar-width)!important;background:var(--cc-sidebar)!important;border-right:0!important;padding:24px 13px 18px!important;box-shadow:12px 0 38px rgba(20,15,10,.12);overflow:hidden}
.app-sidebar::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background-image:radial-gradient(circle at 20% 10%,rgba(229,107,39,.16),transparent 28%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px)}
.app-sidebar>*{position:relative;z-index:1}.app-main{margin-left:var(--cc-sidebar-width)!important;background:transparent!important;min-height:100vh}
.sidebar-brand{padding:4px 10px 28px!important;color:var(--cc-sidebar-ink)!important;font-family:Oswald,"Arial Narrow",sans-serif!important;font-size:1.32rem!important;text-transform:uppercase;letter-spacing:.08em!important;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:15px}
.sidebar-brand .brand-mark{width:42px!important;height:42px!important;border-radius:8px!important;background:var(--cc-orange)!important;color:#fff!important;box-shadow:0 8px 24px rgba(229,107,39,.28)!important;font-family:Inter,sans-serif}
.bpa-sidebar-label{color:var(--cc-orange)!important;font-size:.69rem!important;letter-spacing:.18em!important;margin:16px 10px 7px!important}
.sidebar-nav{gap:4px!important}.sidebar-nav a{position:relative;color:var(--cc-sidebar-muted)!important;border-radius:7px!important;padding:11px 12px!important;min-height:45px;border-left:3px solid transparent!important;transition:.17s ease!important}
.sidebar-nav a span{font-size:1.08rem!important;color:currentColor!important}.sidebar-nav a strong{font-size:.91rem!important;letter-spacing:.003em}.sidebar-nav a:hover{background:rgba(255,255,255,.065)!important;color:#fff!important;transform:translateX(2px)}
.sidebar-nav a.is-active{background:linear-gradient(90deg,rgba(229,107,39,.18),rgba(229,107,39,.035))!important;color:#fff5e9!important;border-left-color:var(--cc-orange)!important;box-shadow:inset 0 0 0 1px rgba(229,107,39,.10)}
.sidebar-nav a.is-active span{color:var(--cc-orange)!important}.sidebar-footer{border-top-color:rgba(255,255,255,.10)!important;color:var(--cc-sidebar-ink)!important}.sidebar-footer a{color:var(--cc-sidebar-muted)!important}
.cc-theme-switch{margin-top:auto!important;padding-top:15px!important;border-top:1px solid rgba(255,255,255,.10)!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.cc-theme-switch button{border:1px solid rgba(255,255,255,.08)!important;border-radius:7px!important;background:rgba(255,255,255,.035)!important;color:var(--cc-sidebar-muted)!important;padding:10px 7px!important;font:800 .74rem/1 Inter,sans-serif!important;cursor:pointer}.cc-theme-switch button.is-active{background:var(--cc-orange)!important;color:#fff!important;border-color:var(--cc-orange)!important;box-shadow:0 8px 18px rgba(229,107,39,.20)!important}
.cc-theme-float{position:fixed;right:22px;top:20px;z-index:9999;background:var(--cc-charcoal)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:9px!important;padding:5px!important;box-shadow:var(--cc-shadow)!important;display:flex;gap:3px}.cc-theme-float button{border:0;background:transparent;color:#cfc6ba;border-radius:6px;padding:8px 11px;font-weight:800;cursor:pointer}.cc-theme-float button.is-active{background:var(--cc-orange);color:#fff}

/* Content width / whitespace use */
.workspace-shell,.dashboard-shell{max-width:1660px!important;margin:0 auto!important;padding:38px 38px 78px!important}.workspace-heading,.welcome-row{margin-bottom:25px!important}.workspace-heading p:last-child,.welcome-row p{color:var(--cc-muted)!important;font-size:1rem!important;max-width:850px}.workspace-heading h1,.welcome-row h1{margin:.16em 0!important}
.section-heading{margin-bottom:14px}.section-heading h2,.section-heading h3{margin:0}.section-heading p{color:var(--cc-muted)}

/* Big page hero / profile hero */
.dashboard-welcome,.dashboard-hero,.profile-banner,.announcements-hero,.bpa-bank-hero,.bpa-student-hero,.bpa-student-competition-hero,.photo-board-hero,.classroom-display-hero{
  position:relative;overflow:hidden;background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:13px!important;box-shadow:var(--cc-shadow-lift)!important
}
.dashboard-welcome::before,.dashboard-hero::before,.profile-banner::before,.announcements-hero::before,.bpa-bank-hero::before,.bpa-student-hero::before,.bpa-student-competition-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 20%,rgba(23,107,104,.30),transparent 33%),radial-gradient(circle at 65% 88%,rgba(229,107,39,.18),transparent 25%),repeating-linear-gradient(135deg,rgba(255,255,255,.024) 0 1px,transparent 1px 9px)}
.dashboard-welcome>* ,.dashboard-hero>* ,.profile-banner>* ,.announcements-hero>* ,.bpa-bank-hero>* ,.bpa-student-hero>* ,.bpa-student-competition-hero>*{position:relative;z-index:1}
.dashboard-welcome h1,.dashboard-hero h1,.profile-banner h1,.announcements-hero h1,.bpa-bank-hero h1,.bpa-student-hero h1,.bpa-student-competition-hero h1,.profile-banner strong{color:var(--cc-cream)!important}.dashboard-welcome .eyebrow,.dashboard-hero .eyebrow,.profile-banner .eyebrow{color:#ff8a4a!important}

/* Universal components — character without clutter */
.form-card,.center-card,.table-card,.live-panel,.module-card,.workspace-tool-card,.dashboard-center-card,.profile-info-card,.profile-edit-card,.profile-list-card,.settings-card,.teacher-account-card,.attendance-student-row,.attendance-filter-bar,.attendance-summary article,.filter-bar,.book-admin-card,.background-gallery-card,.hub-card,.compact-live,.announcement-card,.behavior-card,.report-card,.lesson-card,.equipment-card{
  background:var(--cc-card)!important;border:1px solid var(--cc-line)!important;color:var(--cc-ink)!important;box-shadow:var(--cc-shadow-soft)!important;border-radius:var(--cc-radius)!important
}
/* Editorial top-edge rhythm for major cards */
.form-card,.settings-card,.report-card,.lesson-card,.profile-info-card,.profile-edit-card,.table-card{border-top:3px solid var(--cc-charcoal)!important}
.module-card,.workspace-tool-card,.hub-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.module-card:hover,.workspace-tool-card:hover,.hub-card:hover{transform:translateY(-2px);box-shadow:var(--cc-shadow)!important;border-color:var(--cc-line-strong)!important}

/* Dark feature panels interspersed among warm cards */
.metric-card:nth-child(2n),.dashboard-center-card.featured,.bpa-program-readiness,.behavior-chart-card.featured{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;border-color:var(--cc-charcoal)!important}.metric-card:nth-child(2n) strong,.metric-card:nth-child(2n) span,.metric-card:nth-child(2n) small,.dashboard-center-card.featured h2,.dashboard-center-card.featured h3,.bpa-program-readiness h2,.bpa-program-readiness h3{color:var(--cc-cream)!important}

/* Metrics become editorial, not pastel */
.metric-grid{gap:14px!important}.metric-card{position:relative;min-height:132px!important;padding:21px 21px 18px!important;border-radius:12px!important;background:var(--cc-card)!important;color:var(--cc-ink)!important;border:1px solid var(--cc-line)!important;box-shadow:var(--cc-shadow-soft)!important;overflow:hidden}
.metric-card::after{content:"";position:absolute;left:0;bottom:0;width:58px;height:5px;background:var(--cc-orange)}.metric-card:nth-child(3n)::after{background:var(--cc-teal)}.metric-card:nth-child(3n+2)::after{background:var(--cc-gold)}
.metric-card strong{font-family:Oswald,"Arial Narrow",sans-serif!important;font-size:2.5rem!important;color:inherit!important;line-height:1!important}.metric-card span{font-weight:780!important;color:inherit!important}.metric-card small{font-size:.82rem!important;color:var(--cc-muted)!important}.metric-card:nth-child(2n) small{color:#c8c0b4!important}
.blue,.purple,.orange,.green,.red{background:var(--cc-card)!important}

/* Buttons */
.button,.mini-button,.text-button{border-radius:7px!important;letter-spacing:.005em!important;transition:.16s ease!important}.button{padding:11px 17px!important;min-height:44px}.button.primary,.login-enter-button{background:var(--cc-orange)!important;color:#fff!important;border:1px solid var(--cc-orange)!important;box-shadow:0 8px 19px rgba(229,107,39,.22)!important}.button.primary:hover,.login-enter-button:hover{background:var(--cc-orange-2)!important;border-color:var(--cc-orange-2)!important;transform:translateY(-1px)}.button.secondary{background:transparent!important;color:var(--cc-ink)!important;border:1px solid var(--cc-line-strong)!important;box-shadow:none!important}.button.secondary:hover{background:var(--cc-paper-2)!important;border-color:var(--cc-charcoal)!important}.mini-button{background:color-mix(in srgb,var(--cc-teal) 12%,var(--cc-card))!important;color:var(--cc-teal)!important;border:1px solid color-mix(in srgb,var(--cc-teal) 28%,var(--cc-line))!important}.text-link{color:var(--cc-orange)!important;font-weight:800!important}.text-link:hover{color:var(--cc-orange-2)!important}

/* Forms — larger and more readable */
input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--cc-card-strong)!important;color:var(--cc-ink)!important;border:1px solid var(--cc-line-strong)!important;border-radius:7px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)!important;min-height:46px!important;font-size:.96rem!important;padding:11px 13px!important}
textarea{min-height:92px!important}input::placeholder,textarea::placeholder{color:var(--cc-muted-2)!important}input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--cc-orange)!important;box-shadow:0 0 0 3px rgba(229,107,39,.13)!important}.check-label{font-size:.91rem!important}.check-label input{accent-color:var(--cc-orange)}

/* Tabs, pills, alerts */
.profile-tabs{border-color:var(--cc-line)!important;gap:8px!important;padding-bottom:0!important}.profile-tabs a{color:var(--cc-muted)!important;border-radius:7px 7px 0 0!important;padding:10px 13px!important;font-size:.91rem!important;font-weight:780!important}.profile-tabs a:hover{background:var(--cc-paper-2)!important;color:var(--cc-ink)!important}.profile-tabs a.active{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;border-bottom-color:var(--cc-orange)!important}.status-pill,.tag,.chip,[class*="-badge"]{font-size:.76rem!important;font-weight:820!important}.status-pill{border-radius:5px!important;background:rgba(65,115,90,.12)!important;color:var(--cc-green)!important;border:1px solid rgba(65,115,90,.22)!important}.alert{border-radius:8px!important;font-size:.92rem!important}.alert.success{background:rgba(65,115,90,.10)!important;color:var(--cc-green)!important;border-color:rgba(65,115,90,.26)!important}.alert.error{background:rgba(168,72,56,.09)!important;color:var(--cc-red)!important;border-color:rgba(168,72,56,.28)!important}

/* Tables */
.table-card{overflow:hidden!important}table{color:var(--cc-ink)!important;font-size:.92rem!important}th{font-family:Inter,sans-serif!important;background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;border-color:var(--cc-charcoal-3)!important;text-transform:uppercase!important;letter-spacing:.07em!important;font-size:.74rem!important;padding:13px 15px!important}td{border-color:var(--cc-line)!important;padding:14px 15px!important}tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--cc-paper-2) 52%,transparent)}tbody tr:hover td{background:rgba(229,107,39,.07)!important}

/* Directory / profiles */
.student-directory-panel{background:var(--cc-paper-2)!important;border-color:var(--cc-line)!important}.student-list-item{border-radius:7px!important}.student-list-item:hover,.student-list-item.active{background:var(--cc-card)!important}.student-list-item.active{box-shadow:inset 4px 0 var(--cc-orange)!important}.student-add-button{background:var(--cc-orange)!important}.profile-initial{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important}.profile-metric-row div{background:var(--cc-paper-2)!important;border:1px solid var(--cc-line)!important;border-radius:8px!important}.profile-title-row span{background:rgba(23,107,104,.18)!important;color:var(--cc-teal)!important}.profile-quick-actions a{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important}

/* Attendance / behavior / reports */
.attendance-choice,.behavior-type-picker button{border-radius:7px!important}.attendance-choice.selected,.behavior-type-picker button.active{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;border-color:var(--cc-charcoal)!important}.attendance-summary article strong,.behavior-center-summary strong{font-family:Oswald,"Arial Narrow",sans-serif!important;font-size:2rem!important}.behavior-positive{--behavior-accent:var(--cc-teal)}.behavior-negative{--behavior-accent:var(--cc-red)}.behavior-observation{--behavior-accent:var(--cc-gold)}

/* Lesson planning grid — paper planner personality */
.lesson-week-grid,.lesson-planner-grid{background:var(--cc-card)!important;border:1px solid var(--cc-line)!important;box-shadow:var(--cc-shadow-soft)!important}.lesson-day-head,.lesson-grid-head{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important}.lesson-slot,.lesson-cell{background:var(--cc-card)!important;border-color:var(--cc-line)!important}.lesson-slot:hover,.lesson-cell:hover{background:rgba(229,107,39,.07)!important}.lesson-card{border-left:4px solid var(--cc-orange)!important}

/* BPA Prep — keep power, align character */
.bpa-workspace,.bpa-admin-page{color:var(--cc-ink)!important}.bpa-workspace-nav,.bpa-secondary-nav{background:var(--cc-charcoal)!important;border-color:var(--cc-charcoal-3)!important}.bpa-workspace-nav a,.bpa-secondary-nav a{color:#c7beb1!important}.bpa-workspace-nav a.active,.bpa-secondary-nav a.active{background:rgba(229,107,39,.16)!important;color:#fff!important;border-color:var(--cc-orange)!important}.bpa-chapter-switcher select{background:var(--cc-charcoal-2)!important;color:#fff!important;border-color:#555c55!important}.bpa-catalog-card-v3,.bpa-catalog-card,.bpa-competition-card{border-top:4px solid var(--cc-orange)!important}.bpa-catalog-card-v3:nth-child(3n),.bpa-competition-card:nth-child(3n){border-top-color:var(--cc-teal)!important}.bpa-catalog-card-v3:nth-child(3n+2),.bpa-competition-card:nth-child(3n+2){border-top-color:var(--cc-gold)!important}.bpa-catalog-card-v3:hover,.bpa-competition-card:hover{transform:translateY(-3px)!important;box-shadow:var(--cc-shadow-lift)!important}.bpa-comp-number,.bpa-card-mark{font-family:Oswald,"Arial Narrow",sans-serif!important}.bpa-bank-round,.bpa-catalog-levels span,.bpa-card-v3-flags span{border-radius:5px!important}
.bpa-bank-upload-card,.bpa-resource-command,.bpa-catalog-command{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;border-color:var(--cc-charcoal)!important}.bpa-bank-upload-card h2,.bpa-resource-command h1,.bpa-resource-command h2,.bpa-catalog-command h1,.bpa-catalog-command h2{color:var(--cc-cream)!important}.bpa-bank-upload-card .eyebrow,.bpa-resource-command .eyebrow,.bpa-catalog-command .eyebrow{color:#ff8a4a!important}

/* Resource management — compact editorial rows */
.bpa-resource-group,.bpa-resource-section{border-radius:10px!important}.bpa-resource-row,.resource-row{background:var(--cc-card)!important;border-bottom-color:var(--cc-line)!important}.bpa-resource-row:hover,.resource-row:hover{background:var(--cc-paper-2)!important}.bpa-resource-row img,.resource-row img{border-radius:6px!important;box-shadow:0 5px 14px rgba(31,24,17,.14)!important}

/* Digital library / cinema: keep immersive but use orange-teal brand */
.bpa-cinema-library,.digital-library-cinema{background:#111412!important;color:#fff!important}.bpa-cinema-library h1,.bpa-cinema-library h2,.bpa-cinema-library h3,.bpa-cinema-library strong{color:#fff!important}.bpa-cinema-kicker{color:#ff8a4a!important}.bpa-cinema-play,.bpa-cinema-read{background:var(--cc-orange)!important;color:#fff!important}.bpa-cinema-poster{border-radius:8px!important}.bpa-cinema-poster:hover{transform:scale(1.055)!important;box-shadow:0 18px 46px rgba(0,0,0,.42)!important}

/* Dialogs / drawers */
dialog,.modal-card,[class*="-dialog"],[class*="-drawer"]{border-radius:12px!important}.modal-card,dialog:not(.announcement-display){background:var(--cc-card)!important;color:var(--cc-ink)!important;border:1px solid var(--cc-line)!important;box-shadow:0 30px 80px rgba(24,18,13,.28)!important}.modal{background:rgba(17,18,16,.66)!important;backdrop-filter:blur(7px)}dialog::backdrop{background:rgba(17,18,16,.60)!important;backdrop-filter:blur(6px)}

/* Question bank editor preserved, re-skinned */
.bpax-bank-edit-dialog,.bpax-question-edit-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:min(1080px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--cc-line);border-radius:12px;background:var(--cc-card);color:var(--cc-ink);box-shadow:0 28px 80px rgba(24,18,13,.34);padding:0;z-index:1200}.bpax-question-edit-dialog{width:min(760px,calc(100vw - 40px));z-index:1210}.bpax-bank-edit-dialog .bpax-access-dialog-head,.bpax-question-edit-dialog .bpax-access-dialog-head{position:sticky;top:0;z-index:3;background:var(--cc-charcoal);color:var(--cc-cream);border-bottom:3px solid var(--cc-orange);padding:22px 24px}.bpax-bank-edit-dialog .bpax-access-dialog-head h2,.bpax-question-edit-dialog .bpax-access-dialog-head h2{color:var(--cc-cream)!important}.bpax-bank-meta-form{padding:22px 24px;border-bottom:1px solid var(--cc-line)}.bpax-bank-edit-list-head{display:flex;align-items:end;justify-content:space-between;padding:20px 24px 10px}.bpax-bank-edit-list{padding:0 24px 24px;display:grid;gap:8px}.bpax-bank-edit-question{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--cc-line);border-radius:8px;background:var(--cc-paper-2)}.bpax-bank-edit-question>span{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--cc-charcoal);color:var(--cc-cream);font-weight:800}.bpax-bank-edit-question>div{min-width:0}.bpax-bank-edit-question strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-bank-edit-question small{display:block;margin-top:3px;color:var(--cc-muted)}.bpax-bank-edit-question form{margin:0}.bpax-muted{color:var(--cc-muted);font-size:.9rem}.bpax-question-edit-dialog .bpax-form{padding:22px 24px}.bpax-bank-row-actions{flex-wrap:wrap}

/* Resource wizard fix remains responsive, but with stronger visual identity */
.bpax-resource-dialog,.bpa-resource-dialog{border-radius:12px!important}.bpax-resource-dialog header,.bpa-resource-dialog header{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;border-bottom:3px solid var(--cc-orange)!important}.bpax-resource-dialog header h2,.bpa-resource-dialog header h2{color:var(--cc-cream)!important}.bpax-resource-step-dot.is-active,.bpa-resource-step-dot.is-active{background:var(--cc-orange)!important;color:#fff!important}

/* Login — warm editorial entrance, not neon SaaS */
.login-body{background:var(--cc-paper)!important;color:var(--cc-ink)!important}.cyber-login-stage{background:var(--cc-paper)!important;min-height:100vh}.cyber-login-visual{opacity:.65}.login-grid-lines{display:none!important}.login-glow{filter:blur(10px)!important}.glow-one{background:radial-gradient(circle,rgba(229,107,39,.18),transparent 68%)!important}.glow-two{background:radial-gradient(circle,rgba(23,107,104,.13),transparent 68%)!important}.login-orbit{border-color:rgba(23,107,104,.13)!important}.login-node{background:var(--cc-orange)!important;box-shadow:0 0 20px rgba(229,107,39,.5)!important}.cyber-login-shell{max-width:1540px!important;grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr)!important}.cyber-login-story{background:var(--cc-charcoal)!important;color:var(--cc-cream)!important;margin:24px 0 24px 24px;border-radius:14px;padding:45px 5vw 38px!important;box-shadow:var(--cc-shadow-lift)!important;overflow:hidden}.cyber-login-story::after{content:"";position:absolute;right:-10%;bottom:-20%;width:62%;height:62%;background:radial-gradient(circle at center,rgba(23,107,104,.35),transparent 60%);pointer-events:none}.cyber-login-brand strong{font-family:Oswald,"Arial Narrow",sans-serif!important;text-transform:uppercase;letter-spacing:.10em!important;color:#fff!important;font-size:1.1rem!important}.cyber-login-brand small{color:#bdb3a6!important}.cyber-login-mark{background:var(--cc-orange)!important;border-radius:7px!important;box-shadow:0 8px 24px rgba(229,107,39,.28)!important}.login-status-pill{border-radius:5px!important;border-color:rgba(229,107,39,.36)!important;background:rgba(229,107,39,.10)!important;color:#ffd9c2!important}.login-status-pill i{background:#79c29d!important}.cyber-login-copy h1{font-family:Oswald,"Arial Narrow",sans-serif!important;color:#fff!important;text-transform:uppercase;font-size:clamp(3.4rem,5.8vw,6.8rem)!important;line-height:.91!important;letter-spacing:.01em!important}.cyber-login-copy h1 em{font-style:normal!important;color:var(--cc-orange)!important;background:none!important;-webkit-text-fill-color:initial!important}.cyber-login-copy>p{color:#d0c6b8!important;font-size:1.02rem!important}.login-feature-row span{border-left-color:var(--cc-orange)!important;background:rgba(255,255,255,.055)!important;color:#e4dacd!important;font-size:.72rem!important}.cyber-login-foot{color:#a79c8e!important}.cyber-login-access{background:transparent!important;border-left:0!important;padding:34px 4vw!important}.login-access-card{border:1px solid var(--cc-line)!important;border-radius:12px!important;background:var(--cc-card)!important;color:var(--cc-ink)!important;box-shadow:var(--cc-shadow)!important;backdrop-filter:none!important;padding:32px!important}.login-access-icon{background:var(--cc-teal)!important;border-radius:7px!important;box-shadow:none!important}.login-access-head .eyebrow{color:var(--cc-orange)!important}.login-access-head h2{color:var(--cc-ink)!important;font-family:Oswald,"Arial Narrow",sans-serif!important;text-transform:uppercase;font-size:2rem!important}.login-access-head p:not(.eyebrow){color:var(--cc-muted)!important;font-size:.78rem!important}.login-access-form label{color:var(--cc-ink-2)!important;font-size:.78rem!important}.login-input-wrap{border-color:var(--cc-line-strong)!important;border-radius:7px!important;background:var(--cc-card-strong)!important}.login-input-wrap:focus-within{border-color:var(--cc-orange)!important;box-shadow:0 0 0 3px rgba(229,107,39,.12)!important}.login-input-wrap i{color:var(--cc-orange)!important}.login-input-wrap input{color:var(--cc-ink)!important;background:transparent!important;font-size:.9rem!important}.login-input-wrap input::placeholder{color:var(--cc-muted-2)!important}.login-secure-note{border-top-color:var(--cc-line)!important;color:var(--cc-muted)!important}.login-secure-note>span{color:var(--cc-teal)!important}.login-secure-note strong{color:var(--cc-ink)!important}.login-access-footer{color:var(--cc-muted)!important}
html[data-theme="dark"] .cyber-login-stage{background:var(--cc-paper)!important}html[data-theme="dark"] .cyber-login-access{background:var(--cc-paper)!important}

/* Dark mode cleanup for legacy hard-coded whites */
html[data-theme="dark"] .app-main :where(.form-card,.center-card,.table-card,.live-panel,.module-card,.workspace-tool-card,.dashboard-center-card,.profile-info-card,.profile-edit-card,.profile-list-card,.settings-card,.teacher-account-card,.attendance-student-row,.filter-bar,.book-admin-card,.background-gallery-card){background:var(--cc-card)!important;color:var(--cc-ink)!important}
html[data-theme="dark"] .button.secondary,html[data-theme="dark"] .mini-button,html[data-theme="dark"] .student-search-form button{background:var(--cc-card-strong)!important;color:var(--cc-ink)!important;border-color:var(--cc-line)!important}
html[data-theme="dark"] .empty-state,html[data-theme="dark"] .empty-cell{color:var(--cc-muted)!important}

/* Immersive displays remain purpose-built */
.kiosk-body,.announcements-display-body,.photo-board-display-body{color-scheme:dark}.kiosk-body .cc-theme-float,.announcements-display-body .cc-theme-float,.photo-board-display-body .cc-theme-float{display:none!important}

/* Responsive */
@media(max-width:1200px){.workspace-shell,.dashboard-shell{padding:30px 28px 70px!important}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){:root{--cc-sidebar-width:78px}.app-sidebar{width:78px!important;padding:18px 9px!important}.sidebar-brand span:last-child,.sidebar-nav strong,.sidebar-footer,.bpa-sidebar-label,.cc-theme-switch{display:none!important}.sidebar-brand{padding-left:7px!important}.sidebar-nav a{justify-content:center!important;padding-inline:8px!important}.app-main{margin-left:78px!important}.workspace-shell,.dashboard-shell{padding:25px 20px 60px!important}.attendance-save-bar{left:94px!important}.cyber-login-shell{grid-template-columns:1fr!important}.cyber-login-story{margin:16px!important;min-height:45vh}.cyber-login-access{padding:22px 18px 40px!important}}
@media(max-width:680px){body{font-size:15.5px!important}.workspace-shell,.dashboard-shell{padding:21px 14px 50px!important}.metric-grid{grid-template-columns:1fr!important}.cc-theme-float{right:10px;top:10px}.cyber-login-story{padding:30px 24px!important}.cyber-login-copy h1{font-size:clamp(3rem,14vw,4.6rem)!important}.login-access-card{padding:24px!important}.bpax-bank-edit-dialog,.bpax-question-edit-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.bpax-bank-edit-question{grid-template-columns:38px 1fr auto}.bpax-bank-edit-question form{grid-column:2/4}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.module-card,.workspace-tool-card,.hub-card,.button,.login-enter-button{transition:none!important}}

/* Cyber Cave Portal 5.1.1 — Mockup fidelity pass
   Adds the visual storytelling, photography, texture and contrast that made the selected mockup work. */
:root{
  --cc-display:"Oswald","Arial Narrow",sans-serif;
  --cc-body:Inter,Aptos,"Segoe UI",system-ui,sans-serif;
  --cc-editorial:Lora,Georgia,serif;
  --cc-ember:#e96822;
  --cc-teal-bright:#15766f;
  --cc-paper-warm:#f6f0e5;
  --cc-panel-dark:#1a1d1b;
}
body{font-family:var(--cc-body)!important;font-size:16.5px!important}
body:not(.kiosk-body):not(.announcements-display-body):not(.photo-board-display-body):not(.bpa-kindle-body){
 background-color:var(--cc-paper)!important;
 background-image:linear-gradient(180deg,rgba(255,255,255,.16),transparent 32%)!important;
 background-repeat:no-repeat!important;
}
.app-sidebar{
 background-color:#171816!important;
 background-image:linear-gradient(180deg,rgba(23,24,22,.95) 0%,rgba(23,24,22,.985) 54%,rgba(23,24,22,.87) 100%),url('/assets/images/field-notes/sidebar-landscape.jpg')!important;
 background-size:cover!important;background-position:center bottom!important;background-repeat:no-repeat!important;
 border-right:1px solid rgba(255,255,255,.07)!important;box-shadow:14px 0 34px rgba(31,23,16,.12)!important;
}
.sidebar-brand{border-bottom:1px solid rgba(255,255,255,.08)!important;padding-bottom:20px!important;margin-bottom:12px!important}
.sidebar-brand span:first-child{background:var(--cc-ember)!important;border-radius:7px!important;box-shadow:0 8px 22px rgba(233,104,34,.24)!important}
.sidebar-brand span:last-child{font-family:var(--cc-display)!important;font-size:1.16rem!important;letter-spacing:.075em!important;text-transform:uppercase!important}
.sidebar-nav a{font-size:.93rem!important;min-height:44px!important;border-radius:5px!important;color:#e7dfd2!important}
.sidebar-nav a:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.sidebar-nav a.active{background:linear-gradient(90deg,rgba(233,104,34,.25),rgba(233,104,34,.07))!important;color:#fff!important;border-left:3px solid var(--cc-ember)!important;box-shadow:none!important}
.sidebar-nav a.active .nav-icon{color:var(--cc-ember)!important}
.cc-theme-switch{background:rgba(0,0,0,.28)!important;border-color:rgba(255,255,255,.10)!important}
.cc-theme-switch button.active{background:var(--cc-ember)!important;color:white!important}
.workspace-shell,.dashboard-shell{max-width:1560px!important}
h1,h2,h3{font-family:var(--cc-display)!important;text-transform:uppercase!important;letter-spacing:.005em!important}
h1{font-size:clamp(2.5rem,4vw,4.85rem)!important;line-height:.94!important}
h2{font-size:clamp(1.55rem,2.35vw,2.35rem)!important;line-height:1.02!important}
.eyebrow{font-family:var(--cc-body)!important;color:var(--cc-ember)!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.button.primary{background:var(--cc-ember)!important;border-color:var(--cc-ember)!important;color:#fff!important;box-shadow:0 8px 22px rgba(233,104,34,.18)!important}
.button.primary:hover{background:#ca5217!important;transform:translateY(-1px)!important}
.button.secondary{background:transparent!important;border:1px solid var(--cc-line-strong)!important;color:var(--cc-ink)!important}

/* Dashboard — graphic, editorial and high contrast like the selected mockup */
.command-dashboard{padding-top:24px!important}
.command-hero{
 min-height:292px!important;padding:42px 44px!important;border-radius:11px!important;
 grid-template-columns:minmax(0,1.12fr) minmax(330px,.62fr)!important;
 background-image:linear-gradient(90deg,rgba(17,20,18,.94) 0%,rgba(17,20,18,.83) 43%,rgba(17,20,18,.30) 72%,rgba(17,20,18,.16) 100%),url('/assets/images/field-notes/dashboard-hero.jpg')!important;
 background-size:cover!important;background-position:center 51%!important;background-color:#151816!important;
 color:#fff8ed!important;border:1px solid rgba(14,18,16,.38)!important;box-shadow:0 20px 45px rgba(37,29,20,.16)!important;
}
.command-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.18));pointer-events:none;z-index:-1}
.command-hero-glow{display:none!important}
.command-hero .eyebrow{color:#ff8a42!important}
.command-hero h1{color:#fff9ef!important;font-size:clamp(3rem,5vw,5.25rem)!important;max-width:820px!important;text-shadow:0 2px 22px rgba(0,0,0,.28)!important}
.command-hero-main>p:not(.eyebrow){color:#eee3d3!important;font-size:1.1rem!important;max-width:620px!important}
.command-session-chip{background:rgba(15,18,16,.72)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:6px!important;padding:9px 13px!important;color:#fff!important}
.command-hero-actions{grid-template-columns:repeat(3,minmax(100px,126px))!important;align-self:end!important}
.command-hero-actions a{min-height:124px!important;padding:16px!important;border-radius:7px!important;background:rgba(20,22,20,.88)!important;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(10px)!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
.command-hero-actions a:hover{background:var(--cc-ember)!important;border-color:var(--cc-ember)!important;transform:translateY(-4px)!important}
.command-hero-actions span{font-size:1.65rem!important;color:#ff8a42!important}.command-hero-actions a:hover span{color:#fff!important}
.command-hero-actions b{font-family:var(--cc-display)!important;text-transform:uppercase!important;font-size:.95rem!important;letter-spacing:.03em!important}
.command-stat-grid{gap:10px!important;margin:14px 0 18px!important}
.command-stat-grid article{padding:18px!important;border-radius:8px!important;background:rgba(255,250,241,.92)!important;border:1px solid #d9c9b6!important;box-shadow:0 7px 20px rgba(52,40,28,.06)!important}
html[data-theme="dark"] .command-stat-grid article{background:#222622!important;border-color:#3d443e!important}
.stat-icon{border-radius:50%!important;width:48px!important;height:48px!important;background:#1f2421!important;color:#fff!important;border:2px solid rgba(255,255,255,.06)!important;box-shadow:0 7px 18px rgba(0,0,0,.16)!important}
.stat-icon.students,.stat-icon.attendance,.stat-icon.positive{background:#1b625d!important;color:#fff!important}.stat-icon.movement,.stat-icon.followup{background:#d86221!important;color:#fff!important}
.command-stat-grid small{color:#6f6a61!important;font-size:.72rem!important}.command-stat-grid strong{font-family:var(--cc-display)!important;font-size:2rem!important;color:var(--cc-ink)!important}.command-stat-grid p{font-size:.8rem!important;color:#777167!important}
html[data-theme="dark"] .command-stat-grid small,html[data-theme="dark"] .command-stat-grid p{color:#aaa298!important}html[data-theme="dark"] .command-stat-grid strong{color:#f4ecdf!important}
.command-bento-grid{gap:14px!important}
.command-panel{border-radius:9px!important;padding:24px!important;background:rgba(255,250,241,.93)!important;border:1px solid #d9c9b6!important;box-shadow:0 8px 24px rgba(52,40,28,.07)!important;position:relative;overflow:hidden}
.command-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--cc-orange)}
.command-panel-heading{margin-bottom:16px!important}.command-panel-heading h2{color:#171816!important;font-size:2rem!important}.command-panel-heading>a{color:#c44f17!important;font-size:.84rem!important}
.live-panel,.chart-panel,.activity-panel{background:#1b1e1c!important;border-color:#2e332f!important;color:#f7efe3!important}
.live-panel::before,.chart-panel::before,.activity-panel::before{background:#16726b!important}
.live-panel .command-panel-heading h2,.chart-panel .command-panel-heading h2,.activity-panel .command-panel-heading h2{color:#fff8ed!important}
.live-panel .command-panel-heading>a,.chart-panel .command-panel-heading>a,.activity-panel .command-panel-heading>a{color:#62c0b6!important}
.command-live-row,.command-activity-row{border-radius:6px!important}
.live-panel .command-live-row,.activity-panel .command-activity-row{background:#232825!important;color:#f7efe3!important;border-color:#353b36!important}
.command-empty-state{border-radius:7px!important}
.live-panel .command-empty-state,.activity-panel .command-empty-state{background:#232825!important;color:#f4ecdf!important}
.live-panel .command-empty-state small,.activity-panel .command-empty-state small{color:#b8b0a5!important}
.command-attention-row{border-radius:6px!important;background:#f7f0e5!important;color:#1e201d!important;border:1px solid #e2d4c1!important}
.command-attention-row b{color:#c44f17!important}.command-attention-row small{color:#766f65!important}
.panel-count{border-radius:5px!important;background:#1b1e1c!important;color:#fff!important}
.pulse-track{background:#e2d8c9!important}.pulse-track i{background:#17766f!important}
.pulse-type{border-radius:6px!important}.pulse-type.positive{background:#e4f0e8!important}.pulse-type.observation{background:#e9e5f2!important}.pulse-type.negative{background:#f5e3dd!important}
.command-quick-grid a{border-radius:7px!important;background:#f5eee2!important;border:1px solid #dfd1bd!important}.command-quick-grid a:hover{border-color:var(--cc-ember)!important;transform:translateY(-2px)!important}.command-quick-grid span{background:#1f2421!important;color:#fff!important;border-radius:50%!important}

/* General application surfaces — introduce hierarchy instead of white-card repetition */
.form-card,.table-card,.center-card,.module-card,.workspace-tool-card,.profile-info-card,.profile-edit-card,.profile-list-card,.settings-card,.teacher-account-card,.filter-bar,.book-admin-card,.background-gallery-card{border-radius:8px!important;border-color:#d9c9b6!important;box-shadow:0 7px 20px rgba(54,42,29,.055)!important}
.form-card>h2:first-child,.table-card>h2:first-child,.settings-card>h2:first-child{padding-bottom:10px!important;border-bottom:2px solid var(--cc-orange)!important}
.tabs,.subtabs{border-bottom:1px solid var(--cc-line)!important}.tabs a.active,.subtabs a.active{color:var(--cc-orange)!important;border-bottom:3px solid var(--cc-orange)!important}
input,select,textarea{font-size:.95rem!important;min-height:44px!important;border-radius:6px!important}.button{border-radius:5px!important;font-weight:800!important;min-height:42px!important}
.table-card th,table th{font-family:var(--cc-display)!important;text-transform:uppercase!important;letter-spacing:.045em!important;font-size:.78rem!important}

/* Dark mode carries the same editorial hierarchy */
html[data-theme="dark"] body:not(.kiosk-body):not(.announcements-display-body):not(.photo-board-display-body):not(.bpa-kindle-body){background-image:linear-gradient(rgba(10,11,10,.15),rgba(10,11,10,.15))!important}
html[data-theme="dark"] .command-panel{background:#202421!important;border-color:#383e39!important}
html[data-theme="dark"] .attention-panel,html[data-theme="dark"] .pulse-panel,html[data-theme="dark"] .quick-panel{background:#202421!important}
html[data-theme="dark"] .attention-panel .command-panel-heading h2,html[data-theme="dark"] .pulse-panel .command-panel-heading h2,html[data-theme="dark"] .quick-panel .command-panel-heading h2{color:#f4ecdf!important}
html[data-theme="dark"] .command-attention-row,html[data-theme="dark"] .command-quick-grid a{background:#282d29!important;border-color:#3b423c!important;color:#f4ecdf!important}
html[data-theme="dark"] .command-attention-row small{color:#aaa298!important}

@media(max-width:1250px){.command-hero{grid-template-columns:1fr!important;min-height:330px!important}.command-hero-actions{justify-content:start!important}.command-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){.command-hero{padding:30px 24px!important;background-position:62% center!important}.command-hero h1{font-size:clamp(2.8rem,12vw,4.4rem)!important}.command-hero-actions{grid-template-columns:1fr!important}.command-hero-actions a{min-height:68px!important;display:grid!important;grid-template-columns:34px 1fr!important;align-items:center!important}.command-stat-grid{grid-template-columns:1fr!important}}

/* Shared graphic page mastheads */
.workspace-shell>.welcome-row:first-child,.dashboard-shell>.welcome-row:first-child{
 position:relative;isolation:isolate;overflow:hidden;padding:26px 28px!important;margin-bottom:18px!important;border-radius:9px!important;
 background-image:linear-gradient(90deg,rgba(23,24,22,.97) 0%,rgba(23,24,22,.88) 58%,rgba(23,24,22,.38) 100%),url('/assets/images/field-notes/dashboard-hero.jpg')!important;
 background-size:cover!important;background-position:center 48%!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 13px 30px rgba(41,31,21,.12)!important;color:#fff7eb!important;
}
.workspace-shell>.welcome-row:first-child h1,.workspace-shell>.welcome-row:first-child h2,.dashboard-shell>.welcome-row:first-child h1,.dashboard-shell>.welcome-row:first-child h2{color:#fff7eb!important}
.workspace-shell>.welcome-row:first-child p:not(.eyebrow),.dashboard-shell>.welcome-row:first-child p:not(.eyebrow){color:#d9cdbd!important}
.workspace-shell>.welcome-row:first-child .eyebrow,.dashboard-shell>.welcome-row:first-child .eyebrow{color:#ff8b44!important}
.workspace-shell>.welcome-row:first-child .button.secondary,.dashboard-shell>.welcome-row:first-child .button.secondary{border-color:rgba(255,255,255,.28)!important;color:#fff!important;background:rgba(0,0,0,.18)!important}
.workspace-shell>.welcome-row:first-child .button.primary,.dashboard-shell>.welcome-row:first-child .button.primary{box-shadow:0 8px 24px rgba(0,0,0,.19)!important}

/* Give the authentication entrance an actual visual scene */
.cyber-login-story{background-image:linear-gradient(90deg,rgba(18,20,18,.96),rgba(18,20,18,.62)),url('/assets/images/field-notes/dashboard-hero.jpg')!important;background-size:cover!important;background-position:center!important}
.cyber-login-story::before{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,transparent,rgba(10,11,10,.5));pointer-events:none}

/* ========================================================================== 
   5.1.2 — MOCKUP FIDELITY PASS
   Make the selected Field Notes mockup the literal application language.
   ========================================================================== */

/* Brand: use the approved mountain wordmark, not the old CC tile. */
.sidebar-brand{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:4px 6px 18px!important;margin:0 0 14px!important;min-height:106px!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
}
.sidebar-brand-logo{display:block!important;width:100%!important;max-width:172px!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.22))}
.cyber-login-brand img{display:block;max-width:290px;width:min(86%,290px);height:auto;filter:drop-shadow(0 14px 26px rgba(0,0,0,.26))}

/* The global page masthead is now a true scenic hero. */
.workspace-heading{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  min-height:225px!important;margin:0 0 18px!important;padding:32px 34px!important;
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:26px!important;
  border-radius:10px!important;border:1px solid rgba(255,255,255,.09)!important;
  background-image:linear-gradient(90deg,rgba(12,15,13,.96) 0%,rgba(12,15,13,.82) 48%,rgba(12,15,13,.32) 100%),url('/assets/images/field-notes/dashboard-hero.jpg')!important;
  background-size:cover!important;background-position:center 48%!important;
  color:#fff8eb!important;box-shadow:0 15px 34px rgba(48,34,20,.15)!important;
}
.workspace-heading::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.23));pointer-events:none}
.workspace-heading h1{color:#fff8eb!important;font-size:clamp(3.2rem,5.3vw,5.8rem)!important;line-height:.92!important;margin:.08em 0 .12em!important;text-shadow:0 2px 18px rgba(0,0,0,.24)!important}
.workspace-heading .eyebrow{color:#ff7a24!important;font-size:.76rem!important;letter-spacing:.16em!important}
.workspace-heading p:not(.eyebrow){color:#eee3d4!important;font-size:1.02rem!important;max-width:720px!important;margin:.35rem 0 0!important}
.workspace-heading>.action-row,.workspace-heading>a.button,.workspace-heading>.attendance-day-state{position:relative;z-index:2;align-self:center!important}
.workspace-heading .button.primary{background:var(--cc-ember)!important;color:#fff!important}
.workspace-heading .button.secondary{background:rgba(17,19,17,.76)!important;color:#fff8eb!important;border-color:rgba(255,255,255,.28)!important;backdrop-filter:blur(8px)}
.workspace-heading .attendance-day-state{background:rgba(15,17,15,.86)!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:8px!important;padding:18px 22px!important;box-shadow:0 11px 25px rgba(0,0,0,.18)!important;min-width:220px}
.workspace-heading .attendance-day-state span{color:#ff8a42!important}.workspace-heading .attendance-day-state strong{color:#fff!important}

/* Profile hero uses the same scenic language, matching the mockup. */
.profile-banner{
  min-height:250px!important;padding:30px 34px!important;
  background-image:linear-gradient(90deg,rgba(12,15,13,.96) 0%,rgba(12,15,13,.78) 52%,rgba(12,15,13,.36) 100%),url('/assets/images/field-notes/dashboard-hero.jpg')!important;
  background-size:cover!important;background-position:center 55%!important;border-radius:10px!important;
}
.profile-banner::before{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.22))!important}
.profile-banner h1{font-size:clamp(3.3rem,5vw,5.6rem)!important;line-height:.94!important;color:#fff8eb!important;text-shadow:0 2px 18px rgba(0,0,0,.3)!important}
.profile-banner p,.profile-banner small,.profile-banner span:not(.status-pill){color:#e7ddce!important}
.profile-banner .profile-actions .button,.profile-banner .profile-actions a{background:rgba(22,25,22,.76)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important;backdrop-filter:blur(8px)}

/* Fix the accidental "card inside heading" appearance on dashboard panels. */
.command-panel-heading,.section-heading,.profile-card-title,.workspace-group-title,.teacher-account-list-heading{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;
}
.command-panel-heading{padding-bottom:13px!important;margin-bottom:16px!important;border-bottom:1px solid rgba(48,43,35,.12)!important}
.live-panel .command-panel-heading,.chart-panel .command-panel-heading,.activity-panel .command-panel-heading{border-bottom-color:rgba(255,255,255,.12)!important}
.command-panel-heading h2{font-size:2.15rem!important;line-height:1!important}

/* Live classroom must always have high-contrast text. */
.live-panel,.live-panel *{--local-live-ink:#f9f2e8}
.live-panel{background:linear-gradient(145deg,#14201d,#1d2824)!important;color:#f9f2e8!important}
.live-panel .command-panel-heading h2,.live-panel .command-panel-heading p,.live-panel .command-live-row strong,.live-panel .command-empty-state strong{color:#fff8eb!important}
.live-panel .command-live-row small,.live-panel .command-empty-state small{color:#c9c1b5!important}
.live-panel .command-empty-state>span{color:#39b7a7!important}
.live-panel .command-panel-heading>a{color:#69d2c5!important;font-weight:800!important}
.live-panel .command-live-row b{color:#ff9a5d!important}

/* Dashboard panels: editorial cards, not repeated framed headers. */
.command-panel{padding:23px!important;border-radius:9px!important}
.attention-panel,.pulse-panel,.quick-panel{background:rgba(255,250,241,.94)!important}
.command-bento-grid{gap:16px!important}
.command-panel::before{height:2px!important}
.command-panel-heading .eyebrow{margin:0 0 7px!important}

/* Main content surfaces should feel like the mockup's paper cards. */
.profile-info-card,.attendance-student-row,.attendance-filter-bar,.attendance-summary article,.table-card,.form-card,.settings-card,.module-card,.workspace-tool-card,.report-card,.lesson-card,.equipment-card{
  background:rgba(255,251,244,.93)!important;border:1px solid #dbcbb7!important;box-shadow:0 8px 22px rgba(61,46,30,.055)!important;
}
.profile-card-title{border-bottom:1px solid #e4d8c7!important;padding-bottom:10px!important;margin-bottom:14px!important}
.profile-card-title h3{font-size:1.25rem!important;color:#20211e!important}
html[data-theme="dark"] .profile-card-title h3{color:#f4ecdf!important}

/* Attendance: closer to the selected mockup, with generous readable controls. */
.attendance-page .attendance-filter-bar{padding:16px 18px!important;border-radius:8px!important}
.attendance-page .attendance-summary{gap:10px!important}
.attendance-page .attendance-summary article{min-height:92px!important;border-radius:8px!important;padding:17px 20px!important}
.attendance-page .attendance-summary strong{font-family:var(--cc-display)!important;font-size:2rem!important}
.attendance-page .attendance-student-row{border-radius:8px!important;padding:12px 14px!important;min-height:72px!important}
.attendance-page .attendance-student-row .student-name,.attendance-page .attendance-student-row strong{font-size:.98rem!important}
.attendance-page .attendance-choice{min-height:40px!important;border-radius:6px!important;font-size:.78rem!important;font-weight:800!important}

/* Generic non-dashboard page heroes that don't use workspace-heading already. */
.display-hub-hero,.digital-library-hero,.bpa-bank-hero,.announcements-hero,.photo-board-hero,.bpa-student-hero,.bpa-student-competition-hero{
  background-image:linear-gradient(90deg,rgba(12,15,13,.96),rgba(12,15,13,.74),rgba(12,15,13,.34)),url('/assets/images/field-notes/dashboard-hero.jpg')!important;
  background-size:cover!important;background-position:center!important;color:#fff8eb!important;border-radius:10px!important;box-shadow:0 14px 31px rgba(49,34,20,.14)!important;
}
.display-hub-hero h1,.digital-library-hero h1,.bpa-bank-hero h1,.announcements-hero h1,.photo-board-hero h1,.bpa-student-hero h1,.bpa-student-competition-hero h1{color:#fff8eb!important;text-shadow:0 2px 16px rgba(0,0,0,.24)!important}
.display-hub-hero p,.digital-library-hero p,.bpa-bank-hero p,.announcements-hero p,.photo-board-hero p{color:#e8ddce!important}

/* Better heading contrast across the app. */
.app-main h1,.app-main h2,.app-main h3{color:#1c1d1a}
.app-main .eyebrow{color:#d85f1d!important}
html[data-theme="dark"] .app-main h1,html[data-theme="dark"] .app-main h2,html[data-theme="dark"] .app-main h3{color:#f6eee2}
html[data-theme="dark"] .app-main .eyebrow{color:#ff8a42!important}

/* Sidebar graphic treatment closer to the mockup. */
.app-sidebar{background-image:linear-gradient(rgba(15,17,15,.88),rgba(15,17,15,.92)),url('/assets/images/field-notes/sidebar-landscape.jpg')!important;background-size:auto 100%,cover!important;background-position:center bottom!important}
.app-sidebar::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.26) 70%,rgba(0,0,0,.42));z-index:-1}
.sidebar-nav a{font-size:.96rem!important}.sidebar-nav a strong{font-size:.94rem!important}
.sidebar-footer{background:rgba(10,12,10,.36)!important;border-radius:8px!important;padding:12px!important;margin-top:14px!important}

/* Dark mode keeps the same scenic/graphic identity. */
html[data-theme="dark"] .workspace-heading,html[data-theme="dark"] .profile-banner{filter:none!important}
html[data-theme="dark"] .profile-info-card,html[data-theme="dark"] .attendance-student-row,html[data-theme="dark"] .attendance-filter-bar,html[data-theme="dark"] .attendance-summary article,html[data-theme="dark"] .table-card,html[data-theme="dark"] .form-card,html[data-theme="dark"] .settings-card,html[data-theme="dark"] .module-card,html[data-theme="dark"] .workspace-tool-card,html[data-theme="dark"] .report-card,html[data-theme="dark"] .lesson-card,html[data-theme="dark"] .equipment-card{background:#222622!important;border-color:#3b423c!important}

@media(max-width:900px){
  .sidebar-brand{min-height:72px!important;padding:4px 0 12px!important}.sidebar-brand-logo{width:56px!important;max-width:56px!important;object-fit:cover!important;object-position:left!important}
  .workspace-heading{min-height:200px!important;padding:25px!important;align-items:flex-end!important}.workspace-heading h1{font-size:3.2rem!important}
  .profile-banner{min-height:220px!important}.profile-banner h1{font-size:3rem!important}
}
@media(max-width:640px){
  .workspace-heading{min-height:235px!important;display:block!important}.workspace-heading>.action-row,.workspace-heading>a.button,.workspace-heading>.attendance-day-state{margin-top:18px!important}
}

/* Cyber Cave Portal 5.1.3 — lesson plans + dashboard heading cleanup + BPA sync */

/* Lesson Plans weekly board — match the scenic masthead language used across the main app. */
.lesson-week-hero{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  min-height:224px!important;padding:32px 34px!important;border-radius:10px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background-image:linear-gradient(90deg,rgba(12,15,13,.96) 0%,rgba(12,15,13,.82) 48%,rgba(12,15,13,.34) 100%),url('/assets/images/field-notes/dashboard-hero.jpg')!important;
  background-size:cover!important;background-position:center 50%!important;
  color:#fff8eb!important;box-shadow:0 15px 34px rgba(48,34,20,.15)!important;
}
.lesson-week-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.22));pointer-events:none}
.lesson-week-hero .eyebrow{color:#ff7a24!important;font-size:.76rem!important;letter-spacing:.16em!important}
.lesson-week-hero h1{
  margin:.08em 0 .12em!important;color:#fff8eb!important;
  font-family:var(--cc-display)!important;text-transform:uppercase!important;
  font-size:clamp(3.15rem,5.1vw,5.5rem)!important;line-height:.92!important;
  letter-spacing:.01em!important;text-shadow:0 2px 18px rgba(0,0,0,.24)!important;
}
.lesson-week-hero>div>p:last-child{color:#eee3d4!important;font-size:1.02rem!important;max-width:700px!important}
.lesson-week-jump form{
  position:relative;z-index:2;display:flex!important;align-items:end!important;gap:10px!important;
  padding:14px 16px!important;border-radius:9px!important;background:rgba(17,19,17,.70)!important;
  border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(8px)!important;
}
.lesson-week-jump label{color:#f2e8da!important;font-size:.8rem!important;font-weight:800!important}
.lesson-week-jump input{background:rgba(255,251,244,.96)!important;color:var(--cc-ink)!important}
.lesson-week-jump .button.secondary{background:var(--cc-orange)!important;color:#fff!important;border-color:var(--cc-orange)!important}
.lesson-week-toolbar{margin:18px 0 16px!important}
.lesson-week-nav>div strong{font-size:1.12rem!important;color:var(--cc-ink)!important}
.lesson-week-stat{background:rgba(255,251,244,.95)!important;border:1px solid #dbcbb7!important;color:#72695e!important}
.lesson-week-stat b{color:var(--cc-ink)!important}

/* Dashboard panel headings — remove the accidental framed/outlined title treatment. */
.command-panel-heading,
.command-panel-heading::before,
.command-panel-heading::after,
.command-panel-heading > div,
.command-panel-heading > div::before,
.command-panel-heading > div::after{
  background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;
}
.command-panel-heading{padding:0!important;margin:0 0 14px!important;border-bottom:0!important}
.command-panel-heading h2,
.command-panel-heading p,
.command-panel-heading .eyebrow,
.command-panel-heading a,
.command-panel-heading span{
  background:none!important;border:0!important;box-shadow:none!important;outline:0!important;text-shadow:none!important;-webkit-text-stroke:0!important;
}
.command-panel-heading h2{
  font-family:var(--cc-display)!important;text-transform:uppercase!important;letter-spacing:.01em!important;
  font-size:clamp(2rem,2.35vw,2.8rem)!important;line-height:.92!important;color:#171816!important;margin:.04em 0 .12em!important;
}
.live-panel .command-panel-heading h2,
.chart-panel .command-panel-heading h2,
.activity-panel .command-panel-heading h2{color:#fff8eb!important}
.command-panel-heading .eyebrow{color:var(--cc-orange)!important;letter-spacing:.15em!important}
.command-panel-heading>a{font-weight:800!important}
.command-panel .panel-count{align-self:flex-start!important}

/* BPA Prep teacher workspace — align it with the main app rather than a separate purple micro-brand. */
.bpax-body{
  background-image:linear-gradient(rgba(255,248,239,.88),rgba(255,248,239,.88)),url('/assets/images/field-notes/paper-grain.png')!important;
  background-color:var(--cc-paper)!important;
}
.bpax-layout{background:transparent!important;grid-template-columns:232px minmax(0,1fr)!important}
.bpax-subnav{
  background:linear-gradient(180deg,#1a1d1a 0%,#202520 58%,#171916 100%)!important;
  border-left:0!important;border-right:1px solid rgba(255,255,255,.08)!important;
  box-shadow:14px 0 34px rgba(31,23,16,.12)!important;padding:22px 12px 18px!important;
}
.bpax-subnav-brand{padding:4px 8px 18px!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
.bpax-subnav-brand>span{
  background:var(--cc-orange)!important;color:#fff!important;border-radius:8px!important;
  box-shadow:0 8px 22px rgba(233,104,34,.24)!important;
}
.bpax-subnav-brand strong{font-family:var(--cc-display)!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-size:1.06rem!important}
.bpax-subnav-brand small,.bpax-season span{color:#bdb3a6!important}
.bpax-subnav nav a{color:#d2c6b9!important;border-radius:8px!important;padding:10px 11px!important}
.bpax-subnav nav a i{background:rgba(255,255,255,.06)!important;border-radius:8px!important}
.bpax-subnav nav a:hover{background:rgba(255,255,255,.06)!important;color:#fff7eb!important}
.bpax-subnav nav a.active{
  background:linear-gradient(90deg,rgba(233,104,34,.24),rgba(233,104,34,.06))!important;
  color:#fff8ed!important;box-shadow:none!important;position:relative;
}
.bpax-subnav nav a.active::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--cc-orange)}
.bpax-subnav nav a.active i{background:var(--cc-orange)!important;color:#fff!important}
.bpax-season{background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:8px!important}
.bpax-season strong{color:#fff8eb!important}
.bpax-main{max-width:1620px!important;padding:26px 30px 48px!important}

.bpax-topbar{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  min-height:220px!important;margin:0 0 18px!important;padding:32px 34px!important;border-radius:10px!important;
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background-image:linear-gradient(90deg,rgba(12,15,13,.96) 0%,rgba(12,15,13,.82) 48%,rgba(12,15,13,.32) 100%),url('/assets/images/field-notes/dashboard-hero.jpg')!important;
  background-size:cover!important;background-position:center 50%!important;
  color:#fff8eb!important;box-shadow:0 15px 34px rgba(48,34,20,.15)!important;
}
.bpax-topbar::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.24));pointer-events:none}
.bpax-topbar .eyebrow{color:#ff7a24!important;font-size:.76rem!important;letter-spacing:.16em!important}
.bpax-topbar h1{
  color:#fff8eb!important;font-family:var(--cc-display)!important;text-transform:uppercase!important;
  font-size:clamp(3.2rem,5.2vw,5.8rem)!important;line-height:.91!important;letter-spacing:.01em!important;
  margin:.08em 0 .12em!important;text-shadow:0 2px 18px rgba(0,0,0,.24)!important;
}
.bpax-topbar>div:first-child>p:last-child{color:#eee3d4!important;font-size:1.02rem!important;max-width:720px!important}
.bpax-topbar .button.primary{background:var(--cc-orange)!important;border-color:var(--cc-orange)!important;color:#fff!important}
.bpax-topbar .button.secondary{
  background:rgba(17,19,17,.76)!important;color:#fff8eb!important;
  border-color:rgba(255,255,255,.24)!important;backdrop-filter:blur(8px)!important;
}
.bpax-top-actions{position:relative;z-index:2;align-self:center!important}
.bpax-chapter-picker{
  min-width:224px!important;padding:14px 16px!important;border-radius:9px!important;
  background:rgba(17,19,17,.70)!important;border:1px solid rgba(255,255,255,.14)!important;
  backdrop-filter:blur(8px)!important;
}
.bpax-chapter-picker span{color:#f0e5d6!important;font-size:.72rem!important}
.bpax-chapter-picker select{background:rgba(255,251,244,.97)!important;border-color:#dbcbb7!important;color:var(--cc-ink)!important}

.bpax-readiness{
  background:linear-gradient(135deg,#1f2421 0%,#242b27 50%,#1d211f 100%)!important;
  color:#fff8eb!important;border:1px solid rgba(25,29,26,.14)!important;border-radius:10px!important;
  box-shadow:0 14px 30px rgba(45,33,21,.11)!important;
}
.bpax-readiness .eyebrow{color:#ff9a5d!important}
.bpax-readiness-tip{
  background:rgba(255,251,244,.95)!important;color:var(--cc-ink)!important;
  border:1px solid #dbcbb7!important;border-radius:8px!important;
}
.bpax-readiness-bars label{color:#eadfce!important}.bpax-readiness-bars label b{color:#fff8eb!important}
.bpax-readiness-bars label span{background:rgba(255,255,255,.11)!important}.bpax-readiness-bars label span i{background:linear-gradient(90deg,var(--cc-orange),#f0c27a)!important}

.bpax-panel,
.bpax-comp-card,
.bpax-page-intro>div,
.bpax-library-card,
.bpax-resource-tile,
.bpax-assignment-card,
.bpax-question-card,
.bpax-filter-bar,
.bpax-preview-block,
.bpa-admin-card-list,
.bpa-admin-comp-card,
.bpa-admin-resource,
.bpax-empty,
.bpax-empty-mini,
.bpax-bank-edit-question,
.bpax-resource-cover,
.bpax-resource-drop,
.bpax-resource-url{
  background:rgba(255,251,244,.93)!important;border:1px solid #dbcbb7!important;
  box-shadow:0 8px 22px rgba(61,46,30,.055)!important;color:var(--cc-ink)!important;
}
.bpax-panel{border-radius:9px!important;padding:20px!important}
.bpax-panel::before{display:none!important}
.bpax-panel-head,
.bpax-section-head{
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 14px!important;
}
.bpax-panel-head h2,
.bpax-section-head h2{
  font-family:var(--cc-display)!important;text-transform:uppercase!important;
  letter-spacing:.02em!important;font-size:2rem!important;line-height:.93!important;
  color:#171816!important;margin:.04em 0 .12em!important;
}
.bpax-panel-head .eyebrow,
.bpax-section-head .eyebrow{color:var(--cc-orange)!important;letter-spacing:.15em!important}
.bpax-panel-head>a,
.bpax-section-head>a{color:#c44f17!important;font-weight:800!important}
.bpax-panel-head>span{background:#1b1e1c!important;color:#fff!important;border-radius:6px!important}

.bpax-milestone,
.bpax-attempt-row,
.bpax-support-row,
.bpax-person-row,
.bpax-setting-row,
.bpax-bank-card,
.bpax-resource-card,
.bpax-assignment-card,
.bpax-student-performance,
.bpax-student-events article,
.bpax-question-card li,
.bpax-resource-row,
.bpax-challenge-item,
.bpax-account-row{
  border-color:#e5d7c7!important;
}
.bpax-empty,.bpax-empty-mini{border-style:dashed!important;color:#7b7164!important}
.bpax-empty strong{color:var(--cc-ink)!important}
.bpax-comp-card:before{background:var(--cc-orange)!important}
.bpax-comp-icon,.bpax-library-icon,.bpax-resource-tile>.type,.bpax-question-card>span,.bpax-mini-avatar,.bpax-student-photo{
  background:#1f2421!important;color:#fff8eb!important;border-radius:8px!important;
}
.bpax-comp-card.orange:before,.bpax-comp-card.blue:before,.bpax-comp-card.pink:before,.bpax-comp-card.teal:before,.bpax-comp-card.green:before{background:var(--cc-orange)!important}
.bpax-comp-card.orange .bpax-comp-icon,.bpax-comp-card.blue .bpax-comp-icon,.bpax-comp-card.pink .bpax-comp-icon,.bpax-comp-card.teal .bpax-comp-icon,.bpax-comp-card.green .bpax-comp-icon{background:#1f2421!important;color:#fff8eb!important}
.bpax-progress-row>div,.bpax-assignment-progress>span,.bpax-breakdown>a>span{background:#e6dccf!important}
.bpax-progress-row i,.bpax-assignment-progress i,.bpax-breakdown>a i{background:linear-gradient(90deg,var(--cc-orange),#17766f)!important}
.bpax-status.good,.bpax-support-row em.good{background:#e4f0e8!important;color:#245f49!important}
.bpax-status.watch,.bpax-support-row em.watch{background:#fff1d7!important;color:#8a5a00!important}
.bpax-status.risk,.bpax-support-row em.risk{background:#f5e3dd!important;color:#a1453f!important}
.bpax-status.neutral,.bpax-support-row em.neutral{background:#ece8e1!important;color:#6f6558!important}
.bpax-topbar .button,
.bpax-panel .button,
.bpax-subnav .button{border-radius:5px!important}

@media(max-width:1180px){
  .bpax-layout{grid-template-columns:84px minmax(0,1fr)!important}
}
@media(max-width:850px){
  .bpax-subnav{background:#1a1d1a!important}
  .bpax-topbar{display:block!important;padding:24px!important;min-height:auto!important}
  .bpax-top-actions{margin-top:15px!important;justify-content:flex-start!important}
}
@media(max-width:760px){
  .lesson-week-hero{display:block!important;padding:24px!important;min-height:auto!important}
  .lesson-week-jump{margin-top:16px!important}
}

/* Cyber Cave Portal 5.1.4 — BPA information-density and chapter-context overhaul */
.bpax-sidebar-chapter{margin-top:auto;padding:14px 10px 10px;border-top:1px solid rgba(255,255,255,.10)}
.bpax-sidebar-chapter label{display:grid;gap:7px}.bpax-sidebar-chapter span{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:#bdb3a6;font-weight:900}
.bpax-sidebar-chapter select{min-height:42px!important;background:#292d29!important;color:#fff8ed!important;border:1px solid #454b45!important;border-radius:6px!important;padding:8px 10px!important;font-size:.82rem!important;font-weight:800!important}
.bpax-season{margin-top:8px!important}

/* Competitions — dense, legible, character-rich catalog. */
.bpa-competition-catalog-v2{display:grid;gap:12px}
.bpa-catalog-command{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:16px!important;padding:12px 14px!important;border-radius:8px!important;background:#1c211e!important;border:1px solid #303630!important;color:#fff8ed!important;position:sticky;top:0;z-index:8}
.bpa-catalog-command-title{display:flex!important;align-items:center!important;gap:10px!important;min-width:170px!important;padding-right:14px!important;border-right:1px solid rgba(255,255,255,.12)!important}
.bpa-catalog-command-title strong{display:block!important;color:#fff8ed!important;font-size:1rem!important}.bpa-catalog-command-title small{display:block!important;color:#bdb4a7!important;font-size:.72rem!important;margin-top:2px!important}.pulse-dot{background:var(--cc-orange)!important;box-shadow:0 0 0 5px rgba(233,104,34,.14)!important}
.bpa-category-rail{display:flex!important;gap:6px!important;overflow-x:auto!important;padding:2px!important;scrollbar-width:thin}.bpa-category-rail a{white-space:nowrap!important;padding:7px 10px!important;border-radius:5px!important;background:#2a2f2b!important;border:1px solid #3a403b!important;color:#ddd3c6!important;font-size:.75rem!important;font-weight:800!important}.bpa-category-rail a.active,.bpa-category-rail a:hover{background:var(--cc-orange)!important;color:#fff!important;border-color:var(--cc-orange)!important}
.bpa-catalog-toolbar-v2{display:grid!important;grid-template-columns:minmax(280px,1.7fr) repeat(5,minmax(125px,.7fr)) auto!important;gap:7px!important;align-items:center!important;padding:9px!important;border-radius:8px!important;background:rgba(255,251,244,.96)!important;border:1px solid #dbcbb7!important;box-shadow:0 6px 18px rgba(55,41,27,.05)!important;position:sticky;top:66px;z-index:7}
.bpa-catalog-toolbar-v2 input,.bpa-catalog-toolbar-v2 select{min-height:40px!important;font-size:.86rem!important;padding:8px 10px!important}.bpa-catalog-toolbar-v2 .button{min-height:40px!important;padding:8px 12px!important}
.bpa-catalog-search-v2{position:relative!important}.bpa-catalog-search-v2>span{position:absolute!important;left:11px!important;top:50%!important;transform:translateY(-50%)!important;color:var(--cc-orange)!important;z-index:1}.bpa-catalog-search-v2 input{padding-left:32px!important}
.bpa-catalog-results-head-v2{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0 2px!important;color:#746b60!important;font-size:.77rem!important}.bpa-catalog-results-head-v2 strong{color:var(--cc-ink)!important;font-size:.85rem!important}
.bpa-catalog-grid-v2{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
.bpa-catalog-card-v3{position:relative!important;display:grid!important;grid-template-rows:auto minmax(120px,1fr) auto auto!important;min-height:252px!important;padding:0!important;border:1px solid #cdbda9!important;border-radius:9px!important;overflow:hidden!important;background:linear-gradient(180deg,#252a26 0 74px,rgba(255,251,244,.98) 74px)!important;box-shadow:0 7px 18px rgba(52,39,25,.08)!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important}
.bpa-catalog-card-v3:hover{transform:translateY(-3px)!important;box-shadow:0 15px 28px rgba(45,32,20,.16)!important;border-color:#b59e84!important}
.bpa-catalog-card-v3::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:4px!important;background:var(--cc-orange)!important}
.bpa-catalog-card-v3:nth-child(4n+2)::before{background:#17766f!important}.bpa-catalog-card-v3:nth-child(4n+3)::before{background:#c99932!important}.bpa-catalog-card-v3:nth-child(4n)::before{background:#7e5ba8!important}
.bpa-card-v3-top{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:8px!important;padding:15px 14px 10px!important;color:#fff!important}
.bpa-number-lockup strong{font-family:var(--cc-display)!important;font-size:2.35rem!important;line-height:.85!important;color:#fff8ed!important;letter-spacing:.02em!important}.bpa-number-lockup small{display:block!important;margin-top:8px!important;color:#e5d9c9!important;font-size:.66rem!important;letter-spacing:.12em!important;font-weight:900!important}
.bpa-card-v3-flags{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:4px!important}.bpa-card-v3-flags span{padding:4px 6px!important;border-radius:4px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.13)!important;color:#f4eade!important;font-size:.61rem!important;font-weight:800!important}.bpa-card-v3-flags span.open{background:var(--cc-orange)!important;border-color:var(--cc-orange)!important;color:#fff!important}
.bpa-card-v3-body{padding:13px 14px 9px!important;min-height:0!important}.bpa-card-v3-body h3{font-family:var(--cc-display)!important;text-transform:uppercase!important;font-size:1.35rem!important;line-height:1.02!important;letter-spacing:.01em!important;color:#191a17!important;margin:0 0 7px!important}.bpa-card-v3-body p{font-size:.78rem!important;line-height:1.35!important;color:#6e665c!important;margin:0 0 9px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.bpa-catalog-levels{display:flex!important;flex-wrap:wrap!important;gap:4px!important}.bpa-catalog-levels span{padding:4px 6px!important;border-radius:4px!important;background:#ece7df!important;color:#61594f!important;font-size:.62rem!important;font-weight:800!important}
.bpa-card-v3-stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:0!important;margin:0 10px 8px!important;border:1px solid #dfd2c2!important;border-radius:6px!important;overflow:hidden!important;background:#f5eee4!important}.bpa-card-v3-stats span{padding:7px 4px!important;text-align:center!important;border-right:1px solid #dfd2c2!important}.bpa-card-v3-stats span:last-child{border-right:0!important}.bpa-card-v3-stats b{display:block!important;font-family:var(--cc-display)!important;color:#20211e!important;font-size:1rem!important;line-height:1!important}.bpa-card-v3-stats small{display:block!important;margin-top:2px!important;color:#776f65!important;font-size:.56rem!important;text-transform:uppercase!important;letter-spacing:.06em!important}
.bpa-card-v3-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 34px 30px!important;gap:5px!important;align-items:center!important;padding:0 10px 10px!important}.bpa-comp-open{min-height:34px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:7px 9px!important;border-radius:5px!important;background:#1f2421!important;color:#fff8ed!important;font-size:.72rem!important;font-weight:900!important}.bpa-comp-open:hover{background:var(--cc-orange)!important}.bpa-comp-edit,.bpa-icon-delete{width:34px!important;height:34px!important;border-radius:5px!important;display:grid!important;place-items:center!important;border:1px solid #d4c5b2!important;background:#fffaf2!important;color:#40392f!important}.bpa-icon-delete{width:30px!important;color:#a64b3f!important;cursor:pointer!important}

/* Resources — compact two-column library with clearer hierarchy and readable dark command panel. */
.bpax-resource-command{display:grid!important;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr)!important;gap:18px!important;padding:20px 22px!important;border-radius:9px!important;background:linear-gradient(135deg,#1b201d,#252b27)!important;border:1px solid #313832!important;color:#fff8ed!important;box-shadow:0 9px 22px rgba(48,35,21,.10)!important}
.bpax-resource-command .eyebrow{color:#ff8a42!important}.bpax-resource-command h2{color:#fff8ed!important;font-family:var(--cc-display)!important;text-transform:uppercase!important;font-size:2.15rem!important;line-height:.98!important;margin:.12em 0 .18em!important}.bpax-resource-command p:not(.eyebrow){color:#d9d0c5!important;font-size:.86rem!important;line-height:1.45!important;max-width:650px!important}
.bpax-resource-command-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;align-content:center!important}.bpax-resource-command-nav button{min-height:72px!important;padding:8px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.10)!important;background:#2b302c!important;color:#fff8ed!important;display:grid!important;place-items:center!important;text-align:center!important;cursor:pointer!important}.bpax-resource-command-nav button:hover{background:var(--cc-orange)!important}.bpax-resource-command-nav button span{font-size:1.1rem!important}.bpax-resource-command-nav button b{font-size:.66rem!important;margin-top:3px!important}.bpax-resource-command-nav button small{font-family:var(--cc-display)!important;font-size:1.1rem!important;color:#ffad79!important}.bpax-resource-command-nav button:hover small{color:#fff!important}
.bpax-resource-toolbar{display:grid!important;grid-template-columns:minmax(280px,1.4fr) minmax(220px,.8fr) minmax(160px,.55fr) auto auto!important;gap:7px!important;align-items:center!important;margin:10px 0!important;padding:8px!important;border-radius:8px!important;background:rgba(255,251,244,.96)!important;border:1px solid #dbcbb7!important;position:sticky!important;top:0!important;z-index:7!important}.bpax-resource-toolbar input,.bpax-resource-toolbar select{min-height:40px!important;font-size:.84rem!important;padding:8px 10px!important}.bpax-resource-toolbar .button{min-height:40px!important;padding:8px 12px!important}
.bpax-resource-library{display:grid!important;gap:10px!important}.bpax-resource-collection{border:1px solid #d6c6b2!important;border-radius:8px!important;background:rgba(255,251,244,.96)!important;overflow:hidden!important;box-shadow:0 6px 16px rgba(52,39,25,.05)!important}.bpax-resource-collection-head{min-height:54px!important;padding:9px 12px!important;background:#f2eadf!important;border-bottom:1px solid #dfd2c2!important}.bpax-resource-collection-head>div{display:flex!important;align-items:center!important;gap:9px!important}.bpax-resource-collection-head>div>span{width:32px!important;height:32px!important;border-radius:6px!important;display:grid!important;place-items:center!important;background:#1f2421!important;color:#fff8ed!important}.bpax-resource-collection-head h2{font-family:var(--cc-display)!important;text-transform:uppercase!important;font-size:1.45rem!important;line-height:1!important;margin:0!important;color:#1c1d1a!important}.bpax-resource-collection-head small{font-size:.68rem!important;color:#746b61!important}.bpax-resource-collection-head button{width:30px!important;height:30px!important;border-radius:5px!important;border:1px solid #d1c1ae!important;background:#fffaf2!important;color:#3f392f!important;cursor:pointer!important}
.bpax-resource-rows{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important}.bpax-resource-row{display:grid!important;grid-template-columns:54px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;min-height:92px!important;padding:9px 10px!important;border-bottom:1px solid #e6daca!important;border-right:1px solid #e6daca!important;background:rgba(255,252,247,.96)!important}.bpax-resource-row:nth-child(even){border-right:0!important}.bpax-resource-row:hover{background:#f7efe4!important}.bpax-resource-row-thumb{width:48px!important;height:68px!important;border-radius:5px!important;overflow:hidden!important;background:#242925!important;display:grid!important;place-items:center!important}.bpax-resource-row-thumb img{width:100%!important;height:100%!important;object-fit:contain!important}.bpax-resource-row-thumb>span{color:#fff!important;font-family:var(--cc-display)!important;font-size:1.2rem!important}.bpax-resource-row-main{min-width:0!important}.bpax-resource-row-title{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}.bpax-resource-row-title strong{font-size:.84rem!important;color:#1f201d!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.bpax-resource-row-title>span{flex:0 0 auto!important;padding:3px 5px!important;border-radius:4px!important;background:#ece5dc!important;color:#61584d!important;font-size:.56rem!important;font-weight:800!important}.bpax-resource-row-main>small{display:block!important;color:#766e64!important;font-size:.66rem!important;margin-top:2px!important}.bpax-resource-row-main>p{display:none!important}.bpax-resource-association-chips{display:flex!important;gap:4px!important;margin-top:5px!important;white-space:nowrap!important;overflow:hidden!important}.bpax-resource-association-chips span{max-width:180px!important;padding:3px 5px!important;border-radius:4px!important;background:#e8eee9!important;color:#285e51!important;font-size:.58rem!important;overflow:hidden!important;text-overflow:ellipsis!important}.bpax-resource-row-main>em{display:block!important;margin-top:3px!important;color:#8a8176!important;font-size:.58rem!important;font-style:normal!important}.bpax-resource-row-actions{display:flex!important;gap:4px!important;align-items:center!important}.bpax-resource-row-actions .button{min-height:32px!important;padding:6px 9px!important;font-size:.68rem!important}.bpax-row-menu{width:30px!important;height:30px!important;border-radius:5px!important}

html[data-theme="dark"] .bpa-catalog-card-v3,html[data-theme="dark"] .bpax-resource-collection,html[data-theme="dark"] .bpax-resource-row{background:#222622!important;border-color:#3d443e!important;color:#f4ecdf!important}html[data-theme="dark"] .bpa-card-v3-body h3,html[data-theme="dark"] .bpax-resource-row-title strong{color:#f4ecdf!important}html[data-theme="dark"] .bpa-card-v3-body p,html[data-theme="dark"] .bpax-resource-row-main>small,html[data-theme="dark"] .bpax-resource-row-main>em{color:#aaa298!important}html[data-theme="dark"] .bpa-card-v3-stats,html[data-theme="dark"] .bpax-resource-collection-head{background:#292e2a!important;border-color:#3d443e!important}html[data-theme="dark"] .bpa-card-v3-stats span{border-color:#3d443e!important}html[data-theme="dark"] .bpa-card-v3-stats b,html[data-theme="dark"] .bpax-resource-collection-head h2{color:#f4ecdf!important}

@media(max-width:1500px){.bpa-catalog-grid-v2{grid-template-columns:repeat(4,minmax(0,1fr))!important}.bpa-catalog-toolbar-v2{grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(130px,.7fr)) auto auto!important}.bpa-catalog-toolbar-v2 select:nth-of-type(4),.bpa-catalog-toolbar-v2 select:nth-of-type(5){display:none!important}}
@media(max-width:1150px){.bpa-catalog-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))!important}.bpax-resource-command{grid-template-columns:1fr!important}.bpax-resource-rows{grid-template-columns:1fr!important}.bpax-resource-row{border-right:0!important}.bpax-resource-command-nav{grid-template-columns:repeat(5,minmax(90px,1fr))!important}.bpax-resource-toolbar{grid-template-columns:1fr 1fr auto!important}.bpax-resource-toolbar select:nth-of-type(2){display:none!important}}
@media(max-width:850px){.bpax-sidebar-chapter{display:none!important}.bpa-catalog-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bpa-catalog-command{position:static!important;grid-template-columns:1fr!important}.bpa-catalog-command-title{border-right:0!important;padding-right:0!important}.bpa-catalog-toolbar-v2{position:static!important;grid-template-columns:1fr 1fr!important}.bpa-catalog-toolbar-v2 .bpa-catalog-search-v2{grid-column:1/-1!important}.bpax-resource-toolbar{position:static!important;grid-template-columns:1fr!important}.bpax-resource-command-nav{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:560px){.bpa-catalog-grid-v2{grid-template-columns:1fr!important}.bpax-resource-command-nav{grid-template-columns:repeat(2,1fr)!important}.bpax-resource-row{grid-template-columns:48px minmax(0,1fr)!important}.bpax-resource-row-actions{grid-column:2!important}}

/* Cyber Cave Portal 5.1.5 — BPA Competition Catalog: Full Card + List views */
.bpa-catalog-results-head-v5{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 2px 2px;padding:2px 0;color:#71695f
}
.bpa-catalog-results-head-v5>div:first-child{display:grid;gap:2px}.bpa-catalog-results-head-v5 strong{font-size:.92rem;color:var(--cc-ink)}.bpa-catalog-results-head-v5 span{font-size:.72rem;color:#82796e}
.bpa-catalog-view-toggle{display:flex;gap:3px;padding:4px;border:1px solid #cfbea9;background:#f2e9dc;border-radius:7px}
.bpa-catalog-view-toggle button{min-height:34px;padding:7px 11px;border:0;border-radius:4px;background:transparent;color:#5f574e;font-weight:850;font-size:.76rem;cursor:pointer;display:flex;align-items:center;gap:6px}
.bpa-catalog-view-toggle button span{font-size:1rem;color:inherit}
.bpa-catalog-view-toggle button.is-active,.bpa-catalog-view-toggle button[aria-pressed="true"]{background:#1d211e;color:#fff9ef;box-shadow:0 4px 10px rgba(31,26,20,.14)}

.bpa-catalog-grid-v5{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.bpa-catalog-card-v5{position:relative;min-width:0;border:1px solid #292f2a;border-radius:9px;overflow:hidden;background:#171b18;color:#fff8ed;box-shadow:0 10px 24px rgba(41,31,21,.16);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.bpa-catalog-card-v5:hover{transform:translateY(-4px);box-shadow:0 19px 38px rgba(37,27,18,.24);border-color:#525b53}
.bpa-catalog-card-v5::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--cc-orange);z-index:4}
.bpa-catalog-card-v5:nth-child(4n+2)::before{background:#cf7a38}.bpa-catalog-card-v5:nth-child(4n+3)::before{background:#1e9188}.bpa-catalog-card-v5:nth-child(4n)::before{background:#8a5db5}
.bpa-comp-v5-art{position:relative;min-height:240px;padding:18px 18px 16px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;background-color:#18201c;background-size:cover;background-position:center;overflow:hidden}
.bpa-comp-v5-art::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(180deg,rgba(7,10,9,.20),rgba(7,10,9,.84)),url('/assets/images/kiosk-backgrounds/kiosk-bg-1.png');background-size:cover;background-position:center;filter:saturate(.72) contrast(1.08)}
.bpa-catalog-card-v5:nth-child(4n+2) .bpa-comp-v5-art::before{background-image:linear-gradient(180deg,rgba(20,12,6,.16),rgba(18,12,7,.88)),url('/assets/images/kiosk-backgrounds/kiosk-bg-2.png')}
.bpa-catalog-card-v5:nth-child(4n+3) .bpa-comp-v5-art::before{background-image:linear-gradient(180deg,rgba(5,17,18,.12),rgba(5,18,18,.86)),url('/assets/images/kiosk-backgrounds/kiosk-bg-3.png')}
.bpa-catalog-card-v5:nth-child(4n) .bpa-comp-v5-art::before{background-image:linear-gradient(180deg,rgba(20,9,24,.10),rgba(17,10,21,.88)),url('/assets/images/field-notes/dashboard-hero.jpg')}
.bpa-comp-v5-art::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 85% 14%,rgba(255,255,255,.12),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.30),transparent 72%)}
.bpa-comp-v5-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.bpa-comp-v5-top .bpa-number-lockup strong{font-size:2.85rem!important;color:#fff9ef!important;text-shadow:0 2px 12px rgba(0,0,0,.42)!important}
.bpa-comp-v5-top .bpa-number-lockup small{color:#f3dfce!important;font-size:.69rem!important}
.bpa-comp-v5-flags{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;max-width:62%}
.bpa-comp-v5-flags span{padding:5px 7px;border-radius:5px;border:1px solid rgba(255,255,255,.17);background:rgba(14,17,15,.54);backdrop-filter:blur(8px);color:#fff6e9;font-size:.62rem;font-weight:850;line-height:1.1;text-align:right}
.bpa-comp-v5-flags span.open{background:var(--cc-orange);border-color:var(--cc-orange);color:#fff}
.bpa-comp-v5-copy h3{font-family:var(--cc-display)!important;text-transform:uppercase;font-size:1.72rem;line-height:1.02;margin:0 0 9px;color:#fff9ef;letter-spacing:.01em;text-shadow:0 2px 13px rgba(0,0,0,.42)}
.bpa-comp-v5-copy p{margin:0;color:#e0d8ce;font-size:.86rem;line-height:1.42;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:94%}
.bpa-comp-v5-meta{padding:13px 14px 12px;background:linear-gradient(180deg,#1b201c,#151916)}
.bpa-comp-v5-meta .bpa-catalog-levels{margin-bottom:11px}.bpa-comp-v5-meta .bpa-catalog-levels span{background:#272e29!important;color:#e8ded2!important;border:1px solid #394039!important;font-size:.65rem!important;padding:5px 7px!important}
.bpa-comp-v5-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #363c36;border-bottom:1px solid #363c36;margin-bottom:11px}
.bpa-comp-v5-stats span{text-align:center;padding:9px 4px;border-right:1px solid #363c36}.bpa-comp-v5-stats span:last-child{border-right:0}
.bpa-comp-v5-stats b{display:block;font-family:var(--cc-display);font-size:1.16rem;color:#fff9ef;line-height:1}.bpa-comp-v5-stats small{display:block;margin-top:3px;color:#aaa195;font-size:.57rem;text-transform:uppercase;letter-spacing:.07em}
.bpa-comp-v5-actions{display:grid;grid-template-columns:minmax(0,1fr) 36px 32px;gap:6px;align-items:center}.bpa-comp-v5-actions .bpa-comp-open{min-height:38px;background:var(--cc-orange)!important;color:#fff!important;font-size:.78rem!important;padding:8px 11px!important}.bpa-comp-v5-actions .bpa-comp-open:hover{background:#f17a33!important}.bpa-comp-v5-actions .bpa-comp-edit,.bpa-comp-v5-actions .bpa-icon-delete{background:#262c27!important;color:#f4e9dc!important;border-color:#3b433c!important}.bpa-comp-v5-actions .bpa-comp-edit:hover{background:#333a34!important}.bpa-comp-v5-actions .bpa-icon-delete:hover{background:#4a2724!important;color:#ffb4a7!important}

.bpa-catalog-list-v5[hidden]{display:none!important}.bpa-catalog-table-scroll{overflow:auto;border:1px solid #d2c2ae;border-radius:9px;background:rgba(255,251,244,.96);box-shadow:0 7px 20px rgba(52,40,28,.06)}
.bpa-catalog-table-v5{width:100%;border-collapse:separate;border-spacing:0;min-width:1160px}.bpa-catalog-table-v5 th{position:sticky;top:0;z-index:2;padding:11px 12px;background:#1c211e!important;color:#f3e9dd!important;border-bottom:1px solid #343a35!important;font-family:var(--cc-display)!important;font-size:.76rem!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap}.bpa-catalog-table-v5 td{padding:11px 12px;border-bottom:1px solid #e5d8c8;color:#302d28;vertical-align:middle;font-size:.8rem;background:transparent}.bpa-catalog-table-v5 tbody tr:last-child td{border-bottom:0}.bpa-catalog-table-v5 tbody tr:hover td{background:#f6ede1}.bpa-list-number{width:76px}.bpa-list-number strong{display:block;font-family:var(--cc-display);font-size:1.55rem;line-height:1;color:#1b1d1a}.bpa-list-number small{display:block;margin-top:4px;font-size:.57rem;letter-spacing:.08em;color:#83796d}.bpa-list-name{min-width:290px}.bpa-list-name a{display:block}.bpa-list-name strong{display:block;font-size:.88rem;color:#191b18}.bpa-list-name small{display:block;max-width:410px;margin-top:3px;color:#786f64;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-list-category,.bpa-list-level,.bpa-list-access{display:inline-flex;align-items:center;max-width:220px;padding:5px 7px;border-radius:5px;background:#ece5dc;color:#5d554b;font-size:.66rem;font-weight:800;line-height:1.15}.bpa-list-level{background:#e8eee9;color:#275e51}.bpa-list-access.open{background:#fde2d2;color:#a9481d}.bpa-catalog-table-v5 td.numeric{text-align:center;font-family:var(--cc-display);font-size:1rem}.bpa-list-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.bpa-list-open,.bpa-list-edit{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 9px;border-radius:5px;font-weight:850;font-size:.7rem}.bpa-list-open{background:#1e2520;color:#fff8ed}.bpa-list-open:hover{background:var(--cc-orange)}.bpa-list-edit{border:1px solid #cfbea9;background:#fffaf2;color:#4d453c}.bpa-list-edit:hover{border-color:#9d8973}

html[data-theme="dark"] .bpa-catalog-view-toggle{background:#252a26;border-color:#414841}html[data-theme="dark"] .bpa-catalog-results-head-v5 strong{color:#f4ecdf}html[data-theme="dark"] .bpa-catalog-results-head-v5 span{color:#aaa298}html[data-theme="dark"] .bpa-catalog-table-scroll{background:#222622;border-color:#3d443e}html[data-theme="dark"] .bpa-catalog-table-v5 td{border-color:#3a403a;color:#e9dfd2}html[data-theme="dark"] .bpa-catalog-table-v5 tbody tr:hover td{background:#2a302b}html[data-theme="dark"] .bpa-list-number strong,html[data-theme="dark"] .bpa-list-name strong{color:#f4ecdf}html[data-theme="dark"] .bpa-list-name small{color:#aaa298}

@media(max-width:1500px){.bpa-catalog-grid-v5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.bpa-catalog-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))}.bpa-comp-v5-art{min-height:225px}}
@media(max-width:720px){.bpa-catalog-results-head-v5{align-items:flex-start;flex-direction:column}.bpa-catalog-grid-v5{grid-template-columns:1fr}.bpa-catalog-view-toggle{width:100%}.bpa-catalog-view-toggle button{flex:1;justify-content:center}.bpa-comp-v5-art{min-height:220px}}

/* Cyber Cave Portal 5.1.6 — full-width shell + competition rebuild */

/* Use the available viewport instead of centering fixed-width islands. */
.app-main{width:calc(100% - var(--cc-sidebar-width))!important;max-width:none!important;overflow-x:hidden!important}
.workspace-shell,.dashboard-shell{
  width:100%!important;max-width:none!important;margin:0!important;
  padding:clamp(18px,2vw,32px) clamp(18px,2.2vw,36px) clamp(48px,5vw,76px)!important;
}
.bpax-main{width:100%!important;max-width:none!important;margin:0!important;padding:clamp(18px,2vw,30px)!important}
.dashboard-home,.attendance-page,.backgrounds-page,.bpa-admin-page,.digital-library-page,.display-hub,.lesson-plans-workspace,.lesson-week-workspace,.lesson-editor-shell,.lesson-view-shell,.reports-page,.behavior-page,.equipment-page,.students-workspace{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
@media(max-width:900px){.app-main{width:calc(100% - 82px)!important}}
@media(max-width:680px){.app-main{width:100%!important}}

/* Competition catalog controls — compact, readable, full width. */
.bpa-competition-catalog-v2{width:100%!important;max-width:none!important}
.bpa-catalog-command{width:100%!important}
.bpa-catalog-toolbar-v2{width:100%!important}
.bpa-catalog-results-head-v5{margin:10px 0 12px!important}
.bpa-catalog-results-head-v5 strong{font-size:1rem!important}.bpa-catalog-results-head-v5 span{font-size:.78rem!important}
.bpa-catalog-view-toggle{display:flex!important;gap:4px!important;padding:4px!important;border:1px solid #cdbcaa!important;background:#eee5d9!important;border-radius:7px!important}
.bpa-catalog-view-toggle a{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;padding:8px 13px!important;border-radius:5px!important;color:#514a42!important;font-weight:850!important;font-size:.82rem!important;text-decoration:none!important}
.bpa-catalog-view-toggle a:hover{background:#fff8ef!important}
.bpa-catalog-view-toggle a.is-active{background:#1c211e!important;color:#fff8ed!important;box-shadow:0 4px 10px rgba(31,26,20,.14)!important}
.bpa-catalog-view-toggle a span{font-size:1rem!important}

/* The universal theme used to turn inner card sections into white mini-cards. Reset them. */
.bpa-catalog-card-v5 :where(.bpa-comp-v5-art,.bpa-comp-v5-top,.bpa-comp-v5-copy,.bpa-comp-v5-meta,.bpa-comp-v5-stats,.bpa-comp-v5-actions,.bpa-number-lockup,.bpa-comp-v5-flags){
  border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;
}
.bpa-catalog-card-v5 .bpa-comp-v5-top,.bpa-catalog-card-v5 .bpa-comp-v5-copy,.bpa-catalog-card-v5 .bpa-number-lockup,.bpa-catalog-card-v5 .bpa-comp-v5-flags{background:transparent!important;color:inherit!important}

/* Full-card view: faithful to the selected mockup, but efficient. */
.bpa-catalog-grid-v5{
  display:grid!important;grid-template-columns:repeat(4,minmax(260px,1fr))!important;
  gap:14px!important;width:100%!important;
}
.bpa-catalog-card-v5{
  min-height:390px!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;
  border-radius:9px!important;background:#171b18!important;color:#fff8ed!important;
  border:1px solid #323a33!important;box-shadow:0 12px 28px rgba(34,25,17,.18)!important;
}
.bpa-catalog-card-v5:hover{transform:translateY(-3px)!important;box-shadow:0 20px 42px rgba(34,25,17,.26)!important}
.bpa-comp-v5-art{
  min-height:245px!important;padding:18px 18px 20px!important;background:#17201c!important;color:#fff8ed!important;
}
.bpa-comp-v5-top{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}
.bpa-comp-v5-top .bpa-number-lockup strong{
  display:block!important;font-size:3.15rem!important;line-height:.9!important;color:#fff8ed!important;
  font-family:var(--cc-display)!important;text-shadow:0 2px 12px rgba(0,0,0,.48)!important;
}
.bpa-comp-v5-top .bpa-number-lockup small{display:block!important;margin-top:6px!important;color:#f0d7c4!important;font-size:.72rem!important;letter-spacing:.11em!important}
.bpa-comp-v5-flags{max-width:58%!important}
.bpa-comp-v5-flags span{font-size:.66rem!important;padding:5px 8px!important;color:#fff5e8!important;background:rgba(16,19,17,.65)!important}
.bpa-comp-v5-copy{margin-top:auto!important;padding-top:30px!important}
.bpa-comp-v5-copy h3{
  margin:0 0 10px!important;color:#fff8ed!important;font-size:clamp(1.55rem,1.55vw,2rem)!important;
  line-height:1!important;text-shadow:0 2px 14px rgba(0,0,0,.5)!important;
}
.bpa-comp-v5-copy p{font-size:.88rem!important;line-height:1.48!important;color:#e6ddd2!important;-webkit-line-clamp:2!important;max-width:100%!important}
.bpa-comp-v5-meta{padding:13px 14px 14px!important;background:#171b18!important;color:#fff8ed!important;border-top:1px solid #363d37!important}
.bpa-comp-v5-meta .bpa-catalog-levels{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin:0 0 10px!important}
.bpa-comp-v5-meta .bpa-catalog-levels span{background:#262d28!important;color:#eee4d8!important;border:1px solid #3d453e!important;font-size:.67rem!important}
.bpa-comp-v5-stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;margin:0 0 11px!important;background:transparent!important;border-top:1px solid #343b35!important;border-bottom:1px solid #343b35!important}
.bpa-comp-v5-stats span{background:transparent!important;border-right:1px solid #343b35!important;padding:9px 4px!important}.bpa-comp-v5-stats span:last-child{border-right:0!important}
.bpa-comp-v5-stats b{font-size:1.25rem!important;color:#fff8ed!important}.bpa-comp-v5-stats small{font-size:.61rem!important;color:#aaa195!important}
.bpa-comp-v5-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 38px 34px!important;gap:6px!important;background:transparent!important}
.bpa-comp-v5-actions .bpa-comp-open{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:40px!important;padding:8px 12px!important;border-radius:5px!important;background:var(--cc-orange)!important;color:#fff!important;font-size:.82rem!important;font-weight:850!important}
.bpa-comp-v5-actions .bpa-comp-edit,.bpa-comp-v5-actions .bpa-icon-delete{min-height:38px!important;border-radius:5px!important}

/* List mode uses all horizontal space and is genuinely useful for management. */
.bpa-catalog-list-v5{width:100%!important}
.bpa-catalog-table-scroll{width:100%!important;max-width:none!important;border-radius:8px!important}
.bpa-catalog-table-v5{width:100%!important;min-width:1080px!important;table-layout:auto!important}
.bpa-catalog-table-v5 th{font-size:.82rem!important;padding:12px 13px!important}
.bpa-catalog-table-v5 td{font-size:.86rem!important;padding:12px 13px!important}
.bpa-list-number strong{font-size:1.72rem!important}.bpa-list-number small{font-size:.62rem!important}
.bpa-list-name strong{font-size:.94rem!important}.bpa-list-name small{font-size:.73rem!important}
.bpa-list-category,.bpa-list-level,.bpa-list-access{font-size:.7rem!important;padding:5px 8px!important}
.bpa-list-open,.bpa-list-edit{font-size:.74rem!important;min-height:34px!important}

html[data-theme="dark"] .bpa-catalog-view-toggle{background:#252a26!important;border-color:#414841!important}
html[data-theme="dark"] .bpa-catalog-view-toggle a{color:#cfc5b9!important}
html[data-theme="dark"] .bpa-catalog-view-toggle a.is-active{background:var(--cc-orange)!important;color:#fff!important}

@media(max-width:1550px){.bpa-catalog-grid-v5{grid-template-columns:repeat(3,minmax(260px,1fr))!important}}
@media(max-width:1120px){.bpa-catalog-grid-v5{grid-template-columns:repeat(2,minmax(260px,1fr))!important}}
@media(max-width:720px){.bpa-catalog-grid-v5{grid-template-columns:1fr!important}.bpa-catalog-view-toggle{width:100%!important}.bpa-catalog-view-toggle a{flex:1!important}}


/* Cyber Cave 5.1.7 — kill stray inner white boxes in BPA competition cards */
.bpa-catalog-card-v5 .bpa-comp-v5-art,
.bpa-catalog-card-v5 .bpa-comp-v5-top,
.bpa-catalog-card-v5 .bpa-comp-v5-copy,
.bpa-catalog-card-v5 .bpa-number-lockup,
.bpa-catalog-card-v5 .bpa-comp-v5-copy h3,
.bpa-catalog-card-v5 .bpa-comp-v5-copy p,
.bpa-catalog-card-v5 .bpa-number-lockup strong,
.bpa-catalog-card-v5 .bpa-number-lockup small{
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
}

/* Any generic global card styling that leaks into the artwork area should be neutralized. */
.bpa-catalog-card-v5 .bpa-comp-v5-art :not(.bpa-comp-v5-flags):not(.bpa-comp-v5-flags *){
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

/* Re-assert the intended appearance for the text and badges inside the art area. */
.bpa-catalog-card-v5 .bpa-comp-v5-top .bpa-number-lockup strong{
  color:#fff9ef !important;
  text-shadow:0 2px 12px rgba(0,0,0,.42) !important;
}
.bpa-catalog-card-v5 .bpa-comp-v5-top .bpa-number-lockup small{
  color:#f0d7c4 !important;
}
.bpa-catalog-card-v5 .bpa-comp-v5-copy h3{
  color:#fff9ef !important;
  text-shadow:0 2px 13px rgba(0,0,0,.42) !important;
}
.bpa-catalog-card-v5 .bpa-comp-v5-copy p{
  color:#e6ddd2 !important;
}
.bpa-catalog-card-v5 .bpa-comp-v5-flags span{
  background:rgba(16,19,17,.65) !important;
  border:1px solid rgba(255,255,255,.17) !important;
  box-shadow:none !important;
}
.bpa-catalog-card-v5 .bpa-comp-v5-flags span.open{
  background:var(--cc-orange) !important;
  border-color:var(--cc-orange) !important;
  color:#fff !important;
}


/* Cyber Cave 5.1.8 — final competition-card isolation layer. */
.bpa-catalog-grid-v5 .bpa-catalog-card-v5{
  background:#171b18!important;
  color:#fff8ed!important;
  border-radius:9px!important;
  overflow:hidden!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-art{
  position:relative!important;
  min-height:240px!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  background-color:#18201c!important;
  color:#fff8ed!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-top,
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-copy,
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-number-lockup{
  background:transparent!important;
  color:inherit!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-number-lockup strong,
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-number-lockup small,
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-copy h3,
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-copy p{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-number-lockup strong{
  color:#fff9ef!important;
  font-size:2.85rem!important;
  line-height:1!important;
  text-shadow:0 2px 12px rgba(0,0,0,.42)!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-number-lockup small{
  color:#f0d7c4!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-copy{
  margin-top:auto!important;
  padding-top:30px!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-copy h3{
  color:#fff9ef!important;
  font-size:1.72rem!important;
  line-height:1.02!important;
  text-shadow:0 2px 13px rgba(0,0,0,.42)!important;
}
.bpa-catalog-grid-v5 .bpa-catalog-card-v5 .bpa-comp-v5-copy p{
  color:#e6ddd2!important;
  font-size:.88rem!important;
  line-height:1.48!important;
}

/* Cyber Cave Portal 5.2.0 — BPA Resources Library mockup implementation */
.bpa-resources-v6{display:grid;gap:0;width:100%;min-width:0}
.bpa-res-hero{position:relative;overflow:hidden;min-height:205px;padding:28px 30px 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border:1px solid #d5c4ae;border-radius:10px 10px 0 0;background:linear-gradient(90deg,rgba(255,249,239,.99) 0%,rgba(255,249,239,.96) 54%,rgba(255,249,239,.42) 74%,rgba(16,15,13,.30) 100%),url('/assets/images/field-notes/dashboard-hero.jpg') center 54%/cover;color:#11120f;box-shadow:0 12px 28px rgba(50,37,24,.08)}
.bpa-res-hero:after{content:"";position:absolute;right:0;top:0;bottom:0;width:46%;background:linear-gradient(90deg,transparent,rgba(12,14,12,.05));pointer-events:none}
.bpa-res-hero>div:first-child{position:relative;z-index:1;max-width:900px}.bpa-res-hero .eyebrow{color:var(--cc-orange)!important;font-size:.74rem!important;letter-spacing:.16em!important;margin:0 0 4px!important}.bpa-res-hero h1{font-family:var(--cc-display)!important;text-transform:uppercase!important;font-size:clamp(3.8rem,6.2vw,7.4rem)!important;line-height:.84!important;letter-spacing:.005em!important;margin:.06em 0 .14em!important;color:#10110f!important;text-shadow:none!important}.bpa-res-hero p:not(.eyebrow){margin:0;color:#332f29;font-size:1rem;line-height:1.45}
.bpa-res-hero-actions{position:relative;z-index:2;display:flex;align-items:flex-end;gap:12px}.bpa-res-hero-actions>.button{align-self:center;white-space:nowrap}.bpa-res-hero aside{width:150px;min-height:108px;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 10px;padding:16px;border-radius:10px;background:rgba(255,250,242,.94);border:1px solid #d5c4ae;box-shadow:0 10px 26px rgba(32,24,16,.12);backdrop-filter:blur(8px)}.bpa-res-hero aside>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border:2px solid #f0a36d;border-radius:50%;color:var(--cc-orange);font-size:1.25rem}.bpa-res-hero aside strong{font-family:var(--cc-display);font-size:2.1rem;line-height:1;color:#11120f}.bpa-res-hero aside small{text-transform:uppercase;letter-spacing:.07em;font-size:.63rem;font-weight:850;color:#37322c}

.bpa-res-filterbar{display:grid;grid-template-columns:minmax(300px,1.35fr) repeat(3,minmax(170px,.7fr)) minmax(150px,.55fr) auto auto;gap:10px;align-items:end;padding:12px 14px;border:1px solid #d8c8b6;border-top:0;background:rgba(255,251,244,.97);box-shadow:0 7px 18px rgba(50,37,24,.045)}.bpa-res-filterbar>label{display:grid;gap:4px;min-width:0}.bpa-res-filterbar>label>small{font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:#84796d}.bpa-res-filterbar input,.bpa-res-filterbar select{min-height:44px!important;background:#fffaf3!important}.bpa-res-search{position:relative}.bpa-res-search>span{position:absolute;left:13px;bottom:12px;z-index:1;font-size:1.1rem;color:#3b3832}.bpa-res-search input{padding-left:39px!important}.bpa-res-filterbar>.button{min-height:44px!important}.bpa-res-filterbar>.text-link{align-self:center;white-space:nowrap}

.bpa-res-featured{overflow:hidden;background:linear-gradient(180deg,#111512,#171b18);color:#fff;border-left:1px solid #111512;border-right:1px solid #111512;box-shadow:0 12px 30px rgba(19,17,13,.13)}.bpa-res-featured-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:14px 18px 8px}.bpa-res-featured-head p{margin:0;font-family:var(--cc-display);text-transform:uppercase;font-size:1.25rem;letter-spacing:.02em;color:#fff7ea}.bpa-res-featured-head p b{color:#ff7929}.bpa-res-featured-head small{display:block;margin-top:2px;color:#bdb5aa;font-size:.72rem}.bpa-res-featured-head>span{padding:6px 9px;border:1px solid #454d46;border-radius:5px;color:#ddd3c6;font-size:.7rem;font-weight:850}
.bpa-res-shelf{position:relative;display:flex;gap:18px;align-items:flex-end;overflow-x:auto;padding:7px 18px 18px;min-height:212px;scrollbar-width:thin;scrollbar-color:#6a5440 #171b18}.bpa-res-shelf:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:14px;background:linear-gradient(180deg,#7b4f28,#3e2817);box-shadow:0 5px 0 #25180f,0 8px 18px rgba(0,0,0,.45);z-index:0}.bpa-res-shelf-book{position:relative;z-index:1;flex:0 0 116px;display:grid;gap:6px;color:#fff;text-decoration:none;transition:transform .18s ease}.bpa-res-shelf-book:hover{transform:translateY(-7px) scale(1.02)}.bpa-res-shelf-book img,.bpa-res-cover-fallback{width:116px;height:168px;object-fit:contain;display:block;border-radius:4px;background:#0d100e;box-shadow:0 10px 22px rgba(0,0,0,.38)}.bpa-res-cover-fallback{display:grid;place-items:center;font-family:var(--cc-display);font-size:3rem;color:#fff;background:linear-gradient(145deg,#1e6c66,#1a201d)}.bpa-res-shelf-book>span:last-child{display:none}.bpa-res-shelf-empty{padding:65px 20px;color:#aaa195}

.bpa-res-table-shell{border:1px solid #d8c8b6;border-top:0;border-radius:0 0 10px 10px;background:rgba(255,251,244,.98);box-shadow:0 12px 28px rgba(50,37,24,.075);overflow:hidden}.bpa-res-table-shell>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-bottom:1px solid #dfd0be}.bpa-res-table-shell h2{font-family:var(--cc-display)!important;text-transform:uppercase;font-size:1.45rem;margin:0;color:#171816}.bpa-res-table-shell h2 span{font-family:Inter,sans-serif;font-size:.85rem;color:#72695e}.bpa-res-table-shell>header>div{display:flex;gap:8px;flex-wrap:wrap}.bpa-res-table-shell>header>div span{font-size:.67rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#eee6db;color:#665e54}
.bpa-res-table-scroll{overflow:auto;max-height:calc(100vh - 540px);min-height:280px}.bpa-res-table{width:100%;border-collapse:collapse;table-layout:auto}.bpa-res-table th{position:sticky;top:0;z-index:2;padding:9px 10px;background:#f7f0e7!important;border-bottom:1px solid #d8c8b6!important;font-size:.66rem!important;color:#6d645a!important;white-space:nowrap}.bpa-res-table td{padding:8px 10px;border-bottom:1px solid #e9ddce;vertical-align:middle;font-size:.77rem;color:#39342e}.bpa-res-table tbody tr:hover{background:#fff7ec}.bpa-res-title-cell{display:flex;align-items:center;gap:10px;min-width:360px}.bpa-res-title-cell strong{display:block;color:#171816;font-size:.8rem;line-height:1.25}.bpa-res-title-cell small{display:block;margin-top:2px;max-width:520px;color:#8b8074;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.66rem}.bpa-res-mini-cover{flex:0 0 34px;width:34px;height:46px;border-radius:3px;overflow:hidden;background:#1c211e;display:grid;place-items:center;color:#fff;font-weight:900}.bpa-res-mini-cover img{width:100%;height:100%;object-fit:contain}.bpa-res-type-badge{display:inline-flex;padding:4px 7px;border:1px solid #efb286;border-radius:5px;background:#fff5eb;color:#b75c20;font-size:.64rem;font-weight:850;white-space:nowrap}.bpa-res-context{display:inline-flex;max-width:290px;padding:4px 7px;border-radius:4px;background:#e4eee8;color:#376154;font-size:.63rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-res-comp-pill{display:inline-flex;max-width:270px;padding:4px 7px;border:1px solid #efb286;border-radius:4px;color:#d6611e;font-size:.63rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-res-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:260px;white-space:nowrap}.bpa-res-actions form{margin:0}.bpa-res-actions .button{min-height:34px!important;padding:6px 9px!important;font-size:.67rem!important}.bpa-res-more{width:34px;height:34px;border:1px solid #d7c6b3;border-radius:5px;background:#fffaf3;color:#3d3730;font-weight:900;cursor:pointer}

html[data-theme="dark"] .bpa-res-hero{background-image:linear-gradient(90deg,rgba(19,22,19,.97) 0%,rgba(19,22,19,.90) 55%,rgba(19,22,19,.36) 78%),url('/assets/images/field-notes/dashboard-hero.jpg');color:#f5ecdf;border-color:#3b433d}html[data-theme="dark"] .bpa-res-hero h1{color:#f5ecdf!important}html[data-theme="dark"] .bpa-res-hero p:not(.eyebrow){color:#c8bfb2}html[data-theme="dark"] .bpa-res-hero aside{background:rgba(31,35,31,.92);border-color:#4b544c}html[data-theme="dark"] .bpa-res-hero aside strong{color:#f5ecdf}html[data-theme="dark"] .bpa-res-hero aside small{color:#bfb5a8}html[data-theme="dark"] .bpa-res-filterbar,html[data-theme="dark"] .bpa-res-table-shell{background:#222622;border-color:#3d443e}html[data-theme="dark"] .bpa-res-table-shell h2,html[data-theme="dark"] .bpa-res-title-cell strong{color:#f4ecdf}html[data-theme="dark"] .bpa-res-table td{color:#c9c0b4;border-color:#393f3a}html[data-theme="dark"] .bpa-res-table tbody tr:hover{background:#2a302b}html[data-theme="dark"] .bpa-res-table th{background:#292e2a!important;color:#b8afa3!important;border-color:#3d443e!important}html[data-theme="dark"] .bpa-res-table-shell>header{border-color:#3d443e}html[data-theme="dark"] .bpa-res-table-shell>header>div span{background:#303630;color:#cfc5b8}

@media(max-width:1400px){.bpa-res-filterbar{grid-template-columns:minmax(280px,1.2fr) repeat(2,minmax(165px,.7fr)) minmax(160px,.65fr) auto auto}.bpa-res-filterbar label:nth-of-type(4){grid-row:2}.bpa-res-filterbar label:nth-of-type(5){grid-row:2}.bpa-res-filterbar>.button,.bpa-res-filterbar>.text-link{grid-row:2}}
@media(max-width:1050px){.bpa-res-hero{min-height:190px}.bpa-res-hero h1{font-size:clamp(3.1rem,8vw,5rem)!important}.bpa-res-filterbar{grid-template-columns:1fr 1fr}.bpa-res-filterbar>*{grid-row:auto!important}.bpa-res-search{grid-column:1/-1}.bpa-res-title-cell{min-width:300px}.bpa-res-table-scroll{max-height:none}}
@media(max-width:700px){.bpa-res-hero{display:block;padding:22px}.bpa-res-hero-actions{margin-top:18px;justify-content:space-between}.bpa-res-hero aside{width:132px}.bpa-res-filterbar{grid-template-columns:1fr}.bpa-res-search{grid-column:auto}.bpa-res-shelf{gap:12px}.bpa-res-shelf-book{flex-basis:92px}.bpa-res-shelf-book img,.bpa-res-cover-fallback{width:92px;height:136px}.bpa-res-table-shell>header{align-items:flex-start;flex-direction:column}.bpa-res-table{min-width:1050px}}


/* Cyber Cave Portal 5.2.1 — remove accidental nested outline boxes */
.app-main :where([class*="-card-title"],[class*="-card-head"],[class*="-panel-head"],[class*="-panel-heading"],[class*="-section-head"],[class*="-section-heading"],[class*="-title-row"],[class*="-heading-row"]){background:transparent!important;background-image:none!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important}
.app-main :where([class*="-card-title"],[class*="-card-head"],[class*="-panel-head"],[class*="-panel-heading"],[class*="-section-head"],[class*="-section-heading"])::before,.app-main :where([class*="-card-title"],[class*="-card-head"],[class*="-panel-head"],[class*="-panel-heading"],[class*="-section-head"],[class*="-section-heading"])::after{display:none!important}
.profile-card-title,.command-panel-heading,.bpax-panel-head,.bpax-section-head,.record-list-heading,.student-accounts-heading{padding:0 0 11px!important;margin:0 0 13px!important;border-bottom:1px solid color-mix(in srgb,var(--cc-line) 65%,transparent)!important}
.profile-card-title>span:first-child{border:0!important;box-shadow:none!important}

/* Student login credential report */
.login-credential-report{width:min(1050px,calc(100% - 36px));margin:22px auto 44px;background:#f7f0e4;color:#171916;border:0;border-radius:12px;overflow:hidden;box-shadow:0 22px 60px rgba(39,29,18,.16)}
.credential-toolbar{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;background:#171a17;color:#fff}.credential-toolbar>div{display:flex;gap:8px}
.credential-hero{position:relative;min-height:265px;padding:38px 42px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;color:#fff8ed;background-image:linear-gradient(90deg,rgba(10,13,11,.96),rgba(12,16,13,.76) 58%,rgba(11,14,12,.28)),url('/assets/images/field-notes/dashboard-hero.jpg');background-size:cover;background-position:center 52%}.credential-hero::after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,var(--cc-orange),#f0b24e 48%,#17766f)}
.credential-kicker{margin:0 0 8px;color:#ff8a42;font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem}.credential-hero h1{margin:0;font-family:var(--cc-display);font-size:clamp(3.5rem,7vw,6.4rem);line-height:.88;text-transform:uppercase;color:#fff8ed}.credential-hero-sub{margin:13px 0 0;color:#e9dfd1;font-size:1rem}
.credential-student-badge{min-width:220px;padding:18px;background:rgba(16,19,17,.80);border-left:4px solid var(--cc-orange);backdrop-filter:blur(10px)}.credential-student-badge span,.credential-student-badge strong{display:block}.credential-student-badge span{color:#c9beae;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.credential-student-badge strong{margin:5px 0;color:#fff;font-size:1.12rem}
.credential-body{padding:28px 34px 34px}.credential-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:start;padding-bottom:19px;margin-bottom:20px;border-bottom:2px solid #d8c7b1}.credential-intro h2{margin:0 0 6px;font-family:var(--cc-display);font-size:2rem;text-transform:uppercase}.credential-intro p{margin:0;color:#6f665b}.credential-confidential{padding:9px 12px;background:#1b201c;color:#fff8ed;border-radius:6px;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.credential-account{min-height:178px;padding:18px 20px;background:#fffaf2;border-left:5px solid var(--cc-orange);box-shadow:0 7px 18px rgba(47,35,23,.07)}.credential-account:nth-child(3n+2){border-left-color:#17766f}.credential-account:nth-child(3n){border-left-color:#c99932}.credential-account-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:13px}.credential-account-head h3{margin:3px 0 0;font-size:1.16rem}.credential-account-type{color:#b94b18;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.credential-account-site{font-size:.7rem;color:#17766f;font-weight:800}
.credential-fields{display:grid;gap:7px}.credential-field{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:baseline}.credential-field span{color:#776d60;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.credential-field strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.93rem;overflow-wrap:anywhere;color:#171916}.credential-field.password strong{font-size:1rem;color:#b94b18}.credential-account-note{margin:11px 0 0;padding-top:8px;border-top:1px solid #e7dac8;color:#71675b;font-size:.75rem}.credential-empty{padding:58px 30px;text-align:center;background:#fffaf2;border-left:5px solid #c99932}.credential-empty strong{display:block;font-family:var(--cc-display);font-size:2rem;text-transform:uppercase}.credential-empty p{max-width:560px;margin:8px auto 0;color:#706659}
.credential-footer{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:24px;padding-top:18px;border-top:2px solid #d8c7b1}.credential-footer div{min-height:48px;border-bottom:1px solid #897e70}.credential-footer span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#746a5d;font-weight:850}.credential-security-note{grid-column:1/-1;margin:0;color:#776d60;font-size:.72rem}.student-report-grid .credential-report-option span{background:#1b201c!important;color:#ff8a42!important}
@media(max-width:760px){.credential-grid{grid-template-columns:1fr}.credential-hero{grid-template-columns:1fr;min-height:auto;padding:28px}.credential-student-badge{min-width:0}.credential-intro{grid-template-columns:1fr}.credential-footer{grid-template-columns:1fr}}
@media print{@page{size:letter portrait;margin:.28in}body:has(.login-credential-report){background:#fff!important}body:has(.login-credential-report) .app-sidebar,body:has(.login-credential-report) .cc-theme-float,body:has(.login-credential-report) .credential-toolbar{display:none!important}body:has(.login-credential-report) .app-main{margin:0!important;padding:0!important;width:100%!important}.login-credential-report{width:100%!important;height:10.42in!important;min-height:10.42in!important;max-height:10.42in!important;margin:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.credential-hero{min-height:2.15in!important;padding:.30in .34in!important}.credential-hero h1{font-size:47pt!important}.credential-body{padding:.22in .30in .18in!important}.credential-grid{gap:.10in!important}.credential-account{min-height:1.42in!important;padding:.13in .14in!important;break-inside:avoid}.credential-field strong{font-size:8.7pt!important}.credential-field span{font-size:6.4pt!important}.credential-account-note{font-size:6.5pt!important}.credential-footer{margin-top:.15in!important;padding-top:.10in!important}}


/* Cyber Cave 5.2.2 — credential report contrast + profile value readability */

/* Credential report is a self-contained print design; normal theme rules must not recolor it. */
.login-credential-report,
.login-credential-report *{box-sizing:border-box}
.login-credential-report .credential-toolbar{background:#171a17!important;color:#fff8ed!important}
.login-credential-report .credential-toolbar .button.secondary{
  background:transparent!important;color:#fff8ed!important;border:1px solid #d8c7b1!important;
}
.login-credential-report .credential-toolbar .button.secondary:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
.login-credential-report .credential-hero,
.login-credential-report .credential-hero *{color:#fff8ed!important}
.login-credential-report .credential-hero .credential-kicker{color:#ff8a42!important}
.login-credential-report .credential-hero h1{
  color:#fff8ed!important;-webkit-text-fill-color:#fff8ed!important;text-shadow:0 2px 18px rgba(0,0,0,.35)!important;
}
.login-credential-report .credential-hero-sub{color:#eee3d4!important}
.login-credential-report .credential-student-badge{background:rgba(16,19,17,.86)!important;color:#fff8ed!important}
.login-credential-report .credential-student-badge span{color:#d7cbbd!important}
.login-credential-report .credential-student-badge strong{color:#fff!important}
.login-credential-report .credential-body,
.login-credential-report .credential-intro,
.login-credential-report .credential-account,
.login-credential-report .credential-empty{color:#171916!important}
.login-credential-report .credential-intro h2{color:#171916!important}
.login-credential-report .credential-intro p{color:#665d53!important}
.login-credential-report .credential-confidential{background:#1b201c!important;color:#fff8ed!important}
.login-credential-report .credential-account h3,
.login-credential-report .credential-account strong{color:#171916!important}
.login-credential-report .credential-field.password strong{color:#b94b18!important}
.login-credential-report .credential-security-note{color:#6d6358!important}

/* Signature/date lines were removed; footer is now just the security note. */
.login-credential-report .credential-footer{
  display:block!important;margin-top:20px!important;padding-top:14px!important;border-top:2px solid #d8c7b1!important;
}
.login-credential-report .credential-security-note{grid-column:auto!important;margin:0!important}

/* Keep common profile values on one clean line at normal desktop widths. */
.profile-info-card dl{
  grid-template-columns:minmax(78px,96px) minmax(0,1fr)!important;
  column-gap:14px!important;row-gap:11px!important;
}
.profile-info-card dt{white-space:nowrap!important}
.profile-info-card dd{
  min-width:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
  overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;
  font-size:clamp(.82rem,.78vw,.96rem)!important;line-height:1.32!important;
}

/* Give profile cards enough horizontal room before dropping into another row. */
.profile-card-grid{grid-template-columns:repeat(3,minmax(360px,1fr))!important;align-items:stretch!important}

@media(max-width:1500px) and (min-width:981px){
  .profile-card-grid{grid-template-columns:repeat(2,minmax(380px,1fr))!important}
  .profile-info-card dl{display:grid!important;grid-template-columns:minmax(82px,98px) minmax(0,1fr)!important}
  .profile-info-card dt{margin:0!important;font-size:.78rem!important;text-transform:none!important;letter-spacing:0!important;align-self:start!important}
  .profile-info-card dd{display:block!important;margin:0!important;font-size:.9rem!important}
}

/* On genuinely narrow screens, wrapping is preferable to horizontal overflow. */
@media(max-width:980px){
  .profile-card-grid{grid-template-columns:1fr!important}
  .profile-info-card dl{display:grid!important;grid-template-columns:minmax(82px,105px) minmax(0,1fr)!important}
  .profile-info-card dd{white-space:normal!important;overflow-wrap:anywhere!important;font-size:.94rem!important}
}

@media print{
  .login-credential-report .credential-hero h1{color:#fff8ed!important;-webkit-text-fill-color:#fff8ed!important}
  .login-credential-report .credential-toolbar{display:none!important}
  .login-credential-report .credential-footer{margin-top:.12in!important;padding-top:.08in!important}
  .login-credential-report .credential-security-note{font-size:6.7pt!important}
}

/* Cyber Cave 5.2.3 — Login Credential Report: true US Letter print layout */
@media print {
  @page { size: Letter portrait; margin: .25in; }

  html, body { width: 8.5in !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body:has(.login-credential-report) { overflow: visible !important; }
  body:has(.login-credential-report) .app-main {
    width: 8in !important;
    max-width: 8in !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .login-credential-report {
    width: 8in !important;
    max-width: 8in !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    page-break-inside: avoid !important;
    break-inside: avoid-page !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .login-credential-report .credential-toolbar { display: none !important; }

  .login-credential-report .credential-hero {
    min-height: 1.42in !important;
    height: 1.42in !important;
    padding: .18in .26in !important;
    grid-template-columns: minmax(0,1fr) 2.05in !important;
    gap: .18in !important;
    background-position: center 50% !important;
    break-inside: avoid !important;
  }
  .login-credential-report .credential-kicker {
    margin: 0 0 .04in !important;
    font-size: 6.8pt !important;
    letter-spacing: .13em !important;
  }
  .login-credential-report .credential-hero h1 {
    margin: 0 !important;
    font-size: 34pt !important;
    line-height: .88 !important;
  }
  .login-credential-report .credential-hero-sub {
    margin: .07in 0 0 !important;
    font-size: 8pt !important;
    line-height: 1.25 !important;
    max-width: 4.8in !important;
  }
  .login-credential-report .credential-student-badge {
    min-width: 0 !important;
    width: 2.05in !important;
    padding: .12in .14in !important;
    border-left-width: 3px !important;
  }
  .login-credential-report .credential-student-badge span { font-size: 6pt !important; letter-spacing: .09em !important; }
  .login-credential-report .credential-student-badge strong { margin: .03in 0 !important; font-size: 9.5pt !important; line-height: 1.15 !important; }

  .login-credential-report .credential-body { padding: .15in .23in .12in !important; }
  .login-credential-report .credential-intro {
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: .14in !important;
    padding-bottom: .10in !important;
    margin-bottom: .11in !important;
    border-bottom-width: 1px !important;
  }
  .login-credential-report .credential-intro h2 { margin: 0 0 .02in !important; font-size: 18pt !important; line-height: 1 !important; }
  .login-credential-report .credential-intro p { margin: 0 !important; font-size: 7.4pt !important; line-height: 1.25 !important; }
  .login-credential-report .credential-confidential { padding: .055in .08in !important; font-size: 5.8pt !important; letter-spacing: .06em !important; }

  .login-credential-report .credential-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: .075in !important;
    align-items: stretch !important;
  }
  .login-credential-report .credential-account {
    min-height: 0 !important;
    height: auto !important;
    padding: .095in .11in !important;
    border-left-width: 3px !important;
    box-shadow: none !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .login-credential-report .credential-account-head { margin-bottom: .055in !important; gap: .06in !important; }
  .login-credential-report .credential-account-head h3 { margin: .015in 0 0 !important; font-size: 9.2pt !important; line-height: 1.12 !important; }
  .login-credential-report .credential-account-type { font-size: 5.4pt !important; letter-spacing: .08em !important; }
  .login-credential-report .credential-account-site { font-size: 5.7pt !important; }
  .login-credential-report .credential-fields { gap: .028in !important; }
  .login-credential-report .credential-field {
    grid-template-columns: .67in minmax(0,1fr) !important;
    gap: .055in !important;
    align-items: baseline !important;
  }
  .login-credential-report .credential-field span { font-size: 5.4pt !important; letter-spacing: .04em !important; }
  .login-credential-report .credential-field strong {
    font-size: 7.2pt !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere !important;
  }
  .login-credential-report .credential-field.password strong { font-size: 7.6pt !important; }
  .login-credential-report .credential-account-note {
    margin: .055in 0 0 !important;
    padding-top: .04in !important;
    font-size: 5.6pt !important;
    line-height: 1.18 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .login-credential-report .credential-empty { padding: .28in .20in !important; }
  .login-credential-report .credential-empty strong { font-size: 14pt !important; }
  .login-credential-report .credential-empty p { font-size: 7pt !important; }

  .login-credential-report .credential-footer {
    margin-top: .085in !important;
    padding-top: .055in !important;
    border-top-width: 1px !important;
    break-inside: avoid !important;
  }
  .login-credential-report .credential-security-note { margin: 0 !important; font-size: 5.6pt !important; line-height: 1.2 !important; }
}

/* Cyber Cave 5.2.4 — Credential report print balance: readable, full-page, adaptive */
@media print {
  @page { size: Letter portrait; margin: .18in; }

  html, body { width: 8.5in !important; }
  body:has(.login-credential-report) .app-main,
  .login-credential-report {
    width: 8.14in !important;
    max-width: 8.14in !important;
  }

  /* Use the page rather than shrinking the report into the top half. */
  .login-credential-report .credential-hero {
    height: 1.68in !important;
    min-height: 1.68in !important;
    padding: .23in .30in !important;
    grid-template-columns: minmax(0,1fr) 2.25in !important;
    gap: .22in !important;
  }
  .login-credential-report .credential-kicker { font-size: 8.2pt !important; margin-bottom: .06in !important; }
  .login-credential-report .credential-hero h1 { font-size: 40pt !important; line-height: .9 !important; }
  .login-credential-report .credential-hero-sub { font-size: 10pt !important; line-height: 1.32 !important; margin-top: .09in !important; }
  .login-credential-report .credential-student-badge { width: 2.25in !important; padding: .16in .18in !important; }
  .login-credential-report .credential-student-badge span { font-size: 7.4pt !important; }
  .login-credential-report .credential-student-badge strong { font-size: 12.5pt !important; margin: .045in 0 !important; }

  .login-credential-report .credential-body { padding: .20in .28in .16in !important; }
  .login-credential-report .credential-intro { gap: .18in !important; padding-bottom: .14in !important; margin-bottom: .14in !important; }
  .login-credential-report .credential-intro h2 { font-size: 23pt !important; margin-bottom: .035in !important; }
  .login-credential-report .credential-intro p { font-size: 9.5pt !important; line-height: 1.35 !important; }
  .login-credential-report .credential-confidential { padding: .075in .105in !important; font-size: 7.1pt !important; }

  .login-credential-report .credential-grid { gap: .11in !important; }
  .login-credential-report .credential-account {
    padding: .14in .15in !important;
    border-left-width: 4px !important;
  }
  .login-credential-report .credential-account-head { margin-bottom: .085in !important; }
  .login-credential-report .credential-account-head h3 { font-size: 12pt !important; line-height: 1.15 !important; }
  .login-credential-report .credential-account-type { font-size: 7pt !important; }
  .login-credential-report .credential-account-site { font-size: 7.2pt !important; }
  .login-credential-report .credential-fields { gap: .045in !important; }
  .login-credential-report .credential-field { grid-template-columns: .82in minmax(0,1fr) !important; gap: .07in !important; }
  .login-credential-report .credential-field span { font-size: 7.1pt !important; }
  .login-credential-report .credential-field strong { font-size: 9.6pt !important; line-height: 1.18 !important; }
  .login-credential-report .credential-field.password strong { font-size: 10.4pt !important; }
  .login-credential-report .credential-account-note { font-size: 7.2pt !important; line-height: 1.25 !important; margin-top: .075in !important; padding-top: .055in !important; }
  .login-credential-report .credential-footer { margin-top: .12in !important; padding-top: .075in !important; }
  .login-credential-report .credential-security-note { font-size: 7.1pt !important; line-height: 1.25 !important; }

  /* Few accounts: deliberately use more of the page and make every credential easy to read. */
  .login-credential-report.credential-density-spacious .credential-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .login-credential-report.credential-density-spacious .credential-account { min-height: 1.58in !important; padding: .18in .18in !important; }
  .login-credential-report.credential-density-spacious .credential-account-head h3 { font-size: 13.2pt !important; }
  .login-credential-report.credential-density-spacious .credential-field strong { font-size: 10.7pt !important; }
  .login-credential-report.credential-density-spacious .credential-field.password strong { font-size: 11.6pt !important; }
  .login-credential-report.credential-density-spacious .credential-account-note { font-size: 7.8pt !important; -webkit-line-clamp: 3 !important; }

  /* Five or six accounts: still comfortably readable while staying on one sheet. */
  .login-credential-report.credential-density-balanced .credential-account { min-height: 1.28in !important; }

  /* Seven+ accounts: only then use a denser treatment to protect the one-page requirement. */
  .login-credential-report.credential-density-compact .credential-hero { height: 1.48in !important; min-height: 1.48in !important; }
  .login-credential-report.credential-density-compact .credential-hero h1 { font-size: 35pt !important; }
  .login-credential-report.credential-density-compact .credential-body { padding-top: .15in !important; }
  .login-credential-report.credential-density-compact .credential-intro h2 { font-size: 20pt !important; }
  .login-credential-report.credential-density-compact .credential-intro p { font-size: 8.4pt !important; }
  .login-credential-report.credential-density-compact .credential-account { padding: .105in .12in !important; }
  .login-credential-report.credential-density-compact .credential-account-head h3 { font-size: 10.5pt !important; }
  .login-credential-report.credential-density-compact .credential-field strong { font-size: 8.4pt !important; }
  .login-credential-report.credential-density-compact .credential-field.password strong { font-size: 9pt !important; }
  .login-credential-report.credential-density-compact .credential-account-note { font-size: 6.4pt !important; -webkit-line-clamp: 2 !important; }
}


/* Cyber Cave 5.3.0 — performance pass
   Keep the visual identity while reducing paint/compositing work on everyday pages. */
:root{
  --cc-shadow:0 10px 26px rgba(42,32,22,.11)!important;
  --cc-shadow-soft:0 3px 12px rgba(42,32,22,.065)!important;
  --cc-shadow-lift:0 12px 28px rgba(29,23,18,.15)!important;
}

/* Blur/backdrop effects are attractive but expensive on large scrolling pages. */
.command-hero-actions a,
.workspace-heading .button.secondary,
.profile-banner .profile-actions .button,
.profile-banner .profile-actions a,
.lesson-week-jump form,
.bpax-topbar .button.secondary,
.bpax-chapter-picker,
.bpa-comp-v5-flags span,
.bpa-res-hero aside,
.credential-student-badge{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Long catalogs only paint rows/cards as they approach the viewport. */
.bpa-catalog-card-v5,.bpa-catalog-row-v5,.bpax-resource-row,.bpa-res-table tbody tr,
.student-list-item,.attendance-student-row,.behavior-event-row,.equipment-row,.lesson-week-cell{
  content-visibility:auto;
  contain-intrinsic-size:auto 82px;
}
.bpa-catalog-card-v5{contain-intrinsic-size:auto 330px}

/* Avoid animating shadows/layout on hundreds of repeated items. */
.bpa-catalog-card-v5,.bpax-resource-row,.student-list-item,.attendance-student-row,
.module-card,.workspace-tool-card,.hub-card{transition:background-color .12s ease,border-color .12s ease!important}
.bpa-catalog-card-v5:hover,.module-card:hover,.workspace-tool-card:hover,.hub-card:hover{transform:none!important}

/* Large scrolling tables/lists do not need individual drop shadows. */
.bpax-resource-row,.attendance-student-row,.student-list-item,.bpa-res-table tbody tr{box-shadow:none!important}

/* Isolate major work areas to reduce browser repaint propagation. */
.workspace-shell,.dashboard-home,.bpax-main,.bpa-res-page,.student-profile-main{contain:layout style}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}


/* Cyber Cave 5.3.1 — kiosk responsiveness + complete book browser + stable library add panel */

/* The kiosk is a high-interaction screen: avoid expensive blur/compositing on dozens of tiles. */
.kiosk-body .session-choice,
.kiosk-body .out-badge,
.kiosk-body .kiosk-stat-chip,
.kiosk-body .kiosk-student-tile,
.kiosk-body .kiosk-destination-card,
.kiosk-body .teacher-options,
.kiosk-body .empty-state.glass,
.kiosk-body .book-card{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.kiosk-body .kiosk-student-tile{
  background:rgba(24,33,47,.82)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.14)!important;
  transition:border-color .12s ease,background-color .12s ease!important;
  contain:layout paint style;
}
.kiosk-body .kiosk-student-tile:hover{transform:none!important;box-shadow:0 8px 18px rgba(0,0,0,.14)!important;background:rgba(31,42,58,.9)!important}
.kiosk-body .kiosk-destination-card,.kiosk-body .book-card{box-shadow:0 6px 16px rgba(0,0,0,.14)!important;transition:border-color .12s ease,background-color .12s ease!important}
.kiosk-body .kiosk-destination-card:hover,.kiosk-body .book-card:hover{transform:none!important}
.kiosk-background-layer{
  transform:none!important;
  transition:opacity 1.45s ease!important;
  will-change:opacity;
}
.kiosk-background-layer.is-visible{transform:none!important}
.kiosk-overlay{will-change:auto!important}

/* Kiosk library: vertical scrolling stays inside the library and every horizontal shelf is reachable. */
.library-kiosk{
  width:min(100%,1320px)!important;
  max-width:1320px!important;
  height:calc(100vh - 215px)!important;
  max-height:calc(100vh - 215px)!important;
  margin:0 auto!important;
  overflow:hidden!important;
}
.kiosk-library-scroll{
  height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:2px 10px 72px 2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.35) rgba(255,255,255,.07);
}
.library-row{margin:0 0 24px;contain:layout style}
.library-shelf-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 10px;padding:0 3px}
.library-shelf-head>div:first-child{min-width:0}
.library-shelf-head h3{margin:0!important;font-size:1.35rem!important;color:#fff!important}
.library-shelf-head span{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:.78rem;font-weight:700}
.library-shelf-controls{display:flex;gap:7px;flex:0 0 auto}
.library-shelf-controls button{width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(16,23,34,.86);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.library-shelf-controls button:hover{background:rgba(255,255,255,.16)}
.book-strip{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:150px!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 12px!important;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.32) rgba(255,255,255,.06);
}
.book-strip .book-card{scroll-snap-align:start;min-width:0!important;padding:8px!important;border-radius:14px!important;background:rgba(17,25,38,.9)!important}
.book-strip .book-card img,.book-strip .book-card .cover-placeholder{height:190px!important;border-radius:9px!important;object-fit:contain!important;background:#0d1420!important}
.book-strip .book-card strong{font-size:.84rem;line-height:1.18;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-strip .book-card small{font-size:.7rem;line-height:1.25;margin-top:5px}
.loan-shelf .book-card{border-color:rgba(231,185,110,.65)!important}
@media(max-height:760px){.library-kiosk{height:calc(100vh - 180px)!important;max-height:calc(100vh - 180px)!important}.book-strip{grid-auto-columns:132px!important}.book-strip .book-card img,.book-strip .book-card .cover-placeholder{height:164px!important}}
@media(max-width:700px){.library-kiosk{height:calc(100vh - 190px)!important;max-height:calc(100vh - 190px)!important}.book-strip{grid-auto-columns:132px!important}}

/* Physical Library: the Add Book tool stays anchored at the top instead of centering lower as the collection grows. */
.library-layout{align-items:start!important}
.library-layout>form.form-card{
  align-self:start!important;
  position:sticky!important;
  top:16px!important;
  max-height:calc(100vh - 32px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
@media(max-width:1000px){.library-layout>form.form-card{position:static!important;max-height:none!important;overflow:visible!important}}


/* Cyber Cave 5.4.0 — contextual birthday awareness */
.birthday-today-banner{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 38px;gap:16px;align-items:center;margin:14px 0 16px;padding:17px 19px;border:1px solid #e3b575;border-radius:9px;background:linear-gradient(105deg,#fff0d9,#fff9ee 58%,#eaf5ef);box-shadow:0 8px 20px rgba(91,58,25,.08);overflow:hidden}.birthday-today-banner::after{content:"";position:absolute;right:50px;top:-45px;width:180px;height:130px;background:radial-gradient(circle,rgba(232,104,34,.16),transparent 66%);pointer-events:none}.birthday-confetti{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#1f2421;font-size:1.55rem}.birthday-today-banner .eyebrow{margin:0 0 3px;color:#c4541c}.birthday-today-banner h2{font-family:var(--cc-display);text-transform:uppercase;font-size:1.65rem;line-height:1;margin:0;color:#20211e}.birthday-today-banner p:last-child{margin:4px 0 0;color:#665b50}.birthday-today-banner p a{color:#a44216;font-weight:850;text-decoration:underline;text-decoration-color:rgba(164,66,22,.25);text-underline-offset:3px}.birthday-today-banner>button{position:relative;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:rgba(31,36,33,.08);color:#423b34;font-size:1.3rem;cursor:pointer}.birthday-today-banner>button:hover{background:#1f2421;color:#fff}.birthday-panel{background:linear-gradient(155deg,#fff8ec,#f8efe1)!important}.birthday-list{display:grid}.birthday-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #e6d8c7;color:var(--cc-ink);text-decoration:none}.birthday-row:last-child{border-bottom:0}.birthday-row:hover strong{color:#c45119}.birthday-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#1f2421;color:#fff;display:grid;place-items:center;font-weight:900;font-size:.7rem}.birthday-avatar img{width:100%;height:100%;object-fit:cover}.birthday-row strong,.birthday-row small{display:block}.birthday-row strong{font-size:.9rem}.birthday-row small{margin-top:2px;color:#766d62;font-size:.72rem}.birthday-row>span{font-size:1.1rem}.birthday-row.today small{color:#c45119;font-weight:800}.student-list-item strong{display:flex;align-items:center;gap:6px;min-width:0}.student-birthday-mark{flex:0 0 auto;font-size:.88rem;line-height:1}.profile-title-row{flex-wrap:wrap!important}.profile-birthday-chip{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:7px 10px!important;border-radius:999px!important;background:#fff0d8!important;color:#95470f!important;border:1px solid #efc38d!important;font-family:Inter,sans-serif!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:0!important;text-transform:none!important}.profile-birthday-chip.today{background:#e96b25!important;color:#fff!important;border-color:#e96b25!important}html[data-theme="dark"] .birthday-today-banner{background:linear-gradient(105deg,#30261e,#262923 65%,#1d302c);border-color:#6c4c31}html[data-theme="dark"] .birthday-today-banner h2{color:#fff2e5}html[data-theme="dark"] .birthday-today-banner p:last-child{color:#d2c4b4}html[data-theme="dark"] .birthday-panel{background:#242722!important}html[data-theme="dark"] .birthday-panel .birthday-row{border-color:#3c403a}html[data-theme="dark"] .birthday-row strong{color:#f4ecdf}html[data-theme="dark"] .birthday-row small{color:#b8afa4}@media(max-width:680px){.birthday-today-banner{grid-template-columns:48px minmax(0,1fr) 32px;padding:14px}.birthday-confetti{width:44px;height:44px}.birthday-today-banner h2{font-size:1.3rem}}


/* Cyber Cave 5.5.1 — kiosk stability + inactive student retention */
.kiosk-page.kiosk-action-busy{cursor:progress!important}
.kiosk-page.kiosk-action-busy .kiosk-student-tile,
.kiosk-page.kiosk-action-busy .kiosk-destination-card,
.kiosk-page.kiosk-action-busy .kiosk-action-card,
.kiosk-page.kiosk-action-busy .modal-actions button{pointer-events:none!important}
.student-inactive-toggle{display:flex;align-items:center;justify-content:center;margin:8px 10px 10px;padding:9px 11px;border-radius:6px;background:var(--cc-paper-2);border:1px solid var(--cc-line);font-size:.78rem;font-weight:850;color:var(--cc-muted);text-decoration:none}
.student-inactive-toggle:hover,.student-inactive-toggle.is-active{border-color:var(--cc-orange);color:var(--cc-orange);background:rgba(229,107,39,.07)}
.student-list-item .student-status-dot.inactive{background:#999184!important}
.student-list-item:has(.student-status-dot.inactive){opacity:.72}

/* ========================================================================== 
   Cyber Cave Portal 6.0 — Human Interface System
   Purpose: remove generic AI/SaaS visual patterns and make operational screens
   feel purpose-built, editorial, readable, and efficient.
   ========================================================================== */
:root{
  --cc-body: Aptos, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --cc-display: "Bahnschrift Condensed", "Aptos Display", "Arial Narrow", Arial, sans-serif;
  --cc-editorial: Georgia, "Times New Roman", serif;
  --cc-paper:#f4efe6;
  --cc-paper-2:#ebe3d7;
  --cc-surface:#fbf8f2;
  --cc-ink:#20211e;
  --cc-muted:#66645d;
  --cc-rule:#cfc5b7;
  --cc-rule-strong:#a99d8d;
  --cc-orange:#d95f21;
  --cc-teal:#1c706a;
  --cc-danger:#a63c35;
  --cc-radius:5px;
  --cc-shadow:0 3px 10px rgba(37,31,25,.055);
}
html[data-theme="dark"]{
  --cc-paper:#191b19;
  --cc-paper-2:#20231f;
  --cc-surface:#22251f;
  --cc-ink:#f2eadf;
  --cc-muted:#b5aea3;
  --cc-rule:#3d403a;
  --cc-rule-strong:#5b5d56;
}
body:not(.kiosk-body):not(.announcements-display-body):not(.photo-board-display-body):not(.bpa-kindle-body){
  font-family:var(--cc-body)!important;
  font-size:16.5px!important;
  line-height:1.48!important;
  background:var(--cc-paper)!important;
  background-image:none!important;
  color:var(--cc-ink)!important;
}
.app-main{min-width:0!important}
.workspace-shell,.dashboard-shell{width:100%!important;max-width:none!important;padding:26px 32px 64px!important;margin:0!important}

/* Typography does the hierarchy work instead of boxes. */
h1,h2,h3,h4{font-family:var(--cc-display)!important;text-transform:none!important;letter-spacing:-.012em!important;color:var(--cc-ink)!important}
h1{font-size:clamp(2.25rem,3.6vw,4.15rem)!important;line-height:.99!important;font-weight:700!important}
h2{font-size:clamp(1.45rem,2vw,2.15rem)!important;line-height:1.06!important;font-weight:700!important}
h3{font-size:1.2rem!important;line-height:1.18!important;font-weight:700!important}
p{max-width:76ch}
small{font-size:.84rem!important;line-height:1.35!important}
.eyebrow{font-family:var(--cc-body)!important;font-size:.74rem!important;font-weight:750!important;letter-spacing:.105em!important;color:var(--cc-orange)!important;text-transform:uppercase!important}
.muted-copy,.workspace-heading p,.welcome-row p,.section-heading p{color:var(--cc-muted)!important}

/* Operational page mastheads: compact, useful, no marketing hero treatment. */
.operational-masthead,.workspace-heading,.welcome-row{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;
  padding:0 0 18px!important;margin:0 0 22px!important;border:0!important;border-bottom:1px solid var(--cc-rule)!important;
  background:none!important;box-shadow:none!important;border-radius:0!important;min-height:0!important
}
.operational-masthead h1,.workspace-heading h1,.welcome-row h1{margin:2px 0 4px!important;font-size:clamp(2.15rem,3vw,3.35rem)!important}
.operational-masthead p,.workspace-heading p,.welcome-row p{margin:0!important}
.masthead-actions,.action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Buttons: clear action hierarchy, modest geometry, no glow/gradient. */
.button,button.button,.student-add-button,.login-enter-button{
  border-radius:4px!important;box-shadow:none!important;transform:none!important;transition:background-color .12s ease,border-color .12s ease,color .12s ease!important;
  font-weight:700!important;letter-spacing:0!important
}
.button.primary,.login-enter-button{background:var(--cc-orange)!important;border-color:var(--cc-orange)!important;color:#fff!important;background-image:none!important}
.button.primary:hover,.login-enter-button:hover{background:#bd4d17!important;border-color:#bd4d17!important;transform:none!important}
.button.secondary{background:transparent!important;border:1px solid var(--cc-rule-strong)!important;color:var(--cc-ink)!important}
.button.secondary:hover{background:var(--cc-paper-2)!important}
.text-link,.text-button{font-weight:700!important;text-decoration-thickness:1px;text-underline-offset:3px}

/* Stop the box-inside-box pattern. Explicit primary surfaces can remain bounded. */
.profile-list-card,.profile-info-card,.profile-note-preview,.credential-report-option,
.classroom-summary-grid article,.attendance-summary article,.kiosk-live-metrics article,
.teacher-account-card,.bpax-bank-card,.digital-library-card-body,
.student-report-grid article,.display-hub-tip,.classroom-future-note,
.users-access-intro,.user-access-key,.library-mode-tabs,
.command-live-row,.command-activity-row{
  box-shadow:none!important;
}
.profile-list-card,.profile-info-card,.student-report-grid article,.settings-card .settings-card,
.form-card .form-card,.table-card .table-card{
  border:0!important;background:transparent!important;border-radius:0!important;padding-left:0!important;padding-right:0!important
}

/* Primary work surfaces: restrained boundaries only where they clarify ownership. */
.settings-card,.form-card,.table-card,.command-panel,.display-tool-card,.book-admin-card,
.kiosk-chart-card,.maintenance-action-list form,.health-section,.data-table-shell{
  border-radius:var(--cc-radius)!important;
  border:1px solid var(--cc-rule)!important;
  box-shadow:none!important;
  background:var(--cc-surface)!important;
}
.settings-card,.form-card{padding:22px!important}

/* Tables are first-class data interfaces, not giant card grids. */
.table-card,.data-table-shell{overflow:auto!important;padding:0!important}
table{width:100%;border-collapse:collapse!important;background:transparent!important}
thead th{
  position:sticky;top:0;z-index:1;background:var(--cc-paper-2)!important;color:var(--cc-ink)!important;
  font-size:.77rem!important;text-transform:uppercase!important;letter-spacing:.055em!important;font-weight:800!important;
  border:0!important;border-bottom:1px solid var(--cc-rule-strong)!important;padding:10px 12px!important;white-space:nowrap
}
tbody td{border:0!important;border-bottom:1px solid var(--cc-rule)!important;padding:11px 12px!important;font-size:.92rem!important;vertical-align:middle}
tbody tr:last-child td{border-bottom:0!important}
tbody tr:hover{background:rgba(217,95,33,.045)!important}

/* Forms: readable, compact, and grouped by meaning rather than decoration. */
label{font-size:.84rem!important;font-weight:700!important;color:var(--cc-ink)!important}
input,select,textarea{
  border-radius:3px!important;border:1px solid var(--cc-rule-strong)!important;background:var(--cc-surface)!important;color:var(--cc-ink)!important;
  box-shadow:none!important;font-family:var(--cc-body)!important;font-size:1rem!important;min-height:42px
}
textarea{line-height:1.45!important}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--cc-orange) 45%,transparent)!important;outline-offset:1px!important;border-color:var(--cc-orange)!important}

/* Pills are reserved for actual status. Ordinary metadata should look like metadata. */
.status-pill,.equipment-status,.equipment-condition,.setup-status,.live-badge,.profile-birthday-chip,.student-birthday-mark{
  border-radius:999px!important;box-shadow:none!important
}
.digital-library-chips span:not(.general),.bpa-resource-chip,.metadata-chip,.command-session-chip{
  border-radius:2px!important;box-shadow:none!important;background:transparent!important;border:0!important;padding:0!important;color:var(--cc-muted)!important
}

/* Student profile becomes a record/dossier, not a stack of nested cards. */
.student-profile-shell{background:var(--cc-paper)!important}
.student-directory-panel{border-right:1px solid var(--cc-rule)!important;background:var(--cc-paper-2)!important;box-shadow:none!important}
.student-directory-heading{border-bottom:1px solid var(--cc-rule)!important}
.student-list-item{border-radius:0!important;border:0!important;border-bottom:1px solid color-mix(in srgb,var(--cc-rule) 72%,transparent)!important;background:transparent!important;box-shadow:none!important}
.student-list-item:hover{background:rgba(217,95,33,.05)!important}
.student-list-item.active{background:var(--cc-surface)!important;border-left:3px solid var(--cc-orange)!important}
.profile-banner{
  border-radius:0!important;border:0!important;border-bottom:1px solid var(--cc-rule)!important;box-shadow:none!important;background:transparent!important;
  padding:22px 0!important;margin-bottom:0!important
}
.profile-banner-photo{border-radius:4px!important;box-shadow:none!important}
.profile-title-row h1{font-size:clamp(2.35rem,3.6vw,4.1rem)!important}
.profile-banner-details{gap:20px!important}
.profile-banner-details>span{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important}
.profile-quick-actions{gap:4px!important}
.profile-quick-actions>a,.profile-quick-actions button{border-radius:3px!important;box-shadow:none!important}
.profile-tabs{border-bottom:1px solid var(--cc-rule)!important;background:transparent!important;box-shadow:none!important}
.profile-tabs a{border-radius:0!important;border:0!important;border-bottom:3px solid transparent!important;background:transparent!important}
.profile-tabs a.active{border-bottom-color:var(--cc-orange)!important;color:var(--cc-ink)!important;background:transparent!important}
.profile-tab-content{padding-top:22px!important}
.profile-summary-grid{gap:20px!important}
.profile-summary-grid>article{border:0!important;border-top:2px solid var(--cc-rule)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:16px 0!important}
.profile-list-row{border:0!important;border-bottom:1px solid var(--cc-rule)!important;border-radius:0!important;background:transparent!important;padding:10px 0!important}
.profile-list-row:last-child{border-bottom:0!important}
.profile-detail-row,.profile-data-row{display:grid!important;grid-template-columns:minmax(140px,.32fr) minmax(0,1fr)!important;gap:18px!important;align-items:baseline!important}
.profile-detail-row strong,.profile-data-row strong,.profile-detail-row a,.profile-data-row a{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0}

/* Dashboard remains a feature overview, but nested content is flatter and more editorial. */
.command-dashboard{padding-top:20px!important}
.command-hero{border-radius:6px!important;box-shadow:none!important}
.command-hero-actions a{border-radius:4px!important;backdrop-filter:none!important;box-shadow:none!important;background:rgba(20,22,20,.9)!important}
.command-stat-grid article{border-radius:3px!important;box-shadow:none!important;background:transparent!important;border:0!important;border-top:2px solid var(--cc-rule)!important;padding:14px 0!important}
.command-panel{border-radius:4px!important;box-shadow:none!important}
.command-panel::before{height:2px!important}

/* Libraries: catalog/list density instead of oversized repeated cards. */
.library-layout{align-items:start!important}
.library-layout>.form-card{position:sticky!important;top:18px!important;align-self:start!important}
.book-admin-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:10px!important;align-content:start!important}
.book-admin-card{border-radius:3px!important;padding:12px!important;min-height:0!important}
.book-cover{border-radius:2px!important;box-shadow:none!important}
.digital-library-grid{gap:12px!important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important}
.digital-library-card{border-radius:3px!important;box-shadow:none!important}
.digital-library-hero{padding:0 0 18px!important;border:0!important;border-bottom:1px solid var(--cc-rule)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important}

/* Settings and system utilities: compact operational workspaces. */
.settings-tabs{border-radius:0!important;border:0!important;border-bottom:1px solid var(--cc-rule)!important;background:transparent!important;box-shadow:none!important;padding:0!important;gap:18px!important}
.settings-tabs a{border-radius:0!important;padding:10px 2px!important;border-bottom:3px solid transparent!important}
.settings-tabs a.active{background:transparent!important;color:var(--cc-ink)!important;border-bottom-color:var(--cc-orange)!important}
.settings-system-links{display:grid;gap:0;border-top:1px solid var(--cc-rule)}
.settings-system-links>a{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(280px,1fr) auto;gap:20px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--cc-rule);color:var(--cc-ink);text-decoration:none}
.settings-system-links>a:hover{background:rgba(217,95,33,.045)}
.settings-system-links strong{font-family:var(--cc-display);font-size:1.25rem}
.settings-system-links small{color:var(--cc-muted)}
.settings-system-links span{font-weight:800;color:var(--cc-orange)}

/* Diagnostics + maintenance */
.health-metric-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--cc-rule);border-bottom:1px solid var(--cc-rule);margin:0 0 28px}
.health-metric-strip article{padding:16px 18px;border-right:1px solid var(--cc-rule);background:transparent}
.health-metric-strip article:last-child{border-right:0}
.health-metric-strip span,.health-metric-strip small{display:block;color:var(--cc-muted)}
.health-metric-strip strong{display:block;font-family:var(--cc-display);font-size:1.65rem;margin:2px 0}
.health-section{margin:0 0 20px;border-radius:3px!important;overflow:hidden}
.health-section>.section-heading{padding:18px 18px 14px;border-bottom:1px solid var(--cc-rule);margin:0!important}
.section-fact{color:var(--cc-muted);font-size:.83rem}
.maintenance-action-list{display:grid;gap:0;border-top:1px solid var(--cc-rule);margin-bottom:24px}
.maintenance-action-list form{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 4px!important;border:0!important;border-bottom:1px solid var(--cc-rule)!important;border-radius:0!important;background:transparent!important}
.maintenance-action-list h2{font-size:1.32rem!important;margin:0 0 2px}
.maintenance-action-list p{margin:0;color:var(--cc-muted)}
.health-ok{color:var(--cc-teal);font-weight:800}.health-warn{color:#a96313;font-weight:800}

/* Pagination */
.cc-pagination{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 2px;color:var(--cc-muted);font-size:.86rem}
.cc-pagination>div{display:flex;gap:2px}.cc-pagination a{min-width:34px;padding:7px 9px;text-align:center;color:var(--cc-ink);text-decoration:none;border-bottom:2px solid transparent}.cc-pagination a.active{border-bottom-color:var(--cc-orange);color:var(--cc-orange);font-weight:800}

/* Reduce expensive paint/compositing across normal management screens. */
body:not(.kiosk-body):not(.announcements-display-body):not(.photo-board-display-body) *{backdrop-filter:none!important}
body:not(.kiosk-body):not(.announcements-display-body):not(.photo-board-display-body) :where(.button,.student-list-item,.book-admin-card,.display-tool-card,.workspace-tool-card){transition-duration:.12s!important}

/* Responsive: preserve type size and hierarchy; reflow instead of shrinking. */
@media(max-width:1180px){
  .health-metric-strip{grid-template-columns:repeat(3,1fr)}.health-metric-strip article:nth-child(3){border-right:0}.health-metric-strip article:nth-child(-n+3){border-bottom:1px solid var(--cc-rule)}
  .workspace-shell,.dashboard-shell{padding-inline:24px!important}
}
@media(max-width:760px){
  .workspace-shell,.dashboard-shell{padding:20px 14px 48px!important}
  .operational-masthead,.workspace-heading,.welcome-row{align-items:flex-start!important;flex-direction:column!important}
  .health-metric-strip{grid-template-columns:1fr 1fr}.health-metric-strip article{border-right:1px solid var(--cc-rule)!important;border-bottom:1px solid var(--cc-rule)}.health-metric-strip article:nth-child(even){border-right:0!important}
  .settings-system-links>a{grid-template-columns:1fr;gap:4px}
  .maintenance-action-list form{align-items:flex-start;flex-direction:column}
  .profile-detail-row,.profile-data-row{grid-template-columns:1fr!important;gap:2px!important}.profile-detail-row strong,.profile-data-row strong,.profile-detail-row a,.profile-data-row a{white-space:normal!important;overflow:visible!important}
}

/* 6.0 accessibility + final anti-template pass */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent,#d95f24) 82%,white);
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
/* Metadata should read as information, not a sea of chips. */
.profile-card-title>span,.record-list-heading>span:not(.status-pill){display:none}
.profile-info-card .profile-card-title{gap:.45rem}
.profile-info-card dl{border-top:1px solid color-mix(in srgb,currentColor 12%,transparent);padding-top:.5rem}
.profile-info-card dt{font-size:.78rem;letter-spacing:.02em;text-transform:none}
.profile-info-card dd{font-size:.98rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:800px){.profile-info-card dd{white-space:normal;overflow:visible}}
/* The sign-in screen uses real Cyber Cave imagery instead of generated glows/orbits/blobs. */
.cyber-login-visual{background:linear-gradient(90deg,rgba(20,18,15,.74),rgba(20,18,15,.26)),url('/assets/images/field-notes/dashboard-hero.jpg') center/cover no-repeat!important}
.cyber-login-visual :is(.login-grid-lines,.login-glow,.login-orbit,.login-node){display:none!important}
.login-status-pill{border:0!important;border-radius:0!important;background:transparent!important;padding-left:0!important;box-shadow:none!important}
.login-access-card{border-radius:4px!important;box-shadow:0 12px 30px rgba(0,0,0,.12)!important}
.login-input-wrap{border-radius:3px!important}
.login-enter-button{border-radius:3px!important;background:var(--cc-ember,#d75d22)!important;box-shadow:none!important}
/* Operational screens should start with the task, not a marketing hero. */
.workspace-heading:not(.dashboard-hero):not(.bpa-res-hero),.welcome-row:not(.dashboard-hero){min-height:0!important;padding-block:.35rem .85rem!important}
.workspace-heading:not(.dashboard-hero) p:last-child,.welcome-row:not(.dashboard-hero) p:last-child{max-width:70ch}
/* Dense data views use rules and alignment instead of nested outlined boxes. */
.table-card,.data-table-shell,.bpa-res-table-shell{box-shadow:none!important;border-left:0!important;border-right:0!important;border-radius:0!important}
.table-card table,.data-table-shell table,.bpa-res-table{border-collapse:collapse}
.table-card tbody tr,.data-table-shell tbody tr,.bpa-res-table tbody tr{border-bottom:1px solid color-mix(in srgb,var(--cc-ink,#25221e) 10%,transparent)}
/* Controls remain visually distinct without capsule treatment. */
.button,.mini-button,.text-button,input,select,textarea{border-radius:3px!important}
.status-pill,.attendance-status-pill,.cert-result{border-radius:999px!important} /* genuine states only */
/* Avoid decorative elevation on repeating records. */
:where(.student-list-item,.book-admin-card,.certification-record,.communication-record,.guardian-record,.student-note-card,.bpax-bank-library-row,.bpax-assignment-card){box-shadow:none!important}
