:root{--bg: #0f1419;--bg-card: #1a2332;--bg-input: #0f1419;--border: #2d3a4f;--text: #e6edf3;--text-muted: #8b9eb5;--accent: #22d3d8;--accent-hover: #2eecee;--error: #f87171;--radius: 12px;--font-sans: "DM Sans", system-ui, sans-serif;--sidebar-bg: #1a2332;--sidebar-border: #2d3a4f;--nav-active-bg: rgba(34, 211, 216, .15);--nav-active-text: #22d3d8;--btn-primary-bg: #22d3d8;--btn-primary-text: #0f1419;--pill-active-bg: rgba(34, 211, 216, .2);--pill-active-text: #22d3d8;--pill-inactive-bg: rgba(139, 158, 181, .2);--pill-inactive-text: #8b9eb5;--shadow: 0 4px 20px rgba(0, 0, 0, .25)}[data-theme=light]{--bg: #f5f6f9;--bg-card: #ffffff;--bg-input: #f8f9fc;--border: #e2e6ef;--text: #1a202c;--text-muted: #64748b;--accent: #0d9488;--accent-hover: #0f766e;--sidebar-bg: #1a202c;--sidebar-border: #2d3748;--nav-active-bg: rgba(45, 212, 191, .15);--nav-active-text: #2dd4bf;--btn-primary-bg: #10b981;--btn-primary-text: #ffffff;--pill-active-bg: rgba(16, 185, 129, .15);--pill-active-text: #059669;--pill-inactive-bg: rgba(100, 116, 139, .15);--pill-inactive-text: #64748b;--shadow: 0 1px 3px rgba(0, 0, 0, .08)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(160deg,var(--bg) 0%,#131c28 50%,var(--bg-card) 100%)}[data-theme=light] .login-page{background:linear-gradient(160deg,#f5f6f9,#eef1f6,#e2e8f0)}.login-theme-wrap{position:fixed;top:1rem;right:1rem;z-index:10}.theme-toggle-login{background:var(--bg-card);border-color:var(--border);box-shadow:var(--shadow)}.login-card{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);transition:background-color .2s,border-color .2s,box-shadow .2s}.login-header{margin-bottom:1.75rem;text-align:center}.login-logo{display:block;max-width:120px;max-height:48px;margin:0 auto 1rem;object-fit:contain}.login-header h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:var(--text)}.login-header p{margin:0;font-size:.95rem;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--text-muted)}.login-form input{padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;transition:border-color .2s,box-shadow .2s}.login-form input::placeholder{color:var(--text-muted);opacity:.7}.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #22d3d826}[data-theme=light] .login-form input:focus{box-shadow:0 0 0 3px #10b98133}.login-error{padding:.75rem 1rem;background:#f8717126;border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:.9rem}.login-submit{margin-top:.5rem;padding:.875rem 1.25rem;background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;font-size:1rem;font-weight:600;transition:background .2s,transform .1s}.login-submit:hover:not(:disabled){filter:brightness(1.08)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-hint{margin:1.5rem 0 0;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted);text-align:left}.login-hint-title{margin:0 0 .5rem;font-weight:600;color:var(--text)}.login-hint-list{margin:0;padding-left:1.25rem}.login-hint-list li{margin-bottom:.25rem}.login-hint strong{color:var(--text)}.app-layout{min-height:100vh;display:flex;background:var(--bg);transition:background-color .2s}.sidebar{width:240px;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;transition:background-color .2s,border-color .2s}.sidebar-brand{padding:1.25rem 1rem;font-weight:700;font-size:1.05rem;display:flex;align-items:center;gap:.75rem}.sidebar-brand a{text-decoration:none;color:#e6edf3}.sidebar-brand a:hover{text-decoration:none;color:var(--nav-active-text)}[data-theme=light] .sidebar-brand a{color:#e2e8f0}[data-theme=light] .sidebar-brand a:hover{color:#2dd4bf}.sidebar-nav{display:flex;flex-direction:column;gap:.2rem;padding:0 .75rem 1rem;flex:1;overflow-y:auto}.nav-link{padding:.65rem .85rem;border-radius:8px;color:#94a3b8;text-decoration:none;transition:background .15s,color .15s}.sidebar .nav-link:hover{background:#ffffff0f;color:#e2e8f0;text-decoration:none}.nav-link.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:500}.nav-group{display:flex;flex-direction:column;gap:0}.nav-group-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem .85rem;border:none;border-radius:8px;background:transparent;color:#94a3b8;font-size:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s,color .15s}.sidebar .nav-group-toggle:hover{background:#ffffff0f;color:#e2e8f0}.nav-chevron{flex-shrink:0;transition:transform .2s ease}.nav-submenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.nav-submenu.open{grid-template-rows:1fr}.nav-submenu-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-left:1.5rem;padding-bottom:.25rem;gap:.1rem}.nav-submenu-link{padding:.5rem .75rem;border-radius:6px;color:#94a3b8;text-decoration:none;font-size:.9rem;transition:background .15s,color .15s}.sidebar .nav-submenu-link:hover{background:#ffffff0f;color:#e2e8f0;text-decoration:none}.nav-submenu-link.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:500}.main-wrap{flex:1;display:flex;flex-direction:column;min-width:0}.app-header{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border);transition:background-color .2s,border-color .2s}.app-footer{flex-shrink:0;padding:.75rem 1.5rem;font-size:.8rem;color:var(--text-muted);background:var(--bg-card);border-top:1px solid var(--border);transition:background-color .2s,border-color .2s}.app-footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem}.app-footer-logo{height:1.25rem;width:auto;max-width:5rem;object-fit:contain;vertical-align:middle}.app-footer-copy{color:inherit}.app-footer-link{color:var(--accent);text-decoration:none}.app-footer-link:hover{text-decoration:underline}.header-user-block{display:flex;flex-direction:column;gap:.125rem}.header-user{font-weight:500;color:var(--text)}.header-sucursal{font-size:.75rem;color:var(--text-muted)}.header-role{font-size:.85rem;color:var(--text-muted);text-transform:capitalize}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;margin-right:.5rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);transition:color .2s,border-color .2s,background .2s}.theme-toggle:hover{color:var(--text);border-color:var(--text-muted);background:#ffffff0d}[data-theme=light] .theme-toggle:hover{background:#0000000a}.theme-toggle svg{width:18px;height:18px}.btn-logout{padding:.5rem 1rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;font-size:.9rem;transition:color .2s,border-color .2s}.btn-logout:hover{color:var(--text);border-color:var(--text-muted)}.app-main{flex:1;padding:1.5rem;overflow:auto}.page-card{max-width:none;width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:background-color .2s,border-color .2s}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}.page-head h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text)}.ventas-dashboard{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:1.25rem;padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.ventas-dashboard-label{display:inline-flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.ventas-search-btn{align-self:flex-end;margin-bottom:0}.ventas-search-error{flex-basis:100%;margin-top:0}.ventas-search-result{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem}.ventas-search-result strong{margin-right:.25rem}.ventas-dashboard-date{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:var(--bg-card);color:var(--text);max-width:12rem}.ventas-dashboard-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-left:auto}.ventas-dashboard-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.ventas-dashboard-card-total .ventas-dashboard-stat-value{color:var(--btn-primary-bg, #16a34a)}.ventas-dashboard-card-canceladas .ventas-dashboard-stat-value{color:var(--text-muted)}.ventas-dashboard-stat-monto{font-size:.8rem;font-weight:600;color:var(--text-muted)}.ventas-dashboard-stat-value{font-size:1.35rem;font-weight:700;color:var(--text);line-height:1.2}.ventas-dashboard-stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.btn-primary{padding:.5rem 1.25rem;background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;font-weight:500;font-size:.9rem;transition:filter .2s,transform .1s}.btn-primary:hover{filter:brightness(1.08)}.form-error{padding:.75rem 1rem;background:#f8717126;border:1px solid var(--error);border-radius:8px;color:var(--error);font-size:.9rem;margin-bottom:1rem}.form-success{padding:.75rem 1rem;background:#22c55e26;border:1px solid #22c55e;border-radius:8px;color:#22c55e;font-size:.9rem;margin-bottom:1rem}.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(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;max-width:420px;width:90%;box-shadow:var(--shadow)}.modal-content h3{margin:0 0 .5rem}.modal-content--form{max-width:560px;width:90%;max-height:90vh;overflow-y:auto}.modal-content-wide{max-width:640px;width:95%;max-height:90vh;overflow-y:auto}.modal-canje .form-field-span{grid-column:1 / -1}.modal-canje .form-label{display:block;margin-bottom:.5rem;font-weight:500}.canje-programas-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.canje-programas-table{width:100%;border-collapse:collapse}.canje-programas-table th,.canje-programas-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.canje-programas-table thead th{font-weight:600;background:var(--bg-hover, rgba(0, 0, 0, .04))}.canje-programas-table tbody tr:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.canje-th-select,.canje-td-select{width:2.5rem;text-align:center}.canje-td-select .canje-programa-option{display:flex;justify-content:center;align-items:center;margin:0;cursor:pointer}.canje-td-select input{margin:0}.canje-th-desc,.canje-td-desc{min-width:140px}.canje-th-pct,.canje-td-pct{text-align:right;white-space:nowrap}.pos-row{display:grid;gap:1rem;align-items:end;margin-bottom:.75rem}.pos-row-fecha{grid-template-columns:minmax(100px,140px) minmax(180px,1fr)}.pos-row-campos{grid-template-columns:repeat(4,minmax(0,1fr))}.pos-row-puntos{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.pos-row .pos-field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-muted)}.pos-row .pos-field input,.pos-row .pos-field select{padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text)}.pos-field-placa-buscar .pos-placa-wrap,.pos-placa-wrap{display:flex;gap:.5rem;align-items:center}.pos-placa-wrap input{flex:1;min-width:0}.pos-placa-btn{padding:.5rem .75rem;white-space:nowrap;flex-shrink:0}.pos-fecha-readonly{cursor:default;background:var(--bg-input)!important;color:var(--text-muted)}.pos-puntos{color:var(--text-muted);font-size:.9rem}.pos-registro-cliente{display:flex;align-items:center;gap:.5rem}@media(max-width:900px){.pos-row-campos{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.pos-row-campos{grid-template-columns:1fr}.pos-row-puntos{flex-direction:column;align-items:flex-start}}.pos-wrap{margin-bottom:1.5rem}.pos-form{display:flex;flex-direction:column;gap:1rem}.pos-header.form-grid{margin-bottom:.5rem}.pos-body{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;min-height:320px}.pos-catalog{border:1px solid var(--border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.pos-tabs{display:flex;gap:0;background:#ffffff08;border-bottom:1px solid var(--border);padding:.25rem}.pos-tabs button{padding:.5rem 1rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.pos-tabs button:hover{color:var(--text);background:#ffffff0f}.pos-tabs button.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:500}.pos-catalog-list{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-wrap:wrap;gap:.5rem;align-content:flex-start}.pos-catalog-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;min-width:160px}.pos-item-name{font-weight:500;color:var(--text);flex:1;min-width:80px}.pos-item-meta{font-size:.8rem;color:var(--text-muted);width:100%}.pos-item-price{font-weight:600;color:var(--text)}.pos-add-btn{padding:.35rem .75rem;font-size:.85rem}.pos-empty{margin:0;padding:1rem;color:var(--text-muted);font-size:.9rem}.pos-cart{border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;background:#ffffff05}[data-theme=light] .pos-cart{background:#00000005}.pos-cart-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.pos-cart-list{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.35rem}.pos-cart-line{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:var(--bg-input);border-radius:6px;font-size:.9rem}.pos-cart-line-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.pos-cart-line-subtotal{font-weight:600;color:var(--text);flex-shrink:0}.pos-cart-remove{flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;font-size:1.1rem;line-height:1}.pos-cart-totals{padding-top:.5rem}.pos-cart-totals .pos-cart-subtotal,.pos-cart-totals .pos-cart-descuento{margin:0;font-size:.9rem;color:var(--text-muted)}.pos-cart-totals .pos-cart-descuento{display:flex;align-items:center;gap:.5rem}.pos-cart-remove-canje{margin-left:.25rem;padding:0 .25rem;font-size:.9rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.pos-cart-remove-canje:hover{color:var(--error);background:#f871711a}.pos-cart-total{margin:.5rem 0 0;font-size:1.1rem;font-weight:700;color:var(--text);padding-top:.5rem;border-top:1px solid var(--border)}.pos-cobro{display:flex;flex-direction:column;gap:.75rem}.pos-cobro label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--text-muted)}.pos-cobro input,.pos-cobro select{padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text)}.pos-cambio{font-size:1rem;font-weight:600;margin:.25rem 0}.pos-cambio--ok{color:var(--success, #22c55e)}.pos-cambio--falta{color:var(--danger, #ef4444)}.pos-ticket-action{padding:.5rem 0}.pos-ticket-action-title{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.pos-ticket-action-table{border-collapse:collapse;width:100%}.pos-ticket-action-table tr{border:none}.pos-ticket-action-table td{padding:.25rem .5rem .25rem 0;vertical-align:middle;border:none}.pos-ticket-action-cell-radio{width:1.5rem}.pos-ticket-action-cell-radio input[type=radio]{margin:0;padding:0;width:auto;cursor:pointer}.pos-ticket-action-label{font-size:.9rem;color:var(--text);cursor:pointer}.pos-actions{display:flex;gap:.75rem;margin-top:.5rem}@media(max-width:768px){.pos-body{grid-template-columns:1fr}.pos-catalog-list{max-height:200px}}.ventas-page.page-card{border-radius:12px;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a}.ventas-page--fullscreen{display:flex;flex-direction:column;min-height:calc(100vh - 8rem)}.ventas-page--fullscreen .pos-wrap{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0}.ventas-page--fullscreen .pos-form{flex:1;display:flex;flex-direction:column;min-height:0;gap:.75rem}.ventas-page--fullscreen .pos-body{flex:1;min-height:0}.ventas-page--fullscreen .pos-catalog{flex:1;min-height:0;display:flex;flex-direction:column}.ventas-page--fullscreen .pos-catalog-list{flex:1;min-height:0;overflow-y:auto}[data-theme=dark] .ventas-page.page-card{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}.ventas-page .page-head h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.ventas-page .ventas-dashboard{border-radius:12px;padding:1.25rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 1px 2px #0000000a;transition:box-shadow .2s;flex-direction:column;align-items:stretch}.ventas-page .ventas-dashboard-stats-row{width:100%;margin-bottom:1rem}.ventas-page .ventas-dashboard-stats-row .ventas-dashboard-stats{margin-left:0}.ventas-page .ventas-dashboard-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem}.ventas-page .ventas-dashboard-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ventas-page .ventas-dashboard-date{border-radius:10px;padding:.6rem .85rem;font-size:.95rem;border:1px solid var(--border);transition:border-color .2s,box-shadow .2s}.ventas-page .ventas-dashboard-date:focus{outline:none;border-color:var(--btn-primary-bg, #16a34a);box-shadow:0 0 0 3px #16a34a26}.ventas-page .ventas-dashboard-card{border-radius:12px;padding:1.25rem 1.5rem;min-width:120px;box-shadow:0 1px 2px #0000000a;transition:transform .2s,box-shadow .2s;border:1px solid var(--border)}.ventas-page .ventas-dashboard-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}[data-theme=dark] .ventas-page .ventas-dashboard-card:hover{box-shadow:0 4px 12px #00000040}.ventas-page .ventas-dashboard-card-total{border-left:3px solid var(--btn-primary-bg, #16a34a)}.ventas-page .ventas-dashboard-card-descuento{border-left:3px solid rgba(234,179,8,.9)}.ventas-page .ventas-dashboard-card-canceladas{border-left:3px solid var(--text-muted)}.ventas-page .ventas-dashboard-stat-value{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.ventas-page .ventas-dashboard-stat-label{font-size:.75rem;letter-spacing:.05em;font-weight:600}.ventas-page .btn-primary{border-radius:10px;padding:.6rem 1.35rem;font-weight:600;transition:transform .15s,box-shadow .2s}.ventas-page .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #16a34a59}.ventas-page .data-list-wrap{border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a;border:1px solid var(--border)}.ventas-page .data-list-header{padding:1rem 1.25rem;font-size:.75rem;letter-spacing:.06em;font-weight:700;background:var(--bg);border-bottom:1px solid var(--border)}[data-theme=light] .ventas-page .data-list-header{background:#00000005}.ventas-page .data-list li{padding:1rem 1.25rem;transition:background .2s}.ventas-page .data-list li:hover{background:#ffffff0a}[data-theme=light] .ventas-page .data-list li:hover{background:#00000008}.ventas-page .data-list li.ventas-row-con-descuento{background:#eab3080f}.ventas-page .data-list li.ventas-row-con-descuento:hover{background:#eab3081a}[data-theme=light] .ventas-page .data-list li.ventas-row-con-descuento{background:#eab30814}[data-theme=light] .ventas-page .data-list li.ventas-row-con-descuento:hover{background:#eab3081f}.ventas-page .ventas-list-descuento{width:6rem;min-width:6rem;text-align:right}.ventas-page .list-primary{font-weight:600;font-size:.95rem}.ventas-page .list-precio{font-weight:700;font-size:1rem;color:var(--text)}.ventas-page .data-list-header .list-header-actions,.ventas-page .data-list .list-actions{width:auto;min-width:4.5rem}.ventas-page .data-list .list-actions{gap:.25rem}.ventas-page .list-badge.completada{border-radius:8px;padding:.3rem .75rem;font-weight:600;font-size:.8rem}.ventas-page .pos-wrap{margin-bottom:1.75rem}.ventas-page .pos-catalog{border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.ventas-page .pos-tabs{padding:.35rem;gap:.25rem;background:var(--bg);border-bottom:1px solid var(--border)}.ventas-page .pos-tabs button{border-radius:8px;padding:.55rem 1rem;font-weight:500}.ventas-page .pos-tabs button.active{font-weight:600;box-shadow:0 1px 2px #0000000f}.ventas-page .pos-catalog-item{border-radius:10px;padding:.65rem .9rem;transition:transform .15s,box-shadow .15s;border:1px solid var(--border)}.ventas-page .pos-catalog-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.ventas-page .pos-cart{border-radius:12px;padding:1.25rem;box-shadow:0 1px 2px #0000000a}.ventas-page .pos-cart-title{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.ventas-page .pos-cart-line{border-radius:8px;padding:.5rem .65rem}.ventas-page .pos-cart-total{font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.form-inline{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.form-inline input{padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);min-width:140px}.form-inline button{padding:.5rem 1rem;background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;font-weight:500}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-muted)}.form-grid input,.form-grid select,.form-grid textarea{padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:border-color .2s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--accent)}.form-grid button{grid-column:1 / -1;justify-self:start;padding:.5rem 1.25rem;background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;font-weight:500}.form-grid--suscripcion{grid-template-columns:repeat(2,minmax(220px,1fr))}.form-grid .form-grid-span-all,.form-grid--suscripcion .form-grid-span-all{grid-column:1 / -1}.precios-sucursal-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.precio-sucursal-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center}.precio-sucursal-name{font-size:.9rem;color:var(--text)}.precio-sucursal-row input[type=number]{width:6rem;padding:.4rem .5rem}.form-check-inline{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:400;cursor:pointer}.form-check-inline input[type=checkbox]{width:auto}@media(max-width:768px){.precio-sucursal-row{grid-template-columns:1fr;gap:.5rem}}.btn-secondary{padding:.5rem 1.25rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.btn-secondary:hover{color:var(--text);border-color:var(--text-muted);background:#ffffff0a}[data-theme=light] .btn-secondary:hover{background:#0000000a}.detail-view{margin-bottom:1.25rem}.detail-view-title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--text)}.detail-view-list{display:flex;flex-direction:column;gap:.5rem;margin:0}.detail-view-row{display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:baseline}.detail-view-label{margin:0;font-size:.9rem;color:var(--text-muted);font-weight:400}.detail-view-value{margin:0;font-size:.95rem;color:var(--text)}@media(max-width:768px){.detail-view-row{grid-template-columns:1fr;gap:.2rem}}.sat-fiscal-fields{grid-column:1 / -1}.sat-fiscal-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-bottom:.5rem}@media(max-width:900px){.sat-fiscal-row{grid-template-columns:1fr 1fr}}@media(max-width:500px){.sat-fiscal-row{grid-template-columns:1fr}}.sat-fiscal-separator{border:none;border-top:1px solid var(--border);margin:1rem 0}.sat-fiscal-title{grid-column:1 / -1;margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--text-muted)}.sat-impuestos-wrap{margin-top:.5rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-hover, rgba(0, 0, 0, .02))}.sat-impuestos-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:.85rem;font-weight:500}.sat-impuesto-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.sat-impuesto-row select{min-width:100px}.sat-impuesto-row input{width:90px}.sat-impuesto-monto{background:var(--bg);cursor:default}.form-check-left{justify-content:flex-start;text-align:left}.form-edit-title{grid-column:1 / -1;margin:0;font-size:.95rem;font-weight:600;color:var(--text)}.vehiculos-tipos-info{margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px}.vehiculos-tipos-info summary{cursor:pointer;font-weight:600;color:var(--text)}.vehiculos-tipos-info-content{margin-top:.75rem;font-size:.9rem;color:var(--text-muted)}.vehiculos-tipos-info-content h4{margin:.75rem 0 .25rem;font-size:.85rem;color:var(--text)}.vehiculos-tipos-info-content h4:first-child{margin-top:0}.vehiculos-tipos-info-content p{margin:0;line-height:1.45}.form-optional{font-size:.8rem;font-weight:400;color:var(--text-muted);margin-left:.35rem}.form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:.75rem}.form-required-note{grid-column:1 / -1;margin:0;font-size:.85rem;color:var(--text-muted)}.form-actions .btn-secondary{grid-column:unset;justify-self:unset}.form-actions button[type=submit]{justify-self:unset}.form-span-2{grid-column:1 / -1}.form-hint{font-size:.85rem;color:var(--text-muted);margin:.25rem 0 .5rem}.form-check-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.form-grid-inline{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem 1rem}.inspeccion-section{margin:.5rem 0;padding:.5rem 0;border-bottom:1px solid var(--border)}.inspeccion-section summary{cursor:pointer;font-weight:500;color:var(--text)}.inspeccion-section[open] summary{margin-bottom:.5rem}.inspeccion-check-row{margin:.25rem 0}.inspeccion-check-table{width:100%;border-collapse:collapse}.inspeccion-check-table td{padding:.25rem 1.5rem .25rem 0;vertical-align:middle}.inspeccion-readonly{margin:.5rem 0}.inspeccion-readonly-section{font-size:.9rem;margin:.35rem 0;color:var(--text-muted)}.inspeccion-readonly-section em{color:var(--text);font-style:normal;font-weight:500}.form-check{display:flex;align-items:center;gap:.5rem}.form-check{display:flex;flex-direction:row;align-items:center;gap:.5rem}.form-check input[type=checkbox]{width:auto}.page-head-title-wrap{display:flex;align-items:center;gap:.75rem}.tenant-back-link{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;text-decoration:none;transition:color .2s,border-color .2s}.tenant-back-link:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.tenant-detail-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.tenant-detail-tab{display:inline-flex;align-items:center;padding:.55rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s,background .2s}.tenant-detail-tab:hover{color:var(--text);background:#8b9eb514;text-decoration:none}.tenant-detail-tab.active{color:var(--btn-primary-bg, #16a34a);background:var(--bg-card);font-weight:600;box-shadow:0 1px 2px #0000000d;border:1px solid var(--border);text-decoration:none}[data-theme=dark] .tenant-detail-tab.active{box-shadow:0 1px 2px #00000026}.tenant-tab{padding:.5rem 1rem;border-radius:8px;color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .2s,background .2s}.tenant-tab:hover{color:var(--text);background:#8b9eb51a;text-decoration:none}.tenant-tab.active{color:var(--accent);background:var(--nav-active-bg);font-weight:500;text-decoration:none}.data-list-wrap{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-card)}.data-list-wrap .data-list{border:none;border-radius:0;margin:0;background:transparent}.data-list-header{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:#ffffff08;border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}[data-theme=light] .data-list-header{background:#00000008}.list-header-cell{flex-shrink:0}.list-header-name{min-width:140px}.list-header-email{flex:1;min-width:100px}.list-header-role{width:6rem;min-width:6rem}.list-header-desc{width:160px;min-width:160px;max-width:160px}.list-desc{width:160px;min-width:160px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:.9rem}.list-header-precio{width:6rem;min-width:6rem;text-align:right}.list-precio{width:6rem;min-width:6rem;font-weight:600;color:var(--text);text-align:right;font-size:.95rem}.list-header-activo{width:6rem;min-width:6rem;text-align:center}.list-header-actions{width:2.75rem;flex-shrink:0;text-align:right}.list-header-img{width:3.5rem;min-width:3.5rem;flex-shrink:0;text-align:center}.list-cell-img{width:3.5rem;min-width:3.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.list-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;display:block}.list-thumb-placeholder{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--text-muted);background:var(--bg-input);border-radius:4px}.list-actions{flex-shrink:0;width:2.75rem;display:flex;align-items:center;justify-content:flex-end}.proveedores-page .data-list-wrap{width:100%}.proveedores-page .data-list-header,.proveedores-page .data-list li{display:grid;gap:1rem;align-items:center;grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(140px,1fr)}.proveedores-page .data-list-wrap--with-actions .data-list-header,.proveedores-page .data-list-wrap--with-actions .data-list li{grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(140px,1fr) auto}.proveedores-page .list-header-name,.proveedores-page .list-primary,.proveedores-page .list-header-contact,.proveedores-page .list-muted,.proveedores-page .list-header-phone,.proveedores-page .list-phone{min-width:0;white-space:nowrap}.proveedores-page .list-header-phone,.proveedores-page .list-phone{color:var(--text-muted);font-size:.9rem}.proveedores-page .list-header-actions,.proveedores-page .list-actions{width:auto;min-width:2.75rem;justify-self:end}.clientes-finales-page .data-list-wrap{width:100%;overflow-x:auto}.clientes-finales-page .data-list-header,.clientes-finales-page .data-list li{display:grid;gap:1rem;align-items:center;grid-template-columns:minmax(220px,2fr) minmax(160px,1.5fr) minmax(70px,90px) minmax(70px,90px)}.clientes-finales-page .data-list-wrap--with-actions .data-list-header,.clientes-finales-page .data-list-wrap--with-actions .data-list li{grid-template-columns:minmax(220px,2fr) minmax(160px,1.5fr) minmax(70px,90px) minmax(70px,90px) auto}.clientes-finales-page .list-header-name,.clientes-finales-page .list-primary{min-width:0;white-space:nowrap}.clientes-finales-page .list-header-email,.clientes-finales-page .list-muted{min-width:0;white-space:nowrap;color:var(--text-muted);font-size:.9rem}.clientes-finales-page .list-header-role,.clientes-finales-page .list-badge-tipo{min-width:0;justify-self:center;text-align:center}.clientes-finales-page .list-header-actions,.clientes-finales-page .list-actions{width:auto;min-width:2.75rem;justify-self:end}@media(max-width:768px){.clientes-finales-page .data-list-header,.clientes-finales-page .data-list li{grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) 70px 70px;gap:.75rem;padding:.75rem 1rem}.clientes-finales-page .data-list-wrap--with-actions .data-list-header,.clientes-finales-page .data-list-wrap--with-actions .data-list li{grid-template-columns:minmax(120px,1fr) minmax(100px,1fr) 70px 70px auto}}.gastos-page .data-list-header,.gastos-page .data-list li{display:grid;gap:1rem;align-items:center;grid-template-columns:110px 90px minmax(220px,2fr) minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr)}.gastos-page .data-list-wrap--with-actions .data-list-header,.gastos-page .data-list-wrap--with-actions .data-list li{grid-template-columns:110px 90px minmax(220px,2fr) minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto}.gastos-page .list-header-date,.gastos-page .list-date{min-width:0;color:var(--text-muted);font-size:.9rem}.gastos-page .list-header-amount,.gastos-page .list-amount{min-width:0;text-align:right;font-variant-numeric:tabular-nums}.gastos-page .list-header-desc,.gastos-page .list-desc{min-width:0}.gastos-page .list-header-desc{width:auto;min-width:0;max-width:none}.gastos-page .list-desc{width:auto;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gastos-page .list-header-sucursal,.gastos-page .list-sucursal,.gastos-page .list-header-categoria,.gastos-page .list-categoria,.gastos-page .list-header-proveedor{min-width:0}.gastos-page .list-sucursal,.gastos-page .list-categoria{color:var(--text-muted);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gastos-page .list-header-actions,.gastos-page .list-actions{width:auto;min-width:2.75rem;justify-self:end}.paquetes-page .data-list-wrap{overflow-x:auto}.paquetes-page .data-list-header,.paquetes-page .data-list li{display:grid;gap:1rem;align-items:center;grid-template-columns:64px minmax(200px,2fr) minmax(130px,1fr) 100px}.paquetes-page .data-list-wrap--with-actions .data-list-header,.paquetes-page .data-list-wrap--with-actions .data-list li{grid-template-columns:64px minmax(200px,2fr) minmax(130px,1fr) 100px auto}.paquetes-page .list-header-img,.paquetes-page .list-cell-img{width:64px;min-width:64px}.paquetes-page .list-header-name,.paquetes-page .list-primary{min-width:0;width:auto;overflow:hidden;text-overflow:ellipsis}.paquetes-page .list-header-email,.paquetes-page .list-muted{min-width:0;overflow:hidden;text-overflow:ellipsis}.paquetes-page .list-header-role,.paquetes-page .list-badge{justify-self:end;text-align:right}.paquetes-page .list-header-actions,.paquetes-page .list-actions{width:auto;min-width:2.75rem;justify-self:end}.gastos-dashboard{margin-bottom:1.5rem;padding:1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius)}.gastos-dashboard-period{margin-bottom:1rem}.gastos-dashboard-period label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted)}.gastos-dashboard-period select{padding:.35rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.gastos-dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-bottom:1.25rem}.gastos-dashboard-card{padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:.25rem}.gastos-dashboard-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.gastos-dashboard-card-value{font-size:1.25rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.gastos-dashboard-card-variacion{font-size:.8rem}.gastos-dashboard-card-variacion.sube{color:var(--error, #f87171)}.gastos-dashboard-card-variacion.baja{color:var(--accent)}.gastos-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-bottom:1.25rem}.gastos-dashboard-block{padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.gastos-dashboard-block-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--text)}.gastos-dashboard-empty{margin:0;font-size:.85rem;color:var(--text-muted)}.gastos-dashboard-bars{list-style:none;margin:0;padding:0}.gastos-dashboard-bars li{margin-bottom:.6rem}.gastos-dashboard-bars li:last-child{margin-bottom:0}.gastos-dashboard-bar-label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.2rem}.gastos-dashboard-bar-label span:first-child{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.gastos-dashboard-bar-label span:last-child{color:var(--text-muted);flex-shrink:0}.gastos-dashboard-bar-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.gastos-dashboard-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s}.gastos-dashboard-top-proveedores{max-width:360px}.gastos-dashboard-list{list-style:none;margin:0;padding:0}.gastos-dashboard-list li{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.9rem;border-bottom:1px solid var(--border)}.gastos-dashboard-list li:last-child{border-bottom:none}.gastos-dashboard-list-name{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.gastos-dashboard-list-value{font-weight:500;font-variant-numeric:tabular-nums;color:var(--text);flex-shrink:0}.app-dashboard{max-width:none}.app-dashboard-head{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.app-dashboard-period label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted)}.app-dashboard-period select{padding:.35rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.app-dashboard-error{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.app-dashboard-loading{margin:1rem 0;color:var(--text-muted)}.app-dashboard-range{margin:0 0 1rem;font-size:.85rem;color:var(--text-muted)}.app-dashboard-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;width:100%}@media(min-width:641px){.app-dashboard-cards{grid-template-columns:repeat(3,1fr)}}@media(min-width:900px){.app-dashboard-cards{grid-template-columns:repeat(6,1fr)}}.app-dashboard-card{padding:.75rem 1rem;min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:.25rem}.app-dashboard-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.app-dashboard-card-value{font-size:1.25rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.app-dashboard-card-variacion{font-size:.8rem}.app-dashboard-card-ingresos .app-dashboard-card-variacion.sube{color:var(--accent)}.app-dashboard-card-ingresos .app-dashboard-card-variacion.baja{color:var(--error, #f87171)}.app-dashboard-card-ingresos{border-left:3px solid #16a34a}.app-dashboard-card-gastos .app-dashboard-card-variacion.sube{color:var(--error, #f87171)}.app-dashboard-card-gastos .app-dashboard-card-variacion.baja{color:var(--accent)}.app-dashboard-card-gastos{border-left:3px solid #dc2626}.app-dashboard-card-descuento-canje .app-dashboard-card-value{color:#2563eb}.app-dashboard-card-descuento-canje{border-left:3px solid #2563eb}.app-dashboard-card-balance.positive .app-dashboard-card-value{color:var(--accent)}.app-dashboard-card-balance.negative .app-dashboard-card-value{color:var(--error, #f87171)}.app-dashboard-card-balance.positive{border-left:3px solid #16a34a}.app-dashboard-card-balance.negative{border-left:3px solid #dc2626}.app-dashboard-card-ticket{border-left:3px solid #6b7280}.app-dashboard-card-ventas{border-left:3px solid #16a34a}.app-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.app-dashboard-block{padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.app-dashboard-block-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--text)}.app-dashboard-block-fidelizacion-programa .app-dashboard-block-title,.app-dashboard-block-fidelizacion-semana .app-dashboard-block-title{color:#1d4ed8}.app-dashboard-block-fidelizacion-programa,.app-dashboard-block-fidelizacion-semana{border-left:3px solid #2563eb}.app-dashboard-block-gastos-categoria .app-dashboard-block-title{color:#b91c1c}.app-dashboard-block-gastos-categoria{border-left:3px solid #dc2626}.app-dashboard-block-ventas-tipo .app-dashboard-block-title{color:#166534}.app-dashboard-block-ventas-tipo{border-left:3px solid #16a34a}.app-dashboard-block-subtitle{margin:1rem 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}.app-dashboard-mini-card{padding:.5rem .75rem;margin-bottom:.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:.15rem}.app-dashboard-mini-card .app-dashboard-card-label{font-size:.7rem}.app-dashboard-mini-card .app-dashboard-card-value{font-size:1.1rem}.app-dashboard-block-canje .app-dashboard-canje-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.app-dashboard-canje-left{min-width:0}.app-dashboard-canje-right{min-width:0;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}@media(max-width:768px){.app-dashboard-block-canje .app-dashboard-canje-row{grid-template-columns:1fr}}.app-dashboard-chart{height:220px;margin-bottom:.75rem}.app-dashboard-empty{margin:0;font-size:.85rem;color:var(--text-muted)}.app-dashboard-bars{list-style:none;margin:0;padding:0}.app-dashboard-bars li{margin-bottom:.6rem}.app-dashboard-bars li:last-child{margin-bottom:0}.app-dashboard-bar-label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.2rem}.app-dashboard-bar-label span:first-child{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.app-dashboard-bar-label span:last-child{color:var(--text-muted);flex-shrink:0}.app-dashboard-bar-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.app-dashboard-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .2s}@media(max-width:640px){.app-dashboard-grid{grid-template-columns:1fr}}.btn-icon-edit{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s}.btn-icon-edit:hover{color:var(--text);background:#ffffff14}[data-theme=light] .btn-icon-edit:hover{background:#0000000f}.btn-icon-edit svg{width:1rem;height:1rem}.btn-icon-cancel:hover{color:var(--error, #dc2626)}[data-theme=light] .btn-icon-cancel:hover{background:#dc262614}.btn-icon-view{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s;text-decoration:none}.btn-icon-view:hover{color:var(--text);background:#ffffff14}[data-theme=light] .btn-icon-view:hover{background:#0000000f}.btn-icon-view svg{width:1rem;height:1rem}.data-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-card)}.data-list li{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);transition:background .15s}.data-list li:hover{background:#ffffff05}[data-theme=light] .data-list li:hover{background:#00000005}.data-list li:last-child{border-bottom:none}.list-primary{font-weight:500;width:140px;min-width:140px;color:var(--text);flex-shrink:0}.list-muted{color:var(--text-muted);font-size:.9rem;flex:1;flex-shrink:1;min-width:100px}.list-badge{font-size:.75rem;padding:.25rem .6rem;border-radius:6px;font-weight:500;text-transform:capitalize;flex-shrink:0}.list-badge-tipo,.list-badge-activo{width:6rem;min-width:6rem;text-align:center}.list-badge-precio{width:6rem;min-width:6rem;text-align:right;display:inline-flex;justify-content:flex-end;align-items:center}.list-badge.active,.list-badge.activa,.list-badge.activo,.list-badge.completada{background:var(--pill-active-bg);color:var(--pill-active-text)}.list-badge.inactive,.list-badge.inactiva,.list-badge.inactivo,.list-badge.cancelada,.list-badge.reembolsada,.list-badge-revertido{background:var(--pill-inactive-bg);color:var(--pill-inactive-text)}.data-list .list-badge:not(.active):not(.inactive):not(.activa):not(.inactiva):not(.activo):not(.inactivo):not(.completada):not(.cancelada):not(.reembolsada):not(.list-badge-revertido){background:var(--pill-active-bg);color:var(--pill-active-text)}.list-badge-pendiente,.list-badge-baja{background:var(--pill-inactive-bg);color:var(--pill-inactive-text)}.list-badge-recibido{background:#3b82f633;color:#3b82f6}.list-badge-en_proceso{background:#eab30833;color:#ca8a04}.list-badge-completado{background:var(--pill-active-bg);color:var(--pill-active-text)}.list-empty{grid-column:1 / -1;padding:2rem;text-align:center;color:var(--text-muted)}.orden-servicio-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.5rem;margin-bottom:1.25rem;padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.orden-servicio-filters label{display:inline-flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.orden-servicio-filters select,.orden-servicio-filters input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:var(--bg-card);color:var(--text)}.orden-servicio-receive{margin-bottom:1rem}.orden-servicio-readonly{display:flex;flex-direction:column;gap:.5rem}.orden-servicio-readonly p{margin:0;font-size:.95rem}.orden-servicio-readonly .btn-secondary{align-self:flex-start;margin-top:.5rem}.orden-servicio-page .data-list-header,.orden-servicio-page .data-list li{display:grid;gap:1rem;align-items:center;grid-template-columns:minmax(90px,1fr) minmax(180px,2fr) minmax(120px,1fr) minmax(100px,1fr) minmax(120px,1fr) auto}.orden-servicio-page .data-list li.list-empty{grid-column:1 / -1;justify-content:center;display:flex}.empleados-page .page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.empleados-page .empleados-filters{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.empleados-page .empleados-filters label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.empleados-page .empleados-filters select{min-width:140px}.empleados-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.empleados-table{width:100%;border-collapse:collapse;text-align:left}.empleados-table thead th{padding:.85rem 1rem;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;background:#ffffff08;border-bottom:1px solid var(--border)}[data-theme=light] .empleados-table thead th{background:#00000008}.empleados-table tbody td{padding:.85rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}.empleados-table tbody tr:last-child td{border-bottom:none}.empleados-table tbody tr:hover{background:#ffffff05}[data-theme=light] .empleados-table tbody tr:hover{background:#00000005}.empleados-table th,.empleados-table td{text-align:left}.empleados-table .empleados-cell-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.empleados-table .empleados-empty{text-align:center;padding:2rem;color:var(--text-muted)}.btn-small{font-size:.8rem;padding:.25rem .5rem}@media(max-width:768px){.empleados-table th:nth-child(5),.empleados-table th:nth-child(6),.empleados-table td:nth-child(5),.empleados-table td:nth-child(6){display:none}}@media(max-width:480px){.empleados-page .page-head{flex-direction:column;align-items:stretch}.empleados-table th:nth-child(3),.empleados-table th:nth-child(4),.empleados-table td:nth-child(3),.empleados-table td:nth-child(4){display:none}}.list-empty{padding:1rem;color:var(--text-muted);font-size:.9rem}.fidelizacion-programas-wrap{width:100%}.fidelizacion-programas-wrap .data-list-header,.fidelizacion-programas-wrap .data-list li{display:flex;width:100%;gap:1rem;align-items:center;box-sizing:border-box}.fidelizacion-programas-wrap .list-header-name,.fidelizacion-programas-wrap .list-primary{flex:2 1 140px;min-width:0;overflow:hidden;text-overflow:ellipsis}.fidelizacion-programas-wrap .list-header-cell.list-header-role,.fidelizacion-programas-wrap li .list-badge-tipo{flex:1 1 6rem;min-width:5rem;max-width:10rem;text-align:center}.fidelizacion-programas-wrap .list-header-activo,.fidelizacion-programas-wrap .list-badge-activo{flex:1 1 5rem;min-width:5rem;max-width:8rem;text-align:center}.fidelizacion-programas-wrap .list-header-actions,.fidelizacion-programas-wrap .list-actions{flex:0 0 3rem;justify-content:flex-end;margin-left:auto}@media(max-width:768px){.fidelizacion-programas-wrap .list-header-name,.fidelizacion-programas-wrap .list-primary{flex:1 1 100px}.fidelizacion-programas-wrap .data-list-header,.fidelizacion-programas-wrap .data-list li{gap:.75rem;padding:.75rem 1rem}}@media(max-width:480px){.fidelizacion-programas-wrap .list-header-name,.fidelizacion-programas-wrap .list-primary{flex:1 1 80px;min-width:80px}.fidelizacion-programas-wrap .list-header-cell.list-header-role,.fidelizacion-programas-wrap li .list-badge-tipo{min-width:4rem}.fidelizacion-programas-wrap .data-list-header,.fidelizacion-programas-wrap .data-list li{gap:.5rem;padding:.625rem .75rem}}.fidelizacion-section-title{margin:1.5rem 0 .75rem;font-size:1rem;font-weight:600;color:var(--text)}.fidelizacion-section-title:first-of-type{margin-top:0}.fidelizacion-puntos-card{margin-top:1rem;padding:1.25rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px}.fidelizacion-puntos-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.fidelizacion-puntos-label{font-weight:600;color:var(--text)}.fidelizacion-canje-form{margin-bottom:1rem}.fidelizacion-movimientos{margin-top:1rem}.fidelizacion-movimientos strong{display:block;margin-bottom:.5rem;font-size:.9rem;color:var(--text-muted)}.fidelizacion-movimientos .data-list{margin-top:0}.welcome-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.welcome-card h2{margin:0 0 .5rem;font-size:1.35rem;color:var(--text)}.welcome-card p{margin:0 0 1.5rem;color:var(--text-muted)}.user-info{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:0}.user-info dt{color:var(--text-muted);font-weight:500}.user-info dd{margin:0;color:var(--text)}.user-info code{font-size:.9rem;background:var(--bg-input);padding:.2rem .5rem;border-radius:4px;color:var(--text)}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998;opacity:0;transition:opacity .3s ease;pointer-events:none}.sidebar-overlay.active{opacity:1;pointer-events:all}.sidebar-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.sidebar-toggle:hover{color:var(--text);border-color:var(--text-muted);background:#ffffff0d}[data-theme=light] .sidebar-toggle:hover{background:#0000000a}.sidebar-toggle svg{width:20px;height:20px}.sidebar-close{display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-left:auto;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s}.sidebar-close:hover{color:var(--text);background:#ffffff14}.sidebar-close svg{width:18px;height:18px}.btn-logout{display:flex;align-items:center;gap:.5rem}.btn-logout-text{display:inline}.btn-logout-icon{display:none}@media(max-width:1024px){.app-main{padding:1rem}.page-card{padding:1.25rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.form-grid--suscripcion{grid-template-columns:repeat(2,minmax(200px,1fr))}}@media(max-width:768px){.sidebar-toggle,.sidebar-close{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:999;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.app-header{padding:.75rem 1rem;gap:.75rem}.header-user{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.header-role,.btn-logout-text{display:none}.btn-logout-icon{display:block}.btn-logout{padding:.5rem;min-width:36px}.app-main{padding:.75rem}.page-card{padding:1rem;border-radius:8px}.page-head{margin-bottom:1rem}.page-head h2{font-size:1.1rem}.form-grid{grid-template-columns:1fr;gap:.75rem}.form-grid--suscripcion{grid-template-columns:1fr}.form-inline{flex-direction:column;gap:.5rem}.form-inline input,.form-inline select{width:100%;min-width:unset}.form-inline button{width:100%}.fidelizacion-puntos-card{padding:1rem}.data-list-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-list-header,.data-list li{min-width:max-content;gap:.75rem;padding:.75rem 1rem}.list-header-name,.list-primary{min-width:120px;width:120px}.list-header-email,.list-muted{min-width:100px}.list-header-role,.list-badge-tipo{min-width:5rem;width:5rem}.list-header-desc,.list-desc{min-width:140px;width:140px;max-width:140px}.list-header-precio,.list-badge-precio,.list-header-activo,.list-badge-activo{min-width:5rem;width:5rem}.list-header-actions,.list-actions{width:2.5rem;min-width:2.5rem}.welcome-card{padding:1.5rem}.user-info{grid-template-columns:1fr;gap:.5rem}.login-page{padding:1rem}.login-card{padding:1.5rem}}@media(max-width:480px){.app-header{padding:.625rem .75rem;gap:.5rem}.header-user{font-size:.85rem;max-width:100px}.app-main{padding:.5rem}.page-card{padding:.875rem}.page-head h2{font-size:1rem}.btn-primary{padding:.5rem 1rem;font-size:.85rem}.data-list-header{font-size:.75rem;padding:.625rem .75rem;gap:.5rem}.data-list li{padding:.625rem .75rem;gap:.5rem}.list-primary,.list-header-name{min-width:100px;width:100px;font-size:.9rem}.list-muted,.list-header-email{min-width:80px;font-size:.85rem}.list-badge{font-size:.7rem;padding:.2rem .5rem}.login-card{padding:1.25rem}.login-header h1{font-size:1.25rem}}
