:root{--navy:#17223b;--blue:#4169e1;--purple:#7357d9;--green:#2a9d73;--orange:#e68a3f;--red:#d9534f;--ink:#182033;--muted:#6a7487;--line:#e4e8ef;--surface:#fff;--bg:#f3f6fa;--shadow:0 20px 55px rgba(21,35,62,.12);--radius:24px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-header{height:72px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-weight:800}.brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;font-size:.82rem}.topnav{display:flex;gap:20px;color:var(--muted);font-weight:650}main{min-height:calc(100vh - 72px)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.75rem;color:var(--blue)}.setup-grid,.login-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;max-width:1180px;margin:auto;padding:60px 30px}.hero-panel,.ambient-panel{min-height:650px;border-radius:32px;padding:56px;color:#fff;display:flex;align-items:flex-end;box-shadow:var(--shadow);background:linear-gradient(180deg,rgba(20,31,55,.08),rgba(20,31,55,.9)),url('/assets/images/field-notes/dashboard-hero.jpg') center/cover}.hero-panel h1,.ambient-panel h1{font-size:clamp(2.4rem,5vw,4.7rem);line-height:1.02;margin:12px 0 18px}.form-card,.center-card,.table-card,.live-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:38px}.form-card{align-self:center}.form-card h2{font-size:2rem;margin:0 0 8px}.form-card label{display:grid;gap:8px;font-weight:700;margin:18px 0}input,select{width:100%;padding:14px 15px;border:1px solid #cfd6e2;border-radius:13px;background:#fbfcfe}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:13px 20px;font-weight:800;cursor:pointer}.button.primary{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff}.button.secondary{background:#fff;border:1px solid var(--line)}.alert{padding:13px 15px;border-radius:12px;margin:18px 0}.alert.error{background:#fff1f1;color:#a93838;border:1px solid #f0c5c5}.alert.success{background:#eefbf5;color:#217a59;border:1px solid #bee8d5}.success-icon{width:70px;height:70px;border-radius:50%;background:#e5f8ef;color:var(--green);display:grid;place-items:center;font-size:2.2rem;font-weight:900}.center-card{max-width:700px;margin:80px auto}.dashboard-shell{max-width:1240px;margin:auto;padding:48px 30px 80px}.welcome-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.welcome-row h1{font-size:2.6rem;margin:6px 0}.action-row,.row-actions,.live-actions{display:flex;gap:10px;flex-wrap:wrap}.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.metric-card{color:#fff;border-radius:22px;padding:24px;min-height:145px}.metric-card span,.metric-card small{display:block}.metric-card strong{display:block;font-size:2rem;margin:14px 0}.blue{background:linear-gradient(135deg,#315fcb,#4d80e8)}.purple{background:linear-gradient(135deg,#614bb7,#8066de)}.orange{background:linear-gradient(135deg,#c96f30,#ef9c52)}.green{background:linear-gradient(135deg,#218460,#35af84)}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.split-layout{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start}.table-card{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8fafc}.empty-cell,.empty-state{text-align:center;color:var(--muted);padding:36px}.text-link{font-weight:700;color:var(--blue)}.text-link.danger{color:var(--red)}.status-pill{display:inline-block;padding:7px 10px;background:#edf8f3;color:var(--green);border-radius:999px;font-size:.78rem;font-weight:800}.module-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.module-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.compact label{margin:8px 0}.check-label{display:flex!important;align-items:center;gap:10px!important}.check-label input{width:auto}.live-panel{margin-top:24px}.approval-panel{border-color:#f1d7a6;background:#fffdf8}.section-heading{display:flex;justify-content:space-between;align-items:center}.live-badge{background:#ffe9e9;color:#c84343;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:900}.live-list{display:grid;gap:10px;margin-top:20px}.live-row{display:grid;grid-template-columns:1.4fr 1fr auto auto;gap:16px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:16px}.timer{font-variant-numeric:tabular-nums;font-weight:900}.timer.warn{color:var(--orange)}.timer.over{color:var(--red)}.mini-button{border:0;border-radius:10px;padding:8px 10px;background:#edf2ff;color:var(--blue);font-weight:800;cursor:pointer}.mini-button.danger{background:#fff0f0;color:var(--red)}.mini-button.approve{background:#e9f8f0;color:var(--green)}.filter-bar{display:flex;gap:14px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:18px}.profile-photo-preview,.profile-photo-placeholder{width:150px;height:150px;border-radius:28px;object-fit:cover;background:#eef2f8;display:grid;place-items:center}.photo-editor{display:flex;gap:24px;align-items:center;margin-bottom:24px}.kiosk-body{background:#162039}.kiosk-body .site-header{display:none}.kiosk-page{min-height:100vh;padding:36px 5vw;color:#fff}.kiosk-top{display:grid;grid-template-columns:1fr auto 1fr}.session-badge,.out-badge{display:inline-flex;flex-direction:column;padding:12px 16px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.14);backdrop-filter:blur(18px);border-radius:16px}.clock{font-size:3.2rem;font-weight:800}.out-badge{justify-self:end;text-align:center}.kiosk-message{text-align:center;max-width:800px;margin:55px auto 28px}.kiosk-message h1{font-size:clamp(2rem,4vw,4rem);margin:8px}.student-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1200px;margin:auto}.student-card,.destination-card{min-height:145px;border-radius:24px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(20px);color:#fff;padding:20px;cursor:pointer;text-align:left}.student-card.out{background:rgba(230,138,63,.3)}.student-avatar{width:58px;height:58px;border-radius:18px;background:#eef2ff;color:var(--navy);display:grid;place-items:center;font-weight:900;margin-bottom:12px}.student-avatar.photo{object-fit:cover;border:2px solid rgba(255,255,255,.75)}.destination-card{text-align:center;display:grid;place-items:center}.session-picker{display:flex;justify-content:center;gap:10px;margin:18px auto}.session-choice{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.13);color:#fff;border-radius:999px;padding:9px 16px;font-weight:800}.session-choice.active{background:#fff;color:var(--navy)}.teacher-options{position:fixed;left:24px;bottom:24px;padding:12px 16px;border-radius:14px;background:rgba(10,20,40,.55);border:1px solid rgba(255,255,255,.24);color:#fff}.modal{position:fixed;inset:0;background:rgba(8,16,30,.72);display:grid;place-items:center;padding:20px;z-index:100}.modal.hidden{display:none}.modal-card{width:min(560px,100%);background:#fff;border-radius:28px;padding:34px;text-align:center}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.success-mark{width:74px;height:74px;margin:auto;border-radius:50%;display:grid;place-items:center;background:#e7f8ef;color:var(--green);font-size:2rem;font-weight:900}.error-mark{background:#fff0f0;color:var(--red)}@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.student-grid{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(2,1fr)}.split-layout{grid-template-columns:1fr}}@media(max-width:700px){.setup-grid,.login-layout{grid-template-columns:1fr;padding:24px 16px}.topnav{display:none}.dashboard-shell{padding:30px 18px}.welcome-row{display:block}.metric-grid,.form-grid.two,.form-grid.four,.module-grid{grid-template-columns:1fr}.student-grid{grid-template-columns:repeat(2,1fr)}.live-row{grid-template-columns:1fr 1fr}.photo-editor{flex-direction:column;align-items:flex-start}}

textarea{width:100%;padding:14px 15px;border:1px solid #cfd6e2;border-radius:13px;background:#fbfcfe;font:inherit;resize:vertical}.metric-card.red{background:linear-gradient(135deg,#ba3d4f,#e56370)}
.library-layout{grid-template-columns:370px 1fr}.book-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.book-admin-card{display:grid;grid-template-columns:110px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px}.book-cover{width:110px;height:160px;object-fit:cover;border-radius:14px;box-shadow:0 12px 25px rgba(25,35,55,.16)}.book-cover.placeholder,.cover-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#263a62,#7059c7);color:#fff;font-size:2rem;font-weight:900}.book-admin-card h3{margin:10px 0 4px}.book-admin-card p,.book-admin-card small{color:var(--muted)}.overdue-text{color:var(--red);font-weight:800}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,420px));gap:24px;justify-content:center;max-width:900px;margin:0 auto}.action-card{min-height:260px;border:1px solid rgba(255,255,255,.3);border-radius:30px;color:#fff;padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;cursor:pointer;box-shadow:0 24px 50px rgba(0,0,0,.16)}.action-card span{font-size:3rem}.action-card strong{font-size:1.6rem;margin:14px 0 8px}.action-card small{font-size:1rem;opacity:.8}.action-card.leave{background:linear-gradient(145deg,rgba(42,157,115,.9),rgba(35,98,92,.92))}.action-card.books{background:linear-gradient(145deg,rgba(65,105,225,.92),rgba(115,87,217,.92))}
.library-kiosk{max-width:1500px;margin:0 auto;display:grid;gap:26px}.library-row h3{font-size:1.4rem;margin:0 0 12px}.book-strip{display:grid;grid-auto-flow:column;grid-auto-columns:170px;gap:16px;overflow-x:auto;padding:4px 3px 18px;scroll-snap-type:x proximity}.book-card{scroll-snap-align:start;border:1px solid rgba(255,255,255,.25);background:rgba(10,20,40,.48);color:#fff;border-radius:20px;padding:10px;text-align:left;cursor:pointer;backdrop-filter:blur(15px)}.book-card img,.book-card .cover-placeholder{width:100%;height:220px;object-fit:cover;border-radius:14px;margin-bottom:10px}.book-card strong,.book-card small{display:block}.book-card small{opacity:.72;margin-top:6px;line-height:1.35}.book-card.unavailable{opacity:.52}.book-card.loan{border-color:#e7b96e}.book-detail-modal{display:grid;grid-template-columns:150px 1fr;gap:24px;text-align:left}.book-detail-modal img{width:150px;height:220px;object-fit:cover;border-radius:16px}.due-note{padding:12px;border-radius:12px;background:#eef3ff;color:#315fcb;font-weight:800}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.book-admin-grid{grid-template-columns:1fr}.library-layout{grid-template-columns:1fr}}@media(max-width:700px){.action-grid{grid-template-columns:1fr}.book-detail-modal{grid-template-columns:1fr}.book-detail-modal img{margin:auto}.book-admin-card{grid-template-columns:90px 1fr}.book-cover{width:90px;height:135px}}

.inline-delete-form{display:inline;margin:0}
.text-button{border:0;background:transparent;padding:0;font:inherit;font-weight:700;color:var(--blue);cursor:pointer}
.text-button.danger{color:var(--red)}
.button.disabled,.button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}

.modal:has(.book-overlay-card){padding:28px;background:rgba(6,13,27,.86);backdrop-filter:blur(8px)}
.modal-card.book-overlay-card{
 width:min(1180px,96vw);
 max-height:92vh;
 padding:0;
 border-radius:30px;
 overflow:auto;
 text-align:left;
 box-shadow:0 35px 100px rgba(0,0,0,.5)
}
.book-overlay{position:relative;background:#fff;min-height:650px;display:flex;flex-direction:column}
.book-overlay-close{
 position:sticky;top:18px;align-self:flex-end;margin:18px 18px -58px 0;z-index:4;
 width:44px;height:44px;border:0;border-radius:50%;background:rgba(20,30,50,.1);
 color:var(--ink);font-size:2rem;line-height:1;cursor:pointer
}
.book-overlay-layout{display:grid;grid-template-columns:330px 1fr;gap:48px;padding:54px 58px 30px}
.book-overlay-cover-column{display:flex;flex-direction:column;gap:16px}
.book-full-cover{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:22px;box-shadow:0 24px 50px rgba(22,35,60,.22)}
.book-overlay-content h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;margin:8px 0 10px}
.book-overlay-author{font-size:1.25rem;color:var(--muted);margin:0 0 26px}
.availability-badge{padding:13px 16px;border-radius:14px;text-align:center;font-weight:900}
.availability-badge.available{background:#e9f8f0;color:var(--green)}
.availability-badge.unavailable{background:#fff0f0;color:var(--red)}
.book-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 26px}
.book-meta-grid div{padding:15px;border:1px solid var(--line);border-radius:16px;background:#f8fafc}
.book-meta-grid span,.book-meta-grid strong{display:block}
.book-meta-grid span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}
.book-description-panel{padding:24px;border-radius:20px;background:#f7f9fc;border:1px solid var(--line)}
.book-description-panel h3{margin:0 0 12px;font-size:1.2rem}
.book-description-panel p{
 margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;
 font-size:1.05rem;color:#354056
}
.book-overlay-actions{
 position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:12px;
 padding:20px 58px;background:rgba(255,255,255,.95);backdrop-filter:blur(15px);
 border-top:1px solid var(--line)
}

@media(max-width:850px){
 .modal:has(.book-overlay-card){padding:10px}
 .modal-card.book-overlay-card{width:100%;max-height:96vh;border-radius:22px}
 .book-overlay-layout{grid-template-columns:1fr;padding:28px 24px 20px;gap:26px}
 .book-overlay-cover-column{max-width:260px;width:100%;margin:auto}
 .book-meta-grid{grid-template-columns:repeat(2,1fr)}
 .book-overlay-actions{padding:16px 24px;flex-wrap:wrap}
 .book-overlay-actions .button{flex:1}
}

.background-layout{grid-template-columns:360px 1fr}.background-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.background-card{display:grid;grid-template-columns:180px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;align-items:start}.bg-thumb{width:180px;height:128px;object-fit:cover;border-radius:16px;box-shadow:0 14px 30px rgba(25,35,55,.16)}.background-meta{display:grid;gap:14px}.danger-outline{border:1px solid #efc4c4;color:var(--red);background:#fff8f8}@media(max-width:1000px){.background-grid{grid-template-columns:1fr}}@media(max-width:700px){.background-card{grid-template-columns:1fr}.bg-thumb{width:100%;height:180px}}
.offline-badge{position:fixed;right:22px;bottom:22px;z-index:50;padding:10px 14px;border-radius:999px;background:rgba(28,130,92,.88);color:#fff;font-weight:900;font-size:.78rem;letter-spacing:.05em;backdrop-filter:blur(12px)}.offline-badge.has-queue{background:rgba(200,106,45,.94)}
.pairing-screen{display:grid;place-items:center;min-height:55vh}.pair-card{width:min(520px,92vw);padding:34px;border-radius:28px;text-align:center;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(20px)}.pair-card input{margin:18px 0;text-align:center;font-size:2rem;letter-spacing:.25em}
.import-preview{overflow:auto;margin:20px 0}.copy-form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto auto;gap:10px;align-items:center}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.check-row{display:flex;gap:14px;align-items:center;padding:18px;border-radius:18px;border:1px solid var(--line);background:#fff}.check-row>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900}.check-row.ok>span{background:#e9f8f0;color:var(--green)}.check-row.bad>span{background:#fff0f0;color:var(--red)}.check-row small{display:block;color:var(--muted);margin-top:4px}.text-button{border:0;background:none;cursor:pointer;font:inherit;font-weight:750}.text-button.danger{color:var(--red)}
@media(max-width:900px){.copy-form{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:1fr}}


/* Cyber Cave Portal 1.0.1 dashboard command center */
.dashboard-home{max-width:1320px}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 38px;border-radius:28px;color:#fff;background:linear-gradient(115deg,rgba(19,34,64,.96),rgba(58,81,156,.88)),url('/assets/images/field-notes/dashboard-hero.jpg') center/cover;box-shadow:var(--shadow);margin-bottom:18px}
.dashboard-hero h1{font-size:clamp(2.2rem,4vw,3.7rem);margin:7px 0}
.dashboard-hero p:last-child{margin:0;opacity:.82}
.dashboard-hero .eyebrow{color:#cbd7ff}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.dashboard-hero .button.secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}
.dashboard-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:20px;margin-bottom:28px}
.dashboard-status-strip a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;background:#fff}
.dashboard-status-strip span{color:var(--muted);font-weight:700;font-size:.88rem}
.dashboard-status-strip strong{font-size:1.45rem}
.dashboard-status-strip .attention{color:var(--red)}
.tool-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;scroll-margin-top:95px}
.hub-card{position:relative;min-height:285px;padding:28px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 14px 36px rgba(21,35,62,.08);display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}
.hub-card::after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-90px;top:-95px;opacity:.12}
.operations-card::after{background:var(--green)}
.library-card::after{background:var(--blue)}
.setup-card::after{background:var(--purple)}
.hub-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem;font-weight:900;margin-bottom:28px}
.operations-card .hub-icon{background:#e9f8f0;color:var(--green)}
.library-card .hub-icon{background:#edf2ff;color:var(--blue)}
.setup-card .hub-icon{background:#f1edff;color:var(--purple)}
.hub-copy h2{font-size:1.65rem;margin:7px 0 10px}
.hub-copy p:last-child{color:var(--muted);line-height:1.6;margin:0}
.hub-open{margin-top:auto;border:0;background:transparent;color:var(--blue);font-weight:900;padding:20px 0 0;cursor:pointer}
.hub-open::after{content:"  →"}
.dashboard-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.compact-live{margin-top:0;padding:26px;box-shadow:0 12px 32px rgba(21,35,62,.07)}
.compact-live .live-list{max-height:330px;overflow:auto}
.compact-live .live-row{grid-template-columns:1.4fr auto}
.tool-drawer{position:fixed;inset:0;z-index:200;background:rgba(10,18,34,.62);backdrop-filter:blur(8px);display:flex;justify-content:flex-end}
.tool-drawer.hidden{display:none}
.tool-drawer-panel{width:min(620px,100%);height:100%;overflow:auto;background:#f6f8fc;padding:32px;box-shadow:-25px 0 70px rgba(8,18,38,.24)}
.tool-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}
.tool-drawer-head h2{font-size:2rem;margin:7px 0}
.tool-drawer-head button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.tool-choice-grid{display:grid;gap:13px}
.tool-choice,.wizard-choice{width:100%;display:grid;grid-template-columns:52px 1fr auto;gap:15px;align-items:center;text-align:left;padding:18px;border:1px solid var(--line);border-radius:19px;background:#fff;color:var(--ink);cursor:pointer}
.tool-choice:hover,.wizard-choice:hover{border-color:#b8c6ed;transform:translateY(-1px);box-shadow:0 12px 25px rgba(21,35,62,.08)}
.tool-choice>span,.wizard-choice>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#edf2ff;color:var(--blue);font-size:1.45rem}
.tool-choice strong,.tool-choice small,.wizard-choice strong,.wizard-choice small{display:block}
.tool-choice small,.wizard-choice small{color:var(--muted);margin-top:5px;line-height:1.35}
.tool-choice b{font-size:1.8rem;color:#a7b0c1}
.wizard-choice{grid-template-columns:52px 1fr;border:0}
.wizard-choice div{padding-right:8px}
@media(max-width:1000px){.tool-hub{grid-template-columns:1fr}.hub-card{min-height:225px}.dashboard-live-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-hero{display:block;padding:28px 24px}.hero-actions{margin-top:22px}.hero-actions .button{flex:1}.dashboard-status-strip{grid-template-columns:repeat(2,1fr)}.dashboard-status-strip a{display:block}.dashboard-status-strip strong{display:block;margin-top:4px}.tool-drawer-panel{padding:24px 18px}}


/* Cyber Cave Portal 1.0.2 background manager */
.backgrounds-page{max-width:1450px}
.backgrounds-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.backgrounds-header h1{font-size:clamp(2.5rem,5vw,4rem);margin:8px 0}
.backgrounds-header p:last-child{max-width:720px;color:var(--muted);line-height:1.6}
.background-upload-bar{
 display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;
 padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:24px;
 box-shadow:0 12px 30px rgba(21,35,62,.07);margin-bottom:26px
}
.background-upload-bar h2{margin:0 0 6px}
.background-upload-bar p{margin:0;color:var(--muted)}
.background-file-picker input{position:absolute;opacity:0;pointer-events:none}
.background-file-picker span{
 display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;
 border:1px solid var(--line);border-radius:14px;background:#f8fafc;font-weight:800;cursor:pointer
}
.background-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.background-gallery-card{
 position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;
 overflow:hidden;box-shadow:0 14px 34px rgba(21,35,62,.08)
}
.background-gallery-card.is-inactive{opacity:.68}
.background-image-wrap{position:relative;aspect-ratio:16/9;background:#dce2eb;overflow:hidden}
.background-image-wrap img{width:100%;height:100%;display:block;object-fit:cover}
.background-state,.background-order{
 position:absolute;top:14px;padding:7px 11px;border-radius:999px;
 color:#fff;background:rgba(10,18,34,.68);backdrop-filter:blur(12px);
 font-size:.75rem;font-weight:900
}
.background-state{left:14px}
.background-order{right:14px}
.background-card-controls{
 display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:13px;
 align-items:end;padding:18px
}
.background-card-controls label{display:grid;gap:6px;font-weight:800;font-size:.82rem}
.background-title-field{grid-column:1/2}
.background-order-field{grid-column:2/3}
.background-toggle{grid-column:1/2;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:9px!important}
.background-toggle input{width:auto}
.background-card-controls .button{grid-column:2/3}
.background-remove-form{padding:0 18px 18px}
.background-remove-button{
 border:0;background:transparent;padding:0;color:var(--red);font-weight:800;cursor:pointer
}
.background-empty{
 grid-column:1/-1;padding:70px 30px;text-align:center;background:#fff;
 border:1px dashed #cfd6e2;border-radius:24px;color:var(--muted)
}
.background-empty h2{color:var(--ink)}

/* Kiosk crossfade backgrounds */
.kiosk-page{position:relative;isolation:isolate;background:#11192d;overflow:hidden}
.kiosk-background-layer,.kiosk-overlay{
 position:fixed;inset:0;pointer-events:none
}
.kiosk-background-layer{
 z-index:-3;background-position:center;background-size:cover;background-repeat:no-repeat;
 opacity:0;transform:scale(1.015);transition:opacity 2.8s ease-in-out
}
.kiosk-background-layer.is-visible{opacity:1}
.kiosk-overlay{
 z-index:-2;background:linear-gradient(180deg,rgba(14,25,47,.28),rgba(14,25,47,.84))
}
.kiosk-interface{position:relative;z-index:1;min-height:100vh}
.kiosk-message{margin-top:70px}
.kiosk-message h1{margin-bottom:0}
.kiosk-message p:empty{display:none}

/* Restroom quick limit */
.restroom-limit-card{
 display:grid;grid-template-columns:1fr 180px auto;align-items:end;gap:22px;
 padding:24px 28px;margin-bottom:24px;background:linear-gradient(135deg,#f6fbff,#eef4ff);
 border:1px solid #d9e4f5;border-radius:24px
}
.restroom-limit-card h2{margin:5px 0}
.restroom-limit-card p:last-child{margin:0;color:var(--muted)}
.restroom-limit-card label{display:grid;gap:7px;font-weight:800}

@media(max-width:1100px){
 .background-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .backgrounds-header{display:block}
 .backgrounds-header .action-row{margin-top:18px}
 .background-upload-bar{grid-template-columns:1fr}
 .background-gallery{grid-template-columns:1fr}
 .restroom-limit-card{grid-template-columns:1fr}
}


/* Cyber Cave Portal 1.0.3 kiosk student card redesign */
.kiosk-message{
  text-align:center;
  max-width:780px;
  margin:36px auto 24px;
}
.kiosk-message h1{
  font-size:clamp(2rem,4.6vw,4.3rem);
  margin:0 0 8px;
  font-weight:900;
  letter-spacing:-.02em;
}
.kiosk-message p{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:1.05rem;
  font-weight:500;
}
.student-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px, 1fr));
  gap:18px;
  width:min(100%, 860px);
  margin:0 auto;
  align-items:stretch;
}
.student-card.portrait{
  min-height:250px;
  padding:10px;
  border-radius:28px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(20px);
  box-shadow:0 18px 38px rgba(7,16,33,.18);
  color:#fff;
  cursor:pointer;
  text-align:left;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.student-card.portrait:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 44px rgba(7,16,33,.24);
  border-color:rgba(255,255,255,.4);
}
.student-card.portrait.out{
  background:rgba(230,138,63,.2);
  border-color:rgba(255,209,168,.5);
}
.student-photo-frame{
  position:relative;
  flex:1;
  min-height:170px;
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.08));
}
.student-photo{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.student-photo-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font-size:2.2rem;
  font-weight:900;
  color:#182033;
  background:linear-gradient(135deg,#dfe9ff,#cbd8ff);
}
.student-state-badge{
  position:absolute;
  left:12px;
  top:12px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(230,138,63,.9);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.student-name-bar{
  padding:14px 10px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.student-name-bar strong{
  font-size:1.35rem;
  line-height:1.15;
  font-weight:900;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}
.session-picker{
  display:flex;
  justify-content:center;
  gap:12px;
  margin:12px auto 26px;
}
.session-choice{
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.13);
  color:#fff;
  border-radius:999px;
  padding:11px 20px;
  font-weight:800;
  min-width:118px;
}
.session-choice.active{
  background:#fff;
  color:var(--navy);
}
@media(max-width:1000px){
  .student-grid{width:min(100%, 720px)}
}
@media(max-width:700px){
  .student-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    width:min(100%, 430px);
  }
  .student-card.portrait{min-height:210px;border-radius:22px;padding:8px}
  .student-photo-frame{min-height:138px;border-radius:18px}
  .student-name-bar{padding:10px 6px 6px}
  .student-name-bar strong{font-size:1.1rem}
  .session-choice{min-width:110px}
}


/* Cyber Cave Portal 1.0.4 kiosk card scale correction */
.student-grid{
  grid-template-columns:repeat(auto-fit, minmax(0, 190px));
  justify-content:center;
  align-content:start;
  gap:16px;
  width:min(100%, 1040px);
  max-width:1040px;
  margin:0 auto;
}
.student-card.portrait{
  width:190px;
  height:255px;
  min-height:0;
  max-height:255px;
  padding:8px;
  border-radius:24px;
}
.student-photo-frame{
  flex:none;
  width:100%;
  height:202px;
  min-height:0;
  border-radius:19px;
}
.student-photo{
  object-position:center top;
}
.student-name-bar{
  height:45px;
  padding:10px 6px 6px;
}
.student-name-bar strong{
  font-size:1.05rem;
}
.kiosk-message{
  margin:28px auto 20px;
}
.kiosk-message h1{
  font-size:clamp(2rem,3vw,3.2rem);
}
@media(max-width:700px){
  .student-grid{
    grid-template-columns:repeat(2, minmax(0, 155px));
    gap:12px;
    width:min(100%, 340px);
  }
  .student-card.portrait{
    width:155px;
    height:218px;
    max-height:218px;
  }
  .student-photo-frame{
    height:170px;
  }
  .student-name-bar{
    height:40px;
  }
  .student-name-bar strong{
    font-size:.98rem;
  }
}


/* Cyber Cave Portal 1.1 application structure */
.app-shell-active{background:#f3f6fa}
.app-sidebar{
 position:fixed;inset:0 auto 0 0;width:220px;background:#fff;border-right:1px solid var(--line);
 padding:24px 16px;display:flex;flex-direction:column;z-index:50
}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 28px;font-size:1.15rem;font-weight:900}
.sidebar-nav{display:grid;gap:8px}
.sidebar-nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:14px;color:#4d586b}
.sidebar-nav a:hover{background:#f0f3ff;color:var(--blue)}
.sidebar-nav a span{width:28px;text-align:center;font-size:1.2rem}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:18px 8px 0;display:grid;gap:6px}
.sidebar-footer span{font-weight:800}.sidebar-footer a{color:var(--muted);font-size:.86rem}
.app-main{margin-left:220px;min-height:100vh}
.site-header{display:none}
.workspace-shell{max-width:1320px;margin:auto;padding:46px 34px 80px}
.workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.workspace-heading h1{font-size:clamp(2.5rem,5vw,4rem);margin:6px 0}
.workspace-heading p:last-child{max-width:700px;color:var(--muted);line-height:1.6}
.narrow-workspace{max-width:900px}
.workspace-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.workspace-stats a{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}
.workspace-stats span{color:var(--muted);font-weight:700}.workspace-stats strong{font-size:1.55rem}
.workspace-group{margin-top:30px}
.workspace-group-title{display:flex;align-items:center;gap:14px;margin-bottom:15px}
.workspace-group-title>span{width:48px;height:48px;border-radius:15px;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-size:1.3rem}
.workspace-group-title h2{margin:0}.workspace-group-title p{margin:4px 0 0;color:var(--muted)}
.workspace-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.workspace-tool-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;min-height:112px}
.workspace-tool-card:hover{border-color:#b8c6ed;box-shadow:0 14px 30px rgba(21,35,62,.08)}
.workspace-tool-card>span{width:48px;height:48px;border-radius:15px;background:#f0f3ff;color:var(--blue);display:grid;place-items:center;font-size:1.35rem}
.workspace-tool-card strong,.workspace-tool-card small{display:block}.workspace-tool-card small{color:var(--muted);margin-top:5px;line-height:1.4}
.workspace-tool-card.featured{background:linear-gradient(135deg,#315fcb,#7357d9);color:#fff;border:0}
.workspace-tool-card.featured>span{background:rgba(255,255,255,.18);color:#fff}.workspace-tool-card.featured small{color:rgba(255,255,255,.76)}

.dashboard-welcome{padding:36px 40px;border-radius:28px;background:linear-gradient(120deg,#17223b,#4169e1);color:#fff;margin-bottom:24px}
.dashboard-welcome h1{font-size:3rem;margin:6px 0}.dashboard-welcome .eyebrow{color:#cbd7ff}
.dashboard-center-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.dashboard-center-card{min-height:330px;padding:34px;border-radius:28px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 16px 40px rgba(21,35,62,.08)}
.dashboard-center-card>span{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;font-size:2rem;margin-bottom:32px}
.kiosk-center>span{background:#e9f8f0;color:var(--green)}.student-center>span{background:#edf2ff;color:var(--blue)}
.dashboard-center-card h2{font-size:2.3rem;margin:6px 0 10px}.dashboard-center-card p:last-of-type{color:var(--muted);line-height:1.65}
.dashboard-center-card>strong{margin-top:auto;color:var(--blue)}
.center-card-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.center-card-stats b{padding:8px 11px;border-radius:999px;background:#f3f6fa;font-size:.78rem}

/* Student profile center */
.student-profile-shell{display:grid;grid-template-columns:310px 1fr;min-height:100vh}
.student-directory-panel{background:#fff;border-right:1px solid var(--line);padding:28px 18px;position:sticky;top:0;height:100vh;overflow:auto}
.student-directory-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.student-directory-heading h2{font-size:1.8rem;margin:4px 0}
.student-add-button{width:40px;height:40px;border-radius:13px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:1.5rem}
.student-search-form{display:grid;grid-template-columns:1fr auto;margin-bottom:16px}.student-search-form input{border-radius:13px 0 0 13px}.student-search-form button{border:1px solid #cfd6e2;border-left:0;background:#fff;border-radius:0 13px 13px 0;padding:0 15px}
.student-directory-list{display:grid;gap:7px}
.student-list-item{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;padding:10px;border-radius:15px}
.student-list-item:hover,.student-list-item.active{background:#eef1ff}.student-list-item.active{box-shadow:inset 3px 0 var(--blue)}
.student-list-photo{width:48px;height:48px;border-radius:14px;overflow:hidden;background:#e6ebf5;display:grid;place-items:center;font-weight:900}
.student-list-photo img{width:100%;height:100%;object-fit:cover}
.student-list-item strong,.student-list-item small{display:block}.student-list-item small{color:var(--muted);font-size:.76rem;margin-top:3px}
.student-status-dot{width:9px;height:9px;border-radius:50%;background:#9ba5b6}.student-status-dot.enrolled{background:#2a9d73}.student-status-dot.inactive{background:#e68a3f}
.student-profile-workspace{padding:30px;min-width:0}
.profile-banner{display:grid;grid-template-columns:150px 1fr 180px;gap:26px;padding:28px;border-radius:26px;background:linear-gradient(120deg,#5168dc,#4039b8);color:#fff}
.profile-banner-photo{width:150px;height:175px;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:2.5rem;font-weight:900}
.profile-banner-photo img{width:100%;height:100%;object-fit:cover}
.profile-title-row{display:flex;align-items:center;gap:12px}.profile-title-row h1{font-size:2.7rem;margin:5px 0}.profile-title-row span{padding:7px 10px;border-radius:999px;background:#dff8e9;color:#207854;font-weight:900;font-size:.75rem}
.profile-banner-copy>p{opacity:.82}.profile-banner-details{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:23px}
.profile-banner-details span{font-size:.78rem;opacity:.82}.profile-banner-details strong{display:block;font-size:.95rem;margin-top:4px;color:#fff}
.profile-quick-actions{display:grid;align-content:start;gap:10px}.profile-quick-actions a{padding:12px;border:1px solid rgba(255,255,255,.3);border-radius:13px;text-align:center;font-weight:800;background:rgba(255,255,255,.1)}
.profile-tabs{display:flex;gap:30px;padding:0 12px;border-bottom:1px solid var(--line);margin-top:14px;overflow:auto}
.profile-tabs a{padding:18px 2px 15px;color:var(--muted);font-weight:800;white-space:nowrap}.profile-tabs a.active{color:var(--blue);border-bottom:3px solid var(--blue)}
.profile-tab-content{padding-top:22px}
.profile-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.profile-info-card,.profile-edit-card,.profile-list-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:22px;box-shadow:0 10px 26px rgba(21,35,62,.05)}
.profile-card-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.profile-card-title span{color:var(--blue)}.profile-card-title h3{margin:0}
.profile-info-card dl{display:grid;grid-template-columns:110px 1fr;gap:12px;margin:0}.profile-info-card dt{color:var(--muted)}.profile-info-card dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.profile-list-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.profile-list-row small{display:block;color:var(--muted);margin-top:3px}.profile-list-row b{font-size:.68rem;color:var(--blue)}
.profile-initial{width:38px;height:38px;border-radius:50%;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-weight:900}
.profile-card-link{display:block;color:var(--blue);font-weight:800;margin-top:16px}
.profile-metric-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-metric-row div{padding:16px;border-radius:16px;background:#f6f8fc}.profile-metric-row strong,.profile-metric-row span{display:block}.profile-metric-row strong{font-size:1.7rem}.profile-metric-row span{font-size:.76rem;color:var(--muted)}
.profile-note-preview{padding:10px 0;border-bottom:1px solid var(--line)}.profile-note-preview p{font-size:.86rem;color:#4d586b;line-height:1.45}.profile-note-preview small{color:var(--muted)}
.profile-book-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.profile-book-row img,.profile-book-row>span{width:42px;height:56px;object-fit:cover;border-radius:7px;background:#edf2ff;display:grid;place-items:center}.profile-book-row small{display:block;color:var(--muted)}.profile-book-row b{font-size:.7rem}.profile-book-row b.open{color:var(--orange)}.profile-book-row b.returned{color:var(--green)}
.profile-two-column{display:grid;grid-template-columns:360px 1fr;gap:20px}.profile-edit-card h2,.profile-list-card h2{margin-top:0}
.guardian-manage-row{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.guardian-manage-row small{display:block;color:var(--muted)}.guardian-manage-row p{margin:6px 0 0}
.student-note-list{display:grid;gap:13px}.student-note-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.student-note-card>div{display:flex;gap:10px;align-items:center}.student-note-card>div span{padding:6px 9px;border-radius:999px;background:#edf2ff;color:var(--blue);font-size:.7rem;font-weight:900}.student-note-card p{line-height:1.6}.student-note-card small{color:var(--muted)}
.student-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.student-report-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px}.student-report-grid article>span{font-size:2rem;color:var(--blue)}.student-report-grid p{color:var(--muted);line-height:1.55}
.timeline-row{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.timeline-row>span{width:42px;height:42px;border-radius:14px;background:#edf2ff;color:var(--blue);display:grid;place-items:center}.timeline-row small{display:block;color:var(--muted);margin-top:4px}
.muted-copy{color:var(--muted)}
.student-report-page{max-width:1100px;margin:auto;padding:42px}.report-toolbar{display:flex;justify-content:space-between;margin-bottom:28px}.student-report-page header{padding-bottom:20px;border-bottom:2px solid var(--ink)}.student-report-page header h1{font-size:3rem;margin:5px 0}.report-block{margin-top:30px}.report-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.report-info-grid p{background:#f6f8fc;padding:14px;border-radius:13px}

@media(max-width:1100px){
 .workspace-card-grid{grid-template-columns:repeat(2,1fr)}
 .student-profile-shell{grid-template-columns:270px 1fr}
 .profile-banner{grid-template-columns:120px 1fr}.profile-banner-photo{width:120px;height:145px}.profile-quick-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
 .profile-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
 .app-sidebar{width:76px;padding:20px 10px}.sidebar-brand span:last-child,.sidebar-nav strong,.sidebar-footer{display:none}.sidebar-brand{padding-left:8px}.sidebar-nav a{justify-content:center}.app-main{margin-left:76px}
 .workspace-heading{display:block}.workspace-heading .button{margin-top:16px}.workspace-card-grid,.dashboard-center-grid,.workspace-stats{grid-template-columns:1fr}
 .student-profile-shell{display:block}.student-directory-panel{position:relative;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}.student-directory-list{max-height:300px;overflow:auto}
 .student-profile-workspace{padding:18px}.profile-banner{grid-template-columns:90px 1fr;padding:20px;gap:16px}.profile-banner-photo{width:90px;height:110px}.profile-title-row h1{font-size:1.8rem}.profile-banner-details{grid-template-columns:1fr 1fr}
 .profile-card-grid,.profile-two-column,.student-report-grid{grid-template-columns:1fr}
}
@media print{
 .app-sidebar,.report-toolbar{display:none!important}.app-main{margin:0}.student-report-page{padding:0}
}

/* Cyber Cave Portal 1.2 organization and live dashboards */
.year-switcher{margin-bottom:14px}.year-switcher label{display:grid;gap:6px;font-size:.78rem;font-weight:800;color:var(--muted)}.year-switcher select{background:#f8fafc}
.profile-quick-actions form{margin:0}.profile-quick-actions button{width:100%;padding:12px;border:1px solid rgba(255,210,210,.4);border-radius:13px;background:rgba(130,20,30,.22);color:#fff;font-weight:800;cursor:pointer}
.kiosk-live-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kiosk-live-metrics article{padding:20px;border-radius:20px;background:#fff;border:1px solid var(--line)}.kiosk-live-metrics span,.kiosk-live-metrics strong{display:block}.kiosk-live-metrics span{color:var(--muted);font-weight:700}.kiosk-live-metrics strong{font-size:2rem;margin-top:8px}
.kiosk-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.kiosk-dashboard-grid .live-panel{margin:0}.kiosk-chart-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 10px 30px rgba(21,35,62,.06)}.kiosk-chart-card h2{margin:5px 0 20px}.horizontal-chart{display:grid;gap:13px}.chart-bar-row{display:grid;grid-template-columns:145px 1fr 32px;gap:10px;align-items:center}.chart-bar-row span{font-size:.82rem;color:#4d586b}.chart-bar-row>div{height:12px;border-radius:999px;background:#eef1f6;overflow:hidden}.chart-bar-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--purple))}.chart-bar-row b{text-align:right}
.hour-chart{height:230px;display:flex;align-items:stretch;gap:9px;padding-top:12px}.hour-column{flex:1;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center}.hour-column>div{display:flex;align-items:end;justify-content:center;border-bottom:1px solid var(--line)}.hour-column i{display:block;width:70%;min-height:3px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--purple),var(--blue))}.hour-column span{font-size:.68rem;color:var(--muted)}
.settings-tabs{display:flex;gap:8px;padding:6px;background:#e9edf4;border-radius:17px;overflow:auto;margin-bottom:22px}.settings-tabs a{padding:11px 16px;border-radius:12px;color:#596477;font-weight:800;white-space:nowrap}.settings-tabs a.active{background:#fff;color:var(--blue);box-shadow:0 5px 15px rgba(21,35,62,.08)}.settings-content{max-width:1050px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:23px;padding:28px;box-shadow:0 10px 28px rgba(21,35,62,.06)}.settings-card h2{margin-top:0}.settings-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}.settings-link-grid a{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:19px;padding:20px}.settings-link-grid a>span{width:52px;height:52px;border-radius:15px;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-size:1.3rem}.settings-link-grid strong,.settings-link-grid small{display:block}.settings-link-grid small{color:var(--muted);margin-top:4px;line-height:1.4}.settings-split{display:grid;grid-template-columns:360px 1fr;gap:18px}.update-warning{padding:20px 23px;border-radius:18px;background:#fff8e7;border:1px solid #f0dbac;margin-bottom:18px}.update-warning p{margin-bottom:0;line-height:1.6;color:#665b43}
@media(max-width:1000px){.kiosk-live-metrics{grid-template-columns:repeat(2,1fr)}.kiosk-dashboard-grid{grid-template-columns:1fr}.settings-split{grid-template-columns:1fr}}
@media(max-width:700px){.kiosk-live-metrics,.settings-link-grid{grid-template-columns:1fr}.chart-bar-row{grid-template-columns:100px 1fr 28px}}

/* Cyber Cave Portal 1.3 Attendance */
.attendance-center>span{background:#e9f8f0;color:var(--green)}.attendance-page{max-width:1500px}.attendance-day-state{min-width:190px;padding:14px 18px;border-radius:17px;background:#fff;border:1px solid var(--line)}.attendance-day-state span,.attendance-day-state strong{display:block}.attendance-day-state span{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.attendance-day-state strong{margin-top:5px}.attendance-day-state.complete{background:#eaf9f1;color:#207854;border-color:#c2ead5}.attendance-day-state.draft{background:#fff8e9;color:#98611e;border-color:#f0dfb7}.attendance-filter-bar{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin-bottom:18px}.attendance-filter-bar label{display:grid;gap:7px;font-weight:800}.attendance-summary{display:grid;grid-template-columns:repeat(3,150px) 1fr;gap:12px;margin-bottom:18px}.attendance-summary article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.attendance-summary article span,.attendance-summary article strong{display:block}.attendance-summary article span{color:var(--muted);font-size:.78rem;font-weight:800}.attendance-summary article strong{font-size:1.85rem;margin-top:4px}.attendance-summary-present{background:#eefbf5!important;border-color:#c2ead5!important}.attendance-mark-all{justify-self:end;align-self:center}.attendance-roster{display:grid;gap:12px;padding-bottom:100px}.attendance-student-row{display:grid;grid-template-columns:270px minmax(520px,1fr) 210px;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;box-shadow:0 8px 22px rgba(21,35,62,.04)}.attendance-student-identity{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center}.attendance-student-identity strong,.attendance-student-identity small{display:block}.attendance-student-identity small{color:var(--muted);margin-top:3px}.attendance-photo{width:54px;height:54px;border-radius:15px;overflow:hidden;background:#e8edf7;display:grid;place-items:center;font-weight:900}.attendance-photo img{width:100%;height:100%;object-fit:cover}.attendance-options{display:grid;grid-template-columns:repeat(6,minmax(75px,1fr));gap:7px}.attendance-choice input{position:absolute;opacity:0;pointer-events:none}.attendance-choice span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:8px;border:1px solid #d8deea;border-radius:12px;background:#f8fafc;text-align:center;font-size:.73rem;font-weight:900;cursor:pointer}.attendance-choice input:checked+span{background:#edf2ff;border-color:#7f96ea;color:#315fcb;box-shadow:0 0 0 2px rgba(65,105,225,.1)}.attendance-choice.status-present input:checked+span{background:#e9f8f0;border-color:#75c6a5;color:#207854}.attendance-choice.status-absent-unexcused input:checked+span{background:#fff0f0;border-color:#e9a6a6;color:#ad3535}.attendance-choice.status-absent-parent-excused input:checked+span,.attendance-choice.status-absent-school-excused input:checked+span,.attendance-choice.status-absent-medical-note input:checked+span,.attendance-choice.status-absent-workbased-learning input:checked+span{background:#fff8e9;border-color:#e8cc87;color:#8d641e}.attendance-note{display:grid;gap:6px}.attendance-note span{font-size:.72rem;font-weight:800;color:var(--muted)}.attendance-note input{padding:11px 12px}.attendance-save-bar{position:fixed;left:calc(220px + 34px);right:34px;bottom:18px;z-index:30;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:16px 20px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 45px rgba(21,35,62,.16)}.attendance-save-bar strong,.attendance-save-bar small{display:block}.attendance-save-bar small{color:var(--muted);margin-top:3px}.attendance-empty{padding:70px 30px;text-align:center;background:#fff;border:1px dashed #cbd3e1;border-radius:22px}.attendance-status-pill{display:inline-block;padding:7px 10px;border-radius:999px;background:#edf2ff;color:#315fcb;font-size:.72rem;font-weight:900}.attendance-status-pill.status-present{background:#e9f8f0;color:#207854}.attendance-status-pill.status-absent-unexcused{background:#fff0f0;color:#ad3535}.attendance-status-pill:not(.status-present):not(.status-absent-unexcused){background:#fff8e9;color:#8d641e}.attendance-profile-rate{padding:18px;border-radius:17px;background:#eefbf5}.attendance-profile-rate strong,.attendance-profile-rate span{display:block}.attendance-profile-rate strong{font-size:2rem;color:#207854}.attendance-profile-rate span{color:var(--muted);font-size:.8rem;margin-top:3px}.attendance-profile-mini{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;align-items:center;margin-top:15px}.attendance-profile-mini b{font-size:1.25rem}.attendance-profile-mini span{color:var(--muted);font-size:.78rem}.attendance-profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.attendance-profile-summary article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.attendance-profile-summary span,.attendance-profile-summary strong{display:block}.attendance-profile-summary span{color:var(--muted);font-size:.8rem}.attendance-profile-summary strong{font-size:2rem;margin-top:5px}@media(max-width:1250px){.attendance-student-row{grid-template-columns:230px 1fr}.attendance-note{grid-column:1/-1}.attendance-options{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.attendance-filter-bar,.attendance-summary{grid-template-columns:1fr}.attendance-mark-all{justify-self:stretch}.attendance-student-row{grid-template-columns:1fr}.attendance-options{grid-template-columns:repeat(2,1fr)}.attendance-save-bar{left:94px;right:18px;grid-template-columns:1fr 1fr}.attendance-save-bar>div{grid-column:1/-1}.attendance-profile-summary{grid-template-columns:1fr}}

.teacher-accounts-layout{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}.teacher-account-create{position:sticky;top:24px}.teacher-account-create>p:not(.eyebrow){color:var(--muted);line-height:1.55}.teacher-account-list{display:grid;gap:14px}.teacher-account-list-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.teacher-account-list-heading h2{margin:5px 0}.teacher-account-list-heading>span{padding:8px 11px;border-radius:999px;background:#edf2ff;color:var(--blue);font-size:.75rem;font-weight:900}.teacher-account-card{background:#fff;border:1px solid var(--line);border-radius:21px;padding:20px;box-shadow:0 10px 25px rgba(21,35,62,.05)}.teacher-account-heading{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;margin-bottom:16px}.teacher-account-avatar{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#4169e1,#7357d9);color:#fff;display:grid;place-items:center;font-weight:900}.teacher-account-heading strong,.teacher-account-heading small{display:block}.teacher-account-heading small{color:var(--muted);margin-top:3px}.account-status{padding:7px 10px;border-radius:999px;font-size:.7rem;font-weight:900}.account-status.active{background:#e9f8f0;color:#207854}.account-status.disabled{background:#fff0f0;color:#ad3535}.teacher-account-edit{padding-top:14px;border-top:1px solid var(--line)}.teacher-account-secondary{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.teacher-account-secondary>form:first-child{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;flex:1}.teacher-account-secondary label{display:grid;gap:6px;font-size:.78rem;font-weight:800}.account-last-login{display:block;color:var(--muted);margin-top:13px}.self-account-label{color:var(--blue);font-weight:800;font-size:.78rem}@media(max-width:1000px){.teacher-accounts-layout{grid-template-columns:1fr}.teacher-account-create{position:relative;top:auto}}@media(max-width:650px){.teacher-account-heading{grid-template-columns:44px 1fr}.account-status{grid-column:1/-1;justify-self:start}.teacher-account-secondary{display:grid}.teacher-account-secondary>form:first-child{grid-template-columns:1fr}}


/* Cyber Cave Portal 1.4.1 Users & Access */
.users-access-intro{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:24px 28px;background:linear-gradient(135deg,#f7f9ff,#eef2ff);border:1px solid #dbe3fa;border-radius:22px;margin-bottom:22px}
.users-access-intro h2{margin:6px 0}.users-access-intro p:last-child{max-width:760px;color:var(--muted);line-height:1.55}
.user-access-key{display:flex;gap:12px;flex-wrap:wrap}.user-access-key span{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#fff;font-size:.76rem;font-weight:800}
.user-access-key i{width:9px;height:9px;border-radius:50%}.admin-dot{background:#7357d9}.teacher-dot{background:#4169e1}.student-dot{background:#2a9d73}
.account-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.account-role{padding:6px 9px;border-radius:999px;background:#edf2ff;color:#315fcb;font-size:.7rem;font-weight:900}
.role-system-administrator .account-role{background:#f0ebff;color:#6547c5}.role-student .account-role{background:#e9f8f0;color:#207854}
.linked-profile-label{color:#2a9d73!important;font-weight:700;margin-top:4px!important}
.student-link-field{grid-column:1/-1}.student-link-field.is-hidden{display:none!important}
.student-portal{max-width:1000px}.student-portal-hero{display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:center;padding:28px;border-radius:25px;background:linear-gradient(125deg,#4169e1,#7357d9);color:#fff;margin-bottom:20px}
.student-portal-photo{width:130px;height:150px;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:2.2rem;font-weight:900}.student-portal-photo img{width:100%;height:100%;object-fit:cover}
.student-portal-hero .eyebrow{color:#dce4ff}.student-portal-hero h1{font-size:2.8rem;margin:5px 0}.student-portal-hero p:last-child{opacity:.8}
.student-portal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:18px}.student-portal-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.student-portal-grid span,.student-portal-grid strong,.student-portal-grid small{display:block}.student-portal-grid span,.student-portal-grid small{color:var(--muted)}.student-portal-grid strong{font-size:2.2rem;margin:5px 0}
.student-portal-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.student-portal-row small{color:var(--muted)}
.student-portal-note{margin-top:18px;padding:18px 20px;border-radius:17px;background:#fff8e9;border:1px solid #f0dfb7}.student-portal-note p{margin:5px 0 0;color:#6f5b35}
@media(max-width:800px){.users-access-intro{display:block}.user-access-key{margin-top:16px}.student-portal-hero{grid-template-columns:90px 1fr}.student-portal-photo{width:90px;height:105px}.student-portal-hero h1{font-size:2rem}.student-portal-grid{grid-template-columns:1fr}}

.update-recovery-note{
 margin-bottom:16px;padding:16px 20px;border-radius:16px;
 background:#eefbf5;border:1px solid #bee8d5;color:#217a59
}
.update-recovery-note strong,.update-recovery-note p{display:block}
.update-recovery-note p{margin:5px 0 0}


/* Cyber Cave Portal 1.5 Equipment Inventory */
.equipment-center>span{background:#fff3df;color:#bd6c20}
.equipment-page{max-width:1550px}
.equipment-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}
.equipment-stat-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}
.equipment-stat-grid span,.equipment-stat-grid strong,.equipment-stat-grid small{display:block}
.equipment-stat-grid span{color:var(--muted);font-size:.78rem;font-weight:800}.equipment-stat-grid strong{font-size:2rem;margin:6px 0}.equipment-stat-grid small{color:var(--muted)}
.equipment-stat-grid article.needs-attention{background:#fff4f4;border-color:#efc3c3}.equipment-stat-grid article.warning{background:#fff9e9;border-color:#eedca9}
.equipment-dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:20px}
.equipment-chart-card,.equipment-quick-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px}
.equipment-chart-card h2,.equipment-quick-card h2{margin:5px 0 18px}
.equipment-chart-row{display:grid;grid-template-columns:150px 1fr 34px;gap:12px;align-items:center;margin:11px 0}
.equipment-chart-row>span{font-size:.82rem;font-weight:800}.equipment-chart-row>div{height:10px;background:#edf1f7;border-radius:999px;overflow:hidden}.equipment-chart-row i{display:block;height:100%;background:linear-gradient(90deg,#4169e1,#7357d9);border-radius:999px}
.equipment-chart-row strong{text-align:right}
.equipment-quick-card p{color:var(--muted);line-height:1.6}.equipment-quick-links{display:grid;gap:9px;margin-top:18px}.equipment-quick-links a{padding:11px 13px;border-radius:12px;background:#f5f7fb;font-weight:800;color:var(--blue)}
.equipment-filter-bar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px;margin-bottom:17px}
.equipment-filter-bar label{display:grid;gap:6px;font-weight:800;font-size:.8rem}
.equipment-table{overflow:auto}.equipment-table table{min-width:1160px}
.equipment-asset-cell{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center}.equipment-asset-cell strong,.equipment-asset-cell small{display:block}.equipment-asset-cell small{color:var(--muted);margin-top:3px}
.equipment-thumb{width:46px;height:46px;border-radius:12px;overflow:hidden;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-size:1.2rem}.equipment-thumb img{width:100%;height:100%;object-fit:cover}
.equipment-status,.equipment-condition{display:inline-block;padding:7px 9px;border-radius:999px;font-size:.69rem;font-weight:900}
.equipment-status{background:#edf2ff;color:#315fcb}.equipment-status.status-active{background:#e9f8f0;color:#207854}.equipment-status.status-repair,.equipment-status.status-lost{background:#fff0f0;color:#ad3535}.equipment-status.status-retired,.equipment-status.status-disposed{background:#f0f1f4;color:#626b7b}.equipment-status.status-spare{background:#fff8e9;color:#8d641e}
.equipment-condition{background:#f0f1f4;color:#626b7b}.equipment-condition.condition-excellent,.equipment-condition.condition-good{background:#e9f8f0;color:#207854}.equipment-condition.condition-fair{background:#fff8e9;color:#8d641e}.equipment-condition.condition-poor,.equipment-condition.condition-damaged{background:#fff0f0;color:#ad3535}
.equipment-edit-page{max-width:1300px}.equipment-edit-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}
.equipment-photo-card{position:sticky;top:20px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}
.equipment-photo-preview{width:100%;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-size:3rem;margin-bottom:15px}.equipment-photo-preview img{width:100%;height:100%;object-fit:cover}
.equipment-photo-card label{display:grid;gap:7px;font-weight:800;font-size:.8rem}.equipment-record-meta{display:grid;grid-template-columns:1fr;gap:4px;padding:16px 0;border-top:1px solid var(--line);margin-top:16px}.equipment-record-meta span{color:var(--muted);font-size:.72rem}.equipment-record-meta strong{margin-bottom:8px}
.equipment-form-sections{display:grid;gap:16px}.equipment-form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}
.equipment-form-title{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;margin-bottom:20px}.equipment-form-title>span{width:42px;height:42px;border-radius:13px;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-weight:900}.equipment-form-title h2{margin:0}.equipment-form-title p{margin:4px 0 0;color:var(--muted)}
.equipment-form-card>label{display:grid;gap:7px;font-weight:800;margin-top:15px}.equipment-assignment-field.is-hidden{display:none}
.equipment-form-actions{display:flex;justify-content:flex-end;gap:10px;padding:8px 0 20px}
.equipment-danger-zone{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:22px 0;padding:20px 24px;background:#fff0f0;border:1px solid #efc4c4;border-radius:20px}.equipment-danger-zone strong{color:#a53838}.equipment-danger-zone p{margin:5px 0 0;color:#8d5a5a}
.equipment-report-signature{display:grid;grid-template-columns:2fr 1fr;gap:60px;margin-top:60px}.equipment-report-signature div{border-top:1px solid #222;padding-top:8px}.equipment-report-signature span{font-size:.8rem}
@media(max-width:1100px){.equipment-stat-grid{grid-template-columns:repeat(2,1fr)}.equipment-filter-bar{grid-template-columns:repeat(2,1fr)}.equipment-edit-layout{grid-template-columns:1fr}.equipment-photo-card{position:relative;top:auto;display:grid;grid-template-columns:180px 1fr;gap:18px}.equipment-photo-preview{margin:0}}
@media(max-width:800px){.equipment-stat-grid,.equipment-dashboard-grid,.equipment-filter-bar{grid-template-columns:1fr}.equipment-photo-card{display:block}.equipment-edit-page .form-grid.two{grid-template-columns:1fr}.equipment-report-signature{grid-template-columns:1fr}}
@media print{.equipment-print-report table{font-size:9px}.equipment-print-report th,.equipment-print-report td{padding:7px}}


/* Cyber Cave Portal 1.6 BPA Prep */
.bpa-student-sidebar{background:#fff}
.bpa-sidebar-label{padding:3px 14px 14px;color:var(--blue);font-weight:900;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}
.bpa-student-page{max-width:1500px}
.bpa-page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.bpa-page-heading h1{font-size:clamp(2.5rem,5vw,4rem);margin:5px 0}.bpa-page-heading p:last-child{color:var(--muted)}.bpa-heading-points{color:#ff6a25;font-weight:900}
.bpa-dashboard-top{display:grid;grid-template-columns:1.7fr .9fr;gap:20px}
.bpa-mountain-hero{min-height:230px;border-radius:24px;padding:28px;color:#fff;background:linear-gradient(120deg,#1769e8,#7155dc);display:flex;justify-content:space-between;overflow:hidden;position:relative}
.bpa-mountain-hero h2{font-size:2rem;margin:0 0 10px}.bpa-mountain-hero p{max-width:430px;line-height:1.55}.bpa-mountain-art{font-size:13rem;line-height:.7;color:rgba(19,30,110,.34);align-self:end;transform:translate(20px,30px)}
.bpa-next-card,.bpa-list-card,.bpa-compare-card,.bpa-leaderboard-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 10px 25px rgba(21,35,62,.05)}
.bpa-next-card h2{margin:0 0 13px}.bpa-next-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.bpa-next-row i{width:28px;height:28px;border-radius:50%;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-style:normal;font-weight:900}.bpa-next-row strong,.bpa-next-row small{display:block}.bpa-next-row small{color:var(--muted);margin-top:3px}
.bpa-stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:17px 0}.bpa-stat-row article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.bpa-stat-row span,.bpa-stat-row strong{display:block}.bpa-stat-row span{color:var(--muted);font-size:.78rem;font-weight:800}.bpa-stat-row strong{font-size:1.8rem;margin-top:5px}
.bpa-compare-card h2{margin-top:0}.bpa-compare-grid{display:grid;grid-template-columns:1fr .8fr 1.1fr;gap:18px}.bpa-compare-grid>div{border:1px solid var(--line);border-radius:17px;padding:18px}.bpa-compare-grid h3{margin-top:0}.bpa-meter{height:15px;border-radius:999px;background:#edf1f7;overflow:hidden}.bpa-meter i{height:100%;display:block;background:linear-gradient(90deg,#1769e8,#7155dc)}.bpa-compare-grid>div>strong{font-size:1.6rem;display:block;margin-top:8px}
.bpa-percentile-ring{display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#fff 52%,transparent 53%),conic-gradient(#6047e8 0 80%,#e8ecf4 80%)}.bpa-percentile-ring strong{font-size:2.4rem!important;margin:0!important}.bpa-percentile-ring span{color:var(--muted)}
.bpa-leader-row{display:grid;grid-template-columns:26px 1fr auto;gap:8px;padding:8px;border-radius:9px}.bpa-leader-row.you{background:#edf2ff;color:var(--blue)}.bpa-leader-row i{font-style:normal}.bpa-dashboard-lower{display:grid;grid-template-columns:1fr 1fr .8fr;gap:18px;margin-top:18px}.bpa-card-heading{display:flex;justify-content:space-between;align-items:center}.bpa-card-heading h2{margin:0 0 12px}.bpa-card-heading a{color:var(--blue);font-weight:800}
.bpa-mini-event{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.bpa-event-icon{width:46px;height:46px;border-radius:14px;background:#edf2ff;display:grid;place-items:center}.bpa-mini-event.open .bpa-event-icon{background:#e9f8f0}.bpa-mini-event strong,.bpa-mini-event small{display:block}.bpa-mini-event small{color:var(--muted);margin-top:3px}.bpa-motivation{background:linear-gradient(135deg,#5c43dd,#1769e8);color:#fff}.bpa-motivation p{color:rgba(255,255,255,.8)}.bpa-empty-compact{color:var(--muted);padding:16px 0}.bpa-empty-large{grid-column:1/-1;padding:50px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #ccd4e1;border-radius:20px}
.bpa-view-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;margin-bottom:18px}.bpa-view-tabs a{padding:17px 22px;font-weight:900;border-bottom:3px solid transparent}.bpa-view-tabs a.active{color:var(--blue);border-bottom-color:var(--blue)}.bpa-view-tabs span{padding:4px 7px;border-radius:999px;background:#edf2ff;font-size:.72rem}
.bpa-competition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.bpa-competition-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 22px rgba(21,35,62,.04)}.bpa-competition-card.active{border:2px solid #7756ed;box-shadow:0 12px 28px rgba(91,62,221,.13)}.bpa-comp-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#6544de,#8b5af0);display:grid;place-items:center;font-size:1.5rem}.bpa-competition-card h3{min-height:48px}.bpa-competition-card em{font-style:normal;padding:6px 9px;border-radius:999px;background:#f0eaff;color:#6c48da;font-size:.7rem;font-weight:900}.bpa-competition-card p{color:var(--muted)}.bpa-competition-card>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:13px}.bpa-competition-card>div span,.bpa-competition-card>div b{display:block}.bpa-competition-card>div span{font-size:.72rem;color:var(--muted)}
.bpa-competition-workspace{display:grid;grid-template-columns:290px 1fr;gap:18px}.bpa-selected-summary{background:linear-gradient(180deg,#f2edff,#fff);border:1px solid #ddd3fa;border-radius:22px;padding:22px}.bpa-selected-title{display:grid;grid-template-columns:55px 1fr;gap:12px}.bpa-selected-title>span{width:55px;height:55px;border-radius:17px;background:#6544de;color:#fff;display:grid;place-items:center;font-size:1.5rem}.bpa-selected-title h2{margin:0}.bpa-selected-title p{margin:4px 0;color:#7458c9}.bpa-selected-summary>p{color:var(--muted);line-height:1.55}.bpa-resource-strip{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.bpa-resource-icon{text-align:center}.bpa-resource-icon>span{width:43px;height:43px;border-radius:12px;background:#edf2ff;color:#315fcb;display:grid;place-items:center;font-weight:900}.bpa-resource-icon small{font-size:.66rem;color:var(--muted)}
.bpa-wizard{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.bpa-wizard-heading{padding:22px 25px;background:linear-gradient(120deg,#fff,#eee9ff);display:flex;justify-content:space-between;gap:20px;align-items:center}.bpa-wizard-heading h2{margin:4px 0}.bpa-wizard-heading p{margin:0;color:var(--muted)}.bpa-wizard-progress{display:flex;align-items:center}.bpa-wizard-progress i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6e9f0;color:#8d96a8;font-style:normal;font-weight:900}.bpa-wizard-progress i.active{background:#6848df;color:#fff}.bpa-wizard-progress span{width:35px;height:2px;background:#dfe3eb}.bpa-wizard-step{display:none;padding:28px}.bpa-wizard-step.active{display:block}.bpa-wizard-step h3{font-size:1.45rem;margin-top:0}.bpa-wizard-step>p{color:var(--muted)}
.bpa-radio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.bpa-radio-grid.two{grid-template-columns:1fr 1fr}.bpa-radio-grid input,.bpa-mode-grid input{position:absolute;opacity:0}.bpa-radio-grid label>span{display:block;border:1px solid var(--line);border-radius:17px;padding:20px;cursor:pointer}.bpa-radio-grid input:checked+span{border:2px solid #7155dc;background:#f7f4ff}.bpa-radio-grid b,.bpa-radio-grid small{display:block}.bpa-radio-grid small{color:var(--muted);margin-top:5px}.bpa-year-select{display:grid;gap:7px;margin-top:18px;max-width:300px;font-weight:800}
.bpa-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bpa-mode-grid label>span{display:grid;grid-template-columns:65px 1fr;gap:15px;border:1px solid var(--line);border-radius:18px;padding:22px;cursor:pointer}.bpa-mode-grid input:checked+span{border:2px solid #7155dc;background:#faf8ff}.bpa-mode-grid i{width:65px;height:65px;border-radius:50%;background:#eee7ff;color:#6544de;display:grid;place-items:center;font-size:1.7rem;font-style:normal}.bpa-mode-grid b,.bpa-mode-grid small{display:block}.bpa-mode-grid b{font-size:1.2rem}.bpa-mode-grid small{color:var(--muted);line-height:1.5;margin-top:6px}.bpa-confirm-card{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:20px;border-radius:16px;background:#f7f8fc}.bpa-confirm-card span{color:var(--muted)}.bpa-wizard-warning{color:#9b681e!important;background:#fff8e9;padding:12px;border-radius:12px}.bpa-wizard-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 25px;border-top:1px solid var(--line)}.hidden{display:none!important}
.bpa-library-filter{display:grid;grid-template-columns:1.8fr .8fr .8fr auto;gap:12px;margin-bottom:18px}.bpa-library-filter label{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding-left:14px}.bpa-library-filter input{border:0;background:transparent}.bpa-library-hero{display:grid;grid-template-columns:190px 1fr 360px;gap:30px;min-height:250px;border-radius:24px;padding:25px 35px;color:#fff;background:linear-gradient(120deg,#1164e8,#7559e4);overflow:hidden}.bpa-featured-cover{width:155px;height:210px;border-radius:12px;overflow:hidden;background:#0c214b;display:grid;place-items:center;font-size:4rem;font-weight:900;box-shadow:0 18px 30px rgba(0,0,0,.25)}.bpa-featured-cover img{width:100%;height:100%;object-fit:cover}.bpa-library-hero h2{font-size:2.4rem;margin:8px 0}.bpa-library-hero p{max-width:600px;line-height:1.5}.bpa-library-hero>div:nth-child(2)>div{display:flex;gap:14px;margin:16px 0}.bpa-library-mountain{font-size:15rem;color:rgba(27,31,119,.4);align-self:end}.bpa-shelf-heading{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px}.bpa-book-shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.bpa-book-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px;display:grid;grid-template-columns:105px 1fr;gap:13px;min-height:155px}.bpa-book-cover{height:135px;border-radius:9px;overflow:hidden;background:linear-gradient(145deg,#4b32cb,#12a1a1)}.bpa-book-cover img{width:100%;height:100%;object-fit:cover}.bpa-cover-placeholder{height:100%;display:grid;place-items:center;color:#fff;font-size:2.3rem;font-weight:900}.bpa-book-card strong{font-size:1rem}.bpa-book-card p{font-size:.8rem;color:var(--muted);line-height:1.4}.bpa-book-card small{color:#6f7890}.bpa-category-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.bpa-category-tile{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;display:grid;grid-template-columns:42px 1fr;gap:9px}.bpa-category-tile span{width:42px;height:42px;border-radius:12px;background:#6544de;color:#fff;display:grid;place-items:center}.bpa-category-tile strong,.bpa-category-tile small{display:block}.bpa-category-tile small{color:var(--muted)}
.bpa-compete-filter{display:flex;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);padding:16px;border-radius:18px;margin-bottom:16px}.bpa-compete-filter label{display:grid;gap:6px;font-weight:800;min-width:350px}.bpa-compete-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.bpa-compete-summary article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.bpa-compete-summary span,.bpa-compete-summary strong{display:block}.bpa-compete-summary span{color:var(--muted)}.bpa-compete-summary strong{font-size:2rem;margin-top:5px}.bpa-full-leader-row{display:grid;grid-template-columns:35px 46px 1fr auto 100px;gap:12px;align-items:center;padding:13px;border-bottom:1px solid var(--line)}.bpa-full-leader-row.you{background:#edf2ff;border-radius:12px;color:var(--blue)}.bpa-leader-avatar{width:46px;height:46px;border-radius:50%;background:#edf2ff;display:grid;place-items:center;font-weight:900}.bpa-full-leader-row strong,.bpa-full-leader-row small{display:block}.bpa-full-leader-row small{color:var(--muted)}.bpa-full-leader-row em{font-style:normal;color:var(--muted)}.bpa-privacy-note{margin-top:16px;padding:18px;background:#eefbf5;border:1px solid #bee8d5;border-radius:16px}.bpa-privacy-note p{margin:5px 0 0;color:#4f7665}
.bpa-test-body{background:#f4f6fb}.bpa-test-body .app-sidebar{display:none}.bpa-test-body .app-main{margin:0}.bpa-test-shell{min-height:100vh}.bpa-test-shell>header{height:84px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr 190px;gap:20px;align-items:center;padding:0 4vw}.bpa-test-shell>header>div:nth-child(2){text-align:center}.bpa-test-shell>header strong,.bpa-test-shell>header span{display:block}.bpa-test-shell>header span{color:var(--muted);font-size:.8rem}.bpa-test-timer{text-align:right}.bpa-test-progress{height:6px;background:#e6eaf1}.bpa-test-progress i{display:block;height:100%;background:linear-gradient(90deg,#1769e8,#7155dc)}.bpa-test-shell>main{max-width:900px;margin:auto;padding:45px 24px}.bpa-question-meta{display:flex;justify-content:space-between;color:var(--muted);font-weight:800}.bpa-test-shell h1{font-size:2rem;line-height:1.35;margin:25px 0}.bpa-answer-list{display:grid;gap:12px}.bpa-answer-choice input{position:absolute;opacity:0}.bpa-answer-choice span{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;cursor:pointer}.bpa-answer-choice input:checked+span{border:2px solid #4169e1;background:#f6f8ff}.bpa-answer-choice i{width:42px;height:42px;border-radius:12px;background:#edf2ff;color:var(--blue);display:grid;place-items:center;font-style:normal;font-weight:900}.bpa-answer-choice.correct span{border-color:#48aa82;background:#eefbf5}.bpa-answer-choice.incorrect span{border-color:#dc7777;background:#fff1f1}.bpa-submit-answer{margin-top:20px;float:right}.bpa-feedback{padding:20px;border-radius:17px;margin:20px 0}.bpa-feedback.correct{background:#eefbf5;border:1px solid #bee8d5;color:#217a59}.bpa-feedback.incorrect{background:#fff1f1;border:1px solid #f0c5c5;color:#a93838}.bpa-feedback h3{margin-top:0}
.bpa-results-page{max-width:1050px}.bpa-score-hero{text-align:center;background:linear-gradient(135deg,#1769e8,#7155dc);color:#fff;border-radius:25px;padding:40px}.bpa-score-hero .eyebrow{color:#dce5ff}.bpa-score-hero h1{font-size:2.6rem}.bpa-score-ring{width:190px;height:190px;border-radius:50%;margin:25px auto;background:rgba(255,255,255,.16);border:14px solid rgba(255,255,255,.65);display:grid;place-items:center}.bpa-score-ring strong,.bpa-score-ring span{display:block}.bpa-score-ring strong{font-size:3rem}.bpa-review-card{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px}.bpa-result-question{display:grid;grid-template-columns:45px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.bpa-result-question>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#edf2ff}.bpa-result-question.correct>span{background:#e9f8f0;color:#207854}.bpa-result-question.incorrect>span{background:#fff0f0;color:#ad3535}.bpa-result-question small{display:block;color:var(--muted);margin-top:5px}.bpa-result-question p{color:#576174}
.bpa-admin-page{max-width:1500px}.bpa-admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.bpa-admin-stats article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.bpa-admin-stats span,.bpa-admin-stats strong{display:block}.bpa-admin-stats span{color:var(--muted)}.bpa-admin-stats strong{font-size:2rem;margin-top:5px}.bpa-admin-two{display:grid;grid-template-columns:390px 1fr;gap:20px;align-items:start}.bpa-admin-card-list{display:grid;gap:12px}.bpa-admin-comp-card,.bpa-admin-resource{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.bpa-admin-comp-card>div:nth-child(2){display:flex;gap:8px}.bpa-admin-comp-card span{padding:6px 8px;border-radius:999px;background:#edf2ff;font-size:.7rem}.bpa-admin-comp-card .button{grid-column:1/-1}.bpa-admin-comp-card.inactive{opacity:.55}.bpa-admin-resource{grid-template-columns:48px 1fr auto}.bpa-admin-resource>span{width:48px;height:48px;border-radius:14px;background:#edf2ff;display:grid;place-items:center;font-weight:900}.bpa-admin-resource strong,.bpa-admin-resource small{display:block}.bpa-admin-resource small{color:var(--muted)}.form-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:1200px){.bpa-dashboard-top,.bpa-competition-workspace,.bpa-admin-two{grid-template-columns:1fr}.bpa-stat-row{grid-template-columns:repeat(3,1fr)}.bpa-dashboard-lower{grid-template-columns:1fr 1fr}.bpa-competition-grid{grid-template-columns:repeat(2,1fr)}.bpa-book-shelf{grid-template-columns:repeat(2,1fr)}.bpa-category-row{grid-template-columns:repeat(3,1fr)}.bpa-library-hero{grid-template-columns:160px 1fr}.bpa-library-mountain{display:none}}
@media(max-width:800px){.bpa-dashboard-top,.bpa-compare-grid,.bpa-dashboard-lower,.bpa-stat-row,.bpa-competition-grid,.bpa-mode-grid,.bpa-radio-grid,.bpa-radio-grid.two,.bpa-library-filter,.bpa-book-shelf,.bpa-category-row,.bpa-compete-summary,.bpa-admin-stats{grid-template-columns:1fr}.bpa-wizard-heading{display:block}.bpa-wizard-progress{margin-top:15px}.bpa-library-hero{grid-template-columns:1fr}.bpa-featured-cover{width:120px;height:160px}.bpa-full-leader-row{grid-template-columns:30px 40px 1fr auto}.bpa-full-leader-row em{display:none}.bpa-test-shell>header{grid-template-columns:1fr 1fr}.bpa-test-shell>header>a{display:none}.bpa-test-shell>header>div:nth-child(2){text-align:left}.bpa-admin-two{grid-template-columns:1fr}}


/* Cyber Cave Portal 1.6.1 BPA recovery */
.bpa-recovery-page{max-width:900px}
.bpa-recovery-card{
  margin-top:40px;
  padding:38px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:0 18px 44px rgba(21,35,62,.1)
}
.bpa-recovery-card h1{font-size:2.5rem;margin:7px 0 12px}
.bpa-recovery-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}


/* Cyber Cave Portal 1.6.2 safe BPA loader */
.bpa-recovery-card.success-card{
  border-color:#bee8d5;
  background:linear-gradient(135deg,#ffffff,#eefbf5)
}
.bpa-recovery-card.success-card h1{color:#217a59}
.bpa-recovery-card .alert small{opacity:.8}


/* Cyber Cave Portal 1.6.3 BPA schema-loader fix */
.bpa-recovery-card .schema-loader-note{
  margin-top:16px;
  padding:12px 14px;
  border-radius:13px;
  background:#edf2ff;
  color:#315fcb;
  font-weight:800;
}


/* Cyber Cave Portal 1.6.4 BPA recursion fix */
.bpa-recovery-card .recursion-fix-note{
  margin-top:14px;
  color:#217a59;
  font-weight:800;
}


/* Cyber Cave Portal 2.0 fresh DreamHost deployment */
.cyber-login .ambient-panel{
  background:
    radial-gradient(circle at 18% 20%,rgba(89,120,255,.38),transparent 28%),
    radial-gradient(circle at 80% 76%,rgba(128,70,220,.35),transparent 30%),
    linear-gradient(145deg,#101a33,#19254a 56%,#25194b);
}
.cyber-login .ambient-panel h1{font-size:clamp(3rem,6vw,5.6rem);letter-spacing:-.045em}
.cyber-login .ambient-panel .eyebrow{color:#a9b8ff}
.cyber-login .form-card{border-radius:24px}

/* Cyber Cave Portal 2.1.0 — Classroom records */
.classroom-onboarding-prompt{display:grid;grid-template-columns:58px 1fr auto;gap:18px;align-items:center;padding:22px 24px;margin-bottom:22px;border:1px solid #d8cff8;border-radius:22px;background:linear-gradient(120deg,#faf8ff,#eef4ff)}
.onboarding-icon{width:56px;height:56px;border-radius:17px;background:linear-gradient(135deg,#6447db,#1769e8);color:#fff;display:grid;place-items:center;font-size:1.6rem}.classroom-onboarding-prompt h2{margin:2px 0 5px}.classroom-onboarding-prompt p{margin:0;color:var(--muted)}
.classroom-settings-summary{max-width:980px}.classroom-settings-hero{display:flex;justify-content:space-between;gap:20px;padding:26px;border:1px solid var(--line);border-radius:22px 22px 0 0;background:linear-gradient(120deg,#fff,#f4f1ff)}.classroom-settings-hero h2{font-size:2rem;margin:4px 0}.classroom-settings-hero p{margin:0;color:var(--muted)}.setup-status{padding:8px 12px;border-radius:999px;font-size:.76rem;font-weight:900;height:max-content}.setup-status.complete{background:#e9f8f0;color:#247657}.setup-status.incomplete{background:#fff3df;color:#9e6715}.classroom-summary-grid{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-top:0}.classroom-summary-grid article{padding:20px 24px;border-bottom:1px solid var(--line)}.classroom-summary-grid article.sessions{grid-column:1/-1}.classroom-summary-grid article>span{display:block;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.classroom-summary-grid article>strong{display:block;margin-top:6px}.classroom-summary-session{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f5}.classroom-settings-actions{display:flex;gap:10px;padding:20px 24px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 22px 22px}.classroom-future-note{display:grid;grid-template-columns:46px 1fr;gap:12px;padding:18px;margin-top:16px;border-radius:16px;background:#eef7ff;color:#315f8f}.classroom-future-note span{width:42px;height:42px;border-radius:12px;background:#dcecff;display:grid;place-items:center}.classroom-future-note p{margin:4px 0 0;color:#657c95}
.classroom-wizard-shell{max-width:1300px;margin:auto;padding:30px}.classroom-wizard-header{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;margin-bottom:22px}.classroom-wizard-header h1{font-size:2.5rem;margin:3px 0}.classroom-wizard-header p{margin:0;color:var(--muted)}.classroom-wizard-header>a{font-weight:800;color:var(--muted)}.classroom-wizard-header>span{font-size:.75rem;font-weight:800;color:var(--muted)}
.classroom-wizard-layout{display:grid;grid-template-columns:245px 1fr;gap:20px;align-items:start}.classroom-wizard-steps{display:grid;gap:7px;position:sticky;top:22px}.classroom-wizard-steps button{border:0;background:transparent;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-align:left;padding:11px;border-radius:14px;color:#7d8495;cursor:pointer}.classroom-wizard-steps i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7eaf0;font-style:normal;font-weight:900}.classroom-wizard-steps b,.classroom-wizard-steps small{display:block}.classroom-wizard-steps button.active{background:#f0ecff;color:#5f43ce}.classroom-wizard-steps button.active i{background:#6849df;color:#fff}.classroom-wizard-steps button.complete i{background:#e8f7ef;color:#277557}
.classroom-wizard-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 15px 38px rgba(21,35,62,.07);overflow:hidden}.classroom-wizard-panel{display:none;min-height:500px;padding:42px}.classroom-wizard-panel.active{display:block}.classroom-wizard-panel h2{font-size:2.2rem;margin:5px 0 10px}.wizard-lead{max-width:760px;color:var(--muted);font-size:1.03rem;line-height:1.65}.wizard-hero-icon{width:78px;height:78px;border-radius:24px;background:linear-gradient(135deg,#6042d5,#1769e8);display:grid;place-items:center;color:#fff;font-size:2.2rem;margin-bottom:28px}.wizard-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.wizard-benefit-grid article{padding:20px;border:1px solid var(--line);border-radius:18px}.wizard-benefit-grid span{color:#6849df;font-weight:900}.wizard-benefit-grid strong{display:block;margin:12px 0 5px}.wizard-benefit-grid p{margin:0;color:var(--muted)}
.wizard-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}.wizard-form-grid.three{grid-template-columns:repeat(3,1fr)}.wizard-form-grid.four{grid-template-columns:repeat(4,1fr)}.wizard-form-grid label,.session-setup-card>label{display:grid;gap:7px;font-weight:800}.wizard-form-grid label.wide{grid-column:1/-1}.wizard-info-callout{display:grid;grid-template-columns:45px 1fr;gap:12px;margin-top:28px;padding:17px;border-radius:16px;background:#eef7ff;color:#315f8f}.wizard-info-callout>span{width:42px;height:42px;border-radius:12px;background:#dcecff;display:grid;place-items:center}.wizard-info-callout p{margin:4px 0 0;color:#657c95}.session-builder{display:grid;gap:16px;margin-top:26px}.session-setup-card{padding:22px;border:1px solid var(--line);border-radius:18px}.session-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.session-card-head strong,.session-card-head small{display:block}.session-card-head small{color:var(--muted);margin-top:3px}.wizard-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.wizard-review-grid article{padding:18px;border:1px solid var(--line);border-radius:16px}.wizard-review-grid article.wide{grid-column:1/-1}.wizard-review-grid span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.wizard-review-grid strong{display:block;margin-top:7px}.wizard-review-grid [data-review-sessions]{display:grid;gap:8px;margin-top:8px}.classroom-wizard-actions{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1px solid var(--line);background:#fafbfe}.classroom-wizard-actions>div{display:flex;align-items:center;gap:14px}.classroom-wizard-actions [data-wizard-counter]{font-size:.75rem;color:var(--muted);font-weight:800}
@media(max-width:900px){.classroom-onboarding-prompt{grid-template-columns:1fr}.classroom-wizard-header{grid-template-columns:1fr}.classroom-wizard-layout{grid-template-columns:1fr}.classroom-wizard-steps{position:static;grid-template-columns:repeat(5,1fr)}.classroom-wizard-steps button{grid-template-columns:1fr;text-align:center}.classroom-wizard-steps button span{display:none}.classroom-wizard-steps i{margin:auto}.wizard-benefit-grid,.wizard-form-grid,.wizard-form-grid.three,.wizard-form-grid.four,.wizard-review-grid,.classroom-summary-grid{grid-template-columns:1fr}.wizard-review-grid article.wide,.classroom-summary-grid article.sessions{grid-column:auto}}

/* Cyber Cave Portal 2.1.1 — classroom startup recovery */
.bpa-recovery-card.success-card{border-color:#bee8d5;background:linear-gradient(135deg,#fff,#eefbf5)}


/* Cyber Cave Portal 2.2.0 — Student onboarding */
.student-roster-prompt{background:linear-gradient(120deg,#f7fbff,#eef8f4);border-color:#cce5dc}
.student-onboarding-shell{max-width:1320px;margin:auto;padding:30px}.student-onboarding-header{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;margin-bottom:22px}.student-onboarding-header>a{font-weight:800;color:var(--muted)}.student-onboarding-header h1{font-size:2.5rem;margin:3px 0}.student-onboarding-header p{margin:0;color:var(--muted)}.student-onboarding-header>span{font-size:.75rem;font-weight:800;color:var(--muted)}
.student-onboarding-layout{display:grid;grid-template-columns:245px 1fr;gap:20px;align-items:start}.student-onboarding-steps{display:grid;gap:7px;position:sticky;top:22px}.student-onboarding-steps button{border:0;background:transparent;display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-align:left;padding:11px;border-radius:14px;color:#7d8495;cursor:pointer}.student-onboarding-steps i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7eaf0;font-style:normal;font-weight:900}.student-onboarding-steps b,.student-onboarding-steps small{display:block}.student-onboarding-steps button.active{background:#f0ecff;color:#5f43ce}.student-onboarding-steps button.active i{background:#6849df;color:#fff}.student-onboarding-steps button.complete i{background:#e8f7ef;color:#277557}
.student-onboarding-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 15px 38px rgba(21,35,62,.07);overflow:hidden}.student-onboarding-panel{display:none;min-height:500px;padding:42px}.student-onboarding-panel.active{display:block}.student-onboarding-panel h2{font-size:2.2rem;margin:5px 0 10px}
.student-method-grid,.student-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.student-method-grid input,.student-account-grid input{position:absolute;opacity:0}.student-method-grid label>span,.student-account-grid label>span{display:grid;grid-template-columns:58px 1fr;gap:15px;padding:24px;border:1px solid var(--line);border-radius:19px;cursor:pointer}.student-method-grid input:checked+span,.student-account-grid input:checked+span{border:2px solid #6849df;background:#f8f6ff}.student-method-grid i,.student-account-grid i{width:56px;height:56px;border-radius:17px;background:#eee8ff;color:#6243d4;display:grid;place-items:center;font-size:1.6rem;font-style:normal}.student-method-grid b,.student-method-grid small,.student-account-grid b,.student-account-grid small{display:block}.student-method-grid b,.student-account-grid b{font-size:1.1rem}.student-method-grid small,.student-account-grid small{color:var(--muted);margin-top:6px;line-height:1.45}
.student-csv-panel{margin-top:25px}.csv-drop-card{display:grid;grid-template-columns:64px 1fr;gap:15px;padding:24px;border:2px dashed #cdd5e5;border-radius:20px;background:#fafbfe;position:relative}.csv-drop-card>span{width:60px;height:60px;border-radius:18px;background:#edf2ff;color:#315fcb;display:grid;place-items:center;font-size:1.8rem}.csv-drop-card h3{margin:3px 0}.csv-drop-card p{margin:0;color:var(--muted)}.csv-drop-card input{grid-column:1/-1}.student-csv-panel>.button{margin-top:12px}.csv-column-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.csv-column-list span,.csv-column-list strong{padding:6px 9px;border-radius:999px;background:#f0f3f8;font-size:.72rem}.csv-column-list strong{background:#e8e3fb;color:#6048c7}
.student-placement-summary{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:14px;margin-top:28px}.student-placement-summary article{padding:20px;border:1px solid var(--line);border-radius:17px}.student-placement-summary span,.student-placement-summary strong{display:block}.student-placement-summary span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.student-placement-summary strong{font-size:1.15rem;margin-top:7px}.student-placement-summary select{margin-top:8px;width:100%}
.student-password-option{margin-top:20px;padding:20px;border-radius:17px;background:#f7f8fc}.student-password-option label{display:grid;gap:7px;font-weight:800}.student-password-option p{margin:9px 0 0;color:var(--muted);font-size:.85rem}
.student-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.student-review-grid article{padding:18px;border:1px solid var(--line);border-radius:16px}.student-review-grid span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.student-review-grid strong{display:block;margin-top:7px}.student-onboarding-actions{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1px solid var(--line);background:#fafbfe}.student-onboarding-actions>div{display:flex;align-items:center;gap:14px}.student-onboarding-actions [data-student-counter]{font-size:.75rem;color:var(--muted);font-weight:800}
.student-onboarding-complete{max-width:1100px}.onboarding-success-hero{display:grid;grid-template-columns:75px 1fr;gap:18px;align-items:center;padding:28px;border-radius:23px;background:linear-gradient(135deg,#eefbf5,#f4f2ff);border:1px solid #cfe6db}.onboarding-success-hero>span{width:70px;height:70px;border-radius:22px;background:#2f9b72;color:#fff;display:grid;place-items:center;font-size:2rem}.onboarding-success-hero h1{font-size:2.3rem;margin:5px 0}.onboarding-success-hero p{margin:0;color:var(--muted)}.student-credentials-card{margin-top:20px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:22px}.student-credentials-card .card-heading{display:flex;justify-content:space-between;align-items:center}.student-credentials-card h2{margin:3px 0}.student-credentials-card>p{color:var(--muted)}.student-credentials-card code{font-size:.9rem;background:#f3f5fa;padding:5px 7px;border-radius:7px}
@media(max-width:900px){.student-onboarding-header{grid-template-columns:1fr}.student-onboarding-layout{grid-template-columns:1fr}.student-onboarding-steps{position:static;grid-template-columns:repeat(5,1fr)}.student-onboarding-steps button{grid-template-columns:1fr;text-align:center}.student-onboarding-steps button span{display:none}.student-onboarding-steps i{margin:auto}.student-method-grid,.student-account-grid,.student-placement-summary,.student-review-grid{grid-template-columns:1fr}}
@media print{.app-sidebar,.student-onboarding-complete .action-row,.student-credentials-card .button{display:none!important}.app-main{margin:0!important}.student-onboarding-complete{max-width:none}}


/* Cyber Cave Portal 2.2.1 — Responsive student experience */

/* Fix option-card copy placement at full desktop widths. */
.student-method-grid label>span,
.student-account-grid label>span{
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:start;
}
.student-method-grid label>span>i,
.student-account-grid label>span>i{
  grid-row:1 / span 2;
}
.student-method-grid label>span>b,
.student-account-grid label>span>b{
  grid-column:2;
  grid-row:1;
  min-width:0;
}
.student-method-grid label>span>small,
.student-account-grid label>span>small{
  grid-column:2;
  grid-row:2;
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
}

/* Let all profile pieces shrink instead of forcing overflow. */
.student-profile-shell,
.student-profile-workspace,
.profile-banner,
.profile-banner-copy,
.profile-title-row,
.profile-card-grid,
.profile-info-card,
.profile-list-card,
.profile-edit-card{
  min-width:0;
}
.profile-title-row{flex-wrap:wrap}
.profile-title-row h1{
  max-width:100%;
  overflow-wrap:anywhere;
  line-height:1.05;
}
.profile-quick-actions a,
.profile-quick-actions button{
  width:100%;
  min-width:0;
  white-space:normal;
}

/* Laptop / smaller desktop: collapse the global sidebar earlier. */
@media(max-width:1180px){
  .app-sidebar{
    width:76px;
    padding:20px 10px;
  }
  .sidebar-brand span:last-child,
  .sidebar-nav strong,
  .sidebar-footer{
    display:none;
  }
  .sidebar-brand{
    padding-left:8px;
    justify-content:center;
  }
  .sidebar-nav a{
    justify-content:center;
    padding-left:10px;
    padding-right:10px;
  }
  .app-main{
    margin-left:76px;
  }

  .workspace-shell{
    padding-left:24px;
    padding-right:24px;
  }

  .student-profile-shell{
    grid-template-columns:250px minmax(0,1fr);
  }
  .student-directory-panel{
    padding:22px 14px;
  }
  .student-profile-workspace{
    padding:22px;
  }

  .profile-banner{
    grid-template-columns:110px minmax(0,1fr);
    gap:18px;
    padding:22px;
  }
  .profile-banner-photo{
    width:110px;
    height:132px;
  }
  .profile-title-row h1{
    font-size:clamp(1.9rem,4vw,2.45rem);
  }
  .profile-quick-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .student-onboarding-shell{
    padding:24px;
  }
  .student-onboarding-layout{
    grid-template-columns:210px minmax(0,1fr);
  }
  .student-onboarding-panel{
    padding:34px;
  }
}

/* Tablet / narrow browser: directory becomes a top strip rather than
   consuming a permanent left column. */
@media(max-width:980px){
  .student-profile-shell{
    display:block;
    min-height:0;
  }
  .student-directory-panel{
    position:relative;
    top:auto;
    height:auto;
    width:auto;
    max-height:none;
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:18px;
    overflow:visible;
  }
  .student-directory-heading{
    margin-bottom:12px;
  }
  .student-directory-heading h2{
    font-size:1.5rem;
  }
  .year-switcher{
    max-width:300px;
  }
  .student-search-form{
    max-width:500px;
  }
  .student-directory-list{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(220px,270px);
    grid-template-columns:none;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    max-height:none;
    padding-bottom:7px;
    scroll-snap-type:x proximity;
  }
  .student-list-item{
    scroll-snap-align:start;
    border:1px solid var(--line);
    background:#fff;
  }

  .student-profile-workspace{
    padding:18px;
  }
  .profile-banner{
    grid-template-columns:96px minmax(0,1fr);
    gap:16px;
    padding:20px;
  }
  .profile-banner-photo{
    width:96px;
    height:112px;
    border-radius:18px;
  }
  .profile-banner-details{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-quick-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-tabs{
    gap:22px;
    padding-left:4px;
    padding-right:4px;
    scrollbar-width:thin;
  }
  .profile-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-info-card dl{
    grid-template-columns:95px minmax(0,1fr);
  }

  .student-onboarding-header{
    grid-template-columns:1fr auto;
  }
  .student-onboarding-header>a{
    grid-column:1/-1;
  }
  .student-onboarding-layout{
    grid-template-columns:1fr;
  }
  .student-onboarding-steps{
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
  }
  .student-onboarding-steps button{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
    min-width:0;
    padding:10px 6px;
  }
  .student-onboarding-steps button span{
    min-width:0;
  }
  .student-onboarding-steps button small{
    display:none;
  }
  .student-onboarding-panel{
    min-height:440px;
    padding:32px;
  }
  .student-method-grid,
  .student-account-grid{
    grid-template-columns:1fr 1fr;
  }
  .student-placement-summary{
    grid-template-columns:1fr 1fr;
  }
  .student-placement-summary article:last-child{
    grid-column:1/-1;
  }
}

/* Large phone / compact tablet. */
@media(max-width:720px){
  .app-sidebar{
    width:64px;
    padding:16px 7px;
  }
  .app-main{
    margin-left:64px;
  }
  .sidebar-brand{
    padding:3px 3px 20px;
  }
  .brand-mark{
    width:36px;
    height:36px;
  }
  .sidebar-nav a{
    padding:11px 6px;
  }

  .student-directory-panel{
    padding:14px;
  }
  .student-directory-heading{
    align-items:flex-start;
  }
  .student-add-button{
    flex:0 0 auto;
  }
  .student-directory-list{
    grid-auto-columns:minmax(190px,82vw);
  }

  .student-profile-workspace{
    padding:12px;
  }
  .profile-banner{
    grid-template-columns:78px minmax(0,1fr);
    gap:13px;
    padding:16px;
    border-radius:20px;
  }
  .profile-banner-photo{
    width:78px;
    height:90px;
    border-radius:15px;
    font-size:1.8rem;
  }
  .profile-title-row{
    align-items:flex-start;
    gap:8px;
  }
  .profile-title-row h1{
    font-size:clamp(1.55rem,7vw,2rem);
    margin-top:2px;
  }
  .profile-banner-copy>p{
    margin:5px 0;
    font-size:.82rem;
  }
  .profile-banner-details{
    grid-template-columns:1fr;
    gap:7px;
    margin-top:12px;
  }
  .profile-quick-actions{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .profile-quick-actions a,
  .profile-quick-actions button{
    padding:10px 8px;
    font-size:.82rem;
  }

  .profile-tabs{
    margin-top:10px;
    gap:18px;
  }
  .profile-tabs a{
    padding:14px 2px 12px;
    font-size:.85rem;
  }
  .profile-card-grid,
  .profile-two-column,
  .student-report-grid{
    grid-template-columns:1fr;
  }
  .profile-info-card,
  .profile-edit-card,
  .profile-list-card{
    padding:18px;
  }
  .profile-info-card dl{
    grid-template-columns:1fr;
    gap:4px;
  }
  .profile-info-card dt{
    margin-top:10px;
    font-size:.76rem;
    font-weight:800;
  }
  .profile-info-card dd{
    padding-bottom:4px;
  }

  .student-onboarding-shell{
    padding:16px 12px 28px;
  }
  .student-onboarding-header{
    grid-template-columns:1fr;
    gap:8px;
  }
  .student-onboarding-header h1{
    font-size:clamp(2rem,9vw,2.6rem);
  }
  .student-onboarding-header>span{
    justify-self:start;
  }
  .student-onboarding-steps{
    gap:5px;
  }
  .student-onboarding-steps button{
    padding:8px 3px;
  }
  .student-onboarding-steps button i{
    width:32px;
    height:32px;
  }
  .student-onboarding-steps button span{
    display:none;
  }
  .student-onboarding-card{
    border-radius:18px;
  }
  .student-onboarding-panel{
    min-height:0;
    padding:24px 18px;
  }
  .student-onboarding-panel h2{
    font-size:clamp(1.7rem,8vw,2.1rem);
  }
  .wizard-hero-icon{
    width:60px;
    height:60px;
    margin-bottom:20px;
  }
  .student-method-grid,
  .student-account-grid,
  .student-placement-summary,
  .student-review-grid{
    grid-template-columns:1fr;
    gap:11px;
  }
  .student-method-grid label>span,
  .student-account-grid label>span{
    padding:18px;
    grid-template-columns:48px minmax(0,1fr);
    gap:12px;
  }
  .student-method-grid i,
  .student-account-grid i{
    width:46px;
    height:46px;
    border-radius:14px;
  }
  .student-placement-summary article:last-child{
    grid-column:auto;
  }
  .csv-drop-card{
    grid-template-columns:48px 1fr;
    padding:18px;
  }
  .csv-drop-card>span{
    width:46px;
    height:46px;
    border-radius:14px;
  }
  .student-onboarding-actions{
    padding:14px;
    gap:10px;
  }
  .student-onboarding-actions>div{
    margin-left:auto;
    gap:8px;
  }
  .student-onboarding-actions [data-student-counter]{
    display:none;
  }
}

/* Very narrow phones. */
@media(max-width:480px){
  .app-sidebar{
    position:static;
    width:auto;
    height:auto;
    flex-direction:row;
    align-items:center;
    padding:8px 10px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .sidebar-brand{
    padding:0;
  }
  .sidebar-nav{
    display:flex;
    gap:3px;
    margin-left:auto;
    overflow-x:auto;
  }
  .sidebar-nav a{
    flex:0 0 auto;
    padding:8px;
  }
  .app-main{
    margin-left:0;
  }

  .student-directory-panel{
    position:static;
  }
  .student-directory-heading h2{
    font-size:1.35rem;
  }
  .student-profile-workspace{
    padding:10px;
  }
  .profile-banner{
    grid-template-columns:1fr;
  }
  .profile-banner-photo{
    width:76px;
    height:76px;
  }
  .profile-quick-actions{
    grid-template-columns:1fr;
  }
  .profile-banner-details{
    grid-template-columns:1fr 1fr;
  }
  .profile-title-row h1{
    font-size:1.65rem;
  }

  .student-onboarding-shell{
    padding:12px 8px 22px;
  }
  .student-onboarding-steps{
    grid-template-columns:repeat(5,1fr);
  }
  .student-onboarding-panel{
    padding:20px 14px;
  }
  .student-onboarding-actions{
    flex-wrap:wrap;
  }
  .student-onboarding-actions>div{
    width:100%;
    justify-content:flex-end;
  }
}


/* Cyber Cave Portal 2.2.2 — Student profile component reflow */

/* Names should wrap between words, never split a surname letter-by-letter. */
.profile-title-row h1{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none;
  min-width:0;
}

/* Definition-list content is presentation data, not a rigid two-column table. */
.profile-info-card dd,
.profile-info-card dt{
  min-width:0;
}
.profile-info-card dd{
  word-break:normal;
  overflow-wrap:anywhere;
  line-height:1.4;
}

/*
 * A student profile loses substantial usable width to both the application
 * navigation and student directory. Reflow the PROFILE before the entire
 * viewport reaches tablet size.
 */
@media(max-width:1500px) and (min-width:981px){
  .student-profile-shell{
    grid-template-columns:280px minmax(0,1fr);
  }
  .student-directory-panel{
    padding:24px 16px;
  }
  .student-profile-workspace{
    padding:22px;
  }

  /* Hero becomes identity row + full-width actions row. */
  .profile-banner{
    grid-template-columns:120px minmax(0,1fr);
    gap:20px;
    padding:24px;
  }
  .profile-banner-photo{
    width:120px;
    height:140px;
    border-radius:20px;
  }
  .profile-banner-copy{
    align-self:center;
  }
  .profile-title-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    column-gap:10px;
    row-gap:8px;
  }
  .profile-title-row h1{
    flex:0 1 auto;
    width:auto;
    max-width:100%;
    font-size:clamp(2rem,3.2vw,2.55rem);
    line-height:1.04;
  }
  .profile-title-row span{
    flex:0 0 auto;
  }
  .profile-banner-copy>p{
    margin:8px 0;
  }
  .profile-banner-details{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:18px;
    gap:12px;
  }

  .profile-quick-actions{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-top:2px;
  }
  .profile-quick-actions form{
    min-width:0;
  }
  .profile-quick-actions a,
  .profile-quick-actions button{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 8px;
    font-size:.84rem;
  }

  /* 3 cards is too narrow once both left rails are visible. */
  .profile-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }

  /*
   * Stack labels over values in compact profile cards. This gives email,
   * addresses, pronouns, etc. the full width of the card.
   */
  .profile-info-card dl{
    display:block;
  }
  .profile-info-card dt{
    margin-top:14px;
    margin-bottom:3px;
    font-size:.74rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.045em;
  }
  .profile-info-card dt:first-child{
    margin-top:0;
  }
  .profile-info-card dd{
    display:block;
    margin:0;
    font-size:.96rem;
  }

  .profile-info-card{
    padding:20px;
  }
  .profile-card-title{
    margin-bottom:15px;
  }
  .profile-card-title h3{
    font-size:1.05rem;
  }
}

/* Middle-width desktop: keep the two-column profile but make the hero lighter. */
@media(max-width:1280px) and (min-width:981px){
  .student-profile-shell{
    grid-template-columns:250px minmax(0,1fr);
  }
  .student-profile-workspace{
    padding:18px;
  }
  .profile-banner{
    grid-template-columns:100px minmax(0,1fr);
    gap:16px;
    padding:20px;
  }
  .profile-banner-photo{
    width:100px;
    height:116px;
  }
  .profile-title-row h1{
    font-size:clamp(1.8rem,3.15vw,2.2rem);
  }
  .profile-banner-details{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-quick-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* At tablet widths, retain the 2.2.1 top-directory behavior but improve hero. */
@media(max-width:980px){
  .profile-title-row h1{
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .profile-banner{
    grid-template-columns:96px minmax(0,1fr);
  }
  .profile-quick-actions{
    grid-column:1/-1;
  }
  .profile-info-card dl{
    display:block;
  }
  .profile-info-card dt{
    margin-top:13px;
    margin-bottom:3px;
    font-size:.74rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
  }
  .profile-info-card dt:first-child{
    margin-top:0;
  }
  .profile-info-card dd{
    display:block;
    margin:0;
  }
}

/* Phone hero: photo and identity first, actions below. */
@media(max-width:600px){
  .profile-banner{
    grid-template-columns:72px minmax(0,1fr);
  }
  .profile-banner-photo{
    width:72px;
    height:82px;
  }
  .profile-title-row h1{
    font-size:clamp(1.45rem,7vw,1.9rem);
  }
  .profile-banner-details{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-quick-actions{
    grid-template-columns:1fr 1fr;
  }
}

/* Very narrow phones get a simple single-column hero. */
@media(max-width:420px){
  .profile-banner{
    grid-template-columns:1fr;
  }
  .profile-banner-photo{
    width:72px;
    height:72px;
  }
  .profile-banner-details,
  .profile-quick-actions{
    grid-template-columns:1fr;
  }
}


/* Cyber Cave Portal 2.3.0 — BPA Prep teacher workflow */
.bpa-teacher-onboarding-banner{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px 24px;margin-bottom:18px;border:1px solid #d9d0fb;border-radius:20px;background:linear-gradient(120deg,#faf8ff,#eef4ff)}.bpa-teacher-onboarding-banner h2{margin:3px 0 5px}.bpa-teacher-onboarding-banner p{margin:0;color:var(--muted)}
.bpa-teacher-competition-list{max-width:1150px}.bpa-teacher-section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}.bpa-teacher-section-heading h2{font-size:2rem;margin:4px 0}.bpa-teacher-section-heading p{margin:0;color:var(--muted)}.bpa-teacher-competition-cards{display:grid;gap:13px}.bpa-teacher-competition-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px;background:#fff;border:1px solid var(--line);border-radius:19px}.bpa-teacher-competition-card.inactive{opacity:.55}.bpa-teacher-comp-icon{width:56px;height:56px;border-radius:17px;background:linear-gradient(135deg,#6243d6,#1769e8);color:#fff;display:grid;place-items:center;font-size:1.5rem}.bpa-teacher-comp-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.bpa-teacher-comp-title h3{margin:0;font-size:1.15rem}.bpa-teacher-comp-title span{padding:5px 8px;border-radius:999px;background:#e9f8f0;color:#237656;font-size:.68rem;font-weight:900}.bpa-teacher-comp-copy>p{margin:5px 0 9px;color:var(--muted)}.bpa-teacher-comp-stats{display:flex;gap:9px;flex-wrap:wrap}.bpa-teacher-comp-stats span{padding:6px 9px;border-radius:999px;background:#f2f4f8;font-size:.72rem;color:#687187}.bpa-teacher-comp-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.bpa-competition-wizard-shell{max-width:1320px;margin:auto;padding:30px}.bpa-teacher-wizard-header{display:grid;grid-template-columns:160px 1fr auto;gap:20px;align-items:center;margin-bottom:22px}.bpa-teacher-wizard-header>a{font-weight:800;color:var(--muted)}.bpa-teacher-wizard-header h1{font-size:2.5rem;margin:3px 0}.bpa-teacher-wizard-header p{margin:0;color:var(--muted)}.bpa-teacher-wizard-header>span{font-size:.75rem;font-weight:800;color:var(--muted)}
.bpa-teacher-wizard-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px;align-items:start}.bpa-teacher-wizard-steps{display:grid;gap:7px;position:sticky;top:22px}.bpa-teacher-wizard-steps button{border:0;background:transparent;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;text-align:left;padding:11px;border-radius:14px;color:#7d8495;cursor:pointer}.bpa-teacher-wizard-steps i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e7eaf0;font-style:normal;font-weight:900}.bpa-teacher-wizard-steps b,.bpa-teacher-wizard-steps small{display:block}.bpa-teacher-wizard-steps button.active{background:#f0ecff;color:#5f43ce}.bpa-teacher-wizard-steps button.active i{background:#6849df;color:#fff}.bpa-teacher-wizard-steps button.complete i{background:#e8f7ef;color:#277557}
.bpa-teacher-wizard-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 15px 38px rgba(21,35,62,.07);overflow:hidden}.bpa-teacher-panel{display:none;min-height:510px;padding:42px}.bpa-teacher-panel.active{display:block}.bpa-teacher-panel h2{font-size:2.2rem;margin:5px 0 10px}.bpa-objective-choice{margin-top:28px}.bpa-objective-choice input,.bpa-availability-grid input{position:absolute;opacity:0}.bpa-objective-choice label>span,.bpa-availability-grid label>span{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:18px;cursor:pointer}.bpa-objective-choice input:checked+span,.bpa-availability-grid input:checked+span{border:2px solid #6849df;background:#f8f6ff}.bpa-objective-choice i,.bpa-availability-grid i{width:50px;height:50px;border-radius:15px;background:#eee8ff;color:#6243d4;display:grid;place-items:center;font-style:normal;font-weight:900}.bpa-objective-choice b,.bpa-objective-choice small,.bpa-availability-grid b,.bpa-availability-grid small{display:block}.bpa-objective-choice small,.bpa-availability-grid small{margin-top:5px;color:var(--muted)}
.bpa-level-config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.bpa-level-config-grid article{padding:22px;border:1px solid var(--line);border-radius:19px}.bpa-level-config-grid article>span{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#6042d5,#1769e8);color:#fff;display:grid;place-items:center;font-weight:900}.bpa-level-config-grid h3{font-size:1.2rem}.bpa-level-config-grid label{display:grid;gap:7px;font-weight:800}.bpa-availability-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px;margin-top:28px}.bpa-assignment-note{padding:22px;border-radius:18px;background:#f6f8fc}.bpa-assignment-note p{color:var(--muted);line-height:1.5}.bpa-teacher-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.bpa-teacher-review-grid article{padding:18px;border:1px solid var(--line);border-radius:16px}.bpa-teacher-review-grid span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.bpa-teacher-review-grid strong{display:block;margin-top:7px}.bpa-teacher-wizard-actions{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1px solid var(--line);background:#fafbfe}.bpa-teacher-wizard-actions>div{display:flex;align-items:center;gap:14px}.bpa-teacher-wizard-actions [data-bpa-teacher-counter]{font-size:.75rem;color:var(--muted);font-weight:800}
@media(max-width:1000px){.bpa-teacher-wizard-header{grid-template-columns:1fr}.bpa-teacher-wizard-layout{grid-template-columns:1fr}.bpa-teacher-wizard-steps{position:static;grid-template-columns:repeat(5,1fr)}.bpa-teacher-wizard-steps button{grid-template-columns:1fr;text-align:center;justify-items:center}.bpa-teacher-wizard-steps button span{display:none}.bpa-teacher-competition-card{grid-template-columns:54px minmax(0,1fr)}.bpa-teacher-comp-actions{grid-column:1/-1;justify-content:flex-start}.bpa-level-config-grid{grid-template-columns:1fr 1fr}.bpa-availability-grid{grid-template-columns:1fr}}
@media(max-width:650px){.bpa-competition-wizard-shell{padding:16px 10px}.bpa-teacher-panel{min-height:0;padding:24px 18px}.bpa-level-config-grid,.bpa-teacher-review-grid{grid-template-columns:1fr}.bpa-teacher-section-heading,.bpa-teacher-onboarding-banner{display:block}.bpa-teacher-section-heading .button,.bpa-teacher-onboarding-banner .button{margin-top:14px}.bpa-teacher-competition-card{grid-template-columns:1fr}.bpa-teacher-comp-actions{display:grid;grid-template-columns:1fr 1fr}.bpa-teacher-comp-icon{width:48px;height:48px}}


/* Cyber Cave Portal 2.3.1 — Global BPA catalog + classroom resources */
.bpa-resource-scope-note{padding:15px 16px;margin-bottom:14px;border-radius:14px;background:#eef7ff;color:#315f8f}.bpa-resource-scope-note p{margin:4px 0 0;color:#657c95}.global-resource-lock{padding:6px 9px;border-radius:999px;background:#eee9ff;color:#6248ca;font-size:.7rem;font-weight:900}


/* Cyber Cave Portal 2.4.0 — Kiosk experience refresh */
.kiosk-page{padding:0;min-height:100vh}
.kiosk-background-layer{transform:scale(1.025);transition:opacity 3.4s ease-in-out,transform 12s linear}
.kiosk-background-layer.is-visible{opacity:1;transform:scale(1)}
.kiosk-overlay{background:radial-gradient(circle at top,rgba(34,49,94,.18),rgba(10,18,35,.42) 34%,rgba(8,14,28,.86) 100%)}
.kiosk-interface{min-height:100vh;padding:24px 22px 84px;display:flex;align-items:flex-start;justify-content:center}
.kiosk-shell{width:min(1180px,100%)}
.kiosk-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:18px;margin-bottom:14px}
.kiosk-top-side{min-height:1px}
.kiosk-top-center{display:grid;justify-items:center;gap:10px}
.kiosk-top .clock{font-size:clamp(2.8rem,5vw,4.4rem);font-weight:900;letter-spacing:-.04em;text-shadow:0 12px 30px rgba(0,0,0,.22)}
.session-picker{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0}
.session-choice{padding:12px 18px;min-width:132px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(18px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.session-choice.active{box-shadow:0 10px 22px rgba(255,255,255,.18)}
.out-badge{min-width:112px;justify-self:end;gap:4px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(18px);box-shadow:0 12px 26px rgba(0,0,0,.14)}
.out-badge span{font-size:.78rem;font-weight:800;letter-spacing:.08em}
.out-badge strong{font-size:1.35rem}
.kiosk-message{max-width:860px;margin:24px auto 18px;text-align:center}
.kiosk-message h1{font-size:clamp(2.6rem,5vw,5rem);line-height:1.02;margin:0 0 10px;font-weight:900;letter-spacing:-.035em;text-shadow:0 16px 28px rgba(0,0,0,.24)}
.kiosk-message p{margin:0;font-size:1.08rem;color:rgba(255,255,255,.9);font-weight:600}
.kiosk-status-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:min(100%,980px);margin:0 auto 22px}
.kiosk-stat-chip{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(18px);box-shadow:0 16px 30px rgba(0,0,0,.12)}
.kiosk-stat-chip span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.72)}
.kiosk-stat-chip strong{font-size:1.08rem;color:#fff}
.kiosk-stat-chip.emphasis{background:linear-gradient(135deg,rgba(55,136,103,.44),rgba(39,90,105,.34))}
.kiosk-home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,188px));justify-content:center;gap:18px;width:min(100%,1080px);margin:0 auto}
.kiosk-student-tile{border:1px solid rgba(255,255,255,.24);background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.12));backdrop-filter:blur(20px);border-radius:28px;padding:10px;display:flex;flex-direction:column;gap:12px;color:#fff;box-shadow:0 22px 42px rgba(5,12,26,.2);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;text-align:left}
.kiosk-student-tile:hover{transform:translateY(-4px);box-shadow:0 26px 48px rgba(5,12,26,.26);border-color:rgba(255,255,255,.38)}
.kiosk-student-tile.out{background:linear-gradient(180deg,rgba(230,138,63,.24),rgba(255,255,255,.12));border-color:rgba(255,219,175,.42)}
.tile-photo-shell{position:relative;height:226px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.08))}
.tile-photo,.tile-photo-placeholder{width:100%;height:100%;display:block}
.tile-photo{object-fit:cover;object-position:center top}
.tile-photo-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#dce6ff,#c8d6ff);color:#182033;font-weight:900;font-size:2.25rem}
.tile-status{position:absolute;left:12px;top:12px;padding:8px 10px;border-radius:999px;background:rgba(230,138,63,.94);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.tile-name{display:grid;gap:4px;justify-items:center;text-align:center;padding:0 6px 4px}
.tile-name strong{font-size:1.14rem;line-height:1.1;font-weight:900;text-shadow:0 4px 10px rgba(0,0,0,.18)}
.tile-name span{font-size:.86rem;color:rgba(255,255,255,.75)}
.kiosk-action-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,420px));justify-content:center;gap:24px;width:min(100%,940px);margin:8px auto 0}
.kiosk-action-card{min-height:280px;padding:30px;border-radius:30px;border:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;color:#fff;cursor:pointer;box-shadow:0 24px 50px rgba(0,0,0,.18);transition:transform .18s ease,box-shadow .18s ease}
.kiosk-action-card:hover{transform:translateY(-4px);box-shadow:0 28px 56px rgba(0,0,0,.24)}
.kiosk-action-card.leave{background:linear-gradient(145deg,rgba(37,146,103,.94),rgba(32,92,94,.94))}
.kiosk-action-card.books{background:linear-gradient(145deg,rgba(66,103,224,.94),rgba(108,90,210,.94))}
.action-icon{font-size:3.2rem;line-height:1}
.kiosk-action-card strong{font-size:1.8rem;margin:18px 0 8px}
.kiosk-action-card small{font-size:1rem;line-height:1.45;color:rgba(255,255,255,.84)}
.kiosk-destination-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;width:min(100%,1120px);margin:8px auto 0}
.kiosk-destination-card{min-height:215px;border:1px solid rgba(255,255,255,.22);background:rgba(15,25,43,.46);backdrop-filter:blur(20px);border-radius:28px;padding:20px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;box-shadow:0 22px 42px rgba(6,12,24,.18);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.kiosk-destination-card:hover{transform:translateY(-4px);box-shadow:0 26px 48px rgba(6,12,24,.24);border-color:rgba(255,255,255,.36)}
.kiosk-destination-card.at-capacity{opacity:.84}
.dest-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:1.4rem;font-weight:900}
.kiosk-destination-card strong{font-size:1.2rem;line-height:1.15}
.kiosk-destination-card small{color:rgba(255,255,255,.78);line-height:1.4;min-height:42px}
.dest-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.dest-meta span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-size:.78rem;font-weight:800}
.teacher-options{left:20px;bottom:20px;background:rgba(8,15,28,.58);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(16px);box-shadow:0 16px 30px rgba(0,0,0,.16)}
.empty-state.glass{background:rgba(255,255,255,.12);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:26px}
.library-kiosk{width:min(100%,1220px)}
@media(max-width:980px){.kiosk-action-grid{grid-template-columns:1fr;max-width:520px}.kiosk-top{grid-template-columns:1fr}.kiosk-top-side{display:none}.out-badge{justify-self:center}.kiosk-status-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kiosk-interface{padding:18px 14px 78px}.kiosk-top .clock{font-size:2.6rem}.session-choice{min-width:120px;padding:10px 16px}.kiosk-home-grid{grid-template-columns:repeat(2,minmax(0,165px));gap:14px}.tile-photo-shell{height:196px}.kiosk-message{margin-top:18px}.kiosk-status-bar{grid-template-columns:1fr}.kiosk-destination-grid{grid-template-columns:1fr 1fr}.kiosk-destination-card{min-height:190px;padding:18px}.teacher-options{left:14px;bottom:14px}}
@media(max-width:560px){.kiosk-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.kiosk-student-tile{padding:8px;border-radius:24px}.tile-photo-shell{height:165px;border-radius:18px}.tile-name strong{font-size:1rem}.tile-name span{font-size:.78rem}.kiosk-destination-grid,.kiosk-action-grid{grid-template-columns:1fr}.kiosk-action-card{min-height:230px;padding:24px}.kiosk-message h1{font-size:2.4rem}}


/* Cyber Cave Portal 2.4.1 — kiosk visual simplification */
.kiosk-body .app-sidebar{display:none!important}
.kiosk-body main{width:100%;min-height:100vh}
.kiosk-body{background:#081226}
.kiosk-page{padding:0}
.kiosk-background-layer{background-size:cover;background-position:center center;filter:saturate(1.04) contrast(1.02);transform:scale(1.02);transition:opacity 4.8s ease-in-out,transform 18s ease}
.kiosk-background-layer.is-visible{opacity:1;transform:scale(1)}
.kiosk-overlay{background:linear-gradient(180deg,rgba(5,12,24,.26) 0%,rgba(5,12,24,.40) 48%,rgba(5,12,24,.62) 100%)}
.kiosk-shell{width:min(1140px,100%)}
.kiosk-top .clock{font-size:clamp(3.4rem,5.4vw,5rem);font-weight:900}
.out-badge{background:rgba(17,28,52,.40);border:1px solid rgba(255,255,255,.18)}
.kiosk-message{margin:32px auto 22px}
.kiosk-message h1{font-size:clamp(3rem,5.6vw,5.6rem);text-shadow:0 14px 26px rgba(0,0,0,.26)}
.kiosk-message p{font-size:1.08rem;color:rgba(255,255,255,.92)}
.kiosk-status-bar{display:none!important}
.kiosk-home-grid{grid-template-columns:repeat(auto-fit,minmax(180px,208px));gap:22px;max-width:980px}
.kiosk-student-tile{padding:12px;border-radius:30px;background:linear-gradient(180deg,rgba(16,28,54,.58),rgba(16,28,54,.42));border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 48px rgba(2,8,18,.24)}
.kiosk-student-tile:hover{border-color:rgba(255,255,255,.34)}
.tile-photo-shell{height:248px;border-radius:24px;background:linear-gradient(145deg,rgba(215,224,252,.98),rgba(189,203,242,.95))}
.tile-photo{object-fit:cover;object-position:center top}.tile-photo-placeholder{font-size:2.6rem;color:#132340}.tile-name strong{font-size:1.2rem}.tile-name span{font-size:.9rem;color:rgba(255,255,255,.78)}
.kiosk-action-grid{gap:26px}
.kiosk-action-card{min-height:300px;border-radius:32px;border-color:rgba(255,255,255,.16)}
.kiosk-destination-grid{grid-template-columns:repeat(auto-fit,minmax(180px,205px));gap:18px;max-width:1020px}
.kiosk-destination-card{min-height:220px;justify-content:flex-start;align-items:flex-start;gap:14px;padding:22px;background:linear-gradient(180deg,rgba(10,22,46,.72),rgba(10,22,46,.50));border:1px solid rgba(255,255,255,.16);box-shadow:0 22px 42px rgba(2,8,18,.24)}
.kiosk-destination-card strong{font-size:1.34rem;line-height:1.1;margin-top:8px}
.kiosk-destination-card small{margin-top:auto;font-size:.88rem;color:rgba(255,255,255,.70);min-height:auto}
.dest-icon{width:66px;height:66px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.10);display:grid;place-items:center}
.dest-icon svg{width:32px;height:32px;color:#fff;display:block}
.dest-meta{display:none!important}
.teacher-options{left:24px;bottom:24px;background:rgba(8,15,28,.44)}
.empty-state.glass{border-radius:28px}
@media(max-width:980px){.kiosk-home-grid{grid-template-columns:repeat(3,minmax(0,198px));justify-content:center}.kiosk-destination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.kiosk-top{grid-template-columns:1fr;justify-items:center}.out-badge{justify-self:center}.kiosk-home-grid{grid-template-columns:repeat(2,minmax(0,180px))}.kiosk-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-photo-shell{height:218px}.kiosk-message h1{font-size:2.8rem}}
@media(max-width:560px){.kiosk-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.kiosk-destination-grid,.kiosk-action-grid{grid-template-columns:1fr}.kiosk-destination-card{min-height:180px}.dest-icon{width:58px;height:58px}.dest-icon svg{width:28px;height:28px}}


/* Cyber Cave Portal 2.4.3 — guaranteed kiosk background fallback */
.kiosk-page{
  background-image:
    linear-gradient(180deg,rgba(5,12,24,.18),rgba(5,12,24,.42)),
    url('/assets/images/kiosk-backgrounds/kiosk-bg-1.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.kiosk-background-layer{background-color:transparent}


/* Cyber Cave Portal 2.5.0 — Student certifications & communication */
.student-record-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.student-record-summary article{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}.student-record-summary article.attention{background:#fff8e8;border-color:#f0d79b}.student-record-summary span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}.student-record-summary strong{display:block;margin-top:6px;font-size:1.55rem}.student-record-layout,.communication-layout{display:grid;grid-template-columns:minmax(310px,.75fr) minmax(0,1.5fr);gap:18px;align-items:start}.record-form-heading h2,.record-list-heading h2,.communication-history-heading h2{margin:3px 0}.certification-entry-form,.communication-entry-form{position:sticky;top:18px}.student-document-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-document-grid label{display:grid;gap:7px}.student-document-grid small{color:var(--muted);font-size:.75rem}.student-record-list{padding:22px}.certification-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:19px 0;border-bottom:1px solid var(--line)}.certification-record:last-child{border-bottom:0}.cert-record-title{display:flex;gap:12px;align-items:flex-start}.cert-record-title h3{margin:1px 0 4px;font-size:1.1rem}.cert-record-title p{margin:0;color:var(--muted)}.cert-result{min-width:50px;padding:7px 8px;text-align:center;border-radius:999px;font-size:.66rem;font-weight:900;letter-spacing:.06em}.cert-result.pass{background:#e6f7ef;color:#237656}.cert-result.fail{background:#fdecec;color:#ad3c42}.cert-record-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.cert-record-details>div{padding:11px 12px;border-radius:13px;background:#f6f8fc}.cert-record-details span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.cert-record-details strong{display:block;margin-top:4px;overflow-wrap:anywhere}.cert-record-notes{margin:10px 0;color:#4f5b70;line-height:1.5}.cert-docs{display:flex;gap:8px;flex-wrap:wrap}.cert-doc-link{padding:8px 10px;border-radius:10px;background:#edf2ff;color:#345fd3;font-size:.78rem;font-weight:900}.student-record-empty{text-align:center;padding:48px 20px;color:var(--muted)}.student-record-empty>span{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 12px;border-radius:17px;background:#f0edff;color:#6849df;font-size:1.5rem}.student-record-empty h3{margin:0 0 5px;color:var(--text)}.student-record-empty p{margin:0}.communication-history{min-width:0}.communication-history-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}.communication-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.communication-filter select{min-width:130px}.communication-record{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;padding:18px;margin-bottom:11px;border:1px solid var(--line);border-radius:18px;background:#fff}.communication-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#f0edff;color:#6246ce;font-weight:900}.communication-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.communication-head h3{margin:7px 0 0;font-size:1.05rem}.communication-head time{white-space:nowrap;color:var(--muted);font-size:.78rem}.communication-tags{display:flex;gap:6px;flex-wrap:wrap}.communication-tags span{padding:5px 8px;border-radius:999px;background:#f1f3f8;color:#5f6b80;font-size:.67rem;font-weight:900}.communication-contact{margin:7px 0 0;color:var(--muted);font-size:.82rem}.communication-summary{margin:12px 0 0;line-height:1.55;color:#3f4a5e}.communication-followup{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:10px 12px;border-radius:12px;font-size:.78rem;font-weight:850}.communication-followup.pending{background:#fff4dc;color:#8f6417}.communication-followup.complete{background:#eaf8f0;color:#2a7859}.communication-followup-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.communication-followup-fields .check-label{min-height:44px}.profile-tabs{scrollbar-width:thin}.profile-tabs a{white-space:nowrap}
@media(max-width:1280px){.student-record-layout,.communication-layout{grid-template-columns:1fr}.certification-entry-form,.communication-entry-form{position:static}.communication-history-heading{align-items:flex-start;flex-direction:column}.communication-filter{width:100%}}
@media(max-width:760px){.student-record-summary{grid-template-columns:1fr}.student-document-grid,.communication-followup-fields{grid-template-columns:1fr}.cert-record-details{grid-template-columns:1fr}.communication-record{grid-template-columns:40px minmax(0,1fr)}.communication-record>form{grid-column:2}.communication-head{display:block}.communication-head time{display:block;margin-top:7px}.communication-filter{display:grid;grid-template-columns:1fr 1fr}.communication-filter .button{grid-column:1/-1}}
\n/* Cyber Cave Portal 2.5.1 — student photo upload feedback */\n.field-help{display:block;margin-top:5px;color:var(--muted);font-size:.76rem;font-weight:600;line-height:1.35}\n

/* Cyber Cave Portal 2.6.0 — Behavior & Recognition */
.behavior-center-page{max-width:1500px}.behavior-center-summary,.behavior-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.behavior-center-summary article,.behavior-summary article{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:17px}.behavior-center-summary span,.behavior-summary span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}.behavior-center-summary strong,.behavior-summary strong{display:block;font-size:2rem;margin-top:5px}.behavior-center-summary small{color:var(--muted)}.behavior-center-summary article.positive,.behavior-summary article.positive{border-left:5px solid #32a77a}.behavior-center-summary article.negative,.behavior-summary article.negative{border-left:5px solid #df6a66}.behavior-center-summary article.observation,.behavior-summary article.observation{border-left:5px solid #6a76d9}
.behavior-analytics-grid{display:grid;grid-template-columns:.9fr 1.4fr 1fr;gap:14px;margin-bottom:18px}.behavior-chart-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;min-width:0}.behavior-chart-heading h3{margin:3px 0 0;font-size:1.15rem}.behavior-donut-wrap{display:flex;align-items:center;gap:22px;margin-top:18px}.behavior-donut{width:150px;height:150px;border-radius:50%;position:relative;display:grid;place-items:center;flex:0 0 auto}.behavior-donut:after{content:"";position:absolute;inset:24px;border-radius:50%;background:#fff}.behavior-donut span{position:relative;z-index:1;text-align:center}.behavior-donut strong,.behavior-donut small{display:block}.behavior-donut strong{font-size:1.7rem}.behavior-donut small{font-size:.7rem;text-transform:uppercase;color:var(--muted);font-weight:800}.behavior-legend{display:grid;gap:9px;min-width:130px}.behavior-legend span{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:.82rem}.behavior-legend i{width:9px;height:9px;border-radius:50%}.behavior-legend i.positive{background:#32a77a}.behavior-legend i.negative{background:#df6a66}.behavior-legend i.observation{background:#6a76d9}
.behavior-week-chart{height:180px;display:flex;gap:8px;align-items:end;margin-top:18px;padding-top:8px}.behavior-week{height:100%;flex:1;display:grid;grid-template-rows:1fr auto;gap:7px;min-width:0}.behavior-week-bars{display:flex;align-items:end;justify-content:center;gap:3px;height:100%;border-bottom:1px solid #e5e9f1}.behavior-week-bars i{display:block;width:22%;min-height:2px;border-radius:5px 5px 0 0}.behavior-week-bars i.positive{background:#32a77a}.behavior-week-bars i.negative{background:#df6a66}.behavior-week-bars i.observation{background:#6a76d9}.behavior-week>span{text-align:center;font-size:.65rem;color:var(--muted);white-space:nowrap}
.behavior-category-row{display:grid;gap:6px;margin-top:13px}.behavior-category-row>div{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.behavior-category-row>div span{color:var(--muted)}.behavior-category-row>b{height:8px;border-radius:999px;background:#edf0f5;overflow:hidden}.behavior-category-row>b i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5e4bd4,#3674e7)}
.behavior-center-layout,.behavior-profile-layout{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.7fr);gap:16px;align-items:start}.behavior-capture-card{position:sticky;top:18px}.behavior-capture-card .record-form-heading p{margin-top:4px;color:var(--muted)}.behavior-quick-form{display:grid;gap:14px}.behavior-type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.behavior-type-picker input{position:absolute;opacity:0}.behavior-type-picker label>span{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 8px;border:1px solid var(--line);border-radius:13px;cursor:pointer;background:#fafbfe}.behavior-type-picker label i{font-style:normal;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;font-weight:900}.behavior-type-picker .positive i{background:#e5f7ef;color:#21805d}.behavior-type-picker .negative i{background:#fdebea;color:#b84945}.behavior-type-picker .observation i{background:#eceefe;color:#515dbd}.behavior-type-picker input:checked+span{box-shadow:0 0 0 2px #5f4bd3 inset;background:#f7f5ff}.behavior-more{border:1px solid var(--line);border-radius:14px;background:#fafbfe}.behavior-more summary{padding:13px 15px;cursor:pointer;font-weight:800;color:#586276}.behavior-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 15px 15px}.behavior-more-grid label{display:grid;gap:6px;font-weight:700}.behavior-more-grid label.wide{grid-column:1/-1}
.behavior-history{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.behavior-history-heading{display:flex;justify-content:space-between;gap:16px;align-items:end;padding:20px;border-bottom:1px solid var(--line)}.behavior-history-heading h2{margin:3px 0 0}.behavior-filter{display:flex;gap:8px;align-items:center}.behavior-filter select{min-width:135px}.behavior-event-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;padding:17px 19px;border-bottom:1px solid #edf0f5}.behavior-event-row:last-child{border-bottom:0}.behavior-event-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:1.15rem}.behavior-event-row.positive .behavior-event-icon{background:#e5f7ef;color:#21805d}.behavior-event-row.negative .behavior-event-icon{background:#fdebea;color:#b84945}.behavior-event-row.observation .behavior-event-icon{background:#eceefe;color:#515dbd}.behavior-event-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.behavior-event-head h3{margin:8px 0 0;font-size:1rem}.behavior-event-head time{font-size:.72rem;color:var(--muted);white-space:nowrap}.behavior-type-badge,.behavior-category-badge,.behavior-follow{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.67rem;font-weight:900;margin-right:5px}.behavior-type-badge.positive{background:#e5f7ef;color:#21805d}.behavior-type-badge.negative{background:#fdebea;color:#b84945}.behavior-type-badge.observation{background:#eceefe;color:#515dbd}.behavior-category-badge{background:#f0f2f7;color:#667086}.behavior-event-body>p{margin:9px 0;line-height:1.5;color:#444f63}.behavior-event-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.72rem}.behavior-follow.pending{background:#fff1dc;color:#9b6415}.behavior-follow.resolved{background:#e6f7ef;color:#23785a}.behavior-event-actions{display:grid;align-content:start;gap:4px}.behavior-center-feed{display:grid}.behavior-center-event{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:14px 18px;border-bottom:1px solid #edf0f5;color:inherit;text-decoration:none}.behavior-center-event:hover{background:#fafbfe}.behavior-center-event p{margin:3px 0}.behavior-center-event small{color:var(--muted)}.behavior-center-event>b{font-size:.7rem;align-self:center}.behavior-profile-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.behavior-profile-mini>div{padding:11px;border-radius:12px;background:#f6f8fc;text-align:center}.behavior-profile-mini strong,.behavior-profile-mini span{display:block}.behavior-profile-mini strong{font-size:1.35rem}.behavior-profile-mini span{font-size:.68rem;color:var(--muted);margin-top:3px}.behavior-profile-mini .positive{background:#edf9f4}.behavior-profile-mini .negative{background:#fff1f0}.behavior-profile-mini .observation{background:#f1f2ff}.behavior-center-card{border-color:#ded7fa}.behavior-center-card>span{background:linear-gradient(135deg,#6c55d9,#4b78df)!important}
@media(max-width:1180px){.behavior-analytics-grid{grid-template-columns:1fr 1fr}.behavior-chart-card.categories{grid-column:1/-1}.behavior-center-layout,.behavior-profile-layout{grid-template-columns:1fr}.behavior-capture-card{position:static}.behavior-center-summary,.behavior-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.behavior-analytics-grid{grid-template-columns:1fr}.behavior-chart-card.categories{grid-column:auto}.behavior-donut-wrap{align-items:flex-start}.behavior-center-summary,.behavior-summary{grid-template-columns:1fr 1fr}.behavior-type-picker{grid-template-columns:1fr}.behavior-more-grid{grid-template-columns:1fr}.behavior-more-grid label.wide{grid-column:auto}.behavior-history-heading{display:block}.behavior-filter{margin-top:12px;flex-wrap:wrap}.behavior-event-row,.behavior-center-event{grid-template-columns:40px minmax(0,1fr)}.behavior-event-actions,.behavior-center-event>b{grid-column:2}.behavior-event-head{display:block}.behavior-event-head time{display:block;margin-top:6px}.behavior-week-chart{height:150px}}
@media(max-width:480px){.behavior-center-summary,.behavior-summary{grid-template-columns:1fr}.behavior-donut-wrap{display:grid}.behavior-filter select{min-width:0;width:100%}.behavior-filter .button{width:100%}}


/* Cyber Cave Portal 2.6.1 — Behavior responsive polish */
.behavior-center-page,.behavior-profile-layout,.behavior-center-layout,.behavior-capture-card,.behavior-history,.behavior-chart-card{min-width:0}
.behavior-capture-card{container-type:inline-size}
.behavior-quick-form,.behavior-quick-form .form-grid,.behavior-more-grid{min-width:0}
.behavior-quick-form label,.behavior-more-grid label,.behavior-quick-form input,.behavior-quick-form select,.behavior-quick-form textarea{min-width:0;max-width:100%}
.behavior-quick-form input,.behavior-quick-form select,.behavior-quick-form textarea{width:100%}
.behavior-quick-form textarea{resize:vertical}
.behavior-type-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
.behavior-type-picker label{min-width:0}
.behavior-type-picker label>span{min-width:0;white-space:normal;text-align:center}
.behavior-type-picker label strong{min-width:0;overflow-wrap:normal;word-break:normal}
.behavior-more-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start}
.behavior-more-grid .check-label{align-self:end;min-height:50px;padding-bottom:2px}
.behavior-quick-form>.button.primary{width:100%;min-height:48px}
.behavior-history-heading>*{min-width:0}
.behavior-event-body,.behavior-event-head{min-width:0}
.behavior-event-head h3,.behavior-event-body p{overflow-wrap:anywhere}
.behavior-center-event>div{min-width:0}
.behavior-center-event p{overflow-wrap:anywhere}
.behavior-donut-wrap{min-width:0}
.behavior-legend{min-width:0}
.behavior-week{min-width:32px}

/* The Quick Capture card can be narrow even on a wide desktop because it
   shares the page with the activity feed. Container queries make the form
   respond to the card itself rather than only to the browser viewport. */
@container (max-width: 560px){
  .behavior-quick-form .form-grid.two{grid-template-columns:1fr}
  .behavior-more-grid{grid-template-columns:1fr}
  .behavior-more-grid label.wide{grid-column:auto}
  .behavior-more-grid .check-label{align-self:auto;min-height:auto;padding:4px 0}
}
@container (max-width: 430px){
  .behavior-type-picker{grid-template-columns:1fr}
  .behavior-type-picker label>span{justify-content:flex-start;padding:12px 14px;text-align:left}
}

@media(max-width:1360px){
  .behavior-center-layout,.behavior-profile-layout{grid-template-columns:minmax(340px,.9fr) minmax(0,1.45fr)}
  .behavior-analytics-grid{grid-template-columns:1fr 1.35fr}
  .behavior-chart-card.categories{grid-column:1/-1}
}
@media(max-width:1120px){
  .behavior-center-layout,.behavior-profile-layout{grid-template-columns:1fr}
  .behavior-capture-card{position:static}
  .behavior-capture-card .behavior-quick-form{max-width:none}
  .behavior-analytics-grid{grid-template-columns:1fr 1fr}
  .behavior-center-summary,.behavior-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .behavior-center-page{padding-left:16px;padding-right:16px}
  .behavior-analytics-grid{grid-template-columns:1fr}
  .behavior-chart-card.categories{grid-column:auto}
  .behavior-donut-wrap{justify-content:flex-start;flex-wrap:wrap}
  .behavior-history-heading{display:block}
  .behavior-filter{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .behavior-filter select{min-width:0;width:100%}
  .behavior-event-row{grid-template-columns:40px minmax(0,1fr)}
  .behavior-event-actions{grid-column:2;display:flex;flex-wrap:wrap}
  .behavior-center-event{grid-template-columns:40px minmax(0,1fr)}
  .behavior-center-event>b{grid-column:2;justify-self:start}
}
@media(max-width:620px){
  .behavior-center-summary,.behavior-summary{grid-template-columns:1fr 1fr}
  .behavior-center-summary article,.behavior-summary article{padding:15px 16px}
  .behavior-center-summary strong,.behavior-summary strong{font-size:1.65rem}
  .behavior-chart-card{padding:16px}
  .behavior-donut{width:132px;height:132px}
  .behavior-donut:after{inset:22px}
  .behavior-week-chart{height:145px;gap:5px}
  .behavior-week-bars{gap:2px}
  .behavior-history-heading{padding:16px}
  .behavior-event-row{padding:15px}
}
@media(max-width:460px){
  .behavior-center-summary,.behavior-summary{grid-template-columns:1fr}
  .behavior-filter{grid-template-columns:1fr}
  .behavior-donut-wrap{display:grid}
  .behavior-legend{width:100%}
  .behavior-week-chart{overflow-x:auto;justify-content:flex-start;padding-bottom:8px}
  .behavior-week{flex:0 0 48px}
}


/* Cyber Cave Portal 2.7.0 — Command Center Dashboard */
.command-dashboard{max-width:1500px;margin:0 auto;padding-top:28px}.command-dashboard *{box-sizing:border-box}.command-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:center;padding:34px 38px;border-radius:28px;background:linear-gradient(125deg,#101b3d 0%,#263d83 48%,#6548d8 100%);color:#fff;box-shadow:0 24px 55px rgba(33,47,100,.18);isolation:isolate}.command-hero-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;z-index:-1}.command-hero-glow.one{width:380px;height:380px;right:15%;top:-250px;background:radial-gradient(circle,#77a8ff,transparent 68%)}.command-hero-glow.two{width:300px;height:300px;left:28%;bottom:-250px;background:radial-gradient(circle,#aa7cff,transparent 68%)}.command-hero .eyebrow{color:#becdff}.command-hero h1{font-size:clamp(2.3rem,4vw,4.2rem);letter-spacing:-.045em;margin:5px 0 10px;line-height:1}.command-hero-main>p:not(.eyebrow){margin:0;color:#dce4ff;font-size:1.05rem}.command-session-chip{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:.78rem;font-weight:850}.command-session-chip i{width:8px;height:8px;border-radius:50%;background:#8da1c9}.command-session-chip.active i{background:#5ce0a4;box-shadow:0 0 0 5px rgba(92,224,164,.14)}.command-hero-actions{display:grid;grid-template-columns:repeat(3,128px);gap:10px}.command-hero-actions a{min-height:112px;padding:16px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);color:#fff;display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.command-hero-actions a:hover{transform:translateY(-3px);background:rgba(255,255,255,.16)}.command-hero-actions span{font-size:1.45rem}.command-hero-actions b{font-size:.85rem}
.command-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:18px 0}.command-stat-grid article{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:center;padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 28px rgba(31,48,84,.05)}.stat-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:1.1rem;font-weight:900}.stat-icon.students{background:#eaf1ff;color:#3569d9}.stat-icon.movement{background:#e9f8f2;color:#247a5b}.stat-icon.attendance{background:#eef8ed;color:#3e8050}.stat-icon.positive{background:#e8f8ef;color:#29845b}.stat-icon.followup{background:#fff1e8;color:#b9672e}.command-stat-grid small,.command-stat-grid strong,.command-stat-grid p{display:block}.command-stat-grid small{color:#79849a;font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.065em}.command-stat-grid strong{font-size:1.65rem;letter-spacing:-.03em;margin:2px 0}.command-stat-grid strong i{font-size:.9rem;font-style:normal;color:#99a1b2;margin-left:3px}.command-stat-grid p{margin:0;color:#778196;font-size:.76rem;white-space:normal}.command-stat-grid p em{color:#b26b2e;font-style:normal;font-weight:800}
.command-bento-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:16px}.command-panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:23px;box-shadow:0 12px 32px rgba(31,48,84,.055)}.command-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.command-panel-heading h2{margin:3px 0 0;font-size:1.45rem;letter-spacing:-.02em}.command-panel-heading>a{font-size:.78rem;font-weight:850;color:#486de0}.panel-count{min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#f0f2f8;display:grid;place-items:center;font-weight:900;color:#68748a}.command-attention-list{display:grid;gap:8px}.command-attention-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-radius:15px;background:#f8f9fc;color:#172033;border:1px solid transparent}.command-attention-row:hover{border-color:#d9dfeb}.attention-dot{width:9px;height:9px;border-radius:50%;background:#8e98aa}.command-attention-row.urgent .attention-dot{background:#db5a62;box-shadow:0 0 0 5px rgba(219,90,98,.1)}.command-attention-row.warning .attention-dot{background:#e49b43}.command-attention-row strong,.command-attention-row small{display:block}.command-attention-row small{color:#7b8497;margin-top:2px}.command-attention-row b{font-size:.75rem;color:#526ee0;white-space:nowrap}.command-all-clear{display:flex;gap:13px;align-items:center;padding:22px;border-radius:17px;background:linear-gradient(120deg,#effbf5,#f4f8ff)}.command-all-clear>span{width:46px;height:46px;border-radius:15px;background:#dff5e9;color:#2b815b;display:grid;place-items:center;font-weight:900}.command-all-clear p{margin:3px 0 0;color:#718093}
.command-live-list{display:grid;gap:6px}.command-live-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:9px;border-radius:14px;color:#172033}.command-live-row:hover{background:#f7f8fb}.command-avatar{width:40px;height:40px;border-radius:13px;background:#e9effb;overflow:hidden;display:grid;place-items:center;font-size:.72rem;font-weight:900;color:#405b91}.command-avatar img{width:100%;height:100%;object-fit:cover}.command-live-row strong,.command-live-row small{display:block}.command-live-row small{color:#7d8798;margin-top:2px}.command-live-row b{font-size:.74rem;padding:6px 8px;background:#f0f2f6;border-radius:999px;color:#586477}.command-empty-state{min-height:180px;border-radius:18px;background:#f7f9fc;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#66738a;padding:24px}.command-empty-state>span{color:#58b68b;margin-bottom:8px}.command-empty-state strong{color:#283348}.command-empty-state small{margin-top:4px}.command-empty-state.compact{min-height:120px}
.chart-panel{padding-bottom:18px}.command-chart-key{display:flex;gap:12px;flex-wrap:wrap;font-size:.7rem;font-weight:800;color:#7b8497}.command-chart-key span{display:flex;align-items:center;gap:5px}.command-chart-key i{width:8px;height:8px;border-radius:3px}.command-chart-key i.movement{background:#4e72e6}.command-chart-key i.behavior{background:#a06be8}.command-chart{height:220px;display:grid;grid-template-columns:repeat(7,1fr);gap:9px;align-items:end;padding:18px 8px 0;border-bottom:1px solid #e7eaf0;background:linear-gradient(180deg,rgba(244,247,252,.3),rgba(244,247,252,.8));border-radius:16px 16px 0 0}.command-chart-day{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;min-width:0}.command-chart-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}.command-chart-bars i{width:min(18px,34%);min-height:4px;border-radius:6px 6px 2px 2px;transition:.2s}.command-chart-bars i.movement{background:linear-gradient(#6e8ff0,#4167de)}.command-chart-bars i.behavior{background:linear-gradient(#b98aef,#8d5dda)}.command-chart-day>span{text-align:center;font-size:.68rem;color:#7c8697;font-weight:800}.command-chart-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.command-chart-footer div{padding:11px 12px;border-radius:13px;background:#f7f8fb}.command-chart-footer strong,.command-chart-footer span{display:block}.command-chart-footer strong{font-size:1.1rem}.command-chart-footer span{font-size:.68rem;color:#7b8497;margin-top:2px}
.pulse-metric{padding:16px;border-radius:16px;background:#f7f9fc}.pulse-metric>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.pulse-metric span{font-weight:900}.pulse-track{height:10px;border-radius:999px;background:#e4e8f0;overflow:hidden}.pulse-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#416add,#6751da)}.pulse-behavior{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}.pulse-type{padding:13px;border-radius:14px;text-align:center}.pulse-type.positive{background:#eaf8f0;color:#287a59}.pulse-type.observation{background:#f0edfb;color:#6750b0}.pulse-type.negative{background:#fff0ef;color:#ae514f}.pulse-type strong,.pulse-type span{display:block}.pulse-type strong{font-size:1.3rem}.pulse-type span{font-size:.68rem;margin-top:3px;font-weight:800}.pulse-note{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;margin-top:12px;padding:12px;border-radius:14px;background:#fbf8ee;color:#766946}.pulse-note>span{width:34px;height:34px;border-radius:11px;background:#f3ead0;display:grid;place-items:center}.pulse-note p{margin:0;font-size:.74rem;line-height:1.4}
.activity-panel{grid-row:span 1}.command-activity-list{display:grid}.command-activity-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;padding:10px 4px;border-bottom:1px solid #edf0f4;color:#1b2639}.command-activity-row:last-child{border-bottom:0}.activity-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:900}.activity-icon.behavior-positive{background:#e8f8ef;color:#287c59}.activity-icon.behavior-negative{background:#fff0ef;color:#ac5150}.activity-icon.behavior-observation{background:#f0edfb;color:#6751b2}.activity-icon.communication{background:#eaf1ff;color:#4169cb}.command-activity-row strong,.command-activity-row p,.command-activity-row small{display:block}.command-activity-row p{margin:2px 0;color:#4f5a6e;font-size:.82rem}.command-activity-row small{color:#8a93a4;font-size:.69rem}.command-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.command-quick-grid a{min-width:0;padding:14px;border-radius:16px;background:#f7f8fb;color:#1b2639;display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 9px;border:1px solid transparent}.command-quick-grid a:hover{background:#f1f3fa;border-color:#dce1ec}.command-quick-grid span{grid-row:1/3;width:34px;height:34px;border-radius:11px;background:#e9edfb;color:#526bd0;display:grid;place-items:center;font-weight:900}.command-quick-grid b{font-size:.82rem}.command-quick-grid small{color:#838c9d;font-size:.68rem}
@media(max-width:1250px){.command-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.command-hero{grid-template-columns:1fr}.command-hero-actions{grid-template-columns:repeat(3,minmax(0,160px))}.command-bento-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.command-dashboard{padding:18px}.command-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.command-bento-grid{grid-template-columns:1fr}.command-hero{padding:28px}.command-hero-actions{grid-template-columns:repeat(3,1fr)}.command-chart{height:190px}}
@media(max-width:650px){.command-dashboard{padding:12px}.command-hero{padding:24px 20px;border-radius:22px}.command-hero-actions{grid-template-columns:1fr}.command-hero-actions a{min-height:70px;display:grid;grid-template-columns:38px 1fr;align-items:center;justify-content:start}.command-stat-grid{grid-template-columns:1fr}.command-panel{padding:18px;border-radius:20px}.command-panel-heading{display:block}.command-panel-heading>a{display:inline-block;margin-top:7px}.command-attention-row{grid-template-columns:9px 1fr}.command-attention-row b{grid-column:2}.command-chart-footer{grid-template-columns:1fr}.pulse-behavior{grid-template-columns:1fr 1fr 1fr}.command-quick-grid{grid-template-columns:1fr}.command-chart{gap:4px;padding-left:2px;padding-right:2px}.command-chart-bars{gap:2px}}


/* Cyber Cave Portal 2.8.1 — Announcements responsive polish */
.announcements-workspace{max-width:1500px}
.announcements-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px 32px;border-radius:28px;background:linear-gradient(135deg,#18244f 0%,#4936a8 55%,#674ee3 100%);color:#fff;box-shadow:0 24px 52px rgba(39,36,94,.18);overflow:hidden;position:relative}
.announcements-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-90px;top:-130px;background:rgba(255,255,255,.09);filter:blur(2px)}
.announcements-hero h1{font-size:clamp(2.4rem,4vw,4rem);margin:4px 0 7px;letter-spacing:-.045em}
.announcements-hero p{margin:0;color:rgba(255,255,255,.82)}
.announcements-hero .eyebrow{color:#dcd6ff}
.announcements-hero-actions{display:flex;gap:10px;position:relative;z-index:1;flex-wrap:wrap}
.announcements-hero-actions .button.secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.22)}
.announcement-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.announcement-stat-grid article{padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(28,40,69,.045);min-width:0}
.announcement-stat-grid span,.announcement-stat-grid strong,.announcement-stat-grid small{display:block}
.announcement-stat-grid span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.announcement-stat-grid strong{font-size:2rem;margin:5px 0 1px}
.announcement-stat-grid small{color:var(--muted)}
.announcements-layout{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:18px;align-items:start;container-type:inline-size}
.announcement-builder,.announcement-queue-panel{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 32px rgba(28,40,69,.055);min-width:0;overflow:hidden}
.announcement-builder{padding:24px;position:sticky;top:18px}
.announcement-queue-panel{padding:24px}
.announcement-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.announcement-section-heading h2{margin:3px 0 5px;font-size:1.55rem;line-height:1.05;letter-spacing:-.03em}
.announcement-section-heading p{margin:0;color:var(--muted);font-size:.9rem}
.announcement-section-heading>a{font-size:.82rem;font-weight:800;white-space:nowrap}
.announcement-form{display:grid;gap:15px}
.announcement-form label{display:grid;gap:7px;font-weight:800;min-width:0}
.announcement-form label small{font-weight:500;color:var(--muted);line-height:1.45}
.announcement-form input,.announcement-form textarea,.announcement-form select{width:100%;min-width:0;max-width:100%}
.announcement-form input[type=file]{display:block;width:100%;max-width:100%;overflow:hidden}
.announcement-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.announcement-form-grid>*{min-width:0}
.announcement-form .full{width:100%}
.announcement-advanced{padding:13px 15px;border-radius:15px;background:#f6f7fb}
.announcement-advanced summary{cursor:pointer;font-weight:800}
.announcement-advanced label{margin-top:12px}
.announcement-current-preview{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:15px}
.announcement-current-preview img{width:88px;height:54px;object-fit:cover;border-radius:10px}
.announcement-current-preview span{font-size:.78rem;font-weight:800;color:var(--muted)}
.announcement-queue{display:grid;gap:12px}
.announcement-queue-card{display:grid;grid-template-columns:26px 145px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:19px;background:#fff;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;min-width:0}
.announcement-queue-card:hover{box-shadow:0 12px 24px rgba(27,38,65,.08)}
.announcement-queue-card.dragging{opacity:.45;transform:scale(.99)}
.announcement-drag{cursor:grab;color:#9aa3b5;font-weight:900;font-size:1.2rem;letter-spacing:-5px;user-select:none}
.announcement-thumb{height:88px;border-radius:14px;overflow:hidden;background:#eef1f7}
.announcement-thumb img{width:100%;height:100%;object-fit:cover}
.announcement-card-copy{min-width:0}
.announcement-card-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.announcement-card-title h3{margin:0;font-size:1.04rem;overflow-wrap:anywhere}
.announcement-card-copy>p{margin:6px 0 9px;color:var(--muted);font-size:.84rem;overflow-wrap:anywhere}
.announcement-meta{display:flex;gap:7px;flex-wrap:wrap}
.announcement-meta span{padding:5px 8px;background:#f3f5f9;border-radius:999px;font-size:.7rem;font-weight:800;color:#687187}
.announcement-status{padding:5px 8px;border-radius:999px;font-size:.67rem;font-weight:900}
.announcement-status.live{background:#e6f8ef;color:#257659}
.announcement-status.scheduled{background:#e9efff;color:#4565c0}
.announcement-status.paused{background:#f2f3f6;color:#697184}
.announcement-status.ended{background:#fff0eb;color:#a35a45}
.announcement-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.announcement-card-actions form{margin:0}
.announcement-card-actions .button{padding:8px 10px;font-size:.75rem}
.announcement-card-actions .text-button{font-size:.72rem}
.announcement-save-state{font-size:.78rem;font-weight:800;color:#66728a}
.announcement-empty-manager{text-align:center;padding:54px 20px;border:2px dashed #dce1ea;border-radius:20px;color:var(--muted)}
.announcement-empty-manager span{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 13px;border-radius:20px;background:#f0edff;color:#674ee3;font-size:1.7rem}
.announcement-empty-manager h3{color:var(--text);margin:0 0 5px}
.announcement-empty-manager p{margin:0}
.announcements-display-body{margin:0;background:#050913;overflow:hidden}
.announcements-display-body main{margin:0!important;width:100vw;height:100vh}
.announcement-display{position:relative;width:100vw;height:100vh;background:#050913;color:#fff;overflow:hidden}
.announcement-stage,.announcement-layer{position:absolute;inset:0}
.announcement-layer{background-size:contain;background-repeat:no-repeat;background-position:center;opacity:0;transform:scale(1.008);transition:opacity 1.7s ease-in-out,transform 8s ease;background-color:#050913}
.announcement-layer:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 120px rgba(0,0,0,.18);pointer-events:none}
.announcement-layer.visible{opacity:1;transform:scale(1)}
.announcement-empty-state{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;opacity:0;transition:opacity .5s}
.announcement-empty-state.visible{opacity:1}
.announcement-empty-state span{width:86px;height:86px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(135deg,#5a47d8,#2b6bdb);font-size:2.3rem;box-shadow:0 24px 50px rgba(39,68,170,.28)}
.announcement-empty-state h1{font-size:3rem;margin:20px 0 7px}
.announcement-empty-state p{margin:0;color:#9ba7c0;font-size:1.1rem}
.announcement-display-ui{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:28px 34px;background:linear-gradient(transparent,rgba(3,7,15,.78));pointer-events:none}
.announcement-display-brand{display:flex;align-items:center;gap:12px}
.announcement-display-brand>span{width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.14);backdrop-filter:blur(12px);display:grid;place-items:center;font-weight:900}
.announcement-display-brand strong,.announcement-display-brand small{display:block}
.announcement-display-brand small{color:rgba(255,255,255,.65);margin-top:2px}
.announcement-display-dots{display:flex;gap:7px;align-items:center;justify-content:center;padding-bottom:10px}
.announcement-display-dots i{display:block;width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.38);transition:width .25s,background .25s}
.announcement-display-dots i.active{width:24px;background:#fff}
.announcement-display-clock{justify-self:end;font-size:1.35rem;font-weight:900;padding-bottom:5px}
.announcement-display-status{position:absolute;top:18px;right:18px;z-index:20;padding:9px 13px;border-radius:999px;background:rgba(3,7,15,.72);border:1px solid rgba(255,255,255,.14);color:#dbe5ff;font-size:.78rem;font-weight:800;backdrop-filter:blur(12px)}

.announcement-display-empty{height:100vh;display:grid;place-content:center;justify-items:center;background:#070d1c;color:#fff;text-align:center}
.announcement-display-empty span{font-size:2.5rem}
.announcement-display-empty h1{font-size:2.4rem}
@media(max-width:1400px){.announcement-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:1120px){.announcements-layout{grid-template-columns:1fr}.announcement-builder{position:static}.announcement-queue-card{grid-template-columns:24px 125px minmax(0,1fr)}.announcement-card-actions{grid-column:2/-1;justify-content:flex-start}}
@container (max-width:760px){.announcement-form-grid{grid-template-columns:1fr}.announcement-queue-panel,.announcement-builder{padding:18px}.announcement-queue-card{grid-template-columns:22px 90px minmax(0,1fr);gap:10px}.announcement-thumb{height:64px}.announcement-card-actions{grid-column:1/-1}.announcement-current-preview{grid-template-columns:72px minmax(0,1fr)}.announcement-current-preview img{width:72px;height:46px}}
@container (max-width:560px){.announcement-section-heading{display:block}.announcement-section-heading>a{display:inline-block;margin-top:8px}.announcement-queue-card{grid-template-columns:1fr}.announcement-drag{display:none}.announcement-thumb{height:160px}.announcement-card-actions{grid-column:auto;justify-content:flex-start}.announcement-card-title{gap:7px}.announcement-card-actions .button,.announcement-card-actions .text-button{font-size:.78rem}}
@media(max-width:700px){.announcements-hero{display:block;padding:24px}.announcements-hero-actions{margin-top:18px}.announcement-stat-grid{grid-template-columns:1fr 1fr}.announcement-display-ui{padding:18px;grid-template-columns:1fr auto}.announcement-display-dots{display:none}.announcement-display-brand small{display:none}}
@media(max-width:520px){.announcement-stat-grid{grid-template-columns:1fr}.announcements-hero{padding:20px}.announcement-display-ui{grid-template-columns:1fr;gap:10px;justify-items:start}.announcement-display-clock{justify-self:start}}



/* Cyber Cave Portal 2.8.2 — Announcements responsive layout correction */
.announcements-workspace,
.announcements-workspace *{box-sizing:border-box}
.announcements-workspace{width:100%;min-width:0;overflow-x:hidden}
.announcements-layout{width:100%;min-width:0}
.announcement-builder,.announcement-queue-panel{width:100%;max-width:100%;min-width:0}
.announcement-form{width:100%;min-width:0}
.announcement-form label{width:100%;min-width:0}
.announcement-form input,
.announcement-form select,
.announcement-form textarea,
.announcement-form button{max-width:100%;min-width:0}
.announcement-form input[type="datetime-local"]{width:100%;min-width:0}
.announcement-form input[type="file"]{width:100%;min-width:0;padding:10px 12px;overflow:hidden}
.announcement-form input[type="file"]::file-selector-button{max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.announcement-form-grid{min-width:0}
.announcement-form-grid label{min-width:0}
.announcement-section-heading>div{min-width:0}
.announcement-section-heading h2,.announcement-section-heading p{overflow-wrap:anywhere}
.announcement-queue-card{min-width:0;overflow:hidden}
.announcement-card-copy{min-width:0;overflow:hidden}
.announcement-card-actions{min-width:0}

/* With the Cyber Cave sidebar visible, two columns become cramped far before 1100px. */
@media(max-width:1380px){
  .announcements-layout{grid-template-columns:minmax(340px,420px) minmax(0,1fr)}
  .announcement-queue-card{grid-template-columns:24px 120px minmax(0,1fr)}
  .announcement-card-actions{grid-column:2/-1;justify-content:flex-start}
}
@media(max-width:1240px){
  .announcements-layout{grid-template-columns:1fr}
  .announcement-builder{position:static;max-width:none}
  .announcement-queue-panel{width:100%}
  .announcement-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .announcement-queue-card{grid-template-columns:24px 130px minmax(0,1fr) auto}
  .announcement-card-actions{grid-column:auto;justify-content:flex-end}
}
@media(max-width:980px){
  .announcements-workspace{padding-left:18px!important;padding-right:18px!important}
  .announcements-hero{padding:24px}
  .announcement-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .announcement-form-grid{grid-template-columns:1fr}
  .announcement-builder,.announcement-queue-panel{padding:20px}
  .announcement-queue-card{grid-template-columns:22px 110px minmax(0,1fr);gap:12px}
  .announcement-card-actions{grid-column:2/-1;justify-content:flex-start}
}
@media(max-width:720px){
  .announcements-workspace{padding-left:12px!important;padding-right:12px!important}
  .announcements-hero{padding:20px;border-radius:22px}
  .announcements-hero h1{font-size:clamp(2rem,9vw,2.8rem)}
  .announcements-hero-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:16px}
  .announcements-hero-actions .button{width:100%;justify-content:center}
  .announcement-stat-grid{grid-template-columns:1fr 1fr;gap:10px}
  .announcement-stat-grid article{padding:15px 16px}
  .announcement-builder,.announcement-queue-panel{padding:16px;border-radius:20px}
  .announcement-section-heading{display:block}
  .announcement-section-heading>a{display:inline-block;margin-top:8px}
  .announcement-form{gap:13px}
  .announcement-form input,.announcement-form select,.announcement-form textarea{font-size:16px}
  .announcement-form input[type="file"]::file-selector-button{max-width:55%}
  .announcement-queue-card{grid-template-columns:1fr;padding:12px}
  .announcement-drag{display:none}
  .announcement-thumb{height:auto;aspect-ratio:16/9;width:100%}
  .announcement-card-actions{grid-column:auto;justify-content:flex-start}
  .announcement-card-actions .button,.announcement-card-actions form{flex:0 0 auto}
  .announcement-meta{gap:5px}
}
@media(max-width:480px){
  .announcement-stat-grid{grid-template-columns:1fr}
  .announcement-builder,.announcement-queue-panel{padding:14px}
  .announcement-form input[type="file"]{padding:8px}
  .announcement-form input[type="file"]::file-selector-button{max-width:62%;font-size:.82rem}
  .announcement-card-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .announcement-card-actions .button,.announcement-card-actions form,.announcement-card-actions form button{width:100%}
}

/* Cyber Cave Portal 3.0.0 — BPA Prep flagship experience */
.bpa-student-sidebar{background:linear-gradient(180deg,#0e1730 0%,#121c3d 55%,#251b55 100%);color:#fff;border-right:0;box-shadow:18px 0 45px rgba(14,23,48,.12)}
.bpa-student-sidebar .sidebar-brand,.bpa-student-sidebar .sidebar-nav a,.bpa-student-sidebar .sidebar-footer,.bpa-student-sidebar .sidebar-footer a{color:#fff}.bpa-student-sidebar .bpa-sidebar-label{color:#9faee9}.bpa-student-sidebar .sidebar-nav a:hover{background:rgba(255,255,255,.09)}
.bpa-page-heading{padding:26px 30px;border-radius:28px;background:linear-gradient(125deg,#152551 0%,#4130a0 55%,#714de8 100%);color:#fff;box-shadow:0 22px 48px rgba(42,35,115,.16);position:relative;overflow:hidden}.bpa-page-heading:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;right:-80px;top:-170px;background:rgba(255,255,255,.09)}.bpa-page-heading .eyebrow,.bpa-page-heading p{color:#d9d9fb}.bpa-page-heading h1{font-size:clamp(2.4rem,4.4vw,4.4rem);letter-spacing:-.05em;margin:3px 0 6px}.bpa-heading-points{position:relative;z-index:2}
.bpa-mountain-hero{background:linear-gradient(125deg,#172750,#263c82 52%,#6b45df 100%);min-height:260px;display:flex;align-items:flex-end;position:relative;overflow:hidden}.bpa-mountain-hero:before{content:"BPA";position:absolute;right:20px;top:-10px;font-size:12rem;font-weight:900;color:rgba(255,255,255,.05);letter-spacing:-.08em}.bpa-mountain-hero h2{font-size:clamp(2rem,3.3vw,3.2rem);letter-spacing:-.04em;max-width:720px}.bpa-mountain-art{font-size:7rem;opacity:.18}
.bpa-stat-row article{background:#fff;border:1px solid #e1e5f1;box-shadow:0 10px 28px rgba(29,41,78,.055);border-radius:20px;position:relative;overflow:hidden}.bpa-stat-row article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#4d67e8,#7d51e7)}
.bpa-student-insight-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr);gap:18px;margin:18px 0}.bpa-growth-card,.bpa-assignment-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 12px 30px rgba(24,37,70,.05);min-width:0}.bpa-growth-card .bpa-card-heading>span{font-size:.78rem;color:var(--muted);font-weight:800}.bpa-growth-svg{width:100%;height:190px;margin-top:8px;overflow:visible}.growth-grid{stroke:#e9edf5;stroke-width:1;fill:none}.growth-line{fill:none;stroke:#6548df;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.growth-dot{fill:#fff;stroke:#6548df;stroke-width:4}.growth-caption{font-size:.82rem;color:var(--muted);padding-top:7px}.bpa-growth-empty{min-height:170px;display:grid;place-items:center;color:var(--muted);background:#f7f8fc;border-radius:18px}.bpa-task-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.bpa-task-row:last-child{border-bottom:0}.task-kind{width:40px;height:40px;border-radius:13px;background:#eee9ff;color:#6246d4;display:grid;place-items:center;font-weight:900}.bpa-task-row strong,.bpa-task-row small{display:block}.bpa-task-row small{color:var(--muted);margin-top:3px}.bpa-task-row>a{font-weight:800;color:#4c63d7;font-size:.82rem}
.bpa-competition-card{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.bpa-competition-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(46,42,111,.12)}.bpa-comp-icon{font-size:.72rem!important;font-weight:900;letter-spacing:.07em;color:#fff}.bpa-comp-number{font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#7358d5;margin:12px 0 -7px}.bpa-selected-number{display:block;color:#7458c9;font-weight:900;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;margin-bottom:3px}.bpa-requirements{margin:16px 0;padding:14px 16px;background:#f6f4ff;border:1px solid #e2dcfa;border-radius:16px}.bpa-requirements summary{cursor:pointer;font-weight:900;color:#5c46bd}.bpa-requirements p{margin:10px 0 0!important;color:#505a70!important}
.bpa-wizard{border:1px solid #ded9f2;box-shadow:0 18px 40px rgba(43,35,109,.08);border-radius:26px;overflow:hidden}.bpa-wizard-heading{background:linear-gradient(135deg,#f8f6ff,#edf3ff);padding:24px}.bpa-wizard-step{padding:28px}.bpa-radio-grid label>span,.bpa-mode-grid label>span{border-radius:18px;min-height:120px;transition:transform .15s,border-color .15s,box-shadow .15s}.bpa-radio-grid label>span:hover,.bpa-mode-grid label>span:hover{transform:translateY(-2px)}.bpa-mode-grid input:checked+span,.bpa-radio-grid input:checked+span{box-shadow:0 10px 24px rgba(90,68,204,.12)}
.bpa-admin-page>.workspace-heading{padding:28px;border-radius:26px;background:linear-gradient(125deg,#12214a,#4334a6 55%,#7350e3);color:#fff;box-shadow:0 20px 44px rgba(38,31,102,.14)}.bpa-admin-page>.workspace-heading .eyebrow,.bpa-admin-page>.workspace-heading p{color:#d8daf6}.bpa-admin-page>.workspace-heading .button.secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff}.bpa-admin-page .settings-tabs{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px;overflow-x:auto}.bpa-admin-page .settings-tabs a{border-radius:12px;white-space:nowrap}
.bpa-teacher-competition-card{border-radius:22px}.bpa-teacher-comp-icon{font-size:.7rem;font-weight:900}.bpa-csv-schema{padding:12px 14px;background:#f4f6fb;border-radius:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem;color:#536078;line-height:1.55;margin-bottom:14px;overflow-wrap:anywhere}.bpa-prep-assignment-layout .settings-card{position:sticky;top:18px}.bpa-prep-assignment-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:17px;margin-bottom:10px;background:#fff}.prep-assignment-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#4c65e0,#7251e0);color:#fff;display:grid;place-items:center;font-weight:900}.bpa-prep-assignment-row strong,.bpa-prep-assignment-row small{display:block}.bpa-prep-assignment-row small{color:var(--muted);margin-top:4px}.bpa-admin-list-heading{margin-bottom:14px}.bpa-admin-list-heading h2{margin:3px 0}
@media(max-width:1200px){.bpa-student-insight-grid{grid-template-columns:1fr}.bpa-prep-assignment-layout .settings-card{position:static}}
@media(max-width:800px){.bpa-page-heading,.bpa-admin-page>.workspace-heading{padding:22px}.bpa-task-row{grid-template-columns:40px minmax(0,1fr)}.bpa-task-row>a{grid-column:2}.bpa-growth-svg{height:150px}}


/* Cyber Cave Portal 3.1.0 — BPA Question Bank Studio */
.bpa-bank-workspace{max-width:1320px}.bpa-bank-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:28px 30px;border-radius:25px;background:linear-gradient(135deg,#131f48,#4935a6 58%,#3569db);color:#fff;box-shadow:0 20px 44px rgba(36,43,104,.17)}.bpa-bank-hero h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:4px 0 7px;letter-spacing:-.045em}.bpa-bank-hero p{margin:0;color:rgba(255,255,255,.8)}.bpa-bank-hero .eyebrow{color:#ddd8ff}.bpa-bank-hero .button.secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff;white-space:nowrap}.bpa-bank-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.bpa-bank-stats article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px}.bpa-bank-stats span,.bpa-bank-stats strong{display:block}.bpa-bank-stats span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.bpa-bank-stats strong{font-size:1.8rem;margin-top:4px}.bpa-bank-main-grid{display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:18px;align-items:start}.bpa-bank-upload-card,.bpa-bank-library,.bpa-import-preview,.bpa-existing-bank-preview{background:#fff;border:1px solid var(--line);border-radius:23px;box-shadow:0 13px 30px rgba(28,40,69,.05)}.bpa-bank-upload-card{padding:22px;display:grid;gap:14px;position:sticky;top:18px;min-width:0}.bpa-bank-upload-card label{display:grid;gap:7px;font-weight:800;min-width:0}.bpa-bank-upload-card input,.bpa-bank-upload-card select,.bpa-bank-upload-card textarea{width:100%;min-width:0}.bpa-bank-upload-card small{color:var(--muted);font-weight:500;line-height:1.4}.bpa-bank-upload-heading{display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center;margin-bottom:3px}.bpa-bank-upload-heading>span{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg,#6849df,#316ee1);color:#fff;font-weight:900;font-size:.83rem}.bpa-bank-upload-heading h3{font-size:1.5rem;margin:3px 0}.bpa-bank-upload-heading p{margin:0;color:var(--muted);font-size:.86rem}.bpa-bank-notes{padding:12px 14px;border-radius:14px;background:#f6f7fb}.bpa-bank-notes summary{cursor:pointer;font-weight:800}.bpa-bank-notes label{margin-top:12px}.bpa-bank-template-callout{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px;border-radius:15px;background:#eef3ff}.bpa-bank-template-callout strong,.bpa-bank-template-callout p{display:block}.bpa-bank-template-callout p{margin:3px 0 0;font-size:.77rem;color:#63728c;line-height:1.4}.bpa-bank-template-callout a{font-size:.78rem;font-weight:900;white-space:nowrap}.bpa-bank-library{padding:22px;min-width:0}.bpa-bank-library-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:14px}.bpa-bank-library-heading h3{font-size:1.55rem;margin:3px 0}.bpa-bank-library-heading>span{font-size:.75rem;font-weight:900;color:var(--muted)}.bpa-bank-list{display:grid;gap:10px}.bpa-bank-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:17px;transition:border-color .15s,box-shadow .15s}.bpa-bank-card:hover,.bpa-bank-card.selected{border-color:#a99bec;box-shadow:0 9px 20px rgba(69,54,153,.08)}.bpa-bank-round{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-weight:900;color:#fff}.bpa-bank-round.regional{background:linear-gradient(135deg,#3184dd,#4a60cf)}.bpa-bank-round.state{background:linear-gradient(135deg,#7a4bd3,#5630b7)}.bpa-bank-round.national{background:linear-gradient(135deg,#d68a31,#b95a35)}.bpa-bank-card-copy{min-width:0}.bpa-bank-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bpa-bank-card-title h3{font-size:.98rem;margin:0;overflow-wrap:anywhere}.bpa-bank-card-title span{padding:4px 7px;border-radius:999px;background:#f1effb;color:#6348c7;font-size:.65rem;font-weight:900}.bpa-bank-card-copy>p{margin:4px 0 7px;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.bpa-bank-meta{display:flex;gap:6px;flex-wrap:wrap}.bpa-bank-meta span{padding:5px 7px;border-radius:999px;background:#f3f5f9;font-size:.67rem;font-weight:800;color:#687187}.bpa-bank-card-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.bpa-bank-card-actions form{margin:0}.bpa-bank-card-actions .button{padding:8px 9px;font-size:.72rem}.bpa-import-preview,.bpa-existing-bank-preview{padding:22px;margin:0 0 18px}.bpa-existing-bank-preview{margin-top:18px}.bpa-import-preview{border-color:#cfc6fb;background:linear-gradient(180deg,#fff,#fbfaff)}.bpa-import-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.bpa-import-preview-head h2{font-size:1.75rem;margin:3px 0 5px}.bpa-import-preview-head p{margin:0;color:var(--muted)}.bpa-import-preview-head small{display:block;margin-top:6px;color:var(--muted)}.bpa-preview-actions{display:flex;gap:8px;flex-wrap:wrap}.bpa-preview-actions form{margin:0}.bpa-preview-notice{padding:10px 12px;margin-bottom:12px;border-radius:12px;background:#eef3ff;color:#536884;font-size:.8rem;font-weight:700}.bpa-question-preview-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-right:4px}.bpa-question-preview-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:15px;border:1px solid #e1e5ed;border-radius:16px;background:#fff}.bpa-question-preview-number{width:32px;height:32px;border-radius:10px;background:#eef1f7;color:#59657a;display:grid;place-items:center;font-size:.75rem;font-weight:900}.bpa-question-preview-card h4{margin:2px 0 10px;font-size:.98rem;line-height:1.4}.bpa-question-preview-card ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:7px}.bpa-question-preview-card li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 9px;border-radius:11px;background:#f7f8fb;font-size:.78rem}.bpa-question-preview-card li b{width:24px;height:24px;border-radius:8px;background:#e5e9f1;display:grid;place-items:center;font-size:.7rem}.bpa-question-preview-card li.correct{background:#eaf8f1;color:#235f49}.bpa-question-preview-card li.correct b{background:#bfe9d3}.bpa-question-preview-card li em{font-size:.63rem;font-style:normal;font-weight:900;text-transform:uppercase}.bpa-question-explanation{margin-top:9px;padding:9px 11px;border-radius:11px;background:#f1effb}.bpa-question-explanation strong{font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;color:#6a55b6}.bpa-question-explanation p{margin:3px 0 0;font-size:.77rem;color:#59657a;line-height:1.4}
@media(max-width:1280px){.bpa-bank-main-grid{grid-template-columns:1fr}.bpa-bank-upload-card{position:static}.bpa-bank-card{grid-template-columns:50px minmax(0,1fr)}.bpa-bank-card-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:760px){.bpa-bank-hero{display:block;padding:22px}.bpa-bank-hero .button{margin-top:15px}.bpa-bank-stats{grid-template-columns:1fr}.bpa-import-preview-head,.bpa-bank-library-heading{display:block}.bpa-preview-actions{margin-top:13px}.bpa-bank-upload-card,.bpa-bank-library,.bpa-import-preview,.bpa-existing-bank-preview{padding:17px}.bpa-question-preview-card ul{grid-template-columns:1fr}.bpa-bank-template-callout{display:block}.bpa-bank-template-callout a{display:inline-block;margin-top:8px}.bpa-bank-card{grid-template-columns:42px minmax(0,1fr)}.bpa-bank-round{width:42px;height:42px}.bpa-bank-card-actions{grid-column:1/-1}}


/* Cyber Cave Portal 3.2.0 — Kiosk session-fit roster */
.kiosk-body{overflow:hidden!important}
.kiosk-body main{height:100vh;overflow:hidden}
.kiosk-page,.kiosk-interface{height:100vh;min-height:100vh;overflow:hidden}
.kiosk-interface{padding-bottom:58px}
.kiosk-home-grid{grid-template-columns:repeat(var(--kiosk-roster-cols,6),minmax(0,var(--kiosk-roster-width,172px)))!important;gap:var(--kiosk-roster-gap,14px)!important;width:min(100%,1320px)!important;max-width:1320px!important;align-content:start;justify-content:center}
.kiosk-home-grid .kiosk-student-tile{width:var(--kiosk-roster-width,172px);min-width:0;padding:8px;border-radius:22px;gap:7px}
.kiosk-home-grid .tile-photo-shell{width:100%;height:auto!important;aspect-ratio:5/5.85;border-radius:17px}
.kiosk-home-grid .tile-name{padding:0 4px 3px;gap:2px}
.kiosk-home-grid .tile-name strong{font-size:clamp(.78rem,calc(var(--kiosk-roster-width,172px) * .0073),1.05rem);white-space:normal;line-height:1.08;text-align:center;overflow-wrap:normal;word-break:normal}
.kiosk-home-grid .tile-name span{font-size:.68rem;line-height:1.1}
.kiosk-home-grid.dense-roster .kiosk-student-tile{padding:6px;border-radius:18px}
.kiosk-home-grid.dense-roster .tile-photo-shell{border-radius:14px}
.kiosk-home-grid.dense-roster .tile-name strong{font-size:.78rem}
.kiosk-home-grid.dense-roster .tile-status{font-size:.55rem;padding:5px 6px;left:6px;top:6px}
.kiosk-home-grid.compact-roster .tile-name strong{font-size:.68rem}
.kiosk-home-grid.compact-roster .tile-name span{display:none}
.kiosk-home-grid.compact-roster .tile-status{font-size:.5rem;padding:4px 5px}
.kiosk-page.kiosk-many-students .kiosk-interface{padding-top:12px}
.kiosk-page.kiosk-many-students .kiosk-top{margin-bottom:4px}
.kiosk-page.kiosk-many-students .kiosk-top .clock{font-size:2.65rem}
.kiosk-page.kiosk-many-students .kiosk-top-center{gap:6px}
.kiosk-page.kiosk-many-students .session-choice{padding:7px 12px;min-width:108px;font-size:.76rem}
.kiosk-page.kiosk-many-students .out-badge{padding:8px 12px;min-width:88px}
.kiosk-page.kiosk-many-students .kiosk-message{margin:8px auto 10px}
.kiosk-page.kiosk-many-students .kiosk-message h1{font-size:2.55rem;margin-bottom:4px}
.kiosk-page.kiosk-many-students .kiosk-message p{font-size:.85rem}
.kiosk-page.kiosk-packed-students .kiosk-top .clock{font-size:2.25rem}
.kiosk-page.kiosk-packed-students .session-choice{padding:5px 10px;min-width:98px}
.kiosk-page.kiosk-packed-students .kiosk-message{margin:5px auto 7px}
.kiosk-page.kiosk-packed-students .kiosk-message h1{font-size:2.15rem}
.kiosk-page.kiosk-packed-students .kiosk-message p{font-size:.78rem}
.kiosk-page.kiosk-packed-students .out-badge{transform:scale(.88);transform-origin:top right}
@media(max-height:800px){.kiosk-interface{padding-top:8px;padding-bottom:46px}.kiosk-top .clock{font-size:2.3rem}.kiosk-top-center{gap:5px}.session-choice{padding:6px 10px;min-width:98px}.kiosk-message{margin:5px auto 8px}.kiosk-message h1{font-size:2.1rem}.kiosk-message p{font-size:.78rem}}

/* Cyber Cave Portal 3.2.1 — kiosk checkout state fix */
.kiosk-student-tile.out{border-color:rgba(255,205,137,.52);background:linear-gradient(180deg,rgba(179,105,47,.34),rgba(16,28,54,.48))}.tile-status{background:rgba(210,126,55,.96);box-shadow:0 8px 18px rgba(66,35,10,.18)}


/* Cyber Cave Portal 3.3.0 — configurable Student Details fields */
.profile-details-workspace{display:grid;gap:16px;max-width:1180px}.profile-dynamic-details-form{padding:24px}.profile-details-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.profile-details-heading h2{font-size:1.8rem;margin:3px 0 5px}.profile-details-heading p{margin:0;color:var(--muted)}.profile-dynamic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-dynamic-field{display:grid;gap:7px;min-width:0;font-weight:800}.profile-dynamic-field>span{font-size:.88rem}.profile-dynamic-field input,.profile-dynamic-field textarea,.profile-dynamic-field select{width:100%;min-width:0}.profile-dynamic-field.wide{grid-column:1/-1}.profile-checkbox-field{display:flex;align-items:center;gap:9px;min-height:48px;padding:0 4px}.profile-checkbox-field input[type=checkbox]{width:auto}.profile-photo-field{padding-top:5px;border-top:1px solid var(--line)}
.profile-fields-manager{background:linear-gradient(135deg,#f7f5ff,#f4f8ff);border:1px solid #ddd9f5;border-radius:20px;overflow:hidden}.profile-fields-manager>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer}.profile-fields-manager>summary::-webkit-details-marker{display:none}.profile-fields-manager>summary>div{display:flex;gap:12px;align-items:center}.profile-fields-manager>summary>div>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#e9e3ff;color:#6246cc;font-size:1.2rem}.profile-fields-manager>summary strong,.profile-fields-manager>summary small{display:block}.profile-fields-manager>summary small{margin-top:3px;color:var(--muted);font-weight:500}.profile-fields-manager>summary>b{padding:7px 10px;border-radius:999px;background:#fff;color:#5d49bd;font-size:.72rem}.profile-fields-manager-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:18px;padding:0 20px 20px}.profile-field-manager-heading{padding:12px 0}.profile-field-manager-heading h3,.profile-field-add-card h3{margin:3px 0 5px;font-size:1.25rem}.profile-field-manager-heading>p:last-child{color:var(--muted);margin:0;font-size:.85rem}.profile-field-list{display:grid;gap:8px}.profile-field-row{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.profile-field-row.inactive{opacity:.7}.profile-field-row>summary{list-style:none;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;cursor:pointer}.profile-field-row>summary::-webkit-details-marker{display:none}.profile-field-row>summary strong,.profile-field-row>summary small{display:block}.profile-field-row>summary small{color:var(--muted);font-size:.72rem;margin-top:2px}.profile-field-row>summary>b{font-size:.7rem;padding:5px 8px;border-radius:999px;background:#eef7f2;color:#2d755a}.profile-field-row.inactive>summary>b{background:#f0f2f5;color:#6f7786}.profile-field-grip{color:#a1a8b7;font-weight:900}.profile-field-edit-form{padding:15px;border-top:1px solid var(--line);background:#fbfcfe}.profile-field-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.profile-field-edit-grid label{display:grid;gap:6px;font-size:.82rem;font-weight:800;min-width:0}.profile-field-edit-grid input,.profile-field-edit-grid select,.profile-field-edit-grid textarea{width:100%;min-width:0}.profile-field-edit-grid .wide{grid-column:1/-1}.profile-field-edit-grid .check-label{display:flex;align-items:center;gap:8px;padding-top:23px}.profile-field-edit-grid .check-label input{width:auto}.profile-field-protected{display:flex;align-items:end;padding-bottom:12px;color:#7b8494;font-size:.78rem;font-weight:800}.profile-field-edit-actions{display:flex;gap:10px;align-items:center;margin-top:13px}.profile-field-add-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;align-self:start;display:grid;gap:11px}.profile-field-add-card label{display:grid;gap:6px;font-size:.82rem;font-weight:800}.profile-field-add-card input,.profile-field-add-card select,.profile-field-add-card textarea{width:100%;min-width:0}.profile-field-add-card .check-label{display:flex;align-items:center;gap:8px}.profile-field-add-card .check-label input{width:auto}.profile-field-add-card small{color:var(--muted);font-weight:500}
@media(max-width:1100px){.profile-fields-manager-body{grid-template-columns:1fr}.profile-field-add-card{max-width:none}.profile-dynamic-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.profile-dynamic-grid,.profile-field-edit-grid{grid-template-columns:1fr}.profile-dynamic-field.wide,.profile-field-edit-grid .wide{grid-column:auto}.profile-fields-manager>summary{align-items:flex-start}.profile-fields-manager>summary>b{display:none}.profile-fields-manager-body{padding:0 14px 14px}.profile-dynamic-details-form{padding:18px}.profile-field-edit-grid .check-label{padding-top:5px}.profile-field-row>summary{grid-template-columns:20px minmax(0,1fr)}.profile-field-row>summary>b{grid-column:2;justify-self:start}.profile-field-edit-actions{flex-wrap:wrap}}
@media(max-width:480px){.profile-dynamic-grid{grid-template-columns:1fr}.profile-fields-manager>summary{padding:14px}.profile-fields-manager>summary>div>span{width:36px;height:36px}.profile-field-edit-form{padding:12px}.profile-field-add-card{padding:15px}}


/* Cyber Cave Portal 3.3.1 — Student Details drag ordering */
.profile-field-manager-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.profile-field-order-state{min-width:88px;text-align:right;font-size:.76rem;font-weight:900;color:#627087;padding-top:4px}
.profile-field-order-state[data-tone="success"]{color:#28765a}.profile-field-order-state[data-tone="error"]{color:#b24f45}
.profile-field-row{transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease,border-color .14s ease}
.profile-field-row[draggable="true"]>.profile-field-grip,.profile-field-row[draggable="true"]>summary .profile-field-grip{cursor:grab;touch-action:none;user-select:none}
.profile-field-row[draggable="true"]>summary .profile-field-grip:active{cursor:grabbing}
.profile-field-dragging{opacity:.42;box-shadow:0 18px 34px rgba(35,46,75,.14)}
.profile-field-drop-before{border-top:3px solid #654ee7!important}.profile-field-drop-after{border-bottom:3px solid #654ee7!important}
.profile-field-list{position:relative}
.profile-field-list .profile-field-row>summary{grid-template-columns:34px minmax(0,1fr) auto}
.profile-field-grip{display:grid;place-items:center;width:30px;height:34px;border-radius:10px;color:#778198;font-size:1.05rem;letter-spacing:-4px;background:#f2f4f8;border:1px solid #e1e5ed}
.profile-field-grip:hover{background:#ebe7ff;color:#6046d0;border-color:#d9d0fb}
@media(max-width:700px){.profile-field-manager-heading{display:block}.profile-field-order-state{display:block;text-align:left;min-height:20px;margin-top:8px}.profile-field-list .profile-field-row>summary{grid-template-columns:32px minmax(0,1fr) auto}}


/* Cyber Cave Portal 3.4.0 — Lesson Plans */
.lesson-plans-workspace,.lesson-editor-shell,.lesson-view-shell{max-width:1500px}.lesson-plans-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px 32px;border-radius:28px;background:linear-gradient(135deg,#102d42 0%,#175d68 52%,#3d7a70 100%);color:#fff;box-shadow:0 24px 52px rgba(21,72,78,.18);position:relative;overflow:hidden}.lesson-plans-hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-100px;top:-150px;background:rgba(255,255,255,.08)}.lesson-plans-hero h1{font-size:clamp(2.6rem,4.4vw,4.5rem);margin:4px 0 8px;letter-spacing:-.05em}.lesson-plans-hero p{margin:0;color:rgba(255,255,255,.82);font-size:1.02rem}.lesson-plans-hero .eyebrow{color:#bfe9df}.lesson-hero-actions{display:flex;gap:10px;flex-wrap:wrap;z-index:1}.lesson-hero-actions .button.secondary{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}.lesson-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.lesson-stat-strip article{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 24px rgba(28,40,69,.045);min-width:0}.lesson-stat-strip span,.lesson-stat-strip strong,.lesson-stat-strip small{display:block}.lesson-stat-strip>article>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.lesson-stat-strip strong{font-size:1.8rem;margin-top:5px}.lesson-stat-strip small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px}.lesson-today-panel,.lesson-upcoming-panel,.lesson-archive-section,.lesson-day-card,.lesson-reference-panel>section{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 32px rgba(28,40,69,.05)}.lesson-today-panel,.lesson-upcoming-panel{padding:24px}.lesson-panel-heading,.lesson-builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.lesson-panel-heading h2,.lesson-builder-heading h2{font-size:1.6rem;margin:3px 0}.lesson-panel-heading p,.lesson-builder-heading p{margin:0;color:var(--muted)}.lesson-panel-heading>a{font-weight:900;color:#45766e}.lesson-today-list{display:grid;gap:10px}.lesson-today-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:15px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:18px;transition:.15s;background:#fff}.lesson-today-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(28,40,69,.08)}.lesson-date-tile{width:60px;height:64px;border-radius:16px;background:linear-gradient(145deg,#e7f6f2,#d8efea);display:grid;place-content:center;text-align:center;color:#356d64}.lesson-date-tile b{font-size:.66rem;text-transform:uppercase}.lesson-date-tile strong{font-size:1.55rem;line-height:1}.lesson-today-card small{font-size:.72rem;color:#4c8278;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.lesson-today-card h3{margin:4px 0;font-size:1.06rem}.lesson-today-card p{margin:0;color:var(--muted);font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-arrow{font-size:1.35rem;color:#8791a4}.lesson-empty-today{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border-radius:18px;background:#f4f9f7}.lesson-empty-today>span{width:50px;height:50px;border-radius:15px;background:#dcefe9;color:#367469;display:grid;place-items:center;font-size:1.4rem}.lesson-empty-today p{margin:4px 0 0;color:var(--muted)}.lesson-upcoming-list{display:grid;gap:8px}.lesson-upcoming-list>a{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border-radius:15px;background:#f7f8fb}.lesson-upcoming-list>a>span{font-size:.75rem;font-weight:900;color:#46786f}.lesson-upcoming-list strong,.lesson-upcoming-list small{display:block}.lesson-upcoming-list small{color:var(--muted);margin-top:2px}.lesson-mini-empty{padding:24px;text-align:center;color:var(--muted)}.lesson-archive-section{margin-top:18px;padding:24px}.lesson-archive-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.lesson-archive-heading h2{font-size:1.7rem;margin:3px 0}.lesson-archive-heading p{margin:0;color:var(--muted)}.lesson-filter-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lesson-filter-form input{min-width:220px}.lesson-filter-form select{max-width:190px}.lesson-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-archive-card{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;min-width:0}.lesson-archive-card:hover{box-shadow:0 12px 24px rgba(27,38,65,.07)}.lesson-archive-date{text-align:center;border-right:1px solid var(--line);padding-right:12px}.lesson-archive-date strong,.lesson-archive-date span{display:block}.lesson-archive-date strong{font-size:1.65rem}.lesson-archive-date span{font-size:.68rem;color:var(--muted);text-transform:uppercase}.lesson-archive-copy{min-width:0}.lesson-archive-copy>div:first-child{display:flex;gap:8px;align-items:center}.lesson-archive-copy small{color:var(--muted)}.lesson-archive-copy h3{font-size:1rem;margin:6px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-archive-copy p{margin:0;color:var(--muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-archive-meta{display:flex;gap:7px!important;margin-top:8px}.lesson-archive-meta span{padding:5px 7px;border-radius:999px;background:#f3f5f8;color:#687187;font-size:.68rem}.lesson-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.67rem;font-weight:900}.lesson-status.status-draft{background:#f2f3f6;color:#697184}.lesson-status.status-ready{background:#e4f5ef;color:#297260}.lesson-status.status-complete{background:#e8efff;color:#4166ad}.lesson-archive-empty{grid-column:1/-1;text-align:center;padding:50px 20px;border:2px dashed #dce1ea;border-radius:20px;color:var(--muted)}.lesson-archive-empty>span{font-size:2rem}.lesson-archive-empty h3{color:var(--text);margin:8px 0 4px}
.lesson-editor-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.lesson-editor-header>a{font-weight:900;color:var(--muted)}.lesson-editor-header h1{font-size:2.5rem;margin:3px 0}.lesson-editor-header p{margin:0;color:var(--muted)}.lesson-editor-header-actions{display:flex;gap:9px}.lesson-plan-form{display:grid;gap:18px}.lesson-plan-basics,.lesson-agenda-builder,.lesson-plan-footer-fields{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 32px rgba(28,40,69,.045);padding:24px}.lesson-plan-basics{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lesson-plan-basics label,.lesson-plan-footer-fields label,.lesson-editor-item label{display:grid;gap:7px;font-weight:800;min-width:0}.lesson-plan-basics .wide{grid-column:1/-1}.lesson-editor-items{display:grid;gap:12px}.lesson-editor-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fbfcfe;transition:.15s}.lesson-editor-item.dragging{opacity:.45;transform:scale(.99)}.lesson-drag{font-size:1.2rem;color:#98a2b5;cursor:grab;letter-spacing:-5px;padding-top:7px}.lesson-editor-item-main{display:grid;gap:12px;min-width:0}.lesson-editor-row-top{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(120px,.8fr) minmax(90px,.55fr) 38px;gap:10px;align-items:end}.lesson-remove-item{width:36px;height:36px;border-radius:10px;border:1px solid #f0d6d2;background:#fff6f4;color:#b55649;font-size:1.3rem;cursor:pointer}.lesson-resource-field small{font-weight:500;color:var(--muted)}.lesson-plan-footer-fields{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.lesson-plan-footer-fields .reflection textarea{min-height:82px}.lesson-editor-bottom{display:flex;justify-content:flex-end;gap:9px}.lesson-view-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding:28px 30px;margin-bottom:18px;border-radius:26px;background:linear-gradient(135deg,#f6fbf9,#eef6f3);border:1px solid #dbe9e5}.lesson-view-hero>a,.lesson-view-hero div>a:first-child{font-weight:900;color:#55746e}.lesson-view-hero h1{font-size:clamp(2rem,3.5vw,3.4rem);margin:5px 0;letter-spacing:-.04em}.lesson-view-hero p{color:#647872;margin:0}.lesson-view-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.lesson-view-meta>span:not(.lesson-status){padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #d9e5e1;font-size:.75rem;font-weight:800;color:#5b706b}.lesson-view-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lesson-inline-form{display:flex;gap:6px;align-items:center}.lesson-inline-form input{max-width:145px}.lesson-view-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.55fr);gap:18px;align-items:start}.lesson-day-card{padding:24px}.lesson-agenda-view{display:grid;gap:12px}.lesson-agenda-item{display:grid;grid-template-columns:54px minmax(0,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.lesson-item-rail{display:grid;place-items:center;background:#edf4f2;color:#397268;font-size:1.2rem}.lesson-agenda-item.type-assessment .lesson-item-rail{background:#f1ecfb;color:#6650a9}.lesson-agenda-item.type-lab .lesson-item-rail{background:#eaf1fb;color:#416b9d}.lesson-agenda-item.type-break .lesson-item-rail{background:#f7f2e8;color:#8a6a32}.lesson-agenda-item.type-closure .lesson-item-rail{background:#f3f4f6;color:#626a79}.lesson-item-main{padding:16px}.lesson-item-top{display:flex;justify-content:space-between;gap:14px}.lesson-type-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:#4d786f;font-weight:900}.lesson-item-top h3{margin:4px 0 0;font-size:1.08rem}.lesson-item-main>p{margin:9px 0 0;color:#626d80;line-height:1.5}.lesson-item-time{text-align:right;white-space:nowrap}.lesson-item-time strong,.lesson-item-time span{display:block}.lesson-item-time strong{font-size:.88rem}.lesson-item-time span{font-size:.72rem;color:var(--muted);margin-top:2px}.lesson-resource-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.lesson-resource-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#eaf5f2;color:#356f65;font-size:.75rem;font-weight:900}.lesson-reference-panel{display:grid;gap:12px}.lesson-reference-panel>section{padding:20px}.lesson-reference-panel h3{font-size:2rem;margin:4px 0 14px}.lesson-reference-panel dl{display:grid;grid-template-columns:95px minmax(0,1fr);gap:9px;margin:0}.lesson-reference-panel dt{color:var(--muted);font-size:.8rem}.lesson-reference-panel dd{margin:0;font-weight:800}.lesson-reflection-card p:last-child{line-height:1.55;color:#586579}.lesson-status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lesson-status-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 7px;cursor:pointer;font-weight:800}.lesson-status-actions button.active{background:#e9f5f1;border-color:#bcdcd3;color:#317266}
@media(max-width:1280px){.lesson-stat-strip{grid-template-columns:repeat(2,1fr)}.lesson-dashboard-grid,.lesson-view-layout{grid-template-columns:1fr}.lesson-upcoming-panel{order:2}.lesson-archive-grid{grid-template-columns:1fr}.lesson-reference-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-reference-panel>form{grid-column:1/-1}}
@media(max-width:900px){.lesson-plans-hero,.lesson-editor-header,.lesson-view-hero,.lesson-archive-heading{display:block}.lesson-hero-actions,.lesson-editor-header-actions,.lesson-view-actions{margin-top:16px}.lesson-plan-basics,.lesson-plan-footer-fields{grid-template-columns:1fr}.lesson-plan-basics .wide{grid-column:auto}.lesson-editor-row-top{grid-template-columns:1fr 1fr}.lesson-remove-item{grid-column:2;justify-self:end}.lesson-filter-form{margin-top:14px}.lesson-filter-form>*{flex:1 1 170px;max-width:none!important}.lesson-reference-panel{grid-template-columns:1fr}}
@media(max-width:620px){.lesson-stat-strip{grid-template-columns:1fr 1fr}.lesson-today-card{grid-template-columns:52px minmax(0,1fr)}.lesson-today-card>.lesson-arrow{display:none}.lesson-empty-today{grid-template-columns:1fr;text-align:center}.lesson-empty-today>span{margin:auto}.lesson-archive-card{grid-template-columns:58px minmax(0,1fr)}.lesson-archive-card>.lesson-arrow{display:none}.lesson-editor-item{grid-template-columns:1fr}.lesson-drag{padding:0;letter-spacing:0}.lesson-editor-row-top{grid-template-columns:1fr}.lesson-remove-item{grid-column:auto;justify-self:end}.lesson-item-top{display:block}.lesson-item-time{text-align:left;margin-top:7px;display:flex;gap:8px}.lesson-item-time strong,.lesson-item-time span{display:inline}.lesson-agenda-item{grid-template-columns:42px minmax(0,1fr)}}

/* 3.5.0 Lesson Plans — Weekly Board */
.lesson-week-workspace{max-width:1680px}.lesson-week-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f7fafc 55%,#eef7f5 100%);box-shadow:0 14px 34px rgba(25,36,64,.05)}.lesson-week-hero h1{font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.05em;margin:3px 0 6px}.lesson-week-hero>div>p:last-child{margin:0;color:var(--muted)}.lesson-week-jump form{display:flex;align-items:end;gap:8px}.lesson-week-jump label{display:grid;gap:6px;font-weight:800;font-size:.78rem;color:var(--muted)}.lesson-week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0}.lesson-week-nav,.lesson-week-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.lesson-week-nav>div{min-width:245px}.lesson-week-nav>div span,.lesson-week-nav>div strong{display:block}.lesson-week-nav>div span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.lesson-week-nav>div strong{font-size:1.05rem;margin-top:2px}.lesson-week-stat{display:flex;align-items:baseline;gap:5px;padding:8px 11px;border:1px solid var(--line);background:#fff;border-radius:12px;color:var(--muted);font-size:.78rem}.lesson-week-stat b{color:var(--text);font-size:1rem}.lesson-week-scroll{overflow-x:auto;padding-bottom:6px}.lesson-week-grid{display:grid;grid-template-columns:150px repeat(5,minmax(185px,1fr));gap:8px;min-width:1120px}.lesson-week-corner,.lesson-week-day,.lesson-week-rowhead,.lesson-week-cell{border:1px solid var(--line);border-radius:16px;min-width:0}.lesson-week-corner{display:flex;align-items:end;padding:13px 14px;background:#f7f8fa;color:var(--muted);font-size:.66rem;letter-spacing:.09em;font-weight:900}.lesson-week-day{padding:12px 14px;background:#fff}.lesson-week-day strong,.lesson-week-day span{display:block}.lesson-week-day strong{font-size:.92rem}.lesson-week-day span{color:var(--muted);font-size:.76rem;margin-top:2px}.lesson-week-day.is-today{border-color:#9fcfc4;background:#edf9f6;box-shadow:inset 0 -3px 0 #5ea999}.lesson-week-rowhead{padding:14px;display:flex;flex-direction:column;justify-content:center;background:#13283a;color:#fff;min-height:180px}.lesson-week-rowhead strong{font-size:.92rem;line-height:1.2}.lesson-week-rowhead span{font-size:.7rem;color:rgba(255,255,255,.62);margin-top:5px}.lesson-week-cell{min-height:180px;background:#fff;padding:13px;transition:.14s;position:relative}.lesson-week-cell.has-plan{cursor:pointer}.lesson-week-cell.has-plan:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(25,39,68,.1);border-color:#cbd5df}.lesson-week-cell.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8c97a8;border-style:dashed;background:#fbfcfd}.lesson-week-cell.empty:hover{background:#f3f8f7;border-color:#9dc7bd;color:#477b70}.lesson-empty-plus{width:34px;height:34px;border-radius:10px;background:#eef3f4;display:grid;place-items:center;font-size:1.25rem;margin-bottom:7px}.lesson-week-cell.empty strong{font-size:.82rem}.lesson-week-cell.empty small{font-size:.68rem;margin-top:3px}.lesson-cell-top{display:flex;justify-content:space-between;gap:8px;align-items:start}.lesson-cell-top h3{font-size:.94rem;line-height:1.25;margin:0}.lesson-cell-top>span{color:#a3abba;font-weight:900;letter-spacing:1px}.lesson-cell-focus{margin:6px 0 8px;font-size:.72rem;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lesson-week-cell ul{list-style:none;padding:0;margin:8px 0;display:grid;gap:5px}.lesson-week-cell li{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:5px;font-size:.73rem;line-height:1.25;color:#49566a}.lesson-week-cell li span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-mini-type{width:18px;height:18px;border-radius:6px;background:#eef5f3;color:#4b7a71;display:grid;place-items:center;font-size:.62rem}.lesson-cell-more{display:block;color:var(--muted);font-size:.66rem;margin-top:-3px}.lesson-cell-resources{display:flex;gap:5px;overflow:hidden;margin-top:8px}.lesson-cell-resources .lesson-resource-pill{padding:5px 7px;font-size:.64rem;max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-cell-footer{position:absolute;left:13px;right:13px;bottom:11px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--muted);font-size:.65rem}.lesson-cell-footer .lesson-status{padding:4px 6px;font-size:.58rem}.lesson-week-footer{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start;margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff}.lesson-week-footer h2{margin:3px 0;font-size:1.4rem}.lesson-week-footer p:last-child{margin:0;color:var(--muted)}.lesson-recent-weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.lesson-recent-week{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#fafbfd}.lesson-recent-week span{font-size:.75rem;font-weight:800}.lesson-recent-week b{font-size:.66rem;color:var(--muted)}.lesson-recent-week.active{background:#eaf6f2;border-color:#badacf;color:#356f64}.lesson-week-editor .lesson-plan-basics{grid-template-columns:220px 260px minmax(0,1fr)}.lesson-week-editor .lesson-plan-basics .wide{grid-column:1/-1}.muted-inline{font-weight:500;color:var(--muted);font-size:.78rem}.button.danger{color:#a9483d;border-color:#edd1cc}.lesson-editor-header-actions form{margin:0}
@media(max-width:1200px){.lesson-week-hero,.lesson-week-toolbar{align-items:flex-start}.lesson-week-toolbar{display:block}.lesson-week-actions{margin-top:10px}.lesson-recent-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-week-editor .lesson-plan-basics{grid-template-columns:1fr 1fr}.lesson-week-editor .lesson-plan-basics .wide{grid-column:1/-1}}
@media(max-width:760px){.lesson-week-hero{display:block;padding:22px}.lesson-week-jump{margin-top:16px}.lesson-week-jump form{align-items:stretch}.lesson-week-nav>div{min-width:0;flex:1}.lesson-week-actions form{width:100%}.lesson-week-actions form button{width:100%}.lesson-week-footer{grid-template-columns:1fr}.lesson-recent-weeks{grid-template-columns:1fr 1fr}.lesson-week-editor .lesson-plan-basics{grid-template-columns:1fr}.lesson-week-editor .lesson-plan-basics .wide{grid-column:auto}}

/* 3.5.1 Lesson Plans — Quick Entry */
.lesson-quick-shell{max-width:1180px;padding-bottom:96px}.lesson-quick-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.lesson-quick-header>a,.lesson-quick-header div>a{font-weight:900;color:var(--muted)}.lesson-quick-header h1{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.045em;margin:8px 0 0}.lesson-quick-context{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.lesson-quick-context span{padding:6px 9px;border-radius:999px;background:#edf5f3;color:#3f7067;font-size:.72rem;font-weight:900}.lesson-quick-form{display:block}.lesson-quick-main{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 34px rgba(28,40,69,.05);padding:22px}.lesson-quick-name{display:grid;gap:7px;font-weight:900}.lesson-quick-name>span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.lesson-quick-name input{font-size:1.35rem;font-weight:800;padding:13px 14px;border-radius:14px}.lesson-quick-builder{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.lesson-quick-builder-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.lesson-quick-builder-head h2{font-size:1.35rem;margin:0}.lesson-quick-builder-head p{margin:3px 0 0;color:var(--muted);font-size:.82rem}.button.compact{padding:8px 11px;font-size:.78rem}.lesson-quick-items{display:grid;gap:7px}.lesson-quick-item{border:1px solid #e3e7ed;border-radius:14px;background:#fbfcfd;overflow:hidden;transition:.14s}.lesson-quick-item:focus-within{border-color:#a9cfc7;box-shadow:0 0 0 3px rgba(92,162,148,.1)}.lesson-quick-item.dragging{opacity:.45}.lesson-quick-row{display:grid;grid-template-columns:30px 26px minmax(0,1fr) 42px 42px 34px;align-items:center;gap:5px;padding:7px}.lesson-quick-drag,.lesson-quick-icon,.lesson-quick-remove{border:0;background:transparent;cursor:pointer}.lesson-quick-drag{color:#9ba5b5;font-size:1.05rem;cursor:grab;padding:8px 4px}.lesson-quick-index{width:24px;height:24px;border-radius:8px;background:#edf2f4;color:#65717e;display:grid;place-items:center;font-size:.68rem;font-weight:900}.lesson-quick-title{border:0!important;background:transparent!important;box-shadow:none!important;padding:9px 7px!important;font-size:.96rem;font-weight:750;min-width:0}.lesson-quick-title:focus{outline:none}.lesson-quick-icon{position:relative;min-width:38px;height:34px;border-radius:10px;color:#6f7a8c;font-weight:900}.lesson-quick-icon:hover,.lesson-quick-icon.active{background:#edf5f3;color:#3f756a}.lesson-quick-icon.has-data{color:#39776a}.lesson-quick-icon b{position:absolute;right:2px;top:1px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:#467f74;color:#fff;font-size:.57rem;display:grid;place-items:center}.lesson-quick-remove{height:32px;border-radius:9px;color:#b15b51;font-size:1.2rem}.lesson-quick-remove:hover{background:#fff0ed}.lesson-quick-expand{display:none;border-top:1px solid #e7eaef;padding:12px 14px 14px;background:#fff}.lesson-quick-expand.open{display:block}.lesson-quick-expand label{display:grid;gap:6px;font-size:.78rem;font-weight:850}.lesson-quick-expand label>span{font-size:.68rem;font-weight:500;color:var(--muted)}.lesson-quick-expand textarea{min-height:64px;resize:vertical}.lesson-quick-options{display:grid;grid-template-columns:minmax(170px,1fr) 140px 120px;gap:9px;margin-bottom:9px}.lesson-quick-addline{width:100%;border:1px dashed #d6dde5;background:transparent;color:#6d7889;border-radius:12px;padding:9px;margin-top:7px;cursor:pointer;font-weight:800}.lesson-quick-addline:hover{background:#f6faf9;border-color:#adcfc7;color:#47786e}.lesson-quick-more{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}.lesson-quick-more summary{cursor:pointer;color:#667181;font-weight:850;font-size:.82rem;user-select:none}.lesson-quick-more-grid{display:grid;grid-template-columns:1.2fr 170px 210px 150px;gap:10px;margin-top:13px}.lesson-quick-more-grid label{display:grid;gap:6px;font-size:.75rem;font-weight:850}.lesson-quick-more-grid small{font-weight:500;color:var(--muted)}.lesson-quick-boardnote{grid-column:1/-1}.lesson-quick-reflection{grid-column:1/-1}.lesson-quick-savebar{position:sticky;bottom:14px;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:14px auto 0;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 14px 34px rgba(23,34,58,.12)}.lesson-save-hint{margin-right:auto;color:var(--muted);font-size:.72rem}.lesson-quick-header form{margin:0}
@media(max-width:900px){.lesson-quick-more-grid{grid-template-columns:1fr 1fr}.lesson-quick-boardnote,.lesson-quick-reflection{grid-column:1/-1}.lesson-quick-options{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:650px){.lesson-quick-shell{padding-bottom:86px}.lesson-quick-main{padding:15px;border-radius:18px}.lesson-quick-header{display:block}.lesson-quick-header form{margin-top:10px}.lesson-quick-builder-head{align-items:flex-start}.lesson-quick-builder-head p{display:none}.lesson-quick-row{grid-template-columns:25px 22px minmax(0,1fr) 38px 34px}.lesson-quick-row [data-lesson-toggle="advanced"]{display:none}.lesson-quick-index{width:21px;height:21px}.lesson-quick-options{grid-template-columns:1fr}.lesson-quick-more-grid{grid-template-columns:1fr}.lesson-quick-boardnote,.lesson-quick-reflection{grid-column:auto}.lesson-save-hint{display:none}.lesson-quick-savebar .button{flex:1}.lesson-quick-remove{font-size:1.05rem}}

/* 3.5.2 Lesson Plans — Copy to Session Boxes */
.lesson-cell-top{gap:8px}.lesson-cell-copy{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:9px;background:transparent;color:#778396;font-size:1rem;font-weight:900;cursor:pointer;display:grid;place-items:center}.lesson-cell-copy:hover{background:#edf5f3;color:#39766a}.lesson-copy-dialog{width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:24px;background:#fff;color:var(--text);box-shadow:0 28px 90px rgba(20,31,53,.28);overflow:auto}.lesson-copy-dialog::backdrop{background:rgba(15,24,42,.58);backdrop-filter:blur(5px)}.lesson-copy-dialog form{margin:0}.lesson-copy-head{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);padding:22px 24px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px}.lesson-copy-head h2{font-size:1.6rem;margin:3px 0}.lesson-copy-head p:last-child{margin:4px 0 0;color:var(--muted)}.lesson-copy-close{width:38px;height:38px;border:0;border-radius:12px;background:#f3f5f7;color:#5f6979;font-size:1.35rem;cursor:pointer}.lesson-copy-close:hover{background:#ebeef2}.lesson-copy-grid{display:grid;grid-template-columns:150px repeat(5,minmax(120px,1fr));gap:7px;padding:20px 24px;min-width:790px}.lesson-copy-corner,.lesson-copy-day,.lesson-copy-rowhead,.lesson-copy-target{border-radius:12px}.lesson-copy-day{padding:8px 6px;text-align:center;background:#f3f6f7;display:grid;gap:2px}.lesson-copy-day b{font-size:.76rem}.lesson-copy-day span{font-size:.68rem;color:var(--muted)}.lesson-copy-rowhead{padding:12px 10px;background:#f7f8fa;font-size:.76rem;font-weight:900;display:flex;align-items:center}.lesson-copy-target{position:relative;min-height:54px;border:1px solid #dfe5e8;background:#fbfcfc;cursor:pointer;display:grid;place-items:center;text-align:center;font-size:.74rem;font-weight:850;color:#617080;transition:.12s}.lesson-copy-target input{position:absolute;opacity:0;pointer-events:none}.lesson-copy-target:hover:not(.occupied){border-color:#9bc8be;background:#f0f8f6;color:#3f756a}.lesson-copy-target:has(input:checked){border-color:#6fae9f;background:#e6f4f0;color:#2f6f61;box-shadow:inset 0 0 0 1px #6fae9f}.lesson-copy-target:has(input:checked) span:before{content:'✓ ';font-weight:1000}.lesson-copy-target.occupied{cursor:not-allowed;background:#f2f3f5;color:#a0a7b1;border-style:dashed}.lesson-copy-note{margin:0 24px 18px;padding:12px 14px;border-radius:14px;background:#f6f9f8;display:flex;gap:10px;align-items:flex-start;color:#5d6a76}.lesson-copy-note span{font-size:1.1rem;color:#478176}.lesson-copy-note p{margin:0;font-size:.78rem;line-height:1.45}.lesson-copy-actions{position:sticky;bottom:0;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:13px 24px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.lesson-copy-actions [data-copy-count]{margin-right:auto;font-size:.76rem;color:var(--muted);font-weight:800}.lesson-copy-actions button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:850px){.lesson-copy-dialog{width:calc(100vw - 18px)}.lesson-copy-grid{overflow:auto}.lesson-copy-head,.lesson-copy-grid{padding-left:16px;padding-right:16px}.lesson-copy-note{margin-left:16px;margin-right:16px}.lesson-copy-actions{padding-left:16px;padding-right:16px}}

/* 3.5.3 Student Profiles — Guardian tab data parity fix */
.guardian-list-card{min-width:0}.guardian-list-card .record-list-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.guardian-list-card .record-list-heading>strong{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:var(--surface-2,#eef2ff);font-size:.9rem}.guardian-record{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--border,#e4e8f0)}.guardian-record:first-of-type{border-top:0}.guardian-record-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(59,130,246,.12));color:var(--text,#17223b)}.guardian-record-body{min-width:0}.guardian-record-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.guardian-record-heading h3{margin:0;font-size:1rem}.guardian-record-heading p{margin:3px 0 0;color:var(--muted,#667085);font-size:.88rem}.guardian-primary-badge{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:800;background:rgba(124,58,237,.12);color:#6d28d9}.guardian-contact-list{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 7px}.guardian-contact-list span{display:inline-flex;align-items:center;max-width:100%;padding:5px 9px;border-radius:999px;background:var(--surface-2,#f4f6fb);font-size:.8rem;overflow-wrap:anywhere}.guardian-record-body>small{color:var(--muted,#667085)}@media(max-width:720px){.guardian-record{grid-template-columns:40px minmax(0,1fr)}.guardian-record>form{grid-column:2}.guardian-record-heading{flex-wrap:wrap}}

/* 3.6.1 Student Profiles — Student Accounts vault */
.student-accounts-card{grid-column:1/-1;padding:0;overflow:hidden}.student-accounts-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 14px}.student-accounts-heading .profile-card-title{margin:0;align-items:flex-start}.student-accounts-heading .profile-card-title>span{margin-top:1px}.student-accounts-heading h3{margin:0}.student-accounts-heading p{margin:4px 0 0;color:var(--muted);font-size:.76rem;font-weight:600}.student-account-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:#edf4f2;color:#39766a;font-weight:900}.student-account-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px;padding:0 22px 18px}.student-account-record{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fbfcfd;padding:14px}.student-account-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.student-account-record-head h4{margin:4px 0 0;font-size:.98rem}.student-account-type{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef3f8;color:#667487;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.student-account-open{white-space:nowrap;font-size:.72rem;font-weight:850;color:#39766a;text-decoration:none}.student-account-identities{display:grid;gap:7px;margin-top:12px}.student-account-identities>div{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0;padding:8px 9px;border-radius:10px;background:#fff;border:1px solid #e9edf1}.student-account-identities span{font-size:.67rem;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.04em}.student-account-identities strong{font-size:.82rem;min-width:0;overflow-wrap:anywhere}.account-copy,.account-secret-action{border:0;background:#f1f5f6;color:#526273;border-radius:8px;padding:5px 7px;font-size:.66rem;font-weight:850;cursor:pointer}.account-copy:hover,.account-secret-action:hover{background:#e6f2ef;color:#326f62}.account-secret-action[data-action="reveal"].revealed{background:#edf0f3;color:#657080}.student-account-note{margin:10px 2px 0;color:var(--muted);font-size:.76rem;line-height:1.45}.student-account-edit{margin-top:10px;border-top:1px solid #e7ebef;padding-top:8px}.student-account-edit summary,.student-account-add summary{cursor:pointer;color:#657284;font-size:.72rem;font-weight:850;user-select:none}.student-account-form{margin-top:12px}.student-account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.student-account-form label{display:grid;gap:5px;font-size:.7rem;font-weight:850}.student-account-form input,.student-account-form select,.student-account-form textarea{min-width:0}.student-account-form>label{margin-top:9px}.student-account-edit-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.student-account-edit-actions form{margin:0}.student-account-add{border-top:1px solid var(--line);padding:14px 22px 20px;background:#fcfdfd}.student-account-add>summary{display:inline-flex;align-items:center;border:1px solid #dbe4e4;border-radius:10px;padding:8px 11px;background:#fff;color:#39766a}.student-account-empty{grid-column:1/-1;display:flex;gap:12px;align-items:center;padding:14px;border:1px dashed #d9e1e5;border-radius:14px;color:var(--muted)}.student-account-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef5f3;color:#39766a;font-size:1.1rem}.student-account-empty strong{display:block;color:var(--text);font-size:.86rem}.student-account-empty p{margin:3px 0 0;font-size:.74rem}.student-account-secret.loading{opacity:.55}
@media(max-width:720px){.student-accounts-heading{padding:17px 16px 12px}.student-account-list{grid-template-columns:1fr;padding:0 16px 14px}.student-account-add{padding:13px 16px 17px}.student-account-form-grid{grid-template-columns:1fr}.student-account-identities>div{grid-template-columns:64px minmax(0,1fr) auto}.student-account-secret-row .account-secret-action:last-child{grid-column:3}.student-account-secret-row .account-secret-action[data-action="reveal"]{grid-column:3}.student-account-edit-actions{align-items:flex-start;flex-wrap:wrap}}
.student-account-remove-form{margin:7px 0 0}.student-account-remove-form .text-button{padding-left:0}

/* Cyber Cave 3.7.0 — Classwide Report Builder */
.class-report-builder{max-width:1480px}.report-builder-heading{align-items:flex-end}.report-builder-count{background:linear-gradient(135deg,#17223b,#4f46e5);color:#fff;border-radius:22px;padding:16px 22px;min-width:150px;text-align:center;box-shadow:0 16px 40px rgba(38,50,105,.18)}.report-builder-count strong{display:block;font-size:2rem;line-height:1}.report-builder-count span{font-size:.78rem;opacity:.82}.report-builder-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr);gap:20px;align-items:start}.report-builder-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 12px 34px rgba(31,42,68,.06);min-width:0}.report-panel-heading>div{display:flex;align-items:center;gap:12px}.report-panel-heading>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eef2ff;color:#4f46e5;font-weight:900}.report-panel-heading h2{margin:0;font-size:1.12rem}.report-panel-heading p{margin:3px 0 0;color:var(--muted);font-size:.84rem}.report-student-tools{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:18px 0 12px}.report-student-tools input{min-width:0}.report-student-list{max-height:520px;overflow:auto;padding-right:4px}.report-student-session{border-top:1px solid #edf0f6;padding:13px 0}.report-student-session:first-child{border-top:0}.report-student-session>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.report-student-session h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:0;color:#69738a}.report-student-session>div:first-child button{border:0;background:transparent;color:#5562d9;font-weight:800;font-size:.75rem;cursor:pointer}.report-student-session>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-student-option{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e5e9f2;border-radius:13px;cursor:pointer;min-width:0;transition:.15s}.report-student-option:has(input:checked){background:#f5f7ff;border-color:#b7c0ff}.report-student-option input{width:17px;height:17px;accent-color:#4f46e5;flex:0 0 auto}.report-student-option span{min-width:0}.report-student-option strong,.report-student-option small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-student-option strong{font-size:.83rem}.report-student-option small{font-size:.7rem;color:var(--muted);margin-top:2px}.report-selected-fields{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 14px;min-height:46px;padding:10px;border:1px dashed #ccd3e2;border-radius:16px;background:#f9faff}.report-selected-fields:empty:after{content:'No fields selected — add fields below.';color:var(--muted);font-size:.82rem;padding:4px}.report-selected-field{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #dfe4ef;border-radius:12px;padding:8px 8px 8px 10px;box-shadow:0 3px 10px rgba(31,42,68,.05);cursor:grab}.report-selected-field.dragging{opacity:.45}.report-selected-field strong{font-size:.8rem}.report-field-grip{color:#8992a6;letter-spacing:-3px}.report-selected-field button{border:0;background:#f1f3f8;width:22px;height:22px;border-radius:7px;cursor:pointer;color:#687188}.report-field-library{border:1px solid #e7eaf2;border-radius:16px;overflow:hidden}.report-field-library>summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:850;color:#4856c7}.report-field-library>summary::-webkit-details-marker{display:none}.report-field-library-body{padding:0 12px 12px;max-height:390px;overflow:auto}.report-field-group{border-top:1px solid #eef0f5;padding-top:12px;margin-top:10px}.report-field-group h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#758097;margin:0 0 8px}.report-field-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.report-field-option{display:flex;text-align:left;align-items:flex-start;gap:8px;border:1px solid #e5e8f0;background:#fff;border-radius:12px;padding:9px;cursor:pointer;min-width:0}.report-field-option:hover{border-color:#aab5fa;background:#fafaff}.report-field-option.is-selected{opacity:.48;background:#f3f4f7}.report-field-option>span{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#eef1ff;color:#4f46e5;font-weight:900;flex:0 0 auto}.report-field-option strong,.report-field-option small{display:block}.report-field-option strong{font-size:.78rem}.report-field-option small{font-size:.67rem;color:var(--muted);line-height:1.25;margin-top:2px}.report-template-panel{margin-top:20px}.report-template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.report-template-card{cursor:pointer}.report-template-card input{position:absolute;opacity:0}.report-template-card>div{height:100%;border:2px solid #e5e8f0;border-radius:18px;padding:18px;transition:.15s;background:#fff}.report-template-card input:checked+div{border-color:#5967e9;background:#f5f6ff;box-shadow:0 8px 24px rgba(76,87,205,.12)}.report-template-card span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef1ff;color:#4f46e5;font-size:1.25rem;margin-bottom:12px}.report-template-card strong,.report-template-card small{display:block}.report-template-card small{color:var(--muted);line-height:1.4;margin-top:5px}.report-builder-actionbar{position:sticky;bottom:14px;z-index:20;margin:20px 0 0;background:rgba(23,34,59,.96);backdrop-filter:blur(16px);color:#fff;border-radius:20px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 45px rgba(15,23,42,.2)}.report-builder-actionbar strong,.report-builder-actionbar small{display:block}.report-builder-actionbar small{opacity:.7;margin-top:2px}.report-builder-actionbar .button{margin:0}
.class-report-preview{max-width:1500px;margin:auto;padding:28px}.class-report-preview-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:24px}.class-report-preview-toolbar>div{text-align:center}.class-report-preview-toolbar strong,.class-report-preview-toolbar span{display:block}.class-report-preview-toolbar span{font-size:.76rem;color:var(--muted);margin-top:2px}.class-report-preview-toolbar>.button:last-child{justify-self:end}.class-report-document-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid #17223b;padding-bottom:16px;margin-bottom:20px}.class-report-document-heading h1{font-size:2.1rem;margin:3px 0}.class-report-document-heading p{margin:0;color:#687188}.class-report-document-heading>span{font-weight:850;background:#eef1ff;color:#4f46e5;padding:8px 12px;border-radius:999px}.class-report-compact{overflow:auto;border:1px solid #dfe3ec;border-radius:16px}.class-report-compact table{width:100%;border-collapse:collapse;font-size:.78rem;background:#fff}.class-report-compact th{background:#17223b;color:#fff;text-align:left;padding:9px 10px;white-space:nowrap;position:sticky;top:0}.class-report-compact td{padding:8px 10px;border-bottom:1px solid #e8ebf2;vertical-align:top;min-width:110px}.class-report-compact tr:nth-child(even) td{background:#f7f8fb}.class-report-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.class-report-card{border:1px solid #dde2ec;border-radius:18px;padding:18px;background:#fff;break-inside:avoid}.class-report-card>header{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e9ecf2;padding-bottom:12px;margin-bottom:12px}.class-report-avatar,.class-report-formal-avatar{display:grid;place-items:center;background:#edf1f8;color:#4e5bd2;font-weight:900;overflow:hidden}.class-report-avatar{width:48px;height:48px;border-radius:14px}.class-report-avatar img,.class-report-formal-avatar img{width:100%;height:100%;object-fit:cover}.class-report-card h2{margin:0;font-size:1.05rem}.class-report-card p{margin:3px 0 0;color:var(--muted);font-size:.78rem}.class-report-card-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.class-report-card-fields>div{background:#f7f8fb;border-radius:10px;padding:9px}.class-report-card-fields span,.formal-report-field span{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:#7b8498;font-weight:800;margin-bottom:3px}.class-report-card-fields strong,.formal-report-field strong{font-size:.8rem;line-height:1.35}.class-report-formal-page{min-height:9.5in;background:#fff;display:flex;flex-direction:column;break-after:page}.class-report-formal-page:last-child{break-after:auto}.class-report-formal-page>header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #4f46e5;padding:18px 0}.class-report-formal-page h1{font-size:2.2rem;margin:3px 0}.class-report-formal-page header p{margin:0;color:#687188}.class-report-formal-avatar{width:72px;height:72px;border-radius:20px;font-size:1.3rem}.class-report-formal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:24px 0;align-content:start;flex:1}.formal-report-field{border:1px solid #e2e6ee;border-radius:13px;padding:13px;break-inside:avoid}.formal-report-field strong{font-size:.92rem}.class-report-formal-page footer{display:flex;justify-content:space-between;border-top:1px solid #dfe3eb;padding-top:10px;font-size:.72rem;color:#7a8397}
@media(max-width:1100px){.report-builder-grid{grid-template-columns:1fr}.report-student-list{max-height:360px}.report-field-library-body{max-height:330px}}@media(max-width:760px){.report-student-session>div:last-child,.report-field-group>div,.report-template-grid,.class-report-cards,.class-report-card-fields,.class-report-formal-fields{grid-template-columns:1fr}.report-student-tools{grid-template-columns:1fr 1fr}.report-student-tools input{grid-column:1/-1}.report-builder-actionbar{align-items:flex-start;gap:12px;flex-direction:column}.report-builder-actionbar .button{width:100%}.class-report-preview-toolbar{grid-template-columns:1fr 1fr}.class-report-preview-toolbar>div{grid-row:2;grid-column:1/-1}.class-report-preview{padding:16px}}
@media print{.app-sidebar,.class-report-preview-toolbar{display:none!important}.app-main{margin:0!important}.class-report-print-body{background:#fff!important}.class-report-preview{max-width:none;padding:0}.class-report-document-heading{margin-bottom:12px}.class-report-document-heading h1{font-size:20px}.class-report-document-heading p{font-size:9px}.class-report-document-heading>span{font-size:9px}.class-report-compact{border-radius:0;overflow:visible}.class-report-compact table{font-size:8px}.class-report-compact th{position:static;padding:5px 6px}.class-report-compact td{padding:5px 6px;min-width:0}.class-report-cards{gap:10px}.class-report-card{padding:11px;border-radius:10px}.class-report-card-fields{gap:6px}.class-report-card-fields>div{padding:6px}.class-report-formal-page{min-height:9in}.class-report-formal-page h1{font-size:24px}}

/* Cyber Cave 3.7.1 — Detailed & Visual Reports */
.template-formal>.class-report-document-heading{display:none}
.class-report-card{position:relative;padding:0;overflow:hidden;border:1px solid #dce2ef;box-shadow:0 8px 28px rgba(28,39,74,.07)}
.class-report-card-accent{height:7px;background:linear-gradient(90deg,#4f46e5,#7257db 58%,#e8793f)}
.class-report-card>header{margin:0;padding:17px 18px 14px;background:linear-gradient(135deg,#f7f8ff,#fff 64%);border-bottom:1px solid #e7eaf2}
.class-report-card-identity{min-width:0}.report-mini-eyebrow{margin:0 0 2px!important;font-size:.59rem!important;letter-spacing:.11em;text-transform:uppercase;font-weight:900;color:#6156c7!important}
.class-report-card h2{font-size:1.14rem;letter-spacing:-.02em}.report-identity-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.report-identity-chips>span{display:inline-flex;align-items:center;border:1px solid #dde2f1;background:#f5f6fb;color:#4f596d;border-radius:999px;padding:3px 8px;font-size:.63rem;font-weight:750}
.class-report-avatar{width:54px;height:54px;border-radius:16px;box-shadow:0 3px 12px rgba(53,63,112,.12)}
.class-report-card-fields{padding:14px 16px;gap:7px;background:#fff}.class-report-card-fields>div{background:#f7f8fb;border:1px solid #edf0f5;border-radius:11px;padding:9px 10px}.class-report-card-fields strong{font-size:.79rem;color:#20283d}.class-report-card-fields span{color:#7b8498}
.report-detail-sections{display:grid;gap:9px;padding:0 16px 16px}.report-detail-section{border:1px solid #e4e8f1;border-radius:13px;background:#fff;overflow:hidden;break-inside:avoid}.report-detail-heading{display:flex;align-items:center;gap:9px;padding:9px 11px;background:#f8f9fc;border-bottom:1px solid #eceff5}.report-detail-heading>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e9eafe;color:#5148c6;font-size:.67rem;font-weight:950}.report-detail-heading h3{font-size:.75rem;margin:0;color:#293248}.report-detail-heading small{display:block;margin-top:1px;font-size:.58rem;color:#858da0}.report-detail-list{display:grid}.report-detail-row{display:grid;grid-template-columns:77px minmax(0,1fr);gap:9px;padding:8px 10px;border-top:1px solid #f0f2f6;break-inside:avoid}.report-detail-row:first-child{border-top:0}.report-detail-row time{font-size:.61rem;line-height:1.3;color:#778095;font-weight:800}.report-detail-row>div{min-width:0}.report-detail-row strong{display:block;font-size:.71rem;line-height:1.25;color:#273147}.report-detail-row span{display:block;font-size:.59rem;line-height:1.3;color:#778095;margin-top:2px}.report-detail-row p{margin:3px 0 0;font-size:.61rem;line-height:1.35;color:#505b70}.report-detail-more{padding:7px 10px;text-align:center;font-size:.6rem;font-weight:800;color:#667087;background:#fafbfc;border-top:1px solid #f0f2f6}.report-detail-row.type-positive{border-left:3px solid #52a56a}.report-detail-row.type-negative,.report-detail-row.type-fail{border-left:3px solid #d66363}.report-detail-row.type-observation{border-left:3px solid #d89a3e}.report-detail-row.type-pass{border-left:3px solid #4e9f73}
.tone-attendance .report-detail-heading>span{background:#fff0e8;color:#c86735}.tone-behavior .report-detail-heading>span{background:#edf5ff;color:#4674ad}.tone-movement .report-detail-heading>span{background:#eaf8f7;color:#307d7a}.tone-certification .report-detail-heading>span{background:#eef7ec;color:#4d8650}.tone-library .report-detail-heading>span{background:#fff5df;color:#a8752f}.tone-communication .report-detail-heading>span{background:#f4efff;color:#7252b8}

.class-report-formal-page{position:relative;min-height:9.35in;border:1px solid #dfe4ed;border-radius:18px;padding:0 26px 18px;overflow:hidden;box-shadow:0 10px 36px rgba(30,42,74,.08);margin-bottom:26px}.formal-report-topbar{height:10px;margin:0 -26px;background:linear-gradient(90deg,#17223b 0 48%,#5147c7 48% 82%,#df7b45 82%)}.class-report-formal-page>header{padding:22px 0 18px;border-bottom:1px solid #e3e7ef}.formal-report-title h1{font-size:2.15rem;letter-spacing:-.035em;color:#17223b}.formal-report-title .eyebrow{color:#5147c7;font-size:.65rem;letter-spacing:.12em}.class-report-formal-avatar{width:80px;height:80px;border-radius:22px;border:4px solid #fff;box-shadow:0 5px 18px rgba(31,45,86,.15);background:#edf0fb}
.formal-report-highlight-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}.formal-report-highlight-row>div{border-radius:12px;padding:10px 12px;background:#f6f7fb;border:1px solid #e8ebf2}.formal-report-highlight-row span{display:block;font-size:.59rem;text-transform:uppercase;letter-spacing:.07em;color:#80899d;font-weight:850}.formal-report-highlight-row strong{display:block;font-size:1.18rem;margin-top:3px;color:#202a40}.formal-report-section-title{display:flex;align-items:center;gap:10px;margin:16px 0 9px}.formal-report-section-title>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#17223b;color:#fff;font-size:.61rem;font-weight:900}.formal-report-section-title h2{font-size:.91rem;margin:0;color:#212a40}.formal-report-section-title p{font-size:.62rem;color:#858da0;margin:1px 0 0}.formal-report-overview{break-inside:avoid}.class-report-formal-fields{padding:0;gap:8px}.formal-report-field{padding:10px 11px;border-radius:11px;background:#f9fafc;border:1px solid #e8ebf2}.formal-report-field span{font-size:.59rem}.formal-report-field strong{font-size:.79rem;color:#242e44}.formal-report-activity .report-detail-sections{padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start}.formal-report-activity .report-detail-section{border-radius:12px}.formal-report-activity .report-detail-row{grid-template-columns:86px minmax(0,1fr);padding:8px 10px}.formal-report-activity .report-detail-row strong{font-size:.69rem}.formal-report-activity .report-detail-row p{font-size:.59rem}.class-report-formal-page footer{margin-top:auto;padding-top:11px;font-size:.63rem;line-height:1.4}.class-report-formal-page footer span:last-child{text-align:right}

@media(max-width:900px){.formal-report-highlight-row{grid-template-columns:repeat(2,1fr)}.formal-report-activity .report-detail-sections{grid-template-columns:1fr}.class-report-formal-page{padding-left:18px;padding-right:18px}.formal-report-topbar{margin-left:-18px;margin-right:-18px}}
@media print{
 .class-report-card{box-shadow:none;border-color:#d9deea}.class-report-card-accent{-webkit-print-color-adjust:exact;print-color-adjust:exact}.class-report-card>header,.class-report-card-fields>div,.report-detail-heading,.formal-report-highlight-row>div,.formal-report-field,.formal-report-section-title>span,.formal-report-topbar{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .class-report-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.class-report-card{border-radius:10px}.class-report-card>header{padding:11px 12px 9px}.class-report-avatar{width:42px;height:42px;border-radius:11px}.class-report-card h2{font-size:12px}.report-identity-chips{margin-top:4px}.report-identity-chips>span{font-size:6px;padding:2px 5px}.class-report-card-fields{padding:8px 10px;gap:4px}.class-report-card-fields>div{padding:5px 6px;border-radius:6px}.class-report-card-fields span,.formal-report-field span{font-size:5.5px}.class-report-card-fields strong{font-size:7px}.report-detail-sections{padding:0 10px 10px;gap:5px}.report-detail-heading{padding:5px 6px}.report-detail-heading>span{width:18px;height:18px;border-radius:5px;font-size:5px}.report-detail-heading h3{font-size:6.5px}.report-detail-heading small{font-size:5px}.report-detail-row{grid-template-columns:52px 1fr;gap:5px;padding:4px 6px}.report-detail-row time,.report-detail-row span,.report-detail-row p{font-size:5px}.report-detail-row strong{font-size:6px}.report-detail-more{font-size:5px;padding:4px}
 .class-report-formal-page{min-height:9.15in;border:0;border-radius:0;box-shadow:none;margin:0;padding:0 4px 8px}.formal-report-topbar{height:7px;margin:0 -4px}.class-report-formal-page>header{padding:14px 0 10px}.formal-report-title h1{font-size:23px}.class-report-formal-avatar{width:61px;height:61px;border-radius:16px}.formal-report-highlight-row{margin:9px 0;gap:5px}.formal-report-highlight-row>div{padding:6px 8px;border-radius:7px}.formal-report-highlight-row span{font-size:5.5px}.formal-report-highlight-row strong{font-size:11px}.formal-report-section-title{margin:9px 0 5px}.formal-report-section-title>span{width:21px;height:21px;border-radius:6px;font-size:5.5px}.formal-report-section-title h2{font-size:8px}.formal-report-section-title p{font-size:5.5px}.class-report-formal-fields{gap:5px}.formal-report-field{padding:6px 7px;border-radius:7px}.formal-report-field strong{font-size:7px}.formal-report-activity .report-detail-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.formal-report-activity .report-detail-row{grid-template-columns:58px 1fr;padding:4px 6px}.formal-report-activity .report-detail-row strong{font-size:6px}.formal-report-activity .report-detail-row p{font-size:5px}.class-report-formal-page footer{padding-top:6px;font-size:5.5px}
}

/* === Cyber Cave BPA Prep 4.0 Teacher Workspace === */
.bpax-body{background:#f6f7fb}.bpax-body .app-main{padding:0}.bpax-layout{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:100vh;background:#f7f8fc}.bpax-subnav{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#17132c,#24144c 55%,#161c34);color:#fff;padding:22px 13px 18px;display:flex;flex-direction:column;z-index:20;border-left:1px solid rgba(255,255,255,.05)}.bpax-subnav-brand{display:flex;gap:10px;align-items:center;padding:5px 8px 22px;border-bottom:1px solid rgba(255,255,255,.1)}.bpax-subnav-brand>span{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#6d45e5,#8c54ee);display:grid;place-items:center;font-weight:1000;font-size:.9rem;box-shadow:0 10px 24px rgba(87,59,211,.34)}.bpax-subnav-brand strong,.bpax-subnav-brand small{display:block}.bpax-subnav-brand strong{font-size:1rem}.bpax-subnav-brand small{font-size:.68rem;color:#bdb8d2;margin-top:2px}.bpax-subnav nav{display:grid;gap:5px;margin-top:18px}.bpax-subnav nav a{color:#cfcbe0;text-decoration:none;display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:10px 11px;border-radius:12px;font-size:.83rem}.bpax-subnav nav a i{font-style:normal;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:1rem}.bpax-subnav nav a:hover{background:rgba(255,255,255,.07);color:#fff}.bpax-subnav nav a.active{background:linear-gradient(90deg,rgba(114,77,229,.35),rgba(80,64,179,.18));color:#fff;box-shadow:inset 3px 0 #a382ff}.bpax-subnav nav a.active i{background:#6d45e5}.bpax-season{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055)}.bpax-season span,.bpax-season strong{display:block}.bpax-season span{font-size:.65rem;color:#aaa4c3;text-transform:uppercase;letter-spacing:.08em}.bpax-season strong{margin-top:5px;font-size:.92rem}.bpax-main{min-width:0;padding:28px 34px 50px;max-width:1680px;width:100%;margin:0 auto}.bpax-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.bpax-topbar h1{font-size:2.05rem;letter-spacing:-.035em;margin:3px 0 5px;color:#13182d}.bpax-topbar>div:first-child>p:last-child{margin:0;color:#788096;max-width:700px}.bpax-top-actions{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}.bpax-chapter-picker{display:grid;gap:4px;min-width:210px}.bpax-chapter-picker span{font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#858ba0}.bpax-chapter-picker select,.bpax-filter-bar select{background:#fff;border:1px solid #dfe3ed;border-radius:11px;padding:10px 38px 10px 12px;font-weight:800;color:#23283d}.bpax-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);gap:16px;margin-bottom:18px}.bpax-readiness{border-radius:22px;padding:25px;color:#fff;background:radial-gradient(circle at 82% 10%,rgba(154,121,255,.48),transparent 32%),linear-gradient(135deg,#4924ba,#5634d5 52%,#3527a4);box-shadow:0 20px 42px rgba(68,45,166,.16);display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:center}.bpax-readiness .eyebrow{color:#dcd5ff}.bpax-readiness-number{display:block;font-size:4.6rem;line-height:1;font-weight:950;letter-spacing:-.07em;margin:8px 0 12px}.bpax-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:900}.bpax-status.good,.bpax-support-row em.good{background:#e6f8ee;color:#1c7d53}.bpax-status.watch,.bpax-support-row em.watch{background:#fff4d6;color:#9d6400}.bpax-status.risk,.bpax-support-row em.risk{background:#ffe9e7;color:#b43b35}.bpax-status.neutral,.bpax-support-row em.neutral{background:#eff1f5;color:#687084}.bpax-readiness-bars{display:grid;gap:12px}.bpax-readiness-bars label{display:grid;grid-template-columns:1fr auto;gap:6px;font-size:.76rem;color:#eeeaff}.bpax-readiness-bars label b{color:#fff}.bpax-readiness-bars label span{grid-column:1/-1;height:6px;background:rgba(255,255,255,.16);border-radius:99px;overflow:hidden}.bpax-readiness-bars label span i{display:block;height:100%;background:linear-gradient(90deg,#b99dff,#6fcfff);border-radius:99px}.bpax-readiness-tip{grid-column:1/-1;background:#fff;color:#4d3f91;border-radius:12px;padding:11px 14px;font-weight:800;font-size:.76rem}.bpax-panel{background:#fff;border:1px solid #e1e5ee;border-radius:19px;padding:19px;box-shadow:0 7px 20px rgba(33,39,65,.035);min-width:0}.bpax-panel-head,.bpax-section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.bpax-panel-head h2,.bpax-section-head h2{font-size:1.13rem;margin:2px 0;color:#1a1f33}.bpax-panel-head p,.bpax-section-head p{margin:0}.bpax-panel-head>a,.bpax-section-head>a{font-size:.76rem;text-decoration:none;font-weight:850;color:#6448d8}.bpax-panel-head>span{font-size:.7rem;color:#8a90a1;background:#f3f4f8;border-radius:999px;padding:6px 9px}.bpax-milestone{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid #eef0f4}.bpax-milestone:last-child{border-bottom:0}.bpax-milestone time{height:48px;border-radius:10px;background:#f5f1ff;display:grid;place-items:center;align-content:center;color:#6545d5}.bpax-milestone time b{font-size:.55rem;text-transform:uppercase}.bpax-milestone time strong{font-size:1.08rem}.bpax-milestone>div strong,.bpax-milestone>div small{display:block}.bpax-milestone>div strong{font-size:.82rem}.bpax-milestone>div small{font-size:.66rem;color:#8a90a2;margin-top:3px}.bpax-milestone>span{font-size:.65rem;color:#7b8193}.bpax-section{margin:20px 0}.bpax-comp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.bpax-comp-card{position:relative;background:#fff;border:1px solid #e1e5ee;border-radius:17px;padding:15px;text-decoration:none;color:#1b2032;box-shadow:0 6px 17px rgba(31,40,70,.035);overflow:hidden}.bpax-comp-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#6949df}.bpax-comp-card.orange:before{background:#f5a126}.bpax-comp-card.blue:before{background:#3d86ee}.bpax-comp-card.pink:before{background:#d24bb4}.bpax-comp-card.teal:before{background:#24a7a1}.bpax-comp-card.green:before{background:#4ca967}.bpax-comp-icon{width:45px;height:45px;border-radius:12px;background:#f0ebff;color:#6745d9;display:grid;place-items:center;font-size:.67rem;font-weight:950;margin-bottom:11px}.bpax-comp-card.orange .bpax-comp-icon{background:#fff2dd;color:#be6e00}.bpax-comp-card.blue .bpax-comp-icon{background:#eaf3ff;color:#256bc8}.bpax-comp-card.pink .bpax-comp-icon{background:#fdeafa;color:#a8348f}.bpax-comp-head strong,.bpax-comp-head small{display:block}.bpax-comp-head strong{font-size:.92rem}.bpax-comp-head small{font-size:.64rem;color:#8b91a2;margin-top:4px}.bpax-comp-people{display:flex;gap:9px;margin:12px 0;font-size:.62rem;color:#747c90}.bpax-progress-row{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center}.bpax-progress-row>div{height:5px;background:#eceef3;border-radius:99px;overflow:hidden}.bpax-progress-row i{height:100%;display:block;background:#6144da;border-radius:99px}.bpax-progress-row strong{font-size:.76rem}.bpax-comp-card>.bpax-status{margin-top:9px}.bpax-dashboard-grid{display:grid;grid-template-columns:1.4fr .8fr .9fr;gap:16px}.bpax-chart-card>.bpax-spark{height:170px;width:100%}.bpax-spark polyline{fill:none;stroke:#5a43d5;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(90,67,213,.18))}.bpax-spark-empty{display:grid;place-items:center;height:54px;color:#999fb0;font-size:.72rem}.bpax-chart-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.bpax-metric{padding:10px;border-radius:11px;background:#f7f8fb}.bpax-metric span,.bpax-metric strong,.bpax-metric small{display:block}.bpax-metric span{font-size:.6rem;color:#8a90a1}.bpax-metric strong{font-size:1rem;margin-top:3px}.bpax-metric small{font-size:.58rem;color:#999}.bpax-metric.blue{background:#eef3ff}.bpax-metric.orange{background:#fff4df}.bpax-list{display:grid}.bpax-attempt-row,.bpax-support-row,.bpax-person-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #eef0f4;text-decoration:none;color:#202638}.bpax-attempt-row:last-child,.bpax-support-row:last-child,.bpax-person-row:last-child{border-bottom:0}.bpax-mini-avatar{width:35px;height:35px;border-radius:50%;overflow:hidden;background:#eee9ff;color:#6548d7;display:grid;place-items:center;font-size:.64rem;font-weight:900}.bpax-mini-avatar img{width:100%;height:100%;object-fit:cover}.bpax-attempt-row strong,.bpax-attempt-row small,.bpax-support-row strong,.bpax-support-row small,.bpax-person-row strong,.bpax-person-row small{display:block}.bpax-attempt-row strong,.bpax-support-row strong,.bpax-person-row strong{font-size:.76rem}.bpax-attempt-row small,.bpax-support-row small,.bpax-person-row small{font-size:.62rem;color:#8b91a3;margin-top:2px}.bpax-attempt-row>b{font-size:.82rem;color:#5b43d3}.bpax-support-row em{font-style:normal;border-radius:999px;padding:5px 7px;font-size:.58rem;font-weight:900}.bpax-empty,.bpax-empty-mini{color:#858b9d;padding:22px;text-align:center;background:#f8f9fb;border:1px dashed #dfe2ea;border-radius:14px}.bpax-empty strong{display:block;color:#4c5366;margin-bottom:4px}.bpax-empty p{font-size:.78rem}.bpax-empty-mini{padding:16px;font-size:.72rem}.bpax-page-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.bpax-page-intro>div{background:#fff;border:1px solid #e0e4ed;border-radius:14px;padding:14px}.bpax-page-intro strong,.bpax-page-intro span{display:block}.bpax-page-intro strong{font-size:1.65rem}.bpax-page-intro span{font-size:.68rem;color:#898fa1}.bpax-library-list{display:grid;gap:11px}.bpax-library-card{background:#fff;border:1px solid #e1e4ed;border-radius:17px;padding:16px;display:grid;grid-template-columns:54px minmax(0,1fr) 260px auto;gap:15px;align-items:center}.bpax-library-icon{width:52px;height:52px;border-radius:14px;background:#efeaff;color:#6646d8;display:grid;place-items:center;font-size:.68rem;font-weight:950}.bpax-library-icon.orange{background:#fff1dd;color:#b76a00}.bpax-library-icon.blue{background:#eaf3ff;color:#276bc7}.bpax-library-icon.pink{background:#faeaf8;color:#a6318c}.bpax-library-icon.teal{background:#e8f9f7;color:#258d88}.bpax-library-main p{font-size:.72rem;color:#82899c;margin:5px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-library-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bpax-library-title h3{margin:0;font-size:.95rem}.bpax-library-title span,.bpax-chip-row span{background:#f1f2f6;color:#697186;border-radius:999px;padding:4px 7px;font-size:.58rem;font-weight:850}.bpax-chip-row{display:flex;gap:5px;flex-wrap:wrap}.bpax-library-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.bpax-library-stats>div{padding:8px;background:#f8f9fb;border-radius:10px;text-align:center}.bpax-library-stats strong,.bpax-library-stats span{display:block}.bpax-library-stats strong{font-size:.9rem}.bpax-library-stats span{font-size:.55rem;color:#9298a8}.bpax-drawer-card{margin-top:20px;background:#fff;border:1px solid #dedfea;border-radius:18px;padding:21px;scroll-margin-top:20px}.bpax-form{display:grid;gap:12px}.bpax-form label{display:grid;gap:5px;font-size:.72rem;font-weight:850;color:#42495d}.bpax-form label small{font-weight:500;color:#969bad}.bpax-form input,.bpax-form select,.bpax-form textarea{width:100%;min-width:0;border:1px solid #dce0e9;border-radius:10px;background:#fff;padding:10px 11px;color:#222a3e}.bpax-form textarea{resize:vertical}.bpax-form details,.bpax-panel details{border:1px solid #e5e7ee;border-radius:11px;background:#fafbfc}.bpax-form details summary,.bpax-panel details summary{padding:10px 12px;font-weight:850;font-size:.72rem;cursor:pointer}.bpax-details-body{padding:0 12px 12px;display:grid;gap:12px}.form-grid.four{grid-template-columns:repeat(4,1fr)}.bpax-comp-hero{background:linear-gradient(120deg,#fff,#f6f2ff);border:1px solid #e0d9f6;border-radius:20px;padding:20px;display:grid;grid-template-columns:72px minmax(0,1fr) 430px;gap:17px;align-items:center}.bpax-comp-badge{width:68px;height:68px;border-radius:19px;background:linear-gradient(135deg,#6541d7,#7859ed);color:#fff;display:grid;place-items:center;font-weight:950;font-size:.76rem;box-shadow:0 12px 24px rgba(93,65,203,.2)}.bpax-comp-hero h2{margin:3px 0;font-size:1.55rem}.bpax-comp-hero p{margin:0;color:#7b8296;font-size:.78rem}.bpax-comp-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.bpax-tabs{display:flex;gap:5px;margin:13px 0 17px;padding:5px;background:#eceef4;border-radius:12px;width:max-content;max-width:100%;overflow:auto}.bpax-tabs a{padding:8px 13px;border-radius:9px;text-decoration:none;color:#697085;font-size:.72rem;font-weight:850;white-space:nowrap}.bpax-tabs a.active{background:#fff;color:#5338ca;box-shadow:0 2px 7px rgba(26,32,55,.08)}.bpax-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.bpax-two-col.wide-left{grid-template-columns:.75fr 1.25fr}.bpax-definition{display:grid;grid-template-columns:160px 1fr;margin:0}.bpax-definition dt,.bpax-definition dd{padding:10px 0;border-bottom:1px solid #eff1f4;font-size:.73rem}.bpax-definition dt{color:#888fa2}.bpax-definition dd{font-weight:800;margin:0}.bpax-rich-copy{font-size:.78rem;color:#5d6578;line-height:1.65;margin-bottom:14px}.bpax-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bpax-tool-grid a{background:#fff;border:1px solid #e1e4ed;border-radius:15px;padding:16px;text-decoration:none;color:#1f2538}.bpax-tool-grid a>span{width:39px;height:39px;border-radius:11px;background:#eee9ff;color:#6446d7;display:grid;place-items:center;margin-bottom:10px}.bpax-tool-grid strong,.bpax-tool-grid small{display:block}.bpax-tool-grid strong{font-size:.83rem}.bpax-tool-grid small{font-size:.63rem;color:#8e94a4;margin-top:4px}.bpax-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:360px;overflow:auto;padding:2px}.bpax-select-person{display:grid!important;grid-template-columns:18px 34px minmax(0,1fr);gap:8px;align-items:center!important;padding:8px;border:1px solid #e2e5ec;border-radius:11px;background:#fff}.bpax-select-person>span:last-child strong,.bpax-select-person>span:last-child small{display:block}.bpax-select-person>span:last-child strong{font-size:.69rem}.bpax-select-person>span:last-child small{font-size:.57rem;color:#9298a8}.bpax-bank-grid,.bpax-bank-list{display:grid;gap:9px}.bpax-bank-card,.bpax-bank-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e4e6ed;border-radius:12px;padding:10px;background:#fff}.bpax-bank-row{grid-template-columns:40px minmax(0,1fr) 60px auto}.bpax-bank-row.selected{border-color:#7659dc;background:#faf8ff}.bpax-round{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:950;background:#efeaff;color:#6948d7}.bpax-round.state{background:#eaf3ff;color:#2871ce}.bpax-round.national{background:#fff1df;color:#c17108}.bpax-bank-card strong,.bpax-bank-card small,.bpax-bank-row strong,.bpax-bank-row small{display:block}.bpax-bank-card strong,.bpax-bank-row strong{font-size:.75rem}.bpax-bank-card small,.bpax-bank-row small{font-size:.61rem;color:#8e94a5;margin-top:2px}.bpax-bank-card>a,.bpax-bank-row>a:not(.button){font-size:.68rem;font-weight:850;text-decoration:none;color:#6446d7}.bpax-resource-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #eef0f4}.bpax-resource-card>span{width:40px;height:40px;border-radius:11px;background:#eee9ff;color:#6447d6;display:grid;place-items:center;font-weight:950}.bpax-resource-card strong,.bpax-resource-card small{display:block}.bpax-resource-card strong{font-size:.76rem}.bpax-resource-card small{font-size:.61rem;color:#8e94a5}.bpax-resource-card p{font-size:.66rem;color:#747b8d;margin:3px 0}.bpax-table{width:100%;border-collapse:collapse;font-size:.72rem}.bpax-table th{color:#8a90a2;text-transform:uppercase;letter-spacing:.04em;font-size:.58rem;text-align:left;padding:9px;border-bottom:1px solid #e4e7ee}.bpax-table td{padding:10px 9px;border-bottom:1px solid #eff1f4}.bpax-student-cell{display:flex;gap:8px;align-items:center;font-weight:800}.bpax-student-cell .bpax-mini-avatar{width:30px;height:30px}.question-studio{grid-template-columns:390px minmax(0,1fr)}.bpax-sticky-card{position:sticky;top:18px}.bpax-upload-zone{position:relative;padding:20px!important;border:1.5px dashed #cfc5ed!important;border-radius:13px!important;background:#faf8ff!important;text-align:center!important;display:grid!important;place-items:center!important;gap:2px!important;color:#5f44cc!important}.bpax-upload-zone>span{width:42px;height:42px;border-radius:11px;background:#6846dc;color:#fff;display:grid;place-items:center}.bpax-upload-zone>strong{margin-top:4px}.bpax-upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.bpax-preview-block{margin:16px 0;background:#fff;border:1px solid #dedfea;border-radius:18px;padding:20px}.bpax-question-preview-list{display:grid;gap:10px;max-height:900px;overflow:auto}.bpax-question-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:13px;border:1px solid #e5e7ed;border-radius:13px}.bpax-question-card>span{width:35px;height:35px;border-radius:9px;background:#f1effb;color:#6246cc;display:grid;place-items:center;font-weight:900;font-size:.67rem}.bpax-question-card h3{font-size:.78rem;margin:2px 0 8px}.bpax-question-card ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:5px}.bpax-question-card li{display:grid;grid-template-columns:24px 1fr auto;gap:6px;align-items:center;background:#f7f8fa;border-radius:8px;padding:6px;font-size:.64rem}.bpax-question-card li b{width:22px;height:22px;border-radius:6px;background:#e9ebf1;display:grid;place-items:center}.bpax-question-card li.correct{background:#ecf8f1;color:#256e50}.bpax-question-card li.correct b{background:#cfeedd}.bpax-question-card li em{font-style:normal;font-size:.55rem;font-weight:900}.bpax-question-card p{font-size:.63rem;color:#687082;margin:7px 0 0}.bpax-resource-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:16px;align-items:start}.bpax-filter-bar{display:flex;gap:10px;align-items:flex-end;background:#fff;border:1px solid #e0e4ed;border-radius:14px;padding:11px;margin-bottom:13px}.bpax-filter-bar label{display:grid;gap:3px;font-size:.62rem;font-weight:850;color:#70778b;min-width:230px}.bpax-resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.bpax-resource-tile{background:#fff;border:1px solid #e1e4ec;border-radius:15px;padding:14px;display:grid;grid-template-columns:40px 1fr;gap:10px;min-height:160px}.bpax-resource-tile>.type{width:38px;height:38px;border-radius:10px;background:#eee9ff;color:#6648d5;display:grid;place-items:center;font-weight:950}.bpax-resource-tile h3{font-size:.82rem;margin:8px 0 5px}.bpax-resource-tile p{font-size:.66rem;color:#7f8698;line-height:1.45}.bpax-resource-tile small{font-size:.58rem;color:#9ba0af}.bpax-resource-tile>.button{grid-column:1/-1;align-self:end}.bpax-assignment-list{display:grid;gap:10px}.bpax-assignment-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:20px;align-items:center;border:1px solid #e4e6ed;border-radius:13px;padding:13px}.bpax-assignment-card h3{font-size:.82rem;margin:7px 0 4px}.bpax-assignment-card p,.bpax-assignment-card small{font-size:.63rem;color:#858b9c}.bpax-assignment-progress strong,.bpax-assignment-progress small{display:block}.bpax-assignment-progress strong{font-size:1.2rem}.bpax-assignment-progress>span{height:5px;background:#eceef3;border-radius:99px;display:block;overflow:hidden;margin:5px 0}.bpax-assignment-progress i{display:block;height:100%;background:#6548d6}.bpax-select-person.compact{grid-template-columns:18px 28px 1fr;padding:6px}.bpax-select-person.compact>span{width:27px;height:27px;border-radius:8px;background:#eee9ff;display:grid;place-items:center;font-size:.56rem}.compact-grid{grid-template-columns:1fr 1fr;max-height:220px;padding:8px}.bpax-results-top{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-bottom:16px}.bpax-readiness.compact{grid-template-columns:170px 1fr}.bpax-big-spark .bpax-spark{width:100%;height:180px}.bpax-readiness.compact .bpax-spark polyline{stroke:#d1c3ff}.bpax-breakdown{display:grid;gap:8px}.bpax-breakdown>a{display:grid;grid-template-columns:150px minmax(80px,1fr) 42px;gap:8px;align-items:center;text-decoration:none;color:#303648}.bpax-breakdown>a strong{font-size:.68rem}.bpax-breakdown>a>span{height:6px;background:#edf0f4;border-radius:99px;overflow:hidden}.bpax-breakdown>a i{display:block;height:100%;background:linear-gradient(90deg,#6545da,#3b87ed)}.bpax-breakdown>a b{font-size:.7rem}.bpax-breakdown>a small{grid-column:1/-1;font-size:.57rem;color:#9298a9}.bpax-student-performance-list{display:grid}.bpax-student-performance{display:grid;grid-template-columns:50px minmax(150px,1.2fr) 1fr .7fr .7fr 120px;gap:12px;align-items:center;padding:10px;border-bottom:1px solid #eef0f4;text-decoration:none;color:#242a3c}.bpax-student-photo{width:46px;height:46px;border-radius:13px;background:#eee9ff;color:#6546d3;display:grid;place-items:center;font-size:.68rem;font-weight:950;overflow:hidden}.bpax-student-photo img{width:100%;height:100%;object-fit:cover}.bpax-student-performance>div strong,.bpax-student-performance>div small,.bpax-student-performance>div span{display:block}.bpax-student-performance>div>span{font-size:.54rem;text-transform:uppercase;color:#969bac;font-weight:800}.bpax-student-performance>div strong{font-size:.76rem}.bpax-student-performance>div small{font-size:.58rem;color:#9298a7;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-student-performance>em{justify-self:end;font-style:normal;padding:5px 7px;border-radius:999px;font-size:.58rem;font-weight:900}.bpax-student-performance>em.good{background:#e8f8ef;color:#217a54}.bpax-student-performance>em.watch{background:#fff2d6;color:#986200}.bpax-student-performance>em.risk{background:#ffe9e7;color:#b23a34}.bpax-student-performance>em.neutral{background:#eef0f4;color:#747b8d}.bpax-student-detail{margin-bottom:14px}.bpax-student-detail-head{display:grid;grid-template-columns:70px 1fr auto;gap:14px;align-items:center}.bpax-student-photo.large{width:66px;height:66px;border-radius:18px}.bpax-student-detail-head h2{margin:2px 0}.bpax-student-detail-head p{margin:0;color:#80879a;font-size:.72rem}.bpax-student-events{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.bpax-student-events article{background:#f8f9fb;border-radius:11px;padding:10px}.bpax-student-events article>strong{font-size:.72rem}.bpax-student-events article>div{display:flex;gap:12px;margin-top:7px}.bpax-student-events span{font-size:.58rem;color:#8a90a0}.bpax-student-events b{display:block;color:#30364a}.bpax-setting-row{display:grid;grid-template-columns:95px 1fr auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #eef0f4}.bpax-setting-row time{font-size:.66rem;font-weight:800;color:#6545d5}.bpax-setting-row strong,.bpax-setting-row small{display:block}.bpax-setting-row strong{font-size:.75rem}.bpax-setting-row small{font-size:.6rem;color:#9298a8}.bpax-panel hr{border:0;border-top:1px solid #eceef2;margin:15px 0}
@media(max-width:1450px){.bpax-comp-grid{grid-template-columns:repeat(3,1fr)}.bpax-dashboard-grid{grid-template-columns:1fr 1fr}.bpax-dashboard-grid>section:first-child{grid-column:1/-1}.bpax-library-card{grid-template-columns:54px minmax(0,1fr) 220px}.bpax-resource-grid{grid-template-columns:1fr 1fr}.bpax-student-performance{grid-template-columns:46px minmax(150px,1.3fr) 1fr .7fr .7fr 110px}}
@media(max-width:1180px){.bpax-layout{grid-template-columns:76px minmax(0,1fr)}.bpax-subnav{padding-left:8px;padding-right:8px}.bpax-subnav-brand{justify-content:center;padding-left:0;padding-right:0}.bpax-subnav-brand>div,.bpax-subnav nav a strong,.bpax-season{display:none}.bpax-subnav nav a{grid-template-columns:1fr;padding:8px;justify-items:center}.bpax-subnav nav a i{width:38px;height:38px}.bpax-hero-grid,.bpax-results-top{grid-template-columns:1fr}.bpax-comp-grid{grid-template-columns:repeat(2,1fr)}.bpax-library-card{grid-template-columns:54px minmax(0,1fr) auto}.bpax-library-stats{display:none}.bpax-comp-hero{grid-template-columns:65px minmax(0,1fr)}.bpax-comp-hero-stats{grid-column:1/-1}.bpax-resource-layout{grid-template-columns:1fr}.bpax-sticky-card{position:static}.question-studio{grid-template-columns:1fr}.bpax-resource-grid{grid-template-columns:repeat(3,1fr)}.bpax-student-performance{grid-template-columns:46px minmax(150px,1fr) .7fr .7fr 110px}.bpax-student-performance>div:nth-of-type(2){display:none}}
@media(max-width:850px){.bpax-body .app-sidebar{display:none}.bpax-body .app-main{margin-left:0!important}.bpax-layout{display:block}.bpax-subnav{position:sticky;height:auto;top:0;display:block;padding:8px 10px;background:#1d1735;overflow:auto}.bpax-subnav-brand,.bpax-season{display:none}.bpax-subnav nav{display:flex;margin:0;gap:4px;min-width:max-content}.bpax-subnav nav a{display:flex;gap:5px;padding:6px 9px}.bpax-subnav nav a i{width:28px;height:28px}.bpax-subnav nav a strong{display:block;font-size:.68rem}.bpax-main{padding:18px 14px 35px}.bpax-topbar{display:block}.bpax-top-actions{justify-content:flex-start;margin-top:13px}.bpax-chapter-picker{min-width:190px}.bpax-readiness,.bpax-readiness.compact{grid-template-columns:1fr}.bpax-readiness-number{font-size:3.6rem}.bpax-comp-grid,.bpax-dashboard-grid,.bpax-two-col,.bpax-two-col.wide-left{grid-template-columns:1fr}.bpax-dashboard-grid>section:first-child{grid-column:auto}.bpax-chart-metrics{grid-template-columns:1fr 1fr}.bpax-page-intro{grid-template-columns:1fr 1fr}.bpax-library-card{grid-template-columns:48px minmax(0,1fr)}.bpax-library-card>.button{grid-column:1/-1}.bpax-tool-grid{grid-template-columns:1fr 1fr}.bpax-select-grid{grid-template-columns:1fr 1fr}.bpax-resource-grid{grid-template-columns:1fr 1fr}.bpax-question-card ul{grid-template-columns:1fr}.form-grid.three,.form-grid.four{grid-template-columns:1fr 1fr}.bpax-student-performance{grid-template-columns:42px 1fr .65fr 100px}.bpax-student-performance>div:nth-of-type(2),.bpax-student-performance>div:nth-of-type(3){display:none}.bpax-student-events{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bpax-topbar h1{font-size:1.65rem}.bpax-top-actions{display:grid;grid-template-columns:1fr}.bpax-chapter-picker{min-width:0}.bpax-comp-grid,.bpax-resource-grid,.bpax-select-grid,.bpax-student-events{grid-template-columns:1fr}.bpax-page-intro{grid-template-columns:1fr}.bpax-comp-hero{grid-template-columns:1fr}.bpax-comp-hero-stats{grid-template-columns:1fr 1fr}.bpax-tool-grid{grid-template-columns:1fr}.bpax-library-card{grid-template-columns:42px minmax(0,1fr)}.bpax-library-icon{width:42px;height:42px}.bpax-filter-bar{display:grid}.bpax-filter-bar label{min-width:0}.form-grid.two,.form-grid.three,.form-grid.four{grid-template-columns:1fr}.bpax-assignment-card{grid-template-columns:1fr}.bpax-question-card{grid-template-columns:1fr}.bpax-question-card>span{display:none}.bpax-student-performance{grid-template-columns:40px 1fr auto}.bpax-student-performance>div:nth-of-type(n+2){display:none}.bpax-student-detail-head{grid-template-columns:58px 1fr}.bpax-student-detail-head>.button{grid-column:1/-1}.bpax-setting-row{grid-template-columns:1fr auto}.bpax-setting-row time{grid-column:1/-1}}

/* BPA Prep 4.0.1 — independent chapters + roster */
.bpax-student-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:14px 16px;border:1px solid #e1e5ee;border-radius:16px;background:#fff}.bpax-student-toolbar>div{display:flex;align-items:baseline;gap:8px}.bpax-student-toolbar strong{font-size:1.65rem;line-height:1;color:#5f43d6}.bpax-student-toolbar span,.bpax-student-toolbar p{font-size:.72rem;color:#7f879a;margin:0}.bpax-roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.bpax-roster-card{background:#fff;border:1px solid #e1e5ee;border-radius:17px;padding:15px;display:grid;gap:13px;box-shadow:0 7px 20px rgba(33,39,65,.035)}.bpax-roster-person{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center}.bpax-roster-person h3{margin:0;font-size:.92rem;color:#1b2033}.bpax-roster-person p{margin:3px 0 0;font-size:.64rem;color:#8b92a4}.bpax-roster-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}.bpax-roster-actions form{margin:0}.bpax-roster-actions .button{min-height:34px;padding:7px 11px;font-size:.68rem}.bpax-student-editor{max-width:980px;margin:0 auto}.bpax-field-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-top:2px}.bpax-field-head strong,.bpax-field-head small{display:block}.bpax-field-head strong{font-size:.78rem}.bpax-field-head small{font-size:.62rem;color:#8a91a3;margin-top:3px}.bpax-comp-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:350px;overflow:auto;padding:2px}.bpax-comp-check{display:grid;grid-template-columns:18px 1fr;gap:9px;align-items:start;padding:10px 11px;border:1px solid #e3e6ee;border-radius:12px;background:#fafbfc;cursor:pointer}.bpax-comp-check:hover{border-color:#cfc5f8;background:#f8f5ff}.bpax-comp-check input{margin-top:2px}.bpax-comp-check strong,.bpax-comp-check small{display:block}.bpax-comp-check strong{font-size:.69rem;color:#262c3e}.bpax-comp-check small{font-size:.58rem;color:#9298a9;margin-top:2px}.bpax-chapter-manager{margin-bottom:16px}.bpax-chapter-manager-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px;align-items:start}.bpax-chapter-form{border-left:1px solid #eaecf2;padding-left:18px}.bpax-chapter-form h3{font-size:.9rem;margin:0 0 12px}.bpax-chapter-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid #eef0f4}.bpax-chapter-row:last-child{border-bottom:0}.bpax-chapter-badge{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#eee8ff,#eaf3ff);color:#6245d5;display:grid;place-items:center;font-weight:950;font-size:.68rem}.bpax-chapter-row strong,.bpax-chapter-row small{display:block}.bpax-chapter-row strong{font-size:.78rem}.bpax-chapter-row small{font-size:.61rem;color:#8b92a3;margin-top:3px}.bpax-form-actions{display:flex;gap:8px;flex-wrap:wrap}.bpax-form .optional{font-weight:500;color:#9aa0af;font-size:.6rem}.bpax-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bpax-library-comp{background:#fff;border:1px solid #e1e5ee;border-radius:17px;padding:16px;text-decoration:none;color:#202638;display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:12px;align-items:start;box-shadow:0 7px 20px rgba(33,39,65,.035)}.bpax-library-comp h3{margin:7px 0 4px;font-size:.92rem}.bpax-library-comp p{margin:0;color:#838a9c;font-size:.67rem;line-height:1.45}.bpax-library-stats{display:grid;gap:7px;min-width:92px}.bpax-library-stats span{font-size:.61rem;color:#8b91a3}.bpax-library-stats b{display:block;color:#2e3447;font-size:.9rem}.bpax-dialog{border:0;border-radius:20px;padding:0;max-width:760px;width:min(760px,calc(100vw - 30px));box-shadow:0 24px 70px rgba(24,18,57,.28)}.bpax-dialog::backdrop{background:rgba(20,17,38,.48);backdrop-filter:blur(3px)}.bpax-dialog>.bpax-form{padding:22px}.bpax-dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:start}.bpax-dialog-head h2{margin:2px 0}.bpax-dialog-head button{border:0;background:#f1f2f6;border-radius:10px;width:34px;height:34px;font-size:1.3rem;cursor:pointer}
@media(max-width:1180px){.bpax-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpax-chapter-manager-grid{grid-template-columns:1fr}.bpax-chapter-form{border-left:0;border-top:1px solid #eaecf2;padding-left:0;padding-top:16px}.bpax-library-grid{grid-template-columns:1fr}}
@media(max-width:720px){.bpax-roster-grid,.bpax-comp-check-grid{grid-template-columns:1fr}.bpax-student-toolbar{align-items:flex-start;flex-direction:column}.bpax-chapter-row{grid-template-columns:42px minmax(0,1fr)}.bpax-chapter-row>.bpax-roster-actions{grid-column:1/-1;justify-content:flex-start}.bpax-library-comp{grid-template-columns:44px minmax(0,1fr)}.bpax-library-stats{grid-column:1/-1;display:flex;gap:18px}.bpax-field-head{align-items:flex-start;flex-direction:column}}


/* BPA Prep 4.0.2 — competition catalog */
.bpa-competition-catalog{max-width:1320px;margin:0 auto}.bpa-catalog-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.bpa-catalog-summary article{position:relative;overflow:hidden;padding:17px 18px;border:1px solid #e3e8f4;border-radius:18px;background:linear-gradient(145deg,#fff,#f8f9ff);box-shadow:0 8px 24px rgba(28,39,80,.05)}.bpa-catalog-summary article:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#6243d6,#2877ed)}.bpa-catalog-summary span{display:block;color:#768096;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.bpa-catalog-summary strong{display:block;font-size:1.8rem;margin-top:4px;color:#16203a}.bpa-catalog-toolbar{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(5,minmax(120px,.75fr)) auto auto;gap:9px;align-items:center;padding:13px;border:1px solid #e2e7f2;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(31,43,84,.05);margin-bottom:12px}.bpa-catalog-toolbar select,.bpa-catalog-toolbar input{width:100%;min-width:0;height:43px;border:1px solid #dfe4ef;border-radius:12px;background:#f8f9fc;padding:0 11px;font:inherit;color:#25304a}.bpa-catalog-search{display:flex;align-items:center;gap:7px;border:1px solid #dfe4ef;border-radius:12px;background:#f8f9fc;padding-left:12px}.bpa-catalog-search span{font-size:1.2rem;color:#6d7890}.bpa-catalog-search input{border:0;background:transparent;padding-left:0}.bpa-catalog-results-head{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#788298;font-size:.78rem;margin:13px 2px}.bpa-catalog-results-head strong{color:#27324c}.bpa-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bpa-catalog-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;border:1px solid #e1e6f0;border-radius:23px;background:#fff;box-shadow:0 12px 34px rgba(29,40,78,.07);transition:transform .18s ease,box-shadow .18s ease}.bpa-catalog-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(42,50,105,.12)}.bpa-catalog-card.inactive{opacity:.55}.bpa-catalog-accent{height:5px;background:linear-gradient(90deg,#6846dc,#3779ee,#46bfd3)}.bpa-catalog-card.is-open .bpa-catalog-accent{background:linear-gradient(90deg,#6c46dd,#f3a42d,#ff6e56)}.bpa-catalog-card header{display:flex;gap:14px;padding:18px 18px 8px}.bpa-catalog-symbol{flex:0 0 54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#35226f,#6551df);color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.06em;box-shadow:0 8px 18px rgba(89,64,197,.22)}.bpa-catalog-heading{min-width:0}.bpa-catalog-kickers,.bpa-catalog-levels{display:flex;gap:6px;flex-wrap:wrap}.bpa-catalog-kickers span,.bpa-catalog-levels span{padding:4px 7px;border-radius:999px;font-size:.64rem;font-weight:850}.bpa-catalog-kickers .category{background:#eef1ff;color:#5545be}.bpa-catalog-kickers .open{background:#fff0dc;color:#a65c00}.bpa-catalog-heading h3{font-size:1.14rem;line-height:1.25;margin:7px 0;color:#17213a}.bpa-catalog-levels span{background:#f2f5f8;color:#637087}.bpa-catalog-description{margin:4px 18px 16px;color:#6e788d;font-size:.84rem;line-height:1.55;min-height:42px}.bpa-catalog-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e9edf4;border-top:1px solid #e8ecf3;border-bottom:1px solid #e8ecf3}.bpa-catalog-metrics div{padding:11px 8px;background:#f9faff;text-align:center;min-width:0}.bpa-catalog-metrics strong,.bpa-catalog-metrics span{display:block}.bpa-catalog-metrics strong{font-size:.9rem;color:#27334e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bpa-catalog-metrics span{font-size:.59rem;margin-top:2px;color:#8590a4;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.bpa-catalog-card footer{display:flex;gap:7px;flex-wrap:wrap;padding:14px 18px 17px;margin-top:auto}.bpa-catalog-card footer .button{padding:9px 12px;font-size:.72rem}.bpa-participant-level-fieldset{border:0;padding:0;margin:0}.bpa-participant-level-fieldset legend{font-weight:800;margin-bottom:9px;color:#27314a}.bpa-participant-level-fieldset legend small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.bpa-participant-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.bpa-participant-level-grid label{cursor:pointer}.bpa-participant-level-grid input{position:absolute;opacity:0;pointer-events:none}.bpa-participant-level-grid span{display:block;height:100%;padding:14px;border:1px solid #dfe4ef;border-radius:15px;background:#f9faff;transition:.16s ease}.bpa-participant-level-grid b,.bpa-participant-level-grid small{display:block}.bpa-participant-level-grid small{color:#7d879a;margin-top:3px}.bpa-participant-level-grid input:checked+span{border-color:#6248db;background:#f2efff;box-shadow:inset 0 0 0 1px #6248db}.bpa-participant-level-grid input:checked+span b{color:#4d38be}
@media(max-width:1180px){.bpa-catalog-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.bpa-catalog-search{grid-column:span 2}.bpa-catalog-grid{grid-template-columns:1fr}}
@media(max-width:760px){.bpa-catalog-summary{grid-template-columns:1fr 1fr}.bpa-catalog-toolbar{grid-template-columns:1fr 1fr}.bpa-catalog-search{grid-column:1/-1}.bpa-catalog-grid{grid-template-columns:1fr}.bpa-participant-level-grid{grid-template-columns:1fr}.bpa-catalog-metrics{grid-template-columns:1fr 1fr}.bpa-catalog-results-head{display:block}.bpa-catalog-results-head span{display:block;margin-top:3px}}

/* 4.0.3 BPA Competition Catalog active-workspace fix */
.bpa-comp-editor{width:min(860px,calc(100vw - 32px));max-height:90vh;overflow:auto}.bpa-open-toggle{display:flex!important;align-items:stretch}.bpa-open-toggle>input{position:absolute;opacity:0}.bpa-open-toggle>span{display:block;width:100%;padding:13px 14px;border:1px solid #dfe4ef;border-radius:14px;background:#f8f9fc;cursor:pointer}.bpa-open-toggle b,.bpa-open-toggle small{display:block}.bpa-open-toggle small{margin-top:3px;color:#7c879b;line-height:1.35}.bpa-open-toggle input:checked+span{border-color:#e4932e;background:#fff5e6;box-shadow:inset 0 0 0 1px #e4932e}.bpa-open-toggle input:checked+span b{color:#a65c00}.bpax-dialog-x{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;text-decoration:none;color:#6d7890;background:#f2f4f8;font-size:1.3rem}.bpa-catalog-card footer form{margin:0}.bpax-advanced{border:1px solid #e2e7f0;border-radius:15px;padding:11px 13px;background:#fafbfe}.bpax-advanced summary{cursor:pointer;font-weight:800;color:#34405d}.bpax-advanced[open] summary{margin-bottom:12px}.checkbox-line{display:flex!important;align-items:center;gap:8px}.checkbox-line input{width:auto!important}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:820px){.form-grid.four{grid-template-columns:1fr 1fr}}

/* === 4.0.4 VISUAL REFRESH: BPA COMPETITION CATALOG === */
.bpa-competition-catalog-v2{display:grid;gap:12px}
.bpa-catalog-command{display:flex;align-items:center;gap:18px;min-width:0;padding:12px 14px;border:1px solid #dedff0;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fbfaff 58%,#f5f8ff 100%);box-shadow:0 8px 24px rgba(38,31,79,.045)}
.bpa-catalog-command-title{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding-right:16px;border-right:1px solid #e7e7f1}
.bpa-catalog-command-title .pulse-dot{width:9px;height:9px;border-radius:50%;background:#6c4ee3;box-shadow:0 0 0 5px rgba(108,78,227,.10)}
.bpa-catalog-command-title strong,.bpa-catalog-command-title small{display:block}.bpa-catalog-command-title strong{font-size:.83rem;color:#24273a}.bpa-catalog-command-title small{margin-top:2px;font-size:.59rem;color:#8a8fa0}
.bpa-category-rail{display:flex;gap:6px;align-items:center;overflow:auto;padding:1px;scrollbar-width:none}.bpa-category-rail::-webkit-scrollbar{display:none}.bpa-category-rail a{white-space:nowrap;text-decoration:none;color:#6f7485;background:#fff;border:1px solid #e3e4ec;border-radius:999px;padding:7px 10px;font-size:.62rem;font-weight:750;transition:.18s ease}.bpa-category-rail a:hover{border-color:#c9c0f4;color:#5f43d6;transform:translateY(-1px)}.bpa-category-rail a.active{color:#fff;background:#24203c;border-color:#24203c;box-shadow:0 5px 14px rgba(36,32,60,.18)}
.bpa-catalog-toolbar-v2{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(5,minmax(105px,.62fr)) auto auto;gap:7px;align-items:center;padding:8px;border:1px solid #e1e3eb;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(32,37,60,.035)}
.bpa-catalog-toolbar-v2 select,.bpa-catalog-toolbar-v2 input{min-width:0;height:38px;border-radius:10px;border:1px solid #e2e4eb;background:#f8f9fb;font-size:.65rem}.bpa-catalog-toolbar-v2 select{padding:0 27px 0 9px}.bpa-catalog-search-v2{display:grid!important;grid-template-columns:26px 1fr;align-items:center;margin:0!important;border:1px solid #d8d9e5;border-radius:10px;background:#fff;overflow:hidden;height:38px}.bpa-catalog-search-v2 span{display:grid;place-items:center;color:#7459df;font-size:1rem}.bpa-catalog-search-v2 input{border:0!important;background:transparent!important;height:36px!important;padding-left:0!important;box-shadow:none!important}.bpa-catalog-toolbar-v2 .button{min-height:38px;padding:7px 11px;font-size:.65rem}.bpa-clear-filter{font-size:.62rem;font-weight:800;text-decoration:none;color:#7a5ee0;padding:6px}
.bpa-catalog-results-head-v2{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.bpa-catalog-results-head-v2 strong{font-size:.67rem;color:#3a3e50}.bpa-catalog-results-head-v2 span{font-size:.58rem;color:#969aaa}
.bpa-catalog-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bpa-catalog-card-v2{position:relative;overflow:hidden;display:grid;grid-template-rows:1fr auto;min-width:0;border:1px solid #dedfe8;border-radius:17px;background:#fff;box-shadow:0 7px 23px rgba(36,40,65,.045);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.bpa-catalog-card-v2:hover{transform:translateY(-2px);border-color:#cfc9ee;box-shadow:0 13px 32px rgba(39,35,73,.09)}
.bpa-card-colorbar{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#704fe3,#4e8eea)}.bpa-catalog-card-v2:nth-child(4n+2) .bpa-card-colorbar{background:linear-gradient(180deg,#ef7c43,#e8b442)}.bpa-catalog-card-v2:nth-child(4n+3) .bpa-card-colorbar{background:linear-gradient(180deg,#28a39b,#4a8fe8)}.bpa-catalog-card-v2:nth-child(4n+4) .bpa-card-colorbar{background:linear-gradient(180deg,#c552b8,#7455df)}.bpa-catalog-card-v2.is-open{background:linear-gradient(135deg,#fff 0%,#fff 72%,#fbf8ff 100%)}
.bpa-card-main{display:grid;grid-template-columns:68px minmax(0,1fr);gap:13px;padding:14px 15px 10px 18px}.bpa-card-mark{width:64px;height:64px;border-radius:15px;display:grid;align-content:center;justify-items:center;background:linear-gradient(145deg,#28233f,#3d315f);color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 18px rgba(44,37,75,.17)}.bpa-card-mark strong{font-size:1rem;line-height:1;max-width:55px;overflow:hidden;text-overflow:ellipsis}.bpa-card-mark small{font-size:.47rem;letter-spacing:.11em;margin-top:6px;color:#c7bbff;font-weight:900}
.bpa-card-copy{min-width:0}.bpa-card-meta{display:flex;align-items:center;gap:6px;min-width:0}.bpa-card-meta span{display:inline-flex;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 7px;font-size:.52rem;font-weight:850;letter-spacing:.02em}.bpa-card-meta .category{background:#f1eefc;color:#684bd1}.bpa-card-meta .open{background:#e6f8ef;color:#18805b}.bpa-card-copy h3{margin:7px 0 4px;font-size:.91rem;line-height:1.2;color:#1e2232}.bpa-card-copy p{margin:0;min-height:30px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#808697;font-size:.62rem;line-height:1.45}.bpa-card-copy .bpa-catalog-levels{margin-top:8px;display:flex;gap:4px;flex-wrap:wrap}.bpa-card-copy .bpa-catalog-levels span{font-size:.5rem;font-weight:800;color:#5e6475;background:#f5f6f9;border:1px solid #e9eaf0;border-radius:6px;padding:3px 6px}
.bpa-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px 9px 18px;border-top:1px solid #eff0f4;background:#fafbfc}.bpa-inline-stats{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.bpa-inline-stats span{font-size:.54rem;color:#858a99}.bpa-inline-stats b{color:#2b3042;font-size:.65rem}.bpa-inline-stats .format{font-weight:800;color:#6b50d4}.bpa-card-actions{display:flex;gap:5px;align-items:center;flex:0 0 auto}.bpa-card-actions form{margin:0}.bpa-card-actions .button{min-height:32px;padding:6px 10px;font-size:.6rem;border-radius:8px}.bpa-icon-delete{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#a4a7b1;font-size:1.05rem;cursor:pointer;transition:.15s ease}.bpa-icon-delete:hover{background:#fff0f2;color:#c33e54}

/* === 4.0.4 VISUAL REFRESH: LOGIN EXPERIENCE === */
.login-body{margin:0;min-height:100vh;background:#100d1e;color:#fff;overflow-x:hidden}.login-body>main{min-height:100vh}.cyber-login-stage{position:relative;min-height:100vh;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(114,68,238,.26),transparent 28%),radial-gradient(circle at 70% 80%,rgba(20,143,190,.18),transparent 30%),linear-gradient(135deg,#100d1d 0%,#171128 48%,#0d1525 100%)}
.cyber-login-visual{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.login-grid-lines{position:absolute;inset:-20%;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:52px 52px;transform:perspective(600px) rotateX(62deg) translateY(15%);mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 72%,transparent 100%)}.login-glow{position:absolute;border-radius:50%;filter:blur(4px);opacity:.7}.glow-one{width:470px;height:470px;left:-160px;top:-90px;background:radial-gradient(circle,rgba(121,79,255,.32),rgba(121,79,255,0) 68%)}.glow-two{width:520px;height:520px;right:-190px;bottom:-190px;background:radial-gradient(circle,rgba(31,174,217,.20),rgba(31,174,217,0) 68%)}.login-orbit{position:absolute;border:1px solid rgba(175,153,255,.14);border-radius:50%;animation:login-orbit-spin 26s linear infinite}.orbit-one{width:460px;height:460px;left:10%;top:14%}.orbit-two{width:760px;height:760px;left:-2%;top:-8%;animation-duration:42s;animation-direction:reverse}.login-node{position:absolute;width:7px;height:7px;border-radius:50%;background:#9d82ff;box-shadow:0 0 20px #8b6cff}.node-a{left:21%;top:18%}.node-b{left:38%;top:69%;background:#33b5da;box-shadow:0 0 20px #33b5da}.node-c{left:8%;top:73%;background:#ee8f54;box-shadow:0 0 20px #ee8f54}@keyframes login-orbit-spin{to{transform:rotate(360deg)}}
.cyber-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);max-width:1500px;margin:0 auto}.cyber-login-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px 6vw 38px}.cyber-login-brand{display:flex;align-items:center;gap:13px}.cyber-login-mark{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#7654e8,#4d38b3);font-weight:950;letter-spacing:-.03em;box-shadow:0 10px 30px rgba(88,60,198,.34),inset 0 1px rgba(255,255,255,.25)}.cyber-login-brand strong,.cyber-login-brand small{display:block}.cyber-login-brand strong{font-size:.93rem;letter-spacing:.01em}.cyber-login-brand small{font-size:.58rem;color:#958da9;margin-top:3px;letter-spacing:.05em;text-transform:uppercase}
.cyber-login-copy{max-width:720px;padding:8vh 0}.login-status-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(166,145,245,.24);border-radius:999px;background:rgba(255,255,255,.055);padding:7px 11px;font-size:.59rem;font-weight:800;color:#c9c0e5;backdrop-filter:blur(8px)}.login-status-pill i{width:7px;height:7px;border-radius:50%;background:#66dfa3;box-shadow:0 0 0 4px rgba(102,223,163,.10)}.cyber-login-copy h1{margin:20px 0 16px;font-size:clamp(3rem,5.4vw,6.2rem);line-height:.91;letter-spacing:-.055em;font-weight:850}.cyber-login-copy h1 em{font-style:normal;color:transparent;background:linear-gradient(90deg,#a28aff,#7ebaff 50%,#74ddcf);-webkit-background-clip:text;background-clip:text}.cyber-login-copy>p{max-width:630px;margin:0;color:#aaa3bb;font-size:clamp(.88rem,1.1vw,1.05rem);line-height:1.68}.login-feature-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.login-feature-row span{border-left:2px solid #7151df;background:rgba(255,255,255,.045);padding:8px 11px;font-size:.58rem;font-weight:800;color:#b9b2c8;letter-spacing:.02em}.cyber-login-foot{display:flex;justify-content:space-between;align-items:center;color:#6f687d;font-size:.57rem}.login-signal{display:flex;align-items:flex-end;gap:3px}.login-signal i{display:block;width:3px;border-radius:2px;background:#6d50d7}.login-signal i:nth-child(1){height:5px}.login-signal i:nth-child(2){height:9px}.login-signal i:nth-child(3){height:13px}
.cyber-login-access{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:34px 4vw;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));border-left:1px solid rgba(255,255,255,.065);backdrop-filter:blur(9px)}.login-access-card{width:min(430px,100%);border:1px solid rgba(255,255,255,.10);border-radius:26px;padding:30px;background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.045));box-shadow:0 30px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.11);backdrop-filter:blur(22px)}.login-access-head{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:start;margin-bottom:24px}.login-access-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#7454e4;color:#fff;font-size:1.1rem;box-shadow:0 9px 20px rgba(116,84,228,.26)}.login-access-head .eyebrow{margin:1px 0 4px;color:#8f7ce2;font-size:.53rem}.login-access-head h2{margin:0;color:#fff;font-size:1.65rem;letter-spacing:-.03em}.login-access-head p:not(.eyebrow){margin:5px 0 0;color:#8e879d;font-size:.68rem}.login-error{margin-bottom:15px}.login-access-form{display:grid;gap:15px}.login-access-form label{display:grid;gap:7px;color:#bcb5c8;font-size:.6rem;font-weight:800;letter-spacing:.015em}.login-input-wrap{display:grid;grid-template-columns:40px 1fr;align-items:center;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(10,8,19,.28);transition:.18s ease}.login-input-wrap:focus-within{border-color:#8268e8;box-shadow:0 0 0 3px rgba(130,104,232,.10),0 9px 25px rgba(0,0,0,.15)}.login-input-wrap i{font-style:normal;text-align:center;color:#736b80;font-size:.76rem}.login-input-wrap input{height:47px;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;padding:0 13px 0 0!important;font-size:.75rem!important}.login-input-wrap input::placeholder{color:#5f5969}.login-enter-button{margin-top:2px;height:49px;border:0;border-radius:13px;display:flex;justify-content:space-between;align-items:center;padding:0 17px;cursor:pointer;color:#fff;background:linear-gradient(100deg,#6d4fd6,#7559ea 58%,#4a82df);font-weight:850;font-size:.72rem;box-shadow:0 12px 26px rgba(91,65,194,.28);transition:.18s ease}.login-enter-button:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(91,65,194,.36)}.login-enter-button b{font-size:1rem}.login-secure-note{display:grid;grid-template-columns:25px 1fr;gap:9px;align-items:start;margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.075);color:#716b7d}.login-secure-note>span{font-size:.68rem;color:#6d57c6}.login-secure-note p{margin:0}.login-secure-note strong,.login-secure-note small{display:block}.login-secure-note strong{font-size:.58rem;color:#9d96a8}.login-secure-note small{font-size:.52rem;line-height:1.45;margin-top:3px}.login-access-footer{margin-top:16px;font-size:.52rem;color:#625c6e}.login-access-footer span{padding:0 5px;color:#776b91}

@media(max-width:1320px){.bpa-catalog-toolbar-v2{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(110px,.65fr)) auto}.bpa-catalog-toolbar-v2 select:nth-of-type(4),.bpa-catalog-toolbar-v2 select:nth-of-type(5){display:none}}
@media(max-width:1050px){.bpa-catalog-grid-v2{grid-template-columns:1fr}.bpa-catalog-command{align-items:flex-start;flex-direction:column}.bpa-catalog-command-title{border-right:0;padding-right:0}.bpa-catalog-toolbar-v2{grid-template-columns:1fr 1fr 1fr}.bpa-catalog-search-v2{grid-column:1/-1}.bpa-catalog-toolbar-v2 select:nth-of-type(4),.bpa-catalog-toolbar-v2 select:nth-of-type(5){display:block}.cyber-login-shell{grid-template-columns:1fr minmax(400px,.85fr)}.cyber-login-copy h1{font-size:clamp(2.8rem,5vw,4.8rem)}}
@media(max-width:820px){.cyber-login-shell{display:block}.cyber-login-story{min-height:44vh;padding:28px 26px 20px}.cyber-login-copy{padding:7vh 0 3vh}.cyber-login-copy h1{font-size:clamp(2.6rem,10vw,4rem)}.cyber-login-copy>p{font-size:.78rem}.cyber-login-foot{display:none}.cyber-login-access{border-left:0;border-top:1px solid rgba(255,255,255,.06);padding:28px 18px 40px}.login-access-card{padding:24px}.orbit-two{display:none}}
@media(max-width:680px){.bpa-catalog-toolbar-v2{grid-template-columns:1fr 1fr}.bpa-catalog-search-v2{grid-column:1/-1}.bpa-catalog-toolbar-v2 .button{grid-column:1/-1}.bpa-card-main{grid-template-columns:54px minmax(0,1fr);padding-left:15px}.bpa-card-mark{width:52px;height:52px;border-radius:12px}.bpa-card-bottom{align-items:flex-start;flex-direction:column}.bpa-card-actions{width:100%}.bpa-card-actions .button.primary{flex:1;text-align:center}.bpa-catalog-results-head-v2 span{display:none}}
@media(prefers-reduced-motion:reduce){.login-orbit{animation:none}.bpa-catalog-card-v2,.login-enter-button,.bpa-category-rail a{transition:none}}

/* Cyber Cave 4.1.0 — BPA competition catalog density + dark-card redesign */
.bpa-catalog-grid-v2{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.bpa-catalog-card-v3{position:relative;min-width:0;min-height:250px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(132,145,194,.22);border-radius:18px;background:linear-gradient(148deg,#1c2133 0%,#222940 58%,#1a1f31 100%);color:#f6f7ff;box-shadow:0 14px 34px rgba(24,28,49,.13);isolation:isolate;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.bpa-catalog-card-v3::before{content:"";position:absolute;z-index:-1;width:170px;height:170px;border-radius:50%;right:-78px;top:-92px;background:radial-gradient(circle,rgba(116,82,235,.35),rgba(116,82,235,0) 72%)}
.bpa-catalog-card-v3::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#7c5cff,#4aa7ff)}
.bpa-catalog-card-v3:nth-child(4n+2)::after{background:linear-gradient(90deg,#f18a4b,#f2bf52)}
.bpa-catalog-card-v3:nth-child(4n+2)::before{background:radial-gradient(circle,rgba(242,154,73,.26),rgba(242,154,73,0) 72%)}
.bpa-catalog-card-v3:nth-child(4n+3)::after{background:linear-gradient(90deg,#31c6b2,#4aa7ff)}
.bpa-catalog-card-v3:nth-child(4n+3)::before{background:radial-gradient(circle,rgba(52,194,178,.24),rgba(52,194,178,0) 72%)}
.bpa-catalog-card-v3:nth-child(4n+4)::after{background:linear-gradient(90deg,#da66cc,#805cff)}
.bpa-catalog-card-v3:nth-child(4n+4)::before{background:radial-gradient(circle,rgba(209,93,198,.25),rgba(209,93,198,0) 72%)}
.bpa-catalog-card-v3:hover{transform:translateY(-3px);border-color:rgba(151,127,255,.48);box-shadow:0 20px 42px rgba(24,28,49,.2)}
.bpa-catalog-card-v3.is-open{border-color:rgba(73,205,155,.38)}
.bpa-card-v3-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 14px 0}
.bpa-number-lockup{min-width:58px}.bpa-number-lockup strong,.bpa-number-lockup small{display:block}.bpa-number-lockup strong{font-size:1.35rem;line-height:1;font-weight:950;letter-spacing:-.045em;color:#fff}.bpa-number-lockup small{margin-top:5px;font-size:.46rem;letter-spacing:.13em;color:#8f9bb8;font-weight:900}
.bpa-card-v3-flags{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;flex-wrap:wrap}.bpa-card-v3-flags span{border-radius:999px;padding:4px 7px;font-size:.47rem;line-height:1;font-weight:900;letter-spacing:.035em;white-space:nowrap;max-width:145px;overflow:hidden;text-overflow:ellipsis}.bpa-card-v3-flags .category{background:rgba(255,255,255,.085);color:#c8cfe2;border:1px solid rgba(255,255,255,.08)}.bpa-card-v3-flags .open{background:rgba(43,194,137,.15);color:#73e8ba;border:1px solid rgba(70,214,159,.18)}
.bpa-card-v3-body{padding:15px 14px 10px;min-width:0;flex:1}.bpa-card-v3-body h3{margin:0;color:#fff;font-size:.93rem;line-height:1.22;letter-spacing:-.018em}.bpa-card-v3-body p{margin:7px 0 0;color:#9ca6be;font-size:.59rem;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:35px}.bpa-card-v3-body .bpa-catalog-levels{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px}.bpa-card-v3-body .bpa-catalog-levels span{padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.085);background:rgba(255,255,255,.055);color:#b8c1d6;font-size:.47rem;font-weight:800}
.bpa-card-v3-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0 14px 11px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(9,12,23,.22);overflow:hidden}.bpa-card-v3-stats>span{padding:8px 5px;text-align:center;border-right:1px solid rgba(255,255,255,.065)}.bpa-card-v3-stats>span:last-child{border-right:0}.bpa-card-v3-stats b,.bpa-card-v3-stats small{display:block}.bpa-card-v3-stats b{font-size:.76rem;color:#fff;line-height:1}.bpa-card-v3-stats small{font-size:.44rem;color:#7f8aa5;margin-top:4px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.bpa-card-v3-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center;padding:10px 10px 10px 14px;border-top:1px solid rgba(255,255,255,.075);background:rgba(7,10,19,.18)}.bpa-card-v3-actions form{margin:0}.bpa-comp-open{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;text-decoration:none;color:#d9dded;font-size:.58rem;font-weight:900}.bpa-comp-open span{font-size:.85rem;color:#9d87ff;transition:transform .16s ease}.bpa-comp-open:hover{color:#fff}.bpa-comp-open:hover span{transform:translateX(2px)}.bpa-comp-edit,.bpa-card-v3-actions .bpa-icon-delete{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.055);color:#aeb7cc;text-decoration:none;font-size:.78rem;cursor:pointer}.bpa-comp-edit:hover{background:rgba(126,94,240,.18);color:#c9bcff;border-color:rgba(140,111,245,.3)}.bpa-card-v3-actions .bpa-icon-delete:hover{background:rgba(224,72,93,.14);color:#ff9baa;border-color:rgba(224,72,93,.25)}
.bpa-comp-editor[open]{position:fixed;inset:0;margin:auto;max-height:min(88vh,850px);overscroll-behavior:contain}
body:has(.bpa-comp-editor[open]){overflow:hidden}
@media(max-width:1380px){.bpa-catalog-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.bpa-catalog-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.bpa-catalog-grid-v2{grid-template-columns:1fr}.bpa-catalog-card-v3{min-height:235px}}

/* === BPA Prep 4.1 Resources: hosted visual library === */
.bpax-resource-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:28px 30px;margin-bottom:18px;border-radius:24px;color:#fff;background:radial-gradient(circle at 85% 10%,rgba(124,92,255,.42),transparent 34%),linear-gradient(135deg,#11192b 0%,#17243b 55%,#241c4c 100%);box-shadow:0 18px 45px rgba(20,26,45,.14)}
.bpax-resource-hero:after{content:"";position:absolute;right:-50px;bottom:-90px;width:250px;height:250px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 78px rgba(255,255,255,.018)}
.bpax-resource-hero>div{position:relative;z-index:1}.bpax-resource-hero .eyebrow{color:#b9b5ff}.bpax-resource-hero h2{font-size:clamp(1.55rem,2vw,2.35rem);margin:4px 0 8px;max-width:760px}.bpax-resource-hero p{max-width:760px;color:rgba(255,255,255,.72);margin:0;line-height:1.6}.bpax-resource-hero-stats{display:flex;gap:8px;flex:none}.bpax-resource-hero-stats span{display:grid;min-width:88px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);border-radius:14px;text-align:center;font-size:.72rem;color:rgba(255,255,255,.68);backdrop-filter:blur(8px)}.bpax-resource-hero-stats strong{display:block;font-size:1.35rem;color:#fff;margin-bottom:2px}
.bpax-resource-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.75fr) minmax(160px,.55fr) auto auto;gap:10px;align-items:center;margin-bottom:20px}.bpax-resource-toolbar select,.bpax-resource-toolbar input{width:100%}.bpax-resource-search{position:relative}.bpax-resource-search span{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#76839d}.bpax-resource-search input{padding-left:38px}
.bpax-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.bpax-media-card{min-width:0;overflow:hidden;border:1px solid #dfe5ef;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(20,29,48,.07);transition:transform .18s ease,box-shadow .18s ease}.bpax-media-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(20,29,48,.12)}.bpax-media-cover{position:relative;display:block;height:210px;overflow:hidden;background:linear-gradient(145deg,#172038,#2a2454);text-decoration:none}.bpax-media-cover>img{width:100%;height:100%;object-fit:cover}.bpax-media-open{position:absolute;right:10px;bottom:10px;padding:7px 10px;border-radius:999px;background:rgba(9,14,27,.82);color:#fff;font-size:.72rem;font-weight:800;opacity:0;transform:translateY(4px);transition:.18s}.bpax-media-card:hover .bpax-media-open{opacity:1;transform:none}.bpax-media-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle at 70% 20%,rgba(125,95,255,.65),transparent 28%),linear-gradient(145deg,#172038,#25234b);color:white}.bpax-media-placeholder span{font-size:4rem;font-weight:900;line-height:1}.bpax-media-placeholder small{margin-top:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}.bpax-media-copy{padding:15px 16px 16px}.bpax-media-copy h3{font-size:1rem;line-height:1.25;margin:9px 0 3px}.bpax-media-author{font-size:.78rem!important;color:#657089!important;margin:0 0 8px!important}.bpax-media-copy>p:not(.bpax-media-author){font-size:.78rem;color:#69758b;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.2em}.bpax-media-copy>small{display:block;margin-top:10px;font-size:.7rem;color:#8993a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-media-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px}.bpax-media-actions .button{padding:8px 10px;font-size:.72rem}.bpax-media-actions form{margin:0}
.bpax-resource-dialog{width:min(680px,calc(100vw - 28px));max-height:min(88vh,900px);padding:0;border:0;border-radius:24px;box-shadow:0 30px 100px rgba(10,17,33,.28);overflow:auto}.bpax-resource-dialog::backdrop{background:rgba(11,17,29,.55);backdrop-filter:blur(6px)}.bpax-resource-dialog-head{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px 16px;background:rgba(255,255,255,.96);border-bottom:1px solid #e8ecf3;backdrop-filter:blur(12px)}.bpax-resource-dialog-head h2{margin:2px 0}.bpax-resource-dialog-head p{margin:0;color:#748096}.bpax-resource-dialog-head>button{width:38px;height:38px;border:0;border-radius:50%;background:#eef1f6;font-size:1.45rem;cursor:pointer}.bpax-resource-upload-form{padding:20px 22px 24px}.bpax-upload-zone.resource-file-field{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:18px;border:1.5px dashed #bfc8d8;border-radius:16px;background:#f8f9fc;cursor:pointer}.bpax-upload-zone.resource-file-field>span{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#ebe8ff;color:#634de1;font-size:.72rem;font-weight:900}.bpax-upload-zone.resource-file-field strong{align-self:end}.bpax-upload-zone.resource-file-field small{align-self:start;color:#79859a}.bpax-upload-zone.resource-file-field input{position:absolute;inset:0;opacity:0;cursor:pointer}.bpax-cover-upload{display:grid!important;grid-template-columns:88px 1fr;gap:14px;align-items:center;padding:13px;border:1px solid #e2e7ef;border-radius:16px;background:#fff}.bpax-cover-preview{width:74px;height:100px;overflow:hidden;display:grid;place-items:center;align-content:center;border-radius:10px;background:linear-gradient(145deg,#1e2740,#41377b);color:#fff}.bpax-cover-preview b{font-size:1.5rem}.bpax-cover-preview small{color:rgba(255,255,255,.72)}.bpax-cover-preview img{width:100%;height:100%;object-fit:cover;grid-area:1/1/-1/-1}.bpax-cover-upload>span:last-child{display:grid;gap:5px}.bpax-cover-upload input{font-size:.78rem}.resource-url-field[hidden]{display:none!important}

/* Student streaming-style book library */
.bpa-streaming-library{padding:0!important;overflow:hidden;background:#0f1522;color:#fff;min-height:calc(100vh - 80px);border-radius:24px}.bpa-stream-top{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;background:linear-gradient(#111827,rgba(17,24,39,.92));border-bottom:1px solid rgba(255,255,255,.06)}.bpa-stream-top h2{margin:0;font-size:1.4rem}.bpa-stream-top .eyebrow{color:#a89cff}.bpa-stream-search{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-end}.bpa-stream-search label{position:relative;min-width:260px;max-width:420px;flex:1}.bpa-stream-search label span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8d98aa}.bpa-stream-search input,.bpa-stream-search select{border:1px solid rgba(255,255,255,.12);background:#1a2232;color:#fff}.bpa-stream-search input{padding-left:36px;width:100%}.bpa-stream-search select{max-width:210px}.bpa-stream-search .button{border-color:rgba(255,255,255,.13);color:#fff;background:#252e3f}
.bpa-stream-hero{position:relative;min-height:430px;display:grid;grid-template-columns:210px minmax(0,650px);align-items:center;gap:34px;padding:42px 7%;overflow:hidden}.bpa-stream-hero-bg{position:absolute;inset:-15%;filter:blur(32px) saturate(1.1);opacity:.36;transform:scale(1.15)}.bpa-stream-hero-bg img{width:100%;height:100%;object-fit:cover}.bpa-stream-hero-bg>span{display:grid;place-items:center;width:100%;height:100%;font-size:16rem;background:radial-gradient(circle,#6d5af7,transparent 56%)}.bpa-stream-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0f1522 5%,rgba(15,21,34,.78) 54%,#0f1522 100%),linear-gradient(0deg,#0f1522 0%,transparent 55%)}.bpa-stream-feature-cover,.bpa-stream-hero-copy{position:relative;z-index:2}.bpa-stream-feature-cover{height:310px;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#242f4d,#5a49a8);box-shadow:0 25px 60px rgba(0,0,0,.42)}.bpa-stream-feature-cover img{width:100%;height:100%;object-fit:cover}.bpa-stream-feature-cover>span{height:100%;display:grid;place-items:center;font-size:7rem;font-weight:900}.bpa-stream-hero-copy .eyebrow{color:#9d91ff}.bpa-stream-hero-copy h1{font-size:clamp(2.2rem,4vw,4.2rem);line-height:.98;margin:8px 0 8px;letter-spacing:-.035em}.bpa-stream-hero-copy h3{margin:0 0 14px;color:#b2bdcf;font-size:1rem}.bpa-stream-hero-copy>p{max-width:630px;color:#bac3d2;line-height:1.6}.bpa-stream-meta{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}.bpa-stream-meta span{padding:6px 9px;border-radius:7px;background:rgba(255,255,255,.08);color:#d4d9e4;font-size:.73rem}.bpa-stream-hero-copy .button{box-shadow:0 10px 28px rgba(104,80,243,.25)}
.bpa-stream-shelf,.bpa-stream-search-results{position:relative;z-index:3;padding:0 28px 30px}.bpa-stream-shelf-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.bpa-stream-shelf-head h2{font-size:1.15rem;margin:0}.bpa-stream-shelf-head span{font-size:.75rem;color:#8692a5}.bpa-stream-row{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 14px;scrollbar-width:thin;scrollbar-color:#44506a transparent}.bpa-stream-book{flex:0 0 150px;display:block;color:#fff;text-decoration:none;transition:transform .18s ease;min-width:0}.bpa-stream-book:hover{transform:scale(1.045);z-index:2}.bpa-stream-cover{position:relative;width:100%;aspect-ratio:2/3;border-radius:8px;overflow:hidden;background:#25304b;box-shadow:0 10px 24px rgba(0,0,0,.28)}.bpa-stream-cover img{width:100%;height:100%;object-fit:cover}.bpa-stream-cover-placeholder{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 65% 20%,#7762ef,transparent 30%),linear-gradient(145deg,#202a45,#362e66)}.bpa-stream-cover-placeholder b{font-size:4.5rem}.bpa-stream-cover-placeholder small{margin-top:12px;color:#c0c4e9;font-size:.68rem;text-transform:uppercase}.bpa-stream-play{position:absolute;right:8px;bottom:8px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#141a28;font-size:.65rem;opacity:0;transform:translateY(4px);transition:.18s}.bpa-stream-book:hover .bpa-stream-play{opacity:1;transform:none}.bpa-stream-info{padding:9px 2px 0}.bpa-stream-info strong{display:block;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-stream-info>span{display:block;margin-top:3px;color:#9faabd;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-stream-info small{display:block;margin-top:4px;color:#657289;font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-stream-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px 12px}.bpa-stream-grid .bpa-stream-book{width:100%;flex:auto}.bpa-stream-search-results{padding-top:24px}
@media(max-width:1250px){.bpax-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bpa-stream-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.bpax-resource-hero{align-items:flex-start;flex-direction:column}.bpax-resource-toolbar{grid-template-columns:1fr 1fr}.bpax-resource-search{grid-column:1/-1}.bpax-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpa-stream-top{align-items:flex-start;flex-direction:column}.bpa-stream-search{width:100%;flex-wrap:wrap;justify-content:flex-start}.bpa-stream-search label{min-width:min(100%,320px)}.bpa-stream-hero{grid-template-columns:150px 1fr;min-height:370px;padding:30px}.bpa-stream-feature-cover{height:230px}.bpa-stream-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.bpax-resource-hero{padding:22px}.bpax-resource-hero-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.bpax-resource-hero-stats span{min-width:0}.bpax-resource-toolbar{grid-template-columns:1fr}.bpax-resource-search{grid-column:auto}.bpax-media-grid{grid-template-columns:1fr 1fr;gap:10px}.bpax-media-cover{height:170px}.bpax-media-copy{padding:12px}.bpax-media-copy>p:not(.bpax-media-author){display:none}.bpax-media-actions{align-items:flex-start;flex-direction:column}.bpax-resource-dialog{width:calc(100vw - 14px)}.bpa-stream-top{padding:16px}.bpa-stream-search select{max-width:none;flex:1}.bpa-stream-hero{grid-template-columns:100px 1fr;gap:18px;min-height:300px;padding:26px 18px}.bpa-stream-feature-cover{height:155px}.bpa-stream-hero-copy h1{font-size:1.8rem}.bpa-stream-hero-copy>p{display:none}.bpa-stream-meta{margin:10px 0}.bpa-stream-shelf,.bpa-stream-search-results{padding-left:16px;padding-right:16px}.bpa-stream-book{flex-basis:118px}.bpa-stream-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 9px}}
.bpax-resource-card.visual{grid-template-columns:62px 1fr auto!important;align-items:center}.bpax-resource-thumb{width:54px;height:72px;border-radius:9px;overflow:hidden;background:linear-gradient(145deg,#1e2944,#4f4393);display:grid;place-items:center;color:#fff;font-size:1.6rem;font-weight:900}.bpax-resource-thumb img{width:100%;height:100%;object-fit:cover}

/* === 4.2.0 BPA Question Bank Library + Student Portal Access === */
.bpax-bank-stats,.bpax-student-access-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}
.bpax-bank-stats article,.bpax-student-access-stats article{min-width:0;padding:14px 16px;border:1px solid #dfe5f0;border-radius:16px;background:linear-gradient(145deg,#fff,#f7f9fd);box-shadow:0 7px 18px rgba(24,34,59,.05)}
.bpax-bank-stats span,.bpax-student-access-stats span{display:block;color:#6d7485;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.bpax-bank-stats strong,.bpax-student-access-stats strong{display:block;margin-top:3px;color:#18223b;font-size:1.55rem;line-height:1}
.bpax-import-drawer{margin:0 0 18px;border:1px solid #dfe5f0;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(24,34,59,.05);overflow:hidden}
.bpax-import-drawer>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px 18px}
.bpax-import-drawer>summary::-webkit-details-marker{display:none}.bpax-import-drawer>summary>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ede9fe;color:#6d28d9;font-size:1.3rem;font-weight:800}.bpax-import-drawer>summary strong{display:block;color:#17223b}.bpax-import-drawer>summary small{display:block;margin-top:2px;color:#7a8191}.bpax-import-drawer>summary>i{font-style:normal;color:#7a8191;transition:.2s}.bpax-import-drawer[open]>summary>i{transform:rotate(180deg)}
.bpax-import-drawer-body{padding:0 18px 18px;border-top:1px solid #edf0f6}.bpax-import-inline{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(140px,.7fr) minmax(120px,.55fr);gap:12px;align-items:end;padding-top:16px}.bpax-import-inline .bpax-upload-zone{grid-column:1/3}.bpax-import-inline .bpax-notes-toggle{grid-column:3}.bpax-import-inline>.button{grid-column:1/-1;justify-self:start}.bpax-notes-toggle summary{cursor:pointer;font-weight:700;color:#56607a}.bpax-notes-toggle textarea{width:100%;margin-top:8px}
.bpax-bank-library{overflow:visible}.bpax-bank-filterbar{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(180px,1fr) repeat(4,minmax(125px,.7fr)) auto auto;gap:9px;align-items:center;padding:13px;margin:0 0 14px;background:#f6f8fc;border:1px solid #e6eaf2;border-radius:15px}.bpax-bank-filterbar select,.bpax-bank-filterbar input{width:100%;min-width:0}.bpax-bank-search{position:relative}.bpax-bank-search span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#80889a}.bpax-bank-search input{padding-left:31px}
.bpax-bank-groups{display:grid;gap:10px}.bpax-bank-group{border:1px solid #e1e6ef;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 4px 13px rgba(24,34,59,.035)}.bpax-bank-group>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(360px,1fr) 24px;gap:14px;align-items:center;padding:14px 16px}.bpax-bank-group>summary::-webkit-details-marker{display:none}.bpax-bank-group[open]>summary{background:linear-gradient(90deg,#f9f8ff,#f8fbff);border-bottom:1px solid #e8ebf2}.bpax-bank-group>summary>i{font-style:normal;color:#7b8294;transition:.2s}.bpax-bank-group[open]>summary>i{transform:rotate(180deg)}
.bpax-bank-group-id{display:flex;align-items:center;gap:12px;min-width:0}.bpax-bank-group-id>span{display:grid;place-items:center;min-width:58px;height:42px;padding:0 10px;border-radius:12px;background:linear-gradient(135deg,#2d1b69,#5b21b6);color:#fff;font-size:.95rem;font-weight:900;letter-spacing:.04em;box-shadow:0 7px 14px rgba(91,33,182,.18)}.bpax-bank-group-id strong,.bpax-bank-group-id small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-bank-group-id strong{color:#17223b}.bpax-bank-group-id small{margin-top:2px;color:#798194}
.bpax-bank-group-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.bpax-bank-group-meta span{min-width:0;padding:7px 9px;border-radius:9px;background:#f3f5f9;color:#697286;font-size:.73rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-bank-group-meta b{color:#1d2946}
.bpax-bank-group-body{padding:7px 12px 12px}.bpax-bank-library-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 7px;border-bottom:1px solid #edf0f5}.bpax-bank-library-row:last-child{border-bottom:0}.bpax-bank-library-row.selected{background:#faf8ff;border-radius:10px}.bpax-bank-row-main strong,.bpax-bank-row-main small{display:block}.bpax-bank-row-main strong{color:#202b46}.bpax-bank-row-main small{margin-top:2px;color:#7b8393;font-size:.78rem}.bpax-bank-row-actions{display:flex;align-items:center;gap:7px}.bpax-bank-row-actions form{margin:0}
.bpax-access-roster-card{position:relative}.bpax-portal-status{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:12px;background:#f6f7fa;border:1px solid #e6e9ef}.bpax-portal-dot{width:9px;height:9px;border-radius:50%;background:#9ca3af;box-shadow:0 0 0 4px rgba(156,163,175,.12)}.bpax-portal-status.active{background:#f0fdf4;border-color:#bbf7d0}.bpax-portal-status.active .bpax-portal-dot{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.bpax-portal-status.disabled{background:#fff7ed;border-color:#fed7aa}.bpax-portal-status.disabled .bpax-portal-dot{background:#f97316;box-shadow:0 0 0 4px rgba(249,115,22,.12)}.bpax-portal-status em,.bpax-portal-status strong,.bpax-portal-status small{display:block}.bpax-portal-status em{font-style:normal;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#657086}.bpax-portal-status strong{font-size:.88rem;color:#202b46;margin-top:1px}.bpax-portal-status small{font-size:.72rem;color:#7b8393;margin-top:1px}.portal-button{background:#24134f!important;color:#fff!important;border-color:#24134f!important}.portal-button:hover{background:#371b78!important}
.bpax-access-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 36px);padding:0;border:0;border-radius:22px;box-shadow:0 30px 90px rgba(10,16,34,.32);overflow:auto}.bpax-access-dialog::backdrop{background:rgba(9,14,28,.58);backdrop-filter:blur(5px)}.bpax-access-dialog-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:16px;padding:20px 22px;background:linear-gradient(135deg,#1c123f,#30206c 62%,#12465e);color:#fff}.bpax-access-dialog-head .eyebrow,.bpax-access-dialog-head p{color:#d8d4ef}.bpax-access-dialog-head h2{margin:2px 0 3px;color:#fff}.bpax-dialog-close{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:1.4rem}.bpax-access-summary{display:grid;grid-template-columns:auto 1fr 1fr;gap:10px;align-items:center;padding:15px 22px;background:#f7f8fc;border-bottom:1px solid #e9ecf2}.bpax-access-summary>div{padding:0 12px;border-left:1px solid #e0e4eb}.bpax-access-summary span,.bpax-access-summary strong{display:block}.bpax-access-summary>div>span{font-size:.7rem;color:#7b8292;text-transform:uppercase;font-weight:800}.bpax-access-summary>div>strong{margin-top:2px;color:#202a44;font-size:.86rem}.bpax-access-state{display:inline-flex!important;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f1f3f7;color:#626b7e;font-size:.76rem;font-weight:900;text-transform:uppercase}.bpax-access-state i{width:8px;height:8px;border-radius:50%;background:#9ca3af}.bpax-access-state.active{background:#dcfce7;color:#166534}.bpax-access-state.active i{background:#22c55e}.bpax-access-state.disabled{background:#ffedd5;color:#9a3412}.bpax-access-state.disabled i{background:#f97316}.bpax-account-form{padding:20px 22px}.bpax-access-secondary{display:grid;gap:0;border-top:1px solid #e7eaf1}.bpax-access-secondary>section{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);align-items:center;gap:18px;padding:17px 22px;border-bottom:1px solid #edf0f5}.bpax-access-secondary strong,.bpax-access-secondary small{display:block}.bpax-access-secondary small{margin-top:3px;color:#7b8393}.bpax-inline-reset{display:flex;gap:8px}.bpax-inline-reset input{min-width:0;flex:1}.bpax-access-secondary .danger-zone{background:#fff8f7}.bpax-access-secondary .danger-zone strong{color:#9f2d27}
@media(max-width:1250px){.bpax-bank-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.bpax-bank-search{grid-column:1/-1}.bpax-bank-group>summary{grid-template-columns:minmax(220px,1fr) minmax(300px,1fr) 22px}.bpax-bank-group-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bpax-bank-stats,.bpax-student-access-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bpax-import-inline{grid-template-columns:1fr 1fr}.bpax-import-inline .bpax-upload-zone,.bpax-import-inline .bpax-notes-toggle{grid-column:1/-1}.bpax-bank-filterbar{grid-template-columns:1fr 1fr}.bpax-bank-search{grid-column:1/-1}.bpax-bank-group>summary{grid-template-columns:1fr 22px}.bpax-bank-group-meta{grid-column:1/-1}.bpax-access-summary{grid-template-columns:1fr 1fr}.bpax-access-state{grid-column:1/-1;justify-self:start}.bpax-access-secondary>section{grid-template-columns:1fr}}
@media(max-width:620px){.bpax-bank-filterbar,.bpax-import-inline,.bpax-bank-stats,.bpax-student-access-stats{grid-template-columns:1fr}.bpax-bank-group-meta{grid-template-columns:1fr 1fr}.bpax-bank-library-row{grid-template-columns:32px 1fr}.bpax-bank-row-actions{grid-column:2;justify-content:flex-start}.bpax-access-summary{grid-template-columns:1fr}.bpax-access-summary>div{border-left:0;padding:0}.bpax-inline-reset{flex-direction:column}}

/* BPA 4.2.1 mixed question types */
.bpa-fill-answer{display:grid;gap:8px;margin:18px 0}.bpa-fill-answer span{font-weight:800;color:#475569}.bpa-fill-answer input{width:100%;padding:16px 18px;border:2px solid #cbd5e1;border-radius:14px;font:inherit;font-size:1.05rem;background:#fff}.bpa-fill-answer input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px rgba(99,102,241,.12)}.bpax-question-text-answer{margin-top:12px;padding:12px 14px;border-radius:12px;background:#eef2ff;color:#312e81}.bpax-question-card .bpax-chip-row{margin-bottom:6px}

/* BPA 4.3.1 competition seasons + programming challenges */
.bpax-programming-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 16px;padding:24px 26px;border-radius:22px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(74,222,128,.18),transparent 32%),linear-gradient(135deg,#111827,#18233d 58%,#2f1c5b);box-shadow:0 18px 38px rgba(18,26,48,.12)}
.bpax-programming-hero h2{font-size:1.7rem;margin:3px 0 7px}.bpax-programming-hero p{margin:0;max-width:760px;color:#d9deeb}.bpax-programming-hero>span{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:2rem;font-weight:900}
.bpax-challenge-builder{margin:0 0 16px;border:1px solid #dfe5f0;border-radius:18px;background:#fff;overflow:hidden}.bpax-challenge-builder>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:15px 17px}.bpax-challenge-builder>summary::-webkit-details-marker{display:none}.bpax-challenge-builder>summary>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ece8ff;color:#5d3fd3;font-size:1.2rem;font-weight:900}.bpax-challenge-builder>summary div{flex:1}.bpax-challenge-builder>summary strong,.bpax-challenge-builder>summary small{display:block}.bpax-challenge-builder>summary small{margin-top:2px;color:#7c8498}.bpax-challenge-builder>form{border-top:1px solid #e7eaf1;padding:18px}
.bpax-challenge-upload-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bpax-challenge-upload-grid .staff-only{background:linear-gradient(145deg,#fff7ed,#fff)}
.bpax-rubric-builder{border:1px solid #e0e5ef;border-radius:15px;padding:14px}.bpax-rubric-builder legend{font-weight:900;color:#202942}.bpax-rubric-builder>p{font-size:.76rem;color:#7b8395;margin:0 0 10px}.bpax-rubric-row{display:grid;grid-template-columns:1.4fr .6fr 1.4fr .6fr;gap:8px;margin-top:8px}
.bpax-challenge-list{display:grid;gap:10px}.bpax-challenge-card{display:grid;grid-template-columns:86px minmax(0,1fr) 120px;gap:14px;align-items:center;padding:14px;border:1px solid #e1e6ef;border-radius:17px;background:linear-gradient(145deg,#fff,#fafbfe)}.bpax-challenge-mark{height:70px;border-radius:15px;background:linear-gradient(145deg,#1f2937,#312e81);color:#fff;display:grid;place-items:center;align-content:center}.bpax-challenge-mark span{font-size:1.5rem;font-weight:950}.bpax-challenge-mark small{color:#cfd5e5}.bpax-challenge-copy h3{margin:7px 0 4px}.bpax-challenge-copy p{margin:0;color:#70788c;font-size:.78rem}.bpax-challenge-files{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.bpax-challenge-files a,.bpax-challenge-files span{padding:5px 8px;border-radius:8px;background:#eef2f8;font-size:.68rem;font-weight:800;text-decoration:none;color:#404a62}.bpax-challenge-card>aside{text-align:right}.bpax-challenge-card>aside strong,.bpax-challenge-card>aside small{display:block}.bpax-challenge-card>aside small{color:#8a91a2}.bpax-grade-actions{display:flex;align-items:center;gap:8px}.bpax-grade-actions details{position:relative}.bpax-grade-actions summary{cursor:pointer;font-weight:800;color:#5b45c7}.bpax-mini-grade{position:absolute;right:0;top:24px;z-index:20;width:280px;padding:12px;background:#fff;border:1px solid #dfe3ed;border-radius:13px;box-shadow:0 18px 42px rgba(20,27,49,.16)}.bpax-mini-grade label{display:grid;gap:4px;margin-bottom:8px;font-size:.68rem;font-weight:800}.bpax-mini-grade input,.bpax-mini-grade textarea{width:100%}
.bpa-prep-workarea{display:grid;gap:14px;min-width:0}.bpa-program-challenge-shelf{background:linear-gradient(145deg,#151a2c,#23213f);color:#fff;border-radius:20px;padding:18px}.bpa-program-challenge-shelf .eyebrow{color:#b9aaff}.bpa-program-challenge-shelf h2{margin:2px 0}.bpa-program-challenge-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;margin-top:9px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055);text-decoration:none;color:#fff}.bpa-program-challenge-card:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}.bpa-program-challenge-card>span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#2563eb);font-size:1.25rem}.bpa-program-challenge-card small,.bpa-program-challenge-card strong,.bpa-program-challenge-card p{display:block}.bpa-program-challenge-card small{color:#bfc5d7;font-size:.67rem}.bpa-program-challenge-card strong{margin-top:2px}.bpa-program-challenge-card p{margin:3px 0 0;color:#cfd5e4;font-size:.72rem}.bpa-program-challenge-card b{font-size:.72rem}
.bpa-challenge-page-head{display:grid;gap:16px;margin-bottom:14px}.bpa-challenge-page-head>a{text-decoration:none;font-weight:800;color:#6750ce}.bpa-challenge-page-head h1{font-size:2rem;margin:3px 0 5px}.bpa-challenge-page-head p{margin:0;color:#747d90}.bpa-challenge-instructions{padding:14px 16px;margin-bottom:14px;border:1px solid #e0e5ef;border-radius:14px;background:#fff;color:#51596c;line-height:1.55}.bpa-challenge-launch,.bpa-challenge-workspace,.bpa-challenge-complete{border-radius:22px;padding:22px;margin-bottom:16px;background:#fff;border:1px solid #dfe4ed;box-shadow:0 10px 26px rgba(24,31,52,.06)}.bpa-challenge-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.bpa-challenge-mode-grid form{margin:0}.bpa-challenge-mode-grid button{width:100%;min-height:145px;border:1px solid #dfe4ed;border-radius:18px;background:linear-gradient(145deg,#f9fafc,#fff);display:grid;place-items:center;align-content:center;gap:5px;cursor:pointer;color:#20283e}.bpa-challenge-mode-grid button>span{font-size:2rem;color:#6d4fd7}.bpa-challenge-mode-grid button strong{font-size:1.05rem}.bpa-challenge-mode-grid button small{color:#798195}.bpa-challenge-mode-grid button.simulation{background:linear-gradient(145deg,#251b52,#4b2ea7);color:#fff;border-color:#4c37a2}.bpa-challenge-mode-grid button.simulation small{color:#d7cff4}.bpa-challenge-workspace>header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.bpa-challenge-timer{padding:10px 14px;border-radius:13px;background:#171b2d;color:#fff;text-align:right}.bpa-challenge-timer small,.bpa-challenge-timer strong{display:block}.bpa-challenge-timer strong{font-size:1.35rem;letter-spacing:.04em}.bpa-practice-pill{padding:7px 10px;border-radius:999px;background:#eaf7ef;color:#24744f;font-weight:900;font-size:.72rem}.bpa-challenge-materials{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bpa-challenge-materials a{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:14px;border:1px solid #e0e5ef;border-radius:15px;text-decoration:none;color:#283149}.bpa-challenge-materials a.primary{background:#f3f0ff;border-color:#d9d0ff}.bpa-challenge-materials a>span{width:44px;height:44px;border-radius:12px;background:#ece8ff;color:#6546d4;display:grid;place-items:center;font-weight:950}.bpa-challenge-materials strong,.bpa-challenge-materials small{display:block}.bpa-challenge-materials small{color:#80889a}.bpa-challenge-submit{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.bpa-challenge-submit label{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;padding:13px;border:1px dashed #cfd5e1;border-radius:14px;cursor:pointer}.bpa-challenge-submit label>span{grid-row:1/4;width:48px;height:48px;border-radius:12px;background:#eaf1ff;color:#315db4;display:grid;place-items:center;font-weight:950}.bpa-challenge-submit input{grid-column:2}.bpa-challenge-complete{display:flex;align-items:center;gap:16px;background:linear-gradient(145deg,#effcf5,#fff)}.bpa-challenge-complete>span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#d9f7e6;color:#228052;font-size:1.5rem;font-weight:950}.bpa-challenge-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto 50px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f4}.bpa-challenge-history-row strong,.bpa-challenge-history-row small{display:block}.bpa-challenge-history-row small{color:#81899a}.bpa-challenge-history-row>span{padding:5px 8px;border-radius:999px;background:#eef1f6;font-size:.68rem;font-weight:900}.bpa-challenge-history-row>span.graded{background:#e3f7eb;color:#24724e}.bpa-challenge-history-row>span.submitted{background:#eaf0ff;color:#365da6}
@media(max-width:1100px){.bpax-challenge-upload-grid{grid-template-columns:1fr 1fr}.bpax-challenge-card{grid-template-columns:70px 1fr}.bpax-challenge-card>aside{grid-column:2;text-align:left}.bpa-competition-workspace{grid-template-columns:1fr}.bpa-prep-workarea{width:100%}}
@media(max-width:700px){.bpax-challenge-upload-grid,.bpax-rubric-row,.bpa-challenge-mode-grid,.bpa-challenge-materials,.bpa-challenge-submit{grid-template-columns:1fr}.bpax-challenge-card{grid-template-columns:1fr}.bpax-challenge-mark{height:58px;grid-template-columns:auto auto;gap:7px}.bpax-challenge-card>aside{grid-column:1}.bpa-challenge-workspace>header{align-items:flex-start;flex-direction:column}.bpa-challenge-submit label{grid-template-columns:46px 1fr}}

/* BPA 4.3.1 rubric polish */
.bpax-grade-rubric{display:grid;gap:8px;padding:10px;border:1px solid rgba(124,92,255,.18);border-radius:12px;background:rgba(124,92,255,.05)}
.bpax-grade-rubric>strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.bpax-grade-rubric label{display:grid;grid-template-columns:minmax(0,1fr) auto 78px;align-items:center;gap:6px;font-size:.82rem}
.bpax-grade-rubric input{width:78px}
.bpax-grade-rubric small{opacity:.68}
.bpax-table-sub{display:block;margin-top:3px;color:var(--muted);font-weight:500}

/* Cyber Cave Portal 4.3.1 — Student BPA Competition Experience */
.bpa-student-competitions-page{max-width:1520px}
.bpa-student-competitions-page .bpa-page-heading{margin-bottom:22px;background:radial-gradient(circle at 82% 10%,rgba(79,210,255,.22),transparent 25%),radial-gradient(circle at 65% 120%,rgba(255,74,162,.2),transparent 32%),linear-gradient(125deg,#0d1737 0%,#302277 48%,#5934c8 100%);min-height:170px;align-items:center}
.bpa-student-competitions-page .bpa-page-heading:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent,#000 45%,#000);pointer-events:none}
.bpa-student-competitions-page .bpa-page-heading h1{font-size:clamp(2.5rem,4.3vw,4rem)}
.bpa-competition-flow{display:grid;gap:28px}
.bpa-competition-section{position:relative;border-radius:28px;padding:24px;background:linear-gradient(145deg,#f5f7fc,#fff);border:1px solid #dfe5ef;box-shadow:0 18px 42px rgba(21,32,65,.06);overflow:hidden}
.bpa-competition-section.assigned:before,.bpa-competition-section.open:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#6d4cff,#2c72ff,#1fcbd0)}
.bpa-competition-section.open:before{background:linear-gradient(180deg,#ff7b2f,#ff3f88,#9945ff)}
.bpa-competition-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 18px;padding:0 4px}
.bpa-competition-section-head .eyebrow{margin:0 0 3px;color:#7056d2}
.bpa-competition-section.open .bpa-competition-section-head .eyebrow{color:#d55377}
.bpa-competition-section-head h2{font-size:clamp(1.65rem,2.4vw,2.25rem);margin:0;letter-spacing:-.035em}
.bpa-competition-section-head p{margin:5px 0 0;color:#69748b}
.bpa-section-count{display:grid;place-items:center;min-width:48px;height:48px;padding:0 14px;border-radius:16px;background:#191d38;color:#fff;font-size:1.05rem;font-weight:950;box-shadow:0 10px 24px rgba(25,29,56,.16)}
.bpa-competition-section.open .bpa-section-count{background:linear-gradient(135deg,#df4a7b,#ff7831)}
.bpa-student-comp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.bpa-student-comp-card{position:relative;min-width:0;padding:18px;border-radius:22px;color:#fff;background:radial-gradient(circle at 100% 0%,rgba(126,103,255,.28),transparent 38%),linear-gradient(150deg,#171b37 0%,#212b53 62%,#17223f 100%);box-shadow:0 14px 30px rgba(12,18,47,.17);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;border:1px solid rgba(255,255,255,.08);isolation:isolate}
.bpa-student-comp-card:nth-child(4n+2){background:radial-gradient(circle at 100% 0%,rgba(26,204,214,.25),transparent 38%),linear-gradient(150deg,#111d35,#163a4a 62%,#102638)}
.bpa-student-comp-card:nth-child(4n+3){background:radial-gradient(circle at 100% 0%,rgba(255,113,55,.25),transparent 38%),linear-gradient(150deg,#271b34,#4a2639 62%,#2b1d31)}
.bpa-student-comp-card:nth-child(4n+4){background:radial-gradient(circle at 100% 0%,rgba(95,112,255,.28),transparent 38%),linear-gradient(150deg,#18203f,#28336b 62%,#1a254d)}
.bpa-student-comp-card.open-event{background:radial-gradient(circle at 100% 0%,rgba(255,122,48,.25),transparent 38%),linear-gradient(150deg,#24192f,#402240 60%,#2c1b39)}
.bpa-student-comp-card:hover{transform:translateY(-5px);box-shadow:0 20px 38px rgba(14,20,53,.25)}
.bpa-student-comp-card.active{outline:2px solid #7f68ff;outline-offset:2px;box-shadow:0 20px 42px rgba(79,61,196,.28)}
.bpa-student-comp-card.open-event.active{outline-color:#ff7152}
.bpa-student-comp-accent{position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#9f7dff,#4b8cff,#24d1cf);z-index:-1}.bpa-student-comp-card.open-event .bpa-student-comp-accent{background:linear-gradient(180deg,#ffb346,#ff5f6d,#be4cff)}
.bpa-student-comp-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.bpa-student-comp-number{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:950;color:#a9b7ff}.bpa-open-badge,.bpa-assigned-badge{padding:5px 8px;border-radius:999px;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.bpa-assigned-badge{background:rgba(123,100,255,.18);color:#c7baff;border:1px solid rgba(180,165,255,.2)}.bpa-open-badge{background:rgba(255,111,67,.18);color:#ffc1aa;border:1px solid rgba(255,150,112,.2)}
.bpa-student-comp-card h3{margin:13px 0 5px;font-size:1.08rem;line-height:1.18;letter-spacing:-.02em;min-height:0;color:#fff}.bpa-student-comp-category{margin:0;color:#aeb9d2;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bpa-student-comp-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.bpa-student-comp-tags span{padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.075);color:#dbe2f5;font-size:.62rem;font-weight:800}
.bpa-student-comp-metrics{display:grid!important;grid-template-columns:1.35fr repeat(3,.75fr);gap:5px!important;padding:10px 0 0!important;border-top:1px solid rgba(255,255,255,.09)!important;align-items:center}.bpa-student-comp-metrics>div{min-width:0;text-align:center}.bpa-student-comp-metrics strong,.bpa-student-comp-metrics small{display:block}.bpa-student-comp-metrics strong{font-size:.9rem;color:#fff}.bpa-student-comp-metrics small{font-size:.56rem;color:#95a3c1;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.bpa-readiness-orb{width:50px;height:50px;border-radius:50%;margin:auto;background:radial-gradient(circle,#202846 55%,transparent 57%),conic-gradient(#72dff1 calc(var(--readiness)*1%),rgba(255,255,255,.08) 0);display:grid;place-items:center;align-content:center}.bpa-readiness-orb strong{font-size:.75rem!important}.bpa-readiness-orb small{font-size:.45rem!important}
.bpa-student-comp-open{display:flex!important;align-items:center;justify-content:space-between!important;border:0!important;padding:10px 0 0!important;color:#d8e0f4;font-size:.69rem;font-weight:850}.bpa-student-comp-open b{font-size:1rem;color:#8ea5ff}
.bpa-vibrant-empty{grid-column:1/-1;display:flex;gap:7px;flex-direction:column;padding:28px;border:1px dashed #ccd4e5;border-radius:20px;background:rgba(255,255,255,.58);color:#6c7890}.bpa-vibrant-empty strong{color:#27324a;font-size:1rem}
.bpa-competition-hub{grid-column:1/-1;margin:18px 0 4px;border-radius:26px;overflow:hidden;background:#11182e;box-shadow:0 24px 50px rgba(13,19,46,.18);border:1px solid #202b4b;color:#fff;animation:bpaHubIn .22s ease both}@keyframes bpaHubIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.bpa-hub-hero{position:relative;padding:24px 28px 22px;background:radial-gradient(circle at 90% 0%,rgba(85,206,255,.18),transparent 28%),radial-gradient(circle at 60% 120%,rgba(143,71,255,.23),transparent 35%),linear-gradient(130deg,#11182f,#242256 58%,#342674);border-bottom:1px solid rgba(255,255,255,.08)}.bpa-hub-identity{display:grid;grid-template-columns:68px minmax(0,1fr);gap:15px;align-items:center;padding-right:45px}.bpa-hub-number{width:66px;height:66px;border-radius:19px;background:linear-gradient(145deg,#7b5cff,#357fe5);box-shadow:0 12px 30px rgba(84,70,204,.35);display:grid;place-items:center;color:#fff;font-weight:950;letter-spacing:.06em}.bpa-hub-hero .eyebrow{color:#b8b9ff;margin:0}.bpa-hub-hero h2{font-size:clamp(1.8rem,3vw,2.75rem);margin:2px 0;letter-spacing:-.04em}.bpa-hub-hero>p{max-width:850px;color:#bcc7dc;line-height:1.5;margin:16px 0 0}.bpa-hub-tags{display:flex;gap:7px;flex-wrap:wrap}.bpa-hub-tags span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.09);color:#dfe5f7;font-size:.66rem;font-weight:850}.bpa-hub-tags .open{background:rgba(255,110,62,.2);color:#ffc0a5}.bpa-hub-close{position:absolute;top:18px;right:20px;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;font-size:1.4rem}.bpa-hub-close:hover{background:rgba(255,255,255,.16)}
.bpa-hub-requirements{margin:16px 0 0;max-width:900px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.08)}.bpa-hub-requirements summary{cursor:pointer;font-weight:850;color:#fff}.bpa-hub-requirements p{color:#b9c4d9!important;margin:10px 0 0!important}
.bpa-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;background:linear-gradient(180deg,#121a31,#0f172b)}
.bpa-hub-panel{min-width:0;border-radius:20px;padding:18px;background:linear-gradient(145deg,#19233e,#151e36);border:1px solid rgba(255,255,255,.075);box-shadow:0 12px 24px rgba(0,0,0,.11)}.bpa-hub-panel-head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:14px}.bpa-hub-panel-head .eyebrow{margin:0;color:#8fa3c8}.bpa-hub-panel-head h3{margin:2px 0;font-size:1.18rem;color:#fff}.bpa-hub-panel-head p{margin:0;color:#8f9db7;font-size:.75rem}.bpa-hub-panel-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:.6rem;font-weight:950;letter-spacing:.04em;color:#fff}.bpa-hub-panel-icon.violet{background:linear-gradient(135deg,#7a57ff,#4c55d4)}.bpa-hub-panel-icon.cyan{background:linear-gradient(135deg,#0fc9c8,#227bd1)}.bpa-hub-panel-icon.orange{background:linear-gradient(135deg,#ff9845,#e55372)}.bpa-hub-panel-icon.blue{background:linear-gradient(135deg,#2f83f4,#5057dc)}.bpa-hub-panel-icon.green{background:linear-gradient(135deg,#35c58e,#168a85)}.bpa-hub-panel-icon.pink{background:linear-gradient(135deg,#ef5d9a,#9a54e8)}
.bpa-hub-resource-list{display:grid;gap:8px}.bpa-hub-resource{display:grid;grid-template-columns:42px minmax(0,1fr) 22px;gap:10px;align-items:center;padding:9px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.055);transition:background .15s,transform .15s}.bpa-hub-resource:hover{background:rgba(255,255,255,.095);transform:translateX(2px)}.bpa-hub-resource-icon,.bpa-hub-resource-cover{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#33456e,#273453);color:#fff;font-size:.72rem;font-weight:950;overflow:hidden}.bpa-hub-resource-cover img{width:100%;height:100%;object-fit:cover}.bpa-hub-resource strong,.bpa-hub-resource small{display:block;min-width:0}.bpa-hub-resource strong{color:#eef3ff;font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-hub-resource small{color:#8795b0;font-size:.66rem;line-height:1.3;margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.bpa-hub-resource>b{color:#7789ad;font-size:.9rem}.bpa-hub-empty{padding:18px;border-radius:14px;background:rgba(255,255,255,.045);color:#8694af;font-size:.78rem;text-align:center;border:1px dashed rgba(255,255,255,.09)}
.bpa-quick-test-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.bpa-quick-test-form>label{display:grid;gap:5px;color:#9eacc6;font-size:.65rem;font-weight:850}.bpa-quick-test-form select{width:100%;min-width:0;background:#111a30;border:1px solid #303c5e;color:#eef3ff;border-radius:11px;padding:10px 11px}.bpa-quick-mode{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.bpa-quick-mode input{position:absolute;opacity:0}.bpa-quick-mode span{display:block;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);cursor:pointer}.bpa-quick-mode input:checked+span{background:linear-gradient(135deg,rgba(111,79,255,.3),rgba(50,111,226,.22));border-color:#755ee2}.bpa-quick-mode b,.bpa-quick-mode small{display:block}.bpa-quick-mode b{color:#fff}.bpa-quick-mode small{color:#8f9cb8;margin-top:2px;font-size:.65rem}.bpa-quick-test-form>.button{grid-column:1/-1;margin-top:2px}
.bpa-hub-challenge{display:grid;grid-template-columns:44px minmax(0,1fr) 25px;gap:11px;align-items:center;padding:11px;border-radius:13px;background:rgba(255,255,255,.055);margin-top:8px}.bpa-hub-challenge>span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#15c8bf,#277bd7);font-size:1.1rem}.bpa-hub-challenge strong,.bpa-hub-challenge small,.bpa-hub-challenge p{display:block}.bpa-hub-challenge strong{color:#fff;margin:2px 0}.bpa-hub-challenge small,.bpa-hub-challenge p{color:#8c9bb6;font-size:.67rem}.bpa-hub-challenge p{margin:0}.bpa-hub-challenge>b{color:#8da3c7}
@media(max-width:1250px){.bpa-student-comp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bpa-hub-grid{grid-template-columns:1fr 1fr}}
@media(max-width:950px){.bpa-student-comp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bpa-hub-grid{grid-template-columns:1fr}.bpa-quick-test-form{grid-template-columns:1fr 1fr}.bpa-quick-test-form>label:nth-child(3){grid-column:1/-1}}
@media(max-width:650px){.bpa-competition-section{padding:17px;border-radius:22px}.bpa-competition-section-head{align-items:flex-start}.bpa-student-comp-grid{grid-template-columns:1fr}.bpa-section-count{min-width:42px;height:42px}.bpa-hub-hero{padding:20px}.bpa-hub-identity{grid-template-columns:52px minmax(0,1fr)}.bpa-hub-number{width:50px;height:50px;border-radius:14px}.bpa-hub-grid{padding:10px;gap:10px}.bpa-hub-panel{padding:14px}.bpa-quick-test-form{grid-template-columns:1fr}.bpa-quick-test-form>label:nth-child(3),.bpa-quick-mode,.bpa-quick-test-form>.button{grid-column:auto}.bpa-quick-mode{grid-template-columns:1fr}.bpa-student-comp-metrics{grid-template-columns:1.1fr repeat(3,.8fr)!important}}


/* Cyber Cave Portal 4.3.2 — Student BPA readability + wide workspace */
.bpa-student-page{
  width:100%;
  max-width:1900px;
  margin:0;
  padding:40px clamp(28px,3vw,58px) 84px;
  font-family:"Segoe UI Variable Text","Segoe UI Variable",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.55;
}
.bpa-student-sidebar .sidebar-brand{font-size:1.02rem}
.bpa-student-sidebar .bpa-sidebar-label{font-size:.76rem;letter-spacing:.12em}
.bpa-student-sidebar .sidebar-nav a{padding-top:13px;padding-bottom:13px}
.bpa-student-sidebar .sidebar-nav strong{font-size:.94rem;letter-spacing:-.01em}
.bpa-student-sidebar .sidebar-footer strong{font-size:.94rem}
.bpa-student-sidebar .sidebar-footer small,.bpa-student-sidebar .sidebar-footer a{font-size:.8rem}

.bpa-student-page .eyebrow{font-size:.82rem;line-height:1.3}
.bpa-student-page p{line-height:1.55}
.bpa-student-page small{font-size:.8rem;line-height:1.4}
.bpa-student-page .bpa-page-heading{padding:34px 38px;min-height:190px}
.bpa-student-page .bpa-page-heading h1{font-size:clamp(3rem,4.5vw,4.8rem);line-height:1.02}
.bpa-student-page .bpa-page-heading p:last-child{font-size:1.05rem;max-width:900px;line-height:1.55;color:#d8def3}

.bpa-student-competitions-page{max-width:1900px}
.bpa-competition-flow{gap:32px}
.bpa-competition-section{padding:30px;border-radius:30px}
.bpa-competition-section-head{margin-bottom:22px}
.bpa-competition-section-head h2{font-size:clamp(1.9rem,2.5vw,2.65rem)}
.bpa-competition-section-head p{font-size:1rem;color:#5f6c84}
.bpa-section-count{min-width:54px;height:54px;font-size:1.15rem}
.bpa-student-comp-grid{gap:18px}
.bpa-student-comp-card{padding:22px;border-radius:24px}
.bpa-student-comp-number{font-size:.8rem}
.bpa-open-badge,.bpa-assigned-badge{font-size:.7rem;padding:6px 9px}
.bpa-student-comp-card h3{font-size:1.25rem;line-height:1.22;margin-top:15px}
.bpa-student-comp-category{font-size:.9rem;color:#c0cae0}
.bpa-student-comp-tags{gap:7px;margin:14px 0}
.bpa-student-comp-tags span{font-size:.74rem;padding:6px 8px}
.bpa-student-comp-metrics{padding-top:13px!important;gap:8px!important}
.bpa-student-comp-metrics strong{font-size:1rem}
.bpa-student-comp-metrics small{font-size:.67rem}
.bpa-readiness-orb{width:58px;height:58px}
.bpa-readiness-orb strong{font-size:.85rem!important}
.bpa-readiness-orb small{font-size:.53rem!important}
.bpa-student-comp-open{font-size:.82rem!important;padding-top:13px!important}

.bpa-competition-hub{margin-top:22px;border-radius:28px}
.bpa-hub-hero{padding:30px 34px 28px}
.bpa-hub-number{width:74px;height:74px;font-size:1.05rem}
.bpa-hub-identity{grid-template-columns:76px minmax(0,1fr);gap:18px}
.bpa-hub-hero h2{font-size:clamp(2.2rem,3.2vw,3.35rem)}
.bpa-hub-hero>p{font-size:1rem;max-width:1050px;color:#ced6e9}
.bpa-hub-tags span{font-size:.78rem;padding:6px 10px}
.bpa-hub-grid{gap:18px;padding:20px}
.bpa-hub-panel{padding:23px;border-radius:22px}
.bpa-hub-panel-head{grid-template-columns:54px minmax(0,1fr);gap:14px;margin-bottom:18px}
.bpa-hub-panel-icon{width:52px;height:52px;font-size:.7rem}
.bpa-hub-panel-head h3{font-size:1.38rem}
.bpa-hub-panel-head p{font-size:.91rem;color:#aebbd3}
.bpa-hub-resource-list{gap:10px}
.bpa-hub-resource{grid-template-columns:48px minmax(0,1fr) 26px;padding:12px;gap:12px}
.bpa-hub-resource-icon,.bpa-hub-resource-cover{width:48px;height:48px}
.bpa-hub-resource strong{font-size:.98rem}
.bpa-hub-resource small{font-size:.8rem;color:#a4b1c9}
.bpa-hub-empty{font-size:.9rem;padding:22px}

.bpa-quick-test-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.bpa-quick-test-form>label{gap:7px;font-size:.82rem;color:#c1cbe0}
.bpa-quick-test-form select{padding:13px 14px;border-radius:12px;font-size:.95rem}
.bpa-season-field{grid-column:1/-1}
.bpa-quick-mode{gap:11px}
.bpa-quick-mode span{padding:14px 15px}
.bpa-quick-mode b{font-size:1rem}
.bpa-quick-mode small{font-size:.78rem;color:#a8b5ce}
.bpa-quick-test-form>.button{padding:14px 20px;font-size:1rem}

/* Improve reading size throughout the remaining BPA student tools. */
.bpa-student-page .bpa-card-heading h2,
.bpa-student-page .bpa-list-card h2,
.bpa-student-page .bpa-leaderboard-card h2{font-size:1.45rem}
.bpa-student-page .bpa-card-heading a,
.bpa-student-page .text-link{font-size:.9rem}
.bpa-student-page .bpa-list-card,
.bpa-student-page .bpa-leaderboard-card,
.bpa-student-page .bpa-growth-card,
.bpa-student-page .bpa-assignment-card{padding:26px}
.bpa-student-page .bpa-task-row strong{font-size:.98rem}
.bpa-student-page .bpa-task-row small{font-size:.82rem}
.bpa-student-page .bpa-stream-top h2{font-size:2.4rem}
.bpa-student-page .bpa-stream-search input,
.bpa-student-page .bpa-stream-search select,
.bpa-student-page .bpa-compete-filter select{font-size:.95rem}
.bpa-student-page .bpa-compete-summary article span{font-size:.8rem}
.bpa-student-page .bpa-compete-summary article strong{font-size:1.8rem}

@media(max-width:1250px){
  .bpa-student-page{padding-left:28px;padding-right:28px}
}
@media(max-width:950px){
  .bpa-student-page{font-size:16px;padding:24px 18px 60px}
  .bpa-student-page .bpa-page-heading{padding:26px;min-height:150px}
  .bpa-quick-test-form{grid-template-columns:1fr}
  .bpa-season-field,.bpa-quick-mode,.bpa-quick-test-form>.button{grid-column:auto}
}

/* Cyber Cave Portal 4.3.3 — Test Generator season visibility fix
   Author CSS on form labels can override the browser's default [hidden] rule,
   so enforce removal from layout whenever mixed seasons is selected. */
.bpa-quick-test-form .bpa-season-field[hidden]{display:none!important;visibility:hidden!important}

/* Cyber Cave Portal 4.4.0 — BPA streaming library + resource studio */
.bpa-library-body,.bpa-library-body .app-main{background:#080b12!important}
.bpa-library-body{scrollbar-color:#343d50 #080b12}
.bpa-library-body::-webkit-scrollbar{width:11px}.bpa-library-body::-webkit-scrollbar-track{background:#080b12}.bpa-library-body::-webkit-scrollbar-thumb{background:#343d50;border-radius:12px;border:3px solid #080b12}
.bpa-library-body .app-main{overflow-x:hidden}
.bpa-student-page.bpa-netflix-library{width:100%;max-width:none!important;margin:0!important;padding:0 0 54px!important;border-radius:0!important;min-height:100vh;background:#080b12;color:#fff;overflow:hidden}
.bpa-netflix-nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(24px,3vw,54px);background:linear-gradient(180deg,rgba(8,11,18,.98),rgba(8,11,18,.9));border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(18px)}
.bpa-netflix-nav h2{margin:2px 0 0;font-size:clamp(1.8rem,2.3vw,2.75rem);letter-spacing:-.04em}.bpa-netflix-nav .eyebrow{color:#9f95ff;margin:0}.bpa-netflix-search{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1}.bpa-netflix-search label{position:relative;flex:1;max-width:480px}.bpa-netflix-search label span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9da6b8;font-size:1.2rem}.bpa-netflix-search input,.bpa-netflix-search select{height:44px;border:1px solid rgba(255,255,255,.12);background:#141a26;color:#fff;border-radius:11px;font:inherit}.bpa-netflix-search input{width:100%;padding:0 14px 0 40px}.bpa-netflix-search select{max-width:280px;padding:0 34px 0 12px}.bpa-netflix-search button,.bpa-netflix-search>a{height:44px;border:0;border-radius:11px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;cursor:pointer}.bpa-netflix-search button{background:#fff;color:#11151f}.bpa-netflix-search>a{background:#202735;color:#dbe1ed}
.bpa-netflix-hero{position:relative;height:min(36vw,480px);min-height:330px;overflow:hidden;background:#101522}.bpa-netflix-hero-art{position:absolute;inset:-10%;opacity:.5;filter:blur(34px) saturate(1.25);transform:scale(1.12)}.bpa-netflix-hero-art img{width:100%;height:100%;object-fit:cover}.bpa-netflix-hero-art>.bpa-netflix-placeholder{width:100%;height:100%;font-size:12rem}.bpa-netflix-hero-gradient{position:absolute;inset:0;background:linear-gradient(90deg,#080b12 0%,rgba(8,11,18,.85) 42%,rgba(8,11,18,.2) 76%,#080b12 100%),linear-gradient(0deg,#080b12 0%,rgba(8,11,18,.08) 55%,rgba(8,11,18,.3) 100%)}
.bpa-netflix-feature{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:minmax(150px,205px) minmax(0,680px);gap:30px;align-items:center;padding:28px clamp(24px,4vw,74px)}.bpa-netflix-feature-cover{width:100%;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:#171d2b;box-shadow:0 22px 55px rgba(0,0,0,.5);display:grid;place-items:center}.bpa-netflix-feature-cover img{width:100%;height:100%;object-fit:contain;background:#0c1018}.bpa-netflix-feature-copy .eyebrow{color:#8f83ff}.bpa-netflix-feature-copy h1{margin:7px 0 8px;font-size:clamp(2.5rem,4.4vw,5rem);line-height:.94;letter-spacing:-.055em}.bpa-netflix-feature-copy h3{margin:0 0 12px;color:#b9c2d1;font-size:1.05rem}.bpa-netflix-feature-copy>p{max-width:660px;color:#c0c8d4;font-size:1rem;line-height:1.55}.bpa-netflix-feature-meta{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.bpa-netflix-feature-meta span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.09);color:#e7eaf1;font-size:.74rem;font-weight:750}.bpa-netflix-open{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#11151f;text-decoration:none;border-radius:9px;padding:11px 18px;font-size:.95rem;box-shadow:0 8px 26px rgba(0,0,0,.22);transition:.18s}.bpa-netflix-open:hover{transform:translateY(-2px);background:#e7e8ec}
.bpa-netflix-shelf,.bpa-netflix-results{position:relative;padding:10px clamp(22px,3vw,54px) 24px}.bpa-netflix-shelf+.bpa-netflix-shelf{margin-top:2px}.bpa-netflix-shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:0 0 10px}.bpa-netflix-shelf-head h2{margin:0;font-size:clamp(1.15rem,1.4vw,1.5rem);letter-spacing:-.025em}.bpa-netflix-shelf-head span{color:#778196;font-size:.78rem}.bpa-netflix-row{display:flex;gap:12px;overflow-x:auto;overflow-y:visible;padding:5px 4px 26px;scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab}.bpa-netflix-row:active{cursor:grabbing}.bpa-netflix-row::-webkit-scrollbar{display:none}
.bpa-netflix-book{flex:0 0 clamp(145px,10.5vw,205px);min-width:0;scroll-snap-align:start;transition:transform .22s ease,filter .22s ease;transform-origin:center center;position:relative}.bpa-netflix-row:hover .bpa-netflix-book:not(:hover){filter:brightness(.72);transform:scale(.975)}.bpa-netflix-book:hover{transform:scale(1.065);z-index:8}.bpa-netflix-poster{position:relative;display:block;aspect-ratio:2/3;border-radius:9px;background:#111827;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.38);color:#fff;text-decoration:none}.bpa-netflix-cover{position:absolute;inset:0;display:grid;place-items:center;background:#0e1420}.bpa-netflix-cover img{width:100%;height:100%;object-fit:contain!important;background:#0e1420}.bpa-netflix-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 74% 20%,#6750ee,transparent 30%),linear-gradient(145deg,#172033,#332861)}.bpa-netflix-placeholder b{font-size:4.7rem;line-height:1}.bpa-netflix-placeholder small{margin-top:10px;color:#c1c6df;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.bpa-netflix-hover{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;background:linear-gradient(0deg,rgba(4,6,11,.9),rgba(4,6,11,.08) 70%);opacity:0;transition:.2s}.bpa-netflix-hover i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#121722;font-style:normal;box-shadow:0 8px 28px rgba(0,0,0,.35)}.bpa-netflix-hover b{font-size:.78rem}.bpa-netflix-book:hover .bpa-netflix-hover{opacity:1}.bpa-netflix-book-info{padding:10px 3px 0}.bpa-netflix-book-info strong,.bpa-netflix-book-info span,.bpa-netflix-book-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-netflix-book-info strong{font-size:.88rem;color:#fff}.bpa-netflix-book-info span{margin-top:3px;color:#aeb7c7;font-size:.74rem}.bpa-netflix-book-info small{margin-top:4px;color:#69758a;font-size:.68rem}.bpa-netflix-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:26px 13px}.bpa-netflix-grid .bpa-netflix-book{width:100%;flex:auto}.bpa-netflix-empty,.bpa-netflix-empty-state{grid-column:1/-1;border:1px dashed rgba(255,255,255,.12);background:#101621;color:#8c97aa;border-radius:16px;padding:30px;text-align:center}.bpa-netflix-empty-state{margin:40px clamp(24px,4vw,70px)}.bpa-netflix-empty-state>div{font-size:2.6rem}.bpa-netflix-empty-state h2{color:#fff;margin:10px 0 6px}.bpa-netflix-empty-state p{margin:0;color:#8792a5}
@media(max-width:1200px){.bpa-netflix-grid{grid-template-columns:repeat(5,1fr)}.bpa-netflix-feature{grid-template-columns:150px 1fr}.bpa-netflix-hero{height:400px}.bpa-netflix-search select{max-width:220px}}
@media(max-width:800px){.bpa-netflix-nav{position:relative;align-items:flex-start;flex-direction:column}.bpa-netflix-search{width:100%;justify-content:flex-start;flex-wrap:wrap}.bpa-netflix-search label{max-width:none;flex:1 1 100%}.bpa-netflix-search select{max-width:none;flex:1}.bpa-netflix-feature{grid-template-columns:110px 1fr;gap:20px}.bpa-netflix-hero{height:330px;min-height:330px}.bpa-netflix-feature-copy>p{display:none}.bpa-netflix-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.bpa-netflix-feature{grid-template-columns:82px 1fr;padding:22px 18px}.bpa-netflix-hero{height:270px;min-height:270px}.bpa-netflix-feature-copy h1{font-size:1.8rem}.bpa-netflix-feature-copy h3,.bpa-netflix-feature-meta{display:none}.bpa-netflix-book{flex-basis:125px}.bpa-netflix-shelf,.bpa-netflix-results{padding-left:16px;padding-right:16px}.bpa-netflix-grid{grid-template-columns:repeat(3,1fr)}}

/* Teacher BPA resource studio */
.bpa-resource-studio{display:grid;gap:18px}.bpa-resource-studio-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:26px;padding:28px 30px;border-radius:24px;background:radial-gradient(circle at 85% 10%,rgba(114,88,255,.42),transparent 32%),linear-gradient(135deg,#10182a,#19263e 56%,#2c2058);color:#fff;box-shadow:0 20px 46px rgba(20,29,53,.14)}.bpa-resource-studio-hero:after{content:"";position:absolute;right:-60px;bottom:-120px;width:300px;height:300px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 86px rgba(255,255,255,.015)}.bpa-resource-studio-hero>div,.bpa-resource-studio-hero>button{position:relative;z-index:1}.bpa-resource-studio-hero .eyebrow{color:#bcb5ff}.bpa-resource-studio-hero h2{font-size:clamp(1.7rem,2.2vw,2.5rem);margin:4px 0 8px;max-width:760px}.bpa-resource-studio-hero p{margin:0;max-width:760px;color:#b9c2d4;line-height:1.55}.bpa-resource-studio-stats{display:flex;gap:7px}.bpa-resource-studio-stats span{display:grid;min-width:74px;padding:10px 12px;text-align:center;border-radius:13px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);color:#aeb9ce;font-size:.68rem}.bpa-resource-studio-stats strong{font-size:1.2rem;color:#fff}.bpa-resource-studio-toolbar{display:flex;justify-content:space-between;align-items:center;padding:0 3px}.bpa-resource-studio-toolbar strong,.bpa-resource-studio-toolbar span{display:block}.bpa-resource-studio-toolbar strong{font-size:1.1rem}.bpa-resource-studio-toolbar span{color:#858ea2;font-size:.78rem;margin-top:2px}.bpa-resource-studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.bpa-resource-studio-card{min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr);gap:13px;padding:14px;border:1px solid #e3e7ef;border-radius:18px;background:linear-gradient(145deg,#fff,#fafbfe);box-shadow:0 8px 22px rgba(34,43,72,.045);position:relative}.bpa-resource-studio-thumb{width:72px;height:96px;border-radius:10px;background:linear-gradient(145deg,#1a243a,#493c88);display:grid;place-items:center;overflow:hidden;color:#fff;font-size:1.5rem;font-weight:900}.bpa-resource-studio-thumb img{width:100%;height:100%;object-fit:contain;background:#111827}.bpa-resource-studio-copy{min-width:0}.bpa-resource-studio-badges{display:flex;gap:5px;flex-wrap:wrap}.bpa-resource-studio-badges span{padding:4px 6px;border-radius:999px;background:#f0edff;color:#6246cb;font-size:.56rem;font-weight:850}.bpa-resource-studio-copy h3{font-size:.94rem;margin:7px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-resource-studio-copy p{margin:4px 0;color:#7b8497;font-size:.7rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bpa-resource-studio-copy p.author{color:#59647a;font-weight:750;-webkit-line-clamp:1}.bpa-resource-studio-copy small{display:block;margin-top:6px;color:#949bad;font-size:.63rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-resource-studio-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #eef0f4;padding-top:9px}.bpa-resource-studio-actions .button{padding:7px 10px;font-size:.7rem}.bpa-resource-studio-actions form{margin-left:auto}
.bpa-resource-dialog-v2{width:min(760px,calc(100vw - 28px))}.bpa-resource-form-v2{display:grid;gap:17px}.bpa-resource-form-section{display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:center;margin-top:2px}.bpa-resource-form-section .step{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#171f33;color:#fff;font-size:.66rem;font-weight:950}.bpa-resource-form-section h3{margin:0;font-size:1rem}.bpa-resource-form-section p{margin:3px 0 0;color:#818a9d;font-size:.75rem}.bpa-resource-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.bpa-resource-form-grid label{display:grid;gap:6px;font-weight:750;color:#40495d}.bpa-resource-form-grid .wide{grid-column:1/-1}.bpa-resource-form-grid input,.bpa-resource-form-grid select,.bpa-resource-form-grid textarea,.bpa-resource-form-v2 .resource-url-field input{width:100%;border:1px solid #dde2eb;border-radius:12px;background:#f8f9fc;padding:11px 12px;font:inherit;color:#252c3e}.bpa-resource-form-v2 .resource-url-field{display:grid;gap:6px}.bpa-resource-form-v2 .resource-url-field[hidden],.bpa-resource-form-v2 .resource-file-field[hidden]{display:none!important}.bpa-resource-visibility{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.bpa-resource-visibility legend{font-size:0;height:0}.bpa-resource-visibility input{position:absolute;opacity:0}.bpa-resource-visibility label{cursor:pointer}.bpa-resource-visibility span{display:block;height:100%;padding:13px;border:1px solid #e0e5ed;border-radius:14px;background:#f9fafc}.bpa-resource-visibility b,.bpa-resource-visibility small{display:block}.bpa-resource-visibility small{margin-top:4px;color:#828b9c;font-size:.7rem}.bpa-resource-visibility input:checked+span{border-color:#684bdc;background:#f2efff;box-shadow:inset 0 0 0 1px #684bdc}.bpa-resource-form-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding-top:12px;background:#fff;border-top:1px solid #eef0f4}.bpa-resource-form-footer .button{min-width:130px}
@media(max-width:1200px){.bpa-resource-studio-hero{grid-template-columns:1fr auto}.bpa-resource-studio-stats{grid-row:2;grid-column:1/-1}.bpa-resource-studio-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.bpa-resource-studio-hero{grid-template-columns:1fr}.bpa-resource-studio-stats{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:1fr 1fr}.bpa-resource-studio-grid{grid-template-columns:1fr}.bpa-resource-form-grid,.bpa-resource-visibility{grid-template-columns:1fr}.bpa-resource-form-grid .wide{grid-column:auto}}


/* 4.4.1 active BPA resource publisher */
.bpax-resource-dialog{width:min(780px,calc(100vw - 28px));background:#f5f7fb}
.bpax-resource-publisher{padding:0!important;display:grid;gap:0;background:#f5f7fb}
.bpax-resource-form-section{padding:22px;border-bottom:1px solid #e4e8f0;background:#fff}
.bpax-resource-form-section:nth-of-type(even){background:#fafbfe}
.bpax-resource-step{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.bpax-resource-step>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#5d45db,#7658ee);color:#fff;font-weight:950;font-size:.72rem;box-shadow:0 8px 18px rgba(91,68,218,.2)}
.bpax-resource-step strong,.bpax-resource-step small{display:block}.bpax-resource-step strong{font-size:1rem;color:#1b2033}.bpax-resource-step small{margin-top:2px;color:#7a8398;font-size:.72rem}
.bpax-resource-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.bpax-resource-form-grid .wide{grid-column:1/-1}
.bpax-resource-publisher label{display:grid;gap:6px;font-size:.72rem;font-weight:850;color:#4c556d}
.bpax-resource-publisher input,.bpax-resource-publisher select,.bpax-resource-publisher textarea{width:100%;border:1px solid #d9deea;border-radius:12px;background:#fff;padding:11px 12px;color:#1d2438;font:inherit;font-weight:650;box-shadow:0 1px 0 rgba(16,24,40,.02)}
.bpax-resource-publisher textarea{resize:vertical;min-height:84px}
.bpax-resource-publisher input:focus,.bpax-resource-publisher select:focus,.bpax-resource-publisher textarea:focus{outline:3px solid rgba(102,76,222,.12);border-color:#7658e8}
.bpax-resource-scope-cards{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bpax-resource-scope-cards label{position:relative;display:block;cursor:pointer}.bpax-resource-scope-cards input{position:absolute;opacity:0;pointer-events:none}.bpax-resource-scope-cards span{display:block;padding:14px 15px;border:1.5px solid #dfe4ed;border-radius:14px;background:#fff;transition:.18s ease}.bpax-resource-scope-cards b,.bpax-resource-scope-cards small{display:block}.bpax-resource-scope-cards b{color:#20263a}.bpax-resource-scope-cards small{margin-top:3px;color:#7d8699;font-weight:600}.bpax-resource-scope-cards input:checked+span{border-color:#6e50e3;background:linear-gradient(145deg,#f5f1ff,#fff);box-shadow:0 0 0 3px rgba(110,80,227,.1)}
.bpax-resource-publish-bar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 22px;background:rgba(18,25,44,.96);color:#fff;backdrop-filter:blur(10px)}.bpax-resource-publish-bar strong,.bpax-resource-publish-bar small{display:block}.bpax-resource-publish-bar small{margin-top:2px;color:#aeb8ca;font-size:.68rem}.bpax-resource-publish-bar .button{min-width:160px}
@media(max-width:650px){.bpax-resource-form-grid,.bpax-resource-scope-cards{grid-template-columns:1fr}.bpax-resource-form-grid .wide{grid-column:auto}.bpax-resource-form-section{padding:17px}.bpax-resource-publish-bar{align-items:stretch;flex-direction:column}.bpax-resource-publish-bar .button{width:100%}}

/* Cyber Cave 4.5.0 — Photo Board */
.photo-board-workspace{max-width:1780px;margin:0 auto;padding-bottom:56px}.photo-board-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:38px 40px;margin-bottom:20px;border-radius:30px;background:radial-gradient(circle at 78% 18%,rgba(85,75,255,.42),transparent 34%),radial-gradient(circle at 8% 92%,rgba(0,213,187,.22),transparent 38%),linear-gradient(125deg,#10152a 0%,#151f41 52%,#11182d 100%);box-shadow:0 26px 70px rgba(15,23,42,.18);color:#fff}.photo-board-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to left,#000,transparent 82%);pointer-events:none}.photo-board-hero-copy{position:relative;z-index:1;max-width:780px}.photo-board-hero .eyebrow{color:#aab7ff}.photo-board-hero h1{font-size:clamp(2.5rem,4vw,4.9rem);line-height:.95;margin:.18em 0 .24em;letter-spacing:-.055em}.photo-board-hero p{font-size:1.08rem;line-height:1.6;color:#cbd5ef;max-width:680px}.photo-board-hero-actions{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}.photo-board-display-button{background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;backdrop-filter:blur(12px)}.photo-board-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.photo-board-hero-stats span{display:flex;gap:7px;align-items:baseline;padding:9px 13px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);font-size:.8rem;color:#bec8e5}.photo-board-hero-stats strong{font-size:1rem;color:#fff}.photo-board-control-row{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;margin-bottom:18px}.photo-board-upload-zone{position:relative;min-height:112px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 24px;border:1.5px dashed #b7c0d6;border-radius:24px;background:linear-gradient(135deg,#fff,#f7f9ff);cursor:pointer;transition:.2s ease}.photo-board-upload-zone:hover,.photo-board-upload-zone.is-dragging{border-color:#635bff;background:linear-gradient(135deg,#f8f7ff,#eef4ff);box-shadow:0 14px 34px rgba(99,91,255,.12);transform:translateY(-1px)}.photo-board-upload-zone input{position:absolute;inset:0;opacity:0;pointer-events:none}.photo-board-upload-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#5f5bff,#7e63ff);color:#fff;font-size:2rem;box-shadow:0 12px 28px rgba(95,91,255,.26)}.photo-board-upload-zone strong{display:block;font-size:1.05rem;color:#19213a}.photo-board-upload-zone span{display:block;margin-top:4px;color:#6b7286;font-size:.85rem}.photo-board-upload-count{font-weight:800;color:#615bff;background:#eeecff;padding:8px 11px;border-radius:999px;font-size:.76rem}.photo-board-settings-trigger{border:0;border-radius:24px;background:#161d31;color:#fff;padding:20px;text-align:left;display:flex;align-items:center;gap:14px;cursor:pointer;transition:.2s ease}.photo-board-settings-trigger:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(17,24,39,.2)}.photo-board-settings-trigger>span{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;background:#252f4d;font-size:1.3rem}.photo-board-settings-trigger strong,.photo-board-settings-trigger small{display:block}.photo-board-settings-trigger small{margin-top:4px;color:#99a6c4}.photo-board-upload-progress{margin:14px 0 22px;padding:18px;border-radius:22px;background:#11182b;color:#fff}.photo-board-upload-progress-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px}.photo-board-upload-progress-head span{color:#aeb9d5;font-size:.82rem}.photo-board-upload-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto}.photo-board-upload-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.06);font-size:.78rem}.photo-board-upload-item>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-board-upload-item>div{display:flex;align-items:center;gap:8px;min-width:150px}.photo-board-upload-item b{height:5px;flex:1;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.11)}.photo-board-upload-item i{display:block;height:100%;width:0;background:#7c75ff;transition:width .15s}.photo-board-upload-item small{width:58px;text-align:right;color:#aab4cf}.photo-board-upload-item.is-complete i{background:#28d6aa}.photo-board-upload-item.is-error i{background:#ff6877}.photo-board-upload-item.is-error small{color:#ff9aa5}.photo-board-library-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:30px 2px 15px}.photo-board-library-head h2{font-size:1.8rem;margin:.1em 0}.photo-board-library-head p{margin:0;color:#7a8298}.photo-board-library-actions{display:flex;align-items:center;gap:16px;color:#697187;font-size:.85rem}.photo-board-select-all{cursor:pointer;display:flex;gap:8px;align-items:center}.photo-board-bulkbar{position:sticky;top:12px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;margin-bottom:14px;border-radius:18px;background:rgba(18,25,45,.96);color:#fff;box-shadow:0 16px 40px rgba(17,24,39,.22);backdrop-filter:blur(14px)}.photo-board-bulkbar[hidden]{display:none!important}.photo-board-bulkbar div{display:flex;gap:8px}.photo-board-bulkbar button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:11px;padding:8px 13px;cursor:pointer}.photo-board-bulkbar button.danger{background:rgba(255,75,93,.13);color:#ff9aa4}.photo-board-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.photo-board-card{position:relative;min-width:0;border-radius:18px;background:#111827;overflow:hidden;box-shadow:0 8px 22px rgba(15,23,42,.1);transition:transform .18s,box-shadow .18s,opacity .18s}.photo-board-card:hover{transform:translateY(-3px);box-shadow:0 17px 35px rgba(15,23,42,.17)}.photo-board-card.is-selected{outline:3px solid #6d62ff;outline-offset:2px}.photo-board-card.is-dragging-card{opacity:.45;transform:scale(.97)}.photo-board-card-image{position:relative;aspect-ratio:4/3;background:#090d17;overflow:hidden}.photo-board-card-image img{width:100%;height:100%;object-fit:cover;display:block}.photo-board-card-overlay{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:flex-end;padding:10px;background:linear-gradient(transparent 52%,rgba(4,8,18,.88));opacity:0;transition:.18s}.photo-board-card:hover .photo-board-card-overlay,.photo-board-card.is-selected .photo-board-card-overlay{opacity:1}.photo-board-drag{color:#fff;font-weight:900;font-size:1.3rem;cursor:grab;line-height:1}.photo-board-caption-button{border:1px solid rgba(255,255,255,.18);background:rgba(15,23,42,.72);color:#fff;border-radius:10px;padding:6px 9px;font-size:.68rem;cursor:pointer;backdrop-filter:blur(8px)}.photo-board-card-meta{padding:10px 11px 11px;color:#fff;min-width:0}.photo-board-card-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;font-weight:750}.photo-board-card-meta small{display:block;color:#8793ad;margin-top:3px;font-size:.64rem}.photo-board-select{position:absolute;z-index:3;top:8px;left:8px;cursor:pointer}.photo-board-select input{position:absolute;opacity:0}.photo-board-select span{display:block;width:24px;height:24px;border-radius:8px;border:1px solid rgba(255,255,255,.45);background:rgba(8,12,22,.52);backdrop-filter:blur(8px)}.photo-board-select input:checked+span{background:#675cff;border-color:#675cff;box-shadow:inset 0 0 0 5px #675cff}.photo-board-select input:checked+span:after{content:"✓";position:absolute;color:#fff;font-weight:900;font-size:.75rem;left:6px;top:3px}.photo-board-empty-grid{grid-column:1/-1;min-height:280px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed #cbd1df;border-radius:26px;background:#fafbfe;color:#7c8497}.photo-board-empty-grid span{font-size:2.6rem;color:#6d63ff}.photo-board-empty-grid h3{margin:.4rem 0 .15rem;color:#20283e}.photo-board-empty-grid p{max-width:480px}.photo-board-settings-dialog,.photo-board-caption-dialog{width:min(620px,calc(100vw - 28px));border:0;border-radius:28px;padding:0;box-shadow:0 32px 90px rgba(10,15,30,.36)}.photo-board-settings-dialog::backdrop,.photo-board-caption-dialog::backdrop{background:rgba(8,12,24,.62);backdrop-filter:blur(7px)}.photo-board-settings-dialog form,.photo-board-caption-dialog form{position:relative;padding:30px;background:linear-gradient(145deg,#fff,#f7f8fc)}.photo-board-settings-dialog h2,.photo-board-caption-dialog h2{font-size:2rem;margin:.1em 0}.photo-board-settings-dialog p,.photo-board-caption-dialog p{color:#71798c}.photo-board-dialog-close{position:absolute;right:18px;top:18px;width:36px;height:36px;border:0;border-radius:50%;background:#eaedf4;color:#4e566c;font-size:1.3rem;cursor:pointer}.photo-board-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.photo-board-setting-grid label>span{display:block;font-weight:800;font-size:.78rem;margin-bottom:7px}.photo-board-setting-grid input,.photo-board-setting-grid select,.photo-board-caption-dialog textarea{width:100%;border:1px solid #d9deea;background:#fff;border-radius:14px;padding:12px 13px;font:inherit}.photo-board-toggle{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #e5e8f0;cursor:pointer}.photo-board-toggle input{position:absolute;opacity:0}.photo-board-toggle>span{width:43px;height:25px;background:#cbd1df;border-radius:999px;position:relative;transition:.2s;flex:0 0 auto}.photo-board-toggle>span:after{content:"";position:absolute;width:19px;height:19px;border-radius:50%;left:3px;top:3px;background:#fff;box-shadow:0 2px 6px #8790a6;transition:.2s}.photo-board-toggle input:checked+span{background:#675cff}.photo-board-toggle input:checked+span:after{transform:translateX(18px)}.photo-board-toggle strong,.photo-board-toggle small{display:block}.photo-board-toggle small{color:#81899b;margin-top:2px}.photo-board-caption-dialog textarea{resize:vertical;min-height:105px;margin:14px 0}.photo-board-display-body{margin:0!important;background:#05070c!important;overflow:hidden!important}.photo-board-display-body main{width:100vw;height:100vh}.photo-board-display{position:fixed;inset:0;background:#05070c;color:#fff;overflow:hidden}.photo-board-display-layer{position:absolute;inset:0;opacity:0;transition:opacity 1.15s cubic-bezier(.4,0,.2,1);overflow:hidden}.photo-board-display-layer.is-visible{opacity:1;z-index:2}.photo-board-backdrop{position:absolute;inset:-5%;background-size:cover;background-position:center;filter:blur(34px) saturate(1.1) brightness(.48);transform:scale(1.08)}.photo-board-main-image{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 20px 40px rgba(0,0,0,.28));transform:scale(1);transition:transform 12s ease-out}.photo-board-display[data-transition="cinematic"] .photo-board-display-layer.is-visible .photo-board-main-image{transform:scale(1.025)}.photo-board-display[data-transition="drift"] .photo-board-display-layer.is-visible .photo-board-main-image{transform:scale(1.045) translate3d(.4%,-.3%,0)}.photo-board-display[data-transition="crossfade"] .photo-board-main-image{transition:none}.photo-board-display-chrome{position:absolute;z-index:8;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:28px 32px;background:linear-gradient(rgba(0,0,0,.42),transparent);pointer-events:none}.photo-board-display-brand{display:flex;align-items:center;gap:12px;text-shadow:0 2px 12px rgba(0,0,0,.55)}.photo-board-display-brand>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.19);font-weight:950;backdrop-filter:blur(14px)}.photo-board-display-brand strong,.photo-board-display-brand small{display:block}.photo-board-display-brand strong{font-size:.92rem}.photo-board-display-brand small{font-size:.7rem;color:rgba(255,255,255,.72);margin-top:2px}.photo-board-display-counter{font-size:.75rem;letter-spacing:.12em;font-weight:800;color:rgba(255,255,255,.68);padding:7px 10px;background:rgba(0,0,0,.18);border-radius:999px;backdrop-filter:blur(8px)}.photo-board-display-caption{position:absolute;z-index:8;left:32px;bottom:34px;max-width:min(660px,70vw);padding:13px 18px;border-radius:15px;background:rgba(9,13,22,.5);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(16px);font-size:1rem;font-weight:700;opacity:0;transform:translateY(10px);transition:.3s}.photo-board-display-caption.is-visible{opacity:1;transform:none}.photo-board-progress{position:absolute;z-index:10;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}.photo-board-progress i{display:block;height:100%;width:0;background:rgba(255,255,255,.85)}.photo-board-display-empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;opacity:0;transition:.35s;z-index:1;background:radial-gradient(circle at 50% 45%,#18203d,#070a12 65%)}.photo-board-display-empty.is-visible{opacity:1}.photo-board-display-empty span{width:80px;height:80px;border-radius:24px;display:grid;place-items:center;margin:auto;background:#655cff;font-size:1.5rem;font-weight:950;box-shadow:0 20px 55px rgba(101,92,255,.4)}.photo-board-display-empty h1{font-size:2.1rem;margin:18px 0 5px}.photo-board-display-empty p{color:#8f9ab6}.photo-board-display-status{position:absolute;z-index:12;right:26px;bottom:24px;padding:9px 12px;border-radius:11px;background:rgba(0,0,0,.5);font-size:.75rem;color:#d5dced;backdrop-filter:blur(10px)}
@media(max-width:1450px){.photo-board-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1180px){.photo-board-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-board-control-row{grid-template-columns:1fr}.photo-board-settings-trigger{max-width:none}.photo-board-hero{align-items:flex-start;flex-direction:column}.photo-board-hero-actions{width:100%}}@media(max-width:850px){.photo-board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-board-upload-list{grid-template-columns:1fr}.photo-board-upload-zone{grid-template-columns:auto 1fr}.photo-board-upload-count{grid-column:2}.photo-board-library-head{align-items:flex-start;flex-direction:column}.photo-board-setting-grid{grid-template-columns:1fr}}@media(max-width:620px){.photo-board-workspace{padding-left:10px;padding-right:10px}.photo-board-hero{padding:28px 24px;border-radius:23px}.photo-board-hero-actions .button{flex:1}.photo-board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.photo-board-card{border-radius:14px}.photo-board-upload-zone{padding:16px;min-height:98px}.photo-board-upload-icon{width:46px;height:46px;border-radius:14px}.photo-board-upload-zone span{font-size:.73rem}.photo-board-bulkbar{top:6px}.photo-board-display-chrome{padding:18px}.photo-board-display-caption{left:18px;bottom:24px;max-width:calc(100vw - 36px)}}
.photo-board-card.is-hidden-photo{opacity:.52}.photo-board-card.is-hidden-photo:after{content:"HIDDEN";position:absolute;z-index:2;right:8px;top:8px;padding:5px 7px;border-radius:8px;background:rgba(13,18,31,.82);color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.08em;backdrop-filter:blur(8px)}.photo-board-card.is-hidden-photo:hover{opacity:.82}

/* Cyber Cave Portal 4.5.1 — Immersive BPA Study Library + Cyber Cave Reader */
.bpa-library-body,.bpa-library-body .app-main{background:#05070c!important;color:#fff}
.bpa-library-body .app-main{overflow-x:hidden;padding:0!important}
.bpa-library-body{scrollbar-color:#31394a #05070c}
.bpa-library-body::-webkit-scrollbar{width:10px}.bpa-library-body::-webkit-scrollbar-track{background:#05070c}.bpa-library-body::-webkit-scrollbar-thumb{background:#31394a;border-radius:12px;border:3px solid #05070c}
.bpa-cinema-library{--cinema-pad:clamp(24px,3.3vw,64px);max-width:none!important;width:100%!important;margin:0!important;padding:0 0 64px!important;min-height:100vh;background:radial-gradient(circle at 72% 2%,rgba(78,63,210,.14),transparent 28%),#05070c;color:#fff;overflow:hidden}
.bpa-cinema-nav{position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:15px var(--cinema-pad);background:linear-gradient(180deg,rgba(5,7,12,.98),rgba(5,7,12,.9));border-bottom:1px solid rgba(255,255,255,.055);backdrop-filter:blur(20px)}
.bpa-cinema-nav>div{display:flex;align-items:center;gap:12px;flex:0 0 auto}.bpa-cinema-brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:.72rem;font-weight:950;letter-spacing:-.03em;background:linear-gradient(145deg,#7063ff,#3f34bf);box-shadow:0 10px 26px rgba(88,75,230,.28)}.bpa-cinema-nav .eyebrow{margin:0;color:#9287ff;font-size:.65rem;letter-spacing:.12em}.bpa-cinema-nav h2{margin:1px 0 0;font-size:clamp(1.55rem,2vw,2.25rem);letter-spacing:-.04em}
.bpa-cinema-search{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1;min-width:0}.bpa-cinema-search label{position:relative;flex:1;max-width:520px}.bpa-cinema-search label span{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.1rem;color:#8e98ab}.bpa-cinema-search input,.bpa-cinema-search select{height:44px;border:1px solid rgba(255,255,255,.12);background:#111620;color:#fff;border-radius:12px;font:inherit}.bpa-cinema-search input{width:100%;padding:0 14px 0 40px}.bpa-cinema-search select{max-width:300px;padding:0 34px 0 12px}.bpa-cinema-search button,.bpa-cinema-search>a{height:44px;border:0;border-radius:12px;padding:0 16px;display:inline-flex;align-items:center;text-decoration:none;justify-content:center;font-weight:850;cursor:pointer}.bpa-cinema-search button{background:#f3f4f8;color:#10131b}.bpa-cinema-search>a{background:#202634;color:#dce2ed}
.bpa-cinema-hero{position:relative;height:clamp(400px,38vw,610px);overflow:hidden;background:#0c1018}.bpa-cinema-hero-backdrop{position:absolute;inset:-12%;filter:blur(40px) saturate(1.25);opacity:.5;transform:scale(1.08)}.bpa-cinema-hero-backdrop img{width:100%;height:100%;object-fit:cover}.bpa-cinema-hero-backdrop>.bpa-netflix-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#4337c2,#121831)}.bpa-cinema-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#05070c 3%,rgba(5,7,12,.85) 37%,rgba(5,7,12,.22) 72%,#05070c 100%),linear-gradient(0deg,#05070c 0%,transparent 32%)}
.bpa-cinema-feature{position:relative;z-index:2;height:100%;display:flex;align-items:center;gap:clamp(32px,4vw,68px);padding:42px var(--cinema-pad) 58px}.bpa-cinema-feature-cover{width:clamp(200px,16vw,290px);aspect-ratio:2/3;flex:0 0 auto;border-radius:12px;overflow:hidden;background:#161d2b;box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.11);transform:perspective(900px) rotateY(4deg)}.bpa-cinema-feature-cover img{width:100%;height:100%;object-fit:contain;background:#0d111b}.bpa-cinema-feature-cover>.bpa-netflix-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#5c4de0,#101728)}.bpa-cinema-feature-copy{max-width:760px}.bpa-cinema-kicker{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(112,99,255,.18);border:1px solid rgba(130,116,255,.28);color:#bdb5ff;font-size:.65rem;font-weight:900;letter-spacing:.11em}.bpa-cinema-feature-copy h1{margin:14px 0 7px;font-size:clamp(2.4rem,4.3vw,5.2rem);line-height:.95;letter-spacing:-.065em;max-width:900px}.bpa-cinema-feature-copy h3{margin:0;color:#bdc5d4;font-size:1rem;font-weight:650}.bpa-cinema-feature-copy>p{max-width:690px;margin:18px 0 0;color:#c1c8d4;font-size:clamp(1rem,1.18vw,1.2rem);line-height:1.6}.bpa-cinema-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.bpa-cinema-meta span{padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.08);color:#d7dce5;font-size:.73rem;font-weight:780}.bpa-cinema-actions{display:flex;gap:10px;margin-top:22px}.bpa-cinema-actions a,.bpa-cinema-actions button{height:48px;border:0;border-radius:11px;padding:0 19px;display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:900;cursor:pointer;text-decoration:none}.bpa-cinema-read{background:#fff;color:#0d1118}.bpa-cinema-more{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(12px)}
.bpa-cinema-content{position:relative;z-index:4;margin-top:-20px}.bpa-cinema-shelf{padding:10px 0 23px}.bpa-cinema-shelf-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:0 var(--cinema-pad) 11px}.bpa-cinema-shelf-head h2{margin:0;font-size:clamp(1.25rem,1.65vw,1.75rem);letter-spacing:-.035em}.bpa-cinema-shelf-head span{color:#6f7b90;font-size:.73rem;font-weight:750}.bpa-cinema-rail-wrap{position:relative}.bpa-cinema-rail{display:flex;gap:clamp(10px,1vw,18px);padding:9px var(--cinema-pad) 20px;overflow-x:auto;overflow-y:visible;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none}.bpa-cinema-rail::-webkit-scrollbar{display:none}.bpa-cinema-book{flex:0 0 clamp(145px,12.3vw,220px);min-width:0;scroll-snap-align:start;transition:transform .28s ease,filter .28s ease}.bpa-cinema-rail:has(.bpa-cinema-book:hover) .bpa-cinema-book:not(:hover){filter:brightness(.58) saturate(.75)}.bpa-cinema-book:hover{transform:scale(1.075);z-index:5}.bpa-cinema-poster{position:relative;width:100%;aspect-ratio:2/3;display:block;padding:0;border:0;border-radius:11px;overflow:hidden;background:#111621;cursor:pointer;text-align:left;box-shadow:0 14px 30px rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.07);transition:box-shadow .25s}.bpa-cinema-book:hover .bpa-cinema-poster{box-shadow:0 24px 55px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.18)}.bpa-cinema-cover{position:absolute;inset:0;display:block;background:#0c1017}.bpa-cinema-cover img{width:100%;height:100%;object-fit:contain;display:block;background:#0b0f16}.bpa-cinema-cover>.bpa-netflix-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;background:linear-gradient(150deg,#5f50e2,#111827);color:#fff}.bpa-netflix-placeholder b{font-size:3rem}.bpa-netflix-placeholder small{font-size:.65rem;letter-spacing:.18em}.bpa-cinema-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,5,9,.84),transparent 48%);opacity:0;transition:.22s}.bpa-cinema-play{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(7px);transition:.22s;color:#fff}.bpa-cinema-play i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#12141c;font-style:normal;font-size:.72rem;padding-left:2px}.bpa-cinema-play b{font-size:.77rem}.bpa-cinema-book:hover .bpa-cinema-shade,.bpa-cinema-book:hover .bpa-cinema-play{opacity:1;transform:none}.bpa-cinema-info{padding:10px 2px 0;min-width:0}.bpa-cinema-info strong,.bpa-cinema-info span,.bpa-cinema-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-cinema-info strong{font-size:.84rem;color:#f7f8fb}.bpa-cinema-info span{font-size:.7rem;color:#a6afbf;margin-top:2px}.bpa-cinema-info small{font-size:.62rem;color:#667287;margin-top:4px}.bpa-rail-arrow{position:absolute;z-index:9;top:9px;bottom:20px;width:48px;border:0;background:rgba(5,7,12,.82);color:#fff;font-size:2.7rem;opacity:0;transition:.2s;cursor:pointer;backdrop-filter:blur(6px)}.bpa-cinema-rail-wrap:hover .bpa-rail-arrow{opacity:.86}.bpa-rail-arrow:hover{opacity:1!important;background:rgba(22,27,39,.94)}.bpa-rail-arrow.left{left:0}.bpa-rail-arrow.right{right:0}.bpa-cinema-results{padding:28px 0}.bpa-cinema-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:24px 16px;padding:0 var(--cinema-pad)}.bpa-cinema-grid .bpa-cinema-book{width:auto;max-width:250px;flex:none}.bpa-cinema-empty,.bpa-cinema-empty-state{grid-column:1/-1;margin:10px var(--cinema-pad);border:1px dashed rgba(255,255,255,.14);border-radius:22px;padding:48px;text-align:center;color:#788397;background:rgba(255,255,255,.025)}.bpa-cinema-empty-state div{font-size:2.3rem;color:#8d83ff}.bpa-cinema-empty-state h2{color:#fff;margin:.45rem 0 .2rem}
.bpa-book-modal{width:min(960px,calc(100vw - 36px));border:0;padding:0;border-radius:18px;background:#11151e;color:#fff;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.72)}.bpa-book-modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.bpa-book-modal-close{position:absolute;right:15px;top:15px;z-index:5;width:40px;height:40px;border:0;border-radius:50%;background:rgba(10,13,20,.78);color:#fff;font-size:1.6rem;cursor:pointer}.bpa-book-modal-backdrop{position:absolute;inset:0 0 auto;height:58%;background-position:center;background-size:cover;filter:blur(24px) saturate(1.2);opacity:.24;transform:scale(1.1)}.bpa-book-modal-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#11151e,transparent)}.bpa-book-modal-content{position:relative;z-index:2;display:grid;grid-template-columns:240px 1fr;gap:34px;padding:52px 46px 42px}.bpa-book-modal-cover{width:100%;aspect-ratio:2/3;border-radius:11px;overflow:hidden;background:linear-gradient(145deg,#5d4fdb,#151b2a);box-shadow:0 24px 50px rgba(0,0,0,.45);display:grid;place-items:center;font-size:3rem;font-weight:950}.bpa-book-modal-cover img{width:100%;height:100%;object-fit:contain;background:#0a0e15}.bpa-book-modal-copy{align-self:end}.bpa-book-modal-label{color:#a99fff;font-size:.66rem;font-weight:900;letter-spacing:.12em}.bpa-book-modal-copy h2{font-size:clamp(2rem,3.4vw,3.7rem);line-height:1;margin:10px 0 7px;letter-spacing:-.055em}.bpa-book-modal-copy h3{margin:0;color:#aeb6c5;font-size:1rem}.bpa-book-modal-copy>p{font-size:1rem;line-height:1.65;color:#c5cbd6;max-width:600px;margin:18px 0}.bpa-book-modal-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.bpa-book-modal-meta span{padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.08);font-size:.72rem;color:#dce1e9}.bpa-book-modal-actions{display:flex;gap:10px;margin-top:24px}.bpa-book-modal-actions a,.bpa-book-modal-actions button{height:46px;border:0;border-radius:10px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.bpa-book-modal-read{background:#fff;color:#10131b}.bpa-book-modal-actions button{background:#272d39;color:#e4e8ef}.bpa-reader-protection-note{display:block;margin-top:17px;color:#737e91;font-size:.7rem}
.bpa-reader-body,.bpa-reader-body .app-main{background:#070a10!important}.bpa-reader-body .app-main{padding:0!important;overflow:hidden}.bpa-reader-shell{height:100vh;display:grid;grid-template-rows:72px 1fr;background:#070a10;color:#fff}.bpa-reader-toolbar{position:relative;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:10px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(9,12,18,.98);box-shadow:0 8px 25px rgba(0,0,0,.22)}.bpa-reader-back{height:42px;padding:0 13px;border-radius:10px;display:inline-flex;align-items:center;text-decoration:none;color:#dfe4ed;background:#181e29;font-size:.78rem;font-weight:850}.bpa-reader-title{display:flex;align-items:center;gap:11px;min-width:0}.bpa-reader-mini-cover{width:34px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:5px;background:#272e42;color:#fff;font-weight:900}.bpa-reader-mini-cover img{width:100%;height:100%;object-fit:contain}.bpa-reader-title div{min-width:0}.bpa-reader-title strong,.bpa-reader-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-reader-title strong{font-size:.9rem}.bpa-reader-title small{margin-top:2px;color:#8792a5;font-size:.68rem}.bpa-reader-toolbar-actions{display:flex;align-items:center;gap:9px}.bpa-reader-toolbar-actions>button,.bpa-reader-chapter-nav a,.bpa-reader-chapter-nav>span{height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#151b25;color:#e8ebf1;display:inline-flex;align-items:center;text-decoration:none;font:inherit;font-size:.72rem;font-weight:800}.bpa-reader-toolbar-actions>button{cursor:pointer}.bpa-reader-format{color:#8e98aa;font-size:.72rem;font-weight:750}.bpa-reader-chapter-nav{display:flex;gap:6px}.bpa-reader-chapter-nav>span:not(.disabled){background:transparent;border-color:transparent;color:#929bad}.bpa-reader-chapter-nav .disabled{opacity:.35}.bpa-reader-stage{position:relative;min-height:0;overflow:hidden;background:#171b22}.bpa-reader-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#252a31}.bpa-reader-stage.pdf{background:#333941;padding:0}.bpa-reader-stage.pdf iframe{top:-1px;height:calc(100% + 1px)}.bpa-reader-frame-mask{position:absolute;z-index:4;left:0;right:0;top:0;height:1px;background:#171b22;pointer-events:auto}.bpa-reader-stage.epub{background:#e9e5dc}.bpa-reader-unsupported{height:100%;display:grid;place-items:center;align-content:center;text-align:center;padding:40px}.bpa-reader-unsupported span{font-size:3rem;color:#8d82ff}.bpa-reader-unsupported h2{margin:.5rem 0}.bpa-reader-unsupported p{color:#8993a5}.bpa-reader-shell:fullscreen{height:100vh}.bpa-reader-shell:fullscreen .bpa-reader-toolbar{grid-template-columns:auto minmax(0,1fr) auto}
@media(max-width:1000px){.bpa-cinema-nav{align-items:flex-start;flex-direction:column}.bpa-cinema-search{width:100%;justify-content:flex-start}.bpa-cinema-search label{max-width:none}.bpa-cinema-feature-cover{width:190px}.bpa-cinema-feature-copy h1{font-size:2.7rem}.bpa-book-modal-content{grid-template-columns:180px 1fr;padding:44px 34px 34px}.bpa-reader-toolbar{grid-template-columns:auto 1fr}.bpa-reader-toolbar-actions{grid-column:1/-1;justify-content:flex-end}.bpa-reader-shell{grid-template-rows:auto 1fr}}
@media(max-width:720px){.bpa-cinema-search{display:grid;grid-template-columns:1fr auto}.bpa-cinema-search label{grid-column:1/-1}.bpa-cinema-search select{max-width:none}.bpa-cinema-hero{height:auto;min-height:0}.bpa-cinema-feature{padding-top:34px;align-items:flex-end}.bpa-cinema-feature-cover{width:130px}.bpa-cinema-feature-copy h1{font-size:2.1rem}.bpa-cinema-feature-copy>p{display:none}.bpa-cinema-meta{margin:10px 0}.bpa-cinema-book{flex-basis:135px}.bpa-rail-arrow{display:none}.bpa-book-modal-content{grid-template-columns:110px 1fr;gap:20px;padding:54px 22px 26px}.bpa-book-modal-copy h2{font-size:1.8rem}.bpa-book-modal-copy>p{font-size:.85rem}.bpa-reader-title small{display:none}.bpa-reader-toolbar-actions{overflow-x:auto;justify-content:flex-start}.bpa-reader-chapter-nav{white-space:nowrap}}

/* Cyber Cave Portal 4.5.4 — Synchronized Kindle Reader */
.bpa-reader-body,.bpa-reader-body .app-main{background:#171713!important}.bpa-reader-body .app-main{padding:0!important;overflow:hidden}.bpa-kindle-reader{--reader-paper:#f7f1e5;--reader-ink:#29251f;--reader-page-width:900px;height:100vh;display:grid;grid-template-rows:64px 1fr 62px;background:linear-gradient(180deg,#25251f,#171713);color:#f4f1e9;font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;position:relative;overflow:hidden}.bpa-kindle-topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:8px 18px;background:rgba(22,22,18,.96);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:30}.bpa-kindle-back,.bpa-kindle-actions button{height:40px;padding:0 13px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#30302a;color:#f7f4ed;text-decoration:none;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.bpa-kindle-title{min-width:0;display:flex;align-items:center;gap:10px}.bpa-kindle-title>div{min-width:0}.bpa-kindle-title strong,.bpa-kindle-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpa-kindle-title strong{font-size:.92rem}.bpa-kindle-title small{color:#aaa89f;font-size:.69rem;margin-top:2px}.bpa-kindle-actions{display:flex;gap:7px}.bpa-kindle-actions button:hover,.bpa-kindle-back:hover{background:#3c3c34}.bpa-kindle-main{min-height:0;overflow:hidden;display:grid;place-items:stretch;background:radial-gradient(circle at 50% 10%,rgba(255,255,255,.045),transparent 42%),#22221d}.bpa-kindle-stage{min-height:0;width:100%;height:100%;overflow:auto;padding:26px clamp(18px,4vw,62px);scrollbar-color:#66665c transparent}.bpa-kindle-document,.bpa-kindle-page{width:min(var(--reader-page-width),100%);height:100%;min-height:0;margin:auto;border-radius:7px;background:var(--reader-paper);color:var(--reader-ink);box-shadow:0 18px 60px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.1);overflow:hidden;transition:width .2s ease,background .2s ease}.bpa-kindle-document iframe,.bpa-kindle-page iframe{display:block;width:100%;height:100%;border:0;background:var(--reader-paper)}.bpa-kindle-stage.pdf .bpa-kindle-document{max-width:1050px}.bpa-kindle-stage.epub .bpa-kindle-page{max-width:1000px}.bpa-kindle-footer{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:18px;padding:8px 20px;background:#1a1a16;border-top:1px solid rgba(255,255,255,.08);z-index:30}.bpa-kindle-progress{display:grid;grid-template-columns:minmax(100px,220px) auto auto;align-items:center;gap:9px;color:#aead9f;font-size:.68rem}.bpa-kindle-progress>div{height:3px;border-radius:999px;background:#424239;overflow:hidden}.bpa-kindle-progress i{height:100%;display:block;background:#d8c38f;border-radius:999px;transition:width .3s ease}.bpa-reader-resume{padding:4px 7px;border-radius:999px;background:rgba(216,195,143,.12);color:#d9c797;white-space:nowrap}.bpa-kindle-page-nav{display:flex;align-items:center;justify-content:center;gap:10px}.bpa-reader-nav-btn{height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#30302a;color:#f5f2eb;text-decoration:none;display:inline-flex;align-items:center;font-size:.72rem;font-weight:800}.bpa-reader-nav-btn:hover{background:#3c3c34}.bpa-reader-nav-btn.disabled{opacity:.28;pointer-events:none}.bpa-kindle-page-nav>span:not(.bpa-reader-nav-btn){min-width:112px;text-align:center;color:#bdb9ad;font-size:.7rem;font-weight:700}.bpa-kindle-footer-right{text-align:right;color:#77776f;font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.bpa-kindle-appearance{position:absolute;z-index:80;right:18px;top:58px;width:320px;padding:17px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#292923;box-shadow:0 24px 70px rgba(0,0,0,.48)}.bpa-kindle-appearance[hidden]{display:none!important}.bpa-kindle-appearance>div{display:grid;grid-template-columns:90px repeat(3,1fr);gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.bpa-kindle-appearance>div:first-child{grid-template-columns:90px 1fr 1fr}.bpa-kindle-appearance>div:last-child{border-bottom:0}.bpa-kindle-appearance span{color:#aaa89f;font-size:.7rem;font-weight:800}.bpa-kindle-appearance button{min-height:34px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#393930;color:#f5f1e9;font:inherit;font-size:.68rem;font-weight:750;cursor:pointer}.bpa-kindle-appearance button.active{border-color:#d8c38f;background:#4a4434;color:#fff7dc}.bpa-kindle-reader[data-theme="sepia"]{--reader-paper:#efe3ca;--reader-ink:#342a1d}.bpa-kindle-reader[data-theme="night"]{--reader-paper:#20201d;--reader-ink:#dedbd1}.bpa-kindle-reader[data-reader-width="narrow"]{--reader-page-width:700px}.bpa-kindle-reader[data-reader-width="medium"]{--reader-page-width:900px}.bpa-kindle-reader[data-reader-width="wide"]{--reader-page-width:1120px}.bpa-kindle-reader:fullscreen{height:100vh}.bpa-kindle-reader.is-controls-hidden{grid-template-rows:0 1fr 0}.bpa-kindle-reader.is-controls-hidden .bpa-kindle-topbar,.bpa-kindle-reader.is-controls-hidden .bpa-kindle-footer{opacity:0;pointer-events:none;overflow:hidden}.bpa-kindle-reader.is-controls-hidden .bpa-kindle-stage{padding-top:12px;padding-bottom:12px}
@media(max-width:900px){.bpa-kindle-reader{grid-template-rows:58px 1fr 56px}.bpa-kindle-topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:7px 10px;gap:8px}.bpa-kindle-actions button span,.bpa-kindle-back span,.bpa-kindle-title small{display:none}.bpa-kindle-stage{padding:12px 8px}.bpa-kindle-document,.bpa-kindle-page{width:100%;border-radius:3px}.bpa-kindle-footer{grid-template-columns:1fr auto;padding:7px 10px;gap:8px}.bpa-kindle-progress{display:none}.bpa-kindle-footer-right{display:none}.bpa-kindle-page-nav{grid-column:1/-1}.bpa-kindle-appearance{right:8px;top:52px;width:min(320px,calc(100vw - 16px))}}

/* Cyber Cave Portal 4.5.4 — synchronized Kindle reader */
.bpa-kindle-reader{--reader-bg:#d8d3c8;--reader-paper:#fffdf7;--reader-ink:#25221d}
.bpa-kindle-reader[data-theme="paper"]{--reader-bg:#d9d5cc;--reader-paper:#fffdf7;--reader-ink:#25221d}
.bpa-kindle-reader[data-theme="sepia"]{--reader-bg:#b9aa8d;--reader-paper:#efe3ca;--reader-ink:#342a1d}
.bpa-kindle-reader[data-theme="night"]{--reader-bg:#121310;--reader-paper:#20201d;--reader-ink:#e8e4d9}
.bpa-kindle-main{background:var(--reader-bg);transition:background .2s ease}
.bpa-kindle-stage.pdf{height:100%;padding:0;overflow:hidden;background:var(--reader-bg)}
.bpa-pdf-scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;padding:34px clamp(18px,4vw,62px) 90px;scrollbar-gutter:stable both-edges}
.bpa-pdf-row{display:flex;justify-content:center;align-items:flex-start;gap:22px;margin:0 auto 26px;width:100%}
.bpa-pdf-sheet{position:relative;width:min(100%,var(--pdf-page-width,900px));background:var(--reader-paper);border-radius:3px;box-shadow:0 18px 50px rgba(0,0,0,.22);overflow:hidden;transition:width .2s ease,box-shadow .2s ease,background .2s ease;min-height:240px}
.bpa-pdf-sheet canvas{display:block;width:100%;height:auto;background:white;opacity:0;transition:opacity .18s ease}
.bpa-pdf-sheet.is-rendered canvas{opacity:1}
.bpa-pdf-sheet:not(.is-rendered)::before{content:"";display:block;aspect-ratio:8.5/11;background:linear-gradient(110deg,rgba(255,255,255,.25) 8%,rgba(255,255,255,.65) 18%,rgba(255,255,255,.25) 33%);background-size:200% 100%;animation:bpaPdfShimmer 1.2s linear infinite}
.bpa-pdf-sheet.is-rendered::before{display:none}
@keyframes bpaPdfShimmer{to{background-position-x:-200%}}
.bpa-pdf-page-number{position:absolute;right:10px;bottom:8px;padding:3px 7px;border-radius:999px;background:rgba(20,20,20,.55);color:#fff;font-size:.63rem;font-weight:800;opacity:.72}
.bpa-kindle-reader[data-reader-width="narrow"]{--pdf-page-width:700px}
.bpa-kindle-reader[data-reader-width="medium"]{--pdf-page-width:860px}
.bpa-kindle-reader[data-reader-width="wide"]{--pdf-page-width:1040px}
.bpa-kindle-reader[data-reader-layout="spread"] .bpa-pdf-row.spread{max-width:1480px;gap:18px}
.bpa-kindle-reader[data-reader-layout="spread"] .bpa-pdf-row.spread .bpa-pdf-sheet{width:min(calc(50% - 9px),720px)}
.bpa-kindle-reader[data-reader-layout="spread"][data-reader-width="narrow"] .bpa-pdf-row.spread{max-width:1100px}
.bpa-kindle-reader[data-reader-layout="spread"][data-reader-width="wide"] .bpa-pdf-row.spread{max-width:1580px}
.bpa-pdf-status{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#5c594f;text-align:center}
.bpa-pdf-status strong{font-size:1rem}.bpa-pdf-status small{font-size:.75rem;color:#77746b}
.bpa-reader-spinner{width:30px;height:30px;border:3px solid rgba(80,75,65,.2);border-top-color:#8d7446;border-radius:50%;animation:bpaReaderSpin .7s linear infinite}
@keyframes bpaReaderSpin{to{transform:rotate(360deg)}}
.bpa-pdf-page-error{min-height:400px;display:grid;place-items:center;color:#8b2f2f;background:#fff4f2;font-weight:800}
.bpa-reader-nav-btn{border:0;cursor:pointer}.bpa-reader-nav-btn:disabled{opacity:.28;pointer-events:none}
.bpa-kindle-appearance>div{grid-template-columns:90px repeat(3,minmax(0,1fr))}
.bpa-kindle-appearance>div:has([data-reader-layout]){grid-template-columns:90px 1fr 1fr}
.bpa-kindle-reader[data-theme="night"] .bpa-pdf-sheet{box-shadow:0 20px 60px rgba(0,0,0,.55)}
.bpa-kindle-reader[data-theme="sepia"] .bpa-pdf-sheet canvas{filter:sepia(.12) saturate(.9)}
.bpa-kindle-reader[data-theme="night"] .bpa-pdf-sheet canvas{filter:brightness(.78) contrast(.95) sepia(.08)}
.bpa-kindle-reader[data-theme="paper"] .bpa-pdf-sheet canvas{filter:none}
.bpa-kindle-page iframe{background:var(--reader-paper)}
@media(max-width:979px){.bpa-kindle-reader[data-reader-layout="spread"]{--pdf-page-width:860px}.bpa-pdf-row.spread{display:block}.bpa-kindle-reader[data-reader-layout="spread"] .bpa-pdf-row.spread .bpa-pdf-sheet{width:min(100%,var(--pdf-page-width));margin:0 auto 22px}.bpa-pdf-scroll{padding:16px 8px 70px}.bpa-kindle-appearance>div:has([data-reader-layout]) [data-reader-layout="spread"]{display:none}}

/* Cyber Cave Portal 4.6.0 — BPA Resources Command Center */
.bpax-resource-command{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(520px,1.28fr);gap:22px;align-items:center;margin:0 0 16px;padding:24px 26px;border-radius:24px;background:linear-gradient(135deg,#121a31 0%,#20244b 55%,#342862 100%);color:#fff;box-shadow:0 18px 42px rgba(23,28,54,.15);overflow:hidden;position:relative}.bpax-resource-command:after{content:"";position:absolute;width:280px;height:280px;right:-100px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(124,93,255,.28),transparent 70%)}.bpax-resource-command>div{position:relative;z-index:1}.bpax-resource-command h2{font-size:1.55rem;margin:3px 0 5px}.bpax-resource-command p:not(.eyebrow){margin:0;color:#c4c9dc;font-size:.86rem;line-height:1.5}.bpax-resource-command .eyebrow{color:#b7aaff}.bpax-resource-command-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.bpax-resource-command-nav button{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.065);padding:11px 9px;color:#fff;text-align:left;cursor:pointer;transition:.18s}.bpax-resource-command-nav button:hover{transform:translateY(-2px);background:rgba(255,255,255,.13);border-color:rgba(169,147,255,.5)}.bpax-resource-command-nav span{display:block;font-size:1.12rem;color:#bbaaff;margin-bottom:6px}.bpax-resource-command-nav b{display:block;font-size:.73rem;line-height:1.15}.bpax-resource-command-nav small{display:inline-block;margin-top:4px;color:#aeb5ca;font-size:.66rem}
.bpax-resource-toolbar.compact{margin-bottom:16px;padding:10px 12px;border-radius:16px;box-shadow:none}.bpax-resource-library{display:grid;gap:13px}.bpax-resource-collection{scroll-margin-top:18px;border:1px solid #e2e6ef;border-radius:20px;background:#fff;overflow:hidden;transition:.2s;box-shadow:0 5px 16px rgba(30,38,62,.04)}.bpax-resource-collection.pulse{box-shadow:0 0 0 3px rgba(111,82,224,.16),0 15px 35px rgba(30,38,62,.1)}.bpax-resource-collection-head{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:linear-gradient(180deg,#fff,#fafbfe);border-bottom:1px solid #edf0f5}.bpax-resource-collection-head>div{display:flex;align-items:center;gap:11px}.bpax-resource-collection-head>div>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ece9ff;color:#654add;font-weight:900}.bpax-resource-collection-head h2{font-size:.94rem;margin:0}.bpax-resource-collection-head small{color:#8991a3;font-size:.67rem}.bpax-resource-collection-head>button{width:30px;height:30px;border:0;border-radius:9px;background:#eef1f6;color:#606a7f;font-size:1rem;cursor:pointer}.bpax-resource-collection.collapsed .bpax-resource-rows{display:none}.bpax-resource-collection.collapsed .bpax-resource-collection-head{border-bottom:0}.bpax-resource-rows{display:grid}.bpax-resource-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 13px;border-bottom:1px solid #eff1f5;min-width:0}.bpax-resource-row:last-child{border-bottom:0}.bpax-resource-row:hover{background:#fafbff}.bpax-resource-row-thumb{width:46px;height:58px;border-radius:8px;overflow:hidden;background:linear-gradient(145deg,#1b2743,#4a3c82);display:grid;place-items:center;text-decoration:none;color:#fff;font-weight:900}.bpax-resource-row-thumb img{width:100%;height:100%;object-fit:contain;background:#151a2a}.bpax-resource-row-main{min-width:0}.bpax-resource-row-title{display:flex;align-items:center;gap:8px;min-width:0}.bpax-resource-row-title strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-resource-row-title span{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#f0edff;color:#6851cc;font-size:.59rem;font-weight:850}.bpax-resource-row-main>small{display:block;color:#747e91;font-size:.67rem;margin-top:2px}.bpax-resource-row-main p{margin:3px 0 0;color:#586276;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bpax-resource-row-main em{display:block;margin-top:3px;color:#98a0af;font-size:.61rem;font-style:normal}.bpax-resource-row-actions{display:flex;align-items:center;gap:6px}.bpax-resource-row-actions .button{padding:7px 10px;font-size:.68rem}.bpax-resource-row-actions form{margin:0}.bpax-row-menu{width:30px;height:30px;border:0;border-radius:9px;background:#f4f5f8;color:#7b8494;cursor:pointer}.bpax-row-menu.danger:hover{background:#fff0f1;color:#bd3040}.bpax-resource-empty{padding:14px;color:#9199a8;font-size:.73rem}
.bpax-resource-wizard-dialog{width:min(920px,calc(100vw - 34px));height:min(690px,calc(100vh - 34px));max-height:none;overflow:hidden!important;background:#f6f7fb;display:none}.bpax-resource-wizard-dialog[open]{display:flex;flex-direction:column}.bpax-resource-wizard-dialog .bpax-resource-dialog-head{position:static;flex:0 0 auto;padding:16px 20px}.bpax-resource-wizard{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;flex:1}.bpax-resource-wizard-progress{display:flex;align-items:center;justify-content:center;padding:11px 18px;border-bottom:1px solid #e8eaf0;background:#fff}.bpax-resource-wizard-progress button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#939aaa;font-size:.7rem;font-weight:850;cursor:pointer}.bpax-resource-wizard-progress button span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#edf0f5;color:#7d8595}.bpax-resource-wizard-progress button.active{color:#4d3ab3}.bpax-resource-wizard-progress button.active span{background:#6d51dd;color:#fff}.bpax-resource-wizard-progress i{width:44px;height:1px;background:#dfe3eb;margin:0 6px}.bpax-resource-wizard-body{min-height:0;overflow:hidden;padding:18px 20px}.bpax-resource-wizard-step{display:none;height:100%;min-height:0}.bpax-resource-wizard-step.active{display:flex;flex-direction:column}.bpax-resource-wizard-title{margin-bottom:13px}.bpax-resource-wizard-title h3{margin:2px 0 3px;font-size:1.28rem}.bpax-resource-wizard-title>p:not(.eyebrow){margin:0;color:#778197;font-size:.78rem}.bpax-resource-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-content:start}.bpax-resource-type-card{display:block!important;cursor:pointer}.bpax-resource-type-card input{position:absolute;opacity:0;pointer-events:none}.bpax-resource-type-card>span:not(.bpax-resource-type-icon){display:block;min-height:75px;padding:12px 10px 10px 48px;border:1px solid #dfe3ec;border-radius:14px;background:#fff;position:relative;transition:.16s}.bpax-resource-type-card .bpax-resource-type-icon{position:absolute;z-index:1;margin:11px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#eeeaff;color:#6549d6;font-size:.76rem;font-weight:900}.bpax-resource-type-card b{display:block;font-size:.78rem}.bpax-resource-type-card small{display:block;margin-top:3px;color:#848da0;font-size:.64rem;line-height:1.3}.bpax-resource-type-card input:checked~span:not(.bpax-resource-type-icon){border-color:#7458df;background:#f7f5ff;box-shadow:0 0 0 2px rgba(116,88,223,.1)}.bpax-resource-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.bpax-resource-quick-grid label{display:grid;gap:5px;font-size:.68rem;font-weight:850;color:#505a70}.bpax-resource-quick-grid label.wide{grid-column:1/-1}.bpax-resource-quick-grid input,.bpax-resource-quick-grid select,.bpax-resource-quick-grid textarea{width:100%;padding:10px 11px;border:1px solid #d9deea;border-radius:11px;background:#fff;font:inherit;color:#20283a}.bpax-resource-quick-grid textarea{min-height:62px;resize:none}.bpax-resource-scope-compact{display:flex;gap:8px;margin-top:11px}.bpax-resource-scope-compact label{display:block!important;flex:1}.bpax-resource-scope-compact input{position:absolute;opacity:0}.bpax-resource-scope-compact span{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;border:1px solid #dfe3eb;border-radius:11px;background:#fff}.bpax-resource-scope-compact b{font-size:.7rem}.bpax-resource-scope-compact small{font-size:.6rem;color:#8c94a3}.bpax-resource-scope-compact input:checked+span{border-color:#7658e8;background:#f7f5ff}.bpax-resource-content-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:11px;align-content:start}.bpax-resource-drop,.bpax-resource-url{position:relative;min-height:160px;border:1.5px dashed #c8cfdb;border-radius:16px;background:#fff;display:flex!important;align-items:center;justify-content:center;gap:13px;text-align:left;padding:20px;cursor:pointer}.bpax-resource-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.bpax-drop-icon,.bpax-resource-url>span:first-child{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#eeeaff;color:#674bd7;font-size:1.25rem}.bpax-resource-drop strong,.bpax-resource-url strong{display:block;font-size:.85rem}.bpax-resource-drop small,.bpax-resource-url small{display:block;margin-top:3px;color:#80899a;font-size:.66rem}.bpax-resource-url{grid-column:1/-1;display:grid!important;grid-template-columns:auto 1fr;min-height:130px}.bpax-resource-url[hidden]{display:none!important}.bpax-resource-url input{grid-column:1/-1;width:100%;padding:11px;border:1px solid #d9deea;border-radius:11px}.bpax-resource-cover{display:flex!important;align-items:center;gap:12px;padding:12px;border:1px solid #e0e4ec;border-radius:16px;background:#fff}.bpax-resource-cover[hidden]{display:none!important}.bpax-resource-cover .bpax-cover-preview{flex:0 0 82px;width:82px;height:112px}.bpax-resource-cover>span:last-child{display:grid;gap:5px}.bpax-resource-cover strong{font-size:.78rem}.bpax-resource-cover small{font-size:.64rem;color:#7c8598}.bpax-resource-cover input{font-size:.68rem;max-width:210px}.bpax-resource-wizard-actions{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid #e1e5ed;background:#fff}.bpax-resource-wizard-actions>div{display:flex;align-items:center;gap:10px}.bpax-resource-wizard-actions [data-resource-step-label]{font-size:.65rem;color:#8b93a3}.bpax-resource-wizard-actions .button{min-width:94px;padding:9px 13px}
@media(max-width:1150px){.bpax-resource-command{grid-template-columns:1fr}.bpax-resource-command-nav{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.bpax-resource-command-nav{grid-template-columns:repeat(2,1fr)}.bpax-resource-row{grid-template-columns:46px minmax(0,1fr)}.bpax-resource-row-actions{grid-column:2}.bpax-resource-type-grid{grid-template-columns:repeat(2,1fr)}.bpax-resource-content-grid{grid-template-columns:1fr}.bpax-resource-wizard-dialog{width:calc(100vw - 12px);height:calc(100vh - 12px)}.bpax-resource-wizard-progress i{width:14px}.bpax-resource-quick-grid{grid-template-columns:1fr}.bpax-resource-quick-grid label.wide{grid-column:auto}}


/* Cyber Cave 4.6.1 — Classroom Display hub */
.display-hub{max-width:1540px;margin:0 auto;padding-bottom:48px}.display-hub-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:38px 42px;border-radius:30px;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(90,74,255,.34),transparent 28%),radial-gradient(circle at 12% 120%,rgba(15,198,204,.2),transparent 34%),linear-gradient(135deg,#10172d 0%,#151b36 48%,#21184c 100%);box-shadow:0 24px 60px rgba(15,23,42,.16)}.display-hub-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to right,#000,transparent 86%)}.display-hub-hero-copy{position:relative;z-index:1;max-width:800px}.display-hub-hero .eyebrow{color:#9fa8ff}.display-hub-hero h1{font-size:clamp(2.15rem,4vw,4.3rem);line-height:.95;letter-spacing:-.055em;margin:.22em 0 .3em}.display-hub-hero p{font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,.73);margin:0}.display-hub-live{position:relative;z-index:1;min-width:230px;display:flex;align-items:center;gap:13px;padding:14px 17px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.075);backdrop-filter:blur(14px)}.display-hub-live strong,.display-hub-live small{display:block}.display-hub-live small{color:rgba(255,255,255,.57);margin-top:2px}.display-live-dot{width:11px;height:11px;border-radius:50%;background:#55e6a5;box-shadow:0 0 0 6px rgba(85,230,165,.12),0 0 24px rgba(85,230,165,.55)}.display-hub-tabs{display:flex;gap:8px;margin:18px 0 20px;padding:6px;width:max-content;max-width:100%;overflow:auto;border-radius:16px;background:#eef1f7;border:1px solid #e1e5ee}.display-hub-tabs a{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:11px;text-decoration:none;color:#4e5872;font-weight:800;white-space:nowrap}.display-hub-tabs a:hover{background:#fff;color:#17223b;box-shadow:0 4px 13px rgba(15,23,42,.08)}.display-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.display-tool-card{min-width:0;overflow:hidden;border-radius:25px;background:#fff;border:1px solid #e3e7ef;box-shadow:0 14px 38px rgba(15,23,42,.08);transition:transform .22s ease,box-shadow .22s ease}.display-tool-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(15,23,42,.13)}.display-tool-visual{height:170px;position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:24px;color:#fff}.display-tool-kiosk .display-tool-visual{background:radial-gradient(circle at 78% 16%,rgba(34,211,238,.36),transparent 30%),linear-gradient(145deg,#092b3e,#12355c 50%,#15315b)}.display-tool-announcements .display-tool-visual{background:radial-gradient(circle at 80% 12%,rgba(255,116,182,.34),transparent 34%),linear-gradient(145deg,#331657,#5d2579 52%,#29194e)}.display-tool-photos .display-tool-visual{background:radial-gradient(circle at 83% 12%,rgba(255,182,78,.4),transparent 32%),linear-gradient(145deg,#3e2314,#75401d 50%,#412347)}.display-tool-visual:after{content:"";position:absolute;right:-34px;bottom:-50px;width:160px;height:160px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.035),0 0 0 58px rgba(255,255,255,.018)}.display-tool-icon{position:relative;z-index:1;width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-size:1.65rem;backdrop-filter:blur(10px)}.display-tool-mini{position:relative;z-index:1;text-align:right}.display-tool-mini b{display:block;font-size:2rem;line-height:1}.display-tool-mini small{display:block;margin-top:7px;color:rgba(255,255,255,.7);font-weight:700}.display-tool-content{padding:24px}.display-tool-kicker{margin:0 0 5px;color:#76819a!important;font-size:.74rem!important;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.display-tool-content h2{font-size:1.58rem;margin:0 0 9px;letter-spacing:-.025em;color:#18223a}.display-tool-content>p:not(.display-tool-kicker){min-height:73px;margin:0;color:#667085;line-height:1.55}.display-tool-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.display-tool-actions .button{flex:1 1 auto;text-align:center;justify-content:center}.display-hub-tip{margin-top:18px;display:flex;align-items:center;gap:14px;padding:17px 20px;border:1px solid #e3e7ef;border-radius:18px;background:linear-gradient(135deg,#fbfcff,#f4f6fb);color:#505c74}.display-hub-tip>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edeaff;color:#6658e8;font-size:1.15rem}.display-hub-tip strong{color:#1f2a44}.display-hub-tip p{margin:2px 0 0;font-size:.88rem}.app-sidebar .sidebar-nav a[href="/classroom-display"] span{background:linear-gradient(135deg,#6258ea,#8f56d9);color:#fff;box-shadow:0 7px 18px rgba(98,88,234,.24)}
@media(max-width:1180px){.display-hub-grid{grid-template-columns:1fr 1fr}.display-tool-card:last-child{grid-column:1/-1}.display-tool-content>p:not(.display-tool-kicker){min-height:0}}@media(max-width:760px){.display-hub-hero{padding:28px 24px;align-items:flex-start;flex-direction:column}.display-hub-live{min-width:0;width:100%}.display-hub-grid{grid-template-columns:1fr}.display-tool-card:last-child{grid-column:auto}.display-tool-visual{height:140px}.display-tool-content{padding:20px}.display-hub-tip{align-items:flex-start}}

/* 4.7.0 — shared Digital Library + many-to-many BPA resource associations */
.library-mode-tabs{display:flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:5px;margin:0 0 18px;border:1px solid #dde4ee;border-radius:14px;background:#f3f6fa;box-shadow:0 8px 24px rgba(31,45,70,.06)}
.library-mode-tabs a{padding:9px 15px;border-radius:10px;color:#56657b;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap}.library-mode-tabs a.active{background:#17223b;color:#fff;box-shadow:0 6px 16px rgba(23,34,59,.2)}
.digital-library-page{max-width:1600px}.digital-library-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:30px 34px;border-radius:26px;background:radial-gradient(circle at 80% 0,rgba(126,87,255,.28),transparent 34%),linear-gradient(135deg,#121b31,#1a2948 60%,#202c44);color:#fff;box-shadow:0 22px 52px rgba(24,37,63,.18)}
.digital-library-hero h1{margin:4px 0 8px;font-size:clamp(30px,3vw,46px);letter-spacing:-.04em}.digital-library-hero p:not(.eyebrow){max-width:760px;margin:0;color:#c5d0e2;font-size:15px;line-height:1.65}.digital-library-hero .eyebrow{color:#a89dff}.digital-library-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,420px) auto auto;gap:10px;align-items:center;margin:18px 0}.digital-library-toolbar label{position:relative}.digital-library-toolbar label span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#76849a}.digital-library-toolbar input,.digital-library-toolbar select{width:100%;min-height:44px;border:1px solid #d9e0ea;border-radius:12px;background:#fff;padding:0 14px;font:inherit}.digital-library-toolbar label input{padding-left:40px}.digital-library-summary{display:flex;align-items:baseline;gap:9px;margin:5px 0 13px;color:#6b788c}.digital-library-summary strong{font-size:24px;color:#18253d}.digital-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.digital-library-card{min-width:0;display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:14px;border:1px solid #dfe5ee;border-radius:18px;background:linear-gradient(180deg,#fff,#f9fbfd);box-shadow:0 10px 28px rgba(31,45,70,.07);transition:.18s ease}.digital-library-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(31,45,70,.12)}.digital-library-cover{width:92px;height:136px;border-radius:10px;overflow:hidden;background:#18253d;box-shadow:0 8px 18px rgba(17,26,46,.2)}.digital-library-cover img{width:100%;height:100%;object-fit:contain;background:#111827}.digital-book-placeholder{height:100%;display:grid;place-items:center;color:#fff;font-size:36px;font-weight:900;background:linear-gradient(145deg,#6b4eff,#1d2a49)}.digital-library-card-body{min-width:0;display:flex;flex-direction:column;gap:7px}.digital-library-card-body small{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#7d8a9e;font-weight:900}.digital-library-card-body h3{margin:2px 0 0;font-size:16px;line-height:1.2;color:#17223b}.digital-library-author{margin:2px 0 0!important;color:#66758a!important;font-size:12px!important}.digital-library-card-body>p{margin:0;color:#6b788c;font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.digital-library-chips,.bpax-resource-association-chips{display:flex;flex-wrap:wrap;gap:5px}.digital-library-chips span,.bpax-resource-association-chips span{max-width:100%;padding:4px 7px;border-radius:999px;background:#edf0ff;color:#5545a8;font-size:10px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.digital-library-chips span.general,.bpax-resource-association-chips span.general{background:#e9f7f1;color:#147253}.digital-library-actions{display:flex;gap:6px;margin-top:auto}.digital-library-actions .button{padding:7px 10px;font-size:11px}.digital-library-empty{grid-column:1/-1;text-align:center;padding:60px;border:1px dashed #cad3df;border-radius:22px;color:#6f7e91}.digital-library-empty span{display:block;font-size:40px}.digital-library-empty h2{color:#1b2942}
.bpax-resource-competition-picker{margin-top:12px;padding:13px;border:1px solid rgba(118,132,160,.22);border-radius:16px;background:rgba(246,248,252,.85)}.bpax-resource-competition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:190px;overflow:auto;padding-right:4px}.bpax-resource-competition-option{display:block!important;margin:0!important}.bpax-resource-competition-option input{position:absolute;opacity:0;pointer-events:none}.bpax-resource-competition-option span{display:block;padding:9px 10px;border:1px solid #dce3ed;border-radius:11px;background:#fff;cursor:pointer;transition:.15s}.bpax-resource-competition-option b{display:block;font-size:12px;color:#24324b;line-height:1.2}.bpax-resource-competition-option small{display:block;margin-top:3px;color:#8090a5;font-size:10px}.bpax-resource-competition-option input:checked+span{border-color:#6d57ea;background:#f0edff;box-shadow:inset 0 0 0 1px #6d57ea}.bpax-resource-competition-option input:checked+span b{color:#4938a5}.bpax-resource-current-file{display:block!important;margin-top:4px!important;color:#52627a!important;font-weight:700!important}.bpax-row-menu.edit{display:grid;place-items:center;text-decoration:none;color:#3c4f69;background:#eef2f7}.bpax-row-menu.edit:hover{background:#e1e6ff;color:#4d3bb6}
@media(max-width:1250px){.digital-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.digital-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.digital-library-toolbar{grid-template-columns:1fr 1fr}.digital-library-hero{align-items:flex-start;flex-direction:column}.bpax-resource-competition-grid{grid-template-columns:1fr}}@media(max-width:640px){.library-mode-tabs{width:100%;overflow-x:auto}.digital-library-grid{grid-template-columns:1fr}.digital-library-toolbar{grid-template-columns:1fr}.digital-library-card{grid-template-columns:78px minmax(0,1fr)}.digital-library-cover{width:78px;height:116px}}


/* Cyber Cave Portal 5.0.2 — Resource Wizard Responsive Fix */
.bpax-resource-wizard-dialog{
  width:min(980px,calc(100vw - 24px));
  height:min(760px,calc(100dvh - 24px));
  max-height:calc(100dvh - 24px);
  margin:auto;
}
.bpax-resource-wizard-dialog[open]{display:flex;flex-direction:column}
.bpax-resource-wizard-dialog .bpax-resource-dialog-head{flex:0 0 auto}
.bpax-resource-wizard{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:hidden}
.bpax-resource-wizard-progress{flex:0 0 auto}
.bpax-resource-wizard-body{
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:16px 20px 22px;
}
.bpax-resource-wizard-step{height:auto;min-height:100%}
.bpax-resource-wizard-step.active{display:flex;flex-direction:column}
.bpax-resource-wizard-actions{
  position:relative;
  z-index:4;
  flex:0 0 auto;
  box-shadow:0 -10px 24px rgba(31,45,70,.06);
}
.bpax-resource-competition-picker{margin-top:10px;padding:11px 12px}
.bpax-resource-competition-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  max-height:min(176px,24dvh);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.bpax-resource-competition-option span{padding:8px 9px}
.bpax-resource-competition-option b{font-size:11px}
.bpax-resource-competition-option small{font-size:9.5px}
@media(max-height:760px){
  .bpax-resource-wizard-dialog .bpax-resource-dialog-head{padding:12px 18px}
  .bpax-resource-wizard-progress{padding:8px 16px}
  .bpax-resource-wizard-body{padding:12px 18px 18px}
  .bpax-resource-wizard-title{margin-bottom:9px}
  .bpax-resource-wizard-title h3{font-size:1.12rem}
  .bpax-resource-quick-grid{gap:8px}
  .bpax-resource-quick-grid input,.bpax-resource-quick-grid select,.bpax-resource-quick-grid textarea{padding:8px 10px}
  .bpax-resource-quick-grid textarea{min-height:48px}
  .bpax-resource-scope-compact{margin-top:8px}
  .bpax-resource-scope-compact span{padding:8px 10px}
  .bpax-resource-wizard-actions{padding:9px 16px}
}
@media(max-width:900px){
  .bpax-resource-competition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .bpax-resource-wizard-dialog{width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}
  .bpax-resource-wizard-body{padding:12px 12px 18px}
  .bpax-resource-competition-grid{grid-template-columns:1fr;max-height:180px}
  .bpax-resource-wizard-actions{padding:9px 12px;gap:8px}
  .bpax-resource-wizard-actions>div{gap:7px}
  .bpax-resource-wizard-actions [data-resource-step-label]{display:none}
}


/* Cyber Cave Portal 5.6.0 — kiosk performance mode
   The kiosk is a persistent touchscreen, so avoid costly compositing effects that repaint on every interaction. */
.kiosk-body{font-family:Inter,"Segoe UI",Arial,sans-serif!important;background:#081226!important}
.kiosk-body *,
.kiosk-body *::before,
.kiosk-body *::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;animation:none!important}
.kiosk-body .kiosk-background-layer{transform:none!important;transition:none!important;will-change:auto!important;background-position:center!important;background-size:cover!important}
.kiosk-body .kiosk-bg-b{display:none!important}
.kiosk-body .kiosk-overlay{background:linear-gradient(180deg,rgba(5,12,24,.38),rgba(5,12,24,.57) 60%,rgba(5,12,24,.70))!important}
.kiosk-body .kiosk-student-tile{background:rgba(18,31,56,.88)!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important;transition:none!important;transform:none!important}
.kiosk-body .kiosk-student-tile:hover,.kiosk-body .kiosk-student-tile:active{transform:none!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important}
.kiosk-body .kiosk-student-tile.out{background:rgba(91,55,29,.92)!important}
.kiosk-body .kiosk-destination-card{background:rgba(15,25,43,.94)!important;box-shadow:0 8px 18px rgba(0,0,0,.16)!important;transition:none!important;transform:none!important}
.kiosk-body .kiosk-action-card{box-shadow:0 8px 20px rgba(0,0,0,.17)!important;transition:none!important;transform:none!important}
.kiosk-body .modal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(2,8,18,.78)!important}
.kiosk-body .modal-card{box-shadow:0 16px 42px rgba(0,0,0,.32)!important}
.kiosk-body .book-strip{scroll-behavior:auto!important}
.kiosk-body.kiosk-action-busy{cursor:progress}
.kiosk-body.kiosk-action-busy button{pointer-events:none!important}
