@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--primary-teal: #126c62;--primary-teal-light: #eff7f5;--primary-teal-glow: rgba(18, 108, 98, .15);--secondary-slate: #314047;--accent-emerald: #10b981;--accent-emerald-light: #ecfdf5;--neutral-dark: #1e293b;--neutral-muted: #64748b;--neutral-light: #f8fafc;--neutral-border: rgba(226, 232, 240, .8);--status-active-bg: #ecfdf5;--status-active-text: #047857;--status-inactive-bg: #f1f5f9;--status-inactive-text: #475569;--status-paid-bg: #dcfce7;--status-paid-text: #15803d;--status-pending-bg: #fef3c7;--status-pending-text: #b45309;--status-danger-bg: #fee2e2;--status-danger-text: #b91c1c;--font-family: "Outfit", Inter, ui-sans-serif, system-ui, sans-serif;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:#f1f5f9;background-image:radial-gradient(at 0% 0%,rgba(18,108,98,.05) 0px,transparent 50%),radial-gradient(at 100% 0%,rgba(16,185,129,.03) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(18,108,98,.02) 0px,transparent 50%);color:var(--neutral-dark);min-height:100vh;-webkit-font-smoothing:antialiased}button{font-family:var(--font-family);transition:all var(--transition-fast)}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:#ffffffd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:20px;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #0000000d,0 0 0 1px #126c6205;width:100%;max-width:520px;padding:40px}.auth-header{text-align:center;margin-bottom:30px}.auth-logo-image{display:block;height:auto;margin:0 auto 4px;max-height:82px;max-width:260px;object-fit:contain;width:min(260px,78%)}.auth-company-line{justify-content:center;margin:4px auto 10px;max-width:min(320px,100%)}.auth-eyebrow{color:var(--primary-teal);font-size:.9rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}.auth-card h2{font-size:1.8rem;font-weight:700;color:var(--neutral-dark);margin-bottom:8px}.auth-subtitle{color:var(--neutral-muted);font-size:.95rem}.demo-toggle-banner{background:linear-gradient(135deg,var(--primary-teal-light),rgba(16,185,129,.08));border:1px solid rgba(18,108,98,.15);border-radius:12px;display:flex;align-items:center;gap:16px;margin-bottom:24px;padding:16px}.demo-toggle-text strong{display:block;font-size:.9rem;color:var(--primary-teal)}.demo-toggle-text p{font-size:.8rem;color:var(--neutral-muted);margin-top:2px}.auth-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;font-weight:600;color:var(--secondary-slate)}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-family);background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:var(--neutral-dark);font-size:.95rem;padding:12px 16px;transition:all var(--transition-fast);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-teal);box-shadow:0 0 0 3px var(--primary-teal-glow)}.form-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-grid.tri{grid-template-columns:1fr 1fr 1fr}.auth-submit-btn{background:var(--primary-teal);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:700;padding:14px;cursor:pointer;box-shadow:0 4px 6px -1px #126c6233}.auth-submit-btn:hover{background:#0f5850;transform:translateY(-1px)}.auth-submit-btn:disabled{background:var(--neutral-muted);cursor:not-allowed;transform:none}.auth-footer-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:24px}.auth-link-btn{background:none;border:none;color:var(--primary-teal);font-size:.9rem;font-weight:600;cursor:pointer}.auth-link-btn:hover{text-decoration:underline}.divider-or{display:flex;align-items:center;width:100%;color:var(--neutral-muted);font-size:.8rem;font-weight:600}.divider-or:before,.divider-or:after{content:"";flex:1;border-bottom:1px solid #e2e8f0}.divider-or span{padding:0 12px}.auth-demo-bypass-btn{background:#fff;border:1px solid var(--primary-teal);border-radius:12px;color:var(--primary-teal);font-size:.95rem;font-weight:700;padding:12px;width:100%;cursor:pointer}.auth-demo-bypass-btn:hover{background:var(--primary-teal-light)}.auth-pending-modal{max-width:520px}.auth-pending-message{color:var(--neutral-dark);font-size:1rem;line-height:1.6}.switch-container{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.switch-container input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:34px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.slider{background-color:var(--primary-teal)}input:checked+.slider:before{transform:translate(20px)}.dashboard-layout{display:flex;height:100vh;min-height:100vh;overflow:hidden}.sidebar-navigation{background:#fff;border-right:1px solid var(--neutral-border);display:flex;flex-direction:column;width:260px;flex-shrink:0;height:100vh;overflow:hidden;padding:30px 20px;z-index:10}.sidebar-brand{display:flex;flex-direction:column;margin-bottom:40px;padding:0 10px}.sidebar-logo-image{display:block;width:168px;max-width:100%;height:auto}.sidebar-brand .logo-text{font-size:1.5rem;font-weight:800;color:var(--primary-teal);letter-spacing:-.5px}.sidebar-brand .logo-sub{font-size:.8rem;font-weight:600;color:var(--neutral-muted);text-transform:uppercase;letter-spacing:1px}.sidebar-company-line{align-items:baseline;color:var(--neutral-dark);display:flex;flex-wrap:nowrap;font-size:.86rem;font-weight:800;gap:5px;line-height:1.25;margin-top:8px;max-width:100%;min-width:0;white-space:nowrap}.sidebar-company-name{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.sidebar-company-separator{flex:0 0 auto;color:var(--neutral-muted);font-size:.82rem;font-weight:700}.sidebar-company-city{color:#b00b1b;flex:0 0 auto;font-size:.62rem;font-weight:800;text-transform:uppercase}.nav-links-list{display:flex;flex-direction:column;gap:8px;list-style:none}.nav-item-btn{display:flex;align-items:center;gap:12px;background:none;border:none;border-radius:12px;color:var(--neutral-muted);font-size:.95rem;font-weight:600;padding:14px 18px;width:100%;cursor:pointer;text-align:left}.nav-item-btn:hover{background:var(--neutral-light);color:var(--neutral-dark)}.nav-item-btn.active{background:var(--primary-teal-light);color:var(--primary-teal);font-weight:700}.nav-icon{font-size:1.15rem}.sidebar-user-section{display:flex;align-items:center;gap:12px;background:var(--neutral-light);border-radius:16px;margin-top:auto;padding:14px;border:1px solid var(--neutral-border)}.user-avatar-dot{background:var(--primary-teal);border-radius:50%;color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.user-sidebar-meta{display:flex;flex-direction:column;overflow:hidden}.user-sidebar-meta strong{font-size:.85rem;font-weight:700;color:var(--neutral-dark);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-sidebar-meta span{font-size:.75rem;color:var(--neutral-muted)}.main-workspace{display:flex;flex-direction:column;flex-grow:1;height:100vh;min-width:0;overflow-y:auto;padding:40px}.clinic-panel-view{display:flex;flex-direction:column;gap:28px;animation:fadeIn .3s ease}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-header h2{font-size:1.75rem;font-weight:800;color:var(--neutral-dark)}.panel-subtitle{font-size:.95rem;color:var(--neutral-muted);margin-top:4px}.primary-action-btn{background:var(--primary-teal);border:none;border-radius:12px;color:#fff;font-size:.95rem;font-weight:700;padding:12px 20px;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 6px -1px var(--primary-teal-glow)}.primary-action-btn:hover{background:#0f5850;transform:translateY(-1px)}.primary-action-btn.small-btn{padding:8px 14px;font-size:.85rem;border-radius:8px}.small-inline-btn{border-radius:8px;font-size:.85rem;padding:8px 14px}.secondary-btn{background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:var(--neutral-dark);font-size:.95rem;font-weight:600;padding:12px 20px;cursor:pointer}.secondary-btn:hover{background:#f8fafc}.danger-btn{background:var(--status-danger-bg);border:1px solid rgba(185,28,28,.2);border-radius:12px;color:var(--status-danger-text);font-size:.95rem;font-weight:700;padding:12px 20px;cursor:pointer}.danger-btn:hover{background:#fecaca}.warning-btn{background:var(--status-pending-bg);border:1px solid rgba(180,83,9,.2);border-radius:12px;color:var(--status-pending-text);font-size:.95rem;font-weight:700;padding:12px 20px;cursor:pointer}.warning-btn:hover{background:#fde68a}.search-filters-bar{background:#fff;border:1px solid var(--neutral-border);border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px}.search-input-wrapper{position:relative;display:flex;align-items:center;flex-grow:1}.search-icon{position:absolute;left:14px;color:var(--neutral-muted)}.search-input-wrapper input{font-family:var(--font-family);background:var(--neutral-light);border:1px solid #e2e8f0;border-radius:10px;color:var(--neutral-dark);font-size:.95rem;padding:10px 16px 10px 42px;width:100%}.search-input-wrapper input:focus{outline:none;border-color:var(--primary-teal);background:#fff}.filter-select-wrapper{display:flex;align-items:center;gap:10px}.filter-select-wrapper label{font-size:.85rem;font-weight:700;color:var(--neutral-muted);white-space:nowrap}.filter-select-wrapper select{font-family:var(--font-family);background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:var(--neutral-dark);font-size:.9rem;font-weight:600;padding:8px 16px}.filter-select-wrapper select:focus{outline:none;border-color:var(--primary-teal)}.consulta-status-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.consulta-status-filter-btn{background:#f8fafc;border:1px solid #dbe4ef;border-radius:10px;color:#475569;cursor:pointer;font-family:var(--font-family);font-size:.88rem;font-weight:700;min-height:40px;padding:9px 14px;transition:all var(--transition-fast);white-space:nowrap}.consulta-status-filter-btn:hover{border-color:#93c5fd;color:#1d4ed8}.consulta-status-filter-btn.active{background:#2563eb;border-color:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb38}.home-view{animation:fadeIn .3s ease;display:flex;flex-direction:column;gap:34px}.home-header{align-items:flex-start;display:flex;justify-content:space-between;gap:24px}.home-title-row{align-items:center;display:flex;gap:12px}.home-title-row h1{color:var(--neutral-dark);font-size:2.3rem;font-weight:850;letter-spacing:0}.home-title-icon{align-items:center;border:2px solid #94a3b8;border-radius:8px;color:#64748b;display:inline-flex;font-size:1.25rem;font-weight:800;height:28px;justify-content:center;width:28px}.home-greeting{color:var(--neutral-muted);font-size:.95rem;margin-top:8px}.home-greeting strong{color:#2563eb;margin:0 6px}.role-pill{background:#e5e7eb;border-radius:4px;color:#64748b;font-size:.72rem;font-weight:800;margin-left:4px;padding:2px 8px;text-transform:uppercase}.home-grid{display:grid;gap:28px;grid-template-columns:minmax(0,2fr) minmax(320px,.95fr)}.home-card{background:#fff;border:1px solid var(--neutral-border);border-radius:8px;box-shadow:0 2px 5px #0f172a0f;min-width:0}.agenda-card{min-height:540px}.agenda-card-header{align-items:center;border-bottom:1px solid var(--neutral-border);display:grid;gap:18px;grid-template-columns:minmax(180px,1fr) auto auto;padding:26px 40px}.agenda-card-header h2,.live-card-header h2{color:var(--neutral-dark);font-size:1rem;font-weight:800}.agenda-card-header p,.live-card-header p{color:var(--neutral-muted);font-size:.9rem;margin-top:5px}.agenda-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0f172a1f;display:flex;overflow:hidden;padding:3px}.agenda-tabs button{background:transparent;border:0;border-radius:8px;color:#475569;cursor:pointer;font-weight:800;min-width:104px;padding:12px 18px}.agenda-tabs button.active{background:#dff0f8;color:#0f4d68}.home-link-btn{background:transparent;border:0;color:#2563eb;cursor:pointer;font-size:.9rem;font-weight:800;white-space:nowrap}.agenda-content{min-height:430px;padding:30px 40px}.home-empty-state{align-items:center;color:var(--neutral-muted);display:flex;flex-direction:column;justify-content:center;min-height:360px;text-align:center}.home-empty-icon{align-items:center;background:#f8fafc;border:1px solid #d9dee5;border-radius:6px;color:#cbd5e1;display:flex;font-size:2rem;height:80px;justify-content:center;margin-bottom:22px;width:80px}.home-empty-state h3{color:var(--neutral-dark);font-size:1.1rem;margin-bottom:8px}.agenda-list{display:flex;flex-direction:column;gap:12px}.agenda-row{align-items:center;border:1px solid #edf2f7;border-radius:8px;display:grid;gap:16px;grid-template-columns:118px 1fr auto auto auto;padding:16px}.agenda-row:has(.agenda-time.with-date){grid-template-columns:132px 1fr auto auto auto}.agenda-time{color:#64748b;font-weight:800}.agenda-time.with-date{display:flex;flex-direction:column;gap:3px;min-width:116px}.agenda-time.with-date span{color:#1e293b;font-size:.88rem;line-height:1.15;white-space:nowrap}.agenda-time.with-date small{color:#64748b;font-size:.78rem;font-weight:800}.agenda-main{display:flex;flex-direction:column;gap:3px}.agenda-title-line{align-items:center;display:flex;gap:8px;min-width:0}.agenda-title-line strong{min-width:0}.work-type-pill{background:#e0f2fe;border-radius:999px;color:#0369a1;flex-shrink:0;font-size:.68rem;font-weight:800;letter-spacing:0;line-height:1;padding:3px 8px;text-transform:uppercase}.work-type-pill.session{background:#dcfce7;color:#166534}.live-patient-top .work-type-pill{margin-left:auto}.live-patient-top .work-type-pill+.live-more{margin-left:4px}.agenda-main strong{color:var(--neutral-dark)}.agenda-main .agenda-patient-name{font-size:.88rem;line-height:1.18}.agenda-main span{color:var(--neutral-muted);font-size:.85rem}.agenda-payment-line{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.agenda-payment-line>span{min-width:0}.home-payment-btn{border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;font-size:.68rem;font-weight:900;letter-spacing:0;line-height:1;max-width:150px;overflow:hidden;padding:7px 9px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.work-type-inline{border-radius:4px;font-size:.58rem;padding:2px 5px}.home-payment-btn.pagado{background:#dcfce7;border-color:#bbf7d0;color:#047857}.home-payment-btn.pendiente{background:#fef3c7;border-color:#fde68a;color:#b45309}.home-payment-btn.aseguradora{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.home-payment-modal-body{display:grid;gap:16px;padding:20px 0}.home-credit-available{color:#047857;display:block;font-size:.76rem;font-weight:800;margin-top:7px}.home-status-tag{border:0;cursor:pointer}.home-status-tag:disabled{cursor:default}.status-badge.home-pending{background:#fee2e2;color:#b91c1c}.status-badge.en-espera{background:#fef3c7;color:#b45309}.home-actions-menu-wrap{display:flex;justify-content:flex-end;position:relative}.home-actions-menu-wrap:has(.action-menu-trigger[aria-expanded=true]){z-index:7000}.live-card{display:flex;flex-direction:column;min-height:540px}.live-card-header{align-items:flex-start;display:flex;justify-content:space-between;padding:34px 30px 28px}.live-card-header>span{color:#94a3b8;font-size:.72rem;font-weight:900;letter-spacing:1px}.live-dot{background:#f87171;border-radius:999px;display:inline-block;height:10px;margin-right:10px;width:10px}.live-card-body{background:#f7f6f4;border-bottom:1px solid var(--neutral-border);border-top:1px solid var(--neutral-border);flex:1;padding:20px}.live-empty{color:var(--neutral-muted);font-size:.9rem;padding:20px;text-align:center}.live-patient-card{background:#fff;border:1px solid var(--neutral-border);border-radius:4px;box-shadow:0 2px 5px #0f172a14;padding:16px}.live-patient-top{align-items:center;display:grid;gap:12px;grid-template-columns:auto 1fr auto}.live-avatar-dot{background:#93c5fd;border-radius:999px;height:15px;width:15px}.live-more{color:#94a3b8;font-size:1.2rem;font-weight:900}.live-patient-meta{align-items:center;border-top:1px solid #edf2f7;display:grid;gap:10px;grid-template-columns:auto 1fr auto;margin-top:18px;padding-top:12px}.live-patient-meta span{color:#475569;font-size:.78rem}.live-status{background:#dcfce7;border-radius:4px;color:#047857!important;font-size:.68rem!important;font-weight:900;padding:5px 8px;text-transform:uppercase}.live-card-footer{align-items:center;color:#94a3b8;display:flex;font-size:.75rem;font-weight:900;justify-content:space-between;letter-spacing:1px;padding:22px 30px;text-transform:uppercase}.live-card-footer span{display:flex;gap:6px}.live-card-footer i{background:#cbd5e1;border-radius:999px;display:block;height:5px;width:5px}.live-card-footer i:first-child{background:#2563eb}@media(max-width:1100px){.home-grid,.agenda-card-header{grid-template-columns:1fr}}.table-responsive{background:#fff;border:1px solid var(--neutral-border);border-radius:20px;box-shadow:0 4px 6px -1px #00000005;overflow-x:auto}.table-responsive:has(.row-actions-group){overflow:visible}.premium-table{border-collapse:collapse;width:100%;text-align:left}.premium-table tr:has(.action-menu-trigger[aria-expanded=true]){position:relative;z-index:500}.premium-table th{background:var(--neutral-light);border-bottom:1px solid #edf2f7;color:var(--neutral-muted);font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:16px 24px}.premium-table td{border-bottom:1px solid #edf2f7;padding:18px 24px;font-size:.95rem;vertical-align:middle}.table-row-interactive td{cursor:pointer}.table-row-interactive:hover td{background:var(--primary-teal-light)}.patient-meta-cell{display:flex;align-items:center;gap:14px}.patient-avatar-circle{background:var(--primary-teal-light);border-radius:50%;color:var(--primary-teal);font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;overflow:hidden}.patient-avatar-circle.large{width:56px;height:56px;font-size:1.4rem}.patient-avatar-circle img,.profile-header-initials img,.sidebar-avatar-box img{display:block;height:100%;object-fit:cover;width:100%}.patient-meta-cell strong{display:block;font-size:.98rem;color:var(--neutral-dark)}.patient-meta-cell span{display:block;font-size:.8rem;color:var(--neutral-muted);margin-top:2px}.contact-meta-cell{display:flex;flex-direction:column;gap:4px}.contact-meta-cell span{font-size:.88rem}.contact-meta-cell .email-small{color:var(--neutral-muted);font-size:.8rem}.time-subcell{align-items:center;display:flex;font-size:.8rem;gap:8px;color:var(--neutral-muted);margin-top:3px}.slot-tag{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#4338ca;display:inline-flex;font-size:.68rem;font-weight:800;line-height:1;padding:4px 7px;text-transform:uppercase}.payment-cell{display:flex;flex-direction:column;gap:4px}.status-badge{border-radius:8px;display:inline-block;font-size:.8rem;font-weight:700;padding:6px 12px;text-align:center}.status-badge.active,.status-badge.activo,.status-badge.asistio{background:var(--status-active-bg);color:var(--status-active-text)}.status-badge.inactive,.status-badge.inactivo,.status-badge.falto{background:var(--status-inactive-bg);color:var(--status-inactive-text)}.status-badge.pagado{background:var(--status-paid-bg);color:var(--status-paid-text)}.status-badge.pendiente,.status-badge.pendiente_aprobacion,.status-badge.programada{background:var(--status-pending-bg);color:var(--status-pending-text)}.status-badge.en_tratamiento{background:#e0e7ff;color:#4338ca}.status-badge.cancelled,.status-badge.cancelada{background:var(--status-danger-bg);color:var(--status-danger-text)}.status-badge.small{padding:2px 8px;font-size:.72rem;border-radius:6px}.badge-outline{border:1px solid #cbd5e1;border-radius:8px;display:inline-block;font-size:.78rem;font-weight:700;padding:4px 10px}.badge-outline.success{background:var(--primary-teal-light);border-color:#126c624d;color:var(--primary-teal)}.badge-outline.muted{background:var(--neutral-light);color:var(--neutral-muted)}.truncate-text{display:block;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-actions-group{display:flex;gap:8px;justify-content:flex-end;position:relative}.row-actions-group:has(.action-menu-trigger[aria-expanded=true]){z-index:6000}.action-icon-btn{background:var(--neutral-light);border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:6px 10px;cursor:pointer}.action-icon-btn:hover{background:#edf2f7;border-color:#cbd5e1}.action-menu-trigger{align-items:center;background:var(--neutral-light);border:1px solid #e2e8f0;border-radius:8px;color:var(--neutral-text);cursor:pointer;display:inline-flex;font-size:1.25rem;height:34px;justify-content:center;line-height:1;width:38px}.action-menu-trigger:hover,.action-menu-trigger[aria-expanded=true]{background:#edf2f7;border-color:#cbd5e1}.row-actions-menu{background:#fff;border:1px solid var(--neutral-border);border-radius:8px;box-shadow:0 14px 30px #0f172a24;min-width:170px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:7000}.row-actions-menu button{background:transparent;border:0;border-radius:6px;color:var(--neutral-text);cursor:pointer;display:block;font-size:.9rem;padding:9px 10px;text-align:left;width:100%}.row-actions-menu button:hover{background:var(--neutral-light)}.row-actions-menu button.danger{color:var(--status-danger-text)}.row-actions-menu button:disabled{color:var(--neutral-muted);cursor:not-allowed;opacity:.55}.credit-choice-group{display:grid;gap:12px;margin-top:18px}.credit-choice{align-items:flex-start;border:1px solid var(--neutral-border);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:14px}.credit-choice.selected{background:var(--primary-teal-light);border-color:#126c6259}.credit-choice input{margin-top:3px}.credit-choice strong,.credit-choice small{display:block}.credit-choice small{color:var(--neutral-muted);line-height:1.4;margin-top:3px}.modal-overlay{background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal-card{background:#fff;border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;width:100%;max-width:580px;overflow:hidden;animation:modalScaleUp .25s cubic-bezier(.34,1.56,.64,1)}.modal-card.large{max-width:820px}.modal-header{border-bottom:1px solid var(--neutral-border);display:flex;align-items:center;justify-content:space-between;padding:22px 28px}.modal-header h3{font-size:1.3rem;font-weight:800;color:var(--neutral-dark)}.modal-header-sub{font-size:.8rem;color:var(--neutral-muted);display:block;margin-top:2px}.modal-close-btn{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--neutral-muted)}.modal-close-btn:hover{color:var(--neutral-dark)}.modal-body-scrollable{flex-grow:1;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:22px}.modal-footer{border-top:1px solid var(--neutral-border);padding:18px 28px;display:flex;justify-content:flex-end;gap:12px}.form-fieldset{border:1px solid var(--neutral-border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.form-fieldset legend{font-size:.85rem;font-weight:700;color:var(--primary-teal);text-transform:uppercase;letter-spacing:.5px;padding:0 10px}.form-fieldset.focus-highlight{background:var(--primary-teal-light);border-color:#126c6233}.form-actions-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.checkbox-toggle-group{display:flex;align-items:center}.checkbox-switch-container{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem}.checkbox-switch-container input{opacity:0;width:0;height:0;position:absolute}.checkbox-box{width:20px;height:20px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;display:inline-block;position:relative;transition:all var(--transition-fast)}.checkbox-switch-container input:checked+.checkbox-box{background:var(--primary-teal);border-color:var(--primary-teal)}.checkbox-switch-container input:checked+.checkbox-box:after{content:"✓";color:#fff;font-weight:800;font-size:.75rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.treatment-nested-fields{margin-top:12px;border-top:1px solid rgba(18,108,98,.1);padding-top:16px}.patient-selector-group,.searchable-dropdown-wrapper{position:relative}.dropdown-search-results{background:#fff;border:1px solid var(--neutral-border);border-radius:12px;box-shadow:0 10px 15px -3px #0000001a;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;z-index:20}.dropdown-item-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9}.dropdown-item-row:hover{background:var(--primary-teal-light)}.dropdown-item-row strong{font-size:.9rem;color:var(--neutral-dark)}.dropdown-item-row span{font-size:.78rem;color:var(--neutral-muted)}.no-dropdown-results{color:var(--neutral-muted);font-size:.85rem;padding:16px;text-align:center}.selected-indicator-label{color:var(--accent-emerald);font-size:.78rem;font-weight:700;margin-top:4px}.margin-top-10{margin-top:10px}.margin-top-20{margin-top:20px}.margin-bottom-10{margin-bottom:10px}.exped-drawer{max-height:95vh}.exped-drawer.extra-large{max-height:92vh;max-width:1680px;width:min(98vw,1680px)}.modal-card.large.bitacora-master-modal{border-radius:0;height:100vh;max-height:100vh;max-width:none;width:100vw}.modal-overlay:has(.bitacora-master-modal){padding:0}.bitacora-master-modal .modal-body-scrollable{max-height:none;padding:34px}.bitacora-master-modal .premium-table{table-layout:fixed}.drawer-header-meta{display:flex;align-items:center;gap:16px}.drawer-body{padding:0 28px 28px}.drawer-grid-layout{display:grid;grid-template-columns:280px 1fr;gap:28px}.drawer-grid-layout.reverse{grid-template-columns:350px minmax(0,1fr)}.drawer-info-column{display:flex;flex-direction:column;gap:20px}.drawer-info-column.narrow{max-width:none}.rehab-session-cards-list{display:flex;flex-direction:column;gap:10px}.rehab-session-card{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;padding:12px;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);width:100%}.rehab-session-card:hover,.rehab-session-card.active{background:#fff;border-color:#0d948859;box-shadow:0 8px 18px #0f172a0f}.rehab-session-card div{display:flex;flex-direction:column;gap:3px}.rehab-session-card strong{color:var(--neutral-dark);font-size:.92rem}.rehab-session-card span:not(.status-badge){color:var(--neutral-muted);font-size:.78rem}.readonly-bitacora-table-wrap{overflow-x:auto}.selected-session-bitacora{display:flex;flex-direction:column;gap:18px}.selected-session-data-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.selected-session-data-grid label{display:flex;flex-direction:column;gap:6px}.selected-session-data-grid span{color:#64748b;font-size:.74rem;font-weight:800;text-transform:uppercase}.selected-session-data-grid input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-family:inherit;font-size:.85rem;padding:9px 10px;width:100%}.selected-session-data-grid input:disabled{opacity:1}.readonly-bitacora-table input,.readonly-bitacora-table textarea{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-family:inherit;font-size:.82rem;line-height:1.35;padding:8px;resize:vertical;width:100%}.readonly-bitacora-table textarea{min-width:220px}.readonly-bitacora-table input:disabled,.readonly-bitacora-table textarea:disabled{opacity:1}.drawer-main-column{display:flex;flex-direction:column;gap:20px}.info-block-card{background:var(--neutral-light);border:1px solid var(--neutral-border);border-radius:16px;padding:20px}.info-block-card.danger-border{border-color:#ef444433;background:#fef2f24d}.info-block-card.warning-border{border-color:#f59e0b33;background:#fefce84d}.info-block-card h4{font-size:.9rem;font-weight:800;color:var(--primary-teal);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;border-bottom:1px solid var(--neutral-border);padding-bottom:8px}.info-block-card h4.text-danger{color:var(--status-danger-text);border-bottom-color:#ef44441a}.details-list{display:flex;flex-direction:column;gap:10px}.details-list div{display:flex;justify-content:space-between;font-size:.88rem;border-bottom:1px dashed #e2e8f0;padding-bottom:6px}.details-list dt{color:var(--neutral-muted);font-weight:600}.details-list dd{color:var(--neutral-dark);font-weight:700;text-align:right}.address-paragraph{font-size:.95rem;line-height:1.6}.observations-content-box{background:#fff;border-radius:8px;padding:14px;font-size:.92rem;line-height:1.5}.details-header-card{background:var(--primary-teal-light);border:1px solid rgba(18,108,98,.1);border-radius:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:16px 20px}.details-header-card div{display:flex;flex-direction:column;gap:4px}.details-header-card strong{font-size:.8rem;color:var(--primary-teal);text-transform:uppercase;letter-spacing:.5px}.details-header-card span{font-size:.95rem;font-weight:700;color:var(--neutral-dark)}.clinical-report-sheet{display:flex;flex-direction:column;gap:20px}.report-section{display:flex;flex-direction:column;gap:8px}.report-section.border-top-divider{border-top:1px solid var(--neutral-border);padding-top:18px}.report-section h4{font-size:.85rem;font-weight:800;color:var(--secondary-slate);text-transform:uppercase;letter-spacing:.5px}.report-text{background:var(--neutral-light);border:1px solid var(--neutral-border);border-radius:10px;font-size:.95rem;line-height:1.6;padding:16px}.report-text.main-complaint{font-size:1.05rem;font-weight:700;color:var(--primary-teal);border-left:4px solid var(--primary-teal);background:#fff}.report-text.highlighted{background:#fff;border-color:#126c6226;font-weight:700}.report-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.associated-tx-alert{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px 16px;color:#15803d;font-size:.9rem}.treatment-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.treatment-dashboard-card{background:#fff;border:1px solid var(--neutral-border);border-radius:20px;box-shadow:0 4px 6px -1px #00000005;display:flex;flex-direction:column;padding:24px;transition:all var(--transition-normal)}.treatment-dashboard-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d}.tx-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tx-date-sub{font-size:.78rem;font-weight:700;color:var(--neutral-muted)}.tx-patient-name{font-size:1.15rem;font-weight:800;color:var(--neutral-dark)}.tx-doctor-meta{font-size:.85rem;color:var(--neutral-muted);margin-top:4px;margin-bottom:20px}.tx-progress-container{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.tx-progress-labels{display:flex;justify-content:space-between;font-size:.82rem}.tx-progress-labels span{color:var(--neutral-muted);font-weight:600}.tx-progress-labels strong{color:var(--primary-teal);font-weight:800}.tx-progress-bar-bg{background:var(--neutral-light);border-radius:6px;height:8px;overflow:hidden;position:relative;width:100%}.tx-progress-bar-fill{background:linear-gradient(90deg,var(--primary-teal),var(--accent-emerald));border-radius:6px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.tx-card-footer-buttons{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--neutral-border);padding-top:16px;margin-top:auto}.footer-quick-actions{display:flex;gap:6px}.quick-icon-btn{border:none;border-radius:6px;font-size:.8rem;font-weight:800;width:26px;height:26px;cursor:pointer;display:flex;align-items:center;justify-content:center}.quick-icon-btn.check{background:var(--primary-teal-light);color:var(--primary-teal)}.quick-icon-btn.cancel{background:var(--status-danger-bg);color:var(--status-danger-text)}.treatment-details-summary-header{background:var(--neutral-light);border:1px solid var(--neutral-border);border-radius:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 20px;margin-bottom:24px}.treatment-details-summary-header div{display:flex;align-items:center;gap:8px;font-size:.9rem}.prescribed-procedures-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.procedure-plan-item{background:#fff;border:1px solid var(--neutral-border);border-radius:8px;padding:10px 14px}.procedure-plan-item strong{font-size:.8rem;color:var(--primary-teal);display:block}.procedure-plan-item p{font-size:.85rem;margin-top:2px;line-height:1.4}.nested-empty-state{text-align:center;padding:40px 20px}.sessions-timeline-feed{display:flex;flex-direction:column;gap:20px;position:relative;padding-left:20px}.sessions-timeline-feed:before{content:"";background:var(--neutral-border);position:absolute;top:10px;bottom:10px;left:6px;width:2px}.timeline-session-node{position:relative}.timeline-session-node:before{content:"";background:var(--neutral-muted);border:2px solid white;border-radius:50%;position:absolute;top:4px;left:-18px;width:10px;height:10px;z-index:2}.timeline-session-node.falto:before{background:var(--neutral-muted)}.timeline-session-node.cancelada:before{background:var(--status-danger-text)}.timeline-session-node.programada:before{background:#f59e0b}.timeline-session-node.en_tratamiento:before{background:#6366f1}.session-node-header{display:flex;justify-content:space-between;align-items:center}.node-num-label{font-size:.98rem;color:var(--neutral-dark)}.node-date-label{font-size:.82rem;color:var(--neutral-muted);margin-left:8px}.node-status-group{display:flex;align-items:center;gap:10px}.small-edit-link{background:none;border:none;color:var(--primary-teal);font-size:.78rem;font-weight:700;cursor:pointer}.session-node-body{background:var(--neutral-light);border:1px solid var(--neutral-border);border-radius:10px;margin-top:8px;padding:14px 18px}.therapist-name{font-size:.82rem;color:var(--neutral-muted);font-weight:600}.evolution-text{font-size:.9rem;margin-top:6px;line-height:1.4}.session-charge-details{border-top:1px dashed var(--neutral-border);display:flex;justify-content:space-between;font-size:.78rem;margin-top:10px;padding-top:8px}.payment-indicator-text{font-weight:700}.payment-indicator-text.pagado{color:var(--status-paid-text)}.payment-indicator-text.pendiente{color:var(--status-pending-text)}.config-grid-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.flex-column{display:flex;flex-direction:column;gap:28px}.user-profile-display-card{display:flex;gap:20px;align-items:center}.user-profile-avatar{background:var(--primary-teal-light);border-radius:50%;color:var(--primary-teal);font-size:2rem;font-weight:800;display:flex;align-items:center;justify-content:center;width:76px;height:76px;box-shadow:0 4px 6px -1px var(--primary-teal-glow)}.user-profile-details h3{font-size:1.25rem;font-weight:800}.user-role-badge{background:var(--primary-teal-light);border:1px solid rgba(18,108,98,.2);border-radius:6px;color:var(--primary-teal);display:inline-block;font-size:.75rem;font-weight:700;margin-top:4px;padding:2px 8px}.user-contacts-list{font-size:.85rem;margin-top:8px;color:var(--neutral-muted)}.config-operation-mode-selector{display:flex;flex-direction:column}.toggle-switch-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.switch-text-label strong{display:block;font-size:.95rem;color:var(--neutral-dark)}.switch-text-label p{font-size:.8rem;color:var(--neutral-muted);margin-top:2px}.seeder-intro-paragraph{font-size:.9rem;line-height:1.5}.seeder-action-box{background:#fff;border-radius:12px;border:1px dashed rgba(245,158,11,.3);margin-top:14px;padding:20px;text-align:center}.button-subtext{font-size:.72rem;color:var(--neutral-muted);margin-top:8px}.token-text{font-family:monospace;font-size:.8rem}.collections-bullet-list{list-style:none;display:flex;flex-direction:column;gap:8px;font-size:.88rem}.collections-bullet-list li strong{color:var(--primary-teal)}.toast-container{display:flex;flex-direction:column;gap:10px;position:fixed;bottom:30px;right:30px;z-index:1000}.toast-card{background:#fff;border-radius:12px;border-left:5px solid var(--primary-teal);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:flex;align-items:center;gap:12px;padding:16px;width:320px;animation:toastSlideIn .25s cubic-bezier(.34,1.56,.64,1)}.toast-card.success{border-left-color:var(--accent-emerald)}.toast-card.error{border-left-color:#ef4444}.toast-card.warning{border-left-color:#f59e0b}.toast-card.info{border-left-color:var(--primary-teal)}.toast-icon{border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;width:22px;height:22px;flex-shrink:0}.toast-card.success .toast-icon{background:var(--accent-emerald-light);color:var(--accent-emerald)}.toast-card.error .toast-icon{background:#fee2e2;color:#ef4444}.toast-card.warning .toast-icon{background:var(--status-pending-bg);color:#f59e0b}.toast-card.info .toast-icon{background:var(--primary-teal-light);color:var(--primary-teal)}.toast-content{flex-grow:1}.toast-content p{font-size:.85rem;font-weight:600}.toast-close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--neutral-muted)}.loading-skeleton-container{display:flex;flex-direction:column;gap:12px}.skeleton-row{background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9,#e2e8f0 75%);background-size:200% 100%;border-radius:10px;height:48px;width:100%;animation:skeletonShimmer 1.5s infinite}.empty-state-card{background:#fff;border:1px dashed var(--neutral-border);border-radius:20px;padding:60px 40px;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:16px}.empty-state-card h3{font-size:1.2rem;font-weight:700;color:var(--neutral-dark)}.empty-state-card p{font-size:.9rem;color:var(--neutral-muted);margin-top:6px;max-width:320px;margin-left:auto;margin-right:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:992px){.drawer-grid-layout,.drawer-grid-layout.reverse,.config-grid-layout,.selected-session-data-grid{grid-template-columns:1fr}.drawer-info-column.narrow{max-width:100%}}@media(max-width:768px){.dashboard-layout{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.sidebar-navigation{width:100%;height:auto;overflow:visible;border-right:none;border-bottom:1px solid var(--neutral-border);padding:20px}.sidebar-brand{margin-bottom:20px}.nav-links-list{flex-direction:row;overflow-x:auto;padding-bottom:8px}.nav-item-btn{white-space:nowrap;padding:10px 14px;font-size:.85rem}.sidebar-user-section{display:none}.main-workspace{height:auto;overflow:visible;padding:20px}.search-filters-bar{flex-direction:column;align-items:stretch;gap:12px}.consulta-status-filter-group{justify-content:flex-start}.consulta-status-filter-btn{flex:1 1 120px}.form-row-grid,.form-row-grid.tri{grid-template-columns:1fr}}.admin-layout-shell{align-items:flex-start;display:grid;gap:24px;grid-template-columns:260px minmax(0,1fr)}.admin-tabs-nav{background:#fff;border:1px solid var(--neutral-border);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:6px;padding:10px}.admin-tabs-vertical{flex-direction:column;position:sticky;top:24px;width:100%}.admin-nav-btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--neutral-muted);cursor:pointer;display:flex;font-size:.9rem;font-weight:750;gap:10px;justify-content:flex-start;min-height:44px;padding:11px 12px;text-align:left;transition:all var(--transition-fast);width:100%}.admin-tab-icon{align-items:center;display:inline-flex;flex:0 0 24px;font-size:1rem;justify-content:center}.admin-nav-btn:hover{color:var(--primary-teal);background:var(--primary-teal-light)}.admin-nav-btn.active{background:var(--primary-teal-light);border-color:#126c622e;color:var(--primary-teal);box-shadow:inset 3px 0 0 var(--primary-teal)}.admin-content-container{min-width:0;width:100%}.import-export-panel{display:flex;flex-direction:column;gap:18px}.import-export-tabs{align-items:center;background:#f8fafc;border:1px solid var(--neutral-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:6px;padding:6px}.import-export-tab-btn{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--neutral-muted);cursor:pointer;font-size:.9rem;font-weight:800;padding:9px 12px}.import-export-tab-btn:hover,.import-export-tab-btn.active{background:#fff;border-color:#126c622e;color:var(--primary-teal)}.import-export-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}.import-export-actions-left{display:flex;flex-wrap:wrap;gap:10px}.import-export-delete-warning{color:var(--status-danger-text);font-weight:800;line-height:1.5}.import-export-model-box{background:#0f172a;border-radius:8px;color:#e2e8f0;font-size:.82rem;line-height:1.45;max-height:380px;overflow:auto;padding:16px;white-space:pre}.import-export-json-field textarea{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;min-height:280px;resize:vertical}.import-export-summary{background:#f8fafc;border:1px solid var(--neutral-border);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:14px 16px}.import-export-summary strong{color:var(--neutral-dark)}.import-export-summary details{margin-top:4px}.import-export-summary summary{color:var(--primary-teal);cursor:pointer;font-weight:800}.import-export-summary ul{color:var(--status-danger-text);font-size:.84rem;line-height:1.4;margin:10px 0 0 18px}.row-updating-highlight{background-color:#fefce899!important;transition:background-color var(--transition-normal)}.user-initial-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;box-shadow:0 2px 4px #126c6226}.user-avatar-upload-trigger{overflow:hidden;position:relative;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--primary-teal-light);color:var(--primary-teal);font-weight:700;border:2px solid var(--primary-teal-light);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin:0;box-shadow:0 2px 4px #0000000d}.user-avatar-upload-trigger:hover{border-color:var(--primary-teal)!important;transform:scale(1.06);box-shadow:0 4px 8px #126c6233}.user-avatar-upload-trigger .avatar-hover-overlay{position:absolute;inset:0;background:#0006;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;font-size:.85rem}.user-avatar-upload-trigger:hover .avatar-hover-overlay{opacity:1!important}.user-avatar-upload-trigger.uploading{cursor:wait}.user-avatar-upload-trigger.uploading .avatar-hover-overlay{opacity:1!important;background:#0009}.tiny-role-indicator{font-size:.72rem;color:var(--neutral-muted);font-weight:600;margin-top:2px;text-transform:uppercase;letter-spacing:.3px}.inline-role-select{padding:8px 12px;border-radius:8px;border:1px solid var(--neutral-border);background-color:#fff;font-size:.88rem;font-weight:600;color:var(--neutral-dark);cursor:pointer;transition:border-color var(--transition-fast);outline:none}.inline-role-select:focus{border-color:var(--primary-teal)}.company-info-form{display:flex;flex-direction:column;gap:22px;max-width:960px}.admin-user-profile-form{display:flex;flex-direction:column;gap:22px;max-width:920px}.admin-user-profile-top{align-items:center;display:flex;gap:28px}.admin-user-avatar-upload{align-items:center;background:var(--primary-teal-light);border:2px dashed #b7d6d1;color:var(--primary-teal);cursor:pointer;display:flex;flex-shrink:0;font-size:3rem;font-weight:900;height:132px;justify-content:center;overflow:hidden;position:relative;width:132px}.admin-user-avatar-upload img{height:100%;object-fit:cover;width:100%}.admin-user-avatar-upload.disabled{cursor:default;opacity:.86}.admin-user-avatar-upload.uploading{cursor:wait;opacity:.75}.admin-user-avatar-camera{align-items:center;background:#fff;border:1px solid var(--neutral-border);bottom:-4px;box-shadow:0 4px 8px #0f172a1f;color:var(--neutral-dark);display:flex;font-size:1rem;height:38px;justify-content:center;position:absolute;right:-4px;width:38px}.admin-user-profile-top h3{color:var(--neutral-dark);font-size:1.45rem;font-weight:800;margin-bottom:4px}.admin-user-profile-top p{color:var(--neutral-muted);font-size:.95rem;font-weight:700;margin-bottom:10px}.admin-user-form-grid{display:grid;gap:18px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-field-span-2{grid-column:span 2}.admin-user-profile-form input:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed;opacity:1}.admin-user-profile-form input[readonly]{background:#f1f5f9;color:#64748b;cursor:default;opacity:1}.admin-user-profile-form input:not([readonly]):not(:disabled){background:#fff;color:var(--neutral-dark);cursor:text}.company-logo-section{align-items:center;display:flex;gap:30px;min-height:150px}.company-logo-upload{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;color:#cbd5e1;cursor:pointer;display:flex;flex-shrink:0;height:140px;justify-content:center;position:relative;width:140px}.company-logo-upload img{height:100%;object-fit:contain;padding:12px;width:100%}.company-logo-placeholder{font-size:2.8rem;filter:grayscale(1);opacity:.65}.company-logo-camera{align-items:center;background:#fff;border:1px solid var(--neutral-border);bottom:-4px;box-shadow:0 4px 8px #0f172a1f;color:var(--neutral-dark);display:flex;font-size:1rem;height:40px;justify-content:center;position:absolute;right:-4px;width:40px}.company-logo-upload.uploading{cursor:wait;opacity:.72}.company-logo-upload.disabled{cursor:default;opacity:.82}.company-logo-section h3{color:var(--neutral-dark);font-size:1.4rem;font-weight:800;margin-bottom:8px}.company-logo-section p,.company-logo-url{color:var(--neutral-muted);display:block;font-size:.95rem}.company-logo-url{margin-top:8px;max-width:620px;overflow-wrap:anywhere}.company-form-divider{border-top:1px solid var(--neutral-border);height:1px;width:100%}.company-location-section{border-top:0;padding-top:0}.company-location-title{align-items:center;display:flex;gap:12px;margin-bottom:24px}.company-location-icon{align-items:center;background:#fff7df;border-radius:8px;color:#9f6b00;display:inline-flex;font-size:1.2rem;height:40px;justify-content:center;width:40px}.company-location-title h3{color:var(--neutral-dark);font-size:1.35rem;font-weight:800}.company-location-grid{display:grid;gap:24px 30px;grid-template-columns:repeat(3,minmax(0,1fr))}.company-field-span-2{grid-column:span 2}.company-location-grid .form-group{gap:10px}.company-location-grid label{color:#70757c;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.company-location-grid input,.company-location-grid select{background:#f7f6f6;border:0;border-radius:8px;box-shadow:none;color:var(--neutral-dark);min-height:40px}.company-info-form input:disabled,.company-info-form select:disabled,.company-location-grid input:disabled,.company-location-grid select:disabled{background:#f7f6f6;color:#8c8c8c;cursor:default;opacity:1}.company-info-form input[readonly],.company-location-grid input[readonly]{background:#f7f6f6;color:#8c8c8c;cursor:default;opacity:1}.company-info-form input:not([readonly]):not(:disabled),.company-location-grid input:not([readonly]):not(:disabled){background:#fff;color:var(--neutral-dark);cursor:text}.patient-location-panel,.patient-location-fieldset{border-top:1px solid var(--neutral-border);padding-top:28px}.patient-location-fieldset{border-left:0;border-right:0;border-bottom:0}.patient-location-panel.compact{border-top:0;padding-top:0}.patient-location-title{align-items:center;display:flex;gap:12px;margin-bottom:24px}.patient-location-icon{align-items:center;background:#fff7df;border-radius:8px;color:#9f6b00;display:inline-flex;font-size:1.2rem;height:40px;justify-content:center;width:40px}.patient-location-title h3{color:var(--neutral-dark);font-size:1.35rem;font-weight:800}.patient-location-grid{display:grid;gap:24px 30px;grid-template-columns:repeat(3,minmax(0,1fr))}.patient-field-span-2{grid-column:span 2}.patient-location-grid .form-group,.patient-location-grid .profile-field-group{gap:10px}.patient-location-grid label{color:#70757c;font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.patient-location-grid input,.patient-location-grid select{background:#f7f6f6;border:0;border-radius:8px;box-shadow:none;color:var(--neutral-dark);min-height:40px}.patient-location-grid input:read-only{color:#8c8c8c}.patient-location-grid input:disabled{background:#f7f6f6;border-color:transparent;opacity:1}@media(max-width:760px){.admin-layout-shell{grid-template-columns:1fr}.admin-tabs-vertical{flex-direction:row;overflow-x:auto;position:static}.admin-tabs-vertical .admin-nav-btn{flex:0 0 max-content;min-width:170px}.company-logo-section{align-items:flex-start;flex-direction:column}.company-info-form .form-row-grid,.company-location-grid,.patient-location-grid{grid-template-columns:1fr}.company-field-span-2,.patient-field-span-2{grid-column:span 1}}.user-role-badge{display:inline-block;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px}.user-role-badge.role-admin{background:#f5f3ff;color:#7c3aed;border:1px solid rgba(124,58,237,.15)}.user-role-badge.role-recepcion{background:#eff6ff;color:#2563eb;border:1px solid rgba(37,99,235,.15)}.user-role-badge.role-doctor{background:#fdf2f8;color:#db2777;border:1px solid rgba(219,39,119,.15)}.user-role-badge.role-fisio{background:#f0fdfa;color:#0d9488;border:1px solid rgba(13,148,136,.15)}.user-role-badge.role-usuario{background:#f3f4f6;color:#4b5563;border:1px solid rgba(75,85,99,.15)}.user-role-badge.role-area,.user-role-badge.role-área{background:#fffbeb;color:#d97706;border:1px solid rgba(217,119,6,.15)}.availability-setup-list{margin-top:15px}.availability-day-row{display:grid;grid-template-columns:240px 1fr;align-items:center;padding:20px;border:1px solid var(--neutral-border);border-radius:12px;transition:all var(--transition-normal);gap:20px}@media(max-width:768px){.availability-day-row{grid-template-columns:1fr;gap:15px}}.day-enabled-bg{background:#fff;border-left:5px solid var(--accent-emerald)}.day-disabled-bg{background:var(--neutral-light);opacity:.85;border-left:5px solid var(--neutral-muted)}.day-info-section{display:flex;align-items:center;gap:16px}.intervals-configuration-section{display:flex;flex-direction:column;gap:12px;width:100%}.interval-row{display:flex;align-items:center;gap:12px;background:var(--neutral-light);padding:8px 16px;border-radius:8px;border:1px solid var(--neutral-border);animation:fadeIn .2s ease-out;width:fit-content}.time-picker-input{border:1px solid var(--neutral-border);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.9rem;font-weight:700;color:var(--neutral-dark);background:#fff;outline:none;transition:border-color var(--transition-fast)}.time-picker-input:focus{border-color:var(--primary-teal)}.remove-interval-btn{background:none;border:none;font-size:.9rem;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.remove-interval-btn:hover{background-color:#fee2e2}.add-interval-link-btn{background:none;border:none;color:var(--primary-teal);font-weight:700;font-size:.85rem;cursor:pointer;padding:6px 12px;border-radius:6px;width:fit-content;text-align:left;display:inline-flex;align-items:center;gap:6px;transition:all var(--transition-fast)}.add-interval-link-btn:hover{background:var(--primary-teal-light);text-decoration:underline}.no-intervals-placeholder{font-style:italic;color:var(--neutral-muted)}.services-catalog-list{display:flex;flex-direction:column;gap:16px}.service-catalog-card{background:#fff;border:1px solid var(--neutral-border);border-radius:12px;padding:18px;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-normal);box-shadow:0 2px 4px #00000003}.service-catalog-card:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000000a;border-color:#126c6233}.service-details-box{display:flex;flex-direction:column}.service-title-display{color:var(--neutral-dark);font-size:1.05rem;font-weight:800}.service-tags-line{display:flex;align-items:center;gap:8px;margin-top:4px}.sub-slots-badge-display{margin-top:6px}.subslots-badge-pill{display:inline-block;background:#f0fdf4;color:#15803d;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:6px;border:1px solid rgba(21,128,61,.12);text-transform:uppercase}.tiny-input-desc{font-size:.72rem;color:var(--neutral-muted);margin-top:4px;display:block}.fullscreen-modal{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;margin:0!important;border-radius:0!important;background:#fff!important}.consulta-models-trigger-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#334155;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:800;gap:8px;height:44px;justify-content:center;line-height:1;padding:0 16px;white-space:nowrap}.consulta-models-trigger-btn:hover{background:#f8fafc;border-color:var(--primary-teal);color:var(--primary-teal)}.consulta-model-drawer-backdrop{background:#0f172a2e;display:flex;justify-content:flex-end;inset:0;position:fixed;z-index:1300}.consulta-model-drawer{background:#fff;border-left:1px solid #e2e8f0;box-shadow:-18px 0 36px #0f172a29;display:flex;flex-direction:column;height:100vh;max-width:min(380px,92vw);width:380px;animation:consultaDrawerIn .22s ease}.consulta-model-drawer-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:16px;padding:22px}.consulta-model-drawer-header h3{color:var(--neutral-dark);font-size:1.2rem;font-weight:800;margin:0}.consulta-model-drawer-header span{color:var(--neutral-muted);display:block;font-size:.82rem;margin-top:4px}.consulta-model-drawer-actions{align-items:center;display:flex;gap:8px}.consulta-model-icon-btn{align-items:center;background:var(--primary-teal);border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.35rem;font-weight:900;height:38px;justify-content:center;line-height:1;width:38px}.consulta-model-icon-btn:hover{background:#0f5850}.consulta-model-drawer-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:18px}.consulta-model-section-label{color:#64748b;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.consulta-model-section-row{align-items:center;display:flex;justify-content:space-between;gap:12px;margin:8px 0 2px}.consulta-model-small-add-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:var(--primary-teal);cursor:pointer;font-size:.76rem;font-weight:900;padding:7px 10px;white-space:nowrap}.consulta-model-small-add-btn:hover{background:var(--primary-teal-light);border-color:#126c6259}.consulta-model-empty-text{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:.88rem;font-weight:700;margin:0;padding:14px;text-align:center}.consulta-model-row{align-items:stretch;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 42px 42px}.consulta-model-full-btn{background:#f8fafc;border:1px solid #dbe4ef;border-radius:8px;color:#1e293b;cursor:pointer;font-size:.95rem;font-weight:800;min-height:48px;padding:13px 15px;text-align:left;width:100%}.consulta-model-full-btn:hover{background:var(--primary-teal-light);border-color:#126c6259;color:var(--primary-teal)}.consulta-model-row-icon{align-items:center;background:#fff;border:1px solid #dbe4ef;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:900;justify-content:center;min-height:48px}.consulta-model-row-icon:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.consulta-model-row-icon.danger:hover{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.consulta-model-form-modal{max-height:calc(100vh - 32px);max-width:760px}.consulta-model-form-modal form{display:flex;flex:1;flex-direction:column;min-height:0}.consulta-model-form-body{display:grid;gap:16px;min-height:0;overflow-y:auto;padding:24px 28px}.consulta-model-treatment-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:18px}.consulta-model-treatment-title{color:#334155;display:block;font-size:.9rem;font-weight:800;margin-bottom:12px}.consulta-model-radio-row{display:flex;gap:20px}.consulta-model-radio-row label{align-items:center;color:#334155;cursor:pointer;display:inline-flex;font-weight:700;gap:8px}.consulta-model-radio-row input{height:18px;width:18px}.consulta-model-sessions-input{margin-top:16px;max-width:190px}.unfinished-consultation-alert-card{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;display:flex;flex-direction:column;gap:5px;margin-top:12px;padding:16px}.unfinished-consultation-alert-card strong{color:#9a3412;font-size:1rem}.unfinished-consultation-alert-card span,.unfinished-consultation-alert-card small{color:#7c2d12;font-weight:700}@keyframes consultaDrawerIn{0%{transform:translate(100%)}to{transform:translate(0)}}@media print{body:has(.fullscreen-modal) *{visibility:hidden}.modal-overlay{background:none}body:has(.fullscreen-modal) .fullscreen-modal,body:has(.fullscreen-modal) .fullscreen-modal *{visibility:visible!important}.fullscreen-modal{position:absolute;left:0;top:0;margin:0;padding:0;width:100%;box-shadow:none}.no-print{display:none!important}}.print-only{display:none}@media print{.print-only{display:block!important;position:absolute;left:0;top:0;width:100%;background:#fff}.print-only,.print-only *{visibility:visible!important}}.consulta-print-preview-card{max-width:920px}.consulta-print-preview-body{background:#f8fafc}.consulta-print-document{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:820px;padding:28px}.consulta-print-header{align-items:flex-start;border-bottom:2px solid #dbeafe;display:flex;justify-content:space-between;gap:20px;padding-bottom:16px}.consulta-print-header h1{font-size:1.55rem;margin:0}.consulta-print-header p{color:#64748b;font-weight:700;margin:4px 0 0}.consulta-print-header-meta{color:#334155;display:flex;flex-direction:column;font-size:.9rem;gap:4px;line-height:1.4;min-width:280px;text-align:right}.consulta-print-section{break-inside:avoid}.consulta-print-section h2{color:#1e3a8a;font-size:.95rem;margin:0 0 8px}.consulta-print-section p{line-height:1.55;margin:0;white-space:pre-wrap}.consulta-print-signatures{display:grid;gap:70px;grid-template-columns:repeat(2,1fr);margin-top:72px}.consulta-print-signatures div{border-top:1px solid #94a3b8;color:#475569;font-weight:700;padding-top:10px;text-align:center}.consulta-print-surface{display:none}@media print{body.consulta-print-mode *{visibility:hidden!important}body.consulta-print-mode .consulta-print-root,body.consulta-print-mode .consulta-print-root *{visibility:visible!important}body.consulta-print-mode .consulta-print-modal{display:none!important}body.consulta-print-mode .consulta-print-surface{background:#fff!important;display:block!important;left:0!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}body.consulta-print-mode .consulta-print-document{border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;padding:20px!important}body.consulta-print-mode .consulta-print-header-meta{text-align:right!important}}.reports-container{display:flex;flex-direction:column;gap:28px;animation:fadeIn .3s ease}.reports-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--neutral-border);padding-bottom:20px}.reports-title{font-size:1.8rem;font-weight:800;color:var(--neutral-dark);letter-spacing:-.5px}.reports-subtitle{font-size:.95rem;color:var(--neutral-muted);margin-top:4px}.reports-header-actions{display:flex;gap:12px}.reports-filters-panel{background:#fff;border:1px solid var(--neutral-border);border-radius:16px;padding:16px 20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 2px 4px #00000003}.filter-group{display:flex;align-items:center;gap:16px}.filter-label{font-size:.85rem;font-weight:700;color:var(--neutral-muted);text-transform:uppercase;letter-spacing:.5px}.reports-filter-select{background:#fff;border:1px solid var(--neutral-border);border-radius:8px;color:var(--neutral-dark);font-size:.9rem;font-weight:600;min-width:190px;padding:10px 12px}.reports-filter-select:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #126c621f;outline:none}.reports-filter-buttons{background:var(--neutral-light);border:1px solid #edf2f7;border-radius:10px;display:flex;gap:6px;padding:4px}.reports-filter-button{background:transparent;border:0;border-radius:8px;color:var(--neutral-muted);cursor:pointer;font-size:.88rem;font-weight:700;padding:9px 14px;transition:all var(--transition-fast)}.reports-filter-button:hover{color:var(--neutral-dark)}.reports-filter-button.active{background:#2563eb;color:#fff;box-shadow:0 8px 18px #2563eb3d}.reports-filter-button.active.warning{background:#1d4ed8;color:#fff}.btn-group{display:flex;gap:8px;background:var(--neutral-light);padding:4px;border-radius:10px;border:1px solid #edf2f7}.filter-tab-btn{background:none;border:none;padding:8px 16px;font-size:.88rem;font-weight:600;color:var(--neutral-muted);border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.filter-tab-btn:hover{color:var(--neutral-dark)}.filter-tab-btn.active{background:#fff;color:var(--primary-teal);box-shadow:0 2px 4px #0000000d}.custom-dates-container{display:flex;gap:20px;border-top:1px solid #f1f5f9;padding-top:16px}.date-input-wrapper{display:flex;align-items:center;gap:10px}.date-input-wrapper label{font-size:.85rem;font-weight:600;color:var(--secondary-slate)}.reports-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.kpi-card{background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:24px;display:flex;align-items:center;gap:20px;position:relative;overflow:hidden;transition:all var(--transition-normal);box-shadow:0 4px 6px -1px #00000003,0 2px 4px -1px #00000003}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #00000008,0 4px 6px -2px #00000008}.kpi-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-40px;bottom:-40px;filter:blur(40px);opacity:.15;z-index:1;pointer-events:none}.card-glow-emerald:after{background:var(--accent-emerald)}.card-glow-amber:after{background:#f59e0b}.card-glow-purple:after{background:#8b5cf6}.card-glow-blue:after{background:#3b82f6}.kpi-icon-bg{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;z-index:2}.bg-emerald{background:#ecfdf5;color:#059669}.bg-amber{background:#fffbeb;color:#d97706}.bg-purple{background:#f5f3ff;color:#7c3aed}.bg-blue{background:#eff6ff;color:#2563eb}.kpi-meta{display:flex;flex-direction:column;gap:4px;z-index:2}.kpi-title{font-size:.85rem;font-weight:700;color:var(--neutral-muted);text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:1.6rem;font-weight:800;line-height:1.1}.text-emerald{color:#059669}.text-amber{color:#d97706}.text-blue{color:#2563eb}.kpi-footer{font-size:.75rem;color:var(--neutral-muted)}.reports-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}@media(max-width:1024px){.reports-section-grid{grid-template-columns:1fr}}.report-card-container{background:#fff;border:1px solid var(--neutral-border);border-radius:20px;box-shadow:0 4px 6px -1px #00000005;display:flex;flex-direction:column;overflow:hidden}.report-card-header{padding:24px;border-bottom:1px solid #edf2f7}.report-card-header h4{font-size:1.1rem;font-weight:800;color:var(--neutral-dark)}.report-card-subtitle{font-size:.8rem;color:var(--neutral-muted);margin-top:2px;display:block}.report-card-content{padding:24px;display:flex;flex-grow:1}.report-card-content.flex-col{flex-direction:column}.report-card-content.gap-15{gap:15px}.payment-bar-chart{display:flex;flex-direction:column;gap:18px;width:100%}.payment-bar-row{display:flex;flex-direction:column;gap:6px}.payment-bar-info{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.payment-method-name{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--secondary-slate)}.color-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.payment-progress-bar-bg{background:#f1f5f9;border-radius:6px;height:8px;width:100%;overflow:hidden}.payment-progress-bar-fill{height:100%;border-radius:6px;transition:width .8s cubic-bezier(.4,0,.2,1)}.no-data-msg{color:var(--neutral-muted);font-style:italic;font-size:.9rem}.condensed-table th{padding:12px 18px}.condensed-table td{padding:14px 18px}.bold-text{font-weight:700}.text-purple{color:#7c3aed}.tx-status-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%}.tx-status-item{background:var(--neutral-light);border:1px solid #edf2f7;border-radius:12px;padding:16px;text-align:center;display:flex;flex-direction:column;gap:4px}.tx-status-num{font-size:1.8rem;font-weight:800}.tx-status-label{font-size:.75rem;font-weight:600;color:var(--neutral-muted);text-transform:uppercase;letter-spacing:.5px}.bitacora-stats-bar{display:flex;flex-direction:column;gap:8px;width:100%}.bitacora-stats-bar h5{font-size:.85rem;font-weight:700;color:var(--neutral-dark)}.recent-movements-list{display:flex;flex-direction:column;gap:14px;width:100%}.movement-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--neutral-light);border:1px solid #edf2f7;border-radius:12px;transition:all var(--transition-fast)}.movement-row:hover{border-color:#126c6226;background:#f8fafc}.movement-icon-bg{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.bg-emerald-subtle{background:#d1fae5;color:#047857}.bg-purple-subtle{background:#ede9fe;color:#6d28d9}.movement-meta{display:flex;flex-direction:column;gap:2px;flex-grow:1}.movement-meta strong{font-size:.88rem;color:var(--neutral-dark)}.movement-meta span{font-size:.78rem;color:var(--neutral-muted)}.movement-price{font-size:.95rem;font-weight:800}.reports-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;gap:16px}.spinner{width:48px;height:48px;border:4px solid var(--primary-teal-light);border-top-color:var(--primary-teal);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reports-loading p{color:var(--neutral-muted);font-weight:500}.print-only-header{display:none}@media print{html,body{background:#fff!important;color:#000!important;height:auto!important;min-height:auto!important;overflow:visible!important}.dashboard-layout{display:block!important;height:auto!important;min-height:auto!important;overflow:visible!important}.sidebar-navigation,.reports-filters-panel,.reports-header-actions,.no-print{display:none!important}.main-workspace{display:block!important;padding:0!important;width:100%!important;height:auto!important;min-height:auto!important;overflow:visible!important}.reports-container{gap:20px!important;display:block!important;overflow:visible!important}.reports-container,.reports-container *{visibility:visible!important}.print-only-header{display:block!important;margin-bottom:20px}.report-card-container{break-inside:avoid;background:#fff!important;box-shadow:none!important;border:1px solid #ccc!important;margin-bottom:20px;page-break-inside:avoid}.reports-kpi-grid,.kpi-card{display:none!important}.reports-section-grid{display:block!important}.report-card-container{width:100%!important;overflow:visible!important}.table-responsive{overflow:visible!important;box-shadow:none!important;border:none!important}.premium-table{width:100%!important;border-collapse:collapse!important}.premium-table th,.premium-table td{padding:10px 14px!important;font-size:.85rem!important;border-bottom:1px solid #ddd!important}.payment-progress-bar-fill{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.status-badge{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;border:1px solid #999!important}}.avatar-square{background:var(--neutral-light);border:1px solid var(--neutral-border);border-radius:10px;color:var(--secondary-slate);font-size:.95rem;font-weight:800;display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;box-shadow:inset 0 1px 2px #00000005}.weekday-date-cell{display:flex;flex-direction:column;line-height:1.25}.weekday-abbr{font-size:.72rem;font-weight:800;color:var(--neutral-muted);text-transform:uppercase;letter-spacing:.5px}.weekday-date{font-size:.78rem;font-weight:700;color:var(--neutral-dark);margin-top:1px}.movement-concept-cell{display:flex;align-items:center;gap:12px}.movement-concept-cell .meta-text{display:flex;flex-direction:column;line-height:1.3}.movement-concept-cell strong{font-size:.82rem;font-weight:700;color:var(--neutral-dark)}.movement-concept-cell .subtitle{font-size:.7rem;font-weight:800;color:var(--neutral-muted);text-transform:uppercase;margin-top:2px;letter-spacing:.3px}.movement-concept-cell .report-concept-detail{font-size:.58rem;line-height:1.05;opacity:.78;margin-top:1px}.movement-status-compact{max-width:130px;line-height:1.15}.movement-status-compact .subtitle{font-size:.68rem;color:var(--neutral-muted);font-weight:800;text-transform:uppercase}.movement-provider-cell{display:flex;flex-direction:column;line-height:1.3}.movement-provider-pill{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:var(--secondary-slate);font-size:.75rem;font-weight:700;padding:3px 8px;width:fit-content}.movement-provider-cell .subtitle{font-size:.7rem;font-weight:800;color:var(--neutral-muted);text-transform:uppercase;font-style:italic;margin-top:4px;letter-spacing:.3px}.movement-status-cell{display:flex;flex-direction:column;line-height:1.3}.movement-status-cell .subtitle{font-size:.75rem;color:var(--neutral-muted);margin-top:4px;display:inline-flex;align-items:center}.movement-amount-cell{font-size:.95rem;font-weight:800}.movement-amount-cell.income{color:#059669}.movement-amount-cell.expense{color:#e11d48}.report-total-row td{background:#f8fafc;border-top:2px solid var(--secondary-slate);font-size:.95rem;font-weight:900;text-transform:uppercase}@media print{.reports-container{gap:8px!important}.print-only-header{margin-bottom:8px!important;font-size:.78rem!important}.print-only-header h2{font-size:1rem!important;margin:0 0 4px!important}.print-only-header p{margin:2px 0!important}.report-card-container{margin-bottom:8px!important;page-break-inside:auto!important;break-inside:auto!important}.reports-container .premium-table th,.reports-container .premium-table td{padding:4px 6px!important;font-size:.68rem!important;line-height:1.15!important}.reports-container .movement-provider-pill{border:none!important;background:transparent!important;padding:0!important;font-size:.66rem!important}.reports-container .subtitle{font-size:.6rem!important;margin-top:1px!important;line-height:1.1!important}.reports-container .report-concept-detail{font-size:.52rem!important}.reports-container .movement-status-compact{max-width:92px!important}.reports-container .movement-amount-cell{font-size:.7rem!important}.reports-container .report-total-row td{padding-top:6px!important;font-size:.76rem!important;border-top:1.5px solid #111!important;background:#fff!important}}.form-group-modern{display:flex;flex-direction:column;gap:8px;width:100%}.modern-label{font-family:var(--font-family);font-size:.88rem;font-weight:600;color:var(--secondary-slate)}.modern-input,.modern-select{font-family:var(--font-family);background-color:#fff;border:1.5px solid #cbd5e1;border-radius:10px;color:var(--neutral-dark);font-size:.95rem;padding:12px 16px;width:100%;outline:none;transition:all var(--transition-fast);box-shadow:0 1px 2px #00000005}.modern-input::placeholder{color:#94a3b8}.modern-input:focus,.modern-select:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px var(--primary-teal-glow),0 1px 2px #0000000d;background-color:#fff}.modern-select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:1.2rem;padding-right:42px;cursor:pointer}.fullscreen-modal-overlay{position:fixed;inset:0;background-color:#0f172abf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;display:flex;justify-content:center;align-items:center;overflow:hidden;animation:fadeIn .25s ease-out}.fullscreen-modal-container{width:98vw;height:96vh;background:#fffffff2;border-radius:20px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.4)}.fullscreen-modal-header{padding:16px 28px;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 6px -1px #0000000d}.fullscreen-header-info{display:flex;flex-direction:column;gap:4px}.fullscreen-header-info h2{margin:0;font-size:1.45rem;font-weight:800;letter-spacing:-.025em;color:#fff}.fullscreen-header-meta{display:flex;align-items:center;gap:16px;font-size:.9rem;color:#ccfbf1}.fullscreen-header-meta span{display:flex;align-items:center;gap:6px}.fullscreen-header-actions{display:flex;align-items:center;gap:12px}.fullscreen-modal-body{flex:1;display:flex;overflow:hidden;background:#f8fafc}.fullscreen-sidebar-left{width:22%;min-width:260px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden}.sidebar-title{padding:14px 18px;font-size:.82rem;font-weight:700;color:var(--secondary-slate);border-bottom:1px solid #e2e8f0;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc}.sidebar-sessions-list{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.sidebar-session-item{padding:10px 12px;border-radius:10px;background:#fff;border:1.5px solid #e2e8f0;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;gap:6px}.sidebar-session-item:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.sidebar-session-item.active{background:#f0fdfa;border-color:#0d9488;box-shadow:0 2px 4px #0d94880d}.sidebar-session-item.active .session-num{color:#0d9488}.session-num{font-weight:700;font-size:.88rem;color:var(--neutral-dark)}.session-date{font-size:.76rem;color:#64748b}.fullscreen-content-right{width:78%;padding:28px 40px;overflow-y:auto;display:flex;flex-direction:column;gap:28px}.content-block-card{background:#fff;border-radius:16px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #00000005}.content-block-card h3{margin-top:0;margin-bottom:16px;font-size:1.15rem;font-weight:700;color:var(--neutral-dark);display:flex;justify-content:space-between;align-items:center}.success-modal-overlay{position:fixed;inset:0;background-color:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;justify-content:center;align-items:center;animation:fadeIn .25s ease-out}.success-modal-card{background:#fff;border-radius:24px;padding:40px 32px;width:90vw;max-width:440px;text-align:center;box-shadow:var(--shadow-2xl);border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}.success-checkmark-circle{width:80px;height:80px;border-radius:50%;background:#ecfdf5;display:flex;align-items:center;justify-content:center;margin-bottom:24px;border:2px solid #a7f3d0;color:#10b981;font-size:2.8rem;box-shadow:0 4px 12px #10b98126;animation:pulseGreen 2s infinite}.success-modal-card h3{margin:0 0 10px;font-size:1.5rem;font-weight:800;color:#111827}.success-modal-card p{margin:0;font-size:.95rem;color:#4b5563;line-height:1.5}@keyframes pulseGreen{0%{transform:scale(1);box-shadow:0 0 #10b98166}70%{transform:scale(1.05);box-shadow:0 0 0 12px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}@media print{body *{visibility:hidden}#print-bitacora-history,#print-bitacora-history *{visibility:visible!important}#print-bitacora-history{display:block!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important;color:#000!important;padding:24px!important;font-family:Inter,-apple-system,sans-serif!important}.no-print{display:none!important}}.audio-player-card{background:linear-gradient(135deg,var(--primary-teal),var(--accent-emerald));border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:24px;color:#fff;box-shadow:0 12px 24px -6px #126c6240,0 0 0 1px #ffffff1a inset;margin-bottom:28px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.audio-player-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 80%);pointer-events:none}.audio-badge{background:#fff3;color:#fff;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:20px;letter-spacing:1.5px;display:inline-block}.audio-wave-visualizer{display:flex;align-items:flex-end;justify-content:center;gap:6px;height:60px;width:240px;padding:0 15px;border-radius:12px;background:#00000026;border:1px solid rgba(255,255,255,.08)}.wave-bar{flex:1;background:#ffffffd9;border-radius:4px;min-height:4px;transition:height .15s ease}.audio-wave-visualizer.playing .wave-bar{animation:soundWave 1.2s ease-in-out infinite alternate}.audio-wave-visualizer.playing .wave-bar:nth-child(1){animation-delay:.1s}.audio-wave-visualizer.playing .wave-bar:nth-child(2){animation-delay:.3s}.audio-wave-visualizer.playing .wave-bar:nth-child(3){animation-delay:.6s}.audio-wave-visualizer.playing .wave-bar:nth-child(4){animation-delay:.2s}.audio-wave-visualizer.playing .wave-bar:nth-child(5){animation-delay:.5s}.audio-wave-visualizer.playing .wave-bar:nth-child(6){animation-delay:.8s}.audio-wave-visualizer.playing .wave-bar:nth-child(7){animation-delay:.4s}.audio-wave-visualizer.playing .wave-bar:nth-child(8){animation-delay:.7s}.audio-wave-visualizer.playing .wave-bar:nth-child(9){animation-delay:.2s}@keyframes soundWave{0%{height:10%}to{height:100%}}.audio-progress-bar-container{background:#fff3;height:6px;border-radius:10px;position:relative;overflow:hidden;margin-top:10px}.audio-progress-bar-fill{background:#fff;height:100%;border-radius:10px;width:0%;transition:width .25s linear;box-shadow:0 0 8px 1px #ffffff80}.audio-subtitle-box{background:#00000040;border-left:3px solid var(--accent-emerald);padding:12px 18px;border-radius:0 10px 10px 0;margin-bottom:20px;animation:slideInUp .3s cubic-bezier(.16,1,.3,1)}.audio-subtitle-text{margin:0;font-size:.92rem;font-style:italic;color:#f1f5f9;line-height:1.45}.audio-controls-row{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);padding-top:18px}.audio-rate-controls,.audio-voice-controls{display:flex;flex-direction:column;gap:6px}.control-label{font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#ffffffb3}.rate-chiclets{display:flex;gap:4px;background:#00000026;padding:3px;border-radius:8px}.voice-rate-pill{background:transparent;border:none;color:#fffc;font-size:.8rem;font-weight:700;padding:5px 10px;border-radius:6px;cursor:pointer;min-width:42px}.voice-rate-pill:hover{background:#ffffff1a;color:#fff}.voice-rate-pill.active{background:#fff;color:var(--primary-teal);box-shadow:0 2px 4px #0000001a}.audio-selector-input{background:#00000040!important;border:1px solid rgba(255,255,255,.15)!important;color:#fff!important;font-size:.82rem!important;font-weight:600!important;padding:6px 12px!important;border-radius:8px!important;width:180px!important;cursor:pointer;outline:none}.audio-selector-input option{background:var(--secondary-slate);color:#fff}.audio-action-buttons{display:flex;align-items:center;gap:12px}.play-btn-circle{background:#fff;border:none;color:var(--primary-teal);font-size:1.3rem;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000026}.play-btn-circle:hover{transform:scale(1.08);background:var(--primary-teal-light)}.play-btn-circle.playing{background:#fecaca;color:#b91c1c;box-shadow:0 0 12px #ef444466}.stop-btn-square{background:#ffffff40;border:none;color:#fff;font-size:1rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.stop-btn-square:hover:not(:disabled){background:#fff6;transform:scale(1.05)}.stop-btn-square:disabled{opacity:.4;cursor:not-allowed}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.patient-profile-view{background:#f8fafc;min-height:100vh;display:flex;flex-direction:column}.profile-header-bar{background:#fff;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--neutral-border);box-shadow:0 1px 3px #00000005}.profile-header-meta{display:flex;align-items:center}.profile-back-btn{background:none;border:none;color:var(--neutral-muted);font-weight:500;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color var(--transition-fast)}.profile-back-btn:hover{color:var(--neutral-dark)}.profile-header-separator{width:1px;height:24px;background:#cbd5e1;margin:0 20px}.profile-header-initials{width:34px;height:34px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--neutral-dark);font-size:.95rem;margin-right:16px;overflow:hidden}.profile-header-fullname{font-size:1.2rem;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.2px}.profile-header-actions{display:flex;align-items:center;gap:12px}.profile-edit-btn{background:#1e293b;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 2px 4px #0000000d}.profile-edit-btn:hover{background:#0f172a}.profile-save-btn{background:var(--primary-teal);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 2px 4px #126c6226}.profile-save-btn:hover{background:#0f5850}.profile-cancel-btn{background:#fff;color:var(--neutral-muted);border:1px solid #cbd5e1;border-radius:8px;padding:10px 18px;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all var(--transition-fast)}.profile-cancel-btn:hover{background:#f1f5f9;color:var(--neutral-dark)}.profile-grid-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:24px;max-width:1400px;margin:0 auto;width:100%}.patient-sidebar-card{background:#fff;border-radius:16px;padding:24px;border:1px solid rgba(226,232,240,.8);display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 4px 6px -1px #0000000d;height:fit-content}.sidebar-avatar-box{width:120px;height:120px;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:800;color:var(--neutral-dark);-webkit-user-select:none;user-select:none}.sidebar-avatar-box.upload-enabled{cursor:pointer;overflow:hidden;position:relative;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.sidebar-avatar-box.upload-enabled:hover,.sidebar-avatar-box.uploading{border-color:var(--primary-teal);box-shadow:0 8px 18px #126c621f}.sidebar-avatar-box input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.patient-avatar-upload-overlay{align-items:center;background:#0f172aad;color:#fff;display:flex;font-size:.75rem;font-weight:800;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:12px;position:absolute;text-align:center;transition:opacity var(--transition-fast)}.sidebar-avatar-box.upload-enabled:hover .patient-avatar-upload-overlay,.sidebar-avatar-box.uploading .patient-avatar-upload-overlay{opacity:1}.sidebar-patient-name{font-size:1.25rem;font-weight:700;color:var(--neutral-dark);text-align:center;text-transform:uppercase;margin-top:8px}.sidebar-patient-id{font-size:.85rem;color:var(--neutral-muted);text-align:center;margin-top:4px}.sidebar-menu-list{width:100%;display:flex;flex-direction:column;gap:8px;margin:16px 0;border-top:1px solid #f1f5f9;padding-top:16px}.sidebar-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;border-radius:10px;font-size:.95rem;font-weight:500;color:var(--neutral-muted);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.sidebar-menu-item:hover{background:#f1f5f9;color:var(--neutral-dark)}.sidebar-menu-item.active{background:#eff6ff;color:#1d4ed8;font-weight:600}.sidebar-status-section{width:100%;border-top:1px solid #f1f5f9;padding-top:20px;display:flex;flex-direction:column;gap:8px}.sidebar-status-title{font-size:.75rem;font-weight:700;color:var(--neutral-muted);letter-spacing:.5px;text-transform:uppercase}.sidebar-status-badge{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:var(--neutral-dark)}.sidebar-status-dot{width:8px;height:8px;border-radius:50%}.sidebar-status-dot.active{background:var(--accent-emerald)}.sidebar-status-dot.inactive{background:var(--neutral-muted)}.patient-content-card{background:#fff;border-radius:16px;padding:32px;border:1px solid rgba(226,232,240,.8);display:flex;flex-direction:column;gap:32px;box-shadow:0 4px 6px -1px #0000000d}.profile-section{display:flex;flex-direction:column;gap:20px}.profile-section-title{display:flex;align-items:center;gap:12px;font-size:1.2rem;font-weight:700;color:var(--neutral-dark);border-bottom:1px solid #f1f5f9;padding-bottom:12px}.profile-icon-badge{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem}.profile-icon-badge.blue{background:#eff6ff;color:#2563eb}.profile-icon-badge.green{background:#ecfdf5;color:#10b981}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.profile-field-group{display:flex;flex-direction:column;gap:8px}.profile-field-group.full-width{grid-column:span 2}.profile-field-group label{font-size:.75rem;font-weight:700;color:var(--neutral-muted);letter-spacing:.5px;text-transform:uppercase}.profile-field-group input,.profile-field-group select{font-family:var(--font-family);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px;color:var(--neutral-dark);font-size:.95rem;font-weight:500;transition:all var(--transition-fast);width:100%}.profile-field-group input:focus,.profile-field-group select:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.profile-field-group input:disabled,.profile-field-group select:disabled{background:#f1f5f9;border-color:#cbd5e1;color:#64748b;cursor:not-allowed;opacity:.85}@media(max-width:900px){.profile-grid-layout{grid-template-columns:1fr}}.tab-content-container{display:flex;flex-direction:column;gap:24px}.print-report-container{display:none;background:#fff;color:#1e293b;padding:40px;font-family:Outfit,sans-serif;line-height:1.6}.print-report-header{border-bottom:2px solid #3b82f6;padding-bottom:20px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.print-report-header h2{font-size:1.8rem;color:#1e3a8a;text-transform:uppercase}.print-report-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f8fafc;padding:16px;border-radius:8px;margin-bottom:30px;border:1px solid #e2e8f0}.print-report-meta-item strong{color:#475569}.print-section-title{font-size:1.25rem;color:#1e3a8a;border-left:4px solid #3b82f6;padding-left:10px;margin-top:24px;margin-bottom:12px;font-weight:700}.print-content-block{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:20px}.print-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media print{body{background:#fff!important;background-image:none!important}.clinic-panel-view,.patient-profile-view,.modal-overlay,.main-sidebar,.top-navbar{display:none!important}.print-report-container{display:block!important;visibility:visible!important;width:100%!important;position:absolute!important;left:0!important;top:0!important}}.consultas-list{display:flex;flex-direction:column;gap:16px}.consulta-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #00000005;transition:all var(--transition-fast)}.consulta-item-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000000d}.consulta-item-info{display:flex;flex-direction:column;gap:8px}.consulta-item-date{font-size:1rem;font-weight:700;color:var(--neutral-dark)}.consulta-item-doctor{font-size:.9rem;color:var(--neutral-muted)}.consulta-item-complaint{font-size:.95rem;color:#334155;background:#f8fafc;padding:6px 12px;border-radius:6px;border-left:3px solid #3b82f6;max-width:500px}.consulta-item-badges{display:flex;align-items:center;gap:12px}.status-badge.agendada{background:#eff6ff;color:#1d4ed8}.status-badge.en-consulta{background:#fef3c7;color:#d97706}.status-badge.finalizada{background:#ecfdf5;color:#047857}.consulta-item-actions{display:flex;align-items:center;gap:12px}.consulta-action-btn{background:#fff;border:1px solid #cbd5e1;color:var(--neutral-muted);border-radius:8px;padding:8px 14px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all var(--transition-fast)}.consulta-action-btn:hover{background:#f8fafc;color:var(--neutral-dark);border-color:#94a3b8}.consulta-action-btn.primary{background:#3b82f6;color:#fff;border:none}.consulta-action-btn.primary:hover{background:#2563eb}.tratamiento-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000005;display:flex;flex-direction:column;gap:20px}.tratamiento-header-row{display:flex;justify-content:space-between;align-items:center}.tratamiento-title{font-size:1.1rem;font-weight:700;color:var(--neutral-dark)}.tratamiento-progress-section{display:flex;flex-direction:column;gap:8px;width:100%;max-width:450px}.tratamiento-progress-labels{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--neutral-muted)}.progress-bar-container{height:8px;width:100%;background:#e2e8f0;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary-teal);border-radius:4px;transition:width .4s ease}.treatment-sessions-timeline{margin-top:16px;display:flex;flex-direction:column;gap:12px;border-left:2px solid #e2e8f0;padding-left:20px;margin-left:10px}.timeline-session-node{position:relative;display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:12px 18px;border-radius:10px;border:1px solid #f1f5f9}.timeline-session-node:before{content:"";position:absolute;left:-27px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:#cbd5e1;border:2px solid #ffffff;box-shadow:0 0 0 2px #e2e8f0}.timeline-session-node.asistio:before{background:var(--accent-emerald)}.timeline-session-node.programada:before{background:#3b82f6}.timeline-session-info{display:flex;gap:16px;align-items:center}.timeline-session-number{font-weight:700;color:var(--neutral-dark);font-size:.95rem}.timeline-session-date{font-size:.9rem;color:var(--neutral-muted)}.timeline-session-specialist{font-size:.9rem;color:#475569}.finance-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.finance-card{background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 6px -1px #00000008;position:relative;overflow:hidden}.finance-card:after{content:"";position:absolute;left:0;top:0;height:100%;width:4px}.finance-card.credit:after{background:#3b82f6}.finance-card.deposits:after{background:#10b981}.finance-card.charges:after{background:#f59e0b}.finance-card-title{font-size:.85rem;font-weight:700;color:var(--neutral-muted);letter-spacing:.5px;text-transform:uppercase}.finance-card-amount{font-size:2rem;font-weight:800;color:var(--neutral-dark)}.finance-card.credit .finance-card-amount{color:#2563eb}.finance-card-desc{font-size:.8rem;color:var(--neutral-muted)}.financial-double-grid{display:grid;grid-template-columns:1fr;gap:24px}.finance-section-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.finance-section-header .profile-section-title{margin-bottom:0}.billing-info-section{display:flex;flex-direction:column;gap:26px}.billing-section-title{margin-bottom:4px}.billing-form-grid{border-bottom:1px solid var(--neutral-border);display:grid;gap:28px 40px;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:48px}.billing-form-grid .profile-field-group{gap:12px}.billing-form-grid .profile-field-group.full-width{grid-column:span 2}.billing-form-grid label{color:#70757c;font-size:.78rem;font-weight:800;text-transform:uppercase}.billing-form-grid input,.billing-form-grid textarea{background:#f7f6f6;border:0;border-radius:8px;color:var(--neutral-dark);font-family:var(--font-family);font-size:.95rem;padding:12px 14px;width:100%}.billing-form-grid textarea{min-height:80px;resize:vertical}.billing-form-grid input:disabled,.billing-form-grid textarea:disabled{color:#8c8c8c;opacity:1}.billing-actions-footer{display:flex;justify-content:flex-end}@media(max-width:760px){.billing-form-grid{grid-template-columns:1fr}.billing-form-grid .profile-field-group.full-width{grid-column:span 1}}@media(max-width:1000px){.financial-double-grid{grid-template-columns:1fr}}.abono-form-card{background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #00000008;display:flex;flex-direction:column;gap:20px;height:fit-content}.abono-form-card h4{font-size:1.1rem;font-weight:700;color:var(--neutral-dark);border-bottom:1px solid #f1f5f9;padding-bottom:12px}.transactions-table-card{background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #00000008;display:flex;flex-direction:column;gap:20px}.transactions-table-card h4{font-size:1.1rem;font-weight:700;color:var(--neutral-dark);border-bottom:1px solid #f1f5f9;padding-bottom:12px}.text-success-green{color:#10b981!important}.text-danger-red{color:#ef4444!important}
