:root{--bg:#0f1115;--sidebar:#14171d;--card:#1b1f27;--card2:#20242e;--accent:#6c5ce7;--accent2:#00d4a4;--info:#4d9fff;--warning:#ff9f43;--danger:#ff6b6b;--text:#e8e9ee;--muted:#8a8f9c;--border:#2a2e38;--email-paper:#e6e8ee;--email-paper-border:#3a3f4c;--bubble-cliente:#1c2c47;--bubble-cliente-border:#2c4468}:root[data-theme=light]{--bg:#f4f5f8;--sidebar:#ffffff;--card:#ffffff;--card2:#eef0f4;--accent:#6c5ce7;--accent2:#00b391;--info:#2f80ed;--warning:#e8890c;--danger:#e0524f;--text:#1a1d24;--muted:#6b7280;--border:#e3e5eb;--email-paper:#ffffff;--email-paper-border:#e3e5eb;--bubble-cliente:var(--card2);--bubble-cliente-border:var(--border)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border);background-clip:padding-box;border:2px solid transparent;border-radius:8px}::-webkit-scrollbar-thumb:hover{background-color:var(--muted);background-clip:padding-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);transition:background .15s,color .15s}a{color:inherit}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{background:var(--sidebar);border-bottom:1px solid var(--border);padding:12px 28px;display:flex;align-items:center;gap:28px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.brand{display:flex;flex-direction:column;margin-right:8px}.logo{font-weight:700;font-size:16px;line-height:1.1;white-space:nowrap}.logo span{color:var(--accent2)}.subtitle{font-size:11px;color:var(--muted);white-space:nowrap}.nav{flex-direction:row;gap:4px;flex:1 1}.nav,.nav a{display:flex}.nav a{text-decoration:none;cursor:pointer;padding:9px 16px;border-radius:8px;font-size:13.5px;color:var(--muted);align-items:center;gap:8px;white-space:nowrap}.nav a:hover{background:var(--card);color:var(--text)}.nav a.active{background:var(--accent);color:white}.main{flex:1 1;padding:24px 32px;width:100%}h1{font-size:22px;margin:0 0 4px}.greeting{color:var(--muted);font-size:14px;margin-bottom:28px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.metric{--mc:var(--metric-color,var(--accent));position:relative;overflow:hidden;background:linear-gradient(165deg,var(--card) 0,var(--card2) 130%);border:1px solid var(--border);border-radius:14px;padding:18px 18px 16px;box-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.metric:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--mc);opacity:.9}.metric-clickable{cursor:pointer}.metric-clickable:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.22);border-color:color-mix(in srgb,var(--mc) 45%,var(--border))}.metric-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--mc) 16%,transparent);color:var(--mc);margin-bottom:14px}.metric .label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.metric .value{font-size:28px;font-weight:800;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric .delta{font-size:12px;font-weight:600;margin-top:8px}.delta.up{color:var(--accent2)}.delta.down{color:var(--danger)}.panel{background:linear-gradient(165deg,var(--card) 0,var(--card2) 140%);border:1px solid var(--border);border-radius:14px;padding:24px;box-shadow:0 1px 2px rgba(0,0,0,.1)}.panel-head{gap:10px;margin-bottom:4px}.panel-head,.panel-icon{display:flex;align-items:center}.panel-icon{width:28px;height:28px;border-radius:8px;justify-content:center;background:color-mix(in srgb,var(--pc,var(--accent)) 16%,transparent);color:var(--pc,var(--accent));flex-shrink:0}.panel h2{margin:0;font-size:15.5px;color:var(--text);font-weight:700}.report-btn{transition:background .15s ease,border-color .15s ease}.report-btn:hover{background:var(--border);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.hint{font-size:12px;color:var(--muted);margin-top:20px;border-top:1px solid var(--border);padding-top:14px}.chat-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.chat-row{display:flex;justify-content:space-between;align-items:center;background:var(--card2);border-radius:10px;padding:12px 16px}.chat-row .who{font-size:14px;font-weight:600}.chat-row .preview{font-size:12px;color:var(--muted);margin-top:3px}.badge{font-size:11px;padding:3px 8px;border-radius:20px}.badge.ai{background:rgba(0,212,164,.15);color:var(--accent2)}.badge.human{background:rgba(108,92,231,.15);color:var(--accent)}.badge.danger{background:rgba(255,107,107,.15);color:#ff6b6b}.search-input{width:100%;background:var(--card2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:13px 16px;font-size:14px;font-family:inherit;margin-bottom:20px}.search-input:focus{outline:none;border-color:var(--accent)}.patient-list{display:flex;flex-direction:column;gap:10px}.patient-row{display:flex;justify-content:space-between;align-items:center;background:var(--card2);border-radius:10px;padding:14px 16px;cursor:pointer;transition:background .15s}.patient-row:hover{background:var(--border)}.patient-row .who{font-size:14px;font-weight:600}.patient-row .phone{font-size:12px;color:var(--muted);margin-top:2px}.patient-row .visita{font-size:11px;color:var(--muted);white-space:nowrap}.skeleton{background:linear-gradient(90deg,var(--card2) 25%,var(--border) 37%,var(--card2) 63%);background-size:400% 100%;animation:skeleton-pulse 1.4s ease infinite;border-radius:6px}@keyframes skeleton-pulse{0%{background-position:100% 50%}to{background-position:0 50%}}.ficha-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.ficha-header h2{margin:0 0 4px;font-size:19px;font-weight:700}.ficha-header .phone{font-size:13px;color:var(--muted)}.ficha-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:800px){.ficha-grid{grid-template-columns:1fr}}.ficha-section{background:var(--card2);border-radius:10px;padding:16px}.ficha-section h3{margin:0 0 10px;font-size:12px;color:var(--accent2);text-transform:uppercase;letter-spacing:.03em;display:flex;align-items:center;gap:6px}.ficha-section p{margin:0 0 6px;font-size:13px;line-height:1.5}.ficha-section p:last-child{margin-bottom:0}.ficha-citas{display:flex;flex-direction:column;gap:8px}.ficha-cita-row{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs a{text-decoration:none;padding:8px 16px;border-radius:8px;font-size:13px;color:var(--muted);background:var(--card2)}.tabs a.active{background:var(--accent);color:white}.main:has(.informe-page){padding:0;background:#fff}.main:has(.conversaciones-full){padding:12px 16px}.rich-editor:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-editor a{color:var(--accent)}@media print{.no-print{display:none!important}body{background:#fff}}.reservar-page{min-height:100dvh;background:var(--bg);color:var(--text);overscroll-behavior-y:none}.reservar-page *{-webkit-tap-highlight-color:transparent}.reservar-page button{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;transition:transform .08s ease}.reservar-page button:active{transform:scale(.97)}.reservar-page .telefono-input{display:flex;align-items:center;gap:8px;box-sizing:border-box;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:0 14px}.reservar-page .telefono-input .PhoneInputCountry{margin-right:0}.reservar-page .telefono-input .PhoneInputCountrySelect{background:transparent;color:var(--text);cursor:pointer}.reservar-page .telefono-input .PhoneInputCountrySelectArrow{color:var(--muted);opacity:1}.reservar-page .telefono-input .PhoneInputInput{flex:1 1;min-width:0;box-sizing:border-box;background:transparent;border:none;outline:none;color:var(--text);padding:14px 0;font-size:15px;font-family:inherit}