:root{--page:#f6f5f2;--surface:#fff;--surface-2:#faf9f6;--line:#e7e4de;--line-2:#d6d2c9;--ink:#16181c;--ink-2:#5c5f66;--ink-3:#9a9a95;--press:#000;--c-client:#3a5a7a;--c-client-bg:rgba(58,90,122,.1);--c-office:#3f6f5e;--c-office-bg:rgba(63,111,94,.1);--c-home:#6e7178;--c-home-bg:hsla(222,4%,45%,.11);--c-aho:#9a7b3c;--c-aho-bg:rgba(154,123,60,.13);--c-hol:#6e5c86;--c-hol-bg:rgba(110,92,134,.11);--c-sick:#a8503f;--c-sick-bg:rgba(168,80,63,.1);--c-custom:#4e7480;--c-custom-bg:rgba(78,116,128,.1);--shadow:0 1px 2px rgba(20,24,28,.04),0 10px 30px rgba(20,24,28,.05);--shadow-lg:0 24px 60px rgba(20,24,28,.18)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--page);color:var(--ink);font-family:Inter,-apple-system,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}button{font-family:inherit}input,select{font-family:Inter,sans-serif;color:var(--ink)}::selection{background:rgba(20,24,28,.12)}.eyebrow,.mono{font-family:IBM Plex Mono,monospace}.eyebrow{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.eyebrow,.muted{color:var(--ink-3)}.soft{color:var(--ink-2)}.topbar{background:hsla(0,0%,100%,.82);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:40}.wrap{max-width:1140px;margin:0 auto;padding:0 26px}.main{padding:28px 26px 96px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-380px 0}to{background-position:380px 0}}.fade{animation:fade .4s ease both}.fadeup{animation:fadeUp .5s cubic-bezier(.2,.7,.3,1) both}.pop{animation:pop .26s cubic-bezier(.32,1.4,.6,1) both}.btn{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);padding:8px 14px;border-radius:9px;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .16s,color .16s,background .16s,transform .1s}.btn:hover{border-color:var(--ink)}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}.btn-primary:hover{background:var(--press)}.btn-ghost{background:none;border:none;color:var(--ink-2);cursor:pointer;font-size:13px;padding:6px;transition:color .15s}.btn-ghost:hover{color:var(--ink)}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.ico-btn{width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:15px;color:var(--ink-2)}.ico-btn:hover{color:var(--ink)}.input,.select{background:var(--surface);border:1px solid var(--line-2);border-radius:9px;padding:9px 11px;font-size:13px;width:100%;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(20,24,28,.08)}.lbl{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink-2);margin-bottom:6px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.tabbar{position:relative;display:flex;gap:26px}.tab{background:none;border:none;padding:14px 1px;font-size:14px;font-weight:500;color:var(--ink-3);cursor:pointer;transition:color .18s;letter-spacing:-.005em}.tab:hover{color:var(--ink-2)}.tab.on{color:var(--ink);font-weight:600}.tab-ind{position:absolute;bottom:-1px;height:2px;background:var(--ink);border-radius:2px;transition:left .28s cubic-bezier(.4,.1,.2,1),width .28s cubic-bezier(.4,.1,.2,1)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid transparent}.day{border:1px solid var(--line);border-radius:13px;padding:13px 13px 15px;cursor:pointer;background:var(--surface);transition:transform .16s,box-shadow .16s,border-color .16s;min-height:120px;position:relative}.day:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.day .today-tag{position:absolute;top:11px;right:11px;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.1em;color:var(--ink);background:var(--page);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px}.gcell{border-radius:8px;padding:7px 8px;min-height:50px;font-size:11px;line-height:1.32}.gempty{border:1px dashed var(--line-2);justify-content:center;color:var(--ink-3)}.gempty,.opt{display:flex;align-items:center}.opt{gap:11px;padding:11px 13px;border-radius:10px;cursor:pointer;border:1px solid var(--line);background:var(--surface);transition:border-color .14s,background .14s,box-shadow .14s}.opt:hover{border-color:var(--line-2);background:var(--surface-2)}.opt.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}.scrim{inset:0;background:rgba(16,18,22,.34);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;animation:fade .22s ease both}.scrim,.sheet{position:fixed}.sheet{top:0;right:0;height:100%;width:424px;max-width:92vw;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:61;padding:24px;display:flex;flex-direction:column;animation:slideIn .32s cubic-bezier(.22,1,.36,1) both;overflow-y:auto}@keyframes slideIn{0%{transform:translateX(34px);opacity:.3}to{transform:none;opacity:1}}.badge{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.04em;border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;color:var(--ink-2)}.progress{height:3px;background:var(--line);border-radius:3px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--ink);border-radius:3px;transition:width .6s cubic-bezier(.3,.8,.3,1)}.skel{border-radius:13px;min-height:120px;background:linear-gradient(90deg,#efece6,#f6f4ef 120px,#efece6 240px);background-size:760px 100%;animation:shimmer 1.3s linear infinite}table{border-collapse:collapse;width:100%}.logo-img{height:38px;width:auto;display:block}@media (max-width:760px){.wrap{padding:0 16px}.main{padding:18px 16px 84px}.sheet{top:auto;bottom:0;left:0;right:0;width:100%;max-width:none;height:auto;max-height:88vh;border-left:none;border-top:1px solid var(--line);border-radius:18px 18px 0 0}.hide-sm{display:none!important}}@media (prefers-reduced-motion:reduce){*{animation:none!important}.day:hover{transform:none}.progress>i,.tab-ind{transition:none}}