:root{--bg: #f4f7fb;--surface: #ffffff;--surface-2: #f8fafc;--text: #1a2332;--muted: #5c6b7f;--placeholder: #c5ced9;--primary: #2563eb;--primary-hover: #1d4ed8;--success: #059669;--success-bg: #ecfdf5;--danger: #dc2626;--danger-bg: #fef2f2;--border: #e2e8f0;--shadow: 0 8px 30px rgba(15, 23, 42, .08);--input-bg: #ffffff;--secondary-btn-bg: #eef2ff;--badge-bg: #eef2ff;--badge-fg: #4338ca;--event-confirmed-bg: #eff6ff;--event-confirmed-border: #bfdbfe;--event-pending-bg: #fff7ed;--event-pending-border: #fed7aa;--event-pending-accent: #f59e0b;--event-pending-fg: #c2410c;--day-sep: #cbd5e1;--col-hover: rgba(37, 99, 235, .03);--popover-rule: rgba(15, 23, 42, .12);--modal-scrim: rgba(15, 23, 42, .45);--sidebar-bg: #0f1b31;--sidebar-text: #e2e8f0;--sidebar-muted: #94a3b8;--sidebar-nav: #cbd5e1;--sidebar-accent: #60a5fa;--theme-toggle-bg: #ffffff;--theme-toggle-fg: #1a2332;--theme-toggle-border: #e2e8f0;--theme-toggle-hover: #f1f5f9;font-family:Segoe UI,PT Root UI,system-ui,sans-serif;color:var(--text);background:var(--bg);color-scheme:light}[data-theme=dark]{--bg: #0b1220;--surface: #141c2b;--surface-2: #1a2436;--text: #e8eef7;--muted: #94a3b8;--placeholder: #4b5a70;--primary: #3b82f6;--primary-hover: #60a5fa;--success: #34d399;--success-bg: #0f2e24;--danger: #f87171;--danger-bg: #3a1717;--border: #2a3548;--shadow: 0 8px 30px rgba(0, 0, 0, .35);--input-bg: #0f172a;--secondary-btn-bg: #1e293b;--badge-bg: #1e3a5f;--badge-fg: #93c5fd;--event-confirmed-bg: #172554;--event-confirmed-border: #1e40af;--event-pending-bg: #3b2a14;--event-pending-border: #92400e;--event-pending-accent: #fbbf24;--event-pending-fg: #fcd34d;--day-sep: #334155;--col-hover: rgba(59, 130, 246, .08);--popover-rule: rgba(226, 232, 240, .16);--modal-scrim: rgba(0, 0, 0, .6);--sidebar-bg: #070d18;--sidebar-text: #e2e8f0;--sidebar-muted: #7c8ba1;--sidebar-nav: #cbd5e1;--sidebar-accent: #60a5fa;--theme-toggle-bg: #1a2436;--theme-toggle-fg: #fde68a;--theme-toggle-border: #2a3548;--theme-toggle-hover: #243044;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;overflow:hidden}body:has(.ob-page){overflow-y:auto;overflow-x:hidden;background:#0f0f10}body:has(.legal-page),body:has(.login-page),body:has(.sa-page){overflow-y:auto;overflow-x:hidden}#root{height:100vh;height:100dvh}#root:has(.ob-page){height:auto;min-height:100vh;min-height:100dvh;overflow:visible}#root:has(.legal-page),#root:has(.login-page),#root:has(.sa-page){height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.app{max-width:1600px;margin:0 auto;padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.app-full{max-width:none;padding:12px 16px}.shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{flex:0 0 220px;width:220px;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:relative;z-index:30;transition:flex-basis .22s ease,width .22s ease;overflow:hidden}.sidebar-inner{display:flex;flex-direction:column;padding:16px 12px;gap:18px;width:220px;min-width:220px;height:100%;box-sizing:border-box;opacity:1;transition:opacity .12s ease}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-top .sidebar-brand{flex:1;min-width:0}.sidebar-collapse-btn{flex:0 0 auto;width:28px;height:28px;margin-top:2px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:#94a3b81f;color:var(--sidebar-nav);cursor:pointer}.sidebar-collapse-btn:hover{background:#60a5fa33;color:#fff}.sidebar-collapse-btn svg{width:16px;height:16px;display:block}.sidebar-rail{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;pointer-events:none}.sidebar-rail-arrow{font-size:18px;font-weight:700;line-height:1;color:var(--sidebar-accent);opacity:.95}.shell.sidebar-collapsed .sidebar{flex:0 0 16px;width:16px;cursor:pointer}.shell.sidebar-collapsed .sidebar-inner{opacity:0;pointer-events:none}.shell.sidebar-collapsed.sidebar-peek-open .sidebar{flex:0 0 220px;width:220px;box-shadow:6px 0 28px #00000047;cursor:default}.shell.sidebar-collapsed.sidebar-peek-open .sidebar-inner{opacity:1;pointer-events:auto}.shell.sidebar-collapsed.sidebar-peek-open .sidebar-rail{display:none}.sidebar-brand{display:flex;flex-direction:column;gap:4px;padding:4px 10px}.sidebar-logo{display:block;height:32px;width:auto;max-width:100%;object-fit:contain;object-position:left center;filter:brightness(1.15) saturate(1.12) drop-shadow(0 0 6px rgba(96,165,250,.3))}.sidebar-clinic{font-size:12px;color:var(--sidebar-muted);line-height:1.4}.sidebar-schedule-tools{padding:0 10px 12px;flex:0 0 auto;min-width:0;box-sizing:border-box}.sched-side-tools{display:flex;flex-direction:column;gap:12px;min-width:0}.sched-mini-cal{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 6px 10px;box-sizing:border-box;min-width:0;overflow:hidden}.sched-mini-cal-head{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px}.sched-mini-cal-title{font-size:11px;font-weight:600;color:#ffffffeb;text-align:center;flex:1;line-height:1.2;min-width:0}.sched-mini-cal-nav{width:26px;height:26px;flex:0 0 auto;border:none;border-radius:8px;background:#ffffff14;color:#ffffffe6;cursor:pointer;font-size:16px;line-height:1}.sched-mini-cal-nav:hover{background:#ffffff24}.sched-mini-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-bottom:2px}.sched-mini-cal-weekdays span{text-align:center;font-size:9px;color:#ffffff73;padding:2px 0;min-width:0;overflow:hidden}.sched-mini-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.sched-mini-cal-cell{aspect-ratio:1;width:100%;min-width:0;min-height:0;border:none;border-radius:7px;background:transparent;color:#ffffffe0;font-size:10px;font-weight:600;cursor:pointer;padding:0}.sched-mini-cal-cell.empty{cursor:default;pointer-events:none}.sched-mini-cal-cell:hover:not(.empty){background:#ffffff1a}.sched-mini-cal-cell.today{box-shadow:inset 0 0 0 1px #60a5facc}.sched-mini-cal-cell.selected{background:#3b82f6d9;color:#fff}.sched-mini-cal-today{width:100%;margin-top:8px}.sched-side-filters{display:flex;flex-direction:column;gap:8px;min-width:0}.sched-side-filter{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--sidebar-muted, #94a3b8);min-width:0}.sched-side-filter select{width:100%;max-width:100%;box-sizing:border-box;border-radius:8px;border:1px solid rgba(255,255,255,.18);background-color:#0b1220;color:#e2e8f0;padding:6px 8px;font-size:12px;color-scheme:dark}.sched-side-filter select option{background-color:#0b1220;color:#e2e8f0}.schedule-header-slim{margin-bottom:.35rem}.sidebar-collapsed:not(.sidebar-peek-open) .sidebar-schedule-tools{display:none}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar-plan{position:relative;margin:8px 4px 4px;flex-shrink:0}.sidebar-plan-btn{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid rgba(96,165,250,.35);border-radius:10px;background:#60a5fa1f;color:#e2e8f0;font:inherit;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}.sidebar-plan-btn:hover,.sidebar-plan-btn:focus-visible{background:#60a5fa38;border-color:#60a5fa8c;outline:none}.sidebar-plan-name{font-size:13px;font-weight:700}.sidebar-plan-days{font-size:11px;color:var(--sidebar-muted)}.sidebar-plan-tip{position:fixed;z-index:10050;width:280px;max-width:min(280px,calc(100vw - 16px));padding:12px 14px;border-radius:12px;background:#0f172a;color:#e2e8f0;border:1px solid rgba(148,163,184,.35);box-shadow:0 12px 32px #0f172a73;pointer-events:none}.sidebar-plan-tip-title{font-weight:700;font-size:14px;margin-bottom:4px}.sidebar-plan-tip-meta{font-size:12px;color:#94a3b8;margin-bottom:8px}.sidebar-plan-tip-limits{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:1.35}.sidebar-plan-tip-foot{margin-top:8px;font-size:11px;color:#64748b}.shell.sidebar-collapsed:not(.sidebar-peek-open) .sidebar-plan-btn{align-items:center;padding:8px}.sidebar-partner{margin:0 4px 8px;flex-shrink:0}.sidebar-partner-btn{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:1px solid rgba(52,211,153,.35);border-radius:10px;background:#34d3991a;color:#e2e8f0;font:inherit;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}.sidebar-partner-btn:hover,.sidebar-partner-btn:focus-visible,.sidebar-partner-btn.active{background:#34d39933;border-color:#34d3998c;outline:none}.sidebar-partner-name{font-size:13px;font-weight:700}.sidebar-partner-sub{font-size:11px;color:var(--sidebar-muted)}.shell.sidebar-collapsed:not(.sidebar-peek-open) .sidebar-partner-btn{align-items:center;padding:8px}.partner-page{padding:1.25rem 1.5rem 2rem;overflow:auto;height:100%;box-sizing:border-box}.partner-page-inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.partner-hero h1{margin:0 0 .25rem;font-size:1.45rem}.partner-hero p{margin:0}.partner-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.partner-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:8px;padding:.4rem .75rem;font:inherit;font-size:.85rem;cursor:pointer}.partner-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.partner-balance-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem;border-radius:14px;background:linear-gradient(135deg,#0f1b31,#1e3a5f);color:#f8fafc}.partner-balance-label{font-size:.8rem;opacity:.85;margin-bottom:.25rem}.partner-balance-value{font-size:1.85rem;font-weight:700;letter-spacing:-.02em}.partner-balance-period{margin-top:.35rem;font-size:.78rem;opacity:.75}.partner-withdraw-btn{background:#fff!important;color:#0f1b31!important;border:0!important;font-weight:650}.partner-withdraw-btn:disabled{opacity:.55;cursor:not-allowed}.partner-stats-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.partner-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem}.partner-card h3{margin:0 0 .75rem;font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.partner-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:0}.partner-stat-grid dt{font-size:.72rem;color:var(--muted);margin:0 0 .15rem}.partner-stat-grid dd{margin:0;font-weight:650;font-size:.95rem}.partner-level{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.78rem;font-weight:650;margin-right:.35rem;background:var(--badge-bg);color:var(--badge-fg)}.partner-level--bronze{background:#fef3c7;color:#92400e}.partner-level--silver{background:#e2e8f0;color:#334155}.partner-level--gold{background:#fef08a;color:#854d0e}.partner-level--platinum{background:#ede9fe;color:#5b21b6}.partner-level--diamond{background:#ecfeff;color:#0e7490;box-shadow:inset 0 0 0 1px #0e749040}.partner-level-pct{font-weight:700;color:var(--primary)}.partner-link-row{display:flex;gap:.5rem;align-items:stretch}.partner-link-row input{flex:1;min-width:0;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit;font-size:.85rem}.partner-hint{margin:.55rem 0 0;font-size:.8rem}.partner-table{width:100%;border-collapse:collapse;font-size:.85rem}.partner-table th,.partner-table td{text-align:left;padding:.45rem .35rem;border-bottom:1px solid var(--border)}.partner-table th{color:var(--muted);font-weight:550;font-size:.75rem}.partner-withdraw-modal{max-width:420px;width:100%}.partner-withdraw-modal .vf-field{margin-bottom:.75rem}.partner-withdraw-modal input,.partner-withdraw-modal textarea{width:100%;box-sizing:border-box;padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:var(--surface);color:var(--text)}.partner-toast{position:static;align-self:flex-start}@media(max-width:720px){.partner-stats-row{grid-template-columns:1fr}.partner-link-row{flex-direction:column}}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;border-radius:10px;background:transparent;color:var(--sidebar-nav);font:inherit;font-weight:600;font-size:14px;cursor:pointer;text-align:left;transition:background .12s}.nav-item:hover{background:#60a5fa1f}.nav-item.active{background:var(--primary);color:#fff}.nav-icon{font-size:15px}.sidebar-user{border-top:1px solid rgba(148,163,184,.25);padding:12px 10px 0;display:flex;flex-direction:column;gap:3px}.sidebar-user-name{font-size:13px;font-weight:600}.sidebar-user-role{font-size:11px;color:var(--sidebar-muted);margin-bottom:8px}.sidebar-user .btn{background:#94a3b826;color:var(--sidebar-text)}.shell-content{flex:1;min-width:0;height:100%;overflow:hidden;position:relative}.shell-top-right{position:absolute;top:8px;right:12px;z-index:40;line-height:0;display:flex;align-items:center;gap:6px}.theme-toggle{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid var(--theme-toggle-border);background:var(--theme-toggle-bg);color:var(--theme-toggle-fg);cursor:pointer;box-shadow:var(--shadow);transition:background .15s,transform .12s,border-color .15s;line-height:0}.theme-toggle.theme-toggle-moon{background:#0b1220;border-color:#1e293b}.theme-toggle.theme-toggle-moon:hover{background:#111827}.theme-toggle.theme-toggle-sun{background:#fff7ed;border-color:#fed7aa}.theme-toggle.theme-toggle-sun:hover{background:#ffedd5}.theme-toggle:hover{background:var(--theme-toggle-hover);transform:translateY(-1px)}.theme-icon{width:16px;height:16px;display:block}.login-theme{position:absolute;top:16px;right:16px;z-index:5}@media(max-width:900px){.shell{flex-direction:column}.shell.sidebar-collapsed .sidebar,.shell.sidebar-collapsed.sidebar-peek-open .sidebar{flex:0 0 auto;width:100%;box-shadow:none;cursor:default}.shell.sidebar-collapsed .sidebar-inner{opacity:1;pointer-events:auto}.sidebar-rail,.sidebar-collapse-btn{display:none}.sidebar{flex:0 0 auto;width:100%;flex-direction:row}.sidebar-inner{flex-direction:row;align-items:center;padding:8px 10px;gap:10px;width:100%;min-width:0;height:auto}.sidebar-top{align-items:center}.sidebar-brand{padding:0}.sidebar-logo{height:28px}.sidebar-clinic{display:none}.sidebar-nav{flex-direction:row;flex:1}.nav-item{padding:8px 10px;font-size:13px}.sidebar-user{border-top:none;padding:0;flex-direction:row;align-items:center;gap:8px}.sidebar-user-name,.sidebar-user-role{display:none}.shell-top-right{top:6px;right:8px}.theme-toggle{width:28px;height:28px}}.tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;flex-shrink:0}.tab{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:8px 16px;font:inherit;font-weight:600;font-size:13px;color:var(--muted);cursor:pointer}.tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.settings-panel{flex:1;min-height:0;overflow:auto;padding:16px}.crud-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.crud-table{width:100%;border-collapse:collapse;font-size:14px}.crud-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--border);white-space:nowrap}.crud-table td{padding:10px;border-bottom:1px solid var(--border);vertical-align:middle}.crud-table tr:hover td{background:var(--surface-2)}.chatbots-notify-toolbar{justify-content:space-between}.chatbot-settings-subtitle{margin:1rem 0 .4rem;font-size:1rem;font-weight:600}.chatbot-window-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:flex-end}.chatbots-notify-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.chatbot-settings-title{margin:0 0 .5rem;font-size:1.1rem}.chatbot-toggle{display:flex;align-items:center;gap:.65rem;margin-top:1rem;cursor:pointer}.chatbot-sep{margin:1.5rem 0;border:0;border-top:1px solid var(--border, rgba(127, 127, 127, .25))}.chatbot-max-panel{margin-top:.25rem}.chatbot-max-status{margin:.65rem 0 .75rem}.chatbot-max-qr-box{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:.75rem 0 1rem;padding:.85rem;border:1px solid var(--border, rgba(127, 127, 127, .35));border-radius:12px;width:fit-content;background:#fff}.chatbot-max-qr-box img{display:block;border-radius:8px}.chatbot-max-2fa{margin:.75rem 0 1rem}.chatbot-max-2fa input{min-width:220px;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border, rgba(127, 127, 127, .35))}.chatbot-prompt-meta{margin:.65rem 0 .4rem}.chatbot-prompt-editor{width:100%;min-height:220px;resize:vertical;box-sizing:border-box;padding:.75rem .85rem;border-radius:10px;border:1px solid var(--border, rgba(127, 127, 127, .35));background:var(--surface, #fff);color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.45}.chatbot-prompt-editor:disabled{opacity:.7}.chatbot-prompt-actions{margin-top:.85rem;gap:.65rem;flex-wrap:wrap}.service-color-chip{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle;box-shadow:inset 0 0 0 1px #0f172a1f}.service-color-field{display:flex;flex-direction:column;gap:.4rem;margin:.75rem 0}.service-color-picker{display:flex;flex-wrap:wrap;gap:.4rem}.service-color-swatch{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #0f172a1a}.service-color-swatch.active{border-color:var(--text, #0f172a);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary, #2563eb) 35%,transparent)}.chat-inbox-toolbar{justify-content:space-between;gap:.75rem;flex-wrap:wrap}.chat-inbox-filters{display:flex;gap:.4rem;flex-wrap:wrap}.chat-inbox-layout{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:.75rem;min-height:420px;margin-top:.5rem}.chat-inbox-list{display:flex;flex-direction:column;gap:.35rem;max-height:560px;overflow:auto;border-right:1px solid var(--border, rgba(127, 127, 127, .25));padding-right:.5rem}.chat-inbox-item{text-align:left;border:1px solid transparent;background:transparent;border-radius:10px;padding:.55rem .65rem;cursor:pointer;color:inherit}.chat-inbox-item:hover{background:#7f7f7f14}.chat-inbox-item.active{border-color:var(--border, rgba(127, 127, 127, .35));background:#7f7f7f1f}.chat-inbox-item-top{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}.chat-inbox-preview{margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-inbox-detail{min-width:0;display:flex;flex-direction:column;gap:.5rem}.chat-inbox-detail-head{padding-bottom:.35rem;border-bottom:1px solid var(--border, rgba(127, 127, 127, .2));display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.chat-ai-mode-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.chat-ai-mode-btns{display:flex;gap:.35rem;flex-wrap:wrap}.chat-ai-hint{margin:.5rem 0;padding:.65rem .75rem;border-radius:10px;border:1px dashed var(--border, rgba(127, 127, 127, .35));background:#7f7f7f0f;font-size:.92rem;white-space:pre-wrap}.chat-inbox-thread{display:flex;flex-direction:column;gap:.55rem;max-height:520px;overflow:auto;padding:.25rem .15rem .5rem}.chat-inbox-bubble{max-width:min(720px,92%);padding:.55rem .75rem;border-radius:12px;border:1px solid var(--border, rgba(127, 127, 127, .2));background:#7f7f7f0f}.chat-inbox-bubble.role-user{align-self:flex-start;background:#2e7d3214}.chat-inbox-bubble.role-assistant{align-self:flex-start;background:#1976d214}.chat-inbox-bubble.role-staff{align-self:flex-end;background:#f57c001a}.chat-inbox-meta{display:flex;justify-content:space-between;gap:.75rem;font-size:.78rem;margin-bottom:.2rem}.chat-inbox-text{white-space:pre-wrap;word-break:break-word;line-height:1.4}.client-messages-layout{min-height:280px}.client-messages-compose{margin-top:.85rem;display:flex;flex-direction:column;gap:.55rem}.client-messages-compose textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:72px;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border, rgba(127, 127, 127, .35));background:var(--surface, #fff);color:inherit;font:inherit}@media(max-width:860px){.chat-inbox-layout{grid-template-columns:1fr}.chat-inbox-list{border-right:0;border-bottom:1px solid var(--border, rgba(127, 127, 127, .25));padding-right:0;padding-bottom:.5rem;max-height:220px}}.table-scroll{overflow:auto;max-width:100%}.chatbots-notify-table th,.chatbots-notify-table td{vertical-align:top}.chatbots-notify-table .cell-wrap{max-width:280px;white-space:normal;line-height:1.35}.chatbots-notify-table .nowrap{white-space:nowrap}.small-text{font-size:12px;margin-top:2px}.toast-err-inline{color:#b91c1c}.confirm-cell{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:default}.confirm-icons{display:inline-flex;align-items:center;gap:2px}.confirm-channel{display:inline-flex;align-items:center;justify-content:center;width:1.35em;font-size:15px;line-height:1}.confirm-channel.none{color:var(--muted);font-weight:600}.confirm-legend{display:flex;flex-wrap:wrap;gap:14px;margin:-4px 0 12px;align-items:center}.confirm-legend .confirm-channel{margin-right:4px}.crud-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.crud-services{max-width:320px;font-size:13px;color:var(--muted)}.check-label{flex-direction:row!important;align-items:center;gap:8px!important}.check-label input[type=checkbox]{width:16px;height:16px}.service-picker{border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin:16px 0;max-height:180px;overflow-y:auto}.service-picker legend{font-size:13px;font-weight:600;color:var(--muted);padding:0 6px}.service-picker .check-label{display:flex;margin:8px 0;font-weight:400;font-size:13px}.toast-err{background:var(--danger-bg);color:var(--danger)}.modal input:not([type=checkbox]),.modal select,.modal textarea{max-width:none;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--input-bg);color:var(--text)}.phone-input::placeholder{color:var(--placeholder, #c5ced9);opacity:1;letter-spacing:.02em}input::placeholder,textarea::placeholder,select::placeholder{color:var(--placeholder, #c5ced9);opacity:1}@media(max-width:700px){.crud-table{font-size:13px}.crud-table th,.crud-table td{padding:6px}.crud-actions{flex-direction:column}}.presets{display:flex;gap:6px;align-items:end;padding-bottom:2px}select,input.search{min-width:0;width:100%;max-width:220px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--input-bg);color:var(--text)}input[type=date]{min-width:0;width:100%;max-width:150px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--input-bg);color:var(--text)}.toolbar label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--muted);flex:1 1 120px;min-width:110px;max-width:200px}.toolbar .legend{flex:1 1 100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-shrink:0}h1{margin:4px 0;font-size:clamp(20px,2.5vw,28px)}.eyebrow{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-weight:600}.subtitle{margin:0;color:var(--muted)}.toast{background:var(--success-bg);color:var(--success);padding:10px 14px;border-radius:10px;font-weight:500}.header-actions,.user-session{display:flex;align-items:center;gap:10px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.user-session{color:var(--muted);font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:5px 6px 5px 10px}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px;position:relative;background:radial-gradient(circle at 20% 10%,rgba(37,99,235,.12),transparent 35%),var(--bg)}.login-card{width:min(420px,100%);padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.login-logo{display:block;width:min(320px,100%);height:auto;margin:0 auto 16px}.login-logo-dark,[data-theme=dark] .login-logo-light{display:none}[data-theme=dark] .login-logo-dark{display:block;filter:brightness(1.08) saturate(1.08)}.login-title{margin:0;font-size:18px;font-weight:600;line-height:1.35;text-align:center;color:var(--text)}.login-card form,.login-card label{display:flex;flex-direction:column}.login-card form{gap:16px;margin-top:24px}.login-card label{gap:7px;font-size:13px;font-weight:600}.login-card input{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--input-bg);color:var(--text)}.login-card input:focus{outline:2px solid rgba(37,99,235,.2);border-color:var(--primary)}.login-error{padding:10px 12px;color:var(--danger);background:var(--danger-bg);border-radius:9px;font-size:13px}.login-submit{width:100%}.login-demo{margin:18px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.sa-page{min-height:100vh;min-height:100dvh;padding:20px;position:relative;background:radial-gradient(circle at 20% 10%,rgba(37,99,235,.12),transparent 35%),var(--bg)}.sa-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.sa-header h1{margin:0 0 4px;font-size:22px}.sa-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.sa-toolbar .search{flex:1 1 240px;min-width:200px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text);font:inherit}.sa-table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px}.sa-table{margin:0}.sa-sort-th{display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;padding:0;margin:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left}.sa-sort-th:hover,.sa-sort-th.active{color:var(--primary)}.sa-sort-mark{font-size:.7em;opacity:.55;line-height:1}.sa-sort-th.active .sa-sort-mark{opacity:1}.sa-error{margin-bottom:12px}.sa-impersonate-wrap{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.sa-impersonate-wrap .shell{flex:1 1 auto;min-height:0;height:auto}.sa-impersonate-banner{flex:0 0 auto;position:relative;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#1e293b;color:#f8fafc;font-size:13px}.sa-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.sa-plan-cell{position:relative;cursor:default}.sa-plan-name{font-weight:600}.sa-plan-days{display:block;font-size:12px;color:var(--muted);margin-top:2px}.sa-plan-tip{position:fixed;z-index:80;min-width:240px;max-width:300px;padding:10px 12px;border-radius:10px;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);font-size:12px;line-height:1.45;pointer-events:none}.sa-plan-tip-title{font-weight:600;margin-bottom:4px}.sa-plan-tip-limits{margin:8px 0 0;padding-left:1.1em}.muted.small{font-size:12px}.login-demo a,.register-consent a,.legal-footer a,.legal-body a{color:var(--primary)}.login-demo .linkish{border:0;background:none;padding:0;font:inherit;color:var(--primary);cursor:pointer;text-decoration:underline}.register-card{width:min(520px,100%)}.register-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.register-mode{display:flex;gap:8px}.register-consent{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:500!important}.register-consent input[type=checkbox]{width:auto;margin-top:3px}.login-card select{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--input-bg);color:var(--text)}.legal-page{min-height:100vh;min-height:100dvh;padding:20px;position:relative;background:radial-gradient(circle at 20% 10%,rgba(37,99,235,.12),transparent 35%),var(--bg)}.legal-card{width:min(820px,100%);margin:0 auto;padding:28px 32px 36px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.legal-header .login-logo{width:min(240px,100%);margin-bottom:12px}.legal-header h1{margin:0;font-size:24px;line-height:1.3}.legal-updated{margin:8px 0 0;color:var(--muted);font-size:13px}.legal-body{margin-top:20px;font-size:14px;line-height:1.65;color:var(--text)}.legal-body h2{margin:1.4em 0 .55em;font-size:16px}.legal-body p,.legal-body ul{margin:0 0 .85em}.legal-body ul{padding-left:1.25em}.legal-footer{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:28px;padding-top:16px;border-top:1px solid var(--border);font-size:13px}@media(max-width:560px){.register-row{grid-template-columns:1fr}.legal-card{padding:20px 16px 28px}}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:10px;background:var(--surface);padding:12px 14px;border-radius:14px;border:1px solid var(--border);flex-shrink:0}.zoom-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.zoom-cluster{display:inline-flex;align-items:center;justify-content:center;gap:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.zoom-cluster-vertical{flex-direction:column}.zoom-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--primary);font:inherit;font-size:13px;font-weight:700;line-height:1;cursor:pointer}.zoom-icon-btn:hover:not(:disabled){background:var(--surface-2)}.zoom-icon-btn:disabled{opacity:.35;cursor:default}.zoom-icon-btn svg{display:block;width:78%;height:78%}.layout{display:grid;grid-template-columns:1fr 340px;gap:20px}@media(max-width:1024px){.layout{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.panel h2{margin:0 0 16px;font-size:18px}.schedule-panel{padding:0;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.schedule-panel.is-loading .schedule{pointer-events:none;filter:saturate(.85)}.schedule-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:color-mix(in srgb,var(--surface, #fff) 72%,transparent);color:var(--text, #1a1a1a);font-size:14px;font-weight:500}.schedule-spinner{width:36px;height:36px;border:3px solid color-mix(in srgb,var(--accent, #2f6fed) 25%,transparent);border-top-color:var(--accent, #2f6fed);border-radius:50%;animation:schedule-spin .7s linear infinite}@keyframes schedule-spin{to{transform:rotate(360deg)}}.schedule{--gutter: 60px;--col-w: 160px;--sb-size: 18px;flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.schedule-head{display:flex;position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--border)}.schedule-head-scroll{overflow:hidden;flex:1;min-width:0;display:flex;cursor:ew-resize}.schedule-head-sb-spacer{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;background:var(--surface);border-left:1px solid var(--border)}.schedule-head-sb-spacer .zoom-cluster{border:none;border-radius:0;width:100%;background:transparent}.schedule-body{display:flex;position:relative;overflow:hidden;flex:1;min-height:0}.time-gutter-scroll{flex:0 0 var(--gutter);width:var(--gutter);overflow-x:hidden;overflow-y:hidden;scrollbar-width:none;background:var(--surface);border-right:1px solid var(--border);z-index:4;cursor:ns-resize}.time-gutter-scroll::-webkit-scrollbar{display:none;width:0;height:0}.zoom-rail{position:absolute;z-index:7;pointer-events:auto;display:flex;background:var(--surface);border:1px solid var(--border)}.zoom-rail .zoom-cluster{border:none;border-radius:0;width:100%;height:100%}.zoom-rail-h{left:0;bottom:0;flex-direction:row;justify-content:flex-start;border-top:1px solid var(--border);border-right:none;border-left:none;border-bottom:none}.zoom-corner-reset{position:absolute;right:0;bottom:0;z-index:8;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:1px solid var(--border);border-right:none;border-bottom:none;border-radius:0;background:var(--surface);color:var(--primary);cursor:pointer;line-height:1}.zoom-corner-reset:hover:not(:disabled){background:var(--surface-2)}.zoom-corner-reset:disabled{opacity:.35;cursor:default}.zoom-corner-reset svg{display:block;width:62%;height:62%}.zoom-cursor-hint{position:fixed;z-index:10000;pointer-events:none;transform:translate(0);padding:.2rem .45rem;border-radius:6px;background:#0f172ae0;color:#fff;font-size:.75rem;font-weight:600;line-height:1.2;letter-spacing:.02em;white-space:nowrap;box-shadow:0 4px 12px #0f172a40}.schedule-cols-scroll{flex:1;min-width:0;overflow-x:auto;overflow-y:scroll;scrollbar-width:auto;scrollbar-color:var(--muted) var(--surface-2)}.schedule-cols-scroll::-webkit-scrollbar{width:var(--sb-size, 18px);height:var(--sb-size, 18px)}.schedule-cols-scroll::-webkit-scrollbar-track{background:var(--surface-2)}.schedule-cols-scroll::-webkit-scrollbar-thumb{background:var(--muted);border-radius:8px;border:3px solid var(--surface-2)}.schedule-cols-scroll::-webkit-scrollbar-thumb:hover{background:var(--text)}.schedule-cols-scroll::-webkit-scrollbar-corner{background:var(--surface-2)}.schedule-cols-inner{display:flex;width:max-content;min-width:100%}.day-group-head{flex-shrink:0;border-right:2px solid var(--day-sep)}.day-label{text-align:center;font-size:12px;font-weight:700;color:var(--primary);padding:8px 4px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.day-docs-head{display:flex}.day-group-body{display:flex;flex-shrink:0;position:relative;border-right:2px solid var(--day-sep)}.now-line{position:absolute;left:0;right:0;z-index:6;pointer-events:none;border-top:2px solid #ea4335}.now-line-dot{position:absolute;left:0;top:-5px;width:10px;height:10px;border-radius:50%;background:#ea4335;transform:translate(-40%);box-shadow:0 0 0 2px color-mix(in srgb,var(--surface) 70%,transparent)}.now-gutter-label{position:absolute;right:4px;transform:translateY(-50%);z-index:5;font-size:11px;font-weight:700;line-height:1;color:#ea4335;background:var(--surface);padding:1px 3px;border-radius:4px;pointer-events:none}.doc-head{flex:0 0 var(--col-w);width:var(--col-w);padding:8px 10px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.doc-head-btn{border:none;background:var(--surface);text-align:left;cursor:pointer;flex-direction:row;align-items:center;gap:8px}.doc-head-btn:hover{background:var(--surface-2)}.doc-head-text{display:flex;flex-direction:column;gap:2px;min-width:0}.staff-avatar{border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--surface-2)}.doc-head-avatar{box-shadow:0 0 0 1px var(--border)}.doc-col{flex:0 0 var(--col-w);width:var(--col-w);position:relative;border-right:1px solid var(--border);cursor:copy}.corner{flex:0 0 var(--gutter);width:var(--gutter);z-index:6;background:var(--surface);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--muted);text-align:center;padding:8px 4px}.doc-head strong{font-size:12px;line-height:1.3}.doc-head span{font-size:11px;color:var(--muted)}.doc-head-branch{color:var(--accent, #2563eb)!important;font-weight:600}.doc-head-dayoff strong{color:var(--muted)}.doc-col-dayoff{background:color-mix(in srgb,var(--muted) 8%,transparent);display:flex;align-items:center;justify-content:center;cursor:default}.dayoff-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:500;color:var(--muted);opacity:.55;letter-spacing:.04em}.time-gutter{position:relative;width:var(--gutter);background:var(--surface)}.hour-label{position:absolute;right:8px;transform:translateY(-50%);font-size:12px;font-weight:600;color:var(--muted)}.doc-col:hover{background:var(--col-hover)}.doc-col-off{background:color-mix(in srgb,var(--muted) 6%,transparent);cursor:not-allowed}.doc-col-off:hover{background:color-mix(in srgb,var(--muted) 8%,transparent)}.work-block{position:absolute;left:2px;right:2px;pointer-events:none;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;opacity:.85;z-index:1}.work-block-break{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--muted);border:1px dashed color-mix(in srgb,var(--border) 70%,transparent);opacity:.7}.work-block-off{background:color-mix(in srgb,var(--muted) 10%,transparent);border:none;border-radius:0;left:0;right:0;opacity:1;z-index:0}.work-block-vacation,.work-block-cancelled{background:color-mix(in srgb,#b45309 18%,transparent);color:#92400e;border:1px solid color-mix(in srgb,#b45309 35%,transparent);z-index:1}.hour-line{position:absolute;left:0;right:0;border-top:1px solid var(--border);z-index:0;pointer-events:none}.minor-line{position:absolute;left:0;right:0;border-top:1px solid color-mix(in srgb,var(--border) 42%,var(--muted) 8%);opacity:.65;z-index:0;pointer-events:none}.minor-label{position:absolute;right:8px;transform:translateY(-50%);font-size:9px;font-weight:500;line-height:1;color:color-mix(in srgb,var(--muted) 55%,transparent);pointer-events:none;z-index:1}.event{position:absolute;left:4px;right:4px;cursor:pointer;border:1px solid transparent;border-left-width:4px;border-radius:8px;padding:4px 8px;text-align:left;overflow:hidden;display:flex;flex-direction:column;gap:1px;font:inherit;color:var(--text);transition:filter .12s,box-shadow .12s;z-index:2}.event>*{flex-shrink:0;line-height:1.2}.event:hover{box-shadow:var(--shadow);filter:brightness(.98);z-index:3}.event.free{background:var(--success-bg);border-color:var(--success);border-left-color:var(--success)}.event,.appt-popover{background:var(--svc-bg, var(--event-pending-bg));border-color:var(--svc-edge, var(--event-pending-border));border-left-width:4px;border-left-color:color-mix(in srgb,var(--svc-accent, #94a3b8) 42%,#ffffff)}.event.svc-sky,.appt-popover.svc-sky{--svc-bg: #e0f2fe;--svc-edge: #bae6fd;--svc-accent: #0284c7}.event.svc-blue,.appt-popover.svc-blue{--svc-bg: #dbeafe;--svc-edge: #bfdbfe;--svc-accent: #2563eb}.event.svc-indigo,.appt-popover.svc-indigo{--svc-bg: #e0e7ff;--svc-edge: #c7d2fe;--svc-accent: #4f46e5}.event.svc-violet,.appt-popover.svc-violet{--svc-bg: #ede9fe;--svc-edge: #ddd6fe;--svc-accent: #7c3aed}.event.svc-pink,.appt-popover.svc-pink{--svc-bg: #fce7f3;--svc-edge: #fbcfe8;--svc-accent: #db2777}.event.svc-rose,.appt-popover.svc-rose{--svc-bg: #ffe4e6;--svc-edge: #fecdd3;--svc-accent: #e11d48}.event.svc-orange,.appt-popover.svc-orange{--svc-bg: #ffedd5;--svc-edge: #fed7aa;--svc-accent: #ea580c}.event.svc-amber,.appt-popover.svc-amber{--svc-bg: #fef3c7;--svc-edge: #fde68a;--svc-accent: #d97706}.event.svc-lime,.appt-popover.svc-lime{--svc-bg: #ecfccb;--svc-edge: #d9f99d;--svc-accent: #65a30d}.event.svc-green,.appt-popover.svc-green{--svc-bg: #dcfce7;--svc-edge: #bbf7d0;--svc-accent: #16a34a}.event.svc-teal,.appt-popover.svc-teal{--svc-bg: #ccfbf1;--svc-edge: #99f6e4;--svc-accent: #0d9488}.event.svc-slate,.appt-popover.svc-slate{--svc-bg: #f1f5f9;--svc-edge: #e2e8f0;--svc-accent: #475569}.event-time{display:flex;align-items:center;gap:.3rem;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;min-width:0}.event-confirmed-mark{flex:0 0 auto;color:#16a34a;font-size:12px;font-weight:800;line-height:1}.event-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-sub{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appt-popover{position:fixed;z-index:200;border:1px solid transparent;border-left-width:4px;border-radius:8px;padding:4px 8px;overflow:hidden;cursor:pointer;box-shadow:0 16px 40px #0f172a2e;transform-origin:top;animation:popover-unfold .2s ease-out}@keyframes popover-unfold{0%{max-height:44px;box-shadow:0 0 #0f172a00}to{max-height:var(--popover-max-h, 340px);box-shadow:0 16px 40px #0f172a2e}}.appt-popover.expand-up{transform-origin:bottom}.popover-head{display:flex;flex-direction:column;gap:1px}.popover-details{margin-top:8px;padding-top:8px;border-top:1px dashed var(--popover-rule);animation:details-fade .25s ease-out}@keyframes details-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.popover-phone{font-size:13px;font-weight:600;margin-bottom:8px}.popover-grid{display:grid;grid-template-columns:54px 1fr;gap:4px 8px;margin:0 0 8px}.popover-grid dt{font-size:12px;color:var(--muted)}.popover-grid dd{margin:0;font-size:12px;font-weight:500}.popover-hint{margin-top:8px;font-size:11px;color:var(--muted);font-style:italic}.legend{display:flex;gap:10px;margin-left:auto;align-items:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.dot{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-item.hint{font-style:italic}.pad{padding:20px}.dot.confirmed{background:var(--primary)}.dot.pending{background:var(--event-pending-accent)}.stats{display:flex;gap:12px}.stat{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:2px}.stat-num{font-size:22px;font-weight:700;color:var(--primary)}.stat-label{font-size:12px;color:var(--muted)}.search{width:100%;margin-bottom:12px}.patient-list,.appointment-list{list-style:none;margin:0 0 24px;padding:0;max-height:220px;overflow:auto}.patient-list li,.appointment-card{padding:10px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.patient-list span{font-size:12px;color:var(--muted)}.appointment-card{gap:8px}.appointment-main span{display:block;font-size:13px;color:var(--muted)}.badges{display:flex;gap:6px;margin-top:6px}.badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--badge-bg);color:var(--badge-fg)}.badge.ok{background:var(--success-bg);color:var(--success)}.badge.warn{background:var(--event-pending-bg);color:var(--event-pending-fg)}.badge.muted{background:var(--surface-2);color:var(--muted)}.appointment-actions{display:flex;gap:8px}.btn{border:none;border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.secondary{background:var(--secondary-btn-bg);color:var(--primary)}.btn.small{padding:6px 10px;font-size:12px}.btn.danger{background:var(--danger-bg);color:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--muted);font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-scrim);display:flex;align-items:flex-start;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));z-index:100;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal{background:var(--surface);color:var(--text);border-radius:16px;padding:24px;width:min(440px,100%);max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow);border:1px solid var(--border);box-sizing:border-box}.modal.modal-wide{width:min(720px,100%);max-height:min(90vh,calc(100dvh - 24px),900px);overflow:auto}.schedule-section-title{margin:18px 0 8px;font-size:15px}.schedule-rules{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.schedule-rule-row,.schedule-exc-form,.schedule-gen-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.schedule-rule-row select,.schedule-rule-row input,.schedule-exc-form select,.schedule-exc-form input,.schedule-gen-row input{min-width:0}.schedule-exc-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.schedule-exc-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:13px}.branch-hours{display:flex;flex-direction:column;gap:8px;margin:8px 0 16px}.branch-hours-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px}.branch-hours-day{width:2rem;font-weight:600}.modal label{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:900px){.app-full{padding:8px 10px}.header{flex-direction:column;margin-bottom:8px}.toast{width:100%;font-size:13px}.toolbar{padding:10px;gap:8px}.toolbar label{max-width:none;flex:1 1 45%}.legend-item.hint{display:none}.doc-head strong,.doc-head span{font-size:10px}.day-label{font-size:11px;padding:6px 2px}.event-title{font-size:11px}.event-time,.event-sub{font-size:10px}.hour-label{font-size:10px;right:4px}.minor-label{font-size:8px;right:4px}}@media(max-width:600px){.subtitle{font-size:13px}.toolbar label{flex:1 1 100%}.presets{width:100%}.modal{padding:16px;max-height:90vh;overflow-y:auto}.modal-actions{justify-content:stretch}.modal-actions .btn{flex:1}}.org-name-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px;max-width:420px}.client-name-fields{display:flex;flex-direction:column;gap:0;width:100%}.client-name-fields-row{display:flex;align-items:center;gap:6px;width:100%;min-height:2.15rem}.client-name-fields-main{flex:1;min-width:0;display:flex;align-items:center}.client-name-mode-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;padding:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted, #6b7280);cursor:pointer;line-height:0;box-sizing:border-box}.client-name-mode-toggle:hover{border-color:var(--accent, #2f6fed);color:var(--accent, #2f6fed);background:color-mix(in srgb,var(--accent, #2f6fed) 8%,var(--surface))}.client-name-mode-toggle.is-fio{color:var(--accent, #2f6fed);border-color:color-mix(in srgb,var(--accent, #2f6fed) 45%,var(--border))}.client-name-fio-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;align-items:center}.client-name-single-wrap{width:100%;display:flex;align-items:center}.client-name-single-wrap input,.client-name-fio-row input{width:100%;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.client-card--blocks{display:flex;flex-direction:column;gap:.85rem;font-size:.9rem;line-height:1.35;color:var(--text)}.client-card--blocks .vf-section{margin:0}.client-card--blocks .vf-field input,.client-card--blocks .vf-field select,.client-card--blocks .vf-field textarea,.client-card--blocks .client-name-input{width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:.42rem .55rem;font:inherit;font-size:.875rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);min-height:2.15rem}.client-card--blocks .client-name-input{font-weight:600;font-size:1rem}.cc-hero-row{display:flex;gap:.85rem;align-items:flex-start}.cc-hero-main{flex:1;min-width:0}.client-card--blocks .cc-hero-main .client-name-fields-row{min-height:64px;align-items:center}.client-card--blocks .cc-hero-main .client-name-fields-main input,.client-card--blocks .cc-hero-main .client-name-input{height:64px;min-height:64px;padding:0 .85rem;font-size:1.05rem;font-weight:600;border-radius:10px}.client-card--blocks .cc-hero-main .client-name-mode-toggle{width:64px;height:64px;border-radius:10px}.client-card--blocks .cc-kpi{margin:0;padding:0;border:0;background:transparent;border-radius:0}.client-card--blocks .patient-tabs{margin-top:.15rem;border-bottom:1px solid var(--border)}.client-card--blocks .client-tab-body{margin-top:.75rem;min-height:100px}.cc-actions{padding:0;border:0}.cc-actions-left,.cc-actions-right{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}@media(max-width:900px){.client-card--blocks .vf-grid-3,.client-card--blocks .vf-grid-2{grid-template-columns:1fr}.client-card--blocks .vf-field.span-2{grid-column:span 1}}.org-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;padding:1rem}.org-type-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer;font-size:.85rem}.org-type-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.org-type-emoji{font-size:1.5rem}.org-terms-title{margin:1rem 1rem 0;font-size:1rem}.org-term-fieldset{margin:1rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px}.org-term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.org-term-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem}.pad-h{padding-left:1rem;padding-right:1rem}.integration-card{display:flex;flex-direction:column;gap:.5rem}.integration-actions{display:flex;flex-wrap:wrap;gap:.5rem}.toast-ok-inline{color:var(--ok, #1b7a3d);margin:0 1rem}.field-map-grid{margin-top:.5rem}.registry-page{overflow:auto}.registry-header{flex-wrap:wrap;gap:.75rem}.registry-list-panel{flex:1;min-height:0;overflow:auto}.registry-toolbar{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.registry-toolbar .search{width:100%;max-width:520px}.registry-table{width:100%;border-collapse:collapse;font-size:.92rem}.registry-table th,.registry-table td{padding:.55rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.registry-table th{color:var(--muted);font-weight:600;background:var(--surface-2);position:sticky;top:0}.registry-row{cursor:pointer}.registry-row:hover{background:var(--col-hover)}.patient-card-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.patient-card-head{display:flex;align-items:baseline;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.patient-card-head h2{margin:0;font-size:1.15rem}.patient-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);background:var(--surface-2)}.patient-tab{border:1px solid transparent;background:transparent;color:var(--muted);padding:.35rem .65rem;border-radius:6px;cursor:pointer;font-size:.82rem}.patient-tab.active{background:var(--surface);border-color:var(--border);color:var(--text)}.patient-card-body{flex:1;overflow:auto;padding:1rem}.patient-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:.75rem 1rem}.patient-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.patient-field.span-2{grid-column:span 2}.patient-field input,.patient-field select,.patient-field textarea{width:100%}.patient-card-actions{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.patient-visits{display:flex;flex-direction:column;gap:.5rem}.patient-visit-row{padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}@media(max-width:800px){.patient-form-grid{grid-template-columns:1fr}.patient-field.span-2{grid-column:span 1}}.client-base-page{overflow:hidden;min-height:0}.client-base-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:0;overflow:hidden}.client-list-pane{border-right:1px solid var(--border);overflow:auto;background:var(--surface);display:flex;flex-direction:column;padding:.75rem;gap:.6rem}.client-list-pane .search{width:100%}.client-filter-row{display:flex;flex-wrap:wrap;gap:.35rem}.client-filter{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;cursor:pointer}.client-filter.active{background:var(--primary);border-color:var(--primary);color:#fff}.client-list{list-style:none;margin:0;padding:0}.client-list-item{width:100%;text-align:left;border:0;background:transparent;padding:.55rem .45rem;border-radius:8px;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;color:inherit}.client-list-item:hover,.client-list-item.active{background:var(--col-hover)}.client-list-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--secondary-btn-bg)}.client-list-avatar--initials{display:grid;place-items:center;font-size:.85rem;font-weight:700;color:var(--badge-fg)}.client-list-body{min-width:0;display:flex;flex-direction:column;gap:.15rem}.client-list-name{font-weight:600}.client-card-pane{overflow:auto;background:var(--surface)}.client-empty{display:flex;align-items:center;justify-content:center;min-height:280px;padding:2rem}.client-card{padding:1rem 1.25rem 1.5rem}.client-card-hero{display:flex;gap:1rem;align-items:flex-start}.client-avatar{width:64px;height:64px;border-radius:50%;background:var(--secondary-btn-bg);color:var(--badge-fg);display:grid;place-items:center;font-weight:700;font-size:1.15rem;flex-shrink:0;overflow:hidden}.client-avatar-img{width:100%;height:100%;object-fit:cover;display:block}.client-hero-main{flex:1;min-width:0}.client-name-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.5rem}.client-name-input{font-size:1.05rem;font-weight:600}.client-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.ycat{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;padding:.12rem .5rem;border-radius:999px;background:var(--badge-bg);color:var(--badge-fg)}.ycat-vip{background:#fef3c7;color:#92400e}.ycat-loyal{background:#dbeafe;color:#1d4ed8}.ycat-regular{background:#d1fae5;color:#047857}.ycat-black{background:var(--danger-bg);color:var(--danger)}.ycat-bday{background:#fce7f3;color:#9d174d}.client-kpi{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:.5rem;margin:1rem 0;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.client-kpi div{display:flex;flex-direction:column;gap:.15rem}.client-kpi strong{font-size:.95rem}.client-card-fields{margin-top:.25rem}.client-bday-row{display:flex;align-items:center;gap:.5rem}.client-consent-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.75rem 0 .25rem}.client-check{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.client-tab-body{padding:.75rem 0 0}.client-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.65rem}.client-stat-card{border:1px solid var(--border);border-radius:10px;padding:.75rem;background:var(--surface-2);display:flex;flex-direction:column;gap:.35rem}.client-stat-card strong{font-size:1.05rem}@media(max-width:960px){.client-base-layout{grid-template-columns:1fr;grid-template-rows:minmax(180px,32vh) 1fr}.client-list-pane{border-right:0;border-bottom:1px solid var(--border)}.client-name-row{grid-template-columns:1fr}.client-kpi{grid-template-columns:repeat(2,1fr)}}.modal.card-modal{width:min(1040px,100%);max-height:min(92vh,calc(100dvh - 24px),920px);padding:0;display:flex;flex-direction:column;overflow:hidden}.modal.card-modal-xl{width:min(1140px,100%)}.card-modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.card-modal-head h2{margin:0;font-size:1.15rem}.card-modal .patient-tabs{flex-shrink:0}.card-modal-body{flex:1;overflow:auto;padding:0 1.25rem 1rem}.card-modal .patient-form-grid.card-form-4{grid-template-columns:repeat(4,minmax(130px,1fr))}.card-modal .patient-form-grid.card-form-2{grid-template-columns:repeat(2,minmax(130px,1fr))}.card-modal .card-panel .patient-form-grid{grid-template-columns:1fr}.modal.visit-modal{width:min(1060px,calc(100vw - 24px));height:min(860px,calc(100vh - 24px),calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;display:flex;flex-direction:column;overflow:hidden;font-size:.8125rem;box-shadow:0 28px 56px #0f172a3d,0 12px 24px #0f172a24,0 0 0 1px #0f172a0f}.visit-modal label.patient-field,.visit-modal .patient-field,.visit-modal .field-stack,.visit-modal .visit-check-row label,.visit-modal .visit-note-row label{margin:0}.visit-modal .panel{padding:.4rem .55rem;border-radius:10px;box-shadow:none}.visit-modal-loading{padding:1.25rem}.visit-modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.6rem 1rem .4rem;flex-shrink:0}.visit-modal-head h2{margin:0;font-size:1rem}.visit-modal-tabs{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.1rem;padding:0 .65rem;background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0}.visit-modal-tab{border:1px solid transparent;border-bottom:none;background:transparent;color:var(--muted);padding:.38rem .62rem;margin-bottom:-1px;border-radius:7px 7px 0 0;cursor:pointer;font-size:.76rem;line-height:1.15;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.visit-modal-tab:hover:not(.active){color:var(--text);background:#ffffff73}.visit-modal-tab.active{background:var(--surface);color:var(--text);border-color:var(--border);font-weight:600;transform:translateY(-2px);box-shadow:0 -2px 5px #0f172a0f,0 1px 0 var(--surface);z-index:1;position:relative}.visit-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 .85rem .55rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.visit-status-slot{flex-shrink:0;min-height:2.15rem}.visit-status-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.35rem .55rem;padding:.1rem 0 .05rem}.visit-status-row .badge{font-size:.72rem;padding:.15rem .45rem}.visit-compact-field{min-width:140px}.visit-tab-pane{flex:1;min-height:0;overflow:hidden}.visit-main-grid{display:grid;grid-template-columns:1.52fr 1fr;gap:.5rem;align-content:start}.visit-panel{margin:0;min-height:0}.visit-col-fields{display:flex;flex-direction:column;gap:.28rem}.visit-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.2rem}.visit-panel-head .schedule-section-title,.visit-panel>.schedule-section-title{margin:0 0 .2rem;font-size:.78rem;font-weight:600}.visit-link-btn{border:0;background:none;color:var(--primary);font-size:.72rem;cursor:pointer;padding:0;text-decoration:underline;white-space:nowrap}.visit-form-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:.28rem .42rem}.visit-form-1{grid-template-columns:1fr;gap:.28rem}.visit-modal .patient-field{gap:.1rem;font-size:.74rem}.visit-modal .patient-field>span{line-height:1.15}.visit-modal .patient-field input,.visit-modal .patient-field select,.visit-modal .patient-field textarea{padding:.22rem .38rem;font-size:.78rem;line-height:1.2;min-height:1.65rem}.visit-modal .patient-field textarea{min-height:1.75rem;resize:vertical}.visit-modal .field-stack{gap:.18rem}.visit-modal .field-stack .sub-field{gap:.08rem}.visit-modal .sub-label{font-size:.68rem;line-height:1.1}.visit-modal .card-gender-row{gap:.15rem}.visit-modal .card-inline-row{gap:.55rem}.visit-modal .check-inline{font-size:.74rem;gap:.25rem}.visit-form-3 .span-2{grid-column:span 2}.visit-form-3 .span-full{grid-column:1 / -1}.visit-side-stack{display:flex;flex-direction:column;gap:.22rem;justify-content:flex-start}.visit-datetime-row{display:grid;grid-template-columns:1.2fr .75fr .75fr;gap:.35rem}.visit-datetime-row .patient-field{margin:0}.visit-check-row{display:grid;grid-template-columns:1fr 1fr;gap:.15rem .5rem;padding:.1rem 0}.visit-note-row{display:grid;grid-template-columns:auto 1fr;gap:.45rem;align-items:end;padding-top:.05rem}.visit-earlier{margin:0 0 .15rem;white-space:nowrap;font-size:.74rem}.visit-form-3 .span-2 textarea{min-height:2.5rem;max-height:2.75rem;resize:none}.visit-tab-fill{height:100%;display:flex;flex-direction:column}.visit-tab-center{align-items:center;justify-content:center}.visit-tab-scroll{height:100%;overflow:auto;padding-top:.25rem}.visit-dropzone{margin:0;width:min(420px,100%)}.visit-modal-actions{flex-shrink:0;margin-top:.3rem;padding-top:.4rem;border-top:1px solid var(--border)}.visit-modal-actions .btn{padding:.38rem .75rem;font-size:.8125rem}.patient-field.span-full{grid-column:1 / -1}.field-stack{display:flex;flex-direction:column;gap:.35rem}.field-stack .sub-field{display:flex;flex-direction:column;gap:.2rem;margin:0}.sub-label{font-size:.82rem;color:var(--muted);font-weight:500}.card-gender-row{display:flex;flex-direction:column;gap:.35rem}.card-datetime-row{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:.75rem}.card-modal .modal label{margin:0}.card-section{padding:1rem 0;border-bottom:1px solid var(--border)}.card-section:last-of-type{border-bottom:0}.card-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:.5rem}.card-panel{margin:0;padding:.85rem}.card-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.card-panel-head .schedule-section-title{margin:0}.card-status-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;padding:.75rem 0 .25rem}.compact-field{min-width:180px}.card-radio-row{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.card-inline-row{display:flex;flex-wrap:wrap;gap:1rem}.card-inline-row label,.check-inline{display:inline-flex;align-items:center;gap:.35rem;font-weight:400;cursor:pointer}.card-check-list,.card-check-grid{display:flex;flex-direction:column;gap:.35rem}.card-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .75rem}.card-address-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.card-address-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.card-dropzone{margin:1rem 0;padding:2rem 1rem;border:2px dashed var(--border);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;background:var(--surface-2)}.card-total{text-align:right;margin:.75rem 0 0}.card-modal-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.inline-toast{margin:.5rem 0 0}.event .event-title{color:var(--primary);font-weight:600}.event .event-phone,.event .event-birth,.event .event-price{display:block;font-size:.68rem;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event .event-price{font-weight:600}@media(max-width:900px){.modal.visit-modal{height:min(680px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}.visit-main-grid,.visit-form-3{grid-template-columns:1fr}.visit-form-3 .span-2,.visit-form-3 .span-full{grid-column:span 1}.visit-datetime-row,.visit-note-row,.card-columns,.card-address-row,.card-check-grid,.card-modal .patient-form-grid.card-form-4,.card-modal .patient-form-grid.card-form-2,.card-datetime-row{grid-template-columns:1fr}.patient-field.span-2,.patient-field.span-full{grid-column:span 1}}.modal-backdrop.sched-cal-backdrop{padding:6px;align-items:stretch;justify-content:stretch}.modal.sched-cal-modal{width:calc(100vw - 12px)!important;max-width:none!important;height:calc(100vh - 12px)!important;max-height:none!important;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:12px}.sched-cal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.sched-cal-head h2{margin:0;font-size:1.15rem}.sched-cal-toolbar{display:flex;flex-wrap:wrap;gap:.55rem .85rem;align-items:center;padding:.55rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0}.sched-cal-branch{min-width:150px;margin:0}.sched-cal-branch select{margin-top:.15rem}.sched-cal-views{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.sched-view-tab{border:0;background:transparent;padding:.4rem .85rem;font:inherit;font-size:.8125rem;cursor:pointer;color:var(--muted)}.sched-view-tab+.sched-view-tab{border-left:1px solid var(--border)}.sched-view-tab.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--primary)}.sched-cal-nav{display:flex;align-items:center;gap:.35rem}.sched-cal-period{min-width:10rem;text-align:center;font-weight:600;font-size:.9rem}.sched-cal-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin-left:auto;font-size:.72rem}.sched-cal-legend .leg{display:inline-flex;align-items:center;gap:.25rem;color:var(--muted)}.sched-cal-legend .leg:before{content:"";width:.65rem;height:.65rem;border-radius:2px}.sched-cal-legend .leg.work:before{background:color-mix(in srgb,var(--primary) 55%,white)}.sched-cal-legend .leg.break:before{background:#f59e0b}.sched-cal-legend .leg.off:before{background:#94a3b8}.sched-cal-legend .leg.vacation:before{background:#8b5cf6}.sched-cal-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:0;overflow:hidden}.sched-cal-main{min-height:0;overflow:auto;padding:.65rem .75rem;background:var(--surface)}.sched-cal-side{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.65rem;padding:.65rem;border-left:1px solid var(--border);background:var(--surface-2)}.sched-week-board{display:flex;flex-direction:column;min-height:100%;height:max(560px,100%)}.sched-week-headrow{display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));gap:2px;position:sticky;top:0;z-index:2;background:var(--surface);padding-bottom:.25rem}.sched-week-corner{font-size:.7rem;color:var(--muted);display:flex;align-items:end;padding:0 .25rem .35rem}.sched-week-colhead{border:1px solid var(--border);border-radius:8px 8px 0 0;background:var(--surface-2);padding:.4rem .35rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;cursor:pointer;font:inherit;color:inherit}.sched-week-colhead strong{font-size:.85rem}.sched-week-colhead span{font-size:.72rem;color:var(--muted)}.sched-week-colhead.kind-vacation{background:color-mix(in srgb,#8b5cf6 14%,var(--surface-2))}.sched-week-colhead.kind-off,.sched-week-colhead.kind-day_off{background:color-mix(in srgb,#94a3b8 12%,var(--surface-2))}.sched-week-colhead.is-today{border-color:var(--primary);box-shadow:inset 0 -2px 0 var(--primary)}.sched-week-colhead.is-today span{color:var(--primary);font-weight:600}.sched-week-grid{flex:1;display:grid;grid-template-columns:56px repeat(7,minmax(0,1fr));gap:2px;min-height:520px}.sched-week-hours{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:.15rem .2rem .15rem 0;font-size:.68rem;color:var(--muted)}.sched-week-hour{height:0;transform:translateY(-.45em);text-align:right}.sched-week-col{position:relative;border:1px solid var(--border);border-radius:0 0 8px 8px;background:var(--surface);padding:0;cursor:pointer;font:inherit;color:inherit;overflow:hidden;min-height:520px}.sched-week-col:hover{border-color:var(--primary)}.sched-week-col.is-today{border-color:var(--primary);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 45%,transparent)}.sched-week-lines{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.sched-week-line{border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);height:0}.sched-week-banner{position:absolute;top:12%;right:8%;bottom:12%;left:8%;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--muted);background:color-mix(in srgb,#94a3b8 14%,transparent);z-index:1}.sched-week-col.kind-vacation .sched-week-banner{background:color-mix(in srgb,#8b5cf6 18%,transparent);color:#5b21b6}.sched-block{position:absolute;left:4px;right:4px;border-radius:6px;padding:.2rem .3rem;overflow:hidden;z-index:1;box-sizing:border-box}.sched-block span{display:block;font-size:.68rem;font-weight:600;line-height:1.2}.sched-block.work{background:color-mix(in srgb,var(--primary) 32%,white);border:1px solid color-mix(in srgb,var(--primary) 50%,transparent);color:var(--text)}.sched-block.break{background:color-mix(in srgb,#f59e0b 38%,white);border:1px solid color-mix(in srgb,#f59e0b 55%,transparent);color:#92400e}.sched-month-head{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-bottom:.4rem;font-size:.75rem;color:var(--muted);text-align:center}.sched-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem}.sched-month-cell{aspect-ratio:1;min-height:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.3rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer;font:inherit;color:inherit;text-align:left;overflow:hidden}.sched-month-cell.empty{border:none;background:transparent;cursor:default;aspect-ratio:1}.sched-month-cell .num{font-weight:700;font-size:.85rem;line-height:1.1}.sched-month-cell .hours{font-size:.65rem;line-height:1.25;color:var(--muted);white-space:pre-line;overflow:hidden}.sched-month-cell.kind-work .hours,.sched-month-cell.kind-shift .hours{color:var(--text)}.sched-month-cell.kind-work,.sched-month-cell.kind-shift{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.sched-month-cell.kind-vacation{background:color-mix(in srgb,#8b5cf6 14%,var(--surface))}.sched-month-cell.kind-off,.sched-month-cell.kind-day_off{background:color-mix(in srgb,#94a3b8 12%,var(--surface))}.sched-month-cell.is-today{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.sched-month-cell.is-today .num{color:var(--primary)}.sched-year{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.sched-year-month h4{margin:0 0 .3rem;font-size:.82rem}.sched-year-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.sched-year-cell{aspect-ratio:1;border:none;border-radius:4px;font-size:.55rem;padding:.1rem;background:var(--surface-2);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:1.1;overflow:hidden}.sched-year-cell .d{font-weight:700;font-size:.62rem}.sched-year-cell .h{font-size:.48rem;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sched-year-cell.empty{background:transparent;cursor:default}.sched-year-cell.kind-work,.sched-year-cell.kind-shift{background:color-mix(in srgb,var(--primary) 32%,var(--surface))}.sched-year-cell.kind-vacation{background:color-mix(in srgb,#8b5cf6 40%,var(--surface))}.sched-year-cell.kind-off,.sched-year-cell.kind-day_off{background:color-mix(in srgb,#94a3b8 28%,var(--surface))}.sched-year-cell.is-today{outline:2px solid var(--primary);outline-offset:-1px;z-index:1}.sched-year-cell.is-today .d{color:var(--primary)}.sched-exc-panel{border:1px solid var(--border);border-radius:10px;padding:.6rem;background:var(--surface)}.sched-exc-panel h3{margin:0 0 .4rem;font-size:.85rem}.sched-exc-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:180px;overflow:auto;font-size:.75rem}.sched-exc-list li{display:flex;justify-content:space-between;align-items:center;gap:.35rem}.sched-day-backdrop{z-index:5000}.sched-day-modal{width:min(440px,calc(100vw - 24px));position:relative;z-index:5001}.sched-scope{border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;margin:.5rem 0;display:flex;flex-direction:column;gap:.35rem}.sched-scope-toggle{display:inline-flex;width:100%;margin:.55rem 0 .75rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-2)}.sched-scope-toggle button{flex:1;border:0;background:transparent;padding:.45rem .5rem;font:inherit;font-size:.78rem;cursor:pointer;color:var(--muted)}.sched-scope-toggle button+button{border-left:1px solid var(--border)}.sched-scope-toggle button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:inset 0 -2px 0 var(--primary)}.sched-day-times{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.4rem 0}.sched-time24{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem}.sched-time24-row{display:inline-flex;align-items:center;gap:.2rem}.sched-time24-row select{min-width:3.2rem;padding:.28rem .35rem}.sched-time24-sep{font-weight:700}.sched-ru-date{position:relative;display:flex;flex-direction:column;gap:.2rem;font-size:.78rem}.sched-ru-date-btn{text-align:left;font:inherit;font-variant-numeric:tabular-nums;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;color:inherit}.sched-ru-date-pop{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:240px;padding:.5rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.sched-ru-date-nav{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.35rem;font-size:.78rem}.sched-ru-date-weekdays,.sched-ru-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.sched-ru-date-weekdays{font-size:.65rem;color:var(--muted);margin-bottom:.2rem}.sched-ru-date-day{border:0;background:transparent;border-radius:4px;aspect-ratio:1;font:inherit;font-size:.72rem;cursor:pointer;color:inherit;padding:0}.sched-ru-date-day:hover:not(.empty){background:var(--surface-2)}.sched-ru-date-day.active{background:var(--primary);color:#fff;font-weight:600}.sched-ru-date-day.empty{cursor:default}.sched-exc-add{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;align-items:end}.sched-exc-add .btn{grid-column:1 / -1}.sched-break-block{margin:.5rem 0 .25rem;padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.sched-break-block .check-inline{font-weight:600}@media(max-width:1000px){.sched-cal-body{grid-template-columns:1fr}.sched-cal-side{border-left:none;border-top:1px solid var(--border);max-height:220px}.sched-year{grid-template-columns:repeat(2,minmax(0,1fr))}.sched-cal-legend{margin-left:0}}.staff-col-menu{width:268px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #00000024;padding:.35rem 0}.staff-col-menu-head{display:flex;gap:.65rem;align-items:center;padding:.65rem .85rem .5rem;border-bottom:1px solid var(--border)}.staff-col-menu-item{display:block;width:100%;text-align:left;border:none;background:transparent;padding:.55rem .85rem;font-size:.88rem;cursor:pointer}.staff-col-menu-item:hover:not(:disabled){background:var(--surface-2)}.sched-cal-banner{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:0 0 .75rem;padding:.65rem .85rem;border-radius:8px;font-size:.88rem}.sched-cal-banner.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.sched-matrix-hint{margin:0 0 .5rem;padding:0 .15rem}.sched-matrix-backdrop{display:flex;align-items:center;justify-content:center}.sched-matrix-modal{max-width:min(94vw,1100px);width:94vw;max-height:90vh;margin:auto;display:flex;flex-direction:column}.sched-matrix-wrap{overflow:auto;flex:1;min-height:0;max-height:calc(90vh - 160px);border:1px solid var(--border);border-radius:10px}.sched-matrix{border-collapse:separate;border-spacing:0;font-size:.78rem;min-width:100%}.sched-matrix th,.sched-matrix td{border:1px solid var(--border);padding:0;vertical-align:middle}.sched-matrix-v .sched-matrix-sticky-day{position:sticky;left:0;z-index:3;background:var(--surface);min-width:64px;width:64px;text-align:center;padding:.4rem .35rem!important}.sched-matrix-v thead th{position:sticky;top:0;z-index:4;background:var(--surface)}.sched-matrix-v thead .sched-matrix-sticky-day{z-index:5}.sched-matrix-staffhead{min-width:108px;width:108px;padding:.55rem .4rem!important;text-align:center;vertical-align:top}.sched-matrix-staffhead .staff-avatar{margin:0 auto .3rem;display:block}.sched-matrix-staffhead strong{display:block;font-size:.78rem;line-height:1.2}.sched-matrix-staffhead .muted{display:block;font-size:.65rem;margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;margin-left:auto;margin-right:auto}.sched-matrix-daylabel{display:flex;flex-direction:column;align-items:center;gap:.1rem}.sched-matrix-daylabel .num{font-weight:700;font-size:.9rem}.sched-matrix-daylabel .wd{color:var(--muted);font-size:.68rem}.sched-matrix-v tr.is-today-row .sched-matrix-daylabel{color:var(--accent, #2563eb)}.sched-matrix-v td.cell-off{background:#e8ecf1}.sched-matrix-v td.cell-vacation{background:#efe8ff}.sched-matrix-cell{width:100%;min-height:72px;height:72px;border:none;background:transparent;cursor:pointer;padding:3px;display:block}.sched-matrix-cell.selected{outline:2px solid var(--accent, #2563eb);outline-offset:-2px}.sched-mx-visual{position:relative;width:100%;height:100%;min-height:66px;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}.sched-mx-visual.off{background:#d5dbe5;color:#64748b;font-size:.72rem;font-weight:600}.sched-mx-visual.vacation{background:#ddd6fe;color:#5b21b6;font-size:.72rem;font-weight:600}.sched-mx-visual.work{background:#f1f5f9}.sched-mx-track{position:absolute;top:0;right:0;bottom:0;left:0}.sched-mx-seg.work{position:absolute;left:8%;right:8%;background:#3b82f6;border-radius:3px;opacity:.85}.sched-mx-seg.break{position:absolute;left:8%;right:8%;background:#f59e0b;border-radius:2px;opacity:.9}.sched-mx-hours{position:relative;z-index:1;font-size:.68rem;font-weight:700;color:#0f172a;text-shadow:0 0 4px #fff,0 0 2px #fff;padding:0 2px;text-align:center;line-height:1.15}.sched-year-cell.is-selected{outline:2px solid var(--accent, #2563eb);outline-offset:-1px}.sched-breaks-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.sched-break-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.35rem;align-items:end;margin-bottom:.35rem}.sched-cycle-presets legend{font-size:.85rem}.sched-cycle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.sched-cycle-grid label{display:flex;gap:.35rem;align-items:center;padding:.35rem .45rem;border:1px solid var(--border);border-radius:6px;font-size:.82rem;cursor:pointer}.sched-cycle-grid label.active{border-color:var(--accent, #2563eb);background:color-mix(in srgb,var(--accent, #2563eb) 8%,transparent)}.crud-staff-name{display:flex;align-items:center;gap:.5rem}.doctor-form-avatar-block{margin:.35rem 0 .85rem}.doctor-form-avatar-block .field-label{display:block;font-size:.85rem;margin-bottom:.35rem}.avatar-picker{display:flex;gap:.85rem;align-items:center;padding:.65rem .75rem;border:1px dashed var(--border);border-radius:10px;background:var(--surface-2)}.avatar-picker.drag-over{border-color:var(--accent, #2563eb);background:color-mix(in srgb,var(--accent, #2563eb) 8%,transparent)}.avatar-picker-actions{flex:1;min-width:0}.ob-page{--ob-bg: #0f0f10;--ob-surface: #1c1c1e;--ob-surface-2: #2a2a2d;--ob-border: #3a3a3e;--ob-text: #f5f5f7;--ob-muted: #a1a1a6;--ob-accent: #c62828;--ob-chip: #2f2f33;min-height:100vh;min-height:100dvh;width:100%;background:var(--ob-bg);color:var(--ob-text);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;display:flex;flex-direction:column;align-items:center;overflow-x:hidden}.ob-hero{width:100%;max-width:480px;height:180px;flex-shrink:0;position:relative;overflow:hidden;background:#1a1a1c}.ob-hero img{width:100%;height:100%;object-fit:cover;display:block}.ob-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f0f1026,#0f0f108c);pointer-events:none}.ob-shell{width:100%;max-width:480px;margin-top:-40px;background:var(--ob-surface);border-radius:20px 20px 0 0;padding:1.1rem 1rem 2.5rem;min-height:calc(100vh - 140px);box-sizing:border-box;position:relative;z-index:1}.ob-top{display:flex;gap:.65rem;align-items:flex-start;margin-bottom:1.1rem}.ob-icon-btn{width:36px;height:36px;border:0;border-radius:50%;background:var(--ob-surface-2);color:var(--ob-text);cursor:pointer;flex-shrink:0;font-size:1.05rem;line-height:1}.ob-icon-btn.spacer{visibility:hidden;pointer-events:none}.ob-brand-block{display:flex;gap:.65rem;align-items:center;min-width:0;flex:1}.ob-logo{width:44px;height:44px;border-radius:50%;background:var(--ob-accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.05rem;flex-shrink:0;margin-top:-28px;border:3px solid var(--ob-surface)}.ob-brand{font-size:1rem;font-weight:650;letter-spacing:-.01em;line-height:1.25}.ob-branch-select{max-width:100%;background:transparent;color:var(--ob-text);border:0;font-size:1rem;font-weight:650;padding:0}.ob-sub{color:var(--ob-muted);font-size:.82rem;margin-top:.15rem}.ob-title{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1rem;line-height:1.2}.ob-muted{color:var(--ob-muted);font-size:.9rem}.ob-error{background:#c628282e;color:#ffb4b4;border-radius:10px;padding:.65rem .8rem;margin-bottom:.85rem;font-size:.9rem}.ob-toast{position:fixed;left:50%;bottom:5.5rem;transform:translate(-50%);z-index:60;max-width:min(420px,calc(100vw - 2rem));padding:.75rem 1.1rem;border-radius:12px;font-size:.92rem;font-weight:550;box-shadow:0 12px 28px #00000059;animation:ob-toast-in .22s ease-out;text-align:center}.ob-toast.ok{background:#1b5e3a;color:#e8fff2;border:1px solid rgba(120,220,160,.35)}.ob-toast.err{background:#6b1d1d;color:#ffe0e0;border:1px solid rgba(255,150,150,.35)}@keyframes ob-toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ob-home{padding-top:.35rem}.ob-menu{display:flex;flex-direction:column;gap:.35rem}.ob-menu-item{display:flex;align-items:center;gap:.85rem;width:100%;border:0;background:transparent;color:var(--ob-text);padding:.85rem .25rem;cursor:pointer;text-align:left;border-bottom:1px solid var(--ob-border);font-size:1.02rem}.ob-menu-item:last-of-type{border-bottom:0}.ob-menu-ico{width:42px;height:42px;border-radius:50%;background:var(--ob-surface-2);display:grid;place-items:center;color:var(--ob-text);flex-shrink:0}.ob-menu-label{flex:1;font-weight:500}.ob-powered{text-align:center;color:var(--ob-muted);font-size:.75rem;margin-top:2rem}.ob-section{padding-bottom:1rem}.ob-service-list{display:flex;flex-direction:column;gap:1.15rem}.ob-service-card{border-radius:14px;overflow:hidden}.ob-service-hit{display:block;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:0;cursor:pointer}.ob-service-banner{width:100%;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:var(--ob-surface-2)}.ob-service-banner img{width:100%;height:100%;object-fit:cover;display:block}.ob-service-banner-ph{width:100%;height:100%;display:grid;place-items:center;padding:1rem;text-align:center;font-weight:700;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#2a2a2d,#17171a)}.ob-service-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-top:.7rem}.ob-service-name{font-size:1.05rem;font-weight:650;line-height:1.3}.ob-check{width:22px;height:22px;border-radius:5px;border:2px solid var(--ob-border);flex-shrink:0;margin-top:.1rem}.ob-check.on{background:var(--ob-accent);border-color:var(--ob-accent);box-shadow:inset 0 0 0 3px var(--ob-surface)}.ob-service-meta{margin-top:.35rem;font-size:.86rem;color:var(--ob-muted);line-height:1.4}.ob-prep-inline{color:var(--ob-muted)}.ob-more{border:0;background:transparent;color:#d0d0d4;padding:0 0 0 .25rem;cursor:pointer;font-size:.86rem;text-decoration:underline}.ob-service-price{margin-top:.55rem;font-size:1.15rem;font-weight:700}.ob-doctor-list{display:flex;flex-direction:column;gap:1rem}.ob-doctor-block{padding-bottom:.35rem;border-bottom:1px solid var(--ob-border)}.ob-doctor-block:last-child{border-bottom:0}.ob-doctor-card{display:flex;align-items:center;gap:.75rem;width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:.35rem 0;cursor:pointer}.ob-doctor-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--ob-surface-2)}.ob-doctor-avatar.ph,.ob-doctor-avatar.any{display:grid;place-items:center;color:var(--ob-muted)}.ob-doctor-body{flex:1;min-width:0}.ob-doctor-name{font-weight:650;font-size:1rem}.ob-doctor-meta{color:var(--ob-muted);font-size:.84rem;margin-top:.15rem}.ob-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--ob-border);flex-shrink:0}.ob-radio.on{border-color:var(--ob-accent);box-shadow:inset 0 0 0 5px var(--ob-accent)}.ob-nearest{padding:.35rem 0 .65rem .15rem}.ob-nearest-label{font-size:.82rem;color:var(--ob-muted);margin-bottom:.45rem}.ob-nearest-slots,.ob-slots{display:flex;flex-wrap:wrap;gap:.4rem}.ob-chip{border:0;background:var(--ob-chip);color:var(--ob-text);border-radius:10px;padding:.55rem .85rem;cursor:pointer;font-size:.92rem}.ob-chip.ghost{background:transparent;border:1px solid var(--ob-border);color:var(--ob-muted)}.ob-chip.active,.ob-chip.packed.active{background:#fff;color:#111}.ob-chip.packed{outline:1px solid color-mix(in srgb,var(--ob-accent) 55%,transparent)}.ob-tabs{display:flex;gap:.75rem;border-bottom:1px solid var(--ob-border);margin-bottom:.9rem}.ob-tab{border:0;background:transparent;padding:.55rem .15rem;cursor:pointer;color:var(--ob-muted);border-bottom:2px solid transparent;font-size:.92rem}.ob-tab.active{color:var(--ob-text);border-bottom-color:var(--ob-text);font-weight:600}.ob-dates{display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.55rem;margin-bottom:.65rem;scrollbar-width:none}.ob-dates::-webkit-scrollbar{display:none}.ob-date{min-width:48px;border:0;background:transparent;border-radius:999px;padding:.5rem .35rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.1rem;color:var(--ob-text)}.ob-date.active{background:#fff;color:#111}.ob-date.disabled{opacity:.3;cursor:not-allowed}.ob-date-num{font-weight:650;font-size:.95rem}.ob-date-wd{font-size:.7rem;text-transform:lowercase}.ob-day-label{font-size:.9rem;margin-bottom:.85rem;color:var(--ob-muted)}.ob-period{margin-bottom:.95rem}.ob-period-title{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ob-muted);margin-bottom:.45rem}.ob-summary{background:var(--ob-surface-2);border-radius:12px;padding:.85rem .95rem;margin-bottom:1rem}.ob-prep{margin-top:.45rem;font-size:.85rem;color:var(--ob-muted)}.ob-form{display:flex;flex-direction:column;gap:.75rem}.ob-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--ob-muted)}.ob-form input[type=text],.ob-form input[type=tel],.ob-form input:not([type]),.ob-form input:not([type=checkbox]){padding:.7rem .8rem;border-radius:10px;border:1px solid var(--ob-border);background:var(--ob-bg);color:var(--ob-text);font-size:1rem}.ob-check{flex-direction:row!important;align-items:flex-start;gap:.55rem!important;color:var(--ob-text)!important}.ob-submit{margin-top:.45rem;width:100%;border:0;border-radius:12px;padding:.85rem 1rem;background:#fff;color:#111;font-weight:650;font-size:1rem;cursor:pointer}.ob-submit:disabled{opacity:.45;cursor:not-allowed}.ob-submit.secondary{background:var(--ob-surface-2);color:var(--ob-text)}.ob-done{text-align:center;padding:1.5rem 0 1rem}.ob-done-badge{width:3.2rem;height:3.2rem;margin:0 auto .85rem;border-radius:50%;display:grid;place-items:center;background:#1b5e3a;color:#e8fff2;font-size:1.45rem;font-weight:700}.ob-done-card{margin:0 auto 1.25rem;text-align:left;max-width:360px;background:var(--ob-surface-2);border:1px solid var(--ob-border);border-radius:14px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.55rem}.ob-done-card>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.5rem;align-items:baseline}.ob-done-card dt{margin:0;color:var(--ob-muted);font-size:.78rem;font-weight:550}.ob-done-card dd{margin:0;font-size:.95rem;font-weight:600}.ob-done-actions{display:flex;flex-direction:column;gap:.65rem;max-width:360px;margin:0 auto}.ob-done-actions .ob-submit{width:100%}.ob-chat{position:fixed;right:1rem;bottom:1rem;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;pointer-events:none}.ob-chat>*{pointer-events:auto}.ob-chat-fab{border:0;border-radius:999px;padding:.85rem 1.15rem;background:#fff;color:#111;font-weight:650;font-size:.95rem;box-shadow:0 10px 30px #00000059;cursor:pointer}.ob-chat-fab.open{background:var(--ob-surface-2, #2a2a2e);color:var(--ob-text, #f5f5f5)}.ob-chat-panel{width:min(380px,calc(100vw - 2rem));height:min(520px,calc(100vh - 7rem));display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#1c1c1f;color:#f3f3f3;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px #00000073}.ob-chat-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#232328}.ob-chat-sub{margin-top:.15rem;font-size:.8rem;opacity:.65}.ob-chat-close{border:0;background:transparent;color:inherit;font-size:1.4rem;line-height:1;cursor:pointer;opacity:.75}.ob-chat-messages{flex:1;overflow:auto;padding:.9rem;display:flex;flex-direction:column;gap:.55rem}.ob-chat-bubble{max-width:88%;padding:.65rem .8rem;border-radius:14px;white-space:pre-wrap;line-height:1.35;font-size:.92rem}.ob-chat-bubble.assistant{align-self:flex-start;background:#2f2f35}.ob-chat-bubble.user{align-self:flex-end;background:#e8e8ea;color:#111}.ob-chat-typing,.ob-chat-error{font-size:.82rem;opacity:.7}.ob-chat-error{color:#ffb4b4;opacity:1}.ob-chat-booking-card{align-self:stretch;background:#1b5e3a47;border:1px solid rgba(120,220,160,.35);border-radius:12px;padding:.7rem .85rem;font-size:.86rem}.ob-chat-booking-title{font-weight:700;margin-bottom:.45rem;color:#c8f5d8}.ob-chat-booking-card dl{margin:0;display:flex;flex-direction:column;gap:.28rem}.ob-chat-booking-card dl>div{display:grid;grid-template-columns:5.5rem 1fr;gap:.35rem}.ob-chat-booking-card dt{margin:0;opacity:.7;font-size:.75rem}.ob-chat-booking-card dd{margin:0;font-weight:600}.ob-chat-form{display:flex;gap:.45rem;padding:.75rem;border-top:1px solid rgba(255,255,255,.08);background:#232328}.ob-chat-form input{flex:1;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#151518;color:#fff;padding:.7rem .8rem;font-size:.95rem}.ob-chat-form button{width:2.6rem;border:0;border-radius:12px;background:#fff;color:#111;font-size:1.1rem;font-weight:700;cursor:pointer}.ob-chat-form button:disabled{opacity:.4;cursor:not-allowed}.ob-admin{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.25rem;align-items:start}@media(max-width:960px){.ob-admin{grid-template-columns:1fr}.ob-admin-preview{display:none}}.ob-admin-head h2{margin:0 0 .35rem;font-size:1.25rem}.ob-admin-head p{margin:0 0 1rem}.ob-admin-enable{border:1px solid var(--border);border-radius:12px;padding:.75rem .9rem;margin-bottom:.85rem;background:var(--surface)}.ob-admin-switch{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer}.ob-admin-switch strong{display:block}.ob-admin-switch small{color:var(--muted);font-size:.82rem}.ob-admin-list{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.ob-admin-row{width:100%;display:grid;grid-template-columns:36px 1fr 20px;gap:.65rem;align-items:center;text-align:left;padding:.85rem .95rem;border:0;border-bottom:1px solid var(--border);background:transparent;cursor:pointer}.ob-admin-row:last-of-type{border-bottom:0}.ob-admin-row.open{background:color-mix(in srgb,var(--accent, #2563eb) 6%,transparent)}.ob-admin-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2, #f3f4f6);font-size:1rem;color:var(--muted)}.ob-admin-row-text strong{display:block;font-size:.95rem}.ob-admin-row-text small{color:var(--muted);font-size:.8rem}.ob-admin-chev{color:var(--muted);font-size:1.1rem}.ob-admin-panel{padding:.35rem .95rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-2, #f8fafc)}.ob-admin-linkbox code{display:block;word-break:break-all;font-size:.82rem;margin-bottom:.55rem}.ob-admin-link-actions{display:flex;flex-wrap:wrap;gap:.4rem}.ob-admin-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem}@media(max-width:720px){.ob-admin-tiles{grid-template-columns:1fr}}.ob-admin-tile{text-align:left;border:1px solid var(--border);border-radius:10px;padding:.65rem .7rem;background:var(--surface);cursor:pointer}.ob-admin-tile.active{border-color:var(--accent, #2563eb);box-shadow:inset 0 0 0 1px var(--accent, #2563eb)}.ob-admin-tile strong{display:block;margin-bottom:.25rem;font-size:.9rem}.ob-admin-tile span{font-size:.75rem;color:var(--muted);line-height:1.35}.ob-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.65rem}.ob-admin-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem}.ob-admin-footer{margin-top:1rem}.ob-admin-preview-phone{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface);position:sticky;top:1rem}.ob-admin-preview-bar{background:#111;color:#fff;text-align:center;font-size:.8rem;padding:.55rem}.ob-admin-preview-body{padding:1rem}.ob-admin-preview-title{font-weight:650;margin-bottom:.75rem}.ob-admin-preview-line{padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;margin-bottom:.4rem;font-size:.85rem}.ob-admin-preview-meta{margin-top:.75rem;font-size:.78rem;color:var(--muted);line-height:1.45}.ob-service-media img,.ob-service-ph{width:72px;height:72px;border-radius:8px;object-fit:cover}.billing-page{height:100%;width:100%;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.billing-page-inner{max-width:1320px;width:100%;margin:0 auto;padding:20px 24px 48px;box-sizing:border-box}.billing-hero{text-align:center;margin-bottom:1.35rem}.billing-hero h1{margin:0 0 .35rem;font-size:1.75rem;letter-spacing:-.02em}.billing-hero-sub{margin:0 auto .85rem;max-width:36rem}.billing-current-chip{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .55rem;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--border);background:var(--surface, #fff);font-size:.9rem}.billing-current-chip-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650}.billing-current-limits{list-style:none;margin:.55rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted)}.billing-current-limits-hero{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.35rem .85rem;margin-top:.65rem}.billing-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;background:var(--badge-bg, #eef2ff);color:var(--badge-fg, #4338ca);border-radius:999px;padding:.15rem .5rem;font-weight:650}.billing-badge.current{background:color-mix(in srgb,var(--success, #059669) 18%,transparent);color:var(--success, #059669)}.billing-error{margin-bottom:.75rem}.billing-period-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.15rem}.billing-period-center{justify-content:center}.billing-period-label{font-size:.9rem;color:var(--muted)}.billing-period-tabs{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.billing-period-btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.4rem .85rem;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:.35rem}.billing-period-btn.active{background:#111;color:#fff;border-color:#111}.billing-period-disc{font-size:.72rem;font-weight:700;color:var(--success, #059669)}.billing-period-btn.active .billing-period-disc{color:#86efac}.billing-cards-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem;align-items:stretch}@media(max-width:1100px){.billing-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.billing-cards-grid{grid-template-columns:1fr}}.billing-card{display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.1rem 1.2rem;border:1px solid var(--border);border-radius:14px;background:var(--surface, #fff);box-sizing:border-box;min-height:100%}.billing-card.highlight{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 25%,transparent);background:color-mix(in srgb,var(--primary) 5%,var(--surface, #fff))}.billing-card.current{outline:2px solid color-mix(in srgb,var(--success, #059669) 55%,transparent);outline-offset:0}.billing-card-top{display:flex;flex-direction:column;gap:.55rem}.billing-card-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.billing-card-name{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.billing-card-price{line-height:1.25}.billing-card-price-main{font-size:1.55rem;font-weight:750;letter-spacing:-.02em}.billing-card-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;flex:1;font-size:.86rem;color:var(--text)}.billing-card-features li{position:relative;padding-left:1.1rem}.billing-card-features li:before{content:"✓";position:absolute;left:0;color:var(--success, #059669);font-weight:700;font-size:.8rem}.billing-card-cta{margin-top:auto}.billing-card-cta .btn{width:100%;justify-content:center}.billing-compare-details{padding:0;margin-bottom:1.25rem;overflow:hidden}.billing-compare-summary{cursor:pointer;list-style:none;padding:.95rem 1.1rem;font-weight:650;font-size:.98rem;-webkit-user-select:none;user-select:none}.billing-compare-summary::-webkit-details-marker{display:none}.billing-compare-summary:before{content:"▸ ";color:var(--muted)}.billing-compare-details[open] .billing-compare-summary:before{content:"▾ "}.billing-compare-wrap{padding:0;overflow-x:auto;overflow-y:visible;border-top:1px solid var(--border)}.billing-compare{width:100%;border-collapse:collapse;min-width:720px;font-size:.86rem}.billing-compare th,.billing-compare td{border-bottom:1px solid var(--border);padding:.65rem .75rem;vertical-align:top;text-align:center}.billing-compare thead th{background:var(--surface, #fff)}.billing-compare-feat{text-align:left!important;font-weight:500;color:var(--muted);min-width:180px;background:var(--surface, #fff)}.billing-compare-plan{min-width:110px;font-weight:700}.billing-compare-plan.highlight,.billing-compare-cell.highlight{background:color-mix(in srgb,var(--primary) 6%,transparent)}.billing-compare-plan.current,.billing-compare-cell.current{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--success, #059669) 55%,transparent)}.billing-compare-cell{font-weight:600;color:var(--text)}.billing-invoices{padding:1rem}.billing-invoice-list{display:flex;flex-direction:column;gap:.55rem}.billing-invoice-row{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border)}.billing-invoice-actions{display:flex;gap:.35rem;flex-wrap:wrap}.modal.billing-pay-modal{width:min(480px,calc(100vw - 24px));max-height:min(90vh,calc(100dvh - 24px));overflow:auto;margin:auto}.billing-pay-modal h2{margin:0 0 .35rem;font-size:1.15rem}.billing-methods{display:flex;gap:.4rem;margin:.75rem 0;flex-wrap:wrap}.billing-method{flex:1;min-width:5.5rem;border:1px solid var(--border);background:var(--surface-2, #f8fafc);border-radius:10px;padding:.65rem;cursor:pointer;color:var(--text);font:inherit}.billing-method.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);font-weight:650}.billing-payer{display:flex;flex-direction:column;gap:.55rem}.billing-inn-row{display:flex;gap:.4rem}.billing-inn-row input{flex:1}.billing-payer .check-row{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.settings-billing .form-grid{display:flex;flex-direction:column;gap:.65rem;max-width:560px}.settings-billing .form-grid h3{margin:.75rem 0 .15rem;font-size:.95rem}.settings-billing .check-row{flex-direction:row!important;align-items:center;gap:.5rem!important}.modal.visit-form-modal{width:min(720px,calc(100vw - 24px));max-height:min(92vh,calc(100dvh - 24px),900px);padding:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 48px #0f172a33,0 0 0 1px #0f172a0f}.visit-form-modal .vf-loading{padding:1.5rem;margin:0}.vf-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem .75rem;flex-shrink:0;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--surface-2) 0%,var(--surface) 100%)}.vf-head-text h2{margin:0;font-size:1.15rem;font-weight:650;letter-spacing:-.01em}.slot-create-kind{display:block}.slot-create-kind select{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:.15rem 1.6rem .15rem 0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1.2 1.2L6 6l4.8-4.8'/%3E%3C/svg%3E") no-repeat right .15rem center / .7rem;font:inherit;font-size:1.15rem;font-weight:650;letter-spacing:-.01em;color:inherit;cursor:pointer;max-width:100%}.slot-create-kind select:focus{outline:none}.event.schedule-event{z-index:3}.event.schedule-event .event-sub{white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.vf-head-sub{margin:.2rem 0 0;font-size:.82rem}.vf-close{border:0;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;width:2rem;height:2rem;border-radius:8px;cursor:pointer;flex-shrink:0}.vf-close:hover{background:var(--surface-2);color:var(--text)}.vf-tabs{display:flex;gap:.15rem;padding:.45rem 1rem 0;flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border)}.vf-tab{border:0;background:transparent;color:var(--muted);padding:.45rem .75rem;border-radius:8px 8px 0 0;cursor:pointer;font-size:.82rem;margin-bottom:-1px;border-bottom:2px solid transparent}.vf-tab:hover{color:var(--text)}.vf-tab.active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}.vf-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.vf-scroll{flex:1;min-height:0;overflow:auto;padding:.85rem 1.15rem .5rem;display:flex;flex-direction:column;gap:.85rem}.vf-section{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem}.vf-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.vf-section-head h3{margin:0;font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.vf-link{border:0;background:none;color:var(--primary);font-size:.78rem;cursor:pointer;text-decoration:underline;padding:0}.vf-seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2px;gap:2px}.vf-seg button{border:0;background:transparent;color:var(--muted);font-size:.75rem;padding:.28rem .55rem;border-radius:6px;cursor:pointer}.vf-seg button.active{background:var(--primary);color:#fff;font-weight:600}.vf-field{display:flex;flex-direction:column;gap:.28rem;margin:0;font-size:.8rem;min-width:0}.vf-label{color:var(--muted);font-size:.72rem;font-weight:550;line-height:1.2}.visit-form-modal .vf-field input,.visit-form-modal .vf-field select,.visit-form-modal .vf-field textarea{width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:.42rem .55rem;font-size:.875rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);min-height:2.15rem}.visit-form-modal .vf-field input:read-only{background:var(--surface-2);color:var(--muted)}.visit-form-modal label.vf-field{margin:0;gap:.28rem}.visit-form-modal label.vf-check{display:inline-flex;flex-direction:row;align-items:center;gap:.4rem;margin:0;font-weight:400}.vf-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem .65rem}.vf-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem}.vf-field.span-2{grid-column:span 2}.vf-field.vf-span-3{grid-column:1 / -1}.vf-field.vf-name-field{gap:0}.visit-form-modal .vf-name-field .client-name-fields-row{min-height:2.15rem;align-items:center}.visit-form-modal .vf-name-field .client-name-fields-main input,.visit-form-modal .vf-name-field .client-name-input{min-height:2.15rem;height:2.15rem;margin:0;padding:.42rem .55rem;font-size:.875rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-sizing:border-box}.visit-form-modal .vf-name-field .client-name-mode-toggle{width:2.15rem;height:2.15rem;border-radius:8px}.vf-status-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem}.vf-status-row .vf-field{min-width:160px}.vf-confirm-check{padding:.45rem .7rem;background:var(--surface);border:1px solid var(--border);border-radius:10px}.vf-checks{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin-top:.65rem}.vf-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.vf-check input{width:1rem;height:1rem;accent-color:var(--primary)}.vf-gender{display:flex;gap:.85rem;align-items:center;min-height:2.15rem}.vf-comment{padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);margin-bottom:.45rem}.vf-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:.75rem 1.15rem;border-top:1px solid var(--border);background:var(--surface)}.vf-actions-left,.vf-actions-right{display:flex;gap:.5rem;flex-wrap:wrap}.danger-text{color:#b91c1c!important}@media(max-width:640px){.vf-grid-3,.vf-grid-2{grid-template-columns:1fr}.vf-field.span-2{grid-column:auto}.vf-actions{flex-direction:column;align-items:stretch}.vf-actions-right{justify-content:stretch}.vf-actions-right .btn{flex:1}}.date-picker{position:relative;width:100%}.date-picker-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.42rem .55rem;min-height:2.15rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.875rem;cursor:pointer;text-align:left;box-sizing:border-box}.date-picker-trigger:disabled{opacity:.65;cursor:not-allowed;background:var(--surface-2)}.date-picker-placeholder{color:var(--muted)}.date-picker-icon{color:var(--muted);display:inline-flex;flex-shrink:0}.date-picker-popover{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:min(280px,100vw - 48px);max-height:min(360px,calc(100dvh - 48px));overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 28px #0f172a2e;padding:.65rem}.date-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.date-picker-title{font-size:.85rem;font-weight:600}.date-picker-nav{border:0;background:var(--surface-2);width:1.75rem;height:1.75rem;border-radius:6px;cursor:pointer;color:var(--text);font-size:1.1rem;line-height:1}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px;text-align:center;font-size:.68rem;color:var(--muted)}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker-cell{border:0;background:transparent;aspect-ratio:1;border-radius:8px;font-size:.78rem;cursor:pointer;color:var(--text);padding:0}.date-picker-cell.empty{cursor:default}.date-picker-cell:not(.empty):hover{background:var(--surface-2)}.date-picker-cell.today{box-shadow:inset 0 0 0 1px var(--primary)}.date-picker-cell.selected{background:var(--primary);color:#fff;font-weight:600}.date-picker-clear{margin-top:.45rem;width:100%;border:0;background:transparent;color:var(--muted);font-size:.75rem;cursor:pointer;padding:.3rem}.date-picker-clear:hover{color:var(--text)}@media(max-height:800px){.modal-backdrop{padding:8px}.modal,.modal.modal-wide,.modal.card-modal,.modal.visit-form-modal{max-height:calc(100dvh - 16px)}.modal.visit-modal{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.vf-head{padding:.65rem .85rem .5rem}.vf-scroll{padding:.55rem .85rem .35rem;gap:.55rem}.vf-section{padding:.55rem .65rem}.vf-actions{padding:.55rem .85rem}.card-modal-head{padding:.75rem 1rem .55rem}.card-modal-body{padding:0 1rem .75rem}.toolbar{padding:8px 10px;gap:6px}.header h1{font-size:1.25rem}}@media(max-height:640px){.modal-backdrop{padding:6px;align-items:flex-start}.modal,.modal.modal-wide,.modal.card-modal,.modal.visit-form-modal,.modal.visit-modal{max-height:calc(100dvh - 12px)}.modal.visit-modal{height:calc(100dvh - 12px)}.modal.sched-cal-modal{height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}.vf-head-sub{display:none}.vf-tabs{overflow-x:auto;flex-wrap:nowrap}.client-base-layout{grid-template-rows:minmax(120px,28vh) 1fr}.sidebar-inner{overflow-y:auto}}@media(max-width:1100px)and (max-height:800px){.vf-grid-3{grid-template-columns:1fr 1fr}}@media(max-width:720px),(max-height:560px){.vf-grid-3,.vf-grid-2{grid-template-columns:1fr}.vf-field.span-2{grid-column:auto}.modal-actions,.vf-actions,.card-modal-actions{flex-wrap:wrap}.table-scroll{max-height:min(50vh,360px)}.chatbots-notify-toolbar{flex-wrap:wrap;gap:.5rem}}.settings-page,.registry-page,.client-base-page{min-height:0}.settings-page .settings-panel,.registry-page .registry-list-panel{overscroll-behavior:contain}.crud .table-scroll{overflow:auto;max-width:100%}
