@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,800&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--copyright-footer-height:34px;--ground:#03060b;--surface:#06101cd6;--surface-2:#0c1f31eb;--sunken:#030c16e6;--ink:#f4f7fb;--ink-2:#c8d2df;--muted:#8d9aac;--line:#4691c352;--line-2:#63b0e175;--accent:#71d2ff;--accent-ink:#031019;--green:#65e0b0;--green-bg:#0d2b24;--danger:#ff8f98;--danger-bg:#331820;--neon:#4fc7ff;--shadow:0 1px 0 #ffffff0d, 0 0 34px -18px #1dabffb8, 0 20px 44px -28px #000000fa}*{box-sizing:border-box}html{background:var(--ground)}body{padding-bottom:var(--copyright-footer-height);color:var(--ink);-webkit-font-smoothing:antialiased;isolation:isolate;background-color:#0000;background-image:radial-gradient(at 13% 31%,#2d84cd57,#0000 34rem),radial-gradient(at 88% 78%,#007dd92e,#0000 32rem),repeating-linear-gradient(0deg,#c5e2f706 0 1px,#0000 1px 4px),linear-gradient(105deg,#03080e 0%,#071522 37%,#02070d 58%,#010307 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;margin:0;font-family:Archivo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:fixed}body:before{opacity:.72;background-image:linear-gradient(#3a97d626 1px,#0000 1px),linear-gradient(90deg,#3a97d626 1px,#0000 1px);background-size:64px 64px;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0 30%,#0000002e 48%,#000 100%);mask-image:linear-gradient(90deg,#0000 0 30%,#0000002e 48%,#000 100%)}body:after{filter:drop-shadow(0 0 7px #00aeffb8);opacity:.74;background:linear-gradient(90deg,#0000 0 7%,#18a0ffeb 7% 38%,#0000 38%) 0 9%/100% 1px no-repeat,linear-gradient(90deg,#0000 0 42%,#18a0ffc2 42% 92%,#0000 92%) 0 84%/100% 1px no-repeat,linear-gradient(#0000 0 18%,#18a0ff94 18% 48%,#0000 48%) 96% 0/1px 100% no-repeat;inset:0}.site-copyright{z-index:30;min-height:var(--copyright-footer-height);padding:5px max(12px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));color:#b9ccdac2;letter-spacing:.035em;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#02080ef0;border-top:1px solid #54bef729;place-items:center;font:500 9px/1.6 JetBrains Mono,monospace;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px -18px #4fc7ffe6}body:has(.submit-bar) .submit-bar{bottom:var(--copyright-footer-height)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}@media (width<=640px){:root{--copyright-footer-height:48px}.site-copyright{font-size:8px;line-height:1.35}}.neon-landing{background:#000;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.neon-landing-image{object-fit:contain;object-position:center;width:100%;height:100svh;display:block}.neon-login-button{z-index:2;top:max(18px, env(safe-area-inset-top));right:max(18px, env(safe-area-inset-right));color:#dff6ff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);letter-spacing:.08em;text-transform:uppercase;background:#030a12c2;border:1px solid #85d8ff8f;border-radius:999px;padding:9px 14px;font:700 11px JetBrains Mono,monospace;text-decoration:none;position:fixed;box-shadow:0 0 22px -7px #4fc7ffd1}.neon-login-button:hover{background:#081927eb;border-color:#9ce8ff}.portal-shell,.access-shell,.admin-shell{z-index:1;position:relative}.portal-shell:before,.access-shell:before,.admin-shell:before{content:"";z-index:-2;pointer-events:none;position:fixed;inset:0}.access-shell:before{background:linear-gradient(#0004081f,#00040833),url(/portal-background.png) 50%/cover no-repeat}.portal-shell:before,.admin-shell:before{background:linear-gradient(115deg,#00050a2e,#071f330d 58%,#00070d33),url(/portal-background.png) 50%/cover no-repeat}.portal-shell:after,.access-shell:after,.admin-shell:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}.access-shell:after{background:radial-gradient(#0000 0 34%,#00030733 72%,#0002057a 100%)}.portal-shell:after,.admin-shell:after{background:radial-gradient(at 25% 36%,#62bfff17,#0000 31rem),linear-gradient(#01070c0a,#00040833)}.portal-shell{max-width:900px;min-height:100vh;margin:0 auto;padding:0 22px 150px}.portal-header{padding:28px 0 20px}.brand-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.brand-logo,.access-logo,.admin-logo{object-fit:cover;background:#08090c;border:1px solid #7dd7ff6b;border-radius:9px;display:block;box-shadow:0 0 28px -7px #4cc4ff94,0 14px 26px -18px #000000f2}.brand-logo{object-fit:contain;object-position:center;width:88px;height:58px;padding:1px}.portal-eyebrow{margin-top:15px!important}.eyebrow,.field-label{text-transform:uppercase;letter-spacing:.15em;color:var(--muted);font-family:JetBrains Mono,monospace}.eyebrow{margin:0;font-size:10.5px}.portal-header h1,.access-card h1{letter-spacing:-.035em;margin:14px 0 8px;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(34px,8vw,48px);line-height:.98}.lead{color:var(--ink-2);margin:0;font-size:15.5px}.account-chip{border:1px solid var(--line-2);box-shadow:var(--shadow);background:#0b1420e0;border-radius:999px;align-items:center;gap:8px;max-width:160px;padding:5px 10px 5px 5px;display:flex}.account-chip span{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;box-shadow:0 0 15px #4fc7ff6b}.account-chip strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.view-tabs{background:#030910bd;border:1px solid #5caedd24;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;margin-top:22px;padding:4px;display:grid;box-shadow:inset 0 1px #ffffff06}.view-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:700}.view-tabs button.active{color:#eaf8ff;background:linear-gradient(#183048,#102438);box-shadow:0 0 18px -5px #4fc7ff75,inset 0 1px #ffffff14}.account-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:11px;display:flex}.account-actions a,.account-actions button,.identity-logout button,.admin-links button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;text-decoration:none}.account-actions a{color:var(--accent)}.demo-banner{color:var(--muted);letter-spacing:.09em;text-align:center;text-transform:uppercase;border:1px dashed #9b99ad;border-radius:9px;margin:-4px 0 16px;padding:8px 12px;font:10.5px JetBrains Mono,monospace}.alert{border:1px solid;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;padding:13px 14px;font-size:13px;display:flex}.alert.error{background:var(--danger-bg);color:var(--danger);border-color:#e3b1b1}.alert.success{background:var(--green-bg);color:var(--green);border-color:#a5ceb8}.alert div{flex-direction:column;gap:2px;display:flex}.alert button{cursor:pointer;background:0 0;border:0;font-size:22px;line-height:1}.content-section{padding-top:4px}.section-heading{flex-wrap:wrap;align-items:baseline;gap:10px;margin:18px 0 10px;display:flex}.section-heading h2{letter-spacing:-.02em;margin:0;font-family:Bricolage Grotesque,sans-serif;font-size:18px}.section-heading span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font:10.5px JetBrains Mono,monospace}.schedule-list{flex-direction:column;gap:12px;display:flex}.schedule-card,.identity-card,.shift-card,.empty-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:12px}.schedule-card{grid-template-columns:68px 1fr;gap:16px;padding:16px;display:grid;position:relative;overflow:hidden}.schedule-card.next{box-shadow:0 0 30px -14px #4fc7ffa8, var(--shadow);border-color:#61cbff8a}.date-block{min-height:82px;color:var(--muted);background:linear-gradient(145deg,#122337,#0a1624);border:1px solid #69c7f726;border-radius:9px;flex-direction:column;justify-content:center;align-self:start;align-items:center;display:flex}.date-block span{letter-spacing:.08em;text-transform:uppercase;font:9.5px JetBrains Mono,monospace}.date-block strong{color:var(--ink);margin:5px 0 2px;font:700 30px/1 JetBrains Mono,monospace}.date-block small{text-transform:uppercase}.schedule-details{min-width:0;padding-bottom:38px}.next-label{color:var(--green);letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;font:700 9px JetBrains Mono,monospace;display:inline-block}.schedule-details h3{margin:0;font-size:18px}.schedule-details p{color:var(--muted);margin:2px 0 0;font-size:13.5px}.schedule-details .time-line{color:var(--ink);font:700 15px JetBrains Mono,monospace}.schedule-note{border-top:1px solid var(--line);padding-top:6px;margin-top:8px!important}.text-button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700;position:absolute;bottom:14px;right:16px}.empty-card{color:var(--muted);text-align:center;padding:26px 20px}.empty-card strong{color:var(--ink);display:block}.empty-card p{margin:5px 0 0;font-size:14px}.privacy-note{border-left:3px solid var(--line-2);color:var(--muted);flex-direction:column;gap:5px;margin:22px 2px;padding-left:13px;font-size:13px;display:flex}.privacy-note strong{color:var(--ink-2)}.identity-card{border-color:#4fc7ff47;padding:16px;position:relative}.identity-card>div:first-child{flex-direction:column;display:flex}.identity-card>div:first-child strong{font-size:17px}.identity-card>div:first-child small{color:var(--muted)}.identity-logout{position:absolute;top:18px;right:16px}.field-label{margin-bottom:6px;font-size:10px;display:block}.week-bar{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:grid!important}.week-bar button{border:1px solid var(--line-2);background:var(--surface-2);cursor:pointer;border-radius:8px;width:44px;height:42px;font-weight:700}.week-bar div{flex-direction:column;align-items:center;display:flex}.week-bar strong{font-size:14px}.week-bar span{color:var(--muted);font-size:12px}.shifts-heading{margin-top:26px}.shift-card{margin-bottom:12px;overflow:hidden}.shift-top{border-bottom:1px solid var(--line);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.shift-top>span{font-size:14.5px;font-weight:700}.shift-top em{color:var(--muted);font:500 13px JetBrains Mono,monospace}.shift-top>strong{color:var(--green);white-space:nowrap;font:700 14px JetBrains Mono,monospace}.shift-top>strong.zero{color:var(--muted);font-weight:400}.shift-body{flex-direction:column;gap:13px;padding:14px;display:flex}.shift-body label{min-width:0}.two-columns{grid-template-columns:1fr 1fr;gap:10px;display:grid}select,input{border:1px solid var(--line-2);width:100%;min-width:0;color:var(--ink);background:linear-gradient(#142235,#0e1928);border-radius:8px;padding:11px 12px;font-size:16px;box-shadow:inset 0 1px #ffffff06}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;padding-right:32px}input::placeholder{color:#807e89;opacity:1}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.time-select{align-items:center;gap:5px;display:flex}.time-select select{text-align:center;background-image:none;flex:1;padding:11px 7px;font:500 16px JetBrains Mono,monospace}.time-select b{color:var(--muted);font-family:JetBrains Mono,monospace;font-weight:400}.remove-button{color:var(--danger);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:3px 2px;font-size:13px;font-weight:700}.add-button{width:100%;color:var(--ink-2);cursor:pointer;background:#0b1421b8;border:1.5px dashed #44647f;border-radius:10px;padding:15px;font-weight:700}.explanation{color:var(--muted);margin:24px 2px 0;font-size:12.5px;line-height:1.55}.explanation p{margin:0 0 12px}.explanation strong{color:var(--ink-2)}.submit-bar{z-index:10;max-width:900px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070e18f0;border:1px solid #57a4cf4d;border-bottom:0;border-radius:13px 13px 0 0;align-items:center;gap:14px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 38px -22px #49bfffa6}.submit-bar>div{flex-direction:column;flex:1;min-width:0;display:flex}.submit-bar>div>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font:10px JetBrains Mono,monospace}.submit-bar>div>strong{font:700 25px/1.2 JetBrains Mono,monospace}.submit-bar small{color:var(--muted);font-size:12px;font-weight:400}.submit-bar button,.primary-button{color:var(--accent-ink);cursor:pointer;background:linear-gradient(135deg,#9ce8ff,#4ebef4);border:1px solid #8be0ff;border-radius:9px;padding:14px 18px;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 0 24px -8px #4fc7ffe6,inset 0 1px #ffffffa6}.submit-bar button:disabled{cursor:default;opacity:.4}.access-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.access-card{width:min(100%,550px);box-shadow:0 0 55px -25px #4fc7ffe6, var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#081827eb,#01070de6);border:1px solid #54bef775;border-radius:14px;padding:34px}.access-logo{width:152px;height:101px;margin-bottom:22px}.access-card h1{letter-spacing:-.045em;white-space:nowrap;max-width:100%;font-size:clamp(32px,4.2vw,42px)}.access-card p:not(.eyebrow){color:var(--muted);margin:0 0 24px}.access-card .primary-button{display:inline-block}.login-form{flex-direction:column;gap:14px;display:flex}.login-form .primary-button{width:100%;margin-top:2px}.login-form .primary-button:disabled{opacity:.5}.login-form .login-help,.login-form .password-hint{color:var(--muted);font-size:12px;margin:0!important}.login-error{background:var(--danger-bg);color:var(--danger);border:1px solid #ff8f988c;border-radius:8px;padding:10px 12px;font-size:13px}.admin-shell{width:min(1480px,100% - 36px);margin:0 auto;padding:34px 0 80px}.admin-header{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:26px;display:flex}.admin-header h1{letter-spacing:-.03em;margin:10px 0 2px;font:800 clamp(32px,6vw,48px)/1 Bricolage Grotesque,sans-serif}.admin-header p:not(.eyebrow){color:var(--muted);margin:0}.admin-logo{object-fit:contain;width:100px;height:66px;margin-bottom:16px}.admin-links{color:var(--muted);flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;display:flex}.admin-links a{color:var(--accent);font-weight:700}.admin-links form{margin-top:5px}.account-panel{background:var(--surface);box-shadow:var(--shadow);border:1px solid #54bef747;border-radius:12px;margin-bottom:24px;padding:20px}.account-panel>.section-heading{margin-top:0}.account-intro{color:var(--muted);margin:-2px 0 16px;font-size:12.5px}.account-intro strong{color:var(--accent)}.account-grid{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:22px;display:grid}.account-form{flex-direction:column;gap:12px;display:flex}.account-form .primary-button{width:100%}.account-list{flex-direction:column;gap:8px;display:flex}.account-row{border:1px solid var(--line);background:var(--sunken);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.account-row>div{flex-direction:column;min-width:0;display:flex}.account-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.account-row div span{text-overflow:ellipsis;color:var(--muted);font-size:11px;overflow:hidden}.account-row>span{letter-spacing:.05em;text-transform:uppercase;flex:none;font:700 9px JetBrains Mono,monospace}.account-ready{color:var(--green)}.account-pending{color:#ffc96f}.account-panel .admin-message{margin:16px 0 0}.activation-result{gap:9px;margin-top:12px;display:flex}.activation-result input{font-size:12px}.activation-result button{border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:8px;flex:none;padding:0 16px;font-weight:700}.admin-grid{grid-template-columns:minmax(340px,400px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.admin-form{background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #54bef747;border-radius:12px;flex-direction:column;gap:14px;padding:20px;display:flex}.admin-form h2{margin:0 0 4px;font-family:Bricolage Grotesque,sans-serif}.form-title h2{margin-top:5px}.form-help{color:var(--muted);margin:-7px 1px 0;font-size:11.5px;line-height:1.45}.field-label em{color:var(--accent);letter-spacing:.08em;font-size:8px;font-style:normal}.quick-calendar{background:#020a12b3;border:1px solid #54bef747;border-radius:10px;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.quick-calendar-header{background:linear-gradient(#122c42db,#081827cc);border-bottom:1px solid #54bef72e;grid-template-columns:38px 1fr 38px;align-items:center;padding:7px;display:grid}.quick-calendar-header strong{color:#e1f6ff;text-align:center;font:700 12px JetBrains Mono,monospace}.quick-calendar-header button{width:34px;height:32px;color:var(--accent);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;font-weight:700;display:grid}.quick-calendar-header button:hover{border-color:var(--line-2);background:#122e45c2}.quick-calendar-weekdays,.quick-calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.quick-calendar-weekdays{padding:8px 8px 2px}.quick-calendar-weekdays span{color:var(--muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;font:8px JetBrains Mono,monospace}.quick-calendar-days{gap:3px;padding:5px 8px 9px}.quick-calendar-days button,.calendar-blank{min-height:58px}.quick-calendar-days button{min-width:0;color:var(--ink-2);cursor:pointer;background:#0a1c2c9e;border:1px solid #0000;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font:600 11px JetBrains Mono,monospace;display:flex;position:relative}.quick-calendar-days button:hover{color:var(--ink);border-color:#70d3ff8c}.quick-calendar-days button.friday{color:#d7f8ff;background:linear-gradient(145deg,#0d4b63bd,#081c2bd6);border-color:#49d3ff33}.quick-calendar-days button.saturday{color:#e0e5ff;background:linear-gradient(145deg,#283b7ebd,#0c1b36d6);border-color:#728cff3d}.quick-calendar-days button.event-day{box-shadow:inset 0 -2px #ff66c7}.quick-calendar-days button.selected{color:#021019;background:linear-gradient(145deg,#8be4ff,#38b9f4);border-color:#a3eaff;box-shadow:0 0 18px -5px #4fc7fff2}.quick-calendar-days button>span:first-child{line-height:1}.calendar-staffing{flex-direction:column;align-items:center;min-width:0;line-height:1.05;display:flex}.calendar-staffing small{color:#a9dcf4;letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:700 6.5px JetBrains Mono,monospace;display:block;overflow:hidden}.quick-calendar-days button.saturday .calendar-staffing small{color:#bfcaff}.quick-calendar-days button.selected .calendar-staffing small{color:#07324a}.calendar-event-mark{color:#ff9bd7;text-transform:uppercase;font:700 5.5px JetBrains Mono,monospace;position:absolute;bottom:2px;right:3px}.quick-calendar-days button i{color:#062019;background:#66dfb0;border-radius:999px;place-items:center;min-width:12px;height:12px;font:700 7px JetBrains Mono,monospace;display:grid;position:absolute;top:2px;right:3px}.chosen-date{color:var(--muted);border-left:2px solid #48647b;justify-content:space-between;align-items:center;gap:10px;margin-top:-6px;padding:3px 0 3px 9px;font-size:10px;display:flex}.chosen-date span{letter-spacing:.08em;text-transform:uppercase;font:8px JetBrains Mono,monospace}.chosen-date strong{color:var(--ink-2);text-align:right;font-size:11px}.chosen-date.ready{border-left-color:var(--green)}.quick-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.quick-times button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#071725bd;border-radius:7px;padding:8px 5px;font:600 10px JetBrains Mono,monospace}.quick-times button:hover{border-color:var(--line-2);color:var(--ink)}.quick-times button.active{color:#dff7ff;background:linear-gradient(#194663e6,#0a2539e6);border-color:#71d2ffc7;box-shadow:0 0 15px -7px #4fc7ffe6}.edit-mode-note{color:#e7d6b6;background:#5c3d1233;border-left:2px solid #ffd084;margin:-3px 0 2px;padding:8px 10px;font-size:11px}.shift-form-actions{gap:7px;display:grid}.shift-form-actions .secondary-button{border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:#05121ec2;border-radius:9px;padding:11px 14px;font-weight:700}.shift-form-actions .secondary-button:hover{border-color:var(--accent);color:var(--ink)}.shift-form-actions .secondary-button:disabled{opacity:.45}.admin-form .primary-button{align-self:stretch}.admin-form .primary-button:disabled{opacity:.45}.admin-message{background:var(--green-bg);color:var(--green);border:1px solid #a5ceb8;border-radius:9px;margin-bottom:16px;padding:11px 13px}.admin-list{min-width:0;box-shadow:0 0 46px -25px #3dbeffb8, var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#081726eb,#030a12e0);border:1px solid #54bef74d;border-radius:12px;padding:20px}.roster-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.roster-toolbar h2{letter-spacing:-.025em;margin:5px 0 0;font:800 clamp(23px,3vw,31px)/1.05 Bricolage Grotesque,sans-serif}.roster-toolbar-actions{align-items:stretch;gap:8px;display:flex}.export-roster-button{color:#e4f8ff;cursor:pointer;background:linear-gradient(#194d6cc7,#09283dd6);border:1px solid #6ad0ff7a;border-radius:7px;flex-direction:column;justify-content:center;padding:5px 11px;display:flex;box-shadow:0 0 20px -11px #4fc7ffe6}.export-roster-button:hover{border-color:var(--accent);background:linear-gradient(#236489e0,#0c334cf0)}.export-roster-button span{font-size:9px;font-weight:700}.export-roster-button small{color:#9ac7db;letter-spacing:.05em;text-transform:uppercase;font:7px JetBrains Mono,monospace}.month-switch{background:#020910bd;border:1px solid #5db6e738;border-radius:9px;flex:none;align-items:center;gap:5px;padding:4px;display:flex}.month-switch button{min-width:38px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;font-weight:700;display:grid}.month-switch button:hover{border-color:var(--line-2);background:var(--surface-2);color:var(--accent)}.month-switch .month-current{width:auto;padding:0 11px;font-size:11px}.roster-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0 14px;display:grid}.roster-stats>div{background:#030d17b8;border:1px solid #4caae03b;border-radius:9px;flex-direction:column;min-width:0;padding:11px 13px;display:flex;box-shadow:inset 0 1px #ffffff06}.roster-stats span{color:var(--muted);letter-spacing:.1em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font:9px JetBrains Mono,monospace;overflow:hidden}.roster-stats strong{color:var(--ink);margin-top:2px;font:700 22px JetBrains Mono,monospace}.roster-fixed-note{border-left:2px solid var(--accent);color:var(--muted);background:#18547424;margin:0 0 14px;padding:9px 11px;font-size:11.5px;line-height:1.5}.roster-fixed-note strong{color:#dff6ff}.roster-table-wrap{background:#020910bd;border:1px solid #5bb2e557;border-radius:10px;overflow:hidden;box-shadow:0 0 30px -20px #31bbffb3}.roster-table{border-collapse:collapse;table-layout:fixed;width:100%}.roster-table th{color:#dff5ff;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:linear-gradient(#16324bfa,#0a1c2cfa);border-bottom:1px solid #79cdf961;padding:11px 10px;font:700 9.5px JetBrains Mono,monospace}.roster-table th:first-child{width:13%}.roster-table th:nth-child(2){width:10%}.roster-table th:nth-child(3){width:12%}.roster-table th:nth-child(4){width:18%}.roster-table th:nth-child(5),.roster-table th:nth-child(6){width:7%}.roster-table th:nth-child(7){width:23%}.roster-table th:nth-child(8){width:10%}.roster-table td{color:var(--ink-2);vertical-align:middle;border-bottom:1px solid #438cb729;padding:12px 10px;font-size:12.5px}.roster-table tr:last-child td{border-bottom:0}.roster-table tbody tr{background:#081522b8;position:relative}.roster-table tbody tr:hover{filter:brightness(1.13)}.roster-table tbody tr.roster-friday{background:linear-gradient(90deg,#094c6661,#081a29bd);box-shadow:inset 3px 0 #49d3ff}.roster-table tbody tr.roster-saturday{background:linear-gradient(90deg,#26397e6b,#09172bc2);box-shadow:inset 3px 0 #728cff}.roster-table tbody tr.roster-sunday{background:linear-gradient(90deg,#641f546b,#1c0f25c7);box-shadow:inset 3px 0 #ff66c7}.roster-table tbody tr.roster-weekday{box-shadow:inset 3px 0 #54758f}.roster-table tbody tr.roster-open{background:linear-gradient(90deg,#553e1647,#081623c7)}.roster-table tbody tr.roster-fixed{background:linear-gradient(90deg,#1056464d,#081b23c2)}.roster-table td strong{color:var(--ink)}.mobile-roster{display:none}.roster-time{font:700 12px JetBrains Mono,monospace;color:#d9f6ff!important}.location-pill{color:#cfefff;text-overflow:ellipsis;white-space:nowrap;background:#04111c8a;border:1px solid #67c3f13d;border-radius:999px;max-width:100%;padding:3px 8px;font-size:10.5px;display:inline-block;overflow:hidden}.colleague-line{color:var(--accent);margin-top:2px;font-size:10.5px;display:block}.colleague-line:before{content:"+ ";color:var(--muted)}.fixed-roster-label{color:var(--green);letter-spacing:.07em;text-transform:uppercase;margin-top:2px;font:700 8px JetBrains Mono,monospace;display:block}.roster-notes{color:var(--muted)!important;font-size:11px!important}.open-slot-cell{justify-content:space-between;align-items:center;gap:7px;display:flex}.open-slot-cell strong{font-size:11px;color:#ffd084!important}.open-slot-cell button{color:#ffd998;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;background:#573a1247;border:1px solid #ffc96f80;border-radius:6px;flex:none;padding:5px 7px;font:700 8px JetBrains Mono,monospace}.open-slot-cell button:hover{color:#fff3d7;background:#6d48137a;border-color:#ffd084}.edit-shift-button{color:#bcecff;cursor:pointer;letter-spacing:.03em;text-transform:uppercase;background:#0f3d5873;border:1px solid #71d2ff7a;border-radius:6px;padding:6px 8px;font:700 8px JetBrains Mono,monospace}.edit-shift-button:hover{border-color:var(--accent);color:#fff;background:#1452769e}.virtual-row-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font:700 8px JetBrains Mono,monospace}.roster-legend{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:14px;margin-top:12px;font:9px JetBrains Mono,monospace;display:flex}.roster-legend span{align-items:center;gap:5px;display:flex}.roster-legend i{border-radius:50%;width:7px;height:7px;box-shadow:0 0 9px}.open-dot{color:#ffd084;background:#ffd084}.friday-dot{color:#49d3ff;background:#49d3ff}.saturday-dot{color:#728cff;background:#728cff}.sunday-dot{color:#ff66c7;background:#ff66c7}.hours-overview{box-shadow:0 0 46px -25px #3dbeffb8, var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#081726f0,#030a12e6);border:1px solid #54bef74d;border-radius:12px;margin-top:22px;padding:22px}.hours-overview-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px;display:flex}.hours-overview-heading h2{letter-spacing:-.025em;margin:5px 0 3px;font:800 clamp(25px,3vw,34px)/1 Bricolage Grotesque,sans-serif}.hours-overview-heading p{color:var(--muted);margin:0;font-size:12px}.hours-overview-total{border-right:2px solid var(--green);flex-direction:column;flex:none;align-items:flex-end;padding-right:11px;display:flex}.hours-overview-total span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:8px JetBrains Mono,monospace}.hours-overview-total strong{color:var(--green);font:700 19px JetBrains Mono,monospace}.submission-list{gap:12px;display:grid}.submission-card{background:#020a12c7;border:1px solid #5bb2e547;border-radius:10px;overflow:hidden}.submission-card>header{background:linear-gradient(100deg,#153a539e,#06142194);justify-content:space-between;align-items:flex-start;gap:18px;padding:15px 16px;display:flex}.submission-card h3{color:var(--ink);margin:4px 0 0;font-size:18px}.submission-card header p{color:var(--muted);margin:1px 0 0;font-size:11px}.submission-status{color:var(--green);letter-spacing:.08em;text-transform:uppercase;background:#0d2b24bd;border:1px solid #65e0b066;border-radius:999px;padding:2px 7px;font:700 7px JetBrains Mono,monospace;display:inline-block}.submission-total{flex-direction:column;flex:none;align-items:flex-end;display:flex}.submission-total span{color:var(--muted);font-size:9px}.submission-total strong{color:#dff7ff;font:700 18px JetBrains Mono,monospace}.submission-meta{color:var(--muted);letter-spacing:.04em;border-top:1px solid #5bb2e51f;border-bottom:1px solid #5bb2e529;justify-content:space-between;gap:12px;padding:8px 16px;font:8px JetBrains Mono,monospace;display:flex}.submission-table-wrap{overflow-x:auto}.submission-table{border-collapse:collapse;width:100%;min-width:680px}.submission-table th{color:var(--muted);letter-spacing:.07em;text-align:left;text-transform:uppercase;padding:9px 12px;font:700 8px JetBrains Mono,monospace}.submission-table td{color:var(--ink-2);border-top:1px solid #438cb721;padding:10px 12px;font-size:11.5px}.optional-empty{color:#7c8999;font-style:italic}@media (width<=440px){.neon-login-button{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));padding:8px 11px;font-size:9px}.portal-shell{padding-inline:14px}.portal-header{padding-top:22px}.schedule-card{grid-template-columns:60px 1fr;gap:12px;padding:13px}.two-columns{grid-template-columns:1fr}.time-columns{grid-template-columns:1fr 1fr}.submit-bar,.submit-bar button{padding-inline:14px}.quick-calendar-days{gap:2px;padding-inline:5px}.quick-calendar-days button,.calendar-blank{min-height:49px}.quick-calendar-days button{border-radius:5px;font-size:10px}.calendar-staffing small{font-size:5.5px}}@media (width<=820px){.admin-header{flex-direction:column}.admin-links{align-items:flex-start}.admin-grid,.account-grid{grid-template-columns:1fr}.roster-table-wrap{overflow-x:auto}.roster-table{min-width:850px}}@media (width<=620px){.access-shell{padding:14px}.access-card{padding:24px 20px}.access-card h1{font-size:clamp(21px,7.2vw,34px)}.access-logo{width:132px;height:88px}.admin-shell{width:min(100% - 24px,1480px);padding-top:20px}.admin-form,.admin-list,.account-panel{padding:15px}.roster-toolbar{flex-direction:column;align-items:stretch}.roster-toolbar-actions{grid-template-columns:1fr auto;width:100%;display:grid}.month-switch{width:100%}.month-switch .month-current{flex:1}.export-roster-button{min-width:116px;padding:5px 9px}.roster-stats{gap:6px}.roster-stats>div{padding:9px}.roster-stats span{font-size:7.5px}.roster-stats strong{font-size:18px}.roster-table-wrap{display:none}.mobile-roster{gap:11px;display:grid}.mobile-roster-day{box-shadow:var(--shadow);background:#040e18db;border:1px solid #5bb2e54d;border-radius:10px;overflow:hidden}.mobile-roster-day.roster-friday{box-shadow:inset 3px 0 #49d3ff, var(--shadow)}.mobile-roster-day.roster-saturday{box-shadow:inset 3px 0 #728cff, var(--shadow)}.mobile-roster-day.roster-sunday{box-shadow:inset 3px 0 #ff66c7, var(--shadow)}.mobile-roster-date{background:linear-gradient(110deg,#153750bd,#051421b3);border-bottom:1px solid #5ab1e138;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.mobile-date-block{background:#040f19c7;border:1px solid #71d2ff59;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.mobile-date-block strong{color:#eefaff;font:700 16px/1 JetBrains Mono,monospace}.mobile-date-block span{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font:7px JetBrains Mono,monospace}.mobile-roster-date>div:nth-child(2){flex-direction:column;min-width:0;display:flex}.mobile-roster-date>div:nth-child(2) strong{color:#f0f8ff;text-transform:capitalize;font-size:14px}.mobile-roster-date>div:nth-child(2) span{color:var(--muted);font-size:10px}.mobile-roster-date>small{color:#9ab1c3;letter-spacing:.06em;text-transform:uppercase;font:7.5px JetBrains Mono,monospace}.mobile-roster-shifts{display:grid}.mobile-roster-shifts article{padding:11px 12px 11px 15px}.mobile-roster-shifts article+article{border-top:1px solid #448eb829}.mobile-roster-shifts article.is-open{background:linear-gradient(90deg,#5a3e1638,#0000 72%)}.mobile-roster-shifts article.is-fixed{background:linear-gradient(90deg,#0c564438,#0000 72%)}.mobile-shift-topline,.mobile-shift-person{justify-content:space-between;align-items:center;gap:10px;display:flex}.mobile-shift-topline{margin-bottom:8px}.mobile-shift-topline .roster-time{font-size:12.5px}.mobile-shift-person{min-height:29px}.mobile-shift-person>div{min-width:0}.mobile-shift-person strong{color:var(--ink);font-size:13.5px}.mobile-shift-person>button{flex:none}.mobile-shift-person .edit-shift-button,.mobile-shift-person>button:not(.edit-shift-button){color:#c8efff;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:#0f3d5870;border:1px solid #71d2ff6b;border-radius:6px;padding:6px 8px;font:700 7.5px JetBrains Mono,monospace}.mobile-shift-person article.is-open button,.mobile-roster-shifts article.is-open button{color:#ffd998;background:#573a124d;border-color:#ffc96f80}.mobile-shift-note{color:var(--muted);border-top:1px solid #438cb71f;margin:7px 0 0;padding-top:6px;font-size:10px}.roster-legend{flex-wrap:wrap;justify-content:flex-start}.hours-overview{padding:15px}.hours-overview-heading,.submission-card>header{flex-direction:column;align-items:flex-start}.hours-overview-total,.submission-total{border-right:0;border-left:2px solid var(--green);align-items:flex-start;padding-left:9px;padding-right:0}.submission-meta{flex-direction:column;gap:3px}}@media print{@page{size:A4 landscape;margin:10mm}html,body{color:#101722!important;background:#fff!important}body:before,body:after,.admin-shell:before,.admin-shell:after{display:none!important}.admin-shell{width:100%;margin:0;padding:0}.admin-header,.account-panel,.admin-form,.admin-message,.roster-stats,.roster-fixed-note,.roster-legend,.hours-overview,.month-switch,.export-roster-button{display:none!important}.admin-grid{display:block}.admin-list{box-shadow:none;background:#fff;border:0;padding:0}.roster-toolbar{margin-bottom:8mm;display:block}.roster-toolbar .eyebrow{color:#52606d}.roster-toolbar h2{color:#111927;font-size:24px}.roster-toolbar-actions,.mobile-roster{display:none!important}.roster-table-wrap{box-shadow:none;background:#fff;border:1px solid #aab6c2;border-radius:0;overflow:visible;display:block!important}.roster-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;display:table!important}.roster-table thead{display:table-header-group!important}.roster-table tbody{display:table-row-group!important}.roster-table tr{break-inside:avoid;box-shadow:none!important;background:#fff!important;display:table-row!important}.roster-table th,.roster-table td{border:1px solid #c5ced7;padding:7px 6px;font-size:9px;color:#17202b!important;width:auto!important;display:table-cell!important}.roster-table th{font-size:8px;color:#fff!important;background:#172538!important}.roster-table th:last-child,.roster-table td:last-child,.roster-table td:before{display:none!important}.location-pill{color:#17202b;background:0 0;border-color:#9aabb9}.fixed-roster-label,.colleague-line{color:#167252}.open-slot-cell strong{color:#8a5a10!important}.open-slot-cell button{display:none}}input::placeholder{color:#748398}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
