@font-face{font-family:General Sans;font-weight:400;src:url(/assets/GeneralSans-Regular-Dn3hZj8I.otf)format("opentype");font-display:swap}@font-face{font-family:General Sans;font-weight:500;src:url(/assets/GeneralSans-Medium-Dnk_K_Tg.otf)format("opentype");font-display:swap}@font-face{font-family:General Sans;font-weight:600;src:url(/assets/GeneralSans-Semibold-DQ6WvPG1.otf)format("opentype");font-display:swap}:root{--primary:#0a4e46;--primary-hover:#0d6157;--primary-foreground:#fff;--mint:#b9e4cf;--mint-soft:#e7f4ee;--pawrange:#ff7b00;--background:#f5f7f6;--surface:#fff;--pressed:#eef1ef;--foreground:#141716;--muted-foreground:#5c6763;--faint:#8a948f;--hairline:#e4e8e6;--input-border:#cfd6d3;--destructive:#b3261e;--destructive-soft:#fbeceb;--warn:#8a4b00;--ring:#0a4e4666;--radius:10px;--radius-lg:14px;--font-sans:"General Sans", Arial, ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--tabbar-h:4rem;--ease-out:cubic-bezier(0, 0, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overscroll-behavior:none}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5}h1,h2,h3,p,ul,dl,dd,figure{margin:0}ul{padding:0;list-style:none}fieldset{border:0;min-width:0;margin:0;padding:0}a{color:inherit}button{font:inherit;color:inherit}a,button,input,select,textarea,label,summary{-webkit-tap-highlight-color:transparent}a,button,label,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.muted{color:var(--muted-foreground)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{flex:none;width:1.25rem;height:1.25rem;display:inline-flex}.icon svg{width:100%;height:100%}.icon-lg{width:1.75rem;height:1.75rem}.btn{white-space:nowrap;border-radius:var(--radius);cursor:pointer;min-height:3rem;transition:opacity .1s var(--ease-out), transform .1s var(--ease-out);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn:active:not(:disabled){transform:scale(.98)}.btn-block{width:100%}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-secondary{background:var(--surface);border-color:var(--input-border);color:var(--foreground)}.btn-plain{color:var(--primary)}.btn-danger{color:var(--destructive)}.btn-danger-solid{background:var(--destructive);color:#fff}.btn-sm{min-height:2.75rem;padding:0 .875rem;font-size:.9375rem}.btn-sm .icon{width:1.125rem;height:1.125rem}@media (hover:hover){.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary:hover:not(:disabled),.btn-plain:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:var(--pressed)}}.btn.is-busy:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}.is-busy>.icon{display:none}@keyframes spin{to{transform:rotate(360deg)}}.form{gap:1.25rem;display:grid}.field{gap:.375rem;display:grid}.field>label,.field>legend{padding:0;font-size:.9375rem;font-weight:500}input[type=email],input[type=text],input[type=tel],input[type=time],input[type=number],input[type=date],select,textarea{width:100%;min-height:3rem;font:inherit;color:var(--foreground);background:var(--surface);border:1px solid var(--input-border);border-radius:var(--radius);appearance:none;padding:0 .875rem;font-size:1.0625rem}textarea{resize:vertical;min-height:7rem;padding:.75rem .875rem;line-height:1.5}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c6763' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.125rem;padding-right:2.5rem}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}input::placeholder,textarea::placeholder{color:var(--faint)}.field-help{color:var(--muted-foreground);font-size:.875rem}.field-warn{color:var(--warn);font-size:.875rem}.input-prefix{display:flex}.input-prefix span{color:var(--muted-foreground);background:var(--background);border:1px solid var(--input-border);border-radius:var(--radius) 0 0 var(--radius);border-right:0;align-items:center;padding:0 .75rem;font-size:1.0625rem;display:flex}.input-prefix input{border-radius:0 var(--radius) var(--radius) 0}.choices{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);overflow:hidden}.choice{cursor:pointer;align-items:center;gap:.75rem;min-height:3.25rem;padding:.625rem 1rem;display:flex}.choice+.choice{border-top:1px solid var(--hairline)}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--primary);flex:none;margin:0}.choice:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}.choice-body{display:grid}.choice-title{font-weight:500}.choice-desc{color:var(--muted-foreground);font-size:.8125rem;line-height:1.35}.form-actions{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));z-index:5;background:var(--background);border-top:1px solid var(--hairline);gap:.5rem;margin:0 -1rem;padding:.75rem 1rem;display:grid;position:sticky}@media (width>=60rem){.form-actions{background:0 0;border-top:0;margin:0;padding:0;position:static}}.alert{color:var(--destructive);background:var(--destructive-soft);border-radius:var(--radius);align-items:flex-start;gap:.5rem;padding:.75rem .875rem;font-size:.9375rem;display:flex}.alert .icon{width:1.125rem;height:1.125rem;margin-top:.125rem}.line-errors{gap:.25rem;margin-top:.25rem;display:grid}.auth{min-height:100dvh;padding:2.5rem 1rem calc(2.5rem + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex}.logo{width:auto;height:1.75rem;display:block}.auth-body{width:100%;max-width:24rem}.auth-card{background:var(--surface);border-radius:var(--radius-lg);gap:1.5rem;padding:1.75rem 1.5rem;display:grid;box-shadow:0 1px 2px #1417160f}.auth-head{gap:.375rem;display:grid}.auth-title{letter-spacing:-.01em;color:var(--primary);font-size:1.5rem;font-weight:600;line-height:1.2}.auth-text{color:var(--muted-foreground);word-break:break-word}.auth-text strong{color:var(--foreground);font-weight:500}.auth-actions{gap:.25rem;display:grid}.shell{min-height:100dvh;padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));overflow-x:clip}.topbar{z-index:10;height:3.5rem;padding:0 1rem;padding-top:env(safe-area-inset-top);box-sizing:content-box;background:var(--background);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-logo,.sidebar-logo{align-items:center;gap:.5rem;min-height:2.75rem;text-decoration:none;display:flex}.topbar-logo .logo,.sidebar-logo .logo{height:1.125rem}.avatar{width:2rem;height:2rem;color:var(--primary);background:var(--mint-soft);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.avatar-muted{color:var(--muted-foreground);background:var(--pressed)}.avatar-sm{width:2rem;height:2rem}.avatar-md{width:2.5rem;height:2.5rem;font-size:.9375rem}.avatar-lg{width:4rem;height:4rem;font-size:1.375rem}.topbar-me{border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;margin-right:-.375rem;display:inline-flex}.page{align-content:start;gap:1.5rem;width:100%;max-width:40rem;margin:0 auto;padding:1.25rem 1rem 2rem;display:grid}.page-head{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-head>div:first-child{min-width:0}.page-title{letter-spacing:-.01em;color:var(--primary);font-size:1.5rem;font-weight:600;line-height:1.2}.page-sub{color:var(--muted-foreground);word-break:break-word;margin-top:.125rem;font-size:.9375rem}.back-link{min-height:2.75rem;color:var(--primary);align-items:center;gap:.125rem;margin:-.625rem 0 0 -.375rem;padding-right:.5rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.back-link .icon{width:1.125rem;height:1.125rem}.tabbar{z-index:10;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--hairline);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{max-width:7.5rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.125rem;padding:0;font-size:.75rem;font-weight:500;text-decoration:none;display:flex}.tab .icon{width:1.5rem;height:1.5rem}.tab.is-active{color:var(--primary);font-weight:600}.tab:active{transform:scale(.96)}.sidebar{display:none}@media (width>=60rem){html:has(.shell){height:100%;overflow:hidden}html:has(.shell) body{height:100%;overflow:hidden}.shell{grid-template-columns:15rem 1fr;height:100dvh;min-height:0;padding-bottom:0;display:grid}.content{overscroll-behavior:contain;scrollbar-gutter:stable;height:100dvh;overflow-y:auto}.topbar,.tabbar{display:none}.sidebar{overscroll-behavior:contain;background:var(--surface);border-right:1px solid var(--hairline);flex-direction:column;gap:1.25rem;height:100dvh;padding:1.25rem .75rem;display:flex;overflow-y:auto}.page{padding:2.5rem 2rem 4rem}.toast{bottom:1.5rem}}.sidebar-logo{padding:0 .5rem}.sidebar-nav{gap:.125rem;display:grid}.side-link{min-height:2.5rem;color:var(--muted-foreground);border-radius:var(--radius);align-items:center;gap:.75rem;padding:0 .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.side-link:hover{color:var(--foreground);background:var(--pressed)}.side-link.is-active{color:var(--primary);background:var(--mint-soft);font-weight:600}.sidebar-me{border-radius:var(--radius);align-items:center;gap:.625rem;margin-top:auto;padding:.5rem;text-decoration:none;display:flex}.sidebar-me:hover,.sidebar-me.is-active{background:var(--pressed)}.sidebar-me>span:last-child{min-width:0;display:grid}.sidebar-me-name{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;overflow:hidden}.sidebar-me-role{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.group{gap:.5rem;display:grid}.group-title{color:var(--muted-foreground);padding:0 1rem;font-size:.8125rem;font-weight:500}.glist{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden}.glist>*{position:relative}.glist>*+:before{content:"";top:0;left:var(--divider-inset,1rem);border-top:1px solid var(--hairline);pointer-events:none;position:absolute;right:0}.glist-avatars{--divider-inset:3.75rem}.row{text-align:left;width:100%;min-height:3.5rem;color:inherit;background:0 0;border:0;align-items:center;gap:.75rem;padding:.625rem 1rem;text-decoration:none;display:flex}button.row,a.row{cursor:pointer}button.row:active,a.row:active{background:var(--pressed)}@media (hover:hover){button.row:hover,a.row:hover{background:#f8faf9}}.row-text{flex:1;min-width:0;display:grid}.row-primary,.row-secondary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-primary{font-weight:500}.row-secondary{color:var(--muted-foreground);font-size:.875rem}.row-end{color:var(--muted-foreground);flex:none;font-size:.875rem}.row-end-off{color:var(--destructive)}.row-chevron{width:1.125rem;height:1.125rem;color:var(--faint);flex:none;margin-right:-.25rem}.row-icon{color:var(--primary);background:var(--mint-soft);border-radius:8px;flex:none;padding:.375rem;display:inline-flex}.row-icon .icon{width:1.125rem;height:1.125rem}.you{color:var(--muted-foreground);font-weight:400}.row-kv{justify-content:space-between}.row-kv dt{color:var(--muted-foreground)}.row-kv dd{text-align:right;word-break:break-word;min-width:0;font-weight:500}.skeleton{background:var(--pressed);border-radius:6px;height:.75rem;display:block}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.4s ease-in-out infinite pulse}}@keyframes pulse{50%{opacity:.5}}.skeleton-row{align-items:center;gap:.75rem;min-height:3.5rem;padding:.625rem 1rem;display:flex}.skeleton-row .skeleton:first-child{border-radius:50%;flex:none;width:2rem;height:2rem}.skeleton-lines{flex:1;gap:.5rem;display:grid}.sk-long{width:55%}.sk-short{width:35%}.loading{text-align:center;color:var(--muted-foreground);padding:3rem 1rem}.empty{text-align:center;justify-items:center;gap:.25rem;padding:2rem 1rem;display:grid}.empty-title{font-weight:600}.empty-icon{color:var(--primary);background:var(--mint-soft);border-radius:50%;margin-bottom:.5rem;padding:.75rem;display:inline-flex}.empty .btn{margin-top:.75rem}.profile{text-align:center;justify-items:center;gap:.5rem;padding-top:.5rem;display:grid}.profile .page-sub{margin-top:-.25rem}.session-note{text-align:center}.modal-backdrop{z-index:40;background:#14171666;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{overscroll-behavior:contain;width:min(28rem,100%);max-height:calc(100dvh - 2rem);color:var(--foreground);background:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;overflow-y:auto;box-shadow:0 8px 32px #14171629}.dialog:focus{outline:none}.dialog-title{font-size:1.125rem;font-weight:600;line-height:1.3}.dialog-body{gap:1rem;margin:1rem 0 1.25rem;display:grid}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}@media (width<=35.99rem){.modal-backdrop{align-items:flex-end;padding:0}.dialog{width:100%;max-height:90dvh;padding:.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.dialog:before{content:"";background:var(--input-border);border-radius:999px;width:2.25rem;height:.3125rem;margin:0 auto .875rem;display:block}.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}@media (width<=35.99rem) and (prefers-reduced-motion:no-preference){.dialog{animation:sheet-up .15s var(--ease-out)}}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet-head{align-items:center;gap:.75rem;display:flex}.sheet-head>div{min-width:0;display:grid}.sheet-head .row-secondary{white-space:normal;word-break:break-word}.sheet-meta{color:var(--muted-foreground);font-size:.875rem}.sheet-danger{border-top:1px solid var(--hairline);margin-top:.25rem;padding-top:.75rem}.confirm-line{font-size:.9375rem}.modal-backdrop:has(.more-menu){padding:0 .5rem calc(var(--tabbar-h) + env(safe-area-inset-bottom) + .5rem);background:#0000001f;justify-content:flex-end;align-items:flex-end}.more-menu{background:var(--surface);border-radius:var(--radius-lg);width:min(15rem,100%);padding:.375rem;box-shadow:0 4px 16px #1417161f}.more-menu:before{display:none}.more-menu:focus{outline:none}.more-menu a{min-height:2.75rem;color:var(--foreground);border-radius:var(--radius);align-items:center;gap:.75rem;padding:0 .75rem;text-decoration:none;display:flex}.more-menu a.is-active{color:var(--primary);background:var(--mint-soft)}.toast{left:50%;bottom:calc(var(--tabbar-h) + .75rem + env(safe-area-inset-bottom));z-index:50;color:#fff;opacity:0;pointer-events:none;max-width:calc(100% - 2rem);transition:opacity .15s var(--ease-out), transform .15s var(--ease-out);background:#141716eb;border-radius:999px;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;position:fixed;transform:translate(-50%,.5rem)}.toast.is-visible{opacity:1;transform:translate(-50%)}.page-cta{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + .75rem);z-index:5;position:sticky}.page-cta .btn{box-shadow:0 2px 8px #0a4e4633}@media (width>=60rem){.page-cta{justify-self:end;bottom:1.5rem}.page-cta .btn{width:auto}}.search{gap:.5rem;display:grid}input.input-pincode{font-family:var(--font-mono);letter-spacing:.06em;font-size:1.125rem}.check-answer{min-height:1.375rem;padding:0 .25rem;font-size:.9375rem;font-weight:500}.answer-ok{color:var(--primary)}.answer-warn{color:var(--warn)}.answer-bad{color:var(--destructive)}.answer-no{color:var(--muted-foreground)}.hub-body{gap:.25rem;padding:.5rem .5rem .75rem;display:grid}.hub-meta{color:var(--muted-foreground);padding:.5rem .5rem 0;font-size:.875rem}.pins{grid-template-columns:repeat(auto-fill,minmax(4.75rem,1fr));display:grid}.pin{min-height:2.75rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--foreground);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:.9375rem;display:flex}button.pin:active{background:var(--pressed)}@media (hover:hover){button.pin:hover{background:var(--background)}}.pin-off{color:var(--faint);text-decoration:line-through}.pin-static{cursor:default;min-height:2rem}.changes{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden}.change-group+.change-group{border-top:1px solid var(--hairline)}.change-group summary{cursor:pointer;align-items:center;gap:.375rem;min-height:3.25rem;padding:0 1rem;list-style:none;display:flex}.change-group summary::-webkit-details-marker{display:none}.change-title{font-weight:500}.change-count{font-variant-numeric:tabular-nums;color:var(--muted-foreground);margin-left:auto}.change-group .pins{padding:0 .5rem .5rem}.file-chip{background:var(--surface);border:1px solid var(--input-border);border-radius:var(--radius);align-items:center;gap:.5rem;min-height:3rem;padding-left:.875rem;display:flex}.file-chip>span:not(.icon){text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-pick{position:relative}.file-pick:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.btn,.toast{transition:none}}input.switch{appearance:none;background:var(--input-border);cursor:pointer;width:2.75rem;height:1.625rem;transition:background-color .15s var(--ease-out);border-radius:999px;flex:none;margin:0;position:relative}input.switch:after{content:"";background:var(--surface);width:1.25rem;height:1.25rem;transition:transform .15s var(--ease-out);border-radius:50%;position:absolute;top:.1875rem;left:.1875rem;box-shadow:0 1px 2px #14171633}input.switch:checked{background:var(--primary)}input.switch:checked:after{transform:translate(1.125rem)}input.switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.switch-row{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:3rem;display:flex}.pair{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.pair .field>label{color:var(--muted-foreground);font-size:.8125rem}.shift-fields{gap:.75rem;display:grid}.notice{background:var(--surface);border-left:3px solid var(--pawrange);border-radius:var(--radius);padding:.75rem 1rem;font-size:.9375rem}.notice strong{font-weight:600;display:block}.day-picker{border:0;grid-template-columns:repeat(7,1fr);gap:.25rem;min-width:0;margin:0;padding:0;display:grid}.day-picker button{min-width:0;min-height:3.5rem;font:inherit;color:var(--muted-foreground);border-radius:var(--radius);cursor:pointer;background:0 0;border:0;justify-items:center;gap:.0625rem;padding:.375rem 0;display:grid}.day-picker .dp-week{font-size:.75rem}.day-picker .dp-date{color:var(--foreground);font-size:1.0625rem;font-weight:600}.day-picker .dp-count{font-size:.6875rem}.day-picker button[aria-pressed=true]{color:var(--primary);background:var(--mint-soft)}.day-picker button[aria-pressed=true] .dp-date{color:var(--primary)}.risk{color:var(--destructive)}.roster-grid{display:none}@media (width>=60rem){.roster-phone{display:none}.roster-grid{background:var(--surface);border-radius:var(--radius-lg);grid-template-columns:minmax(8rem,1.3fr) repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.roster-grid>*{border-top:1px solid var(--hairline);min-width:0;padding:.5rem .625rem}.rg-head{color:var(--muted-foreground);border-top:0;font-size:.75rem}.rg-head strong{color:var(--foreground);font-size:.8125rem;display:block}.rg-name{font:inherit;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:inherit;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;font-weight:500;overflow:hidden}.rg-cell{font:inherit;text-align:left;color:var(--foreground);cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;align-content:center;font-size:.75rem;line-height:1.3;display:grid;overflow:hidden}.rg-cell:hover,.rg-name:hover{background:var(--pressed)}.rg-cell span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rg-cell .muted{color:var(--muted-foreground)}}.week-day{gap:.75rem;padding:.75rem 1rem;display:grid}.week-day .switch-row{min-height:2.25rem;font-weight:500}.num-row{justify-content:space-between;align-items:center;gap:1rem;min-height:3.25rem;padding:.375rem 1rem;display:flex}.num-label{flex:1;min-width:0}.num-row .num{color:var(--muted-foreground);flex:none;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.num-row input{text-align:right;width:4.5rem;min-height:2.5rem}.preview{color:var(--muted-foreground);gap:.125rem;padding:.75rem 1rem;font-size:.875rem;display:grid}
