:root{color-scheme:dark;--bg:#114B4E;--panel:#0D3B3D;--muted:#1A5659;--line:#2B6467;--text:#F7F3EC;--soft:#AFC7BE;--brand:#C9A24D;--accent:#C9A24D;--danger:#F2A38F;--busy:#AFC7BE;--warn:#E3C77E;--warn-bg:rgba(201,162,77,0.16);--ok-bg:rgba(175,199,190,0.16);--ring:#C9A24D;--surface:#0D3B3D;--surface-sunken:#0A3234;--surface-raised:#15575A;--line-soft:#2B6467;--line-strong:#8DA79E;--line-dashed:#245A5D;--text-strong:#F7F3EC;--text-mid:#EFE7DA;--text-dim:#AFC7BE;--text-faint:#8DA79E;--bubble-own:#AFC7BE;--on-bubble-own:#114B4E;--cal-accent:#AFC7BE;--cal-accent-strong:#EFE7DA;--cal-accent-soft:rgba(175,199,190,0.16);--cal-accent-line:rgba(175,199,190,0.4);--cal-today-tint:rgba(201,162,77,0.07);--cal-offhours:rgba(0,0,0,0.14);--cal-now:#C9A24D;--status-warn:#C9A24D;--status-warn-bg:rgba(201,162,77,0.14);--status-warn-line:rgba(201,162,77,0.5);--status-warn-text:#E3C77E;--status-danger-bg:rgba(242,163,143,0.14);--status-done:#8DA79E;--shadow-1:rgba(0,0,0,0.18);--shadow-2:rgba(0,0,0,0.26);--shadow-3:rgba(0,0,0,0.34);--shadow-4:rgba(0,0,0,0.45);--on-brand:#222222;--scrim:rgba(4,22,23,0.6);--ring-glow:rgba(201,162,77,0.3);--brand-ghost:rgba(201,162,77,0.16);--accent-soft:rgba(201,162,77,0.1);--accent-mid:rgba(201,162,77,0.2);--accent-strong:rgba(201,162,77,0.28);--app-height:100dvh;--app-top:0px;--app-width:100vw}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--panel);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--soft)}button{cursor:pointer}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:6px}.page{min-height:100vh}.nowrap{white-space:nowrap}.topbar{height:48px;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:0 16px;background:var(--panel);position:sticky;top:0;z-index:30}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:700;font-size:18px;text-decoration:none}.muted{color:var(--soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);min-height:34px;padding:0 10px;font-weight:600;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.btn:hover{background:var(--muted)}.btn.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.btn.primary:hover{opacity:.88;background:var(--brand)}.btn.ghost{background:transparent}.btn.ghost:hover,.btn.nav-active{background:var(--muted)}.btn.nav-active{border-color:var(--line-strong)}.btn:disabled{opacity:.5;cursor:default}.btn.icon{min-width:34px;padding:0}.menu-toggle{display:none}.main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(440px,1fr);gap:12px;max-width:1600px;align-items:start}.main,.settings{padding:12px;margin:0 auto}.settings{max-width:920px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}.panel-head{min-height:40px;justify-content:space-between;gap:10px;padding:6px 12px;border-bottom:1px solid var(--line)}.panel-head,.panel-title{display:flex;align-items:center}.panel-title{gap:8px;min-width:0;font-weight:700;overflow-wrap:anywhere}.banner{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid var(--warn);background:var(--warn-bg);color:var(--warn);font-weight:600;text-decoration:none}.banner:hover{filter:brightness(.98)}.chat{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;height:calc(100vh - 72px);position:sticky;top:60px}.suggestions{display:flex;gap:6px;padding:6px 10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.suggestions::-webkit-scrollbar{display:none}.suggestion{flex:0 0 auto;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--soft);padding:4px 10px;font-size:13px;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.suggestion:hover{background:var(--muted);color:var(--text)}@media (prefers-reduced-motion:reduce){.suggestion{transition:none}}.messages{overflow:auto;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.messages>:first-child{margin-top:auto}.msg{max-width:92%;overflow-wrap:anywhere;padding:4px 8px;border-radius:10px;line-height:1.35;white-space:pre-wrap}.msg p{display:inline;margin:0}.msg-time{float:right;margin:5px 0 -3px 10px;font-size:11px;line-height:1;opacity:.6;white-space:nowrap;-webkit-user-select:none;user-select:none}.msg.has-media .msg-time{justify-self:end;margin:0}.day-divider{align-self:center;margin:4px 0}.day-divider span{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--surface-sunken);color:var(--text-dim);font-size:12px;font-weight:600}.msg.user{align-self:flex-end;background:var(--bubble-own);color:var(--on-bubble-own)}.msg.agent{align-self:flex-start;background:var(--muted)}.thinking{display:flex;align-items:center;gap:6px;color:var(--soft)}.thinking .dot{width:6px;height:6px;border-radius:50%;background:var(--soft);animation:blink 1.2s infinite}.thinking .dot:nth-child(2){animation-delay:.2s}.thinking .dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.composer{display:flex;gap:8px;padding:8px 10px;border-top:1px solid var(--line);align-items:flex-end}.composer textarea{flex:1 1;min-height:38px;max-height:140px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.composer .send{min-width:38px;min-height:38px;padding:0;flex:0 0 auto}.assistant-thread{display:contents}.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.top-actions a{text-decoration:none}.list{display:grid;gap:4px;padding:8px 10px 10px}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.row:last-child{border-bottom:0}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--muted);color:var(--soft)}.badge-active,.badge-regular{background:var(--ok-bg);color:var(--accent)}.badge-lead,.badge-needs_master{background:var(--warn-bg);color:var(--warn)}.badge-cancelled{background:var(--status-danger-bg);color:var(--danger)}.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:20px}.auth-card{width:min(100%,420px);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px}.auth-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-flow{display:grid;gap:12px}.form-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.field{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin:8px 0}.field input{min-height:36px;padding:0 10px}.field input,.field textarea{border:1px solid var(--line);border-radius:8px}.field textarea{padding:10px;background:var(--panel);color:var(--text)}.field label{font-weight:600}.error{color:var(--danger)}.saved{display:inline-flex;align-items:center;gap:4px}.parsed,.saved{color:var(--accent);font-weight:600}.parsed{margin:0}.price-text{min-height:150px;resize:vertical;line-height:1.6}.steps-list{margin:0;padding-left:18px;display:grid;gap:4px}.calendar-panel{position:relative}.calendar-grid{display:flex;flex-direction:column;padding:8px 10px 10px;background:var(--panel)}.calendar-empty{margin:12px 0 0;text-align:center}.custom-calendar{--row-h:48px;--col-min:0px;--cal-h:560px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;font-family:inherit}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--surface);gap:8px;flex-wrap:nowrap}.calendar-toolbar-left{display:flex;align-items:center;gap:2px;min-width:0;flex:1 1 auto}.calendar-title{font-size:14px;font-weight:600;color:var(--text-strong);margin-left:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-toolbar-right{display:flex;align-items:center;gap:4px;flex:0 0 auto}.calendar-btn{background:var(--surface);border:1px solid var(--line-soft);color:var(--text-mid);border-radius:6px;font-size:12px;font-weight:600;height:30px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.calendar-btn:hover{background:var(--surface-sunken);border-color:var(--line-strong);color:var(--text-strong)}.calendar-btn.active{background:var(--cal-accent-soft);border-color:var(--cal-accent-line);color:var(--cal-accent)}.calendar-btn:disabled{opacity:.35;cursor:default;background:var(--surface)}.calendar-icon-btn{width:30px;height:30px;padding:0;border-radius:50%;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-mid);transition:background-color .15s}.calendar-icon-btn:hover{background:var(--muted)}.calendar-icon-btn:active{background:var(--line-soft)}.calendar-days-header{display:flex;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}.calendar-header-corner{width:60px;flex-shrink:0;border-right:1px solid var(--line);position:sticky;left:0;z-index:1;background:var(--surface)}.calendar-header-cols{flex:1 1;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.calendar-header-cell{display:flex;flex-direction:column;align-items:center;padding:8px 0;border-right:1px solid var(--line)}.calendar-header-cell:last-child{border-right:0}.calendar-header-dayname{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.calendar-header-daynum{font-size:14px;font-weight:500;color:var(--text-strong);margin-top:4px;width:26px;height:26px;line-height:26px;text-align:center;border-radius:50%}.calendar-header-cell.is-today .calendar-header-dayname{color:var(--cal-accent)}.calendar-header-cell.is-today .calendar-header-daynum{background:var(--cal-accent);color:var(--surface);font-weight:600}.calendar-scroll-area{overflow:auto;max-height:var(--cal-h);position:relative;background:var(--surface);padding-bottom:32px}.calendar-days-header,.calendar-grid-wrapper{min-width:calc(60px + var(--col-min) * var(--cols, 7))}.calendar-grid-wrapper{display:flex;position:relative;padding-top:8px}.time-axis{width:60px;flex-shrink:0;border-right:1px solid var(--line);background:var(--surface);position:sticky;left:0;z-index:2}.time-axis-cell{position:relative;display:flex;justify-content:flex-end;padding-right:8px;height:var(--row-h)}.time-axis-label{position:absolute;top:-7px;color:var(--text-dim);font-size:10px;font-weight:400}.grid-columns-wrapper{flex:1 1;position:relative}.grid-lines-bg{width:100%}.grid-line-row{position:relative;height:var(--row-h);border-bottom:1px solid var(--line-soft);box-sizing:border-box}.grid-line-half{top:50%;border-top:1px dashed var(--line-dashed)}.day-columns,.grid-line-half{position:absolute;left:0;right:0}.day-columns{top:0;bottom:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.day-column{position:relative;height:100%;border-right:1px solid var(--line);container-type:inline-size}.day-column:last-child{border-right:0}.day-column.is-today{background:var(--cal-today-tint)}.non-business-bg{position:absolute;left:0;right:0;background:var(--cal-offhours);pointer-events:none}.custom-event-card{position:absolute;display:flex;flex-direction:column;justify-content:flex-start;border-radius:5px;padding:3px 5px;cursor:pointer;box-shadow:0 1px 2px var(--shadow-1);transition:box-shadow .1s ease;overflow:hidden;border:1px solid transparent;box-sizing:border-box;font:inherit;text-align:left;min-height:14px;container-type:inline-size}.custom-event-card:hover{box-shadow:0 4px 10px var(--shadow-2);z-index:10}.custom-event-card:focus-visible{outline:2px solid var(--ring);outline-offset:1px;z-index:10}.custom-event-card.is-compact{justify-content:center;padding:0 5px}.custom-event-line{display:block;min-width:0;font-size:10px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-event-time{font-size:10px;line-height:13px;font-weight:700;opacity:.9;white-space:nowrap}.custom-event-title{font-size:11px;font-weight:500;line-height:14px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lines,2);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:normal}@container (max-width: 84px){.custom-event-end{display:none}}@container (max-width: 118px){.custom-event-card{padding-left:3px;padding-right:3px}}@container (max-width: 40px){.custom-event-title{display:none}.custom-event-time{font-size:8px;letter-spacing:-.2px}}.custom-event-card.appt-active{background:var(--cal-accent);border-color:var(--cal-accent-strong);color:var(--surface)}.custom-event-card.appt-needs_master{background:var(--status-warn-bg);border-color:var(--status-warn-line);border-left:4px solid var(--status-warn);color:var(--status-warn-text)}.custom-event-card.appt-completed{background:var(--muted);border-color:var(--line-soft);color:var(--text-mid)}.custom-event-card.appt-cancelled{background:var(--bg);border-color:var(--line-soft);border-style:dashed;color:var(--text-faint);text-decoration:line-through;opacity:.8}.now-indicator-line{position:absolute;left:0;right:0;border-top:2px solid var(--cal-now);z-index:5;pointer-events:none}.now-indicator-dot{position:absolute;left:-4px;top:-5px;width:8px;height:8px;background:var(--cal-now);border-radius:50%}.month-view-cells,.month-view-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line)}.month-view-grid{border-bottom:1px solid var(--line)}.month-view-header-cell{background:var(--surface);text-align:center;padding:8px 0;font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase}.month-view-cells{grid-auto-rows:minmax(92px,1fr)}.month-view-cell{background:var(--surface);padding:6px;display:flex;flex-direction:column;gap:4px;overflow:hidden;container-type:inline-size}.month-view-cell.is-non-business{background:var(--cal-offhours)}.month-view-cell-num{align-self:flex-end;font-size:12px;font-weight:500;color:var(--text-mid);width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%}.month-view-cell.is-today .month-view-cell-num{background:var(--cal-accent);color:var(--surface);font-weight:600}.month-view-cell.is-other-month .month-view-cell-num{color:var(--text-faint)}.month-event-pill{display:block;width:100%;font:inherit;font-size:10px;line-height:14px;text-align:left;padding:1px 4px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:1px solid transparent;-webkit-user-select:none;user-select:none;flex:0 0 auto}.month-event-pill:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.pill-time{font-weight:700}.pill-name{margin-left:3px}@container (max-width: 118px){.pill-name{display:none}.month-event-pill{text-align:center}}.month-event-pill.appt-active{background:var(--cal-accent-soft);color:var(--cal-accent);border-color:var(--cal-accent-line)}.month-event-pill.appt-needs_master{background:var(--status-warn-bg);color:var(--status-warn-text);border-color:var(--status-warn-line);border-left:2px solid var(--status-warn)}.month-event-pill.appt-completed{background:var(--muted);color:var(--text-mid);border-color:var(--line-soft)}.month-event-pill.appt-cancelled{background:var(--bg);color:var(--text-faint);border-color:var(--line-soft);text-decoration:line-through}.month-event-more{font-size:10px;color:var(--text-dim);font-weight:500;padding-left:4px}.appt-card{position:fixed;z-index:50;width:280px;display:grid;gap:6px;border:1px solid var(--line);border-left:3px solid var(--busy);border-radius:10px;padding:12px;background:var(--panel);box-shadow:0 12px 32px var(--shadow-4)}.appt-card-needs_master{border-left-color:var(--warn)}.appt-card-cancelled,.appt-card-completed{border-left-color:var(--line)}.appt-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.appt-card .badge{justify-self:start}.appt-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.calendar-widget{display:none}.calendar-widget-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{transition:transform .2s ease;flex:0 0 auto}.chevron.open{transform:rotate(180deg)}.bell,.notifications{position:relative}.bell{min-width:44px;padding:0 10px}.bell-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:var(--surface);font-size:10px;line-height:16px;text-align:center}.notifications-panel{position:absolute;right:0;top:48px;z-index:40;width:min(92vw,380px);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px var(--shadow-3);max-height:70vh;overflow:auto}.notification{position:relative;display:grid;gap:2px;border-bottom:1px solid var(--line);padding:8px 28px 8px 0}.notification:last-child{border-bottom:0}.notification-title{font-weight:600}.notification .notification-remove{position:absolute;top:4px;right:0;min-width:26px;min-height:26px;color:var(--text-dim)}.notification-time{font-size:12px}.notification-action{justify-self:start;margin-top:4px;min-height:30px}.push-row{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 28px);margin:0 14px 14px}.onb{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:var(--panel);animation:onb-in .5s ease both}.onb-leaving{animation:onb-out .25s ease both}.onb-art-side{display:grid;place-items:center;padding:32px;background:radial-gradient(115% 85% at 22% 12%,var(--accent-strong),transparent 62%),radial-gradient(95% 75% at 88% 92%,var(--brand-ghost),transparent 60%),var(--muted)}.onb-art-wrap{width:min(88%,520px);animation:art-in .55s cubic-bezier(.22,1,.36,1) both}.onb-side{display:grid;grid-template-rows:auto auto 1fr auto;gap:18px;padding:28px clamp(20px,5vw,64px);max-width:640px}.onb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px}.onb-mark{font-weight:700;font-size:17px;letter-spacing:.01em}.onb-progress{height:4px;border-radius:999px;background:var(--muted);overflow:hidden}.onb-progress-fill{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .45s cubic-bezier(.22,1,.36,1)}.onb-scene{align-self:center;display:grid;gap:10px;animation:scene-in .42s cubic-bezier(.22,1,.36,1) both}.onb-scene h1{margin:0;font-size:clamp(24px,3.2vw,33px);line-height:1.2;letter-spacing:-.01em}.onb-hint{margin:0;color:var(--soft);font-size:15px;max-width:46ch}.onb-field{margin-top:10px}.onb-field .field{margin:0}.onb-field .field-hint,.onb-field .field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.onb-field input{min-height:46px}.onb-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:8px}.onb-actions .form-actions{margin-left:auto}.onb-back svg,.onb-skip-top{display:none}@media (max-width:640px){.onb-actions>.onb-skip{display:none}.onb-head{justify-content:flex-start;gap:8px}.onb-head>.muted{margin-left:auto}.onb-skip-top{display:inline-flex;min-height:32px;padding:0 4px;border-color:transparent;color:var(--soft);font-size:14px}.onb-actions .form-actions{flex:1 1;flex-wrap:nowrap;gap:8px;margin-left:0}.onb-actions .form-actions .btn.primary{flex:1 1;white-space:nowrap}.onb-back{min-width:44px;padding:0}.onb-back svg{display:inline}.onb-back-text{display:none}}.onb-art{width:100%;height:auto;overflow:visible}.art-blob{fill:var(--accent-soft);animation:blob 9s ease-in-out infinite;transform-origin:120px 100px}.art-line{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.art-accent{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.art-fill{fill:var(--brand);stroke:none}.art-fill-soft{fill:var(--panel)}.art-fill-accent{fill:var(--accent-mid);stroke:var(--accent);stroke-width:2.2}.art-hand-hour{transform-origin:120px 100px;animation:hand 14s linear infinite}.art-hand-minute{transform-origin:120px 100px;animation:hand 3.5s linear infinite}.art-rows>*{animation:row-in .5s ease both}.art-rows>:nth-child(3){animation-delay:.1s}.art-rows>:nth-child(4){animation-delay:.14s}.art-rows>:nth-child(5){animation-delay:.2s}.art-rows>:nth-child(6){animation-delay:.24s}.art-plane{animation:float 4.5s ease-in-out infinite}.art-trail{animation:dash 2.6s linear infinite}.art-sparkle{animation:sparkle 2.8s ease-in-out infinite;transform-origin:center}.art-bubble{animation:pop .5s cubic-bezier(.22,1,.36,1) .15s both;transform-origin:center}.art-pulse{animation:pulse 2.4s ease-in-out infinite;transform-origin:176px 52px}.art-slot{animation:pop .55s cubic-bezier(.22,1,.36,1) .2s both;transform-origin:center}.art-row-late{animation:row-in .5s ease .3s both}@keyframes onb-in{0%{opacity:0}to{opacity:1}}@keyframes onb-out{to{opacity:0;transform:scale(.99)}}@keyframes art-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes scene-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes row-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}@keyframes blob{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes hand{to{transform:rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes dash{to{stroke-dashoffset:-26}}@keyframes sparkle{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.75}}@media (prefers-reduced-motion:reduce){.art-blob,.art-bubble,.art-hand-hour,.art-hand-minute,.art-plane,.art-pulse,.art-row-late,.art-rows>*,.art-slot,.art-sparkle,.art-trail,.onb,.onb-art-wrap,.onb-leaving,.onb-scene,.thinking .dot{animation:none}.btn,.chevron,.onb-progress-fill{transition:none}}@media (max-width:1180px){.main{grid-template-columns:minmax(0,1fr)}.chat{height:min(70vh,620px);position:static}.onb{grid-template-columns:1fr}.onb-art-side{padding:20px;max-height:32vh}.onb-art-wrap{width:min(72%,300px)}.onb-side{max-width:none;padding:20px clamp(16px,5vw,32px) 24px;gap:14px}}@media (max-width:900px){body:has(.home-page),body:has(.people-page),html:has(.home-page),html:has(.people-page){height:100%;overflow:hidden;overscroll-behavior:none}.home-page,.people-page{position:fixed;top:var(--app-top);left:0;width:var(--app-width);height:var(--app-height);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--bg)}.home-page>.topbar,.people-page>.topbar{position:static;top:auto;flex:0 0 auto}.main.home-main{width:100%;max-width:none;height:auto;min-height:0;margin:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:10px}.home-main>*,.main.people>*{min-height:0}.home-main>.banner,.home-main>.calendar-panel{flex:0 0 auto}.banner{order:-2}.calendar-panel{order:-1}.chat{order:0;height:calc(100dvh - 150px - env(safe-area-inset-bottom));min-height:0}.home-main .chat{flex:1 1;height:auto;min-height:0;overflow:hidden;position:static}.chat .messages{max-height:none;min-height:0}.appt-card,.month-more-menu{top:auto!important;left:8px!important;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;z-index:80}.calendar-widget{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 12px;border:0;background:transparent;color:var(--text);text-align:left}.calendar-grid{display:none}.calendar-grid.open{display:flex}.hide-mobile{display:none}.custom-calendar{--col-min:76px;--cal-h:62vh}.calendar-btn{height:32px}.calendar-icon-btn{width:32px;height:32px}.month-view-cells{grid-auto-rows:minmax(62px,auto)}.month-view-cell{padding:4px 3px;gap:2px}.month-event-pill{padding:1px 2px}.btn{min-height:38px}input,select,textarea{font-size:16px}.brand{min-width:38px;min-height:38px}.topbar{padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top))}.main{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.main.people{width:100%;max-width:none;margin:0;height:auto;min-height:0;overflow:hidden;align-items:stretch}.notifications-panel{position:fixed;left:8px;right:8px;top:calc(52px + env(safe-area-inset-top));width:auto}}@media (max-width:640px){.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar-left,.calendar-toolbar-right{flex:1 1 100%}.calendar-toolbar-right .calendar-btn{flex:1 1}.topbar{padding:env(safe-area-inset-top) 12px 0}.main,.main.home-main{padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.main.home-main{gap:8px}.topbar .notifications{margin-left:auto}.menu-toggle{display:inline-flex}.top-actions{display:none;position:fixed;top:calc(52px + env(safe-area-inset-top));left:10px;right:10px;margin-left:0;z-index:80;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 12px 32px var(--shadow-4)}.top-actions.open{display:grid}.top-actions .btn{width:100%;justify-content:flex-start;padding:0 10px}.top-actions .hide-mobile{display:inline}.brand-text{display:none}.wizard-actions{flex-direction:column-reverse;align-items:stretch}.settings-savebar{top:calc(48px + env(safe-area-inset-top));flex-wrap:wrap}}.sheet-backdrop{position:fixed;inset:0;z-index:60;background:var(--scrim);animation:fade-in .16s ease-out}.calendar-sheet-head{display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);margin-bottom:0}.btn,.calendar-btn,.calendar-icon-btn,.custom-event-card,.month-event-pill{-webkit-tap-highlight-color:transparent}.custom-event-card.is-selected,.month-event-pill.is-selected{outline:2px solid var(--ring);outline-offset:1px;box-shadow:0 6px 16px var(--ring-glow);z-index:11}.appt-card{animation:appt-in .14s ease-out;transition:top .14s ease,left .14s ease}.month-event-more{border:0;background:transparent;border-radius:6px;transition:background-color .12s ease,color .12s ease}.month-event-more:hover{background:var(--muted);color:var(--text)}.month-more-menu{position:fixed;z-index:50;width:220px;display:grid;gap:4px;border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--panel);box-shadow:0 12px 32px var(--shadow-4);animation:appt-in .14s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes appt-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.appt-card,.sheet-backdrop{animation:none}.appt-card,.month-event-more{transition:none}}@media (max-width:900px){.calendar-sheet-head{display:flex}.calendar-grid.open{position:fixed;inset:0;z-index:70;overflow:auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);animation:fade-in .16s ease-out}.calendar-grid.open .custom-calendar{--cal-h:calc(100dvh - 128px - env(safe-area-inset-bottom));min-height:100%;border:0;border-radius:0}.calendar-grid.open .calendar-grid-wrapper{max-height:none}.notifications-panel.sheet{position:fixed;inset:0;z-index:70;width:auto;max-height:none;border-radius:0;border:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);animation:fade-in .16s ease-out}.notifications-panel.sheet .list{flex:1 1;overflow:auto;align-content:start}}.field-label{font-weight:600}.hours-grid{display:grid;gap:4px}.hours-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:2px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);transition:border-color .12s ease,background-color .12s ease}.hours-row.is-off{background:var(--muted)}.hours-day{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.hours-day input{width:18px;height:18px;accent-color:var(--brand)}.hours-times{display:flex;align-items:center;gap:6px}.hours-times input{min-height:30px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:var(--panel);color:var(--text)}.hours-off{font-size:14px}.field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--panel);color:var(--text)}.field select,.timezone-select{min-height:36px}@media (max-width:480px){.hours-row{flex-wrap:nowrap;gap:6px;padding:2px 6px}.hours-day{min-width:0;flex:1 1 auto}.hours-day span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hours-off{margin-left:auto;text-align:right;white-space:nowrap}.hours-times{flex:0 0 auto;gap:2px;margin-left:auto}.hours-times input{width:86px;padding:0 2px;font-size:16px;text-align:center}.hours-times input::-webkit-calendar-picker-indicator{display:none}}@media (prefers-reduced-motion:reduce){.hours-row{transition:none}}.tone-list{display:grid;gap:6px}.tone{display:grid;gap:4px;text-align:left;border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--panel);color:var(--text);transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.tone:hover{background:var(--muted)}.tone.is-selected{border-color:var(--ring);box-shadow:0 0 0 1px var(--ring) inset;background:var(--panel)}.tone-title{font-weight:600}.tone-sample{font-size:13px;line-height:1.4}.tone-custom{min-height:64px;resize:vertical}@media (prefers-reduced-motion:reduce){.tone{transition:none}}.settings-savebar{position:sticky;top:56px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;margin-bottom:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 20px var(--shadow-1)}.settings-cards{gap:10px}.settings-card,.settings-cards{display:grid;grid-template-columns:minmax(0,1fr)}.settings-card{gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.settings-card h2{gap:8px;margin:0;font-size:15px;line-height:1.3}.profile-row,.settings-card h2{display:flex;align-items:center}.profile-row{gap:10px;padding:10px 0}.profile-row>div{min-width:0;overflow-wrap:anywhere}.main.people{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}.people-detail-column{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;height:calc(100vh - 72px)}.people-list .list{max-height:calc(100vh - 116px);overflow:auto}.person{display:grid;gap:6px;text-align:left;border:1px solid transparent;border-radius:8px;padding:6px 8px;background:transparent;color:var(--text);transition:background-color .12s ease,border-color .12s ease}.person.is-selected,.person:hover{background:var(--muted)}.person.is-selected{border-color:var(--line)}.person-main{display:grid;gap:2px;color:inherit;text-decoration:none}.person-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.person-name{font-weight:600}.person-meta{font-size:13px}.person-details-card{display:grid;gap:8px;padding:10px 12px}.person-details-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.person-detail-rows{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.person-detail-rows>div{display:grid;gap:2px;min-width:96px}.person-detail-rows strong{font-size:14px}.person-chat{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;height:auto;min-height:0}.person-chat .messages{grid-row:3}.person-chat .composer{grid-row:4}.person-chat-actions{display:flex;align-items:center;gap:8px}.person-chat .panel-head{flex-wrap:wrap;row-gap:8px}.person-chat .panel-title{flex:1 1 160px}.person-chat-actions{margin-left:auto}.person-chat-actions .btn,.person-chat-name{white-space:nowrap}.person-chat-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.person-back,.person-info{display:none}.people-chat-placeholder{min-height:240px;display:grid;place-items:center;padding:24px}.person-chat .composer textarea{flex:1 1;min-height:38px;max-height:140px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:var(--panel);color:var(--text)}.msg.has-media{display:grid;gap:6px;padding:6px 8px}.chat-audio,.chat-video{display:flex;align-items:center;gap:8px;min-width:min(260px,72vw)}.chat-audio audio{width:min(230px,64vw);height:32px}.chat-video{align-items:flex-start}.chat-video video{width:min(180px,58vw);aspect-ratio:1;border-radius:999px;background:var(--brand);object-fit:cover}.msg.user .chat-audio,.msg.user .chat-video{color:var(--on-bubble-own)}.takeover-hint{align-self:start;width:fit-content;max-width:calc(100% - 24px);margin:8px 12px 0;padding:4px 8px;border:1px solid var(--status-warn-line);border-radius:8px;background:var(--warn-bg);color:var(--warn);font-size:13px;line-height:1.25}@media (max-width:1180px){.main.people{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.main.people{grid-template-columns:minmax(0,1fr)}.people-list,.person{width:100%}.people-list .list{max-height:none}.people-list{overflow:hidden}.people-list .list{overflow:auto}.main.people.has-selected .people-list,.main.people:not(.has-selected) .people-chat-placeholder,.main.people:not(.has-selected) .person-chat,.main.people:not(.has-selected) .person-details-card{display:none}.main.people,.people-detail-column{grid-template-rows:minmax(0,1fr)}.people-detail-column{height:auto;min-height:0}.people-detail-column>.person-details-card{display:none}.person-chat{height:100%;overflow:hidden}.person-back,.person-info{display:inline-flex}.person-details-modal{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:80}.person-details-modal .person-details-card{display:grid;border-radius:10px;box-shadow:0 12px 32px var(--shadow-4)}}@media (prefers-reduced-motion:reduce){.person{transition:none}}.auth-demo-hint{margin:16px 0 8px}.person-chat-top{grid-row:2;display:grid;min-width:0}.hint-tip{position:relative;display:inline-flex;align-items:center;color:var(--text-dim);cursor:help;outline:none}.hint-tip:focus,.hint-tip:focus-visible,.hint-tip:hover{color:var(--brand)}.hint-tip:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);left:50%;z-index:50;width:max-content;max-width:min(260px,calc(100vw - 40px));padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 8px 24px var(--shadow-4);color:var(--text);font-size:13px;font-weight:400;line-height:1.4;white-space:normal;opacity:0;pointer-events:none;transform:translateX(-30%);transition:opacity .12s}.hint-tip:focus:after,.hint-tip:hover:after{opacity:1}.accordion{border:1px solid var(--line);border-radius:8px;padding:0 10px}.accordion summary{padding:8px 0;cursor:pointer;color:var(--text-dim);font-weight:600}.accordion[open] summary{border-bottom:1px solid var(--line);margin-bottom:8px}.accordion p{margin:0 0 10px}.demo-explain{position:fixed;top:50%;left:50%;z-index:90;display:grid;gap:12px;width:min(340px,calc(100vw - 32px));padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 12px 32px var(--shadow-4);transform:translate(-50%,-50%)}.demo-explain .btn{justify-self:end}.splash{min-height:100vh;min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--brand);animation:fade-in .3s ease-out .15s both}.splash-name{color:var(--text);font-size:18px;font-weight:700;letter-spacing:.02em}.splash-bar{position:relative;width:160px;height:3px;border-radius:999px;background:var(--line);overflow:hidden}.splash-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:inherit;background:var(--brand);animation:splash-run 1.1s ease-in-out infinite}@keyframes splash-run{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@media (prefers-reduced-motion:reduce){.splash,.splash-bar:after{animation:none}}