*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light}
body{margin:0;min-height:100dvh;background:var(--c-bg-grouped);color:var(--c-label);font:var(--t-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;overflow-wrap:break-word}
a{color:var(--c-primary)}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{font-size:16px}
img{max-width:100%;display:block}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;display:inline-flex;align-items:center;min-height:var(--tap);left:var(--s-2);top:-100px;z-index:var(--z-toast);background:var(--c-bg);color:var(--c-primary);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-weight:600}
.skip-link:focus{top:calc(env(safe-area-inset-top) + var(--s-2))}

.icon{font-family:"Material Symbols Outlined";font-weight:normal;font-style:normal;font-size:22px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-font-smoothing:antialiased;flex:none}
.icon--filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}

.page{display:block;min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 96px) env(safe-area-inset-left)}
.page:focus{outline:none}
.page__inner{max-width:var(--content-max);margin:0 auto}

.navbar{position:sticky;top:0;z-index:var(--z-navbar);display:flex;align-items:center;justify-content:space-between;min-height:var(--navbar-h);padding:env(safe-area-inset-top) var(--s-2) 0;margin-top:calc(-1 * env(safe-area-inset-top));background:var(--c-bar);-webkit-backdrop-filter:blur(18px) saturate(1.8);backdrop-filter:blur(18px) saturate(1.8);border-bottom:.5px solid var(--c-separator)}
.navbar__title{position:absolute;margin:0;left:50%;transform:translateX(-50%);bottom:0;height:var(--navbar-h);display:flex;align-items:center;font:var(--t-headline);max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.navbar__actions{display:flex;align-items:center;margin-left:auto}
.navbar-button{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:var(--tap);min-height:var(--tap);padding:0 var(--s-2);border:0;border-radius:var(--r-md);background:transparent;color:var(--c-primary);font:var(--t-body);font-size:17px;text-decoration:none;cursor:pointer}
.navbar-button .icon{font-size:24px}
.navbar-button--back .icon{font-size:30px;margin-left:-8px;margin-right:-4px}

.large-title{margin:0;padding:var(--s-2) 18px var(--s-1);font:var(--t-large-title);letter-spacing:-.02em;hyphens:auto}
.large-title__sub{margin:0;padding:0 18px var(--s-3);font:var(--t-subhead);font-size:13.5px;color:var(--c-label-2)}

.group-header{margin:18px 34px 6px;font:var(--t-footnote);text-transform:uppercase;letter-spacing:.02em;color:var(--c-label-2);display:flex;justify-content:space-between}
.group-footer{margin:6px 34px 0;font:var(--t-footnote);color:var(--c-label-2)}
.group{margin:0 var(--gutter);background:var(--c-bg);border-radius:var(--r-lg);overflow:hidden}
ul.group{padding:0;list-style:none}
.group+.group-header,.group+.group,.group--spaced{margin-top:18px}

.cell{position:relative;display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:46px;padding:6px 14px;border:0;background:var(--c-bg);color:inherit;font:var(--t-body);text-align:left;text-decoration:none}
a.cell,button.cell{cursor:pointer}
a.cell:active,button.cell:active{background:var(--c-bg-pressed)}
.cell+.cell::before{content:"";position:absolute;top:0;right:0;left:var(--cell-inset,14px);border-top:.5px solid var(--c-separator)}
.cell--with-icon{--cell-inset:56px}
.cell__text{flex:1;min-width:0}
.cell__sub{display:block;font:var(--t-subhead);font-size:12.5px;color:var(--c-label-2)}
.cell__value{margin-left:auto;display:flex;align-items:center;gap:2px;font:var(--t-callout);color:var(--c-label-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.cell__chevron{color:var(--c-control-border);font-size:20px}
.cell--danger{color:var(--c-danger)}
.cell-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#fff;background:var(--cell-icon-bg,var(--c-primary));flex:none}
.cell-icon .icon{font-size:19px}

.check{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1.5px solid var(--c-control-border);border-radius:var(--r-full);background:var(--c-bg);flex:none;cursor:pointer}
.check[aria-checked="true"],.check:checked{background:var(--c-primary);border-color:var(--c-primary)}
.check[aria-checked="true"]::after{content:"";width:6px;height:11px;border:solid var(--c-on-primary);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}

.segmented{display:flex;margin:0 var(--gutter) var(--s-3);padding:2px;border-radius:var(--r-md);background:var(--c-fill)}
.segmented__item{flex:1;display:flex;align-items:center;justify-content:center;min-height:var(--tap);padding:6px 0;border:0;border-radius:var(--r-sm);background:transparent;font:var(--t-subhead);font-weight:500;cursor:pointer;text-align:center;text-decoration:none;color:var(--c-label)}
.segmented__item[aria-selected="true"],.segmented__item[aria-current]{background:var(--c-bg);box-shadow:var(--shadow-seg);font-weight:600}

.chips{display:flex;gap:7px;overflow-x:auto;padding:0 var(--gutter) 10px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:var(--s-1);height:var(--tap);padding:0 13px;border:6px solid transparent;border-width:6px 0;background-clip:padding-box;border-radius:var(--r-full);background:var(--c-bg);color:var(--c-label-variant);font:var(--t-subhead);font-weight:600;cursor:pointer;text-decoration:none}
.chip[aria-pressed="true"],.chip[aria-current]{background:var(--c-primary);color:var(--c-on-primary)}

.search{display:flex;align-items:center;gap:6px;height:var(--tap);margin:0 var(--gutter) 10px;padding:0 10px;border-radius:11px;background:var(--c-fill);color:var(--c-label-2)}
.search:focus-within{box-shadow:0 0 0 2px var(--c-primary)}
.search input{flex:1;min-width:0;border:0;background:transparent;outline:none;color:var(--c-label)}
.search input::placeholder{color:var(--c-label-2)}

.banner{display:flex;align-items:center;gap:10px;margin:0 var(--gutter) 6px;padding:10px 12px;border-radius:var(--r-lg);background:var(--c-secondary-soft);color:var(--c-on-secondary-soft);font:var(--t-subhead)}

.empty-state{margin:var(--s-2) var(--gutter);padding:22px var(--s-4);border-radius:var(--r-lg);background:var(--c-bg);text-align:center;color:var(--c-label-2)}
.empty-state>.icon{display:block;margin:0 auto 6px;font-size:30px;color:var(--c-control-border)}
.empty-state__text{margin:0 0 var(--s-3)}
.empty-state__text:last-child{margin-bottom:0}

.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 var(--s-4);border:0;border-radius:var(--r-xl);font:var(--t-body);font-weight:600;text-decoration:none;cursor:pointer}
.button--primary{background:var(--c-primary);color:var(--c-on-primary)}
.button--secondary{background:var(--c-bg);color:var(--c-primary)}
.button--plain{background:transparent;color:var(--c-primary)}
.button--danger{background:transparent;color:var(--c-danger)}
.button--block{display:flex;width:100%}
.button:disabled,.button[aria-disabled="true"]{opacity:.45;cursor:not-allowed}

.stepper{display:inline-flex;align-items:center;padding:2px;border-radius:var(--r-full);background:var(--c-bg);font-weight:700;font-variant-numeric:tabular-nums}
.stepper button{display:grid;place-items:center;width:var(--tap);height:var(--tap);border:0;border-radius:var(--r-full);background:transparent;color:var(--c-primary);cursor:pointer}
.stepper output{min-width:72px;text-align:center;font:var(--t-subhead);font-size:13.5px;font-weight:700}

.status{flex:none;padding:3px 8px;border-radius:var(--r-full);font:var(--t-footnote);font-size:11.5px;font-weight:600;white-space:nowrap}
.status--full{background:#e3f1d0;color:var(--c-on-secondary-soft)}
.status--partial{background:#fde9c8;color:var(--c-tertiary)}
.status--none{background:var(--c-fill);color:var(--c-label-variant)}

.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-tabbar);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--c-bar);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);border-top:.5px solid var(--c-separator)}
.tabbar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;color:var(--c-label-2);font:var(--t-caption);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tabbar__item .icon{font-size:25px}
.tabbar__item[aria-current="page"]{color:var(--c-primary)}
.tabbar__item[aria-current="page"] .icon{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}

