:root{--bg-color:#f3f6f9;--surface-color:#ffffffd9;--primary-color:#2563eb;--primary-hover:#1d4ed8;--secondary-color:#10b981;--text-main:#1e293b;--text-muted:#64748b;--border-color:#e2e8f0;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-glass:0 8px 32px 0 #1f268712}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-main);-webkit-font-smoothing:antialiased;background:linear-gradient(135deg,#fdfbfb 0%,#ebedee 100%) fixed;font-family:Inter,sans-serif;line-height:1.5}.app-container{min-height:100vh;display:flex}.sidebar{background:var(--surface-color);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--border-color);width:320px;box-shadow:var(--shadow-glass);z-index:10;flex-direction:column;flex-shrink:0;gap:2rem;padding:2rem 1.5rem;display:flex}.brand{background:linear-gradient(45deg, var(--primary-color), var(--secondary-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;display:flex}.nav-menu{flex-direction:column;gap:.5rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.nav-item{overflow-wrap:anywhere;cursor:pointer;color:var(--text-muted);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;transition:all .3s;display:flex}.nav-item:hover,.nav-item.active{color:var(--primary-color);background:#2563eb0d;transform:translate(4px)}.main-content{flex:1;padding:2.5rem 3rem;overflow-y:auto}.header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header h1{color:var(--text-main);letter-spacing:-.02em;font-size:2rem;font-weight:600}.btn-primary{background:linear-gradient(135deg, var(--primary-color), #3b82f6);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #2563eb40}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb59}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--bg-color)}.btn-primary:disabled,.btn-secondary:disabled,button:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.6)}.btn-primary:disabled:hover,.btn-secondary:disabled:hover,button:disabled:hover{background:inherit;transform:none;box-shadow:0 4px 12px #2563eb26}.btn-secondary:disabled:hover{background:#fff}.boton-icono{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;line-height:1}.boton-icono:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:3px}.filters-container{box-shadow:var(--shadow-sm);border:1px solid var(--border-color);background:#fff;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;padding:1.5rem;display:grid}.filter-input,.filter-select{border:1px solid var(--border-color);color:var(--text-main);border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.filter-input:focus,.filter-select:focus{border-color:var(--primary-color)}.card{background:var(--surface-color);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-glass);border:1px solid #ffffff80;border-radius:16px;padding:1.5rem}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-container{border-collapse:collapse;width:100%}.table-container th,.table-container td{text-align:left;border-bottom:1px solid var(--border-color);padding:1rem}.table-container th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.85rem;font-weight:600}.table-container td{color:var(--text-main);font-size:.95rem}.table-row{transition:background .2s}.table-row.clickable{cursor:pointer}.table-row.clickable:hover{background:#2563eb0d}.badge{color:var(--secondary-color);background:#10b9811a;border-radius:9999px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f172a99;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:2.5rem;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-large{max-width:900px}.btn-whatsapp{color:#fff;cursor:pointer;background:#25d366;border:1px solid #25d366;border-radius:8px;font-weight:600;text-decoration:none;transition:filter .15s}.btn-whatsapp:hover{filter:brightness(.95)}.btn-pequeno{padding:.4rem .8rem;font-size:.82rem}.btn-pequeno,.btn-whatsapp{white-space:nowrap;justify-content:center;align-items:center;gap:.35rem;line-height:1.2;display:inline-flex}@media (height<=750px){.modal-content{max-height:94vh;padding:1.5rem}}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-control{border:1px solid var(--border-color);border-radius:8px;outline:none;width:100%;padding:.75rem;font-family:inherit}.form-control:focus{border-color:var(--primary-color)}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.fade-in{animation:.4s ease-out forwards fadeIn}.fade-in-up{animation:.4s ease-out forwards fadeInUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hover-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:var(--primary-color)!important}body:has(.modal-overlay){overflow:hidden}.cal-celda{background:#fff}.cal-celda.inhabil{background:#eef2f7}.cal-celda.agendable{cursor:pointer;transition:background .15s}.cal-celda.agendable:hover{background:#2563eb14}.cal-franja{border-top:1px solid var(--border-color)}.cal-franja.media{border-top-style:dashed;border-top-color:#e2e8f0b3}.cal-franja.agendable{cursor:pointer;transition:background .12s}.cal-franja.agendable:hover{background:#2563eb1a}#root{opacity:1;transition:opacity .15s ease-in}.ajustes-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.75rem;display:grid}.ajustes-columna{flex-direction:column;gap:1.75rem;min-width:0;display:flex}@media (width<=1200px){.ajustes-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.ajustes-grid{grid-template-columns:1fr}}.ajustes-columna .card{width:100%;margin:0}.ajustes-titulo{color:var(--primary-color);border-bottom:1px solid var(--border-color);min-height:2.4rem;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.15rem}.toast{z-index:9999;color:var(--text-main);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-glass), 0 4px 12px #0f172a14;border:1px solid var(--border-color);pointer-events:none;background:#ffffffeb;border-radius:12px;align-items:center;gap:.7rem;padding:.9rem 1.25rem;font-size:.92rem;font-weight:600;animation:.28s cubic-bezier(.16,1,.3,1) toast-entra,.6s ease-in 2.6s forwards toast-sale;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast-exito{border-left:4px solid var(--secondary-color)}.toast-error{border-left:4px solid #ef4444}.toast-icono{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;display:inline-flex}.toast-exito .toast-icono{background:var(--secondary-color)}.toast-error .toast-icono{background:#ef4444}@keyframes toast-entra{0%{opacity:0;transform:translateY(-14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-sale{to{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.toast{opacity:1;animation:none}}@media (width<=1100px){.sidebar{width:250px;padding:1.5rem 1rem}.main-content{padding:1.5rem}}@media (width<=900px){.sidebar{width:210px}.sidebar .nav-item{padding:.6rem .7rem;font-size:.9rem}.filters-container{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}}@media (width<=760px){.app-container{flex-direction:column}.sidebar{flex-direction:row;align-items:center;gap:1rem;width:100%;padding:.75rem 1rem;overflow-x:auto}.sidebar .brand{width:auto;max-width:140px;margin:0}.nav-menu{flex-flow:row}.nav-item{white-space:nowrap}}
