:root{--brand: #1f2b5c;--brand-light: #eef1fb;--danger: #c0392b;--border: #dfe3ee;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#f6f7fb;color:#1c2130}button{cursor:pointer;background:var(--brand);color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.95rem}button:disabled{opacity:.6;cursor:not-allowed}button.btn-danger{background:var(--danger)}input,select,textarea{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;width:100%}label{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;font-size:.9rem}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.auth-card{background:#fff;padding:2rem;border-radius:10px;width:100%;max-width:380px;box-shadow:0 8px 24px #00000014}.auth-card h1{margin-top:0;font-size:1.4rem}.auth-card__subtitle{color:#666;font-size:.9rem;margin-top:-.5rem}.auth-card__links{display:flex;justify-content:space-between;margin-top:1rem;font-size:.85rem}.auth-card button{width:100%;margin-top:.5rem}.form-error{background:#fdecea;color:var(--danger);padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.form-success{background:#e8f6ec;color:#1e7e34;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.trial-banner{padding:.6rem 1.5rem;font-size:.9rem}.trial-banner--info{background:var(--brand-light);color:var(--brand)}.trial-banner--warning{background:#fdecea;color:var(--danger)}.trial-banner a{color:inherit;font-weight:600}.app-main{flex:1;padding:1.5rem;max-width:1100px;margin:0 auto;width:100%}.calendar-page__toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-card{background:#fff;padding:1.5rem;border-radius:10px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-card__row{display:flex;gap:1rem}.modal-card__row label{flex:1}.modal-card__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.clients-form{background:#fff;padding:1.25rem;border-radius:10px;margin-bottom:1.5rem}.clients-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.clients-form__actions{display:flex;gap:.5rem;justify-content:flex-end}.clients-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.clients-table th,.clients-table td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--border);font-size:.9rem}.clients-table__actions{display:flex;gap:.5rem}.billing-card{background:#fff;padding:1.5rem;border-radius:10px;display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.page-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.audiencia-cancelada{opacity:.5;text-decoration:line-through}.audiencia-celebrada{opacity:.65}.audiencia-diferida{border-style:dashed!important;border-width:2px!important}.proximas{background:#fff;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.proximas h2{margin:0 0 .5rem;font-size:1.05rem}.proximas__vacio{margin:0;color:#666;font-size:.9rem}.proximas ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.proximas__item{width:100%;text-align:left;background:var(--brand-light);color:inherit;border-left:4px solid var(--brand);border-radius:6px;padding:.55rem .75rem;display:flex;flex-direction:column;gap:.15rem}.proximas__fecha{font-size:.8rem;font-weight:600;color:var(--brand);text-transform:capitalize}.proximas__titulo{font-size:.92rem;font-weight:600}.proximas__detalle{font-size:.8rem;color:#555}.fc .fc-button-primary{background:var(--brand);border-color:var(--brand)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:#121b3d;border-color:#121b3d}.fc .fc-button-primary:disabled{background:#6b7494;border-color:#6b7494}.fc .fc-event{cursor:pointer}.password-field{position:relative;display:block}.password-field input{padding-right:2.6rem}.auth-card .password-field__ojo,.password-field__ojo{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);width:auto;margin:0;padding:.35rem;background:none;border:none;color:#666;cursor:pointer;line-height:0}.password-field__ojo:hover{color:var(--primary, #1f2b5c);background:none}.app-shell{min-height:100vh}.app-content{margin-left:230px;min-height:100vh;display:flex;flex-direction:column}.topbar,.sidebar__cerrar,.sidebar-overlay{display:none}.sidebar{position:fixed;top:0;bottom:0;left:0;width:230px;z-index:50;background:var(--brand);color:#fff;display:flex;flex-direction:column;padding:1.25rem .9rem;overflow-y:auto}.sidebar__brand{font-weight:700;font-size:1.05rem;line-height:1.25}.sidebar__head{padding:0 .5rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:1rem}.sidebar__nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar__nav a{color:#ffffffd9;text-decoration:none;padding:.7rem .8rem;border-radius:8px}.sidebar__nav a:hover{background:#ffffff1a;color:#fff}.sidebar__nav a.activo{background:#ffffff2e;color:#fff;font-weight:600}.sidebar__user{border-top:1px solid rgba(255,255,255,.15);padding:1rem .5rem 0;display:flex;flex-direction:column;gap:.6rem;font-size:.9rem}.sidebar__user button{background:#ffffff26;width:100%}@media (max-width: 767px){.app-content{margin-left:0}.topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:40;background:var(--brand);color:#fff;padding:.6rem 1rem}.topbar__brand{font-weight:700}.topbar__burger{background:none;color:#fff;padding:.25rem;line-height:0}.sidebar{left:auto;right:0;width:min(280px,85vw);transform:translate(100%);transition:transform .25s ease;box-shadow:-8px 0 24px #00000040}.sidebar--abierto{transform:translate(0)}.sidebar__head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.sidebar__cerrar{display:block;background:none;color:#fff;padding:.1rem .4rem;font-size:1.2rem}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:45}.app-main{padding:1rem}}.billing-nota{color:#666;font-size:.9rem}.planes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin-bottom:1.5rem}.plan{background:#fff;color:inherit;border:2px solid #e3e6ee;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.2rem;text-align:left;cursor:pointer}.plan:hover{background:#fff;border-color:#b9c0d6}.plan--elegido,.plan--elegido:hover{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.plan__nombre{font-weight:600}.plan__precio{font-size:1.6rem;font-weight:700;color:var(--brand)}.plan__desc{color:#666;font-size:.9rem}.plan__ahorro{color:#1e7b44;font-size:.85rem;font-weight:600}.metodos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1rem}.metodo{background:#fff;border:2px solid #e3e6ee;border-radius:12px;padding:1.1rem;display:flex;flex-direction:column;gap:.5rem}.metodo--elegido{border-color:var(--brand)}.metodo h3{margin:0}.metodo p{margin:0;color:#555;font-size:.9rem}.metodo small{color:#777;font-size:.78rem}.transferencia{width:100%;align-items:stretch;box-sizing:border-box}.transferencia h3{margin:.5rem 0 0}.transferencia label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.transferencia__vista{max-width:220px;max-height:220px;object-fit:contain;border:1px solid #e3e6ee;border-radius:8px}.dato-copiable{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:var(--brand-light);border-radius:8px;padding:.55rem .8rem}.dato-copiable span{display:flex;flex-direction:column;min-width:0}.dato-copiable small{color:#555}.dato-copiable strong{overflow-wrap:anywhere}.dato-copiable button{padding:.3rem .7rem;font-size:.8rem;flex-shrink:0}.pagos-lista{display:flex;flex-direction:column;gap:.6rem}.pago{background:#fff;border-left:5px solid #bbb;border-radius:8px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.pago>div:first-child{display:flex;flex-direction:column;gap:.15rem}.pago small{color:#666}.pago--pendiente{border-left-color:#e0a100}.pago--aprobado{border-left-color:#1e7b44}.pago--rechazado{border-left-color:var(--danger)}.pago__estado{font-weight:600;font-size:.85rem}.pago__acciones{display:flex;gap:.5rem;flex-wrap:wrap}.filtros{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filtros button{background:#fff;color:var(--brand);border:1px solid var(--brand)}.filtros .filtro--activo{background:var(--brand);color:#fff}.comprobante-visor{max-width:720px}.comprobante-visor img{max-width:100%;max-height:70vh;display:block;margin:0 auto}.comprobante-visor iframe{width:100%;height:70vh;border:0}.avatar{border-radius:50%;object-fit:cover;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.avatar--iniciales{background:#ffffff38;color:#fff;font-weight:700}.settings .avatar--iniciales{background:var(--brand)}.sidebar__perfil{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;min-width:0}.sidebar__perfil span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings{max-width:720px;display:flex;flex-direction:column;gap:1.25rem}.settings h1{margin-bottom:0}.settings h2{margin:0;font-size:1.1rem}.settings .billing-card{align-items:stretch;box-sizing:border-box}.settings__foto{flex-direction:row;align-items:center;gap:1.25rem;flex-wrap:wrap}.settings__foto>div{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.settings__foto p{margin:0}.settings__botones{display:flex;gap:.5rem;flex-wrap:wrap}.settings__form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.settings__form small{color:#777}.settings__form input:disabled{background:#f1f2f6;color:#777}.settings__form>button{align-self:flex-start}button.btn-secundario{background:#fff;color:var(--brand);border:1px solid var(--brand)}@media (max-width: 767px){.calendar-page__toolbar{gap:.75rem}.calendar-page__toolbar h1{font-size:1.35rem;margin:0}.calendar-page__toolbar button{white-space:nowrap;padding:.55rem .8rem;font-size:.9rem}.fc .fc-toolbar{flex-wrap:wrap;justify-content:space-between;gap:.6rem}.fc .fc-toolbar-title{order:-1;flex-basis:100%;text-align:center;font-size:1.1rem;margin:0}.fc .fc-button{padding:.4rem .65rem;font-size:.85rem}.fc .fc-col-header-cell-cushion{font-size:.8rem;padding:.3rem .1rem}.fc .fc-timegrid-slot-label-cushion{font-size:.75rem}.proximas{padding:1rem}}
