html,body{min-height:100%;margin:0;padding:0}*{box-sizing:border-box}body{color:#ffffffeb;background:radial-gradient(1000px 700px at 10% 10%,#38bdf82e,#0000 60%),radial-gradient(900px 700px at 90% 20%,#6366f12e,#0000 60%),linear-gradient(135deg,#071225 0%,#081a33 45%,#0a2642 100%);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}.appShell{flex-direction:column;min-height:100vh;display:flex}.appHeader{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0610228c;border-bottom:1px solid #ffffff14;position:sticky;top:0}.appHeaderInner{justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;padding:14px 18px;display:flex}.brand{letter-spacing:.2px;font-weight:700}.nav{align-items:center;gap:14px;display:flex}.hamburger{cursor:pointer;z-index:20;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;display:none}.hamburgerLine{background:#ffffffd9;border-radius:2px;width:100%;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburgerLineOpen:first-child{transform:translateY(7px)rotate(45deg)}.hamburgerLineOpen:nth-child(2){opacity:0}.hamburgerLineOpen:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (max-width:768px){.hamburger{display:flex}.nav{z-index:15;background:#061022fa;border-left:1px solid #ffffff1a;flex-direction:column;align-items:stretch;gap:0;width:280px;height:100vh;padding:70px 20px 20px;display:none;position:fixed;top:0;right:0}.navOpen{display:flex}.nav .navLink{text-align:left;border-radius:10px;padding:14px 16px;font-size:16px}.nav .navLink:hover{background:#ffffff14}}.navLink{color:#ffffffd9;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 10px}.navLink:hover{color:#fffffff5;background:#ffffff14}.container{flex:1;width:100%;max-width:1000px;margin:0 auto;padding:28px 18px}.containerWide{width:95%;max-width:1400px}.containerAvailability{width:85%;max-width:1400px}.page{place-items:center;width:100%;min-height:calc(100vh - 64px);padding:24px 18px;display:grid}.card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;width:100%;max-width:440px;padding:22px;box-shadow:0 18px 60px #00000059}.card>*{margin-left:auto;margin-right:auto}.title{letter-spacing:-.2px;margin:0;font-size:26px}.subtitle{color:#ffffffb3;margin:8px 0 0}.form{gap:14px;margin-top:18px;display:grid}.label{color:#fffc;gap:8px;font-size:14px;display:grid}.input{color:#ffffffeb;background:#020a148c;border:1px solid #ffffff24;border-radius:12px;outline:none;width:100%;height:44px;padding:0 12px}.input:focus{border-color:#38bdf880;box-shadow:0 0 0 4px #38bdf81f}.input[type=file]{text-align:center;cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.input[type=file]::-webkit-file-upload-button{color:#ffffffe6;height:calc(100% - 4px);font:inherit;cursor:pointer;background:#38bdf826;border:none;border-radius:8px;justify-content:center;align-items:center;margin:2px 12px 2px 2px;padding:0 16px;font-weight:600;transition:background .2s;display:flex}.input[type=file]::-webkit-file-upload-button:hover{background:#38bdf840}.input[type=file]::-moz-file-upload-button{color:#ffffffe6;height:calc(100% - 4px);font:inherit;cursor:pointer;background:#38bdf826;border:none;border-radius:8px;justify-content:center;align-items:center;margin:2px 12px 2px 2px;padding:0 16px;font-weight:600;transition:background .2s;display:flex}.input[type=file]::-moz-file-upload-button:hover{background:#38bdf840}.input[type=file]::file-selector-button{color:#ffffffe6;height:calc(100% - 4px);font:inherit;cursor:pointer;background:#38bdf826;border:none;border-radius:8px;justify-content:center;align-items:center;margin:2px 12px 2px 2px;padding:0 16px;font-weight:600;transition:background .2s;display:flex}.input[type=file]::file-selector-button:hover{background:#38bdf840}.button{color:#fffffff2;cursor:pointer;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 40%,#38bdf8 100%);border:0;border-radius:12px;height:46px;font-weight:600}.button:disabled{opacity:.55;cursor:not-allowed}.error{color:#fee2e2f2;background:#f871711a;border:1px solid #f8717159;border-radius:12px;padding:10px 12px;font-size:14px}.success{color:#dcfce7f2;background:#22c55e1a;border:1px solid #22c55e59;border-radius:12px;padding:10px 12px;font-size:14px}.footerRow{align-items:center;gap:8px;margin-top:14px;display:flex}.muted{color:#ffffffa6;font-size:14px}.link{color:#bae6fdf2;font-size:14px;font-weight:600}.link:hover{text-decoration:underline}.checkbox-label{color:#fffc;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{accent-color:#2563eb;width:16px;height:16px}.form-section{margin:8px 0}.file-preview{color:#bae6fdf2;background:#38bdf81a;border:1px solid #38bdf833;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:13px}.availabilityContainer{gap:16px;width:100%;display:grid}.availabilityCard{width:100%;max-width:none}.availabilityHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.availabilityHeaderInlineHidden .availabilitySummary{display:none}.availabilitySummary{background:#030c1899;border:1px solid #ffffff1f;border-radius:14px;max-width:360px;padding:14px 16px;font-size:14px;line-height:1.4}.availabilitySummarySticky{z-index:5;pointer-events:none;opacity:0;justify-content:flex-end;margin-top:12px;transition:opacity .2s,transform .2s;display:flex;position:sticky;top:86px;transform:translateY(-12px)}.availabilitySummaryCard{pointer-events:auto}.availabilitySummaryStickyVisible{opacity:1;pointer-events:none;transform:translateY(0)}.availabilitySummaryLabel{color:#bae6fdf2;margin-bottom:6px;font-weight:600;display:block}.availabilityControls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.availabilityControlButtons{gap:8px;display:flex}.availabilityWeekdays{text-align:center;color:#fff9;text-transform:uppercase;letter-spacing:.08em;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:6px;font-size:12px;display:grid}.availabilityWeekdayLabel{padding:4px 0}.availabilityGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;display:grid}.availabilityDay{background:#061224a6;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:10px;min-height:220px;padding:12px;display:flex}.availabilityDay:hover{border-color:#38bdf880;box-shadow:0 0 0 3px #38bdf81f}.availabilityDayPad{visibility:hidden;background:0 0;border:0;min-height:0;padding:0}.availabilityDayToday{border-color:#7dd3fc99;box-shadow:0 0 0 2px #7dd3fc3d}.availabilityDaySelected{background:#08385fb3}.availabilityDayLocked{opacity:.55;pointer-events:none;-webkit-backdrop-filter:grayscale(.3);backdrop-filter:grayscale(.3)}.availabilityDayCondensed{gap:6px;min-height:auto}.availabilityDayHeader{color:#ffffffb3;justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.availabilityDayDate{color:#fffffff2;font-size:18px;font-weight:600}@media (max-width:1200px){.availabilityGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.availabilityWeekdays,.availabilityDayPad{display:none}}@media (max-width:900px){.availabilityGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.availabilityGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.availabilityDay{min-height:180px;padding:14px}.availabilityDayHeader{flex-direction:column;gap:2px}.availabilityDayDate{font-size:20px}.shiftChip{padding:12px}}@media (max-width:480px){.availabilityGrid{grid-template-columns:1fr;gap:12px}.availabilityDay{min-height:auto;padding:16px}.availabilityDayHeader{flex-direction:row;justify-content:space-between;align-items:center}.shiftList{flex-flow:wrap}.shiftChip{flex:1;min-width:120px}}.availabilityList{flex-direction:column;gap:8px;display:flex}.availabilityListRow{background:#061224a6;border:1px solid #ffffff14;border-radius:12px;overflow:hidden}.availabilityListRow:hover{border-color:#38bdf866}.availabilityListRowToday{border-color:#7dd3fc99;box-shadow:0 0 0 2px #7dd3fc3d}.availabilityListRowSelected{background:#08385f80}.availabilityListRowLocked{opacity:.5}.availabilityListHeader{width:100%;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.availabilityListHeader:disabled{cursor:default}.availabilityListHeader:not(:disabled):hover{background:#ffffff0a}.availabilityListDate,.availabilityListMeta{align-items:center;gap:12px;display:flex}.availabilityListBadge{color:#bae6fdf2;background:#38bdf833;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}.availabilityListChevron{color:#ffffff80;font-size:12px;transition:transform .2s}.availabilityListShifts{border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:10px;margin-top:-2px;padding:14px 16px 16px;display:flex}.availabilityListShifts .shiftChip{flex:1;min-width:140px}.availabilityEmpty{padding:6px 0;font-size:13px}.shiftList{flex-direction:column;gap:8px;display:flex}.shiftChip{color:#ffffffeb;font:inherit;cursor:pointer;background:#3b82f61a;border:1px solid #ffffff26;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.shiftChip:disabled{opacity:.65;cursor:wait}.shiftChipLocked{opacity:.4;cursor:not-allowed}.shiftChipBadge{text-transform:uppercase;letter-spacing:.1em;background:#fff3;border-radius:999px;margin-top:4px;padding:2px 6px;font-size:11px}.shiftChipTime{color:#031126cc;font-size:12px}@media (max-width:640px){.containerAvailability,.availabilityContainer{width:100%}.availabilitySummary{width:100%;max-width:none}.availabilitySummarySticky{position:static;top:auto}.availabilityControls{flex-direction:column;align-items:flex-start}.availabilityControlButtons{justify-content:space-between;width:100%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.appFooter{background:#06102266;border-top:1px solid #ffffff14;padding:24px 18px}.footerContent{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1000px;margin:0 auto;display:flex}.footerBranding{align-items:center;gap:24px;display:flex}.footerLinks{align-items:center;gap:16px;display:flex}.footerLink{color:#fff9;font-size:13px;text-decoration:none;transition:color .2s}.footerLink:hover{color:#bae6fdf2;text-decoration:underline}.footerLighthouse{color:#fff9;align-items:center;gap:10px;font-size:13px;text-decoration:none;transition:color .2s;display:flex}.footerLighthouse:hover{color:#38bdf8}.footerLighthouseLogo{opacity:.6;width:auto;height:28px;transition:opacity .2s,filter .2s}.footerLighthouse:hover .footerLighthouseLogo{opacity:1;filter:brightness(1.2)drop-shadow(0 0 4px #38bdf880)}.footerBrand{color:#fff9;align-items:center;gap:10px;font-size:13px;text-decoration:none;transition:color .2s;display:flex}.footerBrand:hover{color:#f16465}.footerLogo{width:auto;height:24px}@media (max-width:640px){.footerContent{text-align:center;flex-direction:column;align-items:center;gap:16px}.footerBranding{flex-direction:column;gap:12px}}.adminShell{grid-template-columns:1fr 260px;align-items:start;gap:18px;display:grid}.adminContent{min-width:0}.adminSidebar{align-self:start;position:sticky;top:84px}.adminMenuToggle{color:#ffffffe6;font:inherit;cursor:pointer;background:#38bdf826;border:1px solid #38bdf84d;border-radius:10px;margin-bottom:16px;padding:10px 16px;font-size:14px;font-weight:600;display:none}.adminMenuToggle:hover{background:#38bdf840}.adminSidebarOverlay{display:none}@media (max-width:900px){.adminShell,.adminMenuToggle{display:block}.adminSidebar{z-index:101;background:#061022fa;border-left:1px solid #ffffff1a;width:280px;height:100vh;padding:20px;transition:transform .3s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.adminSidebarOpen{transform:translate(0)}.adminSidebar .card{max-width:none!important}.adminSidebarOverlay{z-index:100;background:#00000080;display:block;position:fixed;inset:0}.adminContent{width:100%}}.dashboardAssignmentGrid{grid-template-columns:repeat(7,1fr);gap:16px;display:grid}@media (max-width:768px){.dashboardAssignmentGrid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.dashboardAssignmentGrid{grid-template-columns:1fr}}.dashboardCeuGrid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.dashboardQuickActions{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}@media (max-width:640px){.dashboardQuickActions{grid-template-columns:1fr}}
