.owner-portal-container{margin:0 auto;max-width:1200px;padding:2rem 1rem}.owner-portal-container .dashboard-container{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}.owner-dashboard-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));width:100%}@media(max-width:1180px){.owner-dashboard-grid{grid-template-columns:1fr}}.dashboard-tile{width:100%}.owner-login-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);height:fit-content;margin:2rem auto;max-width:400px;padding:2rem}.calendar-tile{background:#fff}.owner-calendar{height:100%;width:100%;margin-top:1rem}.owner-calendar .fc-multimonth-month{border-radius:var(--border-radius);border:1px solid #e5e7eb;max-width:32%}@media(max-width:680px){.owner-calendar .fc-multimonth-month{max-width:100%}}.owner-calendar .fc-multimonth{gap:20px}.owner-calendar .fc-multimonth-month{margin-bottom:1rem}.fc .fc-multimonth{border:0;justify-content:space-between;gap:15px}.owner-calendar .blocked-event{background-color:var(--primary-color)!important;opacity:.8}.owner-calendar .fc-daygrid-day:has(.blocked-event) .fc-daygrid-day-number{color:#fff!important}.owner-calendar .arrival-date{background:linear-gradient(134deg,#fff 0%,#fff 50%,var(--primary-color) 53%,var(--primary-color) 100%)!important}.owner-calendar .departure-date{background:linear-gradient(134deg,var(--primary-color) 0%,var(--primary-color) 50%,#fff 53%,#fff 100%)!important}.owner-calendar .fc-daygrid-day.blocked-event{background-color:var(--primary-color,#ef4444)!important;opacity:.8}.owner-calendar .fc-daygrid-day.blocked-event .fc-daygrid-day-number{color:#fff!important;font-weight:bold}.owner-calendar .fc-daygrid-day.arrival-date{background:linear-gradient(134deg,#fff 0%,#fff 50%,var(--primary-color,#ef4444) 53%,var(--primary-color,#ef4444) 100%)!important}.owner-calendar .fc-daygrid-day.arrival-date .fc-daygrid-day-number{color:var(--primary-color,#ef4444)!important;font-weight:bold}.owner-calendar .fc-daygrid-day.departure-date{background:linear-gradient(134deg,var(--primary-color,#ef4444) 0%,var(--primary-color,#ef4444) 50%,#fff 53%,#fff 100%)!important}.owner-calendar .fc-daygrid-day.departure-date .fc-daygrid-day-number{color:var(--primary-color,#ef4444)!important;font-weight:bold}.owner-calendar .fc-daygrid-day.fc-day-past{background-color:#e0e0e0}.owner-calendar .fc-daygrid-day-frame{min-height:35px}.calendar-legend{display:flex;gap:20px;margin-bottom:1rem}.legend-item{align-items:center;display:flex;gap:8px}.legend-color{border-radius:4px;height:20px;width:20px}.legend-color.blocked{background-color:#ef4444;opacity:.8}.legend-color.blocked-arrival{background:linear-gradient(134deg,#fff 0%,#fff 50%,#ef4444 53%,#ef4444 100%)}.legend-color.blocked-depart{background:linear-gradient(134deg,#ef4444 0%,#ef4444 50%,#fff 53%,#fff 100%)}.legend-text{color:#333;font-size:14px}.owner-checkout{margin:0 auto;max-width:1200px;padding:1rem}.owner-checkout .checkout-container{display:grid;grid-template-columns:3fr 2fr;gap:2rem}.owner-checkout .property-details{display:flex;flex-direction:column;gap:1.5rem}.owner-checkout .property-header{display:flex;gap:1rem;align-items:flex-start;flex-direction:row}.owner-checkout .property-image{flex:0 0 250px;position:relative;border-radius:.5rem;overflow:hidden;height:150px;margin:0}.owner-checkout .property-image img{width:100%;height:100%;object-fit:cover;display:block}.owner-checkout .property-title{flex:1;flex-direction:column;gap:0}.owner-checkout .property-title h2{font-size:1.5rem;margin:0 0 .5rem 0;color:var(--heading-color,#1a1a1a);font-weight:600}.owner-checkout .property-location{color:var(--text-color,#4a5568)}.owner-checkout .property-location iconify-icon{color:var(--text-muted,#6b7280)}.owner-checkout .property-features{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-color,#e5e7eb);border-bottom:1px solid var(--border-color,#e5e7eb);margin:1rem 0}.owner-checkout .feature-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--feature-bg,#f8f9fa);border-radius:.375rem;color:var(--text-color,#4a5568);font-size:.875rem}.owner-checkout .feature-item iconify-icon{color:var(--text-muted,#6b7280)}.owner-checkout .property-description{line-height:1.6;color:var(--text-color,#4a5568);font-size:.875rem;padding-right:1rem}.owner-checkout .booking-section{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.owner-checkout .booking-section h2{font-size:1.25rem;margin:0 0 1.5rem 0;color:var(--heading-color,#1a1a1a);font-weight:600}.owner-checkout .booking-notice{font-size:.875rem;color:var(--text-muted,#6b7280);margin:1rem 0;line-height:1.5}@media(max-width:1180px){.owner-checkout .checkout-container{grid-template-columns:1fr;gap:1.5rem}.owner-checkout .booking-form.collapsed{visibility:hidden}}@media(max-width:680px){.mobile-header,.mobile-backdrop,.handle-bar{display:block}.select-dates-button{display:inline-flex;align-items:center}.owner-checkout{padding:1rem}.owner-checkout .booking-form{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:1000;background:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.1);margin:0;padding:0;border-radius:20px 20px 0 0;transition:transform .3s ease-in-out;max-height:calc(100vh - 60px);overflow:hidden;transform:translateY(0)}.owner-checkout .booking-form.collapsed{transform:translateY(100%)}.owner-checkout .booking-form-content{padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 85px)}.owner-checkout .mobile-header{position:relative;min-height:0;height:40px;padding:20px 20px 0;background:#fff;border-radius:20px 20px 0 0;cursor:pointer;z-index:2;text-align:center}.owner-checkout .handle-bar{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:40px;height:4px;background-color:#e0e0e0;border-radius:2px}.owner-checkout .mobile-header-content{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.owner-checkout .mobile-header-content h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--heading-color)}.owner-checkout.mobile-header-content span{color:var(--text-muted);font-size:.875rem}.mobile-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.mobile-backdrop.active{opacity:1;visibility:visible}body.booking-form-expanded{overflow:hidden;position:fixed;width:100%;height:100%}.owner-checkout .property-header{flex-direction:column}.owner-checkout .property-image{width:100%;height:200px}.owner-checkout .property-features{flex-direction:row;flex-wrap:wrap}.owner-checkout .feature-item{flex:1 1 calc(50% - .5rem)}.owner-checkout .booking-section{padding:1rem}}.mobile-header,.mobile-backdrop,.handle-bar,.select-dates-button{display:none}.owner-checkout .rns-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background-color:rgba(0,0,0,.5)!important;display:flex!important;opacity:1!important;align-items:center!important;justify-content:center!important;z-index:9999!important;padding:1rem!important;height:100%!important;width:100%!important}.rns-modal-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);max-width:500px;width:90%;margin:0 1rem;overflow:hidden;position:relative;z-index:10000}.rns-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color,#e5e7eb)}.rns-modal-header.success{background-color:var(--success-subtle,#f0fdf4);color:var(--success,#16a34a)}.rns-modal-header.error{background-color:var(--error-subtle,#fef2f2);color:var(--error,#dc2626)}.rns-modal-header-content{display:flex;align-items:center;gap:.75rem}.rns-modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.rns-modal-close{background:none;border:0;padding:.25rem;cursor:pointer;color:inherit;opacity:.75;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.rns-modal-close:hover{opacity:1}.rns-modal-body{padding:1.5rem}.rns-modal-message{display:flex;align-items:flex-start;gap:1rem;color:var(--text-color,#4a5568)}.rns-modal-message.success{color:var(--success,#16a34a)}.rns-modal-message p{margin:0;line-height:1.5}.success-content{display:flex;flex-direction:column;gap:.75rem}.confirmation-number{display:flex;flex-direction:column;gap:.25rem}.confirmation-number span{font-size:.875rem;color:var(--text-muted,#6b7280)}.confirmation-number strong{font-size:1.125rem;color:var(--heading-color,#1a1a1a)}.rns-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border-color,#e5e7eb);background-color:var(--background-subtle,#f8f9fa)}.rns-modal-footer .rns-btn{display:flex;align-items:center;gap:.5rem}.rns-modal-enter-active,.rns-modal-leave-active{transition:opacity .3s ease}.rns-modal-enter-from,.rns-modal-leave-to{opacity:0}.rns-modal-enter-active .rns-modal-container,.rns-modal-leave-active .rns-modal-container{transition:transform .3s ease}.rns-modal-enter-from .rns-modal-container,.rns-modal-leave-to .rns-modal-container{transform:scale(.9)}.rns-reservation-details{background-color:var(--background-subtle,#f8f9fa);padding:1.25rem;border-radius:8px;margin-bottom:1rem}.rns-reservation-details-grid{display:grid;gap:1rem}.rns-detail-row{display:flex;align-items:flex-start;gap:.75rem}.rns-detail-icon{color:var(--primary-color,#3b82f6);margin-top:2px;flex-shrink:0}.rns-detail-content{flex:1}.rns-detail-label{font-size:.875rem;color:var(--text-muted,#6b7280);margin-bottom:.25rem}.rns-detail-value{font-weight:600;color:var(--heading-color,#1a1a1a)}.rns-confirmation-box{background-color:var(--success-subtle,#f0fdf4);border:2px solid var(--success,#16a34a);padding:1rem;border-radius:8px;text-align:center}.rns-confirmation-label{font-size:.875rem;color:var(--text-muted,#6b7280);margin-bottom:.25rem;display:block}.rns-confirmation-number{font-size:1.5rem;font-weight:700;color:var(--success,#16a34a);letter-spacing:.05em;display:block}.rns-success-title{margin-bottom:1.25rem;font-size:1rem}.calendar-loading{display:flex;justify-content:center;align-items:center;min-height:300px}.owner-portal-container .loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner-ring{display:inline-block;width:50px;height:50px;border:4px solid var(--border-color,#e5e7eb);border-radius:50%;border-top-color:var(--primary-color,#3b82f6);animation:rns-spin 1s linear infinite}.loading-text{color:var(--text-color,#4a5568);font-size:1rem}.rns-btn .inline-spinner{border-color:rgba(255,255,255,.3);border-top-color:#fff;margin-right:8px}.rns-btn:disabled{opacity:.7;cursor:not-allowed;pointer-events:none}.rns-btn:disabled:hover{transform:none;box-shadow:none}.owner-portal-container .detail-headings{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.owner-header-actions{display:flex;gap:1rem;flex-wrap:nowrap;justify-content:flex-end}.owner-portal-container .dashboard-title .rns-btn-secondary,.owner-portal-container .detail-headings .rns-btn-secondary{align-items:center;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s ease}.owner-statements .dashboard-tile{padding:0;width:48%}@media(max-width:680px){.mobile-header,.mobile-backdrop,.handle-bar,.select-dates-button{display:flex}.owner-portal-container{padding:1rem 0}.owner-statements .dashboard-tile{width:100%;padding:0}.owner-portal-container .detail-headings{flex-direction:column-reverse;align-items:flex-start}.owner-header-actions{width:100%;justify-content:stretch;padding-bottom:1rem}.owner-header-actions .rns-btn{flex:1;text-align:center;justify-content:center}.dashboard-title{flex-direction:column-reverse}}.statement-form{display:flex;flex-direction:column;gap:1rem}.reservations-form .filter-tile{margin-bottom:1.5rem}.reservations-form .filter-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.reservations-form .form-group{margin-bottom:0}.reservations-form .property-selector{flex:2 1 35%}.reservations-form .date-picker-group{flex:1 1 20%}.reservations-form .rns-dateRange .rns-form-control{display:block!important}.reservations-form .rns-dateRange input[type="hidden"]{display:none!important}.reservations-form .rns-dateRange .flatpickr-input.active{display:block!important;width:100%}.reservations-form .rns-dateRange .rns-input-group-addon{position:absolute;left:12px;top:60%;transform:translateY(-50%);z-index:10;pointer-events:none;color:#666}.reservations-form .rns-dateRange .rns-form-control,.reservations-form .rns-dateRange .flatpickr-input{padding-left:44px!important;border-radius:var(--radius-md,.375rem);border:1px solid #dee2e6;font-size:1rem;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box}.reservations-form .filter-button-group{flex:1 1 25%}.reservations-form .filter-button-group .rns-btn{display:flex;align-items:center;justify-content:center}.reservations-table-tile .table-viewport{position:relative;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);background:linear-gradient(90deg,rgba(248,249,250,.95) 0%,rgba(248,249,250,.8) 100%)}.reservations-table-tile .rns-table-responsive{overflow-x:auto;overflow-y:visible;border:0;border-radius:0;box-shadow:none;background:none}.reservations-table{margin-bottom:0;border-collapse:separate;border-spacing:0;width:100%;min-width:700px}.reservations-table thead th{background-color:#f8f9fa;border-bottom:2px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:12px 16px;font-weight:600;color:#374151;text-align:left;font-size:.875rem;position:sticky;top:0;z-index:10}.reservations-table thead th.sortable{cursor:pointer;user-select:none;white-space:nowrap;transition:background-color .2s ease}.reservations-table thead th.sortable:hover{background-color:rgba(0,0,0,.05)}.reservations-table thead th.sortable.sort-active{color:var(--primary-color,#0056b3)}.reservations-table thead th.sortable .sort-icon{vertical-align:middle;margin-left:4px;visibility:hidden}.reservations-table thead th.sortable.sort-active .sort-icon{visibility:visible}.reservations-table thead th:first-child{border-left:0}.reservations-table thead th:last-child{border-right:0}.reservations-table tbody tr{background-color:#fff;border-bottom:1px solid #f3f4f6;transition:all .2s ease}.reservations-table tbody tr:hover{background-color:#f9fafb;box-shadow:0 2px 4px rgba(0,0,0,.05);transform:translateY(-1px)}.reservations-table tbody tr:nth-child(even){background-color:#fafbfc}.reservations-table tbody tr:nth-child(even):hover{background-color:#f3f4f6}.reservations-table tbody td{padding:14px 16px;border-right:1px solid #f3f4f6;color:#374151;font-size:.875rem;vertical-align:middle}.reservations-table tbody td:first-child{border-left:0;font-weight:500;color:#1f2937}.reservations-table tbody td:last-child{border-right:0}.reservations-table .total-row{background-color:#f3f4f6!important;border-top:2px solid #d1d5db;font-weight:600}.reservations-table .total-row:hover{background-color:#e5e7eb!important;transform:none}.reservations-table .total-label{text-align:right;color:#374151;font-weight:600}.reservations-table .total-amount{color:#059669;font-weight:700;font-size:.95rem}@media(max-width:680px){.reservations-table{min-width:800px}.reservations-table thead th,.reservations-table tbody td{padding:10px 12px;font-size:.8rem}.reservations-form .filter-controls{flex-direction:column;align-items:stretch}.reservations-form .property-selector,.reservations-form .date-picker-group,.reservations-form .filter-button-group{flex:1 1 100%}.reservations-table-tile .table-viewport::after{content:'Swipe to scroll →';position:absolute;bottom:10px;right:10px;background-color:var(--primary-color);color:#fff;padding:4px 8px;border-radius:12px;font-size:.75rem;z-index:20;opacity:0;transition:opacity .3s ease;pointer-events:none;white-space:nowrap}.reservations-table-tile.has-scroll .table-viewport::after{opacity:1}.reservations-table-tile.scrolling .table-viewport::after{opacity:0}}select.rns-form-control.rns-btn-searchbar{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;padding-right:2.5rem}.reservations-table-tile{margin-top:1.5rem}.owner-portal-container .no-data-message{display:flex;align-items:center;justify-content:center;padding:2rem;background-color:var(--background-subtle,#f8f9fa);border-radius:var(--border-radius);color:var(--text-muted,#6b7280);font-size:1rem;gap:.5rem}.select-dates-button{position:fixed;bottom:0;left:50%;transform:translateX(-50%);padding:12px 24px!important;z-index:2}.select-dates-button:active{transform:translateX(-50%) scale(.98)}.select-dates-button iconify-icon{margin-right:4px}