.form-card{background:#fff;border:none;border-radius:15px;box-shadow:0 2px 4px rgba(0,0,0,.05);overflow:hidden}.form-section{background:linear-gradient(90deg,#f8f9fa,#fff);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.form-section h5{align-items:center;color:#2d3748;display:flex;font-weight:600;margin-bottom:1.5rem}.form-section h5 i{color:#3d5a80;margin-right:.75rem}.form-control,.form-select{border:2px solid #f8f9fa;font-size:1rem;transition:all .2s ease}.form-control:focus,.form-select:focus{border-color:#3d5a80}.form-label{color:#98c1d9;font-weight:600;margin-bottom:.5rem}.invalid-feedback{color:#ee6c4d;font-size:.875rem;margin-top:.5rem}.table-container{background:#fff;border-radius:15px;box-shadow:0 2px 4px rgba(0,0,0,.05);margin-top:2rem;padding:1.5rem}.table{margin-bottom:0}.table thead th{background:linear-gradient(90deg,#f8f9fa,#fff);border-bottom:2px solid #f8f9fa;color:#98c1d9;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table tbody tr{transition:all .2s ease}.table tbody tr:hover{background-color:#f8f9fa;box-shadow:0 2px 5px rgba(0,0,0,.05);transform:translateY(-2px)}.period-cell{color:#2d3748;font-weight:500}.description-cell{color:#98c1d9;font-style:italic}.alert{border:none;border-radius:15px;margin-bottom:1rem;padding:1.5rem}.alert.alert-info{background:linear-gradient(90deg,#e1f5fe,#f8f9fa);color:#3498db;font-weight:500}.alert.alert-success{background:linear-gradient(90deg,#e8f5e9,#f8f9fa);color:#2ecc71;font-weight:500}.alert.alert-warning{background:linear-gradient(90deg,#fff3e0,#f8f9fa);color:#f1c40f;font-weight:500}body .alert.alert-danger,html body div.alert.alert-danger{background:red!important;border:2px solid #c00!important;box-shadow:0 0 10px rgba(255,0,0,.3)!important;color:#000!important;font-weight:700!important}body .alert.alert-danger .btn-close,html body div.alert.alert-danger .btn-close{filter:invert(1);opacity:.8}body .alert.alert-danger .btn-close:hover,html body div.alert.alert-danger .btn-close:hover{opacity:1}body .alert.alert-danger i,html body div.alert.alert-danger i{color:#000!important;margin-right:.75rem}.filter-card{background:linear-gradient(135deg,#f8f9fa,#fff)}.detail-card,.filter-card{border:none;border-radius:15px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.detail-card{background:#fff;margin-bottom:2rem;overflow:hidden}.detail-card .detail-header{background:linear-gradient(135deg,#3d5a80,#2d425d);color:#fff;padding:2rem}.detail-card .detail-header h1{font-size:1.75rem;font-weight:600;margin:0}.detail-card .detail-header .dates{font-size:1.1rem;margin-top:1rem;opacity:.9}.detail-card .detail-body{padding:2rem}.badge{border-radius:50px}.badge.badge-recurring{background-color:#f7fbfe;color:#196090}.badge.badge-non-recurring{background-color:#f8f9fa;color:#98c1d9}.delete-form .btn-danger{background:linear-gradient(135deg,#ee6c4d,#ea461e);border:none;transition:all .2s ease}.delete-form .btn-danger:hover{box-shadow:0 4px 6px rgba(0,0,0,.1);box-shadow:0 4px 10px rgba(238,108,77,.2);transform:translateY(-2px)}.swal2-popup{border-radius:15px;padding:2rem}.swal2-popup .swal2-title{color:#2d3748;font-size:1.5rem;font-weight:600}.swal2-popup .swal2-html-container{color:#98c1d9;font-size:1.1rem;margin:1rem 0}.swal2-popup .swal2-confirm{background:linear-gradient(135deg,#ee6c4d,#ea461e)}.swal2-popup .swal2-cancel,.swal2-popup .swal2-confirm{border-radius:8px!important;font-weight:500!important;padding:.75rem 2rem!important}.swal2-popup .swal2-cancel{background:#98c1d9!important}:root{--background-main:#f8f9fa;--card-background:#fff;--border-color:#e9ecef;--text-primary:#2d3748;--text-secondary:#718096;--primary-button:#3d5a80;--secondary-button:#98c1d9;--danger-button:#ee6c4d;--calendar-background:#f7fafc;--date-selected:#3d5a80;--date-occupied:#ee6c4d;--date-available:#2ecc71;--source-airbnb:#ff5a5f;--source-booking:#003580;--source-direct:#2ecc71;--status-confirmed:#2ecc71;--status-pending:#f1c40f;--status-cancelled:#e74c3c;--finance-income:#2ecc71;--finance-expense:#e74c3c;--finance-neutral:#95a5a6}body{background-color:#f8f9fa;color:#2d3748;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;padding-top:60px}.sidebar{background-color:var(--card-background);border-right:1px solid var(--border-color);margin-top:10px;min-height:calc(100vh - 60px);padding:1rem}.sidebar #quittance-special{background-color:#e11d48;border:none;border-radius:8px;box-shadow:0 4px 6px rgba(225,29,72,.2);color:#fff!important;display:block;font-size:1.2rem;font-weight:600;margin:1rem;padding:1rem;text-align:center;text-decoration:none!important;transition:all .3s ease}.sidebar #quittance-special i{color:#fff;font-size:1.3rem;margin-right:.5rem}.sidebar #quittance-special:hover{background-color:#be123c;box-shadow:0 6px 8px rgba(225,29,72,.3);transform:translateY(-2px)}main{padding:2rem}main .page-header{margin-bottom:2rem}main .page-header h1{color:var(--text-primary);font-weight:600;margin:0}.navbar{background-color:var(--card-background);border-bottom:1px solid var(--border-color);padding:1rem 2rem}.navbar .navbar-brand{color:var(--text-primary);font-weight:600}.navbar .navbar-brand i{color:var(--primary-button);margin-right:.5rem}.navbar .nav-link{color:var(--text-secondary)}.navbar .nav-link:hover{color:var(--primary-button)}.alert{margin-bottom:1.5rem}.alert.alert-success{background-color:var(--status-confirmed);color:#fff}.alert.alert-warning{background-color:var(--status-pending);color:#8c6915}.alert.alert-info{background-color:var(--info);color:#3c9295}.btn{border-radius:8px;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.btn:hover{box-shadow:0 4px 6px rgba(0,0,0,.1);transform:translateY(-2px)}.btn i{margin-right:.5rem}.card{background:var(--card-background);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.05);margin-bottom:1.5rem}.card .card-header{background-color:transparent;border-bottom:1px solid var(--border-color);padding:1.5rem 2rem}.card .card-body{padding:2rem}.card .card-footer{background-color:var(--background-main);border-top:1px solid var(--border-color);padding:1.5rem 2rem}.card .card-title{color:var(--text-primary);font-weight:600;margin-bottom:1.5rem}.login-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin:100px auto;max-width:400px;padding:20px}.login-container h1{color:#007bff;margin-bottom:30px;text-align:center}.login-container .form-group{margin-bottom:20px}.login-container .btn-primary{background-color:#007bff;border:none;padding:10px;width:100%}.login-container .btn-primary:hover{background-color:#0062cc}.shadow-sm{box-shadow:0 2px 4px rgba(0,0,0,.05)}.rounded{border-radius:8px}.bg-white{background-color:#fff}.p-3{padding:1rem}.mb-4{margin-bottom:1.5rem}.form-control,.form-select{border-color:var(--border-color);border-radius:8px;padding:.75rem 1rem;transition:all .3s ease}.form-control:focus,.form-select:focus{border-color:var(--primary-button);box-shadow:0 0 0 .2rem rgba(61,90,128,.15)}.form-control::placeholder,.form-select::placeholder{color:var(--text-secondary)}input[type=date]{background-color:var(--calendar-background)}input[type=date]:focus{background-color:var(--date-selected)}.btn-primary{background-color:var(--primary-button);border-color:var(--primary-button)}.btn-primary:hover{background-color:#2d425d;border-color:#2d425d}.btn-secondary{background-color:var(--secondary-button);border-color:var(--secondary-button);color:#2d425d}.btn-secondary:hover{background-color:#73abcb;border-color:#73abcb}.btn-danger{background-color:var(--danger-button);border-color:var(--danger-button)}.btn-danger:hover{background-color:#ea461e;border-color:#ea461e}.status{border-radius:6px;font-weight:500;padding:.5rem 1rem}.status.status-warning{background-color:var(--status-pending);color:#8c6915}.status.status-danger{background-color:var(--danger-button);color:#cd192e}.status.status-info{background-color:var(--info);color:#3c9295}.status.status-success{background-color:var(--status-confirmed);color:#5b9924}.status.status-primary{background-color:var(--primary-button);color:#98490b}.badge-confirmed{background-color:var(--status-confirmed);color:#fff}.badge-pending{background-color:var(--status-pending);color:#8c6915}.badge-cancelled{background-color:var(--status-cancelled);color:#cd192e}.source-badge{border-radius:6px;font-weight:500;padding:.5rem 1rem}.source-badge.airbnb{background-color:var(--source-airbnb);color:#3c9295}.source-badge.booking{background-color:var(--source-booking);color:#98490b}.source-badge.direct{background-color:var(--source-direct);color:#5b9924}.was-validated .form-control:valid,.was-validated .form-select:valid{background-image:none;border-color:var(--status-confirmed)}.was-validated .form-control:invalid,.was-validated .form-select:invalid{background-image:none;border-color:var(--danger-button)}.table th{border-bottom-width:1px;color:var(--text-secondary);font-weight:600}.table td{vertical-align:middle}.table tbody tr:hover{background-color:rgba(0,0,0,.02)}.stats-card .card-subtitle{color:var(--text-secondary);font-size:.875rem}.stats-card.income{border-left:4px solid var(--finance-income)}.stats-card.expense{border-left:4px solid var(--finance-expense)}.stats-card.neutral{border-left:4px solid var(--finance-neutral)}.fade-in{animation:fadeIn .3s ease-in-out}@media(max-width:768px){.card .card-body{padding:1.5rem}.btn{padding:.5rem 1rem}}.badge{border-radius:6px;font-weight:500;padding:.5rem 1rem}.badge.badge-warning{background-color:var(--status-pending);color:#8c6915}.badge.badge-danger{background-color:var(--danger-button);color:#cd192e}.badge.badge-info{background-color:var(--info);color:#3c9295}.badge.badge-success{background-color:var(--status-confirmed);color:#5b9924}.badge.badge-primary{background-color:var(--primary-button);color:#98490b}.profile-avatar{align-items:center;background-color:var(--light);border-radius:50%;display:flex;height:80px;justify-content:center;width:80px}.profile-avatar i{font-size:40px}.profile-info dt{color:var(--text-secondary);font-weight:500}.profile-info dd{font-weight:600;margin-bottom:1rem}.stats-value{color:#2c3e50;font-size:2.5rem;font-weight:700;line-height:1.2}#occupancy-result{transition:all .3s ease-in-out}#occupancy-result.fade-in{animation:fadeIn .5s ease-in-out}#occupancy-result .alert-heading{color:#2c3e50;font-weight:600}#occupancy-result .stats-value{color:#3498db}#occupancy-result small{color:#7f8c8d;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.income-light-gray{background-color:#6c757d!important;color:#fff!important}.income-dark-gray{background-color:#343a40!important;color:#fff!important}.income-black{background-color:#000!important;color:#fff!important}.quittance-generator{background-color:#f8f9fa;border-radius:5px;margin:20px 0;padding:20px}.quittance-generator h3{margin-bottom:15px}.quittance-generator form{align-items:center;display:flex;gap:10px}.quittance-generator form input,.quittance-generator form select{border:1px solid #ddd;border-radius:4px;padding:8px}.quittance-generator form button{padding:8px 16px}