.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.login-card{background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-card h1{text-align:center;color:#1e293b;margin:0 0 6px;font-size:30px;letter-spacing:.12em}.login-subtitulo{text-align:center;margin:0 0 30px;color:#64748b;font-size:.95rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.login-card button{padding:12px 28px;background:var(--app-primary, #ef6603);color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.login-card button:hover{background:#d45a00}.login-card button:disabled{background:#ccc;cursor:not-allowed}.error{background:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:20px;text-align:center;font-size:14px}.th-orden button{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.th-orden i{font-size:.75rem;color:#cbd5e1;transition:color .15s}.th-orden button:hover i,.th-orden.activo i{color:var(--app-primary, #ef6603)}.th-orden.activo button{color:var(--page-text, #1e293b)}.th-orden button:focus-visible{outline:2px solid var(--app-primary, #ef6603);outline-offset:-2px}.importe{font-variant-numeric:tabular-nums;white-space:nowrap}.importe.importe-negativo{color:var(--app-danger, #dc2626)}.table-container .col-acciones{position:sticky;right:0;background:#fff;box-shadow:-6px 0 8px -6px #0f172a26}.table-container thead .col-acciones{background:#f5f5f5}.table-container tbody tr:hover .col-acciones{background:#fafafa}.table-container td,.table-container th{white-space:nowrap}.btn-icono{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;font-size:14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;vertical-align:middle}.btn-icono+.btn-icono{margin-left:4px}.btn-icono:focus-visible{outline:2px solid var(--app-primary, #ef6603);outline-offset:2px}.btn-icono:disabled{opacity:.35;cursor:not-allowed}.btn-icono-neutro{color:#475569;border-color:#e2e8f0;background:#fff}.btn-icono-primario{color:var(--app-primary, #ef6603);border-color:#fed7aa;background:#fff7ed}.btn-icono-exito{color:#15803d;border-color:#bbf7d0;background:#f0fdf4}.btn-icono-peligro{color:var(--app-danger, #dc2626);border-color:#fecaca;background:#fef2f2}.btn-icono-neutro:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.btn-icono-primario:hover:not(:disabled){background:#ffedd5;border-color:var(--app-primary, #ef6603)}.btn-icono-exito:hover:not(:disabled){background:#dcfce7;border-color:#15803d}.btn-icono-peligro:hover:not(:disabled){background:#fee2e2;border-color:var(--app-danger, #dc2626)}.albaranes-details{padding:4px 0 8px}.albaranes-details h4{margin:4px 0 8px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.albaranes-details .tabla-detalle{background:#fff;border:1px solid #e2e8f0;border-radius:6px}.albaranes-details .tabla-detalle tfoot td{font-weight:600;background:#f8fafc;border-bottom:none}.cuadre-ok,.cuadre-diferencia{display:inline-flex;align-items:center;gap:6px;font-weight:600}.cuadre-ok{color:#15803d}.cuadre-diferencia{color:#b45309}.texto-estado{font-weight:600}.texto-estado-abierta{color:#b45309}.texto-estado-cerrada{color:#15803d}.texto-cantidad{font-weight:600;color:#2563eb;font-variant-numeric:tabular-nums}.texto-cantidad.texto-tenue{font-weight:400;color:#94a3b8}.select-estado-pago{padding:4px 6px;border:1px solid #e2e8f0;border-radius:4px;background:#fff;color:#1e293b;font:inherit;font-size:.85rem;max-width:220px;cursor:pointer}.select-estado-pago:hover{border-color:#cbd5e1}.select-estado-pago:focus-visible{outline:2px solid var(--app-primary, #ef6603);outline-offset:1px}.select-estado-pago.pagada{color:#15803d;font-weight:600}.select-estado-pago:disabled{opacity:.6;cursor:wait}.enlace-proveedor{color:inherit;text-decoration:none;border-bottom:1px dotted #94a3b8}.enlace-proveedor:hover,.enlace-proveedor:focus-visible{color:var(--app-primary, #ef6603);border-bottom-color:currentColor;outline:none}.vencimiento{display:inline-flex;align-items:center;gap:6px;color:#6d28d9;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.vencimiento i{font-size:.85em}.vencimiento.vencida{color:#b91c1c}.vencimiento.pagada{color:#6d28d9;font-weight:400;opacity:.7}.vencimiento-dias{font-weight:500}.marca-vencimiento{margin-left:6px;color:#6d28d9;font-size:.85em}.marca-vencimiento.vencida{color:#b91c1c}.fila-enlace{cursor:pointer}.fila-enlace:hover,.fila-enlace:focus-visible{background:#fff7f2;outline:none}.global-search-container{position:relative;width:100%;max-width:820px;margin:24px 0 8px}.global-search-input-wrapper{position:relative;display:flex;align-items:center}.global-search-icon{position:absolute;left:18px;font-size:18px;color:#64748b;pointer-events:none}.global-search-input{width:100%;height:52px;padding:0 48px 0 52px;font-size:1rem;font-family:inherit;border:1px solid #cbd5e1;border-radius:10px;background-color:#fff;color:#1e293b;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.global-search-input::placeholder{color:#94a3b8}.global-search-input:focus{border-color:var(--app-primary, #ef6603);box-shadow:0 0 0 3px #ef660326}.global-search-input:focus+.search-loading,.global-search-input-wrapper:focus-within .global-search-icon{color:var(--app-primary, #ef6603)}.search-loading{position:absolute;right:18px;font-size:16px;color:#64748b}.global-search-results{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:500px;overflow-y:auto;z-index:1000}.search-section{border-bottom:1px solid #eee}.search-section:last-child{border-bottom:none}.search-section-title{padding:10px 16px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;background-color:#f9f9f9;letter-spacing:.5px}.search-list{list-style:none;margin:0;padding:0}.search-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .15s ease}.search-item.activo{background-color:#fff7f2}.search-item-ir{margin-left:12px;font-size:12px;color:transparent;flex-shrink:0}.search-item.activo .search-item-ir{color:var(--app-primary, #ef6603)}.search-item:last-child{border-bottom:none}.search-type{font-size:18px;width:20px;text-align:center;margin-right:12px;flex-shrink:0;color:#64748b}.search-item-content{flex:1;min-width:0}.search-item-title{font-size:14px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-subtitle{font-size:12px;color:#999;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-amount{font-size:14px;font-weight:600;color:#1e293b;flex-shrink:0;margin-left:12px}.search-ayuda{padding:8px 16px;font-size:12px;color:#94a3b8;border-top:1px solid #f0f0f0;background:#fafafa}.search-empty{padding:20px 16px;text-align:center;color:#999;font-size:14px}.global-search-results::-webkit-scrollbar{width:6px}.global-search-results::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.global-search-results::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.global-search-results::-webkit-scrollbar-thumb:hover{background:#999}:root{--page-bg: #f8fafc;--page-text: #1e293b;--page-text-muted: #64748b;--page-header-bg: white;--page-card-bg: white;--page-border: #e2e8f0}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--page-bg: #f8fafc;--page-text: #1e293b;--page-text-muted: #64748b;--page-header-bg: white;--page-card-bg: white;--page-border: #e2e8f0}}:root[data-theme=dark]{--page-bg: #f8fafc;--page-text: #1e293b;--page-text-muted: #64748b;--page-header-bg: white;--page-card-bg: white;--page-border: #e2e8f0}.page-container{max-width:none;margin:0;padding:0;background:var(--page-bg);color:var(--page-text);min-height:100vh;display:flex;flex-direction:column}.page-header{background:var(--page-header-bg);padding:28px 32px;border-bottom:1px solid var(--page-border);margin-bottom:32px}.page-header h1{font-size:2rem;font-weight:700;margin:0 0 8px;color:var(--page-text)}.page-header p{font-size:1rem;margin:0;color:var(--page-text-muted)}.page-header-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.page-content{flex:1;padding:0 32px 32px}.resumen-pagos{display:flex;flex-wrap:wrap;gap:16px;margin:24px 0}.resumen-card{display:flex;flex-direction:column;gap:6px;padding:16px 24px;min-width:160px;background:var(--page-card-bg);border:1px solid var(--page-border);border-radius:8px}.resumen-card.destacado{border-color:var(--app-primary, #ef6603);border-left-width:4px}.resumen-label{font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--page-text-muted)}.resumen-valor{font-size:1.6rem;font-weight:700;color:var(--page-text);font-variant-numeric:tabular-nums}.resumen-card.destacado .resumen-valor{color:var(--app-primary, #ef6603)}.resumen-card.destacado.vencido{border-color:#b91c1c}.resumen-card.destacado.vencido .resumen-valor{color:#b91c1c}.estado-pago{font-weight:600}.estado-pago-proximo{color:#b45309}.estado-pago-vencido{color:#b91c1c}.estado-pago-ok{color:#15803d}.notas-prevision{margin:0 0 24px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--page-text-muted)}.notas-prevision li:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:8px}.notas-prevision .nota-atencion{color:#b45309}.celda-iban{font-variant-numeric:tabular-nums;white-space:nowrap}.tabla-pagos{width:100%;border-collapse:collapse;background:var(--page-card-bg);border:1px solid var(--page-border);border-radius:8px;overflow:hidden}.tabla-pagos th,.tabla-pagos td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--page-border)}.tabla-pagos thead th{background:#f8fafc;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--page-text-muted)}.tabla-pagos .num{text-align:right;font-variant-numeric:tabular-nums}.tabla-pagos .monto{font-weight:600}.tabla-pagos .chevron{width:36px;color:var(--page-text-muted)}.fila-proveedor{cursor:pointer}.fila-proveedor:hover{background:#fff7f2}.fila-detalle>td{background:#f8fafc;padding:0 16px 16px 0}.tabla-detalle{width:100%;border-collapse:collapse}.tabla-detalle th,.tabla-detalle td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--page-border);font-size:.9rem}.tabla-detalle thead th{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--page-text-muted)}.tabla-detalle .num{text-align:right;font-variant-numeric:tabular-nums}.tabla-pagos tfoot td{background:#f8fafc;font-weight:700;border-bottom:none}.modal-card{background:var(--page-card-bg);border-radius:8px;padding:28px;width:100%;max-width:440px;box-shadow:0 10px 40px #00000040}.modal-card h2{margin:0 0 4px;font-size:1.25rem;color:var(--page-text)}.modal-sub{margin:0 0 4px;font-size:.9rem;color:var(--page-text-muted)}.campo-label{display:block;margin:16px 0 8px;font-weight:500;color:var(--page-text)}.campo-select{width:100%;padding:10px 12px;border:1px solid var(--page-border);border-radius:6px;background:var(--page-card-bg);color:var(--page-text);font-size:.95rem;font-family:inherit}.modal-acciones{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.tabla-pagos .check{width:44px;text-align:center}.tabla-pagos .check input{cursor:pointer;width:16px;height:16px;accent-color:var(--app-primary, #ef6603)}.tabla-pagos .check input:disabled{cursor:not-allowed;opacity:.4}.texto-tenue{color:var(--page-text-muted)}.titulo-seccion{margin:40px 0 16px;font-size:1.05rem;font-weight:600;color:var(--page-text)}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 16px}.list-count{font-size:.9rem;font-weight:500;color:var(--page-text-muted)}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:32px}.section-card{background:var(--page-card-bg);border:1px solid var(--page-border);border-radius:8px;padding:24px;transition:all .2s ease}.section-card:hover{border-color:var(--app-primary, #ef6603);box-shadow:0 4px 12px #ef66031a}.section-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.section-card-header i{font-size:1.5rem;color:var(--app-primary, #ef6603);flex-shrink:0}.section-card h2{font-size:1.25rem;font-weight:600;margin:0;color:var(--page-text)}.section-card-description{font-size:.95rem;line-height:1.6;color:var(--page-text-muted);margin:12px 0 20px}.tabs-container{background:var(--page-card-bg);border-radius:8px;border:1px solid var(--page-border);overflow:hidden}.tabs{display:flex;gap:0;border-bottom:2px solid var(--page-border);background:var(--page-card-bg);padding:0;margin:0}.tab{padding:14px 20px;background:transparent;border:none;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--page-text-muted);border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.tab:hover{color:var(--page-text);background:#ef66030d}.tab-content{padding:24px;background:var(--page-card-bg);min-height:300px}.empty-state{text-align:center;padding:60px 20px;color:var(--page-text-muted);font-size:1rem}.form-container{background:var(--page-card-bg);border:1px solid var(--page-border);border-radius:8px;padding:24px}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:.95rem;border-left:4px solid transparent}.alert-error{background:#dc26261a;color:#dc2626;border-left-color:#dc2626}.alert-success{background:#22c55e1a;color:#22c55e;border-left-color:#22c55e}.alert-warning{background:#f59e0b1a;color:#f59e0b;border-left-color:#f59e0b}@media (max-width: 1024px) and (min-width: 768px){.page-header{padding:20px 24px}.page-content{padding:0 24px 24px}.page-header h1{font-size:1.75rem}.section-grid{grid-template-columns:1fr;gap:20px}}@media (max-width: 767px){.page-container{min-height:calc(100vh - 70px)}.page-header{padding:16px;margin-bottom:20px}.page-header h1{font-size:1.5rem}.page-header p{font-size:.9rem}.page-content{padding:0 12px 20px}.section-grid{grid-template-columns:1fr;gap:16px;margin-bottom:20px}.section-card{padding:16px}.section-card-header{gap:10px}.section-card h2{font-size:1.1rem}.section-card-description{font-size:.9rem}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:12px 14px;font-size:.85rem}.tab-content{padding:16px;min-height:200px}.empty-state{padding:40px 20px;font-size:.9rem}}@media (max-width: 479px){.page-header{padding:12px}.page-header h1{font-size:1.25rem}.page-content{padding:0 10px 16px}.section-grid{gap:12px}.section-card{padding:12px}.tab{padding:10px 12px;font-size:.8rem}.page-header-actions{gap:8px}.page-header-actions .btn{flex:1;min-width:0;font-size:.85rem}}.filtro-documento{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 0;padding:10px 16px;background:#fff7f2;border:1px solid #fed7aa;border-radius:8px;font-size:.9rem;color:var(--page-text)}.titulo-vencimientos{display:flex;align-items:center;gap:8px;margin-top:8px;color:#6d28d9}.titulo-vencimientos+.texto-tenue{margin:-8px 0 12px;font-size:.9rem}.inicio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.panel-inicio{display:flex;flex-direction:column;gap:20px;padding:20px 24px 24px;background:var(--page-card-bg);border:1px solid var(--page-border);border-radius:8px;min-width:0}.panel-inicio-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-inicio-cabecera h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--page-text)}.panel-inicio-cabecera p{margin:4px 0 0;font-size:.85rem;color:var(--page-text-muted)}.enlace-panel{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:4px 0;background:none;border:none;font:inherit;font-size:.875rem;font-weight:500;color:var(--app-primary, #ef6603);white-space:nowrap;cursor:pointer}.enlace-panel i{font-size:.75rem;transition:transform .15s ease}.enlace-panel:hover{text-decoration:underline}.enlace-panel:hover i{transform:translate(2px)}.enlace-panel:focus-visible{outline:2px solid var(--app-primary, #ef6603);outline-offset:2px;border-radius:2px}.panel-cifras{display:flex;flex-wrap:wrap;gap:12px 40px}.cifra{display:flex;flex-direction:column;gap:2px}.cifra-valor{font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--page-text);font-variant-numeric:tabular-nums}.cifra-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--page-text-muted)}.cifras-vencidas .cifra-valor{color:#b91c1c}.panel-inicio>.estado-pago{margin:0;font-size:.95rem}.tabla-inicio{width:100%;border-collapse:collapse;font-size:.9rem}.tabla-inicio caption{caption-side:top;padding-bottom:8px;text-align:left;font-size:.8rem;font-weight:600;color:var(--page-text)}.tabla-inicio th,.tabla-inicio td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--page-border);white-space:nowrap;vertical-align:middle}.tabla-inicio th:first-child,.tabla-inicio td:first-child{padding-left:0}.tabla-inicio th:last-child,.tabla-inicio td:last-child{padding-right:0}.tabla-inicio thead th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--page-text-muted)}.tabla-inicio .num{text-align:right;font-variant-numeric:tabular-nums}.tabla-inicio .celda-documento{width:100%;max-width:0}.documento-ref,.documento-detalle{display:block;overflow:hidden;text-overflow:ellipsis}.documento-ref{font-weight:500;font-variant-numeric:tabular-nums;color:var(--page-text)}.documento-detalle{margin-top:2px;font-size:.8rem;color:var(--page-text-muted)}.tabla-inicio .fila-otros td{color:var(--page-text-muted)}.tabla-inicio tfoot td{font-weight:700;border-bottom:none}.panel-vacio{margin:0;font-size:.9rem;color:var(--page-text-muted)}@media (max-width: 1180px){.inicio-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 767px){.panel-inicio{padding:16px}.cifra-valor{font-size:1.4rem}}.panel-vencimientos{margin:8px 0 24px;border-color:#c4b5fd}.panel-vencimientos .panel-inicio-cabecera h2{color:#6d28d9}.panel-vencimientos.con-vencidas{border-color:#fca5a5}.tabla-vencimientos .documento-detalle .enlace-proveedor{color:inherit}.migas{margin:0 0 4px!important;font-size:.75rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--app-primary, #ef6603)!important}.datos-proveedor{display:flex;flex-wrap:wrap;gap:8px 32px;margin:12px 0 0}.datos-proveedor div{display:flex;flex-direction:column;gap:2px}.datos-proveedor dt{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--page-text-muted)}.datos-proveedor dd{margin:0;font-size:.95rem;color:var(--page-text)}.resumen-detalle{font-size:.8rem;color:var(--page-text-muted)}.grupos-docs{display:flex;flex-direction:column;gap:16px}.grupo-docs{background:var(--page-card-bg);border:1px solid var(--page-border);border-radius:8px;overflow:hidden}.grupo-cabecera{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px}.grupo-cabecera h3{margin:0;font-size:1rem;font-weight:600;color:var(--page-text)}.grupo-cabecera p{margin:2px 0 0;font-size:.82rem;color:var(--page-text-muted)}.grupo-totales{display:flex;align-items:baseline;gap:16px;flex-shrink:0;font-variant-numeric:tabular-nums}.grupo-cantidad{font-size:.85rem;color:var(--page-text-muted)}.grupo-monto{font-size:1.1rem;font-weight:700;color:var(--page-text)}.grupo-abiertas h3,.grupo-en_abierta h3{color:#b45309}.grupo-pendientes h3,.grupo-sin_factura h3{color:#c2410c}.grupo-pagadas h3,.grupo-en_cerrada h3{color:#15803d}.grupo-vacio{margin:0;padding:0 18px 14px;font-size:.85rem;color:var(--page-text-muted)}.grupo-tabla{overflow-x:auto;border-top:1px solid var(--page-border)}.grupo-tabla .tabla-pagos{border:none;border-radius:0}@media (max-width: 767px){.grupo-cabecera{flex-direction:column;align-items:flex-start}}.searchable-select-container{position:relative;width:100%}.searchable-select-label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.searchable-select-label .required{color:#e74c3c}.searchable-select-input-wrapper{position:relative;display:flex;align-items:center}.searchable-select-input{width:100%;padding:10px 32px 10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;transition:all .2s;font-family:inherit}.searchable-select-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.searchable-select-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.searchable-select-arrow{position:absolute;right:12px;pointer-events:none;color:#999;font-size:12px;-webkit-user-select:none;user-select:none}.searchable-select-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #0000001a}.searchable-select-list{list-style:none;margin:0;padding:0}.searchable-select-item{padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.searchable-select-item:last-child{border-bottom:none}.searchable-select-item:hover{background-color:#f5f7ff;color:#667eea}.searchable-select-item.selected{background-color:#e8ebff;color:#667eea;font-weight:500}.searchable-select-empty{padding:15px 12px;text-align:center;color:#999;font-size:14px}.searchable-select-dropdown::-webkit-scrollbar{width:6px}.searchable-select-dropdown::-webkit-scrollbar-track{background:#f1f1f1}.searchable-select-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.searchable-select-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.form-container{display:flex;flex-direction:column;gap:20px}.form-container h2{margin:0 0 20px;font-size:22px;color:#333;border-bottom:2px solid #667eea;padding-bottom:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row.full{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.form-group input,.form-group select{padding:12px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;width:100%;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:read-only{background:#f5f5f5;color:#999;cursor:not-allowed}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px;border-top:1px solid #e0e0e0;padding-top:20px}.btn{padding:12px 24px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3}.btn-success{background:#4caf50;color:#fff}.btn-success:hover:not(:disabled){background:#45a049}.btn-success:disabled{background:#ccc;cursor:not-allowed}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}.btn-sm{padding:6px 12px;font-size:13px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.campo-ayuda{display:block;margin-top:6px;font-size:.8rem;color:#64748b}.paginacion{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin:16px 0 8px;font-size:.9rem;color:#64748b}.paginacion-info strong{color:#1e293b;font-variant-numeric:tabular-nums}.paginacion-paginas{display:flex;align-items:center;gap:4px}.paginacion-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;font-size:.9rem;font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s,border-color .15s}.paginacion-btn:hover:not(:disabled):not(.activa){border-color:var(--app-primary, #ef6603);color:var(--app-primary, #ef6603)}.paginacion-btn:focus-visible{outline:2px solid var(--app-primary, #ef6603);outline-offset:2px}.paginacion-btn.activa{background:var(--app-primary, #ef6603);border-color:var(--app-primary, #ef6603);color:#fff;font-weight:600;cursor:default}.paginacion-btn:disabled{opacity:.4;cursor:not-allowed}.paginacion-salto{padding:0 4px}.paginacion-tamanio{display:flex;align-items:center;gap:8px}.paginacion-tamanio select{height:36px;padding:0 8px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e293b;font-family:inherit}.table-container{overflow-x:auto;border-radius:4px;border:1px solid #e0e0e0}table{width:100%;border-collapse:collapse;font-size:14px}table thead{background:#f5f5f5;border-bottom:2px solid #ddd}table th{padding:12px;text-align:left;font-weight:600;color:#555;font-size:13px}table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#333}table td:last-child{text-align:right;white-space:nowrap}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.badge-abierta{background:#fff3cd;color:#856404}.badge-cerrada{background:#d4edda;color:#155724}table td .btn{width:auto;display:inline-block;margin-right:6px}table td .btn:last-child{margin-right:0}.info-box{background:#f9f9f9;padding:15px;border-radius:4px;border-left:4px solid #667eea;margin-bottom:20px}.info-box p{margin:8px 0;font-size:14px}.info-box strong{color:#333}.expansion-row{background:#f9f9f9}.expansion-row:hover{background:#f5f5f5}.albaranes-details{padding:20px}.albaranes-details h4{margin-top:0;margin-bottom:12px;color:#333;font-size:14px}.albaranes-list{display:flex;flex-direction:column;gap:12px}.albaran-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff;border:1px solid #e0e0e0;border-radius:4px}.albaran-info{display:flex;align-items:center;gap:16px;flex:1}.albaran-info strong{min-width:100px;color:#333}.albaran-date,.albaran-supplier,.albaran-total{font-size:13px;color:#666;white-space:nowrap}.albaran-supplier{color:#999;font-style:italic}.albaran-total{font-weight:600;color:#4caf50;margin-left:auto}.btn-link-text{background:none;border:none;padding:0;cursor:pointer;font-size:inherit;color:#4caf50;text-decoration:underline}.btn-link-text:hover{color:#388e3c}.albaran-badge{display:inline-block;padding:4px 8px;background:#f0f7ff;border-radius:4px;color:#1976d2;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.albaran-badge:hover{background:#e3f2fd}.empty-state{padding:40px;text-align:center;color:#999;font-size:14px}.confirm-dialog{max-width:400px}.confirm-body{padding:20px}.confirm-body h3{margin:0 0 12px;color:#333;font-size:16px}.confirm-body p{margin:0;color:#666;font-size:14px;line-height:1.5}.confirm-actions{display:flex;gap:12px;padding:12px 20px;background:#f5f5f5;border-top:1px solid #e0e0e0;justify-content:flex-end}.btn-secondary{background:#e0e0e0;color:#333;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-secondary:hover{background:#d0d0d0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content-large{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.modal-header h2{margin:0;font-size:20px;color:#333}.modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin:-10px}.modal-body{flex:1;overflow-y:auto;padding:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:20px;border-top:1px solid #e0e0e0;flex-shrink:0}.albaranes-list{margin-bottom:20px}.albaranes-list h3{margin:0 0 15px;font-size:14px;font-weight:600;color:#555}.checkboxes{display:flex;flex-direction:column;gap:10px}.checkbox-item{display:flex;align-items:center;gap:10px;cursor:pointer;padding:10px;border-radius:4px;transition:background .2s}.checkbox-item:hover{background:#f5f5f5}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.checkbox-label{font-size:14px;color:#333}.selected-info{background:#f0f3ff;padding:12px;border-radius:4px;border-left:3px solid #667eea;margin-top:15px}.selected-info p{margin:0;font-size:14px;color:#555}.selected-info strong{color:#667eea}.text-muted{color:#999;font-size:13px}.dashboard-container{max-width:1400px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.dashboard-header h1{margin:0;font-size:28px;color:var(--app-text, #333);flex:1;min-width:200px}.header-buttons{display:flex;gap:10px;flex-wrap:wrap}.tabs{display:flex;gap:0;border-bottom:2px solid #e0e0e0;margin-bottom:20px}.tab{padding:12px 20px;background:transparent;border:none;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .2s}.tab:hover{color:#333;background:#f5f5f5}.tab.active{color:var(--app-primary, #ef6603);border-bottom-color:var(--app-primary, #ef6603)}.tab-content{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;min-height:300px}.empty-state{text-align:center;padding:60px 20px;color:#999;font-size:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:30px;max-width:95vw;width:95%;max-height:95vh;overflow-y:auto;position:relative;display:flex;flex-direction:column}.modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.alert{padding:12px 16px;border-radius:4px;margin-bottom:15px;font-weight:500;font-size:14px}.section-title{font-size:14px;font-weight:600;color:#555;margin-top:20px;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.section-title:first-of-type{margin-top:0}@media (max-width: 1024px) and (min-width: 768px){.dashboard-container{padding:16px}.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-header h1{font-size:24px;width:100%}.header-buttons{width:100%;gap:8px}.header-buttons button{flex:1;min-width:0}.tab{padding:10px 16px;font-size:13px}.tab-content{padding:16px}}@media (max-width: 767px){.dashboard-container{padding:12px}.dashboard-header{flex-direction:column;align-items:stretch;margin-bottom:20px}.dashboard-header h1{font-size:20px;width:100%}.header-buttons{width:100%;flex-direction:column}.header-buttons button{width:100%;padding:12px 16px;font-size:14px}.tabs{gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{padding:10px 14px;font-size:12px;white-space:nowrap}.tab-content{padding:12px;min-height:200px}.modal-content{max-width:100vw;width:100%;max-height:90vh;border-radius:0;padding:20px}.modal-close{top:10px;right:10px;font-size:24px;width:28px;height:28px}}@media (max-width: 479px){.dashboard-container{padding:10px}.dashboard-header h1{font-size:18px}.header-buttons button{font-size:12px;padding:10px 12px}.tabs{margin-bottom:16px}.tab{padding:8px 12px;font-size:11px}.tab-content{padding:10px}.modal-content{padding:16px}.section-title{font-size:12px;margin-top:16px}.alert{font-size:12px;padding:10px 12px}}.admin-container{display:flex;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--page-bg)}.admin-sidebar{width:200px;background:var(--page-card-bg);border-right:1px solid var(--page-border);padding:20px 0;overflow-y:auto}.admin-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.admin-header{padding:28px 32px;border-bottom:1px solid var(--page-border);background:var(--page-header-bg)}.admin-header h1{margin:0 0 8px;font-size:2rem;font-weight:700;color:var(--page-text)}.admin-header p{font-size:1rem;margin:0;color:var(--page-text-muted)}.admin-content{flex:1;overflow-y:auto;padding:32px;background:var(--page-bg)}.admin-tabs{display:flex;flex-direction:column;gap:0}.tab-button{padding:12px 16px;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--page-text-muted);text-align:left;transition:all .2s ease}.tab-button.active{background:#ef66031a;color:var(--app-primary, #ef6603);border-left:3px solid var(--app-primary, #ef6603)}.tab-section h2{color:var(--page-text);margin:0 0 20px;font-size:1.25rem;font-weight:600}.admin-form-row{display:flex;gap:8px;margin-bottom:15px;align-items:flex-end;flex-wrap:wrap}.admin-form-row input,.admin-form-row select{padding:8px 12px;border:1px solid var(--page-border);border-radius:4px;font-size:.9rem;font-family:inherit;background:var(--page-card-bg);color:var(--page-text);flex:1;min-width:150px}.admin-form-row input:focus,.admin-form-row select:focus{outline:none;border-color:var(--app-primary, #ef6603);box-shadow:0 0 0 2px #ef66031a}.btn-add{padding:8px 14px;background:var(--app-primary, #ef6603);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:13px;transition:background .2s ease;white-space:nowrap;flex:0 0 auto;width:auto}.btn-add:hover{background:#d45a00}.btn-edit{display:inline-block;padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s ease;margin-right:4px;width:auto}.btn-edit:hover{background:#5568d3}.btn-delete{display:inline-block;padding:6px 12px;background:#f44336;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s ease;margin-right:4px;width:auto}.btn-delete:hover{background:#d32f2f}.btn-save{display:inline-block;padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s ease;margin-right:4px;width:auto}.btn-save:hover{background:#45a049}.btn-cancel{display:inline-block;padding:6px 12px;background:#999;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s ease;width:auto}.btn-cancel:hover{background:#666}.tab-section h3{color:#555;margin:15px 0 10px;font-size:13px;font-weight:600}.table-container{overflow-x:auto;border:1px solid #ddd;border-radius:4px;margin-bottom:20px}table{width:100%;border-collapse:collapse;font-size:13px}table thead{background:#f5f5f5;border-bottom:1px solid #ddd}table th{padding:8px 12px;text-align:left;font-weight:600;color:#555;font-size:13px}table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;color:#333}table td:last-child{white-space:nowrap;width:200px;text-align:right;padding-right:20px}table tbody tr:hover{background:#fafafa}tr.editing td{padding:6px 12px}tr.editing td input{padding:6px;border:1px solid #667eea;border-radius:3px;width:95%;font-size:12px}.alert{padding:10px 14px;border-radius:4px;margin-bottom:15px;font-weight:500;font-size:13px}.alert-error{background:#fee;color:#c33;border-left:3px solid #c33}.alert-success{background:#efe;color:#3c3;border-left:3px solid #3c3}@media (max-width: 768px){.admin-container{flex-direction:column}.admin-sidebar{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;padding:0}.admin-tabs{flex-direction:row;overflow-x:auto}.tab-button{border-left:none;border-bottom:2px solid transparent;padding:12px 14px}.tab-button.active{border-left:none;border-bottom:2px solid #667eea}table{font-size:11px}table th,table td{padding:6px 8px}.form-row{flex-direction:column}.form-row input{min-width:100%}}.tab-button.tab-separada{margin-top:12px;border-top:1px solid var(--page-border);padding-top:16px}.check-inline{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--page-text);white-space:nowrap;cursor:pointer}.check-inline input{width:16px;height:16px;min-width:0;flex:0 0 auto;accent-color:var(--app-primary, #ef6603)}tr.editing td select{padding:6px;border:1px solid #667eea;border-radius:3px;font-size:12px}.lista-centros{display:flex;flex-wrap:wrap;gap:6px 20px}.opcion-centro{display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}.opcion-centro input{width:16px;height:16px;accent-color:var(--app-primary, #ef6603)}.opcion-centro .texto-tenue{font-size:.8em}.leyenda-roles{margin:0 0 16px;padding-left:18px;font-size:.9rem;color:var(--page-text-muted);line-height:1.6}.select-rol{padding:6px 8px;border:1px solid var(--page-border);border-radius:4px;font:inherit;font-size:.9rem;background:var(--page-card-bg);color:var(--page-text)}tr.fila-con-cambios td{background:#fff7f2}.form-usuario{margin-bottom:20px}.form-usuario .admin-form-row{margin-bottom:10px}.form-usuario-centros{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 16px}.form-usuario-etiqueta{font-size:.85rem;font-weight:600;color:var(--page-text);white-space:nowrap}.texto-estado-inactivo{color:#b91c1c}tr.fila-inactiva td:first-child{color:var(--page-text-muted);text-decoration:line-through}tr.fila-contrasenia td{background:#f8fafc;text-align:left;width:auto}tr.fila-contrasenia .admin-form-row{margin:4px 0;align-items:center}tr.fila-contrasenia input{max-width:280px}.sidebar{width:280px;height:100vh;background:linear-gradient(135deg,var(--app-darker, #0f172a) 0%,var(--app-dark, #1e293b) 100%);display:flex;flex-direction:column;box-shadow:2px 0 10px #0000001a;position:fixed;left:0;top:0;z-index:1000;transition:width .3s ease;color:#fff}.sidebar.collapsed{width:80px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(255,255,255,.1);min-height:70px}.sidebar-logo{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:700;flex:1}.logo-marca{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;background:var(--app-primary, #ef6603);color:#fff;font-size:1.1rem;font-weight:800}.logo-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.08em}.sidebar.collapsed .sidebar-logo{display:none}.sidebar-toggle{background:#ffffff1a;border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.sidebar-toggle:hover{background:#fff3}.sidebar-centro{display:flex;flex-direction:column;gap:6px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-centro-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#ffffff80}.sidebar-centro select{padding:8px 10px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#fff;font:inherit;font-size:.95rem;font-weight:500;cursor:pointer}.sidebar-centro select:focus-visible{outline:2px solid var(--app-primary, #ef6603);outline-offset:1px}.sidebar-centro option,.sidebar-centro optgroup{color:#0f172a;background:#fff}.sidebar-centro-empresa{font-size:.8rem;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-centro{display:none}.sidebar-centro-compacto{display:none;position:relative;align-items:center;justify-content:center;height:52px;border-bottom:1px solid rgba(255,255,255,.1);color:#ffffffb3;font-size:1.1rem}.sidebar-centro-compacto:hover,.sidebar-centro-compacto:focus-within{color:#fff;background:#ffffff1a}.sidebar-centro-compacto select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.sidebar.collapsed .sidebar-centro-compacto{display:flex}.sidebar-nav{flex:1;padding:20px 0;overflow-y:auto}.sidebar-item{width:100%;padding:16px 20px;background:none;border:none;color:#ffffffb3;font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s;border-left:3px solid transparent}.sidebar-item:hover{background:#ffffff1a;color:#fff;border-left-color:var(--app-primary, #ef6603)}.sidebar-item i{flex-shrink:0;width:20px;display:flex;align-items:center;justify-content:center}.sidebar-chevron{margin-left:auto;font-size:.8rem;transition:transform .2s ease}.sidebar-submenu{background:#ffffff0d;border-left:2px solid var(--app-primary, #ef6603)}.sidebar-subitem{width:100%;padding:10px 20px 10px 32px;background:none;border:none;color:#fff9;font-size:.95rem;font-weight:400;cursor:pointer;display:flex;align-items:center;text-align:left;transition:all .2s;border-left:2px solid transparent}.sidebar-subitem:hover{background:#ffffff1a;color:#fff}.sidebar-sublabel,.sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-label{display:none}.sidebar-spacer{flex:1}.sidebar-user{padding:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:12px}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--app-primary, #ef6603);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.user-details{flex:1;min-width:0}.sidebar.collapsed .user-details{display:none}.user-name{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.user-role{font-size:.8rem;color:#fff9}.btn-logout{align-self:flex-start;padding:10px 16px;background:rgba(var(--app-danger-rgb, 220, 38, 38),.2);border:1px solid rgba(220,38,38,.3);color:#fca5a5;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.btn-logout:hover{background:#dc26264d;border-color:#dc262680;color:#fff}.sidebar.collapsed .btn-logout span{display:none}.app-with-sidebar{display:flex;flex-direction:column;min-height:100vh}.app-with-sidebar .sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1000}.app-with-sidebar .main-content{flex:1;margin-left:280px;margin-top:0;padding:0;min-width:0;transition:margin-left .3s ease}.app-with-sidebar .sidebar.collapsed~.main-content{margin-left:80px}@media (max-width: 1024px) and (min-width: 768px){.sidebar,.sidebar.collapsed{width:80px}.sidebar-label,.user-details,.sidebar-centro,.sidebar-logo{display:none}.sidebar-centro-compacto{display:flex}.app-with-sidebar .main-content{margin-left:80px}}@media (max-width: 767px){.sidebar{width:70px;position:fixed}.sidebar-label,.logo-text,.user-details,.sidebar-centro{display:none}.sidebar-centro-compacto{display:flex}.sidebar-header{padding:12px;min-height:60px;justify-content:center}.sidebar-logo{justify-content:center}.sidebar-item{padding:12px;justify-content:center}.sidebar-user{padding:12px;gap:8px}.user-avatar{width:36px;height:36px}.btn-logout{padding:8px;font-size:.75rem}.sidebar.collapsed{width:70px}.app-with-sidebar .main-content{margin-left:70px;padding:16px}.app-with-sidebar .sidebar.collapsed~.main-content{margin-left:70px}}@media (max-width: 479px){.sidebar{width:60px}.sidebar-header{padding:10px;min-height:55px}.sidebar-item{padding:10px;font-size:.85rem}.sidebar-subitem{font-size:.85rem}.sidebar-toggle{width:32px;height:32px;font-size:1rem}.user-avatar{width:32px;height:32px}.app-with-sidebar .main-content{margin-left:60px;padding:12px}}body{background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:18px;color:#666}.navbar{background:#333;color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.nav-brand{font-size:18px;font-weight:600}.nav-menu{display:flex;gap:20px;align-items:center}.nav-user{font-size:14px;color:#bbb}.nav-link{padding:8px 12px;color:#bbb;text-decoration:none;font-size:14px;border-radius:4px;transition:all .3s}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-logout{padding:8px 12px;background:#667eea;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background .3s}.nav-logout:hover{background:#5568d3}.aviso-version{position:fixed;right:24px;bottom:24px;z-index:2000;display:flex;align-items:center;gap:16px;padding:12px 16px 12px 20px;background:#1e293b;color:#fff;border-radius:10px;box-shadow:0 8px 24px #0f172a40;font-size:.95rem}:root{--default-font: "Roboto", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--heading-font: "Raleway", sans-serif;--nav-font: "Poppins", sans-serif;--background-color: #ffffff;--default-color: #444444;--heading-color: #2a2c39;--accent-color: #ef6603;--surface-color: #ffffff;--contrast-color: #ffffff;--nav-color: #ffffff;--nav-hover-color: #ef6603;--nav-mobile-background-color: #ffffff;--nav-dropdown-background-color: #ffffff;--nav-dropdown-color: #060606;--nav-dropdown-hover-color: #ef6603;--app-primary: #ef6603;--app-primary-dark: #d45a00;--app-primary-light: #ffe4c4;--app-secondary: #64748b;--app-success: #059669;--app-success-light: #d1fae5;--app-danger: #dc2626;--app-danger-light: #fee2e2;--app-warning: #d97706;--app-warning-light: #fef3c7;--app-info: #0891b2;--app-dark: #1e293b;--app-darker: #0f172a;--app-body-bg: #f1f5f9;--app-card-bg: #ffffff;--app-text: #334155;--app-text-muted: #94a3b8;--app-border: #e2e8f0;--app-radius: .5rem;--app-radius-lg: .75rem;--app-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--app-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--app-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--app-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--app-transition: .2s ease;scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{color:var(--default-color);background-color:var(--background-color);font-family:var(--default-font);font-size:.9rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-color);text-decoration:none;transition:.3s}a:hover{color:color-mix(in srgb,var(--accent-color),transparent 25%);text-decoration:none}h1,h2,h3,h4,h5,h6{color:var(--heading-color);font-family:var(--heading-font);font-weight:700}p{line-height:1.6}.btn{font-weight:500;font-size:.85rem;border-radius:var(--app-radius);padding:.45rem 1rem;transition:all var(--app-transition);letter-spacing:.01em;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.btn:focus{box-shadow:0 0 0 3px #ef660340;outline:none}.btn-primary{background:var(--app-primary);color:var(--contrast-color)}.btn-primary:hover{background:var(--app-primary-dark);color:var(--contrast-color)}.btn-success{background:var(--app-success);color:#fff}.btn-success:hover{background:#047857;color:#fff}.btn-danger{background:var(--app-danger);color:#fff}.btn-danger:hover{background:#b91c1c;color:#fff}.btn-warning{background:var(--app-warning);color:#fff}.btn-warning:hover{background:#b45309;color:#fff}.btn-secondary{background:#e2e8f0;color:var(--app-text);border:1px solid var(--app-border)}.btn-secondary:hover{background:#cbd5e1;color:var(--app-dark)}.btn-sm{padding:.3rem .65rem;font-size:.78rem}.btn-lg{padding:.6rem 1.5rem;font-size:.95rem}.btn i{line-height:1}.form-control{border:1px solid var(--app-border);border-radius:var(--app-radius);padding:.5rem .75rem;font-size:.875rem;color:var(--app-text);background-color:var(--app-card-bg);transition:border-color var(--app-transition),box-shadow var(--app-transition);font-family:var(--default-font)}.form-control:focus{border-color:var(--app-primary);box-shadow:0 0 0 3px #ef660326;background-color:var(--app-card-bg);outline:none}.form-control::placeholder{color:var(--app-text-muted)}.form-control:disabled,.form-control[readonly]{background-color:var(--app-body-bg);color:var(--app-secondary)}.form-group{margin-bottom:1rem}.form-group label{font-weight:500;font-size:.85rem;color:var(--app-dark);margin-bottom:.35rem;display:block}select.form-control{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23334155' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:.75rem;padding-right:2.25rem}.alert{border-radius:var(--app-radius);border:none;font-size:.875rem;padding:.75rem 1rem;font-weight:500}.alert-danger,.alert-error{background:var(--app-danger-light);color:var(--app-danger)}.alert-success{background:var(--app-success-light);color:var(--app-success)}.alert-warning{background:var(--app-warning-light);color:var(--app-warning)}.alert-info{background:#cffafe;color:var(--app-info)}.badge{font-weight:500;font-size:.75rem;padding:.3em .65em;border-radius:9999px}.badge-success{background:var(--app-success-light);color:var(--app-success)}.badge-danger{background:var(--app-danger-light);color:var(--app-danger)}.badge-warning{background:var(--app-warning-light);color:var(--app-warning)}.badge-primary{background:var(--app-primary-light);color:var(--app-primary)}.card{border:1px solid var(--app-border);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow);transition:box-shadow var(--app-transition),transform var(--app-transition);background:var(--app-card-bg)}.card:hover{box-shadow:var(--app-shadow-md)}.card-header{background:transparent;border-bottom:1px solid var(--app-border);font-weight:600;padding:1rem 1.25rem}.card-body{padding:1.25rem}.table-container{overflow-x:auto;border-radius:var(--app-radius-lg);border:1px solid var(--app-border);box-shadow:var(--app-shadow)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem;background:var(--app-card-bg)}table thead{background:var(--app-body-bg);border-bottom:2px solid var(--app-border)}table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--app-dark);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}table td{padding:.65rem 1rem;border-bottom:1px solid var(--app-border);color:var(--app-text);vertical-align:middle}table tbody tr:hover{background:#ef660308}table tbody tr:last-child td{border-bottom:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--app-card-bg);border-radius:var(--app-radius-lg);box-shadow:var(--app-shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--app-text-muted);transition:color var(--app-transition)}.modal-close:hover{color:var(--app-danger)}.action-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--app-radius);font-size:.85rem;transition:all var(--app-transition);cursor:pointer;border:none;background:transparent;color:var(--app-secondary);text-decoration:none;padding:0;line-height:1}.action-icon:hover{transform:scale(1.1);text-decoration:none}.action-icon.action-view{color:var(--app-info)}.action-icon.action-view:hover{background:#cffafe;color:var(--app-info)}.action-icon.action-edit{color:var(--app-warning)}.action-icon.action-edit:hover{background:var(--app-warning-light);color:var(--app-warning)}.action-icon.action-delete{color:var(--app-danger)}.action-icon.action-delete:hover{background:var(--app-danger-light);color:var(--app-danger)}.action-icon.action-download{color:var(--app-primary)}.action-icon.action-download:hover{background:var(--app-primary-light);color:var(--app-primary)}.action-icon.action-close:hover{background:var(--app-warning-light);color:var(--app-warning)}.action-icons{display:flex;align-items:center;gap:.35rem}.empty-state{padding:40px;text-align:center;color:var(--app-text-muted);font-size:.95rem}.text-muted{color:var(--app-text-muted)!important}.text-danger{color:var(--app-danger)!important}.text-success{color:var(--app-success)!important}.text-warning{color:var(--app-warning)!important}.text-info{color:var(--app-info)!important}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.p-4{padding:1rem}@media (max-width: 768px){.modal-content{width:95%}table{font-size:.8rem}table td,table th{padding:.5rem .65rem}.action-icon{width:28px;height:28px;font-size:.75rem}}@media (max-width: 576px){.btn{font-size:.8rem;padding:.4rem .75rem}.modal-content{width:100%}}
