.btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{color:#fff;background-color:#e35554}.btn-primary:hover:not(:disabled){background-color:#d44a4a}.btn-secondary{color:#fff;background-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-small{padding:8px 16px;font-size:.875rem}.btn-medium{padding:10px 20px;font-size:1rem}.btn-large{padding:12px 24px;font-size:1.125rem}.btn-loading{position:relative}.btn-loading:after{content:"";border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;margin-left:8px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard{color:#1f2937;max-width:1400px;margin:0 auto}.summary-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px;display:grid}.total-facturacion{color:#fff;background:linear-gradient(135deg,#cf4f4e 0%,#a53d4d 100%);border-radius:16px;padding:30px;box-shadow:0 14px 35px #a33d4d38}.total-facturacion h2{opacity:.95;margin-bottom:15px;font-size:1.2rem}.total-amount{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.total-amount span{font-size:1.8rem;font-weight:300}.total-amount strong{font-size:3rem;font-weight:700}.total-facturacion p{opacity:.9;font-size:.95rem}.filters-section{background:#fffffff0;border:1px solid #cbd5e1d9;border-radius:12px;margin-bottom:25px;padding:25px;box-shadow:0 10px 24px #0f172a0f}.filters-section h2{color:#1f2937;margin-bottom:20px;font-size:1.3rem}.filters{grid-template-columns:2fr 1fr 1fr;gap:15px;display:grid}.filter-input,.filter-select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:12px 16px;font-size:.95rem;transition:all .3s}.filter-input:focus,.filter-select:focus{border-color:#cf4f4e;outline:none;box-shadow:0 0 0 3px #cf4f4e29}.ipc-section{background:linear-gradient(#fff6f5 0%,#ffecea 100%);border:1px solid #f2c2bd;border-radius:12px;margin-bottom:25px;padding:20px;box-shadow:0 10px 24px #cf4f4e14}.ipc-section h3{color:#9f2e3f;margin-bottom:15px}.ipc-controls{align-items:center;gap:15px;display:flex}.ipc-input{color:#111827;background:#fff;border:1px solid #e7a9a2;border-radius:8px;width:120px;padding:10px;font-size:1rem}.btn-ipc{color:#fff;cursor:pointer;background:#e35554;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:background .3s}.btn-ipc:hover{background:#d44645}.renovacion-form{background:#fffffff5;border:1px solid #cbd5e1cc;border-radius:12px;margin:25px 0;padding:30px;box-shadow:0 12px 28px #0f172a14}.renovacion-form-wrapper{animation:.28s ease-out reveal-renovacion-form}@keyframes reveal-renovacion-form{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.form-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.form-group label{color:#334155;font-weight:600}.form-group input,.form-group textarea{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:.95rem}.form-group input:focus,.form-group textarea:focus{border-color:#cf4f4e;outline:none;box-shadow:0 0 0 3px #cf4f4e24}.form-group.checkbox{justify-content:center}.form-group.checkbox label{cursor:pointer;align-items:center;gap:8px;display:flex}.form-group.checkbox input{width:auto}.form-actions{flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:8px;display:flex}.renovaciones-table-container{background:#fffffff5;border:1px solid #cbd5e1cc;border-radius:12px;padding:25px;box-shadow:0 12px 28px #0f172a14}.renovaciones-table-container h2{color:#1f2937;margin-bottom:20px;font-size:1.3rem}.table-wrapper{overflow-x:auto}.renovaciones-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px}.renovaciones-table th:first-child,.renovaciones-table td:first-child{width:44px}.renovaciones-table th:nth-child(2),.renovaciones-table td:nth-child(2){width:17%}.renovaciones-table th:nth-child(3),.renovaciones-table td:nth-child(3){width:21%}.renovaciones-table th:nth-child(4),.renovaciones-table td:nth-child(4){width:24%}.renovaciones-table th:nth-child(5),.renovaciones-table td:nth-child(5){width:12%}.renovaciones-table th:nth-child(6),.renovaciones-table td:nth-child(6){width:10%}.renovaciones-table th:nth-child(7),.renovaciones-table td:nth-child(7){width:116px}.renovaciones-table th{text-align:left;color:#334155;background:#e9eef5;border-bottom:1px solid #cbd5e1;padding:14px 12px;font-size:.9rem;font-weight:600}.renovaciones-table td{color:#1f2937;vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #dbe4ee;padding:14px 12px;overflow:hidden}.renovaciones-table tbody tr:hover{background:#f5f8fc}.renovaciones-table .price{color:#38a169;white-space:nowrap;font-weight:600}.cliente-toggle{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.cliente-toggle-name{color:#142033;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.cliente-toggle-icon{color:#64748b;flex-shrink:0;font-size:.8rem}.renovacion-detail-row td{background:#f1f5f9;padding-top:18px;padding-bottom:18px}.renovacion-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;display:grid}.detail-label{text-transform:uppercase;letter-spacing:.04em;color:#475569;margin-bottom:4px;font-size:.8rem;font-weight:700;display:block}.renovacion-detail-grid p{color:#0f172a;margin:0}.detail-full-width{grid-column:1/-1}.btn-delete-small{color:#c53030;cursor:pointer;background:#fed7d7;border:none;border-radius:8px;width:32px;height:32px;font-size:.9rem;transition:all .3s}.actions-cell{gap:8px;display:flex}.btn-edit-small{color:#1d4ed8;cursor:pointer;background:#dbeafe;border:none;border-radius:8px;width:32px;height:32px;font-size:.9rem;transition:all .3s}.btn-edit-small:hover{background:#bfdbfe;transform:scale(1.05)}.btn-delete-small:hover{background:#feb2b2;transform:scale(1.05)}.loading,.empty-message{text-align:center;color:#718096;padding:40px;font-size:1rem}@media (width<=768px){.filters,.summary-grid,.form-row{grid-template-columns:1fr}.total-amount strong{font-size:2.2rem}.ipc-controls{flex-direction:column;align-items:stretch}.ipc-input{width:100%}.renovacion-form,.filters-section,.renovaciones-table-container{padding:20px}.renovacion-detail-grid{grid-template-columns:1fr}}.layout{background:radial-gradient(circle at top,#e3555414,#0000 30%),linear-gradient(#f8fafc 0%,#eef2f7 100%);flex-direction:column;min-height:100vh;display:flex}.header{color:#fff;background:linear-gradient(135deg,#c84b4b 0%,#933b48 100%);border-bottom:1px solid #ffffff1f;padding:1rem 0;box-shadow:0 10px 30px #62242e2e}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex}.header-brand{align-items:center;gap:14px;display:flex}.header-logo{object-fit:contain;background:#fff;border-radius:18px;flex-shrink:0;width:240px;height:auto;padding:10px 14px;box-shadow:0 10px 24px #4a14202e,inset 0 0 0 1px #ffffffd9}.header-brand-copy{flex-direction:column;gap:2px;display:flex}.header-title{letter-spacing:.01em;margin:0;font-size:1.5rem;font-weight:700}.header-subtitle{color:#fff5f5d9;margin:0;font-size:.92rem}.header-user{color:#fffafaf2;align-items:center;gap:1rem;font-weight:500;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}@media (width<=768px){.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-user{flex-wrap:wrap;justify-content:space-between;width:100%}}.input-group{margin-bottom:1rem}.input-label{color:#333;margin-bottom:.5rem;font-weight:500;display:block}.input{border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .2s}.input:focus{border-color:#e35554;outline:none;box-shadow:0 0 0 2px #e3555433}.input-error{border-color:#dc3545}.input-error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc354533}.input-error-text{color:#dc3545;margin-top:.25rem;font-size:.875rem;display:block}.login-container{background:radial-gradient(circle at top,#ffffff1a,#0000 32%),linear-gradient(135deg,#c84b4b 0%,#933b48 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border:1px solid #f0f0f0;border-radius:16px;width:100%;max-width:420px;padding:40px;box-shadow:0 20px 40px #00000014}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:240px;height:auto;margin-bottom:24px}.login-header h1{color:#1f2937;margin-bottom:8px;font-size:1.875rem;font-weight:700}.login-header p{color:#718096;font-size:1rem}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#4a5568;font-size:.95rem;font-weight:600}.form-group input{background:#fafafa;border:2px solid #e2e8f0;border-radius:12px;padding:14px 16px;font-size:1rem;transition:all .3s}.form-group input:focus{background:#fff;border-color:#e35554;outline:none;box-shadow:0 0 0 4px #e355541a}.form-group input:disabled{opacity:.6;cursor:not-allowed}.btn-login{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e35554 0%,#d44645 100%);border:none;border-radius:12px;margin-top:8px;padding:14px 20px;font-size:1rem;font-weight:600;transition:all .3s}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #e3555440}.btn-login:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{color:#c53030;background:#fed7d7;border:1px solid #feb2b2;border-radius:12px;padding:12px 16px;font-size:.9rem}.login-footer{text-align:center;border-top:1px solid #e2e8f0;margin-top:32px;padding-top:24px}.login-footer p{color:#718096;margin:4px 0;font-size:.875rem}.login-footer code{color:#e35554;background:#f7fafc;border-radius:4px;padding:2px 6px;font-family:Courier New,monospace}@media (width<=480px){.login-card{padding:30px 24px}.login-header h1{font-size:1.5rem}}html,body,#root{width:100%;height:100%}:root{--color-primary:#e35554;--color-primary-dark:#c74244;--color-secondary:#f8f9fa;--color-border:#e0e0e0;--color-text:#333;--color-text-light:#666}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html,body,#root{height:100%}