.fab{position:fixed;right:calc(18px + env(safe-area-inset-right));bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 16px);z-index:var(--z-fab);display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:var(--r-full);background:var(--c-primary);color:var(--c-on-primary);box-shadow:var(--shadow-fab);cursor:pointer;transition:transform var(--d-fast)}
.fab:active{transform:scale(.94)}
.fab .icon{font-size:30px}

.sidebar{display:none}

.sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;max-height:92dvh;margin:0;padding:var(--s-2) var(--gutter) calc(34px + env(safe-area-inset-bottom));border:0;border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--c-bg-grouped);color:var(--c-label);overflow-y:auto;z-index:var(--z-sheet)}
.sheet::backdrop{background:var(--c-dim)}
.sheet[open]{animation:sheet-in var(--d-sheet) var(--ease-sheet)}
.sheet__grab{width:38px;height:5px;margin:0 auto 12px;border-radius:var(--r-full);background:#c7c7cc}
.sheet__header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin:0 0 12px}
.sheet__title{margin:0;font:var(--t-headline);font-size:18px}
.sheet__close{display:grid;place-items:center;width:var(--tap);height:var(--tap);margin:-7px -7px -7px 0;border:0;border-radius:var(--r-full);background:transparent;color:var(--c-label-2);cursor:pointer}
.sheet__close .icon{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-full);background:var(--c-fill);font-size:18px}
@keyframes sheet-in{from{transform:translateY(100%)}to{transform:none}}

