@font-face{font-family:Nunito;src:url('assets/nunito-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--u:min(1px,calc(100vw / 470.5));--ink:#272c30;--navy:#08063e;--green:#198754;--red:#ff304c;--paper:#f8f9fa;--pale:#e3f1ee;--border:#d0d1d2;font-size:calc(17 * var(--u));font-family:Nunito,Arial,sans-serif;color:var(--ink);background:#f5f6f7;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--navy)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4098ef;outline-offset:3px}button{touch-action:manipulation}svg{display:block;width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:1.5}.svg-library{position:absolute;width:0;height:0;overflow:hidden} [hidden]{display:none!important}
.site-header{height:calc(92 * var(--u));position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 5px #00000010}.header-inner{max-width:1020px;height:100%;margin:auto;padding:0 calc(14 * var(--u));display:flex;align-items:center;justify-content:space-between;position:relative}.brand{display:block;width:calc(235 * var(--u));line-height:0}.brand img{width:100%;height:auto;max-height:calc(64 * var(--u));object-fit:contain;object-position:left center}.menu-button{width:calc(62 * var(--u));height:calc(44 * var(--u));background:#fff;border:calc(1.2 * var(--u)) solid #d8d9da;border-radius:calc(8 * var(--u));display:grid;place-items:center;color:#5d6165}.menu-button svg{width:calc(29 * var(--u));height:calc(29 * var(--u));stroke-width:1.8}.dropdown{position:absolute;right:calc(14 * var(--u));top:calc(79 * var(--u));z-index:25;width:calc(255 * var(--u));border:1px solid #d7dadd;background:white;box-shadow:0 8px 25px #0002;border-radius:7px;padding:9px}.dropdown button{display:block;text-align:left;background:none;border:0;width:100%;padding:10px 12px;color:var(--ink)}.dropdown button:hover{background:#f0f5f3}.dropdown p{padding:0 12px;color:#646c70;font-size:.72rem;line-height:1.5}.dropdown hr{border:0;border-top:1px solid #eee}.personal-notice{font-size:calc(10.5 * var(--u));line-height:calc(20 * var(--u));text-align:center;background:#f0f2f3;color:#60676b;padding:2px 5px}
main{max-width:960px;margin:auto;min-height:calc(100dvh - 220px);padding-bottom:calc(120 * var(--u) + env(safe-area-inset-bottom));outline:none}.urgent{display:block;margin:calc(11 * var(--u)) calc(23.5 * var(--u)) calc(28 * var(--u));width:calc(100% - 47 * var(--u));padding:calc(7 * var(--u)) calc(19 * var(--u));min-height:calc(59 * var(--u));border:0;border-radius:calc(5 * var(--u));background:var(--green);color:#fff;text-align:center;line-height:1.6;font-size:calc(15 * var(--u))}.urgent:hover,.button.green:hover{background:#147449}.panel{margin:0 calc(14 * var(--u));background:#fff;border-radius:calc(7 * var(--u));overflow:hidden;box-shadow:0 8px 35px #17222a0a}.panel-heading{background:#f0f2f3;min-height:calc(45 * var(--u));padding:calc(10 * var(--u)) calc(20 * var(--u));font-size:calc(17 * var(--u));font-weight:700;text-align:center;line-height:1.45;margin:0}.home-content{padding:calc(33 * var(--u)) 0 calc(30 * var(--u))}.shift-detail,.instructions{width:78.3%;max-width:620px;margin:auto;background:var(--paper);border:calc(1.2 * var(--u)) solid var(--border);border-radius:calc(7 * var(--u));text-align:center}.shift-detail{padding:calc(17 * var(--u)) calc(16 * var(--u)) calc(2 * var(--u))}.shift-detail h1{font-size:calc(21 * var(--u));font-weight:400;line-height:1.16;margin:0 0 calc(10 * var(--u))}.shift-address{margin:0 0 calc(4 * var(--u));line-height:1.5;font-size:calc(17 * var(--u))}.pin{display:inline-block;vertical-align:-.13em;color:var(--green);width:1em;height:1em;flex-shrink:0}.role{margin:calc(3 * var(--u)) 0 calc(5 * var(--u))}.shift-date,.shift-time{font-weight:700;font-size:calc(18 * var(--u));margin:calc(3 * var(--u)) 0;line-height:1.35}.instruction-alert{margin:calc(13 * var(--u)) 0 calc(12 * var(--u));font-size:calc(17 * var(--u));line-height:1.6;color:var(--red)}.instruction-alert strong{font-weight:700}.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:calc(9 * var(--u));margin:0 calc(2 * var(--u))}.button{display:inline-flex;justify-content:center;align-items:center;gap:.25em;border:0;border-radius:calc(5 * var(--u));text-decoration:none;background:var(--navy);color:#fff;padding:calc(7 * var(--u)) calc(11 * var(--u));font-size:calc(15 * var(--u));min-height:calc(35 * var(--u));line-height:1.4;white-space:nowrap}.button:hover{filter:brightness(1.12)}.button.green{background:var(--green)}.button.wait{background:#e97989;color:#fff}.button.light{background:#e8edeb;color:var(--ink)}.button.danger{background:#b82c3d}.clock-note{color:var(--red);line-height:1.5;font-size:calc(14 * var(--u));margin:calc(19 * var(--u)) 0 0}.instructions{padding:calc(9 * var(--u)) calc(12 * var(--u));margin-top:calc(9 * var(--u));font-size:calc(13 * var(--u));line-height:1.55}.instructions h2{font-size:calc(14 * var(--u));font-weight:700;margin:0}.instructions ul{padding-left:calc(1 * var(--u));margin:0;text-align:left;list-style-position:outside}.instructions li{padding-left:calc(1 * var(--u));margin:0 0 calc(1 * var(--u))}.personal-footer{font-size:calc(11 * var(--u));color:#6b7376;text-align:center;margin:calc(20 * var(--u)) calc(15 * var(--u));line-height:1.5}
.schedule-panel{margin-top:0;border-radius:0;min-height:calc(100dvh - 220px)}.schedule-toolbar{min-height:calc(55 * var(--u));display:flex;align-items:center;justify-content:space-between;gap:calc(3 * var(--u));background:#f0f2f3;padding:calc(10 * var(--u)) calc(19 * var(--u))}.schedule-toolbar h1{font-size:calc(17 * var(--u));font-weight:700;line-height:1.5;margin:0;white-space:nowrap}.schedule-toolbar .button{flex-shrink:0}.shift-list{padding:calc(23 * var(--u)) calc(19 * var(--u)) calc(20 * var(--u));display:grid;gap:calc(9 * var(--u))}.shift-row{display:grid;grid-template-columns:calc(68 * var(--u)) minmax(0,1fr) auto;align-items:center;background:var(--pale);border-radius:calc(8 * var(--u));padding:calc(5 * var(--u)) calc(5 * var(--u)) calc(5 * var(--u)) calc(3 * var(--u));min-height:calc(144 * var(--u));column-gap:calc(9 * var(--u));font-size:calc(17 * var(--u))}.row-date{line-height:1.65;text-align:center;border-right:calc(3.5 * var(--u)) solid var(--green);padding:0 calc(1 * var(--u));min-height:calc(54 * var(--u));display:flex;flex-direction:column;justify-content:center;font-weight:400}.row-main{line-height:1.6;min-width:0}.row-time{white-space:nowrap;margin-bottom:calc(2 * var(--u))}.row-facility{margin:0;font-weight:400}.row-address{color:#5d6465;margin:calc(2 * var(--u)) 0 0}.row-detail{padding:calc(7 * var(--u)) calc(10 * var(--u));align-self:center;min-width:calc(60 * var(--u))}.shift-row .row-main{grid-column:2;grid-row:1}.shift-row .row-detail{grid-column:3;grid-row:1}.shift-row .row-date{grid-column:1;grid-row:1}.shift-row .row-facility,.shift-row .row-address{width:calc(100% + 60 * var(--u))}.shift-row .row-detail{margin-top:calc(9 * var(--u))}.shift-row .row-facility{padding-right:calc(45 * var(--u))}.shift-row .row-address{padding-right:calc(24 * var(--u))}.shift-row:has(.row-facility.long-name) .row-facility{padding-right:calc(45 * var(--u))}.list-extra{display:flex;justify-content:center;gap:10px;padding:0 20px 25px}
.bottom-nav{height:calc(89 * var(--u) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0;z-index:30;background:#f8f9fa;display:flex;box-shadow:0 -5px 15px #00000002}.bottom-nav button{position:relative;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:calc(10 * var(--u));padding:calc(13 * var(--u)) 0 calc(15 * var(--u));color:var(--ink);background:transparent;border:0;font-size:calc(17 * var(--u));font-weight:400;line-height:1.1}.bottom-nav button svg{width:calc(17 * var(--u));height:calc(17 * var(--u));stroke-width:1.65}.bottom-nav button[aria-current="page"]{color:#20262a}.bottom-nav button:hover{background:#edf3f0}.nav-badge{position:absolute;top:0;left:calc(50% - 3 * var(--u));width:calc(25 * var(--u));height:calc(21 * var(--u));border-radius:20px;color:white;background:var(--green);font-size:calc(14 * var(--u));line-height:calc(21 * var(--u));transform:translateY(0)}
.simple-panel{margin-top:calc(20 * var(--u))}.simple-content{padding:calc(25 * var(--u));line-height:1.6}.simple-content h2{font-size:1.1rem;font-weight:600;margin-top:0}.simple-content p{font-size:.93rem}.field{display:flex;flex-direction:column;gap:5px;font-size:.9rem;margin-bottom:15px;min-width:0}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #c7cbce;background:#fff;border-radius:5px;color:var(--ink);min-height:43px;font-size:max(16px,.95rem)}.field textarea{min-height:80px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.form-note{font-size:.76rem;line-height:1.5;color:#667074}.availability-toggle{display:flex;align-items:center;gap:12px;margin:18px 0}.availability-toggle input{accent-color:var(--green);width:23px;height:23px}.empty-state{text-align:center;padding:calc(35 * var(--u)) calc(20 * var(--u));color:#6c7276}.empty-state svg{width:40px;height:40px;margin:0 auto 20px;color:#747b80}.empty-state h2{font-size:1.1rem;font-weight:600;color:var(--ink)}
.calendar{padding:calc(20 * var(--u))}.calendar-heading{display:flex;align-items:center;justify-content:space-between;font-size:1.05rem;font-weight:700;margin-bottom:15px}.calendar-heading button{font-size:1.1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday{text-align:center;color:#677074;font-size:.7rem;padding:8px 0}.calendar-day{border:1px solid #e6e9e8;background:#fff;min-height:calc(52 * var(--u));border-radius:4px;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:3px;padding:5px 1px;color:var(--ink);font-size:.9rem}.calendar-day.has-shift{background:var(--pale);border-color:#b1d4c7}.calendar-day.current-day{outline:2px solid var(--green);outline-offset:-2px}.calendar-day small{font-size:.53rem;color:var(--green);line-height:1.2}.calendar-day.empty{border:none;background:none}.calendar-note{font-size:.8rem;color:#667074;margin:18px 0 0}
dialog{width:min(92vw,520px);max-height:88dvh;border:0;border-radius:10px;padding:0;background:white;color:var(--ink);box-shadow:0 15px 80px #0004;font-size:16px}dialog::backdrop{background:#15202c66}.modal-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f0f2f3;border-bottom:1px solid #e1e3e5;padding:17px 20px}.modal-heading h2{font-size:19px;font-weight:700;margin:0}.icon-button{display:grid;place-items:center;border:0;border-radius:5px;padding:5px;color:#5d666b;background:none}.icon-button svg{width:24px;height:24px}.icon-button:hover{background:#e2e7e5}#modal-content{padding:20px;line-height:1.55}.modal-shift h3{font-size:23px;font-weight:600;margin:0 0 10px}.modal-shift p{margin:6px 0}.modal-shift .reference-instruction{color:var(--red);font-size:14px;margin:15px 0}.modal-shift .form-actions{justify-content:flex-start}.shift-facts{display:grid;grid-template-columns:90px 1fr;gap:8px;margin-top:18px;font-size:15px}.shift-facts dt{color:#667074}.shift-facts dd{margin:0}.toast{position:fixed;left:50%;bottom:calc(108 * var(--u) + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;background:#202c2b;color:white;box-shadow:0 4px 20px #0002;border-radius:7px;padding:12px 18px;max-width:min(90vw,500px);width:max-content;font-size:14px;line-height:1.5}.share-url{word-break:break-all;background:#f5f7f6;border:1px solid #ddd;border-radius:5px;padding:10px;font-size:12px;max-height:130px;overflow:auto}.share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.brand{height:calc(64 * var(--u));overflow:hidden;position:relative}.brand img{position:absolute;bottom:0;left:0;width:100%;height:auto;max-height:none;object-fit:fill}
@media(min-width:650px){.personal-notice{font-size:11px}.site-header{height:100px}.header-inner{padding:0 28px}.schedule-panel,.panel{margin-left:24px;margin-right:24px}.schedule-toolbar h1{white-space:normal}.shift-detail{width:80%;max-width:600px}.instructions{width:80%;max-width:600px}.shift-list{padding:25px;gap:14px}.shift-row{grid-template-columns:90px 1fr 90px;min-height:130px;padding:15px;gap:20px}.shift-row .row-facility,.shift-row .row-address{width:auto;padding:0}.row-detail{margin:0!important}.bottom-nav{justify-content:center}.bottom-nav button{flex:0 1 240px}.instructions{padding:15px 27px}.home-content{padding:30px 0}.urgent{margin-top:20px}.simple-content{max-width:650px;margin:auto}.calendar-day{min-height:80px}.calendar-day small{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .12s ease,filter .12s ease}}
