:root{color-scheme:light;--bg:#f7f8fc;--surface:#fff;--raised:#eef0f7;--text:#222536;--muted:#60677c;--line:#dce0ec;--accent:#7548db;--accent-soft:#eee7fc;--on-accent:#fff;--green:#167744;--amber:#886000;--red:#b93047;--focus:#7145d7;--shadow:0 12px 40px #11132426;--nav-height:76px}
:root[data-theme=dark]{color-scheme:dark;--bg:#11131b;--surface:#1c1f2e;--raised:#272b3d;--text:#f2f3fa;--muted:#b2b6c9;--line:#34384c;--accent:#9b80f5;--accent-soft:#35294f;--on-accent:#181026;--green:#78d6a5;--amber:#ebce7b;--red:#f196a6;--focus:#b89dff;--shadow:0 12px 40px #0006}
*{box-sizing:border-box}html{background:var(--bg);scroll-padding-bottom:110px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:transparent;border:0;min-height:44px;border-radius:12px;padding:10px 12px}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input,select{color:var(--text);background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:11px 12px;min-height:46px;max-width:100%;min-width:0}input:not([type=checkbox]),label>select{display:block;width:100%;margin-top:8px}input[type=checkbox]{width:20px;height:20px;min-height:20px;vertical-align:middle;accent-color:var(--accent);margin:0 10px 0 0}label{display:block;margin:16px 0;color:var(--text)}h1,h2,p{margin:0}h1{font-size:24px;line-height:1.25;margin:20px 0 16px;font-weight:700}h2{font-size:18px;line-height:1.35;margin:24px 0 12px;font-weight:650}p{margin:12px 0}small,.muted,.caption,.footer-note{font-size:14px;color:var(--muted)}.caption,.footer-note{line-height:1.5}.mono{font-variant-numeric:tabular-nums}.icon{display:inline-block;width:24px;height:24px;flex:0 0 24px;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat;vertical-align:middle}.icon-button{width:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center}.text-button{color:var(--accent);font-weight:600}.primary{display:block;width:100%;text-align:center;padding:14px 16px;min-height:50px;background:var(--accent);color:var(--on-accent);font-weight:650;text-decoration:none;border-radius:14px}.danger,.error{color:var(--red)}.free{color:var(--green)}.maybe{color:var(--amber)}[hidden]{display:none!important}
#app{max-width:560px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:16px 20px 8px}header strong{font-size:23px;letter-spacing:-.7px;white-space:nowrap}header select{max-width:46%;border:0;background:var(--surface);font-weight:600;min-height:42px;padding:8px 28px 8px 12px;text-overflow:ellipsis}main{padding:0 20px calc(var(--nav-height) + var(--app-safe-bottom) + 24px)}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;background:var(--bg);border-top:1px solid var(--line);height:calc(var(--nav-height) + var(--app-safe-bottom));padding:8px 4px calc(8px + var(--app-safe-bottom));display:grid;grid-template-columns:repeat(4,1fr);z-index:20}nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;color:var(--muted);font-size:11px;padding:4px;white-space:nowrap}nav button.active{color:var(--accent)}nav .icon{width:25px;height:25px}
.group-meta{font-size:14px;margin:0 0 14px;color:var(--muted)}.month{display:flex;align-items:center;gap:2px;margin:4px -8px 12px}.month h1{font-size:20px;margin:0;flex:1;text-transform:capitalize;white-space:nowrap;letter-spacing:-.5px}.month select{width:92px;font-size:13px;padding:8px;min-height:40px;border:0;background:var(--surface);margin-left:6px}.month .icon-button{width:34px;min-width:34px;padding:5px}.week,.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week{font-size:12px;color:var(--muted);text-align:center;margin-bottom:7px}.grid button{padding:5px 0;min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;border-radius:12px}.grid strong{font-size:16px;font-weight:600}.grid small{font-size:12px;line-height:16px}.grid .chosen{background:var(--accent);color:var(--on-accent)}.grid .chosen small{color:var(--on-accent)}.grid .today:not(.chosen){background:var(--accent-soft);color:var(--accent)}.grid button:disabled{opacity:.33}.calendar-help{margin:8px 0 16px;font-size:12px;color:var(--muted)}.calendar-help summary{cursor:pointer;min-height:30px}.calendar-help p{font-size:13px}.panel{background:var(--surface);border-radius:24px;padding:20px 16px 16px;margin:18px -4px 0}.panel h2{margin:0 0 4px;font-size:21px;text-transform:capitalize;letter-spacing:-.4px}.day-summary{font-size:14px;color:var(--muted);margin:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel .toolbar{margin:14px 0 10px}.toolbar .muted{font-size:12px}.toolbar .text-button{padding:6px;min-height:36px}.segment{display:flex;background:var(--raised);border-radius:12px;padding:4px;gap:4px;margin:16px 0}.segment button{flex:1;min-width:0;padding:8px 5px;font-size:14px}.segment .active{background:var(--surface);color:var(--accent);font-weight:650}.panel .segment{background:transparent;margin:0;gap:16px}.panel .segment button{flex:0 1 auto;min-height:40px;padding:6px 0;border-radius:0;color:var(--muted)}.panel .segment .active{color:var(--accent);border-bottom:2px solid var(--accent);background:transparent}.slots{display:flex;flex-direction:column;gap:4px}.slots.all{max-height:320px;overflow:auto;overscroll-behavior:contain}.slot{display:flex;text-align:left;align-items:flex-start;gap:12px;width:100%;padding:14px 4px;min-height:86px}.slot>.icon{margin-top:2px;color:var(--muted)}.slot.active>.icon{color:var(--accent)}.slot strong{display:block;font-size:20px;font-weight:650;line-height:1.25}.slot small{display:block;margin-top:6px;font-size:13px;line-height:1.4}.slot.active strong{color:var(--text)}.other-time{display:flex;align-items:center;gap:10px;width:100%;padding:10px 4px;margin:6px 0 12px;color:var(--muted);font-size:14px}.other-time .icon:last-child{margin-left:auto;width:18px}.panel .primary{margin-top:12px}.panel .footer-note{margin-bottom:0;font-size:12px}.day-events{border-top:1px solid var(--line);margin-top:16px;padding-top:4px}
.row{display:block;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);padding:16px;margin:12px 0;overflow-wrap:anywhere}.row h2{margin:12px 0 8px}.row p{margin:8px 0}.badge{display:inline-block;font-size:12px;padding:5px 9px;background:var(--raised);border-radius:8px;color:var(--muted)}.badge.confirmed{color:var(--green)}.time{font-size:26px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{background:var(--raised);padding:8px 12px;border-radius:10px}.answers{display:flex;gap:6px;margin:16px 0}.answers button{flex:1;background:var(--raised);font-size:14px;padding:10px 4px}.answers .active{background:var(--accent);color:var(--on-accent)}.owner-actions{border-top:1px solid var(--line);padding-top:16px;margin-top:24px}.note{background:var(--raised);padding:14px 16px;border-radius:12px;font-size:14px;color:var(--muted)}.empty,.welcome{padding-top:48px;text-align:center}.empty p,.welcome p{margin:16px 0}.welcome .primary{margin:24px 0}.settings-card{background:var(--surface);padding:16px;border:1px solid var(--line);border-radius:16px;margin:16px 0}.settings-card h2{margin:0 0 12px}.settings-card p:last-child{margin-bottom:0}.settings-card .segment{margin-bottom:8px}.form-row{display:flex;gap:12px;align-items:flex-end}.form-row>label{flex:1;min-width:0}.form-row>.text-button{margin-bottom:16px}.window-row{display:flex;gap:10px;align-items:flex-end}.window-row>label{flex:1;min-width:0}.window-row>button{margin-bottom:16px;width:44px;padding:10px;background:var(--raised)}.week-select{display:flex;flex-wrap:wrap;gap:8px}.week-select label{display:flex;align-items:center;background:var(--raised);padding:10px;border-radius:10px;font-size:13px}.week-select input{margin-right:5px}.exception{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.exception>button{float:right;color:var(--red)}.save-bar{position:sticky;bottom:calc(var(--nav-height) + var(--app-safe-bottom) + 8px);background:var(--bg);padding:12px 0 0;margin-top:24px}.save-bar p{font-size:12px;margin:8px 0}.personal-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.personal-slots button{background:var(--raised);padding:10px 3px}.personal-slots strong,.personal-slots small{display:block}.personal-slots small{font-size:12px}.status-free{color:var(--green)}.status-busy{color:var(--red)}.status-maybe{color:var(--amber)}.status-unknown{color:var(--muted)}.part-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:16px 0}.part-tabs button{font-size:12px;background:var(--raised);padding:8px 2px}.part-tabs .active{background:var(--accent);color:var(--on-accent)}
.sheet{position:fixed;inset:0;background:#0008;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding:16px 12px 0}.sheet form{position:relative;background:var(--surface);padding:24px 20px calc(24px + var(--app-safe-bottom));border-radius:24px 24px 0 0;width:100%;max-width:520px;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;box-shadow:var(--shadow)}.sheet h2{font-size:23px;margin:0 48px 16px 0}.sheet .close{position:absolute;top:12px;right:12px;width:44px;padding:10px;color:var(--muted)}.sheet .primary{margin-top:24px}.modal-open{overflow:hidden}#toast{position:fixed;bottom:calc(var(--nav-height) + var(--app-safe-bottom) + 12px);left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:14px 16px;border-radius:14px;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:150;transition:opacity .15s}#toast.show{opacity:1}.busy-overlay{opacity:.65;pointer-events:none}.back{color:var(--accent);padding-left:0}.loading{padding:40px 0;color:var(--muted)}
@media(max-width:359px){header{padding-left:16px;padding-right:16px}header strong{font-size:21px}main{padding-left:16px;padding-right:16px}.month h1{font-size:17px}.month select{width:82px;font-size:12px}.month .icon-button{width:28px;min-width:28px}.grid{gap:2px}.grid small{font-size:11px}.panel{padding:18px 12px}.slot small{font-size:12px}.panel h2{font-size:19px}nav button{font-size:10px}.sheet{padding-left:8px;padding-right:8px}.sheet form{padding-left:16px;padding-right:16px}}@media(min-width:600px){header{padding-top:24px}.sheet{align-items:center;padding:24px}.sheet form{border-radius:24px}.panel{margin-top:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.icon-calendar-check{--icon:url("/icons/calendar-check.svg")}
.icon-calendar-month{--icon:url("/icons/calendar-month.svg")}
.icon-check{--icon:url("/icons/check.svg")}
.icon-chevron-left{--icon:url("/icons/chevron-left.svg")}
.icon-chevron-right{--icon:url("/icons/chevron-right.svg")}
.icon-circle-check{--icon:url("/icons/circle-check.svg")}
.icon-circle{--icon:url("/icons/circle.svg")}
.icon-clock{--icon:url("/icons/clock.svg")}
.icon-plus{--icon:url("/icons/plus.svg")}
.icon-refresh{--icon:url("/icons/refresh.svg")}
.icon-settings{--icon:url("/icons/settings.svg")}
.icon-trash{--icon:url("/icons/trash.svg")}
.icon-user{--icon:url("/icons/user.svg")}
.icon-x{--icon:url("/icons/x.svg")}
header{min-height:62px;padding-top:12px}.group-meta{margin-bottom:8px}.month{margin-bottom:8px}.grid button{height:44px;min-height:44px;line-height:1.2}.grid strong{line-height:19px}.grid small{line-height:15px}.panel{margin:18px -20px 0;padding:20px 16px 12px;border-radius:24px 24px 0 0}.panel h2{text-transform:none}.panel .toolbar{margin:12px 0 8px;height:40px}.panel .segment{padding:0}.slot{min-height:70px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;gap:12px}.slot.active{border-color:#65518e;background:var(--accent-soft)}.slot strong{font-size:17px;line-height:22px}.slot small{font-size:12px;line-height:16px;margin-top:3px}.slot>.icon{width:22px;height:22px;flex-basis:22px}.slots{gap:8px}.other-time{min-height:44px;margin:8px 0 0;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.panel .primary{margin-top:10px;min-height:48px;background:#7850df;color:#fff}.calendar-help{margin-top:14px}@media(max-width:359px){.panel{margin-left:-16px;margin-right:-16px;padding:18px 12px 12px}.slot small{font-size:12px}}
html{scrollbar-width:none}html::-webkit-scrollbar{display:none}:root{--nav-height:64px}nav{padding-top:6px;padding-bottom:calc(6px + var(--app-safe-bottom))}nav button{gap:4px}header{min-height:58px}.group-meta{margin-bottom:4px}.grid{row-gap:2px}.panel h2{font-size:20px;line-height:25px}.panel .toolbar{margin-top:6px;margin-bottom:6px}.slot{padding-top:6px;padding-bottom:6px}.panel .primary{padding-top:12px;padding-bottom:12px;min-height:48px}.other-time{margin-top:6px}.panel{padding-bottom:10px}
.month{margin-bottom:4px}.panel{padding-top:18px}.panel .toolbar{margin-top:4px;margin-bottom:4px}.other-time{margin-top:4px}.panel .primary{margin-top:6px}
#schedule{padding-bottom:100px}.save-bar{position:fixed;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:520px;bottom:calc(var(--nav-height) + var(--app-safe-bottom));z-index:25;margin:0;padding-top:10px}.save-bar p:empty{display:none}.save-bar p{margin:6px 0 8px}
.slots.all{max-height:clamp(160px,calc(100dvh - 540px),250px)}
/* The official Telegram SDK updates these variables on safe-area changes. */
:root{
  --app-safe-top:calc(max(env(safe-area-inset-top,0px),var(--tg-safe-area-inset-top,0px)) + var(--tg-content-safe-area-inset-top,0px));
  --app-safe-bottom:calc(max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)) + var(--tg-content-safe-area-inset-bottom,0px));
  --app-safe-left:calc(max(env(safe-area-inset-left,0px),var(--tg-safe-area-inset-left,0px)) + var(--tg-content-safe-area-inset-left,0px));
  --app-safe-right:calc(max(env(safe-area-inset-right,0px),var(--tg-safe-area-inset-right,0px)) + var(--tg-content-safe-area-inset-right,0px));
}
body{padding:var(--app-safe-top) var(--app-safe-right) 0 var(--app-safe-left)}
nav,.save-bar,#toast{left:calc((100% + var(--app-safe-left) - var(--app-safe-right))/2)}
nav{width:calc(100% - var(--app-safe-left) - var(--app-safe-right))}
.save-bar{width:calc(100% - var(--app-safe-left) - var(--app-safe-right) - 40px)}
#toast{max-width:calc(100% - var(--app-safe-left) - var(--app-safe-right) - 32px)}
.sheet{padding:calc(var(--app-safe-top) + 16px) calc(var(--app-safe-right) + 12px) 0 calc(var(--app-safe-left) + 12px)}
.sheet form{max-height:calc(100dvh - var(--app-safe-top) - 24px)}
#schedule{padding-bottom:calc(100px + var(--app-safe-bottom))}
.meeting-personal{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin:20px 0}
.meeting-personal h2{margin:0 0 12px}.meeting-personal summary{color:var(--accent);min-height:44px;padding:10px 0;font-weight:600;cursor:pointer}
.meeting-personal label{margin-bottom:8px}.meeting-personal .calendar-provider{display:block;width:100%;text-align:left;background:var(--raised);margin:8px 0}

.support-list{display:grid;gap:10px;margin:16px 0}.support-ticket{width:100%;text-align:left;display:grid;gap:6px;overflow-wrap:anywhere}.support-ticket span{font-size:.85em}.support-description{white-space:pre-wrap;overflow-wrap:anywhere}.support-panel textarea{width:100%;box-sizing:border-box;min-height:150px;font:inherit;resize:vertical}.support-history{padding-left:22px}.support-panel h3{overflow-wrap:anywhere}

.support-panel textarea{display:block;margin-top:8px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--raised);color:var(--text)}.support-panel textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.support-ticket{border:1px solid var(--line);background:var(--raised)}.support-panel .close{flex:none}
