:root{color-scheme:light;--bg: #f4f4f6;--surface: #ffffff;--text: #4a4a4a;--text-heading: #803d7c;--muted: #6e6e78;--primary: #803d7c;--primary-hover: #6b3268;--primary-dark: #7b3078;--secondary: #d98cb3;--secondary-hover: #c580a4;--secondary-soft: #f5e4ef;--border: #e5dce8;--border-strong: #cdb8c9;--danger: #b91c4a;--danger-soft: #fce8ef;--sidebar: #803d7c;--sidebar-text: #ffffff;--sidebar-muted: rgba(255, 255, 255, .78);--sidebar-active: rgba(217, 140, 179, .38);--sidebar-hover: rgba(255, 255, 255, .14);--shadow: rgba(128, 61, 124, .14);--focus-ring: rgba(128, 61, 124, .35);font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}h1,h2,h3,h4{color:var(--text-heading)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse 80% 50% at 100% 0%,rgba(217,140,179,.22),transparent),radial-gradient(ellipse 60% 40% at 0% 100%,rgba(128,61,124,.1),transparent),var(--bg)}.login-brand{display:flex;justify-content:center;margin-bottom:.25rem}.login-logo{width:160px;height:160px;object-fit:contain;display:block}.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100dvh;height:100dvh;overflow:hidden}.admin-sidebar{background:linear-gradient(180deg,var(--primary-dark) 0%,var(--sidebar) 100%);color:var(--sidebar-text);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem;min-height:0;height:100%;max-height:100dvh;box-shadow:4px 0 24px var(--shadow);overflow:hidden}.admin-sidebar-nav-wrap{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.admin-sidebar-user{display:flex;align-items:center;gap:.65rem;width:100%;margin-top:auto;padding:.55rem .5rem;border:none;border-radius:.5rem;background:transparent;color:var(--sidebar-text);text-align:left;cursor:pointer;font:inherit}.admin-sidebar-user:hover{background:var(--sidebar-hover)}.admin-sidebar-user-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border-radius:999px;background:var(--sidebar-active);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.03em}.admin-sidebar-user-avatar--lg{width:2.75rem;height:2.75rem;font-size:.95rem}.admin-sidebar-user-details{display:flex;flex-direction:column;gap:.15rem;min-width:0}.admin-sidebar-user-name{font-size:.8125rem;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sidebar-user-email{font-size:.6875rem;font-weight:500;color:var(--sidebar-muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:flex-end}.sidebar-user-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#1e101c6b;cursor:pointer}.sidebar-user-drawer{position:relative;z-index:1;display:flex;flex-direction:column;width:min(300px,92vw);height:100%;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 32px var(--shadow);animation:sidebar-user-drawer-in .22s ease}@keyframes sidebar-user-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}.sidebar-user-drawer-header{display:flex;align-items:center;gap:.85rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border);background:var(--secondary-soft)}.sidebar-user-drawer-identity h2{margin:0;font-size:1rem;line-height:1.25}.sidebar-user-drawer-identity p{margin:.25rem 0 0;font-size:.8125rem;color:var(--muted);word-break:break-word}.sidebar-user-drawer-nav{display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.sidebar-user-drawer-link{display:flex;align-items:center;gap:.65rem;width:100%;padding:.65rem .75rem;border:none;border-radius:.5rem;background:transparent;color:var(--text);font:inherit;font-size:.9rem;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.sidebar-user-drawer-link:hover{background:var(--secondary-soft);color:var(--primary)}.sidebar-user-drawer-link--danger{color:var(--danger)}.sidebar-user-drawer-link--danger:hover{background:var(--danger-soft);color:var(--danger)}.profile-page{display:grid;gap:1.25rem;max-width:720px}.profile-page .page-toolbar{margin-bottom:0}.profile-page-lead{margin:.35rem 0 0;font-size:.9rem;color:var(--muted);line-height:1.45}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.profile-identity-card{display:grid;gap:1rem}.profile-identity-text{min-width:0}.profile-identity-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-heading)}.profile-identity-username{margin:.2rem 0 0;font-size:.875rem;color:var(--muted)}.profile-meta-list{display:grid;gap:0;margin:.25rem 0 0;padding:0;list-style:none;border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.profile-meta-list li{display:grid;grid-template-columns:minmax(6rem,8rem) 1fr;gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);background:var(--bg)}.profile-meta-list li:last-child{border-bottom:none}.profile-meta-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.profile-meta-value{font-size:.9rem;color:var(--text-heading);word-break:break-word}.profile-avatar-section{display:flex;flex-direction:column;gap:1.25rem}.profile-avatar-preview-wrap{display:flex;align-items:center;justify-content:center;padding:1.25rem;border:1px dashed var(--border-strong);border-radius:.5rem;background:var(--bg)}.profile-avatar-preview{width:6.5rem;height:6.5rem;border-radius:999px;object-fit:cover;border:2px solid var(--border)}.profile-avatar-fields{display:grid;gap:1rem}.profile-remove-avatar{margin:0}@media(min-width:640px){.profile-avatar-section{flex-direction:row;align-items:flex-start}.profile-avatar-preview-wrap{flex:0 0 9.5rem}.profile-avatar-fields{flex:1;min-width:0}}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;object-fit:cover;flex-shrink:0;font-weight:700;letter-spacing:.03em;background:var(--sidebar-active);color:#fff}.user-avatar--sm{width:2rem;height:2rem;font-size:.75rem}.user-avatar--md{width:2.5rem;height:2.5rem;font-size:.85rem}.user-avatar--lg{width:4.5rem;height:4.5rem;font-size:1.15rem}.admin-sidebar-user .user-avatar,.admin-sidebar-user .admin-sidebar-user-avatar{width:2rem;height:2rem;font-size:.75rem}.sidebar-user-drawer-header .user-avatar--lg{width:2.75rem;height:2.75rem}.admin-sidebar h1{font-size:1.1rem;margin:0;padding:0 .75rem;color:var(--sidebar-text);letter-spacing:.02em;display:flex;align-items:center;gap:.5rem;min-height:1.75rem}.admin-sidebar-logo{display:none;font-weight:700;font-size:1rem;line-height:1;letter-spacing:.02em}.admin-nav{display:flex;flex-direction:column;gap:.25rem}.admin-nav a{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;border-radius:.5rem;color:var(--sidebar-text);font-size:.8125rem;font-weight:600}.admin-nav a:hover{background:var(--sidebar-hover)}.admin-nav a[aria-current=page]{background:var(--sidebar-active);color:#fff}.admin-nav-group{display:flex;flex-direction:column;gap:.15rem}.admin-nav-group-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .65rem;border:none;border-radius:.5rem;background:transparent;color:var(--sidebar-text);font-size:.8125rem;font-weight:600;text-align:left;cursor:pointer}.admin-nav-group-toggle:hover,.admin-nav-group-toggle--active{background:var(--sidebar-hover)}.admin-nav-group-label{flex:1}.admin-nav-chevron{flex-shrink:0;opacity:.85;transition:transform .2s ease}.admin-nav-chevron--open{transform:rotate(180deg)}.admin-nav-submenu{display:flex;flex-direction:column;gap:.1rem;padding-left:.5rem;margin-left:.75rem;border-left:2px solid var(--sidebar-hover)}.admin-nav-submenu a{padding:.45rem .65rem;font-weight:500;font-size:.75rem}.admin-nav-group--nested{gap:.1rem}.admin-nav-group-toggle--nested{padding:.45rem .65rem;font-size:.75rem;font-weight:500}.admin-nav-submenu--nested{margin-left:.5rem;padding-left:.4rem}.admin-nav-submenu--nested a{font-size:.6875rem;padding:.4rem .55rem}@media(min-width:769px)and (hover:hover){.admin-shell--sidebar-collapsible{grid-template-columns:4.5rem 1fr;transition:grid-template-columns .22s ease}.admin-shell--sidebar-collapsible:has(.admin-sidebar:hover){grid-template-columns:260px 1fr}.admin-shell--sidebar-collapsible .admin-sidebar{overflow:hidden;transition:padding .22s ease}.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover){padding-left:.65rem;padding-right:.65rem}.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) h1{justify-content:center;padding-left:0;padding-right:0}.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-sidebar-logo{display:block}.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-nav-label,.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-nav-group-label,.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-nav-chevron,.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-nav-submenu{display:none!important}.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-nav a,.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-nav-group-toggle{justify-content:center;gap:0;padding-left:.5rem;padding-right:.5rem}.admin-shell--sidebar-collapsible .admin-sidebar:not(:hover) .admin-sidebar-user{justify-content:center;padding-left:.35rem;padding-right:.35rem}}.documento-comprobante-numeracion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;padding:1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--secondary-soft)}.documento-comprobante-readonly{display:flex;flex-direction:column;gap:.35rem}.documento-comprobante-readonly-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.documento-comprobante-readonly-value{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--text-heading)}.documento-comprobante-numeracion-hint{margin:-.5rem 0 1rem;font-size:.85rem;color:var(--muted)}.documento-sri-info{display:grid;gap:.75rem;margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--secondary-soft)}.documento-estado-sri{font-size:.75rem;font-weight:600}.documento-estado-sri--autorizado{color:#166534}.documento-estado-sri--recibida,.documento-estado-sri--pendiente{color:#854d0e}.documento-estado-sri--devuelta,.documento-estado-sri--no_autorizado,.documento-estado-sri--error{color:var(--danger)}@media(max-width:720px){.documento-comprobante-numeracion{grid-template-columns:1fr}}.documento-detalle-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:.5rem;background:var(--surface)}.documento-detalle-table{width:100%;min-width:960px;border-collapse:collapse;font-size:.8125rem}.documento-detalle-table thead th{background:var(--primary);color:#fff;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:.55rem .5rem;border-bottom:2px solid var(--primary-dark);white-space:nowrap}.documento-detalle-table tbody td{padding:.35rem .5rem;border-bottom:1px solid var(--border);vertical-align:middle}.documento-detalle-table tbody tr:hover{background:#803d7c0a}.documento-detalle-table tbody tr:last-child td{border-bottom:none}.documento-detalle-table .col-num{width:2.25rem;text-align:center;color:var(--muted);font-weight:600}.documento-detalle-table .col-producto{min-width:11rem}.documento-detalle-table .col-codigo{min-width:5.5rem}.documento-detalle-table .col-descripcion{min-width:10rem}.documento-detalle-table .col-qty{width:4.5rem}.documento-detalle-table .col-money{width:5.5rem;text-align:right}.documento-detalle-table .col-iva{width:4rem;text-align:right}.documento-detalle-table .col-calculated{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.documento-detalle-table .col-total-line{font-weight:600;color:var(--text-heading)}.documento-detalle-table .col-action{width:2.5rem;text-align:center}.documento-detalle-cell-input{width:100%;min-width:0;padding:.4rem .45rem;border:1px solid var(--border);border-radius:.35rem;font:inherit;font-size:.8125rem;background:#fff;color:var(--text)}.documento-detalle-cell-input:focus{outline:2px solid var(--focus-ring);outline-offset:0;border-color:var(--primary)}.documento-detalle-cell-input--right{text-align:right;font-variant-numeric:tabular-nums}.documento-detalle-cell-select{cursor:pointer}.documento-detalle-cell-text{display:block;padding:.25rem 0;line-height:1.35;word-break:break-word}.documento-detalle-cell-text--right{text-align:right;font-variant-numeric:tabular-nums}.documento-detalle-remove{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;border:none;border-radius:.35rem;background:transparent;color:var(--danger);cursor:pointer}.documento-detalle-remove:hover:not(:disabled){background:var(--danger-soft)}.documento-detalle-remove:disabled{opacity:.35;cursor:not-allowed}.documento-detalle-table-actions{margin-top:.75rem}.documento-factura-totals{display:flex;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:2px solid var(--border)}.documento-factura-totals-panel{min-width:280px;max-width:360px;width:100%;border:1px solid var(--border-strong);border-radius:.5rem;overflow:hidden;background:var(--surface);box-shadow:0 2px 8px var(--shadow)}.documento-factura-totals-title{margin:0;padding:.6rem 1rem;background:var(--primary);color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.documento-factura-totals-table{width:100%;border-collapse:collapse}.documento-factura-totals-table th,.documento-factura-totals-table td{padding:.5rem 1rem;font-size:.875rem;border-bottom:1px solid var(--border)}.documento-factura-totals-table th{font-weight:500;color:var(--muted);text-align:left}.documento-factura-totals-table td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-heading)}.documento-factura-totals-table tr:last-child th,.documento-factura-totals-table tr:last-child td{border-bottom:none}.documento-factura-totals-grand th,.documento-factura-totals-grand td{padding:.75rem 1rem;background:var(--secondary-soft);font-size:1rem;font-weight:700;color:var(--primary);border-top:2px solid var(--border-strong)}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:720px){.form-grid-2{grid-template-columns:1fr}}.admin-main{display:flex;flex-direction:column;min-height:0;overflow:hidden}.admin-main-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 1.5rem 1.5rem}.admin-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;gap:1rem;padding:1.5rem 1.5rem 1.25rem;overflow:visible}.admin-main:not(:has(.admin-header)) .admin-main-scroll{padding-top:1.5rem}.admin-header+.admin-main-scroll{padding-top:0}.admin-header strong{color:var(--text-heading)}.page-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;box-shadow:0 4px 20px var(--shadow)}.page-card-full{width:100%;max-width:none}.data-table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.data-table th,.data-table td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border)}.data-table th{background:var(--primary);color:#fff;font-weight:600;font-size:.8rem;border-bottom:none}.data-table tbody td{font-size:.8125rem;line-height:1.35}.data-table tbody tr:hover{background:var(--secondary-soft)}.data-table tbody tr:last-child td{border-bottom:none}.empty-state{color:var(--muted);padding:2rem 0;text-align:center}.error-page{padding:2rem}.page-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.page-toolbar h2,.page-card>h2{font-size:calc(1.5rem - 1pt);line-height:1.25}.form-card{max-width:520px}.form-card-wide{max-width:640px}.form-field{border:none;margin:0;padding:0}.file-field{display:grid;gap:.35rem;margin-top:.75rem;font-size:.9rem}.file-input{font:inherit}.logo-preview{max-width:120px;max-height:120px;object-fit:contain;margin:.5rem 0;border:1px solid var(--border);border-radius:.5rem;padding:.25rem;background:#fff}.form-stack{display:grid;gap:1rem}.empresa-form{display:flex;flex-direction:column;gap:1.25rem}.form-section{border:1px solid var(--border);border-radius:.75rem;overflow:hidden;background:var(--surface)}.form-section-header{padding:.875rem 1.25rem;background:var(--secondary-soft);border-bottom:1px solid var(--border)}.form-section-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-heading)}.form-section-description{margin:.35rem 0 0;font-size:.875rem;color:var(--muted);line-height:1.45}.form-section-body{padding:1.25rem}.form-grid{display:grid;gap:1rem 1.25rem;grid-template-columns:1fr}.form-grid-item--full{grid-column:1 / -1}@media(min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.checkbox-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.125rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg);cursor:pointer;transition:border-color .15s ease,background .15s ease}.checkbox-card:hover{border-color:var(--border-strong);background:var(--secondary-soft)}.checkbox-card input[type=checkbox]{margin-top:.2rem;width:1.1rem;height:1.1rem;flex-shrink:0;accent-color:var(--primary);cursor:pointer}.checkbox-card span{display:grid;gap:.25rem;font-size:.95rem;line-height:1.4}.checkbox-card strong{color:var(--text-heading);font-weight:600}.checkbox-card small{color:var(--muted);font-size:.85rem;font-weight:400}.logo-section{display:flex;flex-direction:column;gap:1.25rem}.logo-preview-wrap{display:flex;justify-content:center;padding:1rem;border:1px dashed var(--border-strong);border-radius:.5rem;background:var(--bg)}.logo-fields{display:grid;gap:1rem}@media(min-width:640px){.logo-section{flex-direction:row;align-items:flex-start}.logo-preview-wrap{flex:0 0 auto;min-width:140px}.logo-fields{flex:1;min-width:0}}.file-upload-card{display:grid;gap:.35rem;padding:1rem 1.125rem;border:1px dashed var(--border-strong);border-radius:.5rem;background:var(--bg);cursor:pointer;transition:border-color .15s ease,background .15s ease}.file-upload-card:hover{border-color:var(--primary);background:var(--secondary-soft)}.file-upload-label{font-weight:600;font-size:.9rem;color:var(--text-heading)}.file-upload-hint{font-size:.85rem;color:var(--muted)}.file-upload-card .file-input{margin-top:.35rem;font-size:.875rem}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.form-actions-bar{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 1.25rem;margin-top:.25rem;border:1px solid var(--border);border-radius:.75rem;background:var(--secondary-soft)}.checkbox-field{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.checkbox-field input[type=checkbox]{accent-color:var(--primary)}.switch-field{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.125rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg);cursor:pointer}.switch-field-text{display:grid;gap:.25rem;font-size:.95rem;line-height:1.4}.switch-field-text strong{color:var(--text-heading);font-weight:600}.switch-field-text small{color:var(--muted);font-size:.85rem;font-weight:400}.switch{position:relative;display:inline-flex;flex-shrink:0;width:2.75rem;height:1.5rem}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border-strong);transition:background .2s ease}.switch-slider:before{content:"";position:absolute;top:.15rem;left:.15rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a33;transition:transform .2s ease}.switch input:checked+.switch-slider{background:var(--primary)}.switch input:focus-visible+.switch-slider{outline:2px solid var(--primary);outline-offset:2px}.switch input:checked+.switch-slider:before{transform:translate(1.25rem)}.link-button{color:var(--primary);font-weight:600}button.link-button{background:none;border:none;padding:0;font:inherit;cursor:pointer}.link-button:hover{color:var(--primary-hover);text-decoration:underline}.btn-link{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border:none;border-radius:.5rem;font:inherit;font-weight:600;background:var(--primary);color:#fff;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:background .15s ease}.btn-link:hover:not(:disabled){background:var(--primary-hover)}.btn-link:disabled{opacity:.55;cursor:not-allowed}.btn-link-sm{font-size:11px;line-height:1.25;padding:.4rem .75rem;min-width:8.75rem;min-height:1.75rem;border-radius:.375rem;white-space:nowrap}.tabs-nav{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}.tab-link{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1rem;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.tab-link:hover{color:var(--primary)}.tab-link.active{color:var(--primary);border-bottom-color:var(--secondary)}.tab-panel{padding-top:.25rem}.row-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.icon-action-button,.icon-action-button-danger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.375rem;background:transparent;cursor:pointer;transition:background .15s ease,color .15s ease}.tooltip-trigger{position:relative;display:inline-flex;vertical-align:middle}.tooltip-bubble{position:absolute;left:50%;z-index:200;width:max-content;max-width:14rem;padding:.4rem .65rem;border-radius:.4rem;font-size:.78rem;font-weight:600;line-height:1.3;letter-spacing:.01em;color:#fff;text-align:center;white-space:nowrap;background:var(--primary-dark);box-shadow:0 4px 14px var(--shadow),0 0 0 1px #ffffff14 inset;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.tooltip-trigger--top .tooltip-bubble{bottom:calc(100% + .45rem);transform:translate(-50%) translateY(4px)}.tooltip-trigger--bottom .tooltip-bubble{top:calc(100% + .45rem);transform:translate(-50%) translateY(-4px)}.tooltip-bubble:after{content:"";position:absolute;left:50%;width:0;height:0;border:5px solid transparent;transform:translate(-50%)}.tooltip-trigger--top .tooltip-bubble:after{top:100%;border-top-color:var(--primary-dark)}.tooltip-trigger--bottom .tooltip-bubble:after{bottom:100%;border-bottom-color:var(--primary-dark)}.tooltip-trigger:hover .tooltip-bubble,.tooltip-trigger:focus-within .tooltip-bubble{opacity:1;visibility:visible}.tooltip-trigger--top:hover .tooltip-bubble,.tooltip-trigger--top:focus-within .tooltip-bubble{transform:translate(-50%) translateY(0)}.tooltip-trigger--bottom:hover .tooltip-bubble,.tooltip-trigger--bottom:focus-within .tooltip-bubble{transform:translate(-50%) translateY(0)}.tooltip-trigger--align-start .tooltip-bubble{left:0;transform:translateY(4px)}.tooltip-trigger--align-start.tooltip-trigger--bottom .tooltip-bubble{transform:translateY(-4px)}.tooltip-trigger--align-start .tooltip-bubble:after{left:1rem;transform:translate(-50%)}.tooltip-trigger--align-end .tooltip-bubble{left:auto;right:0;transform:translateY(4px)}.tooltip-trigger--align-end.tooltip-trigger--bottom .tooltip-bubble{transform:translateY(-4px)}.tooltip-trigger--align-end .tooltip-bubble:after{left:auto;right:1rem;transform:translate(50%)}.tooltip-trigger--align-start.tooltip-trigger--top:hover .tooltip-bubble,.tooltip-trigger--align-start.tooltip-trigger--top:focus-within .tooltip-bubble,.tooltip-trigger--align-start.tooltip-trigger--bottom:hover .tooltip-bubble,.tooltip-trigger--align-start.tooltip-trigger--bottom:focus-within .tooltip-bubble{transform:translateY(0)}.tooltip-trigger--align-end.tooltip-trigger--top:hover .tooltip-bubble,.tooltip-trigger--align-end.tooltip-trigger--top:focus-within .tooltip-bubble,.tooltip-trigger--align-end.tooltip-trigger--bottom:hover .tooltip-bubble,.tooltip-trigger--align-end.tooltip-trigger--bottom:focus-within .tooltip-bubble{transform:translateY(0)}.icon-action-button{color:var(--primary)}.icon-action-button:hover{background:var(--secondary-soft);color:var(--primary-hover)}.icon-action-button-danger{color:var(--danger)}.icon-action-button-danger:hover{background:var(--danger-soft)}.link-button-danger{color:var(--danger);background:none;border:none;padding:0;font:inherit;font-weight:600;cursor:pointer}.link-button-danger:hover{text-decoration:underline}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#803d7c6b;cursor:pointer}.modal-dialog{position:relative;z-index:1;width:100%;max-width:480px;max-height:min(90vh,720px);overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;box-shadow:0 20px 48px var(--shadow)}.modal-dialog--wide{max-width:640px}.modal-dialog--xwide{max-width:min(1120px,96vw)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--secondary-soft)}.modal-header h3{color:var(--text-heading)}.modal-body{padding:1.25rem}.modal-dialog--form{display:flex;flex-direction:column;max-height:min(92vh,820px);overflow:hidden}.modal-dialog--form .modal-body{flex:1;overflow-y:auto;padding:1rem 1.25rem .5rem}.modal-header-description{margin:.35rem 0 0;font-size:.875rem;color:var(--muted);line-height:1.45;max-width:28rem}.persona-form{display:flex;flex-direction:column;gap:1rem}.persona-form--modal{gap:0}.persona-form--modal .form-section+.form-section{margin-top:1rem}.persona-form-modal{display:flex;flex-direction:column;min-height:0}.clase-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(max-width:480px){.clase-selector{grid-template-columns:1fr}}.clase-option{display:block;cursor:pointer}.clase-option-input{position:absolute;opacity:0;width:0;height:0}.clase-option-card{display:grid;gap:.25rem;padding:1rem 1.125rem;border:2px solid var(--border);border-radius:.625rem;background:var(--bg);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.clase-option:hover .clase-option-card{border-color:var(--border-strong);background:var(--secondary-soft)}.clase-option-input:focus-visible+.clase-option-card{outline:2px solid var(--primary);outline-offset:2px}.clase-option-input:checked+.clase-option-card{border-color:var(--primary);background:var(--secondary-soft);box-shadow:0 0 0 1px var(--primary)}.clase-option-title{font-weight:600;font-size:.95rem;color:var(--text-heading)}.clase-option-description{font-size:.8rem;color:var(--muted);line-height:1.4}.form-page-footer{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.modal-form-footer{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.75rem;margin:1rem -1.25rem 0;padding:1rem 1.25rem;border-top:1px solid var(--border);background:var(--surface);position:sticky;bottom:0;z-index:1}.empresa-badge-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.empresa-badge{display:inline-block;padding:.35rem .65rem;border-radius:999px;font-size:.85rem;font-weight:600;background:var(--primary-soft, rgba(99, 102, 241, .12));color:var(--primary);border:1px solid var(--border)}.empresa-select-form{display:flex;flex-direction:column;gap:1rem}.empresa-select-form--page{margin-top:1.25rem}.empresa-select-list{display:flex;flex-direction:column;gap:.5rem;max-height:min(50vh,360px);overflow-y:auto;padding-right:.15rem}.empresa-select-card{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--border);border-radius:.5rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.empresa-select-card:hover{border-color:var(--border-strong);background:var(--secondary-soft)}.empresa-select-card:has(input:checked){border-color:var(--primary);background:var(--secondary-soft);box-shadow:0 0 0 1px var(--primary)}.empresa-select-card input[type=radio]{margin-top:.2rem;accent-color:var(--primary);flex-shrink:0}.empresa-select-card-content{display:flex;flex-direction:column;gap:.2rem;min-width:0}.empresa-select-card-content strong{color:var(--text-heading);font-size:.95rem}.empresa-select-card-meta{color:var(--muted);font-size:.85rem}@media(max-width:768px){.admin-shell{grid-template-columns:1fr;height:auto;min-height:100dvh;overflow:visible}.admin-sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;height:auto;max-height:none;overflow:visible;position:sticky;top:0;z-index:40;box-shadow:0 4px 16px var(--shadow)}.admin-sidebar-nav-wrap{overflow:visible}.admin-main{overflow:visible;min-height:auto}.admin-main-scroll{overflow-y:visible;min-height:auto;padding:0 1rem 1rem}.admin-main:not(:has(.admin-header)) .admin-main-scroll{padding-top:1rem}.admin-header{padding:1rem 1rem .75rem}.admin-nav{flex-direction:row;flex-wrap:wrap}}
