body{background-color:var(--bg-primary)}.dashboard{height:100vh;display:flex}.sidebar{background-color:var(--primary-color);width:250px;color:var(--bg-secondary);flex-direction:column;display:flex}.sidebar-header h1{margin:0;font-size:18px}.sidebar-nav{flex:1;padding:20px 0}.nav-item{cursor:pointer;color:var(--bg-secondary);text-align:left;background:0 0;border:none;width:100%;padding:12px 20px;font-size:14px;transition:background-color .2s}.nav-item:hover{background-color:var(--sidebar-hover)}.nav-item.active{background-color:var(--accent-color)}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.content-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);padding:20px}.content-header h2{color:var(--primary-color);margin:0}.content-body{flex:1;padding:20px;overflow-y:auto}.projects-section{background-color:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.section-header{border-bottom:1px solid var(--border-color);justify-content:between;background-color:#f8f9fa;align-items:center;padding:20px;display:flex}.section-header h3{color:var(--primary-color);margin:0}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 16px;font-size:14px;transition:background-color .2s}.btn-primary{background-color:var(--accent-color);color:var(--bg-secondary)}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--text-secondary);color:var(--bg-secondary)}.btn-secondary:hover{background-color:var(--text-secondary)}.btn-success{color:var(--bg-secondary);background-color:#27ae60}.btn-success:hover{background-color:#229954}.btn-danger{color:var(--bg-secondary);background-color:#e74c3c}.btn-danger:hover{background-color:#c0392b}.btn:disabled{opacity:.6;cursor:not-allowed}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border-color);padding:12px}.table th{color:var(--primary-color);background-color:#f8f9fa;font-weight:600}.table tbody tr:hover,.table tbody tr.hover-row:hover{background-color:#f8f9fa}.table tbody tr.selected{background-color:#e3f2fd}.form-group{margin-bottom:16px}.form-group label{color:var(--primary-color);margin-bottom:4px;font-weight:500;display:block}.form-control{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;padding:8px 12px;font-size:14px}.form-control:focus{border-color:var(--accent-color);outline:none;box-shadow:0 0 0 2px #3498db33}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--bg-secondary);border-radius:var(--radius-md);width:90%;max-width:700px;max-height:80vh;padding:24px;overflow-y:auto}.modal-header{margin-bottom:20px}.modal-header h3{color:var(--primary-color);margin:0}.modal-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.loading{text-align:center;color:var(--text-secondary);padding:40px}.error{color:#e74c3c;border-radius:var(--radius-sm);background-color:#fdf2f2;border:1px solid #f5c6cb;margin-bottom:16px;padding:12px}.actions{gap:8px;display:flex}.split-view{gap:20px;height:100%;display:flex}.projects-panel,.parcelas-panel{flex:1;min-width:0}.status-activo{color:#155724;background-color:#d4edda}.status-pausado{background-color:var(--bg-secondary)3cd;color:#856404}.status-completado{color:#0c5460;background-color:#d1ecf1}.status-cancelado{color:#721c24;background-color:#f8d7da}.status-disponible{color:#155724;background-color:#d4edda}.status-vendida_contado,.status-vendida_credito{color:#0c5460;background-color:#d1ecf1}.status-reservada{background-color:var(--bg-secondary)3cd;color:#856404}.system-check-overlay{z-index:2000;background-color:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.system-check-modal{background-color:var(--bg-secondary);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:80vh;box-shadow:var(--shadow-lg), 0 10px 10px -5px #0000000a;padding:32px;overflow-y:auto}.system-check-header{text-align:center;margin-bottom:32px}.system-check-header h2{color:var(--primary-color);margin-bottom:8px;font-size:24px}.system-check-header p{color:var(--text-secondary);font-size:16px}.system-check-list{space-y:16px}.check-item{border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:flex-start;gap:16px;margin-bottom:12px;padding:16px;transition:all .3s;display:flex}.check-item.running{border-color:var(--accent-color);background-color:#f8f9ff}.check-item.success{background-color:#f0f8f0;border-color:#27ae60}.check-item.error{background-color:#fef8f8;border-color:#e74c3c}.check-icon{margin-top:2px}.check-content{flex:1;min-width:0}.check-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.check-header h3{color:var(--primary-color);margin:0;font-size:16px;font-weight:600}.status-badge{border-radius:var(--radius-lg);text-transform:uppercase;padding:4px 12px;font-size:12px;font-weight:500}.status-badge.pending{color:#6c757d;background-color:#f8f9fa}.status-badge.running{color:#1976d2;background-color:#e3f2fd}.status-badge.success{color:#2e7d2e;background-color:#e8f5e8}.status-badge.error{color:#c62828;background-color:#ffebee}.check-description{color:var(--text-secondary);margin:0;font-size:14px}.error-message{color:#e74c3c;margin:8px 0 0;font-size:14px;font-weight:500}.system-check-footer{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px}.error-summary{border-radius:var(--radius-md);background-color:#fef8f8;border:1px solid #e74c3c;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.error-summary h4{color:#e74c3c;margin:0 0 4px;font-size:16px}.error-summary p{color:#721c24;margin:0;font-size:14px}.retry-button{background-color:var(--accent-color);width:100%;color:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 24px;font-size:16px;font-weight:500;transition:background-color .2s}.retry-button:hover{background-color:var(--accent-hover)}.system-error{text-align:center;background-color:#f8f9fa;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:40px;display:flex}.system-error h1{color:#e74c3c;margin-bottom:16px;font-size:32px}.system-error p{color:var(--text-secondary);margin-bottom:24px;font-size:18px}.system-error button{background-color:var(--accent-color);color:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 24px;font-size:16px;transition:background-color .2s}.system-error button:hover{background-color:var(--accent-hover)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.sidebar{background-color:var(--sidebar-bg);color:var(--sidebar-text);box-shadow:var(--shadow-md);z-index:10}.sidebar-header{background-color:#0000;border-bottom:1px solid #ffffff1a;padding:24px 20px}.sidebar-header h1{color:var(--sidebar-text);letter-spacing:.5px;font-weight:700}.nav-item{color:#94a3b8;border-radius:var(--radius-sm);width:calc(100% - 24px);margin:4px 12px;font-weight:500}.nav-item:hover{color:var(--sidebar-text);background-color:#ffffff0d}.nav-item.active{background-color:var(--accent-color);color:#fff;box-shadow:var(--shadow-md)}.content-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:none}.btn{box-shadow:var(--shadow-sm);font-weight:500}.btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.projects-section,.modal{border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.table th{background-color:var(--bg-primary);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:12px}.mobile-menu-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;margin-right:12px;padding:8px;display:none}.sidebar-overlay{display:none}.table-responsive{-webkit-overflow-scrolling:touch;width:100%;margin-bottom:1rem;overflow-x:auto}@media (width<=768px){.mobile-menu-btn{justify-content:center;align-items:center;display:flex}.content-header{align-items:center;padding:16px;display:flex}.content-header h2{font-size:18px}.sidebar{z-index:1050;height:100vh;transition:transform .3s ease-in-out;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:1040;background-color:#00000080;width:100vw;height:100vh;display:block;position:fixed;top:0;left:0}.split-view{flex-direction:column;gap:16px}.content-body{padding:12px}.section-header{flex-wrap:wrap;gap:12px}.modal{width:95%;max-height:90vh;padding:16px}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:calc(50% - 8px)}.btn{justify-content:center;align-items:center;min-height:44px;display:flex}}:root{--bg-primary:#f4f7f6;--bg-secondary:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--primary-color:#0d1b2a;--primary-hover:#1b263b;--accent-color:#c29b40;--accent-hover:#a38236;--sidebar-bg:#0d1b2a;--sidebar-hover:#1b263b;--sidebar-active:#415a77;--sidebar-text:#e0e1dd;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--info:#3b82f6;--border-color:#e2e8f0;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--transition-fast:.15s ease;--transition-normal:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{width:100%;height:100vh}.app{flex-direction:column;height:100vh;display:flex}.sub-nav{border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);gap:24px;padding:0 20px;display:flex}.sub-nav-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:16px 4px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.sub-nav-item:hover{color:var(--primary-color)}.sub-nav-item.active{color:#1b5e20;border-bottom-color:#1b5e20}
