:root{--background:#f4f6fa;--background-secondary:#eef2f7;--foreground:#172033;--card:#ffffff;--card-foreground:#172033;--muted-surface:#f1f5f9;--muted-foreground:#667085;--text-muted:#98a2b3;--border:#dce3ed;--border-soft:#e8edf4;--primary:#4f46e5;--primary-hover:#4338ca;--primary-active:#3730a3;--primary-soft:#eef2ff;--primary-foreground:#ffffff;--secondary:#7c3aed;--secondary-soft:#f3e8ff;--accent:#0284c7;--accent-soft:#e0f2fe;--info:#2563eb;--info-text:#1d4ed8;--info-soft:#dbeafe;--danger:#dc2626;--danger-text:#b91c1c;--danger-soft:#fee2e2;--warning:#d97706;--warning-text:#92400e;--warning-soft:#fef3c7;--success:#16a34a;--success-text:#166534;--success-soft:#dcfce7;--no-show:#ea580c;--no-show-text:#c2410c;--no-show-soft:#ffedd5;--rescheduled:#7e22ce;--rescheduled-text:#6b21a8;--rescheduled-soft:#f3e8ff;--attended:#64748b;--attended-text:#334155;--attended-soft:#e2e8f0;--clinic-accent:#0ea5e9;--sidebar:#101828;--sidebar-foreground:#e5e7eb;--topbar:#ffffff;--input:#ffffff;--hover:#f1f5f9;--overlay:rgba(10,16,32,0.42);--bg:var(--background);--panel:var(--card);--ink:var(--foreground);--muted:var(--muted-foreground);--line:var(--border);--blue:var(--accent);--green:var(--success);--soft-blue:var(--info-soft);--soft-green:var(--success-soft);--shadow:0 10px 30px rgba(23,32,51,0.07);--shadow-strong:0 24px 70px rgba(23,32,51,0.14);--surface:#ffffff;--surface-elevated:#f8fafc;--card-hover:#f1f5f9;--ring:rgba(79,70,229,0.25);--sidebar-hover:rgba(255,255,255,0.09);--sidebar-active:rgba(99,102,241,0.14);--radius-sm:8px;--radius-md:14px;--radius-lg:22px}:root[data-theme=dark]{--surface:#111b2e;--surface-elevated:#17243a;--card-hover:#1d2c45;--ring:rgba(99,102,241,0.25);--sidebar-hover:rgba(255,255,255,0.08);--sidebar-active:rgba(99,102,241,0.14)}body{background:radial-gradient(circle at top left,color-mix(in srgb,var(--primary) 13%,transparent),transparent 34rem),radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--info) 10%,transparent),transparent 28rem),var(--background);letter-spacing:0}a,button,input,select,textarea{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ring)}.shell{background:transparent}.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 96%,var(--background-secondary)),var(--sidebar)),var(--sidebar)}.sidebar-brand{display:flex;gap:12px;align-items:center}.login-product strong,.sidebar-brand strong{font-size:24px;letter-spacing:-.01em}.sidebar-brand span{color:color-mix(in srgb,var(--sidebar-foreground) 68%,transparent);display:block;font-size:13px}.login-panel-mark,.product-mark{align-items:center;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--info) 62%,var(--primary)));border-radius:14px;box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 22%,transparent);color:var(--primary-foreground);display:inline-flex;height:48px;justify-content:center;width:48px}.clinic-context{background:color-mix(in srgb,var(--sidebar-foreground) 8%,transparent);border:1px solid color-mix(in srgb,var(--sidebar-foreground) 12%,transparent);border-radius:var(--radius-md);display:flex;gap:12px;padding:12px}.clinic-context img,.clinic-context span:first-child{align-items:center;background:color-mix(in srgb,var(--sidebar-foreground) 12%,transparent);border-radius:12px;display:inline-flex;height:42px;justify-content:center;object-fit:contain;width:42px}.clinic-context small,.nav-label{color:color-mix(in srgb,var(--sidebar-foreground) 52%,transparent);display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.clinic-context strong{max-width:190px}.nav{padding-right:2px}.sidebar-user{border-top:1px solid color-mix(in srgb,var(--sidebar-foreground) 13%,transparent);grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding-top:16px}.user-avatar{background:color-mix(in srgb,var(--primary) 76%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 54%,transparent);color:var(--primary-foreground);height:38px;width:38px}.topbar{background:color-mix(in srgb,var(--background) 86%,transparent)}.topbar-context strong{display:block;font-size:14px;letter-spacing:.02em;text-transform:uppercase}.topbar-context span{display:block;margin-top:4px}.topbar-actions{gap:12px}.global-search,.topbar-actions{align-items:center;display:flex}.global-search{background:var(--surface);border:1px solid var(--border);border-radius:999px;gap:8px;min-width:min(360px,32vw);padding:0 14px}.global-search input{background:transparent;border:0;min-height:42px;outline:0;width:100%}.topbar-user{align-items:center;display:flex;gap:10px}.sidebar-user small,.topbar-user small{color:var(--muted-foreground);display:block}.page-title,.section-title{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-bottom:22px}.page-title h1{font-size:clamp(30px,3vw,40px);letter-spacing:-.02em}.page-title p,.section-title p{color:var(--muted-foreground);font-size:15px;margin:8px 0 0;max-width:680px}.reception-eyebrow,.section-title span,.welcome-eyebrow{color:var(--primary);display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section-title h2{font-size:clamp(24px,2.3vw,32px);letter-spacing:-.02em;margin:4px 0 0}:root[data-theme=dark] .card{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 90%,white 2%),var(--card))}.card:hover{border-color:color-mix(in srgb,var(--primary) 24%,var(--border))}.button:hover{background:var(--primary-hover);transform:translateY(-1px)}.button.danger{border-color:var(--danger)}.field label,.field-label{color:var(--muted-foreground);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.field input,.field select,.field textarea,.inline-search input{background:var(--input);border:1px solid var(--border);border-radius:12px;color:var(--foreground);min-height:44px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus,.inline-search input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--ring);outline:0}.input-with-icon{align-items:center;background:var(--input);border:1px solid var(--border);border-radius:14px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:0 12px}.input-with-icon input{background:transparent;border:0;min-height:48px;outline:0;padding:0}.input-with-icon button{background:transparent;border:0;color:var(--muted-foreground);cursor:pointer;padding:6px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-md);overflow:auto}table{border-collapse:separate;border-spacing:0}th{background:color-mix(in srgb,var(--muted-surface) 70%,transparent);letter-spacing:.05em;position:-webkit-sticky;position:sticky;top:0;z-index:1}td,th{border-bottom:1px solid var(--border);padding:13px 14px}tbody tr:hover td{background:var(--card-hover)}.reception-payment-status,.status,.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;gap:8px;padding:6px 10px}.status-pill{background:var(--muted-surface);color:var(--foreground);justify-content:space-between}.tone-success{background:color-mix(in srgb,var(--success) 13%,transparent);color:var(--success)}.tone-info{background:color-mix(in srgb,var(--info) 14%,transparent);color:var(--info)}.tone-warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.tone-neutral{background:var(--muted-surface);color:var(--muted-foreground)}.theme-toggle{border-radius:14px;padding:4px}.theme-toggle button{border-radius:10px;min-height:34px;padding:7px 10px}.theme-toggle button.active{box-shadow:var(--shadow)}.login-shell:before{border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:48px;content:"";height:520px;position:absolute;right:-160px;top:-160px;transform:rotate(18deg);width:520px}.login-theme{right:28px;top:24px}.login-hero{grid-gap:34px;gap:34px;max-width:760px;position:relative;z-index:1}.login-product{gap:14px}.login-kicker{color:var(--primary);font-weight:850;letter-spacing:.1em}.login-hero h1{font-size:clamp(42px,6vw,72px);letter-spacing:-.045em;line-height:.98;margin:0 0 20px}.login-hero p:last-child{color:var(--muted-foreground);font-size:clamp(17px,2vw,21px);line-height:1.6;max-width:620px}.login-title{gap:14px;margin-bottom:28px}.login-title h2{font-size:26px}.login-title p{color:var(--muted-foreground);margin:4px 0 0}.active-clinic{background:var(--muted-surface);border-radius:16px;display:flex;gap:12px;padding:12px}.active-clinic img,.active-clinic span{align-items:center;background:var(--card);border-radius:12px;display:inline-flex;height:42px;justify-content:center;width:42px}.dashboard-welcome{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 19%,var(--card)),var(--card) 56%),var(--card);position:relative}.dashboard-welcome:after{background:radial-gradient(circle,color-mix(in srgb,var(--info) 22%,transparent),transparent 68%);content:"";height:280px;position:absolute;right:-90px;top:-110px;width:280px}.welcome-actions,.welcome-copy{position:relative;z-index:1}.welcome-copy h1{font-size:clamp(34px,4vw,52px);letter-spacing:-.04em;line-height:1;margin:8px 0 14px}.welcome-copy p{color:var(--muted-foreground);font-size:17px;line-height:1.6;max-width:760px}.welcome-badges{gap:9px;margin-top:18px}.welcome-badges span{background:color-mix(in srgb,var(--card) 78%,transparent);gap:6px;padding:8px 11px}.welcome-actions{grid-gap:10px;gap:10px;min-width:190px}.welcome-actions a{background:var(--surface-elevated);border:1px solid var(--border);border-radius:14px;font-weight:800;gap:8px;min-height:46px;padding:12px 14px}.operation-card{display:grid;grid-gap:10px;gap:10px;min-height:176px}.operation-card strong{font-size:clamp(30px,3vw,42px);letter-spacing:-.04em}.operation-card p{color:var(--muted-foreground);margin:0}.operation-card-primary{grid-row:span 2}.progress-track{background:var(--muted-surface);border-radius:999px;height:12px;overflow:hidden}.bar-row div span,.progress-track span{background:linear-gradient(90deg,var(--primary),var(--info));border-radius:inherit;display:block;height:100%}.operation-status-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-card{grid-row:span 2}.activity-list,.appointment-timeline,.bar-list,.timeline-item{display:grid;grid-gap:12px;gap:12px}.timeline-item{align-items:center;background:var(--surface-elevated);border:1px solid var(--border);border-radius:16px;grid-template-columns:64px auto minmax(0,1fr) auto;padding:12px}.timeline-item time{font-weight:850}.timeline-dot{background:var(--primary);border-radius:999px;box-shadow:0 0 0 6px color-mix(in srgb,var(--primary) 14%,transparent);height:10px;width:10px}.timeline-item p{color:var(--muted-foreground);margin:4px 0 0}.bar-row{display:grid;grid-gap:7px;gap:7px;grid-template-columns:minmax(0,1fr) auto}.bar-row div{background:var(--muted-surface);border-radius:999px;grid-column:1/-1;height:10px;overflow:hidden}.activity-item{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr)}.activity-item>span{align-items:center;background:var(--muted-surface);border-radius:12px;display:inline-flex;font-weight:900;height:40px;justify-content:center;width:40px}.activity-item small{color:var(--muted-foreground);display:block}.empty-state{align-items:center;background:var(--muted-surface);border:1px dashed var(--border);border-radius:16px;color:var(--muted-foreground);display:grid;grid-gap:4px;gap:4px;justify-items:center;min-height:110px;padding:20px;text-align:center}.empty-state strong{color:var(--foreground)}.empty-state.compact{min-height:82px}.create-form-card{margin-bottom:18px}.form-card-head span,.form-card-head strong{display:block}.form-card-head span{color:var(--primary);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.form-card-head strong{font-size:20px;margin-top:4px}.doctor-profile-card{align-items:flex-start;display:grid;grid-gap:16px;gap:16px;grid-template-columns:auto minmax(0,1fr)}.doctor-profile-card .actions{grid-column:1/-1}.doctor-profile-card.is-muted{opacity:.66}.doctor-avatar{align-items:center;background:color-mix(in srgb,var(--info) 16%,var(--muted-surface));border-radius:18px;color:var(--info);display:inline-flex;font-weight:900;height:58px;justify-content:center;width:58px}.doctor-profile-main h2{font-size:22px;margin:4px 0 12px}.doctor-stat-row{display:flex;flex-wrap:wrap;gap:8px}.doctor-stat-row span:not(.status){background:var(--muted-surface);border-radius:999px;padding:7px 10px}.service-category-card{display:grid;grid-gap:14px;gap:14px}.service-category-card .section-heading-row>strong{align-items:center;background:var(--primary);border-radius:999px;color:var(--primary-foreground);display:inline-flex;height:42px;justify-content:center;width:42px}.service-chip-list{display:grid;grid-gap:10px;gap:10px}.service-chip-card{align-items:center;background:var(--surface-elevated);border:1px solid var(--border);border-radius:14px;display:flex;gap:12px;justify-content:space-between;padding:12px}.service-chip-card span{color:var(--muted-foreground);display:block;margin-top:4px}.service-flag{background:color-mix(in srgb,var(--success) 13%,transparent);border-radius:999px;color:var(--success)!important;font-size:12px;font-weight:850;padding:6px 9px;white-space:nowrap}.service-flag.warning{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)!important}.detail-table-card,.weekly-planner-card{margin-top:18px}.planner-day{background:var(--surface-elevated);border:1px solid var(--border);border-radius:16px;min-height:180px;padding:12px}.planner-day>strong{display:block;margin-bottom:12px}.planner-slots{display:grid;grid-gap:8px;gap:8px}.planner-empty,.planner-slot{background:color-mix(in srgb,var(--primary) 11%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:12px;color:var(--primary);display:grid;font-weight:850;padding:9px}.planner-slot small{color:var(--muted-foreground);font-weight:600;margin-top:3px}.planner-empty,.planner-slot.muted{background:var(--muted-surface);border-color:var(--border);color:var(--muted-foreground)}.calendar-toolbar,.patient-list-card,.reception-card,.report-detail-section{border-radius:var(--radius-lg)}@media (max-width:1280px){.shell{grid-template-columns:94px minmax(0,1fr)}.sidebar{align-items:center}.clinic-context div,.global-search,.nav a span,.nav-label,.sidebar-brand>div:last-child,.sidebar-user .nav-button,.sidebar-user div,.topbar-user>div{display:none}.clinic-context{padding:8px}.nav a{justify-content:center;width:48px}}@media (max-width:1060px){.dashboard-insight-grid,.dashboard-operational-grid,.dashboard-welcome,.login-shell{grid-template-columns:1fr}.welcome-actions{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.operation-card-primary{grid-row:auto}.reports-page-title{align-items:stretch;flex-direction:column}}@media (max-width:760px){.shell{display:block;padding-bottom:76px}.sidebar{display:none}.mobile-bottom-nav{background:color-mix(in srgb,var(--card) 94%,transparent);border-top:1px solid var(--border);bottom:0;display:grid;grid-template-columns:repeat(5,1fr);left:0;position:fixed;right:0;z-index:50}.mobile-bottom-nav a{align-items:center;color:var(--muted-foreground);display:grid;font-size:11px;grid-gap:4px;gap:4px;justify-items:center;min-height:68px}.mobile-bottom-nav a.active{color:var(--primary)}.mobile-menu-button{display:inline-flex}.topbar{min-height:66px;padding:10px 14px}.topbar-quick-action,.topbar-user{display:none}.main{padding:16px}.page-title,.section-heading-row,.section-title{align-items:stretch;flex-direction:column}.grid.cols-2,.grid.cols-3,.grid.cols-4,.operation-status-grid{grid-template-columns:1fr}.login-shell{padding:86px 18px 24px}.login-hero h1{font-size:38px}.timeline-item{align-items:flex-start;grid-template-columns:58px auto minmax(0,1fr)}.timeline-item .status{grid-column:3}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:root[data-theme=dark]{--background:#0a1020;--background-secondary:#0d1628;--foreground:#f8fafc;--card:#111b2e;--card-foreground:#f8fafc;--muted-surface:#17243a;--muted-foreground:#a4b0c3;--text-muted:#728096;--border:#263651;--border-soft:rgba(148,163,184,0.14);--primary:#6366f1;--primary-hover:#4f46e5;--primary-active:#4338ca;--primary-soft:rgba(99,102,241,0.15);--primary-foreground:#ffffff;--secondary:#8b5cf6;--secondary-soft:rgba(139,92,246,0.14);--accent:#38bdf8;--accent-soft:rgba(56,189,248,0.14);--info:#60a5fa;--info-text:#93c5fd;--info-soft:rgba(37,99,235,0.18);--danger:#f87171;--danger-text:#fca5a5;--danger-soft:rgba(220,38,38,0.18);--warning:#f59e0b;--warning-text:#fcd34d;--warning-soft:rgba(217,119,6,0.18);--success:#22c55e;--success-text:#86efac;--success-soft:rgba(22,163,74,0.18);--no-show:#fb923c;--no-show-text:#fdba74;--no-show-soft:rgba(234,88,12,0.18);--rescheduled:#a78bfa;--rescheduled-text:#c4b5fd;--rescheduled-soft:rgba(126,34,206,0.18);--attended:#94a3b8;--attended-text:#cbd5e1;--attended-soft:rgba(100,116,139,0.2);--sidebar:#070d19;--sidebar-foreground:#e5e7eb;--topbar:#0b1323;--input:#0d1628;--hover:#1d2c45;--overlay:rgba(3,7,18,0.68);--soft-blue:var(--info-soft);--soft-green:var(--success-soft);--shadow:0 12px 32px rgba(2,6,23,0.28);--shadow-strong:0 28px 80px rgba(2,6,23,0.48)}.pagination-bar{align-items:center;border-top:1px solid var(--line);color:var(--muted);display:flex;justify-content:space-between;margin-top:14px;padding-top:14px}.pagination-bar .entity-actions{display:flex}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .16s ease,color .16s ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{color:#eef9fb;padding:24px 18px}.brand{font-size:22px;font-weight:700;margin-bottom:26px}.nav{grid-gap:8px;gap:8px}.nav a,.nav-button{align-items:center;display:inline-flex;gap:8px;border-radius:8px;color:#d9eef2;padding:11px 12px}.nav-button{background:transparent;border:0;cursor:pointer;text-align:left}.nav a:hover,.nav-button:hover{background:rgba(255,255,255,.12)}.main{padding:26px}.auth-main{min-height:100vh}.page-title{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title h1{font-size:28px;margin:0}.page-title p{color:var(--muted);margin:6px 0 0}.section-heading-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.section-heading-row h2,.section-heading-row p{margin-top:0}.inline-search{align-items:center;display:flex;gap:8px;max-width:100%}.inline-search input{border:1px solid var(--line);border-radius:7px;min-height:40px;min-width:min(300px,45vw);padding:8px 10px}@media (max-width:700px){.section-heading-row{flex-direction:column}.inline-search{width:100%}.inline-search input{min-width:0;width:100%}}.grid{display:grid;grid-gap:16px;gap:16px}.field,.form-grid>*,.grid>*,td,th{min-width:0}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.metric{color:var(--muted);font-size:13px}.metric strong{color:var(--ink);display:block;font-size:30px;margin-top:8px}.toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.field{display:grid;grid-gap:6px;gap:6px}.field label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.field input,.field select,.field textarea{background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--ink);min-height:40px;padding:8px 10px;width:100%}.field input,.field select{overflow:hidden;text-overflow:ellipsis}.field textarea{min-height:86px;resize:vertical}.button{background:var(--blue);border:0;border-radius:7px;color:#fff;cursor:pointer;min-height:40px;padding:8px 13px}.button.secondary{background:#edf5f8;color:var(--ink)}.button.danger{background:var(--danger)}.button.green{background:var(--green)}.button:disabled{cursor:not-allowed;opacity:.55}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}th{color:var(--muted);text-transform:uppercase}.badge,th{font-size:12px}.badge{border-radius:999px;display:inline-flex;font-weight:700;padding:5px 9px;white-space:nowrap}.status-PENDIENTE{background:#fff4ce;color:#795b00}.status-CONFIRMADA{background:var(--soft-green)}.status-EN_ESPERA{background:var(--soft-blue);color:#1b638b}.status-ATENDIDA{background:#edf0f2;color:#4a5960}.status-CANCELADA{background:#fde8e8;color:#9d2828}.status-NO_ASISTIO{background:#ffe9d8;color:#8b4a12}.status-REPROGRAMADA{background:#eee9fb;color:#563b91}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions .button{min-height:32px;padding:5px 9px}.entity-actions,.inline-edit-form{display:grid;grid-gap:8px;gap:8px}.inline-edit-form{background:#f7fbfc;border:1px solid var(--line);border-radius:8px;margin-top:4px;min-width:min(360px,70vw);padding:10px}.inline-edit-form input,.inline-edit-form select{border:1px solid var(--line);border-radius:7px;min-height:36px;padding:7px 9px;width:100%}.service-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-edit-form{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-edit-form .button{grid-column:1/-1}.check-row{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;gap:8px}.check-row input{min-height:auto;width:auto}.inline-error{color:var(--danger);font-size:12px;margin:0}.form-grid{display:grid;grid-gap:16px;gap:16px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-action{align-items:flex-end;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.8fr)}.appointment-card,.availability-card{overflow:hidden}.appointment-card .button.green,.availability-card .button.green{width:100%}.reception-title{margin-bottom:18px}.reception-grid{align-items:stretch;display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.reception-card{display:grid;min-height:156px}.availability-card h2,.reception-card h2{margin-top:0}.reception-section{margin-top:18px}.appointment-card .slots{min-height:32px}.slots{display:flex;flex-wrap:wrap;gap:8px}.slot{background:#eef7f4;border:1px solid #cce6dc;border-radius:7px;color:#1c634b;cursor:pointer;padding:7px 9px}.slot.selected{background:var(--green);color:#fff}.appointment-drawer-slots{min-height:42px}.availability-empty,.form-error{border:1px solid var(--line);border-radius:7px;color:var(--muted);line-height:1.45;padding:10px 12px;width:100%}.form-error{border-color:rgba(214,74,74,.38);color:var(--danger)}.calendar-toolbar{display:grid;grid-gap:14px;gap:14px;margin-bottom:18px}.calendar-filters,.calendar-nav,.view-tabs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px}.calendar-nav strong{font-size:20px;padding:8px 4px;text-transform:capitalize}.view-tabs{background:#edf5f8;border:1px solid var(--line);border-radius:8px;padding:4px;width:-moz-fit-content;width:fit-content}.view-tabs button{align-items:center;background:transparent;border:0;border-radius:7px;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;min-height:34px;padding:7px 11px}.view-tabs button.active{background:#fff;box-shadow:0 5px 14px rgba(25,60,72,.1);color:var(--ink);font-weight:700}.calendar-month{display:grid;grid-gap:1px;gap:1px;grid-template-columns:repeat(7,minmax(130px,1fr));overflow-x:auto}.calendar-weekday{color:var(--muted);font-size:12px;font-weight:700;padding:8px 10px;text-transform:uppercase}.month-day{background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;min-height:150px;padding:10px}.month-day:hover{border-color:#9fc8d8}.muted-day{background:#f8fafb;color:#8a9a9f}.month-day-head{align-items:center;display:flex;justify-content:space-between;gap:8px;margin-bottom:8px}.load-pill{border-radius:999px;font-size:11px;padding:4px 7px;white-space:nowrap}.load-low{background:#e7f6ee}.load-mid{background:#fff3c6;color:#7b5d00}.load-high{background:#fde3e3;color:#9d2828}.history-list,.month-events{display:grid;grid-gap:6px;gap:6px}.calendar-event{border:0;border-radius:7px;color:var(--ink);cursor:pointer;display:block;font-size:12px;line-height:1.25;padding:7px 8px;text-align:left;width:100%}.calendar-event span{font-weight:700}.week-grid{display:grid;grid-template-columns:74px repeat(7,minmax(150px,1fr));min-width:980px}.calendar-week{overflow-x:auto;padding:0}.week-cell,.week-day-head,.week-hour,.week-time-head{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.week-day-head{background:#f8fbfc;font-weight:700;padding:12px 10px;text-transform:capitalize}.week-hour{color:var(--muted);font-size:12px;padding:12px 10px}.week-cell{background:#fff;display:grid;grid-gap:6px;gap:6px;min-height:86px;padding:8px}.day-content:hover,.week-cell:hover{background:#f9fcfb}.empty-slot,.free-slot{background:#e8f7f1;border:1px dashed color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:7px;color:var(--accent);cursor:pointer;padding:7px 8px;text-align:left}.empty-slot{background:#f7fbfc;color:var(--muted)}.calendar-block{background:#e7ebee;border:1px solid #d1d9dd;border-radius:7px;color:#526168;font-size:12px;padding:7px 8px}.month-block{border-left:3px solid var(--warning);display:grid;grid-gap:2px;gap:2px;line-height:1.25;min-width:0;overflow:hidden}.month-block small,.month-block-main{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-block small{color:var(--muted);font-size:10px}.day-agenda{display:grid;grid-gap:0;gap:0;padding:0}.day-agenda h2{margin:0;padding:18px;text-transform:capitalize}.day-row{display:grid;grid-template-columns:90px 1fr;min-height:92px}.day-hour{color:var(--muted);font-size:12px;padding:14px}.day-content,.day-hour{border-top:1px solid var(--line)}.day-content{border-left:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding:10px}.event-main{background:transparent;border:0;color:inherit;cursor:pointer;display:block;padding:0;text-align:left;width:100%}.drawer{background:rgba(14,32,38,.35);bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:30}.drawer-panel{background:#fff;box-shadow:-18px 0 40px rgba(18,45,54,.16);max-width:520px;overflow-y:auto;padding:22px;width:min(520px,100%)}.drawer-head{align-items:flex-start;display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.drawer-head h2{margin:0}.drawer-head p{color:var(--muted);margin:4px 0 0}.detail-grid{display:grid;grid-gap:10px 14px;gap:10px 14px;grid-template-columns:130px 1fr;margin-bottom:18px}.detail-grid span{color:var(--muted)}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.patient-search{position:relative}.patient-search-box{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;display:flex;gap:8px;min-height:40px;padding:0 9px}.patient-search-box input{border:0;min-height:38px;padding:0}.patient-search-box input:focus{outline:0}.patient-clear{align-items:center;background:#eef4f6;border:0;border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;height:24px;justify-content:center;width:24px}.patient-results{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;left:0;max-height:280px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 4px);z-index:30}.patient-create-trigger,.patient-result{background:transparent;border:0;border-radius:6px;color:var(--ink);cursor:pointer;display:grid;grid-gap:3px;gap:3px;padding:9px 10px;text-align:left}.patient-create-trigger:hover,.patient-result:hover{background:#f1f7fa}.patient-result span,.patient-result.muted{color:var(--muted);font-size:13px}.patient-create-trigger{align-items:center;color:var(--blue);display:flex;font-weight:700;gap:8px}.patient-create-panel{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin-top:8px;padding:12px}.availability-board{display:grid;grid-gap:16px;gap:16px;margin-top:14px}.availability-section{margin-top:10px}.block-chip,.busy-chip{border-radius:999px;display:inline-flex;font-size:12px;padding:6px 9px}.busy-chip{background:#fde8e8;color:#8d2d2d}.busy-chip-detail{align-items:flex-start;display:grid;grid-gap:2px;gap:2px;line-height:1.25}.busy-chip-detail small{color:#7a3a3a}.block-chip{background:#e7ebee;color:#526168}.login-shell{background:linear-gradient(135deg,rgba(15,58,68,.94),rgba(20,104,91,.88)),url(https://images.unsplash.com/photo-1505751172876-fa1923c5c528?auto=format&fit=crop&w=1600&q=80);grid-template-columns:minmax(0,1.15fr) minmax(360px,460px);padding:48px}.login-hero{color:#eef9fb;display:grid;grid-gap:28px;gap:28px;max-width:720px}.login-brand-mark{align-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:8px;display:inline-flex;font-size:22px;font-weight:800;height:58px;justify-content:center;width:58px}.login-kicker{color:#aee5d4;font-size:13px;font-weight:800;letter-spacing:0;margin:0 0 12px;text-transform:uppercase}.login-hero h1{font-size:clamp(38px,6vw,64px);line-height:1.02;margin:0;max-width:680px}.login-hero p{color:rgba(238,249,251,.86);font-size:18px;line-height:1.55;margin:16px 0 0;max-width:620px}.login-stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,150px))}.login-stats div{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:14px}.login-stats strong{display:block;font-size:26px}.login-stats span{color:rgba(238,249,251,.78);display:block;font-size:13px;margin-top:4px}.login-panel{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.65);border-radius:8px;box-shadow:0 24px 70px rgba(4,29,35,.28)}.login-title{margin-bottom:18px}.login-title h2{font-size:28px}.login-title p{color:var(--muted);margin:6px 0 0}.login-panel .card{border:0;box-shadow:none;padding:0}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3,.form-grid-action,.grid.cols-2,.grid.cols-3,.grid.cols-4,.login-shell,.reception-grid{grid-template-columns:1fr}.login-shell{padding:28px}.login-hero h1{font-size:38px}.login-stats{grid-template-columns:1fr}.calendar-month{grid-template-columns:repeat(7,minmax(170px,1fr))}.day-row{grid-template-columns:70px 1fr}}html{background:var(--background)}body,button,input,select,textarea{letter-spacing:0}a,button,input,select,textarea{outline-color:var(--primary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:2px}.shell{background:var(--background);grid-template-columns:264px minmax(0,1fr)}.workspace{min-width:0}.sidebar{color:var(--sidebar-foreground);height:100vh;padding:20px 16px}.login-product,.sidebar-brand{align-items:center;display:flex;gap:11px}.sidebar-brand{padding:2px 7px 18px}.login-product,.sidebar-brand>div:last-child{min-width:0}.login-product strong,.sidebar-brand strong{display:block;font-size:20px;font-weight:750}.sidebar-brand span,.sidebar-user small,.topbar-user small{color:color-mix(in srgb,var(--sidebar-foreground) 66%,transparent);display:block;font-size:11px;margin-top:2px}.login-panel-mark,.product-mark,.settings-icon{align-items:center;background:var(--primary);border-radius:8px;color:var(--primary-foreground);display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;width:40px}.clinic-context{align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:36px minmax(0,1fr);margin-bottom:22px;padding:10px}.active-clinic img,.active-clinic>span,.clinic-context img,.clinic-context>span{align-items:center;background:rgba(255,255,255,.1);border-radius:7px;display:flex;height:36px;justify-content:center;object-fit:contain;width:36px}.active-clinic small,.clinic-context small{color:color-mix(in srgb,currentColor 65%,transparent);display:block;font-size:10px;text-transform:uppercase}.clinic-context strong{display:block;font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-label{color:color-mix(in srgb,var(--sidebar-foreground) 46%,transparent);font-size:10px;font-weight:700;padding:0 10px 8px;text-transform:uppercase}.nav{gap:4px}.nav a,.nav-button{border-radius:7px;color:color-mix(in srgb,var(--sidebar-foreground) 78%,transparent);min-height:42px;padding:10px 11px;transition:background-color .14s ease,color .14s ease}.nav a.active,.nav a:hover,.nav-button:hover{background:rgba(255,255,255,.09);color:var(--sidebar-foreground)}.sidebar-user{align-items:center;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-gap:9px;gap:9px;grid-template-columns:34px minmax(0,1fr) 34px;margin-top:auto;padding:16px 6px 0}.sidebar-user strong,.topbar-user strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar{align-items:center;background:color-mix(in srgb,var(--primary) 26%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);border-radius:50%;color:var(--foreground);display:inline-flex;flex:0 0 auto;font-size:11px;font-weight:800;height:34px;justify-content:center;width:34px}.sidebar .user-avatar{background:rgba(255,255,255,.1);color:var(--sidebar-foreground)}.nav-button.compact{align-items:center;height:34px;justify-content:center;min-height:34px;padding:0;width:34px}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:18px;min-height:68px;padding:10px 26px}.topbar-context span,.topbar-context strong{display:block}.topbar-context strong{font-size:13px}.topbar-context span{color:var(--muted-foreground);font-size:12px;margin-top:3px;text-transform:capitalize}.topbar-actions,.topbar-user{align-items:center;display:flex;gap:10px}.topbar-user{border-left:1px solid var(--border);min-width:160px;padding-left:12px}.topbar-user small{color:var(--muted-foreground)}.main{padding:24px 26px 40px}.theme-toggle{background:var(--muted-surface);border:1px solid var(--border);border-radius:8px;gap:3px;padding:3px;width:-moz-fit-content;width:fit-content}.theme-toggle,.theme-toggle button{align-items:center;display:inline-flex}.theme-toggle button{background:transparent;border:0;border-radius:6px;color:var(--muted-foreground);cursor:pointer;gap:6px;height:34px;justify-content:center;padding:0 10px}.theme-toggle.compact button{padding:0;width:34px}.theme-toggle button.active{background:var(--card);box-shadow:0 3px 10px rgba(15,42,47,.1);color:var(--foreground)}.page-title{margin-bottom:18px}.page-title h1{font-size:26px;font-weight:750}.page-title p,.section-title p,.settings-section-heading p{color:var(--muted-foreground)}.section-title{align-items:flex-end;display:flex;gap:20px;justify-content:space-between;margin:22px 0 13px}.field-label,.section-title span,.welcome-eyebrow{color:var(--primary);display:block;font-size:11px;font-weight:800;text-transform:uppercase}.section-title h2{font-size:20px;margin:3px 0 0}.section-title p{font-size:13px;margin:0}.dashboard-welcome{align-items:stretch;background:linear-gradient(115deg,color-mix(in srgb,var(--primary) 17%,var(--card)),var(--card) 58%,color-mix(in srgb,var(--secondary) 11%,var(--card)));border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:8px;box-shadow:var(--shadow);grid-template-columns:minmax(0,1fr) minmax(220px,320px);padding:24px}.welcome-copy h1{font-size:30px;margin:7px 0 8px}.welcome-copy>p{color:var(--muted-foreground);line-height:1.55;margin:0;max-width:780px}.welcome-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.welcome-badges span{align-items:center;background:color-mix(in srgb,var(--card) 76%,transparent);border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);display:inline-flex;font-size:11px;gap:5px;min-height:28px;padding:5px 9px;text-transform:capitalize}.welcome-badges .role-badge{background:color-mix(in srgb,var(--primary) 14%,var(--card));color:var(--primary);font-weight:800}.welcome-actions{align-content:center;border-left:1px solid var(--border);display:grid;grid-gap:7px;gap:7px;padding-left:22px}.welcome-actions a{align-items:center;border-radius:7px;color:var(--foreground);display:flex;font-size:13px;font-weight:700;justify-content:space-between;min-height:38px;padding:8px 10px}.welcome-actions a:hover{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.card{background:var(--card);border-color:var(--border);color:var(--card-foreground)}.card h2{font-size:19px;margin-top:0}.grid.cols-4>.card.metric{border-top:3px solid color-mix(in srgb,var(--primary) 65%,var(--secondary));min-height:104px}.metric strong{color:var(--foreground);font-size:27px}.drawer-panel,.field input,.field select,.field textarea,.inline-edit-form input,.inline-edit-form select,.inline-search input,.patient-create-panel,.patient-results,.patient-search-box{background:var(--input);border-color:var(--border);color:var(--foreground)}.field input[type=color]{cursor:pointer;min-width:72px;padding:4px}.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb,var(--muted-foreground) 72%,transparent)}.button{background:var(--secondary);color:#ffffff;font-weight:650}.button.green{background:var(--primary)}.button.secondary,.inline-edit-form,.patient-clear,.view-tabs{background:var(--muted-surface);color:var(--foreground)}table{color:var(--foreground)}th{color:var(--muted-foreground);letter-spacing:0}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:var(--hover)}.month-day,.view-tabs button.active,.week-cell,.week-day-head{background:var(--card);color:var(--foreground)}.empty-slot,.muted-day{background:var(--muted-surface);color:var(--muted-foreground)}.month-day:hover{border-color:color-mix(in srgb,var(--primary) 52%,var(--border))}.day-content:hover,.patient-create-trigger:hover,.patient-result:hover,.week-cell:hover{background:var(--hover)}.free-slot,.slot{background:color-mix(in srgb,var(--success) 12%,var(--card));border-color:color-mix(in srgb,var(--success) 38%,var(--border));color:var(--success)}.block-chip,.calendar-block{background:var(--muted-surface);color:var(--muted-foreground)}.drawer{background:var(--overlay)}.event-main,.patient-create-trigger,.patient-result{color:var(--foreground)}.busy-chip{background:color-mix(in srgb,var(--danger) 14%,var(--card));color:var(--danger)}:root[data-theme=dark] .load-mid,:root[data-theme=dark] .status-PENDIENTE{background:#473a17;color:#f4ce72}:root[data-theme=dark] .load-low,:root[data-theme=dark] .status-CONFIRMADA{background:var(--success-soft);color:var(--success-text)}:root[data-theme=dark] .status-EN_ESPERA{background:#173946;color:#83c8e8}:root[data-theme=dark] .status-ATENDIDA{background:#283a3f;color:#c1cdd0}:root[data-theme=dark] .load-high,:root[data-theme=dark] .status-CANCELADA{background:#48252a;color:#ff9ca2}:root[data-theme=dark] .status-NO_ASISTIO{background:#49331f;color:#f0b77d}:root[data-theme=dark] .status-REPROGRAMADA{background:#342c4d;color:#c5afea}.settings-section-heading{align-items:flex-start;display:flex;gap:12px;margin-bottom:18px}.settings-section-heading h2,.settings-section-heading p{margin:0}.settings-section-heading p{font-size:13px;margin-top:5px}.appearance-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.appearance-grid>div{background:var(--muted-surface);border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:8px;gap:8px;min-height:82px;padding:12px}.product-name{font-size:20px}.login-shell{background:linear-gradient(110deg,rgba(5,25,29,.93),rgba(9,47,52,.78)),url(https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=1800&q=85);background-position:50%;background-size:cover;grid-template-columns:minmax(0,1.1fr) minmax(360px,430px);padding:48px clamp(28px,6vw,92px)}.login-theme{position:absolute;right:24px;top:22px;z-index:2}.login-theme .theme-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.17)}.login-theme .theme-toggle button{color:rgba(255,255,255,.72)}.login-theme .theme-toggle button.active{background:rgba(255,255,255,.16);color:#ffffff}.login-hero{align-content:center;gap:42px}.login-product .product-mark{height:44px;width:44px}.login-kicker{color:#8fd8c1}.login-hero h1{font-size:clamp(38px,5vw,60px);max-width:620px}.login-hero p{font-size:17px;max-width:580px}.login-benefits{display:flex;flex-wrap:wrap;gap:10px}.login-benefits span{align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:7px;color:rgba(255,255,255,.86);display:inline-flex;font-size:12px;gap:7px;padding:9px 11px}.login-panel{background:color-mix(in srgb,var(--card) 96%,transparent);color:var(--foreground);padding:28px}.login-title{align-items:center;display:flex;gap:11px}.login-title h2{font-size:24px}.login-form{gap:14px}.login-form .button{margin-top:4px;width:100%}.active-clinic{align-items:center;border-top:1px solid var(--border);color:var(--foreground);display:grid;grid-gap:10px;gap:10px;grid-template-columns:36px minmax(0,1fr);margin-top:22px;padding-top:16px}.active-clinic img,.active-clinic>span{background:var(--muted-surface);font-size:11px;font-weight:800}.active-clinic strong{display:block;font-size:12px;margin-top:3px}.access-state{margin:15vh auto;max-width:520px}.reports-page-title{align-items:flex-end}.reports-toolbar{flex:1 1 760px;justify-content:flex-end}.report-export-panel{display:grid;grid-gap:18px;gap:18px;margin-bottom:20px;overflow:hidden;position:relative}.report-export-panel:before{background:var(--primary);content:"";height:3px;left:0;position:absolute;right:0;top:0}.report-export-heading{align-items:center;display:grid;grid-gap:12px;gap:12px;grid-template-columns:40px minmax(0,1fr) auto}.report-export-heading h2{font-size:19px;margin-bottom:3px}.report-export-heading p{color:var(--muted-foreground);font-size:13px}.report-export-icon{background:color-mix(in srgb,var(--primary) 14%,transparent);border-radius:7px;color:var(--primary);height:40px;justify-content:center;width:40px}.report-export-icon,.secure-export{align-items:center;display:inline-flex}.secure-export{font-size:11px;font-weight:700;gap:6px;text-transform:uppercase}.report-export-form{align-items:flex-end;border-top:1px solid var(--border);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(240px,1fr) auto;padding-top:16px}.report-type-field{max-width:440px}.report-export-actions{display:flex;gap:9px}.report-export-actions .button{min-height:42px}.report-pdf-button{background:var(--foreground);color:var(--background)}.report-pdf-button:hover{background:color-mix(in srgb,var(--foreground) 88%,var(--background))}.report-detail-section{margin-top:18px}.report-income-total{color:var(--success);font-size:21px}.form-message.error{background:color-mix(in srgb,var(--danger) 10%,var(--card));border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:7px;color:var(--danger);margin-bottom:18px;padding:12px 14px}@media (max-width:1100px){.shell{grid-template-columns:220px minmax(0,1fr)}.dashboard-welcome{grid-template-columns:1fr}.welcome-actions{border-left:0;border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0;padding-top:14px}.appearance-grid{grid-template-columns:1fr}}@media (max-width:820px){.shell{display:block}.sidebar{height:auto;padding:14px;position:static}.sidebar-brand{padding-bottom:12px}.clinic-context,.nav-label,.sidebar-user{display:none}.nav{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{flex:0 0 auto;min-height:38px;padding:8px 10px}.nav a.active{box-shadow:inset 0 -3px 0 var(--primary)}.topbar{padding:9px 16px}.topbar-user{min-width:0}.topbar-user>div{display:none}.main{padding:18px 16px 32px}.report-export-form,.report-export-heading,.reports-page-title{align-items:stretch;grid-template-columns:1fr}.reports-page-title{align-items:stretch;flex-direction:column}.reports-toolbar{display:grid;flex:none;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:flex-start;width:100%}.reports-toolbar .field{min-width:0}.reports-toolbar .button,.reports-toolbar .field:nth-of-type(4){grid-column:1/-1}.secure-export{justify-self:start}.report-type-field{max-width:none}.form-grid-3,.form-grid-action,.grid.cols-2,.grid.cols-3,.grid.cols-4,.login-shell,.reception-grid{grid-template-columns:1fr}.login-shell{align-content:center;padding:76px 22px 30px}.login-hero{gap:22px;margin:0 auto 24px;width:min(540px,100%)}.login-hero h1{font-size:36px}.login-panel{margin:0 auto;width:min(540px,100%)}}@media (max-width:560px){.nav a span,.topbar-context span{display:none}.topbar-context strong{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .theme-toggle button{height:30px;width:30px}.dashboard-welcome{padding:19px}.welcome-copy h1{font-size:25px}.welcome-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.view-tabs{flex-wrap:nowrap;gap:2px;width:100%}.view-tabs button{flex:1 1;justify-content:center;min-width:0;padding:7px 4px}.report-export-actions{display:grid;grid-template-columns:1fr}.section-title{align-items:flex-start;flex-direction:column;gap:5px}.login-benefits{display:grid}.login-panel{padding:22px}}.patient-record-panel{background:var(--card);color:var(--card-foreground);max-width:820px;padding:0;width:min(820px,100%)}.patient-record-head{background:var(--muted-surface);border-bottom:1px solid var(--line);margin:0;padding:22px 24px 18px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.record-kicker{color:var(--primary);display:block;font-size:11px;font-weight:800;margin-bottom:5px;text-transform:uppercase}.icon-button{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:7px;color:var(--card-foreground);cursor:pointer;display:inline-flex;height:38px;justify-content:center;min-width:38px;padding:0}.icon-button:hover{border-color:var(--primary);color:var(--primary)}.patient-record-form{padding:0 24px 88px}.record-section{border-bottom:1px solid var(--line);padding:24px 0}.record-section-title{align-items:baseline;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px}.record-section-title h3{font-size:17px;margin:0}.record-section-title span{color:var(--muted-foreground);font-size:12px}.record-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.record-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.record-grid .span-2{grid-column:span 2}.patient-record-form .field input:disabled,.patient-record-form .field select:disabled,.patient-record-form .field textarea:disabled{background:var(--muted-surface);color:var(--muted-foreground);cursor:not-allowed;opacity:1}.pregnancy-toggle{align-items:center;align-self:end;cursor:pointer;display:flex;gap:9px;min-height:40px}.pregnancy-toggle input{height:1px;opacity:0;position:absolute;width:1px}.pregnancy-toggle span{background:var(--muted-surface);border:1px solid var(--line);border-radius:14px;display:block;height:24px;position:relative;transition:background .16s ease;width:44px}.pregnancy-toggle span:after{background:var(--muted-foreground);border-radius:50%;content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform .16s ease;width:16px}.pregnancy-toggle input:checked+span{background:var(--primary);border-color:var(--primary)}.pregnancy-toggle input:checked+span:after{background:#ffffff;transform:translateX(20px)}.pregnancy-toggle input:focus-visible+span{outline:2px solid var(--secondary);outline-offset:2px}.pregnancy-toggle.disabled{cursor:not-allowed;opacity:.72}.record-loading{align-items:center;color:var(--muted-foreground);display:flex;gap:10px;justify-content:center;min-height:240px}.spin{animation:record-spin .8s linear infinite}@keyframes record-spin{to{transform:rotate(1turn)}}.form-success{background:color-mix(in srgb,var(--primary) 12%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:7px;color:var(--primary);margin:18px 0 0;padding:10px 12px}.patient-record-footer{align-items:center;background:var(--card);border-top:1px solid var(--line);bottom:0;display:flex;gap:10px;justify-content:flex-end;padding:14px 24px;position:-webkit-sticky;position:sticky;z-index:2}.record-history small,.table-secondary{color:var(--muted-foreground);display:block;font-size:11px;margin-top:3px}.record-number{color:var(--primary);font-size:12px;white-space:nowrap}.patients-table .actions{flex-wrap:nowrap;min-width:max-content}@media (max-width:760px){.patient-record-form,.patient-record-head{padding-left:16px;padding-right:16px}.record-grid,.record-grid-3{grid-template-columns:1fr}.record-grid .span-2{grid-column:auto}.record-section-title{align-items:flex-start;flex-direction:column;gap:4px}.patient-record-footer{padding:12px 16px}.patient-record-footer .button{flex:1 1}}.reception-grid{align-items:flex-start;grid-template-columns:minmax(740px,1.45fr) minmax(360px,.75fr)}.reception-card{display:block;min-height:0}.appointment-form-head,.reception-panel-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.reception-panel-head{margin-bottom:14px}.appointment-form-head h2,.reception-panel-head h2{font-size:19px;margin:3px 0 0}.reception-eyebrow{display:block;font-size:10px;text-transform:uppercase}.reception-count,.reception-eyebrow{color:var(--primary);font-weight:800}.reception-count{align-items:center;background:color-mix(in srgb,var(--primary) 14%,var(--card));border-radius:999px;display:inline-flex;font-size:13px;height:30px;justify-content:center;min-width:30px;padding:0 9px}.reception-count.alert{background:color-mix(in srgb,var(--danger) 13%,var(--card));color:var(--danger)}.reception-table-wrap{overflow-x:visible}.reception-appointments-table{table-layout:fixed}.reception-appointments-table .col-time{width:8%}.reception-appointments-table .col-patient{width:19%}.reception-appointments-table .col-service{width:22%}.reception-appointments-table .col-payment{width:11%}.reception-appointments-table .col-status{width:13%}.reception-appointments-table .col-actions{width:27%}.reception-appointments-table td,.reception-appointments-table th{padding:12px 8px;vertical-align:middle}.reception-appointments-table td:first-child,.reception-appointments-table th:first-child{padding-left:0}.reception-appointments-table td:last-child,.reception-appointments-table th:last-child{padding-right:0}.reception-appointments-table .service-name,.reception-appointments-table td>strong{display:block;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.reception-appointments-table td small{color:var(--muted-foreground);display:block;font-size:11px;line-height:1.3;margin-top:3px;overflow-wrap:anywhere}.appointment-time{color:var(--foreground);font-size:14px!important;white-space:nowrap}.appointment-row-actions{display:grid;grid-gap:6px;gap:6px;grid-template-columns:minmax(0,1fr)}.reception-status-select{background:var(--input);border:1px solid var(--border);border-radius:6px;color:var(--foreground);font-size:11px;height:32px;min-width:0;padding:0 7px;width:100%}.reception-payment-trigger{font-size:11px;gap:5px;min-height:32px;padding:5px 7px;width:100%}.reception-payment-status{border-radius:999px;display:inline-flex;font-size:10px;font-weight:800;padding:5px 7px;white-space:nowrap}.reception-payment-status.paid{background:color-mix(in srgb,var(--primary) 14%,var(--card));color:var(--primary)}.reception-payment-status.pending{background:color-mix(in srgb,#d89b21 16%,var(--card));color:color-mix(in srgb,#d89b21 78%,var(--foreground))}.reception-empty{color:var(--muted-foreground);padding:34px 8px!important;text-align:center}.reception-panel-description{line-height:1.45;margin:-4px 0 14px}.handoff-list{display:grid;grid-gap:10px;gap:10px}.handoff-item{background:var(--muted-surface);border:1px solid var(--border);border-radius:7px;padding:13px}.handoff-item-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.handoff-item-head>strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.handoff-badges{display:flex;flex-shrink:0;gap:5px}.handoff-badges span{background:var(--card);border:1px solid var(--border);border-radius:999px;color:var(--muted-foreground);font-size:9px;font-weight:800;padding:4px 6px;white-space:nowrap}.handoff-badges .priority-ALTA,.handoff-badges .priority-URGENTE{background:color-mix(in srgb,var(--danger) 13%,var(--card));color:var(--danger)}.handoff-appointment,.handoff-message,.handoff-meta{font-size:12px;line-height:1.45;margin:7px 0 0;overflow-wrap:anywhere}.handoff-appointment,.handoff-meta{color:var(--muted-foreground)}.handoff-meta{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.handoff-item>.actions{margin-top:11px}.handoff-item>.actions .button{min-height:30px;padding:4px 9px}.handoff-empty{align-items:center;color:var(--muted-foreground);display:flex;flex-direction:column;font-size:12px;gap:3px;justify-content:center;min-height:110px;text-align:center}.handoff-empty strong{color:var(--foreground);font-size:14px}.appointment-card-compact{gap:15px}.appointment-form-head{border-bottom:1px solid var(--border);padding-bottom:13px}.appointment-form-head p{color:var(--muted-foreground);font-size:12px;margin:4px 0 0}.appointment-primary-grid{grid-template-columns:minmax(260px,1fr) minmax(180px,.7fr) minmax(300px,1.25fr)}.appointment-secondary-grid{grid-template-columns:repeat(3,minmax(200px,1fr))}.payment-dialog-backdrop{align-items:center;background:rgba(3,18,21,.58);bottom:0;display:flex;justify-content:center;left:0;padding:18px;position:fixed;right:0;top:0;z-index:50}.payment-dialog{background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 22px 60px rgba(0,0,0,.24);color:var(--foreground);display:grid;grid-gap:14px;gap:14px;max-width:390px;padding:20px;width:100%}.payment-dialog-actions,.payment-dialog-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.payment-dialog-head h2{font-size:19px;margin:2px 0 0}.payment-dialog-actions{justify-content:flex-end;margin-top:3px}@media (max-width:1400px){.reception-grid{grid-template-columns:1fr}}@media (max-width:900px){.appointment-primary-grid,.appointment-secondary-grid{grid-template-columns:1fr}}@media (max-width:760px){.reception-appointments-table,.reception-appointments-table tbody,.reception-appointments-table td,.reception-appointments-table tr{display:block;width:100%}.reception-appointments-table colgroup,.reception-appointments-table thead{display:none}.reception-appointments-table tr{border-bottom:1px solid var(--border);padding:11px 0}.reception-appointments-table td,.reception-appointments-table td:first-child,.reception-appointments-table td:last-child{align-items:flex-start;border:0;display:grid;grid-gap:10px;gap:10px;grid-template-columns:84px minmax(0,1fr);padding:5px 0}.reception-appointments-table td:before{color:var(--muted-foreground);content:attr(data-label);font-size:10px;font-weight:800;padding-top:3px;text-transform:uppercase}.reception-appointments-table .reception-empty{display:block}.reception-appointments-table .reception-empty:before{content:none}.appointment-row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-form-head,.handoff-item-head{flex-direction:column}}.shell{grid-template-columns:304px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,color-mix(in srgb,var(--sidebar) 96%,var(--background-secondary)),var(--sidebar));border-right:1px solid color-mix(in srgb,var(--sidebar-foreground) 10%,transparent);display:flex;flex-direction:column;gap:18px;min-height:100vh;padding:22px 16px;position:-webkit-sticky;position:sticky;top:0}.main{padding:clamp(18px,3vw,36px)}.topbar{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,var(--background) 88%,transparent);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:78px;padding:14px clamp(18px,3vw,34px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav{align-content:flex-start;display:grid;grid-gap:18px;gap:18px;overflow:auto}.nav-group{display:grid;grid-gap:6px;gap:6px}.nav a{border:1px solid transparent;border-radius:13px;color:color-mix(in srgb,var(--sidebar-foreground) 82%,transparent);min-height:42px;padding:10px 12px}.nav a:hover{background:var(--sidebar-hover);transform:translateX(2px)}.nav a.active,.nav a:hover{color:var(--sidebar-foreground)}.nav a.active{border-color:color-mix(in srgb,var(--primary) 38%,transparent)}.card{background:linear-gradient(180deg,color-mix(in srgb,var(--card) 96%,white),var(--card));border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:var(--radius-md);padding:clamp(18px,2vw,24px)}.button{align-items:center;background:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 82%,transparent);border-radius:12px;box-shadow:0 10px 20px color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary-foreground);display:inline-flex;font-weight:750;gap:8px;justify-content:center;min-height:42px;padding:10px 14px}.actions .button.secondary,.button.secondary{background:var(--muted-surface);border-color:transparent;box-shadow:none}.login-shell{background:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--primary) 28%,transparent),transparent 24rem),radial-gradient(circle at 86% 82%,color-mix(in srgb,var(--info) 22%,transparent),transparent 28rem),linear-gradient(135deg,var(--background),color-mix(in srgb,var(--background) 82%,var(--primary)));grid-gap:clamp(24px,5vw,70px);gap:clamp(24px,5vw,70px);grid-template-columns:minmax(0,1.08fr) minmax(380px,.72fr);min-height:100vh;padding:clamp(24px,6vw,76px)}.login-panel{background:color-mix(in srgb,var(--card) 90%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:28px;position:relative;z-index:1}.dashboard-welcome,.login-panel{box-shadow:var(--shadow-strong);padding:clamp(24px,4vw,38px)}.dashboard-welcome{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 19%,var(--card)),var(--card) 56%);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:26px;display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:28px;overflow:hidden}.dashboard-operational-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(330px,1.3fr) repeat(3,minmax(180px,.7fr))}.dashboard-insight-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(420px,1.25fr) minmax(280px,.75fr);margin-top:18px}.doctor-card-grid,.service-category-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));margin-top:18px}.weekly-planner{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(7,minmax(160px,1fr));overflow:auto;padding-bottom:4px}.mobile-bottom-nav,.mobile-menu-button{display:none}.doctor-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.doctor-profile-card{align-content:flex-start;display:flex;flex-direction:column;gap:18px;min-height:0;overflow:hidden}.doctor-photo-frame{align-items:center;aspect-ratio:16/10;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 40%),color-mix(in srgb,var(--info) 14%,var(--muted-surface));border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:18px;color:var(--info);display:flex;font-size:28px;font-weight:900;justify-content:center;overflow:hidden;width:100%}.doctor-photo-frame img{height:100%;object-fit:cover;width:100%}.doctor-photo-frame span{align-items:center;background:color-mix(in srgb,var(--card) 72%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:18px;display:inline-flex;height:76px;justify-content:center;width:76px}.doctor-profile-main{display:grid;grid-gap:10px;gap:10px}.doctor-profile-main h2{font-size:clamp(21px,2vw,26px);line-height:1.15;margin:0;overflow-wrap:anywhere}.doctor-profile-main p{color:var(--muted-foreground);line-height:1.45;margin:0;overflow-wrap:anywhere}.doctor-profile-card .entity-actions{margin-top:auto}.doctor-profile-card .actions{display:flex;flex-wrap:wrap;gap:8px}.doctor-profile-card .actions .button{flex:1 1 118px;min-width:0}.doctor-profile-card .inline-edit-form{background:color-mix(in srgb,var(--muted-surface) 72%,transparent);border:1px solid var(--border);border-radius:14px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr;margin-top:12px;padding:12px}.doctor-profile-card .inline-edit-form input{min-width:0;width:100%}.ai-control-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid var(--border);border-left:3px solid var(--success);background:var(--muted-surface);border-radius:8px}.ai-control-panel.is-paused{border-left-color:var(--danger)}.ai-control-status{display:flex;align-items:center;gap:12px;min-width:0}.ai-control-status p,.ai-control-status strong{display:block}.ai-control-status p{margin:3px 0 0;color:var(--text-muted)}@media (max-width:720px){.ai-control-panel{align-items:stretch;flex-direction:column}}.doctor-profile-card .inline-edit-form .compact-file-input input{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;min-width:0;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.doctor-form-layout{align-items:stretch;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(220px,.38fr) minmax(0,1fr)}.doctor-form-layout .span-2{grid-column:1/-1}.doctor-photo-uploader{align-items:center;aspect-ratio:4/3;background:color-mix(in srgb,var(--info) 11%,var(--muted-surface));border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:18px;color:var(--muted-foreground);cursor:pointer;display:flex;font-weight:800;justify-content:center;min-height:220px;overflow:hidden;padding:18px;text-align:center}.compact-file-input input,.doctor-photo-uploader input{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.doctor-photo-uploader span{align-items:center;display:grid;grid-gap:10px;gap:10px;justify-items:center}.doctor-photo-uploader img{height:100%;object-fit:cover;width:100%}.doctor-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.doctor-edit-form .field{gap:6px}.compact-file-input{align-items:center;background:var(--surface-elevated);border:1px dashed var(--border);border-radius:12px;color:var(--foreground);cursor:pointer;display:flex;font-weight:800;justify-content:center;min-height:44px;padding:10px 12px}.doctor-edit-preview{background:var(--surface-elevated);border:1px solid var(--border);border-radius:14px;grid-column:1/-1;overflow:hidden}.doctor-edit-preview img{aspect-ratio:16/7;display:block;object-fit:cover;width:100%}.doctor-edit-form .button{grid-column:1/-1}@media (max-width:1280px){.shell{grid-template-columns:94px minmax(0,1fr)}.sidebar{align-items:center}.clinic-context div,.global-search,.nav a span,.nav-label,.sidebar-brand>div:last-child,.sidebar-user .nav-button,.sidebar-user div,.topbar-user>div{display:none!important}.sidebar-user{grid-template-columns:1fr;justify-items:center}.sidebar-user .user-avatar{height:40px;width:40px}.clinic-context{padding:8px}.nav a{gap:0;justify-content:center;overflow:hidden;padding:0;width:48px}}@media (max-width:1060px){.dashboard-insight-grid,.dashboard-operational-grid,.dashboard-welcome,.login-shell{grid-template-columns:1fr}.operation-card-primary{grid-row:auto}}@media (max-width:760px){.shell{display:block;padding-bottom:76px}.sidebar{display:none}.mobile-bottom-nav{background:color-mix(in srgb,var(--card) 94%,transparent);border-top:1px solid var(--border);bottom:0;display:grid;grid-template-columns:repeat(5,1fr);left:0;position:fixed;right:0;z-index:50}.mobile-bottom-nav a{align-items:center;color:var(--muted-foreground);display:grid;font-size:11px;grid-gap:4px;gap:4px;justify-items:center;min-height:68px}.mobile-bottom-nav a.active{color:var(--primary)}.mobile-menu-button{display:inline-flex}.topbar{min-height:66px;padding:10px 14px}.topbar-quick-action,.topbar-user{display:none}.main{padding:16px}}body,html{background:var(--background);color:var(--foreground)}body{background-image:linear-gradient(180deg,var(--background),var(--background-secondary))}.sidebar{background:var(--sidebar);border-right-color:color-mix(in srgb,var(--sidebar-foreground) 10%,transparent)}.login-panel-mark,.product-mark{background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 24%,transparent)}.active-clinic img,.active-clinic>span,.clinic-context img,.clinic-context>span{border:1px solid color-mix(in srgb,var(--clinic-accent) 38%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--clinic-accent) 10%,transparent)}.nav a.active{background:var(--sidebar-active);border-color:color-mix(in srgb,var(--primary) 32%,transparent);box-shadow:inset 3px 0 0 var(--primary)}.nav a.active svg{color:color-mix(in srgb,var(--primary) 68%,white)}.topbar{background:color-mix(in srgb,var(--topbar) 94%,transparent);border-bottom-color:var(--border-soft)}.global-search,.theme-toggle{background:var(--surface-elevated)}.card{border-color:var(--border-soft);box-shadow:var(--shadow)}.card,:root[data-theme=dark] .card{background:var(--surface)}.card:hover{border-color:var(--border)}.button,.button.green{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.button.green:hover:not(:disabled),.button:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.button.green:active:not(:disabled),.button:active:not(:disabled){background:var(--primary-active);border-color:var(--primary-active)}.actions .button.secondary,.button.secondary{background:var(--surface-elevated);border-color:var(--border);color:var(--foreground)}.actions .button.secondary:hover:not(:disabled),.button.secondary:hover:not(:disabled){background:var(--surface-hover,var(--card-hover));border-color:color-mix(in srgb,var(--primary) 34%,var(--border));color:var(--primary)}.button.danger,.button.danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#ffffff}.field input,.field select,.field textarea,.global-search input,.inline-edit-form input,.inline-edit-form select,.inline-search input,.patient-search-box,.reception-status-select{background:var(--input);border-color:var(--border);color:var(--foreground)}.field input:focus,.field select:focus,.field textarea:focus,.global-search:focus-within,.inline-edit-form input:focus,.inline-edit-form select:focus,.inline-search input:focus,.patient-search-box:focus-within,.reception-status-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring);outline:none}.field input::placeholder,.field textarea::placeholder,.global-search input::placeholder{color:var(--text-muted)}.dashboard-welcome{background:linear-gradient(115deg,var(--surface-elevated),color-mix(in srgb,var(--primary) 9%,var(--surface)) 58%,color-mix(in srgb,var(--secondary) 8%,var(--surface)));border-color:color-mix(in srgb,var(--primary) 22%,var(--border))}.grid.cols-4>.card.metric,.operation-card{border-top-color:transparent}.operation-card-primary{box-shadow:inset 3px 0 0 var(--primary),var(--shadow)}.operation-card-income{box-shadow:inset 3px 0 0 var(--accent),var(--shadow)}.operation-card-income>strong,.report-income-total{color:var(--accent)}.activity-card,.operation-card-automation{box-shadow:inset 3px 0 0 var(--secondary),var(--shadow)}.activity-item>span,.operation-card-automation>strong{color:var(--secondary)}.operation-card-info{box-shadow:inset 3px 0 0 var(--info),var(--shadow)}.bar-row>div>span,.progress-track>span{background:linear-gradient(90deg,var(--primary),var(--accent))}.tone-success{background:var(--success-soft);color:var(--success-text)}.tone-info{background:var(--info-soft);color:var(--info-text)}.load-mid,.status-PENDIENTE,.tone-warning{background:var(--warning-soft);color:var(--warning-text)}.status-CONFIRMADA{background:var(--success-soft);color:var(--success-text)}.status-EN_ESPERA{background:var(--info-soft);color:var(--info-text)}.status-ATENDIDA{background:var(--attended-soft);color:var(--attended-text)}.load-high,.status-CANCELADA{background:var(--danger-soft);color:var(--danger-text)}.status-NO_ASISTIO{background:var(--no-show-soft);color:var(--no-show-text)}.status-REPROGRAMADA{background:var(--rescheduled-soft);color:var(--rescheduled-text)}.load-low{background:var(--accent-soft);color:var(--accent)}:root[data-theme=dark] .load-high,:root[data-theme=dark] .load-low,:root[data-theme=dark] .load-mid,:root[data-theme=dark] .status-ATENDIDA,:root[data-theme=dark] .status-CANCELADA,:root[data-theme=dark] .status-CONFIRMADA,:root[data-theme=dark] .status-EN_ESPERA,:root[data-theme=dark] .status-NO_ASISTIO,:root[data-theme=dark] .status-PENDIENTE,:root[data-theme=dark] .status-REPROGRAMADA{background:revert-layer}:root[data-theme=dark] .load-mid,:root[data-theme=dark] .status-PENDIENTE{background:var(--warning-soft);color:var(--warning-text)}:root[data-theme=dark] .status-CONFIRMADA{background:var(--success-soft);color:var(--success-text)}:root[data-theme=dark] .status-EN_ESPERA{background:var(--info-soft);color:var(--info-text)}:root[data-theme=dark] .status-ATENDIDA{background:var(--attended-soft);color:var(--attended-text)}:root[data-theme=dark] .load-high,:root[data-theme=dark] .status-CANCELADA{background:var(--danger-soft);color:var(--danger-text)}:root[data-theme=dark] .status-NO_ASISTIO{background:var(--no-show-soft);color:var(--no-show-text)}:root[data-theme=dark] .status-REPROGRAMADA{background:var(--rescheduled-soft);color:var(--rescheduled-text)}.free-slot,.slot,:root[data-theme=dark] .load-low{background:var(--accent-soft);color:var(--accent)}.free-slot,.slot{border-color:color-mix(in srgb,var(--accent) 48%,var(--border))}.free-slot:hover,.slot:hover{background:color-mix(in srgb,var(--accent) 20%,var(--surface));border-color:var(--accent)}.month-day.is-today{background:color-mix(in srgb,var(--primary) 8%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 32%,var(--border))}.month-day.is-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.month-day,.view-tabs button.active,.week-cell,.week-day-head{background:var(--surface)}.block-chip,.calendar-block{background:var(--attended-soft);border-color:var(--border);color:var(--attended-text)}.handoff-item,.reception-handoffs-card{border-color:color-mix(in srgb,var(--secondary) 25%,var(--border))}.reception-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.reception-card{min-width:0}@media (max-width:1540px){.reception-grid{grid-template-columns:1fr}.pagination-bar{align-items:stretch;flex-direction:column;gap:10px}}.login-shell .login-theme .theme-toggle button{color:var(--muted-foreground)}.login-minimal>.login-product{color:var(--foreground)}.login-minimal .login-panel,:root[data-theme=dark] .login-minimal .login-panel{box-shadow:var(--shadow-strong)}.login-minimal .login-form .login-submit,.login-minimal .login-form .login-submit:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.survey-admin-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:24px;gap:24px;align-items:start}.survey-card-list,.survey-list-column,.survey-work-column{display:grid;grid-gap:16px;gap:16px}.survey-work-column{position:-webkit-sticky;position:sticky;top:88px;max-height:calc(100vh - 112px);overflow-y:auto;padding-right:4px}.survey-summary-card{display:grid;grid-gap:18px;gap:18px}.survey-editor h2,.survey-preview h2,.survey-results h2,.survey-summary-card h3{margin:8px 0 6px}.survey-summary-card p{margin:0;color:var(--muted)}.survey-card-kicker,.survey-editor .actions,.survey-summary-card .actions{display:flex;flex-wrap:wrap;gap:8px}.survey-default-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:700}.survey-empty-state{min-height:320px;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted)}.survey-empty-state h2{color:var(--foreground);margin-bottom:0}.survey-editor,.survey-preview,.survey-results{display:grid;grid-gap:20px;gap:20px}.survey-question-editor-list{display:grid;grid-gap:14px;gap:14px}.survey-question-editor{display:grid;grid-template-columns:32px 1fr auto;grid-gap:12px;gap:12px;align-items:start;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--muted-surface)}.survey-question-number{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--primary-soft);color:var(--primary);font-weight:800}.survey-question-fields{display:grid;grid-gap:12px;gap:12px}.survey-preview-question,.survey-result-item{display:grid;grid-gap:10px;gap:10px;padding:18px 0;border-top:1px solid var(--border)}.survey-preview-question label{color:var(--muted)}.survey-preview-question textarea,.survey-preview-question>input{min-height:44px}.survey-result-item h3,.survey-result-item p{margin:0}.survey-result-bar{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(120px,1fr) 32px;align-items:center;grid-gap:10px;gap:10px;font-size:.88rem}.survey-result-bar>div{height:9px;overflow:hidden;border-radius:999px;background:var(--muted-surface)}.survey-result-bar i{display:block;min-width:2px;height:100%;border-radius:inherit;background:var(--primary)}.survey-result-item blockquote{margin:0;padding:12px 14px;border-left:3px solid var(--primary);border-radius:0 10px 10px 0;background:var(--muted-surface);color:var(--muted)}.public-survey-shell{--survey-accent:var(--primary);--survey-surface:#ffffff;--survey-ink:#36280f;--survey-muted:#776b55;--survey-line:#eadfc9;--survey-soft:#fbf6eb;min-height:100vh;width:100%;padding:48px 18px 72px;position:relative;overflow:hidden;color:var(--survey-ink);background:radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--survey-accent) 28%,transparent),transparent 28rem),radial-gradient(circle at 92% 18%,rgba(228,190,93,.24),transparent 26rem),linear-gradient(145deg,#f8f0dc 0,#fffdf7 46%,#f4ead3 100%)}.public-survey-shell:after,.public-survey-shell:before{content:"";position:absolute;border-radius:999px;pointer-events:none}.public-survey-shell:before{width:240px;height:240px;top:-110px;right:-60px;border:42px solid color-mix(in srgb,var(--survey-accent) 9%,transparent)}.public-survey-shell:after{width:170px;height:170px;bottom:4%;left:-80px;background:color-mix(in srgb,var(--survey-accent) 8%,transparent)}.public-survey-card{--survey-accent:var(--primary);width:min(900px,100%);margin:0 auto;grid-gap:0;gap:0;z-index:1;border:1px solid rgba(139,101,27,.18);border-radius:28px;background:var(--survey-surface);box-shadow:0 30px 90px rgba(91,65,16,.2)}.public-survey-card,.public-survey-head{display:grid;position:relative;overflow:hidden}.public-survey-head{grid-gap:28px;gap:28px;padding:clamp(26px,5vw,48px);color:#ffffff;background:radial-gradient(circle at 84% 12%,rgba(255,236,173,.24),transparent 18rem),linear-gradient(120deg,#6e4b0c,#b8892e 48%,#8a6119)}.public-survey-head:after{content:"";width:310px;height:140%;position:absolute;top:-20%;right:4%;pointer-events:none;opacity:.18;transform:rotate(19deg);background:linear-gradient(90deg,transparent,rgba(255,245,206,.65),transparent)}.public-survey-brandbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:14px;gap:14px;position:relative;z-index:1}.public-survey-logo{width:68px;height:68px;display:grid;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.5);border-radius:20px;background:rgba(255,255,255,.95);box-shadow:0 14px 34px rgba(67,43,5,.28)}.public-survey-logo img{width:100%;height:100%;object-fit:contain;padding:6px}.public-survey-monogram{grid-template-columns:auto auto;gap:4px;color:var(--survey-accent)}.public-survey-monogram strong{font-size:1.05rem}.public-survey-brandcopy{display:grid;grid-gap:3px;gap:3px}.public-survey-brandcopy strong{font-size:clamp(.83rem,2vw,1rem);letter-spacing:.035em;text-transform:uppercase}.public-survey-brandcopy span{color:rgba(255,255,255,.78);font-size:.88rem}.public-survey-time{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.12);color:#ffffff;font-size:.82rem;font-weight:750;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.public-survey-hero-copy{max-width:680px;position:relative;z-index:1}.public-survey-eyebrow{display:inline-flex;align-items:center;gap:7px;color:color-mix(in srgb,#ffffff 86%,var(--survey-accent));font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.public-survey-head h1{max-width:700px;margin:12px 0 10px;color:#ffffff;font-size:clamp(2rem,5vw,3.25rem);line-height:1.02;letter-spacing:-.045em}.public-survey-head p{max-width:650px;margin:0;color:rgba(255,255,255,.82);font-size:clamp(.98rem,2.2vw,1.12rem);line-height:1.65}.public-survey-trust{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px}.public-survey-trust span{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.9);font-size:.82rem}.public-survey-progress{display:grid;grid-gap:8px;gap:8px;position:relative;z-index:1}.public-survey-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;color:rgba(255,255,255,.82);font-size:.8rem}.public-survey-progress>div:first-child strong{color:#ffffff}.public-survey-progress [role=progressbar]{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.2)}.public-survey-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff5cf,#ffffff);box-shadow:0 0 20px rgba(255,240,177,.7);transition:width .22s ease}.public-survey-question-list{display:grid;grid-gap:18px;gap:18px;padding:clamp(24px,5vw,48px);background:linear-gradient(#ffffff,#fffdf8)}.public-survey-question{display:grid;grid-gap:16px;gap:16px;margin:0;padding:clamp(18px,3vw,24px);border:1px solid var(--survey-line);border-radius:18px;background:#ffffff;box-shadow:0 8px 26px rgba(109,77,17,.07);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.public-survey-question:focus-within{border-color:color-mix(in srgb,var(--survey-accent) 55%,var(--survey-line));box-shadow:0 14px 34px color-mix(in srgb,var(--survey-accent) 17%,transparent);transform:translateY(-1px)}.public-survey-question legend{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:0 4px;color:var(--survey-ink)}.public-survey-question legend>span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--survey-accent) 11%,#ffffff);color:var(--survey-accent);font-size:.82rem;font-weight:850}.public-survey-question legend strong{font-size:.98rem;line-height:1.42}.public-survey-question legend small{padding:5px 8px;border-radius:999px;background:var(--survey-soft);color:var(--survey-muted);font-size:.68rem;font-weight:750}.public-survey-question legend small.required{background:color-mix(in srgb,var(--survey-accent) 10%,#ffffff);color:var(--survey-accent)}.public-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-gap:10px;gap:10px}.public-choice-grid label{cursor:pointer}.public-choice-grid label span{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 12px;border:1px solid var(--survey-line);border-radius:12px;background:var(--survey-soft);color:var(--survey-ink);text-align:center;font-weight:700;transition:all .15s ease}.public-choice-grid label span svg{width:0;opacity:0;transition:all .15s ease}.public-choice-grid label:hover span{border-color:color-mix(in srgb,var(--survey-accent) 40%,var(--survey-line));background:color-mix(in srgb,var(--survey-accent) 6%,#ffffff)}.public-choice-grid input{position:absolute;opacity:0}.public-choice-grid input:checked+span{border-color:var(--survey-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--survey-accent) 17%,#ffffff),#fffaf0);color:var(--survey-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--survey-accent) 12%,transparent)}.public-choice-grid input:checked+span svg{width:16px;opacity:1}.public-survey-question>input,.public-survey-question>textarea{width:100%;border:1px solid var(--survey-line);border-radius:12px;background:#ffffff;color:var(--survey-ink)}.public-survey-question>input::placeholder,.public-survey-question>textarea::placeholder{color:#97aaa5}.public-survey-question>input:focus,.public-survey-question>textarea:focus{border-color:var(--survey-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--survey-accent) 11%,transparent)}.public-survey-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px clamp(24px,5vw,48px) 32px;border-top:1px solid var(--survey-line);background:#ffffff}.public-survey-footer p{display:inline-flex;align-items:center;gap:7px;margin:0;color:var(--survey-muted);font-size:.77rem}.public-survey-submit{min-width:210px;border-color:var(--survey-accent);background:linear-gradient(135deg,#c99e43,#9d711d);box-shadow:0 14px 28px rgba(137,96,19,.3)}.public-survey-submit:hover:not(:disabled){border-color:#8d6317;background:linear-gradient(135deg,#d5ae58,#a6771d);box-shadow:0 18px 34px rgba(137,96,19,.36);transform:translateY(-1px)}.survey-thanks{min-height:540px;place-content:center;justify-items:center;gap:14px;padding:50px;text-align:center;color:var(--survey-ink)}.survey-thanks>.public-survey-logo{margin-bottom:14px;border-color:color-mix(in srgb,var(--survey-accent) 25%,var(--survey-line))}.survey-thanks-icon{width:74px;height:74px;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--survey-accent) 11%,#ffffff)}.survey-thanks .public-survey-eyebrow,.survey-thanks-icon svg{color:var(--survey-accent)}.survey-thanks h1{max-width:620px;margin:0;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.04em}.survey-thanks p{max-width:570px;margin:0;color:var(--survey-muted);font-size:1.05rem;line-height:1.65}.survey-thanks>strong{color:var(--survey-accent)}@media (max-width:1280px){.survey-admin-layout{grid-template-columns:1fr}.survey-work-column{position:static;max-height:none;overflow:visible}}@media (max-width:640px){.survey-question-editor{grid-template-columns:32px 1fr}.survey-question-editor>.icon-button{grid-column:2;justify-self:end}.survey-result-bar{grid-template-columns:1fr 30px}.survey-result-bar>span{grid-column:1/-1}.public-survey-shell{padding:12px 8px 32px}.public-survey-card{border-radius:20px}.public-survey-head{gap:22px;padding:24px 18px 28px}.public-survey-brandbar{grid-template-columns:auto 1fr}.public-survey-logo{width:56px;height:56px;border-radius:16px}.public-survey-time{grid-column:1/-1;justify-self:start}.public-survey-head h1{font-size:2.25rem}.public-survey-trust{display:grid}.public-survey-question-list{padding:22px 12px}.public-survey-question{padding:16px 13px}.public-survey-question legend{grid-template-columns:30px minmax(0,1fr)}.public-survey-question legend small{grid-column:2;justify-self:start}.public-choice-grid{grid-template-columns:1fr 1fr}.public-survey-footer{align-items:stretch;flex-direction:column;padding:20px 16px 26px}.public-survey-submit{width:100%}.survey-thanks{min-height:500px;padding:32px 20px}}body:has(.login-shell){overflow-x:hidden}.login-shell{--login-accent:#147d70;--login-accent-hover:#0f695f;align-items:stretch;display:grid;grid-gap:0;gap:0;grid-template-columns:minmax(0,58%) minmax(420px,42%);overflow:hidden;padding:0}.login-shell:before{display:none}.login-visual{isolation:isolate;min-height:100svh;overflow:hidden;position:relative}.login-visual-image{height:100%;object-fit:cover;object-position:center;width:100%;z-index:-2}.login-visual-shade{background:rgba(5,31,34,.58);inset:0;position:absolute;z-index:-1}.login-product{align-items:center;color:#ffffff;display:flex;gap:12px;left:40px;position:absolute;top:34px}.login-product .product-mark{background:var(--login-accent);border-radius:10px;box-shadow:none;height:46px;width:46px}.login-product strong{font-size:22px;letter-spacing:0;line-height:1.1}.login-product div>span{color:rgba(255,255,255,.72);display:block;font-size:12px;margin-top:3px}.login-visual-copy{bottom:48px;color:#ffffff;left:40px;max-width:540px;position:absolute;right:40px}.login-visual-copy .login-kicker{color:#9fe1d5;margin:0 0 14px}.login-visual-copy h1{font-size:44px;font-weight:720;letter-spacing:0;line-height:1.08;margin:0;max-width:520px}.login-visual-copy>p:not(.login-kicker){color:rgba(255,255,255,.82);font-size:17px;line-height:1.55;margin:18px 0 0;max-width:500px}.login-security-note{align-items:center;border-top:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.72);display:flex;font-size:12px;gap:8px;margin-top:28px;padding-top:16px;width:-moz-fit-content;width:fit-content}.login-access{background:#f7f9fa;color:#172426;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100svh;padding:24px 56px 20px}:root[data-theme=dark] .login-access{background:#0b171a;color:#eff7f5}.login-access-header{align-items:center;display:flex;justify-content:flex-end;min-height:42px}.login-access .theme-toggle{background:transparent;border-color:color-mix(in srgb,currentColor 14%,transparent);border-radius:8px}.login-access .theme-toggle button{border-radius:6px;min-height:32px;padding:6px 9px}.login-access .theme-toggle button.active{background:color-mix(in srgb,currentColor 9%,transparent);box-shadow:none}.login-mobile-brand{align-items:center;color:var(--login-accent);display:none;gap:8px}.login-panel{align-self:center;box-shadow:none;color:inherit;margin:24px auto;max-width:430px;padding:0;width:100%}.login-panel,.login-panel .active-clinic{background:transparent;border:0;border-radius:0}.login-panel .active-clinic{align-items:center;border-bottom:1px solid color-mix(in srgb,currentColor 13%,transparent);display:grid;grid-gap:12px;gap:12px;grid-template-columns:42px minmax(0,1fr);margin:0 0 30px;padding:0 0 18px}.login-panel .active-clinic img,.login-panel .active-clinic>span{align-items:center;background:color-mix(in srgb,var(--clinic-accent) 11%,transparent);border:1px solid color-mix(in srgb,var(--clinic-accent) 34%,transparent);border-radius:8px;box-shadow:none;color:var(--clinic-accent);display:flex;font-size:11px;font-weight:800;height:42px;justify-content:center;object-fit:contain;width:42px}.login-panel .active-clinic small{color:color-mix(in srgb,currentColor 56%,transparent);display:block;font-size:11px;font-weight:750;letter-spacing:0;text-transform:uppercase}.login-panel .active-clinic strong{display:block;font-size:14px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-title{display:block;margin:0 0 28px}.login-title .login-kicker{color:var(--login-accent);letter-spacing:0;margin:0 0 10px}.login-title h2{color:inherit;font-size:32px;letter-spacing:0;line-height:1.2;margin:0}.login-title p:not(.login-kicker){color:color-mix(in srgb,currentColor 62%,transparent);line-height:1.5;margin:8px 0 0}.login-form{gap:18px}.login-form .field{gap:7px}.login-form .field label{color:color-mix(in srgb,currentColor 78%,transparent);font-size:12px;font-weight:750;letter-spacing:0;text-transform:none}.login-form .input-with-icon{background:#ffffff;border:1px solid #d6dfe1;border-radius:8px;color:#27383a;grid-template-columns:auto minmax(0,1fr) auto;min-height:52px;padding:0 14px}:root[data-theme=dark] .login-form .input-with-icon{background:#102226;border-color:#294045;color:#edf7f5}.login-form .input-with-icon:focus-within{border-color:var(--login-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--login-accent) 16%,transparent)}.login-form .input-with-icon input{color:inherit;min-width:0}.login-form .input-with-icon input::placeholder{color:color-mix(in srgb,currentColor 42%,transparent)}.login-form .input-with-icon button,.login-form .input-with-icon>svg{color:color-mix(in srgb,currentColor 58%,transparent)}.login-form .login-submit{background:var(--login-accent);border-color:var(--login-accent);border-radius:8px;box-shadow:none;display:flex;justify-content:space-between;margin-top:4px;min-height:50px;padding-inline:18px;width:100%}.login-form .login-submit:hover:not(:disabled){background:var(--login-accent-hover);border-color:var(--login-accent-hover);transform:translateY(-1px)}.login-error{background:var(--danger-soft);border-left:3px solid var(--danger);border-radius:6px;color:var(--danger-text);font-size:13px;margin:0;padding:10px 12px}.login-spinner{animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-access-footer{align-items:center;color:color-mix(in srgb,currentColor 46%,transparent);display:flex;font-size:11px;gap:7px;justify-content:center}@media (max-width:900px){.login-shell{grid-template-columns:1fr;overflow:visible}.login-visual{min-height:240px}.login-product{left:24px;top:24px}.login-visual-copy{bottom:24px;left:24px;right:24px}.login-visual-copy h1{font-size:34px}.login-security-note,.login-visual-copy>p:not(.login-kicker){display:none}.login-access{min-height:calc(100svh - 240px);padding:20px 28px}}@media (max-width:560px){.login-visual{min-height:170px}.login-product{display:none}.login-visual-copy{bottom:18px}.login-visual-copy .login-kicker{margin-bottom:8px}.login-visual-copy h1{font-size:28px}.login-access{min-height:calc(100svh - 170px);padding:16px 20px}.login-access-header{justify-content:space-between}.login-mobile-brand{display:flex}.login-panel{margin-block:22px}.login-panel .active-clinic{margin-bottom:24px}.login-title h2{font-size:28px}}.login-shell{background:#edf2f1;padding:72px 28px 58px;position:relative}:root[data-theme=dark] .login-shell{background:#071416}.login-shell .login-theme{right:28px;top:24px;z-index:3}.login-shell .login-theme .theme-toggle{background:#ffffff;border-color:#d8e1df;border-radius:8px;box-shadow:0 6px 20px rgba(23,45,43,.06)}:root[data-theme=dark] .login-shell .login-theme .theme-toggle{background:#0d2124;border-color:#263d40}.login-shell .login-theme .theme-toggle button{color:#647573}.login-shell .login-theme .theme-toggle button.active{background:#e7f1ef;color:#147d70}:root[data-theme=dark] .login-shell .login-theme .theme-toggle button.active{background:#183337;color:#71c9bb}.login-console{background:#ffffff;border:1px solid #d8e1df;border-radius:12px;box-shadow:0 24px 60px rgba(20,50,47,.12);display:grid;grid-template-columns:300px minmax(0,480px);max-width:780px;min-height:520px;overflow:hidden;width:100%}:root[data-theme=dark] .login-console{background:#0d1c1f;border-color:#263d40;box-shadow:0 24px 70px rgba(0,0,0,.34)}.login-context-panel{background:#123f3b;color:#ffffff;display:flex;flex-direction:column;min-width:0;padding:34px 30px 28px}:root[data-theme=dark] .login-context-panel{background:#102f2d}.login-context-panel .login-product{align-items:center;color:#ffffff;display:flex;gap:11px;left:auto;position:static;top:auto}.login-context-panel .login-product .product-mark{background:#27a38f;border-radius:8px;height:42px;width:42px}.login-context-panel .login-product strong{font-size:20px}.login-context-panel .login-product div>span{color:rgba(255,255,255,.68);font-size:11px}.login-clinic-identity{align-content:center;display:grid;flex:1 1;justify-items:start;min-width:0}.login-clinic-identity img,.login-clinic-identity>span{align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:9px;color:#a8e0d6;display:flex;font-size:15px;font-weight:800;height:54px;justify-content:center;margin-bottom:18px;object-fit:contain;width:54px}.login-clinic-identity small{color:rgba(255,255,255,.58);font-size:11px;font-weight:750;text-transform:uppercase}.login-clinic-identity strong{font-size:22px;line-height:1.25;margin-top:7px;max-width:235px;overflow-wrap:anywhere}.login-context-note{align-items:flex-start;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.66);display:flex;font-size:12px;gap:8px;line-height:1.45;margin:0;padding-top:18px}.login-context-note svg{flex:0 0 auto}.login-console .login-panel{align-self:stretch;background:#ffffff;color:#172725;display:flex;flex-direction:column;justify-content:center;margin:0;max-width:none;padding:54px 48px}:root[data-theme=dark] .login-console .login-panel{background:#0d1c1f;color:#f1f7f6}.login-console .login-title{margin-bottom:30px}.login-console .login-title .login-kicker{color:#147d70;font-size:11px;margin-bottom:10px}:root[data-theme=dark] .login-console .login-title .login-kicker{color:#71c9bb}.login-console .login-title h2{font-size:30px}.login-console .login-title p:not(.login-kicker){font-size:14px}.login-console .login-form .input-with-icon,.login-console .login-form .login-submit{min-height:50px}.login-panel-security{color:color-mix(in srgb,currentColor 48%,transparent);gap:7px;justify-content:center;margin:20px 0 0}.login-page-footer,.login-panel-security{align-items:center;display:flex;font-size:11px}.login-page-footer{bottom:22px;color:#6a7a78;gap:9px;left:50%;position:absolute;transform:translateX(-50%);white-space:nowrap}.login-page-footer strong{color:#314542}:root[data-theme=dark] .login-page-footer,:root[data-theme=dark] .login-page-footer strong{color:#718481}.login-page-footer span:before{content:"\00b7";margin-right:9px}@media (max-width:760px){.login-shell{align-items:flex-start;padding:76px 18px 64px}.login-console{grid-template-columns:1fr;max-width:480px;min-height:0}.login-context-panel{display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) auto;padding:24px}.login-clinic-identity{align-content:start;grid-column:1/-1}.login-clinic-identity img,.login-clinic-identity>span{margin-bottom:12px}.login-clinic-identity strong{font-size:18px;max-width:none}.login-context-note{border:0;grid-column:2;grid-row:1;padding:0;font-size:0}.login-context-note svg{height:20px;width:20px}.login-console .login-panel{padding:36px 28px 32px}}@media (max-width:420px){.login-shell{padding-inline:12px}.login-shell .login-theme{right:14px;top:16px}.login-context-panel{padding:20px}.login-console .login-panel{padding:30px 20px 26px}}.login-shell{align-items:center;background:#f3f6f5;display:flex;justify-content:center;min-height:100svh;overflow:auto;padding:76px 20px 40px}:root[data-theme=dark] .login-shell{background:#081416}.login-shell .login-theme{position:absolute;right:24px;top:20px}.login-minimal{max-width:440px;width:100%}.login-minimal>.login-product{align-items:center;color:#17312e;display:flex;gap:10px;justify-content:center;left:auto;margin-bottom:20px;position:static;top:auto}:root[data-theme=dark] .login-minimal>.login-product{color:#f0f7f6}.login-minimal>.login-product .product-mark{background:#178679;border-radius:8px;box-shadow:none;height:42px;width:42px}.login-minimal>.login-product strong{font-size:23px;letter-spacing:0}.login-minimal .login-panel{background:#ffffff;border:1px solid #dce5e3;border-radius:10px;box-shadow:0 14px 38px rgba(22,52,48,.09);color:#172725;margin:0;max-width:none;padding:30px;width:100%}:root[data-theme=dark] .login-minimal .login-panel{background:#0e1e21;border-color:#283f42;color:#f1f7f6}.login-minimal .active-clinic{align-items:center;background:#f2f6f5;border:0;border-radius:8px;display:grid;grid-gap:11px;gap:11px;grid-template-columns:40px minmax(0,1fr);margin:0 0 26px;padding:11px}:root[data-theme=dark] .login-minimal .active-clinic{background:#142a2d}.login-minimal .active-clinic img,.login-minimal .active-clinic>span{align-items:center;background:#ffffff;border:1px solid color-mix(in srgb,var(--clinic-accent) 35%,#dce5e3);border-radius:7px;box-shadow:none;color:var(--clinic-accent);display:flex;font-size:11px;font-weight:800;height:40px;justify-content:center;object-fit:contain;width:40px}:root[data-theme=dark] .login-minimal .active-clinic img,:root[data-theme=dark] .login-minimal .active-clinic>span{background:#0e1e21}.login-minimal .active-clinic small{color:color-mix(in srgb,currentColor 52%,transparent);display:block;font-size:10px;font-weight:700;text-transform:uppercase}.login-minimal .active-clinic strong{display:block;font-size:13px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-minimal .login-title{margin:0 0 24px;text-align:left}.login-minimal .login-title h1{color:inherit;font-size:27px;letter-spacing:0;line-height:1.2;margin:0}.login-minimal .login-title p{color:color-mix(in srgb,currentColor 58%,transparent);font-size:14px;margin:7px 0 0}.login-minimal .login-form{gap:16px}.login-minimal .login-form .input-with-icon,.login-minimal .login-form .login-submit{min-height:48px}@media (max-width:520px){.login-shell{align-items:flex-start;padding:72px 14px 28px}.login-shell .login-theme{right:14px;top:14px}.login-minimal .login-panel{padding:24px 20px}}.handoff-item{background:color-mix(in srgb,var(--secondary) 7%,var(--surface-elevated))}.handoff-badges span:not([class*=priority-]){background:var(--secondary-soft);color:var(--secondary)}.reception-payment-status.paid{background:var(--success-soft);color:var(--success-text)}.reception-payment-status.pending{background:var(--warning-soft);color:var(--warning-text)}#integraciones{box-shadow:inset 3px 0 0 var(--secondary),var(--shadow)}#integraciones .field-label,#integraciones .settings-icon{background:var(--secondary-soft);color:var(--secondary)}.integration-status-grid>div{background:color-mix(in srgb,var(--secondary) 7%,var(--surface-elevated));border-color:color-mix(in srgb,var(--secondary) 24%,var(--border))}.doctor-photo-frame,.doctor-photo-uploader{background:var(--surface-elevated);border-color:var(--border)}.doctor-profile-card:nth-child(4n+1) .doctor-photo-frame{background:linear-gradient(145deg,color-mix(in srgb,#6366f1 22%,var(--surface-elevated)),var(--surface-elevated));color:#6366f1}.doctor-profile-card:nth-child(4n+2) .doctor-photo-frame{background:linear-gradient(145deg,color-mix(in srgb,#8b5cf6 22%,var(--surface-elevated)),var(--surface-elevated));color:#8b5cf6}.doctor-profile-card:nth-child(4n+3) .doctor-photo-frame{background:linear-gradient(145deg,color-mix(in srgb,#0ea5e9 22%,var(--surface-elevated)),var(--surface-elevated));color:#0ea5e9}.doctor-profile-card:nth-child(4n+4) .doctor-photo-frame{background:linear-gradient(145deg,color-mix(in srgb,#e87971 20%,var(--surface-elevated)),var(--surface-elevated));color:#e87971}.doctor-profile-card.is-muted .status-CANCELADA{background:var(--attended-soft);color:var(--attended-text)}.detail-table-card{max-width:100%;overflow-x:auto}.doctor-photo-uploader{align-self:start;min-height:0;min-width:0;width:100%;border-style:dashed}.compact-file-input:hover,.doctor-photo-uploader:hover{background:color-mix(in srgb,var(--primary) 8%,var(--surface-elevated));border-color:var(--primary);color:var(--primary)}.login-shell{--login-accent:var(--primary);--login-accent-hover:var(--primary-hover);background:var(--background)}.login-panel{background:var(--card);border-color:var(--border)}.active-clinic img,.active-clinic>span{color:var(--primary)}.report-export-panel:before{background:linear-gradient(90deg,var(--primary),var(--accent),var(--secondary))}.report-export-icon{background:var(--primary-soft)}.secure-export{color:var(--success)}@media (max-width:760px){.mobile-bottom-nav{background:color-mix(in srgb,var(--topbar) 96%,transparent)}.doctor-edit-form,.doctor-form-layout{grid-template-columns:1fr!important}}.login-shell .login-theme .theme-toggle{background:var(--surface-elevated);border-color:var(--border)}.login-shell .login-theme .theme-toggle button.active{background:var(--primary-soft);color:var(--primary)}.login-minimal>.login-product,:root[data-theme=dark] .login-minimal>.login-product{color:var(--foreground)}.login-minimal>.login-product .product-mark{background:var(--primary)}.login-minimal .login-panel,:root[data-theme=dark] .login-minimal .login-panel{background:var(--card);border-color:var(--border);color:var(--foreground)}.login-minimal .active-clinic,:root[data-theme=dark] .login-minimal .active-clinic{background:var(--muted-surface)}.login-minimal .active-clinic img,.login-minimal .active-clinic>span,:root[data-theme=dark] .login-minimal .active-clinic img,:root[data-theme=dark] .login-minimal .active-clinic>span{background:var(--card);border-color:color-mix(in srgb,var(--primary) 36%,var(--border));color:var(--primary)}.login-minimal .login-form .input-with-icon,:root[data-theme=dark] .login-minimal .login-form .input-with-icon{background:var(--input);border-color:var(--border);color:var(--foreground)}.login-minimal .login-form .input-with-icon:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.login-minimal .login-form .login-submit{background:var(--primary);border-color:var(--primary)}.login-minimal .login-form .login-submit:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}:root[data-theme=dark] .login-shell{background:linear-gradient(135deg,color-mix(in srgb,var(--background) 78%,var(--primary)) 0,color-mix(in srgb,var(--background) 91%,var(--info)) 48%,color-mix(in srgb,var(--background) 76%,var(--secondary)) 100%)}