:root{color-scheme:dark;--bg:#091525;--panel:#12233a;--panel2:#182d49;--line:#304863;--text:#f4f7fb;--muted:#a9bbcf;--red:#ef3d59;--blue:#77b9ee;--gold:#f5bd52;--green:#43cf96;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 0,#162e4c 0,transparent 32rem),var(--bg);color:var(--text);min-height:100vh}.signup-header{height:78px;border-bottom:1px solid #263951;display:flex;align-items:center;gap:22px;padding:0 max(22px,calc((100vw - 1180px)/2));letter-spacing:.18em;font-size:12px;color:var(--muted)}.signup-header img{width:130px;height:46px;object-fit:contain}main{width:min(1380px,calc(100% - 36px));margin:auto;padding:48px 0 80px}.hero{max-width:780px}.eyebrow{display:block;color:#91bee8;font-weight:800;letter-spacing:.2em;font-size:12px}.hero h1{font-size:clamp(42px,7vw,70px);line-height:.98;margin:18px 0}.hero p{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#c2d1e0;margin:0}.toolbar{display:grid;grid-template-columns:1fr 260px;gap:18px;margin:38px 0 26px;padding:18px;background:#0e1d31;border:1px solid var(--line);border-radius:14px}.toolbar label,form label{display:grid;gap:8px;font-size:13px;font-weight:750;color:#cfdae7}input,select{width:100%;border:1px solid #4a627e;border-radius:9px;background:#0b192b;color:#fff;padding:13px 14px;font:inherit}input:focus,select:focus{outline:3px solid rgba(119,185,238,.22);border-color:var(--blue)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.section-head h2{font-size:28px;margin:8px 0 0}.count{background:#1d3553;border:1px solid #3a5573;border-radius:999px;padding:8px 14px;color:#d7e6f5;font-weight:800;font-size:12px}.notice{border-left:3px solid var(--gold);background:#14243a;padding:12px 16px;color:#c7d5e3;margin-bottom:15px}.notice.good{border-color:var(--green)}.openings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.opening{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#142740,#0f1e32)}.date-badge{text-align:center;border-right:1px solid var(--line);padding:6px 13px 6px 0;position:sticky;top:18px}.date-badge strong{display:block;font-size:29px}.date-badge span{display:block;color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.12em}.opening h3{margin:0 0 5px;font-size:20px}.opening p{margin:3px 0;color:var(--muted);font-size:12px;line-height:1.35}.event-opening-body>header{display:grid;gap:7px;border-bottom:1px solid #304863;padding-bottom:12px}.event-opening-body>header time{color:#9fc5e8;font-size:11px;font-weight:800}.event-resources{display:grid;gap:9px;margin-top:11px}.event-resource{border:1px solid #35445a;border-radius:9px;background:#101f33;padding:12px}.resource-details{display:grid;gap:5px;margin-bottom:9px}.resource-details strong{font-size:15px}.resource-details span{color:#bdccdb;font-size:11px}.crew-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.position-option,.crew-assigned{min-height:72px;text-align:left;padding:10px 11px;background:#142236;border:1px solid #35445a;border-radius:8px;color:#fff}.position-option{cursor:pointer;font:inherit;transition:background .15s,border-color .15s,transform .15s}.position-option:hover{background:#223750;border-color:#ef536a;transform:translateY(-2px)}.position-option span,.crew-assigned span{display:block;color:#96aac1;font-size:9px;font-weight:850;letter-spacing:.12em}.position-option strong,.crew-assigned strong{display:block;margin:5px 0 4px;font-size:13px}.position-option small,.crew-assigned small{font-size:10px}.position-option small{color:#f87384;font-weight:800}.crew-assigned{border-color:#294b48;background:#112b2b}.crew-assigned small{color:#65d8b0}.empty{grid-column:1/-1;text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}dialog{width:min(620px,calc(100% - 28px));border:1px solid #46617d;border-radius:18px;background:#0f1e31;color:var(--text);padding:0;box-shadow:0 30px 90px #000b}dialog::backdrop{background:#020812cf;backdrop-filter:blur(6px)}dialog form,dialog>div{position:relative;padding:34px;display:grid;gap:18px}.dialog-close{position:absolute;right:16px;top:13px;border:0;background:transparent;color:#cbd9e7;font-size:32px;cursor:pointer}dialog h2{font-size:30px;margin:0}.selected-opening{background:#172b45;border:1px solid #36506d;border-radius:12px;padding:16px;line-height:1.5}.selected-opening strong{display:block;font-size:18px}.employee-details{min-height:18px;margin:-7px 0 0;color:var(--blue);font-size:13px}#company{position:absolute;left:-10000px;width:1px;height:1px}.agreement{grid-template-columns:22px 1fr;align-items:start;line-height:1.45}.agreement input{width:18px;height:18px;margin-top:1px}.primary{border:0;border-radius:10px;background:var(--red);color:#fff;font-size:17px;font-weight:850;padding:15px 18px;cursor:pointer}.primary:disabled{opacity:.55}.success-dialog>div{text-align:center;justify-items:center}.success-mark{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#163e36;color:#66e9b4;font-size:38px}.success-dialog p{color:#c6d5e4;line-height:1.6;margin:0}#formMessage{margin:0;min-height:20px;color:#ff929f}footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #263951;padding:24px max(22px,calc((100vw - 1380px)/2));color:#8195ac;font-size:11px;letter-spacing:.09em}@media(max-width:980px){.openings{grid-template-columns:1fr}main{max-width:760px}}@media(max-width:820px){main{padding-top:38px}.toolbar{grid-template-columns:1fr}.opening{grid-template-columns:72px minmax(0,1fr);gap:13px;padding:16px}.date-badge{padding-right:12px}.crew-options{grid-template-columns:1fr 1fr}.position-option{width:100%}.hero h1{font-size:48px}footer{display:grid;text-align:center}dialog form,dialog>div{padding:28px 22px}}@media(max-width:560px){.signup-header{height:66px}.signup-header img{width:105px}.signup-header span{font-size:10px}main{width:min(100% - 24px,760px)}.opening{grid-template-columns:1fr;padding:15px}.date-badge{position:static;text-align:left;border-right:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:0 0 10px}.date-badge strong{font-size:25px}.date-badge span{order:2}.crew-options{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.count{align-self:flex-start}}
.notification-card>a.primary{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none}.record-notification-device{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid #405a78}.record-notification-device p{margin:0;color:#b9ccdf}.record-notification-device button{flex:none}@media(max-width:720px){.record-notification-device{align-items:stretch;flex-direction:column}.notification-card>a.primary{width:100%}}
.profile-notification-preferences{display:grid;gap:14px;margin:22px 0;padding:18px;border:1px solid #405a78;border-radius:12px;background:#10223a}.profile-notification-preferences h2,.profile-notification-preferences p{margin:5px 0}.notification-preference-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.notification-preference-list label{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #405a78;border-radius:9px;background:#172b45;color:#f4f7fb}.notification-preference-list input{width:18px;height:18px;margin:0}.notification-preference-list .locked{color:#a9bbcf;background:#172333}.notification-preference-list .locked span{margin-left:auto;padding:3px 7px;border-radius:999px;background:#33465e;font-size:9px;font-weight:850;text-transform:uppercase}@media(max-width:620px){.notification-preference-list{grid-template-columns:1fr}}
.clinical-student-section{margin:26px 0;padding:22px;border:1px solid #36506d;border-radius:14px;background:#12233a}.clinical-reminders{padding:14px 18px;border:1px solid #3a536f;border-radius:10px;background:#172b45;color:#c9d8e8}.clinical-reminders ul{margin:8px 0 0;padding-left:20px;line-height:1.6}.clinical-student-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.clinical-student-form label{display:grid;gap:7px}.clinical-student-form input,.clinical-student-form select,.clinical-student-form textarea{width:100%;padding:11px;border:1px solid #4a627e;border-radius:8px;background:#0b192b;color:#fff;font:inherit}.clinical-student-form .clinical-notes{grid-column:1/-1}.clinical-student-form button{justify-self:start}.my-clinical-requests article{display:flex;justify-content:space-between;gap:12px;padding:10px;margin-top:6px;border:1px solid #3a536f;border-radius:8px}.my-clinical-requests article span{color:#a9bbcf;text-transform:capitalize}@media(max-width:620px){.clinical-student-form{grid-template-columns:1fr}.clinical-student-form .clinical-notes{grid-column:auto}}

body.student-portal{background:radial-gradient(circle at 85% 0,#3d2b73 0,transparent 34rem),radial-gradient(circle at 5% 85%,#0e4a5a 0,transparent 28rem),var(--bg)}body.student-portal .signup-header{border-color:#655896}body.student-portal .account-copy .eyebrow,body.student-portal .clinical-student-section .eyebrow{color:#c0a9ff}body.student-portal .account-card{border-color:#62598e;background:linear-gradient(145deg,#192744,#202244)}body.student-portal .clinical-student-section{border-color:#7466b5;background:linear-gradient(145deg,#182946,#211f48);box-shadow:0 18px 55px #06091d66}body.student-portal .clinical-reminders{border-color:#62598e;background:#211f42}body.student-portal .clinical-student-section .count{background:#392e67;border-color:#7466b5}

body.student-portal #employeePortal.has-student-sidebar{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start;gap:22px}body.student-portal #employeePortal[hidden]{display:none}.student-portal-sidebar{position:sticky;top:18px;padding:17px 12px;border:1px solid #62598e;border-radius:13px;background:linear-gradient(155deg,#192744,#202244)}.student-portal-sidebar .side-label{display:block;padding:0 9px;color:#c0a9ff;font-size:10px;font-weight:900;letter-spacing:.17em}.student-portal-sidebar nav{display:grid;gap:5px;margin-top:13px}.student-portal-sidebar nav a{display:block;padding:10px 9px;border-radius:8px;color:#d7e4f3;text-decoration:none;font-size:12px;font-weight:750;line-height:1.35}.student-portal-sidebar nav a:hover,.student-portal-sidebar nav a.active{background:#332e61;color:#fff}.student-portal-sidebar nav a.student-menu-subitem{margin-left:12px;padding:8px 9px;border-left:2px solid #7466b5;border-radius:0 7px 7px 0;font-size:11px}#studentPortalMain{min-width:0}body.student-portal #employeePortal.has-student-sidebar #clinicalStudentSection{margin-top:0}@media(max-width:820px){body.student-portal #employeePortal.has-student-sidebar{grid-template-columns:1fr;gap:14px}.student-portal-sidebar{position:static;padding:12px}.student-portal-sidebar nav{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px}.student-portal-sidebar nav a{flex:0 0 auto;white-space:nowrap}.student-portal-sidebar nav a.student-menu-subitem{margin-left:0}}

/* Keep the student clinical portal readable on narrow phones. */
@media(max-width:820px){
 body.student-portal #employeePortal.has-student-sidebar{grid-template-columns:minmax(0,1fr);gap:14px}
 body.student-portal .student-portal-sidebar{position:static;padding:12px}
 body.student-portal .student-portal-sidebar nav{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;overflow:visible;padding:0}
 body.student-portal .student-portal-sidebar nav a{min-width:0;flex:none;white-space:normal;overflow-wrap:anywhere}
 body.student-portal .student-portal-sidebar nav a.student-menu-subitem{margin-left:12px}
}
@media(max-width:620px){
 body.student-portal #clinicalStudentSection{padding:14px}
 body.student-portal .clinical-reminders{padding:12px}
 body.student-portal .clinical-student-form button{width:100%;justify-self:stretch}
 body.student-portal .clinical-student-opening{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;padding:12px}
 body.student-portal .clinical-student-opening>div{min-width:0;overflow-wrap:anywhere}
 body.student-portal .clinical-student-opening button,body.student-portal .clinical-student-opening .clinical-preview-label{width:100%}
 body.student-portal .my-clinical-requests article{align-items:stretch;flex-direction:column}
 body.student-portal .my-clinical-requests article .clinical-pickup-status{align-self:flex-start}
}
.position-option:has(.shift-conflict-hint){border-color:#ed7180;background:#372331}.position-option .shift-conflict-hint{color:#ffd4da;font-size:11px;line-height:1.35}
