:root{--bg: #000000;--bg-elevated: #101012;--surface: #161618;--border: #262629;--text: #EDEDEF;--text-muted: #9A9CA6;--red-700: #B10817;--red-600: #DD0A1D;--red-500: #E8394A;--red-glow: rgba(221, 10, 29, .18);--accent-secondary: #6C7086;--danger: #F04438;--danger-bg: rgba(240, 68, 56, .14);--success: #22C55E;--success-bg: rgba(34, 197, 94, .14);--warning: #F5A524;--warning-bg: rgba(245, 165, 36, .14);--radius: 10px;--radius-sm: 6px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .3);--font-sans: -apple-system, "Segoe UI", "Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em;color:var(--text)}p{line-height:1.5}a{color:var(--red-500);text-decoration:none}a:hover{text-decoration:underline}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:linear-gradient(180deg,#0e0e11,#17171b);color:#d6d7dc;display:flex;flex-direction:column;padding:20px 14px;border-right:1px solid var(--border)}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 6px 20px;margin-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo img{width:32px;height:auto}.sidebar-logo span{font-size:14px;font-weight:600;color:#fff;line-height:1.2}.sidebar-nav{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);color:#a9abb4;font-size:14px;font-weight:500}.sidebar-nav a:hover{background:#ffffff0d;text-decoration:none;color:#fff}.sidebar-nav a.active{background:var(--red-600);color:#fff}.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:14px;font-size:12px;color:#75777f}.content{flex:1;overflow-y:auto;padding:28px 36px;background:var(--bg)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.page-header h2{font-size:22px}.page-subtitle{color:var(--text-muted);font-size:13px;margin-top:2px}.breadcrumb{margin-bottom:10px;font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px;border-left:4px solid var(--red-600)}.kpi-card.kpi-danger{border-left-color:var(--danger)}.kpi-card.kpi-warning{border-left-color:var(--warning)}.kpi-card.kpi-success{border-left-color:var(--success)}.kpi-label{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:6px}.kpi-value{font-size:28px;font-weight:700;color:var(--text)}.kpi-value.danger{color:var(--danger)}.kpi-meta{font-size:12px;color:var(--text-muted);margin-top:4px}.form-grid{display:flex;flex-direction:column;gap:14px;max-width:440px}.form-row{display:flex;flex-direction:column;gap:5px}.form-row label{font-size:13px;font-weight:500;color:var(--text-muted)}.form-inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}input,select,textarea,button{font-family:inherit;font-size:14px}input,select,textarea{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text)}input::placeholder,textarea::placeholder{color:#6b6d75}input:focus,select:focus,textarea:focus{outline:2px solid var(--red-600);outline-offset:1px;border-color:var(--red-600)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;font-weight:500;transition:background .12s ease}.btn:hover{background:#202126}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--red-600);border-color:var(--red-600);color:#fff}.btn-primary:hover{background:var(--red-700)}.btn-whatsapp{background:#1fae55;border-color:#1fae55;color:#fff}.btn-whatsapp:hover{background:#189246}.btn-sm{padding:5px 10px;font-size:13px}.btn-link{background:transparent;border:none;color:var(--red-500);padding:0}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}table{width:100%;border-collapse:collapse}thead tr{background:var(--bg-elevated);border-bottom:1px solid var(--border)}th{text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);padding:11px 16px}td{padding:11px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#ffffff05}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-neutral{background:#ffffff0f;color:var(--text-muted)}.empty-state{color:var(--text-muted);font-size:14px;padding:24px 0}.error-text{color:var(--danger);font-size:13px;margin:0}.login-shell{height:100vh;display:flex;align-items:center;justify-content:center;background:#000}.login-card{background:var(--surface);border:1px solid var(--border);padding:36px;border-radius:16px;box-shadow:0 0 0 1px #dd0a1d14,0 24px 60px #0009;width:340px;display:flex;flex-direction:column;gap:12px}.login-brand-logo{width:220px}.login-footer-badge{background:#fff;border-radius:10px;padding:8px 14px;display:flex;align-items:center;justify-content:center}.login-footer-badge img{width:110px;display:block}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:50}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;width:380px;display:flex;flex-direction:column;gap:12px;box-shadow:0 12px 40px #00000080}@media print{body *{visibility:hidden}.ticket-printable,.ticket-printable *{visibility:visible}.ticket-printable{position:fixed;left:0;top:0;width:100%;color:#000;background:#fff;padding:16px}.reporte-printable,.reporte-printable *{visibility:visible}.reporte-printable{position:fixed;left:0;top:0;width:100%;color:#000;background:#fff;padding:24px}.reporte-printable table{color:#000}}
