:root{font-family:Fraunces,Georgia,Times New Roman,serif;line-height:1.5;font-weight:400;color:#ffffffeb;background:#050a12;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,#12314a,#050a12 55%,#030608);overflow-x:hidden}button{font-family:Space Grotesk,Trebuchet MS,system-ui,sans-serif;cursor:pointer}html,body,#root{margin:0;width:100%;max-width:100%;overflow-x:hidden}#root{display:block}.calendar-shell{width:100%;max-width:1200px;margin:0 auto;padding:32px 20px 48px;box-sizing:border-box;display:grid;gap:20px}.calendar-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.calendar-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:#fff9;margin:0}.calendar-title{margin:4px 0 0;font-size:clamp(2rem,3.4vw,3rem);font-weight:700}.calendar-subtitle{margin:6px 0 0;color:#ffffffb3;font-size:.95rem}.month-nav{display:flex;gap:10px;flex-wrap:nowrap;align-items:center}.calendar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.menu-shell{position:relative}.menu-button{border-radius:999px;border:1px solid rgba(255,255,255,.2);padding:6px 12px;background:#ffffff1f;color:inherit;font-weight:600;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative}.menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:#081018fa;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:8px;display:grid;gap:6px;min-width:180px;box-shadow:0 18px 40px #00000059;z-index:5}.menu-item{border-radius:10px;border:1px solid transparent;padding:8px 10px;background:#ffffff0d;color:inherit;font-weight:600;text-align:left}.menu-item:hover{border-color:#7dcfff66}.account-button{border-radius:999px;border:1px solid rgba(255,255,255,.2);padding:7px 12px;background:#ffffff1f;color:inherit;font-weight:600;transition:transform .2s ease,border-color .2s ease}.notification-button{position:relative}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ff5a5af2;color:#fff;font-size:.7rem;display:grid;place-items:center;border:2px solid rgba(9,18,27,.9)}.account-button:hover{transform:translateY(-1px);border-color:#7dcfff99}.jump-today{align-self:flex-start}.calendar-jump{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding:6px 6px 0;margin-bottom:10px}@media(max-width:600px){.calendar-jump{justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:6px 6px 0}.calendar-jump .jump-today{justify-content:center}.weekday{font-size:1.15rem;font-weight:700}.day-number{font-size:1rem}}.nav-button{border-radius:999px;border:1px solid rgba(255,135,180,.5);height:36px;padding:0 12px;background:#ff87b459;color:inherit;font-weight:600;font-size:.88rem;transition:transform .2s ease,border-color .2s ease}.nav-button:disabled{opacity:.4;cursor:not-allowed}.nav-button:not(:disabled):hover{transform:translateY(-1px);border-color:#ff87b4e6}.month-nav-left{margin-top:0;margin-bottom:0;gap:12px}.month-jump-select{border-radius:999px;border:1px solid rgba(255,135,180,.5);height:36px;padding:0 12px;background:#ff87b459;color:inherit;font-weight:600;font-size:.88rem}@media(max-width:720px){.calendar-shell{max-width:420px;padding:20px 12px 30px;gap:12px;width:100%;margin-inline:auto!important;overflow-x:clip}.calendar-shell>*{width:100%;max-width:100%}.calendar-header{gap:10px;align-items:stretch;width:100%}.calendar-header>div:first-child{width:100%}.calendar-actions{width:100%;flex-direction:row;align-items:center;justify-content:flex-start;margin-left:0;gap:8px}.calendar-actions .account-button,.calendar-actions .menu-button{min-height:42px;padding:10px 14px;font-size:.95rem}.menu-dropdown{min-width:220px;padding:10px;gap:8px}.menu-item{min-height:44px;padding:10px 14px;font-size:.95rem}.month-nav-left{margin-bottom:0;gap:8px;flex-wrap:nowrap;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.month-nav{width:100%;gap:8px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}.month-nav::-webkit-scrollbar{display:none}.month-nav .nav-button,.month-nav .month-jump-select{flex:1 1 0;height:36px;padding:0 12px;font-size:.88rem;text-align:center;width:100%;min-width:0}.month-nav .month-jump-select{min-width:0}.calendar-panel{padding:10px;width:100%;max-width:100%;overflow-x:clip}.calendar-panel .calendar-header{margin-top:0;margin-bottom:6px}}.calendar-panel .calendar-header{margin-top:4px;margin-bottom:10px;align-items:flex-start}.calendar-panel .jump-today{margin-top:2px}.calendar-panel{background:#09121bb8;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:12px;box-shadow:0 24px 60px #00000052}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.weekday{text-transform:uppercase;letter-spacing:.18em;font-size:1rem;font-weight:600;color:#ffffffc7;padding:8px 6px;text-align:center}.weekday-today{color:#ff9a3d}.day-cell{min-height:120px;border-radius:16px;padding:10px 10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:8px}@media(max-width:600px){.day-cell{scroll-margin-top:120px}}.day-cell.outside{opacity:.4}.day-number{font-weight:700;font-size:1.15rem;color:#fffffff2}.day-weekday{display:none;text-transform:uppercase;letter-spacing:.2em;font-size:.65rem;color:#ffffff8c}.shift-list{display:grid;gap:6px}.shift-block{border-radius:14px;border:1px solid rgba(255,255,255,.08);padding:10px;background:#ffffff05;display:grid;gap:10px}.shift-block-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.shift-block-title{margin:0;font-weight:600;font-size:.9rem}.shift-block-meta{margin:4px 0 0;font-size:.75rem;color:#ffffffb3}.shift-assignment-list{display:grid;grid-template-columns:1fr;gap:8px}.shift-chip{border-radius:12px;border:1px solid rgba(125,207,255,.3);padding:8px 10px;background:#16557859;color:inherit;text-align:left;display:grid;gap:4px;font-size:.85rem}.shift-chip.assigned-self{background:#50c87840;border-color:#50c87899}.shift-chip.assigned-admin{background:linear-gradient(135deg,#ff5fa2,#ff9a3d);border-color:#ffffffb3;color:#0b141c}.shift-chip:hover{border-color:#7dcfff99}.chip-title{font-weight:600}.chip-meta{font-size:.75rem;color:#ffffffb3}.chip-empty{font-size:.75rem;color:#fff6}.calendar-footer{display:flex;justify-content:space-between;gap:12px}.error-banner,.loading-banner{border-radius:999px;padding:6px 12px;font-size:.85rem;background:#ffffff14}.error-banner{border:1px solid rgba(255,115,115,.4)}.loading-banner{border:1px solid rgba(125,207,255,.3)}.empty-banner{border-radius:14px;padding:12px 16px;font-size:.9rem;border:1px solid rgba(255,214,80,.5);background:#ffd6502e}.modal-backdrop{position:fixed;inset:0;background:#050a10a6;display:grid;place-items:center;padding:20px;z-index:50}.modal-panel{width:min(600px,100%);background:#0b141c;border-radius:20px;border:1px solid rgba(255,255,255,.12);padding:20px;display:grid;gap:18px;box-shadow:0 30px 70px #00000073;max-height:min(85vh,720px);overflow-y:auto}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.modal-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.modal-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.65rem;color:#fff9;margin:0 0 6px}.modal-title{margin:0;font-size:1.6rem}.modal-location{margin:6px 0 0;font-size:.95rem;color:#fffc}.modal-description{margin:6px 0 0;font-size:.85rem;font-style:italic;color:#ffffffd9}.modal-close{border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;padding:6px 12px}.modal-body{display:grid;gap:12px}.modal-row{display:flex;justify-content:space-between;gap:12px;font-size:.95rem}.modal-row-stack{flex-direction:column;align-items:flex-start}.capacity-panel{margin-top:8px;display:grid;gap:10px}.capacity-indicator{border-radius:14px;padding:10px 14px;font-weight:600;text-align:center;border:1px solid transparent;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.capacity-slot{min-height:48px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff26;padding:6px 8px;font-size:.7rem;line-height:1.2;text-align:center;display:flex;align-items:center;justify-content:center;word-break:break-word;color:inherit}.capacity-slot.none{background:#ff5a5a38;border-color:#ff5a5a99}.capacity-slot.assigned{background:#50c87838;border-color:#50c87899}.capacity-slot.lead,.capacity-slot.admin{background:#5096ff4d;border-color:#5096ffb3}.capacity-slot.pending{background:#ffd6504d;border-color:#ffd650b3}.capacity-slot:disabled{cursor:not-allowed;opacity:.95}.capacity-slot-content{display:flex;flex-direction:column;gap:2px;align-items:center}.capacity-slot-phone{font-size:.65rem;opacity:.85}.capacity-slot-phone-link{color:inherit;text-decoration:underline;display:inline-block;margin:0 3px}.modal-label{color:#ffffffa6;font-weight:600}.account-panel{width:min(720px,100%)}.account-body{display:grid;gap:20px}.account-section{display:grid;gap:10px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.account-section-title{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.18em;color:#fff9}.account-mono{font-family:Courier New,monospace;font-size:.85rem;word-break:break-all}.account-notes{color:#ffffffd9;line-height:1.4}.myshifts-list{display:grid;gap:12px}.myshifts-section{margin-top:16px;display:grid;gap:12px}.myshifts-section-title{font-weight:600;font-size:.95rem;color:#ffffffbf;text-transform:uppercase;letter-spacing:.08em}.myshift-card{border-radius:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;display:grid;gap:10px;text-align:left;color:inherit;cursor:pointer;appearance:none}.myshift-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.myshift-detail-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb8}.myshift-detail-value{font-size:.92rem;font-weight:600;color:#fffffff0;text-align:right}.myshift-location-link{color:inherit;text-decoration:underline}.myshift-detail-date .myshift-detail-label,.myshift-detail-date .myshift-detail-value{color:#ff87b4}.myshift-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.myshift-title{margin:0;font-weight:600;font-size:1rem}.myshift-meta{margin:4px 0 0;font-size:.85rem;color:#ffffffb3}.myshift-role{border-radius:999px;padding:4px 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;border:1px solid rgba(255,255,255,.2)}.myshift-role.lead{background:#5096ff4d;border-color:#5096ff99}.myshift-role.regular{background:#ffffff14}.myshift-notes{font-size:.85rem;color:#fffc;line-height:1.4}.recurring-list{display:grid;gap:12px}.recurring-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f}.recurring-title{font-weight:600;margin:0}.recurring-meta{margin:4px 0 0;color:#ffffffb3;font-size:.85rem}.recurring-meta-label{color:#ffffffe6;font-weight:600}.recurring-pill{border-radius:999px;padding:6px 12px;font-size:.75rem;font-weight:600;background:#5096ff40;border:1px solid rgba(80,150,255,.6);color:#dfefff;white-space:nowrap}.recurring-actions{display:flex;align-items:center;gap:8px}.recurring-delete{border-radius:999px;border:1px solid rgba(255,130,130,.6);background:#ff828233;color:inherit;font-size:.7rem;padding:6px 10px;cursor:pointer}.repeat-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:8px}.repeat-day{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#fffc}.myshifts-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px}.pagination-label{font-size:.85rem;color:#ffffffb3}.notifications-list,.volunteers-list{display:grid;gap:12px}.volunteer-row{text-align:left;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;cursor:pointer;color:inherit;appearance:none}.volunteer-name{margin:0;font-weight:600}.volunteer-name-admin{color:#ff7ab8}.volunteer-name-lead{color:#5096fff2}.volunteer-name-regular{color:#50c878f2}.volunteer-meta{margin:4px 0 0;font-size:.85rem;color:#ffffffb3}.volunteer-joined{font-size:.8rem;color:#ffffffb3;white-space:nowrap}.volunteer-detail{display:grid;gap:16px;margin-bottom:16px}.volunteer-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.volunteer-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.volunteer-back{background:linear-gradient(135deg,#ff8b3d,#ffb347);border-color:#ffaf50cc;color:#1b0c05}.volunteer-recurring{display:grid;gap:12px}.volunteer-recurring-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.volunteer-recurring-form{display:grid;gap:12px;margin-top:8px}.form-grid.form-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:720px){.form-grid.form-grid-compact{grid-template-columns:1fr}}.notifications-section{display:grid;gap:10px}.notifications-section-title{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:#fff9}.notification-card{border-radius:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;display:flex;justify-content:space-between;gap:12px;align-items:center}.notification-card.past{opacity:.7}.notification-read{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#ffffffb3}.notification-check-label{-webkit-user-select:none;user-select:none}.notification-info{display:grid;gap:6px}.notification-name{margin:0;font-weight:600}.notification-meta{margin:0;font-size:.85rem;color:#ffffffb3}.notification-reason{margin:0;font-size:.8rem;color:#fffc}.notification-actions{display:flex;gap:10px}.notification-actions .nav-button,.notification-actions .account-button,.modal-header-actions .nav-button,.modal-header-actions .modal-close{min-width:96px;min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}.helpful-link{color:#ffb6cf;text-decoration:underline;font-style:italic;font-weight:500}.helpful-link:hover{color:#ffd0e1}.helpful-phone,.helpful-text{color:#ffb6cf;text-decoration:underline;font-style:italic;font-weight:500}.helpful-phone:hover,.helpful-text:hover{color:#ffd0e1}.take-shift-panel{width:min(520px,100%)}.modal-text{margin:0;color:#ffffffd9}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:.75rem;background:#ffffff14}.assignments-panel{border-top:1px solid rgba(255,255,255,.1);padding-top:12px;display:grid;gap:10px}.assignments-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.assignments-count,.assignments-status{font-size:.85rem;color:#ffffffb3}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.assignment-chip{border-radius:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:transparent;display:grid;gap:6px;font-size:.85rem}.assignment-chip.lead{background:#5096ff4d;border-color:#5096ff99}.assignment-chip.regular{background:transparent;border-color:#fff3}.assignment-chip.placeholder{background:#ff5a5a40;border-color:#ff5a5a99}.assignment-chip.placeholder.lead-needed{background:#ffd65059;border-color:#ffd650b3}.assignment-role{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;color:#ffffffb3}.assignment-name{font-weight:600}@media(max-width:900px){.calendar-header{flex-direction:column;align-items:flex-start}.calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekday{text-align:left;padding-left:10px}}@media(max-width:600px){.calendar-grid{grid-template-columns:1fr}.weekday{display:none}.day-weekday{display:block;font-size:1.2rem;font-weight:700;letter-spacing:.12em;color:#ffffffe6}}.onboarding-shell{min-height:100vh;padding:48px 20px 64px;display:grid;place-items:center}.onboarding-card{width:min(920px,100%);background:#09121bd9;border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:28px;display:grid;gap:24px;box-shadow:0 24px 70px #0006}.onboarding-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:#fff9;margin:0 0 6px}.onboarding-title{margin:0;font-size:clamp(2rem,3vw,2.6rem)}.onboarding-subtitle{margin:8px 0 0;color:#ffffffb3}.onboarding-form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-field{display:grid;gap:8px}.form-field-wide{grid-column:1 / -1}.form-label{font-size:.85rem;font-weight:600;color:#ffffffb3}.form-input{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;padding:10px 12px;color:inherit;font-size:.95rem}.form-input:focus{outline:2px solid rgba(125,207,255,.6);border-color:transparent}.form-textarea{resize:vertical}.form-toggle{display:flex;align-items:center;gap:10px;font-size:.9rem}.form-alert{border-radius:12px;border:1px solid rgba(255,115,115,.6);background:#ff737326;padding:10px 12px}.form-actions{display:flex;justify-content:flex-end}.primary-button{border-radius:999px;border:1px solid rgba(125,207,255,.5);background:#16557880;color:inherit;padding:10px 22px;font-weight:600;transition:transform .2s ease,border-color .2s ease}.primary-button:disabled{opacity:.6;cursor:not-allowed}.primary-button:not(:disabled):hover{transform:translateY(-1px);border-color:#7dcfffcc}@media(max-width:720px){.form-grid{grid-template-columns:1fr}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 16px;background:radial-gradient(circle at top,rgba(255,181,120,.25),transparent 55%),linear-gradient(135deg,#1f2a2e,#152126)}.auth-shell--signin{background:radial-gradient(circle at top,rgba(255,165,84,.45),transparent 55%),linear-gradient(135deg,#2d1b12,#1c120e)}.auth-shell--signup{background:radial-gradient(circle at top,rgba(110,200,255,.35),transparent 55%),linear-gradient(135deg,#142028,#0d161c)}.auth-card{width:min(520px,100%);padding:32px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#090e12cc;box-shadow:0 20px 45px #00000059;color:#f5f5f5}.auth-header{display:grid;gap:6px;margin-bottom:20px}.auth-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#fff9}.auth-title{font-size:2rem;margin:0}.auth-subtitle{margin:0;color:#ffffffb3}.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:8px}.auth-label{font-size:.85rem;color:#ffffffa6}.auth-input{height:52px;border-radius:14px;padding:0 16px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#f5f5f5;font-size:1rem}.auth-input:focus{outline:none;border-color:#fff6;box-shadow:0 0 0 3px #ffa55433}.auth-shell--signup .auth-input:focus{box-shadow:0 0 0 3px #6ec8ff40}.auth-submit{height:52px;border-radius:14px;border:none;font-weight:600;font-size:1rem;background:linear-gradient(135deg,#ff8b3d,#ffb347);color:#1b0c05;cursor:pointer}.auth-shell--signup .auth-submit{background:linear-gradient(135deg,#4da6ff,#86d7ff);color:#0c1218}.auth-switch{margin-top:16px;background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:.9rem}.auth-message{margin-top:16px;color:#ffffffd9}