.action-sheet{position:fixed;inset:auto var(--s-2) calc(30px + env(safe-area-inset-bottom)) var(--s-2);width:auto;max-width:none;margin:0;padding:0;border:0;background:transparent;z-index:var(--z-action-sheet)}
.action-sheet::backdrop{background:var(--c-dim)}
.action-sheet[open]{display:flex;flex-direction:column;gap:var(--s-2);animation:sheet-in var(--d-sheet) var(--ease-sheet)}
.action-sheet__group{overflow:hidden;border-radius:var(--r-xl);background:rgba(250,250,250,.97);text-align:center}
.action-sheet__title{margin:0;padding:13px var(--s-4);font:var(--t-subhead);color:var(--c-label-2);border-bottom:.5px solid var(--c-separator)}
.action-sheet__button{display:flex;align-items:center;justify-content:center;text-decoration:none;width:100%;min-height:54px;border:0;background:transparent;color:var(--c-primary);font:var(--t-body);font-size:17px;cursor:pointer}
.action-sheet__group>*+*{border-top:.5px solid var(--c-separator)}
.action-sheet__title+*{border-top:0!important}
.action-sheet__group form{margin:0}
.action-sheet__button--danger{color:var(--c-danger)}
.action-sheet__button--cancel{font-weight:600}
.action-sheet__button:active{background:rgba(0,0,0,.05)}

