:root{--kivo-purple:#7C3AED;--kivo-blue:#3B82F6;--kivo-green:#10B981;--kivo-dark:#0F172A;--kivo-grad:linear-gradient(135deg,#7C3AED 0%,#3B82F6 50%,#10B981 100%);--kivo-bg:#F8FAFC;--kivo-surface:#FFFFFF;--kivo-surface-soft:#F1F5F9;--kivo-border:#E2E8F0;--kivo-border-strong:#CBD5E1;--kivo-text:#0F172A;--kivo-text-muted:#64748B;--kivo-primary:#7C3AED;--kivo-primary-soft:#EDE9FE;--kivo-primary-deep:#5B21B6;--kivo-secondary:#3B82F6;--kivo-secondary-soft:#DBEAFE;--kivo-accent:#3B82F6;--kivo-accent-soft:#DBEAFE;--kivo-success-bg:#D1FAE5;--kivo-success-txt:#059669;--kivo-warn-bg:#FEF3C7;--kivo-warn-txt:#D97706;--kivo-danger-bg:#FEE2E2;--kivo-danger-txt:#DC2626;--kivo-green-soft:#D1FAE5;--kivo-orange:#F59E0B;--kivo-orange-soft:#FEF3C7;--kivo-red:#DC2626;--kivo-red-soft:#FEE2E2;--kivo-blue-soft:#DBEAFE;--kivo-warning:#F59E0B;--kivo-warning-soft:#FEF3C7;--kivo-shadow-sm:0 1px 4px rgba(15,23,42,.06);--kivo-shadow-md:0 4px 16px rgba(124,58,237,.12);--kivo-shadow:var(--kivo-shadow-sm);--kivo-shadow-soft:var(--kivo-shadow-sm);--kivo-shadow-lg:0 16px 40px rgba(15,23,42,.10);--kivo-radius:9999px;--kivo-radius-lg:16px;--kivo-radius-md:12px;--kivo-radius-sm:8px;--kivo-radius-small:var(--kivo-radius-md);--font-brand:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;--font-body:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;--kivo-grad-soft:linear-gradient(135deg,#EDE9FE 0%,#DBEAFE 50%,#D1FAE5 100%);--kivo-surface-tint:#F7F9FD;--kivo-space-1:4px;--kivo-space-2:8px;--kivo-space-3:12px;--kivo-space-4:16px;--kivo-space-5:20px;--kivo-space-6:24px;--kivo-space-8:32px;--kivo-space-10:40px;--kivo-space-12:48px;--kivo-white:#FFFFFF;--kivo-navy:#0F172A;--kivo-mid:#64748B;--kivo-light:#94A3B8;--kivo-teal:#10B981}body,*{font-family:"Nunito",sans-serif !important}body{background:var(--kivo-bg);color:var(--kivo-dark);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}h1{font-size:28px;font-weight:800;margin:0 0 4px;letter-spacing:-0.01em}h2{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-0.005em}h3{font-size:18px;font-weight:700;margin:0 0 4px}h4{font-size:15px;font-weight:600;margin:0 0 4px}.section-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--kivo-blue);margin:0 0 6px}.kivo-navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:60px;background:var(--kivo-white);border-bottom:1.5px solid var(--kivo-border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;box-shadow:var(--kivo-shadow-sm)}.kivo-navbar__brand{display:flex;align-items:center;gap:10px;text-decoration:none}.kivo-navbar__logo{width:32px;height:32px;background:var(--kivo-grad);border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:900;font-size:18px;box-shadow:0 4px 12px rgba(124,58,237,.35)}.kivo-navbar__name{font-size:19px;font-weight:800;letter-spacing:-0.01em;background:var(--kivo-grad);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.kivo-navbar__right{display:flex;align-items:center;gap:12px}.kivo-navbar__user{font-size:13px;font-weight:600;color:var(--kivo-mid)}.kivo-nav-link{padding:7px 14px;border-radius:var(--kivo-radius-sm);font-size:13.5px;font-weight:500;color:var(--kivo-mid);text-decoration:none;transition:all .15s}.kivo-nav-link:hover{background:#f0f4fc;color:var(--kivo-navy);text-decoration:none}.kivo-nav-link.active{background:#e8effc;color:var(--kivo-navy);font-weight:600}.kivo-body-wrapper{padding-top:60px;display:flex;min-height:100vh}.kivo-sidebar{width:230px;min-height:calc(100vh - 60px);background:var(--kivo-white);border-right:1.5px solid var(--kivo-border);padding:22px 14px;position:fixed;top:60px;left:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.kivo-sidebar .sidebar-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--kivo-light);padding:0 10px;margin:16px 0 6px;display:block}.kivo-sidebar .sidebar-link{display:flex;align-items:center;padding:9px 12px;border-radius:var(--kivo-radius-sm);font-size:13.5px;font-weight:500;color:var(--kivo-mid);text-decoration:none;transition:all .15s;margin-bottom:2px}.kivo-sidebar .sidebar-link:hover{background:#f0f4fc;color:var(--kivo-navy);text-decoration:none}.kivo-sidebar .sidebar-link.active{background:#e8effc;color:var(--kivo-navy);font-weight:600}.kivo-main-with-sidebar{margin-left:230px;padding:32px 36px;flex:1;min-width:0}.kivo-main-no-sidebar{padding:28px 32px;flex:1}.btn{border-radius:var(--kivo-radius) !important;font-weight:600;font-size:13.5px;transition:opacity .15s,transform .15s}.btn-primary{background:var(--kivo-grad) !important;color:#fff !important;border:none !important}.btn-primary:hover{opacity:.88;transform:translateY(-1px);color:#fff !important}.btn-secondary{background:#eef3fb !important;color:var(--kivo-navy) !important;border:1.5px solid var(--kivo-border) !important}.btn-secondary:hover{background:#e2eaf8 !important}.clinic-button{border-radius:var(--kivo-radius) !important;font-weight:600;min-height:38px;padding:8px 16px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:opacity .15s,transform .15s}.clinic-button--primary{background:var(--kivo-grad) !important;color:#fff !important;box-shadow:0 4px 12px rgba(124,58,237,.25)}.clinic-button--primary:hover{opacity:.92;transform:translateY(-1px);color:#fff !important}.clinic-button--navy{background:#1E3A8A !important;color:#fff !important;box-shadow:0 4px 10px rgba(30,58,138,.28)}.clinic-button--navy:hover{background:#1E40AF !important;transform:translateY(-1px);color:#fff !important}.clinic-button--secondary{background:#eef3fb !important;color:var(--kivo-navy) !important;border:1.5px solid var(--kivo-border) !important}.clinic-button--secondary:hover{background:#e2eaf8 !important;color:var(--kivo-navy) !important}.clinic-button--small{min-height:32px;padding:6px 12px;font-size:13px}.card{background:var(--kivo-white);border:1.5px solid var(--kivo-border) !important;border-radius:var(--kivo-radius-lg) !important;box-shadow:var(--kivo-shadow-sm)}.card-header{background:rgba(0,0,0,0) !important;border-bottom:1.5px solid var(--kivo-border);padding:16px 20px;font-weight:600}.clinic-card,.clinic-nav-card,.clinic-form,.clinic-topbar{background:var(--kivo-white) !important;border:1.5px solid var(--kivo-border) !important;border-radius:var(--kivo-radius-lg) !important;box-shadow:var(--kivo-shadow-sm) !important}.stat-card{background:var(--kivo-white);border:1.5px solid var(--kivo-border);border-radius:var(--kivo-radius-lg);padding:20px;position:relative;overflow:hidden}.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kivo-grad)}.stat-card .stat-value{font-size:28px;font-weight:800;color:var(--kivo-navy);line-height:1}.stat-card .stat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--kivo-light)}.dashboard-stat-card{position:relative;overflow:hidden;background:var(--kivo-white) !important;border:1.5px solid var(--kivo-border) !important;border-radius:var(--kivo-radius-lg) !important;box-shadow:var(--kivo-shadow-sm) !important}.dashboard-stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--kivo-grad)}.dashboard-stat-card--highlight::before{opacity:1}.dashboard-stat-card .dashboard-stat-card__label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--kivo-light) !important;margin-bottom:8px}.dashboard-stat-card .dashboard-stat-card__value{font-size:30px;font-weight:800;color:var(--kivo-navy);line-height:1;display:block}.dashboard-stat-card .dashboard-stat-card__copy{color:var(--kivo-mid);font-size:12.5px;margin:8px 0 0}.dashboard-stat-card--navy{background:linear-gradient(160deg,#0F172A 0%,#1E3A8A 100%) !important;border-color:#1E3A8A !important;color:#fff}.dashboard-stat-card--navy .dashboard-stat-card__label{color:#93C5FD !important}.dashboard-stat-card--navy .dashboard-stat-card__value{color:#fff}.dashboard-stat-card--navy .dashboard-stat-card__copy{color:rgba(255,255,255,.78)}.table thead th{background:#f5f8ff;color:var(--kivo-light);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1.5px solid var(--kivo-border);padding:12px 16px}.table tbody td{padding:13px 16px;color:var(--kivo-mid);border-bottom:1px solid #f0f3f8}.table tbody tr:hover td{background:#f7f9fd}.clinic-table th{background:#f5f8ff !important;color:var(--kivo-light) !important;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1.5px solid var(--kivo-border) !important}.clinic-table tbody tr:hover td{background:#f7f9fd}.form-control,.form-select{border:1.5px solid var(--kivo-border) !important;border-radius:var(--kivo-radius-md) !important;padding:9px 14px;font-size:14px;color:var(--kivo-dark)}.form-control:focus,.form-select:focus{border-color:var(--kivo-blue) !important;box-shadow:0 0 0 3px rgba(124,58,237,.15) !important;outline:none}label{font-size:12px;font-weight:600;color:var(--kivo-mid);text-transform:uppercase;letter-spacing:.07em}.clinic-form input[type=text],.clinic-form input[type=email],.clinic-form input[type=tel],.clinic-form input[type=number],.clinic-form input[type=time],.clinic-form input[type=datetime-local],.clinic-form select,.clinic-form textarea{border:1.5px solid var(--kivo-border) !important;border-radius:var(--kivo-radius-md) !important;padding:9px 14px;font-size:14px;color:var(--kivo-dark);background:var(--kivo-white);width:100%}.clinic-form input[type=text]:focus,.clinic-form input[type=email]:focus,.clinic-form input[type=tel]:focus,.clinic-form input[type=number]:focus,.clinic-form input[type=time]:focus,.clinic-form input[type=datetime-local]:focus,.clinic-form select:focus,.clinic-form textarea:focus{border-color:var(--kivo-blue) !important;box-shadow:0 0 0 3px rgba(124,58,237,.15) !important;outline:none}.badge{border-radius:20px !important;font-weight:600;font-size:11px;padding:4px 10px}.clinic-status-badge{border-radius:20px !important;font-size:11px;font-weight:700;padding:4px 10px}.clinic-status-badge--booked,.clinic-status-badge--confirmed,.clinic-status-badge--scheduled{background:var(--kivo-secondary-soft) !important;color:var(--kivo-blue) !important}.clinic-status-badge--in_process,.clinic-status-badge--checked_in{background:var(--kivo-warn-bg) !important;color:var(--kivo-warn-txt) !important}.clinic-status-badge--finished,.clinic-status-badge--completed,.clinic-status-badge--active{background:var(--kivo-success-bg) !important;color:var(--kivo-success-txt) !important}.clinic-status-badge--canceled,.clinic-status-badge--cancelled,.clinic-status-badge--no_show,.clinic-status-badge--inactive{background:var(--kivo-danger-bg) !important;color:var(--kivo-danger-txt) !important}.appointment-row{background:var(--kivo-white) !important;border:1.5px solid var(--kivo-border) !important;border-radius:var(--kivo-radius-md) !important;transition:border-color .15s,box-shadow .15s}.appointment-row:hover{border-color:var(--kivo-blue) !important;box-shadow:var(--kivo-shadow-md) !important;transform:translateY(-1px);text-decoration:none}.slot-chip{background:var(--kivo-success-bg) !important;border:1.5px solid #a7f3d0 !important;border-radius:var(--kivo-radius-md) !important;color:var(--kivo-success-txt) !important}.slot-chip:hover{box-shadow:var(--kivo-shadow-sm);text-decoration:none}.clinic-link{color:var(--kivo-blue);font-weight:600;text-decoration:none}.clinic-link:hover{text-decoration:underline}.clinic-link--danger{color:var(--kivo-danger-txt)}.empty-state--soft{background:#f7f9fd !important;border:1.5px dashed var(--kivo-border) !important;border-radius:var(--kivo-radius-lg) !important}.timeline-list__item,.branch-list__item{background:#f7f9fd !important;border:1.5px solid var(--kivo-border) !important;border-radius:var(--kivo-radius-md) !important}.note-card{background:#f7f9fd !important;border:1.5px dashed var(--kivo-border) !important;border-radius:var(--kivo-radius-md) !important}.clinic-flash{border-radius:var(--kivo-radius-md) !important}.clinic-flash--notice{background:var(--kivo-success-bg) !important;border-left:3px solid var(--kivo-success-txt)}.clinic-flash--alert{background:var(--kivo-danger-bg) !important;border-left:3px solid var(--kivo-danger-txt);color:var(--kivo-danger-txt) !important}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1.5px solid var(--kivo-border)}@media(max-width: 768px){.kivo-sidebar{display:none}.kivo-main-with-sidebar{margin-left:0;padding:18px 14px}.kivo-main-no-sidebar{padding:18px 14px}.page-header{flex-direction:column;gap:12px}}.portal-app .kivo-sidebar{background:linear-gradient(180deg,#0F172A 0%,#1E3A8A 100%) !important;border-right:1.5px solid #1E293B !important;color:#fff !important}.portal-app .kivo-sidebar .sidebar-section-label{color:rgba(255,255,255,.55) !important;letter-spacing:.12em}.portal-app .kivo-sidebar .sidebar-link{color:rgba(255,255,255,.85) !important}.portal-app .kivo-sidebar .sidebar-link svg{stroke:rgba(255,255,255,.75)}.portal-app .kivo-sidebar .sidebar-link:hover{background:rgba(255,255,255,.12) !important;color:#fff !important;text-decoration:none}.portal-app .kivo-sidebar .sidebar-link:hover svg{stroke:#fff}.portal-app .kivo-sidebar .sidebar-link.active{background:linear-gradient(135deg,rgba(124,58,237,.45),rgba(59,130,246,.45)) !important;color:#fff !important;font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.portal-app .kivo-sidebar .sidebar-link.active svg{stroke:#fff}.clinic-app .kivo-sidebar{background:#0F172A !important;border-right:1.5px solid rgba(255,255,255,.08) !important;color:#fff !important}.clinic-app .kivo-sidebar .sidebar-section-label{color:#64748B !important}.clinic-app .kivo-sidebar .sidebar-link{color:#CBD5E1 !important}.clinic-app .kivo-sidebar .sidebar-link svg{stroke:#CBD5E1}.clinic-app .kivo-sidebar .sidebar-link:hover{background:rgba(255,255,255,.05) !important;color:#fff !important;text-decoration:none}.clinic-app .kivo-sidebar .sidebar-link:hover svg{stroke:#fff}.clinic-app .kivo-sidebar .sidebar-link.active{background:rgba(0,245,212,.14) !important;color:#fff !important;font-weight:600}.clinic-app .kivo-sidebar .sidebar-link.active svg{stroke:#00F5D4}.clinic-app .kivo-sidebar .sidebar-link.active .sidebar-link__icon{color:#00F5D4 !important}
/* ── Navbar brand logo ───────────────────────────────────────── */
.kivo-navbar__logo-img{height:36px;width:auto;display:block}

/* ── Clinic Avatar ───────────────────────────────────────────── */
.clinic-avatar{border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--kivo-primary,#1a1a2e)}
.clinic-avatar--sm{width:48px;height:48px}
.clinic-avatar--md{width:80px;height:80px}
.clinic-avatar--lg{width:32px;height:32px}
.clinic-avatar__img{width:100%;height:100%;object-fit:cover;display:block}
.clinic-avatar__initial{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:0.9em}

/* ── Clinic Logo Upload UI ───────────────────────────────────── */
.clinic-logo-upload{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.clinic-logo-upload__input{display:none}
.clinic-logo-upload__hint{width:100%;font-size:0.75rem;color:#6b7280;margin:0}
.settings-logo-section{margin-bottom:0}

/* ── Map popup avatar ────────────────────────────────────────── */
.kivo-map-popup__header{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.25rem}
.kivo-map-popup__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.kivo-map-popup__avatar--initial{background:#1a1a2e;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem}
