@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/150f724d70372c02-s.1ljbalzvxyif7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/750c737482d9de2f-s.3ex3j6ahhvjry.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.40bho2kviej2o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/150f724d70372c02-s.1ljbalzvxyif7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/750c737482d9de2f-s.3ex3j6ahhvjry.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.40bho2kviej2o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/150f724d70372c02-s.1ljbalzvxyif7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/750c737482d9de2f-s.3ex3j6ahhvjry.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.40bho2kviej2o.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_6e5188fd-module__76e6bG__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_6e5188fd-module__76e6bG__variable{--font-serif:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_7f7d213f-module__yyuWqW__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_7f7d213f-module__yyuWqW__variable{--font-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
:root{--mist:#e7e5df;--cream:#eaeeec;--cream-2:#e3edea;--ink:#23302c;--ink-soft:#5e6c66;--muted:#8a968f;--line:#e4eae7;--surface:#fff;--terra:#5c7e76;--terra-ink:#38514b;--sage:#38514b;--ochre:#c29545;--indigo:#6b7fa3;--plum:#8b6f9e;--blush:#c97c75;--radius:18px;--radius-sm:12px;--shadow:0 1px 2px #23302c0a, 0 8px 24px -14px #23302c29;--shadow-lg:0 24px 50px -28px #23302c57;--sans:var(--font-sans), system-ui, sans-serif;--serif:var(--font-serif), Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--mist);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(70% 50% at 50% 0,#5c7e7612,#0000 62%),radial-gradient(60% 55% at 100% 100%,#38514b0f,#0000 60%);position:fixed;inset:0}body:after{content:"";z-index:-1;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}.shell{max-width:1180px;margin:0 auto;padding:22px clamp(16px,3vw,32px) 120px}.topbar{z-index:20;-webkit-backdrop-filter:saturate(140%)blur(10px);background:#e7e5dfd9;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 0 12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;display:flex}.brand .mark{background:var(--terra);border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 6px 16px -8px #38514b80}.brand .mark span{font-family:var(--serif);color:#fff;font-size:22px;font-weight:600}.brand h1{font-family:var(--serif);letter-spacing:-.01em;font-size:22px;font-weight:600;line-height:1.1}.brand small{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:600;display:block}.topbar-right{align-items:center;gap:14px;display:flex}.pill-nav{background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:999px;gap:4px;padding:5px;display:flex}.pill-nav a{color:var(--ink-soft);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none}.pill-nav a.active{background:var(--ink);color:var(--cream)}.role-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;padding:5px 11px;font-size:10.5px;font-weight:700}.avatar{background:linear-gradient(140deg, var(--sage), #4f8a73);color:#fff;width:38px;height:38px;font-weight:700;font-family:var(--serif);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:16px;display:grid}.avatar:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.account{align-items:center;display:flex;position:relative}.account-scrim{z-index:25;position:fixed;inset:0}.account-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:2px;min-width:220px;max-width:calc(100vw - 24px);padding:8px;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px -18px #23302c73}.account-head{justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 10px;display:flex}.account-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.account-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 12px 2px;font-size:10.5px;font-weight:700}.account-menu form{display:contents}.account-menu a,.account-menu button{text-align:left;width:100%;color:var(--ink);font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.account-menu a:hover,.account-menu button:hover,.account-menu button.active{background:var(--cream);color:var(--terra-ink)}.account-menu .ic{width:14px;color:var(--terra);font-size:13px;display:inline-block}.account-menu hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.account-logout{color:var(--blush)}.account-menu .account-logout:hover{color:var(--blush);background:#c97c751a}.hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.hero .greet{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(28px,4.5vw,44px);font-weight:600;line-height:1.02}.hero .greet em{color:var(--terra);font-style:italic}.hero .sub{color:var(--ink-soft);margin-top:6px;font-size:15px}.credits{background:var(--sage);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);align-items:center;gap:14px;padding:14px 20px;display:flex}.credits .n{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1}.credits .lbl{text-transform:uppercase;letter-spacing:.14em;opacity:.7;font-size:11px}.credits .ring{background:conic-gradient(#fff var(--ring-deg,324deg), #fff3 0);border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.credits .ring i{background:var(--sage);border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-style:normal;font-weight:700;display:grid}.credits a.btn{color:var(--sage);box-shadow:none;background:#fff;align-items:center;text-decoration:none;display:inline-flex}.credits a.btn:hover{background:#eaf1ee}.dash-greet{margin-bottom:18px}.dash-greet .greet{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(26px,5vw,38px);font-weight:600;line-height:1.02}.dash-greet .greet em{color:var(--terra);font-style:italic}.dash-greet .sub{color:var(--ink-soft);margin-top:6px;font-size:15px}.dash{flex-direction:column;gap:16px;max-width:760px;display:flex}.dash>section{flex-direction:column;gap:10px;display:flex}.dash-credits{justify-content:flex-start}.dash-credits-body{margin-right:auto}.dash-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.dash-head{justify-content:space-between;align-items:center;display:flex}.dash-head a{color:var(--terra-ink);font-size:13px;font-weight:700}.dash .acard{width:100%;margin:0}.dash-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:center;color:var(--ink-soft);box-shadow:var(--shadow);padding:22px}.dash-cta{width:100%;margin-top:2px;padding:15px;font-size:15px}.page-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#54615b;font-size:11px;font-weight:700}.page-title{font-family:var(--serif);letter-spacing:-.01em;margin:4px 0 16px;font-size:clamp(26px,4vw,34px);font-weight:600}.cal{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:26px;overflow:hidden}.cal-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.cal-title{font-family:var(--serif);letter-spacing:-.01em;text-transform:capitalize;font-size:22px;font-weight:600}.nav-grp{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:38px;height:38px;color:var(--ink-soft);font-size:16px;font-family:var(--sans);border-radius:11px;place-items:center;display:grid}.today-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;height:38px;font-size:14px;font-weight:600;font-family:var(--sans);color:var(--ink-soft);border-radius:11px;padding:0 16px}.view-switch{background:var(--cream-2);border-radius:11px;padding:4px;display:flex}.view-switch button{color:var(--ink-soft);cursor:pointer;font-size:13.5px;font-weight:600;font-family:var(--sans);background:0 0;border:0;border-radius:8px;padding:8px 15px}.view-switch button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.week{max-height:560px;display:none;position:relative;overflow:auto}.week.show{display:block}.week-grid{grid-template-columns:54px repeat(7,1fr);display:grid;position:relative}.week .corner{background:var(--surface);z-index:5;position:sticky;top:0;left:0}.daycol-head{background:var(--surface);z-index:4;text-align:center;border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 4px 10px;position:sticky;top:0}.daycol-head .dow{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:11px;font-weight:600}.daycol-head .dnum{font-family:var(--serif);border-radius:50%;width:34px;height:34px;margin-top:2px;font-size:20px;font-weight:600;line-height:34px;display:inline-block}.daycol-head.today .dnum{background:var(--terra);color:#fff}.hour{height:76px;color:var(--ink-soft);text-align:right;border-top:1px solid var(--line);z-index:3;background:var(--surface);grid-column:1;padding:2px 8px 0 0;font-size:11px;font-weight:500;position:sticky;left:0}.slot{border-top:1px solid var(--line);border-left:1px solid var(--line);height:76px;position:relative}.ev{cursor:pointer;color:#fff;text-align:left;font-family:var(--sans);border:0;border-radius:10px;flex-direction:column;gap:2px;padding:6px 8px;transition:transform .12s,box-shadow .12s;display:flex;position:absolute;left:4px;right:4px;overflow:hidden;box-shadow:0 6px 14px -8px #00000080}.ev:hover{transform:translateY(-1px)scale(1.012);box-shadow:0 12px 22px -10px #0000008c}.ev .t{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:16px;font-size:12px;font-weight:700;line-height:1.12;display:-webkit-box;overflow:hidden}.ev-foot{justify-content:space-between;align-items:center;gap:4px;min-width:0;margin-top:auto;display:flex}.ev .m{background:#0000004d;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.ev .seats{white-space:nowrap;background:#0000004d;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.ev.full{opacity:.92}.ev.mine:after{content:"✓";background:#ffffff47;border-radius:50%;place-items:center;width:17px;height:17px;font-size:11px;font-weight:800;display:grid;position:absolute;top:6px;right:8px}.c-mat{background:#c08560}.c-reformer{background:#6e7e5b}.c-barre{background:#a8788c}.c-prenatal{background:#6b7fa3}.c-flow{background:#5e8f86}.c-herstel{background:#8b6f9e}.c-hiit{background:#c29545}.nowline{background:var(--terra);z-index:4;pointer-events:none;height:2px;position:absolute;left:54px;right:0}.nowline:before{content:"";background:var(--terra);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}.agenda{padding:8px 12px 16px;display:none}.agenda.show{display:block}.agenda .daypick{scrollbar-width:none;gap:8px;padding:10px 4px;display:flex;overflow-x:auto}.agenda .daypick::-webkit-scrollbar{display:none}.agenda .daypick .d{text-align:center;cursor:pointer;border:1px solid var(--line);background:var(--surface);width:54px;font-family:var(--sans);color:var(--ink-soft);border-radius:14px;flex:none;padding:9px 0}.agenda .daypick .d.active{background:var(--terra);color:#fff;border-color:var(--terra)}.agenda .daypick .d .dow{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:10.5px;font-weight:600}.agenda .daypick .d .dn{font-family:var(--serif);margin-top:2px;font-size:19px;font-weight:600}.agenda .daypick .d.active .dn{color:#fff}.agenda .daypick .d{position:relative}.agenda .daypick .d .mark{background:var(--terra);border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.agenda .daypick .d.active .mark{background:var(--cream)}.agenda .daypick .d.empty-day{opacity:.55}.agenda .daypick .d.active.empty-day{opacity:1}.agenda-empty .empty{padding:22px 12px 6px}.agenda-empty .empty-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:6px 6px 2px;display:flex}.agenda-empty .empty-head>span{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:11px;font-weight:700}.jump-btn{border:1px solid var(--line);background:var(--cream);color:var(--ink);font-family:var(--sans);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:700;transition:background .12s,transform .12s}.jump-btn:hover{background:var(--cream-2);transform:translateY(-1px)}.acard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;text-align:left;width:calc(100% - 8px);font-family:var(--sans);color:var(--ink);align-items:stretch;gap:14px;margin:12px 4px;padding:14px;transition:transform .12s;display:flex}.acard:hover{transform:translateY(-2px)}.acard .time{text-align:center;flex:0 0 58px}.acard .time .h{font-family:var(--serif);font-size:18px;font-weight:600}.acard .time .dur{color:var(--ink-soft);font-size:11px}.acard .bar{border-radius:99px;width:5px}.acard .body{flex:1;min-width:0}.acard .body .t{font-size:16px;font-weight:700}.acard .body .m{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:13px;display:flex}.acard .body .m .dot{background:var(--ink-soft);border-radius:50%;width:5px;height:5px}.acard .cta{flex:none;align-self:center}.seatdots{flex-wrap:wrap;gap:3px;margin-top:7px;display:flex}.seatdots i{background:var(--terra);border-radius:50%;width:7px;height:7px}.seatdots i.free{background:var(--line)}.btn{cursor:pointer;font-family:var(--sans);background:var(--terra);color:#fff;text-align:center;border:0;border-radius:12px;padding:11px 18px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .12s,background .12s;display:inline-block;box-shadow:0 8px 18px -10px #38514b8c}.btn:hover{background:var(--terra-ink);transform:translateY(-1px)}.btn:disabled{cursor:default;opacity:.55;filter:none;transform:none}.btn.ghost{background:var(--cream);color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.dark{background:var(--ink)}.btn.danger{color:#a6534b;box-shadow:none;background:#c97c751f;border:1px solid #c97c7573}.btn.danger:hover{background:#c97c7538}.danger-zone{background:linear-gradient(0deg, #c97c750d, #c97c750d), var(--surface);border-color:#c97c7566}.reset-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reset-form input{font-family:var(--sans);color:var(--ink);background:var(--cream);border:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;border-radius:12px;outline:none;max-width:180px;padding:12px 14px;font-size:15px}.reset-form input:focus{border-color:var(--blush);box-shadow:0 0 0 3px #c97c752e}.month{padding:14px;display:none}.month.show{display:block}.month .dow-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.month .dow-row span{text-align:center;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:11px;font-weight:700}.month .grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.mcell{border:1px solid var(--line);background:var(--cream);border-radius:14px;min-height:92px;padding:8px;position:relative}.mcell.dim{opacity:.4}.mcell .n{font-family:var(--sans);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0;font-size:13px;font-weight:700;transition:background .12s;display:inline-flex;position:relative}.mcell .n:hover{background:var(--cream-2)}.mcell .n .mark{background:var(--terra);border-radius:50%;width:5px;height:5px;margin-left:4px}.mcell.today .n{background:var(--terra);color:#fff;width:24px;min-width:24px;height:24px}.mcell.today .n:hover{background:var(--terra-ink)}.mcell.today .n .mark{display:none}.mcell .more{color:var(--ink-soft);cursor:pointer;font-size:10.5px;font-weight:700;font-family:var(--sans);text-align:left;background:0 0;border:0;margin-top:4px;padding:2px 0;display:block}.mcell .more:hover{color:var(--ink)}.chip{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;text-align:left;width:100%;font-size:10.5px;font-weight:700;font-family:var(--sans);border:0;border-radius:7px;margin-top:5px;padding:3px 7px;display:block;overflow:hidden}.chip .ct{font-variant-numeric:tabular-nums}.scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;z-index:40;background:#211b1780;transition:opacity .25s;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}.sheet{-webkit-overflow-scrolling:touch;width:min(520px,100%);max-height:88vh;box-shadow:var(--shadow-lg);z-index:50;padding:10px 22px calc(30px + env(safe-area-inset-bottom,0px));background:#f4f6f5;border-radius:26px 26px 0 0;transition:transform .32s cubic-bezier(.2,.8,.2,1);position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%,110%)}.sheet.show{transform:translate(-50%)}.sheet .grab{background:var(--line);border-radius:99px;width:42px;height:5px;margin:6px auto 16px}.sheet .tag{text-transform:uppercase;letter-spacing:.1em;color:#fff;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-block}.sheet h2{font-family:var(--serif);letter-spacing:-.01em;margin:12px 0 4px;font-size:28px;font-weight:600}.sheet .when{color:var(--ink-soft);font-size:15px}.sheet .row{flex-wrap:wrap;gap:14px;margin:18px 0;display:flex}.sheet .stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex:1;min-width:120px;padding:14px}.sheet .stat .k{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:11px;font-weight:700}.sheet .stat .v{font-family:var(--serif);margin-top:3px;font-size:22px;font-weight:600}.sheet .actions{gap:10px;margin-top:8px;display:flex}.sheet .actions .btn{text-align:center;flex:1}.sheet .cancel-note{color:var(--ink-soft);margin:-2px 2px 12px;font-size:12.5px;font-weight:600}.sheet .cancel-note.warn{color:#a6534b}.sheet .err{color:#a6534b;background:#c97c751f;border:1px solid #c97c7559;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:13.5px;font-weight:600}.sheet .note{color:var(--terra-ink);background:#5c7e761f;border:1px solid #5c7e764d;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:13.5px;font-weight:600}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:9px 6px calc(20px + env(safe-area-inset-bottom,0px));z-index:30;scrollbar-width:none;border-radius:0;justify-content:space-around;gap:0;width:100%;display:none;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;transform:none;box-shadow:0 -10px 30px -22px #23302c66}.tabbar::-webkit-scrollbar{display:none}.tabbar form{display:contents}.tabbar a,.tabbar button{color:var(--muted);font-size:10px;font-weight:500;font-family:var(--sans);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 6px;text-decoration:none;display:flex}.tabbar a.active{color:var(--terra);background:0 0;font-weight:700}.tabbar a .ic,.tabbar button .ic{font-size:17px}.tabbar button.active{color:var(--terra);font-weight:700}.tabmore-scrim{z-index:39;background:#23302c40;position:fixed;inset:0}.tabmore{right:10px;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:40;border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:2px;min-width:170px;padding:8px;display:flex;position:fixed;box-shadow:0 18px 40px -18px #23302c73}.tabmore a{color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.tabmore a.active,.tabmore a:hover{background:var(--cream);color:var(--terra-ink)}.tabmore a .ic{color:var(--ink-soft);font-size:16px}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:26px;padding:clamp(18px,3vw,28px)}.section-title{font-family:var(--serif);letter-spacing:-.01em;margin-bottom:14px;font-size:22px;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;transition:transform .12s}.tile.link:hover{transform:translateY(-2px)}.tile .tile-title{font-family:var(--serif);font-size:18px;font-weight:600}.tile .tile-meta{color:var(--ink-soft);margin-top:4px;font-size:13.5px}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);border-bottom:1px solid var(--line);padding:8px 10px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--line);padding:12px 10px;font-size:14px}.data-table tr:last-child td{border-bottom:0}.badge{text-transform:uppercase;letter-spacing:.06em;background:var(--cream-2);color:var(--ink-soft);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.badge.present{color:var(--terra-ink);background:#5c7e7629}.badge.noshow{color:#a6534b;background:#c97c7529}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);box-shadow:var(--shadow-lg);text-align:center;border-radius:28px;padding:clamp(26px,5vw,40px)}.auth-card .mark{background:var(--terra);border-radius:15px;place-items:center;width:52px;height:52px;margin:0 auto 18px;display:grid;box-shadow:0 8px 20px -10px #38514b80}.auth-card .mark span{font-family:var(--serif);color:#fff;font-size:28px;font-weight:600}.auth-card h1{font-family:var(--serif);letter-spacing:-.02em;font-size:30px;font-weight:600}.auth-card .lead{color:var(--ink-soft);margin-top:6px;margin-bottom:22px;font-size:14.5px}.field{text-align:left;margin-bottom:14px}.field label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field input{width:100%;font-family:var(--sans);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:12px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .12s,box-shadow .12s}.field input:focus{border-color:var(--terra);box-shadow:0 0 0 3px #5c7e762e}.auth-card .btn{width:100%;margin-top:6px}.auth-error{color:#a6534b;background:#c97c751f;border:1px solid #c97c7559;border-radius:12px;margin-bottom:18px;padding:10px 14px;font-size:13.5px;font-weight:600}.auth-note{color:var(--terra-ink);background:#5c7e761f;border:1px solid #5c7e764d;border-radius:12px;margin-bottom:18px;padding:10px 14px;font-size:13.5px;font-weight:600}.empty{text-align:center;color:var(--ink-soft);padding:28px}.auth-ok{color:var(--terra-ink);background:#5c7e761f;border:1px solid #5c7e7659;border-radius:12px;padding:10px 14px;font-size:13.5px;font-weight:600}.auth-alt{color:var(--ink-soft);margin-top:18px;font-size:14px}.auth-alt a{color:var(--terra);font-weight:700;text-decoration:none}.consent{text-align:left;color:var(--ink-soft);align-items:flex-start;gap:9px;margin:4px 0 16px;font-size:13px;display:flex}.consent input{flex:none;margin-top:2px}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.member-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;display:grid}@media (max-width:640px){.field-row,.member-form{grid-template-columns:1fr}}.invite-row{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:flex-start;gap:16px;padding:14px;display:flex}.invite-row img{background:#fff;border-radius:8px;flex:none}.invite-class{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-sm);margin:14px 0 18px;padding:16px}@media (max-width:520px){.invite-row{text-align:center;flex-direction:column;align-items:center}}.pub-wrap{max-width:640px;font-family:var(--sans);color:var(--ink);margin:0 auto;padding:22px 18px 32px}.pub-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.pub-head h1{font-family:var(--serif);font-size:30px;font-weight:600}.pub-sub{color:var(--muted);font-size:13px}.pub-days{flex-direction:column;gap:18px;display:flex}.pub-daylabel{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:8px;font-size:12px;font-weight:700}.pub-list{flex-direction:column;gap:6px;list-style:none;display:flex}.pub-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:58px 1fr auto auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.pub-time{font-variant-numeric:tabular-nums;font-weight:700}.pub-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.pub-instr{color:var(--ink-soft);font-size:13px}.pub-badge{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.pub-badge.free{color:var(--terra-ink);background:#5c7e761f}.pub-badge.full{color:#a6534b;background:#c97c7524}.pub-empty{color:var(--ink-soft);padding:24px 0}.code-url{background:var(--cream);border:1px solid var(--line);word-break:break-all;white-space:pre-wrap;color:var(--ink);border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:block}.note-item{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px}.note-item small{margin-top:4px;display:block}.att-level{border-top:1px solid var(--line);flex-basis:100%;align-items:center;gap:6px;margin-top:8px;padding-top:8px;display:flex}.att-level select{flex:1;min-width:0}.pub-foot{text-align:center;margin-top:22px}.pub-foot a{background:var(--terra);color:#fff;border-radius:12px;padding:11px 20px;font-weight:700;text-decoration:none;display:inline-block}@media (max-width:480px){.pub-item{grid-template-columns:50px 1fr auto}.pub-instr{display:none}}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.stat-tile .k{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:11px;font-weight:700}.stat-tile .v{font-family:var(--serif);letter-spacing:-.02em;margin-top:6px;font-size:34px;font-weight:600;line-height:1.05}.stat-tile .v em{color:var(--ink-soft);font-size:16px;font-style:normal;font-family:var(--sans);font-weight:600}.stat-tile .sub{color:var(--ink-soft);margin-top:4px;font-size:12.5px}.qlink{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);flex-direction:column;gap:6px;padding:20px;transition:transform .12s;display:flex}.qlink:hover{transform:translateY(-2px)}.qlink .qt{font-family:var(--serif);font-size:19px;font-weight:600}.qlink .qm{color:var(--ink-soft);font-size:13.5px}.qlink .qarrow{color:var(--terra-ink);margin-top:6px;font-size:13px;font-weight:700}.occ{align-items:center;gap:10px;min-width:130px;display:flex}.occ .track{background:var(--cream-2);border-radius:999px;flex:1;height:8px;overflow:hidden}.occ .fill{background:var(--terra);border-radius:999px;height:100%}.occ .fill.high{background:var(--sage)}.occ .pct{font-variant-numeric:tabular-nums;color:var(--ink-soft);text-align:right;min-width:38px;font-size:12.5px;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:14px;display:grid}.form-grid .field{margin-bottom:0}.field select,.field input[type=datetime-local],.field input[type=number]{width:100%;font-family:var(--sans);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:12px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .12s,box-shadow .12s}.field select:focus,.field input:focus{border-color:var(--terra);box-shadow:0 0 0 3px #5c7e762e}.inline-grant{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-grant select{font-family:var(--sans);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:10px;outline:none;max-width:220px;padding:8px 10px;font-size:13.5px}.uren-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px 14px;display:grid}.uren-form label{flex-direction:column;gap:6px;display:flex}.uren-form label>span{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);font-size:12px;font-weight:700}.uren-form input,.uren-form select{width:100%;font-family:var(--sans);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:10px;outline:none;padding:10px 12px;font-size:14.5px;transition:border-color .12s,box-shadow .12s}.uren-form input:focus,.uren-form select:focus{border-color:var(--terra);box-shadow:0 0 0 3px #5c7e762e}.uren-form-wide{grid-column:1/-1}.uren-form-actions{align-items:end;gap:8px;display:flex}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.table-scroll .data-table{min-width:560px}@media (max-width:820px){.pill-nav{display:none}.week{-webkit-overflow-scrolling:touch;overflow:auto}.week-grid{min-width:760px}.month{padding:10px 8px}.month .dow-row,.month .grid{gap:4px}.mcell{border-radius:10px;min-height:58px;padding:5px 4px}.mcell .n{min-width:18px;height:18px;font-size:12px}.mcell.today .n{width:20px;min-width:20px;height:20px}.mcell .n .mark{width:4px;height:4px;margin-left:0;position:absolute;top:-2px;right:-3px}.chip{border-radius:5px;margin-top:3px;padding:2px 5px;font-size:9.5px}.chip .cn{display:none}.mcell .more{margin-top:3px;font-size:9.5px}.hero{align-items:stretch}.credits{justify-content:space-between;width:100%}.tabbar{display:flex}.view-switch{order:3;width:100%;margin-top:10px}.view-switch button{flex:1}.cal-head{gap:10px}}.contained{width:100%;max-width:760px;margin-inline:auto}.dsession-list{flex-direction:column;gap:10px;display:flex}.dsession{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);align-items:center;gap:14px;padding:14px 16px 14px 20px;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex;position:relative;overflow:hidden}.dsession:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.dsession.quiet{opacity:.6}.dsession.static{cursor:default}.dsession.static:hover{box-shadow:var(--shadow);transform:none}.ml-note{color:var(--ink-soft);margin-top:4px;font-size:12px}.ml-note.warn{color:#a6534b}.ml-right{flex:none}.cancel-confirm{flex-direction:column;align-items:flex-end;gap:8px;max-width:240px;display:flex}.cancel-confirm-msg{color:var(--ink-soft);text-align:right;font-size:12px;font-weight:600}.cancel-confirm-msg.warn{color:#a6534b}.cancel-confirm-actions{gap:8px;display:flex}.ledger-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ledger-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 2px;display:flex}.ledger-item:last-child{border-bottom:0}.ledger-main{flex-direction:column;gap:2px;min-width:0;display:flex}.ledger-label{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.ledger-date{color:var(--ink-soft);font-size:12px}.ledger-delta{color:var(--ink-soft);flex:none;font-size:14px;font-weight:800}.ledger-delta.plus{color:var(--terra-ink)}.ledger-delta.min{color:#a6534b}.acard.past{opacity:.55}.ev.past{opacity:.45;filter:saturate(.5)}.chip.past{opacity:.45}.dsession .dbar{width:6px;position:absolute;top:0;bottom:0;left:0}.dsession .dmain{flex:1;min-width:0}.dsession .dtitle{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.dsession .dwhen{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.dsession .dcount{text-align:right;flex:none;width:88px}.dsession .dnum{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1}.dsession .dnum span{color:var(--ink-soft);font-size:14px}.dsession .dlbl{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:1px;font-size:10.5px;font-weight:700}.dfill{background:var(--cream-2);border-radius:99px;height:6px;margin-top:7px;overflow:hidden}.dfill span{border-radius:99px;height:100%;display:block}.back-link{color:var(--ink-soft);align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}.checkin-card{background:var(--sage);color:#fff;border-radius:var(--radius);padding:18px}.checkin-pill{background:#ffffff29;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.checkin-when{color:#ffffffb3;margin:12px 0 2px;font-size:13px}.checkin-count{align-items:flex-end;gap:8px;display:flex}.checkin-count .big{font-family:var(--serif);font-size:38px;line-height:1}.checkin-count .of{color:#ffffffb3;padding-bottom:4px;font-size:15px}.checkin-bar{background:#fff3;border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.checkin-bar span{background:#fff;border-radius:999px;height:100%;display:block}.checkin-sub{color:#fff9;margin-top:8px;font-size:12.5px}.att-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:4px 2px 10px;font-size:11px;font-weight:700}.attlist{flex-direction:column;gap:8px;display:flex}.attrow{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.att-avatar{color:#fff;border-radius:999px;flex:none;place-items:center;width:38px;height:38px;font-size:14px;font-weight:700;display:grid}.att-who{flex:1;min-width:0}.att-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;overflow:hidden}.att-mail{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.att-actions{flex:none;gap:6px;display:flex}.att-actions form{display:contents}.att-pill{cursor:pointer;font-family:var(--sans);border:0;border-radius:999px;align-items:center;gap:5px;padding:7px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.att-pill.present{background:var(--terra);color:#fff}.att-pill.present:hover{background:var(--terra-ink)}.att-pill.noshow{color:#a6534b;background:#c97c7524;border:1px solid #c97c7566}.att-pill.noshow:hover{background:#c97c7538}.att-btn{cursor:pointer;font-family:var(--sans);border:0;border-radius:9px;padding:7px 12px;font-size:12.5px;font-weight:700}.att-btn.yes{background:var(--cream-2);color:var(--terra-ink)}.att-btn.yes:hover{background:#d3e2dd}.att-btn.no{background:var(--surface);color:#a6736f;border:1px solid #e2d7d7;font-weight:600}.att-btn.no:hover{background:#f7efef}@media (max-width:820px){.dsession{gap:10px;padding:12px 12px 12px 16px}.dsession .dtitle{font-size:15px}.dsession .dcount{width:76px}}.a2hs{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;display:flex}.a2hs-ic{flex:none;font-size:22px;line-height:1}.a2hs-tx{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.a2hs-tx strong{color:var(--ink);font-size:14px}.a2hs-tx span{color:var(--ink-soft);font-size:12px}.a2hs-go{cursor:pointer;font-family:var(--sans);color:#fff;background:var(--terra);border:0;border-radius:999px;flex:none;padding:9px 14px;font-size:13px;font-weight:700}.a2hs-go:hover{background:var(--terra-ink)}.a2hs-x{cursor:pointer;color:var(--ink-soft);background:0 0;border:0;flex:none;padding:2px 4px;font-size:22px;line-height:1}.a2hs-modal{z-index:90;background:#141c1973;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.a2hs-modal-card{background:var(--surface);border-radius:20px;width:100%;max-width:420px;padding:22px 20px;box-shadow:0 20px 60px #0000004d}.a2hs-modal-card h3{font-family:var(--serif);color:var(--ink);margin:0 0 14px;font-size:20px}.a2hs-modal-card ol{color:var(--ink);flex-direction:column;gap:11px;margin:0 0 18px;padding-left:22px;font-size:14.5px;line-height:1.4;display:flex}.a2hs-share{vertical-align:-4px;color:#007aff;display:inline-flex}.a2hs-done{cursor:pointer;width:100%;font-family:var(--sans);color:#fff;background:var(--terra);border:0;border-radius:12px;padding:12px;font-size:14px;font-weight:700}.a2hs-done:hover{background:var(--terra-ink)}@media (min-width:821px){.a2hs-modal{align-items:center}}.spotpick{margin:14px 0}.spot-mid{align-items:stretch;gap:8px;display:flex}.spot-grid{flex:1;gap:8px;display:grid}.spot{aspect-ratio:1.4;color:var(--terra-ink,#38514b);cursor:pointer;background:#fff;border:1.5px solid #5c7e7680;border-radius:9px;font-weight:700}.spot.sel{background:var(--terra,#c8702f);color:#fff;border-color:var(--terra,#c8702f);box-shadow:0 0 0 3px #5c7e7640}.spot.taken{color:#a8a196;cursor:default;background:#edeae3;border:1px dashed #d5cfc3;text-decoration:line-through}.spot.blocked{background:repeating-linear-gradient(45deg,#f3ece0,#f3ece0 5px,#e8ddca 5px 10px)}.spot.mine{border-color:var(--terra,#c8702f)}.spot-edge{color:#fff;letter-spacing:2px;text-align:center;background:#21304f;border-radius:6px;justify-content:center;align-items:center;padding:5px;font-size:10px;display:flex}.spot-edge.left,.spot-edge.right{writing-mode:vertical-rl;padding:4px}.spot-edge.left{transform:rotate(180deg)}.spot-edge.top{margin-bottom:10px}.spot-edge.bottom{margin-top:10px}.spot-legend{color:var(--ink-soft,#5e6c66);gap:14px;margin-top:10px;font-size:12.5px;font-weight:600;display:flex}.spot-legend i{vertical-align:middle;border:1.5px solid #5c7e7680;border-radius:3px;width:12px;height:12px;display:inline-block}.spot-legend i.sel{background:var(--terra,#c8702f);border-color:var(--terra,#c8702f)}.spot-legend i.taken{background:#edeae3;border:1px dashed #d5cfc3}.zaal-newform{flex-wrap:wrap;gap:10px;display:flex}.zaal-newform input{border:1px solid var(--line);background:var(--surface);min-width:200px;font:inherit;color:var(--ink);border-radius:12px;flex:1;padding:10px 12px}.zaal-grid{gap:8px;max-width:420px;margin-bottom:16px;display:grid}.zaal-cell{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--ink);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:transform .1s,background .1s,border-color .1s;display:flex}.zaal-cell:hover{transform:translateY(-1px)}.zaal-cell.empty{color:var(--ink-soft);background:0 0;border-style:dashed;font-weight:400}.zaal-cell.off{color:var(--ink-soft);background:#ece3d4;border-color:#0000}.zaal-cell.sel{border-color:var(--terra);box-shadow:0 0 0 2px #5c7e7640}.zaal-inspector{border:1px solid var(--line);background:var(--cream);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.zaal-markers{flex-direction:column;gap:8px;display:flex}.marker-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.marker-row>strong{width:60px;color:var(--terra-ink)}.marker-row>span{min-width:80px;color:var(--ink-soft)}.marker-row .btn{padding:6px 10px;font-size:12px}
