@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url("./media/outfit-latin-400-normal-WPZHQ72E.woff2") format("woff2"),url("./media/outfit-latin-400-normal-MJX636HN.woff") format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url("./media/outfit-latin-500-normal-PXR3PSSK.woff2") format("woff2"),url("./media/outfit-latin-500-normal-5NAIAZI7.woff") format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url("./media/outfit-latin-600-normal-7I4OGWZG.woff2") format("woff2"),url("./media/outfit-latin-600-normal-SAVBCENJ.woff") format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url("./media/fraunces-latin-500-normal-KWS2HOOL.woff2") format("woff2"),url("./media/fraunces-latin-500-normal-QSAOSGCS.woff") format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url("./media/fraunces-latin-600-normal-5VSMB6GO.woff2") format("woff2"),url("./media/fraunces-latin-600-normal-XJWJMTXS.woff") format("woff")}@font-face{font-family:Material Icons;font-style:normal;font-display:swap;font-weight:400;src:url("./media/material-icons-latin-400-normal-LEZCGFVT.woff2") format("woff2"),url("./media/material-icons-latin-400-normal-OKHIZNFO.woff") format("woff")}html{height:100%;--mat-sys-background: light-dark(#f7faf9, #101414);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#eff1f0, #2d3131);--mat-sys-inverse-primary: light-dark(#00dddd, #006a6a);--mat-sys-inverse-surface: light-dark(#2d3131, #e0e3e2);--mat-sys-on-background: light-dark(#191c1c, #e0e3e2);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #003737);--mat-sys-on-primary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-primary-fixed: light-dark(#002020, #002020);--mat-sys-on-primary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-on-secondary: light-dark(#ffffff, #1b3534);--mat-sys-on-secondary-container: light-dark(#324b4b, #cce8e7);--mat-sys-on-secondary-fixed: light-dark(#051f1f, #051f1f);--mat-sys-on-secondary-fixed-variant: light-dark(#324b4b, #324b4b);--mat-sys-on-surface: light-dark(#191c1c, #e0e3e2);--mat-sys-on-surface-variant: light-dark(#3f4948, #dae5e4);--mat-sys-on-tertiary: light-dark(#ffffff, #502400);--mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);--mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);--mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);--mat-sys-outline: light-dark(#6f7979, #889392);--mat-sys-outline-variant: light-dark(#bec9c8, #3f4948);--mat-sys-primary: light-dark(#006a6a, #00dddd);--mat-sys-primary-container: light-dark(#00fbfb, #004f4f);--mat-sys-primary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-primary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#4a6363, #b0cccb);--mat-sys-secondary-container: light-dark(#cce8e7, #324b4b);--mat-sys-secondary-fixed: light-dark(#cce8e7, #cce8e7);--mat-sys-secondary-fixed-dim: light-dark(#b0cccb, #b0cccb);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#f7faf9, #101414);--mat-sys-surface-bright: light-dark(#f7faf9, #363a39);--mat-sys-surface-container: light-dark(#ebefed, #1c2020);--mat-sys-surface-container-high: light-dark(#e6e9e7, #272b2a);--mat-sys-surface-container-highest: light-dark(#e0e3e2, #313635);--mat-sys-surface-container-low: light-dark(#f1f4f3, #191c1c);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0b0f0e);--mat-sys-surface-dim: light-dark(#d7dbd9, #101414);--mat-sys-surface-tint: light-dark(#006a6a, #00dddd);--mat-sys-surface-variant: light-dark(#dae5e4, #3f4948);--mat-sys-tertiary: light-dark(#964900, #ffb787);--mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);--mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);--mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);--mat-sys-neutral-variant20: #293232;--mat-sys-neutral10: #191c1c;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Outfit, sans-serif;--mat-sys-body-large-font: Outfit, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Outfit, sans-serif;--mat-sys-body-medium-font: Outfit, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Outfit, sans-serif;--mat-sys-body-small-font: Outfit, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Fraunces, serif;--mat-sys-display-large-font: Fraunces, serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Fraunces, serif;--mat-sys-display-medium-font: Fraunces, serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Fraunces, serif;--mat-sys-display-small-font: Fraunces, serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Fraunces, serif;--mat-sys-headline-large-font: Fraunces, serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Fraunces, serif;--mat-sys-headline-medium-font: Fraunces, serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Fraunces, serif;--mat-sys-headline-small-font: Fraunces, serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Outfit, sans-serif;--mat-sys-label-large-font: Outfit, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Outfit, sans-serif;--mat-sys-label-medium-font: Outfit, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Outfit, sans-serif;--mat-sys-label-small-font: Outfit, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Fraunces, serif;--mat-sys-title-large-font: Fraunces, serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Outfit, sans-serif;--mat-sys-title-medium-font: Outfit, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Outfit, sans-serif;--mat-sys-title-small-font: Outfit, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--bg: #f3eee6;--bg-elev: #fffdf9;--ink: #1c1915;--muted: #6f675e;--line: #e3d9cc;--teal: #0f5c56;--teal-deep: #0a3f3b;--taken: #1d7a4d;--skip: #7a736b;--warn: #8a5a12;--warn-bg: #fbf3e0;--appt: #3d4f9a;--shadow: 0 12px 32px rgba(62, 42, 18, .06);--mat-sys-primary: #0f5c56;--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: #d7efe9;--mat-sys-on-primary-container: #083833;--mat-sys-surface: #f3eee6;--mat-sys-on-surface: #1c1915}body{margin:0;min-height:100%;color:var(--ink);background:radial-gradient(900px 420px at 0% -10%,rgba(15,92,86,.12),transparent 55%),var(--bg);font-family:Outfit,sans-serif;color-scheme:light}h1,h2,h3,.brand{font-family:Fraunces,serif;font-weight:600;letter-spacing:-.03em}h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}h2{margin:0 0 10px;font-size:1.35rem}h3{margin:0;font-size:1.05rem;font-family:Outfit,sans-serif;font-weight:600;letter-spacing:0}a{color:inherit}button,input,textarea{font:inherit}.shell{min-height:100vh}.side{display:none}.top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.brand{color:var(--teal-deep);text-decoration:none;font-size:1.6rem}.who,.muted,.lead,.dialog-lead,small{color:var(--muted)}.content{padding:8px 20px 108px}.page{max-width:920px;margin:0 auto}.page.narrow{max-width:640px}.page-head,.action-row,.pager,.time-row,.inline-form{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-head{align-items:flex-end;margin:12px 0 18px}.eyebrow{margin:0 0 4px;color:var(--teal);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.lead{margin-top:0}.filters,.choice-row,.link-list{display:flex;flex-wrap:wrap;gap:8px}.filters{margin-bottom:18px}.chip,.choice,.pager button,.day{border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);border-radius:999px;cursor:pointer}.chip,.choice{padding:8px 14px}.chip.selected,.choice.selected{background:var(--teal);border-color:var(--teal);color:#fff}.choice.taken.selected{background:var(--taken);border-color:var(--taken)}.choice.skip.selected{background:var(--skip);border-color:var(--skip)}.stack{display:flex;flex-direction:column;gap:14px}.stack.tight{gap:8px}.split{display:grid;grid-template-columns:1fr;gap:14px}mat-form-field{width:100%}.slot,.list-card,.row-card,.banner,.auth-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.slot,.row-card,.list-card{display:flex;gap:12px;align-items:center;padding:14px;margin-bottom:10px}.list-card{text-decoration:none;justify-content:space-between}.list-card div,.row-card span:last-child,.slot-body{display:flex;flex-direction:column;gap:2px;min-width:0}.list-card small,.row-card small,.slot-body p{margin:0;color:var(--muted)}.slot-time,.row-time{min-width:58px;font-variant-numeric:tabular-nums;font-weight:650;color:var(--teal-deep);display:flex;flex-direction:column;line-height:1.1}.slot-time small{color:var(--muted);font-size:.72rem;font-weight:500}.slot.late{border-color:#e7c2b8;background:#fff7f4}.slot-meta.skipped,.late-label{color:#9a3d2f}.slot-actions{display:flex;flex-direction:column;gap:6px;margin-left:auto}.row-card{text-decoration:none}.row-card.appt{border-left:4px solid var(--appt)}.banner{padding:14px 16px;margin-bottom:18px}.banner.warn{background:var(--warn-bg);border-color:#ead7b0}.banner ul{margin:8px 0 0;padding-left:18px}.pill{border-radius:999px;padding:4px 10px;background:#efe8dc;color:var(--muted);font-size:.82rem;white-space:nowrap}.pill.active{background:#e5f4ec;color:var(--taken)}.pill.paused,.pill.finished{background:#eeeae4}.pill.upcoming{background:#e8ebf8;color:var(--appt)}.empty{padding:18px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}.form-error{color:#9a3d2f;margin:0}.form-ok{color:var(--taken);margin:0}.hint{margin:0;color:var(--teal-deep)}.text-link,.text-button{color:var(--teal);background:none;border:0;padding:0;cursor:pointer;text-decoration:none;font-weight:600}.action-row{justify-content:flex-start;flex-wrap:wrap;margin-top:18px}.facts{display:grid;gap:12px;margin:0 0 8px}.facts div{padding-bottom:10px;border-bottom:1px solid var(--line)}.facts dt{color:var(--muted);font-size:.82rem}.facts dd{margin:2px 0 0}.cats-field{border:1px solid var(--line);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.cats-field legend{padding:0 6px;color:var(--muted)}.time-row input{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.weekdays,.month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.weekdays{margin-bottom:4px;color:var(--muted);font-size:.78rem;text-align:center}.day{aspect-ratio:1;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}.day.out{opacity:.38}.day.today{border-color:var(--teal)}.day.selected{background:var(--teal);color:#fff;border-color:var(--teal)}.dots{display:flex;gap:3px;min-height:6px}.dots i{width:6px;height:6px;border-radius:50%;display:block}.dots i.planned{background:#8fb8b3}.dots i.taken{background:var(--taken)}.dots i.skipped{background:#b7b0a7}.dots i.appt{background:var(--appt)}.day.selected .dots i{background:#fff}.pager button{width:40px;height:40px;font-size:1.4rem}.tabbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:#fffdf9f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5}.tabbar a,.side-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 10px;color:var(--muted);text-decoration:none;font-size:.72rem}.tabbar a.active,.side-nav a.active{color:var(--teal)}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:22px;line-height:1;display:inline-block;white-space:nowrap;letter-spacing:normal;text-transform:none;font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(440px,100%);padding:28px 22px;display:flex;flex-direction:column;gap:14px}.auth-card h1{font-size:2.4rem}.people{padding-left:18px}.link-list a{display:block;padding:14px 16px;border-radius:18px;background:var(--bg-elev);border:1px solid var(--line);text-decoration:none;font-weight:600}.mat-mdc-dialog-surface{border-radius:24px!important}.dialog-lead{margin-top:0}.field-label{margin:12px 0 6px;font-size:.82rem;color:var(--muted)}.full{margin-top:12px}@media(min-width:720px){.split{grid-template-columns:1fr 1fr}.slot-actions{flex-direction:row}}@media(min-width:960px){.shell{display:grid;grid-template-columns:240px 1fr}.side{display:flex;flex-direction:column;gap:24px;padding:28px 18px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;box-sizing:border-box}.side-nav a{flex-direction:row;justify-content:flex-start;gap:10px;padding:10px 12px;border-radius:12px;font-size:1rem}.side-nav a.active{background:#0f5c5614}.side-user{margin-top:auto;text-align:left;background:none;border:0;color:var(--muted);cursor:pointer;padding:10px 12px}.top,.tabbar{display:none}.content{padding:28px 36px 48px}}
