@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary:#008783;--color-primary-dark:#0c5747;--color-primary-darker:#0a4a3c;--color-primary-soft:#e0f2f1;--color-accent:#efb922;--color-bg:#f4f6f8;--color-surface:#fff;--color-border:#e5e8eb;--color-border-strong:#d6dadf;--color-text:#1f2a37;--color-text-muted:#6b7280;--color-text-faint:#9aa3ad;--color-danger:#e53935;--shadow-xs:0 1px 2px #1018280f;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-md:0 4px 12px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 12px 32px #10182829, 0 4px 8px #1018280f;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition:.18s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background:var(--color-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;line-height:1.25}h1{color:var(--color-primary-dark);font-size:1.5rem;font-weight:700}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}*{scrollbar-width:thin;scrollbar-color:#c3c9d0 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c8cdd4 padding-box content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#aab1ba padding-box content-box}.loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;background:#10182866;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-modal{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;display:flex}.loading-spinner{border:3px solid #e6e9ec;border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-modal p{color:var(--color-text-muted);margin:0;font-size:.95rem}@media (width<=768px){h1{font-size:1.25rem}.loading-modal{padding:1.5rem 2rem}}.layout{height:100vh;display:flex;overflow:hidden}.sidebar{color:#fff;z-index:10;background:linear-gradient(#0a7672 0%,#008783 55%,#0c5747 100%);flex-direction:column;flex-shrink:0;width:240px;transition:width .2s;display:flex;box-shadow:2px 0 12px #1018281f}.sidebar.open{width:240px}.sidebar.closed{width:64px}.sidebar-inner{flex-direction:column;height:100%;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;min-height:60px;padding:1rem 1.1rem;display:flex}.sidebar.closed .sidebar-header{justify-content:center;padding:1rem 0}.sidebar-header h2{letter-spacing:.04em;color:#fff;margin:0;font-size:1.5rem;font-weight:700}.sidebar-toggle{color:#fff;cursor:pointer;width:28px;height:28px;transition:background var(--transition);background:#ffffff14;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:.7rem;display:flex}.sidebar-toggle:hover{background:#fff3}.sidebar-nav{flex:1;padding:.75rem .5rem;overflow:hidden auto}.nav-item{color:#ffffffc7;transition:background var(--transition), color var(--transition);border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.15rem;padding:.65rem .75rem;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff1f}.nav-item.active{color:#fff;background:#ffffff29;font-weight:600}.nav-item.active:before{content:"";background:var(--color-accent);border-radius:0 4px 4px 0;width:4px;height:60%;position:absolute;top:50%;left:-.5rem;transform:translateY(-50%)}.sidebar.closed .nav-item{justify-content:center}.sidebar.closed .nav-item.active:before{left:0}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;line-height:1;display:flex}.nav-dropdown-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-label{white-space:nowrap;font-size:.95rem;font-weight:500}.nav-item-wrapper{position:relative}.nav-dropdown{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background:#0c5747;border:1px solid #ffffff14;width:200px;max-width:calc(100vw - 20px);padding:.35rem;animation:.14s dropdown-in}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{color:#ffffffd1;transition:background var(--transition);border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .7rem;font-size:.875rem;text-decoration:none;display:flex}.nav-dropdown-item:hover{color:#fff;background:#ffffff1f}.nav-dropdown-item.active{color:#fff;background:#ffffff2e;font-weight:600}.nav-divider{background:#ffffff1f;height:1px;margin:.6rem .75rem}.sidebar-footer{border-top:1px solid #ffffff1f;padding:1rem}.user-info{flex-direction:column;gap:.15rem;margin-bottom:.85rem;display:flex}.user-name{color:#fff;font-size:.9rem;font-weight:600}.user-role{color:#ffffffa6;font-size:.75rem}.btn-logout{color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition);background:#ffffff1a;border:1px solid #ffffff38;padding:.55rem;font-size:.875rem;font-weight:500}.btn-logout:hover{background:#ffffff38}.main-content{background:var(--color-bg);flex:1;height:100vh;padding:1.5rem 2rem;overflow-y:auto}.mobile-topbar,.sidebar-close-btn,.sidebar-backdrop{display:none}@media (width<=768px){.layout{flex-direction:column}.mobile-topbar{color:#fff;height:54px;box-shadow:var(--shadow-sm);z-index:20;background:linear-gradient(90deg,#0a7672 0%,#008783 100%);flex-shrink:0;align-items:center;gap:.75rem;padding:0 .9rem;display:flex}.mobile-topbar-title{letter-spacing:.04em;color:#fff;margin:0;font-size:1.25rem;font-weight:700}.mobile-menu-btn{cursor:pointer;background:#ffffff1f;border:none;border-radius:8px;flex-direction:column;justify-content:center;gap:4px;width:38px;height:38px;padding:0 8px;display:flex}.mobile-menu-btn span{background:#fff;border-radius:2px;height:2px;display:block}.sidebar{z-index:100;height:100dvh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open,.sidebar.closed{width:268px}.sidebar.mobile-open{transform:translate(0);box-shadow:6px 0 28px #10182866}.sidebar-toggle{display:none}.sidebar-close-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;display:flex}.sidebar-close-btn:hover{background:#ffffff38}.sidebar-backdrop{z-index:90;background:#10182873;animation:.15s modal-overlay-in;display:block;position:fixed;inset:0}.main-content{height:auto;min-height:0;padding:1rem .85rem}}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@media (width>=769px) and (width<=1024px){.main-content{padding:1.25rem}}.login-page{background:linear-gradient(135deg,#0c5747 0%,#008783 60%,#0a7672 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle,#efb9222e 0%,#0000 70%);border-radius:50%;width:520px;height:520px;position:absolute;top:-160px;right:-120px}.login-card{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:400px;padding:2.5rem;position:relative;box-shadow:0 20px 50px #00000040}.login-card h1{color:var(--color-primary-dark);letter-spacing:.03em;margin:0;font-size:2.25rem;font-weight:700}.login-subtitle{color:var(--color-text-muted);margin:.35rem 0 1.75rem;font-size:.95rem}.form-group input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);box-sizing:border-box;width:100%;transition:border-color var(--transition), box-shadow var(--transition);padding:.65rem .75rem;font-size:.95rem}.form-group input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #00878326}.error{color:var(--color-danger);margin:.5rem 0;font-size:.875rem}.btn-primary{background:var(--color-primary-dark);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;margin-top:.75rem;padding:.8rem;font-size:1rem;font-weight:600}.btn-primary:hover{background:var(--color-primary-darker);box-shadow:0 6px 16px #0c57474d}.btn-primary:active{transform:translateY(1px)}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;background:#10182880;justify-content:center;align-items:stretch;animation:.15s modal-overlay-in;display:flex;position:fixed;inset:0}.modal-overlay .modal-content{border-radius:var(--radius-lg);width:90%;max-width:1400px;height:100vh;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;font-size:.95rem;animation:.18s modal-content-in;display:flex;position:relative}@keyframes modal-content-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay .modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.modal-overlay .modal-title{color:var(--color-primary-dark);flex:1;align-items:center;gap:.5rem;margin:0;font-size:1.4rem;font-weight:700;display:flex}.modal-title .seguimiento-badge{font-size:1rem;font-weight:600}.modal-overlay .modal-back{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition);background:0 0;padding:.25rem .6rem;font-size:1.2rem}.modal-overlay .modal-back:hover{color:var(--color-text);background:#f1f3f5}.modal-overlay .modal-close{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);width:34px;height:34px;transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.modal-overlay .modal-close:hover{color:var(--color-text);background:#f1f3f5}.modal-overlay .modal-body{flex:1;padding:1.5rem;overflow-y:auto}.modal-overlay .modal-loading{text-align:center;color:var(--color-text-faint);padding:2rem}.modal-overlay .modal-section{margin-bottom:1.5rem}.modal-overlay .modal-section>h3{color:var(--color-primary-dark);border-bottom:2px solid var(--color-primary);margin:0 0 .85rem;padding-bottom:.4rem;font-size:1.05rem}.modal-overlay .modal-section-header{align-items:center;gap:.5rem;display:flex}.modal-overlay .modal-section-header h3{border:none;margin:0;padding:0}.modal-overlay .modal-link-icon{color:var(--color-primary);cursor:pointer;font-size:1rem;text-decoration:none}.modal-overlay .modal-link-icon:hover{opacity:.7}.modal-overlay .modal-grid{grid-template-columns:1fr 1fr 1fr;gap:.65rem 1.5rem;display:grid}.modal-overlay .modal-field{flex-direction:column;gap:.15rem;display:flex}.modal-overlay .modal-label{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.modal-overlay .modal-field span:last-child{color:var(--color-text);font-size:.95rem}.modal-overlay .modal-field-full{grid-column:1/-1}.modal-overlay .modal-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:80px;color:var(--color-text);resize:vertical;background:#f8f9fa;padding:.6rem;font-family:inherit;font-size:.9rem;line-height:1.45}.modal-overlay .modal-link{color:var(--color-primary);margin-top:.75rem;font-size:.9rem;text-decoration:none;display:inline-block}.modal-overlay .modal-link:hover{text-decoration:underline}.modal-overlay .modal-empty{color:var(--color-text-faint);font-size:.9rem;font-style:italic}.modal-overlay .modal-tabs{flex-wrap:wrap;gap:.3rem;margin-bottom:.85rem;display:flex}.modal-overlay .modal-tab{border:1px solid var(--color-border-strong);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition);background:#fff;border-radius:999px;padding:.35rem .85rem;font-size:.82rem}.modal-overlay .modal-tab:hover{background:#f1f3f5}.modal-overlay .modal-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.modal-overlay .citas-list{flex-direction:column;gap:.6rem;display:flex}.modal-overlay .cita-card{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);overflow:hidden}.modal-overlay .cita-card-header{border-bottom:1px solid var(--color-border);background:#f6f8fa;justify-content:space-between;align-items:center;padding:.55rem .85rem;display:flex}.modal-overlay .cita-date{color:var(--color-text);font-size:.9rem;font-weight:600}.modal-overlay .cita-estado{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:999px;padding:.15rem .6rem;font-size:.78rem;font-weight:600}.modal-overlay .cita-card-body{padding:.6rem .85rem}.modal-overlay .cita-row{gap:.5rem;padding:.15rem 0;font-size:.9rem;display:flex}.modal-overlay .cita-label{color:var(--color-text-muted);min-width:100px;font-weight:600}.modal-overlay .cita-logs{margin-top:.6rem}.modal-overlay .cita-logs-toggle{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;display:flex}.modal-overlay .cita-logs-toggle:hover{background:#f1f3f5;border-color:#c2c8cf}.modal-overlay .cita-log-table{border-collapse:collapse;width:100%;margin-top:.6rem;font-size:.85rem}.modal-overlay .cita-log-table th{text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:#f6f8fa;padding:.45rem .6rem;font-size:.72rem;font-weight:600}.modal-overlay .cita-log-table td{color:var(--color-text);border-bottom:1px solid #eef1f4;padding:.4rem .6rem}.modal-overlay .cita-log-op{white-space:nowrap;border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:600}.modal-overlay .op-create{color:#2e7d32;background:#e8f5e9}.modal-overlay .op-update{color:#1565c0;background:#e3f2fd}.modal-overlay .cita-log-tag{border-radius:var(--radius-sm);background:#f1f3f5;margin:0 .25rem .2rem 0;padding:.12rem .4rem;font-size:.8rem;display:inline-block}.modal-overlay .modal-actions{border:none;padding:0}.modal-overlay .actions-panel{flex-direction:column;gap:.6rem;display:flex}.modal-overlay .actions-list{flex-direction:column;gap:.45rem;display:flex}.modal-overlay .action-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:.55rem 1rem}.modal-overlay .action-item-row{align-items:center;gap:.85rem;display:flex}.modal-overlay .action-type-label{text-transform:capitalize;color:var(--color-primary-dark);font-size:.8rem;font-weight:600}.modal-overlay .action-date{color:var(--color-text);font-size:.8rem}.modal-overlay .action-meta{color:var(--color-text-faint);margin-left:auto;font-size:.75rem}.modal-overlay .action-comment{color:var(--color-text-muted);margin:.35rem 0 0;font-size:.85rem}.modal-overlay .empty-actions,.modal-overlay .actions-loading{color:var(--color-text-faint);margin:0;font-size:.85rem}.modal-overlay .add-action-form{align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.modal-overlay .add-action-form select,.modal-overlay .add-action-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .55rem;font-family:inherit;font-size:.85rem}.modal-overlay .add-action-form input[type=text]{flex:1}.modal-overlay .add-action-form select:focus,.modal-overlay .add-action-form input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #00878321}.modal-overlay .btn-sm{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);border:none;padding:.4rem .85rem;font-size:.85rem;font-weight:500}.modal-overlay .btn-sm:hover{background:#006d6a}@media (width>=769px) and (width<=1024px){.modal-overlay .modal-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.modal-overlay .modal-content{border-radius:0;width:100%;height:100dvh;font-size:.9rem}.modal-overlay .modal-header{padding:.75rem 1rem}.modal-overlay .modal-title{font-size:1.15rem}.modal-overlay .modal-body{padding:1rem}.modal-overlay .modal-grid{grid-template-columns:1fr;gap:.6rem}.modal-overlay .cita-card-header{flex-wrap:wrap;gap:.35rem}.modal-overlay .action-item-row{flex-wrap:wrap;gap:.4rem}.modal-overlay .action-meta{margin-left:0}.modal-overlay .add-action-form{flex-wrap:wrap}.modal-overlay .add-action-form input[type=text]{flex:100%}.modal-overlay .cita-log-table,.modal-overlay .modal-table{white-space:nowrap;display:block;overflow-x:auto}}.modal-overlay .impago-badge{color:#c62828;background:#ffebee;border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:600}.modal-overlay .impago-citas{overflow-x:auto}.modal-overlay .impago-citas .num{text-align:right}.modal-overlay .impago-citas .nowrap{white-space:nowrap}.modal-overlay .impago-deuda{color:#c62828;font-weight:600}.modal-overlay .impago-deuda.is-negativa{color:#2e7d32}.modal-overlay .impago-asunto{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.modal-overlay .impago-citas tfoot td{background:#f8f9fa;border-top:2px solid #e0e0e0}.modal-overlay .impago-motivo-panel .modal-section-header{align-items:center}.modal-overlay .impago-motivo-panel .selector-motivo{width:auto;min-width:150px}.modal-overlay .impago-motivo-pie{color:#6b7280;margin:.45rem 0 0;font-size:.8rem;line-height:1.45}.modal-overlay .impago-comentario{width:100%;font:inherit;resize:vertical;border:1px solid #d6d8dc;border-radius:6px;margin-top:.6rem;padding:.45rem .6rem;font-size:.85rem}.modal-overlay .impago-comentario:focus{outline-offset:1px;border-color:#0000;outline:2px solid #0c5747}.modal-overlay .impago-comentario-pie{color:#6b7280;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:.4rem;font-size:.8rem;line-height:1.45;display:flex}.modal-overlay .impago-guardar{color:#fff;cursor:pointer;background:#0c5747;border:none;border-radius:6px;flex-shrink:0;padding:.35rem .8rem;font-size:.8rem;font-weight:600}.modal-overlay .impago-guardar:disabled{cursor:default;background:#d1d5db}.modal-overlay .impago-historial{margin:0;padding:0;font-size:.82rem;list-style:none}.modal-overlay .impago-historial li{border-bottom:1px solid #f0f0f0;padding:.5rem 0}.modal-overlay .impago-historial li:last-child{border-bottom:none}.modal-overlay .impago-historial-cab{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.modal-overlay .impago-historial-fecha{color:#374151;min-width:150px;font-weight:600}.modal-overlay .impago-historial-actual{color:#fff;text-transform:uppercase;background:#0c5747;border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.68rem;font-weight:700}.modal-overlay .impago-historial-motivo{border-style:solid;border-width:1px;border-radius:999px;padding:.1rem .5rem;font-weight:600}.modal-overlay .impago-historial-quien{color:#9ca3af}.modal-overlay .impago-historial-comentario{color:#4b5563;white-space:pre-wrap;border-left:2px solid #e5e7eb;margin:.35rem 0 0;padding-left:.7rem}.modal-overlay .impago-historial-motivo.es-ninguno{color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.modal-overlay .modal-content.modal-content-estrecho{width:auto;min-width:380px;max-width:460px;height:auto;max-height:90vh}.contacts-page{flex-direction:column;height:100%;display:flex}.filter-row{flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;display:flex}.filter-row:last-child{margin-bottom:0}.contacts-table-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition)}.sortable:hover{background:#eceff2}.data-table tr:last-child td{border-bottom:none}.status-Activo{color:#2e7d32;background:#e8f5e9}.status-Baja{color:#e65100;background:#fff3e0}.status-Eliminado{color:#616161;background:#f5f5f5}.status-active{color:#2e7d32;background:#e8f5e9}.row-actions{align-items:center;gap:.3rem;display:flex}.link-icon-btn{cursor:pointer;color:#008783;background:0 0;border:none;padding:.2rem;font-size:.95rem;text-decoration:none}.link-icon-btn:hover{opacity:.7}.modal-content{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:1400px;height:100vh;display:flex;position:relative;box-shadow:0 8px 30px #0003}.modal-close{cursor:pointer;color:#666;background:0 0;border:none;padding:.25rem .5rem;font-size:1.2rem}.modal-section-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.modal-empty{color:#999;font-size:.9rem;font-style:italic}.modal-table th{text-align:left;color:#555;background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:.5rem .75rem;font-size:.8rem;font-weight:600}.modal-table td{border-bottom:1px solid #e9ecef;padding:.45rem .75rem}.modal-table tr:hover{background:#f5f5f5}@media (width<=768px){.search-input{width:100%}.filter-toggle,.clear-filters-btn{flex:auto;justify-content:center}.filter-field{min-width:100%}.contacts-page{height:auto}.contacts-page .contacts-table-wrap,.contacts-page .table-scroll{flex:none;min-height:0;overflow:visible}.contacts-page .data-table{min-width:0;box-shadow:none;background:0 0}.contacts-page .data-table thead{display:none}.contacts-page .data-table,.contacts-page .data-table tbody,.contacts-page .data-table tr,.contacts-page .data-table td{width:100%;display:block}.contacts-page .data-table tr{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:.6rem;padding:.25rem .85rem}.contacts-page .data-table tr:hover{background:#fff}.contacts-page .data-table td{text-align:right;border-bottom:1px solid #f0f2f4;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.contacts-page .data-table td:last-child{border-bottom:none}.contacts-page .data-table td:empty{display:none}.contacts-page .data-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);text-align:left;flex-shrink:0;font-size:.7rem;font-weight:600}.contacts-page .data-table .row-actions{justify-content:flex-end}.pagination{flex-wrap:wrap;justify-content:center;gap:.5rem}.modal-content{border-radius:0;width:100%;height:100dvh}.modal-header{padding:.75rem 1rem}.modal-title{font-size:1.2rem}.modal-body{padding:1rem}.modal-grid{grid-template-columns:1fr;gap:.6rem}.modal-table{white-space:nowrap;display:block;overflow-x:auto}}.budgets-page{flex-direction:column;height:100%;display:flex}.search-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:220px;transition:border-color var(--transition), box-shadow var(--transition);flex-shrink:0;padding:.5rem .75rem;font-size:.9rem}.search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #00878321}.search-btn{color:#fff;cursor:pointer;background:#008783;border:1px solid #008783;border-radius:4px;padding:.5rem .75rem;font-size:.85rem}.search-btn:hover{background:#006d6a}.filter-toggle{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.85rem;display:flex;position:relative}.filter-toggle:hover{background:#f0f0f0}.export-btn{color:#fff;cursor:pointer;background:#0c5747;border:1px solid #0c5747;border-radius:4px;margin-left:auto;padding:.5rem .75rem;font-size:.85rem}.export-btn:hover{background:#0a4a3c}.filter-dot{background:#efb922;border-radius:50%;width:8px;height:8px;display:inline-block}.clear-filters-btn{color:#e53935;cursor:pointer;background:#fff;border:1px solid #e53935;border-radius:4px;padding:.5rem .75rem;font-size:.85rem}.clear-filters-btn:hover{color:#fff;background:#e53935}.filter-familias{min-width:320px}.checkbox-group{flex-wrap:wrap;gap:.35rem;padding-top:.2rem;display:flex}.chip-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.3rem .6rem;font-size:.8rem;transition:all .15s}.chip-btn:hover{background:#f0f0f0}.chip-btn.active{color:#fff;background:#008783;border-color:#008783}.budgets-table-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.table-scroll{flex:1;overflow:auto}.data-table{border-collapse:collapse;border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-sm);background:#fff;min-width:700px}.data-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);z-index:1;white-space:nowrap;background:#f6f8fa;padding:.7rem .85rem;font-size:.72rem;font-weight:600;position:sticky;top:0}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition)}.data-table th.sortable:hover{background:#eceff2}.data-table td{border-bottom:1px solid #eef1f4;padding:.6rem .85rem;font-size:.85rem}.data-table tbody tr{transition:background var(--transition)}.data-table tr:hover{background:#f0f9f8}.links-cell{white-space:nowrap;text-align:center}.link-btn{background:#fff;border:1px solid #ddd;border-radius:4px;margin:0 .15rem;padding:.2rem .4rem;font-size:.85rem;text-decoration:none;transition:background .15s;display:inline-block}.link-btn:hover{background:#f0f0f0}.expand-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;line-height:1;display:flex}.expand-btn:hover{background:#f0f0f0}.actions-panel{flex-direction:column;gap:.5rem;display:flex}.action-item-row{align-items:center;gap:2.75rem;padding:0 1rem;display:flex}.action-comment{color:#555;margin:.35rem 0 0;padding:0 1rem;font-size:.85rem}.add-action-form{align-items:center;gap:.5rem;display:flex}.status-badge{text-transform:capitalize;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.status-draft{color:#616161;background:#f5f5f5}.status-sent{color:#e65100;background:#fff3e0}.status-accepted{color:#2e7d32;background:#e8f5e9}.status-rejected{color:#c62828;background:#ffebee}.status-expired,.status-archived{color:#9e9e9e;background:#f5f5f5}.page-btn{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .55rem;font-size:.85rem;transition:all .15s}.modal-specialties{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.modal-chip{color:#008783;background:#e0f2f1;border-radius:4px;padding:.2rem .6rem;font-size:.8rem;font-weight:500}.conceptos-toggle{color:#008783;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;margin-top:.75rem;padding:.3rem 0;font-size:.9rem;font-weight:500;display:inline-flex}.conceptos-toggle:hover{text-decoration:underline}.conceptos-panel{margin-top:.5rem}.detalles-field{margin-top:.75rem}.detalles-field .modal-label{margin-bottom:.25rem;display:block}.modal-table{border-collapse:collapse;width:100%;font-size:.9rem}.modal-table th{text-align:left;color:#555;background:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:.4rem .6rem;font-weight:600}.modal-table td{color:#333;border-bottom:1px solid #f0f0f0;padding:.35rem .6rem}@media (width<=768px){.search-input{width:100%}.search-btn,.filter-toggle,.clear-filters-btn{flex:auto;justify-content:center}.export-btn{flex:100%;margin-left:0}.filter-field,.filter-familias{min-width:100%}.budgets-page{height:auto}.budgets-page .budgets-table-wrap,.budgets-page .table-scroll{flex:none;min-height:0;overflow:visible}.budgets-page .data-table{min-width:0;box-shadow:none;background:0 0}.budgets-page .data-table thead{display:none}.budgets-page .data-table,.budgets-page .data-table tbody,.budgets-page .data-table tr,.budgets-page .data-table td{width:100%;display:block}.budgets-page .data-table tr.row-clickable{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:.6rem;padding:.25rem .85rem}.budgets-page .data-table td{text-align:right;border-bottom:1px solid #f0f2f4;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.budgets-page .data-table td:last-child{border-bottom:none}.budgets-page .data-table td[data-label]:empty{display:none}.budgets-page .data-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);text-align:left;flex-shrink:0;font-size:.7rem;font-weight:600}.budgets-page .data-table td.expand-cell:before{content:"Acciones"}.budgets-page .data-table td.links-cell{text-align:right;gap:.5rem}.budgets-page .data-table td.links-cell:before{margin-right:auto}.budgets-page .data-table tr.expanded-row{box-shadow:none;background:0 0;border:none;margin:-.35rem 0 .6rem;padding:0}.budgets-page .data-table tr.expanded-row td{text-align:left;border:none;padding:.75rem;display:block}.budgets-page .data-table tr.expanded-row td:before{content:none}.action-item-row{flex-wrap:wrap;gap:.5rem}.add-action-form{flex-wrap:wrap}.add-action-form input{flex:100%}.pagination{flex-wrap:wrap;justify-content:center;gap:.5rem}.modal-content{border-radius:0;width:100%;height:100dvh;font-size:.9rem}.modal-header{padding:.75rem 1rem}.modal-title{font-size:1.2rem}.modal-body{padding:1rem}.modal-grid{grid-template-columns:1fr;gap:.6rem}.modal-table{white-space:nowrap;display:block;overflow-x:auto}}.budgets-explicacion{color:#6b7280;flex-shrink:0;margin:0 0 .75rem;font-size:.82rem}.net-loss-page{flex-direction:column;height:calc(100vh - 48px);display:flex}.page-header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.page-header h1{color:#0c5747;margin:0;font-size:1.5rem}.header-actions{gap:.5rem;display:flex}.filter-panel{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;flex-shrink:0;margin-bottom:1rem;padding:1rem}.filter-row{flex-wrap:wrap;gap:.75rem;display:flex}.filter-field{flex-direction:column;flex:1;gap:.2rem;min-width:140px;display:flex}.filter-field label{color:#555;text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:600}.filter-field input,.filter-field select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.filter-field input:focus,.filter-field select:focus{border-color:#008783;outline:none}.filter-actions{gap:.5rem;margin-top:.75rem;display:flex}.status-tabs{flex-wrap:wrap;flex-shrink:0;gap:.25rem;margin-bottom:.75rem;display:flex}.status-tab{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .85rem;font-size:.8rem;transition:all .15s}.status-tab:hover{background:#f0f0f0}.status-tab.active{color:#fff;background:#008783;border-color:#008783}.table-container{background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex:1;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th{color:#fff;text-align:left;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:1;background:#0c5747;padding:.6rem .75rem;font-weight:600;position:sticky;top:0}.data-table th:hover{background:#0a4a3c}.data-table td{color:#333;border-bottom:1px solid #f0f0f0;padding:.5rem .75rem}.data-table tbody tr:hover{background:#f8f9fa}.data-table tbody tr.row-recitada{background:#e0f2f1}.data-table tbody tr.row-recitada:hover{background:#b2dfdb}.estado-badge{border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.estado-pendiente{color:#1565c0;background:#e3f2fd}.estado-anulada{color:#c62828;background:#ffebee}.estado-no-acude{color:#bf360c;background:#fbe9e7}.estado-reagendada{color:#7b1fa2;background:#f3e5f5}.estado-realizada{color:#2e7d32;background:#e8f5e9}.estado-espera{color:#00838f;background:#e0f7fa}.asunto-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.empty-state{text-align:center;color:#999;padding:2rem}.expand-btn{cursor:pointer;color:#555;background:0 0;border:1px solid #ddd;border-radius:3px;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;display:flex}.expand-btn:hover{background:#f0f0f0;border-color:#bbb}.expanded-row td{background:#fafafa;padding:0}.actions-panel{border-top:1px solid #e0e0e0;padding:.75rem 1rem}.actions-loading,.empty-actions{color:#999;margin:0;font-size:.85rem}.actions-list{flex-direction:column;gap:.4rem;display:flex}.action-item{background:#fff;border:1px solid #e9ecef;border-radius:4px;padding:.5rem 1rem}.action-item-row{align-items:center;gap:.75rem;display:flex}.action-type-label{text-transform:capitalize;color:#0c5747;font-size:.8rem;font-weight:600}.action-date{color:#333;font-size:.8rem}.action-meta{color:#999;margin-left:auto;font-size:.75rem}.action-comment{color:#555;margin:.35rem 0 0;font-size:.85rem}.add-action-form{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.add-action-form select,.add-action-form input{border:1px solid #ddd;border-radius:4px;padding:.35rem .5rem;font-size:.85rem}.add-action-form input{flex:1}.btn-sm{color:#fff;cursor:pointer;background:#008783;border:none;border-radius:4px;padding:.35rem .75rem;font-size:.85rem}.btn-sm:hover{background:#006d6a}.link-btn{opacity:.7;font-size:1rem;text-decoration:none;transition:opacity .15s}.link-btn:hover{opacity:1}.row-clickable{cursor:pointer}.modal-content{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:1400px;height:100vh;font-size:.95rem;display:flex;position:relative;box-shadow:0 8px 30px #0003}.modal-header{border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}.modal-title{color:#0c5747;flex:1;margin:0;font-size:1.5rem}.modal-back{cursor:pointer;color:#555;background:0 0;border:1px solid #ccc;border-radius:4px;padding:.25rem .6rem;font-size:1.2rem;transition:all .15s}.modal-back:hover{color:#333;background:#f0f0f0}.modal-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.5rem;display:flex}.modal-close:hover{background:#f0f0f0}.modal-loading{text-align:center;color:#999;padding:2rem}.modal-section{margin-bottom:1.25rem}.modal-section h3{color:#0c5747;border-bottom:2px solid #008783;margin:0 0 .75rem;padding-bottom:.35rem;font-size:1.1rem}.modal-grid{grid-template-columns:1fr 1fr 1fr;gap:.6rem 1.5rem;display:grid}.modal-field{flex-direction:column;gap:.15rem;display:flex}.modal-label{color:#888;font-size:.8rem;font-weight:500}.modal-field span:last-child{color:#333;font-size:.95rem}.modal-link{color:#008783;margin-top:.75rem;font-size:.9rem;text-decoration:none;display:inline-block}.modal-section-header{align-items:center;gap:.5rem;display:flex}.modal-section-header h3{margin:0}.modal-link-icon{color:#008783;cursor:pointer;font-size:1rem;text-decoration:none}.modal-link-icon:hover{opacity:.7}.modal-field-full{grid-column:1/-1}.modal-textarea{color:#333;resize:vertical;background:#f9f9f9;border:1px solid #ddd;border-radius:4px;width:100%;min-height:80px;padding:.5rem;font-size:.9rem;line-height:1.4}.modal-link:hover{text-decoration:underline}.modal-empty{color:#999;font-size:.85rem}.citas-list{flex-direction:column;gap:.5rem;display:flex}.cita-card{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.cita-card-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.cita-date{color:#333;font-size:.9rem;font-weight:600}.cita-header-right{align-items:center;gap:.5rem;display:flex}.cita-estado{border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:500}.cita-card-body{padding:.5rem .75rem}.cita-row{gap:.5rem;padding:.15rem 0;font-size:.9rem;display:flex}.cita-label{color:#666;min-width:100px;font-weight:500}.cita-logs{margin-top:.5rem}.cita-logs-toggle{color:#555;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.85rem;display:flex}.cita-logs-toggle:hover{background:#f0f0f0;border-color:#bbb}.cita-log-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.85rem}.cita-log-table th{text-align:left;color:#555;background:#f5f5f5;border-bottom:1px solid #e0e0e0;padding:.4rem .6rem;font-weight:600}.cita-log-table td{color:#333;border-bottom:1px solid #f0f0f0;padding:.35rem .6rem}.cita-log-op{white-space:nowrap;border-radius:3px;padding:.1rem .4rem;font-size:.75rem;font-weight:600}.op-create{color:#2e7d32;background:#e8f5e9}.op-update{color:#1565c0;background:#e3f2fd}.cita-log-tag{background:#f5f5f5;border-radius:3px;margin-right:.25rem;padding:.1rem .35rem;font-size:.8rem;display:inline-block}.modal-tabs{flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem;display:flex}.modal-tab{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .85rem;font-size:.8rem;transition:all .15s}.modal-tab:hover{background:#f0f0f0}.modal-tab.active{color:#fff;background:#008783;border-color:#008783}.modal-actions{border:none;padding:0}@media (width<=768px){.net-loss-page{height:auto}.net-loss-page .table-container{background:0 0;border:none;flex:none;overflow:visible}.net-loss-page .data-table{min-width:0;font-size:.85rem}.net-loss-page .data-table thead{display:none}.net-loss-page .data-table,.net-loss-page .data-table tbody,.net-loss-page .data-table tr,.net-loss-page .data-table td{width:100%;display:block}.net-loss-page .data-table tr.row-clickable{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:.6rem;padding:.25rem .85rem}.net-loss-page .data-table tr.row-recitada{background:#e0f2f1}.net-loss-page .data-table td{text-align:right;border-bottom:1px solid #f0f2f4;justify-content:space-between;align-items:center;gap:1rem;padding:.45rem 0;display:flex}.net-loss-page .data-table td:last-child{border-bottom:none}.net-loss-page .data-table td[data-label]:empty{display:none}.net-loss-page .data-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);text-align:left;flex-shrink:0;font-size:.7rem;font-weight:600}.net-loss-page .data-table td.expand-cell:before{content:"Acciones"}.net-loss-page .data-table tr.expanded-row{box-shadow:none;background:0 0;border:none;margin:-.35rem 0 .6rem;padding:0}.net-loss-page .data-table tr.expanded-row td{text-align:left;border:none;padding:0;display:block}.net-loss-page .data-table tr.expanded-row td:before{content:none}.page-header{flex-wrap:wrap;gap:.5rem}.header-actions{flex:100%}.header-actions .btn-primary,.header-actions .btn-secondary{flex:auto}.filter-field{min-width:100%}.action-item-row,.add-action-form{flex-wrap:wrap;gap:.5rem}.add-action-form input{flex:100%}.cita-card-header{flex-wrap:wrap;gap:.35rem}.pagination{flex-wrap:wrap;justify-content:center;gap:.5rem}.modal-content{border-radius:0;width:100%;height:100dvh;font-size:.9rem}.modal-header{padding:.75rem 1rem}.modal-title{font-size:1.2rem}.modal-body{padding:1rem}.modal-grid{grid-template-columns:1fr;gap:.6rem}.cita-log-table{white-space:nowrap;display:block;overflow-x:auto}}.net-loss-calculo{color:#6b7280;white-space:nowrap;align-items:center;gap:.6rem;margin-left:auto;font-size:.78rem;display:flex}.net-loss-refrescar{color:#0c5747;cursor:pointer;background:#fff;border:1px solid #b6d4cf;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.78rem}.net-loss-refrescar:hover:not(:disabled){background:#e6f2f0}.net-loss-refrescar:disabled{opacity:.6;cursor:default}.accion-hecha{color:#37474f;white-space:nowrap;background:#eef2f6;border-radius:999px;padding:.12rem .5rem;font-size:.75rem;display:inline-block}.accion-nueva-btn{color:#0c5747;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #b6d4cf;border-radius:6px;padding:3px 9px;font-family:inherit;font-size:.75rem}.accion-nueva-btn:hover{background:#e6f2f0}.celda-kokuai{text-align:center}.kokuai-si{color:#008300;font-size:.95rem;font-weight:700}.accion-nueva{flex-direction:column;gap:.9rem;min-width:320px;max-width:420px;display:flex}.accion-nueva-paciente{color:#1f2937;margin:0;font-size:.95rem;font-weight:600}.accion-nueva-error{color:#b42318;background:#fdeaea;border-radius:4px;margin:0;padding:.45rem .7rem;font-size:.82rem}.accion-nueva-campo{flex-direction:column;gap:.3rem;display:flex}.accion-nueva-campo>span{color:#555;font-size:.8rem;font-weight:500}.accion-nueva-campo select,.accion-nueva-campo textarea{box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem;font-family:inherit;font-size:.875rem}.accion-nueva-campo select:focus,.accion-nueva-campo textarea:focus{border-color:#008783;outline:none}.accion-nueva-campo textarea{resize:vertical}.accion-nueva-botones{justify-content:flex-end;gap:.5rem;margin-top:.2rem;display:flex}.accion-nueva-botones button{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem}.accion-nueva-guardar{color:#fff;background:#008783}.accion-nueva-guardar:hover:not(:disabled){background:#006d6a}.accion-nueva-cancelar{color:#333;background:#e0e0e0}.accion-nueva-cancelar:hover:not(:disabled){background:#d0d0d0}.accion-nueva-botones button:disabled{opacity:.6;cursor:not-allowed}.opg-page{flex-direction:column;height:100%;display:flex}.opg-page .opg-table{min-width:1000px}.opg-page .opg-table td{vertical-align:top}.opg-page .nowrap{white-space:nowrap}.opg-page .num{text-align:right}.opg-page .opg-table td:nth-child(3),.opg-page .opg-table td:nth-child(4){text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.opg-page .is-anulada td{color:#9aa3ad;-webkit-text-decoration:line-through #d7dbe0;text-decoration:line-through #d7dbe0}.opg-page .opg-explicacion{color:#6b7280;flex-shrink:0;margin:0 0 .75rem;font-size:.82rem}.opg-page .opg-error{color:#c62828;background:#ffebee;border-radius:6px;margin:0 0 .75rem;padding:.6rem .8rem;font-size:.85rem}.opg-page .pagination{flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.opg-page .opg-total{color:#6b7280;font-size:.82rem}.opg-page .row-actions{white-space:nowrap;text-align:center}.opg-page .link-btn{opacity:.75;font-size:1rem;text-decoration:none}.opg-page .link-btn:hover{opacity:1}.selector-motivo{cursor:pointer;background:#fff;border:1px solid #d6d8dc;border-radius:6px;width:100%;min-width:110px;padding:3px 6px;font-size:.78rem;font-weight:600}.selector-motivo.es-ninguno{color:#9ca3af;font-weight:500}.selector-motivo:disabled{opacity:.6;cursor:progress}.selector-motivo:focus{outline-offset:1px;outline:2px solid #0c5747}.impagos-page{flex-direction:column;height:100%;display:flex}.impagos-page .impagos-table{min-width:1250px}.impagos-page .nowrap{white-space:nowrap}.impagos-page .num{text-align:right}.impagos-resumen{color:#4b5563;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.6rem 1.5rem;margin-bottom:.75rem;padding:.7rem .9rem;font-size:.85rem;display:flex}.impagos-cifra strong{color:#0c5747;font-size:1.05rem}.impagos-deuda strong{color:#c62828}.impagos-calculo{color:#6b7280;align-items:center;gap:.6rem;margin-left:auto;font-size:.78rem;display:flex}.impagos-refrescar{color:#0c5747;cursor:pointer;background:#fff;border:1px solid #b6d4cf;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.78rem}.impagos-refrescar:hover:not(:disabled){background:#e6f2f0}.impagos-refrescar:disabled{opacity:.6;cursor:default}.impagos-page .impagos-deuda-celda{color:#c62828;font-weight:600}.impagos-page .impagos-deuda-celda.is-negativa{color:#2e7d32}.impagos-page .impagos-table td:nth-child(3){text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.impagos-page .impagos-error{color:#c62828;background:#ffebee;border-radius:6px;margin:0 0 .75rem;padding:.6rem .8rem;font-size:.85rem}.impagos-page .pagination{flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding-top:.75rem;display:flex}.impagos-page .impagos-total{color:#6b7280;font-size:.82rem}.impagos-pendientes strong{color:#b45309}.impagos-page .impagos-motivo-celda{width:140px;padding-top:4px;padding-bottom:4px}.impagos-page .impagos-comentario-marca{cursor:help;margin-left:.3rem;font-size:.75rem}.impagos-page .impagos-accion{border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.impagos-page .impagos-sin-accion,.impagos-page .impagos-sin-motivo{color:#c8ccd2;cursor:help}@keyframes impagos-tooltip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.impagos-tooltip{z-index:1000;pointer-events:none;background:#fff;border:1px solid #e0e0e0;border-top:3px solid #0c5747;border-radius:8px;width:300px;padding:.7rem .85rem;animation:.12s impagos-tooltip-in;position:fixed;box-shadow:0 8px 24px #00000024}.impagos-tooltip .itt-paciente{color:#1f2937;font-size:.92rem;font-weight:700;line-height:1.3}.impagos-tooltip .itt-sub{color:#6b7280;margin-bottom:.45rem;font-size:.75rem}.impagos-tooltip .itt-accion{margin-bottom:.5rem}.impagos-tooltip .itt-grid{color:#374151;grid-template-columns:auto 1fr;gap:.15rem .6rem;font-size:.78rem;display:grid}.impagos-tooltip .itt-grid>span:nth-child(2n){text-align:right}.impagos-tooltip .itt-label{color:#9ca3af}.impagos-tooltip .itt-deuda{color:#c62828;font-weight:700}.impagos-tooltip .itt-citas{border-top:1px solid #f0f0f0;margin-top:.5rem;padding-top:.45rem;font-size:.75rem}.impagos-tooltip .itt-cita{color:#4b5563;align-items:baseline;gap:.4rem;padding:.1rem 0;display:flex}.impagos-tooltip .itt-cita-fecha{color:#6b7280;white-space:nowrap}.impagos-tooltip .itt-cita-asunto{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.impagos-tooltip .itt-cita-deuda{white-space:nowrap;font-weight:600}.impagos-tooltip .itt-mas{color:#9ca3af;padding-top:.15rem}.impagos-tooltip .itt-motivo{color:#374151;border-top:1px solid #f0f0f0;margin-top:.5rem;padding-top:.45rem;font-size:.75rem}.impagos-tooltip .itt-comentario{color:#6b7280;margin-top:.1rem;display:block}.produccion-page{flex-direction:column;height:100%;padding:1.25rem 1.5rem;display:flex;overflow:hidden}.produccion-page .page-header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.produccion-page .page-header h1{color:#0c5747;margin:0;font-size:1.5rem}.produccion-explicacion{color:#6b7280;flex-shrink:0;align-items:center;gap:.6rem;margin:0 0 .75rem;font-size:.82rem;display:flex}.produccion-calculo{white-space:nowrap;align-items:center;gap:.6rem;margin-left:auto;display:flex}.produccion-refrescar{color:#0c5747;cursor:pointer;background:#fff;border:1px solid #b6d4cf;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.78rem}.produccion-refrescar:hover:not(:disabled){background:#e6f2f0}.produccion-refrescar:disabled{opacity:.6;cursor:default}.produccion-error{color:#b42318;background:#fdeaea;border-radius:6px;margin:0 0 .6rem;padding:.5rem .75rem;font-size:.85rem}.produccion-page .table-scroll{border:1px solid #e0e0e0;border-radius:6px;flex:1;overflow:auto}.produccion-page .data-table{border-collapse:collapse;width:100%;font-size:.82rem}.produccion-page .data-table th{z-index:1;text-align:left;color:#374151;white-space:nowrap;background:#f8f9fa;border-bottom:1px solid #e0e0e0;padding:.5rem .6rem;font-weight:600;position:sticky;top:0}.produccion-page .data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.produccion-page .data-table th.sortable:hover{color:#0c5747}.produccion-page .data-table td{color:#374151;border-bottom:1px solid #f0f0f0;padding:.45rem .6rem}.produccion-page .data-table tbody tr:hover{background:#fafafa}.produccion-page .data-table tbody tr.row-clickable{cursor:pointer}.produccion-page .nowrap{white-space:nowrap}.produccion-page .num{text-align:right}.produccion-page .produccion-servicio{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.produccion-page .produccion-pendiente-col{color:#c8ccd2;text-align:center}.produccion-page .row-actions{white-space:nowrap}.produccion-page .link-btn{opacity:.75;font-size:1rem;text-decoration:none}.produccion-page .link-btn:hover{opacity:1}.produccion-page .empty-state{text-align:center;color:#9ca3af;padding:2rem}.produccion-page .pagination{color:#6b7280;flex-shrink:0;justify-content:space-between;align-items:center;padding-top:.6rem;font-size:.82rem;display:flex}.produccion-page .pagination-controls{align-items:center;gap:.5rem;display:flex}.produccion-page .page-btn{cursor:pointer;background:#fff;border:1px solid #d6d8dc;border-radius:6px;padding:.3rem .7rem;font-size:.8rem}.produccion-page .page-btn:disabled{opacity:.5;cursor:default}.produccion-page .page-current{color:#374151}.produccion-page .produccion-motivo-celda{width:150px;padding-top:4px;padding-bottom:4px}.produccion-page .produccion-comentario-celda{width:220px}.produccion-page .produccion-comentario{width:100%;font:inherit;background:0 0;border:1px solid #e5e7eb;border-radius:6px;padding:3px 6px;font-size:.78rem}.produccion-page .produccion-comentario:hover{background:#fff;border-color:#d6d8dc}.produccion-page .produccion-comentario:focus{outline-offset:1px;background:#fff;border-color:#0000;outline:2px solid #0c5747}.produccion-page .search-input{border:1px solid #ccc;border-radius:4px;flex-shrink:0;width:220px;padding:.5rem .75rem;font-size:.9rem}.produccion-page .search-input:focus{border-color:#008783;outline:none}.produccion-page .search-btn{color:#fff;cursor:pointer;background:#008783;border:1px solid #008783;border-radius:4px;padding:.5rem .75rem;font-size:.85rem}.produccion-page .filter-toggle,.produccion-page .clear-filters-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.85rem;display:flex;position:relative}.produccion-page .filter-toggle:hover,.produccion-page .clear-filters-btn:hover{background:#f0f0f0}.produccion-page .filter-dot{background:#008783;border-radius:50%;width:7px;height:7px}.produccion-page .export-btn{color:#fff;cursor:pointer;background:#0c5747;border:1px solid #0c5747;border-radius:4px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.produccion-page .export-btn:disabled{opacity:.6;cursor:default}.produccion-page .filter-panel{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;flex-shrink:0;margin-bottom:1rem;padding:1rem}.produccion-page .filter-row{flex-wrap:wrap;gap:.75rem;display:flex}.produccion-page .filter-row+.filter-row{margin-top:.75rem}.produccion-page .filter-field{flex-direction:column;flex:1;gap:.2rem;min-width:140px;display:flex}.produccion-page .filter-field label{color:#555;text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:600}.produccion-page .filter-field input,.produccion-page .filter-field select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.produccion-page .filter-field input:focus,.produccion-page .filter-field select:focus{border-color:#008783;outline:none}.produccion-page .filter-row .search-btn,.produccion-page .filter-row .clear-filters-btn{flex:none;align-self:flex-start}.produccion-page .filter-especialidades{min-width:320px}.produccion-page .checkbox-group{flex-wrap:wrap;gap:.35rem;padding-top:.2rem;display:flex}.produccion-page .chip-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.3rem .6rem;font-size:.8rem;transition:all .15s}.produccion-page .chip-btn:hover{background:#f0f0f0}.produccion-page .chip-btn.active{color:#fff;background:#008783;border-color:#008783}.tasks-page{max-width:1200px}.page-header .filter-group{flex:1;align-items:center;gap:.5rem;display:flex}.filter-group select{border:1px solid #ddd;border-radius:4px;padding:.5rem;font-size:.875rem}.filter-group .search-input{flex:1;max-width:300px}.task-list{flex-direction:column;gap:.75rem;display:flex}.task-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);background:#fff;border-left:4px solid #ddd;padding:1rem}.task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.task-card.pending{border-left-color:#90a4ae}.task-card.in_progress{border-left-color:#008783}.task-card.completed{border-left-color:#80b296}.task-card.cancelled{border-left-color:#ef5350}.task-card.blocked{border-left-color:#f44336}.task-header{justify-content:space-between;align-items:flex-start;display:flex}.task-title-row{align-items:center;gap:.5rem;display:flex}.task-title-row h3{margin:0;font-size:1rem}.task-actions{gap:.25rem;display:flex}.priority-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:600}.priority-low{color:#2e7d32;background:#e8f5e9}.priority-medium{color:#e65100;background:#fff3e0}.priority-high{color:#c62828;background:#ffebee}.priority-critical{color:#880e4f;background:#fce4ec}.status-pending{color:#546e7a;background:#eceff1}.status-in-progress{color:#00695c;background:#e0f2f1}.status-completed{color:#2e7d32;background:#e8f5e9}.status-cancelled{color:#c62828;background:#ffebee}.status-blocked{color:#880e4f;background:#fce4ec}.task-meta{color:#666;gap:1rem;margin-top:.5rem;font-size:.8rem;display:flex}.task-desc{color:#555;margin-top:.5rem;font-size:.875rem}.task-actions-list{border-top:1px solid #eee;margin-top:.75rem;padding-top:.75rem}.task-actions-list h4{color:#333;margin:0 0 .5rem;font-size:.875rem}.action-item{border-bottom:1px solid #f5f5f5;padding:.5rem 0}.action-item:last-child{border-bottom:none}.action-item p{margin:0;font-size:.875rem}.action-meta{color:#999;font-size:.75rem}.task-actions-section{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.task-actions-section h3{margin:0 0 .5rem;font-size:1rem}.action-input-row{gap:.5rem;display:flex}.action-input-row input{border:1px solid #ddd;border-radius:4px;flex:1;padding:.5rem}.existing-actions{margin-top:1rem}.existing-actions h4{color:#555;margin:0 0 .5rem;font-size:.875rem}.modal-lg{max-width:800px}@media (width<=768px){.page-header .filter-group{flex-wrap:wrap}.filter-group .search-input{flex:100%;max-width:none}.task-header,.task-meta{flex-wrap:wrap;gap:.5rem}.action-input-row{flex-wrap:wrap}.action-input-row input{flex:100%}}.agenda-page{background:var(--color-surface);border-radius:var(--radius-lg);height:calc(100vh - 48px);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);flex-direction:column;display:flex;overflow:hidden}.agenda-toolbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.agenda-toolbar-left{align-items:center;gap:.5rem;display:flex}.center-select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:200px;transition:border-color var(--transition), box-shadow var(--transition);background:#fff;padding:.45rem .65rem;font-size:.875rem}.center-select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #00878321}.today-btn{border:1px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), color var(--transition);background:#fff;padding:.45rem .85rem;font-size:.85rem;font-weight:600}.today-btn:hover:not(:disabled){background:var(--color-primary);color:#fff}.today-btn:disabled{opacity:.45;cursor:default}.nav-btn,.refresh-btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--color-text);transition:background var(--transition), border-color var(--transition), color var(--transition);background:#fff;justify-content:center;align-items:center;display:flex}.nav-btn{font-size:1.25rem}.refresh-btn{color:var(--color-primary);margin-left:.25rem;font-size:1.05rem}.nav-btn:hover{background:#f1f3f5;border-color:#c2c8cf}.refresh-btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.current-date-label{color:var(--color-text);margin-left:.75rem;font-size:1rem;font-weight:600}.week-strip{border-bottom:1px solid var(--color-border);background:#fafbfc;gap:.25rem;padding:.25rem;display:flex}.week-day{cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:.45rem 0;display:flex}.week-day:hover{background:var(--color-primary-soft)}.week-day.selected{background:var(--color-primary-dark);color:#fff;box-shadow:var(--shadow-sm)}.week-day.selected:hover{background:var(--color-primary-dark)}.wd-name{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.68rem;font-weight:600}.week-day.selected .wd-name{color:#ffffffd9}.wd-num{justify-content:center;align-items:center;width:28px;height:28px;font-size:1.15rem;font-weight:600;display:flex}.week-day.today .wd-num{background:var(--color-accent);color:#fff;border-radius:50%}.week-day.selected.today .wd-num{color:var(--color-primary-dark);background:#fff}.estado-filter-bar{border-bottom:1px solid var(--color-border);background:#fff;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem;padding:.55rem 1rem;display:flex}.estado-chip{border:1px solid var(--color-border-strong);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text-muted);background:#fafafa;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.estado-chip:hover{background:#eef1f3;border-color:#c2c8cf}.estado-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 1px 4px #0087834d}.estado-chip input[type=checkbox]{display:none}.outlook-grid{flex:1;overflow:hidden}.outlook-scroll-wrapper{height:100%;position:relative;overflow:auto}.outlook-headers-row{background:var(--color-primary-dark);z-index:5;width:fit-content;min-width:100%;height:40px;display:flex;position:sticky;top:0}.time-gutter-header{background:var(--color-primary-dark);z-index:6;border-right:1px solid #ffffff26;flex-shrink:0;width:60px;min-width:60px;position:sticky;left:0}.agenda-headers-scroll{flex:1;display:flex}.agenda-col-header{letter-spacing:.01em;color:#fff;text-align:center;border-right:1px solid #ffffff1f;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:1px;padding:4px 6px;font-size:.78rem;font-weight:600;display:flex;overflow:hidden}.agenda-col-name{text-overflow:ellipsis;white-space:nowrap;width:0;min-width:100%;overflow:hidden}.agenda-col-usuario{opacity:.8;text-overflow:ellipsis;white-space:nowrap;width:0;min-width:100%;font-size:.68rem;font-weight:400;overflow:hidden}.agenda-col-header:last-child{border-right:none}.outlook-body{width:fit-content;min-width:100%;display:flex}.time-gutter{border-right:1px solid var(--color-border);z-index:2;background:var(--color-surface);flex-shrink:0;width:60px;min-width:60px;position:sticky;left:0}.time-slot-label{color:var(--color-text-faint);border-bottom:1px solid var(--color-border);box-sizing:border-box;justify-content:flex-end;align-items:flex-start;padding-top:4px;padding-right:10px;font-size:.72rem;font-weight:500;display:flex}.agenda-columns-body{background-image:repeating-linear-gradient(#0000 0 95px,#f1f3f5 95px 96px,#0000 96px 192px);flex:1;min-width:0;position:relative}.grid-lines{pointer-events:none;z-index:0;position:absolute;top:0;left:0;right:0}.grid-line{border-bottom:1px solid var(--color-border)}.agenda-col-positions{z-index:1;display:flex;position:relative}.agenda-col{border-right:1px solid #eef1f4;flex:none;min-height:100%;position:relative}.agenda-col:last-child{border-right:none}.cita-block{border-radius:var(--radius-sm);border:1px solid #0000001a;border-left:4px solid var(--accent,var(--color-primary));cursor:pointer;z-index:1;box-shadow:var(--shadow-xs);background-clip:padding-box;flex-direction:column;gap:1px;padding:4px 8px;font-size:.72rem;line-height:1.3;transition:box-shadow .15s,transform .1s;display:flex;position:absolute;overflow:hidden}.cita-block:hover{box-shadow:var(--shadow-md);z-index:10;transform:translateY(-1px)}.cita-block.non-normal{opacity:.82;background-image:repeating-linear-gradient(45deg,#00000008 0 6px,#0000 6px 12px)}.cita-block.bloqueo{z-index:0;cursor:default;box-shadow:none}.cita-block.bloqueo:hover{box-shadow:none;z-index:0;transform:none}.cita-time{color:var(--color-text);white-space:nowrap;font-size:.68rem;font-weight:700}.cita-subject{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600;overflow:hidden}.cita-status-tag{color:var(--accent,var(--color-text-muted));text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;font-weight:600;overflow:hidden}.cita-tooltip{z-index:1000;border:1px solid var(--color-border);border-top:3px solid var(--accent,var(--color-primary));border-radius:var(--radius-md);width:270px;box-shadow:var(--shadow-lg);pointer-events:none;background:#fff;padding:.75rem .9rem;animation:.12s tooltip-in;position:fixed}@keyframes tooltip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tt-subject{color:var(--color-text);margin-bottom:.45rem;font-size:.95rem;font-weight:700;line-height:1.3}.tt-estado-row{border-bottom:1px solid var(--color-border);align-items:center;gap:.45rem;margin-bottom:.55rem;padding-bottom:.55rem;display:flex}.tt-dot{background:var(--accent,var(--color-primary));border-radius:50%;flex-shrink:0;width:10px;height:10px}.tt-estado{color:var(--accent,var(--color-text));font-size:.85rem;font-weight:600}.tt-grid{color:var(--color-text);grid-template-columns:auto 1fr;gap:.3rem .85rem;font-size:.84rem;display:grid}.tt-label{color:var(--color-text-faint);font-weight:500}@media (width<=768px){.agenda-page{height:100%}.agenda-toolbar{flex-wrap:wrap;gap:.5rem;padding:.55rem .65rem}.agenda-toolbar-left{flex-wrap:wrap;gap:.4rem}.center-select{flex:100%;min-width:0}.current-date-label{margin-left:.25rem;font-size:.9rem}.estado-filter-bar{padding:.5rem .65rem}.agenda-col-header,.agenda-col{min-width:116px}}.analytics-aviso{color:#6b5a3a;background:#fffaf0;border-left:3px solid #eda100;border-radius:0 4px 4px 0;margin:0 0 1.1rem;padding:.5rem .75rem;font-size:.8rem;line-height:1.45}.produccion-parada{border-top:1px solid #e5e8eb;margin-top:2rem;padding-top:1.5rem}.produccion-parada .motivos-tabla{max-width:460px;margin-bottom:1.1rem}.chart-legend .legend-item{color:#5a6672;align-items:center;gap:.35rem;margin-right:.9rem;font-size:.78rem;display:inline-flex}.chart-legend .legend-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.analytics-page{width:100%}.analytics-tabs{border-bottom:2px solid #e0e0e0;gap:.5rem;margin-bottom:1.5rem;display:flex}.analytics-tabs .tab-btn{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.6rem 1.2rem;font-size:.9rem;transition:all .15s}.analytics-tabs .tab-btn:hover{color:#008783}.analytics-tabs .tab-btn.active{color:#008783;border-bottom-color:#008783;font-weight:600}.analytics-filters{align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.analytics-filters label{flex-direction:column;gap:.25rem;display:flex}.analytics-filters label span{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.analytics-filters select{border-radius:var(--radius-sm);background:#fff;border:1px solid #ddd;padding:.4rem .6rem;font-size:.88rem}.month-chips{flex-wrap:wrap;gap:.3rem;display:flex}.month-chip{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:999px;padding:.25rem .5rem;font-size:.75rem;transition:all .15s}.month-chip:hover{color:#008783;border-color:#008783}.month-chip.active{color:#fff;background:#008783;border-color:#008783}.month-chip.select-all{background:#f5f5f5;border-style:dashed}.month-chip.select-all:hover{background:#e0e0e0}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.6rem;margin-bottom:1.25rem;display:grid}.summary-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);background:#fff;border-top:3px solid;flex-direction:column;padding:.65rem .8rem;display:flex}.summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-value{color:var(--color-primary-dark);letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.summary-label{color:var(--color-text-muted);margin-top:.15rem;font-size:.7rem}.clinic-filter{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1.25rem;display:flex}.clinic-filter-label{color:var(--color-text-muted);margin-right:.25rem;font-size:.8rem;font-weight:600}.chart-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.chart-title{color:var(--color-primary-dark);margin:0 0 .2rem;font-size:1rem}.chart-sub{color:var(--color-text-muted);margin:0 0 .9rem;font-size:.8rem;line-height:1.4}.chart-scroll{overflow-x:auto}.composition-bar{border-radius:var(--radius-sm);background:0 0;gap:2px;width:100%;height:26px;display:flex;overflow:hidden}.composition-seg{flex-shrink:0;height:100%}.composition-legend{flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:.7rem;display:flex}.composition-item{color:var(--color-text);align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.composition-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.composition-item.is-cero{opacity:.5}.analytics-table-wrapper{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow-x:auto}.analytics-table{border-collapse:collapse;width:100%;font-size:.88rem}.analytics-table th{background:var(--color-primary);color:#fff;text-align:left;white-space:nowrap;padding:.6rem .8rem;font-weight:600;position:sticky;top:0}.analytics-table th.num{text-align:right}.analytics-table td{border-bottom:1px solid #f0f0f0;padding:.55rem .8rem}.analytics-table td.num{text-align:right;font-variant-numeric:tabular-nums}.analytics-table td.pct{color:#888;font-size:.82rem}.analytics-table td.clinic-name{font-weight:500}.analytics-table tbody tr:hover{background:#f8faf8}.analytics-table tfoot td{border-top:2px solid var(--color-primary);background:#f8faf8}@media (width<=768px){.analytics-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.analytics-tabs .tab-btn{white-space:nowrap;padding:.6rem .9rem}.analytics-filters{flex-wrap:wrap;align-items:stretch;gap:.75rem}.analytics-filters label,.analytics-filters select{flex:100%}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.summary-value{font-size:1.35rem}}.report-meta{color:var(--color-text-muted,#6b7280);margin:4px 0 12px;font-size:.85rem}.report-sections{flex-wrap:wrap;gap:4px;margin-bottom:8px}.report-desc{max-width:820px;margin:0 0 12px}.report-view-toggle{gap:8px;margin-bottom:14px;display:flex}.chart-legend{color:var(--color-text-muted,#6b7280);gap:16px;margin:2px 0 10px;font-size:.82rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.analytics-table{font-size:.72rem}.analytics-table th,.analytics-table td{padding:3px 6px}.analytics-table td.pct{font-size:.72rem}.messaging-page{flex-direction:column;height:calc(100vh - 48px);display:flex}.messaging-page .page-header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.messaging-page .page-header h1{color:#0c5747;margin:0;font-size:1.5rem}.unread-total{color:#fff;background:#008783;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:600}.messaging-filters{gap:.5rem;margin-left:auto;display:flex}.messaging-filters select{background:#fff;border:1px solid #ccc;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.messaging-body{background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex:1;grid-template-columns:340px 1fr;min-height:0;display:grid;overflow:hidden}.canal-badge{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.conversation-list{background:#fafbfb;border-right:1px solid #e0e0e0;flex-direction:column;display:flex;overflow-y:auto}.conversation-search{z-index:1;background:#fafbfb;border-bottom:1px solid #eee;padding:.6rem;position:sticky;top:0}.conversation-search input{box-sizing:border-box;border:1px solid #ddd;border-radius:6px;width:100%;padding:.45rem .6rem;font-size:.85rem}.conversation-search input:focus{border-color:#008783;outline:none}.conversation-item{text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:.6rem;width:100%;padding:.7rem .75rem;display:flex}.conversation-item:hover{background:#f2f5f5}.conversation-item.active{background:#e6f3f2;box-shadow:inset 3px 0 #008783}.conversation-item-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.conversation-item-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.conversation-nombre{color:#222;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.conversation-hora{color:#999;flex-shrink:0;font-size:.72rem}.conversation-item-bottom{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.conversation-preview{color:#666;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.conversation-unread{color:#fff;background:#25d366;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-flex}.conversation-clinica{color:#008783;font-size:.7rem;font-weight:500}.conversation-thread{flex-direction:column;min-width:0;display:flex}.thread-placeholder{color:#bbb;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;display:flex}.thread-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-shrink:0;align-items:center;gap:.7rem;padding:.75rem 1rem;display:flex}.thread-header-info{flex-direction:column;display:flex}.thread-contacto{color:#222;font-weight:600}.thread-telefono{color:#777;font-size:.78rem}.thread-header-clinica{text-align:right;flex-direction:column;margin-left:auto;display:flex}.thread-clinica-nombre{color:#008783;font-size:.82rem;font-weight:600}.thread-clinica-tel{color:#999;font-size:.75rem}.thread-messages{background:#f5f6f6;flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.message{display:flex}.message.in{justify-content:flex-start}.message.out{justify-content:flex-end}.message-bubble{border-radius:10px;max-width:70%;padding:.5rem .7rem;box-shadow:0 1px 1px #0000000f}.message.in .message-bubble{background:#fff;border-top-left-radius:2px}.message.out .message-bubble{background:#d9fdd3;border-top-right-radius:2px}.message-bubble p{color:#222;white-space:pre-wrap;word-break:break-word;margin:0 0 .2rem;font-size:.88rem}.message-meta{color:#888;font-size:.68rem}.thread-composer{background:#fff;border-top:1px solid #e0e0e0;flex-shrink:0;gap:.5rem;padding:.6rem .75rem;display:flex}.thread-composer input{border:1px solid #ddd;border-radius:999px;flex:1;padding:.55rem .75rem;font-size:.9rem}.thread-composer input:focus{border-color:#008783;outline:none}.send-btn{color:#fff;cursor:pointer;background:#008783;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.send-btn:hover:not(:disabled){background:#006d6a}.send-btn:disabled{opacity:.4;cursor:not-allowed}.messaging-empty{text-align:center;color:#999;padding:2rem 1rem;font-size:.9rem}@media (width<=768px){.messaging-page{height:auto}.messaging-filters{width:100%;margin-left:0}.messaging-filters select{flex:1}.messaging-body{grid-template-columns:1fr;min-height:70vh}.conversation-thread{display:none}}.ai-report-page{gap:18px;height:100%;min-height:0;padding:24px;display:flex}.ai-report-main{flex-direction:column;flex:1;gap:16px;min-width:0;min-height:0;display:flex}.ai-conv-panel{flex-direction:column;flex:0 0 190px;gap:8px;width:190px;min-height:0;display:flex}.ai-conv-new{color:#fff;cursor:pointer;background:#0c5747;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:.8rem;display:flex}.ai-conv-new:hover:not(:disabled){background:#094437}.ai-conv-new:disabled{opacity:.6;cursor:default}.ai-conv-error{color:#c62828;background:#ffebee;border-radius:8px;padding:8px 10px;font-size:.8rem}.ai-conv-toggle{display:none}.ai-conv-desplegable{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.ai-tabs{border-bottom:1px solid #e0e0e0;flex:none;gap:2px;display:flex}.ai-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-family:inherit;font-size:.75rem;display:flex}.ai-tab:hover{color:#0c5747}.ai-tab.is-active{color:#0c5747;border-bottom-color:#008783;font-weight:600}.ai-conv-list{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.ai-conv-empty{color:#9ca3af;margin:6px 2px;font-size:.78rem}.ai-conv-item{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:5px 8px;display:flex}.ai-conv-item:hover{background:#f3f4f6}.ai-conv-item:focus-visible{border-color:#008783;outline:none}.ai-conv-item.is-active{background:#e6f2f0;border-color:#008783}.ai-conv-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ai-conv-title{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;line-height:1.25;overflow:hidden}.ai-conv-meta{color:#6b7280;font-size:.67rem}.ai-conv-tope{color:#b45309;font-weight:600}.ai-conv-del{color:#9ca3af;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex:none;padding:3px;display:flex}.ai-conv-item:hover .ai-conv-del,.ai-conv-del:focus-visible{opacity:1}.ai-conv-del:hover{color:#c62828;background:#ffebee}.ai-report-limit{color:#8a6100;background:#fff8e1;border:1px solid #ffe4a3;border-radius:8px;padding:8px 12px;font-size:.82rem}.ai-report-limit.is-full{color:#c62828;background:#ffebee;border-color:#ffcdd2}@media (width<=900px){.ai-report-page{flex-direction:column}.ai-conv-panel{flex-flow:wrap;flex:none;align-items:center;gap:8px;width:auto;position:relative}.ai-conv-new{flex:none}.ai-conv-toggle{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-radius:8px;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 10px;font-family:inherit;font-size:.8rem;display:flex}.ai-conv-toggle-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-conv-caret{color:#6b7280;flex:none;font-size:.65rem}.ai-conv-desplegable{z-index:20;background:#fff;border:1px solid #e0e0e0;border-radius:10px;max-height:50vh;margin-top:4px;padding:6px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 20px #0000001f}.ai-conv-panel.is-open .ai-conv-desplegable{display:flex}.ai-conv-del{opacity:1}}.ai-report-header h1{color:#0c5747;align-items:center;gap:10px;margin:0 0 4px;font-size:1.5rem;display:flex}.ai-report-sub{color:#6b7280;max-width:720px;margin:0;font-size:.9rem}.ai-report-chat{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;flex-direction:column;flex:1;gap:14px;min-height:0;padding:12px;display:flex;overflow-y:auto}.ai-report-empty{color:#6b7280;text-align:left;margin:auto;font-size:.9rem}.ai-report-empty ul{margin:8px 0 0;padding-left:18px}.ai-report-empty li{margin:4px 0}.ai-msg{display:flex}.ai-msg-user{justify-content:flex-end}.ai-msg-assistant{justify-content:flex-start}.ai-bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:88%;padding:12px 14px;font-size:.92rem;line-height:1.45}.ai-msg-user .ai-bubble{color:#fff;background:#008783;border-bottom-right-radius:4px}.ai-msg-assistant .ai-bubble{color:#1f2937;background:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:4px}.ai-typing{color:#6b7280;font-style:italic}.ai-error{color:#c62828;background:#ffebee;border-radius:8px;margin-bottom:8px;padding:8px 10px}.ai-clarification{margin-bottom:6px;font-weight:600}.ai-explanation{margin-bottom:6px}.ai-assumptions{color:#4b5563;margin:6px 0;font-size:.85rem}.ai-assumptions-title{font-weight:600}.ai-assumptions ul{margin:4px 0 0;padding-left:18px}.ai-sql{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;margin:8px 0}.ai-sql summary{cursor:pointer;color:#0c5747;-webkit-user-select:none;user-select:none;padding:6px 10px;font-size:.82rem}.ai-sql pre{white-space:pre;border-top:1px solid #e5e7eb;margin:0;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;overflow-x:auto}.ai-preview{margin-top:10px}.ai-preview-meta{color:#6b7280;margin-bottom:6px;font-size:.8rem}.ai-preview-grid{border:1px solid #e0e0e0;border-radius:8px;max-height:340px;overflow:auto}.ai-preview-grid table{border-collapse:collapse;width:100%;font-size:.8rem}.ai-preview-grid th{color:#fff;text-align:left;white-space:nowrap;background:#0c5747;padding:7px 10px;position:sticky;top:0}.ai-preview-grid td{white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #f0f0f0;max-width:320px;padding:6px 10px;overflow:hidden}.ai-preview-grid tbody tr:nth-child(2n){background:#fafafa}.ai-preview-empty{text-align:center;color:#9ca3af;padding:14px}.ai-preview-actions{gap:8px;margin-top:10px;display:flex}.ai-preview-actions button{color:#fff;cursor:pointer;background:#008783;border:none;border-radius:8px;padding:7px 14px;font-size:.85rem}.ai-preview-actions button:hover:not(:disabled){background:#006d6a}.ai-preview-actions button:disabled{opacity:.6;cursor:default}.ai-preview-actions .ai-btn-secundario{color:#0c5747;background:#fff;border:1px solid #b6d4cf}.ai-preview-actions .ai-btn-secundario:hover:not(:disabled){background:#e6f2f0}.ai-guardar{color:#0c5747;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-bottom:4px;padding:4px 0;font-family:inherit;font-size:.78rem;display:inline-flex}.ai-guardar:hover:not(:disabled){text-decoration:underline}.ai-guardar:disabled{opacity:.6;cursor:default}.ai-dialogo-fondo{z-index:1000;background:#10182880;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ai-dialogo{background:#fff;border-radius:12px;flex-direction:column;gap:6px;width:100%;max-width:460px;padding:20px;display:flex;box-shadow:0 12px 32px #0003}.ai-dialogo h2{color:#0c5747;margin:0 0 8px;font-size:1.05rem}.ai-dialogo label{color:#4b5563;margin-top:6px;font-size:.8rem;font-weight:600}.ai-dialogo-opcional{color:#9ca3af;font-weight:400}.ai-dialogo input,.ai-dialogo textarea{resize:vertical;border:1px solid #d0d0d0;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:.88rem}.ai-dialogo input:focus,.ai-dialogo textarea:focus{border-color:#008783;outline:none}.ai-dialogo-acciones{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.ai-dialogo-acciones button{color:#fff;cursor:pointer;background:#008783;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:.85rem}.ai-dialogo-acciones button:hover:not(:disabled){background:#006d6a}.ai-dialogo-acciones button:disabled{opacity:.6;cursor:default}.ai-dialogo-acciones .ai-btn-secundario{color:#0c5747;background:#fff;border:1px solid #b6d4cf}.ai-dialogo-acciones .ai-btn-secundario:hover{background:#e6f2f0}.ai-fav-view{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.ai-fav-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ai-fav-head h2{color:#0c5747;word-break:break-word;min-width:0;margin:0;font-size:1.1rem}.ai-fav-acciones{flex:none;gap:6px;display:flex}.ai-fav-acciones .ai-btn-secundario{color:#0c5747;cursor:pointer;background:#fff;border:1px solid #b6d4cf;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:.8rem}.ai-fav-acciones .ai-btn-secundario:hover{background:#e6f2f0}.ai-report-input{align-items:flex-end;gap:10px;display:flex}.ai-report-input textarea{resize:vertical;border:1px solid #d0d0d0;border-radius:10px;flex:1;min-height:44px;max-height:160px;padding:10px 12px;font-family:inherit;font-size:.92rem}.ai-report-input textarea:focus{border-color:#008783;outline:none}.ai-send{color:#fff;cursor:pointer;background:#008783;border:none;border-radius:10px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.ai-send:hover:not(:disabled){background:#006d6a}.ai-send:disabled{opacity:.5;cursor:default}.logs-page{flex-direction:column;height:calc(100vh - 48px);display:flex}.logs-page .page-header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.logs-page .page-header h1{color:#0c5747;margin:0;font-size:1.5rem}.logs-page .search-input{border:1px solid #ccc;border-radius:4px;flex-shrink:0;width:320px;padding:.5rem .75rem;font-size:.9rem}.logs-page .search-input:focus{border-color:#008783;outline:none;box-shadow:0 0 0 3px #00878321}.logs-page .search-btn{color:#fff;cursor:pointer;background:#008783;border:1px solid #008783;border-radius:4px;padding:.5rem .75rem;font-size:.85rem}.logs-page .search-btn:hover{background:#006d6a}.logs-page .filter-toggle,.logs-page .clear-filters-btn{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:.35rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.logs-page .filter-toggle:hover,.logs-page .clear-filters-btn:hover{background:#f0f0f0}.logs-page .filter-dot{background:#008783;border-radius:50%;width:8px;height:8px}.live-toggle{color:#555;cursor:pointer;align-items:center;gap:.4rem;margin-left:auto;font-size:.85rem;display:flex}.live-toggle input{margin:0}.logs-page .filter-panel{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;flex-shrink:0;margin-bottom:1rem;padding:1rem}.logs-page .filter-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.logs-page .filter-field{flex-direction:column;flex:1;gap:.2rem;min-width:140px;display:flex}.logs-page .filter-field label{color:#555;text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:600}.logs-page .filter-field input,.logs-page .filter-field select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .5rem;font-size:.85rem}.logs-page .filter-field input:focus,.logs-page .filter-field select:focus{border-color:#008783;outline:none}.logs-page .filter-actions{flex:none;min-width:0}.logs-page .status-tabs{flex-wrap:wrap;flex-shrink:0;gap:.25rem;margin-bottom:.75rem;display:flex}.logs-page .status-tab{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .85rem;font-size:.8rem;transition:all .15s}.logs-page .status-tab:hover{background:#f0f0f0}.logs-page .status-tab.active{color:#fff;background:#008783;border-color:#008783}.logs-page .table-container{background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex:1;overflow:auto}.logs-page .data-table{border-collapse:collapse;width:100%;font-size:.85rem}.logs-page .data-table th{color:#fff;text-align:left;white-space:nowrap;z-index:1;background:#0c5747;padding:.6rem .75rem;font-weight:600;position:sticky;top:0}.logs-page .data-table td{color:#333;vertical-align:top;border-bottom:1px solid #f0f0f0;padding:.5rem .75rem}.logs-page .data-table tbody tr:hover{background:#f8f9fa}.log-clickable{cursor:pointer}.log-row td:first-child{border-left:3px solid #0000}.log-error td:first-child,.log-critical td:first-child{border-left-color:#c62828}.log-warning td:first-child{border-left-color:#e65100}.status-tabs-nivel{border-top:1px solid #f0f0f0;margin-top:-.35rem;padding-top:.35rem}.log-tipo{border-radius:4px;padding:.1rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.log-tipo-sistema{color:#546e7a;background:#eceff1}.log-tipo-usuario{color:#00695c;background:#e0f2f1}.log-fecha{white-space:nowrap;color:#666;font-variant-numeric:tabular-nums}.log-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.log-badge-trace{color:#546e7a;background:#eceff1}.log-badge-debug{color:#3949ab;background:#e8eaf6}.log-badge-information{color:#1565c0;background:#e3f2fd}.log-badge-warning{color:#e65100;background:#fff3e0}.log-badge-error{color:#c62828;background:#ffebee}.log-badge-critical{color:#fff;background:#c62828}.log-mensaje{white-space:pre-wrap;word-break:break-word;max-width:70ch}.log-excepcion-aviso{color:#c62828;margin-top:.25rem;font-size:.75rem;font-weight:600}.log-excepcion{white-space:pre-wrap;word-break:break-word;background:#fbfbfb;border:1px solid #eee;border-radius:4px;max-height:22rem;margin:.5rem 0 0;padding:.6rem .75rem;font-size:.75rem;line-height:1.5;overflow:auto}.log-ruta{color:#666;word-break:break-all;font-size:.78rem}.logs-page .empty-state{text-align:center;color:#999;padding:2rem}.logs-page .muted{color:#bbb}.logs-page .pagination{flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.logs-page .pagination-info{color:#666;font-size:.85rem}.logs-page .pagination-controls{align-items:center;gap:.25rem;display:flex}.logs-page .page-btn{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .55rem;font-size:.85rem}.logs-page .page-btn:hover:not(:disabled){color:#fff;background:#008783;border-color:#008783}.logs-page .page-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=768px){.logs-page{height:auto}.logs-page .search-input{width:100%}.live-toggle{margin-left:0}.logs-page .data-table th:nth-child(3),.logs-page .data-table td:nth-child(3),.logs-page .data-table th:nth-child(4),.logs-page .data-table td:nth-child(4),.logs-page .data-table th:nth-child(6),.logs-page .data-table td:nth-child(6),.logs-page .data-table th:nth-child(7),.logs-page .data-table td:nth-child(7){display:none}}.log-detalle{color:#4a5568;white-space:pre-wrap;word-break:break-word;background:#f4f6f8;border-left:2px solid #cbd5e0;border-radius:0 3px 3px 0;max-width:70ch;margin-top:.2rem;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}.plantillas-wa{margin-top:.5rem}.plantillas-wa-huecos{flex-wrap:wrap;gap:.3rem;display:flex}.plantillas-wa-hueco{color:#37474f;white-space:nowrap;background:#f1f4f6;border-radius:4px;padding:.05rem .4rem;font-size:.75rem}.plantillas-wa-nueva{margin-top:.7rem}.plantillas-wa-editor{background:#fafbfc;border:1px solid #e0e4e8;border-radius:6px;margin-top:.9rem;padding:.9rem}.plantillas-wa-cabecera{gap:.75rem;margin-bottom:.6rem;display:flex}.plantillas-wa-cabecera label{flex-direction:column;gap:.25rem;display:flex}.plantillas-wa-cabecera label>span{color:#555;font-size:.78rem;font-weight:500}.plantillas-wa-fila{align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.plantillas-wa-num{color:#0c5747;min-width:44px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;font-weight:700}.plantillas-wa-fila .form-input{flex:1;width:auto;min-width:140px}.plantillas-wa-botones{justify-content:flex-end;gap:.5rem;margin-top:.8rem;display:flex}.condiciones{border-top:1px dashed #e0e0e0;grid-column:1/-1;margin-top:.5rem;padding-top:.75rem}.condiciones-cab{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.condiciones-cab label{color:#555;text-transform:uppercase;letter-spacing:.3px;font-size:.75rem;font-weight:600}.condicion{border-bottom:1px solid #f0f0f0;flex-wrap:nowrap;align-items:center;gap:.35rem;padding:.35rem 0;display:flex;overflow-x:auto}.condicion:last-child{border-bottom:none}.condicion-y{color:#9ca3af;text-transform:uppercase;flex-shrink:0;font-size:.75rem;font-weight:700}.condicion-lado{flex-wrap:nowrap;align-items:center;gap:.25rem;display:flex}.condicion-operador{text-align:center;flex-shrink:0;width:52px;min-width:52px;padding:.3rem .25rem}.condicion-numero{flex-shrink:0;width:80px;min-width:80px}.condicion .chip-btn{white-space:nowrap;flex-shrink:0}.condicion .chip-btn.es-fuera{color:#555;background:#fff;border-color:#ccc}.condicion .chip-btn.es-suma{color:#fff;background:#008783;border-color:#008783}.condicion .chip-btn.es-resta{color:#fff;background:#c62828;border-color:#c62828}.condicion-rota{color:#b42318;cursor:help;font-weight:600}.settings-page{flex-direction:column;height:100%;padding:0;display:flex}.settings-page .page-header{flex-shrink:0}.settings-content{flex-direction:column;flex:1;min-height:0;display:flex}.settings-tabs{border-bottom:2px solid #e0e0e0;flex-shrink:0;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-btn{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.6rem 1.2rem;font-size:.9rem;transition:all .15s}.tab-btn:hover{color:#008783}.tab-btn.active{color:#008783;border-bottom-color:#008783;font-weight:600}.section-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-top:2rem;margin-bottom:1rem;display:flex}.section-header h2{color:#333;margin:0;font-size:1.1rem}.role-badge{color:#00695c;background:#e0f2f1;border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:500;display:inline-block}.seguimiento-badge{white-space:nowrap;border-radius:999px;padding:.15rem .85rem;font-size:.75rem;font-weight:600;display:inline-block}.center-tag{color:#555;background:#f0f0f0;border-radius:3px;margin-bottom:.15rem;margin-right:.25rem;padding:.1rem .4rem;font-size:.75rem;display:inline-block}.btn-icon{cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem}.btn-primary{color:#fff;cursor:pointer;background:#008783;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem}.btn-primary:hover{background:#006d6a}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#333;cursor:pointer;background:#e0e0e0;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem}.btn-secondary:hover{background:#d0d0d0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#c62828;background:#ffebee;border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem}.form-group{margin-bottom:1rem}.form-group label{color:#555;margin-bottom:.3rem;font-size:.85rem;font-weight:500;display:block}.form-input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:.5rem;font-size:.875rem}.form-group label.center-checkbox{cursor:pointer;flex-direction:row;justify-content:flex-start;align-items:center;gap:.5rem;margin-bottom:0;padding:.25rem 0;font-size:.85rem;display:flex}.form-group label.center-checkbox input[type=checkbox]{flex-shrink:0;width:auto;margin:0}.form-input:focus{border-color:#008783;outline:none}select.form-input{background:#fff}.centers-list{border:1px solid #eee;border-radius:4px;max-height:200px;padding:.5rem;overflow-y:auto}.center-checkbox{cursor:pointer;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem;display:flex}.center-checkbox input[type=checkbox]{margin:0}.muted{color:#999;font-size:.85rem}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;flex-direction:column;width:520px;max-width:90vw;max-height:85vh;display:flex;box-shadow:0 4px 20px #00000026}.modal-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-header h3{margin:0;font-size:1.1rem}.modal-close{cursor:pointer;color:#999;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.modal-close:hover{color:#333}.modal-body{flex:1;padding:1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid #eee;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;display:flex}.centers-cell{max-width:200px}.role-editor{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 4px #00000014}.role-editor-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.role-editor-header h3{color:#0c5747;margin:0;font-size:1.2rem}.role-editor-grid{grid-template-columns:1fr 1fr 200px;gap:1.5rem;display:grid}.role-permissions-group{flex-direction:column;height:380px;display:flex}.role-permissions-group h4{color:#333;margin:0 0 .5rem;font-size:.9rem}.role-permissions-group .hint{color:#999;margin:0 0 .5rem;font-size:.78rem}.permissions-list{border:1px solid #eee;border-radius:4px;flex-direction:column;flex:1;gap:.3rem;min-height:0;padding:.5rem;display:flex;overflow-y:auto}.permission-checkbox{cursor:pointer;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.85rem;display:flex}.permission-checkbox input[type=checkbox]{margin:0}.permission-group{padding-bottom:.15rem}.permission-subviews{border-left:2px solid #e9ecef;flex-direction:column;gap:.15rem;margin:.1rem 0 .35rem 1.1rem;padding-left:.6rem;display:flex}.permission-sub{color:#666;font-size:.8rem}.permission-sub input[type=checkbox]:disabled+span{opacity:.5}.role-editor-footer{justify-content:flex-end;margin-top:1.5rem;display:flex}.modules-section{flex-direction:column;gap:1rem;display:flex;overflow-y:auto}.module-block,.module-subblock{background:#fff;border:1px solid #e3e6e8;border-radius:6px}.module-block>summary,.module-subblock>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:.75rem;padding:.85rem 1rem;list-style:none;display:flex}.module-block>summary::-webkit-details-marker{display:none}.module-subblock>summary::-webkit-details-marker{display:none}.module-block>summary:before,.module-subblock>summary:before{content:"▸";color:#008783;transition:transform .15s}.module-block[open]>summary:before,.module-subblock[open]>summary:before{transform:rotate(90deg)}.module-block>summary:hover,.module-subblock>summary:hover{background:#f7f9f9}.module-title{color:#333;font-size:1.05rem;font-weight:600}.module-subblock .module-title{font-size:.92rem}.module-summary-hint{color:#999;font-size:.78rem}.module-body{padding:0 1rem 1rem}.module-subblock{background:#fbfcfc;margin-top:.75rem}.module-block .section-header{align-items:flex-start;gap:1rem}.module-block .section-header .hint{color:#999;max-width:60ch;margin:.25rem 0 0;font-size:.78rem}.centers-section .section-header{align-items:flex-start;gap:1rem}.centers-section .section-header .hint{color:#999;text-align:right;max-width:55ch;margin:.35rem 0 0;font-size:.78rem}.centers-section .form-input{min-width:12rem;padding:.3rem .5rem;font-size:.85rem}.escalera-preview{background:#f2f8f8;border-left:3px solid #008783;border-radius:0 6px 6px 0;margin:.5rem 0 1.25rem;padding:.85rem 1rem}.escalera-titulo{color:#00706d;text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.escalera-preview ol{margin:.5rem 0 0;padding-left:1.5rem}.escalera-preview li{color:#444;font-size:.85rem;line-height:1.7}.module-body textarea.form-input{resize:vertical;font-family:inherit;line-height:1.5}.module-body h4{color:#333;margin:1.5rem 0 0;font-size:.92rem;font-weight:600}.window-form{background:#f9f9f9;border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.window-form .form-group{min-width:12rem;margin:0}.form-group label.toggle-label{color:#333;cursor:pointer;align-items:center;gap:.45rem;margin-bottom:0;font-weight:400;display:inline-flex}.form-group label.toggle-label input[type=checkbox]{flex-shrink:0;width:auto;margin:0}.window-form .form-group label.toggle-label{min-height:2.2rem}.window-form-actions{flex-wrap:wrap;flex:100%;justify-content:space-between;align-items:center;gap:1rem;display:flex}.window-form-actions .hint{color:#999;margin:0;font-size:.78rem}.window-form-actions>div{gap:.5rem;display:flex}.holidays-section{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.holidays-table-scroll{background:#fff;border:1px solid #e0e0e0;border-radius:6px;flex:1;min-height:0;overflow-y:auto}.holidays-table-scroll .data-table th{color:#fff;text-align:left;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:1;background:#0c5747;padding:.6rem .75rem;font-weight:600;position:sticky;top:0}.holidays-table-scroll .data-table th:hover{background:#0a4a3c}.holidays-table-scroll .data-table td{color:#333;border-bottom:1px solid #f0f0f0;padding:.5rem .75rem}.holidays-table-scroll .data-table tbody tr:hover{background:#f8f9fa}.pagination{flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem .25rem;display:flex}.pagination-info{color:#666;font-size:.85rem}.pagination-controls{align-items:center;gap:.25rem;display:flex}.page-btn{cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:4px;padding:.35rem .55rem;font-size:.85rem}.page-btn:hover:not(:disabled){color:#fff;background:#008783;border-color:#008783}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-current{color:#555;padding:0 .5rem;font-size:.85rem;font-weight:500}.holiday-form{background:#f9f9f9;border-radius:6px;flex-wrap:wrap;flex-shrink:0;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.holiday-form label{color:#555;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:500;display:flex}.holiday-form label select,.holiday-form label input{border:1px solid #ddd;border-radius:4px;padding:.45rem;font-size:.875rem}.holiday-form button{white-space:nowrap;align-self:flex-end}.holiday-import{background:#f5f5f5;border-radius:6px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.holiday-import-label{color:#555;font-size:.85rem;font-weight:600}.file-upload-btn{color:#fff;cursor:pointer;background:#008783;border-radius:4px;padding:.4rem .8rem;font-size:.85rem;transition:background .15s;display:inline-block}.file-upload-btn:hover{background:#006d6a}.file-upload-btn:active{background:#005550}.import-result{color:#333;font-size:.85rem}.import-errors{margin-top:.3rem}.import-error{color:#c62828;margin:.15rem 0;font-size:.8rem}.services-section .refresh-period{align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.services-section .refresh-period label{flex-direction:column;gap:.25rem;display:flex}.services-section .refresh-period label span{color:#888;font-size:.8rem;font-weight:500}.services-section .refresh-period select{background:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .6rem;font-size:.88rem}@media (width>=769px) and (width<=1024px){.role-editor-grid{grid-template-columns:1fr 1fr}}@media (width<=768px){.settings-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.settings-tabs .tab-btn{white-space:nowrap;padding:.6rem .9rem}.role-editor{padding:1rem}.role-editor-grid{grid-template-columns:1fr;gap:1rem}.role-editor-header{flex-wrap:wrap;gap:.5rem}.holiday-form,.holiday-import{gap:.6rem}.holiday-form label{flex:100%}.services-section .refresh-period{flex-wrap:wrap;gap:.75rem}.pagination{flex-wrap:wrap;justify-content:center;gap:.5rem}.centers-cell{max-width:none}}.services-grupo+.services-grupo{margin-top:2rem}.services-grupo h3{color:#1f2937;margin:0 0 .2rem;font-size:.95rem}.services-grupo>.hint{margin:0 0 .7rem}.module-subtitle{color:#1f2937;margin:1.4rem 0 .2rem;font-size:.9rem}.no-access{text-align:center;max-width:32rem;margin:4rem auto}.no-access .empty-state{padding-top:1rem}
