:root{--color-primary: #2563eb;--color-secondary: #64748b;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-secondary: #64748b;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--border-radius: .5rem;--shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg);color:var(--color-text);line-height:1.6}.app-layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) 0;box-shadow:var(--shadow)}.header .container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:600;color:var(--color-primary)}.nav{display:flex;gap:var(--spacing-sm)}.nav-link{padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none;color:var(--color-text-secondary);border-radius:var(--border-radius);transition:all .2s}.nav-link:hover{background-color:var(--color-bg);color:var(--color-text)}.nav-link.active{background-color:var(--color-primary);color:#fff}.main{flex:1;padding:var(--spacing-lg) 0}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}h1{font-size:2rem;font-weight:700;margin-bottom:var(--spacing-sm)}h2{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-sm)}h3{font-size:1.25rem;font-weight:600}.subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.controls{display:flex;gap:var(--spacing-sm)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background-color:var(--color-surface);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow)}.stat-card h3{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;text-transform:uppercase;margin-bottom:var(--spacing-xs)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.stat-label{color:var(--color-text-secondary);font-size:.875rem}.stat-details{color:var(--color-text-secondary);font-size:.875rem;margin-top:var(--spacing-xs)}.stats-summary{display:flex;gap:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);box-shadow:var(--shadow)}.stat{display:flex;gap:var(--spacing-xs);align-items:baseline}.stat .stat-label{color:var(--color-text-secondary);font-size:.875rem}.stat .stat-value{font-size:1.5rem;font-weight:600;color:var(--color-text)}.summary-block{background-color:var(--color-surface);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow)}.summary-stats{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-md)}table{width:100%;background-color:var(--color-surface);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow)}thead{background-color:var(--color-bg)}th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);font-weight:600;color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase}td{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border)}tbody tr:hover{background-color:var(--color-bg)}tr.discrepancy{background-color:#fef2f2}tr.discrepancy:hover{background-color:#fee2e2}tr.discrepancy-warning{background-color:#fef3c7}tr.discrepancy-warning:hover{background-color:#fde68a}tr.discrepancy-critical{background-color:#fee2e2}tr.discrepancy-critical:hover{background-color:#fecaca}tr.clickable{cursor:pointer}.highlight{font-weight:600;color:var(--color-error)}.badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-OK_FACTURADO{background-color:#d1fae5;color:#065f46}.badge-PENDING_FACTURA{background-color:#dbeafe;color:#1e40af}.badge-DISCREPANCIA_COBRO_SIN_FACTURA{background-color:#fee2e2;color:#991b1b}.badge-paid{background-color:#d1fae5;color:#065f46}.badge-pending{background-color:#dbeafe;color:#1e40af}.badge-refunded{background-color:#f3f4f6;color:#374151}.badge-failed{background-color:#fee2e2;color:#991b1b}.badge-UNKNOWN{background-color:#f3f4f6;color:#6b7280}label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:.875rem;font-weight:500;color:var(--color-text)}input[type=month],input[type=text],input[type=number],select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:.875rem;background-color:var(--color-surface);color:var(--color-text)}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.loading,.error,.no-data{padding:var(--spacing-lg);text-align:center;background-color:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow)}.error{color:var(--color-error);background-color:#fef2f2}.no-data{color:var(--color-text-secondary);margin-top:var(--spacing-md)}.breakdown-table{background-color:var(--color-surface);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--shadow)}.breakdown-table h2{margin-bottom:var(--spacing-md)}.payment-detail{max-width:900px}.back-link{display:inline-block;color:var(--color-primary);text-decoration:none;margin-bottom:var(--spacing-sm);font-size:.875rem}.back-link:hover{text-decoration:underline}.payment-state{display:flex;gap:var(--spacing-xs)}.detail-section{background-color:var(--color-surface);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow)}.detail-section h2{font-size:1.25rem;margin-bottom:var(--spacing-md);color:var(--color-text)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.detail-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em}.detail-value{font-size:1rem;color:var(--color-text)}.detail-section-alert{border-left:4px solid var(--color-error)}.detail-section-success{border-left:4px solid var(--color-success)}.alert{padding:var(--spacing-md);border-radius:var(--border-radius)}.alert p{margin-bottom:var(--spacing-xs)}.alert p:last-child{margin-bottom:0}.alert-error{background-color:#fef2f2;color:#991b1b}.alert-success{background-color:#f0fdf4;color:#166534}.badge-error{background-color:#fee2e2;color:#991b1b}tbody tr[style*="cursor: pointer"]:hover{background-color:var(--color-bg);transition:background-color .15s}