.quick-add{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.quick-add__tile{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:84px;padding:14px var(--s-1) 12px;border-radius:var(--r-xl);background:var(--c-bg);color:var(--c-label);font:var(--t-subhead);font-size:12.5px;font-weight:600;text-align:center;text-decoration:none;border:0;cursor:pointer}
.quick-add__tile .icon{font-size:26px;color:var(--c-primary)}
.quick-add__tile:active{background:var(--c-bg-pressed)}
.quick-add__note{display:flex;align-items:center;gap:6px;margin:12px 2px 0;font:var(--t-subhead);font-size:12.5px;color:var(--c-label-2)}
.quick-add__note .icon{font-size:16px}

.toast-region{position:fixed;left:0;right:0;top:calc(env(safe-area-inset-top) + 18px);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--s-2);pointer-events:none}
.toast{display:flex;align-items:center;gap:var(--s-2);max-width:calc(100% - 32px);padding:9px var(--s-4);border-radius:var(--r-full);background:var(--c-toast);color:#fff;font:var(--t-subhead);font-size:13.5px;font-weight:500;pointer-events:auto;animation:toast-in var(--d-fast) ease-out}
.toast .icon{font-size:18px}
.toast--error .icon{color:#ff9a9a}
.toast--success .icon{color:#9be29b}
.toast__action{min-width:var(--tap);min-height:var(--tap);margin:-12px -8px -12px var(--s-1);padding:0 var(--s-2);border:0;background:transparent;color:var(--c-cook-accent);font-weight:600;cursor:pointer}
@keyframes toast-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}

.version-switch{display:flex;align-items:center;gap:var(--s-2)}

.navbar-button--strong{font-weight:600}
.link-button{display:inline-flex;align-items:center;justify-content:flex-end;min-width:var(--tap);min-height:var(--tap);margin:-14px 0;border:0;background:transparent;color:var(--c-primary);font:var(--t-subhead);font-weight:600;text-transform:none;letter-spacing:0;text-decoration:none;cursor:pointer}
.cell-icon--secondary{--cell-icon-bg:var(--c-secondary)}
.cell-icon--tertiary{--cell-icon-bg:var(--c-tertiary)}
.cell-icon--teal{--cell-icon-bg:#2f7676}
.dash{display:block}
.dash__column{min-width:0}
.widget{position:relative;padding-bottom:var(--s-3)}
.widget>.group-header:first-of-type{margin-top:var(--s-3)}
.widget__edit{display:flex;align-items:center;gap:var(--s-1);margin:var(--s-3) var(--gutter) var(--s-2)}
.widget__edit-title{flex:1;margin:0;font:var(--t-headline)}
.widget__handle{color:var(--c-control-border);padding:0 var(--s-2);cursor:grab;touch-action:none}
.dash--editing .widget{margin:0 var(--s-2) var(--s-2);padding:1px 0 var(--s-3);border-radius:var(--r-lg);background:var(--c-bg-pressed)}
.dash--editing .widget>*:not(.widget__edit){pointer-events:none}
.widget--ghost{opacity:.4}
.icon-button{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);flex:none;border:0;border-radius:var(--r-full);background:transparent;color:var(--c-primary);cursor:pointer}
.icon-button:disabled{color:var(--c-control-border);cursor:default}
.icon-button--remove{color:var(--c-danger)}
.icon-button--add{color:var(--c-secondary);margin:-7px 0 -7px -7px}
.meal-card{display:block;margin:0 var(--gutter) var(--s-3);padding:12px 14px;border-radius:14px;background:var(--c-bg);color:inherit;text-decoration:none}
.meal-card:active{background:var(--c-bg-pressed)}
.meal-card__label{display:flex;align-items:center;gap:5px;margin-bottom:var(--s-2);font:var(--t-footnote);font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--c-primary)}
.meal-card__label .icon{font-size:16px}
.meal-card__body{display:flex;align-items:center;gap:12px}
.meal-card__text{flex:1;min-width:0}
.meal-card__title{display:block;font:var(--t-callout);font-size:16px;font-weight:600}
.meal-card__meta{display:block;font:var(--t-subhead);color:var(--c-label-2)}
.thumb{display:grid;place-items:center;width:50px;height:50px;flex:none;overflow:hidden;border-radius:11px;background:linear-gradient(135deg,#f1c9ad,#c96f33);color:rgba(255,255,255,.9)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb--small{width:40px;height:40px;border-radius:9px}
.cell--check{--cell-inset:58px;padding-left:4px}
.check{display:grid;place-items:center;width:var(--tap);height:var(--tap);flex:none;border:0;background:transparent;cursor:pointer;padding:0}
.check__box{display:grid;place-items:center;width:24px;height:24px;border:1.5px solid var(--c-control-border);border-radius:var(--r-full);background:var(--c-bg)}
.check[aria-pressed="true"] .check__box{border-color:var(--c-primary);background:var(--c-primary)}
.check[aria-pressed="true"] .check__box::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.cell__text--done{color:var(--c-label-2);text-decoration:line-through}
.cell__text--muted{color:var(--c-label-2)}
.cell--with-dot{--cell-inset:38px}
.dot{width:10px;height:10px;flex:none;border-radius:var(--r-full);background:var(--agenda-color,var(--c-control-border))}
.agenda-red{--agenda-color:#dc2626}
.agenda-blue{--agenda-color:#2563eb}
.agenda-purple{--agenda-color:#9333ea}
.agenda-pink{--agenda-color:#db2777}
.agenda-orange{--agenda-color:#ea580c}
.agenda-green{--agenda-color:#16a34a}
.agenda-yellow{--agenda-color:#ca8a04}
.agenda-gray{--agenda-color:#6b7280}
.favorites{display:flex;gap:12px;overflow-x:auto;padding:0 var(--gutter) var(--s-1);scrollbar-width:none}
.favorites::-webkit-scrollbar{display:none}
.favorites__item{display:flex;flex-direction:column;align-items:center;gap:6px;width:84px;flex:none;color:var(--c-label);font:var(--t-subhead);font-weight:600;text-align:center;text-decoration:none}
.favorites__item .thumb{width:72px;height:72px;border-radius:16px}
.favorites__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.offline-banner{position:sticky;top:0;z-index:var(--z-tabbar);display:flex;align-items:center;gap:var(--s-2);padding:calc(env(safe-area-inset-top) + var(--s-2)) var(--gutter) var(--s-2);background:var(--c-warning);color:#fff;font:var(--t-subhead);font-weight:600}
.offline-banner .icon{font-size:20px}
.page.page--standalone{padding-bottom:calc(env(safe-area-inset-bottom) + var(--s-6))}
.install-help{padding:0 var(--s-1);color:var(--c-label)}
.install-help__title{margin:var(--s-4) 0 var(--s-1);font:var(--t-headline)}
.install-help__steps{margin:0;padding-left:1.4em;line-height:1.7}
.install-help__steps .icon{font-size:19px;vertical-align:-4px;color:var(--c-primary)}

.consent{position:fixed;left:var(--s-2);right:var(--s-2);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s-2));z-index:var(--z-dim);padding:var(--s-4);border-radius:var(--r-lg);background:var(--c-bg);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.consent__text{margin:0 0 var(--s-3);font:var(--t-subhead);color:var(--c-label)}
.consent__actions{display:flex;justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap}

@media (min-width:810px){
  .page{padding-left:calc(64px + env(safe-area-inset-left));padding-right:calc(64px + env(safe-area-inset-right))}
}

@media (min-width:1024px){
  .page{margin-left:var(--sidebar-w);padding:var(--s-6) var(--s-6) var(--s-8)}
  .page__inner{max-width:var(--content-max)}
  .tabbar,.fab{display:none}
  .sidebar{position:fixed;top:0;bottom:0;left:0;z-index:var(--z-sidebar);display:flex;flex-direction:column;gap:1px;width:var(--sidebar-w);padding:12px 10px 14px;overflow-y:auto;background:#f7f7f9;border-right:.5px solid var(--c-separator);scrollbar-width:none}
  .sidebar__brand{margin:0;padding:6px 10px 12px;font:var(--t-headline);font-size:20px;font-weight:700;letter-spacing:-.01em}
  .sidebar__brand small{display:block;font:var(--t-subhead);font-size:12.5px;font-weight:500;color:var(--c-label-2);letter-spacing:0}
  .sidebar__add{display:flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:var(--tap);margin:0 2px 10px;border:0;border-radius:10px;background:var(--c-primary);color:var(--c-on-primary);font:var(--t-body);font-weight:600;cursor:pointer}
  .sidebar__heading{margin:0;padding:14px 10px 4px;font:var(--t-footnote);text-transform:uppercase;letter-spacing:.03em;color:var(--c-label-2)}
  .sidebar__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1px}
  .sidebar__item{display:flex;align-items:center;gap:10px;min-height:var(--tap);padding:0 10px;border-radius:var(--r-md);color:var(--c-label);text-decoration:none;font:var(--t-body)}
  .sidebar__item:hover{background:rgba(0,0,0,.04)}
  .sidebar__item .icon{color:var(--c-primary);font-size:21px}
  .sidebar__item[aria-current="page"]{background:var(--c-primary);color:var(--c-on-primary)}
  .sidebar__item[aria-current="page"] .icon{color:var(--c-on-primary);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}
  .sidebar__item small{margin-left:auto;font:var(--t-subhead);color:var(--c-label-2)}
  .sidebar__item[aria-current="page"] small{color:inherit}
  .sidebar__footer{margin-top:auto;padding-top:var(--s-3)}
  .page--standalone{margin-left:0}
  .dash{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .page__inner--wide{max-width:920px}
  .consent{left:auto;right:var(--s-6);bottom:var(--s-6);width:400px}
  .offline-banner{margin-left:var(--sidebar-w)}
  .navbar{margin-left:calc(-1 * var(--s-6));margin-right:calc(-1 * var(--s-6))}
  .sheet{inset:50% auto auto 50%;width:440px;max-height:86dvh;padding:18px 18px 20px;border-radius:18px;transform:translate(-50%,-50%)}
  .sheet[open]{animation:dialog-in var(--d-fast) ease-out}
  .sheet__grab{display:none}
  .action-sheet{inset:50% auto auto 50%;width:320px;transform:translate(-50%,-50%)}
  .action-sheet[open]{animation:dialog-in var(--d-fast) ease-out}
}
@keyframes dialog-in{from{opacity:0}to{opacity:1}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
}

.sheet__intro{margin:-4px 0 12px;font:var(--t-subhead);color:var(--c-label-2)}
.sheet-form{display:flex;flex-direction:column;gap:0}
.sheet-form .group,.sheet-form .search,.sheet-form .chips,.sheet-form .segmented{margin-left:0;margin-right:0}
.sheet-form .chips{padding-left:0;padding-right:0}
.sheet-form .group-header{margin-left:18px;margin-right:18px}
.sheet-form>.button{margin-top:var(--s-5)}
.form-error{margin:var(--s-2) 0 0;font:var(--t-subhead);color:var(--c-danger)}
.badge{display:inline-block;margin-left:var(--s-2);padding:1px 7px;border-radius:var(--r-full);background:var(--c-primary);color:var(--c-on-primary);font-size:10px;letter-spacing:.05em}
.icon--warning{color:var(--c-warning);font-size:18px;vertical-align:middle}
.chip--radio{position:relative}
.chip--radio input,.segmented--radio input,.pick input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip--radio:has(input:checked){background:var(--c-primary);color:var(--c-on-primary)}
.chip--radio:has(input:focus-visible),.segmented--radio .segmented__item:has(input:focus-visible),.pick:has(input:focus-visible){outline:2px solid var(--c-primary);outline-offset:-2px}
.segmented--radio .segmented__item{display:flex;align-items:center;justify-content:center;min-height:var(--tap);position:relative}
.segmented--radio .segmented__item:has(input:checked){background:var(--c-bg);box-shadow:var(--shadow-seg);font-weight:600}
.stepper input{width:56px;height:var(--tap);border:0;background:transparent;text-align:center;font:inherit;font-weight:700;color:var(--c-label);-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.group .stepper{margin-left:auto;background:var(--c-bg-grouped)}
.pick{position:relative;cursor:pointer}
.pick__check{margin-left:auto;color:var(--c-primary);visibility:hidden}
.pick:has(input:checked) .pick__check{visibility:visible}
.pick:has(input:checked){background:var(--c-bg-subtle)}
.field{gap:var(--s-3)}
.field__label{flex:none;width:120px;color:var(--c-label)}
.field input,.field select,.field textarea{flex:1;min-width:0;min-height:var(--tap);border:0;background:transparent;font:var(--t-body);font-size:16px;color:var(--c-label);text-align:right}
.field input:focus-visible{outline:0}
.field:focus-within{box-shadow:inset 0 0 0 2px var(--c-primary)}
.cell--switch{gap:var(--s-3);cursor:pointer}
.cell--switch input{width:44px;height:26px;flex:none;accent-color:var(--c-secondary)}
.attendance{margin:0;padding:0;border:0}
.attendance .group-header{display:block;padding:0}
.sheet-form .attendance .group-header{margin-left:18px}
.attendance .segmented{margin-bottom:6px}
.intro{margin:var(--s-2) 18px var(--s-3);font:var(--t-subhead);color:var(--c-label-2)}
.pills{display:flex;gap:var(--s-2);margin:0 var(--gutter) 10px}
.pill{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);border-radius:11px;background:var(--c-bg);color:var(--c-primary);font:var(--t-subhead);font-size:13.5px;font-weight:600;text-decoration:none;border:0;cursor:pointer}
.pill .icon{font-size:19px}
.cell-icon--blue{--cell-icon-bg:#2f62c9}
.cell-icon--purple{--cell-icon-bg:#6a4fc4}
.cell-icon--gray{--cell-icon-bg:#6c6c70}
.cell-icon--dark{--cell-icon-bg:#3a3a3c}
.cell-icon--red{--cell-icon-bg:#c4161c}
.cell-icon--green{--cell-icon-bg:#24823a}
.cell-icon--orange{--cell-icon-bg:#b45309}
.group-gap{height:18px}
