:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color-scheme:light dark;color:#1c1c1e;background-color:#f2f2f7;font-size:16px}@media(max-width:480px){:root{font-size:14px}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(prefers-color-scheme:dark){:root{color:#f2f2f7;background-color:#1c1c1e}}select,select.report-jump,select option{background-color:#fff;color:#1c1c1e}@media(prefers-color-scheme:dark){select,select.report-jump,select option{background-color:#2c2c2e;color:#f2f2f7}}.export-body{display:flex;flex-direction:column;gap:1rem}.pdf-only{display:none}.pdf-export .pdf-only{display:flex}.pdf-export .no-pdf{display:none!important}.pdf-export,.pdf-export *{color:#111!important}.pdf-export{background:#fff!important}.pdf-export .today-card{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important}.pdf-export .check-box{border-color:#555!important}.pdf-export .check-box--done{background:#34c759!important;border-color:#34c759!important;color:#fff!important}.pdf-export .check-row--done .check-label{text-decoration:none;opacity:1}.pdf-export .cal__ok{color:#34c759!important}.pdf-export .cal__short,.pdf-export .shift-item__needs{background:#ff9500!important;color:#fff!important}.pdf-export .cal__shortsum,.pdf-export .shift-item__count--short{color:#b46400!important}.pdf-export .shift-item--short{border-left-color:#ff9500!important}.export-head{align-items:center;gap:.9rem;margin-bottom:.75rem}.export-logo{height:56px;width:auto}.export-title{font-size:1.4rem;font-weight:700}.export-sub{font-size:.95rem;opacity:.75}.src-status{display:flex;align-items:center;gap:.5rem;margin:.4rem 0 .8rem;padding:.55rem .75rem;border-radius:.6rem;border:1px solid transparent;font-weight:700}.src-status--on{background:#34c7591f;border-color:#34c75973;color:#28a046}.src-status--off{background:#ff3b301f;border-color:#ff3b3073;color:#d73228}.src-status__dot{font-size:.9rem}.src-status__label{font-size:1.05rem}.src-status__since{margin-left:auto;font-size:.78rem;font-weight:600;opacity:.8}.src-sheet-link{display:inline-block;margin-top:.8rem;padding:.5rem .9rem;border:1px solid rgb(0,122,255);border-radius:.5rem;color:#007aff;font-weight:600;text-decoration:none}.today-srcstatus__value--on{color:#28a046;font-weight:700}.today-srcstatus__value--off{color:#d73228;font-weight:700}.src-gantt{overflow-x:auto;margin:.5rem 0 .2rem;border:1px solid rgba(127,127,127,.25);border-radius:.5rem;background:#7f7f7f0a}.src-gantt__canvas{position:relative;height:52px}.src-gantt__axis{position:relative;height:22px;border-bottom:1px solid rgba(127,127,127,.18)}.src-gantt__mo{position:absolute;bottom:4px;font-size:.6rem;opacity:.55;transform:translate(3px);font-family:ui-monospace,SF Mono,Menlo,monospace;white-space:nowrap}.src-gantt__mo--y{opacity:.9;font-weight:700}.src-gantt__track{position:relative;height:30px}.src-gantt__bar{position:absolute;top:8px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,.2)}.src-gantt__bar--on{background:#1f9d57}.src-gantt__bar--up{background:#2f6fb0}.src-gantt__bar--past{background:#9aa8aa}.src-gantt__bar--open{border-top-right-radius:0;border-bottom-right-radius:0;-webkit-mask-image:linear-gradient(to right,#000 84%,transparent);mask-image:linear-gradient(to right,#000 84%,transparent)}.src-gantt__today{position:absolute;top:0;height:100%;width:2px;background:#d64545}.src-gantt__bar--edit{cursor:pointer}.src-gantt__bar--edit:hover{filter:brightness(1.08);outline:2px solid rgba(0,0,0,.25)}@media(prefers-color-scheme:dark){.src-gantt__bar--past{background:#606c6e}}.src-win-row{cursor:pointer;border-radius:6px}.src-win-row:hover{background:#7f7f7f14}.src-winedit{margin:.6rem 0;padding:.7rem .8rem;border:1px solid rgba(127,127,127,.3);border-radius:.6rem;background:#7f7f7f0d}.src-winedit .rt-form__row{display:flex;gap:10px}.src-winedit .rt-form__row .sched-field{flex:1}.wizard{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;padding:1.25rem;border:1px solid rgba(127,127,127,.2);border-radius:.75rem;background:#ffffff80}@media(prefers-color-scheme:dark){.wizard{background:#0003}}.wizard__banner{margin:0;padding:.6rem .85rem;border-radius:.5rem;font-size:.9rem;background:#ff950026;border:1px solid rgba(255,149,0,.4)}.wizard__content{min-height:220px}.wizard__nav{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid rgba(127,127,127,.2)}.wizard__step{flex:1;text-align:center;font-size:.9rem;opacity:.7}.wizard__btn{min-height:44px;min-width:88px;padding:.5rem 1.1rem;border-radius:.5rem;border:1px solid rgba(127,127,127,.4);background:transparent;font:inherit;cursor:pointer}.wizard__btn:disabled{opacity:.4;cursor:not-allowed}.wizard__btn--primary{background:#007aff;border-color:#007aff;color:#fff;font-weight:600}.wizard__btn--primary:disabled{background:#007aff66;border-color:transparent}.wizard__btn--ghost{background:transparent}.wizard__btn--danger{background:transparent;border-color:#d73a3a99;color:#c82d2d;font-weight:600}.wizard-intro{display:flex;flex-direction:column;gap:1rem}.wizard-intro__header{display:flex;align-items:center;gap:.75rem}.wizard-intro__icon{font-size:2.5rem}.wizard-intro h2{margin:0;font-size:1.4rem}.wizard-intro__hint{margin:0;opacity:.65;font-size:.9rem}.wizard-intro__description{margin:0;line-height:1.5}.wizard-intro__last{padding:1rem;border-radius:.5rem;background:#7f7f7f1a}.wizard-intro__last h3{margin:0 0 .5rem;font-size:1rem}.wizard-intro__last dl{margin:0}.wizard-intro__row{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0;font-size:.95rem}.wizard-intro__row dt{opacity:.7;margin:0}.wizard-intro__row dd{margin:0;font-weight:500}.wizard-intro__when{margin-left:.4rem;font-weight:400;font-size:.85rem;opacity:.6}.wizard-intro__empty{margin:0;opacity:.7}.wizard-intro__sheet-link{display:inline-block;margin-top:.5rem;font-size:.95rem}.wizard-screen{display:flex;flex-direction:column;gap:.85rem}.wizard-section{margin:0;padding:.6rem .85rem .75rem;border:1px solid rgba(127,127,127,.25);border-radius:.5rem}.wizard-section legend{padding:0 .4rem;font-weight:600;font-size:.95rem}.wizard-screen__no-prev{margin:0;font-size:.85rem;opacity:.7}.field-split{display:grid;grid-template-columns:1fr minmax(4.5rem,6rem);gap:.75rem;align-items:end}.field-split .field{padding-bottom:0}.field-split__prev{min-height:44px;display:flex;align-items:center;justify-content:flex-end;padding:.5rem .1rem .4rem;text-align:right;font-variant-numeric:tabular-nums;opacity:.75}.field-split--head{align-items:baseline;padding-top:.25rem}.field-split__head-cur,.field-split__head-prev{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.55}.field-split__head-prev{min-height:0;text-align:right;text-transform:none;letter-spacing:0}.field{display:flex;flex-direction:column;gap:.25rem;padding:.25rem 0}.field__label{font-size:.9rem;opacity:.75}.field__required{color:#ff3b30;font-weight:700}.field__input{min-height:44px;padding:.5rem .7rem;border:1px solid rgba(127,127,127,.35);border-radius:.4rem;font:inherit;font-size:1rem;color-scheme:light dark;background:var(--field-bg, #fff);color:#1c1c1e;width:100%}@media(prefers-color-scheme:dark){.field__input{background:var(--field-bg, #1c1c1e);color:#f2f2f7}}.field__input:focus{outline:2px solid rgb(0,122,255);outline-offset:-1px}.field__input:disabled{opacity:.65;background:#7f7f7f14}.field__date-caption{margin:.25rem 0 0;font-size:.85rem;opacity:.7}.field__input--bold{font-weight:700}.field__input--large{font-size:1.15rem}.field__input--large-bold{font-size:1.4rem;font-weight:700}.field__input--textarea{min-height:3rem;line-height:1.4;resize:vertical;white-space:pre-wrap}.field__percent{position:relative;display:flex;align-items:center}.field__input--percent{padding-right:2.2rem}.field__percent-suffix{position:absolute;right:.85rem;opacity:.65;pointer-events:none}.field__picker{display:flex;flex-direction:column;gap:.3rem}.field__multi{border:1px solid rgba(127,127,127,.35);border-radius:.4rem;background:var(--field-bg, #fff)}@media(prefers-color-scheme:dark){.field__multi{background:var(--field-bg, #1c1c1e)}}.field__multi-summary{min-height:44px;display:flex;align-items:center;padding:.5rem .7rem;cursor:pointer;list-style:none;font-size:1rem}.field__multi-summary::-webkit-details-marker{display:none}.field__multi-summary:after{content:"▾";margin-left:auto;opacity:.6}.field__multi[open] .field__multi-summary:after{content:"▴"}.field__multi-list{display:flex;flex-direction:column;gap:.15rem;padding:.25rem .7rem .6rem;max-height:40vh;overflow-y:auto;border-top:1px solid rgba(127,127,127,.2)}.field__multi-opt{display:flex;align-items:center;gap:.5rem;padding:.4rem .1rem;cursor:pointer}.field__multi-opt input{width:1.1rem;height:1.1rem}.field__multi-empty{opacity:.6;font-size:.9rem;padding:.3rem 0}.field__picker-toggle{display:flex;align-items:center;gap:.35rem;font-size:.85rem;opacity:.8}.field__picker-toggle input{width:1rem;height:1rem}.field__calc{min-height:44px;padding:.5rem .7rem;display:flex;align-items:center;font-variant-numeric:tabular-nums}.field__error{margin:0;font-size:.85rem;color:#ff3b30}.field--compact{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:.5rem;padding:.15rem 0}.field--compact .field__label{flex:0 0 auto;min-width:0}.field--compact .field__input,.field--compact .field__calc{flex:0 0 auto;width:auto;min-height:0;padding:0;border:none;background:transparent;text-align:left;font-weight:600;color:#6b6b70}.field--compact .field__input:disabled{opacity:1;background:transparent;color:#6b6b70}@media(prefers-color-scheme:dark){.field--compact .field__input,.field--compact .field__input:disabled,.field--compact .field__calc{color:#9a9aa0}}.field--compact .field__percent{flex:0 0 auto}.field--compact .field__input--percent{padding-right:.9rem}.field--compact .field__percent-suffix{right:0}.grid-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;padding:1.25rem;border:1px solid rgba(127,127,127,.2);border-radius:.75rem;background:#ffffff80}@media(prefers-color-scheme:dark){.grid-form{background:#0003}}.grid-form__banner{margin:0;padding:.6rem .85rem;border-radius:.5rem;font-size:.9rem;background:#ff950026;border:1px solid rgba(255,149,0,.4)}.grid-form__description{margin:0;line-height:1.5}.grid-form__rows{display:flex;flex-direction:column;gap:1rem}.grid-form__row{position:relative;margin:0;padding:.5rem 1rem .85rem;border:1px solid rgba(127,127,127,.25);border-radius:.5rem}.grid-form__row-legend{padding:0 .4rem;font-weight:600;font-size:.9rem;opacity:.75}.grid-form__remove{position:absolute;top:.4rem;right:.4rem;min-height:44px;min-width:44px;border:none;background:transparent;color:#ff3b30;font-size:1.1rem;cursor:pointer;opacity:.7}.grid-form__remove:hover{opacity:1}.grid-form__actions{display:flex;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid rgba(127,127,127,.2)}.grid-form__count{flex:1;text-align:center;font-size:.9rem;opacity:.7}.grid-form__btn{min-height:44px;min-width:88px;padding:.5rem 1.1rem;border-radius:.5rem;border:1px solid rgba(127,127,127,.4);background:transparent;font:inherit;cursor:pointer}.grid-form__btn:disabled{opacity:.4;cursor:not-allowed}.grid-form__btn--primary{background:#007aff;border-color:#007aff;color:#fff;font-weight:600}.grid-form__btn--primary:disabled{background:#007aff66;border-color:transparent}.grid-form__btn--ghost{background:transparent}.checklist-progress{margin:.4rem 0 0;text-align:center;font-size:.85rem;font-weight:600;opacity:.7;font-variant-numeric:tabular-nums}.checklist-hint{margin:.6rem 0 0;text-align:center;font-size:.8rem;opacity:.6}.checklist-field{display:flex;flex-direction:column;gap:.3rem;margin-top:.75rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;opacity:.75}.checklist-filter{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.checklist-chip{padding:.35rem .8rem;border:1px solid rgba(127,127,127,.35);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.8rem;opacity:.6;cursor:pointer;-webkit-tap-highlight-color:transparent}.checklist-chip--on{opacity:1;font-weight:600;color:#007aff;border-color:#007aff}.checklist-who{margin:.3rem 0 0;text-align:center;font-size:.9rem;font-weight:600}.checklist-shift__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.checklist-shift__head .today-card__title{margin:0}.checklist-shift__meta{font-size:.75rem;opacity:.55;font-variant-numeric:tabular-nums;white-space:nowrap}.check-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column}.check-row{display:flex;align-items:center;gap:.75rem;width:100%;min-height:44px;padding:.55rem 0;background:none;border:none;border-bottom:1px solid rgba(127,127,127,.15);color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.check-list li:last-child .check-row{border-bottom:none}.check-row--readonly{cursor:default}.check-box{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(127,127,127,.5);border-radius:.4rem;font-size:.95rem;line-height:1;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}.check-box--done{background:#34c759;border-color:#34c759}.check-label{flex:1;line-height:1.3}.check-row--done .check-label{opacity:.55;text-decoration:line-through}@media print{.checklist-hint,.checklist-progress,.checklist-controls{display:none!important}.check-box{border-color:#555}.check-row--done .check-label{text-decoration:none;opacity:1}}.sched-controls .report-nav{margin-top:.75rem}.sched-field{display:flex;flex-direction:column;gap:.3rem;margin-top:.75rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;opacity:.75}.sched-modeswitch{margin-top:.75rem}.sched-controls .seg{font-size:.82rem;padding:.3rem .35rem;line-height:1.1}@media(max-width:430px){.sched-controls .report-period{gap:.15rem}.sched-controls .seg{font-size:.68rem;padding:.3rem .2rem}}.sched-range{display:flex;gap:.6rem}.sched-range .sched-field{flex:1}.schedule-row__date{width:86px;flex-shrink:0;font-size:.78rem;font-weight:600;opacity:.7;font-variant-numeric:tabular-nums}.sched-group+.sched-group{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(127,127,127,.15)}.sched-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-top:.4rem}.sched-group__name{font-weight:700}.sched-note{margin:.75rem 0 0;font-size:.82rem;opacity:.6}.shift-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column}.shift-item{padding:.6rem 0;border-bottom:1px solid rgba(127,127,127,.15)}.shift-item:last-child{border-bottom:none}.shift-item__head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.shift-item__date{width:86px;flex-shrink:0;font-size:.78rem;font-weight:600;opacity:.7;font-variant-numeric:tabular-nums}.shift-item__name{flex:1 1 60%;min-width:0;font-weight:600}.shift-qual{margin-left:.4rem;font-size:.68rem;font-weight:600;padding:.05rem .4rem;border-radius:999px;border:1px solid rgba(127,127,127,.4);opacity:.75;white-space:nowrap}.shift-needqual{font-size:.82rem;font-weight:600;color:#ff3b30}.shift-item__count{font-size:.78rem;font-variant-numeric:tabular-nums;opacity:.6;white-space:nowrap}.shift-item__count--free{white-space:normal;font-style:italic;text-align:right}.shift-item__count--met{color:#34c759;opacity:1;font-weight:600;-webkit-print-color-adjust:exact;print-color-adjust:exact}.shift-item__count--short{color:#b46400;opacity:1;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact}.shift-item__needs{margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;background:#ff9500;color:#fff;font-size:.68rem;font-weight:700;white-space:nowrap;-webkit-print-color-adjust:exact;print-color-adjust:exact}.shift-item--short{border-left:3px solid rgb(255,149,0);padding-left:.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.shift-item__people{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.4rem}.vol-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;background:#007aff1f;font-size:.85rem}.shift-kind-tag{margin-left:.4rem;padding:.05rem .4rem;border-radius:999px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#5856d629;color:#5856d6;vertical-align:middle}.shift-activities{list-style:none;margin:.15rem 0 .35rem;padding:0 0 0 .75rem;display:flex;flex-wrap:wrap;gap:.2rem .75rem}.shift-activities__item{position:relative;font-size:.85rem;opacity:.85}.shift-activities__item:before{content:"•";margin-right:.35rem;opacity:.5}.shift-activities__empty{font-size:.85rem;opacity:.6}.week-grid-shift__acts{display:block;font-size:.72rem;opacity:.7;margin:.1rem 0}.sched-field__note{font-size:.85rem;opacity:.75;line-height:1.4;margin:.25rem 0}.vol-chip--unqual{background:#ff3b301f;color:#ff3b30}.vol-chip__warn{font-size:.75rem;line-height:1}.vol-admin-tag{margin-left:.35rem;padding:.02rem .32rem;border-radius:999px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;background:#5856d629;color:#5856d6}@media(prefers-color-scheme:dark){.vol-admin-tag{background:#7876f038;color:#aaa8f5}}.vol-chip--guest{background:#0096881f;color:#00796b}.vol-guest-tag{margin-left:.35rem;padding:.02rem .32rem;border-radius:999px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;background:#0096882e;color:#00796b}@media(prefers-color-scheme:dark){.vol-chip--guest{background:#26a69a33;color:#80d8d0}.vol-guest-tag{background:#26a69a47;color:#80d8d0}}.shift-signup--guest{background:#00968824;color:#00796b;border-color:#00968866}@media(prefers-color-scheme:dark){.shift-signup--guest{background:#26a69a38;color:#80d8d0}}.guest-row{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.6rem;padding-bottom:.6rem;border-bottom:1px solid rgba(127,127,127,.18)}.guest-row:last-of-type{border-bottom:none}.guest-row .report-jump{width:100%;min-width:0;text-align:left;text-align-last:left}.guest-row__remove{align-self:flex-end}.sched-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.8rem}@keyframes schedSlideNext{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}@keyframes schedSlidePrev{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}.sched-slide--next{animation:schedSlideNext .22s ease-out}.sched-slide--prev{animation:schedSlidePrev .22s ease-out}@media(prefers-reduced-motion:reduce){.sched-slide--next,.sched-slide--prev{animation:none}}.sched-saving{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;padding:.4rem .9rem;border-radius:999px;font-size:.85rem;font-weight:600;color:#fff;background:#000c;box-shadow:0 4px 14px #0000004d;pointer-events:none}.notify-recipients{margin:.6rem 0;padding:.6rem .8rem;border:1px solid rgba(127,127,127,.22);border-radius:.6rem;max-height:40vh;overflow-y:auto}.notify-count{margin:0 0 .3rem;font-size:.9rem}.notify-row{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}.notify-row__shifts{font-size:.78rem;opacity:.7;text-align:right;font-variant-numeric:tabular-nums}.notify-intro{width:100%;text-align:left;text-align-last:left;resize:vertical;min-height:3.2rem}.notify-cc{margin-top:.6rem}.notify-cc__toggle{background:none;border:none;padding:.2rem 0;color:#007aff;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.notify-cc__people{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0}.notify-cc__chip{padding:.25rem .6rem;border:1px solid rgba(127,127,127,.45);border-radius:999px;background:none;color:inherit;font:inherit;font-size:.82rem;cursor:pointer;white-space:nowrap}.notify-cc__chip--on{border-color:#007aff;color:#007aff;font-weight:600}.notify-alert-toggle{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;font-size:.9rem}.notify-modal .report-jump{text-align:left;text-align-last:left}.vol-chip__name{border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px;text-decoration-thickness:1px;-webkit-tap-highlight-color:transparent}.vol-chip__x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:999px;background:#7f7f7f40;color:inherit;font-size:.62rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.shift-item__manage{margin-top:.35rem}.shift-remove{flex-shrink:0;padding:.1rem .45rem;border:1px solid rgba(255,59,48,.5);border-radius:.4rem;background:transparent;color:#ff3b30;font:inherit;font-size:.68rem;line-height:1.4;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.shift-editday{margin-left:auto}.shift-editday--cell{margin-left:0}.shift-editday--edited{border-color:#ff3b3080;background:#ff3b3024;color:#ff3b30}@media(prefers-color-scheme:dark){.shift-editday--edited{background:#ff453a38;color:#ff6961}}.shift-cancelday{padding:.2rem .6rem;border:1px solid rgba(255,59,48,.5);border-radius:.5rem;background:transparent;color:#ff3b30;font:inherit;font-size:.78rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.shift-item--cancelled .shift-item__name{text-decoration:line-through;opacity:.55}.shift-row--editing{background:#007aff1a;border-radius:.4rem}.shift-form{display:flex;flex-direction:column;gap:.2rem}.shift-form .wizard__btn{margin-top:.6rem}.shift-section,.shift-repeat{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0;padding:.6rem;border:1px solid rgba(127,127,127,.25);border-radius:.6rem;background:#7f7f7f0d}.shift-section__label,.shift-repeat__label{font-size:.78rem;font-weight:700;opacity:.7;text-transform:uppercase;letter-spacing:.03em}.shift-section input:not([type=checkbox]),.shift-section select,.shift-section textarea,.shift-repeat input:not([type=checkbox]),.shift-repeat select,.shift-repeat textarea{background:#fff}@media(prefers-color-scheme:dark){.shift-section input:not([type=checkbox]),.shift-section select,.shift-section textarea,.shift-repeat input:not([type=checkbox]),.shift-repeat select,.shift-repeat textarea{background:#1c1c1e}}.shift-section__optional{font-weight:500;text-transform:none;letter-spacing:0;opacity:.7}.shift-section .sched-field:first-of-type{margin-top:.1rem}.shift-repeat__seg{display:flex;flex-wrap:wrap;gap:.3rem}.shift-repeat__seg .seg{flex:1 1 auto}.shift-repeat__row{display:flex;gap:.6rem}.shift-repeat__row .sched-field{flex:1}.shift-repeat__preview{margin:.2rem 0 0;font-size:.85rem;font-weight:600;color:#007aff}.shift-repeat__preview--todo{color:#b46400}.shift-name-note{border:none;background:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left}.shift-name-note__icon{font-size:1.05em;opacity:1;margin-left:.15em;vertical-align:-.05em}.shift-name-note__peek{font-size:.82em;font-weight:400;font-style:italic;opacity:.7;margin-left:.3em}.sched-modal__card--narrow{max-width:32rem}.sched-modal__card--wide{max-width:42rem}.shift-note-body{margin-top:.4rem;white-space:pre-wrap;line-height:1.5;font-size:.95rem}.shift-notes-input{width:100%;box-sizing:border-box;margin-top:.3rem;padding:.5rem;border:1px solid rgba(127,127,127,.35);border-radius:.5rem;background:#7f7f7f0f;color:inherit;font:inherit;line-height:1.4;resize:vertical}.shift-signup{min-height:32px;padding:.25rem .7rem;border:1px solid rgb(0,122,255);border-radius:.5rem;background:transparent;color:#007aff;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.shift-signup:disabled{opacity:.4;cursor:not-allowed}.shift-signup--pending,.shift-signup--pending:disabled{background:#007aff40;border-color:#007aff;color:#007aff;font-weight:600;opacity:1}.shift-who{display:inline-flex;align-items:center;gap:.4rem}.shift-x{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:999px;background:#7f7f7f33;color:inherit;font-size:.7rem;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.shift-open{opacity:.55;font-style:italic}.shift-unassign{min-height:32px;padding:.25rem .7rem;border:1px solid rgba(255,59,48,.6);border-radius:.5rem;background:transparent;color:#ff3b30;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.sched-modal{position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));background:#0006}@media(min-width:540px){.sched-modal{align-items:center}}.sched-modal__card{width:100%;max-width:30rem;max-height:80vh;max-height:85dvh;overflow-y:auto;overscroll-behavior:contain;padding:0 1.1rem 1.2rem;border-radius:.9rem;background:#f7f7f9;color:#1c1c1e}@media(prefers-color-scheme:dark){.sched-modal__card{background:#2c2c2e;color:#f2f2f7}}.sched-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;position:sticky;top:0;z-index:2;padding:1rem 0 .5rem;background:#f7f7f9}@media(prefers-color-scheme:dark){.sched-modal__head{background:#2c2c2e}}.sched-modal__head .shift-x{width:32px;height:32px;font-size:.85rem}.sched-modal__head .today-card__title{margin:0}.vol-pick{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:44px;padding:.5rem .6rem;border:1px solid rgba(127,127,127,.25);border-radius:.5rem;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.vol-pick--busy{background:#ff95002e;border-color:#ff950080}.vol-pick--selected{background:#007aff40;border-color:#007aff;font-weight:600}.vol-pick:disabled{cursor:default}.sched-confirm__msg{margin:.5rem 0}.sched-confirm__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.sched-confirm__actions--sticky{position:sticky;bottom:0;z-index:1;margin:.9rem -1.1rem 0;padding:.7rem 1.1rem;background:#f7f7f9;border-top:1px solid rgba(127,127,127,.2)}@media(prefers-color-scheme:dark){.sched-confirm__actions--sticky{background:#2c2c2e}}.shift-danger{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(127,127,127,.2)}.shift-danger .sched-field__note{margin:0;font-size:.78rem}.date-clear{display:flex;align-items:center;gap:.4rem}.date-clear .report-jump{flex:1;min-width:0}.date-clear__btn{flex-shrink:0;padding:.3rem .6rem;border:1px solid rgba(127,127,127,.4);border-radius:.4rem;background:#7f7f7f1f;color:inherit;font:inherit;font-size:.78rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.shift-close-btn{margin-left:auto;background:#7f7f7f24;border-color:#7f7f7f80;font-weight:600}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.cal__dow{text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.03em;opacity:.55;padding-bottom:.25rem}.cal__cell{min-height:2.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.2rem 0;border:1px solid transparent;border-radius:.5rem;background:#7f7f7f14;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.cal__cell--empty{visibility:hidden}.cal__cell--today{font-weight:700}.cal__cell--sel{border-color:#007aff;background:#007aff1f}.cal__cell--mine{background:#af52de38;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal__cell--mine.cal__cell--sel{background:#af52de52;border-color:#af52de}.cal__swatch{display:inline-block;width:.85rem;height:.85rem;border-radius:.2rem;vertical-align:-1px}.cal__swatch--mine{background:#af52de80;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal__cell--off{box-shadow:inset 0 0 0 2px #ff3b30;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal__swatch--off{background:transparent;border:2px solid rgb(255,59,48);-webkit-print-color-adjust:exact;print-color-adjust:exact}.month-detail__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.month-detail__head .today-card__title{margin:0}.sched-off-tag{font-size:.72rem;font-weight:600;padding:.1rem .5rem;border:1px solid rgb(255,59,48);border-radius:999px;color:#ff3b30;white-space:nowrap}.shift-cancelday--pending{background:#007aff33;border-color:#007aff;color:#007aff;font-weight:600}.vol-pick--off{opacity:.45}.cal__num{font-size:.85rem;font-variant-numeric:tabular-nums}.cal__marks{display:flex;gap:.15rem;height:.95rem;align-items:center}.cal__dot{font-size:.55rem;line-height:1;height:.6rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal__dot--event{color:#007aff}.cal__short{display:inline-flex;align-items:center;justify-content:center;min-width:.95rem;height:.95rem;padding:0 .2rem;border-radius:.5rem;background:#ff9500;color:#fff;font-size:.65rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal__ok{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .15rem;border-radius:.55rem;background:#34c7592e;color:#1e8c3c;font-size:.92rem;font-weight:800;line-height:1;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal__shortsum{margin:.6rem 0 0;text-align:center;font-size:.82rem;font-weight:600;color:#b46400;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal__legend{margin:.6rem 0 0;text-align:center;font-size:.78rem;opacity:.7}.cal__legend .cal__short{vertical-align:-2px}@media print{.sched-controls,.checklist-hint,.shift-signup,.shift-x{display:none!important}}.pdf-export .shift-signup,.pdf-export .shift-unassign,.pdf-export .shift-cancelday,.pdf-export .shift-remove,.pdf-export .shift-item__manage,.pdf-export .shift-name-note__icon,.pdf-export .vol-chip__x{display:none!important}.week-grid-wrap{display:none}@media(min-width:700px){.week-grid-wrap{display:block}.week-list-wrap,.sched-field--phone-only{display:none}}.week-grid-card{margin-top:1rem}.week-grid-scroll{overflow-x:auto}.week-grid{border-collapse:collapse;width:100%;table-layout:fixed;font-size:.6rem}.week-grid .vol-chip__warn{font-size:.6rem}.week-grid th,.week-grid td{border:1px solid rgba(127,127,127,.3);vertical-align:top;padding:.35rem .4rem;text-align:left}.week-grid thead th{background:#7f7f7f1f;position:sticky;top:0}.week-grid__corner{width:9rem}.week-grid__dayth.is-today{background:#007aff2e}.week-grid__dayhead{display:flex;flex-direction:column;line-height:1.15}.week-grid__dow{font-weight:700}.week-grid__dom{opacity:.7;font-size:.78rem}.week-grid__rowhead{font-weight:600;background:#7f7f7f0f;font-size:.75rem}.week-grid__shiftname{display:block}.week-grid__cell{min-width:6.5rem}.week-grid__none{opacity:.3}.week-grid__empty{text-align:center;opacity:.7;padding:.8rem}.week-grid-shift{display:flex;flex-direction:column;gap:.25rem}.week-grid-shift+.week-grid-shift,.week-grid-shift+.week-grid-shift--cancelled,.week-grid-shift--cancelled+.week-grid-shift{margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(127,127,127,.25)}.week-grid-shift__head{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.week-grid-shift__note{font-size:1.05rem;line-height:1;padding:.1rem;flex-shrink:0}.week-grid-shift__count{font-size:.72rem;opacity:.85}.week-grid-shift__people{display:flex;flex-wrap:wrap;gap:.2rem;align-items:center}.week-grid-shift--cancelled{opacity:.6}.week-grid-shift .vol-chip,.week-grid-shift .shift-signup,.week-grid-shift .shift-open,.week-grid-shift .shift-needqual{font-size:.78rem}.week-grid-shift .vol-chip{white-space:normal}.week-grid__shiftchip{white-space:normal;font-size:.78rem}.week-grid__off{display:inline-block;margin-bottom:.2rem}.shift-saved-msg{margin-top:.6rem}.cl-targettype{margin-bottom:.5rem}.cl-items{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.cl-item{display:flex;align-items:center;gap:.3rem}.cl-item__input{flex:1;min-width:0}.cl-item__label{flex:1;min-width:0;overflow-wrap:anywhere}.cl-item__adhoc{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;opacity:.5;margin-left:.35rem}.cl-partof{margin-top:0}.cl-dup{display:inline-block;margin-left:.4rem;font-size:.72rem;font-weight:600;color:#b46400}@media(prefers-color-scheme:dark){.cl-dup{color:#f0aa50}}.cl-effective{margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(127,127,127,.2)}.cl-effective__groups{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}.cl-effective__title{display:block;font-weight:600;font-size:.9rem}.cl-effective__items{list-style:none;margin:.2rem 0 0;padding:0 0 0 1.3rem}.cl-effective__item{position:relative;font-size:.9rem;padding:.12rem 0}.cl-effective__item:before{content:"";position:absolute;left:-1.25rem;top:.28rem;width:.78rem;height:.78rem;box-sizing:border-box;border:1.5px solid currentColor;border-radius:3px;opacity:.5}.cl-effective__src{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;opacity:.5;margin-left:.35rem}.cl-detail-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.cl-detail-row .check-row{flex:1;min-width:0}.cl-openlog{flex-shrink:0;border:1px solid rgba(0,122,255,.5);color:#007aff;background:transparent;border-radius:.4rem;padding:.3rem .6rem;font:inherit;font-size:.85rem;white-space:nowrap;cursor:pointer}.cl-openlog:active{background:#007aff1a}.cl-perperson{list-style:none}.cl-perperson__head{font-weight:500;padding:.35rem 0 .1rem}.cl-perperson__list{margin:0 0 .25rem .9rem;padding-left:.5rem;border-left:2px solid rgba(127,127,127,.2)}.cl-group+.cl-group{margin-top:.75rem}.cl-group__title{margin:0 0 .25rem;font-size:.85rem;font-weight:600;opacity:.7}.cl-item__btn{flex-shrink:0;min-width:34px;min-height:34px;border:1px solid rgba(127,127,127,.35);border-radius:.4rem;background:transparent;font:inherit;cursor:pointer}.cl-item__btn:disabled{opacity:.35;cursor:not-allowed}.cl-assignees{margin:0 0 .25rem;font-size:.9rem;opacity:.8}.cl-by{font-size:.8rem;opacity:.6;font-weight:400}.cl-sec__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cl-sec--active{color:#007aff}.cl-sec--pastdue{color:#d73a3a}.cl-sec--complete{opacity:.7}.cl-sec--exceptions{color:#965f14}.cl-sec--dismissed{opacity:.6}@media(prefers-color-scheme:dark){.cl-sec--exceptions{color:#d69e4a}}.cl-dismiss{flex-basis:100%;text-align:right;background:transparent;border:none;font:inherit;font-size:.8rem;padding:.15rem .1rem 0;cursor:pointer;color:#007aff}.cl-dismiss--do{color:#965f14}@media(prefers-color-scheme:dark){.cl-dismiss--do{color:#d69e4a}}.cl-row{flex-wrap:wrap}.cl-row__who{flex-basis:100%;font-size:.8rem;opacity:.65;padding-left:.1rem}.cl-row__reason{flex-basis:100%;font-size:.8rem;opacity:.75;padding-left:.1rem;color:#965f14}.cl-row__skipped{color:#965f14;font-size:.8rem}.cl-row__comments{font-size:.8rem;opacity:.7}@media(prefers-color-scheme:dark){.cl-row__reason,.cl-row__skipped{color:#d69e4a}}.cl-done-btn{display:block;width:100%;margin-top:1rem;padding:.75rem 1rem;min-height:44px;font:inherit;font-size:.95rem;border:1px solid rgba(127,127,127,.4);border-radius:.5rem;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.cl-done-btn:active{background:#7f7f7f1f}.cl-head-actions{display:flex;align-items:center;gap:.4rem}.cl-print-btn{font:inherit;font-size:.82rem;background:none;color:inherit;border:1px solid rgba(127,127,127,.4);border-radius:7px;padding:.3rem .6rem;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent}.cl-print-btn:hover{border-color:#7f7f7fb3}@media print{body{visibility:hidden}.printable-modal{visibility:visible;position:absolute;top:0;left:0;width:100%;display:block;background:#fff;padding:0}.printable-modal *{visibility:visible}.printable-modal__card{position:static;margin:0;max-width:100%;max-height:none;overflow:visible;box-shadow:none;border-radius:0;background:#fff!important;color:#000!important;padding:0 2mm}.printable-modal .shift-x,.printable-modal .cl-print-btn,.printable-modal .cl-done-btn,.printable-modal .cl-openlog,.printable-modal .cl-skip,.printable-modal .cl-skipform,.printable-modal .cl-comments__add,.printable-modal .cl-comment__del,.printable-modal .sched-field__note{display:none!important}.printable-modal .cl-group,.printable-modal .cl-detail-row,.printable-modal .cl-perperson,.printable-modal .cl-comment,.printable-modal .cl-effective__group{break-inside:avoid}.printable-modal .check-row,.printable-modal .check-label,.printable-modal .cl-group__title,.printable-modal .report-range-label,.printable-modal .cl-assignees,.printable-modal .cl-by,.printable-modal .cl-comment__meta,.printable-modal .cl-comment__text,.printable-modal .cl-effective__title,.printable-modal .cl-effective__item,.printable-modal .cl-effective__src,.printable-modal .sched-field__legend,.printable-modal .shift-note-body{color:#000!important;opacity:1}.printable-modal .check-box{border-color:#000!important}.printable-modal .check-row--skipped .check-label{text-decoration:none;opacity:1}.printable-modal .sched-modal__head{position:static;background:transparent!important}@page{margin:12mm}}.check-box--skipped{background:transparent;border-color:#965f14;color:#965f14;font-weight:600}.check-row--skipped .check-label{opacity:.75;text-decoration:none}.cl-by--skipped{color:#965f14;opacity:.95}.cl-skip{flex-shrink:0;border:1px solid rgba(150,95,20,.5);color:#965f14;background:transparent;border-radius:.4rem;padding:.3rem .6rem;font:inherit;font-size:.85rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.cl-skip:active{background:#965f141a}.cl-skip:disabled{opacity:.4;cursor:not-allowed}.cl-skipform{flex-basis:100%;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.2rem 0 .5rem}.cl-skipform__input{flex:1;min-width:12rem;font:inherit;font-size:.9rem;padding:.45rem .55rem;border:1px solid rgba(127,127,127,.45);border-radius:.4rem;background:transparent;color:inherit}.cl-skipform__actions{display:flex;gap:.35rem}.cl-skipform__cancel,.cl-skipform__go{font:inherit;font-size:.85rem;padding:.4rem .7rem;border-radius:.4rem;cursor:pointer;background:transparent}.cl-skipform__cancel{border:1px solid rgba(127,127,127,.4);color:inherit}.cl-skipform__go{border:1px solid rgb(150,95,20);color:#965f14}.cl-skipform__go:disabled{opacity:.4;cursor:not-allowed}.cl-comments{margin-top:1rem;border-top:1px solid rgba(127,127,127,.2);padding-top:.5rem}.cl-comments__empty{font-size:.85rem;opacity:.6;margin:.25rem 0}.cl-comments__list{list-style:none;margin:.25rem 0 0;padding:0}.cl-comment{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem 0;border-bottom:1px solid rgba(127,127,127,.15)}.cl-comment:last-child{border-bottom:none}.cl-comment__body{flex:1;min-width:0;display:flex;flex-direction:column}.cl-comment__meta{font-size:.75rem;opacity:.6}.cl-comment__text{line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.cl-comment__del{flex-shrink:0;background:transparent;border:none;font:inherit;font-size:.8rem;opacity:.5;cursor:pointer;color:inherit;padding:.2rem .3rem}.cl-comment__del:hover{opacity:1}.cl-comments__add{display:flex;align-items:flex-end;gap:.4rem;margin-top:.5rem}.cl-comments__input{flex:1;font:inherit;font-size:.9rem;padding:.45rem .55rem;border:1px solid rgba(127,127,127,.45);border-radius:.4rem;background:transparent;color:inherit;resize:vertical}.cl-comments__post{flex-shrink:0;font:inherit;font-size:.85rem;padding:.5rem .8rem;border:1px solid rgba(0,122,255,.5);color:#007aff;background:transparent;border-radius:.4rem;cursor:pointer}.cl-comments__post:disabled{opacity:.4;cursor:not-allowed}.cl-usage{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;margin-top:.35rem;font-size:.78rem}.cl-usage--none{opacity:.55;font-style:italic}.cl-usage__summary{font-weight:600;opacity:.75;margin-right:.15rem}.cl-usage__chip{padding:.05rem .45rem;border-radius:.5rem;background:#7f7f7f24;white-space:nowrap}.cl-usage__chip--ahead{color:#28a046;background:#34c75924}@media(prefers-color-scheme:dark){.check-box--skipped{border-color:#d69e4a;color:#d69e4a}.cl-by--skipped{color:#d69e4a}.cl-skip{border-color:#d69e4a80;color:#d69e4a}.cl-skipform__go{border-color:#d69e4a;color:#d69e4a}.cl-usage__chip--ahead{color:#5ad278}}.roster-card__head{display:flex;align-items:baseline;gap:.5rem}.roster-edit{margin-left:auto;flex-shrink:0}.roster-rename{padding:.1rem .5rem;font:inherit;font-size:.72rem;border:1px solid rgba(127,127,127,.4);border-radius:.4rem;background:transparent;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.roster-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.5rem}.check-group{display:flex;flex-wrap:wrap;gap:.4rem .8rem;margin-top:.3rem}.check-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:400}.check-chip input{width:1.1rem;height:1.1rem}.check-chip--fixed{opacity:.65;cursor:default}.pdf-stage{position:absolute;left:-10000px;top:0;width:760px}.pdf-doc{padding:8px 14px;color:#111;background:#fff;font-size:12px}.pdf-doc__title{margin:0 0 2px}.pdf-doc__sub{margin:0 0 12px;color:#555;font-size:11px}.pdf-table{width:100%;border-collapse:collapse;margin:4px 0 14px}.pdf-table th,.pdf-table td{border:1px solid #bbb;padding:4px 6px;text-align:left;font-size:11px;vertical-align:top}.pdf-table th{background:#eee}.pdf-qual{margin-bottom:8px}.pdf-qual h3{margin:8px 0 2px}.pdf-qual ul{margin:0;padding-left:18px}.activity-drag{flex-shrink:0;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;padding:.1rem .5rem .1rem 0;font-size:1.2rem;line-height:1;opacity:.45}.activity-drag:active{cursor:grabbing}.activity-row--dragging{background:#007aff1a;border-radius:8px}.list-deleting{font-size:.85rem;font-style:italic;opacity:.7;padding:0 .4rem;white-space:nowrap}.roster-edit.has-checklists{border-color:#007aff80;color:#007aff;font-weight:600}@media(prefers-color-scheme:dark){.roster-edit.has-checklists{color:#5aa5ff;border-color:#5aa5ff80}}.activity-qual{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem}.activity-qual__label{opacity:.6;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.activity-qual__select{font-size:.85rem;padding:.2rem .3rem;border-radius:6px;max-width:9rem}.cl-units{position:relative}.cl-units>summary{cursor:pointer;list-style:none;white-space:nowrap}.cl-units>summary::-webkit-details-marker{display:none}.cl-units__menu{position:absolute;z-index:6;top:100%;right:0;margin-top:.25rem;min-width:9rem;max-height:14rem;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem;padding:.5rem;border-radius:.5rem;border:1px solid rgba(127,127,127,.3);background:#f7f7f9;color:#1c1c1e;box-shadow:0 6px 18px #0000002e}.cl-units__opt{display:flex;align-items:center;gap:.4rem;font-size:.85rem;text-transform:none;letter-spacing:normal;opacity:1;white-space:nowrap}@media(prefers-color-scheme:dark){.cl-units__menu{background:#2c2c2e;color:#f2f2f7}}.roster-inactive{font-size:.7rem;font-weight:600;padding:.05rem .45rem;border-radius:999px;border:1px solid rgba(127,127,127,.5);opacity:.7}.roster-intern{font-size:.7rem;font-weight:600;padding:.05rem .45rem;border-radius:999px;border:1px solid rgba(0,122,255,.5);color:#007aff}.roster-card--retired{opacity:.72}.roster-line{margin:.5rem 0 0;font-size:.9rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:baseline}.roster-label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.55;width:100%}.roster-none{opacity:.5}.review-text{margin:.4rem 0 0;font-size:.92rem;line-height:1.35;white-space:pre-wrap}.review-text--flag{padding:.45rem .6rem;border-radius:.5rem;background:#d69e2e24}.roster-dup{margin:.5rem 0;padding:.5rem .65rem;border:1px solid rgba(214,158,46,.5);border-radius:.5rem;background:#d69e2e24;font-size:.85rem;line-height:1.4}.roster-dup p{margin:0}.roster-dup p+p{margin-top:.4rem}.roster-waivers{display:flex;flex-wrap:wrap;gap:.35rem}.roster-label--inline{width:auto}.roster-waivers--open{width:100%;margin-top:.35rem}.roster-toggle{display:inline-flex;align-items:baseline;gap:.3rem;padding:.1rem 0;background:none;border:none;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.roster-toggle__caret{opacity:.6;font-size:1.05em;line-height:1}.roster-tally{font-size:.85rem;font-variant-numeric:tabular-nums}.roster-tally--ok{color:#34c759}.roster-tally--need{color:#ff3b30;font-weight:600}.roster-waiver{font-size:.78rem;padding:.1rem .5rem;border-radius:999px;border:1px solid transparent;max-width:100%;overflow-wrap:break-word}.roster-waiver__when{opacity:.75;font-variant-numeric:tabular-nums;white-space:nowrap}.roster-waiver--ok{color:#34c759;border-color:#34c75980}.roster-waiver--need{color:#ff3b30;border-color:#ff3b3080}.roster-waiver--opt{opacity:.6;border-color:#7f7f7f66}.guest-links{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0}.guest-link{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .3rem .15rem .6rem;border:1px solid rgba(0,122,255,.5);border-radius:999px;color:#007aff;font-size:.85rem}.guest-link--unknown{border-color:#d69e2eb3;color:#a06e14}.guest-link__warn{font-size:.8rem}.guest-link__x{background:none;border:none;padding:0 .15rem;color:inherit;font:inherit;font-size:.8rem;cursor:pointer;opacity:.7}.roster-shared{margin:.3rem 0 0;font-size:.82rem;line-height:1.35;color:#a06e14}@media(prefers-color-scheme:dark){.roster-shared{color:#d6a84e}}.about-link{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;text-align:right;text-decoration:none;max-width:62%;white-space:normal;line-height:1.25}.about-link__title{font-weight:600}.about-link__date{font-size:.78rem;opacity:.7;font-variant-numeric:tabular-nums}.avatar{flex:0 0 auto;align-self:center;width:40px;height:40px;border-radius:50%;object-fit:cover;background:#7f7f7f29}.avatar--empty{display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;letter-spacing:.02em;opacity:.65}.photo-picker{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.photo-picker__actions{display:flex;gap:.5rem;flex-wrap:wrap}.photo-picker__input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.avatar-zoom{flex:0 0 auto;align-self:center;padding:0;border:none;background:none;border-radius:50%;line-height:0;cursor:zoom-in}.avatar-zoom:focus-visible{outline:2px solid rgb(0,122,255);outline-offset:2px}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;background:#000000bf}.photo-lightbox__card{display:flex;flex-direction:column;gap:.6rem;max-width:min(90vw,30rem)}.photo-lightbox__img{width:100%;max-height:70dvh;object-fit:contain;border-radius:12px;background:#7f7f7f33}.photo-lightbox__foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#fff}.photo-lightbox__foot .report-export__btn{color:#fff;border-color:#fff9}.avatar--add{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:center;padding:0;border:1px dashed rgba(127,127,127,.6);border-radius:50%;background:none;color:inherit;font-size:1rem;line-height:1;opacity:.75;cursor:pointer}.avatar--add:disabled{cursor:default}.photo-lightbox__actions{display:flex;gap:.5rem;flex-wrap:wrap}.photo-lightbox__actions .report-export__btn{color:#fff;border-color:#fff9}.pdf-photo{width:38px;height:38px;border-radius:50%;object-fit:cover;display:block}.shiftgroup-row{align-items:flex-start}.shiftgroup-row__body{flex:1;display:flex;flex-direction:column;gap:.3rem;min-width:0}.shiftgroup-row__name{font-weight:600}.shiftgroup-row__acts{display:flex;flex-wrap:wrap;gap:.3rem}.shiftgroup-chip{font-size:.8rem;padding:.1rem .5rem;border-radius:999px;background:#7f7f7f26}.shiftgroup-row__empty{font-size:.85rem;opacity:.6}.shiftgroup-row__quals{font-size:.8rem;opacity:.7}.sched-field__legend{margin:.5rem 0 .25rem;font-size:.9rem;font-weight:600}.shiftgroup-picklist{list-style:none;margin:0 0 .5rem;padding:0;max-height:40vh;overflow-y:auto;border:1px solid rgba(127,127,127,.25);border-radius:.5rem}.shiftgroup-picklist li+li{border-top:1px solid rgba(127,127,127,.15)}.shiftgroup-check{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;cursor:pointer}.shiftgroup-check input{width:1.1rem;height:1.1rem;flex-shrink:0}.shiftgroup-check__name{flex:1}.shiftgroup-check__qual{font-size:.75rem;opacity:.65;padding:.1rem .45rem;border-radius:999px;background:#7f7f7f26}.share{display:flex;flex-direction:column;gap:.9rem}.share__poster{display:block;width:100%;max-width:26rem;height:auto;margin:0 auto;border-radius:8px;border:1px solid rgba(128,128,128,.35);background:#fff}.share__actions{flex-wrap:wrap;gap:.5rem}.share__save{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.share__save--off{opacity:.5;pointer-events:none}.waiver-body{margin-top:.6rem;max-height:50vh;overflow-y:auto;padding:.75rem;border:1px solid rgba(127,127,127,.25);border-radius:.5rem;background:#7f7f7f0f;white-space:pre-wrap;line-height:1.5;font-size:.92rem}.waiver-editor__text{width:100%;box-sizing:border-box;margin-top:.3rem;padding:.6rem;border:1px solid rgba(127,127,127,.35);border-radius:.5rem;background:#7f7f7f0f;color:inherit;font:inherit;line-height:1.45;resize:vertical}.waiver-doclink{display:inline-block;margin-top:.6rem;padding:.5rem .9rem;border:1px solid rgb(0,122,255);border-radius:.5rem;color:#007aff;font-weight:600;text-decoration:none}button.waiver-doclink{background:none;font:inherit;font-weight:600;cursor:pointer}.waiver-danger{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.waiver-delete-link{background:none;border:none;padding:.3rem 0;color:#d72d2d;font:inherit;font-weight:600;cursor:pointer}.waiver-delete-btn{background:#d72d2d;color:#fff}.outstanding-row__right{display:flex;align-items:center;gap:.5rem}.done-when{font-size:.8rem;font-variant-numeric:tabular-nums;opacity:.75;white-space:nowrap}.outstanding-actions{display:flex;align-items:center;gap:.4rem}.waiver-mark-btn{background:#007aff;color:#fff;border:none;border-radius:999px;padding:.25rem .7rem;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.waiver-mark-cancel{background:none;border:none;color:#6e6e73;font:inherit;font-weight:600;cursor:pointer;padding:.25rem .3rem}.waiver-chip{font-size:.72rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;white-space:nowrap}.waiver-chip--ok{color:#34c759;border:1px solid rgba(52,199,89,.5)}.waiver-chip--warn{color:#ff9500;border:1px solid rgba(255,149,0,.5)}.waiver-chip--need{color:#ff3b30;border:1px solid rgba(255,59,48,.5)}.waiver-agree{display:flex;align-items:flex-start;gap:.5rem;margin-top:.6rem;line-height:1.4}.waiver-agree input{margin-top:.2rem;width:1.1rem;height:1.1rem;flex-shrink:0}.training-video{margin:.6rem 0;display:flex;flex-direction:column;gap:.4rem}.training-video__frame{width:100%;aspect-ratio:16 / 9;border:0;border-radius:10px;background:#7f7f7f1f}.quiz{margin:.5rem 0}.quiz__q{border:1px solid rgba(127,127,127,.25);border-radius:8px;padding:.4rem .7rem .6rem;margin:.5rem 0}.quiz__q legend{font-weight:600;padding:0 .3rem}.quiz__opt{display:flex;gap:.5rem;align-items:center;padding:.22rem 0}.quiz-edit{border:1px solid rgba(127,127,127,.2);border-radius:8px;padding:.5rem .6rem;margin:.5rem 0}.quiz-edit__q{width:100%;margin:.3rem 0 .45rem}.quiz-edit__optinput{flex:1;min-width:0}.quiz-edit__opt{display:flex;gap:.4rem;align-items:center;margin:.3rem 0;padding:.15rem .3rem;border-radius:6px}.quiz-edit__mark{display:inline-flex;align-items:center;gap:.3rem;flex-shrink:0;font-size:.72rem;font-weight:600;color:#8a8a8a;white-space:nowrap;cursor:pointer}.quiz-edit__opt--correct{background:#34c75924}.quiz-edit__opt--correct .quiz-edit__mark{color:#1c8a3b}.assign-row--done .today-row__label{opacity:.5;text-decoration:line-through}.report-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.wx-chart{width:100%;min-width:340px;height:auto;display:block}.wx-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.wx-precip{fill:#3b7dd84d}.wx-grid{stroke:#7f7f7f4d;stroke-width:1}.wx-axis{fill:currentColor;opacity:.6;font-size:10px}.wx-axis--unit{opacity:.5;font-style:italic}.wx-legend{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin-top:.5rem;font-size:.85rem}.wx-legend__item{display:inline-flex;align-items:center;gap:.35rem}.wx-legend__swatch{width:.75rem;height:.75rem;border-radius:2px;display:inline-block}.wx-legend__swatch--precip{background:#3b7dd84d}.wx-table{width:100%;border-collapse:collapse;font-size:.85rem;white-space:nowrap}.wx-table th,.wx-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid rgba(127,127,127,.2)}.wx-table th{font-weight:600;opacity:.75}.wx-num{text-align:right;font-variant-numeric:tabular-nums}.wx-sub{font-size:.7rem;opacity:.6}.wx-chartblock+.wx-chartblock{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(127,127,127,.2)}.wx-chartblock__title{font-size:.9rem;font-weight:600;opacity:.8;margin-bottom:.25rem}.rt-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:4px 0 12px;font-size:.82rem;opacity:.85}.rt-leg{display:inline-flex;align-items:center;gap:6px}.rt-sw{width:20px;height:11px;border-radius:3px}.rt-sw--active{background:#1f9d57}.rt-sw--upcoming{background:#2f6fb0}.rt-sw--past{background:#9aa8aa}.rt-sw--today{width:3px;height:14px;border-radius:2px;background:#d64545}.rt-hint{opacity:.6;font-size:.78rem;margin-left:auto}.rt-board{position:relative;overflow:auto;max-height:72vh;border:1px solid rgba(127,127,127,.25);border-radius:12px;background:var(--rt-panel, #fff)}.rt-canvas{position:relative;padding-bottom:3rem}.rt-axis{position:sticky;top:0;z-index:5;display:flex;height:46px;background:var(--rt-panel, #fff);border-bottom:1px solid rgba(127,127,127,.25)}.rt-corner{position:sticky;left:0;z-index:6;flex:0 0 176px;background:var(--rt-panel, #fff);border-right:1px solid rgba(127,127,127,.25);display:flex;align-items:flex-end;padding:0 12px 6px}.rt-corner span{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.5;font-family:ui-monospace,SF Mono,Menlo,monospace}.rt-axis__track{position:relative;flex:0 0 auto}.rt-mo{position:absolute;bottom:6px;font-size:.68rem;opacity:.62;transform:translate(4px);font-family:ui-monospace,SF Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.rt-mo--q{opacity:.95;font-weight:600}.rt-yr{position:absolute;top:5px;color:#0b7a86;font-weight:700;letter-spacing:.06em;font-size:.66rem;font-family:ui-monospace,SF Mono,Menlo,monospace}.rt-grid{position:absolute;top:46px;left:0;z-index:0;pointer-events:none;width:100%}.rt-gline{position:absolute;top:0;height:100%;width:1px;background:#7f7f7f24}.rt-gline--q{background:#7f7f7f42}.rt-today{position:absolute;top:0;height:100%;width:2px;background:#d64545;z-index:4}.rt-today__flag{position:absolute;top:-20px;transform:translate(-50%);font-size:.6rem;letter-spacing:.06em;color:#fff;background:#d64545;padding:2px 6px;border-radius:4px;font-family:ui-monospace,SF Mono,Menlo,monospace;white-space:nowrap}.rt-grp{position:relative;z-index:1;display:flex;height:24px}.rt-grp__label{position:sticky;left:0;z-index:3;flex:0 0 176px;background:#7f7f7f14;border-right:1px solid rgba(127,127,127,.25);border-top:1px solid rgba(127,127,127,.12);padding:0 12px;display:flex;align-items:center;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;font-family:ui-monospace,SF Mono,Menlo,monospace}.rt-grp__sp{flex:0 0 auto;background:#7f7f7f0a;border-top:1px solid rgba(127,127,127,.12)}.rt-row{position:relative;z-index:1;display:flex;height:42px}.rt-name{position:sticky;left:0;z-index:3;flex:0 0 176px;background:var(--rt-rail, #fbfdfd);border-right:1px solid rgba(127,127,127,.25);border-bottom:1px solid rgba(127,127,127,.12);padding:0 8px 0 12px;display:flex;align-items:center;gap:6px;font-size:.86rem}.rt-name b{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-add{flex:0 0 auto;border:none;background:transparent;color:#0b7a86;font-size:1.05rem;line-height:1;cursor:pointer;padding:2px 4px;border-radius:6px;opacity:.55}.rt-add:hover{opacity:1;background:#0b7a861a}@media(prefers-color-scheme:dark){.rt-add{color:#37b3bf}}.rt-track{position:relative;flex:0 0 auto;border-bottom:1px solid rgba(127,127,127,.12);cursor:default}.rt-track:hover{background:#7f7f7f08}.rt-bar{position:absolute;top:5px;height:18px;border-radius:6px;display:flex;align-items:center;padding:0 8px;overflow:hidden;font-size:.72rem;font-weight:600;white-space:nowrap;color:#fff;border:1px solid rgba(255,255,255,.18);-webkit-user-select:none;user-select:none}.rt-bar--gated{top:24px;height:14px;font-size:.68rem}.rt-bar--edit{cursor:pointer}.rt-bar--edit:hover{filter:brightness(1.06)}.rt-bar--active{background:#1f9d57}.rt-bar--upcoming{background:#2f6fb0}.rt-bar--past{background:#9aa8aa}.rt-bar__lab{overflow:hidden;text-overflow:ellipsis;pointer-events:none}.rt-bar__meas{margin-left:.4em;font-weight:400;font-size:.86em;opacity:.82;white-space:nowrap}.rt-bar--gated{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 5px,transparent 5px,transparent 10px)}.rt-bar--open{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}.rt-ongoing{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;margin-top:-2px;opacity:.85}.rt-uses{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:4px;padding-top:10px;border-top:1px solid rgba(127,127,127,.2)}.rt-uses__label{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;opacity:.6;font-family:ui-monospace,SF Mono,Menlo,monospace}.rt-uses__opt{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}.rt-uses__hint{flex-basis:100%;font-size:.78rem;opacity:.6}.rt-foot{margin:10px 2px 0;font-size:.78rem;opacity:.55}.rt-del{color:#ff3b30;border-color:#ff3b3066}.rt-form{display:flex;flex-direction:column;gap:10px;margin-top:6px}.rt-form__row{display:flex;gap:10px}.rt-form__row .sched-field{flex:1}.rt-small{display:none}@media(prefers-color-scheme:dark){.rt-board,.rt-axis,.rt-corner{--rt-panel: #1c1c1e;background:#1c1c1e}.rt-name{--rt-rail: #161618;background:#161618}.rt-yr{color:#37b3bf}.rt-sw--past,.rt-bar--past{background:#606c6e}}@media(max-width:720px){.rt-board,.rt-legend,.rt-foot{display:none}.rt-small{display:block}}.rt-small{margin-top:18px;padding:20px;border:1px solid rgba(127,127,127,.25);border-radius:12px;background:#7f7f7f0d}.rt-small h3{margin:0 0 6px}.rt-small p{margin:0;opacity:.7;font-size:.9rem}.tabs{display:flex;flex-direction:column;min-height:100dvh}.tabs__content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:1.5rem 1.25rem calc(96px + env(safe-area-inset-bottom));box-sizing:border-box}.tabs__bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:.4rem .5rem calc(env(safe-area-inset-bottom) + .4rem);background:#f5f5f7d9;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(127,127,127,.25);z-index:10}@media(prefers-color-scheme:dark){.tabs__bar{background:#1c1c1ec7}}.tabs__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;flex:1;max-width:110px;min-height:56px;padding:.3rem .5rem;background:none;border:none;color:inherit;font:inherit;opacity:.55;cursor:pointer;border-radius:.5rem;-webkit-tap-highlight-color:transparent}.tabs__btn:hover{opacity:.8}.tabs__btn--active{opacity:1;color:#007aff}.tabs__icon{font-size:1.4rem;line-height:1}.tabs__label{font-size:.7rem;letter-spacing:.02em}.mode-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1rem;padding:.3rem .7rem;font:inherit;font-size:.8rem;font-weight:600;color:inherit;border-radius:999px;background:#ff95002e;border:1px solid rgba(255,149,0,.45);cursor:pointer;-webkit-tap-highlight-color:transparent}.update-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin-bottom:1rem;padding:.55rem .8rem;border-radius:.6rem;background:#007aff1f;border:1px solid rgba(0,122,255,.4);font-size:.85rem}.update-bar__text{flex:1 1 12rem}.update-bar__stamp{display:block;font-size:.75rem;opacity:.75}.update-bar__btn{font:inherit;font-weight:600;padding:.28rem .8rem;border-radius:999px;border:none;background:#007aff;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.update-bar__x{font:inherit;line-height:1;padding:.28rem .5rem;border-radius:999px;border:none;background:transparent;color:inherit;opacity:.6;cursor:pointer;-webkit-tap-highlight-color:transparent}.update-bar__x:hover{opacity:1}.settings__mode{margin:0 0 .85rem;line-height:1.5}.settings__edit{display:flex;flex-direction:column;gap:.6rem;max-width:16rem}.tab-page{display:flex;flex-direction:column;gap:1rem}.tab-page__header h2{margin:0;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:700}.tab-page__header p{margin:.25rem 0 0;opacity:.7}.stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;text-align:center;border:1px dashed rgba(127,127,127,.4);border-radius:.75rem;margin-top:1rem}.stub__icon{font-size:3rem;line-height:1}.stub__title{margin:0;font-size:1.2rem;font-weight:600}.stub__body{margin:0;max-width:32rem;opacity:.75;line-height:1.5}.today-card{padding:1rem 1.1rem;border:1px solid rgba(127,127,127,.2);border-radius:.75rem;background:#ffffff80}@media(prefers-color-scheme:dark){.today-card{background:#0003}}.today-card__title{margin:0 0 .6rem;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.6}.today-header{display:flex;align-items:center;gap:.9rem}.today-header__logo{width:64px;height:64px;flex-shrink:0;object-fit:contain;border-radius:.75rem}.today-header__title{margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.today-header__subtitle{margin:.1rem 0 0;opacity:.7;font-size:.95rem}.today-header__version{margin-left:auto;align-self:flex-start;font-size:.75rem;opacity:.55;font-variant-numeric:tabular-nums}.today-apply__lead{margin:0 0 .9rem;line-height:1.5}.today-apply__btn{display:inline-block;text-decoration:none;text-align:center}.today-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.today-row{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem 0;border-bottom:1px solid rgba(127,127,127,.15)}.today-row:last-child{border-bottom:none}.today-row--active{background:#34c7592e;border-radius:.4rem;padding-left:.5rem;padding-right:.5rem;border-bottom-color:transparent}@media(prefers-color-scheme:dark){.today-row--active{background:#30d15838}}.today-row__icon{width:1.5rem;flex-shrink:0;text-align:center}.today-row__label{flex:1}.today-row__label--alert{color:#ff3b30;font-weight:600}.alert-field__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.today-alert{border-left:5px solid #f0a500;background:#fff7e6}.today-alert__title{margin:0 0 .25rem;color:#8a5b00;font-size:1.05rem}.today-alert__text{margin:0;color:#5c4300;white-space:pre-wrap}.crew-link__alert{margin-left:.4rem;font-size:.95em}.today-row__value{opacity:.7;font-variant-numeric:tabular-nums;text-align:right}.today-row__note{display:block;font-size:.75rem;opacity:.75;white-space:nowrap}.today-task__check{width:1.5rem;flex-shrink:0;text-align:center;font-size:1.1rem;opacity:.5}.today-task__check--done{opacity:1;color:#34c759}.today-task__body{display:flex;flex-direction:column;gap:.1rem;flex:1}.today-task__title{line-height:1.3}.today-task__assignee{font-size:.8rem;opacity:.65}.today-empty{margin:0;font-size:.9rem;opacity:.6}.today-checking{display:flex;align-items:center;gap:.5rem;margin:.4rem 0 0;font-size:.85rem;opacity:.6}.today-checking__spin{width:.9rem;height:.9rem;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:today-spin .7s linear infinite}@keyframes today-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.today-checking__spin{animation:none;border-top-color:currentColor;opacity:.4}}.today-shifts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.today-day+.today-day{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(127,127,127,.2)}.today-day__label{margin:0 0 .25rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.6}.today-shift{padding:.6rem 0}.today-shift+.today-shift{border-top:1px solid rgba(127,127,127,.15)}.today-shift__head{display:flex;align-items:baseline;gap:.5rem}.today-shift__name{font-weight:600;flex:1}.today-shift__tag{margin-left:.4rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .35rem;border-radius:.35rem;background:#007aff26;color:#007aff;vertical-align:middle}.today-shift__count{font-size:.85rem;opacity:.7;font-variant-numeric:tabular-nums}.today-shift__activities{font-size:.8rem;opacity:.65;margin-top:.15rem}.today-shift__people{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.today-chip{font-size:.8rem;padding:.15rem .5rem;border-radius:1rem;background:#007aff26;color:#007aff;font-weight:600}.today-shift__open{font-size:.8rem;color:#ff9500}.today-shift__note{margin-top:.4rem;font-size:.82rem;line-height:1.35;opacity:.85}.today-cl{margin-top:.5rem;padding:.4rem .55rem;border-radius:.5rem;background:#7f7f7f14}.today-cl__head{display:flex;align-items:center;gap:.3rem;width:100%;padding:0;border:none;background:none;color:inherit;cursor:pointer;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;opacity:.65;text-align:left}.today-cl__chevron{font-size:.7rem;width:.8rem}.today-cl__group+.today-cl__group{margin-top:.35rem}.today-cl__title{display:block;font-size:.78rem;font-weight:600;opacity:.8;margin-top:.3rem}.today-cl__items{list-style:none;margin:.15rem 0 0;padding:0}.today-cl__item{font-size:.8rem;padding-left:1.1rem;position:relative;line-height:1.35}.today-cl__item:before{content:"☐";position:absolute;left:0;opacity:.5}.today-shift__open--muted{color:inherit;opacity:.5}.today-activity+.today-activity{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(127,127,127,.15)}.today-activity__title{font-size:.95rem;font-weight:600}.today-activity__parts{margin-top:.25rem;font-size:.85rem;opacity:.75}.weather-now{display:flex;align-items:center;gap:.75rem}.weather-now__icon{width:48px;height:48px;flex-shrink:0;border-radius:.5rem;object-fit:cover}.weather-now__temp{font-size:2rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.weather-now__detail{flex:1;min-width:0}.weather-now__cond{font-size:.95rem;font-weight:600}.weather-now__meta{margin-top:.15rem;font-size:.8rem;opacity:.7;font-variant-numeric:tabular-nums}.weather-strip{list-style:none;margin:.85rem 0 0;padding:.85rem 0 0;border-top:1px solid rgba(127,127,127,.15);display:flex;justify-content:space-between;gap:.4rem}.weather-strip__day{display:flex;flex-direction:column;align-items:center;gap:.3rem;flex:1}.weather-strip__name{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.6}.weather-strip__icon{width:34px;height:34px;border-radius:.4rem;object-fit:cover}.weather-strip__temp{font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}.weather-foot{margin-top:.85rem;font-size:.75rem;opacity:.55;text-align:right;font-variant-numeric:tabular-nums}.link-row{display:flex;align-items:center;gap:.5rem;flex:1;min-height:44px;padding:0;background:none;border:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.link-row__body{display:flex;flex-direction:column;gap:.15rem;flex:1}.link-row__sub{font-size:.8rem;opacity:.65}.rearing-offline{opacity:1;font-weight:600;color:#b46400}@media(prefers-color-scheme:dark){.rearing-offline{color:#f0aa46}}.rearing-gpm{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;opacity:1;font-weight:600}.rearing-gpm__unit{font-size:.75rem;font-weight:400;opacity:.7}.rearing-gpm__when{font-size:.75rem;font-weight:400;opacity:.55;white-space:nowrap}.link-row__chevron{opacity:.4;font-size:1.3rem;line-height:1}.tab-page__header--nav{display:flex;align-items:center;gap:.75rem}.tab-page__header--nav h2{flex:1}.back-btn{min-height:36px;min-width:44px;padding:.3rem .7rem;background:none;border:1px solid rgba(127,127,127,.3);border-radius:.5rem;color:#007aff;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.back-btn:disabled{opacity:.4;cursor:not-allowed}.back-btn--spacer{border-color:transparent;pointer-events:none}.tank-map__image{display:block;width:100%;height:auto;border-radius:.5rem}.report-period{display:flex;gap:.25rem;padding:.2rem;background:#7f7f7f26;border-radius:.5rem}.seg{flex:1;min-height:36px;padding:.3rem .5rem;background:transparent;border:none;border-radius:.4rem;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.report-period--four .seg{flex:1 1 auto;min-width:0;padding:.3rem .35rem;font-size:.82rem;white-space:nowrap}.seg--active{background:#ffffffd9;font-weight:600;box-shadow:0 1px 2px #0000001a}@media(prefers-color-scheme:dark){.seg--active{background:#46464bf2}}.seg-alert{color:#b46400;font-weight:700}@media(prefers-color-scheme:dark){.seg-alert{color:#f0aa46}}.report-nav{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.report-range-label{margin:.6rem 0 0;text-align:center;font-size:.85rem;opacity:.65}.report-subject{margin:0 0 .75rem;text-align:center;font-size:1rem;font-weight:600}.report-nav .report-range-label{flex:1;margin:0}.report-export{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.report-logo{display:none}.report-export__btn{min-height:40px;padding:.4rem .9rem;border-radius:.5rem;border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit;font:inherit;font-size:.9rem;cursor:pointer}@media print{.tabs__bar,.mode-pill,.update-bar,.report-export,.report-period,.report-jump,.report-nav button,.report-detail-toggle,.field,.tab-page__header--nav .back-btn{display:none!important}.tabs__content{padding:0!important}.tab-page{gap:.1rem}.today-card{border:none;box-shadow:none;break-inside:avoid;padding:.1rem 0}.tab-page__header--nav+.today-card{padding-top:0}.report-logo{display:block;height:84px;width:auto;margin:0}}.report-jump{flex:1;min-height:44px;padding:.4rem .6rem;font:inherit;font-weight:600;font-size:1rem;text-align:center;text-align-last:center;background:transparent;border:1px solid rgba(127,127,127,.3);border-radius:.5rem;color:inherit}.report-table{display:flex;flex-direction:column}.report-row{display:flex;align-items:baseline;gap:.5rem;padding:.55rem 0;border-bottom:1px solid rgba(127,127,127,.15)}.report-row:last-child{border-bottom:none}.report-row--head{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.6;padding-bottom:.35rem}.report-row--grand{font-weight:700}.report-col{font-variant-numeric:tabular-nums}.report-col--label{flex:1;display:flex;flex-direction:column;gap:.1rem}.report-col--num{width:70px;text-align:right}.report-col--wide{width:130px;white-space:nowrap}.report-col--narrow{width:50px}.report-col--dim{opacity:.65}.report-col--stack{display:flex;flex-direction:column;line-height:1.25}.report-col__when{font-size:.7rem;opacity:.55;white-space:nowrap}.report-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.report-detail-toggle{min-height:34px;padding:.25rem .7rem;border-radius:.5rem;border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit;font:inherit;font-size:.82rem;cursor:pointer}.report-row--tappable{cursor:pointer}.report-row--tappable:hover{background:#7f7f7f14}.report-row--detail{padding:.3rem 0 .3rem .9rem;font-size:.85rem;border-bottom:1px dashed rgba(127,127,127,.12)}.report-row--detail-last{border-bottom:1px solid rgba(127,127,127,.15)}.report-detail-date{width:86px;white-space:nowrap;opacity:.7}.report-unit{font-weight:500}.report-source{font-size:.8rem;opacity:.7}.report-rehomed{font-size:.72rem;color:#ff9500;margin-top:.1rem}.cohort-row{padding:.7rem 0}.cohort-row__head{display:flex;align-items:center;gap:.5rem}.cohort-row__icon{font-size:1.05rem}.cohort-row__code{font-weight:600;font-size:1rem}.cohort-row__meta{display:flex;align-items:center;gap:.4rem;margin-top:.15rem;font-size:.8rem;opacity:.7;font-variant-numeric:tabular-nums}.cohort-row__sep{opacity:.5}.chip{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.15rem .55rem;border-radius:999px;background:#7f7f7f2e;white-space:nowrap}.chip--soon{opacity:.65;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.chip--warn{color:#ff3b30;background:#ff3b301f}.crew-row{padding:.7rem 0}.crew-row__body{display:flex;flex-direction:column;gap:.2rem;flex:1}.crew-row__head{display:flex;align-items:center;gap:.5rem}.crew-row__name{font-weight:600}.crew-line{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.history-note{font-size:.8rem;opacity:.6}.history-note--hint{opacity:1;color:#007aff;font-weight:600}.crew-row__skills{font-size:.82rem;opacity:.7}.crew-row__hours{font-size:.75rem;opacity:.55;font-variant-numeric:tabular-nums}.schedule-row{gap:.65rem}.schedule-row__day{width:38px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.6;flex-shrink:0}.schedule-row__task{flex:1}.schedule-row__who{opacity:.6;font-size:.82rem;text-align:right}.join{max-width:34rem;margin:0 auto;padding:1.25rem 1rem 3rem}.join__head{text-align:center;margin-bottom:1rem}.join__logo{width:76px;height:auto;margin-bottom:.5rem}.join__head h1{margin:0;font-size:1.5rem;line-height:1.2}.join__when{margin:.25rem 0 0;font-size:.95rem;opacity:.7}.join__card{display:flex;flex-direction:column;gap:.85rem}.join .sched-range .sched-field{min-width:0}.join .sched-range .report-jump{width:100%;min-width:0}.join__lead{margin:0;font-size:1.02rem;line-height:1.45}.join__hint{margin:0;font-size:.86rem;opacity:.7;line-height:1.4}.join__btn{width:100%;min-height:3rem;font-size:1.05rem;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.join__code{font-size:1.6rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.join__done{text-align:center}.join__tick{margin:0;font-size:2.6rem;line-height:1;color:#1e8c3c}.join__done .today-list{text-align:left}.apply-slots{display:grid;grid-template-columns:1fr;gap:.3rem .9rem;margin-top:.45rem}@media(min-width:30rem){.apply-slots{grid-template-columns:1fr 1fr}}.apply-slot{display:flex;align-items:center;gap:.5rem;font-size:.92rem;line-height:1.3;text-align:left}.apply-slot input{width:1.05rem;height:1.05rem;flex-shrink:0}.apply-statement{width:100%;box-sizing:border-box;text-align:left;text-align-last:left;resize:vertical}.apply-intern{margin-top:.6rem;padding:.7rem .85rem;border:1px solid rgba(0,122,255,.35);border-radius:.5rem;background:#007aff0f}.apply-intern__grid{display:grid;grid-template-columns:auto 1fr;gap:.25rem .8rem;margin:.4rem 0 0;font-size:.9rem}.apply-intern__grid dt{font-weight:600;white-space:nowrap}.apply-intern__grid dd{margin:0;opacity:.85}.apply-intern__stmt{margin:.6rem 0 0;font-size:.92rem;line-height:1.45;white-space:pre-wrap}.app{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.status{padding:.75rem 1rem;border-radius:.5rem;border:1px solid transparent}.status code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95em}.status--loading{background:#7f7f7f14;border-color:#7f7f7f33}.status--ok{background:#34c7591f;border-color:#34c75966}.status__link{background:none;border:0;padding:0;font:inherit;color:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.status--error{background:#ff3b301f;border-color:#ff3b3066}
