@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-app:#f8fbf9;--bg-sidebar:#fff;--bg-card:#fff;--border-color:#e3eae6;--text-main:#2c3631;--text-muted:#727d77;--accent-primary:#0d7a5f;--accent-primary-tint:#e4f0ed;--accent-primary-ink:#0e775d;--accent-primary-light:#f1fbf8;--accent-secondary:#7fb52a;--accent-secondary-tint:#e8f2d9;--accent-secondary-ink:#0d7a5f;--accent-secondary-light:#f7fbf1;--on-accent:#fff;--accent-success:#0d7a5f;--accent-success-tint:#e8f2d9;--accent-success-ink:#0d7a5f;--accent-success-light:#f1fbf8;--accent-warning:#e0a017;--accent-warning-tint:#fde9b3;--accent-warning-ink:#966b0f;--accent-warning-light:#fef9eb;--accent-danger:#c3352c;--accent-danger-tint:#f8e7e6;--accent-danger-ink:#c0352c;--accent-danger-light:#fbf0ef;--accent-info:#2f66b5;--accent-info-tint:#e4ebf5;--accent-info-ink:#2f66b5;--accent-info-light:#f2f5fa;--aux-1:#7a55c4;--aux-1-tint:#efebf8;--aux-1-ink:#7854c1;--aux-1-light:#f4f1fb;--aux-2:#b95425;--aux-2-tint:#f7eae5;--aux-2-ink:#a85026;--aux-2-light:#fbf4f1;--aux-3:#b83f82;--aux-3-tint:#f6e8f0;--aux-3-ink:#b03e7d;--aux-3-light:#fbf1f6;--aux-4:#52709c;--aux-4-tint:#eaeef3;--aux-4-ink:#4f6b93;--aux-4-light:#f2f5fa;--gradient-from:var(--accent-primary);--gradient-to:var(--accent-secondary);--shadow-sm:0 2px 8px rgba(138,168,160,.05);--shadow-md:0 8px 24px -4px rgba(138,168,160,.09);--backdrop:rgba(0,0,0,.15);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:100px;--fs-xs:.75rem;--fs-sm:.85rem;--fs-md:.9rem;--fs-lg:1.05rem}body{margin:0;padding:0;background-color:var(--bg-app);font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;transition:background-color .25s ease,color .25s ease,border-color .25s ease}.action-btn,body{color:var(--text-main)}.action-btn{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:.6rem .85rem;font-family:inherit;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .15s ease;justify-content:center;will-change:transform}.action-btn:hover{background-color:var(--accent-primary-light);border-color:var(--accent-primary)}.action-btn.outline{background:transparent}.action-btn.sm{padding:.4rem .75rem;font-size:.8rem;border-radius:6px}.action-btn.lg{padding:.75rem 1.25rem;font-size:.95rem;font-weight:600}.action-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-app)!important;border-color:var(--border-color)!important;color:var(--text-muted)!important}.primary-action-btn{background-color:var(--accent-primary);color:var(--on-accent);border:none;border-radius:8px;padding:.65rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;will-change:transform}.primary-action-btn:hover{filter:brightness(.93)}.primary-action-btn.sm{padding:.4rem .75rem;font-size:.8rem;border-radius:6px}.primary-action-btn.lg{padding:.75rem 1.25rem;font-size:.95rem;font-weight:600}.primary-action-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--border-color)!important;color:var(--text-muted)!important}.text-danger{color:var(--accent-danger)!important}.text-danger:hover{background-color:var(--accent-danger-light)!important;border-color:var(--accent-danger)!important}.text-muted{color:var(--text-muted)}.primary-action-btn.danger{background-color:var(--accent-danger);color:var(--on-accent)}.content-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{margin:0;font-size:var(--fs-lg);font-weight:600;color:var(--text-main)}.card-header.bordered-header{border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:.85rem 1rem;font-size:.8rem;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border-color)}.data-table td{padding:.85rem 1rem;font-size:var(--fs-sm);border-bottom:1px solid var(--border-color);color:var(--text-main)}.data-table tr:last-child td{border-bottom:none}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table .ctr{text-align:center}.clickable-row{cursor:pointer;transition:background-color .12s ease}.clickable-row:hover{background-color:var(--accent-primary-light)}.action-buttons-cell{text-align:right;white-space:nowrap}.action-buttons-cell>*{vertical-align:middle}.action-buttons-cell>*+*{margin-left:.4rem}.table-icon-btn{background:var(--bg-app);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--fs-sm);color:var(--text-main);transition:all .15s ease}.table-icon-btn:hover:not(:disabled){background-color:var(--accent-primary-light);border-color:var(--accent-primary);color:var(--accent-primary)}.table-icon-btn:disabled{opacity:.55;cursor:not-allowed}.mini-avatar{width:28px;height:28px;border-radius:50%;background-color:var(--accent-secondary-tint);color:var(--accent-secondary-ink);display:flex;justify-content:center;font-size:.7rem;flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent-secondary) 30%,transparent)}.chip,.mini-avatar{align-items:center;font-weight:700}.chip{display:inline-flex;gap:.3rem;padding:.15rem .45rem;border-radius:4px;font-size:.65rem;text-transform:uppercase;letter-spacing:.02em;border:none;white-space:nowrap}.chip.classic{padding:.25rem .6rem;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:600;text-transform:none;letter-spacing:normal;border:1px solid transparent}.chip.primary{background-color:var(--accent-primary-tint);color:var(--accent-primary-ink);border-color:color-mix(in srgb,var(--accent-primary) 25%,transparent)}.chip.success{background-color:var(--accent-success-tint);color:var(--accent-success-ink);border-color:color-mix(in srgb,var(--accent-success) 25%,transparent)}.chip.warning{background-color:var(--accent-warning-tint);color:var(--accent-warning-ink);border-color:color-mix(in srgb,var(--accent-warning) 25%,transparent)}.chip.danger{background-color:var(--accent-danger-tint);color:var(--accent-danger-ink);border-color:color-mix(in srgb,var(--accent-danger) 25%,transparent)}.chip.info{background-color:var(--accent-info-tint);color:var(--accent-info-ink);border-color:color-mix(in srgb,var(--accent-info) 25%,transparent)}.chip.neutral{background-color:var(--bg-app);color:var(--text-muted);border-color:var(--border-color)}.chip.secondary{background-color:var(--accent-secondary-tint);color:var(--accent-secondary-ink);border-color:color-mix(in srgb,var(--accent-secondary) 30%,transparent)}.chip.aux-1{background-color:var(--aux-1-tint);color:var(--aux-1-ink);border-color:color-mix(in srgb,var(--aux-1) 25%,transparent)}.chip.aux-2{background-color:var(--aux-2-tint);color:var(--aux-2-ink);border-color:color-mix(in srgb,var(--aux-2) 25%,transparent)}.chip.aux-3{background-color:var(--aux-3-tint);color:var(--aux-3-ink);border-color:color-mix(in srgb,var(--aux-3) 25%,transparent)}.chip.aux-4{background-color:var(--aux-4-tint);color:var(--aux-4-ink);border-color:color-mix(in srgb,var(--aux-4) 25%,transparent)}.chip.partial{background-image:linear-gradient(to top right,color-mix(in srgb,currentColor 26%,transparent) 0 50%,var(--bg-app) 50% 100%)}.chip.striped{background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--text-muted) 20%,transparent),color-mix(in srgb,var(--text-muted) 20%,transparent) 6px,transparent 6px,transparent 12px)}.chip.pending{border:1px dashed var(--accent-warning-ink)}.empty-state,.no-results{text-align:center;padding:2.5rem 0;color:var(--text-muted);font-style:italic}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.filter-field{display:flex;flex-direction:column;gap:.3rem}.compact-label{text-transform:uppercase}.compact-label,.filter-pill{font-size:var(--fs-xs);font-weight:600;color:var(--text-muted)}.filter-pill{border:1px solid var(--border-color);background-color:var(--bg-card);border-radius:var(--radius-pill);padding:.3rem .7rem;font-family:inherit;cursor:pointer;transition:all .15s ease}.filter-pill.active,.filter-pill:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.filter-pill.active{background-color:var(--accent-primary-light)}.filter-pill .pill-count{opacity:.75;font-weight:500}.filter-pill:disabled{opacity:.45;cursor:default;pointer-events:none}.week-seg-busy{background-color:color-mix(in srgb,var(--accent-secondary) 55%,var(--bg-card))}.week-seg-free{background-color:color-mix(in srgb,var(--text-muted) 20%,var(--bg-card))}.week-seg-off{background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--text-muted) 18%,transparent),color-mix(in srgb,var(--text-muted) 18%,transparent) 3px,transparent 3px,transparent 6px)}.bono-amount{display:inline-flex;align-items:center;gap:.25rem;padding:.05rem .35rem;border-radius:var(--radius-sm);background-color:var(--accent-secondary-tint);color:var(--accent-primary);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.search-bar-wrapper{position:relative;display:flex;align-items:center}.search-bar-wrapper .search-icon{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none;display:flex}.search-bar-wrapper .search-input{width:100%;padding:.6rem .85rem .6rem 2.4rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-card);color:var(--text-main);font-family:inherit;font-size:var(--fs-md);transition:border-color .15s ease}.search-bar-wrapper .search-input:focus{outline:none;border-color:var(--accent-primary)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:1.75rem}.kpi-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:var(--shadow-sm)}.kpi-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.kpi-value{font-size:1.4rem;font-weight:700;margin:.25rem 0;color:var(--text-main)}.kpi-trend{font-size:var(--fs-xs)}.kpi-trend.positive{color:var(--accent-success)}.kpi-trend.negative{color:var(--accent-danger)}.kpi-trend.warning{color:var(--accent-warning-ink)}.kpi-icon-wrapper{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;background-color:var(--accent-secondary-tint);color:var(--accent-secondary-ink)}.kpi-icon-wrapper.success{background-color:var(--accent-success-tint);color:var(--accent-success-ink)}.kpi-icon-wrapper.warning{background-color:var(--accent-warning-tint);color:var(--accent-warning-ink)}.kpi-icon-wrapper.danger{background-color:var(--accent-danger-tint);color:var(--accent-danger-ink)}.kpi-icon-wrapper.info{background-color:var(--accent-info-tint);color:var(--accent-info-ink)}.kpi-icon-wrapper.neutral{background-color:var(--bg-app);color:var(--text-muted)}.kpi-data{display:flex;flex-direction:column;text-align:left;flex:1;align-self:stretch}.quantity-stepper{display:inline-flex;align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background-color:var(--bg-app)}.quantity-stepper .clinic-input-group{margin-bottom:0;width:auto}.quantity-stepper .form-input{border:none;border-radius:0;background:transparent;padding:.25rem 0;height:auto;font-size:.8rem;font-weight:600;color:var(--text-main);text-align:center;min-width:0;width:var(--stepper-field-width,2.25rem)}.quantity-stepper .form-input:focus{outline:none;box-shadow:none}.quantity-stepper:focus-within{border-color:var(--accent-primary)}.quantity-stepper.is-disabled{opacity:.6}.quantity-stepper-btn{border:none;background:none;color:var(--text-main);padding:.25rem .5rem;cursor:pointer;font-weight:600;line-height:1;flex-shrink:0}.quantity-stepper-btn:hover:not(:disabled){background-color:color-mix(in srgb,var(--text-main) 6%,transparent)}.quantity-stepper-btn:disabled{color:var(--text-muted);opacity:.45;cursor:default}.modal-form{display:flex;flex-direction:column}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.appt-state{--block-accent:var(--text-muted);background-color:var(--bg-card);border-left:3px solid var(--block-accent)}.appt-state.sin-pagar{border:1px dashed var(--border-color);border-left:3px solid var(--block-accent)}.appt-state.senal-pagada{--block-accent:var(--accent-info);--block-tint:var(--accent-info-tint)}.appt-state.pendiente-cobro{--block-accent:var(--accent-warning);--block-tint:var(--accent-warning-tint)}.appt-state.cobrada{--block-accent:var(--accent-success);--block-tint:var(--accent-success-tint)}.appt-state.cobrada,.appt-state.pendiente-cobro,.appt-state.senal-pagada{background-color:var(--block-tint)}.clinic-input-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem;width:var(--input-width,100%);box-sizing:border-box}.clinic-input-group.dense{margin-bottom:0}.clinic-input-group.size-sm .form-input{padding:.4rem .5rem;font-size:.85rem}.clinic-input-group .select-search-input,.clinic-input-group.size-sm .select-search-input{padding-left:2.1rem}.clinic-input-group .input-label{font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase}.clinic-input-group .input-label .required-asterisk{color:var(--accent-danger);margin-left:.15rem}.clinic-input-group .error-message,.clinic-input-group .warning-message{font-size:.75rem;font-weight:500;margin-top:.15rem}.clinic-input-group .error-message{color:var(--accent-danger)}.clinic-input-group .warning-message{color:var(--accent-warning-ink)}.clinic-input-group.has-error .form-input{border-color:var(--accent-danger)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-danger) 8%,transparent)!important}.clinic-input-group.shake-input{animation:input-shake .4s ease-in-out}@keyframes input-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.form-input{padding:.6rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-app);color:var(--text-main);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease;width:100%;box-sizing:border-box}.form-input.open,.form-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 10%,transparent)}.form-input:disabled{opacity:.55;cursor:not-allowed}button.form-input{display:flex;align-items:center;gap:.5rem;text-align:left;cursor:pointer}button.form-input:hover:not(:disabled){border-color:var(--accent-primary)}button.form-input:disabled{opacity:.55;cursor:not-allowed}.dropdown-panel{position:fixed;z-index:10500;padding:.25rem;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);box-sizing:border-box}.dropdown-option{display:block;width:100%;background:none;border:none;font-family:inherit;font-size:.85rem;text-align:left;color:var(--text-main);padding:.3rem .75rem;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .12s ease,color .12s ease;box-sizing:border-box}.dropdown-option.highlighted,.dropdown-option:hover:not(:disabled){background-color:var(--accent-primary-light);color:var(--accent-primary)}.dropdown-option.active{background-color:var(--accent-primary);color:var(--on-accent);font-weight:600}.dropdown-option:disabled{color:var(--text-muted);opacity:.6;cursor:not-allowed}.dropdown-empty{padding:.5rem .75rem;font-size:.85rem;color:var(--text-muted)}:root{--detail-max-width:1180px;--detail-identity-width:290px;--detail-gap:1.5rem;--detail-main-width:calc(var(--detail-max-width) - var(--detail-identity-width) - var(--detail-gap))}.detail-layout{display:grid;grid-template-columns:var(--detail-identity-width) minmax(0,1fr);gap:var(--detail-gap);align-items:start;width:100%;max-width:var(--detail-max-width);margin:0 auto}@media(max-width:900px){.detail-layout{grid-template-columns:1fr}}.identity-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem 1.25rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;text-align:center;transition:background-color .25s ease,border-color .25s ease}.identity-figure{width:64px;height:64px;border-radius:50%;background-color:var(--accent-secondary-tint);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.4rem;border:1px solid color-mix(in srgb,var(--accent-secondary) 30%,transparent);margin-bottom:.75rem;flex-shrink:0}.identity-title{font-size:1.15rem;font-weight:600;margin:0 0 .25rem;color:var(--text-main);line-height:1.3}.identity-code{font-size:.7rem;color:var(--text-muted);background-color:var(--bg-app);border:1px solid var(--border-color);padding:.15rem .45rem;border-radius:4px;margin-bottom:1.25rem}.identity-rows{gap:.65rem;text-align:left;font-size:.85rem}.identity-row,.identity-rows{width:100%;display:flex;flex-direction:column}.identity-row{align-items:flex-start;gap:.15rem}.identity-label{color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.identity-value{font-weight:600;color:var(--text-main);font-size:.85rem;line-height:1.3;overflow-wrap:anywhere}.detail-card-section{background-color:var(--bg-app);border:1px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.65rem;transition:background-color .25s ease,border-color .25s ease}.section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:.15rem}.summary-panel{background:var(--bg-app);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.6rem}.summary-row{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--text-main)}.summary-row.muted{color:var(--text-muted)}.summary-row.total{font-weight:700;border-top:1px solid var(--border-color);padding-top:.6rem;margin-top:.25rem}.u-flex{display:flex}.u-inline-flex{display:inline-flex}.u-flex-col{display:flex;flex-direction:column}.u-items-center{align-items:center}.u-items-start{align-items:flex-start}.u-justify-between{justify-content:space-between}.u-justify-center{justify-content:center}.u-justify-end{justify-content:flex-end}.u-wrap{flex-wrap:wrap}.u-flex-1{flex:1}.u-gap-1{gap:.35rem}.u-gap-2{gap:.6rem}.u-gap-3{gap:1rem}.u-gap-4{gap:1.5rem}.text-strong{font-weight:600;color:var(--text-main)}.text-success{color:var(--accent-success)}.text-warning{color:var(--accent-warning-ink)}.text-info{color:var(--accent-info)}.fs-xs{font-size:var(--fs-xs)}.fs-sm{font-size:var(--fs-sm)}.ta-right{text-align:right}.ta-center{text-align:center}.u-mt-0{margin-top:0}.u-mt-1{margin-top:.5rem}.u-mt-2{margin-top:1rem}.u-mt-3{margin-top:1.5rem}.u-mb-0{margin-bottom:0}.u-mb-1{margin-bottom:.5rem}.u-mb-2{margin-bottom:1rem}.u-mb-3{margin-bottom:1.5rem}.u-w-full{width:100%}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view-fade{animation:fade-in .25s ease}
