.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:20px}.login-box{background-color:var(--bg-color);border-radius:12px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-box h1{text-align:center;color:var(--primary);margin-bottom:8px;font-size:32px}.login-box .subtitle{text-align:center;color:var(--gray-500);margin-bottom:30px;font-size:14px}.login-box form{margin-bottom:30px}.login-footer{padding-top:20px;border-top:1px solid var(--border-color);text-align:center;font-size:12px;color:var(--gray-500)}.login-footer p{margin:4px 0}.responsive-table-container{overflow-x:auto;margin:var(--spacing-lg) 0}.responsive-table{width:100%;border-collapse:collapse}.responsive-table thead{background-color:var(--surface-light);font-weight:600}.responsive-table th{padding:var(--spacing-md);text-align:left;border-bottom:2px solid var(--border-color);font-size:13px;color:var(--gray-600);font-weight:600}.responsive-table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.responsive-table tbody tr:hover{background-color:var(--surface-light)}.responsive-cards-container{display:none;gap:var(--spacing-lg);margin:var(--spacing-lg) 0}.responsive-card{width:100%}@media (max-width: 767px){.responsive-table-container{display:none}.responsive-cards-container{display:flex;flex-direction:column}}.loading{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xxl);min-height:200px}.spinner{width:40px;height:40px;border:4px solid var(--gray-300);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.card{padding:var(--spacing-lg);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;color:var(--gray-500)}.booking-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .2s;margin-bottom:var(--spacing-lg)}.booking-card:active{box-shadow:var(--shadow-md)}.booking-card__header{background-color:var(--surface-light);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.booking-card__property{display:flex;align-items:center;gap:var(--spacing-md);font-weight:600;font-size:16px}.property-icon{font-size:20px}.property-name{flex:1;word-break:break-word}.booking-card__body{padding:var(--spacing-lg)}.booking-card__section{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.booking-card__section:last-of-type{margin-bottom:0;border-bottom:none}.booking-card__row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.booking-card__row--stacked{flex-direction:column;align-items:flex-start}.booking-card__label{font-weight:500;font-size:12px;color:var(--gray-500);text-transform:uppercase;letter-spacing:.5px}.booking-card__value{font-size:14px;color:var(--text-color);font-weight:500}.booking-card__guest-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.booking-card__guest-name{font-size:14px;font-weight:600;color:var(--text-color)}.booking-card__guest-email{font-size:12px;color:var(--gray-500)}.booking-card__price{font-size:18px;font-weight:700;color:var(--primary)}.booking-card__statuses{display:flex;flex-wrap:wrap;gap:var(--spacing-md);width:100%}.booking-card__footer{padding:var(--spacing-lg);background-color:var(--surface-light);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-card__action-btn{width:100%;min-height:44px;padding:12px 16px;font-size:14px;font-weight:600}.booking-card__action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.booking-card__action-link{display:flex;align-items:center;justify-content:center;padding:12px 16px;min-height:44px;background-color:var(--card-bg);color:var(--primary);text-decoration:none;border:1px solid var(--primary);border-radius:var(--radius-md);font-weight:600;transition:all .2s}.booking-card__action-link:active{background-color:#2563eb0d}@media (max-width: 767px){.booking-card{margin-bottom:var(--spacing-lg)}.booking-card__header,.booking-card__body{padding:var(--spacing-md)}.booking-card__section{margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.booking-card__row{padding:var(--spacing-xs) 0}.booking-card__footer{padding:var(--spacing-md)}}@media (max-width: 480px){.booking-card__action-buttons{grid-template-columns:1fr}}.guest-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.guest-name{font-weight:500;color:var(--text-color);font-size:14px}.guest-email{font-size:12px;color:var(--gray-500)}.responsive-table .price{font-weight:600;color:var(--primary);font-size:16px}.status-badge{display:inline-block;padding:6px 12px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.pending,.status-badge.requested,.status-badge.awaiting_confirmation{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.status-badge.paid,.status-badge.fully_paid,.status-badge.fully-paid{background-color:var(--status-paid-bg);color:var(--status-paid-text)}.booking-actions{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.booking-actions button,.booking-actions a{white-space:nowrap}button.small{padding:8px 12px;font-size:12px;min-height:auto;min-width:auto}button.primary.small{background-color:var(--primary);color:#fff}button.primary.small:hover{background-color:var(--primary-dark)}button.secondary.small{background-color:var(--gray-200);color:var(--text-color);border:1px solid var(--border-color)}button.secondary.small:hover{background-color:var(--gray-300)}.btn-link{color:var(--primary);text-decoration:none;padding:8px 12px;border-radius:var(--radius-sm);transition:background-color .2s;display:inline-flex;align-items:center}.btn-link:hover{background-color:var(--surface-light);text-decoration:underline}@media (max-width: 767px){.responsive-table{font-size:12px}.guest-name{font-size:13px}.guest-email{font-size:11px}.responsive-table .price{font-size:14px}.booking-actions button.small,.booking-actions a.small{font-size:11px;padding:6px 10px}}.month-year-picker{position:relative;display:inline-block}.month-year-picker-trigger{display:flex;align-items:center;gap:6px;font-size:1.25rem;font-weight:600;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);padding:4px 10px;cursor:pointer;transition:all .2s ease;min-height:44px}.month-year-picker-trigger:hover,.month-year-picker-trigger:focus-visible{background:var(--surface-light);border-color:var(--border-color);outline:none}.month-year-picker-caret{font-size:.7rem;color:var(--text-secondary)}.month-year-picker-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:50;width:260px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;padding:var(--spacing-md)}.month-year-picker-year-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.month-year-picker-year-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:1rem}.month-year-picker-year-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.month-year-picker-year-label{font-weight:600;font-size:1rem;color:var(--text-primary)}.month-year-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.month-year-picker-month-btn{padding:8px 4px;border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;text-transform:capitalize;transition:all .15s ease}.month-year-picker-month-btn:hover{border-color:var(--primary)}.month-year-picker-month-btn.is-selected{background:var(--primary);color:#fff;border-color:var(--primary)}.month-year-picker-month-btn:disabled{opacity:.35;cursor:not-allowed}.month-year-picker-month-btn:disabled:hover{border-color:var(--border-color)}@media (max-width: 599px){.month-year-picker-trigger{font-size:.95rem;padding:4px 8px}.month-year-picker-popover{width:90vw;max-width:300px;left:0;transform:none}}@media (prefers-color-scheme: dark){.month-year-picker-trigger:hover,.month-year-picker-trigger:focus-visible{background:var(--surface-light)}.month-year-picker-popover{box-shadow:0 8px 24px #0006}}.booking-status-legend-items{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.booking-status-legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.booking-status-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.booking-status-legend-collapsible{position:relative}.booking-status-legend-toggle{display:none;width:32px;height:32px;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-secondary);border-radius:50%;cursor:pointer;font-size:1rem}.booking-status-legend-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;padding:var(--spacing-sm) var(--spacing-md)}.booking-status-legend-popover .booking-status-legend-items{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}@media (max-width: 599px){.booking-status-legend-collapsible .booking-status-legend-full{display:none}.booking-status-legend-collapsible .booking-status-legend-toggle{display:flex}}@media (prefers-color-scheme: dark){.booking-status-legend-popover{box-shadow:0 8px 24px #0006}}.canvas-calendar-container{position:relative;display:flex;flex-direction:column;width:100%;height:auto;max-height:600px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:visible}.canvas-body{display:flex;flex-direction:column;min-height:0;border-radius:0 0 var(--radius-md) var(--radius-md);overflow:hidden}.canvas-toolbar{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-md);height:44px;padding:0 var(--spacing-sm);background:var(--card-bg);border-bottom:1px solid var(--border-color)}.canvas-month-picker .month-year-picker-trigger{font-size:1rem;min-height:32px}.canvas-today-btn{padding:6px 12px;border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:500;white-space:nowrap}.canvas-today-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.canvas-legend{margin-left:auto}.canvas-header-row{flex-shrink:0;display:flex;height:37px}.canvas-header-corner{flex-shrink:0;width:150px;background:var(--surface-light);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color)}.canvas-header-wrapper{flex:1;min-width:0;background:var(--card-bg);border-bottom:1px solid var(--border-color);overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x}.canvas-header-wrapper::-webkit-scrollbar{height:0}.canvas-header{display:block;image-rendering:crisp-edges;height:100%}.canvas-calendar-area{flex:1;overflow:auto;min-height:0;scroll-behavior:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior:contain;scrollbar-width:thin}.canvas-calendar-area::-webkit-scrollbar{width:8px;height:8px}.canvas-calendar-area::-webkit-scrollbar-track{background:transparent}.canvas-calendar-area::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.canvas-calendar-area::-webkit-scrollbar-thumb:hover{background:#0000004d}@media (prefers-color-scheme: dark){.canvas-calendar-area::-webkit-scrollbar-thumb{background:#fff3}.canvas-calendar-area::-webkit-scrollbar-thumb:hover{background:#ffffff4d}}.canvas-content-wrapper{display:flex;width:max-content;min-width:100%}.canvas-properties-container{position:sticky;left:0;z-index:2;flex-shrink:0;width:150px;background:var(--surface-light);border-right:1px solid var(--border-color);overflow:hidden}.canvas-properties{display:block;image-rendering:crisp-edges;width:100%;height:100%}.canvas-main-container{position:relative}.canvas-main{display:block;image-rendering:crisp-edges;cursor:pointer}.canvas-main:hover{background:#00000005}@media (prefers-color-scheme: dark){.canvas-main:hover{background:#ffffff05}}.canvas-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:16px 24px;border-radius:var(--radius-md);font-size:14px;z-index:100}@media (max-width: 899px){.canvas-calendar-container{max-height:500px}.canvas-filter-btn{width:90px;padding:6px 10px}}@media (max-width: 599px){.canvas-calendar-container{max-height:400px}.canvas-filter-btn{width:80px;padding:4px 8px;font-size:12px}.canvas-toolbar{gap:var(--spacing-sm);padding:0 var(--spacing-sm)}.canvas-month-picker .month-year-picker-trigger{font-size:.85rem;padding:4px 6px}.canvas-today-btn{padding:6px 8px;font-size:.75rem}}.monthly-calendar-container{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--card-bg);border-radius:var(--radius-md);margin-top:var(--spacing-lg);border:1px solid var(--border-color)}.month-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.month-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;text-align:center;min-width:150px;flex:0 1 auto}.month-nav{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap;width:100%}.month-legend{margin-left:auto}.nav-btn,.today-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.nav-btn:hover,.today-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.nav-btn:active,.today-btn:active{transform:scale(.98)}.month-header-secondary{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.month-stats-badge{font-size:.8rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.property-selector-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);flex:0 1 auto}.property-selector-label{font-size:.9rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.property-selector{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-primary);border-radius:var(--radius-md);font-size:.9rem;cursor:pointer;min-width:150px}.property-selector:hover{border-color:var(--primary)}.property-selector:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-secondary);font-size:.85rem;text-align:center}.weekday-header{padding:var(--spacing-sm);text-transform:uppercase;letter-spacing:.05em}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-sm);grid-auto-rows:auto}.month-day-cell{background:var(--surface-light);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;position:relative;min-height:auto;transition:all .2s ease;overflow:visible}.month-day-cell:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.month-day-cell.is-today{background:#2563eb0d;border:2px solid var(--primary)}.month-day-cell.other-month{opacity:.4;background:var(--surface-light)}.month-day-cell.is-expanded{z-index:30}.day-dots-row{display:none}.day-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--status-confirmed-text)}.day-dot.status-confirmed{background:var(--status-confirmed-text)}.day-dot.status-requested{background:var(--status-requested-text)}.day-dot.status-cancelled{background:var(--status-cancelled-text)}.day-dot.status-completed{background:#15803d}.day-dot.status-individual_requested{background:var(--status-individual-text)}.day-dot-more{font-size:.55rem;font-weight:700;color:var(--text-secondary)}.day-bookings-popover{display:none;position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 24px #0003;padding:6px;flex-direction:column;gap:4px;z-index:40}.month-day-cell.is-expanded .day-bookings-popover{display:flex}.day-number{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.day-bookings-container{display:flex;flex-direction:column;gap:4px;margin-top:4px}.day-booking-bar{background:var(--status-confirmed-bg);color:var(--status-confirmed-text);border:1px solid var(--status-confirmed-text);border-radius:3px;padding:4px 6px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:500;cursor:pointer;overflow:visible;white-space:normal;text-overflow:clip;min-height:16px;transition:all .2s ease;flex:0 0 auto;line-height:1.2}.day-booking-bar:hover{box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.day-booking-bar:focus{outline:2px solid var(--primary);outline-offset:1px}.bar-label{display:inline-block;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.payment-indicator{font-size:.75rem;font-weight:700;margin-left:4px;display:inline-block;flex-shrink:0}.booking-more-badge{background:var(--primary);color:#fff;padding:4px 8px;border-radius:3px;font-size:.75rem;font-weight:700;text-align:center;cursor:default;flex:0 0 auto}.day-booking-bar.status-confirmed{background:var(--status-confirmed-bg);color:var(--status-confirmed-text);border-color:var(--status-confirmed-text)}.day-booking-bar.status-requested{background:var(--status-requested-bg);color:var(--status-requested-text);border-color:var(--status-requested-text)}.day-booking-bar.status-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-text);border-color:var(--status-cancelled-text);opacity:.6}.day-booking-bar.status-individual_requested{background:var(--status-individual-bg);color:var(--status-individual-text);border-color:var(--status-individual-text)}.day-booking-bar.status-completed{background:#22c55e26;color:#15803d;border-color:#15803d}@media (min-width: 900px){.day-booking-bar{font-size:.85rem;padding:6px 8px;min-height:24px}.bar-label{font-size:.85rem}.day-bookings-container{gap:6px}}@media (min-width: 600px) and (max-width: 899px){.day-booking-bar{font-size:.8rem;padding:5px 7px;min-height:20px}.bar-label{font-size:.8rem}.day-number{font-size:.95rem;margin-bottom:4px}.day-bookings-container{gap:5px}.month-header{flex-direction:column;align-items:stretch}.month-nav,.property-selector-wrapper,.property-selector{width:100%}}@media (max-width: 599px){.monthly-calendar-container{padding:var(--spacing-sm)}.month-weekdays{font-size:.7rem}.weekday-header{padding:2px}.month-grid{grid-auto-rows:auto;gap:4px}.month-day-cell{padding:4px 3px;min-height:auto}.day-number{font-size:.7rem;margin-bottom:2px;font-weight:600}.day-booking-bar{font-size:.65rem;padding:2px 4px;min-height:16px;gap:2px}.bar-label{font-size:.65rem;word-break:break-word}.payment-indicator{font-size:.5rem;margin-left:2px;flex-shrink:0}.booking-more-badge{font-size:.6rem;padding:2px 3px;margin-top:2px}.day-bookings-container{gap:3px;margin-top:2px}.month-title{font-size:1rem;width:100%;order:-1}.nav-btn,.today-btn{font-size:.75rem;padding:10px;min-height:44px;min-width:44px;flex:1;white-space:nowrap}.month-nav{justify-content:center;gap:4px;width:100%;flex-wrap:wrap}.month-legend{position:absolute;top:0;right:0;margin-left:0}.day-bookings-full{display:none}.day-dots-row{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin-top:2px;min-height:20px;cursor:pointer}.month-day-cell{position:relative;min-height:44px}.month-header-secondary{flex-direction:column;align-items:stretch;width:100%;gap:6px}.month-stats-badge{text-align:center}.property-selector-wrapper{width:100%}.property-selector{width:100%;font-size:.8rem;padding:6px 8px}.property-selector-label{font-size:.75rem;white-space:nowrap}.month-header{flex-direction:column;align-items:stretch;gap:8px}}@media (prefers-color-scheme: dark){.monthly-calendar-container{background:var(--card-bg);border-color:var(--border-color)}.month-day-cell{background:var(--surface-light);border-color:var(--border-color)}.month-day-cell:hover{border-color:var(--primary)}.month-day-cell.is-today{background:#2563eb1a;border-color:var(--primary)}.nav-btn,.today-btn{background:var(--surface-light);border-color:var(--border-color);color:var(--text-primary)}.nav-btn:hover,.today-btn:hover{background:var(--primary);color:#fff}.property-selector{background:var(--surface-light);border-color:var(--border-color);color:var(--text-primary)}.property-selector:focus{box-shadow:0 0 0 3px #2563eb26}}.drc-popover{position:absolute;top:calc(100% + var(--spacing-sm));left:0;right:0;z-index:50;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-lg)}.drc-hint{padding:var(--spacing-md);color:var(--gray-500);font-size:14px;text-align:center}.drc-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.drc-nav-status{font-size:13px;font-weight:500;color:var(--text-color)}.drc-nav-btn{min-height:36px;min-width:36px;border:1px solid var(--border-color);background-color:var(--surface-light);color:var(--text-color);border-radius:var(--radius-md);cursor:pointer;font-size:14px}.drc-nav-btn:disabled{opacity:.4;cursor:not-allowed}.drc-loading{padding:var(--spacing-md);text-align:center;font-size:13px;color:var(--gray-500)}.drc-error{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:13px}.drc-retry-btn{flex-shrink:0;min-height:32px;padding:6px 12px;border:1px solid var(--alert-error-border);border-radius:var(--radius-sm);background-color:transparent;color:var(--alert-error-text);font-size:12px;cursor:pointer}.drc-months{display:flex;flex-wrap:wrap;gap:var(--spacing-xl)}.drc-month{flex:1 1 240px}.drc-month-title{text-align:center;margin:0 0 var(--spacing-md) 0;font-size:14px;font-weight:600;color:var(--text-color)}.drc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.drc-day-header{text-align:center;font-size:11px;font-weight:600;color:var(--gray-500);padding:var(--spacing-xs) 0}.drc-day{text-align:center;padding:var(--spacing-sm) 0;font-size:13px;border-radius:var(--radius-sm);cursor:default;-webkit-user-select:none;user-select:none}.drc-day-empty{visibility:hidden}.drc-status-available{background-color:var(--alert-success-bg);color:var(--alert-success-text);cursor:pointer;transition:all .15s ease}.drc-status-available:hover{transform:scale(1.05);background-color:var(--gray-100)}.drc-status-booked{background-color:var(--alert-error-bg);color:var(--alert-error-text);text-decoration:line-through}.drc-status-past{color:var(--gray-300)}.drc-disabled{background-color:var(--calendar-disabled-bg)!important;color:var(--calendar-disabled-text)!important;cursor:not-allowed!important;transform:none!important}.drc-selected-checkin{background-color:var(--calendar-selected-checkin-bg)!important;color:var(--calendar-selected-checkin-text)!important;font-weight:700}.drc-selected-checkout{background-color:var(--calendar-selected-checkout-bg)!important;color:var(--calendar-selected-checkout-text)!important;font-weight:700}.drc-selected-range{background-color:var(--calendar-selected-range-bg)!important;color:var(--calendar-selected-range-text)!important}.drc-preview-range{background-color:var(--calendar-preview-range-bg)!important;color:var(--calendar-preview-range-text)!important}.drc-today{outline:2px solid var(--primary);outline-offset:-2px;font-weight:700}.drc-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.drc-legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:12px;color:var(--gray-500)}.drc-legend-color{width:14px;height:14px;border-radius:3px;display:inline-block}.drc-progress-hint{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--surface-light);color:var(--text-color);border-radius:var(--radius-md);font-size:13px}.drc-confirm-bar{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--surface-light);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.drc-confirm-summary{font-size:14px;font-weight:600;color:var(--text-color)}.drc-confirm-actions{display:flex;gap:var(--spacing-sm)}.drc-btn-confirm,.drc-btn-cancel{min-height:44px;padding:10px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit}.drc-btn-confirm{border:1px solid var(--primary);background-color:var(--primary);color:#fff}.drc-btn-confirm:hover{opacity:.9}.drc-btn-cancel{border:1px solid var(--border-color);background-color:transparent;color:var(--text-color)}.drc-btn-cancel:hover{background-color:var(--gray-100)}@media (max-width: 480px){.drc-months{flex-wrap:nowrap;flex-direction:column}.drc-month{flex-basis:auto}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:var(--spacing-lg)}.modal-content{background-color:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;color:var(--text-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--gray-500);padding:var(--spacing-md);min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;transition:color .2s;border-radius:var(--radius-md)}.modal-close:hover{color:var(--text-color);background-color:var(--surface-light)}.modal-close:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.booking-form{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group input,.form-group select,.form-group textarea{min-height:44px;padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:16px;background-color:var(--bg-color);color:var(--text-color);font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px;box-shadow:none}.form-group.checkbox{flex-direction:row;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.form-group.checkbox label{margin:0;font-weight:400;cursor:pointer}.modal-actions{display:flex;gap:var(--spacing-lg);justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--border-color);flex-wrap:wrap}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin:0 var(--spacing-xl) var(--spacing-lg);font-size:13px;display:flex;gap:var(--spacing-md);align-items:flex-start}.alert.error{background-color:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.date-range-row{position:relative}.date-picker-trigger{min-height:44px;padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:16px;background-color:var(--bg-color);color:var(--text-color);font-family:inherit;text-align:left;cursor:pointer;transition:all .2s}.date-picker-trigger:hover{border-color:var(--primary)}.date-picker-trigger.is-empty{color:var(--gray-500)}.date-picker-trigger:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.modal-actions button{min-height:44px;padding:12px 20px;min-width:120px}@media (max-width: 767px){.modal-overlay{align-items:flex-end;padding:var(--spacing-md);padding-bottom:calc(64px + env(safe-area-inset-bottom) + var(--spacing-md))}.modal-content{max-height:calc(95vh - 64px - env(safe-area-inset-bottom))}.form-row{grid-template-columns:1fr;gap:var(--spacing-md)}.booking-form{padding:var(--spacing-lg);gap:var(--spacing-md)}.modal-header{padding:var(--spacing-lg)}.modal-actions{gap:var(--spacing-md)}.modal-actions button{flex:1;min-width:auto}.alert{margin:0 var(--spacing-lg) var(--spacing-lg)}}@media (max-width: 599px){.modal-header h3{font-size:18px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.handover-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.handover-modal{background:var(--card-bg);border-radius:8px;box-shadow:0 4px 16px #00000026;width:90%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;animation:slideIn .3s ease-out}.modal-header-actions{display:flex;align-items:center;gap:4px}.close-btn,.icon-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.icon-btn{font-size:1.1rem}.close-btn:hover,.icon-btn:hover:not(:disabled){background-color:var(--surface-light)}.icon-btn:disabled{opacity:.6;cursor:not-allowed}.handover-modal-body{padding:20px;overflow-y:auto}.loading-text,.empty-text{color:var(--gray-600);margin:0}.hint-text{margin:16px 0 0;padding:10px 12px;border-radius:6px;background:var(--alert-info-bg);color:var(--alert-info-text);border:1px solid var(--alert-info-border);font-size:.85rem}.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.checklist-item label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;color:var(--text-color);font-size:.95rem}.checklist-item input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color)}.btn{flex:1;padding:10px 16px;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer}.modal-content.booking-detail{max-width:1200px!important}.booking-detail{max-height:90vh;overflow-y:auto;width:100%;display:flex;flex-direction:column}.booking-detail .modal-header{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;flex-wrap:wrap}.booking-detail .modal-header h3{margin:0;flex:1 1 auto;display:flex;align-items:center;gap:.75rem;font-size:1.25rem}.booking-detail .modal-header h3 button{margin:0;padding:.5rem .75rem;font-size:.9rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s ease}.booking-detail .modal-header h3 button:hover:not(:disabled){background-color:var(--primary-dark)}.booking-detail .modal-header h3 button:disabled{opacity:.6;cursor:not-allowed}.detail-section{margin-bottom:1.5rem;padding:0 1.5rem 1.5rem;border-bottom:1px solid var(--border-color)}.detail-section:first-of-type{padding-top:1.5rem}.detail-section:last-of-type{border-bottom:none}.detail-section h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-color)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.info-item{display:flex;flex-direction:column}.info-item label{font-size:.85rem;font-weight:500;color:var(--gray-600);margin-bottom:.25rem}.info-item p{margin:0;color:var(--text-color);word-break:break-word;font-weight:500}.price-breakdown{background:var(--surface-light);padding:1rem;border-radius:4px}.price-row{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.95rem}.price-row span{color:var(--gray-600)}.price-row strong{color:var(--text-color);font-weight:600}.price-row.total{border-top:2px solid var(--border-color);padding-top:.5rem;margin-top:.5rem;font-weight:600;font-size:1rem}.status-badge{display:inline-block;padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500;white-space:nowrap}.status-badge.requested,.status-badge.pending{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.status-badge.confirmed{background-color:var(--status-confirmed-bg);color:var(--status-confirmed-text)}.status-badge.individual_requested{background-color:var(--status-individual-bg);color:var(--status-individual-text)}.status-badge.cancelled{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.status-badge.completed{background-color:var(--status-completed-bg);color:var(--status-completed-text)}.status-badge.not-needed{background-color:var(--status-handover-not-needed-bg);color:var(--status-handover-not-needed-text)}.status-badge.awaiting_confirmation{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.status-badge.deposit_requested{background-color:var(--status-requested-bg);color:var(--status-requested-text)}.status-badge.deposit_received,.status-badge.deposit_paid,.status-badge.deposit-paid{background-color:var(--status-deposit-paid-bg);color:var(--status-deposit-paid-text)}.status-badge.final_payment_requested{background-color:var(--status-final-payment-bg);color:var(--status-final-payment-text)}.status-badge.fully_paid,.status-badge.fully-paid,.status-badge.paid{background-color:var(--status-paid-bg);color:var(--status-paid-text)}.notes{background:var(--surface-light);padding:1rem;border-radius:4px;margin:0;white-space:pre-wrap;word-break:break-word;color:var(--text-color);font-size:.9rem}.action-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%}.action-buttons button,.action-buttons a{padding:.75rem 1rem;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;min-height:44px}.action-buttons .primary{background-color:var(--primary);color:#fff}.action-buttons .primary:hover:not(:disabled){background-color:var(--primary-dark)}.action-buttons .secondary{background-color:var(--secondary);color:#fff}.action-buttons .secondary:hover:not(:disabled){background-color:var(--secondary-hover)}.action-buttons button:disabled,.action-buttons a:disabled{opacity:.6;cursor:not-allowed}.action-buttons .danger{background-color:var(--danger);color:#fff}.action-buttons .danger:hover:not(:disabled){background-color:var(--danger-dark, #c62828)}.action-buttons a.btn{background-color:var(--secondary);color:#fff;text-decoration:none}.action-buttons a.btn:hover{background-color:var(--secondary-hover);text-decoration:none}.action-buttons a.btn-secondary{background-color:var(--secondary);color:#fff;text-decoration:none}.action-buttons a.btn-secondary:hover{background-color:var(--secondary-hover);text-decoration:none}.edit-mode{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem;border-radius:4px;background:linear-gradient(to right,rgba(37,99,235,.02) 0%,transparent 50%)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--gray-600);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.form-group label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-group input,.form-group textarea{padding:.5rem .75rem;border:1px solid var(--form-input-border, var(--border-color));border-radius:4px;font-size:.95rem;color:var(--text-color);background:var(--form-input-bg, var(--surface));font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--form-input-focus, var(--primary));box-shadow:0 0 0 3px #2563eb1a}.form-group input:invalid,.form-group textarea:invalid{border-color:var(--error-border, #d32f2f)}.form-group input:disabled,.form-group textarea:disabled{background:var(--surface-light);opacity:.6;cursor:not-allowed}.form-group small{font-size:.75rem;color:var(--gray-600);margin-top:.25rem;display:block}.form-group.error input,.form-group.error textarea{border-color:var(--danger);background-color:#ef44440d}.form-group.error small{color:var(--danger);font-weight:500}.price-preview{background:var(--surface-light);padding:1rem;border-radius:4px;border:1px solid var(--primary);border-left:4px solid var(--primary);margin-top:1rem}.price-preview h5{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:var(--primary);display:flex;align-items:center;gap:.5rem}.price-row.delta{background:#00000005;padding:.75rem .5rem;margin:.75rem -1rem -1rem;border-radius:0 0 4px 4px;font-weight:600;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color)}.price-row.delta.increase strong{color:var(--danger)}.price-row.delta.decrease strong{color:var(--success)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem;border-top:1px solid var(--border-color)}.modal-footer button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;text-align:center;transition:all .2s ease;min-height:44px}.modal-footer .primary{background-color:var(--primary);color:#fff}.modal-footer .primary:hover:not(:disabled){background-color:var(--primary-dark)}.modal-footer .secondary{background-color:var(--secondary);color:#fff}.modal-footer .secondary:hover:not(:disabled){background-color:var(--secondary-hover)}.modal-footer .danger{background-color:var(--danger);color:#fff}.modal-footer .danger:hover:not(:disabled){background-color:var(--danger-dark, #c62828)}.warning-box{background:var(--warning-bg, #fff3cd);border:1px solid var(--warning-border, #ffc107);color:var(--warning-text, #856404);padding:1rem;border-radius:4px;margin-bottom:1rem}.warning-box p{margin:0}.char-counter{font-size:.75rem;color:var(--gray-600);text-align:right;margin-top:.25rem;display:block;padding:.25rem 0}.form-group input[type=date]{cursor:pointer}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:4px;padding:.25rem}.form-group textarea{resize:vertical;min-height:100px}@media (min-width: 601px) and (max-width: 900px){.booking-detail{max-width:calc(100vw - 2rem)}.action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.action-buttons button,.action-buttons a{padding:.75rem;font-size:.9rem}}@media (max-width: 900px){.booking-detail{max-width:calc(100vw - 2rem)}.info-grid,.form-grid{grid-template-columns:1fr}.detail-section{padding:0 1rem 1.5rem}}@media (max-width: 600px){.action-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%}.action-buttons button,.action-buttons a{padding:.75rem 1rem;font-size:.95rem;min-height:44px;display:flex;align-items:center;justify-content:center;white-space:normal;word-break:break-word;width:100%}.modal-footer{flex-direction:column}.modal-footer button{width:100%;min-height:44px;padding:.75rem 1rem;font-size:.95rem}.detail-section{margin-bottom:1rem;padding:0 1rem 1rem}.detail-section:first-of-type{padding-top:.5rem}.form-group input,.form-group textarea{font-size:1rem;padding:.75rem}.booking-detail .modal-header{padding:.75rem 1rem}.booking-detail .modal-header h3{font-size:1.1rem}.booking-detail .modal-header h3 button{padding:.4rem .6rem;font-size:.8rem}}@media (min-width: 901px){.booking-detail{width:100%;display:grid;grid-template-columns:1fr 320px;grid-template-rows:auto 1fr;gap:0;overflow-y:visible}.booking-detail .modal-header{grid-column:1 / -1;z-index:20}.booking-detail>.detail-section{grid-column:1;border-right:none;padding:0 2rem 1.5rem}.booking-detail>.detail-section:first-of-type{padding-top:1.5rem}.booking-detail>.detail-section.payment-section,.booking-detail>.detail-section.actions-section{grid-column:2;border-left:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:1.5rem;margin:0}.booking-detail>.detail-section.payment-section{border-bottom:none}.booking-detail>.detail-section.payment-section:sticky{position:sticky;top:80px;max-height:calc(90vh - 80px);overflow-y:auto;z-index:10}.booking-detail>.detail-section.actions-section{grid-row:auto}.booking-detail .info-grid{grid-template-columns:1fr}.booking-detail .price-breakdown{margin-bottom:1.5rem}.form-grid{grid-template-columns:1fr}.info-item label{font-size:.8rem;color:var(--gray-600)}.info-item p{font-size:.95rem}}.bookings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px}.bookings-header h3{margin:0;font-size:20px}.bookings-header button{padding:10px 16px;border:none;border-radius:4px;font-weight:500;cursor:pointer;white-space:nowrap}.bookings-header button.primary{background-color:var(--primary);color:#fff}.bookings-header button.primary:hover{background-color:var(--primary-dark)}.bookings-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px;padding:16px;background-color:var(--surface-light);border-radius:8px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-weight:500;font-size:14px;color:var(--text-color)}.filter-group select,.filter-group input[type=text]{padding:8px 12px;border-radius:4px;font-size:14px;background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.bookings-info{margin-bottom:16px;color:var(--gray-500);font-size:14px}.view-mode-toggle{display:flex;gap:8px;margin-bottom:20px;padding:4px;background:var(--surface-light);border-radius:6px;width:fit-content}.toggle-btn{padding:8px 16px;border:1px solid transparent;border-radius:4px;background:var(--card-bg);color:var(--text-color);font-weight:500;font-size:14px;cursor:pointer;transition:all .2s}.toggle-btn:hover{background:var(--surface-light)}.toggle-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.toggle-btn.active:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.admin-rates h3{margin-bottom:20px;font-size:20px}.status-badge.free{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:600;background-color:#10b9811a;color:var(--success);vertical-align:middle}.admin-rates h4{margin-top:20px;margin-bottom:16px;font-size:16px;color:var(--text-color)}.rates-container{display:grid;gap:20px}.property-selector{display:flex;flex-direction:column;gap:8px;max-width:300px}.property-selector label{font-weight:500;font-size:14px}.property-selector select{padding:10px 12px;border-radius:6px;border:1px solid var(--border-color)}.rates-form-section,.rates-list-section{padding:20px;background-color:var(--surface-light);border-radius:8px}.rates-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:10px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg-color)}.admin-rates .responsive-table-container{background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow-md)}.admin-rates .responsive-table th{font-size:.95rem;white-space:nowrap}.admin-rates .responsive-table td{font-size:.95rem}.responsive-table td.actions{display:flex;gap:8px;align-items:center}.rate-card{padding:14px 16px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md)}.rate-card.editing{background-color:var(--primary-light)}.rate-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border-color)}.rate-card-period{font-weight:600;font-size:14px;color:var(--text-color)}.rate-card-actions{display:flex;gap:4px;align-items:center}.rate-card-body{display:flex;flex-direction:column;gap:8px}.rate-card-field{display:flex;justify-content:space-between;align-items:center;font-size:14px}.rate-card-label{color:var(--gray-600)}.rate-card-value{font-weight:500;color:var(--text-color)}.edit-btn,.delete-btn{padding:6px 10px;border:none;background:none;cursor:pointer;font-size:16px;border-radius:4px;transition:background-color .2s}.edit-btn:hover{background-color:var(--primary-light)}.delete-btn:hover{background-color:var(--error-light)}.form-actions{display:flex;gap:12px}.form-actions button{padding:10px 20px;border-radius:6px;border:none;font-weight:500;cursor:pointer;transition:opacity .2s}.form-actions button.primary{background-color:var(--primary);color:#fff}.form-actions button.primary:hover{opacity:.9}.form-actions button.secondary{background-color:var(--surface-light);color:var(--text-color);border:1px solid var(--border-color)}.form-actions button.secondary:hover{opacity:.8}@media (max-width: 600px){.form-row{grid-template-columns:1fr}.rates-form-section,.rates-list-section{padding:16px}.form-actions{flex-direction:column}.edit-btn,.delete-btn{padding:4px 8px}}.admin-properties h3{margin-bottom:20px;font-size:20px}.admin-properties h4{margin-bottom:16px;font-size:16px}.properties-container{display:grid;grid-template-columns:1fr 1fr;gap:20px}.properties-form-section,.properties-list-section{padding:20px;background-color:var(--surface-light);border-radius:8px}.properties-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:500;font-size:14px;color:var(--gray-700)}.form-group input,.form-group textarea{padding:10px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg-color);font-size:14px}.form-actions{display:flex;gap:10px;margin-top:10px}.form-actions button{flex:1}.secondary{background-color:var(--gray-300);color:var(--text-color)}.secondary:hover{background-color:var(--gray-400)}.properties-grid{display:grid;gap:16px}.property-card{padding:16px;background-color:var(--bg-color);border-radius:8px;border:1px solid var(--border-color);transition:box-shadow .2s}.property-card:hover{box-shadow:0 2px 8px #0000001a}.property-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:10px}.property-header h5{margin:0;font-size:16px;flex:1}.property-status{font-size:12px;padding:4px 8px;background-color:var(--surface-light);border-radius:12px;white-space:nowrap}.property-location{margin:0 0 12px;color:var(--gray-500);font-size:13px}.property-details{margin-bottom:12px;font-size:13px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.property-details p{margin:0;padding:6px;background-color:var(--surface-light);border-radius:4px}.property-details strong{color:var(--gray-700)}.property-actions{display:flex;gap:8px}.property-actions button{flex:1}.danger{background-color:var(--danger);color:#fff}.danger:hover{background-color:var(--danger-hover)}.small{padding:8px 12px;font-size:13px}@media (max-width: 1200px){.properties-container,.form-row{grid-template-columns:1fr}}@media (max-width: 600px){.properties-form-section,.properties-list-section{padding:16px}.property-details{grid-template-columns:1fr}}.admin-email-templates{padding:2rem}.admin-email-templates h2{margin-bottom:.5rem}.admin-email-templates .description{color:var(--gray-500);margin-bottom:2rem}.signature-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.signature-section h3{margin:0 0 .5rem;font-size:1.05rem}.signature-section .description{margin-bottom:1rem}.signature-section .description code{background-color:var(--surface-light);padding:.1rem .4rem;border-radius:3px;font-size:.85em}.signature-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.signature-actions button{padding:.6rem 1.25rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s ease}.signature-actions button:disabled{opacity:.6;cursor:not-allowed}.signature-actions .primary{background-color:var(--primary);color:#fff}.signature-actions .primary:not(:disabled):hover{background-color:var(--primary-hover)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.template-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:all .2s ease}.template-card:hover{box-shadow:0 2px 8px #0000001a}.template-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.template-header h3{margin:0;font-size:1.1rem}.badge{display:inline-block;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:600}.badge.active{background-color:var(--success-bg);color:var(--success)}.badge.inactive{background-color:var(--danger-bg);color:var(--danger)}.template-card p{color:var(--gray-500);font-size:.9rem;margin-bottom:1rem}.template-preview{background-color:var(--surface-light);padding:.75rem;border-radius:4px;margin-bottom:1rem}.template-preview strong{display:block;margin-bottom:.25rem;font-size:.85rem}.template-preview p{margin:0;color:var(--text-color);font-size:.9rem;word-break:break-word;max-height:60px;overflow:hidden;text-overflow:ellipsis}.btn-edit{width:100%;padding:.5rem 1rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s ease}.btn-edit:hover{background-color:var(--primary-hover)}.modal-content.template-editor{max-width:1200px!important}.template-editor{max-width:900px;max-height:90vh;overflow-y:auto}.editor-section{display:grid;grid-template-columns:1fr 300px;gap:2rem;margin-bottom:1.5rem}.editor-main{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.form-input,.form-textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;font-family:inherit;background-color:var(--card-bg);color:var(--text-color)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #007bff1a}.form-textarea{resize:vertical;min-height:250px}.form-hint{margin-top:.4rem;color:var(--gray-500);font-size:.85rem}.form-group.checkbox{flex-direction:row;align-items:center;gap:.5rem;margin-top:.5rem}.form-group.checkbox label{margin:0;font-weight:400}.editor-sidebar{border-left:1px solid var(--border-color);padding-left:1rem}.editor-sidebar h4{margin-top:0;font-size:.95rem}.placeholder-buttons{display:flex;flex-direction:column;gap:.5rem}.placeholder-btn{padding:.5rem .75rem;background-color:var(--surface-light);border:1px solid var(--border-color);border-radius:3px;font-size:.8rem;font-family:monospace;cursor:pointer;text-align:left;transition:all .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-color)}.placeholder-btn:hover{background-color:var(--card-bg);border-color:var(--primary)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.modal-actions button:not(.primary):not(:disabled){background-color:var(--secondary);color:#fff}.modal-actions button:not(.primary):not(:disabled):hover{background-color:var(--secondary-hover)}.modal-actions .primary{background-color:var(--primary);color:#fff}.modal-actions .primary:not(:disabled):hover{background-color:var(--primary-hover)}@media (max-width: 768px){.templates-grid,.editor-section{grid-template-columns:1fr}.editor-sidebar{border-left:none;border-top:1px solid var(--border-color);padding-left:0;padding-top:1rem}.template-editor{max-width:calc(100vw - 2rem)}}.responsive-table-container{background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color)}.name-cell{font-weight:500}.user-name{display:block}.email-cell{font-family:Courier New,monospace;font-size:.9rem}.role-cell{text-align:center}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500;white-space:nowrap}.role-admin,.role-badge.admin{background:var(--role-admin-bg);color:var(--role-admin-text)}.role-staff,.role-badge.staff{background:var(--role-staff-bg);color:var(--role-staff-text)}.role-cleaning,.role-badge.cleaning{background:var(--role-cleaning-bg);color:var(--role-cleaning-text)}.status-cell{text-align:center}.status-badge.active{background:var(--role-active-bg);color:var(--role-active-text)}.status-badge.inactive{background:var(--role-inactive-bg);color:var(--role-inactive-text)}.created-cell{color:var(--gray-600);font-size:.9rem}.actions-cell{text-align:center}.user-action-buttons{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;justify-content:center}.user-action-btn{flex:0 0 auto;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s;background:var(--surface-light);display:flex;align-items:center;justify-content:center}.user-action-btn:hover:not(:disabled){transform:scale(1.1);background:var(--gray-300)}.user-action-btn:disabled{opacity:.5;cursor:not-allowed}.edit-btn:hover:not(:disabled){background:var(--primary-hover)}.reset-btn:hover:not(:disabled){background:var(--warning)}.delete-btn:hover:not(:disabled){background:var(--danger)}.empty-state{padding:40px;text-align:center;color:var(--gray-600);background:var(--surface-light);border-radius:8px;border:1px solid var(--border-color)}.empty-state p{margin:0;font-size:1.1rem}.user-card{padding:14px 16px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md)}.user-card.inactive{opacity:.7}.user-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border-color)}.user-card-name{font-weight:600;font-size:.9rem;color:var(--text-color)}.user-card-body{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.user-card-field{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.user-card-label{color:var(--gray-600)}.user-card-value{font-weight:500;color:var(--text-color);text-align:right}.user-card-actions .user-action-buttons{justify-content:flex-end}@media (max-width: 768px){.user-action-btn{width:32px;height:32px;min-width:32px;min-height:32px;font-size:.9rem}.user-action-buttons{gap:4px}.role-badge,.status-badge{padding:2px 8px;font-size:.75rem}}.user-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.user-modal{background:var(--card-bg);border-radius:8px;box-shadow:0 4px 16px #00000026;width:100%;max-width:500px;animation:slideIn .3s ease-out;max-height:90vh;overflow-y:auto}.user-modal form{padding:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-color);font-size:.95rem}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background:var(--bg-color);color:var(--text-color);box-sizing:border-box;transition:border-color .2s}.form-group.checkbox{margin-top:8px;margin-bottom:0}.form-group.checkbox label{display:flex;align-items:center;gap:8px;margin-bottom:0;font-weight:400;cursor:pointer}.form-group.checkbox input{width:auto;margin:0}.radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.radio-group .radio-option{display:flex;align-items:center;gap:8px;margin-bottom:0;cursor:pointer;font-weight:400;color:var(--text-color)}.radio-option input[type=radio]{width:auto;cursor:pointer;margin:0}.field-hint{font-size:.8rem;color:var(--gray-500);margin:4px 0 0}.password-input-group{display:flex;gap:8px;align-items:center}.password-input-group input{flex:1;margin-bottom:0}.btn-generate{padding:10px 12px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s;white-space:nowrap;min-height:42px}.btn-generate:hover:not(:disabled){background:var(--primary-dark)}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.generated-password{background:var(--surface-light);border:1px solid var(--border-color);border-radius:4px;padding:12px;margin:16px 0}.generated-password .label{font-size:.85rem;font-weight:600;color:var(--gray-500);margin:0 0 8px;text-transform:uppercase}.password-display{display:flex;gap:8px;align-items:center}.password-display code{flex:1;background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;padding:8px 12px;font-family:Courier New,monospace;font-size:.9rem;word-break:break-all;color:var(--text-color)}.btn-copy{padding:8px 12px;background:var(--success);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background .2s;white-space:nowrap}.btn-copy:hover{background:#059669}.btn-copy.copied{background:var(--success)}.btn-copy.failed{background:var(--danger)}.form-actions{display:flex;gap:12px;margin-top:24px}@media (max-width: 640px){.user-modal{margin:20px}.password-input-group{flex-direction:column;gap:0}.password-input-group input{margin-bottom:8px}.btn-generate{width:100%}.password-display{flex-direction:column}.btn-copy{width:100%}}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dark);display:flex;align-items:center;justify-content:center;z-index:1001}.confirm-dialog{background:var(--card-bg);border-radius:8px;box-shadow:0 4px 16px #00000026;max-width:400px;width:90%;animation:slideIn .3s ease-out}.dialog-content{padding:24px}.dialog-content h3{margin:0 0 12px;font-size:1.25rem;color:var(--text-color)}.dialog-content p{margin:0;color:var(--gray-500);font-size:.95rem;line-height:1.5}.confirm-phrase-input{margin-top:16px}.dialog-content>.form-group{margin-top:16px;margin-bottom:0;text-align:left}.confirm-phrase-input label{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-color)}.confirm-phrase-input input{width:100%;padding:8px 12px;border-radius:4px;border:1px solid var(--border-color);background:var(--surface-light);color:var(--text-color);font-size:.95rem;box-sizing:border-box}.dialog-actions{display:flex;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);justify-content:flex-end}.btn{padding:8px 16px;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.btn-primary:hover:not(:disabled){background:#047857}.admin-users{padding:0}.users-header{margin-bottom:24px}.users-header h2{margin:0 0 8px;font-size:2rem;color:var(--text-color)}.users-header p{margin:0;color:var(--gray-600);font-size:1rem}.users-controls{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;margin-bottom:24px;align-items:end}.search-bar{display:flex}.search-bar input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;background:var(--bg-color);color:var(--text-color);box-sizing:border-box}.search-bar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.filters{display:flex;gap:8px}.filters select{padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;background:var(--bg-color);color:var(--text-color);cursor:pointer;min-width:130px}.filters select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.btn{padding:10px 16px;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.users-table{background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden}@media (max-width: 1024px){.users-controls{grid-template-columns:1fr;gap:12px}.search-bar{grid-column:1}.filters{grid-column:1;flex-wrap:wrap}.btn-primary{grid-column:1}}@media (max-width: 768px){.admin-users{padding:0}.users-header h2{font-size:1.5rem}.users-controls{grid-template-columns:1fr}.filters{width:100%}.filters select{flex:1}.btn-primary{width:100%}}.password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.password-modal{background:var(--card-bg);border-radius:8px;box-shadow:0 4px 16px #00000026;width:90%;max-width:400px;animation:slideIn .3s ease-out}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-color)}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.password-modal form{padding:20px}.form-group{margin-bottom:16px}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;background:var(--bg-color);color:var(--text-color);box-sizing:border-box;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.password-strength{margin-top:8px;display:flex;gap:8px;align-items:center}.strength-bar{flex:1;height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.strength-fill{height:100%;transition:width .3s ease,background-color .3s ease}.strength-text{font-size:.875rem;font-weight:500;color:var(--gray-500);min-width:80px}.alert.success{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.3)}.form-actions{display:flex;gap:12px;margin-top:20px}.btn{flex:1;padding:10px 16px;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.email-config-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.email-config-modal{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.email-config-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.email-config-modal .modal-header h2{margin:0;font-size:20px;color:var(--text-color)}.email-config-modal .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.email-config-modal .close-btn:hover{background-color:var(--surface-light)}.email-config-modal form{padding:20px}.email-config-modal .form-group{margin-bottom:16px}.email-config-modal .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-color);font-size:14px}.email-config-modal .form-group input[type=text],.email-config-modal .form-group input[type=email],.email-config-modal .form-group input[type=password],.email-config-modal .form-group input[type=number]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:inherit;background-color:var(--bg-color);color:var(--text-color);transition:border-color .2s}.email-config-modal .form-group input[type=text]:focus,.email-config-modal .form-group input[type=email]:focus,.email-config-modal .form-group input[type=password]:focus,.email-config-modal .form-group input[type=number]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.email-config-modal .form-group input.input-error{border-color:var(--danger)}.email-config-modal .form-group input:disabled{background-color:var(--surface-light);color:var(--gray-500);cursor:not-allowed}.email-config-modal .form-group small{display:block;margin-top:6px;font-size:12px;color:var(--gray-500)}.email-config-modal .password-input-wrapper{display:flex;flex-direction:column;gap:10px}.email-config-modal .checkbox-group{display:flex;align-items:center;gap:8px}.email-config-modal .checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.email-config-modal .checkbox-group label{margin:0;font-weight:400;cursor:pointer;font-size:14px}.email-config-modal .checkbox-group small{display:block;margin-top:0;width:100%;margin-left:24px}.email-config-modal .error-message{display:block;color:var(--danger);font-size:12px;margin-top:4px}.email-config-modal .alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px;line-height:1.5}.email-config-modal .alert-error{background-color:#ef44441a;color:var(--danger);border-left:4px solid var(--danger)}.email-config-modal .alert-success{background-color:#10b9811a;color:var(--success);border-left:4px solid var(--success)}.email-config-modal .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color)}.email-config-modal .btn{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.email-config-modal .btn-primary{background-color:var(--primary);color:#fff}.email-config-modal .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.email-config-modal .btn-secondary{background-color:var(--surface-light);color:var(--text-color);border:1px solid var(--border-color)}.email-config-modal .btn-secondary:hover:not(:disabled){background-color:var(--gray-200)}.email-config-modal .btn:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header h2{margin:0;font-size:20px;color:var(--text-color)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:var(--hover-bg)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-color)}.form-description{font-size:14px;color:var(--gray-500);margin-bottom:12px}.form-group input[type=email],.form-group input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--input-bg);color:var(--text-color);font-size:14px;box-sizing:border-box;transition:border-color .2s}.form-group input[type=email]:focus,.form-group input[type=text]:focus{outline:none;border-color:var(--primary-color)}.form-group input.input-error{border-color:#e74c3c}.error-text{display:block;color:#e74c3c;font-size:13px;margin-top:6px}.radio-group{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.radio-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}.radio-option:hover{background-color:var(--hover-bg)}.radio-option input[type=radio]{cursor:pointer;margin:0}.radio-label{cursor:pointer;font-size:14px;color:var(--text-color)}.admin-users-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:12px;background-color:var(--hover-bg);border-radius:4px}.admin-user-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px}.admin-user-info{display:flex;flex-direction:column;gap:4px}.admin-user-info strong{font-size:14px;color:var(--text-color)}.admin-user-email{font-size:12px;color:var(--gray-500)}.status-badge{font-size:12px;padding:4px 8px;border-radius:3px;font-weight:500}.status-badge.active{background-color:#d5f4e6;color:#27ae60}.status-badge.inactive{background-color:#fadbd8;color:#c0392b}.info-text{font-size:13px;color:var(--gray-500);margin:0;padding:12px;background-color:var(--hover-bg);border-radius:4px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid var(--border-color)}.modal-footer .btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.modal-footer .btn-secondary{background-color:var(--gray-200);color:var(--text-color)}.modal-footer .btn-secondary:hover:not(:disabled){background-color:var(--gray-300)}.modal-footer .btn-primary{background-color:var(--primary-color);color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.modal-footer .btn:disabled{opacity:.6;cursor:not-allowed}.alert{padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}.alert-error{background-color:#fadbd8;border:1px solid #f5b7b1;color:#c0392b}.alert-success{background-color:#d5f4e6;border:1px solid #a9dfbf;color:#27ae60}.invoice-settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.invoice-settings-modal{background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.invoice-settings-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.invoice-settings-modal .modal-header h2{margin:0;font-size:20px;color:var(--text-color)}.invoice-settings-modal .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.invoice-settings-modal .close-btn:hover:not(:disabled){background-color:var(--surface-light)}.invoice-settings-modal .close-btn:disabled{opacity:.6;cursor:not-allowed}.invoice-settings-modal .tabs{display:flex;border-bottom:1px solid var(--border-color);background-color:var(--surface-light);padding:0;margin:0;flex-wrap:wrap}.invoice-settings-modal .tab-btn{flex:1;min-width:100px;padding:12px 16px;border:none;background-color:transparent;color:var(--gray-500);font-size:14px;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.invoice-settings-modal .tab-btn:hover:not(:disabled){background-color:var(--card-bg);color:var(--text-color)}.invoice-settings-modal .tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);background-color:var(--card-bg)}.invoice-settings-modal .tab-btn:disabled{opacity:.6;cursor:not-allowed}.invoice-settings-modal form{padding:20px;flex:1;overflow-y:auto}.invoice-settings-modal .tab-content{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.invoice-settings-modal .form-group{margin-bottom:16px}.invoice-settings-modal .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-color);font-size:14px}.invoice-settings-modal .form-group input[type=text],.invoice-settings-modal .form-group input[type=email],.invoice-settings-modal .form-group input[type=password],.invoice-settings-modal .form-group input[type=number],.invoice-settings-modal .form-group textarea,.invoice-settings-modal .form-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;font-family:inherit;background-color:var(--bg-color);color:var(--text-color);transition:border-color .2s;box-sizing:border-box}.invoice-settings-modal .form-group input:focus,.invoice-settings-modal .form-group textarea:focus,.invoice-settings-modal .form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.invoice-settings-modal .form-group input.input-error,.invoice-settings-modal .form-group select.input-error{border-color:var(--danger)}.invoice-settings-modal .form-group textarea{resize:vertical;min-height:80px}.invoice-settings-modal .form-group input:disabled,.invoice-settings-modal .form-group textarea:disabled,.invoice-settings-modal .form-group select:disabled{background-color:var(--surface-light);color:var(--gray-500);cursor:not-allowed}.invoice-settings-modal .form-group small{display:block;margin-top:6px;font-size:12px;color:var(--gray-500)}.invoice-settings-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.invoice-settings-modal .form-group label input[type=checkbox]{margin-right:8px;cursor:pointer;width:auto}.invoice-settings-modal .tax-rates-section{border:1px solid var(--border-color);border-radius:4px;padding:12px;background-color:var(--surface-light);margin-top:12px}.invoice-settings-modal .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.invoice-settings-modal .section-header h4{margin:0;font-size:14px;color:var(--text-color)}.invoice-settings-modal .btn-add-rate{background-color:transparent;border:1px solid var(--primary);color:var(--primary);padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.invoice-settings-modal .btn-add-rate:hover{background-color:#2563eb1a}.invoice-settings-modal .tax-rate-item{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;padding:12px;margin-bottom:8px}.invoice-settings-modal .tax-rate-item .form-row{grid-template-columns:1fr 80px 40px;align-items:flex-end}.invoice-settings-modal .btn-remove-rate{background-color:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:8px;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s;height:40px;width:40px;display:flex;align-items:center;justify-content:center}.invoice-settings-modal .btn-remove-rate:hover{background-color:var(--danger);color:#fff}.invoice-settings-modal .error-message{display:block;color:var(--danger);font-size:12px;margin-top:4px}.invoice-settings-modal .alert{padding:12px 16px;border-radius:4px;margin-bottom:16px;font-size:14px;line-height:1.5}.invoice-settings-modal .alert-error{background-color:#ef44441a;color:var(--danger);border-left:4px solid var(--danger)}.invoice-settings-modal .alert-success{background-color:#10b9811a;color:var(--success);border-left:4px solid var(--success)}.invoice-settings-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color)}.invoice-settings-modal .btn{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.invoice-settings-modal .btn-primary{background-color:var(--primary);color:#fff}.invoice-settings-modal .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.invoice-settings-modal .btn-secondary{background-color:var(--surface-light);color:var(--text-color);border:1px solid var(--border-color)}.invoice-settings-modal .btn-secondary:hover:not(:disabled){background-color:var(--gray-200)}.invoice-settings-modal .btn:disabled{opacity:.6;cursor:not-allowed}.handover-settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.handover-settings-modal{background:var(--card-bg);border-radius:8px;box-shadow:0 4px 16px #00000026;width:90%;max-width:560px;max-height:85vh;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header h2{margin:0;font-size:1.4rem;color:var(--text-color)}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-btn:hover{background-color:var(--surface-light)}.handover-settings-body{padding:20px;overflow-y:auto}.checklist-items{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.checklist-item-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border-color);border-radius:6px}.checklist-item-row.inactive{opacity:.55}.checklist-item-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.item-text-input{flex:1;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);font-size:.95rem}.item-row-actions{display:flex;gap:4px;flex-shrink:0}.icon-btn{width:30px;height:30px;border:1px solid var(--border-color);border-radius:4px;background:var(--surface-light);color:var(--text-color);cursor:pointer;font-size:.9rem}.icon-btn:hover:not(:disabled){background:var(--gray-200)}.icon-btn.danger:hover:not(:disabled){background:#ef444426}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.empty-text{color:var(--gray-600);padding:8px 0}.reminder-days-saved-hint{color:var(--success);font-size:.9rem}.add-item-row{display:flex;gap:8px}.add-item-row input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);font-size:.95rem}.alert{padding:12px;border-radius:4px;margin-bottom:16px;font-size:.9rem}.alert.error{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border-color)}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer}.btn-primary{background:var(--success);color:#fff}.btn-primary:hover:not(:disabled){background:#059669}.btn-secondary{background:var(--surface-light);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--gray-200)}.settings-container{max-width:800px;margin:0 auto;padding:20px}.settings-header{margin-bottom:32px}.settings-header h2{margin:0 0 8px;font-size:2rem;color:var(--text-color)}.settings-header p{margin:0;color:var(--gray-600);font-size:1rem}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;gap:12px;align-items:center}.settings-sections{display:grid;gap:24px}.settings-section{background:var(--surface-light);border:1px solid var(--border-color);border-radius:8px;padding:24px;overflow:hidden}.section-header{margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.section-header h3{margin:0;font-size:1.25rem;color:var(--text-color)}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-color)}.settings-item:last-child{border-bottom:none;padding-bottom:0}.item-info{flex:1;padding-right:20px}.item-info h4{margin:0 0 4px;font-size:1rem;color:var(--text-color);font-weight:600}.item-value{margin:4px 0;font-size:.95rem;color:var(--text-color);font-weight:500}.item-description{margin:0;font-size:.875rem;color:var(--gray-600)}.item-metadata{margin:8px 0 0;font-size:.8rem;color:var(--gray-500);font-style:italic}.smtp-status{margin-top:12px;padding:12px;background-color:var(--card-bg);border-radius:4px;border:1px solid var(--border-color)}.warning-text{margin:12px 0 0;font-size:.875rem;color:var(--warning);font-weight:500}.btn{padding:8px 20px;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.critical-actions-section{border:1px solid var(--alert-warning-border);background:var(--alert-warning-bg)}.critical-actions-header{border-bottom:2px solid var(--alert-warning-border)}.critical-actions-header h3{color:var(--alert-warning-text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#991b1b}.btn-secondary{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--surface-light);border-color:var(--text-color)}@media (max-width: 640px){.settings-container{padding:12px}.settings-item{flex-direction:column;align-items:flex-start;gap:12px}.item-info{padding-right:0;width:100%}.btn{width:100%}.settings-header h2{font-size:1.5rem}.section-header h3{font-size:1.1rem}}.admin-cleaning{padding:0}.cleaning-admin-header{margin-bottom:24px}.cleaning-admin-header h2{margin:0 0 8px;font-size:2rem;color:var(--text-color)}.cleaning-admin-header p{margin:0;color:var(--gray-600);font-size:1rem}.alert-success{background:var(--alert-success-bg);color:var(--alert-success-text);border:1px solid var(--alert-success-border)}.alert-warning{background:var(--alert-warning-bg);color:var(--alert-warning-text);border:1px solid var(--alert-warning-border)}.alert-info{background:var(--alert-info-bg);color:var(--alert-info-text);border:1px solid var(--alert-info-border)}.cleaning-admin-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;align-items:end}.cleaning-admin-controls select,.date-filter input{padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;background:var(--bg-color);color:var(--text-color)}.date-filter{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--gray-600)}.cleaning-admin-stats{display:flex;gap:12px;margin-bottom:20px}.stat-chip{padding:6px 14px;border-radius:20px;font-size:.9rem;font-weight:600}.stat-chip.open{background:var(--status-cleaning-open-bg);color:var(--status-cleaning-open-text)}.stat-chip.done{background:var(--status-cleaning-done-bg);color:var(--status-cleaning-done-text)}.admin-cleaning .responsive-table-container{background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow-md)}.admin-cleaning .responsive-table th{font-size:.95rem;white-space:nowrap}.admin-cleaning .responsive-table td{font-size:.95rem}.cleaning-card{padding:14px 16px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md)}.cleaning-card.cleaned{opacity:.7}.cleaning-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border-color)}.cleaning-card-property{font-weight:600;font-size:.9rem;color:var(--text-color)}.cleaning-card-body{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.cleaning-card-field{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.cleaning-card-label{color:var(--gray-600)}.cleaning-card-value{font-weight:500;color:var(--text-color);text-align:right}.cleaning-card-actions .btn{width:100%}.status-badge.open{background:var(--status-cleaning-open-bg);color:var(--status-cleaning-open-text)}.status-badge.done{background:var(--status-cleaning-done-bg);color:var(--status-cleaning-done-text)}@media (max-width: 768px){.cleaning-admin-header h2{font-size:1.5rem}.cleaning-admin-controls{flex-direction:column;align-items:stretch}.cleaning-admin-controls select,.date-filter{width:100%}}.admin-handover{padding:0}.handover-admin-header{margin-bottom:24px}.handover-admin-header h2{margin:0 0 8px;font-size:2rem;color:var(--text-color)}.handover-admin-header p{margin:0;color:var(--gray-600);font-size:1rem}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px}.alert-error{background:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border)}.handover-admin-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:20px;background:var(--card-bg);color:var(--text-color);font-size:.9rem;font-weight:500;cursor:pointer}.filter-btn:hover{background:var(--surface-light)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.admin-handover .responsive-table-container{background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow-md)}.admin-handover .responsive-table th{font-size:.95rem;white-space:nowrap}.admin-handover .responsive-table td{font-size:.95rem}.action-cell{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.handover-card{padding:14px 16px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md)}.handover-card.done{opacity:.7}.handover-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border-color)}.handover-card-period{font-weight:600;font-size:.9rem;color:var(--text-color)}.handover-card-body{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.handover-card-field{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.handover-card-label{color:var(--gray-600)}.handover-card-value{font-weight:500;color:var(--text-color);text-align:right}.handover-card-actions{display:flex;flex-wrap:wrap;gap:8px}.handover-card-actions .btn{flex:1}.handover-assign-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.handover-assign-dialog{background:var(--card-bg);border-radius:8px;box-shadow:0 4px 16px #00000026;width:90%;max-width:420px;display:flex;flex-direction:column}.handover-assign-dialog .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.handover-assign-dialog .modal-header h2{margin:0;font-size:1.3rem;color:var(--text-color)}.handover-assign-dialog .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.handover-assign-dialog .close-btn:hover{background-color:var(--surface-light)}.handover-assign-body{padding:20px;display:flex;flex-direction:column;gap:12px}.assign-context{margin:0;color:var(--gray-600);font-size:.9rem}.assign-mode-toggle{display:flex;gap:16px}.assign-mode-toggle label{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--text-color);cursor:pointer}.handover-assign-body select,.handover-assign-body input[type=text]{padding:10px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-color);color:var(--text-color);font-size:.95rem}.handover-assign-dialog .form-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border-color)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500;white-space:nowrap}.status-badge.unassigned{background:var(--status-handover-unassigned-bg);color:var(--status-handover-unassigned-text)}.status-badge.assigned{background:var(--status-handover-assigned-bg);color:var(--status-handover-assigned-text)}.status-badge.done{background:var(--status-handover-done-bg);color:var(--status-handover-done-text)}.status-badge.not-needed{background:var(--status-handover-not-needed-bg);color:var(--status-handover-not-needed-text)}.btn{padding:8px 14px;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap}.btn-danger-outline{background:transparent;color:var(--alert-error-text, #ef4444);border:1px solid var(--alert-error-border, rgba(239, 68, 68, .3));width:100%}.btn-danger-outline:hover:not(:disabled){background:var(--alert-error-bg)}.btn-secondary{background:var(--surface-light);color:var(--text-color)}.btn-secondary:hover:not(:disabled){background:var(--gray-300)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.handover-admin-header h2{font-size:1.5rem}.handover-admin-controls{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.filter-btn{flex-shrink:0}}.admin-container{display:flex;flex-direction:column;min-height:100vh}.navbar{background-color:var(--primary);color:#fff;padding:var(--spacing-lg) 0;box-shadow:var(--shadow-md);z-index:100}.navbar-content{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.navbar h1{margin:0;font-size:24px;font-weight:600}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.page-header{margin-bottom:var(--spacing-xl)}.page-header h2{margin:0 0 8px;font-size:28px}.page-header p{margin:0;color:var(--gray-500)}@media (max-width: 767px){.navbar-content{padding:0 var(--spacing-md)}.navbar h1{font-size:18px}.main-content{padding:var(--spacing-lg) var(--spacing-md)}.page-header h2{font-size:20px}.page-header p{font-size:13px}}@media (max-width: 899px){.admin-container,.main-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}@media (max-width: 599px){.navbar h1{font-size:16px}.page-header{margin-bottom:var(--spacing-lg)}.page-header h2{font-size:18px}.page-header p{font-size:12px}}.guest-container{min-height:100vh;background:linear-gradient(135deg,var(--gray-100) 0%,var(--bg-color) 100%);padding:40px 20px}.guest-header{text-align:center;margin-bottom:40px;color:var(--primary)}.guest-header h1{font-size:32px;margin-bottom:10px}.guest-content{max-width:600px;margin:0 auto}.location{color:var(--text-color);opacity:.7;margin:10px 0 20px}.booking-details{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;padding:12px;background-color:var(--surface-light);border-radius:6px}.detail-row .label{font-weight:600;color:var(--text-color)}.detail-row .value{color:var(--text-color)}.booking-status{font-size:18px;font-weight:600;padding:16px;border-radius:6px;text-align:center;margin:16px 0;background-color:#3b82f61a;color:var(--primary)}.booking-status.requested{background-color:#f59e0b1a;color:var(--warning)}.booking-status.confirmed{background-color:#10b9811a;color:var(--success)}.booking-status.cancelled{background-color:#ef44441a;color:var(--danger)}.booking-status.completed{background-color:#22c55e1a;color:var(--success)}.booking-status.individual_requested{background-color:#a855f71a;color:#a855f7}.individual-request-hint{margin:0;font-size:14px;color:var(--text-color);text-align:center}.payment-stages{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.stage{flex:1;min-width:140px;padding:16px;background-color:var(--surface-light);border-radius:6px;text-align:center;border:2px solid rgba(59,130,246,.2);transition:all .3s ease}.stage.active{background-color:#10b9811a;border-color:var(--success)}.stage-icon{font-size:28px;margin-bottom:8px}.stage-label{font-weight:600;font-size:13px;color:var(--text-color);margin-bottom:6px}.stage-status{font-size:12px;color:var(--text-color);opacity:.7}.stage.active .stage-status{color:var(--success);font-weight:600}.payment-status{font-size:20px;font-weight:600;padding:16px;border-radius:6px;text-align:center;margin:16px 0}.payment-status.pending{background-color:#f59e0b1a;color:var(--warning)}.payment-status.paid{background-color:#10b9811a;color:var(--success)}.payment-info{margin-top:20px;padding:16px;background-color:var(--surface-light);border-radius:6px}.payment-info.success{background-color:#10b9811a;border-left:4px solid var(--success)}.payment-info .amount{font-size:32px;font-weight:700;color:var(--primary);text-align:center;margin:16px 0}.payment-info .remaining-info{text-align:center;color:var(--text-color);font-size:14px;margin:12px 0;font-weight:500}.payment-info .payment-date{text-align:center;color:var(--text-color);font-size:13px;opacity:.8;margin:8px 0}.payment-info .total-amount{text-align:center;font-size:16px;font-weight:600;color:var(--success);margin:12px 0}.bank-details{font-size:13px;color:var(--text-color);line-height:1.8}.bank-details p{margin:4px 0}.girocode-box{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color);text-align:center}.girocode-qr{width:160px;height:160px;background-color:#fff;padding:8px;border-radius:6px}.girocode-hint{margin:8px 0 0;font-size:12px;color:var(--text-secondary, var(--text-color))}.price-table{display:flex;flex-direction:column;gap:8px}.price-row{display:flex;justify-content:space-between;padding:12px;background-color:var(--surface-light);border-radius:6px}.price-row.total{font-weight:600;font-size:16px;color:var(--primary);border:2px solid var(--primary)}.action-buttons{display:flex;gap:10px;flex-wrap:wrap}.action-buttons button{flex:1;min-width:200px;padding:10px 16px;border:none;border-radius:4px;font-weight:500;cursor:pointer;white-space:nowrap}.action-buttons button.primary{background-color:var(--primary);color:#fff}.action-buttons button.primary:hover{background-color:var(--primary-dark)}.action-buttons button.danger{background-color:var(--danger);color:#fff}.action-buttons button.danger:hover{background-color:var(--danger-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-dark);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--bg-color);border-radius:8px;box-shadow:0 10px 40px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:20px;color:var(--text-color)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-color);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background-color:var(--overlay-light);border-radius:4px}.modal-body{padding:20px}.modal-body label{display:block;margin-top:16px;margin-bottom:8px;font-weight:600;color:var(--text-color)}.modal-body textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:14px;color:var(--text-color);background-color:var(--surface-light);resize:vertical}.modal-body textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.char-counter{font-size:12px;color:var(--text-color);opacity:.6;margin-top:4px;text-align:right}.warning-box{background-color:#f59e0b1a;border-left:4px solid var(--warning, #f59e0b);padding:12px;border-radius:4px;margin-bottom:16px;color:var(--text-color)}.warning-box p{margin:0;font-size:14px}.modal-footer{display:flex;gap:10px;padding:20px;border-top:1px solid var(--border-color);justify-content:flex-end}.modal-footer button{padding:10px 20px;border:none;border-radius:4px;font-weight:500;cursor:pointer;font-size:14px}.modal-footer button.secondary{background-color:var(--surface-light);color:var(--text-color);border:1px solid var(--border-color)}.modal-footer button.secondary:hover{background-color:var(--overlay-light)}.modal-footer button.danger{background-color:var(--danger);color:#fff}.modal-footer button.danger:hover{background-color:var(--danger-hover)}.modal-footer button:disabled{opacity:.6;cursor:not-allowed}.alert.error{background-color:#ef44441a;border-left:4px solid var(--danger);color:var(--danger);padding:12px;border-radius:4px;font-size:14px;margin:0}.manual-content{color:var(--text-color);line-height:1.8;word-break:break-word}.manual-content h1,.manual-content h2,.manual-content h3{margin-top:20px;margin-bottom:12px;color:var(--primary);font-weight:600}.manual-content h1{font-size:24px;border-bottom:2px solid var(--primary);padding-bottom:10px}.manual-content h2{font-size:20px}.manual-content h3{font-size:16px}.manual-content p{margin:12px 0}.manual-content ul,.manual-content ol{margin:12px 0;padding-left:24px}.manual-content li{margin:8px 0}.manual-content strong{font-weight:600;color:var(--primary)}.manual-content em{font-style:italic}.manual-content code{background-color:var(--surface-light);padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.95em}.manual-content pre{background-color:var(--surface-light);padding:12px;border-radius:6px;overflow-x:auto;margin:12px 0}.manual-content blockquote{border-left:4px solid var(--primary);padding-left:16px;margin:12px 0;color:var(--text-color);font-style:italic;opacity:.8}.action-buttons button:disabled{opacity:.6;cursor:not-allowed}.action-buttons button:disabled:hover{transform:none}@media (max-width: 600px){.guest-container{padding:20px 10px 80px}.guest-header h1{font-size:24px}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.payment-stages{flex-direction:column}.stage{min-width:unset}}.cleaning-container{min-height:100vh;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);padding:20px}.cleaning-auth-box{max-width:400px;margin:60px auto;background-color:var(--bg-color);border-radius:12px;padding:40px;box-shadow:0 20px 60px #0000004d}.cleaning-auth-box h1{text-align:center;color:var(--primary);margin-bottom:10px;font-size:28px}.cleaning-auth-box p{text-align:center;color:var(--gray-500);margin-bottom:30px;font-size:14px}.cleaning-header{display:flex;justify-content:space-between;align-items:center;max-width:600px;margin:30px auto;color:var(--text-color)}.cleaning-header h1{font-size:28px;margin:0}.cleaning-header-actions{display:flex;align-items:center;gap:12px}.logout-btn{background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;font-size:12px}.logout-btn:hover{background-color:#ffffff4d}.cleaning-content{max-width:600px;margin:0 auto;padding-bottom:40px}.cleaning-controls{display:flex;gap:16px;flex-wrap:wrap;background-color:var(--card-bg);border-radius:12px;padding:16px 20px;margin-bottom:20px;box-shadow:0 4px 12px #0000001a}.cleaning-controls .form-group{flex:1;min-width:140px}.undo-banner{display:flex;justify-content:space-between;align-items:center;background-color:#51cf6626;color:var(--success);border-radius:12px;padding:12px 20px;margin-bottom:20px;font-size:14px;font-weight:500}.undo-btn{background:none;border:none;color:var(--success);font-weight:600;cursor:pointer;padding:4px 8px}.tasks-groups{display:flex;flex-direction:column;gap:24px}.group-label{font-size:15px;font-weight:600;color:var(--text-color);margin:0 0 12px 4px;text-transform:capitalize}.tasks-list{display:flex;flex-direction:column;gap:16px}.task-card{background-color:var(--card-bg);border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000001a}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.task-header h3{font-size:18px;margin:0;color:var(--text-color)}.checkout-date{background-color:#ef44441a;color:var(--danger);padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.task-details{margin-bottom:20px;font-size:14px;color:var(--text-color)}.task-details p{margin:8px 0}.task-details strong{color:var(--text-color)}.no-tasks{text-align:center;padding:40px 20px;background-color:var(--card-bg);border-radius:12px;font-size:18px;color:var(--success)}.task-card button:disabled{opacity:.6;cursor:not-allowed}.task-card button:disabled:hover{transform:none}@media (max-width: 600px){.cleaning-container{padding-bottom:80px}.cleaning-header{flex-direction:column;gap:20px;text-align:center}.task-header{flex-direction:column;align-items:flex-start;gap:10px}.checkout-date{align-self:flex-start}.task-card button{width:100%}}.vrb-widget-card{background-color:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-color);max-width:600px;margin:0 auto;padding:var(--spacing-xl)}.vrb-widget-card h2{margin:0 0 var(--spacing-lg) 0;font-size:20px;font-weight:600}.back-to-calendar-btn{display:inline-block;margin-bottom:var(--spacing-lg);padding:8px 12px;background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.back-to-calendar-btn:hover{background-color:var(--surface-light);border-color:var(--primary);color:var(--primary)}.booking-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group label{font-weight:500;font-size:14px;color:var(--text-color);cursor:pointer;-webkit-user-select:none;user-select:none}.form-group textarea{padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background-color:var(--bg-color);color:var(--text-color);font-family:inherit;resize:vertical;transition:all .2s}.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.individual-request-intro{margin:calc(-1 * var(--spacing-md)) 0 0 0;font-size:13px;color:var(--gray-500)}.booking-rules-hint{background-color:var(--surface-light);padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:3px solid var(--gray-500)}.booking-rules-hint h4{margin:0 0 var(--spacing-sm) 0;font-size:13px;font-weight:600;color:var(--text-color)}.booking-rules-hint ul{margin:0 0 var(--spacing-md) 0;padding-left:18px;font-size:13px;color:var(--gray-500)}.individual-request-link{width:100%;min-height:40px;padding:10px 16px;background-color:transparent;border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.individual-request-link:hover{background-color:var(--surface-light);border-color:var(--primary)}.form-group input,.form-group select{min-height:44px;padding:12px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:16px;background-color:var(--bg-color);color:var(--text-color);font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-group.checkbox{flex-direction:row;align-items:center;gap:var(--spacing-md);min-height:44px;padding:var(--spacing-sm) 0;cursor:pointer;-webkit-user-select:none;user-select:none}.form-group.checkbox input{width:20px;height:20px;min-width:20px;min-height:auto;margin:0;cursor:pointer;accent-color:var(--primary)}.form-group.checkbox span{font-weight:400;font-size:14px}.form-group.checkbox .fee-hint{color:var(--gray-500);font-size:13px}.cleaning-included-hint{margin:0;font-size:14px;color:var(--text-color)}.cleaning-included-hint .fee-hint{color:var(--gray-500);font-size:13px}.date-hint{margin:calc(-1 * var(--spacing-md)) 0 0 0;font-size:13px;color:var(--alert-warning-text)}.price-loading{margin:0;font-size:13px;color:var(--gray-500)}.price-info{background-color:var(--surface-light);padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:3px solid var(--primary)}.price-info h4{margin:0 0 var(--spacing-md) 0;font-size:14px;font-weight:600;color:var(--text-color)}.price-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;font-size:13px;color:var(--gray-500)}.price-row.total{border-top:1px solid var(--border-color);padding-top:var(--spacing-md);margin-top:var(--spacing-md);font-size:16px;font-weight:600;color:var(--text-color)}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:13px}.alert.error{background-color:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border)}.alert.success{background-color:var(--alert-success-bg);color:var(--alert-success-text);border:1px solid var(--alert-success-border)}.booking-form button{width:100%;min-height:44px;padding:12px 20px;border-radius:var(--radius-md);font-size:15px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.booking-form button.primary{background-color:var(--primary);color:#fff}.booking-form button:disabled{opacity:.6;cursor:not-allowed}.booking-confirmation{display:flex;flex-direction:column;gap:var(--spacing-lg)}.confirmation-summary{background-color:var(--surface-light);padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:3px solid var(--primary)}.confirmation-summary h4{margin:0 0 var(--spacing-md) 0;font-size:14px;font-weight:600;color:var(--text-color)}.guest-link-button{display:block;width:100%;min-height:44px;padding:12px 20px;border-radius:var(--radius-md);font-size:15px;font-weight:500;text-align:center;text-decoration:none;background-color:var(--primary);color:#fff;box-sizing:border-box;transition:all .2s}.guest-link-button:hover{opacity:.9}.new-booking-link{width:100%;min-height:44px;padding:12px 20px;background-color:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.new-booking-link:hover{background-color:var(--surface-light);border-color:var(--primary);color:var(--primary)}@media (max-width: 599px){.form-row{grid-template-columns:1fr}.vrb-widget-card{padding:var(--spacing-lg)}}.vrb-calendar-container{max-width:700px}.vrb-calendar-error{padding:var(--spacing-lg);background-color:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border);border-radius:var(--radius-md)}.vrb-calendar-nav{display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.vrb-calendar-nav-btn{min-height:40px;min-width:40px;border:1px solid var(--border-color);background-color:var(--surface-light);color:var(--text-color);border-radius:var(--radius-md);cursor:pointer;font-size:16px}.vrb-calendar-nav-btn:disabled{opacity:.4;cursor:not-allowed}.vrb-calendar-loading{display:flex;justify-content:center;padding:var(--spacing-lg)}.vrb-calendar-spinner{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:vrb-spin .8s linear infinite}@keyframes vrb-spin{to{transform:rotate(360deg)}}.vrb-calendar-error-message{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--alert-error-bg);color:var(--alert-error-text);border:1px solid var(--alert-error-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.vrb-calendar-retry-btn{flex-shrink:0;min-height:32px;padding:6px 12px;border:1px solid var(--alert-error-border);border-radius:var(--radius-sm, 4px);background-color:transparent;color:var(--alert-error-text);font-size:12px;cursor:pointer}.vrb-calendar-grids-container{display:flex;flex-wrap:wrap;gap:var(--spacing-xl)}.vrb-calendar{flex:1 1 260px}.vrb-calendar-title{text-align:center;margin:0 0 var(--spacing-md) 0;font-size:15px;font-weight:600}.vrb-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.vrb-calendar-day-header{text-align:center;font-size:11px;font-weight:600;color:var(--gray-500);padding:var(--spacing-xs) 0}.vrb-calendar-day{text-align:center;padding:var(--spacing-sm) 0;font-size:13px;border-radius:var(--radius-sm, 4px);cursor:default;-webkit-user-select:none;user-select:none}.vrb-day-empty{visibility:hidden}.vrb-status-available{background-color:var(--alert-success-bg);color:var(--alert-success-text)}.vrb-status-booked{background-color:var(--gray-200);color:var(--gray-500);text-decoration:line-through}.vrb-status-checkout-only,.vrb-status-checkin-only,.vrb-status-checkin-day-empty{background-color:var(--alert-warning-bg);color:var(--alert-warning-text)}.vrb-status-checkin-day-blocked{background-color:var(--gray-200);color:var(--gray-500);text-decoration:line-through}.vrb-status-past{color:var(--gray-300);cursor:default}.vrb-status-booked{cursor:default}.vrb-status-available,.vrb-status-checkout-only,.vrb-status-checkin-only,.vrb-status-checkin-day-empty{cursor:pointer;transition:all .2s ease}.vrb-status-available:hover,.vrb-status-checkout-only:hover,.vrb-status-checkin-only:hover,.vrb-status-checkin-day-empty:hover{transform:scale(1.05);background-color:var(--gray-100)}.vrb-status-selected-checkin{background-color:var(--calendar-selected-checkin-bg)!important;color:var(--calendar-selected-checkin-text)!important;font-weight:700}.vrb-status-selected-checkout{background-color:var(--calendar-selected-checkout-bg)!important;color:var(--calendar-selected-checkout-text)!important;font-weight:700}.vrb-status-selected-range{background-color:var(--calendar-selected-range-bg)!important;color:var(--calendar-selected-range-text)!important}.vrb-status-preview-range{background-color:var(--calendar-preview-range-bg)!important;color:var(--calendar-preview-range-text)!important}.vrb-status-disabled{background-color:var(--calendar-disabled-bg)!important;color:var(--calendar-disabled-text)!important;text-decoration:line-through;cursor:not-allowed!important}.vrb-today{outline:2px solid var(--primary);outline-offset:-2px;font-weight:700}.vrb-calendar-summary{display:flex;gap:var(--spacing-xl);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.vrb-summary-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.vrb-summary-label{font-size:12px;color:var(--gray-500)}.vrb-summary-value{font-size:18px;font-weight:600}.vrb-calendar-rule-hint{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);border-radius:var(--radius-md);font-size:13px}.vrb-calendar-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.vrb-legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:12px;color:var(--gray-500)}.vrb-legend-color{width:14px;height:14px;border-radius:3px;display:inline-block}.vrb-legend-item .vrb-status-available,.vrb-legend-item .vrb-status-booked,.vrb-legend-item .vrb-status-checkout-only{padding:0}.vrb-calendar-container .booking-rules-hint{margin-top:var(--spacing-lg)}@media (max-width: 420px){.vrb-calendar-grids-container{flex-wrap:nowrap;flex-direction:column}.vrb-calendar{flex-basis:auto}}.vrb-widget-root{--primary: #2563eb;--primary-dark: #1e40af;--primary-hover: #1e40af;--success: #10b981;--success-bg: #d1fae5;--warning: #f59e0b;--danger: #ef4444;--danger-bg: #fee2e2;--secondary: #6b7280;--secondary-hover: #4b5563;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #d1d5db;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-900: #111827;--text-color: #1f2937;--bg-color: #ffffff;--border-color: #e5e7eb;--card-bg: #ffffff;--surface: #ffffff;--surface-light: #f9fafb;--alert-error-bg: rgba(239, 68, 68, .1);--alert-error-text: #ef4444;--alert-error-border: rgba(239, 68, 68, .3);--alert-success-bg: rgba(16, 185, 129, .1);--alert-success-text: #10b981;--alert-success-border: rgba(16, 185, 129, .3);--alert-warning-bg: rgba(245, 158, 11, .1);--alert-warning-text: #f59e0b;--alert-warning-border: rgba(245, 158, 11, .3);--alert-info-bg: rgba(59, 130, 246, .1);--alert-info-text: #3b82f6;--alert-info-border: rgba(59, 130, 246, .3);--form-input-bg: #ffffff;--form-input-border: #e5e7eb;--form-input-focus: #2563eb;--error-border: #d32f2f;--warning-bg: #fff3cd;--warning-border: #ffc107;--warning-text: #856404;--status-pending-bg: rgba(245, 158, 11, .1);--status-pending-text: #d97706;--status-confirmed-bg: rgba(37, 99, 235, .1);--status-confirmed-text: #2563eb;--status-paid-bg: rgba(16, 185, 129, .1);--status-paid-text: #059669;--status-completed-bg: rgba(34, 197, 94, .1);--status-completed-text: #22c55e;--status-cancelled-bg: rgba(239, 68, 68, .1);--status-cancelled-text: #dc2626;--status-deposit-paid-bg: rgba(59, 130, 246, .1);--status-deposit-paid-text: #0284c7;--status-requested-bg: rgba(245, 158, 11, .1);--status-requested-text: #d97706;--status-final-payment-bg: rgba(249, 115, 22, .1);--status-final-payment-text: #ea580c;--overlay-dark: rgba(0, 0, 0, .5);--overlay-light: rgba(255, 255, 255, .05);--calendar-selected-checkin-bg: #2e7d32;--calendar-selected-checkin-text: #ffffff;--calendar-selected-checkout-bg: #1b5e20;--calendar-selected-checkout-text: #ffffff;--calendar-selected-range-bg: #c8e6c9;--calendar-selected-range-text: #1b3a1d;--calendar-preview-range-bg: #e3f2fd;--calendar-preview-range-text: #0d3c61;--calendar-disabled-bg: #e5e7eb;--calendar-disabled-text: #9ca3af;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:transparent;padding:var(--spacing-lg)}.vrb-widget-container{display:flex;gap:var(--spacing-lg)}.vrb-widget-container.layout-side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.vrb-widget-container.layout-stacked{display:flex;flex-direction:column;gap:var(--spacing-lg)}.vrb-widget-container.layout-centered{display:flex;justify-content:center;align-items:flex-start;width:100%}@media (max-width: 900px){.vrb-widget-container.layout-side-by-side{grid-template-columns:1fr}}.install-pwa-button{position:fixed;right:1rem;bottom:1rem;z-index:1000;padding:.6rem 1rem;border:none;border-radius:999px;background-color:var(--primary, #2563eb);color:#fff;font-size:.9rem;font-weight:600;box-shadow:0 4px 12px #0003;cursor:pointer}.install-pwa-button:hover{background-color:var(--primary-hover, #1e40af)}.ios-install-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999}.ios-install-guide{position:fixed;bottom:0;left:0;right:0;max-height:90vh;background:var(--card-bg);border-radius:16px 16px 0 0;box-shadow:0 -4px 16px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideUp .3s ease-out;color:var(--text-color)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.ios-install-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.ios-install-header h2{margin:0;font-size:20px;font-weight:700}.ios-install-close{background:none;border:none;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--gray-500);border-radius:8px;transition:background-color .2s}.ios-install-close:active{background-color:var(--surface-light)}.ios-install-content{flex:1;overflow-y:auto;padding:20px}.ios-install-intro{margin:0 0 24px;font-size:16px;font-weight:600;color:var(--text-color)}.ios-install-steps{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.ios-step{display:flex;gap:16px;padding:16px;background:var(--surface-light);border-radius:12px;border-left:4px solid var(--primary)}.ios-step-number{display:flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;background:var(--primary);color:#fff;border-radius:50%;font-weight:700;font-size:18px;flex-shrink:0}.ios-step-content h3{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--text-color)}.ios-step-content p{margin:8px 0;font-size:14px;line-height:1.6;color:var(--gray-500)}.ios-icon-description{margin-top:12px;padding:10px 12px;background:#fff;border-radius:8px;font-size:14px;font-weight:500;border:1px solid var(--border-color);color:var(--text-color)}.ios-options{margin-top:12px;display:flex;flex-direction:column;gap:8px}.ios-option{padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;background:#fff;border:1px solid var(--border-color)}.ios-option:first-child{background:#22c55e0d;border-color:#22c55e4d;color:var(--success)}.ios-option:last-child{background:#ef44440d;border-color:#ef44444d;color:var(--danger)}.ios-step-note{margin-top:12px;padding:12px;background:#22c55e0d;border-left:3px solid var(--success);border-radius:8px;color:var(--success);font-weight:600}.ios-install-tips{background:var(--alert-info-bg);border:1px solid var(--alert-info-border);border-radius:12px;padding:16px;margin-bottom:32px}.ios-install-tips h4{margin:0 0 12px;font-size:16px;font-weight:700;color:var(--alert-info-text)}.ios-install-tips ul{margin:0;padding-left:20px;list-style:none}.ios-install-tips li{margin-bottom:12px;font-size:14px;line-height:1.6;color:var(--gray-500)}.ios-install-tips li:last-child{margin-bottom:0}.ios-install-tips strong{color:var(--text-color)}.ios-install-alternative{background:var(--surface-light);border-radius:12px;padding:16px;margin-bottom:20px;border:1px dashed var(--border-color)}.ios-install-alternative p{margin:0;font-size:14px;line-height:1.6;color:var(--gray-500)}.ios-install-footer{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color);flex-shrink:0;background:var(--card-bg)}.ios-install-button-primary,.ios-install-button-secondary{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px}.ios-install-button-primary{background:var(--primary);color:#fff}.ios-install-button-primary:active{background:var(--primary-dark);transform:scale(.98)}.ios-install-button-secondary{background:var(--surface-light);color:var(--text-color);border:1px solid var(--border-color)}.ios-install-button-secondary:active{background:var(--border-color);transform:scale(.98)}.ios-install-help-button{position:fixed;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #2563eb66;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:100}.ios-install-help-button:active{transform:scale(.95);box-shadow:0 2px 8px #2563eb4d}@media (prefers-color-scheme: dark){.ios-install-overlay{background-color:#000000b3}.ios-step-note{background:#22c55e1a}.ios-install-tips{background:#3b82f61a;border-color:#3b82f633}}@media (max-height: 500px){.ios-install-guide{max-height:100vh}.ios-install-content{max-height:calc(100vh - 120px)}}@media (hover: none) and (pointer: coarse){.ios-install-button-primary,.ios-install-button-secondary{min-height:52px;font-size:17px}.ios-step{padding:18px}}.desktop-install-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.desktop-install-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:600px;width:90%;max-height:90vh;background:var(--card-bg);border-radius:12px;box-shadow:0 20px 25px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideIn .3s ease-out;color:var(--text-color);overflow:hidden}@keyframes slideIn{0%{transform:translate(-50%,-48%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.desktop-install-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color);flex-shrink:0}.desktop-install-header h2{margin:0;font-size:20px;font-weight:700}.desktop-install-close{background:none;border:none;font-size:24px;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--gray-500);border-radius:8px;transition:all .2s}.desktop-install-close:hover{background-color:var(--surface-light)}.desktop-install-close:active{background-color:var(--surface-light);transform:scale(.95)}.desktop-install-content{flex:1;overflow-y:auto;padding:24px}.desktop-install-intro{margin:0 0 24px;font-size:16px;font-weight:600;color:var(--text-color)}.desktop-install-method{background:var(--alert-info-bg);border:1px solid var(--alert-info-border);border-radius:12px;padding:20px;margin-bottom:24px}.desktop-install-method h3{margin:0 0 12px;font-size:16px;font-weight:700;color:var(--alert-info-text)}.desktop-install-method p{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--gray-500)}.desktop-install-primary-button{width:100%;padding:12px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.desktop-install-primary-button:hover{background:var(--primary-dark)}.desktop-install-primary-button:active{background:var(--primary-dark);transform:scale(.98)}.desktop-install-divider{text-align:center;margin:24px 0;color:var(--gray-500);font-size:13px;font-weight:600;position:relative}.desktop-install-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color);z-index:0}.desktop-install-divider:after{content:"oder";position:relative;background:var(--card-bg);padding:0 8px;z-index:1}.desktop-install-manual{margin-bottom:24px}.desktop-install-manual h3{margin:0 0 16px;font-size:16px;font-weight:700;color:var(--text-color)}.desktop-install-steps{display:flex;flex-direction:column;gap:12px}.desktop-step{display:flex;gap:12px;padding:12px;background:var(--surface-light);border-radius:8px;border-left:4px solid var(--primary)}.desktop-step-number{display:flex;align-items:center;justify-content:center;min-width:36px;width:36px;height:36px;background:var(--primary);color:#fff;border-radius:50%;font-weight:700;font-size:16px;flex-shrink:0}.desktop-step-content h4{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--text-color)}.desktop-step-content p{margin:0;font-size:13px;line-height:1.5;color:var(--gray-500)}.desktop-install-info{background:var(--surface-light);border-radius:12px;padding:16px;margin-bottom:16px;border:1px dashed var(--border-color)}.desktop-install-info h4{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text-color)}.desktop-install-info ul{margin:0;padding-left:20px;list-style:none}.desktop-install-info li{margin-bottom:8px;font-size:13px;line-height:1.5;color:var(--gray-500)}.desktop-install-info li:last-child{margin-bottom:0}.desktop-install-info strong{color:var(--text-color)}.desktop-install-warning{background:#f59e0b0d;border:1px solid rgba(245,158,11,.3);border-left:3px solid #f59e0b;border-radius:8px;padding:12px;margin-bottom:16px;font-size:13px;line-height:1.5;color:var(--gray-500)}.desktop-install-warning strong{color:#d97706}.desktop-install-footer{display:flex;gap:12px;padding:20px;border-top:1px solid var(--border-color);flex-shrink:0;background:var(--card-bg)}.desktop-install-button-primary,.desktop-install-button-secondary{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.desktop-install-button-primary{background:var(--primary);color:#fff}.desktop-install-button-primary:hover{background:var(--primary-dark)}.desktop-install-button-primary:active{background:var(--primary-dark);transform:scale(.98)}.desktop-install-button-secondary{background:var(--surface-light);color:var(--text-color);border:1px solid var(--border-color)}.desktop-install-button-secondary:hover{background:var(--border-color)}.desktop-install-button-secondary:active{background:var(--border-color);transform:scale(.98)}.desktop-install-button{position:fixed;bottom:20px;right:20px;padding:12px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #2563eb66;display:flex;align-items:center;gap:8px;transition:all .2s;z-index:100;white-space:nowrap}.desktop-install-button:hover{background:var(--primary-dark);box-shadow:0 6px 16px #2563eb80}.desktop-install-button:active{transform:scale(.95);box-shadow:0 2px 8px #2563eb4d}.desktop-install-help-button{position:fixed;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #2563eb66;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:100}.desktop-install-help-button:hover{background:var(--primary-dark);box-shadow:0 6px 16px #2563eb80}.desktop-install-help-button:active{transform:scale(.95);box-shadow:0 2px 8px #2563eb4d}@media (prefers-color-scheme: dark){.desktop-install-overlay{background-color:#000000b3}.desktop-install-method{background:#3b82f61a;border-color:#3b82f633}}@media (max-width: 640px){.desktop-install-modal{width:95%;max-height:95vh}.desktop-install-button{font-size:13px;padding:10px 16px;bottom:16px;right:16px}.desktop-install-help-button{bottom:16px;right:16px}}@media (max-width: 768px){.desktop-install-modal{max-width:500px}}.pwa-debug-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#2563eb;color:#fff;border:none;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000001a;z-index:9998;transition:all .3s ease}.pwa-debug-toggle:hover{background:#1d4ed8;transform:scale(1.1)}.pwa-debug-panel{position:fixed;bottom:80px;right:20px;width:400px;max-height:600px;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;z-index:9999;display:flex;flex-direction:column;overflow:hidden;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.pwa-debug-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f3f4f6}.pwa-debug-header h3{margin:0;font-size:14px;font-weight:600;color:#111827}.pwa-debug-header button{background:none;border:none;font-size:18px;cursor:pointer;color:#6b7280;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.pwa-debug-header button:hover{color:#111827}.pwa-debug-content{overflow-y:auto;padding:12px}.pwa-debug-section{margin-bottom:16px}.pwa-debug-section h4{margin:0 0 8px;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.requirement-item{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#f9fafb;border-radius:6px;margin-bottom:6px;border-left:3px solid #e5e7eb}.requirement-item span:first-child{font-weight:500;color:#374151}.requirement-item .status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;background:#e0e7ff;color:#4338ca}.requirement-item span:first-child:contains("✓"){color:#059669}.requirement-item span:first-child:contains("❌"){color:#dc2626}.status-message{padding:12px;border-radius:6px;font-size:12px;line-height:1.5}.status-message.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.status-message.error{background:#fee2e2;color:#7f1d1d;border:1px solid #fca5a5}.debug-messages{background:#111827;color:#10b981;padding:12px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;max-height:200px;overflow-y:auto;line-height:1.6}.debug-message{margin-bottom:4px}.pwa-debug-section.info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:12px}.pwa-debug-section.info p{margin:0;font-size:12px;color:#1e40af;line-height:1.5}@media (max-width: 640px){.pwa-debug-panel{width:calc(100vw - 40px);right:20px;left:20px}}.pwa-update-banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:2000;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;background:var(--color-surface, #1f2937);color:var(--color-text-inverse, #fff);box-shadow:0 4px 16px #00000040;font-size:.9rem}.pwa-update-banner button{border:none;border-radius:6px;padding:6px 12px;background:var(--color-primary, #2563eb);color:#fff;font-weight:600;cursor:pointer}.app{display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-color)}.navbar{background-color:var(--primary);color:#fff;padding:16px 0;box-shadow:0 2px 8px #0000001a}.navbar-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.navbar h1{font-size:20px;margin:0}.main-content{flex:1;padding:30px 20px;max-width:1200px;width:100%;margin:0 auto}.page-header{margin-bottom:30px}.page-header h2{font-size:28px;margin-bottom:10px}.page-header p{color:var(--gray-500);margin:0}.card{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000000d}.card h3{margin-top:0;margin-bottom:16px;font-size:18px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}.page-header h2{font-size:20px}.main-content{padding:20px 10px}}.loading{text-align:center;padding:40px 20px;color:var(--gray-500)}.spinner{display:inline-block;width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-badge.pending{background-color:#f59e0b1a;color:var(--warning)}.status-badge.paid{background-color:#10b9811a;color:var(--success)}.status-badge.cancelled{background-color:#ef44441a;color:var(--danger)}.status-badge.individual_requested{background-color:#a855f71a;color:#a855f7}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-primary:var(--primary);--color-surface:var(--surface)}}@layer base;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-3{top:calc(var(--spacing) * 3)}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.z-40{z-index:40}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.z-\[1100\]{z-index:1100}.z-\[1101\]{z-index:1101}.z-\[1200\]{z-index:1200}.z-\[2000\]{z-index:2000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-347{margin:calc(var(--spacing) * 347)}.m-654{margin:calc(var(--spacing) * 654)}.m-922{margin:calc(var(--spacing) * 922)}.m-1180{margin:calc(var(--spacing) * 1180)}.m-1342{margin:calc(var(--spacing) * 1342)}.m-1829{margin:calc(var(--spacing) * 1829)}.m-1896{margin:calc(var(--spacing) * 1896)}.m-3175{margin:calc(var(--spacing) * 3175)}.m-3259{margin:calc(var(--spacing) * 3259)}.m-3770{margin:calc(var(--spacing) * 3770)}.m-8470{margin:calc(var(--spacing) * 8470)}.m-11248{margin:calc(var(--spacing) * 11248)}.m-16337{margin:calc(var(--spacing) * 16337)}.m-16674{margin:calc(var(--spacing) * 16674)}.m-16769{margin:calc(var(--spacing) * 16769)}.m-17182{margin:calc(var(--spacing) * 17182)}.m-19152{margin:calc(var(--spacing) * 19152)}.m-22748{margin:calc(var(--spacing) * 22748)}.mt-auto{margin-top:auto}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-2{height:calc(var(--spacing) * 2)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\[2px\]{height:2px}.h-full{height:100%}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-32{width:calc(var(--spacing) * 32)}.w-64{width:calc(var(--spacing) * 64)}.w-\[80vw\]{width:80vw}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[320px\]{max-width:320px}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-\[48px\]{min-width:48px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[6px\]{--tw-translate-y: -6px ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[6px\]{--tw-translate-y:6px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[3px\]{gap:3px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-alert-error-border{border-color:var(--alert-error-border)}.border-alert-info-border{border-color:var(--alert-info-border)}.border-alert-success-border{border-color:var(--alert-success-border)}.border-alert-warning-border{border-color:var(--alert-warning-border)}.border-border{border-color:var(--border-color)}.bg-alert-error-bg{background-color:var(--alert-error-bg)}.bg-alert-info-bg{background-color:var(--alert-info-bg)}.bg-alert-success-bg{background-color:var(--alert-success-bg)}.bg-alert-warning-bg{background-color:var(--alert-warning-bg)}.bg-bg{background-color:var(--bg-color)}.bg-card{background-color:var(--card-bg)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--danger)}.bg-gray-200{background-color:var(--gray-200)}.bg-overlay-dark{background-color:var(--overlay-dark)}.bg-primary,.bg-primary\/5{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--primary) 5%,transparent)}}.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--primary) 10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-alert-error-text{color:var(--alert-error-text)}.text-alert-info-text{color:var(--alert-info-text)}.text-alert-success-text{color:var(--alert-success-text)}.text-alert-warning-text{color:var(--alert-warning-text)}.text-current{color:currentColor}.text-danger{color:var(--danger)}.text-gray-400{color:var(--gray-400)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-primary{color:var(--primary)}.text-text{color:var(--text-color)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_-2px_8px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 -2px 8px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-lg\)\]{--tw-shadow:var(--shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-sm\)\]{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}@media (hover:hover){.hover\:bg-danger-hover:hover{background-color:var(--danger-hover)}.hover\:bg-primary-hover:hover{background-color:var(--primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--secondary-hover)}.hover\:bg-surface-light:hover{background-color:var(--surface-light)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-text:hover{color:var(--text-color)}.hover\:opacity-100:hover{opacity:1}}@media (max-width:599px){.mobile\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:600px) and (max-width:899px){.tablet\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.desktop\:inset-x-auto{inset-inline:auto}.desktop\:right-6{right:calc(var(--spacing) * 6)}.desktop\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop\:items-end{align-items:flex-end}.desktop\:pl-64{padding-left:calc(var(--spacing) * 64)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@layer base{*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-dark: #1e40af;--primary-hover: #1e40af;--success: #10b981;--success-bg: #d1fae5;--warning: #f59e0b;--danger: #ef4444;--danger-hover: #dc2626;--danger-bg: #fee2e2;--secondary: #6b7280;--secondary-hover: #4b5563;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #d1d5db;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-900: #111827;--text-color: #1f2937;--bg-color: #ffffff;--border-color: #e5e7eb;--card-bg: #ffffff;--surface: #ffffff;--surface-light: #f9fafb;--alert-error-bg: rgba(239, 68, 68, .1);--alert-error-text: #ef4444;--alert-error-border: rgba(239, 68, 68, .3);--alert-success-bg: rgba(16, 185, 129, .1);--alert-success-text: #10b981;--alert-success-border: rgba(16, 185, 129, .3);--alert-warning-bg: rgba(245, 158, 11, .1);--alert-warning-text: #f59e0b;--alert-warning-border: rgba(245, 158, 11, .3);--alert-info-bg: rgba(59, 130, 246, .1);--alert-info-text: #3b82f6;--alert-info-border: rgba(59, 130, 246, .3);--form-input-bg: #ffffff;--form-input-border: #e5e7eb;--form-input-focus: #2563eb;--error-border: #d32f2f;--warning-bg: #fff3cd;--warning-border: #ffc107;--warning-text: #856404;--status-pending-bg: rgba(245, 158, 11, .1);--status-pending-text: #d97706;--status-confirmed-bg: rgba(34, 197, 94, .1);--status-confirmed-text: #16a34a;--status-paid-bg: rgba(16, 185, 129, .1);--status-paid-text: #059669;--status-completed-bg: rgba(34, 197, 94, .1);--status-completed-text: #22c55e;--status-cancelled-bg: rgba(239, 68, 68, .1);--status-cancelled-text: #dc2626;--status-deposit-paid-bg: rgba(59, 130, 246, .1);--status-deposit-paid-text: #0284c7;--status-requested-bg: rgba(234, 179, 8, .12);--status-requested-text: #ca8a04;--status-individual-bg: rgba(168, 85, 247, .1);--status-individual-text: #a855f7;--status-final-payment-bg: rgba(249, 115, 22, .1);--status-final-payment-text: #ea580c;--status-cleaning-open-bg: rgba(245, 158, 11, .1);--status-cleaning-open-text: #e65100;--status-cleaning-done-bg: rgba(34, 197, 94, .1);--status-cleaning-done-text: #15803d;--status-handover-unassigned-bg: rgba(245, 158, 11, .1);--status-handover-unassigned-text: #e65100;--status-handover-assigned-bg: rgba(37, 99, 235, .1);--status-handover-assigned-text: #2563eb;--status-handover-done-bg: rgba(34, 197, 94, .1);--status-handover-done-text: #15803d;--status-handover-not-needed-bg: rgba(107, 114, 128, .1);--status-handover-not-needed-text: #4b5563;--role-admin-bg: rgba(59, 130, 246, .1);--role-admin-text: #1d4ed8;--role-staff-bg: rgba(147, 51, 234, .1);--role-staff-text: #6d28d9;--role-cleaning-bg: rgba(13, 148, 136, .1);--role-cleaning-text: #0f766e;--role-active-bg: rgba(34, 197, 94, .1);--role-active-text: #166534;--role-inactive-bg: rgba(239, 68, 68, .1);--role-inactive-text: #991b1b;--calendar-selected-checkin-bg: #2e7d32;--calendar-selected-checkin-text: #ffffff;--calendar-selected-checkout-bg: #1b5e20;--calendar-selected-checkout-text: #ffffff;--calendar-selected-range-bg: #c8e6c9;--calendar-selected-range-text: #1b3a1d;--calendar-preview-range-bg: #e3f2fd;--calendar-preview-range-text: #0d3c61;--calendar-disabled-bg: #e5e7eb;--calendar-disabled-text: #9ca3af;--overlay-dark: rgba(0, 0, 0, .5);--overlay-light: rgba(255, 255, 255, .05);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-xxl: 24px;--breakpoint-mobile: 480px;--breakpoint-tablet-sm: 600px;--breakpoint-tablet: 768px;--breakpoint-desktop: 900px;--breakpoint-desktop-lg: 1200px;--touch-target-min: 48px;--input-height: 44px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .15)}@media (prefers-color-scheme: dark){:root{--text-color: #f3f4f6;--bg-color: #1f2937;--border-color: #374151;--gray-100: #374151;--gray-200: #4b5563;--gray-300: #6b7280;--gray-400: #6b7280;--gray-500: #9ca3af;--gray-600: #d1d5db;--gray-700: #e5e7eb;--gray-900: #f3f4f6;--card-bg: #2d3748;--surface: #2d3748;--surface-light: #374151;--success-bg: #064e3b;--danger-bg: #7f1d1d;--primary-hover: #1d3a8a;--secondary-hover: #6b7280;--form-input-bg: #2d3748;--form-input-border: #4b5563;--form-input-focus: #60a5fa;--warning-bg: #332701;--warning-border: #d97706;--warning-text: #fbbf24;--alert-error-text: #fca5a5;--alert-success-text: #86efac;--alert-warning-text: #fbbf24;--alert-info-text: #93c5fd;--status-pending-text: #fbbf24;--status-confirmed-text: #86efac;--status-paid-text: #86efac;--status-completed-text: #86efac;--status-cancelled-text: #fca5a5;--status-deposit-paid-text: #93c5fd;--status-requested-text: #fbbf24;--status-individual-text: #c084fc;--status-final-payment-text: #fdba74;--status-cleaning-open-text: #fbbf24;--status-cleaning-done-text: #86efac;--status-handover-unassigned-text: #fbbf24;--status-handover-assigned-text: #93c5fd;--status-handover-done-text: #86efac;--status-handover-not-needed-text: #9ca3af;--role-admin-text: #93c5fd;--role-staff-text: #d8b4fe;--role-cleaning-text: #5eead4;--role-active-text: #86efac;--role-inactive-text: #fca5a5;--calendar-selected-range-bg: #1b4d1e;--calendar-selected-range-text: #c8e6c9;--calendar-preview-range-bg: #123a5c;--calendar-preview-range-text: #cfe8ff;--calendar-disabled-bg: #374151;--calendar-disabled-text: #6b7280;--overlay-dark: rgba(255, 255, 255, .1);--overlay-light: rgba(0, 0, 0, .3)}}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(--bg-color);color:var(--text-color);line-height:1.5}html,body,#root{height:100%;width:100%}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius-md);padding:12px 16px;min-height:44px;min-width:48px;font-size:14px;font-weight:500;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}button.primary{background-color:var(--primary);color:#fff}button.primary:hover{background-color:var(--primary-dark)}button.success{background-color:var(--success);color:#fff}button.success:hover{background-color:#059669}button.danger{background-color:var(--danger);color:#fff}button.danger:hover{background-color:#dc2626}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:16px;padding:12px 14px;min-height:44px;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-color);color:var(--text-color)}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:auto;cursor:pointer;accent-color:var(--primary)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-color:var(--primary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}table{width:100%;border-collapse:collapse;margin:20px 0}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--border-color)}th{background-color:var(--surface-light);font-weight:600}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background-color:var(--primary);color:#fff;padding:20px 0;box-shadow:0 2px 4px #0000001a}.header h1{margin:0;font-size:24px}.footer{text-align:center;padding:20px;border-top:1px solid var(--border-color);margin-top:40px;color:var(--gray-500);font-size:12px}.alert{padding:12px 16px;border-radius:6px;margin:16px 0}.alert.error{background-color:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.alert.success{background-color:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.3)}.form-group{margin-bottom:20px}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:8px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.form-group input,.form-group select,.form-group textarea{width:100%}.form-group.checkbox input[type=checkbox]{width:20px;height:20px;margin-right:var(--spacing-md)}.form-group.checkbox label{display:flex;align-items:center;margin:0;padding:8px 0;gap:var(--spacing-md)}.form-error{display:block;color:var(--danger);font-size:12px;margin-top:4px}}
