@charset "UTF-8";.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f766e,#0d9488,#14b8a6);padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(255,255,255,.1) 0%,transparent 50%);animation:rotate 30s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-box{background:#fff;border-radius:24px;box-shadow:0 25px 80px #00000040;padding:48px 40px;max-width:420px;width:100%;animation:slideUp .6s cubic-bezier(.16,1,.3,1);position:relative;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:36px}.logo{width:72px;height:72px;margin:0 auto 20px;background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #0f766e59}.logo svg{width:40px;height:40px}.login-header h1{font-size:32px;font-weight:800;color:#0f172a;margin-bottom:8px;letter-spacing:-.5px}.login-header p{color:#64748b;font-size:15px;font-weight:500}.login-form{margin-bottom:24px}.error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;animation:shake .4s ease-out}.error-icon{font-size:18px;line-height:1;flex-shrink:0}.error-text{flex:1}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.error-message svg{flex-shrink:0;width:20px;height:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#334155;font-weight:600;font-size:14px}.form-group input{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .3s ease;background:#f8fafc}.form-group input:hover{border-color:#cbd5e1}.form-group input:focus{outline:none;border-color:#0f766e;background:#fff;box-shadow:0 0 0 4px #0f766e1a}.form-group input::placeholder{color:#94a3b8}.field-error{display:block;color:#dc2626;font-size:12px;margin-top:6px;font-weight:500}.input-error{border-color:#f87171!important;background:#fef2f2!important}.input-error:focus{box-shadow:0 0 0 4px #f8717126!important}.form-group input:valid:not(:placeholder-shown){border-color:#10b981}.login-button{width:100%;padding:16px;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 16px #0f766e59;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #0f766e73}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 16px #0f766e59}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-footer{text-align:center;padding-top:20px;border-top:1px solid #f1f5f9}.login-footer p{font-size:13px;color:#94a3b8;margin:0}.login-footer a{color:#0f766e;text-decoration:none;font-weight:600}.login-footer a:hover{text-decoration:underline}@media(max-width:480px){.login-box{padding:32px 24px;border-radius:20px}.login-header h1{font-size:26px}.logo{width:60px;height:60px}.logo svg{width:32px;height:32px}}.sidebar{width:220px;background:linear-gradient(180deg,#0f766e,#115e59);color:#fff;position:fixed;left:0;top:0;bottom:0;display:flex;flex-direction:column;box-shadow:4px 0 15px #0f766e33;z-index:1000;transition:transform .3s ease,width .3s ease}.sidebar-header{padding:16px 20px;text-align:center}.sidebar-logo{width:40px;height:40px;margin:0 auto 8px;background:linear-gradient(135deg,#14b8a6,#0d9488);border-radius:10px;display:flex;align-items:center;justify-content:center}.sidebar-header h2{font-size:18px;font-weight:700;margin-bottom:2px}.sidebar-clinic-name{font-size:11px;color:#a7f3d0;font-weight:500;margin-bottom:6px}.sidebar-role-badge{display:inline-block;font-size:10px;color:#0f766e;background:#a7f3d0e6;padding:2px 10px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.sidebar-nav{flex:1;padding:8px 12px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:20px}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 14px;color:#d1d5db;text-decoration:none;border-radius:8px;margin-bottom:2px;transition:all .2s;font-size:14px;font-weight:500}.sidebar-link:hover{background:#ffffff1a;color:#fff}.sidebar-link.active{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;box-shadow:0 4px 12px #14b8a64d}.sidebar-toggle{display:none;position:fixed;top:12px;left:12px;z-index:1001;background:linear-gradient(135deg,#0f766e,#115e59);border:none;border-radius:8px;padding:10px;color:#fff;cursor:pointer;box-shadow:0 2px 8px #0f766e4d;transition:transform .2s,background .2s}.sidebar-toggle:hover{transform:scale(1.05)}.sidebar-toggle:active{transform:scale(.95)}.sidebar-close{display:none;position:absolute;top:12px;right:12px;background:#ffffff1a;border:none;border-radius:6px;padding:8px;color:#fff;cursor:pointer;transition:background .2s}.sidebar-close:hover{background:#fff3}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;transition:opacity .3s ease}.sidebar-overlay.active{display:block;opacity:1}@media(max-width:1024px){.sidebar{width:180px}.sidebar-header h2{font-size:16px}.sidebar-link{padding:9px 12px;font-size:13px;gap:8px}.sidebar-link svg{width:18px;height:18px}}@media(max-width:768px){.sidebar{width:260px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-toggle,.sidebar-close{display:flex;align-items:center;justify-content:center}.sidebar-overlay{display:none}.sidebar-overlay.active{display:block}.sidebar-header{padding-top:48px}.sidebar-link{padding:12px 14px;font-size:15px}}.dashboard-header{background:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #00000014;position:sticky;top:0;z-index:100;border-bottom:1px solid #f0f0f0}.header-left{display:flex;align-items:center}.page-title{font-size:24px;font-weight:700;color:#1f2937;margin:0}.header-right{display:flex;align-items:center;gap:16px}.header-icon-button{position:relative;width:42px;height:42px;border-radius:12px;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.header-icon-button:hover{background:#e5e7eb;color:#374151}.notification-badge{position:absolute;top:-4px;right:-4px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.user-menu-container{position:relative}.user-avatar-button{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;transition:all .2s}.user-avatar-button:hover .user-avatar{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.user-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;transition:all .2s}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#667eea;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;border:2px solid #f0f0f0}.user-dropdown-menu{position:absolute;top:calc(100% + 12px);right:0;width:280px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;border:1px solid #f0f0f0;overflow:hidden;animation:slideDown .2s ease-out;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:flex-start;gap:14px;padding:20px}.user-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.user-name{font-size:15px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email,.user-phone,.user-role{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.user-email svg,.user-phone svg,.user-role svg{color:#9ca3af;flex-shrink:0}.user-role{color:#667eea;font-weight:500}.user-dropdown-divider{height:1px;background:#f0f0f0;margin:0}.logout-menu-button{width:100%;display:flex;align-items:center;gap:10px;padding:14px 20px;background:none;border:none;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.logout-menu-button:hover{background:#fef2f2;color:#ef4444}.logout-menu-button svg{transition:all .2s}.logout-menu-button:hover svg{color:#ef4444}@media(max-width:768px){.dashboard-header{padding:12px 16px 12px 56px}.page-title{font-size:18px}.header-right{gap:10px}.header-icon-button{width:36px;height:36px;border-radius:10px}.user-avatar{width:36px;height:36px;font-size:15px}.user-dropdown-menu{right:-8px;width:260px}}.dashboard-home{padding:24px}.welcome-card{background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;padding:28px 32px;border-radius:16px;margin-bottom:24px;box-shadow:0 10px 30px #0f766e4d;position:relative;overflow:hidden}.welcome-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.welcome-card h2{font-size:26px;font-weight:700;margin-bottom:6px;position:relative}.welcome-card p{font-size:15px;opacity:.9;position:relative}.error-banner{display:flex;align-items:center;gap:10px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:10px;margin-bottom:20px}.error-banner button{margin-left:auto;background:#dc2626;color:#fff;border:none;padding:6px 14px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s}.error-banner button:hover{background:#b91c1c}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;padding:20px;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;align-items:center;gap:14px;border-left:4px solid;transition:transform .2s,box-shadow .2s;cursor:pointer;position:relative}.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001a}.stat-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-content{flex:1}.stat-label{font-size:12px;color:#6b7280;margin-bottom:4px;font-weight:500}.stat-value{font-size:22px;font-weight:700;color:#1f2937}.stat-arrow{color:#9ca3af;transition:transform .2s}.stat-card:hover .stat-arrow{transform:translate(4px);color:#6b7280}.stat-card.loading-skeleton{cursor:default}.skeleton-icon{width:50px;height:50px;border-radius:10px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-content{flex:1}.skeleton-text{height:16px;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:8px}.skeleton-text.short{width:60%;height:12px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.quick-actions{margin-bottom:24px}.quick-actions h3{font-size:16px;font-weight:600;color:#374151;margin-bottom:12px}.quick-actions-grid{display:flex;gap:12px;flex-wrap:wrap}.quick-action-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s}.quick-action-btn:hover{border-color:var(--action-color);color:var(--action-color);box-shadow:0 4px 12px #00000014}.quick-action-btn svg{color:var(--action-color)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.dashboard-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f3f4f6}.card-header h3{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#1f2937;margin:0}.card-header h3 svg{color:#0f766e}.view-all-btn{background:none;border:none;color:#0f766e;font-size:13px;font-weight:500;cursor:pointer;transition:color .2s}.view-all-btn:hover{color:#0d9488;text-decoration:underline}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af}.empty-state svg{margin-bottom:12px;opacity:.5}.empty-state p{font-size:14px}.appointments-list{padding:8px 0;max-height:320px;overflow-y:auto}.appointment-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f9fafb;transition:background .2s}.appointment-item:last-child{border-bottom:none}.appointment-item:hover{background:#f9fafb}.appointment-time{display:flex;align-items:center;gap:6px;min-width:70px;font-size:13px;font-weight:600;color:#0f766e}.appointment-info{flex:1;min-width:0}.appointment-patient{font-size:14px;font-weight:500;color:#1f2937;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-treatment{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-consultorio{font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap;flex-shrink:0;letter-spacing:.2px}.appointment-status{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.estado-confirmada{background:#d1fae5;color:#059669}.estado-pendiente{background:#fef3c7;color:#d97706}.estado-completada{background:#dbeafe;color:#2563eb}.estado-cancelada{background:#fee2e2;color:#dc2626}.estado-default{background:#f3f4f6;color:#6b7280}.patients-list{padding:8px 0;max-height:320px;overflow-y:auto}.patient-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f9fafb;transition:background .2s}.patient-item:last-child{border-bottom:none}.patient-item:hover{background:#f9fafb}.patient-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.patient-info{flex:1;min-width:0}.patient-name{font-size:14px;font-weight:500;color:#1f2937;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-phone{display:flex;align-items:center;gap:4px;font-size:12px;color:#6b7280}.patient-action-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:6px;border-radius:6px;transition:all .2s}.patient-action-btn:hover{background:#f3f4f6;color:#0f766e}@media(max-width:768px){.dashboard-home{padding:16px}.welcome-card{padding:20px 24px;margin-top:48px}.welcome-card h2{font-size:22px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px;flex-direction:column;text-align:center;gap:10px}.stat-arrow{display:none}.stat-value{font-size:20px}.quick-actions-grid{flex-direction:column}.quick-action-btn{width:100%;justify-content:center}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .2s ease-out}.confirm-modal{background:#fff;border-radius:12px;padding:1.5rem;width:90%;max-width:400px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;animation:slideUp .3s ease-out}.confirm-modal-header{margin-bottom:1rem}.confirm-modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.confirm-modal-body{margin-bottom:1.5rem;color:#4b5563;font-size:.95rem;line-height:1.5}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:.75rem}.btn-confirm-cancel{padding:.5rem 1rem;border-radius:6px;font-weight:500;font-size:.875rem;border:1px solid #d1d5db;background:#fff;color:#374151;cursor:pointer;transition:all .2s}.btn-confirm-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.btn-confirm-action{padding:.5rem 1rem;border-radius:6px;font-weight:500;font-size:.875rem;border:none;color:#fff;cursor:pointer;transition:background-color .2s}.btn-confirm-action.danger{background-color:#ef4444}.btn-confirm-action.danger:hover{background-color:#dc2626}.btn-confirm-action.warning{background-color:#f59e0b}.btn-confirm-action.warning:hover{background-color:#d97706}.btn-confirm-action.info{background-color:#3b82f6}.btn-confirm-action.info:hover{background-color:#2563eb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.radiografias-viewer{padding:0}.radiografias-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.radiografias-loading .spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#0f766e;border-radius:50%;animation:spin .8s linear infinite}.radiografias-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.radiografias-title{display:flex;align-items:center;gap:10px;color:#1e293b}.radiografias-title h3{margin:0;font-size:18px;font-weight:600}.btn-upload{display:flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-upload:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f766e4d}.radiografias-error{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#fef2f2;color:#dc2626;border-radius:8px;margin-bottom:16px;font-size:14px}.radiografias-error button{background:none;border:none;color:#dc2626;font-size:20px;cursor:pointer;padding:0 4px}.radiografias-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background-color:#f8fafc;border-radius:12px;color:#64748b;text-align:center}.radiografias-empty svg{color:#cbd5e1;margin-bottom:16px}.radiografias-empty p{margin:0 0 20px;font-size:16px}.radiografias-empty button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#0f766e;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s}.radiografias-empty button:hover{background:#115e59}.radiografias-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.radiografia-card{position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s}.radiografia-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.radiografia-thumbnail{position:relative;aspect-ratio:4/3;background-color:#1e293b}.radiografia-thumbnail img{width:100%;height:100%;object-fit:cover}.radiografia-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.radiografia-overlay svg{color:#fff}.radiografia-card:hover .radiografia-overlay{opacity:1}.radiografia-info{padding:12px;display:flex;flex-direction:column;gap:4px}.radiografia-tipo{font-size:13px;font-weight:600;color:#1e293b}.radiografia-fecha{display:flex;align-items:center;gap:4px;font-size:12px;color:#64748b}.radiografia-delete{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#ef4444e6;color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.radiografia-card:hover .radiografia-delete{opacity:1}.radiografia-delete:hover{background:#dc2626}.radiografia-modal{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.radiografia-modal-content{position:relative;max-width:900px;max-height:90vh;background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;background:#0009;color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s}.modal-close:hover{background:#000c}.modal-image-container{flex:1;display:flex;align-items:center;justify-content:center;background:#0f172a;max-height:60vh;overflow:hidden}.modal-image-container img{max-width:100%;max-height:60vh;object-fit:contain}.modal-info{padding:20px;background:#fff}.modal-info-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:14px;color:#475569}.modal-info-row svg{color:#0f766e}.modal-descripcion{margin:12px 0;padding:12px;background:#f8fafc;border-radius:8px;font-size:14px;color:#475569;line-height:1.5}.modal-actions{display:flex;gap:12px;margin-top:16px}.btn-download{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#0f766e;color:#fff;text-decoration:none;border-radius:8px;font-size:14px;transition:background .2s}.btn-download:hover{background:#115e59}.btn-delete{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;color:#ef4444;border:1px solid #ef4444;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.btn-delete:hover{background:#fef2f2}.upload-modal-content{width:500px;max-width:95vw;max-height:90vh;background:#fff;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.upload-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.upload-modal-header h3{margin:0;font-size:18px;color:#1e293b}.upload-modal-header button{background:none;border:none;color:#64748b;cursor:pointer;padding:4px}.upload-modal-body{padding:20px;overflow-y:auto;flex:1}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;transition:all .2s;margin-bottom:20px}.upload-dropzone:hover{border-color:#0f766e;background:#f0fdfa}.upload-dropzone svg{color:#94a3b8;margin-bottom:12px}.upload-dropzone p{margin:0;color:#475569;font-size:14px}.upload-dropzone span{color:#94a3b8;font-size:12px;margin-top:4px}.upload-dropzone.has-file{padding:0;border-style:solid;border-color:#0f766e}.upload-dropzone.has-file img{width:100%;max-height:200px;object-fit:contain;border-radius:10px}.upload-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#475569}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0f766e}.form-group textarea{resize:vertical;min-height:80px}.upload-error{padding:12px;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:13px;margin-top:12px}.upload-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}.btn-cancel{padding:10px 20px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f1f5f9}.btn-submit{padding:10px 20px;background:#0f766e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-submit:hover:not(:disabled){background:#115e59}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.radiografias-grid{grid-template-columns:repeat(2,1fr);gap:12px}.radiografia-modal-content{max-height:85vh}.modal-image-container{max-height:50vh}.upload-modal-content{width:100%}.radiografias-header{flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.btn-upload{justify-content:center;width:auto}}@media(max-width:480px){.radiografias-grid{grid-template-columns:repeat(2,1fr)}.radiografias-header{flex-direction:column;align-items:flex-start}}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.datepicker-input{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-family:inherit;background:#fff;cursor:pointer;transition:all .2s;text-align:left;color:#1a1a2e}.datepicker-input:hover{border-color:#d1d5db}.datepicker-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.datepicker-input.error{border-color:#ef4444!important;background-color:#fef2f2}.datepicker-input .placeholder{color:#9ca3af}.datepicker-input svg{color:#667eea;flex-shrink:0}.react-datepicker-wrapper{width:100%}.react-datepicker-popper{z-index:9999!important}.react-datepicker{font-family:inherit;font-size:.75rem;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 20px #00000026;overflow:hidden}.react-datepicker__header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:none;padding:6px 6px 4px}.react-datepicker__current-month{color:#fff;font-weight:600;font-size:.8rem;margin-bottom:2px}.react-datepicker__day-names{margin-top:2px}.react-datepicker__day-name{color:#ffffffd9;font-weight:500;font-size:.65rem;width:1.6rem;line-height:1.6rem;margin:.1rem}.react-datepicker__month{margin:.25rem}.react-datepicker__day{width:1.6rem;line-height:1.6rem;font-size:.7rem;margin:.1rem;border-radius:4px;transition:all .15s}.react-datepicker__day:hover{background-color:#f0f4ff;color:#667eea}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;font-weight:600}.react-datepicker__day--today{font-weight:700;color:#667eea}.react-datepicker__day--disabled{color:#d1d5db}.react-datepicker__navigation{top:6px;width:20px;height:20px}.react-datepicker__navigation-icon:before{border-color:#fff;border-width:2px 2px 0 0;height:6px;width:6px}.react-datepicker__header .react-datepicker__month-dropdown-container--select,.react-datepicker__header .react-datepicker__year-dropdown-container--select{margin:0 2px;display:inline-block}.react-datepicker__header select.react-datepicker__month-select,.react-datepicker__header select.react-datepicker__year-select,.react-datepicker select{background-color:#ffffff40!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:4px!important;color:#fff!important;padding:1px 14px 1px 4px!important;font-size:.72rem!important;cursor:pointer;height:22px!important;max-height:22px!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 4px center!important;box-sizing:border-box!important}.react-datepicker__header select:focus{outline:none;background-color:#ffffff59!important}.react-datepicker select option{color:#1a1a2e!important;background:#fff!important}.react-datepicker__today-button{background:#f8fafc;border-top:1px solid #e5e7eb;color:#667eea;font-weight:600;font-size:.8rem;padding:8px;cursor:pointer;transition:background .2s}.react-datepicker__today-button:hover{background:#f0f4ff}.react-datepicker__close-icon{padding-right:10px}.react-datepicker__close-icon:after{background-color:#ef4444;font-size:12px;width:16px;height:16px;line-height:14px}.react-datepicker__triangle{display:none!important}@media(max-width:768px){.react-datepicker{font-size:.8rem}.react-datepicker__day-name,.react-datepicker__day{width:1.8rem;line-height:1.8rem;margin:.1rem}.react-datepicker__header{padding:6px}.react-datepicker__current-month{font-size:.85rem}}.pacientes-container{padding:2rem;height:100vh;overflow-y:auto;overflow-x:hidden;background:#f8fafc;width:100%;max-width:100vw;box-sizing:border-box}.pacientes-container.detail-mode{padding:0;background:linear-gradient(180deg,#667eea 0% 180px,#f8fafc 180px)}.pacientes-container.detail-mode-simple{padding:0;background:#f8fafc}.patient-header-simple{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #e5e7eb}.patient-header-left{display:flex;align-items:center;gap:1rem}.back-btn-simple{background:#f3f4f6;border:none;color:#374151;padding:.6rem;border-radius:10px;cursor:pointer;transition:all .2s;display:flex}.patient-name-simple{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.patient-header-actions{display:flex;gap:.75rem}.btn-edit-simple{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.65rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea4d}.btn-edit-simple:hover{transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}.btn-cancel-edit{display:flex;align-items:center;gap:.5rem;background:#fff;color:#6b7280;border:2px solid #e5e7eb;padding:.65rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-edit:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-save-edit{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:.65rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #10b9814d}.btn-save-edit:hover{transform:translateY(-1px);box-shadow:0 4px 15px #10b98166}.edit-input{padding:.5rem .75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-family:inherit;transition:all .2s;width:100%;background:#fff}.edit-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.edit-input.readonly{background:#f3f4f6;cursor:not-allowed;color:#6b7280}.pacientes-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1.5rem}.pacientes-actions{display:flex;gap:1rem}.search-input:focus{outline:none;box-shadow:0 4px 20px #667eea40}.btn-primary{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:.875rem 1.75rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0f766e59}.btn-secondary{background:#fff;color:#667eea;padding:.875rem 1.75rem;border:2px solid #667eea;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f0f4ff}.pacientes-table-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.pacientes-table{width:100%;border-collapse:collapse}.pacientes-table thead{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff}.pacientes-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.pacientes-table td{padding:1rem 1.25rem;border-bottom:1px solid #f0f0f0;font-size:.95rem;color:#374151}.pacientes-table tbody tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer;transition:all .2s}.clickable-row:hover{background:#f0fdfa}.historial-cell{color:#0f766e;font-weight:600;font-family:Monaco,Consolas,monospace}.name-cell{color:#1a1a2e;font-weight:600}.no-data{text-align:center;color:#9ca3af;padding:4rem!important;font-size:1rem}.patient-hero{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 2rem;color:#fff}.back-btn{background:#fff3;border:none;color:#fff;padding:.75rem;border-radius:12px;cursor:pointer;transition:all .2s;display:flex}.back-btn:hover{background:#ffffff4d}.patient-avatar{width:64px;height:64px;border-radius:16px;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;text-transform:uppercase}.patient-hero-info{flex:1}.patient-hero-info h1{font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.patient-meta{display:flex;gap:1.5rem;opacity:.9;font-size:.9rem}.patient-meta span{display:flex;align-items:center;gap:.4rem}.patient-hero-actions{display:flex;gap:.75rem}.btn-edit-hero{display:flex;align-items:center;gap:.5rem;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.75rem 1.25rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit-hero:hover{background:#ffffff4d}.patient-tabs-container{background:#fff;padding:0 2rem;border-bottom:1px solid #e5e7eb}.patient-tabs{display:flex;gap:.25rem;overflow-x:auto}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:none;border:none;border-bottom:3px solid transparent;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:#667eea;background:#f8fafc}.tab-btn.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.patient-content{padding:1.5rem 2rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.info-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0}.info-card.emergency{border-left:4px solid #f59e0b}.info-card.alerts{border-left:4px solid #ef4444}.info-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0}.info-card-header svg{color:#667eea}.info-card-header h3{margin:0;font-size:1rem;font-weight:600;color:#1a1a2e}.info-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-card-grid.cols-1{grid-template-columns:1fr}.info-card-grid.cols-4{grid-template-columns:repeat(4,1fr)}.info-field{display:flex;flex-direction:column;gap:.25rem}.info-field.span-2{grid-column:span 2}.info-field label{font-size:.8rem;color:#667eea;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.info-field span{font-size:.95rem;color:#1a1a2e}.info-field .text-block{background:#f8fafc;padding:.75rem;border-radius:8px;color:#374151;line-height:1.5}.phone-link{display:flex;align-items:center;gap:.5rem}.phone-link .whatsapp{color:#25d366}.bool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.bool-indicator{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8fafc;border-radius:10px}.bool-label{font-size:.85rem;color:#374151;word-break:break-word;flex:1;padding-right:.5rem}.bool-value{display:flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;padding:.25rem .75rem;border-radius:20px}.bool-value.yes{background:#fee2e2;color:#dc2626}.bool-value.no{background:#dcfce7;color:#16a34a}.edit-textarea{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-family:inherit;transition:all .2s;width:100%;background:#fff;resize:vertical;min-height:60px;line-height:1.5}.edit-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.bool-grid.editable{gap:1rem}.checkbox-field-inline{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:10px;transition:all .2s;cursor:pointer}.checkbox-field-inline:hover{background:#f0f4ff}.checkbox-field-inline input[type=checkbox]{width:18px;height:18px;accent-color:#667eea;cursor:pointer}.checkbox-field-inline label{font-size:.9rem;color:#374151;cursor:pointer;margin:0;font-weight:500}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff;border-radius:16px;text-align:center}.empty-icon{color:#d1d5db;margin-bottom:1rem}.empty-state h3{color:#6b7280;margin:0 0 .5rem;font-weight:600}.empty-state p{color:#9ca3af;margin:0}.notes-content{background:#fffbeb;padding:1.25rem;border-radius:12px;color:#92400e;line-height:1.6;border:1px solid #fde68a}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:20px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 80px #0000004d}.modal-content.large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px 20px 0 0}.modal-header h2{margin:0;font-size:1.35rem;font-weight:600}.btn-close{background:#fff3;border:none;font-size:1.5rem;color:#fff;cursor:pointer;width:40px;height:40px;border-radius:12px;transition:all .2s}.btn-close:hover{background:#ffffff4d}.modal-body{padding:1.5rem 2rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid #f0f0f0;background:#f8fafc;border-radius:0 0 20px 20px}.form-section{margin-bottom:1.75rem}.form-section h3{display:flex;align-items:center;gap:.5rem;color:#667eea;font-size:.95rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #f0f0f0}.form-section h3 svg{color:#667eea}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:600;color:#374151;margin-bottom:.4rem;font-size:.85rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group input[readonly]{background:#f3f4f6;cursor:not-allowed}.form-group.checkbox-group{flex-direction:row;align-items:center}.form-group.checkbox-group label{display:flex;align-items:center;gap:.5rem;margin:0;cursor:pointer}.form-group.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#667eea}.error-message{background:linear-gradient(90deg,#fee2e2,#fef2f2);color:#dc2626;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1rem;border-left:4px solid #dc2626;font-weight:500}@media(max-width:1024px){.info-card-grid.cols-4,.bool-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.pacientes-header{flex-direction:column;align-items:stretch;gap:1rem}.pacientes-actions{flex-direction:column;width:100%}.search-input{width:100%}.btn-primary{width:100%;justify-content:center}.patient-header-simple{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.patient-header-left{width:100%;justify-content:flex-start}.patient-name-simple{font-size:1.25rem;word-break:break-word}.patient-header-actions{width:100%;justify-content:space-between;gap:.5rem}.patient-header-actions button{flex:1;justify-content:center}.patient-hero{flex-direction:column;text-align:center;padding:1.5rem}.patient-meta{flex-direction:column;gap:.5rem;align-items:center}.form-grid,.info-card-grid,.info-card-grid.cols-4{grid-template-columns:1fr}.info-field.span-2{grid-column:span 1}.bool-grid{grid-template-columns:1fr}.patient-tabs-container{padding:0;width:100%;max-width:100vw;box-sizing:border-box}.patient-tabs{padding:0 1rem 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;width:100%;box-sizing:border-box}.tab-btn{padding:.75rem 1rem;font-size:.85rem;flex-shrink:0}.patient-content{padding:1rem 0;width:100%;box-sizing:border-box;overflow:hidden}.info-card{padding:1rem;box-sizing:border-box;width:100%}.pacientes-table th,.pacientes-table td{white-space:nowrap;padding:.75rem .5rem}.tab-table th,.tab-table td{white-space:nowrap}.toast-notification{top:20px;left:50%;right:auto;transform:translate(-50%);min-width:200px;max-width:90vw;width:max-content}}.required{color:#ef4444;font-weight:600}.info-field.has-error label{color:#ef4444}.edit-input.error{border-color:#ef4444!important;background-color:#fef2f2}.edit-input.error:focus{box-shadow:0 0 0 3px #ef444426!important}.field-error{font-size:.75rem;color:#ef4444;margin-top:.25rem;display:block}.form-group.has-error label{color:#ef4444}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#ef4444;background-color:#fef2f2}.form-group .field-error{font-size:.75rem;color:#ef4444;margin-top:.25rem}.tab-loading{padding:3rem 2rem;text-align:center;color:#9ca3af;font-size:.95rem}.empty-state-small{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:#d1d5db;text-align:center}.empty-state-small p{margin:.75rem 0 0;color:#9ca3af;font-size:.95rem}.tab-table-container{overflow-x:auto;margin-top:.5rem}.tab-table{width:100%;border-collapse:collapse}.tab-table thead{background:#f8fafc}.tab-table th{padding:.7rem 1rem;text-align:left;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;border-bottom:2px solid #e5e7eb}.tab-table td{padding:.75rem 1rem;font-size:.9rem;color:#374151;border-bottom:1px solid #f0f0f0}.tab-table tbody tr:last-child td{border-bottom:none}.tab-table tbody tr:hover{background:#f8fafc}.tab-table .amount-cell{font-weight:600;color:#0f766e;white-space:nowrap}.tab-table .notes-cell-small{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9ca3af;font-size:.85rem}.status-badge{display:inline-block;padding:.25rem .65rem;border-radius:20px;font-size:.78rem;font-weight:600;white-space:nowrap}.status-badge.status-pendiente{background:#fef3c7;color:#92400e}.status-badge.status-en-progreso,.status-badge.status-en-proceso{background:#dbeafe;color:#1e40af}.status-badge.status-completado,.status-badge.status-finalizado{background:#dcfce7;color:#166534}.status-badge.status-cancelado{background:#fee2e2;color:#991b1b}@media(max-width:768px){.tab-table th,.tab-table td{padding:.6rem .5rem;font-size:.8rem}}.pacientes-cards-wrapper,.tab-cards-wrapper{display:none}.paciente-mobile-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 4px 15px #0000000d;border:1px solid #f0f0f0;transition:all .2s}.paciente-mobile-card.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;cursor:pointer;border-color:#667eea}.paciente-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.paciente-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0f766e33}.paciente-card-main-info h4{margin:0 0 .35rem;font-size:1.15rem;font-weight:700;color:#1a1a2e}.historial-badge{display:inline-block;background:#f0fdfa;color:#0f766e;padding:.35rem .65rem;border-radius:8px;font-size:.8rem;font-weight:600;font-family:Monaco,Consolas,monospace}.paciente-card-body{display:flex;flex-direction:column;gap:.85rem}.paciente-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;background:#f8fafc;padding:.5rem .85rem;border-radius:8px}.paciente-info-row .info-label{color:#6b7280;font-weight:500;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.paciente-info-row .info-val{color:#374151;font-weight:600}.paciente-info-row .phone-link{display:flex;align-items:center;gap:.5rem;color:#374151}.whatsapp-icon{color:#25d366}.tab-mobile-card{background:#fff;border-radius:12px;padding:1.15rem;margin-bottom:.75rem;border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000a}.tab-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px dashed #e5e7eb}.tab-card-header h4{margin:0;font-size:1.05rem;color:#1a1a2e;font-weight:600}.citas-datetime{display:flex;flex-direction:column;gap:.2rem}.citas-date{font-weight:700;color:#374151;font-size:1rem}.citas-time{font-size:.85rem;color:#667eea;font-weight:600}.pagos-date{font-weight:600;color:#6b7280}.pagos-amount{font-size:1.25rem;font-weight:700}.highlight{color:#0d9488}.tab-card-body{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.tab-info-row{display:flex;flex-direction:column;gap:.35rem;min-width:0}.tab-info-row.full-width{grid-column:1 / -1}.tab-info-row.mt-1{margin-top:.5rem}.tab-info-row .tab-label{font-size:.75rem;color:#9ca3af;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.tab-info-row .tab-val{font-size:.95rem;color:#374151;font-weight:500;word-break:break-word}.tab-info-row .strong{font-weight:600;color:#1a1a2e}.tab-info-row .uppercase-val{text-transform:uppercase;font-size:.85rem;font-weight:600;color:#667eea}.tab-info-row .italic{font-style:italic;color:#6b7280;background:#f8fafc;padding:.65rem;border-radius:8px;border-left:3px solid #667eea}.tab-total-row{grid-column:1 / -1;display:flex;flex-direction:row;justify-content:space-between;background:#f0fdfa;padding:.85rem 1rem;border-radius:10px;margin-top:.75rem;border:1px solid #ccfbf1}.price-block{display:flex;flex-direction:column;gap:.25rem}.tab-val.amount{font-weight:600;font-size:1.05rem;color:#111827}@media(max-width:768px){.pacientes-table,.tab-table-container{display:none!important}.pacientes-table-container{background:transparent!important;box-shadow:none!important;padding:0!important}.pacientes-cards-wrapper{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.tab-cards-wrapper{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}}.toast-notification{position:fixed;top:20px;right:20px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:#fff;box-shadow:0 4px 12px #00000026;z-index:9999;min-width:300px;max-width:450px;animation:slideIn .3s ease-out forwards;border-left:4px solid}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-content{flex:1}.toast-content p{margin:0;font-size:.9rem;font-weight:500;color:#374151}.toast-close{background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.toast-close:hover{background:#0000000d;color:#4b5563}.toast-success{border-left-color:#10b981}.toast-success .toast-icon{color:#10b981}.toast-error{border-left-color:#ef4444}.toast-error .toast-icon{color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-warning .toast-icon{color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-info .toast-icon{color:#3b82f6}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.toast-notification{min-width:unset;width:max-content;max-width:90vw;right:0;left:0;margin:0 auto;top:20px;animation:slideDown .3s ease-out forwards}}.searchable-select{position:relative;width:100%}.searchable-select.disabled{opacity:.6;pointer-events:none}.searchable-select-control{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 .75rem;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s}.searchable-select.open .searchable-select-control,.searchable-select-control:hover{border-color:#667eea}.searchable-select.open .searchable-select-control{border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 0 0 3px #667eea1a}.searchable-select-input-wrapper{display:flex;align-items:center;gap:.5rem;flex:1}.searchable-select-input-wrapper .search-icon{color:#9ca3af;flex-shrink:0}.searchable-select-input{flex:1;border:none;outline:none;font-size:.95rem;padding:.5rem 0;background:transparent}.searchable-select-input::placeholder{color:#9ca3af}.searchable-select-value{flex:1;display:flex;align-items:center;padding:.5rem 0}.selected-text{color:#1a1a2e;font-size:.95rem}.placeholder-text{color:#9ca3af;font-size:.95rem}.searchable-select-indicators{display:flex;align-items:center;gap:.25rem;margin-left:.5rem}.clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:#f3f4f6;border-radius:50%;cursor:pointer;color:#6b7280;transition:all .15s}.clear-btn:hover{background:#fee2e2;color:#dc2626}.dropdown-icon{color:#9ca3af;transition:transform .2s}.dropdown-icon.open{transform:rotate(180deg)}.searchable-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:2px solid #667eea;border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:250px;overflow:hidden}.searchable-select-options{list-style:none;margin:0;padding:0;max-height:250px;overflow-y:auto}.searchable-select-option{padding:.7rem .75rem;cursor:pointer;transition:background .1s;font-size:.9rem;color:#374151;border-bottom:1px solid #f5f5f5}.searchable-select-option:last-child{border-bottom:none}.searchable-select-option:hover,.searchable-select-option.highlighted{background:#f0f4ff}.searchable-select-option.selected{background:#e0e7ff;color:#4f46e5;font-weight:500}.no-options{padding:1rem;text-align:center;color:#9ca3af;font-size:.9rem}.option-with-detail{display:flex;flex-direction:column;gap:.15rem}.option-with-detail .option-main{font-weight:500;color:#1a1a2e}.option-with-detail .option-sub{font-size:.8rem;color:#6b7280}.searchable-select-options::-webkit-scrollbar{width:6px}.searchable-select-options::-webkit-scrollbar-track{background:#f3f4f6}.searchable-select-options::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.searchable-select-options::-webkit-scrollbar-thumb:hover{background:#9ca3af}.citas-container{padding:1.5rem;min-height:100vh;background:#f0f2f5}.calendar-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;overflow:hidden}.agenda-topbar{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;border-bottom:2px solid #e8ecf1;background:#fafbfc}.agenda-topbar-left{display:flex;align-items:center;gap:1.5rem}.agenda-title{margin:0;font-size:1.15rem;font-weight:600;color:#1a1a2e;letter-spacing:-.2px}.view-tabs{display:flex;gap:2px;background:#e8ecf1;border-radius:8px;padding:3px}.view-tab{display:flex;align-items:center;gap:6px;padding:.45rem .85rem;background:transparent;border:none;border-radius:6px;font-size:.82rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;white-space:nowrap}.view-tab:hover{color:#374151;background:#ffffff80}.view-tab.active{background:#fff;color:#14b8a6;box-shadow:0 1px 4px #00000014}.view-tab svg{flex-shrink:0}.agenda-topbar-right{display:flex;gap:.5rem;align-items:center}.btn-dar-cita{display:flex;align-items:center;gap:6px;padding:.5rem 1rem;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #14b8a64d}.btn-dar-cita:hover{transform:translateY(-1px);box-shadow:0 4px 12px #14b8a666}.btn-topbar{display:flex;align-items:center;gap:6px;padding:.5rem .85rem;background:#fff;color:#374151;border:1.5px solid #d1d5db;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-topbar:hover{background:#f3f4f6;border-color:#9ca3af}.agenda-daily-layout{display:grid;grid-template-columns:180px 1fr;min-height:500px}.agenda-sidebar{border-right:2px solid #e8ecf1;padding:.85rem;background:#fafbfc;display:flex;flex-direction:column;gap:1.25rem}.date-navigator{text-align:center;padding-bottom:1rem;border-bottom:1px solid #e8ecf1}.date-nav-dayname{font-size:.9rem;font-weight:600;color:#6b7280;text-transform:capitalize;margin-bottom:.25rem}.date-nav-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:.35rem 0}.date-nav-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;transition:all .2s}.date-nav-arrow:hover{background:#14b8a6;color:#fff;border-color:#14b8a6}.date-nav-number{font-size:2.5rem;font-weight:800;color:#1a1a2e;line-height:1;min-width:60px}.date-nav-month{font-size:.85rem;color:#6b7280;font-weight:500}.btn-today-small{margin-top:.5rem;padding:.3rem .75rem;background:#14b8a6;color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-today-small:hover{background:#0d9488}.sidebar-filter{padding-bottom:1rem;border-bottom:1px solid #e8ecf1}.filter-select{width:100%;padding:.5rem .65rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.8rem;font-weight:500;color:#374151;background:#fff;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.estado-legend{display:flex;flex-direction:column;gap:2px}.legend-item{display:flex;align-items:center;gap:8px;padding:.4rem .5rem;border-radius:6px;cursor:pointer;transition:background .15s;-webkit-user-select:none;user-select:none}.legend-item:hover{background:#e8ecf1}.legend-select-all{margin-bottom:.25rem}.legend-check{flex-shrink:0}.legend-label{font-size:.78rem;font-weight:600;transition:color .2s}.legend-label-all{font-size:.78rem;font-weight:700;color:#374151}.legend-divider{height:1px;background:#e8ecf1;margin:.25rem 0}.agenda-table-container{padding:0;overflow-x:auto}.agenda-table{width:100%;border-collapse:collapse;font-size:.84rem}.agenda-table thead{position:sticky;top:0;z-index:10}.agenda-table th{background:#f0f4f8;color:#4a5568;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;padding:.6rem .7rem;text-align:left;border-bottom:2px solid #e2e8f0;white-space:nowrap}.agenda-table .col-hora{width:70px}.agenda-table .col-paciente{min-width:170px}.agenda-table .col-doctor,.agenda-table .col-estado{min-width:130px}.agenda-table .col-situacion{min-width:100px}.agenda-row{cursor:pointer;transition:background .15s;border-bottom:1px solid #f0f2f5}.agenda-row:hover{background:#f0fdf9}.agenda-row:nth-child(2n){background:#fafbfc}.agenda-row:nth-child(2n):hover{background:#f0fdf9}.agenda-row td{padding:.55rem .7rem;vertical-align:middle;color:#374151}.hora-badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .65rem;border-radius:6px;font-size:.85rem;font-weight:700;color:#fff;min-width:60px;text-align:center}.paciente-info{display:flex;flex-direction:column;gap:2px}.paciente-name{font-weight:600;color:#1a8a7a;font-size:.9rem}.paciente-contact{display:flex;align-items:center;gap:4px;font-size:.78rem;color:#9ca3af}.paciente-contact svg{flex-shrink:0}.col-doctor{color:#4a5568;font-weight:500}.agenda-table .col-consultorio{min-width:100px}.consultorio-badge{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap}.estado-select-inline{padding:.35rem .6rem;border:1.5px solid;border-radius:6px;font-size:.82rem;font-weight:600;background:#ffffffe6;cursor:pointer;transition:all .2s;min-width:120px}.estado-select-inline:focus{outline:none;box-shadow:0 0 0 3px #14b8a626}.estado-select-inline:hover{background:#fff}.situacion-badge{display:inline-flex;align-items:center;gap:5px;padding:.3rem .7rem;border-radius:6px;font-size:.78rem;font-weight:700;white-space:nowrap}.situacion-info{background:#e3f2fd;color:#1565c0}.situacion-deuda{background:#ffebee;color:#c62828}.situacion-saldo{background:#e8f5e9;color:#2e7d32}.situacion-nosaldo{background:#fff3e0;color:#e65100}.agenda-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#9ca3af;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid #e8ecf1;border-top-color:#14b8a6;border-radius:50%;animation:spin .8s linear infinite}.agenda-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#9ca3af;text-align:center;gap:.5rem}.agenda-empty svg{color:#d1d5db;margin-bottom:.5rem}.agenda-empty h3{color:#4a5568;font-size:1.1rem;margin:0}.agenda-empty p{font-size:.9rem;margin:0 0 1rem}.agenda-weekly-layout{padding:1.25rem}.fc{font-family:inherit}.fc .fc-toolbar-title{font-size:1.3rem;font-weight:700;color:#1a1a2e;text-transform:capitalize}.fc .fc-button{background:linear-gradient(135deg,#14b8a6,#0d9488);border:none;border-radius:8px;font-weight:600;padding:.45rem .9rem;text-transform:capitalize;box-shadow:0 2px 6px #14b8a640;transition:all .2s;font-size:.82rem}.fc .fc-button:hover{transform:translateY(-1px);box-shadow:0 4px 10px #14b8a659}.fc .fc-button:disabled{opacity:.6}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:linear-gradient(135deg,#0d9488,#0f766e)}.fc .fc-today-button{background:#fff;color:#14b8a6;border:2px solid #14b8a6;box-shadow:none}.fc .fc-today-button:hover{background:#f0fdfa}.fc .fc-today-button:disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb}.fc .fc-col-header-cell{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;padding:.6rem 0;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.fc .fc-col-header-cell-cushion{color:#fff;text-decoration:none}.fc .fc-daygrid-day{transition:background-color .2s}.fc .fc-daygrid-day:hover{background:#f8f9ff}.fc .fc-day-today{background:#14b8a60f!important}.fc .fc-daygrid-day-number{color:#374151;font-weight:500;padding:.5rem}.fc .fc-day-today .fc-daygrid-day-number{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.fc .fc-event{border:none;border-radius:5px;padding:2px 6px;font-size:.78rem;cursor:pointer;transition:all .2s}.fc .fc-daygrid-event{background:transparent!important;border:none!important;padding:0!important;border-radius:0!important}.fc-month-event{display:flex;align-items:center;gap:4px;overflow:hidden}.fc-month-time{font-weight:700;font-size:.75rem;flex-shrink:0}.fc-month-patient{font-weight:500;font-size:.78rem;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc .fc-event:hover{transform:translateY(-1px);box-shadow:0 3px 10px #00000026}.fc-event-custom{display:flex;gap:.35rem;align-items:center;overflow:hidden}.fc-event-time{font-weight:600;font-size:.72rem;opacity:.9}.fc-event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fc .fc-timegrid-slot{height:35px}.fc .fc-timegrid-slot-label{color:#6b7280;font-size:.78rem}.fc .fc-timegrid-now-indicator-line{border-color:#ef4444;border-width:2px}.fc .fc-timegrid-now-indicator-arrow{border-color:#ef4444}.fc .fc-list{border:none}.fc .fc-list-table{border-collapse:separate;border-spacing:0 6px}.fc .fc-list-day-cushion{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;padding:8px 14px;border-radius:8px;font-weight:600;font-size:.85rem}.fc .fc-list-day th{border:none;padding:6px 0}.fc .fc-list-event{cursor:pointer;transition:all .2s}.fc .fc-list-event td{border:none;background:#fff;padding:10px 14px}.fc .fc-list-event td:first-child{border-radius:10px 0 0 10px;box-shadow:-2px 0 0 0 var(--fc-event-bg-color, #14b8a6)}.fc .fc-list-event td:last-child{border-radius:0 10px 10px 0}.fc .fc-list-event:hover td{background:#f0fdfa}.fc .fc-list-event-time{font-weight:700;color:#14b8a6;font-size:.9rem;white-space:nowrap;min-width:90px}.fc .fc-list-event-graphic{padding:0 8px}.fc .fc-list-event-dot{width:10px;height:10px;border-radius:50%}.fc .fc-list-event-title{font-weight:600;color:#1a1a2e;font-size:.9rem}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-empty{background:#f8fafc;text-align:center;padding:40px 20px}.fc .fc-list-empty-cushion{color:#9ca3af;font-size:.95rem}.fc-list-event-content{display:flex;flex-direction:column;gap:3px;padding:3px 0}.fc-list-main{display:flex;flex-direction:column;gap:2px}.fc-list-patient{font-weight:700;color:#1a1a2e;font-size:.95rem}.fc-list-motivo{color:#6b7280;font-size:.82rem}.fc-list-meta{display:flex;gap:14px;margin-top:3px}.fc-list-doctor,.fc-list-consultorio{display:flex;align-items:center;gap:4px;font-size:.78rem;color:#9ca3af}.fc-list-doctor svg,.fc-list-consultorio svg{color:#14b8a6}.consultorio-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb;overflow-x:auto}.consultorio-tab{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;background:#fff;border:2px solid #e5e7eb;border-bottom-width:3px;border-radius:8px 8px 0 0;font-size:.85rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;white-space:nowrap}.consultorio-tab:hover{background:#f8fafc;color:#374151}.consultorio-tab.active{background:#fff;color:#1a1a2e;border-bottom-color:var(--tab-color, #14b8a6)}.tab-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.cita-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000040}.cita-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border-radius:12px 12px 0 0}.cita-modal .modal-header h2{margin:0;font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:10px}.btn-close-modal{background:#fff3;border:none;color:#fff;cursor:pointer;padding:.45rem;border-radius:8px;display:flex;transition:all .2s}.btn-close-modal:hover{background:#ffffff4d}.cita-modal .modal-body{padding:1.25rem}.cita-modal .modal-footer{display:flex;justify-content:flex-end;gap:.65rem;padding:.85rem 1.25rem;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.form-group{margin-bottom:.85rem}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.35rem;font-size:.82rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .85rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.search-paciente{position:relative}.paciente-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e5e7eb;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 8px 20px #0000001a}.paciente-option{padding:.65rem .85rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s}.paciente-option:hover{background:#f0fdfa}.paciente-option.selected{background:#ccfbf1;color:#0d9488}.paciente-tel{margin-left:auto;color:#9ca3af;font-size:.82rem}.btn-primary{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;padding:.6rem 1.15rem;border:none;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #14b8a64d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #14b8a666}.btn-secondary{display:flex;align-items:center;gap:.5rem;background:#fff;color:#6b7280;padding:.6rem 1.15rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.view-mode .cita-detail{padding:0}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.15rem}.detail-header h3{margin:0;font-size:1.1rem;color:#1a1a2e}.estado-badge{padding:.3rem .75rem;border-radius:20px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin-bottom:1rem}.detail-item{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem;background:#f8fafc;border-radius:8px}.detail-item svg{color:#14b8a6;flex-shrink:0;margin-top:2px}.detail-item label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.15rem}.detail-item span{font-size:.9rem;color:#1a1a2e;font-weight:500}.detail-notes{display:flex;gap:.65rem;padding:.85rem;background:#fffbeb;border-radius:8px;border:1px solid #fde68a;margin-bottom:.85rem}.detail-notes svg{color:#d97706;flex-shrink:0}.detail-notes p{margin:0;color:#92400e;font-size:.9rem;line-height:1.5}.estado-actions{margin-top:1rem;padding-top:.85rem;border-top:1px solid #e5e7eb}.estado-actions>label{font-size:.82rem;color:#6b7280;margin-bottom:.65rem;display:block}.estado-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.estado-btn{display:flex;align-items:center;gap:.3rem;padding:.4rem .75rem;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.estado-btn:hover{transform:translateY(-1px);filter:brightness(.95)}.error-toast{position:fixed;top:1rem;right:1rem;background:#fee2e2;color:#dc2626;padding:.65rem .85rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;font-weight:500;font-size:.88rem;box-shadow:0 4px 12px #dc262633;cursor:pointer;z-index:1001;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media print{.agenda-topbar,.agenda-sidebar,.error-toast,.modal-overlay{display:none!important}.citas-container{padding:0;background:#fff}.calendar-wrapper{box-shadow:none;border-radius:0}.agenda-daily-layout{grid-template-columns:1fr}.agenda-table th{background:#f3f4f6}}@media(max-width:968px){.citas-container{padding:.75rem}.agenda-topbar{flex-direction:column;gap:.75rem;align-items:flex-start}.agenda-topbar-left{flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}.agenda-topbar-right{width:100%;flex-wrap:wrap}.agenda-daily-layout{grid-template-columns:1fr}.agenda-sidebar{border-right:none;border-bottom:2px solid #e8ecf1;flex-direction:row;flex-wrap:wrap;gap:1rem;padding:1rem}.date-navigator{border-bottom:none;padding-bottom:0;min-width:140px}.sidebar-filters-container{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:180px}.sidebar-filter{border-bottom:none;padding-bottom:0;flex:1;min-width:unset}.estado-legend{flex-direction:row;flex-wrap:wrap;gap:.3rem}.legend-divider{display:none}.legend-item{padding:.3rem .4rem}.fc .fc-toolbar{flex-direction:column;gap:.65rem}.fc .fc-toolbar-title{font-size:1.1rem}.form-row,.detail-grid{grid-template-columns:1fr}.estado-buttons{flex-direction:column}.estado-btn{justify-content:center}.google-btn-text{display:none}}@media(max-width:768px){.agenda-table thead{display:none}.agenda-table,.agenda-table tbody,.agenda-table tr,.agenda-table td{display:block;width:100%}.agenda-row{margin-bottom:1rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;border:1px solid #e5e7eb;padding:1rem;position:relative}.agenda-row td{padding:.65rem 0;border:none;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.agenda-row td:before{content:attr(data-label);font-weight:600;color:#6b7280;font-size:.8rem;text-transform:uppercase;margin-bottom:.25rem}.agenda-table .col-estado select,.paciente-info{width:100%}.cita-modal{max-height:95vh;margin:.5rem;width:calc(100% - 1rem)}}@media(max-width:640px){.view-tabs{width:100%}.view-tab{flex:1;justify-content:center;font-size:.78rem;padding:.4rem .5rem}.agenda-table{font-size:.82rem}.hora-badge{font-size:.78rem;padding:.25rem .5rem}.paciente-name{font-size:.85rem}.date-nav-number{font-size:2rem}}.situacion-sincontrato{background:#f3f4f6;color:#6b7280}.situacion-clickable{cursor:pointer;border:none;font-family:inherit;transition:all .2s}.situacion-clickable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026;filter:brightness(.95)}.deuda-overlay{position:fixed;inset:0;background:#00000026;z-index:999}.deuda-popover{position:fixed;z-index:1000;width:380px;max-width:calc(100vw - 20px);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 12px 40px #0003;border:1px solid #e5e7eb;animation:popoverIn .2s ease}@keyframes popoverIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.deuda-popover-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.2rem;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border-radius:12px 12px 0 0}.deuda-popover-header.deuda-header-ok{background:linear-gradient(135deg,#059669,#10b981)}.deuda-popover-header.deuda-header-danger{background:linear-gradient(135deg,#b91c1c,#ef4444)}.deuda-status-banner{display:flex;align-items:center;gap:8px;padding:.65rem .85rem;border-radius:8px;font-size:.82rem;font-weight:600;margin-bottom:.85rem}.deuda-status-ok{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.deuda-status-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.deuda-popover-header h4{margin:0;font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:6px}.deuda-paciente-name{font-size:.8rem;opacity:.85;display:block;margin-top:2px}.deuda-close{background:#fff3;border:none;color:#fff;cursor:pointer;padding:.3rem;border-radius:6px;display:flex;transition:background .2s}.deuda-close:hover{background:#ffffff4d}.deuda-popover-body{padding:1rem 1.2rem}.deuda-loading{display:flex;justify-content:center;padding:1.5rem}.deuda-resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.85rem}.deuda-stat{text-align:center;padding:.6rem .4rem;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.deuda-stat-ok{background:#f0fdf4;border-color:#bbf7d0}.deuda-stat-danger{background:#fef2f2;border-color:#fecaca}.deuda-stat-label{display:block;font-size:.68rem;color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-weight:600;margin-bottom:2px}.deuda-stat-value{font-size:.92rem;font-weight:700;color:#1a1a2e}.deuda-stat-ok .deuda-stat-value{color:#16a34a}.deuda-stat-danger .deuda-stat-value{color:#dc2626}.deuda-contratos-table{width:100%;border-collapse:collapse;font-size:.78rem}.deuda-contratos-table th{background:#f0f4f8;color:#4a5568;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.3px;padding:.5rem .4rem;text-align:left;border-bottom:1px solid #e2e8f0}.deuda-contratos-table td{padding:.45rem .4rem;border-bottom:1px solid #f0f2f5;color:#374151}.contrato-codigo{font-weight:600;color:#3b82f6;font-size:.75rem}.td-pagado{color:#16a34a;font-weight:600}.td-saldo{font-weight:600}.td-deuda{color:#dc2626}.deuda-estado-badge{padding:.2rem .45rem;border-radius:4px;font-size:.68rem;font-weight:700;white-space:nowrap}.estado-pago-1{background:#fef2f2;color:#dc2626}.estado-pago-2{background:#fffbeb;color:#d97706}.estado-pago-3{background:#f0fdf4;color:#16a34a}.fc-month-event{display:flex;align-items:center;gap:5px;padding:1px 4px;font-size:.75rem;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.fc-month-time{font-weight:700;color:inherit;opacity:.85;flex-shrink:0;font-size:.72rem}.fc-month-patient{font-weight:600;color:inherit;overflow:hidden;text-overflow:ellipsis}.fc-daygrid-event{border:none!important;border-left:3px solid var(--fc-event-bg-color, #3b82f6)!important;border-radius:4px!important;padding:2px 4px!important;margin-bottom:2px!important;font-size:.75rem!important;background:color-mix(in srgb,var(--fc-event-bg-color, #3b82f6) 15%,white)!important;color:#1a1a2e!important;transition:all .15s ease;cursor:pointer}.fc-daygrid-event .fc-event-main{padding:0!important;color:#1a1a2e!important}.fc-daygrid-dot-event{padding:2px 6px!important}.fc-daygrid-event:hover{opacity:1;box-shadow:0 2px 6px #0000001f;transform:translate(1px)}.fc-daygrid-more-link{font-size:.72rem;font-weight:700;color:#3b82f6;padding:2px 4px}.agenda-weekly-layout{max-height:calc(100vh - 180px);overflow-y:auto;border-radius:12px}.fc-week-event{display:flex;flex-direction:column;gap:1px;padding:2px 6px;overflow:hidden;height:100%;justify-content:center}.fc-week-patient{font-weight:700;font-size:.78rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.15)}.fc-week-motivo{font-size:.68rem;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.fc-timegrid-event{border:none!important;border-left:3px solid rgba(255,255,255,.5)!important;border-radius:6px!important;box-shadow:0 1px 4px #0000001f!important;transition:all .15s ease;cursor:pointer;margin:0 1px!important}.fc-timegrid-event:hover{box-shadow:0 3px 10px #0003!important;transform:scale(1.02);z-index:10!important}.fc-timegrid-event .fc-event-main{padding:0!important;overflow:hidden}.fc-timegrid-slot-label{font-size:.75rem!important;font-weight:600;color:#6b7280;vertical-align:top!important;padding-top:4px!important}.fc-timegrid-slot{height:36px!important;border-color:#f0f2f5!important}.fc-timegrid-slot-minor{border-top-style:none!important}.fc-col-header-cell{background:linear-gradient(135deg,#0d9488,#14b8a6)!important;border:none!important}.fc-col-header-cell .fc-col-header-cell-cushion{color:#fff!important;font-weight:700!important;font-size:.82rem!important;padding:10px 8px!important;text-transform:uppercase;letter-spacing:.3px}.fc-day-today{background:#0d94880a!important}.fc-timegrid-now-indicator-line{border-color:#ef4444!important;border-width:2px!important}.fc-timegrid-now-indicator-arrow{border-color:#ef4444!important}.fc .fc-toolbar{margin-bottom:.6rem!important}.fc .fc-toolbar-title{font-size:1.1rem!important;font-weight:700!important;color:#1a1a2e!important}.fc .fc-button{background:#f0f4f8!important;border:1px solid #e2e8f0!important;color:#374151!important;border-radius:8px!important;font-size:.8rem!important;font-weight:600!important;padding:.35rem .75rem!important;transition:all .15s!important}.fc .fc-button:hover{background:#e2e8f0!important}.fc .fc-button-active{background:#0d9488!important;color:#fff!important;border-color:#0d9488!important}.fc-theme-standard td,.fc-theme-standard th{border-color:#e5e7eb!important}.fc-scrollgrid{border-radius:10px!important;overflow:hidden;border:1px solid #e5e7eb!important}.fc-timegrid-col.fc-non-business{background:#fafbfc!important}.btn-google-connect{display:flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:#fff;color:#3c4043;border:1.5px solid #dadce0;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 1px 3px #00000014}.btn-google-connect:hover{background:#f8f9fa;border-color:#4285f4;box-shadow:0 2px 8px #4285f433;transform:translateY(-1px)}.btn-google-connect:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-connected{display:flex;align-items:center;gap:.5rem}.google-status-badge{display:flex;align-items:center;gap:.35rem;padding:.35rem .7rem;background:#d1fae5;color:#059669;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.google-status-badge svg{flex-shrink:0}.google-email{color:#6b7280;font-weight:400;font-size:.7rem;max-width:120px;overflow:hidden;text-overflow:ellipsis}.btn-google-disconnect{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:#fff;color:#dc2626;border:1.5px solid #fecaca;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-google-disconnect:hover{background:#fef2f2;border-color:#dc2626}.btn-google-disconnect:disabled{opacity:.6;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.btn-google-connect{font-size:.7rem;padding:.4rem .7rem}.google-connected{flex-direction:column;align-items:flex-end}.google-email{max-width:100%}}.medicos-container{padding:1.5rem;min-height:100vh;background:#f8fafc}.medicos-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-left{display:flex;flex-direction:column}.header-subtitle{color:#6b7280;margin:0;font-size:.95rem}.medicos-actions{display:flex;gap:1rem;align-items:center}.search-wrapper{position:relative;display:flex;align-items:center}.search-wrapper svg{position:absolute;left:1rem;color:#9ca3af}.search-wrapper .search-input{padding:.75rem 1rem .75rem 2.75rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.95rem;width:280px;transition:all .2s;background:#fff}.search-wrapper .search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.btn-primary{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.25rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #667eea59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #667eea73}.medicos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.medico-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;transition:all .2s;cursor:pointer}.medico-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:#667eea}.medico-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.medico-avatar{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;text-transform:uppercase}.medico-info{flex:1;min-width:0}.medico-info h3{margin:0;font-size:1.05rem;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.medico-especialidad{font-size:.85rem;color:#667eea;font-weight:500}.estado-badge{padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.estado-badge.activo{background:#d1fae5;color:#059669}.estado-badge.inactivo{background:#fee2e2;color:#dc2626}.medico-details{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid #f0f0f0}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151}.detail-item svg{color:#9ca3af;flex-shrink:0}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff;border-radius:16px;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state h3{color:#374151;margin:0 0 .5rem}.empty-state p{color:#9ca3af;margin:0 0 1.5rem}.loading{text-align:center;padding:4rem;color:#9ca3af;font-size:1.1rem}.medico-header-simple{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.medico-header-left{display:flex;align-items:center;gap:1rem}.medico-name-simple{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.medico-header-actions{display:flex;gap:.75rem}.btn-edit{background:#e0e7ff;color:#4f46e5}.btn-edit:hover{background:#c7d2fe}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #667eea4d}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}.medico-detail-content{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 12px #0000000f}.detail-section{margin-bottom:2rem}.detail-section h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#667eea;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.detail-field label{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-field input,.detail-field select{width:100%;box-sizing:border-box;padding:.7rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:inherit;transition:all .2s;background:#fff}.detail-field input:focus,.detail-field select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.specialty-tag{display:inline-block;background:#e0e7ff;color:#4f46e5;padding:.4rem .75rem!important;border-radius:8px;font-weight:500;font-size:.9rem!important}.status-tag{display:inline-block;padding:.4rem .75rem!important;border-radius:8px;font-weight:600;font-size:.85rem!important}.status-tag.activo{background:#d1fae5;color:#059669}.status-tag.inactivo{background:#fee2e2;color:#dc2626}.color-picker-inline{display:flex;align-items:center;gap:.75rem}.color-picker-inline input[type=color]{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;padding:0}.color-picker-inline span{font-size:.9rem;color:#6b7280;font-family:Monaco,Consolas,monospace;padding:0!important}.color-display{display:flex;align-items:center;gap:.5rem}.color-box{width:24px;height:24px;border-radius:6px;border:2px solid rgba(0,0,0,.1)}.color-display span{font-size:.9rem;color:#6b7280;font-family:Monaco,Consolas,monospace;padding:0!important}@media(max-width:1024px){.medicos-grid{gap:1rem}.medicos-container{padding:1rem}}@media(max-width:768px){.medicos-container{padding:1rem .5rem}.medicos-header{flex-direction:column;align-items:flex-start;gap:1rem}.medicos-actions{width:100%;flex-direction:column;align-items:stretch;gap:1rem}.search-wrapper{width:100%}.search-wrapper .search-input{width:100%;box-sizing:border-box}.btn-primary{width:100%;justify-content:center}.medicos-grid{grid-template-columns:1fr}.medico-card{padding:1rem}.medico-header-simple{flex-direction:column;gap:1rem;align-items:flex-start}.medico-header-left{width:100%;flex-wrap:wrap}.medico-name-simple{font-size:1.25rem}.medico-header-actions{width:100%;justify-content:space-between;gap:.5rem}.medico-header-actions button{flex:1;justify-content:center;padding:.6rem}.medico-detail-content{padding:1rem}.detail-grid{grid-template-columns:1fr;gap:.8rem}.specialty-tag,.status-tag{font-size:.8rem!important;padding:.3rem .6rem!important}}@media(max-width:480px){.medicos-header{margin-bottom:1rem}.medicos-container{padding:.5rem}.medico-header-actions{flex-direction:column;gap:.75rem}.medico-header-actions button{width:100%}.medico-card-header{flex-direction:column;align-items:flex-start}.medico-avatar{width:40px;height:40px;font-size:1rem}}.access-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:20px;font-size:.72rem;font-weight:600;white-space:nowrap}.access-badge.has-access{background:#d1fae5;color:#059669}.access-badge.no-access{background:#fef3c7;color:#d97706}.access-status{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;border-radius:12px;font-size:.95rem}.access-status.has-access{background:#ecfdf5;border:1.5px solid #6ee7b7;color:#065f46}.access-status.has-access svg{color:#059669;flex-shrink:0}.access-status.has-access div{display:flex;flex-direction:column;flex:1}.access-status.has-access strong{font-size:.85rem;font-weight:700}.access-status.has-access span{font-size:.9rem;color:#047857}.access-status.no-access{background:#fffbeb;border:1.5px solid #fcd34d;color:#92400e}.access-status.no-access svg{color:#d97706;flex-shrink:0}.btn-unlink{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border:none;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;background:#fee2e2;color:#dc2626;transition:background .2s;margin-left:auto}.btn-unlink:hover{background:#fecaca}.btn-link-option{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.88rem;font-weight:600;cursor:pointer;background:#fff;color:#374151;transition:all .2s}.btn-link-option:hover{border-color:#667eea;color:#667eea}.btn-link-option.active{border-color:#667eea;background:#e0e7ff;color:#4f46e5}.acceso-section{background:#f9fafb;padding:1.25rem;border-radius:12px;border:1px solid #f0f0f0}.tratamientos-container{padding:1.5rem;min-height:100vh;background:#f8fafc}.tratamientos-filters{display:flex;align-items:flex-end;gap:1.25rem;margin-bottom:1.5rem;flex-wrap:wrap;background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 2px 8px #0000000d}.filter-group{display:flex;flex-direction:column;gap:.4rem}.filter-group label{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.filter-group .search-wrapper{position:relative;display:flex;align-items:center}.filter-group .search-wrapper svg{position:absolute;left:.75rem;color:#9ca3af}.filter-group .search-wrapper input{padding:.6rem .75rem .6rem 2.25rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;width:200px;transition:all .2s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.filter-group select{padding:.6rem .75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.9rem;background:#fff;min-width:150px;cursor:pointer}.btn-primary{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:.7rem 1.25rem;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #0f766e59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0f766e73}.table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.tratamientos-table{width:100%;border-collapse:collapse}.tratamientos-table th{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:1rem 1.25rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.tratamientos-table td{padding:1rem 1.25rem;font-size:.95rem;color:#374151;border-bottom:1px solid #f0f0f0}.tratamientos-table tbody tr{cursor:pointer;transition:background .2s}.tratamientos-table tbody tr:hover{background:#f0fdfa}.tratamientos-table tbody tr:last-child td{border-bottom:none}.name-cell{color:#0f766e;font-weight:500}.price-cell{font-weight:600;color:#1a1a2e;text-align:right}.category-badge{display:inline-block;padding:.3rem .6rem;background:#f0fdfa;color:#0f766e;border-radius:6px;font-size:.85rem;font-weight:500}.boolean-badge{display:inline-block;padding:.3rem .6rem;border-radius:6px;font-size:.85rem;font-weight:600}.boolean-badge.yes{background:#d1fae5;color:#059669}.boolean-badge.no{background:#f3f4f6;color:#6b7280}.empty-state-inline{display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty-state-inline p{margin:0}.btn-link{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem}.pagination button{min-width:36px;height:36px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s}.pagination span{color:#9ca3af;font-size:.9rem}.page-info{margin-left:1rem;color:#6b7280}.error-message{background:linear-gradient(90deg,#fee2e2,#fef2f2);color:#dc2626;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1rem;border-left:4px solid #dc2626;font-weight:500;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.tratamiento-header-simple{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;margin-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.tratamiento-header-left{display:flex;align-items:center;gap:1rem}.back-btn-simple{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:#f3f4f6;border-radius:10px;cursor:pointer;color:#374151;transition:all .2s}.tratamiento-name-simple{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.tratamiento-header-actions{display:flex;gap:.75rem}.btn-edit,.btn-save,.btn-cancel,.btn-delete{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-edit{background:#f0fdfa;color:#0f766e}.btn-edit:hover{background:#ccfbf1}.btn-save{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;box-shadow:0 2px 10px #0f766e4d}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 15px #0f766e66}.btn-cancel:hover{background:#e5e7eb;color:#374151}.btn-delete{background:#fee2e2;color:#dc2626}.btn-delete:hover{background:#fecaca}.tratamiento-detail-content{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 12px #0000000f}.detail-section{margin-bottom:1.5rem}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:1rem;font-weight:600;color:#0f766e;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.detail-field{display:flex;flex-direction:column;gap:.4rem}.detail-field.full-width{grid-column:1 / -1}.detail-field label{font-size:.8rem;font-weight:500;color:#6b7280}.detail-field span{font-size:1rem;color:#1a1a2e;padding:.5rem 0}.detail-field input,.detail-field select,.detail-field textarea{padding:.7rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:inherit;transition:all .2s;background:#fff}.detail-field input:focus,.detail-field select:focus,.detail-field textarea:focus{outline:none;border-color:#0f766e;box-shadow:0 0 0 4px #0f766e1a}.detail-field textarea{resize:vertical;min-height:80px}.category-tag{display:inline-block;background:#f0fdfa;color:#0f766e;padding:.4rem .75rem!important;border-radius:8px;font-weight:500}.boolean-tag{display:inline-block;padding:.4rem .75rem!important;border-radius:8px;font-weight:600}.boolean-tag.yes{background:#d1fae5;color:#059669}.boolean-tag.no{background:#f3f4f6;color:#6b7280}.price-display{font-size:1.25rem!important;font-weight:700!important;color:#0f766e!important}.checkbox-wrapper{display:flex;align-items:center;gap:.5rem}.checkbox-wrapper input[type=checkbox]{width:20px;height:20px;accent-color:#0f766e}.checkbox-wrapper label{font-size:1rem;color:#374151}.price-input-wrapper{display:flex;gap:.5rem}.price-input-wrapper input{flex:1}.price-input-wrapper .moneda-select{width:80px}@media(max-width:768px){.tratamientos-filters{flex-direction:column;align-items:stretch}.filter-group .search-wrapper input,.filter-group select{width:100%}.filter-actions{margin-left:0;margin-top:.5rem}.btn-primary{width:100%;justify-content:center}.tratamientos-table th,.tratamientos-table td{padding:.75rem;font-size:.85rem}.tratamiento-header-simple{flex-direction:column;gap:1rem;align-items:flex-start}.tratamiento-header-actions{width:100%;justify-content:flex-end}.detail-grid{grid-template-columns:1fr}.table-container{display:none}.tratamientos-cards-wrapper{display:flex}}.tratamientos-cards-wrapper{display:none;flex-direction:column;gap:1rem;margin-top:1rem}.tratamiento-mobile-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000d;border:1px solid #f0f0f0;display:flex;flex-direction:column;gap:1rem;cursor:pointer;transition:all .2s}.tratamiento-mobile-card:active{transform:scale(.98)}.tratamiento-card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #f0f0f0;padding-bottom:.75rem}.tratamiento-card-main-info{display:flex;flex-direction:column;gap:.5rem}.tratamiento-card-main-info h4{margin:0;font-size:1.05rem;color:#1f2937;line-height:1.3}.category-badge{align-self:flex-start;display:inline-block;padding:.25rem .6rem;background:#f0fdfa;color:#0f766e;border-radius:6px;font-size:.8rem;font-weight:500}.price-tag{display:flex;flex-direction:column;align-items:flex-end;background:#f8fafc;padding:.5rem .75rem;border-radius:8px;border:1px solid #e2e8f0}.price-val{font-weight:700;font-size:1.15rem;color:#0f766e;line-height:1}.currency-val{font-size:.75rem;color:#64748b;font-weight:600;margin-top:.15rem}.tratamiento-card-body{display:flex;flex-direction:column;gap:.75rem}.tratamiento-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#4b5563}.tratamiento-label{font-size:.75rem;text-transform:uppercase;color:#9ca3af;font-weight:600}.presupuestos-container{padding:1.5rem 1.5rem 6rem;min-height:100vh;background:#f8fafc}.presupuestos-filters{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.3rem}.filter-group label{font-size:.75rem;font-weight:500;color:#6b7280}.filter-group select{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem;background:#fff;min-width:150px;cursor:pointer;color:#9ca3af}.filter-group select:focus{outline:none;border-color:#667eea}.filter-group select option:not(:first-child){color:#374151}.filter-actions{margin-left:auto}.btn-primary{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:.6rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 10px #0f766e4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}.table-container{background:#fff;border-radius:8px;overflow:hidden}.presupuestos-table{width:100%;border-collapse:collapse}.presupuestos-table th{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:1rem 1.25rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.3px;border-bottom:none}.presupuestos-table td{padding:.85rem 1rem;font-size:.9rem;color:#374151;border-bottom:1px solid #f5f5f5}.presupuestos-table tbody tr{cursor:pointer;transition:background .15s}.presupuestos-table tbody tr:hover{background:#fafbff}.codigo-cell{font-weight:600;color:#0f766e}.paciente-cell,.medico-cell{color:#0f766e;text-decoration:underline}.total-cell{font-weight:600;color:#1a1a2e}.fecha-cell{color:#6b7280;font-size:.85rem}.estado-badge-text{font-weight:500}.loading-cell,.empty-cell{text-align:center;padding:3rem!important;color:#9ca3af}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin-top:1.5rem}.pagination button{min-width:32px;height:32px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .15s}.pagination button:hover:not(:disabled){border-color:#0f766e;color:#0f766e}.pagination button.active{background:#0f766e;border-color:#0f766e;color:#fff}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{color:#9ca3af;font-size:.85rem}.page-info{margin-left:.75rem;padding:.4rem .75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem;color:#6b7280}.error-message{background:linear-gradient(90deg,#fee2e2,#fef2f2);color:#dc2626;padding:.85rem 1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #dc2626;font-weight:500;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.9rem}.presupuesto-header-detail{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.presupuesto-floating-actions{position:fixed;top:5.5rem;right:2.5rem;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;gap:1rem;z-index:100;align-items:center;animation:slideDown .3s ease-out;border:1px solid #e5e7eb}@keyframes slideDown{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.presupuesto-floating-actions{bottom:0;right:0;left:0;border-radius:16px 16px 0 0;padding:1rem;justify-content:space-between}.presupuesto-floating-actions button{flex:1}}.presupuesto-header-left{display:flex;align-items:center;gap:.75rem}.back-btn-simple{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;cursor:pointer;color:#374151;transition:all .15s}.back-btn-simple:hover{color:#667eea}.presupuesto-title{font-size:1.1rem;font-weight:600;color:#1a1a2e}.presupuesto-detail-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 1px 4px #0000000d}.detail-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #f0f0f0}.detail-card-header h3{font-size:1rem;font-weight:600;color:#1a1a2e;margin:0}.detail-actions{display:flex;align-items:center;gap:.5rem}.btn-generar-contrato{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-generar-contrato:hover{transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.btn-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .15s}.btn-icon:hover{background:#e5e7eb;color:#374151}.btn-icon-danger:hover{background:#fee2e2;color:#dc2626}.detail-info-section{margin-bottom:1.5rem}.info-row{margin-bottom:1rem}.info-row.full-width{width:100%}.info-row label{display:block;font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.info-value{font-size:.95rem;color:#1a1a2e}.info-value-large{font-size:1rem;color:#1a1a2e;font-weight:500}.info-value.link{color:#667eea;text-decoration:underline}.info-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.info-row select,.info-row textarea,.info-row input[type=date]{width:100%;padding:.6rem .75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem;font-family:inherit}.info-row input[type=date]{cursor:pointer}.info-row textarea{resize:vertical;min-height:60px}.info-row select:focus,.info-row textarea:focus,.info-row input[type=date]:focus{outline:none;border-color:#667eea}.tipo-descuento-row{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #f0f0f0}.tipo-descuento-row label.required{color:#667eea;font-weight:600;font-size:.85rem}.select-tipo-descuento{width:100%;padding:.7rem .75rem;border:2px solid #667eea;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer;margin-top:.3rem}.select-tipo-descuento:focus{outline:none;border-color:#764ba2}.info-row select:focus,.info-row textarea:focus{outline:none;border-color:#667eea}.detail-tratamientos-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #f0f0f0}.detail-tratamientos-section h4{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 1rem}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header-row h4{margin:0}.btn-add-item{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:#e0e7ff;color:#4f46e5;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer}.btn-add-item:hover{background:#c7d2fe}.detalles-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:6px;border:1px solid #e5e7eb}.detalles-table{width:100%;min-width:900px;border-collapse:collapse}.detalles-table-readonly{width:100%;min-width:700px;border-collapse:collapse}.detalles-table th,.detalles-table-readonly th{text-align:left;padding:.6rem .75rem;font-size:.75rem;font-weight:600;color:#6b7280;background:#fafafa;border-bottom:1px solid #e5e7eb}.detalles-table td,.detalles-table-readonly td{padding:.6rem .75rem;border-bottom:1px solid #f0f0f0;font-size:.9rem}.detalles-table select,.detalles-table input{padding:.4rem .5rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.85rem}.detalles-table th:nth-child(1),.detalles-table td:nth-child(1){min-width:230px}.detalles-table th:nth-child(2),.detalles-table td:nth-child(2){width:90px}.detalles-table th:nth-child(3),.detalles-table td:nth-child(3){width:120px}.detalles-table th:nth-child(4),.detalles-table td:nth-child(4){width:170px}.detalles-table th:nth-child(5),.detalles-table td:nth-child(5){width:100px}.detalles-table th:nth-child(6),.detalles-table td:nth-child(6){width:80px}.detalles-table th:nth-child(7),.detalles-table td:nth-child(7){width:80px}.detalles-table th:nth-child(8),.detalles-table td:nth-child(8){width:40px}.tratamiento-cell .searchable-select-control{min-height:36px;padding:0 .5rem}.input-small{width:70px!important;text-align:center}.subtotal-cell{font-weight:600;color:#667eea}.btn-remove-item{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fee2e2;color:#dc2626;border:none;border-radius:4px;cursor:pointer}.btn-remove-item:hover{background:#fecaca}.totales-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.totales-grid{display:flex;flex-direction:column;gap:.5rem;max-width:280px;margin:0 auto}.total-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.total-row.total-final{padding-top:.5rem;border-top:1px solid #e5e7eb;font-weight:700;font-size:1rem}.total-row.total-final span:last-child{color:#667eea}.input-descuento{width:90px;padding:.35rem .5rem;border:1px solid #e5e7eb;border-radius:4px;text-align:right;font-size:.9rem}.totales-readonly{display:flex;flex-direction:column;gap:.4rem;max-width:280px;margin-left:auto;margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.total-line{display:flex;justify-content:space-between;font-size:.9rem;color:#374151}.total-line.final{padding-top:.5rem;border-top:1px solid #e5e7eb;font-weight:700;font-size:1rem}.total-line.final span:last-child{color:#667eea}.btn-save,.btn-cancel{padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;border:none}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-cancel{background:#f3f4f6;color:#6b7280}.btn-cancel:hover{background:#e5e7eb}.empty-cell{text-align:center;padding:2rem!important;color:#9ca3af}@media(max-width:768px){.presupuestos-filters{flex-direction:column;align-items:stretch}.filter-group select{width:100%}.filter-actions{margin-left:0;margin-top:.5rem}.btn-primary{width:100%;justify-content:center}.info-grid-3{grid-template-columns:1fr}.detail-card-header{flex-direction:column;gap:1rem;align-items:flex-start}.detail-actions{width:100%;flex-wrap:wrap}.table-container{display:none}.presupuestos-cards-wrapper{display:flex}.detalles-table-scroll,.detalles-table,.detalles-table-readonly,.table-container-simple.readonly-table{display:none}.tratamientos-readonly-cards{display:flex}}.presupuestos-cards-wrapper{display:none;flex-direction:column;gap:1rem;margin-top:1rem}.presupuesto-mobile-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000d;border:1px solid #f0f0f0;display:flex;flex-direction:column;gap:1rem;cursor:pointer;transition:all .2s}.tratamientos-edit-cards-wrapper{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.tratamiento-edit-card{background:#f9fafb;border-radius:10px;padding:1rem;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.75rem}.subtotal-action-group{display:flex;align-items:center;gap:.75rem}.edit-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;align-items:end}.edit-card-field{display:flex;flex-direction:column;gap:.35rem}.edit-card-field label{font-size:.75rem;color:#6b7280}.edit-card-field input,.edit-card-field select{width:100%;padding:.6rem .5rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.9rem;box-sizing:border-box}.field-tratamiento,.field-descripcion{grid-column:span 2}@media(max-width:768px){.edit-card-grid{grid-template-columns:1fr 1fr}.field-tratamiento,.field-descripcion,.field-subtotal{grid-column:1 / -1}}.subtotal-val{color:#0f766e;font-size:1.1rem}.tratamientos-readonly-cards{display:none;flex-direction:column;gap:1rem;margin-top:1rem}.tratamiento-mobile-card{background:#fff;border-radius:10px;padding:1rem;border:1px solid #f0f0f0;box-shadow:0 1px 4px #0000000d;display:flex;flex-direction:column;gap:.75rem}.tratamiento-card-header.read-only{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px dashed #e5e7eb;padding-bottom:.5rem}.tratamiento-card-header.read-only h4{margin:0;font-size:.95rem;color:#374151}.tratamiento-row{display:flex;justify-content:space-between;font-size:.85rem;color:#4b5563}.tratamiento-row.total{padding-top:.5rem;border-top:1px dashed #e5e7eb}.tratamiento-label{text-transform:uppercase;font-size:.75rem;font-weight:600;color:#9ca3af}.tratamiento-total-val{font-weight:700;color:#0f766e;font-size:1rem}.presupuesto-card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #f0f0f0;padding-bottom:.75rem}.presupuesto-card-main-info h4{margin:0 0 .25rem;font-size:1.05rem;color:#1f2937}.presupuesto-card-body{display:flex;flex-direction:column;gap:.75rem}.presupuesto-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#4b5563}.presupuesto-label{font-size:.75rem;text-transform:uppercase;color:#9ca3af;font-weight:600}.presupuesto-summary-row{display:flex;justify-content:space-between;align-items:flex-end;padding-top:.75rem;border-top:1px dashed #e5e7eb}.summary-val{font-weight:700;font-size:1.1rem;color:#1f2937}.btn-icon-danger-mobile{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;cursor:pointer}.pieza-cell{min-width:90px;max-width:110px}.superficie-cell{min-width:110px;max-width:130px}.descripcion-cell{min-width:160px}.select-pieza{width:100%;min-width:80px;padding:.35rem .4rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.82rem;background:#fff;cursor:pointer;color:#374151}.select-pieza:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1f}.select-superficie{width:100%;min-width:100px;padding:.35rem .4rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.82rem;background:#fff;cursor:pointer;color:#374151}.select-superficie:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 2px #0d94881f}.input-descripcion{width:100%;min-width:140px;padding:.35rem .5rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.85rem}.input-descripcion:focus{outline:none;border-color:#667eea}.badge-pieza{display:inline-block;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;font-size:.75rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;letter-spacing:.5px}.badge-superficie{display:inline-block;background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;font-size:.72rem;font-weight:600;padding:.18rem .45rem;border-radius:4px}.badges-row{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.descripcion-ro{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#6b7280}.table-container-simple{overflow-x:auto;width:100%}@media(max-width:768px){.edit-card-col select.select-pieza,.edit-card-col select.select-superficie{width:100%;font-size:.9rem;padding:.6rem .5rem}.badges-row{margin-top:.25rem}}.contratos-container{padding:1.5rem;min-height:100vh;background:#f8fafc}.contratos-container.detail-mode{padding:0;background:#f8fafc}.contratos-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1.5rem}.contratos-actions{display:flex;gap:1rem}.search-input{padding:.875rem 1.25rem;border:none;border-radius:12px;font-size:.95rem;width:320px;background:#fff;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.search-input:focus{outline:none;box-shadow:0 4px 20px #0f766e40}.table-header-info{padding:.75rem 0;margin-bottom:.5rem}.results-count{font-size:.9rem;color:#6b7280}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h2{color:#1f2937;margin:0;font-size:1.5rem}.page-header-simple{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #e5e7eb}.header-left{display:flex;align-items:center;gap:1rem}.header-title{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin:0}.back-btn-simple{background:#f3f4f6;border:none;color:#374151;padding:.6rem;border-radius:10px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.back-btn-simple:hover{background:#e5e7eb;color:#111827}.tabs-container{background:#fff;padding:0 2rem;border-bottom:1px solid #e5e7eb}.tabs-list{display:flex;gap:.5rem}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{color:#0f766e;background:#f0fdfa}.tab-btn.active{color:#0f766e;border-bottom-color:#0f766e;font-weight:600}.detail-content{padding:1.5rem 2rem;max-width:1200px;margin:0 auto}.content-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.info-item label{display:block;font-size:.8rem;color:#0f766e;font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.25rem}.info-item span{font-size:1rem;color:#1a1a2e}.financial-summary{background:#f8fafc;padding:1.5rem;border-radius:12px;margin-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border:1px solid #e2e8f0}.summary-item{text-align:center;display:flex;flex-direction:column;gap:.5rem}.summary-item label{font-size:.85rem;color:#64748b;font-weight:500}.summary-item .amount{font-size:1.5rem;font-weight:700;color:#0f172a}.amount.debt{color:#ef4444}.amount.paid{color:#10b981}.table-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.table-container-simple{border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.contratos-table{width:100%;border-collapse:collapse}.contratos-table th{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:1rem 1.25rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase}.contratos-table td{padding:1rem 1.25rem;border-bottom:1px solid #f0f0f0;font-size:.95rem;color:#374151}.clickable-row{cursor:pointer;transition:background-color .2s}.clickable-row:hover{background-color:#f0fdfa}.code-cell{font-family:Monaco,Consolas,monospace;color:#0f766e;font-weight:600}.tratamientos-cards-wrapper{display:none;flex-direction:column;gap:1rem}.tratamiento-mobile-card{background:#fff;border-radius:12px;padding:1.25rem;border:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.75rem}.tratamiento-card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px dashed #e5e7eb;padding-bottom:.75rem}.tratamiento-main h4{margin:0 0 .5rem;font-size:1.05rem;color:#1f2937}.pieza-badge{background:#f3f4f6;color:#4b5563;padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:500}.tratamiento-card-body{display:flex;flex-direction:column;gap:.5rem}.tratamiento-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#374151}.tratamiento-row.total{margin-top:.25rem;padding-top:.5rem;border-top:1px dashed #e5e7eb}.tratamiento-label{color:#6b7280;font-size:.8rem;text-transform:uppercase}.tratamiento-total-val{font-size:1.1rem;font-weight:700;color:#0f766e}.contratos-cards-wrapper{display:none;flex-direction:column;gap:1rem;margin-top:1rem}.contrato-mobile-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;display:flex;flex-direction:column;gap:1rem;cursor:pointer;transition:all .2s}.contrato-mobile-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a;border-color:#ccfbf1}.contrato-card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #f0f0f0;padding-bottom:.75rem}.contrato-card-main-info h4{margin:0 0 .25rem;font-size:1.1rem;color:#1f2937;font-weight:600}.contrato-card-status{flex-shrink:0}.contrato-card-body{display:flex;flex-direction:column;gap:.75rem}.contrato-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#374151}.contrato-summary-row{display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.75rem;border-top:1px dashed #e5e7eb}.summary-block{display:flex;flex-direction:column;gap:.25rem}.summary-block:last-child{text-align:right}.contrato-label{color:#6b7280;font-size:.8rem;font-weight:500;text-transform:uppercase}.summary-val{font-size:1.1rem;font-weight:700;color:#1f2937}.summary-val.balance{font-size:1.2rem}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600}.status-paid{background-color:#dcfce7;color:#166534}.status-partial{background-color:#fef3c7;color:#92400e}.status-debt{background-color:#fee2e2;color:#991b1b}.section-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-actions h4{margin:0;font-size:1.1rem;color:#1f2937}.add-payment-form{background:#f0fdfa;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #ccfbf1}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group{flex:1;display:flex;flex-direction:column}.form-group label{font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.4rem}.form-group input,.form-group select{padding:.6rem .8rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem}.form-actions-right{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.btn-primary{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:.65rem 1.25rem;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;box-shadow:0 2px 4px #0f766e33}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 6px #0f766e4d}.btn-primary:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-cancel{background:#fff;border:1px solid #d1d5db;color:#4b5563;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-weight:500}.btn-save{background:#0f766e;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:500}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:.75rem;background:#fff}.payment-info{display:flex;gap:2rem;align-items:center}.payment-amount-col{display:flex;flex-direction:column}.amount-val{font-weight:700;font-size:1.1rem;color:#059669}.payment-date{font-size:.8rem;color:#6b7280}.payment-meta-col{display:flex;flex-direction:column}.payment-method{font-weight:500;color:#374151}.payment-notes{font-size:.85rem;color:#6b7280;font-style:italic}.delete-btn{color:#ef4444;padding:.5rem;border-radius:8px;border:none;background:transparent;cursor:pointer}.delete-btn:hover{background:#fee2e2}.empty-state{text-align:center;padding:3rem;color:#9ca3af;background:#f9fafb;border-radius:12px}.payment-progress-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #f0f0f0}.progress-header{display:flex;justify-content:space-between;margin-bottom:.75rem;font-size:.9rem;font-weight:600;color:#374151}.progress-percentage{color:#0f766e}.progress-bar-container{height:10px;background:#e5e7eb;border-radius:9999px;overflow:hidden;margin-bottom:1.5rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#0d9488,#10b981);border-radius:9999px;transition:width .5s ease-out}.payment-suggestion{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:8px;padding:1rem;font-size:.9rem;color:#115e59}.payment-suggestion p{margin:0}.print-btn{color:#4b5563;padding:.5rem;border-radius:8px;border:none;background:transparent;cursor:pointer;margin-right:.5rem}.print-btn:hover{background:#e5e7eb;color:#1f2937}@media(max-width:1024px){.info-grid{grid-template-columns:1fr}.financial-summary{grid-template-columns:1fr;gap:1rem}}@media(max-width:768px){.contratos-container{padding:1rem .5rem}.contratos-header{flex-direction:column;align-items:stretch}.search-input{width:100%;margin-bottom:1rem}.table-container{display:none}.contratos-cards-wrapper{display:flex}.table-container-simple{display:none}.tratamientos-cards-wrapper{display:flex}.page-header-simple{padding:1rem}.header-title{font-size:1.2rem}.tabs-container{padding:0;overflow-x:auto}.tabs-list{padding:0 1rem;min-width:max-content}.detail-content{padding:1rem .5rem}.form-row{flex-direction:column;gap:1rem}.payment-info{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:480px){.tabs-list{gap:0}.tab-btn{padding:.8rem 1rem;font-size:.85rem}}.pagos-container{padding:1.5rem;min-height:100vh;background:#f8fafc}.pagos-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:1.5rem}.pagos-actions{display:flex;gap:1rem}.pagos-actions .search-input{padding:.875rem 1.25rem;border:none;border-radius:12px;font-size:.95rem;width:320px;background:#fff;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.pagos-actions .search-input:focus{outline:none;box-shadow:0 4px 20px #0f766e40}.btn-export{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #d1d5db;color:#374151;padding:.6rem 1rem;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-export:hover{background:#f3f4f6;border-color:#9ca3af}.btn-primary{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:.875rem 1.5rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0f766e59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #0f766e73}.pagos-container>.table-header-info{padding:.75rem 0;margin-bottom:.5rem}.pagos-container>.table-header-info .results-count{font-size:.9rem;color:#6b7280}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:16px;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #0000001a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-total .stat-icon{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff}.stat-today .stat-icon{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff}.stat-week .stat-icon{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff}.stat-month .stat-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#fff}.stat-content{display:flex;flex-direction:column}.stat-label{font-size:.85rem;color:#6b7280;font-weight:500}.stat-value{font-size:1.35rem;font-weight:700;color:#1f2937}.payment-methods-breakdown{background:#fff;border-radius:16px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0}.payment-methods-breakdown h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;color:#374151}.methods-list{display:flex;flex-direction:column;gap:.75rem}.method-item{display:flex;align-items:center;gap:1rem}.method-info{min-width:200px;display:flex;justify-content:space-between}.method-name{font-weight:500;color:#374151}.method-amount{font-weight:600;color:#0f766e}.method-bar-container{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.method-bar{height:100%;background:linear-gradient(90deg,#0d9488,#10b981);border-radius:4px;transition:width .5s ease-out}.method-percentage{min-width:45px;text-align:right;font-size:.85rem;font-weight:600;color:#6b7280}.filters-section{display:flex;gap:1rem;margin-bottom:1rem}.search-box{flex:1;display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:0 1rem;transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.search-box svg{color:#9ca3af}.search-box input{flex:1;border:none;padding:.75rem 0;font-size:.95rem;outline:none}.btn-filter{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #d1d5db;color:#374151;padding:0 1.25rem;border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.btn-filter:hover,.btn-filter.active{background:#f0fdfa;border-color:#0f766e;color:#0f766e}.btn-filter .rotated{transform:rotate(180deg)}.filter-badge{width:8px;height:8px;background:#ef4444;border-radius:50%;position:absolute;top:8px;right:8px}.filters-panel{display:flex;gap:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin-bottom:1rem;flex-wrap:wrap;align-items:flex-end}.filter-group input,.filter-group select{padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;min-width:160px}.filter-group input:focus,.filter-group select:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1a}.btn-clear-filters{display:flex;align-items:center;gap:.35rem;background:#fee2e2;border:none;color:#dc2626;padding:.55rem .85rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-clear-filters:hover{background:#fecaca}.pagos-table-wrapper{width:100%;overflow-x:auto;border-radius:16px;box-shadow:0 4px 20px #00000014;background:#fff}.pagos-table-container{min-width:100%}.table-header-info{padding:1rem 1.25rem;border-bottom:1px solid #f0f0f0}.results-count{font-size:.85rem;color:#6b7280}.pagos-table{width:100%;border-collapse:collapse}.pagos-table th{background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;padding:1rem 1.25rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px}.pagos-table td{padding:1rem 1.25rem;border-bottom:1px solid #f0f0f0;font-size:.95rem;color:#374151}.pagos-table tbody tr{transition:background-color .15s}.pagos-table tbody tr:hover{background-color:#f9fafb}.date-cell{color:#6b7280;font-size:.9rem}.patient-cell{font-weight:500}.code-cell{font-family:Monaco,Consolas,monospace;color:#0f766e;font-weight:600;font-size:.85rem}.method-badge{display:inline-block;padding:.25rem .65rem;background:#f0fdfa;color:#0f766e;border-radius:6px;font-size:.8rem;font-weight:500}.amount-cell{font-weight:700;color:#059669;font-size:1rem}.notes-cell{color:#9ca3af;font-size:.85rem;font-style:italic;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{text-align:center}.action-btn{padding:.5rem;border:none;border-radius:8px;cursor:pointer;transition:all .2s;background:transparent}.action-btn.print{color:#6b7280}.action-btn.print:hover{background:#e5e7eb;color:#1f2937}.loading-cell,.empty-cell{text-align:center;padding:3rem!important;color:#9ca3af;font-size:.95rem}.pagos-cards-wrapper{display:none;flex-direction:column;gap:1rem}.pago-mobile-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;display:flex;flex-direction:column;gap:1rem}.pago-card-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #f0f0f0;padding-bottom:.75rem}.pago-card-main-info h4{margin:0 0 .25rem;font-size:1.05rem;color:#1f2937;font-weight:600}.pago-card-amount{font-weight:700;color:#059669;font-size:1.1rem;background:#ecfdf5;padding:.25rem .5rem;border-radius:6px}.pago-card-body{display:flex;flex-direction:column;gap:.75rem}.pago-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.pago-detail-row.notes{flex-direction:column;align-items:flex-start;gap:.25rem}.pago-detail-row.notes .notes-cell{max-width:100%;white-space:normal;background:#f9fafb;padding:.5rem;border-radius:6px;border:1px dashed #e5e7eb}.pago-label{color:#6b7280;font-weight:500}.pago-card-footer{padding-top:.75rem;border-top:1px solid #f0f0f0}.action-btn-mobile{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1.5px solid #e5e7eb;background:#fff;color:#374151;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.action-btn-mobile:hover{background:#f3f4f6;color:#1f2937}@media(max-width:1280px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.pagos-container{padding:1rem .5rem}.stats-grid{grid-template-columns:1fr}.pagos-header{flex-direction:column;gap:1rem;align-items:flex-start}.pagos-actions{flex-direction:column;width:100%;gap:.75rem}.search-input{width:100%!important;box-sizing:border-box}.btn-primary{width:100%;justify-content:center}.filters-section{flex-direction:column}.filters-panel{flex-direction:column;align-items:stretch}.filter-group input,.filter-group select{min-width:100%;box-sizing:border-box}.method-info{min-width:120px}.pagos-table-wrapper{display:none}.pagos-cards-wrapper{display:flex}.pagos-table-container{overflow-x:auto}.pagos-table{font-size:.85rem;min-width:700px}.pagos-table th,.pagos-table td{padding:.75rem}}@media(max-width:480px){.stat-card{padding:1rem}.btn-clear-filters{width:100%;justify-content:center}}.page-header-simple{display:flex;align-items:center;padding:1.25rem 1.5rem;background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;margin-bottom:1.5rem}.header-left{display:flex;flex-direction:row;align-items:center;gap:.75rem}.back-btn-simple{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border:1.5px solid #e5e7eb;border-radius:10px;background:#f9fafb;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:0;flex-shrink:0}.back-btn-simple:hover{background:#ecfdf5;color:#0f766e;border-color:#0f766e}.header-title{font-size:1.3rem;font-weight:700;color:#1f2937;margin:0;line-height:1;white-space:nowrap}.payment-form-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;padding:2rem}.form-section h3{font-size:1rem;font-weight:600;color:#0f766e;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group-full{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.form-group label,.form-group-full label{font-size:.875rem;font-weight:600;color:#374151}.form-group input,.form-group select,.form-group-full input,.form-group-full select{padding:.75rem 1rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.95rem;color:#1f2937;background:#fff;transition:all .2s ease;outline:none}.form-group input:focus,.form-group select:focus,.form-group-full input:focus,.form-group-full select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.form-group-full textarea{padding:.75rem 1rem;border:1.5px solid #d1d5db;border-radius:10px;font-size:.95rem;color:#1f2937;background:#fff;transition:all .2s ease;outline:none;resize:vertical;font-family:inherit;min-height:80px;width:100%;box-sizing:border-box}.form-group-full textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.input-group{display:flex;align-items:stretch}.input-prefix{display:flex;align-items:center;padding:0 .875rem;background:#f3f4f6;border:1.5px solid #d1d5db;border-right:none;border-radius:10px 0 0 10px;font-size:.875rem;font-weight:600;color:#6b7280}.input-group input{border-radius:0 10px 10px 0!important;flex:1}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-cancel{padding:.75rem 1.5rem;border:1.5px solid #d1d5db;border-radius:10px;background:#fff;color:#6b7280;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#f3f4f6;color:#374151}.btn-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0f766e59}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 25px #0f766e73}.error-message{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:.9rem;margin-bottom:1rem;cursor:pointer}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.payment-form-card{padding:1.25rem}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%;justify-content:center}}.reportes-container{padding:1.5rem 2rem;min-height:100vh;background:#f8fafc}.kpis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1.5rem}.kpi-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.kpi-ingresos:before{background:linear-gradient(90deg,#0f766e,#14b8a6)}.kpi-pacientes:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.kpi-citas:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.kpi-tasa:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.kpi-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}.kpi-ingresos .kpi-icon{background:#f0fdfa;color:#0f766e}.kpi-pacientes .kpi-icon{background:#eff6ff;color:#3b82f6}.kpi-citas .kpi-icon{background:#f5f3ff;color:#8b5cf6}.kpi-tasa .kpi-icon{background:#fffbeb;color:#f59e0b}.kpi-trend{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:20px;font-size:.8rem;font-weight:600}.kpi-trend.up{background:#dcfce7;color:#16a34a}.kpi-trend.down{background:#fee2e2;color:#dc2626}.kpi-value{font-size:1.75rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.kpi-label{font-size:.9rem;color:#6b7280}.charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.5rem}.chart-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.chart-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:#374151}.chart-header h3 svg{color:#0f766e}.bar-chart{display:flex;align-items:flex-end;justify-content:space-between;height:180px;padding:0 .5rem}.bar-item{display:flex;flex-direction:column;align-items:center;flex:1;gap:.5rem}.bar-container{width:100%;max-width:50px;height:150px;display:flex;align-items:flex-end;justify-content:center}.bar-fill{width:100%;background:linear-gradient(180deg,#0f766e,#14b8a6);border-radius:6px 6px 0 0;position:relative;min-height:4px;transition:height .5s ease}.bar-value{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:600;color:#0f766e;white-space:nowrap}.bar-label{font-size:.8rem;color:#6b7280;font-weight:500}.category-list{display:flex;flex-direction:column;gap:.85rem}.category-item{display:flex;align-items:center;gap:1rem}.category-info{min-width:130px;display:flex;justify-content:space-between}.category-name{font-weight:500;color:#374151;font-size:.9rem}.category-count{font-weight:600;color:#0f766e;font-size:.9rem}.category-bar-container{flex:1;height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}.category-bar{height:100%;background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:5px;transition:width .5s ease}.category-percent{min-width:40px;text-align:right;font-size:.85rem;font-weight:600;color:#6b7280}.doctors-table{overflow-x:auto}.doctors-table table{width:100%;border-collapse:collapse}.doctors-table th{text-align:left;padding:.75rem;background:#f9fafb;color:#6b7280;font-weight:600;font-size:.8rem;text-transform:uppercase;border-bottom:1px solid #e5e7eb}.doctors-table td{padding:.85rem .75rem;border-bottom:1px solid #f0f0f0;font-size:.95rem}.doctors-table .doctor-name{font-weight:500;color:#1f2937}.doctors-table .doctor-income{font-weight:600;color:#0f766e}.doctors-table .doctor-rating{color:#f59e0b;font-weight:600}.payment-methods-chart{display:flex;flex-direction:column;gap:.85rem}.payment-method-item{display:flex;align-items:center;gap:1rem}.payment-method-info{min-width:140px;display:flex;justify-content:space-between}.payment-name{font-weight:500;color:#374151;font-size:.9rem}.payment-total{font-weight:600;color:#0f766e;font-size:.85rem}.payment-bar-container{flex:1;height:10px;background:#e5e7eb;border-radius:5px;overflow:hidden}.payment-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:5px;transition:width .5s ease}.payment-percent{min-width:40px;text-align:right;font-size:.85rem;font-weight:600;color:#6b7280}.reports-section{margin-top:1rem}.reports-section>h3{margin:0 0 1.25rem;font-size:1.1rem;color:#1f2937}.reports-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.report-category-card{background:#fff;border-radius:14px;padding:1.25rem;box-shadow:0 2px 12px #0000000f;border:1px solid #f0f0f0;transition:all .2s}.report-category-card:hover{box-shadow:0 4px 20px #0000001a}.category-header{display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.category-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.category-header h4{margin:0;font-size:1rem;color:#1f2937}.category-header p{margin:.25rem 0 0;font-size:.85rem;color:#6b7280}.category-reports{display:flex;flex-direction:column;gap:.5rem}.report-link{display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;background:#f9fafb;border-radius:8px;cursor:pointer;transition:all .2s}.report-link:hover{background:#f0fdfa;color:#0f766e}.report-link span{font-size:.9rem;font-weight:500}.report-link svg{color:#9ca3af;transition:transform .2s}.report-link:hover svg{color:#0f766e;transform:translate(3px)}.report-header{margin-bottom:1.5rem}.back-btn{background:none;border:none;color:#6b7280;font-size:.9rem;cursor:pointer;padding:0;margin-bottom:1rem;display:flex;align-items:center;gap:.25rem}.back-btn:hover{color:#0f766e}.report-title-section h2{margin:0;font-size:1.5rem;color:#1f2937}.report-title-section p{margin:.25rem 0 0;color:#6b7280}.report-filters{display:flex;justify-content:space-between;align-items:flex-end;background:#fff;padding:1.25rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000a}.date-range{display:flex;gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-group label{font-size:.8rem;font-weight:600;color:#6b7280}.filter-group input{padding:.6rem .85rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem}.report-actions{display:flex;gap:.75rem}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border:none}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb}.report-content{background:#fff;border-radius:14px;padding:3rem;box-shadow:0 2px 12px #0000000f;min-height:400px}.report-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9ca3af}.report-placeholder svg{color:#d1d5db;margin-bottom:1rem}.report-placeholder h3{margin:0 0 .5rem;color:#374151}.report-placeholder p{margin:.25rem 0}.report-placeholder .coming-soon{margin-top:1rem;padding:.75rem 1.5rem;background:#f0fdfa;border-radius:8px;color:#0f766e;font-size:.9rem}@media(max-width:1280px){.kpis-grid,.reports-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.charts-row{grid-template-columns:1fr}}@media(max-width:768px){.reportes-container{padding:1rem}.kpis-grid,.reports-grid{grid-template-columns:1fr}.report-filters{flex-direction:column;gap:1rem;align-items:stretch}.date-range{flex-direction:column}.report-actions{justify-content:stretch}.report-actions button{flex:1;justify-content:center}}.configuracion-container{padding:1.5rem 2rem;max-width:900px;margin:0 auto}.config-menu{display:flex;flex-direction:column;gap:.75rem}.config-menu-item{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:#fff;border-radius:14px;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.config-menu-item:hover{border-color:#0f766e;background:#f0fdfa;transform:translate(4px);box-shadow:0 4px 12px #0f766e1a}.menu-item-icon{width:50px;height:50px;border-radius:12px;background:linear-gradient(135deg,#0f766e,#14b8a6);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.menu-item-content{flex:1}.menu-item-content h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.menu-item-content p{margin:.25rem 0 0;font-size:.9rem;color:#6b7280}.menu-item-arrow{color:#9ca3af;transition:transform .2s}.config-menu-item:hover .menu-item-arrow{color:#0f766e;transform:translate(4px)}.section-header-nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;min-height:36px}.section-header-nav h2{margin:0;font-size:1.3rem;font-weight:600;color:#1f2937;line-height:1}.back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border:1.5px solid #e5e7eb;border-radius:10px;background:#f9fafb;cursor:pointer;color:#6b7280;transition:all .2s ease;padding:0;flex-shrink:0}.back-btn:hover{background:#ecfdf5;color:#0f766e;border-color:#0f766e}.config-section{background:#fff;border-radius:14px;padding:1.5rem;box-shadow:0 4px 12px #0000000f;border:1px solid #f0f0f0}.section-desc{color:#6b7280;margin:0 0 1.5rem;font-size:.95rem}.add-item-form{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:10px;align-items:center;border:1px solid #e5e7eb}.input-name{flex:1;padding:.65rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s}.input-name:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.input-percentage{width:120px;padding:.65rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;outline:none}.input-percentage:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.color-picker-wrapper{position:relative;width:42px;height:42px;border-radius:50%;overflow:hidden;border:2px solid #e5e7eb;cursor:pointer;flex-shrink:0}.color-picker-wrapper input[type=color]{position:absolute;top:-50%;left:-50%;width:200%;height:200%;cursor:pointer;border:none;padding:0;margin:0}.btn-add{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add:hover{opacity:.9;transform:translateY(-1px)}.btn-add:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.items-list{display:flex;flex-direction:column;gap:.6rem}.list-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff;transition:all .2s}.list-item:hover{border-color:#d1d5db;background:#fcfcfc}.item-info{display:flex;align-items:center;gap:.85rem}.item-icon{color:#0f766e}.color-dot{width:16px;height:16px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px #0000001a}.item-name{font-weight:500;color:#374151}.item-badge{background:#f0fdfa;color:#0f766e;padding:.25rem .65rem;border-radius:6px;font-size:.85rem;font-weight:600;margin-left:.5rem}.btn-delete{padding:.5rem;color:#ef4444;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-delete:hover{background:#fee2e2;border-color:#fecaca}.horarios-grid{display:flex;flex-direction:column;gap:.6rem}.horario-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.horario-row.inactive{background:#fafafa;opacity:.7}.horario-day{display:flex;align-items:center;gap:.75rem;cursor:pointer;min-width:140px}.horario-day input[type=checkbox]{width:18px;height:18px;accent-color:#0f766e;cursor:pointer}.day-name{font-weight:500;color:#374151}.horario-times{display:flex;align-items:center;gap:.5rem}.horario-times input[type=time]{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.horario-times span{color:#6b7280}.closed-label{color:#9ca3af;font-style:italic;font-size:.9rem}.form-actions{margin-top:1.5rem;display:flex;justify-content:flex-end}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f766e40}.btn-secondary{padding:.5rem 1rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f3f4f6}.integration-card{background:#f0fdfa;border:1px solid #ccfbf1;border-radius:12px;padding:1.5rem}.integration-header h4{margin:0 0 .5rem;font-size:1.1rem;color:#1f2937}.integration-header p{margin:0;color:#6b7280;font-size:.9rem}.integration-actions{margin-top:1rem}.status-connected{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.connected-badge{display:inline-flex;align-items:center;gap:.35rem;background:#dcfce7;color:#166534;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.connected-email{color:#6b7280;font-size:.9rem}.empty-state{text-align:center;padding:2.5rem;color:#9ca3af;background:#f9fafb;border-radius:10px;border:2px dashed #e5e7eb}.loading-state{text-align:center;padding:2rem;color:#6b7280}.error-message{padding:.85rem 1rem;background:#fee2e2;color:#b91c1c;border-radius:8px;font-size:.9rem;margin-bottom:1rem}@media(max-width:768px){.configuracion-container,.config-menu-item{padding:1rem}.menu-item-icon{width:44px;height:44px}.add-item-form{flex-wrap:wrap}.input-name{flex:1 1 100%}.horario-row{flex-direction:column;align-items:flex-start;gap:.75rem}.horario-times{padding-left:2rem}.clinica-form .form-row{flex-direction:column}.notification-item{flex-direction:column;align-items:flex-start;gap:1rem}}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#0f766e,#14b8a6)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.list-item.item-inactive{opacity:.6;background:#f9fafb}.users-table{overflow-x:auto;margin:1.5rem 0}.users-table table{width:100%;border-collapse:collapse;font-size:.95rem}.users-table th{text-align:left;padding:.85rem 1rem;background:#f3f4f6;color:#374151;font-weight:600;font-size:.85rem;border-bottom:1px solid #e5e7eb}.users-table td{padding:1rem;border-bottom:1px solid #f0f0f0}.users-table .user-name{font-weight:500;color:#1f2937}.users-table .empty-cell{text-align:center;color:#9ca3af;padding:2rem!important}.role-badge{display:inline-block;padding:.3rem .75rem;background:linear-gradient(135deg,#0f766e15,#14b8a615);color:#0f766e;border-radius:20px;font-size:.85rem;font-weight:500}.role-badge.small{padding:.2rem .5rem;font-size:.8rem}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#991b1b}.btn-icon{padding:.5rem;background:transparent;border:none;color:#6b7280;cursor:pointer;border-radius:6px;transition:all .2s}.btn-icon:hover{background:#f3f4f6;color:#374151}.roles-info{background:#f0fdfa;padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;border:1px solid #ccfbf1}.roles-info h4{margin:0 0 .75rem;font-size:.9rem;color:#0f766e}.roles-list{display:flex;gap:.5rem;flex-wrap:wrap}.notifications-grid{display:flex;flex-direction:column;gap:.75rem}.notification-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.notification-info{display:flex;align-items:flex-start;gap:1rem}.notification-info svg{color:#0f766e;margin-top:2px;flex-shrink:0}.notification-info h4{margin:0;font-size:1rem;color:#1f2937}.notification-info p{margin:.25rem 0 0;font-size:.85rem;color:#6b7280}.notification-item.time-config select{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;background:#fff}.clinica-form{display:flex;flex-direction:column;gap:1.25rem}.clinica-form .form-row{display:flex;gap:1rem}.clinica-form .form-group{flex:1;display:flex;flex-direction:column;gap:.4rem}.clinica-form .form-group.full-width{flex:1 1 100%}.clinica-form label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:#374151}.clinica-form label svg{color:#0f766e}.clinica-form input{padding:.7rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.clinica-form input:focus{border-color:#0f766e;outline:none;box-shadow:0 0 0 3px #0f766e1a}.clinica-form input::placeholder{color:#9ca3af}.user-detail-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb;min-height:36px}.user-detail-header h3{margin:0;font-size:1.2rem;font-weight:600;color:#1f2937;line-height:1}.user-detail-title{flex:1;display:flex;align-items:center;gap:.75rem}.user-detail-title h3{margin:0;line-height:1}.user-detail-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.user-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.user-info-card{padding:1.25rem;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb}.user-info-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6b7280;margin-bottom:.5rem}.user-info-label svg{color:#0f766e}.user-info-value{font-size:1rem;font-weight:500;color:#1f2937}.user-form{margin-top:1rem}.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.user-form-grid .form-group{display:flex;flex-direction:column;gap:.4rem}.user-form-grid .form-group label{font-size:.9rem;font-weight:500;color:#374151}.user-form-grid .form-group label small{font-weight:400;color:#9ca3af}.user-form-grid .form-group input,.user-form-grid .form-group select{padding:.7rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;outline:none}.user-form-grid .form-group input:focus,.user-form-grid .form-group select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.user-form-grid .checkbox-group{display:flex;align-items:center}.checkbox-inline{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.checkbox-inline input[type=checkbox]{width:18px;height:18px;accent-color:#0f766e}.user-form-actions{margin-top:1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.users-table tr:hover{background:#f0fdfa}@media(max-width:768px){.user-info-grid,.user-form-grid{grid-template-columns:1fr}.user-detail-header{flex-wrap:wrap}}.usuarios-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:#f3f4f6;padding:4px;border-radius:10px}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.9rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.tab-btn.active{background:#fff;color:#0f766e;font-weight:600;box-shadow:0 1px 4px #00000014}.tab-btn:hover:not(.active){color:#374151}.permisos-section{margin-top:.5rem}.permisos-role-selector{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.perm-role-btn{padding:.5rem 1.25rem;border:1.5px solid #e5e7eb;background:#fff;border-radius:20px;font-size:.9rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.perm-role-btn:hover{border-color:#0f766e;color:#0f766e}.perm-role-btn.active{background:linear-gradient(135deg,#0f766e,#14b8a6);border-color:transparent;color:#fff;font-weight:600}.permisos-grid{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.permisos-header-row{display:grid;grid-template-columns:1fr repeat(4,80px);background:#f3f4f6;padding:.75rem 1rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.permisos-row{display:grid;grid-template-columns:1fr repeat(4,80px);padding:.85rem 1rem;border-top:1px solid #f0f0f0;align-items:center;transition:background .15s}.permisos-row:hover{background:#f9fafb}.perm-module-col{display:flex;flex-direction:column;gap:2px}.perm-module-name{font-weight:500;color:#1f2937;font-size:.95rem}.perm-module-desc{font-size:.8rem;color:#9ca3af}.perm-action-col{display:flex;align-items:center;justify-content:center}.perm-na{color:#d1d5db;font-size:.9rem}.toggle-switch.small{width:36px;height:20px}.toggle-switch.small .toggle-slider:before{height:14px;width:14px;left:3px;bottom:3px}.toggle-switch.small input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-switch.small input:disabled+.toggle-slider{opacity:.4;cursor:not-allowed}@media(max-width:768px){.permisos-header-row,.permisos-row{grid-template-columns:1fr repeat(4,60px)}.permisos-header-row{font-size:.7rem}.perm-module-name{font-size:.85rem}.perm-module-desc{display:none}}.dashboard-container{display:flex;min-height:100vh;background-color:#f3f4f6}.dashboard-main{flex:1;display:flex;flex-direction:column;margin-left:220px;transition:margin-left .3s ease}.dashboard-content{flex:1;overflow-y:auto}@media(max-width:1024px){.dashboard-main{margin-left:180px}}@media(max-width:768px){.dashboard-main{margin-left:0}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #667eea;--primary-dark: #5568d3;--secondary: #764ba2;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--dark: #1f2937;--gray: #6b7280;--light-gray: #f3f4f6;--white: #ffffff;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--light-gray);color:var(--dark)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.page-container{padding:24px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h2{font-size:24px;font-weight:600;color:var(--dark)}.page-content{background:#fff;border-radius:12px;padding:32px;box-shadow:var(--shadow)}.placeholder-text{font-size:18px;color:var(--gray);margin-bottom:16px}.primary-button{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.primary-button:active{transform:translateY(0)}
