@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.demo-down{min-height:100dvh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left));padding-top:max(24px,env(safe-area-inset-top));box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#0f172a;position:relative;overflow:hidden;background:linear-gradient(165deg,#faf5ff,#f8fafc 45%,#ecfeff)}.demo-down-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 80% 55% at 85% 10%,rgba(124,58,237,.18) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 8% 88%,rgba(13,148,136,.14) 0%,transparent 52%)}.demo-down-card{position:relative;z-index:1;width:100%;max-width:440px;padding:40px 32px 36px;background:#ffffffe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px;border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 64px #0f172a1a,0 0 0 1px #ffffffe6 inset;text-align:center}.demo-down-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7c3aed;margin-bottom:20px}.demo-down-icon-wrap{width:80px;height:80px;margin:0 auto 20px;border-radius:20px;background:linear-gradient(145deg,#ede9fe,#e0f2fe);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #7c3aed26}.demo-down-icon{color:#6d28d9;animation:demo-down-float 4s ease-in-out infinite}@keyframes demo-down-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.demo-down-icon{animation:none}}.demo-down-title{font-size:clamp(1.5rem,4.5vw,1.85rem);font-weight:800;line-height:1.2;letter-spacing:-.03em;margin:0 0 14px;color:#0f172a}.demo-down-lead{font-size:15px;line-height:1.6;color:#64748b;margin:0 0 12px}.demo-down-hint{font-size:14px;line-height:1.5;color:#94a3b8;margin:0 0 28px}.demo-down-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.demo-down-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;border:none;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease}.demo-down-btn--primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;box-shadow:0 8px 24px #7c3aed59}.demo-down-btn--primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #7c3aed66}.demo-down-btn--ghost{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.demo-down-btn--ghost:hover{background:#e2e8f0;color:#0f172a}.demo-down-footer{position:relative;z-index:1;margin-top:28px;font-size:12px;color:#94a3b8}:root{--orbito-primary: #7c3aed;--orbito-primary-hover: #6d28d9;--orbito-heading: #0f172a;--orbito-navy: #1e293b;--orbito-body: #64748b;--orbito-caption: #94a3b8;--orbito-surface: #f1f5f9;--orbito-surface-hero: #f8fafc;--orbito-border: #e2e8f0;--orbito-teal: #0d9488;--orbito-destructive: #dc2626;--orbito-white: #ffffff;--orbito-primary-soft: rgba(124, 58, 237, .08);--orbito-primary-soft-border: rgba(124, 58, 237, .3);--orbito-secondary-outline-hover-bg: #ede9fe;--orbito-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--orbito-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--orbito-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--orbito-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--orbito-shadow-xl-primary: 0 16px 40px rgba(124, 58, 237, .15);--orbito-radius-control: 8px;--orbito-radius-card: 12px;--orbito-radius-pill: 999px;--orbito-max-content: 1280px;--orbito-duration-ui: .2s;--orbito-ease-ui: ease}:root{--text: #6b6375;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:1024px){:root{font-size:16px}}@media(prefers-color-scheme:dark){:root{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}body{margin:0}#root{width:100%;max-width:100%;min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media(max-width:1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media(max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}.pp-page{min-height:100svh;min-height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--orbito-heading);background:var(--orbito-white);color-scheme:light;padding-bottom:env(safe-area-inset-bottom,0px)}.pp-page--booking{min-height:auto}.pp-loading,.pp-error-card{max-width:480px;margin:120px auto;padding:24px max(24px,env(safe-area-inset-left,0px)) 24px max(24px,env(safe-area-inset-right,0px));text-align:center}@media(max-width:768px){.pp-loading,.pp-error-card{margin:48px auto 32px;padding-top:max(24px,env(safe-area-inset-top,0px))}}.pp-error-card h1{font-size:1.5rem;font-weight:700;margin:0 0 12px}.pp-error-card p{color:var(--orbito-body);margin:0 0 24px}.pp-container{max-width:var(--orbito-max-content);margin:0 auto;padding:0 max(16px,env(safe-area-inset-left,0px)) 0 max(16px,env(safe-area-inset-right,0px))}@media(min-width:768px){.pp-container{padding-left:48px;padding-right:48px}}@media(min-width:1024px){.pp-container{padding-left:64px;padding-right:64px}}.pp-nav{position:sticky;top:0;z-index:50;min-height:56px;height:auto;padding-top:env(safe-area-inset-top,0px);transition:background var(--orbito-duration-ui) var(--orbito-ease-ui),box-shadow var(--orbito-duration-ui) var(--orbito-ease-ui)}@media(min-width:769px){.pp-nav{height:64px;padding-top:0}}.pp-nav--scrolled{background:#ffffffeb;backdrop-filter:saturate(180%) blur(8px);-webkit-backdrop-filter:saturate(180%) blur(8px);box-shadow:var(--orbito-shadow-sm)}.pp-nav-inner{max-width:var(--orbito-max-content);margin:0 auto;padding:10px max(16px,env(safe-area-inset-left,0px)) 10px max(16px,env(safe-area-inset-right,0px));min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px}@media(min-width:769px){.pp-nav-inner{padding:0 20px;height:64px;min-height:0}}.pp-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}.pp-brand-logo{height:36px;width:auto;max-width:120px;object-fit:contain}.pp-brand-initial{width:40px;height:40px;border-radius:50%;background:var(--orbito-primary);color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-brand-name{font-weight:600;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-nav-links{display:none;flex:1;justify-content:center;gap:32px}@media(min-width:769px){.pp-nav-links{display:flex}}.pp-nav-links button{background:none;border:none;font-size:15px;font-weight:500;color:var(--orbito-body);cursor:pointer;padding:0}.pp-nav-links button:hover{color:var(--orbito-heading)}.pp-nav-cta{display:none;align-items:center;gap:12px}@media(min-width:769px){.pp-nav-cta{display:flex}}.pp-nav-login{font-size:15px;font-weight:500;color:var(--orbito-body);text-decoration:none;padding:10px 14px;border-radius:var(--orbito-radius-control);min-height:44px;display:inline-flex;align-items:center}.pp-nav-login:hover{background:var(--orbito-surface);color:var(--orbito-heading)}.pp-nav-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:10px;min-width:44px;min-height:44px;cursor:pointer;color:var(--orbito-heading);border-radius:var(--orbito-radius-control)}.pp-nav-toggle:active{background:var(--orbito-surface)}@media(min-width:769px){.pp-nav-toggle{display:none}}.pp-nav-drawer{display:flex;flex-direction:column;padding:16px max(20px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));gap:4px;border-top:1px solid var(--orbito-border);background:#fff}@media(min-width:769px){.pp-nav-drawer{display:none}}.pp-nav-drawer button,.pp-nav-drawer .pp-nav-login{text-align:left;width:100%;padding:14px 0;border:none;background:none;font-size:15px;cursor:pointer;color:var(--orbito-heading)}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.01em;min-height:44px;padding:10px 20px;border-radius:var(--orbito-radius-control);border:none;cursor:pointer;transition:background var(--orbito-duration-ui) var(--orbito-ease-ui),transform var(--orbito-duration-ui) var(--orbito-ease-ui),box-shadow var(--orbito-duration-ui) var(--orbito-ease-ui)}.pp-btn:disabled{opacity:.5;cursor:not-allowed}.pp-btn--primary{background:var(--orbito-primary);color:#fff;box-shadow:var(--orbito-shadow-xl-primary)}.pp-btn--primary:hover:not(:disabled){background:var(--orbito-primary-hover);transform:scale(1.02)}.pp-btn--secondary{background:#fff;color:var(--orbito-primary);border:1px solid var(--orbito-primary);box-shadow:none}.pp-btn--secondary:hover:not(:disabled){background:var(--orbito-secondary-outline-hover-bg)}.pp-btn--ghost{background:transparent;color:var(--orbito-body);box-shadow:none}.pp-btn--ghost:hover:not(:disabled){background:var(--orbito-surface);color:var(--orbito-heading)}.pp-btn--sm{min-height:40px;padding:8px 16px;font-size:14px}.pp-btn--lg{min-height:52px;padding:14px 24px}.pp-btn--xl{min-height:52px;padding:14px 32px;min-width:200px}.pp-btn--full{width:100%}.pp-hero{position:relative;padding:72px 0 80px;background:radial-gradient(ellipse 120% 85% at 50% 0%,var(--orbito-surface-hero) 0%,#fff 55%);overflow:hidden}.pp-hero-bg{position:absolute;bottom:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,var(--orbito-primary) 0%,transparent 70%);opacity:.06;filter:blur(80px);pointer-events:none}.pp-hero-grid{position:relative;display:grid;gap:40px;align-items:center}@media(min-width:1024px){.pp-hero-grid{grid-template-columns:1.1fr .9fr}}.pp-eyebrow{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orbito-primary);margin:0 0 12px}.pp-hero-title{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0 0 16px}.pp-hero-sub{font-size:18px;line-height:1.6;color:var(--orbito-body);margin:0 0 28px;max-width:520px}.pp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.pp-hero-note{font-size:14px;color:var(--orbito-destructive);margin:0 0 16px}.pp-trust{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--orbito-body)}.pp-trust span{display:inline-flex;align-items:center;gap:6px}.pp-trust svg{color:var(--orbito-teal);flex-shrink:0}.pp-hero-aside{display:flex;justify-content:center}.pp-hero-aside--image{flex-direction:column;align-items:stretch;gap:14px;max-width:520px;margin-left:auto;margin-right:auto}@media(min-width:1024px){.pp-hero-aside--image{margin-right:0;margin-left:auto}}.pp-hero-image-card{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 50px #0f172a1f,0 0 0 1px #ffffffd9 inset;background:var(--orbito-surface-hero)}.pp-hero-image-card img{width:100%;height:100%;display:block;object-fit:cover;aspect-ratio:16 / 11}.pp-hero-image-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a0f,#0f172a00 55%),radial-gradient(ellipse 80% 65% at 12% 20%,rgba(124,58,237,.12) 0%,transparent 60%);pointer-events:none}@media(max-width:768px){.pp-hero{padding:56px 0 68px}.pp-hero-sub{font-size:16px;margin-bottom:22px}}.pp-hero-card{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border-radius:var(--orbito-radius-card);box-shadow:var(--orbito-shadow-md);border:1px solid var(--orbito-border);max-width:320px}.pp-hero-card-icon{color:var(--orbito-primary);flex-shrink:0}.pp-hero-card-label{font-size:13px;color:var(--orbito-body)}.pp-hero-card-value{font-size:17px;font-weight:600;color:var(--orbito-primary)}.pp-page--royal .pp-hero--royal{padding:80px 0 88px;background:linear-gradient(165deg,#fffbf5,#fff 38%,#fef7ed)}.pp-hero-royal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 90% 60% at 85% 15%,rgba(200,162,74,.14) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 10% 80%,rgba(124,58,237,.07) 0%,transparent 50%);pointer-events:none}.pp-hero-aside--royal{flex-direction:column;align-items:stretch;gap:0;max-width:460px;margin-left:auto;margin-right:auto}@media(min-width:1024px){.pp-hero-aside--royal{margin-right:0;margin-left:auto}}.pp-royal-hero-collage{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;min-height:280px;margin-bottom:14px}.pp-royal-hero-fig{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 16px 48px #0f172a1f,0 0 0 1px #ffffffe6 inset;background:var(--orbito-border)}.pp-royal-hero-fig img{width:100%;height:100%;object-fit:cover;display:block}.pp-royal-hero-fig--main{grid-row:1 / -1;min-height:280px}.pp-royal-hero-fig--a,.pp-royal-hero-fig--b{min-height:132px}.pp-royal-hero-pill{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:600;color:#92400e;background:linear-gradient(90deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:999px;padding:8px 14px;margin-bottom:14px;max-width:100%;box-shadow:0 1px 2px #92400e14}.pp-royal-hero-pill-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e40;flex-shrink:0}.pp-hero-card--royal{max-width:none;width:100%;background:linear-gradient(135deg,#fff,#fffbf5);border-color:#e7d5c4;box-shadow:0 8px 32px #1c191714}.pp-page--royal .pp-hero-title{color:#1e3a5f}@media(max-width:1023px){.pp-royal-hero-collage{min-height:240px}.pp-royal-hero-fig--main{min-height:220px}}.pp-section{padding:80px 0}.pp-section--muted{background:var(--orbito-surface)}.pp-section-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orbito-primary);margin:0 0 8px}.pp-section-title{font-size:clamp(1.75rem,3vw,2rem);font-weight:700;letter-spacing:-.01em;margin:0 0 12px}.pp-section-sub{font-size:16px;color:var(--orbito-body);margin:0 0 40px;max-width:560px}.pp-service-grid{display:grid;gap:18px;grid-template-columns:1fr}@media(min-width:520px){.pp-service-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.pp-service-grid{grid-template-columns:repeat(3,1fr)}}.pp-service-card{background:#fff;border:1px solid var(--orbito-border);border-radius:var(--orbito-radius-card);padding:0;overflow:hidden;box-shadow:var(--orbito-shadow-sm);transition:box-shadow var(--orbito-duration-ui) var(--orbito-ease-ui),transform var(--orbito-duration-ui) var(--orbito-ease-ui)}.pp-service-card .pp-service-icon-wrap{margin:18px 18px 12px}.pp-service-photo+.pp-service-name{margin-top:20px}.pp-service-card .pp-service-name,.pp-service-card .pp-service-desc,.pp-service-card .pp-service-meta,.pp-service-card .pp-service-book{padding-left:18px;padding-right:18px}.pp-service-card .pp-service-book{display:inline-block;padding-bottom:18px;margin-top:0}.pp-service-photo{width:100%;aspect-ratio:16 / 9;background:linear-gradient(145deg,var(--orbito-surface-hero) 0%,#fff 100%);overflow:hidden}.pp-service-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}@media(hover:hover)and (pointer:fine){.pp-service-card:hover{box-shadow:var(--orbito-shadow-md);transform:translateY(-4px)}.pp-service-card:hover .pp-service-photo img{transform:scale(1.04)}}.pp-service-icon-wrap{width:42px;height:42px;border-radius:12px;background:var(--orbito-secondary-outline-hover-bg);color:var(--orbito-primary);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.pp-service-name{font-size:16px;font-weight:600;margin:0 0 8px}.pp-service-desc{font-size:13px;color:var(--orbito-body);line-height:1.5;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:520px){.pp-service-grid{gap:14px}.pp-service-card .pp-service-name,.pp-service-card .pp-service-desc,.pp-service-card .pp-service-meta,.pp-service-card .pp-service-book{padding-left:16px;padding-right:16px}.pp-service-card .pp-service-icon-wrap{margin:16px 16px 10px}.pp-service-name{font-size:15px}.pp-service-desc{-webkit-line-clamp:1;margin-bottom:10px}}.pp-service-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;color:var(--orbito-body);margin-bottom:12px}.pp-service-meta span{display:inline-flex;align-items:center;gap:6px}.pp-service-price{color:var(--orbito-teal);font-weight:600}.pp-service-book{background:none;border:none;padding:0;font-size:14px;font-weight:600;color:var(--orbito-primary);cursor:pointer;text-align:left}.pp-service-book:hover:not(:disabled){text-decoration:underline}.pp-service-book:disabled{opacity:.45;cursor:not-allowed}.pp-about{display:grid;gap:40px}@media(min-width:768px){.pp-about{grid-template-columns:1.2fr .8fr;align-items:start}}.pp-about-title{margin-bottom:16px}.pp-about-body{font-size:16px;line-height:1.65;color:var(--orbito-body);margin:0 0 16px}.pp-about-loc{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:var(--orbito-body);margin:0}.pp-about-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pp-stat{background:#fff;border-radius:var(--orbito-radius-card);padding:20px;text-align:center;box-shadow:var(--orbito-shadow-sm)}.pp-stat-num{font-size:28px;font-weight:700;color:var(--orbito-primary)}.pp-stat-label{font-size:13px;color:var(--orbito-body);margin-top:4px}.pp-cta-banner{padding:80px 0;background:linear-gradient(90deg,#eef2ff,#ede9fe 45%,#fff7ed)}.pp-cta-inner{text-align:center}.pp-cta-title{font-size:1.75rem;font-weight:700;margin:0 0 8px}.pp-cta-sub{font-size:16px;color:var(--orbito-body);margin:0 0 24px}.pp-footer{background:var(--orbito-navy);color:var(--orbito-caption);padding:56px 0 24px}.pp-footer-grid{display:grid;gap:32px}@media(min-width:768px){.pp-footer-grid{grid-template-columns:1.2fr 1fr 1fr}}.pp-footer-brand{font-weight:600;font-size:16px;color:#fff;margin-bottom:8px}.pp-footer-tag{font-size:14px;margin:0}.pp-footer-heading{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--orbito-caption);margin-bottom:12px}.pp-footer-grid a{color:#e2e8f0;text-decoration:none}.pp-footer-grid a:hover{color:var(--orbito-primary)}.pp-footer-link{display:block;background:none;border:none;color:#e2e8f0;font-size:14px;padding:6px 0;cursor:pointer;text-align:left}.pp-footer-link:hover{color:var(--orbito-primary)}.pp-footer-bottom{max-width:var(--orbito-max-content);margin:32px auto 0;padding:20px 24px 0;border-top:1px solid #334155;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:#64748b}.pp-powered{color:var(--orbito-primary);text-decoration:none}.pp-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center}@media(min-width:640px){.pp-modal-root{align-items:center}}.pp-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;border:none;cursor:pointer}.pp-modal{position:relative;width:100%;max-width:520px;max-height:92vh;overflow:auto;background:#fff;border-radius:16px 16px 0 0;box-shadow:var(--orbito-shadow-lg);display:flex;flex-direction:column}@media(min-width:640px){.pp-modal{border-radius:16px;max-height:90vh}}.pp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;border-bottom:1px solid var(--orbito-border)}.pp-modal-head h2{margin:0;font-size:1.25rem;font-weight:700}.pp-modal-close{background:none;border:none;padding:8px;cursor:pointer;color:var(--orbito-body);border-radius:8px}.pp-modal-close:hover{background:var(--orbito-surface)}.pp-steps{padding:12px 20px 0}.pp-steps-label{font-size:12px;color:var(--orbito-body);display:block;margin-bottom:8px}.pp-steps-bar{height:3px;background:var(--orbito-border);border-radius:2px;overflow:hidden}.pp-steps-fill{height:100%;background:var(--orbito-primary);transition:width .25s ease}.pp-modal-body{padding:20px;flex:1;overflow-y:auto}.pp-modal--page .pp-modal-body{flex:0 1 auto;min-height:0}.pp-modal-foot{display:flex;justify-content:space-between;gap:12px;padding:16px 20px 20px;border-top:1px solid var(--orbito-border)}.pp-step-q{font-size:18px;font-weight:600;margin:0 0 16px}.pp-pick-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:520px){.pp-pick-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media(min-width:1024px){.pp-pick-grid{grid-template-columns:repeat(3,1fr)}}.pp-pick-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:0;border-radius:var(--orbito-radius-control);border:2px solid var(--orbito-border);background:#fff;cursor:pointer;overflow:hidden;min-height:0;transition:border-color var(--orbito-duration-ui) var(--orbito-ease-ui),background var(--orbito-duration-ui) var(--orbito-ease-ui)}.pp-pick-card--popular{position:relative}.pp-pick-popular{position:absolute;top:10px;right:10px;z-index:2;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;box-shadow:0 2px 8px #7c3aed59;pointer-events:none}.pp-pick-thumb{display:block;width:100%;aspect-ratio:16 / 9;background:var(--orbito-surface-hero);overflow:hidden}.pp-pick-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pp-pick-card .pp-pick-name,.pp-pick-card .pp-pick-meta{width:100%;box-sizing:border-box}.pp-pick-card .pp-pick-name{padding:12px 12px 2px}.pp-pick-card .pp-pick-thumb+.pp-pick-name{padding-top:10px}.pp-pick-card .pp-pick-meta{padding:0 12px 12px;font-size:12px}.pp-pick-card:hover{border-color:#c4b5fd}.pp-pick-card.is-selected{border-color:var(--orbito-primary);background:#fafaff}.pp-pick-card--staff{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.pp-pick-name{font-weight:600;font-size:14px;width:100%}.pp-pick-card--staff .pp-pick-name{width:auto;flex:1}.pp-pick-meta{font-size:12px;color:var(--orbito-body)}@media(max-width:520px){.pp-pick-popular{top:8px;right:8px;font-size:9px;padding:3px 8px}}.pp-staff-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.pp-staff-initial{width:48px;height:48px;border-radius:50%;background:var(--orbito-secondary-outline-hover-bg);color:var(--orbito-primary);font-weight:700;display:flex;align-items:center;justify-content:center}.pp-datetime{display:grid;gap:20px}@media(min-width:480px){.pp-datetime{grid-template-columns:1fr 1fr}}.pp-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pp-cal-nav button{background:var(--orbito-surface);border:none;padding:8px;border-radius:8px;cursor:pointer;color:var(--orbito-heading)}.pp-cal-nav span{font-weight:600;font-size:14px}.pp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;font-size:11px;color:var(--orbito-caption);text-align:center}.pp-cal-cells{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.pp-cal-cell{aspect-ratio:1;max-height:40px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;background:#fff;color:var(--orbito-heading)}.pp-cal-cell.is-empty{visibility:hidden;pointer-events:none}.pp-cal-cell.is-disabled{color:var(--orbito-caption);cursor:not-allowed;background:#f8fafc}.pp-cal-cell.is-selected:not(.is-disabled){background:var(--orbito-primary);color:#fff}.pp-cal-cell:not(.is-disabled):not(.is-empty):hover{background:var(--orbito-secondary-outline-hover-bg)}.pp-slots-hint{font-size:14px;color:var(--orbito-body);margin:0}.pp-slot-chips{display:flex;flex-wrap:wrap;gap:8px}.pp-slot-chip{min-height:40px;padding:8px 12px;border-radius:var(--orbito-radius-control);border:1px solid var(--orbito-border);background:#fff;font-size:13px;font-weight:500;cursor:pointer}.pp-slot-chip.is-selected{border-color:var(--orbito-primary);background:var(--orbito-secondary-outline-hover-bg);color:var(--orbito-primary)}.pp-form .pp-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.pp-form .pp-field span{font-size:14px;font-weight:500;color:var(--orbito-heading)}.pp-form input,.pp-form textarea{font-family:inherit;font-size:16px;padding:12px 14px;border-radius:var(--orbito-radius-control);border:1px solid var(--orbito-border);min-height:44px;box-sizing:border-box}.pp-form textarea{min-height:88px;resize:vertical}.pp-form input:focus,.pp-form textarea:focus{outline:none;border-color:var(--orbito-primary);box-shadow:0 0 0 2px #7c3aed33}.pp-form-error{color:var(--orbito-destructive);font-size:14px;margin:0 0 12px}.pp-form-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}@media(min-width:480px){.pp-form-actions{flex-direction:row;align-items:center}.pp-form-actions .pp-btn--full{flex:1}}.pp-success-text{font-size:16px;line-height:1.6;color:var(--orbito-body);margin:0 0 16px}.pp-demo-note{font-size:13px;color:var(--orbito-teal);margin:0 0 16px}@media(max-width:768px){.pp-hero{padding:48px 0 56px}.pp-hero-sub{font-size:16px}.pp-section,.pp-cta-banner{padding:56px 0}.pp-footer{padding:40px 0 max(24px,env(safe-area-inset-bottom,0px))}.pp-about-aside{grid-template-columns:1fr 1fr;gap:12px}.pp-stat{padding:16px}.pp-stat-num{font-size:22px}.pp-modal{max-height:min(92dvh,92vh);padding-bottom:env(safe-area-inset-bottom,0px)}.pp-modal-foot{padding-bottom:max(16px,env(safe-area-inset-bottom,0px));flex-wrap:wrap}.pp-modal-foot .pp-btn{flex:1 1 auto;min-width:min(100%,140px)}.pp-cal-cell{max-height:none;aspect-ratio:1;min-height:36px;font-size:12px}.pp-slot-chip{min-height:44px;padding:10px 14px}}@media(max-width:380px){.pp-about-aside{grid-template-columns:1fr}.pp-brand-name{font-size:15px;max-width:52vw}.pp-hero-actions .pp-btn--xl{min-width:0;width:100%}}.pp-announcement{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 44px 8px 16px;color:#fff;font-size:13px;font-weight:500;position:relative;z-index:60}.pp-announcement-inner{text-align:center;color:inherit;text-decoration:none}.pp-announcement-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#ffffffe6;cursor:pointer;padding:6px;display:flex;border-radius:6px}.pp-announcement-close:hover{background:#ffffff1f}.pp-float-actions{position:fixed;bottom:max(24px,env(safe-area-inset-bottom,0px));right:max(24px,env(safe-area-inset-right,0px));z-index:40;display:flex;flex-direction:column;gap:12px}.pp-float-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;color:#fff;box-shadow:0 4px 14px #0000002e;transition:transform .2s ease}@media(hover:hover)and (pointer:fine){.pp-float-btn:hover{transform:scale(1.08)}}.pp-float-btn--wa{background:#25d366;box-shadow:0 4px 14px #25d36673}.pp-float-btn--book{background:var(--orbito-primary);box-shadow:0 4px 14px #7c3aed66}.pp-step-sub{font-size:14px;color:var(--orbito-body);margin:-6px 0 16px;line-height:1.45}.pp-modal-root--page{position:relative;min-height:0;background:linear-gradient(180deg,#ede9fe59,#fff 45%);padding:16px max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px))}.pp-modal--page{position:relative;margin:0 auto;max-width:560px;width:100%;max-height:none;box-shadow:var(--orbito-shadow-md);border:1px solid var(--orbito-border)}.pp-nav--booking-page{position:sticky;top:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--orbito-shadow-sm)}.pp-back-to-site{font-size:14px;color:var(--orbito-body);text-decoration:none;white-space:nowrap}.pp-back-to-site:hover{color:var(--orbito-primary)}.pp-nav-book-link{text-decoration:none}.pp-btn.is-disabled,.pp-service-book.is-disabled{pointer-events:none;opacity:.45}.pp-page[data-public-theme=modern_minimal]{color-scheme:light}.pp-page[data-public-theme=dark_luxury]{--orbito-heading: #f8fafc;--orbito-body: #94a3b8;--orbito-white: #0f0f0f;--orbito-surface: #1a1a2e;--orbito-surface-hero: #0a0a0a;--orbito-border: #2d2d44;--orbito-primary: #d4af37;--orbito-primary-hover: #e5c158;--orbito-primary-soft: rgba(212, 175, 55, .12);--orbito-primary-soft-border: rgba(212, 175, 55, .35)}.pp-page[data-public-theme=warm_professional]{--orbito-heading: #1e3a5f;--orbito-body: #5c4033;--orbito-white: #fffbf5;--orbito-surface: #fef7ed;--orbito-surface-hero: #fffbf5;--orbito-border: #e7d5c4;--orbito-primary: #c8860a;--orbito-primary-hover: #a97108}.pp-page[data-public-theme=vibrant_bold]{--orbito-heading: #1e293b;--orbito-body: #475569;--orbito-white: #f0fdf4;--orbito-surface: #ecfdf5;--orbito-surface-hero: #f0fdf4;--orbito-primary: #7c3aed;--orbito-primary-hover: #6d28d9;--orbito-teal: #0d9488}.pp-stats-section{background:var(--orbito-white);border-top:1px solid var(--orbito-border);border-bottom:1px solid var(--orbito-border)}.pp-stats-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}.pp-stats-head-icon{color:var(--orbito-primary);flex-shrink:0;margin-top:4px}.pp-stats-title-text{margin-bottom:0}.pp-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(min-width:768px){.pp-stats-grid{grid-template-columns:repeat(4,1fr)}}.pp-stat-tile{background:var(--orbito-surface-hero);border-radius:var(--orbito-radius-card);padding:20px 16px;text-align:center;border:1px solid var(--orbito-border)}.pp-stat-tile-num{font-size:1.75rem;font-weight:800;color:var(--orbito-primary);line-height:1.1}.pp-stat-num-inner{display:inline-block;font-variant-numeric:tabular-nums}.pp-stat-tile-label{font-size:.75rem;font-weight:500;color:var(--orbito-body);text-transform:uppercase;letter-spacing:.04em;margin-top:8px}.pp-rich-story{background:var(--orbito-white)}.pp-prose-story{font-size:15px;line-height:1.7;color:var(--orbito-navy)}.pp-prose-story h2,.pp-prose-story h3{margin-top:1.25em;margin-bottom:.5em;color:var(--orbito-heading)}.pp-prose-story p{margin:0 0 1em}.pp-prose-story ul,.pp-prose-story ol{margin:0 0 1em 1.25em}.pp-modal-body--booking{display:block}@media(min-width:900px){.pp-modal-body--split{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:24px;align-items:start}.pp-modal:not(.pp-modal--page){max-width:920px}.pp-modal--page{max-width:min(920px,100%)}}.pp-booking-step{min-width:0}.pp-booking-summary{display:none;background:var(--orbito-surface-hero);border:1px solid var(--orbito-border);border-radius:var(--orbito-radius-card);padding:20px;position:sticky;top:0}@media(min-width:900px){.pp-booking-summary{display:block}}.pp-booking-summary-logo{height:40px;width:auto;max-width:140px;object-fit:contain;margin-bottom:8px}.pp-booking-summary-initial{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--orbito-primary-soft);color:var(--orbito-primary);font-weight:700;margin-bottom:8px}.pp-booking-summary-name{font-weight:600;font-size:15px;color:var(--orbito-heading);margin-bottom:16px}.pp-booking-summary-rows{margin:0}.pp-booking-summary-rows>div{margin-bottom:12px}.pp-booking-summary-rows dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--orbito-caption);margin:0 0 4px}.pp-booking-summary-rows dd{margin:0;font-size:14px;color:var(--orbito-heading);line-height:1.4}.pp-booking-selection-strip{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;background:#ede9fe;border-radius:10px;font-size:14px;font-weight:600;color:#6d28d9}.pp-booking-selection-strip svg{flex-shrink:0}.pp-services-intro{margin:0 0 28px;max-width:720px}.pp-testimonial-card{margin:0;padding:22px 20px;background:var(--orbito-white);border-radius:var(--orbito-radius-card);border:1px solid var(--orbito-border);box-shadow:var(--orbito-shadow-sm)}.pp-testimonial-quote{font-size:1.05rem;line-height:1.55;color:var(--orbito-heading);margin:0 0 16px}.pp-testimonial-meta{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--orbito-body)}.pp-testimonial-meta span{font-size:13px;color:var(--orbito-caption)}.pp-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}@media(min-width:768px){.pp-gallery-grid{grid-template-columns:repeat(3,1fr);gap:16px}}.pp-gallery-item{margin:0;border-radius:12px;overflow:hidden;background:var(--orbito-border);border:1px solid var(--orbito-border)}.pp-gallery-item img{width:100%;height:200px;object-fit:cover;display:block}.pp-gallery-caption{padding:10px 12px;font-size:13px;color:var(--orbito-body);margin:0}.pp-blog-list{display:flex;flex-direction:column;gap:32px;margin-top:8px}.pp-blog-post{padding-bottom:28px;border-bottom:1px solid var(--orbito-border)}.pp-blog-post:last-child{border-bottom:none;padding-bottom:0}.pp-blog-post-title{font-size:1.35rem;font-weight:700;margin:0 0 8px;color:var(--orbito-heading)}.pp-blog-post-date{font-size:13px;color:var(--orbito-caption);margin:0 0 12px}.pp-blog-post-excerpt{font-size:15px;color:var(--orbito-body);margin:0 0 12px;line-height:1.5}.pp-blog-post-body{margin-top:8px}.pp-contact-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}@media(min-width:768px){.pp-contact-grid{grid-template-columns:1.1fr .9fr;gap:48px}}.pp-contact-body{margin-top:8px}.pp-contact-card{padding:24px;border-radius:var(--orbito-radius-card);border:1px solid var(--orbito-border);background:var(--orbito-white);box-shadow:var(--orbito-shadow-sm)}.pp-contact-card-title{font-size:1rem;font-weight:700;margin:0 0 16px;color:var(--orbito-heading)}.pp-contact-line{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:15px;color:var(--orbito-heading);line-height:1.45}.pp-contact-line:last-child{margin-bottom:0}.pp-contact-line svg{flex-shrink:0;margin-top:2px;color:var(--orbito-primary)}.pp-contact-line a{color:inherit;text-decoration:underline;text-underline-offset:2px}.pp-testimonial-wrap{display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px}@media(min-width:768px){.pp-testimonial-wrap{grid-template-columns:repeat(2,1fr);gap:20px}}@media(min-width:1024px){.pp-testimonial-wrap{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.pp-testimonial-wrap{display:flex;flex-direction:row;flex-wrap:nowrap;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;margin:0 -4px;-webkit-overflow-scrolling:touch}.pp-testimonial-wrap .pp-testimonial-card{flex:0 0 min(88vw,380px);scroll-snap-align:center}}.pp-blog-featured{display:grid;grid-template-columns:1fr;margin-top:20px;border-radius:var(--orbito-radius-card);overflow:hidden;border:1px solid var(--orbito-border);background:var(--orbito-white);box-shadow:var(--orbito-shadow-md);text-decoration:none;color:inherit;transition:box-shadow var(--orbito-duration-ui) var(--orbito-ease-ui),transform var(--orbito-duration-ui) var(--orbito-ease-ui)}@media(min-width:768px){.pp-blog-featured{grid-template-columns:1.1fr 1fr;min-height:280px}}@media(hover:hover)and (pointer:fine){.pp-blog-featured:hover{box-shadow:var(--orbito-shadow-lg);transform:translateY(-2px)}}.pp-blog-featured-img{position:relative;min-height:200px;background:linear-gradient(145deg,var(--orbito-surface-hero),#fff)}@media(min-width:768px){.pp-blog-featured-img{min-height:100%}}.pp-blog-featured-img img{width:100%;height:100%;min-height:200px;object-fit:cover;display:block}.pp-blog-featured-img--placeholder{min-height:200px;background:linear-gradient(135deg,var(--orbito-primary-soft) 0%,var(--orbito-surface-hero) 100%)}.pp-blog-featured-body{padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.pp-blog-featured-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--orbito-primary)}.pp-blog-featured-title{font-size:1.5rem;font-weight:700;margin:0;color:var(--orbito-heading);line-height:1.25}.pp-blog-featured-date{font-size:13px;color:var(--orbito-caption);margin:0}.pp-blog-featured-excerpt{font-size:15px;color:var(--orbito-body);margin:0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pp-blog-read{font-size:14px;font-weight:600;color:var(--orbito-primary);margin-top:auto;padding-top:8px}.pp-blog-card-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px}@media(min-width:640px){.pp-blog-card-grid{grid-template-columns:repeat(2,1fr)}}.pp-blog-card{display:flex;flex-direction:column;border-radius:var(--orbito-radius-card);overflow:hidden;border:1px solid var(--orbito-border);background:var(--orbito-white);text-decoration:none;color:inherit;box-shadow:var(--orbito-shadow-sm);transition:box-shadow var(--orbito-duration-ui) var(--orbito-ease-ui),transform var(--orbito-duration-ui) var(--orbito-ease-ui)}@media(hover:hover)and (pointer:fine){.pp-blog-card:hover{box-shadow:var(--orbito-shadow-md);transform:translateY(-3px)}.pp-blog-card:hover .pp-blog-card-img img{transform:scale(1.03)}}.pp-blog-card-img{aspect-ratio:16 / 9;background:var(--orbito-surface-hero);overflow:hidden}.pp-blog-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.pp-blog-card-img--placeholder{background:linear-gradient(145deg,var(--orbito-surface-hero),#fff)}.pp-blog-card-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}.pp-blog-card-title{font-size:1.05rem;font-weight:700;margin:0;color:var(--orbito-heading);line-height:1.35}.pp-blog-card-date{font-size:12px;color:var(--orbito-caption);margin:0}.pp-blog-card-excerpt{font-size:14px;color:var(--orbito-body);margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pp-contact-premium{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}@media(min-width:900px){.pp-contact-premium{grid-template-columns:1fr 1fr;gap:40px}}.pp-contact-aside{display:flex;flex-direction:column;gap:16px;min-height:0}.pp-contact-card--lift{transition:transform var(--orbito-duration-ui) var(--orbito-ease-ui),box-shadow var(--orbito-duration-ui) var(--orbito-ease-ui)}@media(hover:hover)and (pointer:fine){.pp-contact-card--lift:hover{transform:translateY(-2px);box-shadow:var(--orbito-shadow-md)}}.pp-contact-map{border-radius:var(--orbito-radius-card);overflow:hidden;border:1px solid var(--orbito-border);min-height:280px;background:var(--orbito-surface-hero)}.pp-contact-map iframe{width:100%;height:320px;border:0;display:block}@media(min-width:900px){.pp-contact-map iframe{height:min(420px,50vh)}}.pp-contact-form{margin-top:20px}.pp-contact-form-note{font-size:12px;color:var(--orbito-caption);margin:8px 0 0}.pp-page--article{min-height:100svh;display:flex;flex-direction:column}.pp-read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:3000;background:var(--orbito-border);pointer-events:none}.pp-read-progress-fill{height:100%;width:100%;background:linear-gradient(90deg,var(--orbito-primary),#a78bfa);transform-origin:left center;transform:scaleX(0)}.pp-nav--article{border-bottom:1px solid var(--orbito-border);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pp-nav--article .pp-nav-inner{justify-content:space-between}.pp-article-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--orbito-primary);text-decoration:none}.pp-article-back:hover{text-decoration:underline}.pp-article-brand{font-size:14px;font-weight:600;color:var(--orbito-body);max-width:50%;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-article-main{flex:1;padding:24px 0 48px}.pp-article{max-width:720px}.pp-article-cover{border-radius:var(--orbito-radius-card);overflow:hidden;margin-bottom:24px;border:1px solid var(--orbito-border);max-height:400px}.pp-article-cover img{width:100%;height:auto;max-height:400px;object-fit:cover;display:block}.pp-article-h1{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;margin:0 0 12px;color:var(--orbito-heading);line-height:1.2}.pp-article-date{font-size:14px;color:var(--orbito-caption);margin:0 0 16px}.pp-article-lead{font-size:1.1rem;color:var(--orbito-body);line-height:1.6;margin:0 0 24px}.pp-article-body{font-size:17px;line-height:1.75}.pp-footer--article{margin-top:auto;border-top:1px solid var(--orbito-border)}.pp-footer--article .pp-footer-link{background:none;border:none;padding:0;font:inherit;color:var(--orbito-primary);cursor:pointer;text-decoration:none}.pp-footer--article .pp-footer-link:hover{text-decoration:underline}@media(max-width:639px){.pp-modal:not(.pp-modal--page) .pp-steps{position:sticky;top:0;z-index:3;background:#fff;padding-bottom:8px;margin:0 -20px;padding-left:20px;padding-right:20px}.pp-modal:not(.pp-modal--page) .pp-modal-foot{position:sticky;bottom:0;z-index:3;background:#fff;box-shadow:0 -4px 16px #0f172a14}}.login-page{min-height:calc(100vh - var(--demo-banner-height, 0px));min-height:calc(100dvh - var(--demo-banner-height, 0px));background:#f8fafc;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));position:relative;overflow:hidden;box-sizing:border-box}.login-accent{position:absolute;top:-120px;right:-120px;width:400px;height:400px;background:radial-gradient(circle,rgba(124,58,237,.08) 0%,transparent 70%);pointer-events:none}.login-container{width:100%;max-width:420px;background:#fff;border-radius:20px;box-shadow:0 4px 24px #0000000f,0 12px 48px #7c3aed0f;border:1px solid #E2E8F0;padding:40px 36px;position:relative;z-index:1}.login-brand{text-align:center;margin-bottom:28px}.login-logo{font-size:1.75rem;font-weight:700;color:var(--accent, #7C3AED);margin:0 0 6px;font-family:Inter,-apple-system,sans-serif}.login-tagline{font-size:14px;color:#64748b;margin:0}.login-demo-hint{font-size:13px;line-height:1.55;color:#475569;background:#f1f5f9;border-radius:12px;padding:12px 14px;margin:0 0 20px;text-align:left}.login-demo-hint p{margin:0 0 10px}.login-demo-hint p:last-child{margin-bottom:0}.login-demo-hint-muted{font-size:12px;color:#64748b}.login-demo-code{font-size:12px;background:#e2e8f0;padding:2px 6px;border-radius:6px;font-family:ui-monospace,monospace}.login-tabs{display:flex;gap:4px;background:#f1f5f9;padding:4px;border-radius:12px;margin-bottom:28px}.login-tab{flex:1;padding:12px 16px;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#64748b;background:transparent;cursor:pointer;transition:background .2s,color .2s}.login-tab:hover{color:#0f172a}.login-tab.active{background:#fff;color:var(--accent, #7C3AED);box-shadow:0 1px 3px #0000000f}.login-form-hint{font-size:13px;color:#64748b;margin:0 0 20px;line-height:1.5}.login-form .login-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.login-form .login-label .required{color:#ef4444}.login-input{width:100%;height:46px;border:1.5px solid #E2E8F0;border-radius:10px;padding:0 14px;font-size:15px;color:#0f172a;background:#fff;margin-bottom:16px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.login-input:focus{outline:none;border-color:var(--accent, #7C3AED);box-shadow:0 0 0 3px #7c3aed26}.login-input::placeholder{color:#94a3b8}.login-error{font-size:13px;color:#ef4444;margin:0 0 12px;padding:10px 12px;background:#fef2f2;border-radius:8px;border:1px solid #FECACA}.login-success{font-size:13px;color:#059669;margin:0 0 12px;padding:10px 12px;background:#ecfdf5;border-radius:8px;border:1px solid #A7F3D0}.login-btn{width:100%;height:48px;border-radius:10px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:background .2s,transform .2s}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-btn-primary{background:var(--accent, #7C3AED);color:#fff;margin-top:8px}.login-btn-primary:hover:not(:disabled){background:#0f766e;transform:translateY(-1px)}.login-switch{text-align:center;font-size:14px;color:#64748b;margin:20px 0 0}.login-link{background:none;border:none;color:var(--accent, #7C3AED);font-weight:600;cursor:pointer;padding:0;font-size:inherit}.login-link:hover{text-decoration:underline}.login-footer{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid #E2E8F0;font-size:13px}.login-footer a{color:#64748b;text-decoration:none}.login-footer a:hover{color:var(--accent, #7C3AED)}.po-page{min-height:calc(100vh - var(--demo-banner-height, 0px));background:#f7f8fc;color:#0f172a}.po-shell{min-height:calc(100vh - var(--demo-banner-height, 0px));background:#f7f8fc}.po-shell *{box-sizing:border-box}.po-side{position:fixed;left:0;top:var(--demo-banner-height, 0px);bottom:0;width:232px;background:#0a0f1e;color:#cbd5e1;border-right:1px solid #1E293B;display:flex;flex-direction:column}.po-side-head{padding:16px 14px;border-bottom:1px solid #1E293B}.po-side-logo{color:#fff;font-weight:700}.po-side-sub{color:#475569;font-size:11px;margin-top:4px}.po-side-nav{flex:1;overflow:auto;padding:10px}.po-nav-group{margin-bottom:14px}.po-nav-group-label{font-size:11px;color:#475569;text-transform:uppercase;letter-spacing:.08em;margin:0 2px 6px}.po-nav-item{width:100%;height:40px;border:none;background:transparent;color:#cbd5e1;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:8px;text-decoration:none;font-size:14px;cursor:pointer;text-align:left}.po-nav-item:hover:not(:disabled){background:#131a2e}.po-nav-item.active{background:#1e293b;color:#fff;border-left:3px solid #2563EB}.po-nav-item:disabled{opacity:.6;cursor:not-allowed}.po-nav-badge{margin-left:auto;background:#2563eb;color:#fff;border-radius:999px;padding:2px 8px;font-size:11px}.po-side-foot{border-top:1px solid #1E293B;padding:10px}.po-help-btn{width:100%;border:1px solid #334155;background:transparent;color:#cbd5e1;padding:8px 10px;border-radius:8px;display:flex;gap:8px;align-items:center}.po-version{font-size:11px;color:#64748b;margin-top:8px}.po-main-wrap{margin-left:232px}.po-top{position:sticky;top:var(--demo-banner-height, 0px);z-index:20;height:56px;background:#fff;border-bottom:1px solid #E8ECF2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:0 16px}.po-top-left{display:flex;align-items:center;gap:10px}.po-top-logo{font-weight:700;color:#0f172a;text-decoration:none}.po-top-pill{border:1px solid #E5E7EB;color:#6b7280;border-radius:999px;font-size:12px;padding:3px 10px}.po-top-center{display:grid;place-items:center}.po-global-search{width:min(480px,100%);border:1px solid #E5E7EB;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 10px;background:#fff}.po-global-search input{width:100%;height:36px;border:none;outline:none}.po-top-right{display:flex;align-items:center;gap:8px}.po-icon-btn{border:1px solid #E5E7EB;background:#fff;border-radius:9px;width:34px;height:34px;display:grid;place-items:center}.po-avatar{width:32px;height:32px;border-radius:50%;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:600}.po-content{max-width:1320px;margin:0 auto;padding:18px 20px 26px;overflow-x:hidden}.po-page-head h1{margin:0}.po-page-head p{margin:6px 0 14px;color:#64748b}.po-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;background:#111827;color:#fff}.po-brand{font-size:18px;font-weight:700}.po-sub{font-size:12px;color:#cbd5e1}.po-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.po-tab,.po-link{border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;background:transparent;border-radius:10px;padding:8px 12px;font-size:13px;cursor:pointer}.po-tab-active{background:#fff;color:#111827;border-color:#fff}.po-main{max-width:1320px;margin:0 auto;padding:22px}.po-title-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.po-title-row h1{margin:0}.po-title-row p{margin:8px 0 0;color:#475569}.po-primary-btn{border:none;background:#2563eb;color:#fff;border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer}.po-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;padding:10px 12px;border-radius:10px;margin-bottom:12px}.po-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.po-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:grid;gap:4px}.po-stat-card span{color:#64748b;font-size:12px}.po-stat-card strong{font-size:24px}.po-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;min-width:0;overflow:hidden}.po-card h2{margin:0 0 12px}.po-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.po-grid{display:grid;grid-template-columns:420px 1fr;gap:12px;align-items:start}.po-health-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;display:grid;grid-template-columns:220px 1fr;gap:14px;margin-bottom:14px}.po-health-score{display:grid;place-items:center;gap:8px}.po-health-ring{width:120px;height:120px;border-radius:50%;border:8px solid #2563EB;display:grid;place-items:center;font-size:28px;font-weight:700}.po-health-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.po-health-chip{border:1px solid #e2e8f0;border-radius:10px;padding:10px;display:grid}.po-health-chip span{color:#64748b;font-size:12px}.po-health-chip strong{margin-top:4px}.po-stats-8{grid-template-columns:repeat(4,minmax(0,1fr))}.po-overview-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-bottom:12px}.po-right-stack{display:grid;gap:12px}.po-live-dot{font-size:12px;color:#16a34a}.po-activity-list{display:grid;gap:8px}.po-activity-row{border:1px solid #e2e8f0;border-radius:10px;padding:10px;display:grid;grid-template-columns:1fr auto;justify-content:space-between;gap:10px}.po-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.po-quick-btn{border:1px solid #dbeafe;background:#fff;color:#1d4ed8;border-radius:10px;padding:12px;text-align:center;text-decoration:none;white-space:normal}.po-expiry-list,.po-expiry-banner-list{display:grid;gap:8px}.po-expiry-row{display:grid;grid-template-columns:1fr auto;justify-content:space-between;gap:10px;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.po-revenue-number{font-size:28px;font-weight:700}.po-expiry-banner{border:1px solid #FDE68A;background:#fffbeb;border-radius:12px;padding:12px;margin-bottom:10px}.po-expiry-banner h3{margin:0 0 8px}.po-expiry-chip{border:1px solid #FDE68A;border-radius:999px;padding:5px 10px;background:#fff;width:fit-content}.po-payment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.po-payment-summary>div{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:10px}.po-payment-summary span{color:#64748b;font-size:12px}.po-payment-summary strong{display:block;margin-top:4px}.po-primary-wide{width:100%;justify-content:center}.po-form{display:grid;gap:8px}.po-input,.po-textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font-size:14px;background:#fff;max-width:100%}.po-textarea{min-height:90px;resize:vertical}.po-form-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.po-form-2>div{min-width:0}.po-table-wrap{overflow-x:auto}.po-table{width:100%;border-collapse:collapse}.po-table th,.po-table td{border-bottom:1px solid #e2e8f0;text-align:left;padding:10px 8px;font-size:13px;vertical-align:top;word-break:break-word}.po-clinic-name{font-weight:600}.po-muted{color:#64748b;font-size:12px}.po-badge{border-radius:999px;padding:4px 10px;font-size:11px;border:1px solid transparent;text-transform:capitalize}.po-badge-active{background:#ecfdf5;color:#166534;border-color:#86efac}.po-badge-pending{background:#fffbeb;color:#92400e;border-color:#fcd34d}.po-badge-suspended{background:#fef2f2;color:#991b1b;border-color:#fca5a5}.po-row-actions{display:flex;gap:6px;flex-wrap:wrap}.po-mini-btn{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer}.po-mini-btn-danger{border-color:#fca5a5;color:#b91c1c;background:#fff5f5}@media(max-width:1100px){.po-main-wrap{margin-left:0}.po-side{display:none}.po-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.po-grid,.po-overview-grid{grid-template-columns:1fr}.po-payment-summary{grid-template-columns:repeat(2,1fr)}.po-health-card{grid-template-columns:1fr}}@media(max-width:720px){.po-header{padding:16px}.po-main{padding:14px}.po-form-2{grid-template-columns:1fr}}.po-integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:8px}.po-integration-card{display:flex;flex-direction:column;gap:8px;min-height:160px}.po-integration-card-head{display:flex;align-items:center;gap:10px}.po-integration-card-head h2{margin:0;font-size:1.05rem}.po-integration-icon{color:#6366f1;flex-shrink:0}.po-integration-coming{margin:auto 0 0;font-size:12px;font-weight:600;color:#7c3aed;letter-spacing:.02em}:root{--demo-banner-height: 0px;--color-primary: #7C3AED;--color-primary-light: #8B5CF6;--color-primary-soft: #EDE9FE;--color-primary-dark: #6D28D9;--color-primary-border: #C4B5FD;--color-teal: #0D9488;--color-teal-soft: #F0FDFA;--color-navy: #0F172A;--color-navy-mid: #1E293B;--color-page-bg: #F8FAFC;--color-white: #FFFFFF;--color-border: #E2E8F0;--color-text-primary: #0F172A;--color-text-secondary: #64748B;--color-text-muted: #94A3B8;--sidebar-width: 240px;--sidebar-collapsed: 64px;--header-height: 60px;--sidebar-t-duration: .34s;--sidebar-t-ease: cubic-bezier(.4, 0, .2, 1);--staff-mobile-tabbar-h: 58px}.clinic-admin{min-height:calc(100vh - var(--demo-banner-height, 0px));background:var(--color-page-bg)}.clinic-admin-sidebar{position:fixed;left:0;top:var(--demo-banner-height, 0px);width:var(--sidebar-collapsed);height:calc(100vh - var(--demo-banner-height, 0px));background:var(--color-navy);z-index:200;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;transition:width var(--sidebar-t-duration) var(--sidebar-t-ease),transform var(--sidebar-t-duration) var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded{width:var(--sidebar-width)}.clinic-admin-sidebar-brand{position:relative;height:var(--header-height);padding:0 12px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;transition:padding var(--sidebar-t-duration) var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-brand{justify-content:flex-start;padding:0 20px}.clinic-admin-sidebar-logo-icon{height:32px;width:32px;object-fit:contain;display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:1;transition:opacity .22s ease,transform var(--sidebar-t-duration) var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-logo-icon{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.92)}.clinic-admin-sidebar-logo{display:block;position:absolute;left:20px;top:50%;transform:translateY(-50%);height:28px;width:auto;max-width:160px;object-fit:contain;visibility:hidden;opacity:0;transition:opacity .24s ease .05s,visibility 0s linear .28s,transform var(--sidebar-t-duration) var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-logo{visibility:visible;opacity:1;transition-delay:.05s,0s,0s}.clinic-admin-nav{padding:12px 0 16px;flex:1;display:flex;flex-direction:column;gap:0}.clinic-admin-nav-section{margin-bottom:0}.clinic-admin-nav-section:last-child{margin-bottom:0}.clinic-admin-nav-section+.clinic-admin-nav-section{margin-top:4px}.clinic-admin-nav-label{display:block;max-height:0;padding:0 10px;margin:0;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:#ffffff59;overflow:hidden;opacity:0;transition:max-height var(--sidebar-t-duration) var(--sidebar-t-ease),opacity .22s ease,padding .3s var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-nav-label{max-height:48px;padding:14px 10px 6px;opacity:1}.clinic-admin-sidebar--expanded .clinic-admin-nav-section:first-child .clinic-admin-nav-label{padding-top:0;max-height:40px}.clinic-admin-nav-item{width:100%;max-width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 0;gap:0;border-radius:8px;color:#ffffffa6;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease,padding var(--sidebar-t-duration) var(--sidebar-t-ease),gap var(--sidebar-t-duration) var(--sidebar-t-ease);position:relative;box-sizing:border-box}.clinic-admin-sidebar--expanded .clinic-admin-nav-item{justify-content:flex-start;padding:8px 10px;gap:12px}.clinic-admin-nav-item:hover{background:#ffffff0f;color:#ffffffe6}.clinic-admin-nav-item-active{background:var(--color-primary);color:#fff;font-weight:600;border-radius:0 8px 8px 0}.clinic-admin-nav-item-active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;background:#fff;border-radius:0 2px 2px 0;transition:top .26s var(--sidebar-t-ease),bottom .26s var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-nav-item-active:before{top:0;bottom:0}.clinic-admin-nav-icon{width:20px;height:20px;flex-shrink:0;opacity:.95}.clinic-admin-nav-text-wrap{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto;max-width:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-width var(--sidebar-t-duration) var(--sidebar-t-ease),opacity .22s ease .04s}.clinic-admin-sidebar--expanded .clinic-admin-nav-text-wrap{max-width:220px;opacity:1;pointer-events:auto}.clinic-admin-nav-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500}.clinic-admin-nav-desc{display:block;max-height:0;margin:0;opacity:0;overflow:hidden;font-size:11px;line-height:1.3;color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;transition:max-height .3s var(--sidebar-t-ease) .06s,opacity .2s ease .08s,margin .2s ease .08s}.clinic-admin-sidebar--expanded .clinic-admin-nav-desc{max-height:40px;margin-top:1px;opacity:1}.clinic-admin-nav-badge{position:absolute;top:6px;right:10px;min-width:16px;height:16px;border-radius:8px;background:#ef4444;font-size:10px;font-weight:700;color:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;transition:top .26s var(--sidebar-t-ease),right .26s var(--sidebar-t-ease),transform .26s var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-nav-badge{position:static;margin-left:auto;transform:none}.clinic-admin-sidebar-footer{width:100%;box-sizing:border-box;padding:12px 0;display:flex;flex-direction:column;align-items:center;gap:8px;border-top:1px solid rgba(255,255,255,.08);background:var(--color-navy);position:sticky;bottom:0;transition:padding var(--sidebar-t-duration) var(--sidebar-t-ease),gap .28s var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-footer{padding:12px 16px;flex-direction:row;align-items:center}.clinic-admin-user-row{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;transition:gap .28s var(--sidebar-t-ease)}.clinic-admin-sidebar--expanded .clinic-admin-user-row{flex-direction:row;justify-content:flex-start;gap:10px}.clinic-admin-user-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff26;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:width .3s var(--sidebar-t-ease),height .3s var(--sidebar-t-ease),font-size .3s var(--sidebar-t-ease),background .25s ease}.clinic-admin-sidebar--expanded .clinic-admin-user-avatar{width:36px;height:36px;font-size:13px;background:var(--color-primary)}.clinic-admin-user-info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;max-width:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-width var(--sidebar-t-duration) var(--sidebar-t-ease),opacity .22s ease .06s}.clinic-admin-sidebar--expanded .clinic-admin-user-info{max-width:200px;opacity:1;pointer-events:auto}.clinic-admin-user-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clinic-admin-user-role{font-size:11px;color:#ffffff73}.clinic-admin-logout-btn{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#ffffff73;cursor:pointer;padding:0;flex-shrink:0;transition:width .28s var(--sidebar-t-ease),height .28s var(--sidebar-t-ease),padding .28s var(--sidebar-t-ease),color .2s ease,background .2s ease}.clinic-admin-sidebar--expanded .clinic-admin-logout-btn{width:auto;height:auto;padding:6px}.clinic-admin-logout-btn:hover{background:#ffffff14;color:#fff}.clinic-admin-overlay{display:none;position:fixed;left:0;right:0;top:var(--demo-banner-height, 0px);bottom:0;background:#00000080;z-index:150;overscroll-behavior:none;touch-action:none}.clinic-admin-main{margin-left:var(--sidebar-collapsed);min-height:calc(100vh - var(--demo-banner-height, 0px));display:flex;flex-direction:column;transition:margin-left var(--sidebar-t-duration) var(--sidebar-t-ease)}.clinic-admin[data-rail-push=true] .clinic-admin-main{margin-left:var(--sidebar-width)}.clinic-admin-header{height:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--color-border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:var(--demo-banner-height, 0px);z-index:100}.clinic-admin-header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.clinic-admin-page-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.clinic-admin-header-center{display:flex;align-items:center;gap:12px;flex:1;min-width:0;justify-content:center;max-width:520px;margin:0 auto}.clinic-admin-header-search-wrap{position:relative;flex:1;min-width:140px;max-width:260px}.clinic-admin-header-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.clinic-admin-header-search{width:100%;height:40px;padding:0 12px 0 38px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;background:var(--color-page-bg);color:var(--color-text-primary)}.clinic-admin-header-search::placeholder{color:var(--color-text-muted)}.clinic-admin-header-search:focus{outline:none;border-color:var(--color-primary);background:var(--color-white);box-shadow:0 0 0 2px #7c3aed26}.clinic-admin-header-quick-btns{display:flex;align-items:center;gap:8px;flex-shrink:0}.clinic-admin-header-quick-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;font-size:13px;font-weight:600;border-radius:8px;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text-secondary)}.clinic-admin-header-quick-btn:hover{background:var(--color-page-bg);color:var(--color-text-primary);border-color:var(--color-primary-border)}.clinic-admin-header-quick-btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.clinic-admin-header-quick-btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.clinic-admin-menu-btn{display:none;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px}.clinic-admin-header-right{display:flex;align-items:center;gap:12px}.clinic-admin-clinic-chip{background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clinic-admin-icon-btn{position:relative;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px;border-radius:8px}.clinic-admin-icon-btn:hover{background:var(--color-page-bg)}.clinic-admin-header-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.clinic-admin-header-avatar:hover{box-shadow:0 0 0 3px var(--color-primary-soft)}.clinic-admin-content{flex:1;padding:32px}@media(max-width:900px){.clinic-admin-header-center{max-width:none}.clinic-admin-header-quick-btn span{display:none}.clinic-admin-header-quick-btn{width:40px;padding:0;justify-content:center}.clinic-admin-header-search-wrap{max-width:160px}}@media(max-width:767px){.clinic-admin-main,.clinic-admin[data-rail-push=true] .clinic-admin-main{margin-left:0}.clinic-admin-sidebar{width:min(280px,100vw);transform:translate(-100%);overflow:hidden;height:calc(100dvh - var(--demo-banner-height, 0px));max-height:calc(100dvh - var(--demo-banner-height, 0px));-webkit-overflow-scrolling:touch}.clinic-admin-sidebar--drawer-open{transform:translate(0)}.clinic-admin-sidebar .clinic-admin-nav{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:8px}.clinic-admin-sidebar--expanded .clinic-admin-nav-label{display:block;max-height:none;height:auto;padding:0 16px;margin-top:20px;margin-bottom:4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;overflow:visible;opacity:1}.clinic-admin-sidebar--expanded .clinic-admin-nav-section:first-child .clinic-admin-nav-label{margin-top:0}.clinic-admin-sidebar--expanded .clinic-admin-nav-item{width:100%;height:auto;min-height:44px;padding:8px 10px;justify-content:flex-start;gap:12px}.clinic-admin-sidebar--expanded .clinic-admin-nav-item-active:before{top:0;bottom:0}.clinic-admin-sidebar--expanded .clinic-admin-nav-text-wrap{display:flex;flex:1;min-width:0;flex-direction:column;gap:0;max-width:240px;opacity:1;overflow:visible;pointer-events:auto}.clinic-admin-sidebar--expanded .clinic-admin-nav-desc{display:block;max-height:none;opacity:1;margin-top:1px;font-size:11px;color:#ffffff73;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-brand{justify-content:flex-start;padding:0 20px}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-logo-icon{display:none}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-logo{position:static;left:auto;top:auto;transform:none;visibility:visible;opacity:1;display:block;max-width:160px;height:28px}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-logo-fallback{position:static;transform:none;display:block}.clinic-admin-sidebar--expanded .clinic-admin-sidebar-footer{width:auto;padding:12px 16px;flex-direction:row;align-items:center}.clinic-admin-sidebar--expanded .clinic-admin-user-row{flex-direction:row;width:100%;justify-content:flex-start;gap:10px}.clinic-admin-sidebar--expanded .clinic-admin-user-avatar{width:36px;height:36px;font-size:13px;background:var(--color-primary)}.clinic-admin-sidebar--expanded .clinic-admin-user-info{display:flex;flex:1;min-width:0;flex-direction:column;max-width:none;opacity:1;overflow:visible;pointer-events:auto}.clinic-admin-sidebar--expanded .clinic-admin-logout-btn{width:auto;height:auto;padding:6px}.clinic-admin-sidebar--expanded .clinic-admin-nav-badge{position:static;margin-left:auto}.clinic-admin-overlay[aria-hidden=false]{display:block;pointer-events:auto}.clinic-admin-menu-btn{display:flex;align-items:center;justify-content:center}.clinic-admin-content{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.clinic-admin-sidebar{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);height:calc(100vh - var(--demo-banner-height, 0px));height:calc(100dvh - var(--demo-banner-height, 0px));max-height:calc(100dvh - var(--demo-banner-height, 0px))}.clinic-admin-overlay{top:var(--demo-banner-height, 0px)}.clinic-admin-header{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-top:max(0px,env(safe-area-inset-top,0px));min-height:var(--header-height);height:auto;flex-wrap:wrap;row-gap:10px}.clinic-admin-page-title{max-width:min(240px,42vw);font-size:clamp(17px,4.2vw,20px)}.clinic-admin-header-center{order:3;flex:1 1 100%;max-width:none;margin:0;justify-content:stretch}.clinic-admin-header-search-wrap{max-width:none;flex:1;min-width:0}.clinic-admin-header-right{margin-left:auto;flex-shrink:0}.clinic-admin[data-staff-mobile-nav=true] .clinic-admin-content{padding-bottom:calc(16px + var(--staff-mobile-tabbar-h) + env(safe-area-inset-bottom,0px))}.clinic-admin[data-staff-mobile-nav=true] .clinic-admin-clinic-chip{display:none}}@media(max-width:480px){.clinic-admin-clinic-chip{max-width:100px;padding:4px 8px;font-size:11px}.clinic-admin-header-quick-btn,.clinic-admin-menu-btn,.clinic-admin-icon-btn,.clinic-admin-header-avatar{min-width:44px;min-height:44px}}.clinic-admin-notif-badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.clinic-admin-notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,92vw);background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 16px 40px #0f172a1f;z-index:400;overflow:hidden}.clinic-admin-notif-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #f1f5f9;font-size:13px;font-weight:600}.clinic-admin-notif-markall{font-size:12px;color:#7c3aed;background:none;border:none;cursor:pointer}.clinic-admin-notif-empty{padding:16px;font-size:13px;color:#94a3b8;margin:0}.clinic-admin-notif-list{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:auto}.clinic-admin-notif-item{width:100%;text-align:left;padding:10px 12px;border:none;border-bottom:1px solid #f8fafc;background:#fff;cursor:pointer;font-size:13px}.clinic-admin-notif-item--unread{background:#fafaff}.clinic-admin-notif-title{display:block;font-weight:600;color:#0f172a}.clinic-admin-notif-body{display:block;font-size:12px;color:#64748b;margin-top:4px;line-height:1.35}.clinic-admin-notif-footer{display:block;padding:10px 12px;font-size:13px;font-weight:600;color:#7c3aed;text-align:center;border-top:1px solid #f1f5f9}.clinic-admin-notif-footer:hover{background:#fafaff}.clinic-admin-staff-tabbar{display:none}@media(max-width:767px){.clinic-admin-staff-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:280;align-items:stretch;justify-content:space-around;gap:0;min-height:calc(var(--staff-mobile-tabbar-h) + env(safe-area-inset-bottom,0px));padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:#fffffff0;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--color-border);box-shadow:0 -6px 28px #0f172a1a}.clinic-admin-staff-tab{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;margin:0;border:none;background:none;color:var(--color-text-secondary);font-size:10px;font-weight:600;line-height:1.15;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.clinic-admin-staff-tab svg{flex-shrink:0;opacity:.88}.clinic-admin-staff-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;padding:0 1px}.clinic-admin-staff-tab--active{color:var(--color-primary)}.clinic-admin-staff-tab--active svg{opacity:1}.clinic-admin-staff-tab--more{color:var(--color-text-secondary)}.clinic-admin-staff-tab--more.clinic-admin-staff-tab--active{color:var(--color-primary)}.clinic-admin-staff-more-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:290;background:#0f172a73;animation:clinic-admin-fade-in .2s ease}.clinic-admin-staff-more-sheet{position:fixed;left:0;right:0;bottom:0;z-index:300;max-height:min(78vh,520px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:16px 16px 0 0;padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px #0f172a2e;animation:clinic-admin-sheet-up .28s cubic-bezier(.32,.72,0,1)}.clinic-admin-staff-more-grab{width:36px;height:4px;border-radius:999px;background:#e2e8f0;margin:4px auto 12px}.clinic-admin-staff-more-title{margin:0 0 12px;font-size:17px;font-weight:700;color:var(--color-text-primary)}.clinic-admin-staff-more-link{display:flex;align-items:center;gap:12px;width:100%;padding:14px 4px;margin:0;border:none;border-bottom:1px solid #f1f5f9;background:none;font-size:16px;font-weight:500;color:var(--color-text-primary);text-align:left;text-decoration:none;cursor:pointer;border-radius:0;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.clinic-admin-staff-more-link:last-of-type{border-bottom:none}.clinic-admin-staff-more-link--danger{color:#dc2626}.clinic-admin-staff-more-link:active{background:#f8fafc}}@keyframes clinic-admin-fade-in{0%{opacity:0}to{opacity:1}}@keyframes clinic-admin-sheet-up{0%{transform:translateY(100%);opacity:.96}to{transform:translateY(0);opacity:1}}.demo-mode-banner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;box-sizing:border-box;width:100%;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top,0px));font-size:13px;line-height:1.45;color:#0f172a;background:linear-gradient(90deg,#e0f2fe,#fae8ff,#fef3c7);border-bottom:1px solid rgba(15,23,42,.08);text-align:center;flex-shrink:0;position:sticky;top:0;z-index:80}.demo-mode-banner-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #10b98159;flex-shrink:0}.dashboard-page{display:flex;flex-direction:column;gap:0}.dashboard-inner{max-width:1400px;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:24px}.dashboard-title-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:8px}.dashboard-title-left{flex:1;min-width:0}.dashboard-page-title{font-family:Inter,sans-serif;font-size:24px;font-weight:700;color:#0f172a;margin:0 0 4px}.dashboard-subtitle{font-size:13px;color:#64748b;margin:0 0 4px}.dashboard-last-updated{font-size:12px;color:var(--color-text-muted);margin:0;display:inline-flex;align-items:center;gap:6px}.dashboard-refresh-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:2px;display:inline-flex}.dashboard-refresh-btn:hover{color:var(--color-primary)}.dashboard-refresh-spin{animation:dashboard-spin .5s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-title-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dashboard-datetime{display:flex;flex-direction:column;align-items:flex-end}.dashboard-date{font-size:13px;font-weight:500;color:#374151}.dashboard-time{font-size:12px;color:#94a3b8}.dashboard-btn-primary{display:inline-flex;align-items:center;gap:8px;background:#7c3aed;color:#fff;font-size:14px;font-weight:600;padding:10px 18px;border-radius:8px;text-decoration:none}.dashboard-btn-primary:hover{background:#6d28d9;transform:translateY(-1px);transition:.2s}.dashboard-pending-approval{background:#fffbeb;border:1px solid #FCD34D;border-radius:10px;padding:14px 20px;font-size:14px;color:#92400e}.dashboard-pending-bookings-banner{background:var(--color-primary-soft);border:1px solid var(--color-primary-border);border-radius:10px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.dashboard-pending-bookings-left{display:flex;align-items:center;gap:12px}.dashboard-pending-bookings-icon{width:36px;height:36px;background:#7c3aed;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.dashboard-pending-bookings-primary{font-size:14px;font-weight:600;color:#3730a3;margin:0}.dashboard-pending-bookings-secondary{font-size:13px;font-weight:400;color:#5b21b6;margin:2px 0 0}.dashboard-pending-bookings-right{display:flex;align-items:center;gap:8px}.dashboard-pending-bookings-btn{background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;padding:8px 16px;border-radius:8px;text-decoration:none}.dashboard-pending-bookings-btn:hover{background:var(--color-primary-light)}.dashboard-pending-bookings-dismiss{background:none;border:none;color:var(--color-text-muted);font-size:16px;cursor:pointer;padding:4px;line-height:1}.dashboard-pending-bookings-dismiss:hover{color:var(--color-text-primary)}.dashboard-trend{font-size:12px;font-weight:600;padding:4px 8px;border-radius:999px}.dashboard-trend-up{background:#ecfdf5;color:#059669}.dashboard-trend-down{background:#fef2f2;color:#ef4444}.dashboard-trend-neutral{background:#f1f5f9;color:#64748b}.dashboard-stat-sep{color:#e2e8f0}.dashboard-quick-links-card .dashboard-stat-label{margin-bottom:12px}.dashboard-quick-links{display:flex;flex-direction:column;gap:0}.dashboard-quick-links a{font-size:13px;font-weight:500;color:var(--color-primary);text-decoration:none;padding:8px 0;border-bottom:1px solid #F1F5F9}.dashboard-quick-links a:hover{text-decoration:underline}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1023px){.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:599px){.dashboard-stat-grid{grid-template-columns:1fr}}.dashboard-stat-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a;transition:box-shadow .2s ease,border-color .2s ease}.dashboard-stat-card:hover{box-shadow:0 4px 20px #7c3aed1a;border-color:var(--color-primary-border)}.dashboard-stat-top{display:flex;justify-content:space-between;align-items:flex-start}.dashboard-stat-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center}.dashboard-stat-value{font-size:36px;font-weight:700;color:var(--color-text-primary);margin-top:14px}.dashboard-stat-label{font-size:14px;font-weight:500;color:var(--color-text-secondary);margin-top:4px}.dashboard-stat-sub{font-size:12px;color:var(--color-text-muted);margin-top:4px}.dashboard-chart-row{display:grid;grid-template-columns:65fr 35fr;gap:20px}@media(max-width:899px){.dashboard-chart-row{grid-template-columns:1fr}}.dashboard-chart-card,.dashboard-quick-stats-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a}.dashboard-chart-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px}.dashboard-card-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 2px}.dashboard-card-sub{font-size:12px;color:#94a3b8;margin:0}.dashboard-period-tabs{display:flex;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;padding:3px}.dashboard-period-tabs button{padding:5px 14px;font-size:12px;font-weight:500;color:#64748b;background:none;border:none;border-radius:6px;cursor:pointer;transition:.15s}.dashboard-period-tabs button:hover{color:#0f172a}.dashboard-period-tabs button.active{background:#7c3aed;color:#fff;font-weight:600}.dashboard-chart-tooltip{background:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:10px 14px;box-shadow:0 4px 16px #0000001a}.dashboard-chart-tooltip-label{font-size:12px;font-weight:600;color:#374151;margin-bottom:8px}.dashboard-chart-tooltip-row{font-size:13px;display:flex;align-items:center;gap:6px}.dashboard-chart-tooltip-dot{width:8px;height:8px;border-radius:50%}.dashboard-chart-legend{display:flex;justify-content:center;gap:20px;margin-top:12px;font-size:12px;color:#64748b}.dashboard-chart-legend-line{display:inline-block;width:20px;height:2px;margin-right:6px;vertical-align:middle}.dashboard-quick-date{font-size:12px;color:#94a3b8;margin:0 0 16px}.dashboard-quick-divider{height:1px;background:#f1f5f9;margin:16px 0}.dashboard-quick-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}.dashboard-distribution{margin-top:16px}.dashboard-distribution-label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.dashboard-distribution-bar{width:100%;height:8px;border-radius:999px;overflow:hidden;display:flex;background:#e2e8f0}.dashboard-distribution-bar span{transition:width .6s ease}.dashboard-revenue-mini{margin-top:8px}.dashboard-revenue-mini-label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.dashboard-revenue-mini-amount{font-size:28px;font-weight:700;color:#059669}.dashboard-chart-placeholder{height:220px;background:var(--color-page-bg);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-muted);font-size:14px}.dashboard-quick-stats{display:flex;flex-direction:column}.dashboard-quick-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border);font-size:13px;color:var(--color-text-secondary)}.dashboard-quick-row:last-child{border-bottom:none}.dashboard-quick-value{font-size:14px;font-weight:600;color:var(--color-text-primary)}.dashboard-quick-purple{color:var(--color-primary)}.dashboard-quick-teal{color:var(--color-teal)}.dashboard-quick-red{color:#ef4444}.dashboard-quick-amber{color:#f59e0b}.dashboard-recent-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a}.dashboard-recent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dashboard-view-all{font-size:13px;color:var(--color-primary);font-weight:500;text-decoration:none}.dashboard-view-all:hover{text-decoration:underline}.dashboard-table-wrap{overflow-x:auto}.dashboard-table{width:100%;border-collapse:collapse}.dashboard-table th{background:var(--color-page-bg);border-bottom:2px solid var(--color-border);font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;padding:10px 16px;text-align:left}.dashboard-table td{padding:12px 16px;border-bottom:1px solid #F1F5F9;font-size:14px;color:#374151}.dashboard-table tbody tr:hover{background:#fafafa}.dashboard-cell-patient{display:flex;align-items:center;gap:10px}.dashboard-avatar{border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-cell-name{display:block;font-weight:500;color:var(--color-text-primary)}.dashboard-cell-muted{display:block;font-size:12px;color:var(--color-text-muted)}.dashboard-cell-payment span:first-child{font-weight:600;color:var(--color-text-primary)}.dashboard-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;text-transform:uppercase}.status-scheduled{background:var(--color-primary-soft);color:var(--color-primary)}.status-completed{background:var(--color-teal-soft);color:var(--color-teal)}.status-noshow{background:#fffbeb;color:#f59e0b}.dashboard-link-view{font-size:13px;color:var(--color-primary);text-decoration:none}.dashboard-link-view:hover{text-decoration:underline}.dashboard-empty-state{padding:48px;text-align:center;color:var(--color-text-muted)}.dashboard-empty-state svg{opacity:.5}.dashboard-empty-title{font-size:16px;font-weight:600;color:#374151;margin-top:16px;margin-bottom:6px}.dashboard-empty-sub{font-size:14px;margin:0 0 16px}.dashboard-bottom-row{display:grid;grid-template-columns:65fr 35fr;gap:20px}@media(max-width:899px){.dashboard-bottom-row{grid-template-columns:1fr}}.dashboard-cell-reason{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-cell-payment-wrap{text-align:right}.dashboard-table tbody tr{cursor:pointer}.dashboard-doctors-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:14px;padding:24px;box-shadow:0 1px 3px #0000000f,0 4px 16px #0000000a}.dashboard-doctors-list{display:flex;flex-direction:column}.dashboard-doctor-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #F8FAFC}.dashboard-doctor-row:last-child{border-bottom:none}.dashboard-doctor-info{flex:1;min-width:0;display:flex;flex-direction:column}.dashboard-doctor-name{font-size:14px;font-weight:600;color:#0f172a}.dashboard-doctor-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dashboard-doctor-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dashboard-doctor-status-label{font-size:12px;font-weight:500}.dashboard-doctor-count{font-size:11px;padding:2px 8px;border-radius:999px;background:#f0fdfa;color:#0d9488}.dashboard-doctors-summary{margin-top:0}.dashboard-doctors-summary-text{font-size:13px;color:#64748b;margin:12px 0 8px}.dashboard-doctors-progress{width:100%;height:6px;border-radius:999px;background:#e2e8f0;overflow:hidden}.dashboard-doctors-progress-fill{height:100%;background:#0d9488;border-radius:999px;transition:width .5s ease}.dashboard-empty-small{padding:24px}.dashboard-empty-small p{margin:0;font-size:14px}.dashboard-skeleton{display:flex;flex-direction:column;gap:32px}.dashboard-skeleton-cards{height:140px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:dashboard-shimmer 1.5s infinite linear;border-radius:14px}.dashboard-skeleton-table{height:320px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:dashboard-shimmer 1.5s infinite linear;border-radius:14px}@keyframes dashboard-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:767px){.dashboard-inner{gap:16px}.dashboard-page-title{font-size:20px}.dashboard-title-row{flex-direction:column;align-items:stretch}.dashboard-title-right{width:100%;justify-content:space-between}.dashboard-datetime{align-items:flex-start}.dashboard-table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}.dashboard-table th,.dashboard-table td{padding:10px 12px;font-size:13px}.dashboard-doctors-card{padding:16px}}:root{--sp-primary: #7c3aed;--sp-primary-soft: #ede9fe;--sp-navy: #1e293b;--sp-navy-deep: #0f172a;--sp-page: #f8fafc;--sp-card: #ffffff;--sp-heading: #0f172a;--sp-body: #64748b;--sp-muted: #94a3b8;--sp-border: #e2e8f0;--sp-sidebar-w: 240px;--sp-top-h: 64px;--sp-tab-h: 64px;--sp-teal: #0d9488;--sp-green: #16a34a;--sp-red: #dc2626;--sp-amber: #d97706}.staff-portal{font-family:Inter,system-ui,sans-serif;min-height:100vh;background:var(--sp-page);color:var(--sp-heading)}.staff-portal a{color:var(--sp-primary);text-decoration:none}.staff-portal a:hover{text-decoration:underline}.staff-shell{display:flex;min-height:100vh}.staff-sidebar{position:fixed;left:0;top:0;width:var(--sp-sidebar-w);height:100vh;background:var(--sp-navy);display:flex;flex-direction:column;z-index:300;overflow-y:auto}.staff-sidebar-brand{padding:20px 16px 16px;border-bottom:1px solid #2d3748}.staff-sidebar-logo{height:32px;width:auto;max-width:100%;object-fit:contain;display:block;margin-bottom:8px;filter:brightness(0) invert(1)}.staff-sidebar-clinic{font-size:14px;font-weight:600;color:#fff;line-height:1.3}.staff-sidebar-user{display:flex;align-items:flex-start;gap:12px;padding:16px;border-bottom:1px solid #2d3748}.staff-sidebar-avatar{width:40px;height:40px;border-radius:50%;background:var(--sp-primary);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.staff-sidebar-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.staff-sidebar-user-text{min-width:0}.staff-sidebar-user-name{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#fff}.staff-online-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.staff-sidebar-user-role{font-size:12px;color:var(--sp-muted);margin-top:2px}.staff-sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:4px}.staff-nav-link{display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;border-radius:8px;font-size:14px;font-weight:500;color:var(--sp-muted);text-decoration:none!important;transition:background .15s,color .15s}.staff-nav-link:hover{background:#ffffff0d;color:#cbd5e1}.staff-nav-link--active{background:#7c3aed26;color:#fff;border-left:3px solid var(--sp-primary);margin-left:-3px;padding-left:13px}.staff-sidebar-stats{margin:8px 12px;padding:12px;background:#ffffff0d;border-radius:8px}.staff-sidebar-stats-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#64748b;margin-bottom:8px}.staff-sidebar-stats-row1{font-size:13px;font-weight:600;color:#fff}.staff-sidebar-stats-row2{font-size:12px;color:var(--sp-muted);margin-top:4px}.staff-sidebar-footer{padding:16px;border-top:1px solid #2d3748}.staff-signout{width:100%;padding:10px;background:transparent;border:none;color:#94a3b8;font-size:14px;cursor:pointer;border-radius:8px;text-align:left}.staff-signout:hover{color:var(--sp-red);background:#dc262614}.staff-version{font-size:11px;color:#475569;margin-top:12px;text-align:center}.staff-main-wrap{flex:1;margin-left:var(--sp-sidebar-w);display:flex;flex-direction:column;min-height:100vh;padding-bottom:0}.staff-topbar{height:var(--sp-top-h);background:var(--sp-card);border-bottom:1px solid var(--sp-border);box-shadow:0 1px 2px #0f172a0a;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:100}.staff-topbar-title{font-size:18px;font-weight:600;color:var(--sp-heading);margin:0}.staff-topbar-right{display:flex;align-items:center;gap:12px}.staff-topbar-date{font-size:13px;font-weight:500;color:var(--sp-body)}.staff-icon-btn{width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--sp-body);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative}.staff-icon-btn:hover{background:var(--sp-page);color:var(--sp-heading)}.staff-icon-badge:after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--sp-red);border-radius:50%;border:2px solid #fff}.staff-topbar-avatar{width:32px;height:32px;border-radius:50%;background:var(--sp-primary-soft);color:var(--sp-primary);font-size:12px;font-weight:600;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden}.staff-topbar-avatar img{width:100%;height:100%;object-fit:cover}.staff-page{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box}.staff-mobile-top{display:none;height:56px;align-items:center;justify-content:space-between;padding:0 16px;background:var(--sp-card);border-bottom:1px solid var(--sp-border);box-shadow:0 1px 2px #0f172a0a;position:sticky;top:0;z-index:250}.staff-mobile-top-title{font-size:16px;font-weight:600;margin:0;flex:1;text-align:center}.staff-tabbar{display:none;position:fixed;bottom:0;left:0;right:0;height:calc(var(--sp-tab-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--sp-card);box-shadow:0 -2px 12px #00000014;z-index:400;justify-content:space-around;align-items:flex-start;padding-top:8px}.staff-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:var(--sp-muted);font-size:11px;font-weight:400;padding:4px 2px;text-decoration:none!important}.staff-tab--active{color:var(--sp-primary);font-weight:600}.staff-tab-pill{width:24px;height:3px;border-radius:2px;background:transparent;margin-bottom:-2px}.staff-tab--active .staff-tab-pill{background:var(--sp-primary)}.staff-more-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:450}.staff-more-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--sp-card);border-radius:16px 16px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom));z-index:460;max-height:70vh;overflow-y:auto}.staff-more-sheet h3{margin:0 0 16px;font-size:16px}.staff-more-sheet a,.staff-more-sheet button{display:block;width:100%;text-align:left;padding:14px 0;border:none;background:none;font-size:15px;color:var(--sp-heading);border-bottom:1px solid var(--sp-border);cursor:pointer}@media(max-width:767px){.staff-sidebar{display:none}.staff-main-wrap{margin-left:0;padding-bottom:calc(var(--sp-tab-h) + env(safe-area-inset-bottom,0px))}.staff-topbar{display:none}.staff-mobile-top{display:flex;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-top:env(safe-area-inset-top,0px)}.staff-tabbar{display:flex;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.staff-page{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.staff-settings-card{padding:18px 16px}.staff-card{padding:16px}}.staff-card{background:var(--sp-card);border-radius:12px;box-shadow:0 1px 3px #0f172a0f;padding:20px}.staff-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}@media(max-width:900px){.staff-stat-grid{grid-template-columns:repeat(2,1fr)}}.staff-stat-card{background:var(--sp-card);border-radius:12px;padding:20px;box-shadow:0 1px 3px #0f172a0f}.staff-stat-icon{width:40px;height:40px;border-radius:10px;background:var(--sp-primary-soft);color:var(--sp-primary);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.staff-stat-num{font-size:28px;font-weight:700;color:var(--sp-heading);line-height:1.1}.staff-stat-num--green{color:var(--sp-green)}.staff-stat-num--purple{color:var(--sp-primary)}.staff-stat-num--teal{color:var(--sp-teal)}.staff-stat-label{font-size:13px;color:var(--sp-body);margin-top:4px}.staff-section-title{font-size:16px;font-weight:600;color:var(--sp-heading);margin:0 0 16px}.staff-greeting{font-size:24px;font-weight:700;margin:0 0 8px}.staff-subdate{font-size:15px;color:var(--sp-body);margin-bottom:20px}.staff-avail-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;margin-left:12px}.staff-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:4px 10px;border-radius:999px}.staff-badge--scheduled{background:#ede9fe;color:#7c3aed}.staff-badge--completed{background:#dcfce7;color:#16a34a}.staff-badge--cancelled{background:#fee2e2;color:#dc2626}.staff-badge--no_show{background:#f1f5f9;color:#64748b}.staff-badge--confirmed{background:#ccfbf1;color:#0d9488}.staff-timeline{position:relative;padding-left:0}.staff-timeline-row{display:grid;grid-template-columns:56px 12px 1fr;gap:12px;margin-bottom:12px;align-items:stretch}@media(max-width:767px){.staff-timeline-row{grid-template-columns:1fr}.staff-timeline-time,.staff-timeline-line{display:none}}.staff-timeline-time{font-size:13px;font-weight:700;color:var(--sp-body);text-align:right;padding-top:10px}.staff-timeline-line{width:2px;background:var(--sp-border);margin:0 auto;min-height:100%;position:relative}.staff-appt-card{border-radius:8px;padding:10px 14px;border-left:3px solid var(--sp-primary);cursor:pointer;transition:box-shadow .15s}.staff-appt-card:hover{box-shadow:0 2px 8px #0f172a14}.staff-appt-card--scheduled{background:#ede9fe;border-left-color:#7c3aed}.staff-appt-card--completed{background:#dcfce7;border-left-color:#16a34a}.staff-appt-card--cancelled{background:#fee2e2;border-left-color:#dc2626}.staff-appt-card--no_show{background:#f1f5f9;border-left-color:#64748b}.staff-appt-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.staff-appt-card-name{font-size:14px;font-weight:600}.staff-appt-card-service{font-size:13px;color:var(--sp-body);margin-top:4px}.staff-appt-card-meta{font-size:12px;color:var(--sp-muted);margin-top:6px}.staff-slot-empty{border:1px dashed var(--sp-border);border-radius:8px;padding:12px;color:var(--sp-muted);font-size:12px;background:#fafafa}.staff-appt-row{display:grid;grid-template-columns:88px 1fr auto auto;gap:16px;align-items:center;background:var(--sp-card);border-radius:8px;padding:16px;margin-bottom:10px;box-shadow:0 1px 2px #0f172a0d;border-left:3px solid var(--sp-primary);min-height:64px;cursor:pointer;transition:background .15s,box-shadow .15s}.staff-appt-row:hover{background:#fafafa;box-shadow:0 2px 8px #0f172a0f}@media(max-width:767px){.staff-appt-row{grid-template-columns:1fr;gap:10px}}.staff-appt-row-time{font-size:16px;font-weight:700;padding-right:16px;border-right:1px solid var(--sp-border)}@media(max-width:767px){.staff-appt-row-time{border-right:none;padding-right:0;display:flex;gap:12px;align-items:baseline}}.staff-appt-row-end{font-size:13px;color:var(--sp-muted)}.staff-appt-row-actions{display:flex;gap:8px}.staff-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;overscroll-behavior:none;touch-action:none}.staff-panel{position:fixed;top:0;right:0;width:min(480px,100vw);height:100vh;background:var(--sp-card);z-index:510;display:flex;flex-direction:column;box-shadow:-8px 0 24px #0f172a1f}.staff-panel--centered{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:min(900px,94vw);height:min(88vh,920px);border-radius:14px;box-shadow:0 24px 48px #0f172a38}.staff-exec-modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500000;pointer-events:none;isolation:isolate}.staff-exec-modal-root .staff-panel-overlay{z-index:0;pointer-events:auto}.staff-exec-modal-root .staff-panel{z-index:1;pointer-events:auto}.staff-exec-modal-root--centered{display:flex;align-items:center;justify-content:center;padding-top:max(12px,env(safe-area-inset-top,0px));padding-bottom:max(12px,env(safe-area-inset-bottom,0px));padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));box-sizing:border-box}.staff-exec-modal-root--centered .staff-panel-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.staff-exec-modal-root--centered .staff-panel--centered{position:relative;top:auto!important;left:auto!important;right:auto!important;transform:none!important;width:min(900px,calc(100vw - 24px));max-width:100%;height:min(88vh,920px);max-height:min(88dvh,calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));margin:0;flex-shrink:0;box-shadow:0 24px 64px #0f172a59}@media(max-width:767px){.staff-panel{width:100%}.staff-panel--centered{top:50%;left:50%;right:auto;transform:translate(-50%,-50%);width:calc(100vw - 20px);max-width:520px;height:min(88dvh,88vh);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:16px;box-shadow:0 24px 64px #0f172a59}.staff-exec-modal-root--centered{display:block;padding:0}.staff-exec-modal-root--centered .staff-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0}.staff-exec-modal-root--centered .staff-panel--centered{position:fixed;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:none!important;height:100%!important;height:100dvh!important;max-height:none!important;min-height:100dvh;border-radius:0!important;margin:0!important;box-shadow:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box}}.staff-panel-header{padding:20px 20px 16px;border-bottom:1px solid var(--sp-border);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.staff-panel-body{flex:1;overflow-y:auto;padding:20px}.staff-panel-footer{padding:12px 20px;border-top:1px solid var(--sp-border);font-size:12px;color:var(--sp-muted)}.staff-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sp-primary);font-weight:600;margin:20px 0 10px}.staff-eyebrow:first-child{margin-top:0}.staff-btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;width:100%}.staff-btn--primary{background:var(--sp-primary);color:#fff}.staff-btn--primary:disabled{opacity:.5;cursor:not-allowed}.staff-btn--ghost{background:transparent;color:var(--sp-body);border:1px solid var(--sp-border)}.staff-btn--danger{background:transparent;color:var(--sp-red);border:1px solid #fecaca}.staff-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.staff-pill{padding:8px 16px;border-radius:999px;border:1px solid var(--sp-border);background:#fff;font-size:13px;font-weight:500;color:var(--sp-body);cursor:pointer}.staff-pill--active{background:var(--sp-primary);color:#fff;border-color:var(--sp-primary)}.staff-input{width:100%;height:44px;padding:0 14px;border:1px solid var(--sp-border);border-radius:8px;font-size:14px;box-sizing:border-box}.staff-input:focus{outline:none;border-color:var(--sp-primary);box-shadow:0 0 0 2px var(--sp-primary-soft)}.staff-login-page{min-height:100vh;min-height:100dvh;background:var(--sp-navy-deep);display:flex;align-items:center;justify-content:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top,0px));padding-bottom:max(24px,env(safe-area-inset-bottom,0px));padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));font-family:Inter,system-ui,sans-serif;box-sizing:border-box}.staff-login-card{width:100%;max-width:440px;background:#fff;border-radius:12px;padding:40px;box-shadow:0 25px 50px #00000040}.staff-login-badge{display:inline-block;background:var(--sp-primary-soft);color:var(--sp-primary);font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;margin-bottom:12px}.staff-login-title{font-size:24px;font-weight:700;margin:0 0 8px;color:var(--sp-heading)}.staff-login-sub{font-size:14px;color:var(--sp-body);margin-bottom:24px}.staff-login-label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:var(--sp-heading)}.staff-login-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.staff-login-error{color:var(--sp-red);font-size:13px;margin-top:12px}.staff-login-footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--sp-border);font-size:13px;color:var(--sp-muted);line-height:1.5}@media(max-width:767px){.staff-login-page{background:#fff;align-items:flex-start;padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.staff-login-card{box-shadow:none;padding:0;max-width:none}}.staff-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}@media(max-width:767px){.staff-quick-grid{grid-template-columns:repeat(2,1fr)}}.staff-quick-card{background:var(--sp-card);border-radius:12px;padding:16px;text-align:center;box-shadow:0 1px 3px #0f172a0f;text-decoration:none!important;color:inherit;transition:box-shadow .15s}.staff-quick-card:hover{box-shadow:0 4px 12px #0f172a1a}.staff-quick-card span{display:block;margin-top:8px;font-size:13px;font-weight:500;color:var(--sp-body)}.staff-client-row{display:flex;align-items:center;gap:16px;padding:16px;background:var(--sp-card);border-radius:8px;margin-bottom:10px;box-shadow:0 1px 2px #0f172a0d;text-decoration:none!important;color:inherit;min-height:64px}.staff-client-row:hover{box-shadow:0 2px 8px #0f172a14}.staff-client-avatar{width:40px;height:40px;border-radius:50%;background:var(--sp-primary-soft);color:var(--sp-primary);font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.staff-info-banner{display:flex;gap:12px;padding:14px 16px;background:#f0fdfa;border-left:3px solid var(--sp-teal);border-radius:8px;font-size:13px;color:var(--sp-body);margin-bottom:20px}.staff-table-wrap{overflow-x:auto}.staff-table{width:100%;border-collapse:collapse;font-size:14px}.staff-table th{text-align:left;padding:12px 14px;background:#f1f5f9;color:var(--sp-body);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.staff-table td{padding:14px;border-bottom:1px solid var(--sp-border)}.staff-table tr:nth-child(2n) td{background:#f8fafc}@media(max-width:767px){.staff-table-wrap{display:none}}.staff-earn-cards{display:none}@media(max-width:767px){.staff-earn-cards{display:flex;flex-direction:column;gap:10px}}.staff-earn-card{background:var(--sp-card);border-radius:8px;padding:14px;border:1px solid var(--sp-border)}.staff-settings-section{margin-bottom:28px}.staff-settings-section h2{font-size:16px;font-weight:600;margin:0 0 12px}.staff-settings-card{background:var(--sp-card);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0f172a0f}.staff-form-group{margin-bottom:18px}.staff-muted{color:var(--sp-muted);font-size:13px}.staff-loading{padding:48px;text-align:center;color:var(--sp-muted)}.staff-schedule-page-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:900px){.staff-schedule-page-grid{grid-template-columns:1fr 1fr;gap:24px}}.staff-schedule-page-grid .staff-card{min-width:0}.staff-badge--in_progress{background:#fef3c7;color:#b45309}.staff-appt-row--live{border-left-color:#f59e0b!important}.staff-appt-live-timer{font-size:14px;font-weight:700;color:#f59e0b;font-variant-numeric:tabular-nums}.staff-btn--compact{padding:6px 12px;font-size:13px;border-radius:8px;white-space:nowrap}.staff-btn--success{background:#16a34a;color:#fff;border:none}.staff-btn--success:hover{background:#15803d}.staff-btn--lg{width:100%;min-height:48px;font-size:16px;font-weight:600}.staff-btn--sm{font-size:13px;padding:6px 10px}.staff-btn--danger-text{color:#dc2626!important;border-color:#fecaca!important}.staff-panel-footer--sticky{position:sticky;bottom:0;background:var(--sp-card, #fff);border-top:1px solid var(--sp-border);padding-top:12px;display:flex;flex-direction:column;gap:10px}.staff-footer-hint{font-size:12px;color:var(--sp-muted);margin:0}.staff-exec-tabs{display:flex;gap:4px;padding:0 20px 12px;border-bottom:1px solid var(--sp-border)}.staff-exec-tab{flex:1;border:none;background:transparent;padding:10px 8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-13px}.staff-exec-tab--active{color:#7c3aed;font-weight:600;border-bottom-color:#7c3aed}.staff-visit-strip{border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500;margin-bottom:16px}.staff-visit-strip--first{background:#dcfce7;color:#166534}.staff-visit-strip--return{background:#f0fdfa;color:#0f766e}.staff-exec-link{display:inline-block;margin-top:6px;font-size:13px;font-weight:600;color:#7c3aed;text-decoration:none}.staff-exec-link:hover{text-decoration:underline}.staff-exec-link-muted{background:none;border:none;font-size:13px;color:#94a3b8;cursor:pointer;padding:0}.staff-template-zone{background:#f8fafc;border-bottom:1px solid var(--sp-border);padding:16px;margin:0 -20px 16px}.staff-template-head{font-size:14px;font-weight:500;color:#64748b;margin-bottom:12px}.staff-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:600px){.staff-template-grid{grid-template-columns:1fr}}.staff-template-card{background:#fff;border-radius:8px;padding:12px;box-shadow:0 1px 2px #0f172a0f}.staff-template-check-row{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px}.staff-save-hint{font-size:12px;color:#94a3b8;text-align:right;margin-top:6px}.staff-followup-block{margin-top:20px;padding-top:16px;border-top:1px solid var(--sp-border)}.staff-followup-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:500;margin-top:8px}.staff-toggle{width:40px;height:22px;border-radius:11px;border:none;cursor:pointer;flex-shrink:0;background:#cbd5e1;position:relative}.staff-toggle--on{background:#7c3aed}.staff-toggle:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s}.staff-toggle--on:after{transform:translate(18px)}.staff-pill-row{display:flex;flex-wrap:wrap;gap:8px}.staff-follow-pill{padding:6px 12px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:13px;font-weight:500;color:#64748b;cursor:pointer}.staff-follow-pill--active{background:#7c3aed;color:#fff;border-color:#7c3aed}.staff-char-count{font-size:12px;color:#94a3b8;text-align:right;margin-top:4px}.staff-history-list{list-style:none;padding:0;margin:0 0 12px}.staff-history-item{padding:12px 0;border-bottom:1px solid #f1f5f9}.staff-history-note{font-size:13px;color:#64748b;margin-top:6px;white-space:pre-wrap}.staff-exec-toast{position:absolute;top:12px;right:56px;left:16px;z-index:5;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 4px 16px #0f172a1f}.staff-panel--execution{position:relative}.staff-exec-toast--amber{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.staff-exec-toast--green{background:#dcfce7;border:1px solid #86efac;color:#166534}.staff-exec-toast--purple{background:#ede9fe;border:1px solid #c4b5fd;color:#5b21b6}.staff-exec-timer{margin-top:8px;font-size:18px;font-weight:700;color:#f59e0b;font-variant-numeric:tabular-nums}.staff-exec-late{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:12px}.staff-exec-nudge{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;padding:12px;margin:12px 0;font-size:14px}.staff-exec-nudge--amber{background:#fffbeb;border-color:#fcd34d}.staff-exec-undo{background:none;border:none;color:#94a3b8;font-size:13px;cursor:pointer;text-align:center;padding:4px}.staff-checkout{width:100%;text-align:left}.staff-checkout-title{font-size:16px;font-weight:600;color:var(--sp-heading);margin-bottom:6px}.staff-checkout-title--ok{color:var(--sp-green)}.staff-checkout-hint{font-size:13px;color:var(--sp-body);margin:0 0 12px;line-height:1.45}.staff-checkout-field-label{display:block;font-size:12px;margin:10px 0 4px}.staff-checkout-input{width:100%;box-sizing:border-box}.staff-checkout-input--lg{font-size:18px;font-weight:700;padding:14px 12px}.staff-checkout-strip{border-radius:8px;padding:10px 12px;font-size:13px;margin:10px 0}.staff-checkout-strip--ok{background:#ecfdf5;border:1px solid #6ee7b7;color:#166534}.staff-pay-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.staff-pay-pill{border:1px solid var(--sp-border);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;color:var(--sp-heading)}.staff-pay-pill--active{background:var(--sp-primary);border-color:var(--sp-primary);color:#fff}.staff-checkout-change{margin-top:8px;font-size:14px;font-weight:600;color:var(--sp-teal)}.staff-checkout-btn{width:100%;margin-top:12px}.staff-checkout-skip{display:block;width:100%;text-align:center;margin-top:10px;background:none;border:none;cursor:pointer;font-size:13px}.staff-checkout-pending{margin-top:12px;padding-top:12px;border-top:1px solid var(--sp-border)}.staff-receipt-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0f172a14;padding:16px;margin:12px 0;border:1px solid var(--sp-border);font-size:13px}.staff-receipt-brand{font-weight:700;font-size:15px;margin-bottom:4px}.staff-receipt-muted{color:var(--sp-body);font-size:12px;margin-bottom:12px;line-height:1.4}.staff-receipt-row{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid #f1f5f9}.staff-receipt-row span{color:var(--sp-muted)}.staff-receipt-thanks{margin-top:14px;text-align:center;color:var(--sp-body);font-size:13px}.staff-receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}@media(max-width:520px){.staff-receipt-actions{grid-template-columns:1fr}}.staff-receipt-act{text-align:center;justify-content:center;text-decoration:none;font-size:13px;padding:10px 12px;box-sizing:border-box}.staff-receipt-act--disabled{opacity:.45;pointer-events:none;display:flex;align-items:center;justify-content:center;border:1px dashed var(--sp-border);border-radius:8px;color:var(--sp-muted)}.staff-rebook-card{border-left:3px solid var(--sp-primary);background:#fafaff;border-radius:12px;padding:16px;box-sizing:border-box}.staff-rebook-suggest{background:#f0fdfa;color:#0f766e;font-size:14px;padding:10px 12px;border-radius:8px;margin-bottom:12px;line-height:1.4}.staff-slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 14px;max-height:180px;overflow-y:auto}.staff-slot-chip{border:1px solid var(--sp-border);background:#fff;border-radius:8px;padding:8px 4px;font-size:12px;cursor:pointer;color:var(--sp-heading)}.staff-slot-chip--active{background:var(--sp-primary-soft);border-color:var(--sp-primary);color:#5b21b6;font-weight:600}@media print{body *{visibility:hidden!important}#staff-receipt-print,#staff-receipt-print *{visibility:visible!important}#staff-receipt-print{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:420px!important;box-shadow:none!important;border:none!important}}.staff-template-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.staff-tpl-group{margin-bottom:14px}.staff-tpl-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:8px}.staff-tpl-badge{display:inline-block;font-size:10px;padding:2px 6px;border-radius:4px;margin-top:4px;text-transform:uppercase}.staff-tpl-badge--platform{background:#f1f5f9;color:#64748b}.staff-tpl-badge--clinic{background:#ccfbf1;color:#0f766e}.staff-tpl-badge--staff{background:#ede9fe;color:#5b21b6}.staff-tpl-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:500;display:flex;align-items:center;justify-content:center;padding:16px}.staff-tpl-modal{background:#fff;border-radius:12px;padding:20px;max-width:480px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 50px #0f172a26}.staff-tpl-modal-title{margin:0 0 14px;font-size:18px;font-weight:600}.staff-exec-precomplete{margin-top:16px;padding:12px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc}.staff-exec-precomplete-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:8px}@media(max-width:767px){.staff-panel-body{padding:14px 14px 20px}.staff-panel-header{padding:14px 14px 12px;gap:8px}.staff-panel-header h2{font-size:17px!important}.staff-exec-tabs{padding:0 10px 10px;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.staff-exec-tabs::-webkit-scrollbar{display:none}.staff-exec-tab{flex:1 1 auto;min-width:72px;min-height:44px;padding:10px 8px;font-size:13px;margin-bottom:-11px}.staff-panel-footer--sticky{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.staff-pay-pills{flex-wrap:wrap;gap:8px}.staff-pay-pill{min-height:44px}.staff-checkout-input,.staff-input{font-size:16px}.staff-appt-row{padding:14px 12px}.staff-appt-row-actions{flex-wrap:wrap;gap:8px}.staff-appt-row-actions .staff-btn{min-height:44px}.staff-icon-btn{min-width:44px;min-height:44px}}.appointments-page{display:flex;flex-direction:column;height:100%;padding:24px 32px 0;background:#f8fafc;overflow:hidden}.appointments-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.appointments-header-left h1{font-size:24px;font-weight:700;color:#0f172a;margin:0}.appointments-header-sub{font-size:13px;color:#64748b;margin-top:3px}.appointments-header-actions{display:flex;gap:10px;align-items:center}.appointments-btn-pending{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;color:#7c3aed;background:#ede9fe;border:1.5px solid #C4B5FD;border-radius:8px;cursor:pointer}.appointments-btn-pending:hover{background:#c4b5fd}.appointments-btn-pending .appointments-pending-badge{background:#7c3aed;color:#fff;padding:2px 6px;border-radius:8px;font-size:11px;margin-left:2px}.appointments-btn-new{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .2s;text-decoration:none;box-sizing:border-box}.appointments-btn-new:hover{background:#6d28d9;transform:translateY(-1px);color:#fff}.appointments-btn-new--compact{padding:10px 14px;font-size:13px}.appointments-btn-demo{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;color:#7c3aed;background:#f5f3ff;border:1.5px solid #C4B5FD;border-radius:8px;cursor:pointer}.appointments-btn-demo:hover{background:#ede9fe}.appointments-btn-demo:disabled{opacity:.65;cursor:not-allowed}.appointments-toolbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #E2E8F0;margin-bottom:0;flex-wrap:wrap;gap:12px}.appointments-toolbar-left{display:flex;align-items:center;gap:8px}.appointments-nav-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E2E8F0;border-radius:8px;color:#64748b;cursor:pointer;transition:.15s}.appointments-nav-btn:hover{background:#f8fafc;border-color:#c4b5fd;color:#7c3aed}.appointments-date-label{font-size:15px;font-weight:600;color:#0f172a;min-width:200px}.appointments-btn-today{padding:7px 14px;font-size:13px;font-weight:500;color:#374151;background:#fff;border:1px solid #E2E8F0;border-radius:8px;cursor:pointer}.appointments-btn-today:hover{border-color:#7c3aed;color:#7c3aed}.appointments-toolbar-center,.appointments-toolbar-right{display:flex;align-items:center;gap:8px}.appointments-select{height:36px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;background:#fff;font-size:13px;color:#374151;min-width:120px}.appointments-view-toggle{display:flex;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden}.appointments-view-toggle button{padding:8px 14px;font-size:13px;font-weight:500;color:#64748b;background:transparent;border:none;cursor:pointer}.appointments-view-toggle button.active{background:#fff;color:#7c3aed;box-shadow:0 1px 2px #0000000d}.appointments-list-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E2E8F0;border-radius:8px;color:#64748b;cursor:pointer}.appointments-list-btn.active{border-color:#7c3aed;color:#7c3aed}.appointments-calendar-wrap{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.appointments-week-card{flex:1;background:#fff;border:1px solid #E2E8F0;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;min-height:400px;--appts-week-header-height: 78px}.appointments-week-header{display:grid;grid-template-columns:60px repeat(7,1fr);min-height:var(--appts-week-header-height);height:auto;box-sizing:border-box;padding:6px 0;background:#fff;border-bottom:1px solid #E2E8F0;position:sticky;top:0;z-index:20;align-items:stretch}.appointments-week-header-cell-time{background:#f8fafc;border-right:1px solid #E2E8F0}.appointments-week-header-cell-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px 4px;border-right:1px solid #E2E8F0;font-size:12px;font-weight:600;text-transform:uppercase;color:#94a3b8}.appointments-week-header-cell-day:last-of-type{border-right:none}.appointments-week-header-cell-day.today{color:#7c3aed}.appointments-week-header-cell-day .day-date-num{font-size:22px;font-weight:700;color:#374151;line-height:1.1}.appointments-week-header-cell-day.today .day-date-num{width:32px;height:32px;border-radius:50%;background:#7c3aed;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}.appointments-week-header-cell-day .day-count{font-size:11px;font-weight:600;color:#7c3aed;background:#ede9fe;padding:2px 7px;border-radius:999px;flex-shrink:0;margin-top:2px}.appointments-week-body{position:relative;overflow-y:auto;flex:1}.appointments-week-grid{display:grid;grid-template-columns:60px repeat(7,1fr);min-height:1664px;position:relative}.appointments-time-col{display:flex;flex-direction:column;border-right:1px solid #E2E8F0}.appointments-time-slot{height:64px;padding:6px 8px 0 0;text-align:right;font-size:11px;font-weight:500;color:#94a3b8}.appointments-day-col{position:relative;border-right:1px solid #E2E8F0}.appointments-day-col:last-child{border-right:none}.appointments-day-col>.appointments-slot-cell:first-child{border-top:none}.appointments-slot-cell{height:64px;border-top:1px solid #F1F5F9;cursor:pointer;transition:background .1s}.appointments-slot-cell:hover{background:#f5f3ff}.appointments-slot-cell.unavailable{background:#f8fafc;cursor:default}.appointments-current-time-line{position:absolute;left:60px;right:0;height:2px;background:#7c3aed;z-index:30;pointer-events:none}.appointments-current-time-line:before{content:"";position:absolute;left:0;top:-3px;width:8px;height:8px;border-radius:50%;background:#7c3aed}.appointments-pill{position:absolute;left:2px;right:2px;border-radius:8px;padding:6px 10px;overflow:hidden;cursor:pointer;z-index:10;transition:box-shadow .15s,transform .15s;-webkit-user-select:none;user-select:none}.appointments-pill:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.02);z-index:20}.appointments-pill.scheduled{background:#ede9fe;border-left:3px solid #7C3AED;color:#4c1d95}.appointments-pill.completed{background:#f0fdfa;border-left:3px solid #0D9488;color:#134e4a}.appointments-pill.cancelled{background:#fef2f2;border-left:3px solid #EF4444;color:#7f1d1d;opacity:.7}.appointments-pill.no_show{background:#fffbeb;border-left:3px solid #F59E0B;color:#78350f}.appointments-pill.unassigned{background:#f8fafc;border:1.5px dashed #94A3B8;color:#374151}.appointments-pill-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointments-pill-meta{font-size:11px;opacity:.8;margin-top:2px}.appointments-pill-reason{font-size:11px;opacity:.65;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointments-list-wrap{flex:1;overflow:auto;display:flex;flex-direction:column}.appointments-filter-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.appointments-filter-bar input,.appointments-filter-bar .appointments-select{height:38px}.appointments-filter-chips{margin-bottom:12px;font-size:13px}.appointments-filter-chips .clear-all{color:#7c3aed;cursor:pointer;margin-left:4px}.appointments-table-wrap{background:#fff;border:1px solid #E2E8F0;border-radius:14px;overflow:hidden}.appointments-table{width:100%;border-collapse:collapse}.appointments-table th{background:#f8fafc;border-bottom:2px solid #E2E8F0;padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;color:#94a3b8;text-align:left}.appointments-table td{padding:12px 14px;border-bottom:1px solid #F8FAFC;font-size:14px;cursor:pointer}.appointments-table tbody tr:hover{background:#fafafa}.appointments-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.appointments-badge.scheduled{background:#ede9fe;color:#4c1d95}.appointments-badge.completed{background:#f0fdfa;color:#134e4a}.appointments-badge.cancelled{background:#fef2f2;color:#7f1d1d}.appointments-badge.no_show{background:#fffbeb;color:#78350f}.appointments-badge.unassigned{background:#fffbeb;color:#d97706;border:1px solid #FDE68A}.appointments-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px;font-size:12px;color:#64748b}.appointments-page-nums{display:flex;gap:4px}.appointments-page-nums button{width:32px;height:32px;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:13px}.appointments-page-nums button:hover{background:#f8fafc}.appointments-page-nums button.active{background:#7c3aed;color:#fff}.appointments-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:299}.appointments-drawer{position:fixed;top:0;right:0;width:420px;max-width:100%;height:100vh;background:#fff;box-shadow:-8px 0 32px #0000001f;z-index:300;display:flex;flex-direction:column;overflow:hidden}.appointments-drawer-header{height:60px;padding:0 20px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between}.appointments-drawer-title{font-size:16px;font-weight:700;color:#0f172a}.appointments-drawer-body{overflow-y:auto;padding:20px;flex:1}.appointments-drawer-footer{height:72px;padding:0 20px;border-top:1px solid #E2E8F0;display:flex;align-items:center;gap:10px}.appointments-drawer-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;cursor:pointer;color:#64748b}.appointments-drawer-btn:hover{border-color:#7c3aed;color:#7c3aed}.appointments-drawer-btn.danger:hover{border-color:#ef4444;color:#ef4444}.appointments-status-badge-large{height:48px;padding:0 20px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;text-transform:uppercase}.appointments-drawer-section{margin-top:20px}.appointments-drawer-section:first-child{margin-top:0}.appointments-drawer-label{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.appointments-drawer-grid{display:grid;grid-template-columns:120px 1fr;gap:12px 8px}.appointments-drawer-value{font-size:14px;color:#374151}.appointments-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ede9fe;color:#7c3aed;font-weight:600}.appointments-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:600000;display:flex;align-items:center;justify-content:center;padding:24px;animation:appointments-modal-fade .2s ease-out}@keyframes appointments-modal-fade{0%{opacity:0}to{opacity:1}}.appointments-modal{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0000002e,0 0 0 1px #0000000a;max-width:720px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:appointments-modal-scale .25s cubic-bezier(.16,1,.3,1);margin:auto}@keyframes appointments-modal-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.appointments-modal-header{padding:20px 28px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.appointments-modal-title{font-size:18px;font-weight:700;color:#0f172a}.appointments-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;color:#64748b;cursor:pointer;transition:.15s}.appointments-modal-close:hover{border-color:#7c3aed;color:#7c3aed}.appointments-modal-body{padding:28px;overflow-y:auto;flex:1}.appointments-modal-footer{padding:20px 28px;border-top:1px solid #E2E8F0;display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.appointments-modal-staff-hint{margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.45;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.appointments-form-group{margin-bottom:20px}.appointments-form-group:last-child{margin-bottom:0}.appointments-form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.appointments-form-group label .label-optional{font-weight:500;color:#94a3b8}.appointments-form-group input,.appointments-form-group select,.appointments-form-group textarea{width:100%;padding:10px 14px;border:1px solid #E2E8F0;border-radius:10px;font-size:14px;color:#0f172a;transition:border-color .15s,box-shadow .15s}.appointments-form-group input:focus,.appointments-form-group select:focus,.appointments-form-group textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.appointments-form-group textarea{resize:none;min-height:72px}.appointments-patient-combo{position:relative}.appointments-patient-input-wrap{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #E2E8F0;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.appointments-patient-input-wrap:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.appointments-patient-input-wrap .search-icon{color:#94a3b8;flex-shrink:0}.appointments-patient-input-wrap input{flex:1;border:none!important;padding:12px 0!important;box-shadow:none!important}.appointments-patient-input-wrap input:focus{box-shadow:none!important}.appointments-patient-dropdown{margin-top:6px;border:1px solid #E2E8F0;border-radius:10px;background:#fff;box-shadow:0 10px 40px #0000001a;max-height:220px;overflow-y:auto}.appointments-patient-option{display:flex;flex-direction:column;gap:2px;padding:12px 14px;cursor:pointer;transition:background .1s;border-bottom:1px solid #F1F5F9}.appointments-patient-option:last-child{border-bottom:none}.appointments-patient-option:hover{background:#f8fafc}.appointments-patient-option .name{font-size:14px;font-weight:500;color:#0f172a}.appointments-patient-option .phone{font-size:12px;color:#94a3b8}.appointments-patient-selected{display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 14px;background:#f0fdfa;border:1px solid #99F6E4;border-radius:10px}.appointments-patient-selected .avatar{width:28px;height:28px;border-radius:50%;background:#0d9488;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.appointments-patient-selected .info{flex:1;font-size:14px;font-weight:500;color:#0f172a}.appointments-patient-selected .info span{color:#64748b;font-weight:400}.appointments-patient-selected .clear-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer}.appointments-patient-selected .clear-btn:hover{background:#0000000f;color:#ef4444}.appointments-datetime-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:520px){.appointments-datetime-row{grid-template-columns:1fr}}.appointments-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:520px){.appointments-slot-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.appointments-page{padding:16px 16px 0;padding-bottom:env(safe-area-inset-bottom,0px);overflow:auto;-webkit-overflow-scrolling:touch;min-height:min-content}.appointments-header{flex-direction:column;align-items:stretch}.appointments-header-actions{width:100%;flex-wrap:wrap}.appointments-btn-demo,.appointments-btn-pending{flex:1;min-width:min(160px,100%);justify-content:center;min-height:44px}.appointments-btn-new,.appointments-btn-new--compact{flex:1;min-width:min(140px,100%);justify-content:center;min-height:44px}.appointments-modal-backdrop{align-items:stretch;padding:0}.appointments-modal,.appointments-modal--portal{max-width:none;width:100%;max-height:none;height:100%;min-height:100dvh;border-radius:0;margin:0}.appointments-modal-body{padding:20px 16px}.appointments-modal-header,.appointments-modal-footer{padding-left:16px;padding-right:16px}.appointments-header-left h1{font-size:20px}}.appointments-slot-chip{padding:8px 12px;font-size:13px;border-radius:8px;border:1px solid #E2E8F0;background:#fff;color:#374151;cursor:pointer;text-align:center;transition:.15s}.appointments-slot-chip:hover:not(.disabled){border-color:#7c3aed;color:#7c3aed;background:#fafaff}.appointments-slot-chip.selected{background:#7c3aed;border-color:#7c3aed;color:#fff;font-weight:600}.appointments-slot-chip.disabled{background:#f8fafc;border-color:#f1f5f9;color:#cbd5e1;cursor:not-allowed;text-decoration:line-through}.appointments-slot-skeleton{height:40px;border-radius:8px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:appointments-skeleton 1.2s ease-in-out infinite}@keyframes appointments-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.appointments-slot-note{margin-top:8px;font-size:12px;color:#94a3b8;font-style:italic}.appointments-doctor-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:500;color:#d97706;background:#fffbeb;border:1px solid #FDE68A;border-radius:999px}.appointments-payment-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #E2E8F0;border-radius:10px;overflow:hidden}.appointments-payment-methods button{padding:10px 12px;font-size:13px;font-weight:500;color:#374151;background:#f8fafc;border:none;border-right:1px solid #E2E8F0;cursor:pointer;transition:.15s}.appointments-payment-methods button:last-child{border-right:none}.appointments-payment-methods button:hover{background:#f1f5f9}.appointments-payment-methods button.active{background:#7c3aed;color:#fff;font-weight:600}.appointments-amount-wrap{display:flex;align-items:center;gap:0;border:1px solid #E2E8F0;border-radius:10px;overflow:hidden;margin-top:8px}.appointments-amount-prefix{padding:10px 14px;background:#f8fafc;font-size:14px;font-weight:600;color:#64748b;border-right:1px solid #E2E8F0}.appointments-amount-wrap input{flex:1;border:none!important;border-radius:0!important}.appointments-amount-wrap input:focus{box-shadow:none!important}.appointments-modal-error{padding:12px 14px;margin-bottom:20px;background:#fef2f2;border:1px solid #FECACA;border-radius:10px;font-size:13px;color:#b91c1c}.appointments-btn-ghost{padding:10px 20px;font-size:14px;border:1px solid #E2E8F0;color:#374151;background:#fff;border-radius:8px;cursor:pointer;transition:.15s}.appointments-btn-ghost:hover{border-color:#cbd5e1;background:#f8fafc}.appointments-btn-primary{padding:10px 24px;font-size:14px;font-weight:600;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer}.appointments-btn-primary:hover{background:#6d28d9}.appointments-btn-primary:disabled{background:#e2e8f0;cursor:not-allowed}.appointments-list-tabs{display:flex;gap:8px;padding:16px;border-bottom:1px solid #E2E8F0;background:#fff}.appointments-list-tabs button{padding:8px 16px;font-size:13px;font-weight:500;color:#64748b;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.appointments-list-tabs button.active{color:#7c3aed;border-bottom-color:#7c3aed}.new-appointment-page{min-height:100%;background:#f8fafc;padding:24px 32px 32px}.new-appointment-header{margin-bottom:28px}.new-appointment-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#64748b;text-decoration:none;margin-bottom:16px;transition:color .15s}.new-appointment-back:hover{color:#7c3aed}.new-appointment-title-row{margin-bottom:0}.new-appointment-title{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 4px}.new-appointment-subtitle{font-size:14px;color:#64748b;margin:0}.new-appointment-content{max-width:720px}.new-appointment-form-card{background:#fff;border-radius:16px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000d;padding:32px}.new-appointment-error{padding:14px 18px;margin-bottom:24px;background:#fef2f2;border:1px solid #FECACA;border-radius:12px;font-size:14px;color:#b91c1c}.new-appointment-section{margin-bottom:32px}.new-appointment-section:last-of-type{margin-bottom:0}.new-appointment-section-title{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #F1F5F9}.new-appointment-field{margin-bottom:16px}.new-appointment-field:last-child{margin-bottom:0}.new-appointment-label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.new-appointment-input-wrap{display:flex;align-items:center;gap:12px;padding:0 14px;border:1px solid #E2E8F0;border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.new-appointment-input-wrap:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.new-appointment-input-icon{color:#94a3b8;flex-shrink:0}.new-appointment-input{flex:1;min-width:0;padding:12px 0;border:none;font-size:14px;color:#0f172a;background:transparent}.new-appointment-input:focus{outline:none}.new-appointment-input::placeholder{color:#94a3b8}.new-appointment-select{width:100%;padding:12px 14px;border:1px solid #E2E8F0;border-radius:10px;font-size:14px;color:#0f172a;background:#fff}.new-appointment-select:focus{outline:none;border-color:#7c3aed}.new-appointment-textarea{width:100%;padding:12px 14px;border:1px solid #E2E8F0;border-radius:10px;font-size:14px;color:#0f172a;resize:none;min-height:80px}.new-appointment-textarea:focus{outline:none;border-color:#7c3aed}.new-appointment-patient-list{margin-top:8px;padding:0;list-style:none;border:1px solid #E2E8F0;border-radius:10px;background:#fff;box-shadow:0 10px 40px #00000014;max-height:240px;overflow-y:auto}.new-appointment-patient-item{display:flex;flex-direction:column;gap:2px;padding:14px 18px;cursor:pointer;border-bottom:1px solid #F1F5F9;transition:background .1s}.new-appointment-patient-item:last-child{border-bottom:none}.new-appointment-patient-item:hover{background:#f8fafc}.new-appointment-patient-name{font-size:14px;font-weight:500;color:#0f172a}.new-appointment-patient-phone{font-size:13px;color:#94a3b8}.new-appointment-selected-patient{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#f0fdfa;border:1px solid #99F6E4;border-radius:12px}.new-appointment-avatar{width:44px;height:44px;border-radius:50%;background:#0d9488;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.new-appointment-selected-info{flex:1;display:flex;flex-direction:column;gap:2px}.new-appointment-selected-name{font-size:15px;font-weight:600;color:#0f172a}.new-appointment-selected-phone{font-size:13px;color:#64748b}.new-appointment-clear-patient{padding:8px 16px;font-size:13px;font-weight:500;color:#7c3aed;background:transparent;border:1px solid #C4B5FD;border-radius:8px;cursor:pointer}.new-appointment-clear-patient:hover{background:#ede9fe}.new-appointment-datetime-grid{display:grid;grid-template-columns:200px 1fr;gap:24px}@media(max-width:640px){.new-appointment-datetime-grid{grid-template-columns:1fr}}.new-appointment-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media(max-width:520px){.new-appointment-slot-grid{grid-template-columns:repeat(3,1fr)}}.new-appointment-slot-btn{padding:10px 14px;font-size:13px;border-radius:8px;border:1px solid #E2E8F0;background:#fff;color:#374151;cursor:pointer;transition:.15s}.new-appointment-slot-btn:hover:not(.disabled){border-color:#7c3aed;color:#7c3aed;background:#fafaff}.new-appointment-slot-btn.selected{background:#7c3aed;border-color:#7c3aed;color:#fff;font-weight:600}.new-appointment-slot-btn.disabled{background:#f8fafc;border-color:#f1f5f9;color:#cbd5e1;cursor:not-allowed;text-decoration:line-through}.new-appointment-slot-skeletons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.new-appointment-skeleton{height:44px;border-radius:8px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:new-appointment-shimmer 1.2s ease-in-out infinite}@keyframes new-appointment-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.new-appointment-hint{margin-top:10px;font-size:13px;color:#94a3b8;font-style:italic}.new-appointment-badge{display:inline-block;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:500;color:#d97706;background:#fffbeb;border:1px solid #FDE68A;border-radius:999px}.new-appointment-payment-row{display:grid;grid-template-columns:1fr 180px;gap:24px}@media(max-width:520px){.new-appointment-payment-row{grid-template-columns:1fr}}.new-appointment-payment-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #E2E8F0;border-radius:10px;overflow:hidden}.new-appointment-payment-btn{padding:12px 14px;font-size:13px;font-weight:500;color:#374151;background:#f8fafc;border:none;border-right:1px solid #E2E8F0;cursor:pointer;transition:.15s}.new-appointment-payment-btn:last-child{border-right:none}.new-appointment-payment-btn:hover{background:#f1f5f9}.new-appointment-payment-btn.active{background:#7c3aed;color:#fff;font-weight:600}.new-appointment-amount-wrap{display:flex;align-items:center;border:1px solid #E2E8F0;border-radius:10px;overflow:hidden}.new-appointment-amount-prefix{padding:12px 14px;background:#f8fafc;font-size:14px;font-weight:600;color:#64748b;border-right:1px solid #E2E8F0}.new-appointment-amount-input{flex:1;min-width:0;padding:12px 14px;border:none;font-size:14px}.new-appointment-amount-input:focus{outline:none}.new-appointment-form-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #E2E8F0}.new-appointment-btn{padding:12px 24px;font-size:14px;font-weight:600;border-radius:10px;cursor:pointer;text-decoration:none;transition:.15s}.new-appointment-btn.secondary{background:#fff;border:1px solid #E2E8F0;color:#374151}.new-appointment-btn.secondary:hover{border-color:#cbd5e1;background:#f8fafc}.new-appointment-btn.primary{background:#7c3aed;border:none;color:#fff}.new-appointment-btn.primary:hover:not(:disabled){background:#6d28d9}.new-appointment-btn.primary:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.patients-page{padding:32px;max-width:1400px;margin:0 auto;background:#f8fafc;min-height:100%}.patients-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.patients-header-left h1{font-size:24px;font-weight:700;color:#0f172a;margin:0}.patients-header-sub{font-size:13px;color:#64748b;margin-top:3px}.patients-header-actions{display:flex;gap:10px}.patients-btn-add{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;text-decoration:none;cursor:pointer;transition:.2s}.patients-btn-add:hover{background:#6d28d9;transform:translateY(-1px)}.patients-filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.patients-search-wrap{position:relative;width:280px;flex-shrink:0}.patients-search-wrap .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.patients-search-wrap input{width:100%;height:40px;padding-left:38px;padding-right:36px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px}.patients-search-wrap input:focus{outline:none;border-color:#7c3aed}.patients-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;background:transparent;color:#94a3b8;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.patients-search-clear:hover{color:#64748b}.patients-select{height:40px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;color:#374151;background:#fff;min-width:120px}.patients-gender-seg{display:flex;background:#f8fafc;border:1px solid #E2E8F0;border-radius:8px;padding:3px}.patients-gender-seg button{padding:5px 12px;font-size:13px;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.patients-gender-seg button.active{background:#7c3aed;color:#fff;font-weight:600}.patients-view-toggle{display:flex;margin-left:auto;gap:4px}.patients-view-toggle button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #E2E8F0;border-radius:8px;background:#fff;color:#64748b;cursor:pointer}.patients-view-toggle button.active{background:#ede9fe;color:#7c3aed;border-color:#c4b5fd}.patients-filter-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.patients-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;color:#7c3aed;background:#ede9fe;border-radius:999px;border:none;cursor:pointer}.patients-filter-chip .remove{opacity:.8}.patients-clear-filters{font-size:13px;color:#7c3aed;background:none;border:none;cursor:pointer;padding:0}.patients-clear-filters:hover{text-decoration:underline}.patients-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.patients-table-top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #F1F5F9}.patients-table-top .showing{font-size:13px;color:#64748b}.patients-per-page{width:120px;height:34px;padding:0 10px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px}.patients-table{width:100%;border-collapse:collapse}.patients-table th{background:#f8fafc;border-bottom:2px solid #E2E8F0;height:44px;padding:0 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;text-align:left}.patients-table th.centered{text-align:center}.patients-table th.right{text-align:right}.patients-table td{padding:0 14px;height:60px;border-bottom:1px solid #F8FAFC;vertical-align:middle}.patients-table tbody tr:hover td{background:#fafafa}.patients-table tbody tr.expanded td{background:#fafafa;border-left:3px solid #7C3AED}.patients-expand-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#cbd5e1;cursor:pointer;border-radius:6px;transition:.15s}.patients-expand-btn:hover{color:#7c3aed;background:#f5f3ff}.patients-table tr.expanded .patients-expand-btn{transform:rotate(90deg);color:#7c3aed}.patients-patient-cell{display:flex;align-items:center;gap:12px}.patients-avatar{width:38px;height:38px;border-radius:50%;background:#ede9fe;color:#7c3aed;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.patients-avatar-img{width:38px;height:38px;border-radius:50%;object-fit:cover}.patients-patient-name{font-size:14px;font-weight:600;color:#0f172a;cursor:pointer}.patients-patient-name:hover{color:#7c3aed}.patients-patient-meta{font-size:12px;color:#94a3b8;margin-top:2px}.patients-allergy-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;color:#ef4444;background:#fef2f2;border:1px solid #FECACA;border-radius:999px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patients-allergy-none{font-size:12px;color:#94a3b8}.patients-allergy-unknown{font-size:12px;color:#cbd5e1;font-style:italic}.patients-balance-owed{font-size:14px;font-weight:700;color:#ef4444;text-align:right}.patients-balance-cleared{font-size:12px;font-weight:500;color:#0d9488;text-align:right}.patients-actions-cell{display:flex;gap:6px;justify-content:flex-end}.patients-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#64748b}.patients-action-btn:hover{background:#f8fafc}.patients-action-btn.primary:hover{color:#7c3aed;background:#f5f3ff}.patients-action-btn.danger:hover{color:#ef4444;background:#fef2f2}.patients-expanded-panel{background:#fafafa;border-left:3px solid #7C3AED;padding:20px 20px 20px 56px;border-bottom:2px solid #E2E8F0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.patients-expanded-section-title{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.patients-expanded-stat{font-size:12px;color:#94a3b8;margin-bottom:4px}.patients-expanded-stat-value{font-size:13px;font-weight:600;color:#0f172a}.patients-expanded-actions{display:flex;flex-direction:column;gap:8px}.patients-expanded-actions .btn{height:34px;padding:0 14px;font-size:13px;border-radius:8px;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;border:none}.patients-expanded-actions .btn-primary{background:#7c3aed;color:#fff;font-weight:500}.patients-expanded-actions .btn-outline{background:#fff;border:1px solid #E2E8F0;color:#374151}.patients-expanded-actions .btn-outline.purple{border-color:#c4b5fd;color:#7c3aed}.patients-pagination{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #F1F5F9;font-size:13px;color:#64748b}.patients-page-nums{display:flex;gap:4px}.patients-page-nums button{width:34px;height:34px;border:1px solid #E2E8F0;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}.patients-page-nums button:hover{background:#f8fafc}.patients-page-nums button.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.patients-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1200px){.patients-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.patients-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.patients-grid{grid-template-columns:1fr}}.patients-card-item{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:20px;transition:.2s}.patients-card-item:hover{border-color:#c4b5fd;box-shadow:0 4px 20px #7c3aed1a}.patients-card-header{display:flex;align-items:flex-start;gap:14px}.patients-card-avatar{width:48px;height:48px;border-radius:50%;background:#ede9fe;color:#7c3aed;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center}.patients-card-avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover}.patients-card-name{flex:1;font-size:15px;font-weight:700;color:#0f172a;cursor:pointer}.patients-card-name:hover{color:#7c3aed}.patients-card-meta{font-size:12px;color:#94a3b8;margin-top:3px}.patients-card-allergy-banner{margin-top:12px;padding:8px 12px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;font-size:12px;color:#b91c1c}.patients-card-stats{display:flex;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid #F1F5F9}.patients-card-stat{text-align:center}.patients-card-stat-value{font-size:13px;font-weight:700;color:#0f172a}.patients-card-stat-label{font-size:11px;color:#94a3b8;margin-top:2px}.patients-card-footer{display:flex;gap:8px;margin-top:14px}.patients-card-footer .btn{flex:1;height:32px;font-size:12px;font-weight:500;border-radius:8px;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;border:1px solid #E2E8F0;background:#fff;color:#374151}.patients-card-footer .btn.purple{border-color:#c4b5fd;color:#7c3aed}.patients-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:299}.patients-drawer{position:fixed;top:0;right:0;width:400px;max-width:100%;height:100vh;background:#fff;box-shadow:-8px 0 32px #0000001f;z-index:300;display:flex;flex-direction:column}.patients-drawer-header{height:60px;padding:0 20px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between}.patients-drawer-title{font-size:16px;font-weight:700;color:#0f172a}.patients-drawer-body{overflow-y:auto;padding:20px}.patients-drawer-avatar{width:64px;height:64px;border-radius:50%;background:#ede9fe;color:#7c3aed;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center}.patients-drawer-avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover}.patients-drawer-name{font-size:20px;font-weight:700;color:#0f172a;margin-top:14px}.patients-drawer-allergy-block{margin-top:16px;padding:14px 16px;border-radius:10px;background:#fef2f2;border:1px solid #FECACA}.patients-drawer-allergy-block.none{background:#f8fafc;border-color:#e2e8f0}.patients-drawer-footer{padding:16px 20px;border-top:1px solid #E2E8F0;display:flex;gap:10px}.patients-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px}.patients-modal{background:#fff;border-radius:16px;box-shadow:0 24px 48px #0000002e;max-width:580px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.patients-modal-header{padding:20px 28px;border-bottom:1px solid #E2E8F0;display:flex;align-items:center;justify-content:space-between}.patients-modal-body{padding:28px;overflow-y:auto}.patients-modal-body .form-avatar-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.patients-modal-body .form-avatar-preview{width:64px;height:64px;border-radius:50%;overflow:hidden;background:#ede9fe;display:flex;align-items:center;justify-content:center}.patients-modal-body .form-avatar-img{width:100%;height:100%;object-fit:cover}.patients-modal-body .form-avatar-placeholder{font-size:12px;color:#7c3aed}.patients-modal-body .form-avatar-upload{font-size:14px;color:#7c3aed;cursor:pointer;text-decoration:underline}.patients-modal-body .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.patients-modal-section-title{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.patients-form-group{margin-bottom:16px}.patients-form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.patients-form-group input,.patients-form-group select,.patients-form-group textarea{width:100%;padding:10px 14px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px}.patients-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.patients-gender-chips{display:flex;gap:8px}.patients-gender-chips button{flex:1;height:46px;padding:0 16px;font-size:14px;border-radius:8px;border:1px solid #E2E8F0;background:#f8fafc;color:#374151;cursor:pointer}.patients-gender-chips button.active{background:#7c3aed;border-color:#7c3aed;color:#fff;font-weight:600}.patients-modal-footer{padding:16px 28px;border-top:1px solid #E2E8F0;display:flex;justify-content:flex-end;gap:10px}.patients-btn-ghost{padding:10px 20px;font-size:14px;border:1px solid #E2E8F0;color:#374151;background:#fff;border-radius:8px;cursor:pointer}.patients-btn-primary{padding:10px 20px;font-size:14px;font-weight:600;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer}.patients-btn-primary:disabled{background:#e2e8f0;cursor:not-allowed}.patients-empty{text-align:center;padding:48px 24px;color:#64748b}.patients-empty p{margin:0 0 16px;font-size:16px}.patients-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.patients-badge.scheduled{background:#ede9fe;color:#4c1d95}.patients-badge.completed{background:#f0fdfa;color:#134e4a}.patients-badge.cancelled{background:#fef2f2;color:#7f1d1d}.patients-badge.no_show{background:#fffbeb;color:#78350f}@media(max-width:767px){.patients-page{padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.patients-header-left h1{font-size:20px}}.add-patient-page{max-width:800px;margin:0 auto;padding:0}.add-patient-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#7c3aed;text-decoration:none;margin-bottom:20px}.add-patient-back:hover{text-decoration:underline}.add-patient-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:32px;box-shadow:0 1px 3px #0000000d}.add-patient-header{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #E2E8F0}.add-patient-title{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 6px}.add-patient-subtitle{font-size:14px;color:#64748b;margin:0}.add-patient-form{display:flex;flex-direction:column;gap:0}.add-patient-error{padding:12px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#ef4444;font-size:14px;margin-bottom:20px}.add-patient-avatar-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.add-patient-avatar-preview{width:64px;height:64px;border-radius:50%;overflow:hidden;background:#ede9fe;display:flex;align-items:center;justify-content:center}.add-patient-avatar-img{width:100%;height:100%;object-fit:cover}.add-patient-avatar-placeholder{font-size:12px;color:#7c3aed}.add-patient-avatar-upload{font-size:14px;color:#7c3aed;cursor:pointer;text-decoration:underline}.add-patient-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.add-patient-section{margin-bottom:28px}.add-patient-section:last-of-type{margin-bottom:24px}.add-patient-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:0 0 16px}.add-patient-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.add-patient-field{display:flex;flex-direction:column;gap:6px}.add-patient-field-full{grid-column:1 / -1}.add-patient-field label{font-size:13px;font-weight:500;color:#374151}.add-patient-field input,.add-patient-field select,.add-patient-field textarea{padding:10px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px}.add-patient-field input:focus,.add-patient-field select:focus,.add-patient-field textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.add-patient-field textarea{resize:vertical;min-height:72px}.add-patient-gender-chips{display:flex;gap:10px;flex-wrap:wrap}.add-patient-gender-chips button{padding:10px 18px;font-size:14px;font-weight:500;border:1px solid #E2E8F0;background:#fff;color:#64748b;border-radius:8px;cursor:pointer;transition:.15s}.add-patient-gender-chips button:hover{border-color:#c4b5fd;color:#7c3aed}.add-patient-gender-chips button.active{background:#ede9fe;border-color:#7c3aed;color:#7c3aed}.add-patient-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #E2E8F0}.add-patient-btn-ghost{padding:10px 20px;font-size:14px;font-weight:600;color:#64748b;background:transparent;border:1px solid #E2E8F0;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;transition:.15s}.add-patient-btn-ghost:hover{background:#f8fafc;color:#374151}.add-patient-btn-primary{padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;cursor:pointer;transition:.15s}.add-patient-btn-primary:hover:not(:disabled){background:#6d28d9}.add-patient-btn-primary:disabled{opacity:.7;cursor:not-allowed}@media(max-width:640px){.add-patient-grid{grid-template-columns:1fr}.add-patient-card{padding:20px}.add-patient-actions{flex-direction:column}.add-patient-btn-primary,.add-patient-btn-ghost{width:100%;justify-content:center}}.patient-profile-page{padding:32px;max-width:1200px;margin:0 auto;background:#f8fafc;min-height:100%}.patient-profile-back{display:inline-block;font-size:13px;font-weight:500;color:#7c3aed;text-decoration:none;margin-bottom:20px}.patient-profile-back:hover{text-decoration:underline}.patient-profile-loading,.patient-profile-empty{padding:48px;text-align:center;color:#64748b}.patient-profile-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:28px;margin-bottom:20px}.patient-profile-header{display:flex;gap:24px;align-items:flex-start}.patient-profile-avatar{width:80px;height:80px;border-radius:50%;background:#ede9fe;color:#7c3aed;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.patient-profile-avatar-img{width:80px;height:80px;border-radius:50%;object-fit:cover}.patient-profile-info{flex:1;min-width:0}.patient-profile-name-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.patient-profile-name{font-size:26px;font-weight:700;color:#0f172a;margin:0}.patient-profile-edit-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;border:1px solid #C4B5FD;color:#7c3aed;background:#fff;border-radius:8px;cursor:pointer}.patient-profile-edit-btn:hover{background:#ede9fe}.patient-profile-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.patient-profile-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:999px;color:#374151}.patient-profile-chip.blood{background:#fef2f2;border-color:#fecaca;color:#ef4444}.patient-profile-allergy-banner{margin-top:14px;padding:10px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;display:flex;gap:10px;align-items:flex-start}.patient-profile-allergy-banner svg{color:#ef4444;flex-shrink:0}.patient-profile-allergy-label{font-size:11px;font-weight:700;color:#ef4444;letter-spacing:.08em}.patient-profile-allergy-chip{display:inline-block;margin-left:6px;padding:2px 8px;font-size:12px;color:#ef4444;background:#fef2f2;border:1px solid #FECACA;border-radius:999px}.patient-profile-stats{width:180px;flex-shrink:0;background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:14px}.patient-profile-stat{margin-bottom:12px}.patient-profile-stat:last-of-type{margin-bottom:0}.patient-profile-stat-value{font-size:14px;font-weight:600;color:#374151}.patient-profile-stat-value.purple{font-size:20px;font-weight:700;color:#7c3aed}.patient-profile-stat-label{font-size:11px;color:#94a3b8;margin-top:2px}.patient-profile-new-appt{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;padding:10px;font-size:13px;font-weight:600;background:#7c3aed;color:#fff;border-radius:8px;text-decoration:none}.patient-profile-new-appt:hover{background:#6d28d9}.patient-profile-tabs{display:flex;gap:28px;border-bottom:2px solid #E2E8F0;margin-bottom:20px}.patient-profile-tab{padding-bottom:12px;font-size:14px;font-weight:500;color:#64748b;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer}.patient-profile-tab.active{color:#7c3aed;border-bottom-color:#7c3aed}.patient-profile-tab-content{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:24px}.patient-profile-section h2{font-size:16px;font-weight:600;color:#0f172a;margin:0 0 16px}.patient-profile-list{list-style:none;padding:0;margin:0}.patient-profile-list li{padding:10px 0;border-bottom:1px solid #F1F5F9;font-size:14px}.doctors-page{padding:0}.doctors-page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px}.doctors-page-header-left .doctors-page-title{font-size:24px;font-weight:700;color:#0f172a;margin:0}.doctors-page-sub{font-size:13px;color:#64748b;margin:3px 0 0}.doctors-page-header-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doctors-search-wrap{display:flex;align-items:center;gap:8px;width:240px;height:40px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;background:#fff}.doctors-search-icon{color:#94a3b8;flex-shrink:0}.doctors-search-input{flex:1;border:none;outline:none;font-size:14px;background:transparent}.doctors-status-filter{width:140px;height:40px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;background:#fff}.doctors-btn-add{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;height:40px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .2s}.doctors-btn-add:hover{background:#6d28d9;transform:translateY(-1px)}.doctors-loading,.doctors-empty{padding:48px 24px;text-align:center;color:#64748b}.doctors-empty-icon{color:#e2e8f0;margin-bottom:12px}.doctors-empty-title{font-size:18px;font-weight:600;color:#374151;margin:20px 0 8px}.doctors-empty-sub{font-size:14px;color:#94a3b8;margin:0 0 20px}.doctors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:1200px){.doctors-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.doctors-grid{grid-template-columns:1fr}}.doctor-card{position:relative;background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:24px;transition:border-color .2s,box-shadow .2s}.doctor-card:hover{border-color:#c4b5fd;box-shadow:0 4px 20px #7c3aed1a}.doctor-card-badge{position:absolute;top:16px;right:16px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px}.doctor-card-badge.active{background:#f0fdfa;color:#0d9488}.doctor-card-badge.inactive{background:#f1f5f9;color:#94a3b8}.doctor-card-top{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:16px;border-bottom:1px solid #F1F5F9}.doctor-card-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;margin-bottom:12px}.doctor-card-avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover}.doctor-card-name-btn{background:none;border:none;font-size:16px;font-weight:700;color:#0f172a;cursor:pointer;padding:0}.doctor-card-name-btn:hover{color:#7c3aed}.doctor-card-spec{font-size:13px;font-weight:500;color:#7c3aed;margin:3px 0 0}.doctor-card-qual{font-size:12px;color:#94a3b8;margin:2px 0 0}.doctor-card-phone{font-size:12px;color:#94a3b8;margin:6px 0 0;display:flex;align-items:center;justify-content:center;gap:4px}.doctor-card-schedule{margin-top:16px}.doctor-card-schedule-title{font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.08em;color:#94a3b8;margin:0 0 8px}.doctor-card-days{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.doctor-day-chip{width:34px;height:24px;border-radius:5px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;background:#f8fafc;color:#e2e8f0}.doctor-day-chip.active{background:#ede9fe;color:#7c3aed}.doctor-card-hours{font-size:12px;color:#64748b;margin:8px 0 0;text-align:center}.doctor-card-hours .muted{color:#cbd5e1}.doctor-card-stats{display:flex;justify-content:space-between;margin-top:16px;padding-top:16px;border-top:1px solid #F1F5F9}.doctor-stat{display:flex;flex-direction:column;align-items:center}.doctor-stat-value{font-size:14px;font-weight:700}.doctor-stat-value.purple{color:#7c3aed}.doctor-stat-value.teal{color:#0d9488}.doctor-stat-value.gray{color:#374151}.doctor-stat-label{font-size:11px;color:#94a3b8;margin-top:2px}.doctor-card-footer{display:flex;align-items:center;gap:8px;margin-top:16px}.doctor-card-btn-schedule{flex:1;height:34px;font-size:13px;font-weight:500;color:#7c3aed;background:transparent;border:1px solid #7C3AED;border-radius:8px;cursor:pointer}.doctor-card-btn-schedule:hover{background:#ede9fe}.doctor-toggle-wrap{position:relative;width:44px;height:24px;flex-shrink:0}.doctor-toggle-input{opacity:0;width:0;height:0}.doctor-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#e2e8f0;border-radius:24px;transition:.2s}.doctor-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px #0003}.doctor-toggle-input:checked+.doctor-toggle-slider{background:#0d9488}.doctor-toggle-input:checked+.doctor-toggle-slider:before{transform:translate(20px)}.doctor-card-menu-wrap{position:relative}.doctor-card-menu-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #E2E8F0;border-radius:8px;cursor:pointer;color:#64748b}.doctor-card-menu-btn:hover{background:#f8fafc}.doctor-card-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1}.doctor-card-menu-dropdown{position:absolute;right:0;top:100%;margin-top:4px;min-width:160px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:2;padding:4px 0}.doctor-card-menu-dropdown button{display:block;width:100%;padding:8px 14px;text-align:left;border:none;background:none;font-size:13px;color:#374151;cursor:pointer}.doctor-card-menu-dropdown button:hover{background:#f8fafc}.doctor-card-menu-dropdown button.danger{color:#ef4444}.doctor-card-menu-dropdown hr{border:none;border-top:1px solid #E2E8F0;margin:4px 0}.modal-box{background:#fff;border-radius:16px;max-width:620px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026}.add-doctor-modal .modal-body{overflow-y:auto;padding:0 28px 28px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:28px 28px 16px;border-bottom:1px solid #E2E8F0}.modal-header h2{font-size:18px;font-weight:700;color:#0f172a;margin:0}.modal-body{padding:28px}.modal-body input[type=text],.modal-body input[type=email],.modal-body input[type=password],.modal-body input[type=tel],.modal-body input[type=time],.modal-body input[type=date]{width:100%;height:46px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;margin-bottom:8px}.modal-body input.input-error{border-color:#ef4444}.form-section{margin-top:24px}.form-section:first-child{margin-top:0}.form-section-label{font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.08em;color:#94a3b8;margin:0 0 12px}.form-label{font-size:13px;font-weight:600;color:#374151;margin:0 0 8px}.form-sublabel{font-size:12px;color:#94a3b8;margin-bottom:4px;display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.form-days-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.form-day-chip{padding:6px 12px;border-radius:7px;font-size:13px;border:1px solid #E2E8F0;background:#f8fafc;color:#94a3b8;cursor:pointer}.form-day-chip.selected{background:#7c3aed;color:#fff;border-color:#7c3aed}.form-day-schedule-toggle{display:flex;align-items:center;gap:8px;margin:16px 0 12px;font-size:13px;font-weight:500;color:#374151;cursor:pointer}.form-day-schedule-toggle input{width:18px;height:18px}.form-day-schedule-section{margin-top:12px}.form-day-schedule-list{display:flex;flex-direction:column;gap:8px}.form-day-schedule-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:12px;align-items:center}.form-day-schedule-day{font-size:13px;font-weight:600;color:#374151}.form-day-schedule-row input[type=time]{height:40px;padding:0 10px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px}.form-hint{font-size:12px;color:#94a3b8;margin-bottom:12px}.form-block-dates{margin-bottom:8px}.form-block-reason{margin-top:8px}.form-block-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}.form-block-empty{font-size:12px;color:#94a3b8;font-style:italic}.form-block-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;background:#fef2f2;border:1px solid #FECACA;color:#ef4444}.form-block-chip button{background:none;border:none;cursor:pointer;padding:0 2px;font-size:14px;color:inherit}.input-phone-wrap{display:flex;align-items:center;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden}.input-prefix{padding:0 12px;font-size:14px;color:#64748b;background:#f8fafc}.input-phone-wrap input{flex:1;border:none!important;margin:0!important}.form-error{font-size:12px;color:#ef4444;display:block;margin-top:4px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid #E2E8F0;margin-top:20px}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;background:#0f172a;color:#fff;border-radius:8px;font-size:14px;z-index:2000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.doctor-profile-page{padding:0}.doctor-profile-back{font-size:13px;font-weight:500;color:#7c3aed;text-decoration:none;display:inline-block;margin-bottom:16px}.doctor-profile-back:hover{text-decoration:underline}.doctor-profile-loading,.doctor-profile-empty{padding:48px 0;color:#64748b}.doctor-profile-header-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:28px;display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;margin-bottom:24px}.doctor-profile-header-left{display:flex;gap:24px;flex:1;min-width:0}.doctor-profile-avatar{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;flex-shrink:0}.doctor-profile-avatar-img{width:80px;height:80px;border-radius:50%;object-fit:cover}.doctor-profile-info{min-width:0}.doctor-profile-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doctor-profile-name{font-size:26px;font-weight:700;color:#0f172a;margin:0}.doctor-profile-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px}.doctor-profile-badge.active{background:#f0fdfa;color:#0d9488}.doctor-profile-badge.inactive{background:#f1f5f9;color:#94a3b8}.doctor-profile-edit-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;border:1px solid #E2E8F0;background:#fff;border-radius:8px;cursor:pointer;color:#374151}.doctor-profile-spec{font-size:15px;font-weight:600;color:#7c3aed;margin:4px 0 0}.doctor-profile-qual{font-size:14px;color:#64748b;margin:2px 0 0}.doctor-profile-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.doctor-profile-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#64748b;padding:4px 10px;background:#f8fafc;border-radius:8px}.doctor-profile-stats-panel{width:200px;background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:16px}.doctor-profile-stat-row{display:flex;flex-direction:column;margin-bottom:12px}.doctor-profile-stat-value{font-size:20px;font-weight:700}.doctor-profile-stat-value.purple{color:#7c3aed}.doctor-profile-stat-value.teal{color:#0d9488}.doctor-profile-stat-value.gray{color:#374151}.doctor-profile-stat-value.green{color:#059669}.doctor-profile-stat-label{font-size:12px;color:#94a3b8;margin-top:2px}.doctor-profile-schedule-link{font-size:13px;color:#7c3aed;text-decoration:none;margin-top:8px;display:inline-block}.doctor-profile-schedule-link:hover{text-decoration:underline}.doctor-profile-tabs{display:flex;gap:4px;border-bottom:1px solid #E2E8F0;margin-bottom:20px}.doctor-profile-tab{padding:10px 16px;font-size:14px;border:none;background:none;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.doctor-profile-tab:hover{color:#374151}.doctor-profile-tab.active{color:#7c3aed;font-weight:600;border-bottom-color:#7c3aed}.doctor-profile-tab-content{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:24px}.doctor-schedule-two-col{display:grid;grid-template-columns:55% 1fr;gap:24px}@media(max-width:768px){.doctor-schedule-two-col{grid-template-columns:1fr}}.doctor-weekly-schedule h3,.doctor-blocked-dates-box h3{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 12px}.doctor-schedule-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border:1px solid #F1F5F9;border-radius:8px;margin-bottom:4px}.doctor-day-tag{width:60px;font-size:13px;text-align:center;padding:4px 8px;border-radius:6px;background:#f8fafc;color:#cbd5e1}.doctor-day-tag.working{background:#ede9fe;color:#7c3aed;font-weight:600}.doctor-schedule-hours{font-size:13px;color:#374151}.doctor-blocked-list{margin:0;padding-left:20px;font-size:13px;color:#374151}.doctor-appointments-table-wrap{overflow-x:auto}.doctor-appointments-table{width:100%;border-collapse:collapse}.doctor-appointments-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:2px solid #E2E8F0}.doctor-appointments-table td{padding:12px 16px;border-bottom:1px solid #F1F5F9;font-size:14px}.doctor-appointments-table .empty-cell{text-align:center;color:#94a3b8;padding:24px}.status-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.doctor-perf-period{display:flex;gap:8px;margin-bottom:20px}.doctor-perf-period button{padding:8px 14px;font-size:13px;border:1px solid #E2E8F0;background:#fff;border-radius:8px;cursor:pointer;color:#374151}.doctor-perf-period button.active{background:#ede9fe;color:#7c3aed;border-color:#7c3aed}.doctor-perf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}.doctor-perf-card{background:#f8fafc;border:1px solid #E2E8F0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px}.doctor-perf-card .purple{color:#7c3aed}.doctor-perf-card .teal{color:#0d9488}.doctor-perf-card .blue{color:#3b82f6}.doctor-perf-card .amber{color:#f59e0b}.doctor-perf-value{font-size:20px;font-weight:700;color:#0f172a}.doctor-perf-label{font-size:12px;color:#94a3b8}.doctor-perf-chart,.doctor-perf-pie{margin-top:24px}.doctor-perf-chart h4,.doctor-perf-pie h4{font-size:14px;font-weight:600;color:#0f172a;margin:0 0 12px}.muted{color:#94a3b8;font-size:14px}.doctor-schedule-page{padding:0}.doctor-schedule-back{font-size:13px;font-weight:500;color:#7c3aed;text-decoration:none}.doctor-schedule-back:hover{text-decoration:underline}.doctor-schedule-back-sep{color:#94a3b8}.doctor-schedule-loading{padding:48px 0;color:#64748b}.doctor-schedule-header{margin-bottom:24px}.doctor-schedule-title{font-size:24px;font-weight:700;color:#0f172a;margin:8px 0 4px}.doctor-schedule-sub{font-size:14px;color:#64748b;margin:0 0 16px}.doctor-schedule-toolbar{display:flex;align-items:center;gap:12px}.doctor-schedule-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #E2E8F0;border-radius:8px;background:#fff;cursor:pointer;color:#374151}.doctor-schedule-month-label{font-size:15px;font-weight:600;color:#0f172a;min-width:160px;text-align:center}.doctor-schedule-block-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;border:1px solid #EF4444;color:#ef4444;background:#fff;border-radius:8px;cursor:pointer;margin-left:auto}.doctor-schedule-main{display:flex;gap:24px;align-items:flex-start}.doctor-schedule-calendar{flex:1;background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:20px}.doctor-schedule-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px;font-size:11px;font-weight:600;color:#94a3b8;text-align:center}.doctor-schedule-weekday{padding:4px 0}.doctor-schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.doctor-schedule-cell{min-height:80px;border-radius:8px;padding:8px;position:relative;border:1px solid #F1F5F9;cursor:pointer;background:#fff;transition:background .2s}.doctor-schedule-cell:hover{background:#f8fafc}.doctor-schedule-cell.pad{background:transparent;border:none;cursor:default}.doctor-schedule-cell.day-off{background:#f8fafc;color:#cbd5e1}.doctor-schedule-cell.blocked{background:#fef2f2;color:#ef4444}.doctor-schedule-cell.today{border:2px solid #7C3AED}.doctor-schedule-cell-num{font-size:14px;font-weight:600;display:block}.doctor-schedule-cell-x{position:absolute;top:4px;right:4px;width:16px;height:16px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1}.doctor-schedule-cell-label{position:absolute;bottom:6px;left:0;right:0;font-size:10px;color:#cbd5e1;text-align:center}.doctor-schedule-cell-label.leave{color:#ef4444}.doctor-schedule-cell-badge{display:inline-block;margin-top:4px;padding:2px 6px;font-size:11px;background:#ede9fe;color:#7c3aed;border-radius:6px}.doctor-schedule-sidebar{width:240px;flex-shrink:0;background:#fff;border:1px solid #E2E8F0;border-left:none;border-radius:0 14px 14px 0;padding:20px;max-height:400px;overflow-y:auto}.doctor-schedule-sidebar-title{font-size:14px;font-weight:600;color:#0f172a;margin:0 0 12px}.doctor-schedule-sidebar-banner{padding:12px;border-radius:8px;font-size:13px;font-weight:500}.doctor-schedule-sidebar-banner.red{background:#fef2f2;color:#ef4444}.doctor-schedule-sidebar-banner.gray{background:#f8fafc;color:#64748b}.doctor-schedule-sidebar-hours{font-size:12px;color:#64748b;margin:0 0 12px}.doctor-schedule-sidebar-list{list-style:none;margin:0;padding:0}.doctor-schedule-sidebar-list li{padding:8px 0;border-bottom:1px solid #F1F5F9;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doctor-schedule-sidebar-list li .time{font-weight:600;color:#374151;min-width:50px}.doctor-schedule-sidebar-list li .name{flex:1}.doctor-schedule-sidebar-list .status-badge{font-size:10px;padding:2px 6px;border-radius:999px}.status-scheduled{background:#ede9fe;color:#7c3aed}.status-completed{background:#f0fdfa;color:#0d9488}.status-cancelled{background:#fef2f2;color:#ef4444}.status-no_show{background:#fffbeb;color:#f59e0b}.muted{color:#94a3b8;font-size:13px}.staff-page{padding:0}.staff-page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px}.staff-page-title{font-size:24px;font-weight:700;color:#0f172a;margin:0}.staff-page-sub{font-size:13px;color:#64748b;margin:3px 0 0}.staff-page-actions{display:flex;align-items:center;gap:10px}.staff-search-wrap{display:flex;align-items:center;gap:8px;width:240px;height:40px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;background:#fff}.staff-search-icon{color:#94a3b8}.staff-search-input{flex:1;border:none;outline:none;font-size:14px;background:transparent}.staff-btn-add{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;height:40px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;cursor:pointer}.staff-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;overflow:hidden}.staff-loading{padding:48px;text-align:center;color:#64748b}.staff-table{width:100%;border-collapse:collapse}.staff-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:2px solid #E2E8F0;background:#f8fafc}.staff-table td{padding:12px 16px;border-bottom:1px solid #F1F5F9;font-size:14px}.staff-table tbody tr:hover{background:#fafafa}.staff-cell-member{display:flex;align-items:center;gap:12px}.staff-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.staff-avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover}.form-avatar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.form-avatar-preview{width:64px;height:64px;border-radius:50%;overflow:hidden;background:#ede9fe;display:flex;align-items:center;justify-content:center}.form-avatar-img{width:100%;height:100%;object-fit:cover}.form-avatar-placeholder{font-size:12px;color:#7c3aed}.form-avatar-upload{font-size:14px;color:#7c3aed;cursor:pointer;text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.staff-name{font-size:14px;font-weight:600;color:#0f172a}.staff-email{font-size:12px;color:#94a3b8}.staff-role-badge{font-size:11px;font-weight:600;text-transform:uppercase;padding:3px 8px;border-radius:6px}.staff-role-badge.receptionist{background:#eff6ff;color:#3b82f6}.staff-role-badge.clinic_owner{background:#ede9fe;color:#7c3aed}.staff-status-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px}.staff-status-badge.active{background:#f0fdfa;color:#0d9488}.staff-status-badge.inactive{background:#f1f5f9;color:#94a3b8}.staff-last-login .muted{font-style:italic;color:#cbd5e1}.staff-actions-cell{display:flex;align-items:center;gap:6px}.staff-action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer}.staff-action-btn:hover{background:#f8fafc;color:#7c3aed}.staff-toggle-wrap{position:relative;width:32px;height:18px}.staff-toggle-input{opacity:0;width:0;height:0}.staff-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#e2e8f0;border-radius:18px;transition:.2s}.staff-toggle-slider:before{content:"";position:absolute;height:14px;width:14px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px #0003}.staff-toggle-input:checked+.staff-toggle-slider{background:#0d9488}.staff-toggle-input:checked+.staff-toggle-slider:before{transform:translate(14px)}.staff-modal .modal-body input{width:100%;height:46px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;margin-bottom:12px}.staff-modal .modal-box{max-width:480px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;background:#0f172a;color:#fff;border-radius:8px;font-size:14px;z-index:2000}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-box{background:#fff;border-radius:16px;max-width:520px;width:100%;box-shadow:0 20px 40px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E2E8F0}.modal-header h2{font-size:18px;font-weight:700;margin:0}.modal-close{background:none;border:none;cursor:pointer;padding:4px;color:#64748b}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #E2E8F0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.modal-input{width:100%;height:44px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;margin-top:12px}.confirm-modal{max-width:400px;padding:24px}.confirm-modal h3{margin:0 0 8px;font-size:18px;color:#0f172a}.confirm-modal p{margin:0;font-size:14px;color:#64748b}.btn-ghost{padding:8px 16px;font-size:14px;border:1px solid #E2E8F0;background:#fff;border-radius:8px;cursor:pointer;color:#374151}.btn-primary{padding:8px 18px;font-size:14px;font-weight:600;border:none;background:#7c3aed;color:#fff;border-radius:8px;cursor:pointer}.btn-danger{padding:8px 16px;font-size:14px;font-weight:600;border:none;background:#ef4444;color:#fff;border-radius:8px;cursor:pointer}.form-error{font-size:12px;color:#ef4444;margin-top:8px}.prescriptions-page{padding:0}.prescriptions-page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:20px}.prescriptions-page-title{font-size:24px;font-weight:700;color:#0f172a;margin:0}.prescriptions-page-sub{font-size:13px;color:#64748b;margin:3px 0 0}.prescriptions-page-actions{display:flex;gap:10px}.prescriptions-btn-outline{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#7c3aed;background:#ede9fe;border:1px solid #C4B5FD;border-radius:8px;cursor:pointer}.prescriptions-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;cursor:pointer}.prescriptions-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}.prescriptions-search-wrap{display:flex;align-items:center;gap:8px;width:280px;max-width:100%;height:36px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;background:#fff}.prescriptions-search-input{flex:1;border:none;outline:none;font-size:14px}.prescriptions-filter-select,.prescriptions-filter-date{height:36px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px}.prescriptions-clear-filters{font-size:13px;color:#7c3aed;background:none;border:none;cursor:pointer}.prescriptions-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;overflow:hidden}.prescriptions-loading{padding:48px;text-align:center;color:#64748b}.prescriptions-table{width:100%;border-collapse:collapse}.prescriptions-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:2px solid #E2E8F0;background:#f8fafc}.prescriptions-table td{padding:12px 16px;border-bottom:1px solid #F1F5F9;font-size:14px}.prescriptions-table tbody tr:hover{background:#fafafa}.prescriptions-empty-cell{text-align:center;color:#94a3b8;padding:24px}.prescriptions-cell-patient{display:flex;align-items:center;gap:10px}.prescriptions-avatar{width:36px;height:36px;border-radius:50%;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.prescriptions-patient-name{font-weight:600;color:#0f172a}.prescriptions-patient-phone{font-size:12px;color:#94a3b8}.prescriptions-doctor-spec{font-size:12px;color:#64748b}.prescriptions-date-relative{font-size:12px;color:#94a3b8}.prescriptions-next-overdue{color:#ef4444}.prescriptions-actions-cell{display:flex;gap:6px}.prescriptions-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;border-radius:6px;cursor:pointer}.prescriptions-action-btn:hover{background:#f8fafc;color:#7c3aed}.prescriptions-pagination{display:flex;align-items:center;gap:12px;padding:16px;border-top:1px solid #F1F5F9}.prescription-viewer-modal{max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.prescription-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #E2E8F0}.prescription-viewer-header h2{margin:0;font-size:18px}.prescription-viewer-body{padding:20px;overflow-y:auto}.prescription-viewer-body p{margin:0 0 12px;font-size:14px}.prescription-viewer-html{margin:16px 0;padding:12px;background:#f8fafc;border-radius:8px;font-size:14px;line-height:1.6}.prescription-viewer-html ul,.prescription-viewer-html ol{margin:8px 0;padding-left:24px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:1000;display:flex;justify-content:flex-end}.drawer-panel{width:400px;max-width:100%;background:#fff;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #E2E8F0}.drawer-header h2{margin:0;font-size:18px}.drawer-body{padding:20px;overflow-y:auto;flex:1}.template-list{list-style:none;margin:0;padding:0}.template-list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #F1F5F9;flex-wrap:wrap}.template-name{font-weight:500;flex:1;min-width:0}.template-category{font-size:11px;color:#94a3b8}.btn-small{padding:4px 10px;font-size:12px;border-radius:6px;cursor:pointer;border:none}.btn-small.primary{background:#7c3aed;color:#fff}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#64748b}.muted{color:#94a3b8}/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.write-rx-page{padding:0}.write-rx-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:20px}.write-rx-back{font-size:13px;color:#7c3aed;text-decoration:none;display:inline-block;margin-bottom:4px}.write-rx-back:hover{text-decoration:underline}.write-rx-title{font-size:24px;font-weight:700;color:#0f172a;margin:0}.write-rx-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.write-rx-btn-template{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;color:#7c3aed;background:#ede9fe;border:1px solid #C4B5FD;border-radius:8px;cursor:pointer}.write-rx-btn-template.secondary{background:#fff}.write-rx-btn-save{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;cursor:pointer}.write-rx-btn-save:disabled{opacity:.6;cursor:not-allowed}.write-rx-hint{font-size:11px;color:#94a3b8;margin:4px 0 0;width:100%}.write-rx-layout{display:flex;gap:20px;align-items:flex-start;min-height:calc(100vh - 180px)}@media(max-width:768px){.write-rx-layout{flex-direction:column-reverse}}.write-rx-main{flex:1;min-width:0}.write-rx-template-picker{background:#f8fafc;border:1px solid #E2E8F0;border-bottom:none;border-radius:8px 8px 0 0;padding:16px;max-height:320px;overflow:hidden;display:flex;flex-direction:column}.write-rx-template-picker-header{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-bottom:12px}.write-rx-template-picker-header button{background:none;border:none;font-size:20px;cursor:pointer;color:#64748b}.write-rx-template-list{overflow-y:auto;max-height:220px}.write-rx-template-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:none;border-radius:8px;cursor:pointer;text-align:left;font-size:13px}.write-rx-template-item:hover{background:#ede9fe}.write-rx-template-item .name{flex:1;font-weight:500;color:#0f172a}.write-rx-template-item .tag{font-size:10px;background:#f1f5f9;color:#64748b;padding:2px 6px;border-radius:4px}.write-rx-template-item .use-btn{font-size:11px;padding:4px 10px;background:#7c3aed;color:#fff;border-radius:6px}.write-rx-form-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:28px;overflow-y:auto}.write-rx-label{font-size:13px;font-weight:600;color:#374151;display:block;margin:16px 0 6px}.write-rx-label:first-child{margin-top:0}.write-rx-sublabel{font-size:12px;color:#94a3b8;margin:0 0 8px}.write-rx-textarea{width:100%;padding:12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;resize:vertical;font-family:inherit}.write-rx-input{width:100%;height:46px;padding:0 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px}.write-rx-char-count{font-size:12px;color:#94a3b8;display:block;text-align:right;margin-top:4px}.write-rx-quill-wrap{margin:8px 0}.write-rx-quill .ql-toolbar{background:#f8fafc;border-color:#e2e8f0;border-radius:8px 8px 0 0}.write-rx-quill .ql-container{border-color:#e2e8f0;border-radius:0 0 8px 8px;min-height:200px}.write-rx-quill .ql-editor{min-height:200px}.write-rx-draft-indicator{margin-top:20px;padding-top:16px;border-top:1px solid #E2E8F0;font-size:12px;color:#f59e0b}.write-rx-draft-indicator:has(.saved){color:#0d9488}.write-rx-sidebar{width:300px;flex-shrink:0;position:sticky;top:20px}@media(max-width:768px){.write-rx-sidebar{width:100%;position:static}}.write-rx-sidebar-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:20px;margin-bottom:16px}.write-rx-patient-results{list-style:none;margin:8px 0 0;padding:0;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden}.write-rx-patient-results li{border-bottom:1px solid #F1F5F9}.write-rx-patient-results li:last-child{border-bottom:none}.write-rx-patient-results button{width:100%;padding:10px 12px;text-align:left;border:none;background:none;cursor:pointer;font-size:13px}.write-rx-patient-results button:hover{background:#f8fafc}.write-rx-patient-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.write-rx-patient-avatar{width:44px;height:44px;border-radius:50%;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}.write-rx-patient-name{font-size:15px;font-weight:600;color:#0f172a}.write-rx-patient-phone{font-size:12px;color:#64748b}.write-rx-change-patient{font-size:12px;color:#7c3aed;background:none;border:none;cursor:pointer;margin-left:auto}.write-rx-allergy-box{margin-top:12px;padding:12px;border-radius:8px;font-size:13px}.write-rx-allergy-box.has-allergy{background:#fef2f2;border:1px solid #FECACA;color:#ef4444}.write-rx-allergy-box.no-allergy{background:#f0fdfa;border:1px solid #99F6E4;color:#0d9488}.write-rx-medicine-suggestions{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:16px}.write-rx-suggestion-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.write-rx-suggestion-item{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border:1px solid #E2E8F0;border-radius:8px;background:#fff;cursor:pointer;text-align:left;font-size:13px}.write-rx-suggestion-item:hover{background:#ede9fe;border-color:#c4b5fd}.write-rx-suggestion-item .name{font-weight:500;color:#0f172a}.write-rx-suggestion-item .dosage{font-size:12px;color:#94a3b8;margin-top:2px}.muted{color:#94a3b8;font-size:12px;text-align:center;padding:12px}.invoice-page{display:grid;gap:14px}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.invoice-header h1{margin:0}.invoice-header p{margin:6px 0 0;color:#64748b}.invoice-header-actions{display:flex;gap:8px;flex-wrap:wrap}.invoice-btn{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:10px;padding:8px 12px;display:inline-flex;gap:6px;align-items:center;cursor:pointer}.invoice-btn.primary{background:#2563eb;border-color:#2563eb;color:#fff}.invoice-btn.ghost{background:#fff}.invoice-btn.tiny{padding:6px 8px;border-radius:8px;font-size:12px}.invoice-btn.danger{color:#b91c1c;border-color:#fca5a5}.invoice-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;padding:10px 12px;border-radius:10px}.invoice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.invoice-summary>div{border:1px solid #e2e8f0;background:#fff;border-radius:10px;padding:12px;display:grid;gap:6px}.invoice-summary span{color:#64748b;font-size:12px}.invoice-summary strong{font-size:20px}.invoice-filters{display:grid;grid-template-columns:1fr 220px;gap:8px}.invoice-filters input,.invoice-filters select{height:40px;border:1px solid #d1d5db;border-radius:10px;background:#fff;padding:0 12px}.invoice-table-wrap{border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow-x:auto}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th,.invoice-table td{border-bottom:1px solid #e2e8f0;text-align:left;padding:10px 8px;font-size:13px;vertical-align:top}.invoice-row-actions{display:flex;gap:6px;flex-wrap:wrap}.inv-status{text-transform:capitalize;font-size:11px;border-radius:999px;padding:4px 8px;border:1px solid transparent}.inv-draft{background:#f1f5f9;color:#334155;border-color:#cbd5e1}.inv-sent{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.inv-paid{background:#ecfdf5;color:#166534;border-color:#86efac}.inv-partially_paid{background:#fffbeb;color:#92400e;border-color:#fcd34d}.inv-overdue{background:#fef2f2;color:#991b1b;border-color:#fca5a5}.inv-cancelled{background:#f8fafc;color:#64748b;border-color:#cbd5e1}.invoice-empty{padding:20px;text-align:center;color:#64748b}.invoice-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:grid;place-items:center;z-index:40}.invoice-modal{width:min(980px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:14px;display:grid;gap:10px}.invoice-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.invoice-form-grid input,.invoice-form-grid select,.invoice-form-grid textarea,.invoice-tax-row input,.invoice-tax-row textarea,.invoice-item-row input,.invoice-item-row textarea,.invoice-modal textarea{border:1px solid #d1d5db;border-radius:10px;padding:9px 10px;font-size:13px}.invoice-form-grid textarea{min-height:72px;grid-column:span 3}.invoice-tax-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.invoice-items{display:grid;gap:8px}.invoice-items-head{display:flex;justify-content:space-between;align-items:center}.invoice-item-row{display:grid;grid-template-columns:1fr 120px 140px 140px auto;gap:8px;align-items:center}.invoice-totals{border:1px solid #e2e8f0;border-radius:10px;padding:10px;display:grid;gap:6px}.invoice-totals>div{display:flex;justify-content:space-between}.invoice-totals .total{font-size:16px}.invoice-modal-actions{display:flex;justify-content:flex-end;gap:8px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}@media(max-width:980px){.invoice-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-form-grid{grid-template-columns:1fr 1fr}.invoice-form-grid textarea{grid-column:span 2}.invoice-item-row{grid-template-columns:1fr 1fr}}.reports-page{max-width:1440px;margin:0 auto;padding:0 0 48px;background:#f8fafc;min-height:100%}.reports-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.reports-header h1{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 4px}.reports-header-sub{font-size:14px;color:#64748b;margin:0}.reports-header-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.reports-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#64748b}.reports-btn--secondary{border-color:#c4b5fd;color:#7c3aed;background:#fff}.reports-btn--secondary:hover{background:#ede9fe}.reports-btn--ghost:hover{background:#f1f5f9;color:#0f172a}.reports-export-wrap{position:relative}.reports-export-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 10px 40px #0f172a1f;z-index:80;padding:6px}.reports-export-menu button{display:block;width:100%;text-align:left;padding:10px 12px;border:none;background:none;font-size:14px;color:#334155;border-radius:6px;cursor:pointer}.reports-export-menu button:hover{background:#f8fafc;color:#7c3aed}.reports-filter-bar{position:sticky;top:calc(var(--demo-banner-height, 0px) + var(--header-height, 60px));z-index:90;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;margin-bottom:16px;box-shadow:0 1px 2px #0f172a0a;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}@media(max-width:767px){.reports-filter-bar{top:calc(var(--demo-banner-height, 0px) + env(safe-area-inset-top,0px) + var(--header-height, 60px) + 52px)}}.reports-pills{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-width:0}.reports-pills::-webkit-scrollbar{display:none}.reports-pill{flex-shrink:0;height:36px;padding:0 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;white-space:nowrap}.reports-pill:hover{background:#ede9fe;color:#7c3aed;border-color:#c4b5fd}.reports-pill--active{background:#7c3aed;color:#fff;border-color:#7c3aed}.reports-custom-dates{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;width:100%}.reports-custom-dates input{height:36px;border:1px solid #e2e8f0;border-radius:8px;padding:0 10px;font-size:14px;width:160px}.reports-apply-sm{height:32px;padding:0 14px;border-radius:8px;border:none;background:#7c3aed;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.reports-apply-sm:disabled{opacity:.45;cursor:not-allowed}.reports-compare{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;flex-shrink:0}.reports-tabs{display:flex;gap:0;border-bottom:1px solid #e2e8f0;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.reports-tabs::-webkit-scrollbar{display:none}.reports-tab{flex:1;min-width:120px;height:48px;border:none;background:none;font-size:14px;font-weight:400;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;padding:0 12px}.reports-tab:hover{background:#f8fafc;color:#0f172a}.reports-tab--active{font-weight:600;color:#7c3aed;border-bottom-color:#7c3aed}.reports-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:28px}@media(max-width:1024px){.reports-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.reports-kpi-grid{grid-template-columns:repeat(2,1fr)}}.reports-kpi-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 2px #0f172a0f;border:1px solid #f1f5f9}.reports-kpi-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.reports-kpi-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.reports-kpi-value{font-size:26px;font-weight:700;color:#0f172a;line-height:1.1}.reports-kpi-trend{font-size:12px;margin-top:6px}.reports-kpi-trend--up{color:#16a34a}.reports-kpi-trend--down{color:#dc2626}.reports-kpi-trend--neutral{color:#94a3b8}.reports-section{scroll-margin-top:calc(var(--demo-banner-height, 0px) + var(--header-height, 60px) + 100px);margin-bottom:40px}@media(max-width:767px){.reports-section{scroll-margin-top:calc(var(--demo-banner-height, 0px) + env(safe-area-inset-top,0px) + var(--header-height, 60px) + 52px + 100px)}}.reports-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7c3aed;margin:0 0 6px}.reports-section-title{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 6px}.reports-section-sub{font-size:14px;color:#64748b;margin:0 0 20px}.reports-chart-card{background:#fff;border-radius:12px;padding:20px 20px 12px;box-shadow:0 1px 2px #0f172a0f;border:1px solid #f1f5f9;margin-bottom:16px}.reports-chart-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.reports-chart-card-title{font-size:16px;font-weight:600;color:#0f172a;margin:0}.reports-chart-badge{font-size:12px;color:#94a3b8}.reports-chart-h{height:260px;width:100%}@media(max-width:767px){.reports-chart-h{height:200px}}.reports-chart-empty{height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #e2e8f0;border-radius:12px;background:#fafafa;color:#94a3b8;font-size:14px}.reports-insight{margin-top:12px;padding:12px 14px;background:#ede9fe;border-left:3px solid #7c3aed;border-radius:0 8px 8px 0;font-size:14px;color:#64748b}.reports-note-box{padding:12px 14px;background:#f0fdfa;border-left:3px solid #0d9488;border-radius:0 8px 8px 0;font-size:13px;color:#0f172a;margin-bottom:16px}.reports-banner-impact{padding:14px 16px;background:#fef2f2;border-left:3px solid #dc2626;border-radius:0 10px 10px 0;margin-bottom:16px}.reports-banner-impact strong{display:block;font-size:15px;color:#991b1b;margin-bottom:4px}.reports-banner-impact span{font-size:13px;color:#dc2626}.reports-heatmap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:8px}.reports-heatmap-grid{display:inline-grid;grid-template-columns:44px repeat(12,minmax(28px,1fr));gap:4px;align-items:center}.reports-heatmap-corner{font-size:11px;color:#94a3b8}.reports-heatmap-h{font-size:11px;color:#94a3b8;text-align:center}.reports-heatmap-d{font-size:12px;font-weight:500;color:#64748b;text-align:right;padding-right:6px}.reports-heatmap-cell{aspect-ratio:1;max-height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#475569}@media(max-width:767px){.reports-heatmap-cell{max-height:28px;font-size:9px}}.reports-legend-scale{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#94a3b8;margin-top:8px}.reports-legend-bar{flex:1;height:8px;margin:0 12px;border-radius:4px;background:linear-gradient(90deg,#f1f5f9,#ede9fe,#c4b5fd,#7c3aed,#5b21b6)}.reports-donut-row{display:flex;flex-wrap:wrap;align-items:center;gap:24px;justify-content:center}.reports-donut-legend{flex:1;min-width:200px}.reports-legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;margin-bottom:8px}.reports-legend-sq{width:12px;height:12px;border-radius:3px;flex-shrink:0}.reports-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid #f1f5f9;background:#fff}.reports-table{width:100%;border-collapse:collapse;font-size:14px}.reports-table th{text-align:left;padding:12px 14px;background:#f1f5f9;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;border-bottom:1px solid #e2e8f0}.reports-table td{padding:12px 14px;border-bottom:1px solid #f1f5f9;color:#334155}.reports-table tr:nth-child(2n) td{background:#fafafa}.reports-table tr:hover td{background:#f8fafc}.reports-status-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.reports-status-pill.scheduled{background:#ede9fe;color:#5b21b6}.reports-status-pill.completed{background:#dcfce7;color:#15803d}.reports-status-pill.cancelled{background:#fee2e2;color:#b91c1c}.reports-status-pill.no_show{background:#f1f5f9;color:#64748b}.reports-appt-cards{display:none}@media(max-width:767px){.reports-table-wrap--appts .reports-table{display:none}.reports-table-wrap--appts .reports-appt-cards{display:flex;flex-direction:column;gap:10px;padding:12px}.reports-appt-card{background:#fafafa;border-radius:10px;padding:12px 14px;border:1px solid #f1f5f9}.reports-appt-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.reports-appt-card dt{font-weight:700;color:#0f172a;font-size:14px}.reports-appt-card-meta{font-size:13px;color:#64748b}}.rev-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}@media(max-width:900px){.rev-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.rev-cards-grid{grid-template-columns:1fr}}.rev-card{background:#fff;border-radius:12px;padding:18px;border:1px solid #f1f5f9;box-shadow:0 1px 2px #0f172a0a}.rev-card-num{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 4px}.rev-card-label{font-size:13px;color:#64748b;margin:0}.rev-card-sub{font-size:12px;color:#94a3b8;margin-top:6px}.hbar-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:13px}.hbar-label{width:72px;flex-shrink:0;font-weight:500;color:#0f172a}.hbar-track{flex:1;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.hbar-fill{height:100%;border-radius:4px}.hbar-pct{width:44px;text-align:right;font-weight:600;color:#64748b}.hbar-amt{width:80px;text-align:right;color:#0d9488;font-weight:500}.staff-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.staff-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.staff-card-grid{grid-template-columns:1fr}}.staff-metric-card{background:#fff;border:1px solid #f1f5f9;border-radius:12px;padding:16px}.staff-metric-card h4{margin:0 0 12px;font-size:15px;font-weight:600}.staff-metric-row{display:flex;justify-content:space-between;font-size:14px;padding:8px 0;border-bottom:1px solid #f8fafc}.staff-metric-row:last-child{border-bottom:none}.tips-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #f1f5f9;margin-top:16px}.tips-card h3{margin:0 0 16px;font-size:16px;font-weight:600}.tips-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:14px;color:#64748b;border-bottom:1px solid #f8fafc}.tips-foot{margin-top:16px;font-size:13px;font-style:italic;color:#94a3b8}.reports-skeleton{height:200px;border-radius:12px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:reports-shimmer 1.2s ease-in-out infinite}@keyframes reports-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.reports-loading-page{padding:48px;text-align:center;color:#64748b}.reports-error{padding:24px;background:#fef2f2;color:#b91c1c;border-radius:10px;margin-bottom:16px}.reports-modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:300;display:flex;align-items:flex-end;justify-content:center;padding:0}@media(min-width:560px){.reports-modal-back{align-items:center;padding:24px}}.reports-modal{background:#fff;width:100%;max-width:480px;max-height:92vh;overflow:auto;border-radius:16px 16px 0 0;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom,0px))}@media(min-width:560px){.reports-modal{border-radius:16px}}.reports-modal h2{margin:0 0 16px;font-size:18px}.reports-modal-close{float:right;border:none;background:none;font-size:22px;cursor:pointer;color:#64748b;line-height:1}.reports-check{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:14px;color:#334155}@media print{.clinic-admin-sidebar,.clinic-admin-header,.clinic-admin-overlay,.reports-filter-bar,.reports-tabs,.reports-header-actions,.reports-btn{display:none!important}.clinic-admin-main{margin-left:0!important}.reports-page{padding:0}.reports-chart-h{height:220px}}.cr-page{max-width:800px;margin:0 auto}.cr-header h1{margin:0 0 8px;font-size:22px;font-weight:700;color:#0f172a}.cr-header p{margin:0 0 12px;font-size:14px;color:#64748b}.cr-badge-internal{display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#f1f5f9;color:#64748b}.cr-muted{color:#64748b;font-size:14px}.cr-list{list-style:none;padding:0;margin:24px 0 0}.cr-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px #0f172a14;border:1px solid #f1f5f9}.cr-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.cr-stars{display:inline-flex;gap:2px;margin-left:8px;color:#e2e8f0}.cr-star--on{color:#fbbf24}.cr-date{font-size:12px;color:#94a3b8}.cr-meta{font-size:13px;color:#64748b;margin-top:8px}.cr-comment{margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px;font-size:14px;color:#475569;line-height:1.5}.cr-response{margin-top:12px;padding:12px;border-left:3px solid #7c3aed;background:#ede9fe;border-radius:0 8px 8px 0;font-size:14px;color:#475569}.cr-response-label{font-size:12px;font-weight:600;color:#7c3aed;margin-bottom:6px}.cr-reply-box{margin-top:12px}.cr-label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:#0f172a}.cr-textarea{width:100%;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit}.cr-actions{display:flex;gap:10px;margin-top:10px}.cr-btn{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none}.cr-btn--primary{background:#7c3aed;color:#fff}.cr-btn--ghost{background:transparent;color:#64748b;border:1px solid #e2e8f0}.cr-btn--outline{background:#fff;color:#7c3aed;border:1px solid #7c3aed}.cr-stats-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:20px}.cr-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px}.cr-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.cr-stat-value{display:block;font-size:20px;font-weight:700;color:#0f172a;margin-top:4px}.cr-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}.cr-filter-pill{border:1px solid #e2e8f0;background:#fff;padding:6px 12px;border-radius:999px;font-size:13px;cursor:pointer;color:#475569}.cr-filter-pill--active{background:#ede9fe;border-color:#7c3aed;color:#5b21b6;font-weight:600}.cr-sub-ratings{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;color:#64748b}.cr-quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.cr-quick-link{font-size:12px;color:#7c3aed;background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.cr-counter{font-size:12px;color:#94a3b8;text-align:right;margin-top:4px}.pps{min-height:100vh;background:#f8fafc;padding:24px 20px 48px;max-width:640px;margin:0 auto;box-sizing:border-box}.pps-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.pps-header h1{margin:0 0 8px;font-size:24px;font-weight:700;color:#0f172a}.pps-header p{margin:0;font-size:14px;color:#64748b}.pps-logout{border:1px solid #e2e8f0;background:#fff;padding:8px 14px;border-radius:8px;font-size:14px;cursor:pointer}.pps-muted{color:#64748b;font-size:14px}.pps-list{list-style:none;padding:0;margin:0}.pps-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid #e2e8f0}.pps-title{font-weight:600;color:#0f172a}.pps-row-actions{flex-shrink:0}.pps-review-btn{border:1px solid #7c3aed;color:#7c3aed;background:#fff;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.pps-reviewed{font-size:13px;color:#94a3b8}.pps-provider-reply{margin-top:10px;padding:10px 12px;border-left:3px solid #7c3aed;background:#ede9fe;border-radius:0 8px 8px 0;font-size:13px;color:#475569}.pps-provider-reply-label{font-size:11px;font-weight:600;color:#7c3aed;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.pps-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:300}.pps-modal{background:#fff;border-radius:16px;padding:24px;max-width:480px;width:100%;box-shadow:0 20px 50px #0f172a33}.pps-modal h2{margin:0 0 8px;font-size:22px;text-align:center}.pps-modal .pps-muted{text-align:center;margin-bottom:16px}.pps-stars-input{display:flex;justify-content:center;gap:8px;margin:16px 0}.pps-star-btn{border:none;background:none;font-size:40px;line-height:1;color:#e2e8f0;cursor:pointer;padding:4px}.pps-star-btn--on{color:#fbbf24}.pps-label{display:block;font-size:14px;font-weight:500;margin-top:12px}.pps-textarea{width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit}.pps-counter{font-size:12px;color:#94a3b8;text-align:right;margin-top:4px}.pps-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.pps-btn{padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none}.pps-btn--primary{background:#7c3aed;color:#fff}.pps-btn--ghost{background:transparent;color:#64748b;border:1px solid #e2e8f0}.pps-modal--wide{max-width:520px;max-height:90vh;overflow-y:auto}.pps-star-label{text-align:center;font-weight:600;margin:0 0 12px;min-height:22px}.pps-section-label{display:block;font-size:13px;font-weight:500;color:#0f172a;margin-top:14px;margin-bottom:6px}.pps-sub-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.pps-sub-label{font-size:13px;color:#64748b;flex:1}.pps-stars-input--sm{margin:0;gap:4px}.pps-star-btn--sm{font-size:22px;padding:2px}.pps-helpful{margin-top:12px}.pps-thumb-row{display:flex;gap:12px;margin-top:8px}.pps-thumb{font-size:28px;padding:10px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer}.pps-thumb--on{border-color:#16a34a;background:#ecfdf5}.pps-thumb--bad{border-color:#dc2626;background:#fef2f2}.clinic-settings-spin{animation:clinic-settings-spin .8s linear infinite}.clinic-settings{--cs-purple: #7c3aed;--cs-purple-soft: #ede9fe;--cs-navy: #0f172a;--cs-muted: #64748b;--cs-muted2: #94a3b8;--cs-border: #e2e8f0;--cs-row-border: #f1f5f9;--cs-sidebar-bg: #f8fafc;--cs-amber-bg: #fffbeb;--cs-amber-border: #d97706;--cs-amber-text: #92400e;--cs-danger: #dc2626;--cs-danger-bg: #fff5f5;min-height:0;flex:1;display:flex;flex-direction:column;background:#fff;color:var(--cs-navy);font-family:Inter,system-ui,sans-serif}.clinic-settings-header{flex-shrink:0;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;border-bottom:1px solid var(--cs-border);background:#fff}.clinic-settings-header-titles h1{margin:0;font-size:24px;font-weight:700;color:var(--cs-navy);line-height:1.2}.clinic-settings-header-titles p{margin:2px 0 0;font-size:14px;font-weight:400;color:var(--cs-muted)}.clinic-settings-save-btn{width:140px;height:40px;border-radius:8px;border:none;background:var(--cs-purple);color:#fff;font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s}.clinic-settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.clinic-settings-save-btn--saved{background:#0d9488}.clinic-settings-unsaved{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 24px;background:var(--cs-amber-bg);border-bottom:1px solid var(--cs-amber-border);font-size:14px;font-weight:500;color:var(--cs-amber-text);position:sticky;top:0;z-index:5}.clinic-settings-unsaved-actions{display:flex;gap:8px}.clinic-settings-btn-sm{height:32px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.clinic-settings-btn-sm--primary{background:var(--cs-purple);color:#fff}.clinic-settings-btn-sm--ghost{background:transparent;color:var(--cs-muted);border:1px solid var(--cs-border)}.clinic-settings-body{flex:1;min-height:0;display:flex}.clinic-settings-sidebar{width:240px;flex-shrink:0;background:var(--cs-sidebar-bg);border-right:1px solid var(--cs-border);padding:16px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:0}.clinic-settings-search-wrap{position:relative;margin-bottom:8px}.clinic-settings-search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--cs-muted2);pointer-events:none}.clinic-settings-search{width:100%;height:36px;padding:0 12px 0 36px;border:1px solid var(--cs-border);border-radius:8px;font-size:13px;background:#fff;box-sizing:border-box}.clinic-settings-search::placeholder{color:var(--cs-muted2)}.clinic-settings-nav-group-label{text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--cs-muted2);margin-top:20px;margin-bottom:4px;padding-left:12px}.clinic-settings-nav-group-label:first-child{margin-top:0}.clinic-settings-nav-item{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:8px 12px;border:none;border-radius:8px;background:transparent;cursor:pointer;text-align:left;font-size:14px;font-weight:400;color:var(--cs-muted);margin-bottom:4px;box-sizing:border-box;border-left:3px solid transparent;position:relative}.clinic-settings-nav-item:hover{background:#f1f5f9;color:var(--cs-navy)}.clinic-settings-nav-item--active{background:var(--cs-purple-soft);color:var(--cs-purple);font-weight:600;border-left-color:var(--cs-purple)}.clinic-settings-nav-icon{font-size:15px;line-height:1;flex-shrink:0}.clinic-settings-nav-label{flex:1;min-width:0}.clinic-settings-nav-label mark{background:var(--cs-purple-soft);color:var(--cs-purple);padding:0 2px;border-radius:2px}.clinic-settings-nav-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b;flex-shrink:0}.clinic-settings-content{flex:1;min-width:0;overflow-y:auto;padding:32px 40px;background:#fff}.clinic-settings-content-inner{max-width:800px;margin:0 auto}.clinic-settings-section-head{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--cs-border)}.clinic-settings-section-head h2{margin:0;font-size:20px;font-weight:700;color:var(--cs-navy)}.clinic-settings-section-head p{margin:6px 0 0;font-size:14px;color:var(--cs-muted)}.clinic-settings-card{background:#fff;border-radius:12px;box-shadow:0 1px 2px #0f172a0f;padding:24px;margin-bottom:20px;border:1px solid var(--cs-row-border)}.clinic-settings-card-title{font-size:16px;font-weight:600;color:var(--cs-navy);margin:0 0 16px}.clinic-settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-height:60px;padding:14px 0;border-bottom:1px solid var(--cs-row-border)}.clinic-settings-row:last-child{border-bottom:none;padding-bottom:0}.clinic-settings-row:first-of-type{padding-top:0}.clinic-settings-row--edited{border-left:3px solid var(--cs-purple-soft);margin-left:-12px;padding-left:9px}.clinic-settings-row-main{flex:1;min-width:0}.clinic-settings-row-label{font-size:14px;font-weight:500;color:var(--cs-navy)}.clinic-settings-row-desc{font-size:13px;color:var(--cs-muted2);margin-top:4px;max-width:420px}.clinic-settings-row-control{flex-shrink:0;width:280px;max-width:100%}.clinic-settings-row-control--wide{width:100%;flex:1}.clinic-settings-input,.clinic-settings-select,.clinic-settings-textarea{width:100%;max-width:280px;padding:8px 12px;border:1px solid var(--cs-border);border-radius:8px;font-size:15px;font-weight:500;box-sizing:border-box;font-family:inherit}.clinic-settings-textarea{max-width:100%;min-height:120px;resize:vertical;font-weight:400;font-size:14px}.clinic-settings-select{font-weight:400;font-size:14px}.clinic-settings-char-count{font-size:12px;color:var(--cs-muted2);text-align:right;margin-top:4px;max-width:280px}.clinic-settings-note-amber{font-size:12px;color:#b45309;margin-top:6px}.clinic-settings-note-muted{font-size:12px;color:var(--cs-muted2);margin-top:6px}.clinic-settings-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:8px;border:1px solid var(--cs-purple);background:#fff;color:var(--cs-purple);font-size:13px;font-weight:600;cursor:pointer}.clinic-settings-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.clinic-settings-link{background:none;border:none;color:var(--cs-purple);font-size:13px;font-weight:600;cursor:pointer;padding:0}.clinic-settings-link--danger{color:var(--cs-danger)}.clinic-settings-logo-row{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.clinic-settings-logo-preview{width:80px;height:80px;border-radius:12px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.clinic-settings-logo-preview img{width:100%;height:100%;object-fit:cover}.clinic-settings-slug-prefix{display:inline-flex;align-items:center;gap:0;flex-wrap:wrap;font-size:15px}.clinic-settings-slug-prefix span{color:var(--cs-muted2);-webkit-user-select:none;user-select:none}.clinic-settings-slug-prefix input{width:140px;padding:6px 10px;border:1px solid var(--cs-border);border-radius:6px;font-weight:600;color:var(--cs-purple)}.clinic-settings-toggle{position:relative;width:40px;height:22px;border-radius:11px;border:none;cursor:pointer;flex-shrink:0;transition:background .2s}.clinic-settings-toggle--on{background:var(--cs-purple)}.clinic-settings-toggle--off{background:#cbd5e1}.clinic-settings-toggle:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s}.clinic-settings-toggle--on:after{transform:translate(18px)}.clinic-settings-hours-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:56px;padding:10px 0;border-bottom:1px solid var(--cs-row-border)}.clinic-settings-hours-row:last-child{border-bottom:none}.clinic-settings-hours-day{width:80px;font-weight:500;font-size:14px;color:var(--cs-navy)}.clinic-settings-hours-sep{color:var(--cs-muted2)}.clinic-settings-hours-closed{font-size:13px;color:var(--cs-muted2);font-style:italic}.clinic-settings-service-card{display:flex;align-items:center;gap:12px;padding:16px;border-radius:8px;border:1px solid var(--cs-row-border);margin-bottom:10px;box-shadow:0 1px 2px #0f172a0a}.clinic-settings-service-card:hover{box-shadow:0 2px 8px #0f172a14}.clinic-settings-services-wrap{padding:0;overflow:hidden}.clinic-settings-services-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:20px 20px 16px;border-bottom:1px solid var(--cs-row-border);background:linear-gradient(180deg,#fafbff,#fff)}.clinic-settings-services-count{margin:0;font-size:15px;font-weight:600;color:var(--cs-navy)}.clinic-settings-btn-add-svc{width:auto;padding:0 20px;white-space:nowrap}.clinic-settings-service-card--rich{position:relative;display:grid;grid-template-columns:140px 1fr auto;gap:0 16px;align-items:stretch;padding:0;margin:0;border:none;border-bottom:1px solid var(--cs-row-border);border-radius:0;box-shadow:none}.clinic-settings-service-card--rich:last-of-type{border-bottom:none}.clinic-settings-service-card--rich:hover{background:#fafbff;box-shadow:none}.clinic-settings-service-media{padding:20px 0 20px 20px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.clinic-settings-service-thumb{width:120px;height:120px;border-radius:14px;border:1px dashed #c4b5fd;background:linear-gradient(145deg,#f5f3ff,#fafbff);display:flex;align-items:center;justify-content:center;color:#a78bfa;overflow:hidden;flex-shrink:0}.clinic-settings-service-thumb--has{border-style:solid;border-color:var(--cs-border);padding:0}.clinic-settings-service-thumb img{width:100%;height:100%;object-fit:cover;display:block}.clinic-settings-service-photo-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.clinic-settings-service-upload-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;color:#5b21b6;background:#fff;border:1px solid #ddd6fe;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.clinic-settings-service-upload-btn:hover{background:#f5f3ff;border-color:#c4b5fd}.clinic-settings-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}.clinic-settings-spin{animation:clinic-settings-spin .7s linear infinite}@keyframes clinic-settings-spin{to{transform:rotate(360deg)}}.clinic-settings-service-remove-photo{background:none;border:none;font-size:12px;font-weight:500;color:#94a3b8;cursor:pointer;padding:2px 0;text-align:center}.clinic-settings-service-remove-photo:hover:not(:disabled){color:#dc2626}.clinic-settings-service-fields{padding:20px 20px 20px 0;min-width:0;display:flex;flex-direction:column;gap:14px}.clinic-settings-service-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.clinic-settings-service-label .clinic-settings-input{text-transform:none;font-weight:400;letter-spacing:normal}.clinic-settings-service-desc{resize:vertical;min-height:72px;font-size:14px;line-height:1.45}.clinic-settings-service-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:900px){.clinic-settings-service-row,.clinic-settings-service-card--rich{grid-template-columns:1fr}.clinic-settings-service-media{flex-direction:row;align-items:center;padding:16px 16px 0}.clinic-settings-service-fields{padding:16px}.clinic-settings-service-remove-card{position:absolute;top:12px;right:12px}}.clinic-settings-service-label--inline{text-transform:none;letter-spacing:normal;font-size:13px;font-weight:600;color:var(--cs-navy)}.clinic-settings-service-inline{display:flex;align-items:center;gap:8px}.clinic-settings-service-suffix{font-size:13px;color:#64748b;font-weight:500}.clinic-settings-service-remove-card{align-self:flex-start;margin:16px 16px 0 0;padding:8px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;line-height:1;transition:background .15s ease,color .15s ease}.clinic-settings-service-remove-card:hover:not(:disabled){background:#fef2f2;color:#dc2626}.clinic-settings-staff-summary{padding:16px;border-radius:12px;background:var(--cs-sidebar-bg);border:1px solid var(--cs-border);margin-bottom:16px}.clinic-settings-info-banner{padding:12px 16px;border-radius:8px;border-left:4px solid #0d9488;background:#f0fdfa;font-size:14px;color:#0f766e;margin-bottom:20px}.clinic-settings-danger-zone{background:var(--cs-danger-bg)!important}.clinic-settings-danger-zone .clinic-settings-section-head h2,.clinic-settings-danger-zone .clinic-settings-section-head p{color:var(--cs-danger)}.clinic-settings-danger-banner{padding:12px 16px;border-radius:8px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;font-size:14px;font-weight:500;margin-bottom:20px}.clinic-settings-card--danger{border-left:3px solid var(--cs-danger)}.clinic-settings-card--export{border-left:3px solid #d97706;background:#fffbeb}.clinic-settings-mobile-bar{display:none;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--cs-border);background:#fff}.clinic-settings-mobile-menu-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--cs-border);border-radius:8px;background:#fff;font-size:14px;font-weight:600;cursor:pointer;color:var(--cs-navy)}.clinic-settings-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:400;opacity:0;pointer-events:none;transition:opacity .2s}.clinic-settings-sheet-backdrop--open{opacity:1;pointer-events:auto}.clinic-settings-sheet{position:fixed;left:0;right:0;bottom:0;max-height:72vh;background:#fff;border-radius:16px 16px 0 0;z-index:401;transform:translateY(100%);transition:transform .28s ease;padding:16px;overflow-y:auto;box-shadow:0 -8px 32px #0f172a1f;pointer-events:none}.clinic-settings-sheet--open{transform:translateY(0);pointer-events:auto}.clinic-settings-sheet h3{margin:0 0 12px;font-size:16px}.clinic-settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.clinic-settings-modal{background:#fff;border-radius:12px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 50px #0f172a33}.clinic-settings-modal h3{margin:0 0 12px;font-size:18px}.clinic-settings-modal p{margin:0 0 16px;font-size:14px;color:var(--cs-muted)}.clinic-settings-modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:900px){.clinic-settings-sidebar{display:none}.clinic-settings-mobile-bar{display:flex}.clinic-settings-content{padding:20px 16px}.clinic-settings-header{flex-direction:column;align-items:flex-start;height:auto;padding:16px;gap:12px}.clinic-settings-row{flex-direction:column;align-items:stretch}.clinic-settings-row-control{width:100%;max-width:none}.clinic-settings-input,.clinic-settings-select{max-width:none}}@media(max-width:1024px)and (min-width:901px){.clinic-settings-sidebar{width:200px}}.site-mgmt{display:flex;min-height:calc(100vh - 64px);background:#f8fafc}.site-mgmt-sidebar{width:240px;flex-shrink:0;background:#f8fafc;border-right:1px solid #e2e8f0;padding:16px 12px;display:flex;flex-direction:column;gap:12px}.site-mgmt-preview-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:36px;border-radius:8px;border:1px solid #7c3aed;background:#fff;color:#7c3aed;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.site-mgmt-preview-btn:hover{background:#faf5ff}.site-mgmt-status{padding:10px 8px;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.site-mgmt-status-label{font-size:13px;font-weight:500;color:#64748b;margin-bottom:8px}.site-mgmt-toggle-row{display:flex;align-items:center;gap:8px}.site-mgmt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.site-mgmt-dot--live{background:#22c55e;box-shadow:0 0 0 2px #22c55e40}.site-mgmt-dot--draft{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b40}.site-mgmt-status-text{font-size:12px;color:#475569;line-height:1.35}.site-mgmt-nav-group{margin-top:8px}.site-mgmt-nav-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;padding:8px 10px 4px}.site-mgmt-nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:14px;color:#64748b;text-decoration:none;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;font-family:inherit}.site-mgmt-nav-icon{flex-shrink:0;color:#64748b}.site-mgmt-nav-link.active .site-mgmt-nav-icon{color:#6d28d9}.site-mgmt-quill-wrap{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.site-mgmt-quill-wrap .ql-toolbar{border:none;border-bottom:1px solid #e2e8f0}.site-mgmt-quill-wrap .ql-container{border:none;min-height:280px;font-size:14px}.site-mgmt-nav-link:hover{background:#f1f5f9;color:#334155}.site-mgmt-nav-link.active{background:#ede9fe;color:#6d28d9;font-weight:600}.site-mgmt-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff}.site-mgmt-content{flex:1;padding:28px 32px 96px;max-width:880px}.site-mgmt-header{margin-bottom:24px}.site-mgmt-title{font-size:22px;font-weight:700;color:#0f172a;margin:0 0 6px}.site-mgmt-sub{font-size:14px;color:#64748b;margin:0}.site-mgmt-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:20px}.site-mgmt-card-title{font-size:16px;font-weight:600;color:#0f172a;margin:0 0 4px}.site-mgmt-card-desc{font-size:13px;color:#64748b;margin:0 0 16px}.site-mgmt-field{margin-bottom:16px}.site-mgmt-field label{display:block;font-size:13px;font-weight:500;color:#475569;margin-bottom:6px}.site-mgmt-field input[type=text],.site-mgmt-field textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box}.site-mgmt-field textarea{min-height:72px;resize:vertical}.site-mgmt-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.site-mgmt-save-bar{position:sticky;bottom:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -8px 24px #0f172a0f;z-index:5}.site-mgmt-save-meta{font-size:13px;color:#94a3b8}.site-mgmt-btn{padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none;font-family:inherit}.site-mgmt-btn--ghost{background:transparent;color:#64748b;border:1px solid #e2e8f0}.site-mgmt-btn--ghost:hover{background:#f8fafc}.site-mgmt-btn--primary{background:#7c3aed;color:#fff}.site-mgmt-btn--primary:hover:not(:disabled){background:#6d28d9}.site-mgmt-btn--primary:disabled{opacity:.5;cursor:not-allowed}.site-mgmt-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.site-mgmt-theme-card{border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;padding:0;background:#fff;font-family:inherit;transition:border-color .2s,box-shadow .2s}.site-mgmt-theme-card:hover{border-color:#c4b5fd}.site-mgmt-theme-card.selected{border-color:#7c3aed;box-shadow:0 0 0 1px #7c3aed}.site-mgmt-theme-preview{height:120px;display:flex;flex-direction:column;gap:6px;padding:12px}.site-mgmt-preview-mm{background:linear-gradient(135deg,#fff,#f8fafc,#ede9fe);border-bottom:3px solid #7c3aed}.site-mgmt-preview-dl{background:linear-gradient(160deg,#0a0a0a,#1a1a2e);border-bottom:3px solid #d4af37}.site-mgmt-preview-wp{background:linear-gradient(135deg,#fffbf5,#fef3c7);border-bottom:3px solid #c8860a}.site-mgmt-preview-vb{background:linear-gradient(135deg,#f0fdf4,#e0e7ff);border-bottom:3px solid #0d9488}.site-mgmt-theme-info{padding:12px 14px 16px}.site-mgmt-theme-name{font-size:15px;font-weight:600;color:#0f172a;margin:0 0 8px}.site-mgmt-theme-desc{font-size:12px;color:#64748b;margin:0;line-height:1.45}.site-mgmt-placeholder{padding:40px 24px;text-align:center;color:#64748b;font-size:14px;border:1px dashed #e2e8f0;border-radius:12px;background:#fafafa}.site-mgmt-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.site-mgmt-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:100%;box-shadow:0 24px 48px #0000001f}.site-mgmt-modal h3{margin:0 0 8px;font-size:18px}.site-mgmt-modal p{margin:0 0 20px;font-size:14px;color:#64748b}.site-mgmt-modal-actions{display:flex;gap:10px;justify-content:flex-end}.site-mgmt-btn--go-live{background:#22c55e;color:#fff}.site-mgmt-btn--go-live:hover{background:#16a34a}.site-mgmt-blog-body{width:100%;font-family:ui-monospace,monospace;font-size:13px;line-height:1.5}@media(max-width:900px){.site-mgmt{flex-direction:column}.site-mgmt-sidebar{width:100%;border-right:none;border-bottom:1px solid #e2e8f0}}.report-problem-page{min-height:calc(100vh - var(--demo-banner-height, 0px));background:#f8fafc;padding:32px 24px;display:flex;align-items:flex-start;justify-content:center}.report-problem-page--embedded{min-height:0;background:transparent;padding:0;display:block}.report-problem-page--embedded .report-problem-card{max-width:640px}.report-problem-card--embedded{margin-top:0}.report-problem-sub--embedded{margin:0}.report-problem-card--embedded-success{margin-left:auto;margin-right:auto}.report-problem-card{background:#fff;border:1px solid #E2E8F0;border-radius:14px;padding:28px;max-width:560px;width:100%}.report-problem-header{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #F1F5F9}.report-problem-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.report-problem-icon{color:#7c3aed}.report-problem-header h1{font-size:22px;font-weight:700;color:#0f172a;margin:0}.report-problem-sub{font-size:14px;color:#64748b;margin:0;line-height:1.5}.report-problem-form{display:flex;flex-direction:column;gap:16px}.report-problem-error{padding:12px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#ef4444;font-size:14px}.report-problem-label{font-size:13px;font-weight:600;color:#374151}.report-problem-hint{font-size:12px;color:#94a3b8;margin:-8px 0 0}.report-problem-input,.report-problem-textarea{width:100%;padding:10px 14px;border:1px solid #E2E8F0;border-radius:8px;font-size:14px;color:#0f172a}.report-problem-input:focus,.report-problem-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.report-problem-textarea{resize:vertical;min-height:120px}.report-problem-file-wrap{display:block}.report-problem-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.report-problem-file-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px dashed #E2E8F0;border-radius:8px;font-size:14px;color:#64748b;cursor:pointer;transition:border-color .15s,color .15s}.report-problem-file-btn:hover{border-color:#7c3aed;color:#7c3aed}.report-problem-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:20px;border-top:1px solid #F1F5F9}.report-problem-cancel{padding:10px 18px;font-size:14px;font-weight:500;color:#64748b;text-decoration:none;border-radius:8px}.report-problem-cancel:hover{color:#374151;background:#f8fafc}.report-problem-submit{padding:10px 20px;font-size:14px;font-weight:600;color:#fff;background:#7c3aed;border:none;border-radius:8px;cursor:pointer}.report-problem-submit:hover:not(:disabled){background:#6d28d9}.report-problem-submit:disabled{opacity:.7;cursor:not-allowed}.report-problem-success{text-align:center;padding:48px 28px}.report-problem-success-icon{width:80px;height:80px;margin:0 auto 20px;background:#ede9fe;color:#7c3aed;border-radius:50%;display:flex;align-items:center;justify-content:center}.report-problem-success h1,.report-problem-success-title{font-size:24px;font-weight:700;color:#0f172a;margin:0 0 8px}.report-problem-success p{font-size:14px;color:#64748b;margin:0 0 24px}.report-problem-back-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#7c3aed;text-decoration:none}.report-problem-back-btn:hover{text-decoration:underline}:root{--demo-banner-height: 0px}.landing{min-height:100vh;display:flex;flex-direction:column;text-align:center}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.landing-nav .brand{font-weight:600;font-size:1.25rem;color:var(--text-h)}.landing-nav .nav-links{display:flex;gap:1rem;align-items:center}.landing-nav .nav-links a{color:var(--text);text-decoration:none}.landing-nav .nav-links a:hover{color:var(--accent)}.landing-hero{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem}.landing-hero h1{font-size:2.5rem;margin-bottom:.75rem}.landing-hero p{color:var(--text);margin-bottom:1.5rem;max-width:420px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.landing-footer{padding:1rem;font-size:.9rem;color:var(--text);border-top:1px solid var(--border)}.btn-primary,.btn-secondary{display:inline-block;padding:.6rem 1.25rem;border-radius:8px;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;border:none;transition:opacity .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{opacity:.9}.btn-secondary{background:var(--code-bg);color:var(--text-h);border:1px solid var(--border)}.btn-secondary:hover{opacity:.9}.btn-lg{padding:.75rem 1.5rem;font-size:1.05rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:380px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2rem;text-align:left}.auth-card-wide{max-width:480px}.auth-card h1{font-size:1.5rem;margin-bottom:.25rem;color:var(--accent)}.auth-card h2{font-size:1.25rem;margin-bottom:1rem}.auth-card .muted{color:var(--text);font-size:.9rem;margin-bottom:1rem}.auth-card form label{display:block;font-size:.875rem;font-weight:500;color:var(--text-h);margin-top:1rem;margin-bottom:.35rem}.auth-card form label:first-of-type{margin-top:0}.auth-card form input,.auth-card form textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;box-sizing:border-box}.auth-card form input:focus,.auth-card form textarea:focus{outline:none;border-color:var(--accent)}.auth-card form textarea{resize:vertical;min-height:60px}.auth-card form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.auth-card form .error{color:#c00;font-size:.875rem;margin-top:.5rem}.auth-card form button[type=submit]{width:100%;margin-top:1.25rem;padding:.7rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer}.auth-card form button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.auth-card .auth-links{margin-top:1.25rem;font-size:.9rem;text-align:center}.auth-card .auth-links a,.auth-card .auth-links .link{color:var(--accent);text-decoration:none;background:none;border:none;cursor:pointer;font-size:inherit}.auth-card .auth-links a:hover,.auth-card .auth-links .link:hover{text-decoration:underline}.auth-card .auth-links a+a{margin-left:1rem}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:none}.link-btn:hover{text-decoration:underline}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.dashboard-header .brand{font-weight:600;font-size:1.25rem;color:var(--text-h)}.dashboard-header .header-right{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.dashboard-header .user-name{font-weight:500;color:var(--text-h)}.dashboard-header .user-role{color:var(--text)}.dashboard-header .header-right a{color:var(--accent);text-decoration:none}.dashboard-main{flex:1;padding:2rem 1.5rem;max-width:900px}.dashboard-main h1{font-size:1.75rem;margin-bottom:.5rem}.dashboard-main h2{font-size:1.15rem;margin-top:1.5rem;margin-bottom:.5rem}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-top:1.5rem}.stat-card{padding:1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--code-bg)}.stat-card .stat-value{display:block;font-size:1.75rem;font-weight:600;color:var(--text-h)}.stat-card .stat-label{font-size:.875rem;color:var(--text)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text)}.admin-error{background:#fef2f2;border:1px solid #FECACA;color:#b91c1c;padding:10px 14px;border-radius:8px;margin-top:1rem;font-size:14px}.admin-loading{margin-top:1.5rem;color:var(--text)}.admin-section{margin-top:2rem}.admin-section h2{font-size:1.1rem;margin-bottom:.75rem}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{background:var(--code-bg);font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;border:none;cursor:pointer;margin-right:6px}.admin-btn:disabled{opacity:.6;cursor:not-allowed}.admin-btn-approve{background:var(--accent, #7C3AED);color:#fff}.admin-btn-approve:hover:not(:disabled){opacity:.9}.admin-btn-suspend{background:var(--frost);color:var(--text-h);border:1px solid var(--border)}.admin-btn-suspend:hover:not(:disabled){background:#fee2e2;color:#b91c1c}.admin-status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.admin-status-pending{background:#fef3c7;color:#92400e}.admin-status-active{background:#d1fae5;color:#065f46}.admin-status-suspended{background:#fee2e2;color:#b91c1c}.admin-empty{color:var(--text);margin-top:.5rem}.dashboard-pending-banner{background:#fef3c7;border:1px solid #FCD34D;color:#92400e;padding:12px 16px;border-radius:10px;margin-bottom:1rem;font-size:14px}.admin-subscription{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;min-width:220px}.admin-sub-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-sub-label{font-size:12px;color:var(--text);font-weight:600;min-width:62px}.admin-sub-input{flex:1;min-width:140px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);font-size:13px}.admin-sub-input:focus{outline:none;border-color:var(--accent, #7C3AED);box-shadow:0 0 0 4px #7c3aed26}
