@font-face{font-family:Inter;src:url('/app/fonts/inter-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#0d0d0f;--surface:#19191c;--surface-2:#222226;--surface-3:#2a2a2f;--text:#f5f5f7;--muted:#929297;--faint:#5f5f65;--line:#29292e;--accent:#f2f2f4;--accent-text:#111113;--danger:#ff626b;--success:#58c694;--toast-bg:#f1f1f3;--toast-text:#171719;--toast-muted:#626268;--toast-icon:#dfdfe3;--toast-border:rgba(20,20,22,.08);--toast-success:#187959;--toast-danger:#c63f4b;--radius:24px;--ease:cubic-bezier(.22,1,.36,1);--fast:180ms;--base:280ms;--safe-bottom:max(20px,env(safe-area-inset-bottom))}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="light"]{color-scheme:light;--bg:#f4f4f6;--surface:#fff;--surface-2:#ebebee;--surface-3:#e1e1e5;--text:#171719;--muted:#74747b;--faint:#b2b2b8;--line:#dedee3;--accent:#1b1b1e;--accent-text:#fff;--danger:#d9444e;--success:#218360;--toast-bg:#1d1d20;--toast-text:#f7f7f8;--toast-muted:#a9a9af;--toast-icon:#2c2c30;--toast-border:rgba(255,255,255,.08);--toast-success:#68d4a5;--toast-danger:#ff7780}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;overflow:hidden;overscroll-behavior:none;transition:background var(--base) var(--ease),color var(--base) var(--ease)}
html,body,.app{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,.app::-webkit-scrollbar{display:none}
body{-webkit-user-select:none;user-select:none;touch-action:pan-y}
.desktop-composer{display:none}
@media (pointer:fine){.desktop-composer{position:fixed;z-index:20;right:22px;bottom:22px;width:360px;padding:16px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 16px 44px rgba(0,0,0,.24);backdrop-filter:blur(16px);display:grid;gap:10px}.desktop-composer-title{font-size:14px;font-weight:700}.desktop-composer textarea{width:100%;min-height:78px;resize:vertical;border:0;border-radius:14px;background:var(--surface-2);padding:11px;outline:0}.desktop-composer-actions{display:flex;gap:8px}.desktop-composer-actions button,.desktop-composer-actions label{min-height:38px;padding:0 12px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;font-size:13px}.desktop-composer-actions #desktop-send{margin-left:auto;background:var(--accent);color:var(--accent-text)}.desktop-composer.is-recording #desktop-voice{background:color-mix(in srgb,var(--danger) 24%,var(--surface-2));color:var(--danger);animation:desktop-voice-pulse 1.2s ease-in-out infinite}.desktop-composer.is-processing .desktop-composer-actions label{pointer-events:none;opacity:.5}.desktop-composer-actions #desktop-send:disabled{opacity:1;cursor:wait}.desktop-composer-actions #desktop-send:disabled::before{content:"";width:13px;height:13px;margin-right:7px;border:2px solid color-mix(in srgb,var(--accent-text) 28%,transparent);border-top-color:var(--accent-text);border-radius:50%;animation:desktop-composer-spin .7s linear infinite}@keyframes desktop-composer-spin{to{transform:rotate(360deg)}}@keyframes desktop-voice-pulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 12%,transparent)}}.desktop-composer-result{max-height:130px;margin:0;color:var(--muted);font:12px/1.4 ui-monospace,monospace;white-space:pre-wrap;overflow:auto}.desktop-composer.is-processing .desktop-composer-result{display:flex;align-items:center;gap:7px;color:var(--text)}.desktop-composer.is-processing .desktop-composer-result::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--accent);animation:desktop-composer-pulse 1s ease-in-out infinite}@keyframes desktop-composer-pulse{50%{opacity:.3;transform:scale(.65)}}.desktop-telegram-preview{border-top:1px solid var(--line);padding-top:10px}.desktop-telegram-head{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.desktop-telegram-head>span{width:22px;height:22px;border-radius:50%;background:#229ed9;color:#fff;display:grid;place-items:center}.desktop-telegram-bubble{margin-top:8px;padding:10px;border-radius:12px;background:#dff7e4;color:#173b23;font-size:12px}.desktop-telegram-bubble p{margin:0;white-space:pre-wrap}.desktop-telegram-task{margin-top:8px;padding-top:8px;border-top:1px solid #bce4c5;display:grid;gap:3px}.desktop-telegram-task small{color:#397148}.desktop-telegram-task div{display:flex;gap:6px}.desktop-telegram-task button,.desktop-telegram-task a{border:1px solid #9dd4a8;border-radius:6px;background:#fff;color:#167344;padding:4px 7px;font-size:11px;text-decoration:none;cursor:pointer}.desktop-telegram-task button:disabled{opacity:.6}}
button,input,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}button:disabled{opacity:.45;cursor:default}
.app{width:min(100%,720px);height:100dvh;margin:0 auto;padding:28px 22px calc(118px + var(--safe-bottom));position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:none;scroll-padding-block:90px calc(118px + var(--safe-bottom));-webkit-overflow-scrolling:touch}
.app.has-text-editor{padding-bottom:calc(360px + var(--safe-bottom));scroll-padding-bottom:calc(360px + var(--safe-bottom))}
.app.keyboard-open .flow-action,.app.keyboard-open .flow-actions{position:static;left:auto;right:auto;bottom:auto;width:100%;margin-top:24px;will-change:auto}
.app.keyboard-open .bottom-action{bottom:calc(var(--keyboard-overlap,0px) + 12px);will-change:bottom}
.app[data-route="calendar"]{padding-bottom:calc(88px + var(--safe-bottom));overflow-y:hidden;overscroll-behavior:none;touch-action:none;-webkit-overflow-scrolling:auto}.screen-calendar{min-height:100%;overflow:hidden}
.screen{width:100%;min-width:0;animation:screen-in var(--base) var(--ease) both}.screen.leaving{animation:screen-out var(--fast) ease both}
@keyframes screen-in{from{opacity:0}to{opacity:1}}@keyframes screen-out{to{opacity:0}}
.icon-button{width:48px;height:48px;border-radius:16px;background:var(--surface);display:grid;place-items:center;transition:transform var(--fast) var(--ease),background var(--fast)}.icon-button:active{transform:scale(.92);background:var(--surface-3)}
.calendar-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.calendar-heading-row>div:first-child{min-width:0}.calendar-heading-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.overdue-icon-button{position:relative;color:var(--danger)}.overdue-clock{display:grid;place-items:center}.overdue-clock svg{width:22px;height:22px}.overdue-count{position:absolute;right:-5px;bottom:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--danger);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:600;line-height:1}
h1,h2,p{margin:0}.heading{font-size:clamp(32px,8.8vw,42px);line-height:1.08;letter-spacing:-.045em;font-weight:700;overflow-wrap:anywhere}.subheading{margin-top:10px;color:var(--muted);font-size:17px;line-height:1.4;font-weight:400}.section-label{margin:30px 2px 14px;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.card{background:var(--surface);border-radius:var(--radius);overflow:hidden}.calendar-card{margin-top:30px;padding:24px 18px 20px}.month-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;margin-bottom:23px}.month-head strong{text-align:center;font-size:21px;font-weight:600;letter-spacing:-.02em}.month-button{width:44px;height:44px;border-radius:15px;background:var(--surface-2);display:grid;place-items:center;transition:transform var(--fast) var(--ease),background var(--fast)}.month-button:active{transform:scale(.9);background:var(--surface-3)}
.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.calendar-grid{gap:4px}.weekdays{color:var(--muted);font-size:13px;font-weight:500;margin-bottom:9px}.calendar-day{position:relative;aspect-ratio:1;min-width:0;border-radius:15px;font-size:17px;font-weight:500;display:grid;place-items:center;transition:background var(--fast),color var(--fast),transform var(--fast) var(--ease)}.calendar-day:active{transform:scale(.86)}.calendar-day.outside{color:var(--faint)}.calendar-day.selected{background:var(--accent);color:var(--accent-text)}.calendar-day.today:not(.selected){background:var(--surface-3)}.calendar-day.has-tasks::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--muted);bottom:5px}.calendar-day.selected::after{background:var(--accent-text)}
.screen-calendar .calendar-day{border-radius:16px;font-size:19px}.screen-calendar .calendar-day.has-tasks::after{width:5px;height:5px;bottom:4px}
.hint{display:flex;justify-content:center;align-items:center;gap:9px;color:var(--muted);font-size:14px;margin:27px 0 0}.floating-add{position:fixed;z-index:8;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translateX(-50%);width:64px;height:64px;padding:0;border-radius:50%;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;line-height:0;transition:transform var(--fast) var(--ease)}.floating-add>svg{width:30px;height:30px;stroke-width:1.8}.floating-add:active{transform:translateX(-50%) scale(.9)}.screen-calendar .floating-add{position:fixed;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translateX(-50%);margin:0}.screen-calendar .floating-add:active{transform:translateX(-50%) scale(.9)}
.launch-screen{min-height:100%;display:grid;place-items:center}.launch-spinner{width:30px;height:30px;border:2px solid var(--faint);border-top-color:var(--text);border-radius:50%;animation:launch-spin .72s linear infinite}@keyframes launch-spin{to{transform:rotate(360deg)}}
.day-heading-row{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:14px}.day-heading-copy{min-width:0;text-align:center}.day-heading-copy .heading{font-size:clamp(30px,7.5vw,40px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-weekday{margin-top:8px;color:var(--muted);font-size:15px;line-height:1.25;font-weight:400}.day-arrow{width:50px;height:50px;border-radius:16px;background:var(--surface);display:grid;place-items:center;color:var(--text);transition:transform var(--fast) var(--ease),background var(--fast)}.day-arrow:active{transform:scale(.9);background:var(--surface-3)}.day-arrow svg{width:23px;height:23px}.task-group{margin-top:30px;background:var(--surface);border-radius:var(--radius);padding:0 20px}.task-row{width:100%;text-align:left;padding:21px 2px;transition:opacity var(--fast),transform var(--fast) var(--ease)}.task-row+.task-row{border-top:1px solid var(--line)}.task-row:active{opacity:.68;transform:scale(.985)}.task-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.task-title{font-size:19px;line-height:1.3;font-weight:500;letter-spacing:-.015em}.dots{font-size:22px;color:var(--muted);line-height:.7}.task-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;margin-top:13px;color:var(--muted);font-size:12px;overflow:hidden}.meta-item{display:flex;min-width:0;align-items:center;gap:4px;white-space:nowrap}.meta-item+.meta-item{border-left:1px solid var(--line);padding-left:7px}.meta-item svg{width:16px;height:16px;flex:0 0 16px}.empty{margin-top:120px;text-align:center}.empty h2{font-size:25px;font-weight:600}.empty p{max-width:360px;margin:12px auto;color:var(--muted);font-size:15px;line-height:1.45}
.composer{position:fixed;z-index:7;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translateX(-50%);width:min(calc(100% - 36px),676px);display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;gap:12px}.composer-button{height:56px;border-radius:18px;background:var(--surface);display:flex;align-items:center;justify-content:center;gap:9px;font-size:16px;font-weight:500;transition:transform var(--fast) var(--ease),background var(--fast)}.composer-button:active{transform:scale(.96);background:var(--surface-3)}.composer .floating-add{position:static;transform:none}.composer .floating-add:active{transform:scale(.9)}
.detail-card{margin-top:26px;padding:0 22px}.detail-row{width:100%;min-height:86px;display:grid;grid-template-columns:38px max-content minmax(0,1fr) 20px;align-items:center;gap:14px;text-align:left}.detail-row+.detail-row{border-top:1px solid var(--line)}.detail-row:active{opacity:.68}.detail-icon{width:36px;height:36px;display:grid;place-items:center;color:var(--muted)}.detail-icon svg{width:26px;height:26px}.detail-label{font-size:18px;font-weight:500}.detail-value{min-width:0;color:var(--muted);font-size:16px;text-align:right;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chevron{color:var(--muted);font-size:25px}.description-card{display:block;width:100%;margin-top:20px;padding:22px;min-height:135px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast)}.description-card:active{transform:scale(.985);background:var(--surface-2)}.description-head{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:600}.description-card p{margin-top:22px;font-size:16px;line-height:1.55;color:var(--text);opacity:.82;white-space:pre-wrap}.inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.outline-action{height:58px;border-radius:18px;background:var(--surface);display:flex;align-items:center;justify-content:center;gap:9px;font-size:16px;font-weight:500;transition:transform var(--fast) var(--ease),background var(--fast)}.outline-action:active{transform:scale(.96);background:var(--surface-2)}.outline-action.danger{color:var(--danger)}.task-complete-action{width:100%;height:64px;margin-top:12px;padding:0 20px;border-radius:20px;background:var(--surface);color:var(--success);display:flex;align-items:center;justify-content:center;gap:11px;font-size:17px;font-weight:500;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}.task-complete-action:active{transform:scale(.97);background:var(--surface-2);opacity:.78}.task-complete-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--success) 14%,transparent)}.task-complete-icon svg{width:19px;height:19px;stroke-width:2}
.readonly-detail-row{grid-template-columns:38px minmax(0,1fr) auto}.readonly-detail-row:active{opacity:1}.overdue-detail-card{margin-top:26px}.overdue-time-row .detail-icon{color:var(--danger)}
.bottom-action{position:fixed;z-index:9;left:50%;bottom:calc(16px + var(--safe-bottom));transform:translateX(-50%);width:min(calc(100% - 44px),676px);display:flex;gap:12px}.primary,.secondary{height:62px;flex:1;border-radius:20px;font-size:18px;font-weight:500;transition:transform var(--fast) var(--ease),opacity var(--fast)}.primary{background:var(--accent);color:var(--accent-text)}.secondary{background:var(--surface-2)}.primary:active,.secondary:active{transform:scale(.965);opacity:.78}
.flow-action{display:block;width:100%;margin:24px 0 8px;flex:none}
.flow-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;min-width:0;margin:24px 0 8px}.flow-actions .primary,.flow-actions .secondary{width:100%;min-width:0}
.app:is([data-route="date"],[data-route="time"],[data-route="reminder"],[data-route="reminder-custom"],[data-route="repeat"],[data-route="repeat-daily"],[data-route="repeat-weekly"],[data-route="repeat-custom"],[data-route="rule-editor"],[data-route="edit"],[data-route="create-manual"],[data-route="create-date"],[data-route="create-review"]){padding-bottom:var(--safe-bottom)}
.option-card{margin-top:28px;padding:0 24px}.option-row{width:100%;min-height:86px;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:14px;text-align:left}.option-row+.option-row{border-top:1px solid var(--line)}.option-row:active{opacity:.65}.option-title{font-size:18px;font-weight:500}.option-copy{display:flex;flex-direction:column;gap:5px}.option-subtitle,.current{color:var(--muted);font-size:15px}.check{font-size:25px}.current{margin:24px 2px 0}.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:18px}.weekday{aspect-ratio:1;border-radius:15px;background:var(--surface-2);font-size:15px;font-weight:500;transition:transform var(--fast),background var(--fast),color var(--fast)}.weekday.active{background:var(--accent);color:var(--accent-text)}.weekday:active{transform:scale(.9)}
.field-card{margin-top:28px;padding:26px 24px}.field-label{display:block;margin-bottom:12px;font-size:17px;font-weight:500}.text-field{display:block;width:100%;min-width:0;max-width:100%;border:0;border-radius:16px;background:var(--surface-2);padding:17px;font-size:17px;outline:none;transition:background var(--fast)}.text-field::placeholder{color:var(--muted);opacity:1;transition:opacity var(--fast) var(--ease)}.text-field:focus{background:var(--surface-3)}.text-field:focus::placeholder{opacity:0}textarea.text-field{min-height:220px;resize:none;line-height:1.5}.field-card hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.task-edit-card textarea.text-field{min-height:132px;height:132px;max-height:36dvh}.keyboard-dismiss-space{min-height:28px}
.wheel-card{margin-top:28px;padding:24px;position:relative}.wheel{height:300px;display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;position:relative;overflow:hidden}.wheel::before{content:"";position:absolute;left:12px;right:12px;top:120px;height:60px;border-radius:18px;background:var(--surface-2);pointer-events:none}.wheel-col{height:300px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;padding:120px 0}.wheel-col::-webkit-scrollbar{display:none}.wheel-option{height:60px;width:100%;display:block;scroll-snap-align:center;font-size:25px;color:var(--muted);position:relative}.wheel-option.active{color:var(--text);font-size:30px}.wheel-separator{font-size:26px;text-align:center;z-index:1}.summary-row{margin-top:20px;padding:0 24px;height:74px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-radius:20px;font-size:16px}.summary-row span:last-child{color:var(--muted)}
.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.number-field{width:100%;height:58px;border:0;border-radius:16px;background:var(--surface-2);padding:0 16px;font-size:17px;outline:none}.toast{position:fixed;z-index:50;left:50%;top:max(12px,env(safe-area-inset-top));bottom:auto;width:max-content;max-width:min(calc(100% - 28px),440px);min-width:min(286px,calc(100% - 28px));min-height:64px;display:flex;align-items:center;gap:13px;overflow:hidden;transform:translate(-50%,-26px) scale(.86);transform-origin:50% 0;clip-path:inset(0 19% 0 19% round 23px);filter:blur(7px);background:var(--toast-bg);color:var(--toast-text);border:1px solid var(--toast-border);border-radius:23px;padding:11px 18px 11px 11px;font-size:15px;font-weight:500;line-height:1.35;letter-spacing:-.012em;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;transition:opacity 220ms ease,transform 540ms var(--ease),clip-path 520ms var(--ease),filter 380ms ease,visibility 0s linear 540ms,background var(--base),color var(--base),border-color var(--base)}.toast::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;border-radius:999px;background:currentColor;opacity:.16;transform:scaleX(0);transform-origin:left}.toast-symbol{width:40px;height:40px;flex:0 0 40px;border-radius:14px;display:grid;place-items:center;background:var(--toast-icon);color:var(--toast-muted);transform:scale(.72) rotate(-8deg);transition:transform 620ms var(--ease),background var(--base),color var(--base)}.toast-symbol svg{width:19px;height:19px;stroke-width:2}.toast-message{min-width:0;max-width:350px;overflow-wrap:anywhere}.toast[data-kind="success"] .toast-symbol{background:color-mix(in srgb,var(--toast-success) 14%,var(--toast-icon));color:var(--toast-success)}.toast[data-kind="error"] .toast-symbol{background:color-mix(in srgb,var(--toast-danger) 14%,var(--toast-icon));color:var(--toast-danger)}.toast.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);clip-path:inset(0 0 0 0 round 23px);filter:blur(0);transition-delay:0s}.toast.show::after{animation:toast-life 3.2s linear forwards}.toast.show .toast-symbol{transform:scale(1) rotate(0)}.toast.hiding{opacity:0;pointer-events:none;transform:translate(-50%,-12px) scale(.94);clip-path:inset(0 10% 0 10% round 23px);filter:blur(4px);transition-duration:340ms}.toast.hiding .toast-symbol{transform:scale(.78) rotate(6deg)}@keyframes toast-life{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.reminder-rule-card .option-row{min-height:102px}.reminder-rule-card .option-subtitle{line-height:1.35}.reminder-editor-card{display:grid;gap:12px}.reminder-editor-card .number-field,.reminder-editor-card .reminder-clock{height:64px;font-size:20px}.reminder-second-label{margin-top:18px}.field-help{color:var(--muted);font-size:14px;line-height:1.4}
.custom-time-field{min-width:0}.custom-control-trigger{width:100%;height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;text-align:left;color:var(--text);font-size:18px;font-weight:500}.custom-control-trigger svg{flex:0 0 auto;color:var(--muted);stroke-width:1.8}.ui-overlay{position:fixed;z-index:45;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(0,0,0,.48);animation:ui-fade-in 220ms ease both}.ui-sheet{width:min(100%,520px);max-height:min(78dvh,680px);overflow:auto;overscroll-behavior:contain;background:var(--surface);border-radius:28px;padding:8px 16px max(18px,env(safe-area-inset-bottom));animation:ui-sheet-in 380ms var(--ease) both}.ui-sheet-handle{display:block;width:38px;height:4px;margin:2px auto 12px;border-radius:9px;background:var(--faint)}.ui-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 2px 14px}.ui-sheet-head>div{display:grid;gap:3px}.ui-sheet-head strong{font-size:23px;font-weight:600}.ui-sheet-head small{color:var(--muted);font-size:14px}.ui-sheet-close{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:var(--surface-2);color:var(--text)}.ui-option-list{display:grid}.ui-option{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:17px;text-align:left;color:var(--text);transition:background var(--fast),transform var(--fast) var(--ease)}.ui-option:last-child{border-bottom:0}.ui-option:active{transform:scale(.98)}.ui-option.active{font-weight:600}.ui-option svg{color:var(--text)}.ui-time-picker{height:300px;display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;position:relative;overflow:hidden;margin:0 0 14px}.ui-time-picker::before{content:"";position:absolute;left:6px;right:6px;top:120px;height:60px;border-radius:17px;background:var(--surface-2);pointer-events:none}.ui-time-column{height:300px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;padding:120px 0;overscroll-behavior:contain}.ui-time-column::-webkit-scrollbar{display:none}.ui-time-option{height:60px;width:100%;display:block;position:relative;scroll-snap-align:center;font-size:23px;color:var(--muted);transition:color var(--fast),font-size var(--fast),transform var(--fast) var(--ease)}.ui-time-option.active{font-size:29px;color:var(--text)}.ui-time-option:active{transform:scale(.94)}.ui-time-separator{z-index:1;text-align:center;font-size:26px}.ui-picker-apply{width:100%;height:60px}.confirm-sheet{text-align:center;padding-inline:22px}.confirm-icon{width:58px;height:58px;margin:2px auto 14px;border-radius:19px;display:grid;place-items:center;background:color-mix(in srgb,var(--danger) 13%,var(--surface-2));color:var(--danger)}.confirm-sheet h2{font-size:25px;font-weight:600;margin:0 0 7px}.confirm-sheet p{color:var(--muted);font-size:15px;margin:0 0 22px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-actions button{height:58px;border-radius:18px;font-size:17px;font-weight:500}.confirm-actions .secondary{background:var(--surface-2);color:var(--text)}.danger-button{background:color-mix(in srgb,var(--danger) 15%,var(--surface-2));color:var(--danger)}@keyframes ui-fade-in{from{opacity:0}to{opacity:1}}@keyframes ui-sheet-in{from{opacity:0;transform:translateY(34px) scale(.98)}to{opacity:1;transform:none}}
@media (max-height:620px){.ui-overlay{padding:10px}.ui-sheet{max-height:88dvh;border-radius:24px}.ui-time-picker{height:240px}.ui-time-picker::before{top:90px}.ui-time-column{height:240px;padding:90px 0}}
.theme-card{padding:22px;margin-top:0}.theme-copy{display:grid;gap:5px}.theme-copy strong{font-size:18px;font-weight:500}.theme-copy span{color:var(--muted);font-size:15px}.theme-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:20px;padding:4px;border-radius:18px;background:var(--surface-2);overflow:hidden;transition:background var(--base) var(--ease)}.theme-switch::before{content:"";position:absolute;z-index:0;left:4px;top:4px;bottom:4px;width:calc((100% - 12px)/2);border-radius:14px;background:var(--accent);transform:translateX(0);transition:transform 440ms var(--ease),background var(--base) var(--ease)}.theme-switch.is-light::before{transform:translateX(calc(100% + 4px))}.theme-switch button{position:relative;z-index:1;height:50px;border-radius:14px;color:var(--muted);font-size:16px;font-weight:500;transition:transform var(--fast) var(--ease),color 320ms var(--ease)}.theme-switch button:active{transform:scale(.94)}.theme-switch button.active{color:var(--accent-text)}.settings-option-card{padding:0 24px}
.settings-profile-card{width:100%;min-height:92px;padding:17px 18px;border-radius:24px;background:var(--surface);display:grid;grid-template-columns:48px minmax(0,1fr) auto 16px;align-items:center;gap:14px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast)}.settings-profile-card:active,.profile-config-card:active{transform:scale(.985);background:var(--surface-2)}.settings-profile-icon{width:48px;height:48px;border-radius:16px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;flex:0 0 48px}.profile-copy{min-width:0;display:grid;gap:5px}.profile-copy strong{font-size:18px;font-weight:500}.profile-copy small{color:var(--muted);font-size:14px;line-height:1.35}.profile-status{padding:6px 9px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:12px;white-space:nowrap}.profile-list{margin-top:30px;padding:0 18px}.profile-list-row{width:100%;min-height:94px;display:grid;grid-template-columns:48px minmax(0,1fr) 30px;align-items:center;gap:14px;text-align:left;transition:transform var(--fast) var(--ease),opacity var(--fast)}.profile-list-row+.profile-list-row{border-top:1px solid var(--line)}.profile-list-row:active{transform:scale(.985);opacity:.72}.profile-list-row.active .settings-profile-icon{background:var(--accent);color:var(--accent-text)}.profile-check{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--accent-text)}.profile-list-row.active .profile-check{background:var(--accent)}.profile-config-card{width:100%;min-height:82px;padding:18px 20px;border-radius:24px;background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:16px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast)}.profile-config-card>span:first-child{display:grid;gap:6px}.profile-config-card strong{font-size:18px;font-weight:500}.profile-config-card small{color:var(--muted);font-size:14px;line-height:1.35}.profile-loading{padding:24px;border-radius:22px;background:var(--surface);color:var(--muted);text-align:center}.settings-note{margin:12px 4px 0;color:var(--muted);font-size:13px;line-height:1.45}.profile-settings-loader{margin:72px auto}.profile-settings-form{display:grid;gap:0;margin-top:28px;padding:4px 22px}.profile-settings-form label{display:grid;gap:10px;padding:20px 0}.profile-settings-form label small{color:var(--muted);font-size:13px;line-height:1.4}.profile-purpose-card{margin-top:28px;padding:22px;border-radius:24px;background:var(--surface);display:flex;align-items:flex-start;gap:16px}.profile-purpose-card>div{display:grid;gap:8px}.profile-purpose-card strong{font-size:19px;font-weight:500}.profile-purpose-card p{color:var(--muted);font-size:14px;line-height:1.5}
@media(max-width:420px){.settings-profile-card{grid-template-columns:44px minmax(0,1fr) 16px}.settings-profile-card .profile-status{display:none}.settings-profile-icon{width:44px;height:44px;flex-basis:44px}.profile-list{padding:0 15px}.profile-list-row{grid-template-columns:44px minmax(0,1fr) 28px;gap:11px}.profile-copy strong{font-size:17px}}
.create-methods{display:grid;gap:14px;margin-top:30px}.create-method{min-height:94px;padding:18px 20px;border-radius:24px;background:var(--surface);display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:15px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast)}.create-method:active{transform:scale(.98);background:var(--surface-2)}.create-method>svg{width:48px;height:48px;padding:11px;border-radius:16px;background:var(--surface-2);color:#d0d0d4}.create-method span:nth-child(2){display:grid;gap:6px}.create-method strong{font-size:19px;font-weight:600}.create-method small{font-size:14px;line-height:1.35;color:var(--muted)}
.create-input-card{position:relative}.create-input-card textarea{min-height:300px;padding-bottom:46px}.input-limit{position:absolute;right:40px;bottom:40px;color:var(--muted);font-size:13px}.voice-panel{min-height:360px;margin-top:30px;border-radius:28px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.record-button{position:relative;width:92px;height:92px;border-radius:50%;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;transition:transform var(--fast) var(--ease),background var(--fast),color var(--fast)}.record-button:active{transform:scale(.92)}.record-button.recording{background:#3a2024;color:#ff8f97}.record-button.recording::after{content:"";position:absolute;inset:-7px;border:1px solid color-mix(in srgb,#ff8f97 42%,transparent);border-radius:50%;animation:voice-ring 1.8s var(--ease) infinite}.voice-wave{height:82px;width:min(100%,286px);margin-top:22px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:3px;overflow:hidden;border-radius:24px;background:var(--surface-2);color:var(--muted);transition:background var(--base),color var(--base)}.voice-wave span{width:3px;height:50px;flex:0 0 3px;border-radius:999px;background:currentColor;opacity:.32;transform:scaleY(.075);transform-origin:center;will-change:transform,opacity;animation:voice-idle 2.8s ease-in-out infinite;animation-delay:calc(var(--wave-index) * -45ms);transition:background var(--base),opacity 180ms ease}.voice-wave.active{color:var(--text)}.voice-wave.active span{animation:none}.voice-panel strong{margin-top:10px;font-size:20px;font-weight:600}.voice-panel p{margin-top:10px;color:var(--muted);font-size:14px}.loader{width:48px;height:48px;border:3px solid var(--surface-3);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite}.processing strong{margin-top:22px}@keyframes voice-idle{0%,100%{transform:scaleY(.075);opacity:.24}50%{transform:scaleY(.16);opacity:.42}}@keyframes voice-ring{0%{transform:scale(.94);opacity:0}35%{opacity:1}100%{transform:scale(1.13);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}
.review-list{display:grid;gap:16px;margin-top:28px;width:100%;min-width:0}.review-card{width:100%;max-width:100%;padding:22px;display:grid;gap:20px;min-width:0}.review-card>*{width:100%;min-width:0;max-width:100%}.review-card label,.review-field{display:grid;width:100%;min-width:0;max-width:100%;gap:9px;color:var(--muted);font-size:13px;font-weight:600}.review-field>button,.review-card label>input,.review-card label>textarea{width:100%;min-width:0;max-width:100%;overflow:hidden}.review-field button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-date-trigger{height:58px;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;color:var(--text);font-size:17px;font-weight:500}.create-date-trigger svg{flex:0 0 auto;color:var(--muted)}.create-date-trigger:active{background:var(--surface-3)}.create-calendar-card{margin-top:28px}.create-date-summary{height:70px;margin-top:18px;padding:0 22px;border-radius:20px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px}.create-date-summary span{color:var(--muted)}.create-date-summary strong{font-size:16px;font-weight:500}.review-card textarea.text-field{min-height:112px}.review-grid{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;min-width:0;max-width:100%}.review-grid>*{width:100%;min-width:0;max-width:100%}.review-repeat{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.review-repeat svg{flex:0 0 auto}.manual-create-card{margin-top:28px}.manual-create-card textarea.text-field{min-height:130px}
.create-picker-trigger{height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;color:var(--text);font-size:17px;font-weight:500}.create-picker-trigger:active{background:var(--surface-3)}.create-picker-chevron{flex:0 0 auto;color:var(--muted);transform:rotate(90deg)}.create-picker-overlay{position:fixed;z-index:40;inset:0;background:color-mix(in srgb,#000 48%,transparent);animation:picker-fade var(--fast) ease both}.create-picker-sheet{position:absolute;left:50%;bottom:0;width:min(100%,720px);max-height:min(82dvh,680px);padding:10px 18px calc(18px + var(--safe-bottom));border-radius:30px 30px 0 0;background:var(--surface);transform:translateX(-50%);animation:picker-rise 420ms var(--ease) both;overflow:auto;overscroll-behavior:contain}.create-picker-handle{display:block;width:38px;height:4px;margin:0 auto 14px;border-radius:999px;background:var(--faint)}.create-picker-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 4px 18px}.create-picker-head>div{display:grid;gap:4px}.create-picker-head strong{font-size:24px;font-weight:600;color:var(--text)}.create-picker-head small{font-size:14px;font-weight:400;color:var(--muted)}.create-picker-close{width:42px;height:42px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;transition:transform var(--fast),background var(--fast)}.create-picker-close:active{transform:scale(.9);background:var(--surface-3)}.create-picker-options{overflow:hidden;border-radius:22px;background:var(--surface-2);padding:0 18px}.create-picker-option{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;color:var(--text);font-size:17px;font-weight:500;transition:opacity var(--fast),transform var(--fast)}.create-picker-option+.create-picker-option{border-top:1px solid var(--line)}.create-picker-option:active{opacity:.62;transform:scale(.985)}.create-picker-check{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center}.create-picker-option.active .create-picker-check{background:var(--accent);color:var(--accent-text)}@keyframes picker-fade{from{opacity:0}}@keyframes picker-rise{from{transform:translate(-50%,32px);opacity:.65}to{transform:translate(-50%,0);opacity:1}}
svg{display:block;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:420px){.app{padding-left:16px;padding-right:16px}.heading{font-size:34px}.day-heading-row{grid-template-columns:46px minmax(0,1fr) 46px;gap:8px}.day-arrow{width:46px;height:46px;border-radius:15px}.day-heading-copy .heading{font-size:clamp(25px,7.8vw,33px)}.day-weekday{font-size:14px}.calendar-card{padding-left:11px;padding-right:11px}.calendar-grid{gap:3px}.calendar-day{font-size:16px}.screen-calendar .calendar-day{font-size:18px}.task-group{padding:0 16px}.task-title{font-size:18px}.task-meta{font-size:11px;gap:5px}.meta-item+.meta-item{padding-left:5px}.meta-item svg{width:15px;height:15px;flex-basis:15px}.detail-card{padding:0 16px}.detail-row{grid-template-columns:34px max-content minmax(0,1fr) 16px;gap:9px}.detail-label{font-size:16px}.detail-value{font-size:13px;max-width:115px}.option-card{padding:0 18px}.option-title{font-size:16px}.weekday-grid{gap:5px}.bottom-action{width:calc(100% - 32px)}.create-method{padding:16px}.review-card{padding:17px}.review-grid{grid-template-columns:1fr}.create-input-card textarea{min-height:250px}}
@media(max-width:600px){.review-grid{grid-template-columns:minmax(0,1fr)}.manual-create-card,.review-card{overflow:hidden}.flow-actions{gap:10px}.flow-actions .primary,.flow-actions .secondary{font-size:17px}}
@media(min-width:760px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}.floating-add,.composer,.bottom-action{max-width:676px}}
@media(max-height:650px){.screen-calendar .subheading,.screen-calendar .hint{display:none}.screen-calendar .calendar-card{margin-top:18px;padding-top:16px;padding-bottom:12px}.screen-calendar .month-head{margin-bottom:12px}}
.work-loader{margin:70px auto}.work-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.work-summary>div{min-height:86px;padding:15px;border-radius:20px;background:var(--surface);display:flex;flex-direction:column;justify-content:space-between;gap:8px}.work-summary span{color:var(--muted);font-size:12px}.work-summary strong{font-size:17px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.work-day-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;margin-top:22px}.work-day-nav button{width:48px;height:48px;border-radius:16px;background:var(--surface);display:grid;place-items:center}.work-day-nav strong{text-align:center;font-size:20px;font-weight:600}.work-list{margin-top:18px;padding:0 18px}.work-appointment{width:100%;min-height:88px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left}.work-appointment+.work-appointment{border-top:1px solid var(--line)}.work-appointment:active{opacity:.65}.work-time{font-size:16px;font-weight:600;display:grid;gap:4px}.work-time small,.work-copy small{color:var(--muted);font-size:12px;font-weight:400}.work-copy{min-width:0;display:grid;gap:6px}.work-copy strong{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-payment{font-size:11px;color:var(--muted);padding:6px 8px;border-radius:10px;background:var(--surface-2)}.work-payment.paid{color:var(--success)}.work-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-bottom:84px}.work-tools button{height:64px;border-radius:19px;background:var(--surface);display:flex;align-items:center;gap:10px;padding:0 16px;font-size:14px}.work-tools svg{color:var(--muted);width:21px}.work-empty{margin-top:70px}.professional-form textarea{min-height:120px}.professional-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.professional-grid label{min-width:0}.professional-select{appearance:none}.work-directory{margin-top:26px;padding:0 20px}.work-directory-row{min-height:74px;display:flex;align-items:center}.work-directory-row+.work-directory-row{border-top:1px solid var(--line)}.work-directory-row span{display:grid;gap:5px}.work-directory-row strong{font-weight:500}.work-directory-row small{color:var(--muted);font-size:13px}.work-placeholder{padding:28px;text-align:center;color:var(--muted)}.compact-form{display:grid;gap:12px}.compact-form .flow-action{margin:4px 0 0}.work-hours{margin-top:26px;padding:0 18px}.work-hours-row{min-height:78px;display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;align-items:center}.work-hours-row+.work-hours-row{border-top:1px solid var(--line)}.work-hours-row label{display:flex;align-items:center;gap:8px}.work-hours-row input[type="checkbox"]{width:20px;height:20px;accent-color:var(--accent)}.work-hours-row .text-field{padding:12px 8px;font-size:14px}.history-list{display:grid;gap:10px;margin-top:28px}.history-row{min-height:78px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.history-row>span{display:grid;gap:5px}.history-row strong{font-size:16px;font-weight:500}.history-row small,.history-row em{color:var(--muted);font-size:12px;font-style:normal}.history-row button{padding:10px 13px;border-radius:13px;background:var(--surface-2);font-size:13px}
.schedule-exceptions{margin-top:18px}.schedule-exceptions h2{font-size:18px;font-weight:500}.exception-list{display:grid;margin-top:4px}.schedule-exception{min-height:62px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.schedule-exception span{display:grid;gap:4px}.schedule-exception strong{font-weight:500}.schedule-exception small{color:var(--muted)}.schedule-exception button{width:40px;height:40px;display:grid;place-items:center;color:var(--muted)}

/* Professional working time */
.screen-professional-hours,.screen-professional-hours-edit,.screen-professional-hours-break,.screen-professional-hours-free,.screen-professional-hours-exceptions{padding-bottom:calc(34px + var(--safe-bottom))}
.work-schedule-card{margin-top:28px;padding:0 24px;border-radius:28px;background:var(--surface);overflow:hidden}
.work-schedule-secondary{margin-top:18px}
.work-schedule-row{width:100%;min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:12px;text-align:left;transition:background var(--fast),opacity var(--fast),transform var(--fast) var(--ease)}
.work-schedule-row+.work-schedule-row{border-top:1px solid var(--line)}
.work-schedule-row:active{background:var(--surface-2);opacity:.72;transform:scale(.99)}
.work-schedule-row strong{font-size:17px;font-weight:500}.work-schedule-row span{color:var(--muted);font-size:15px;white-space:nowrap}.work-schedule-row .chevron{color:var(--muted);font-style:normal;font-size:24px}
.work-exception-summary{width:100%;min-height:94px;margin-top:18px;padding:17px 24px;border-radius:26px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;transition:background var(--fast),opacity var(--fast),transform var(--fast) var(--ease)}
.work-exception-summary:active{background:var(--surface-2);opacity:.72;transform:scale(.985)}.work-exception-summary>span{display:grid;gap:6px}.work-exception-summary>span:last-child{grid-template-columns:auto 16px;align-items:center}.work-exception-summary strong{font-size:17px;font-weight:500}.work-exception-summary small,.work-exception-summary b{color:var(--muted);font-size:14px;font-weight:400}.work-exception-summary .chevron{font-size:24px;font-style:normal}
.work-editor-card{margin-top:28px;padding:0 22px;border-radius:28px;background:var(--surface)}
.work-editor-row{min-height:88px;display:grid;grid-template-columns:minmax(142px,1fr) auto;align-items:center;gap:14px}.work-editor-row+.work-editor-row{border-top:1px solid var(--line)}
.work-editor-row .work-day-toggle{min-width:0;height:56px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;text-align:left;color:var(--muted);transition:color var(--fast),opacity var(--fast),transform var(--fast) var(--ease)}.work-editor-row .work-day-toggle:active{transform:scale(.985)}.work-editor-row .work-day-toggle span{min-width:0;font-size:17px;white-space:nowrap}.work-editor-row.enabled .work-day-toggle{color:var(--text)}.work-day-indicator{width:22px;height:22px;border-radius:50%;display:block;background:var(--text);opacity:.28;transition:opacity var(--fast),transform var(--fast) var(--ease)}.work-editor-row.enabled .work-day-indicator{opacity:1}.work-day-toggle:active .work-day-indicator{transform:scale(.88)}
.work-editor-times{display:flex;align-items:center;gap:6px;color:var(--muted);transition:opacity var(--fast)}.work-editor-times button{height:44px;min-width:58px;padding:0 8px;border-radius:14px;background:var(--surface-2);font-size:15px}.work-editor-times button:disabled{opacity:.24}.work-editor-row:not(.enabled) .work-editor-times{opacity:.58}.work-editor-times span{font-size:14px}
.work-break-card{margin-top:28px;padding:0 22px 22px;border-radius:28px;background:var(--surface)}.work-choice-row{width:100%;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.work-choice-row+.work-choice-row{border-top:1px solid var(--line)}.work-choice-row>span{display:grid;gap:6px}.work-choice-row strong{font-size:18px;font-weight:500}.work-choice-row small{color:var(--muted);font-size:14px}.work-choice-row svg{color:var(--text)}
.work-break-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:8px}.work-break-times button{min-height:78px;padding:14px 17px;border-radius:20px;background:var(--surface-2);display:grid;gap:8px;text-align:left}.work-break-times small{color:var(--muted);font-size:13px}.work-break-times strong{font-size:20px;font-weight:500}
.free-slot-controls{margin-top:28px;padding:18px 20px;border-radius:28px;background:var(--surface);display:grid;gap:20px}.free-slot-controls>[data-free-date]{min-height:72px;padding:0 14px;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:12px;text-align:left}.free-slot-controls>[data-free-date]>span{display:grid;gap:4px}.free-slot-controls small{color:var(--muted);font-size:13px}.free-slot-controls strong{font-size:17px;font-weight:500}.free-duration{display:grid;gap:12px;padding:0 4px 4px}.free-duration>div{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.free-duration button{min-height:44px;border-radius:14px;background:var(--surface-2);font-size:13px;transition:background var(--fast),color var(--fast),transform var(--fast)}.free-duration button.active{background:var(--accent);color:var(--accent-text)}.free-duration button:active{transform:scale(.94)}
.free-slots-card{margin-top:18px;padding:0 22px;border-radius:28px;background:var(--surface);overflow:hidden}.free-slot{width:100%;min-height:76px;display:grid;grid-template-columns:70px minmax(0,1fr) 16px;align-items:center;gap:12px;text-align:left}.free-slot+.free-slot{border-top:1px solid var(--line)}.free-slot strong{font-size:18px;font-weight:500}.free-slot span{color:var(--muted);font-size:14px}.free-slots-card .work-placeholder{display:grid;gap:8px}.free-slots-card .work-placeholder strong{font-weight:500;color:var(--text)}.free-slots-card .work-placeholder small{color:var(--muted)}
.work-exception-form{margin-top:28px;padding:22px;border-radius:28px;background:var(--surface);display:grid;gap:12px}.work-exceptions-list{margin-top:18px;padding:0 22px;border-radius:28px;background:var(--surface)}.schedule-exception{min-height:82px;border-top:0}.schedule-exception+.schedule-exception{border-top:1px solid var(--line)}.schedule-exception>[data-exception-edit]{width:auto;height:82px;flex:1;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;color:var(--text)}.schedule-exception>[data-exception-delete]{color:var(--danger)}.schedule-exception small{font-size:13px}.work-exceptions-empty{margin-top:18px;border-radius:26px;background:var(--surface)}
@media(max-width:390px){.work-schedule-card{padding:0 18px}.work-schedule-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:8px}.work-schedule-row strong{font-size:16px}.work-schedule-row span{font-size:13px}.work-editor-card{padding:0 14px}.work-editor-row{grid-template-columns:minmax(126px,1fr) auto;gap:6px}.work-editor-row .work-day-toggle{grid-template-columns:20px minmax(0,1fr);gap:9px}.work-editor-row .work-day-toggle span{font-size:15px}.work-day-indicator{width:20px;height:20px}.work-editor-times{gap:4px}.work-editor-times button{min-width:50px;padding:0 4px;font-size:13px}.free-duration>div{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.overdue-list{margin-top:28px}.overdue-empty{margin-top:150px}.task-row.is-overdue .task-title{opacity:.82}.overdue-time-meta{color:var(--danger)}.overdue-time-meta svg{color:var(--danger)}.overdue-notice{min-height:76px;margin-top:26px;padding:15px 18px;border-radius:22px;background:var(--surface);display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:13px}.overdue-notice>span:nth-child(2){display:grid;gap:5px}.overdue-notice strong{font-size:16px;font-weight:500}.overdue-notice small{color:var(--muted);font-size:13px}.overdue-facts{margin-top:14px;padding:18px 20px;display:flex;flex-wrap:wrap;gap:10px 18px;color:var(--muted);font-size:14px}.overdue-description{margin-top:14px;padding:20px}.overdue-description strong{font-size:15px;font-weight:500}.overdue-description p{margin-top:12px;color:var(--muted);font-size:15px;line-height:1.5;white-space:pre-wrap}.overdue-prompt{margin:28px 2px 12px;color:var(--muted);font-size:14px}.overdue-actions{display:grid;gap:10px}.overdue-actions button{min-height:72px;padding:14px 18px;border-radius:20px;background:var(--surface);display:grid;gap:5px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast)}.overdue-actions button:active{transform:scale(.985);background:var(--surface-2)}.overdue-actions strong{font-size:17px;font-weight:500}.overdue-actions small{color:var(--muted);font-size:13px}
@media(prefers-reduced-motion:reduce){.overdue-summary,.overdue-row,.overdue-actions button{transition-duration:.01ms!important}}

/* Professional workspace */
.screen-professional,.screen-professional-appointment,.screen-professional-client,.screen-professional-client-notes,.screen-professional-service-select,.screen-professional-price,.screen-professional-payment-status,.screen-settings,.screen-profiles{padding-bottom:calc(34px + var(--safe-bottom))}
.pro-day-head{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:14px;margin:0 0 30px}.pro-day-head>div{text-align:center;min-width:0}.pro-day-head h1{font-size:34px;line-height:1.05;font-weight:600;letter-spacing:-.035em}.pro-day-head p,.pro-date-line{margin-top:8px;color:var(--muted);font-size:16px}.pro-section-title{margin:20px 6px 12px;color:var(--muted);font-size:16px;font-weight:600}.pro-card-list{display:grid;gap:12px}.pro-appointment-card{width:100%;min-height:132px;padding:22px;border-radius:26px;background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:start;gap:14px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}.pro-appointment-card:active{transform:scale(.985);background:var(--surface-2);opacity:.78}.pro-card-copy{display:grid;gap:7px;min-width:0}.pro-card-copy strong{font-size:21px;font-weight:500;line-height:1.25}.pro-card-copy small{font-size:15px;color:var(--muted);line-height:1.35}.pro-card-meta{display:flex;align-items:center;gap:7px;min-width:0;margin-top:8px;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden}.pro-card-meta svg{flex:0 0 auto}.pro-card-meta i{width:1px;height:18px;background:var(--line);flex:0 0 1px}.pro-card-icon{width:38px;height:38px;display:grid;place-items:center;color:var(--muted)}
.pro-task-card{min-height:0;padding-block:18px;align-items:center}.pro-task-card .pro-card-copy{gap:5px}.pro-task-card .pro-card-copy strong{font-size:19px;line-height:1.3}.pro-task-card .pro-card-meta{margin-top:13px;font-size:12px;gap:7px}.pro-task-card .pro-card-meta svg{width:16px;height:16px;flex:0 0 16px}.pro-task-card .pro-card-icon{align-self:start}
.pro-section-card{width:100%;margin-top:16px;border-radius:26px;background:var(--surface);overflow:hidden}.pro-detail-row,.pro-setting-row{width:100%;min-height:74px;padding:0 20px;display:grid;grid-template-columns:38px minmax(0,1fr) minmax(0,auto) 16px;align-items:center;gap:12px;text-align:left;transition:background var(--fast),opacity var(--fast),transform var(--fast) var(--ease)}.pro-detail-row+.pro-detail-row,.pro-setting-row+.pro-setting-row{border-top:1px solid var(--line)}.pro-detail-row:active,.pro-setting-row:active{background:var(--surface-2);opacity:.72}.pro-row-icon,.pro-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:var(--muted);background:var(--surface-2)}.pro-detail-row strong,.pro-setting-row strong{font-size:17px;font-weight:500}.pro-row-value,.pro-value{max-width:160px;color:var(--muted);font-size:14px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pro-date-line{margin:6px 2px 26px}.pro-description-row{min-height:98px;padding:20px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;text-align:left}.pro-description-row>span:first-child{display:grid;gap:7px}.pro-description-row strong{font-size:17px;font-weight:500}.pro-description-row small{color:var(--muted);font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pro-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.pro-action-grid button{min-height:66px;border-radius:22px;background:var(--surface);display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;font-weight:500;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}.pro-action-grid button:active{transform:scale(.975);opacity:.72}.pro-action-grid .danger{color:var(--danger)}
.pro-choice-list{padding:0 20px}.pro-choice-list>button{width:100%;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.pro-choice-list>button+button{border-top:1px solid var(--line)}.pro-choice-list>button>span:first-child{display:grid;gap:6px}.pro-choice-list strong{font-size:18px;font-weight:500}.pro-choice-list small{font-size:14px;color:var(--muted)}
.pro-contact-card{padding:14px 16px 18px;border-radius:26px;background:var(--surface)}.pro-contact-card .pro-action-grid{margin:0}.pro-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.pro-contact-grid>span{min-height:68px;padding:12px;border-radius:20px;background:var(--surface-2);display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px}.pro-contact-grid svg{grid-row:1/3}.pro-contact-grid b{font-size:14px;font-weight:500}.pro-contact-grid small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}.pro-client-summary{position:relative;min-height:110px;padding:20px;display:grid;gap:7px;text-align:left}.pro-client-summary strong{font-size:17px;font-weight:500}.pro-client-summary>span:not(.chevron){font-size:15px}.pro-client-summary small{color:var(--muted);font-size:14px;line-height:1.4}.pro-client-summary small b{float:right;color:var(--text);font-weight:500}.pro-client-summary>.chevron{position:absolute;right:20px;top:50%;transform:translateY(-50%)}.pro-history-card{padding:20px}.pro-history-card>strong{font-size:17px;font-weight:500}.pro-history-card>button{width:100%;min-height:68px;display:grid;grid-template-columns:100px minmax(0,1fr) 16px;align-items:center;gap:12px;text-align:left}.pro-history-card>button+button{border-top:1px solid var(--line)}.pro-history-card>button>span:nth-child(2){display:grid;gap:3px;text-align:right}.pro-history-card small{color:var(--muted);font-size:13px}.pro-notes-list{padding:0 20px}.pro-notes-list article{position:relative;padding:20px 36px 20px 0}.pro-notes-list article+article{border-top:1px solid var(--line)}.pro-notes-list article small{color:var(--muted);font-size:13px}.pro-notes-list article p{margin-top:10px;font-size:16px;line-height:1.45;white-space:pre-wrap}.pro-notes-list article button{position:absolute;right:0;top:18px;color:var(--danger)}.pro-note-create{display:grid;gap:12px;margin-top:16px}.pro-note-create textarea{min-height:130px}.pro-form-card{padding:20px;display:grid;gap:18px}.pro-form-card label{display:grid;gap:9px;color:var(--muted);font-size:14px;font-weight:500}.pro-form-card textarea{min-height:120px}
.settings-main-card{margin-top:28px}.settings-theme-row{grid-template-columns:38px minmax(58px,1fr) minmax(190px,auto)}.settings-main-card .theme-switch.compact{grid-column:3;width:190px;min-width:190px;margin:0;height:48px}.settings-main-card .theme-switch.compact button{min-width:0;height:40px;padding:0 10px;font-size:15px;white-space:nowrap;overflow:visible}.pro-setting-row .theme-switch{grid-column:3/5}.pro-about{min-height:74px;padding:0 20px;display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:12px;text-align:left}.pro-version{margin:26px 0 0;text-align:center;color:var(--muted);font-size:13px}.pro-mode-list{padding:0 20px}.pro-mode-row{width:100%;min-height:98px;display:grid;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:14px;text-align:left}.pro-mode-row+.pro-mode-row{border-top:1px solid var(--line)}.pro-mode-row>span:nth-child(2){display:grid;gap:7px}.pro-mode-row strong{font-size:19px;font-weight:500}.pro-mode-row small{color:var(--muted);font-size:14px;line-height:1.35}.pro-mode-row .profile-check{box-shadow:inset 0 0 0 1.5px var(--faint);background:transparent;color:transparent}.pro-mode-row.active .pro-icon,.pro-mode-row.active .profile-check{background:var(--accent);color:var(--accent-text)}.pro-mode-row.active .profile-check{box-shadow:none}.pro-info-card{margin-top:28px;padding:20px;border-radius:24px;background:var(--surface);display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:start;color:var(--muted);line-height:1.45}.settings-info-card{margin-top:28px;padding:24px;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;gap:16px}.settings-info-icon{width:52px;height:52px;border-radius:17px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center}.settings-info-card p{padding-top:3px;color:var(--muted);font-size:16px;line-height:1.55}
@media(max-width:420px){.pro-day-head{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px}.pro-day-head h1{font-size:30px}.pro-appointment-card{padding:18px;min-height:120px}.pro-task-card{min-height:0;padding-block:16px}.pro-card-copy strong{font-size:19px}.pro-task-card .pro-card-copy strong{font-size:18px}.pro-task-card .pro-card-meta{font-size:11px;gap:5px}.pro-task-card .pro-card-meta svg{width:15px;height:15px;flex-basis:15px}.pro-detail-row,.pro-setting-row{padding:0 15px;grid-template-columns:36px minmax(0,1fr) minmax(0,auto) 14px;gap:9px}.settings-theme-row{grid-template-columns:36px minmax(52px,1fr) minmax(184px,auto)}.pro-row-value,.pro-value{max-width:108px}.settings-main-card .theme-switch.compact{width:184px;min-width:184px}.pro-action-grid{gap:8px}.pro-action-grid button{font-size:15px}.pro-contact-grid{grid-template-columns:1fr}.pro-history-card>button{grid-template-columns:82px minmax(0,1fr) 14px}}
@media(max-width:365px){.settings-main-card .settings-theme-row{min-height:122px;grid-template-columns:36px minmax(0,1fr);grid-template-rows:48px 54px}.settings-main-card .settings-theme-row>.pro-icon{grid-column:1;grid-row:1}.settings-main-card .settings-theme-row>strong{grid-column:2;grid-row:1}.settings-main-card .settings-theme-row>.theme-switch{grid-column:1/3;grid-row:2;width:100%;min-width:0}}
.pro-picker-field{min-width:0}.pro-picker-trigger{width:100%;height:62px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--text);font-size:17px;text-align:left}.pro-picker-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pro-picker-trigger svg{flex:0 0 auto;color:var(--muted)}
.date-picker-sheet{max-height:min(88dvh,760px)}.ui-date-calendar{padding:4px 4px 12px}.ui-date-calendar .month-head{margin:4px 0 16px}.ui-date-calendar .calendar-grid{gap:4px}.ui-date-calendar .calendar-day{font-size:17px}.ui-date-calendar .weekdays{margin-bottom:8px}
.screen-professional{padding-bottom:calc(100px + var(--safe-bottom))}.screen-professional .professional-day-add{bottom:calc(18px + var(--safe-bottom))}
.professional-create-overlay{padding:0;align-items:flex-end}.professional-create-sheet{width:min(100%,720px);max-height:none;border-radius:30px 30px 0 0;padding:8px 22px max(22px,calc(14px + var(--safe-bottom)));background:var(--surface-2)}.professional-create-options{display:grid;gap:12px}.professional-create-option{min-width:0;min-height:102px;padding:18px;display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:16px;border-radius:24px;background:var(--surface);color:var(--text);text-align:left;transition:transform var(--fast) var(--ease),background var(--fast) var(--ease)}.professional-create-option:active{transform:scale(.975);background:var(--surface-3)}.professional-create-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:var(--surface-3);color:var(--text)}.professional-create-icon svg{width:26px;height:26px;stroke-width:1.7}.professional-create-option>span:nth-child(2){min-width:0;display:grid;gap:5px}.professional-create-option strong{font-size:20px;font-weight:600;line-height:1.15}.professional-create-option small{color:var(--muted);font-size:15px;line-height:1.3}.professional-create-option .chevron{color:var(--muted);font-size:29px;line-height:1;text-align:center}@media(max-width:360px){.professional-create-sheet{padding-inline:14px}.professional-create-option{grid-template-columns:52px minmax(0,1fr) 18px;gap:12px;padding:15px}.professional-create-icon{width:52px;height:52px}.professional-create-option strong{font-size:18px}.professional-create-option small{font-size:14px}}

/* Professional work hub */
.screen-profile-settings:has(.work-hub-card),.screen-professional-finance,.screen-professional-finance-received,.screen-professional-finance-prices,.screen-professional-finance-history{padding-bottom:calc(34px + var(--safe-bottom))}
.work-hub-card{width:100%;margin-top:30px;padding:0 24px;border-radius:28px;background:var(--surface);overflow:hidden}
.work-hub-row{width:100%;min-height:112px;display:grid;grid-template-columns:54px minmax(0,1fr) 18px;align-items:center;gap:18px;text-align:left;transition:transform var(--fast) var(--ease),opacity var(--fast),background var(--fast)}
.work-hub-row+.work-hub-row{border-top:1px solid var(--line)}
.work-hub-row:active{transform:scale(.985);opacity:.7;background:var(--surface-2)}
.work-hub-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:var(--muted);background:var(--surface-2)}
.work-hub-copy{min-width:0;display:grid;gap:7px}.work-hub-copy strong{font-size:19px;font-weight:500}.work-hub-copy small{color:var(--muted);font-size:14px;line-height:1.35}
.work-hub-note{margin-top:26px;padding:22px 24px;border-radius:25px;background:var(--surface);display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:16px;color:var(--muted)}
.work-hub-note>span{width:38px;height:38px;display:grid;place-items:center}.work-hub-note p{font-size:15px;line-height:1.5}
.finance-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.finance-summary>div{min-height:104px;padding:20px;border-radius:24px;background:var(--surface);display:grid;align-content:space-between;gap:14px}.finance-summary small{color:var(--muted);font-size:14px}.finance-summary strong{font-size:22px;font-weight:500}.finance-list{padding:0 22px}.finance-row{width:100%;min-height:88px;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:12px;text-align:left}.finance-row+.finance-row{border-top:1px solid var(--line)}.finance-row>span:first-child{display:grid;gap:6px}.finance-row strong{font-size:16px;font-weight:500}.finance-row small{color:var(--muted);font-size:13px}.finance-row b{font-size:15px;font-weight:500;white-space:nowrap}.finance-row b.refund{color:var(--danger)}
@media(max-width:420px){.work-hub-card{padding:0 18px}.work-hub-row{min-height:104px;grid-template-columns:48px minmax(0,1fr) 16px;gap:14px}.work-hub-icon{width:48px;height:48px;border-radius:16px}.work-hub-copy strong{font-size:18px}.work-hub-copy small{font-size:13px}.finance-summary strong{font-size:19px}}

/* Service catalog and variants */
.screen-professional-services,.screen-professional-service,.screen-professional-service-edit,.screen-professional-variant,.screen-professional-variant-edit{padding-bottom:calc(34px + var(--safe-bottom))}
.service-catalog-card,.service-variant-card,.service-detail-card{margin-top:30px;padding:0 24px;border-radius:28px;background:var(--surface);overflow:hidden}
.service-catalog-row{width:100%;min-height:112px;display:grid;grid-template-columns:58px minmax(0,1fr) 18px;align-items:center;gap:18px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}
.service-catalog-row+.service-catalog-row,.service-variant-row+.service-variant-row,.service-detail-row+.service-detail-row{border-top:1px solid var(--line)}
.service-catalog-row:active,.service-variant-row:active,.service-detail-row:active,.service-description-card:active{transform:scale(.985);background:var(--surface-2);opacity:.72}
.service-catalog-icon{width:58px;height:58px;display:grid;place-items:center;color:var(--muted)}
.service-add-icon{border:1.5px solid var(--muted);border-radius:50%}
.service-catalog-row>span:nth-child(2),.service-variant-row>span:first-child{min-width:0;display:grid;gap:7px}
.service-catalog-row strong,.service-variant-row strong{font-size:19px;font-weight:500;line-height:1.25}
.service-catalog-row small,.service-variant-row small{color:var(--muted);font-size:14px;line-height:1.35}
.service-note{margin-top:24px}
.service-variant-row{width:100%;min-height:104px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:18px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}
.service-empty{min-height:120px;display:grid;align-content:center;gap:8px}.service-empty strong{font-size:18px;font-weight:500}.service-empty small{color:var(--muted);font-size:14px;line-height:1.4}
.service-kind{margin:-14px 0 28px;color:var(--muted);font-size:15px}
.service-detail-row{width:100%;min-height:92px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) 18px;align-items:center;gap:14px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}
.service-detail-row strong{font-size:17px;font-weight:500}.service-detail-row span{max-width:190px;color:var(--muted);font-size:15px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-description-card{width:100%;min-height:132px;margin-top:18px;padding:24px;border-radius:28px;background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr) 18px;grid-template-rows:auto auto;gap:10px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}
.service-description-card strong{font-size:17px;font-weight:500}.service-description-card small{grid-column:1/3;color:var(--muted);font-size:15px;line-height:1.45;white-space:pre-wrap}.service-description-card .chevron{grid-column:2;grid-row:1}
.service-page-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.service-page-actions button{min-height:70px;border-radius:22px;background:var(--surface);display:flex;align-items:center;justify-content:center;gap:11px;font-size:16px;font-weight:500;transition:transform var(--fast) var(--ease),opacity var(--fast),background var(--fast)}.service-page-actions button:active{transform:scale(.975);opacity:.7}.service-page-actions .danger{color:var(--danger)}
.service-editor-card{margin-top:30px;padding:24px;border-radius:28px;background:var(--surface);display:grid;gap:22px}.service-editor-card label{min-width:0;display:grid;gap:10px;font-size:15px;font-weight:500}.service-editor-card textarea{min-height:130px;resize:none}.service-editor-card .professional-grid label{min-width:0}.service-editor-card .professional-grid .text-field{width:100%}
.service-icon-picker{border:0;padding:0;margin:0}.service-icon-picker legend{margin-bottom:12px;font-size:15px;font-weight:500}.service-icon-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.service-icon-picker button{min-width:0;min-height:70px;padding:9px 4px;border-radius:17px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;gap:5px;transition:transform var(--fast) var(--ease),background var(--fast),color var(--fast)}.service-icon-picker button.active{background:var(--accent);color:var(--accent-text)}.service-icon-picker button:active{transform:scale(.94)}.service-icon-picker small{max-width:100%;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:420px){.service-catalog-card,.service-variant-card,.service-detail-card{padding:0 18px}.service-catalog-row{min-height:102px;grid-template-columns:48px minmax(0,1fr) 16px;gap:14px}.service-catalog-icon{width:48px;height:48px}.service-catalog-row strong,.service-variant-row strong{font-size:18px}.service-detail-row span{max-width:130px}.service-editor-card{padding:20px}.service-page-actions{gap:8px}.service-page-actions button{font-size:15px}}
@media(max-width:350px){.service-icon-picker>div{grid-template-columns:repeat(3,minmax(0,1fr))}.service-page-actions{grid-template-columns:1fr}.service-editor-card .professional-grid{grid-template-columns:1fr}}

/* Professional finance */
.finance-periods{margin-top:30px;padding:0 24px;border-radius:28px;background:var(--surface)}
.finance-periods>div{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.finance-periods>div+div{border-top:1px solid var(--line)}
.finance-periods span{color:var(--muted);font-size:17px}
.finance-periods strong{font-size:25px;font-weight:500;white-space:nowrap}
.finance-menu{margin-top:24px;padding:0 24px;border-radius:28px;background:var(--surface)}
.finance-menu-row{width:100%;min-height:108px;display:grid;grid-template-columns:50px minmax(0,1fr) 18px;align-items:center;gap:17px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}
.finance-menu-row+.finance-menu-row{border-top:1px solid var(--line)}
.finance-menu-row:active{transform:scale(.985);background:var(--surface-2);opacity:.72}
.finance-menu-icon{width:50px;height:50px;display:grid;place-items:center;color:var(--muted)}
.finance-menu-row>span:nth-child(2){min-width:0;display:grid;gap:6px}
.finance-menu-row strong{font-size:19px;font-weight:500}
.finance-menu-row small{color:var(--muted);font-size:14px;line-height:1.35}
.finance-note{margin-top:24px}
.finance-appointments,.finance-history-list{margin-top:30px;padding:0 22px}
.finance-appointment-row,.finance-history-row{width:100%;min-height:96px;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:14px;text-align:left;transition:background var(--fast),opacity var(--fast)}
.finance-appointment-row+.finance-appointment-row,.finance-history-row+.finance-history-row{border-top:1px solid var(--line)}
.finance-appointment-row:active,.finance-history-row:active{background:var(--surface-2);opacity:.72}
.finance-appointment-row>span:first-child,.finance-history-row>span:first-child,.finance-appointment-value{min-width:0;display:grid;gap:6px}
.finance-appointment-row strong,.finance-history-row strong{font-size:17px;font-weight:500}
.finance-appointment-row small,.finance-history-row small,.finance-appointment-value small{color:var(--muted);font-size:13px;line-height:1.3}
.finance-appointment-value{text-align:right}
.finance-appointment-value b,.finance-history-row>b{font-size:15px;font-weight:500;white-space:nowrap}
.finance-history-row>b.refund{color:var(--danger)}
.finance-context-note{margin:22px 4px;color:var(--muted);font-size:14px;line-height:1.45}
@media(max-width:420px){.finance-periods,.finance-menu{padding:0 20px}.finance-periods>div{min-height:84px}.finance-periods span{font-size:16px}.finance-periods strong{font-size:22px}.finance-menu-row{grid-template-columns:44px minmax(0,1fr) 16px;gap:13px;min-height:102px}.finance-menu-icon{width:44px;height:44px}.finance-menu-row strong{font-size:18px}.finance-appointment-row,.finance-history-row{grid-template-columns:minmax(0,1fr) 18px}.finance-appointment-value,.finance-history-row>b{grid-column:1;text-align:left;margin-top:-4px}.finance-appointment-row>.chevron,.finance-history-row>.chevron{grid-column:2;grid-row:1/3}}

/* Professional clients */
.screen-professional-clients{padding-bottom:calc(102px + var(--safe-bottom))}
.client-search{height:62px;margin-top:24px;padding:0 20px;border-radius:21px;background:var(--surface);color:var(--muted);display:flex;align-items:center;gap:13px;transition:background var(--fast) var(--ease)}
.client-search:focus-within{background:var(--surface-2)}.client-search svg{flex:0 0 23px}.client-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:17px}.client-search input::placeholder{color:var(--muted)}
.client-directory-card{margin-top:20px;padding:0 22px}.client-directory-row{width:100%;min-height:104px;display:grid;grid-template-columns:54px minmax(0,1fr) 18px;align-items:center;gap:15px;text-align:left;transition:transform var(--fast) var(--ease),background var(--fast),opacity var(--fast)}
.client-directory-row+.client-directory-row{border-top:1px solid var(--line)}.client-directory-row:active{transform:scale(.985);background:var(--surface-2);opacity:.76}.client-directory-row[hidden]{display:none}
.client-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted)}.client-avatar svg{width:25px;height:25px}
.client-directory-copy{min-width:0;display:grid;gap:5px}.client-directory-copy strong{font-size:19px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-directory-copy small,.client-directory-copy em{color:var(--muted);font-size:13px;font-style:normal;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-directory-copy em{font-size:12px}
.client-directory-hint{margin-top:20px;padding:20px 22px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:13px;color:var(--muted)}.client-directory-hint p{font-size:13px;line-height:1.45}.client-add-button{bottom:calc(18px + var(--safe-bottom))}
.client-edit-form{display:grid;gap:21px}.client-edit-form label{min-width:0;display:grid;gap:10px;font-size:15px;font-weight:500}.client-edit-form textarea{min-height:140px}.field-required{color:var(--danger);margin-left:3px}.field-optional{color:var(--muted);font-size:12px;font-weight:400}.field-hint{min-height:18px;margin-top:-4px;color:var(--muted);font-size:13px;font-weight:400;transition:color var(--fast) var(--ease)}.field-hint.recognized{color:var(--success)}.field-required-note{margin:0;color:var(--muted);font-size:13px}.field-required-note span{color:var(--danger)}.screen-professional-client-edit{padding-bottom:calc(32px + var(--safe-bottom))}
@media(max-width:390px){.client-directory-card{padding:0 17px}.client-directory-row{grid-template-columns:48px minmax(0,1fr) 16px;gap:12px}.client-avatar{width:48px;height:48px}.client-directory-copy strong{font-size:18px}.client-directory-copy small{font-size:12px}}
.ui-option-create>span:first-child{display:flex;align-items:center;gap:12px;font-weight:600}.ui-option-create>span:first-child svg{padding:5px;box-sizing:content-box;border-radius:10px;background:var(--surface-2)}

/* Desktop Telegram Mini App frame: preserve the 720px logical mobile canvas
   instead of stretching controls across a desktop browser window. */
@media (min-width:760px){
  html,body{background:#0b0b0d}
  .app{width:404px;max-width:calc(100vw - 2px);min-height:100dvh;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 0 1px rgba(255,255,255,.015)}
  /* The calendar mirrors the 390 pt Telegram Mini App canvas from the reference. */
  .app[data-route="calendar"]{width:390px;padding-left:16px;padding-right:16px}
  .app[data-route="calendar"] .calendar-card{padding-left:11px;padding-right:11px}
  .app[data-route="calendar"] .calendar-grid{gap:3px}
  .app[data-route="calendar"] .calendar-day{font-size:18px}
  .desktop-navigation{position:fixed;z-index:60;left:calc(50% - 272px);top:22px;display:grid;gap:10px}
  .desktop-navigation button{width:48px;height:48px;border-radius:16px;background:var(--surface);color:var(--text);font-size:24px;display:grid;place-items:center;box-shadow:0 4px 18px rgba(0,0,0,.25)}
  .desktop-navigation button:active{background:var(--surface-3);transform:scale(.94)}
}
@media (max-width:759px){.desktop-navigation{display:none}}

/* Keep task markers centered under every calendar date. */
.calendar-day.has-tasks::after{left:50%;transform:translateX(-50%)}
