.calendar-container{max-width:1400px;margin:0 auto;padding:2rem}.calendar-content{background:white;border-radius:12px;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.calendar-controls{display:flex;gap:2rem;margin-bottom:2rem;flex-wrap:wrap;align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{font-size:.875rem;font-weight:500;color:#374151}.apartment-select{min-width:250px;padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:white;cursor:pointer;transition:all .2s}.apartment-select:hover{border-color:#10b981}.apartment-select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.date-inputs{display:flex;gap:.5rem;align-items:center}.date-input{width:80px;padding:.625rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;text-align:center}.date-input:disabled{background:#f9fafb;cursor:not-allowed}.refresh-button{padding:.625rem 1.5rem;background:#10b981;color:white;border:none;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.refresh-button:hover:not(:disabled){background:#059669}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.refresh-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.calendar-date-header{background:linear-gradient(135deg,#10b981,#059669);color:white;padding:.75rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;margin-bottom:1rem;box-shadow:0 2px 4px rgba(16,185,129,.2);letter-spacing:.025em}.calendar-grid{margin-top:1rem}.rotating{animation:spin 1s linear infinite}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:#e5e7eb;border-radius:8px 8px 0 0;overflow:hidden}.weekday-header{background:#f3f4f6;padding:1rem;text-align:center;font-weight:600;font-size:.875rem;color:#374151}.weekend-header{background:#fef3c7;color:#92400e}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:#e5e7eb;border-radius:0 0 8px 8px;overflow:hidden}.calendar-cell{background:white;min-height:110px;padding:.625rem;position:relative;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:.375rem;border-radius:4px}.calendar-cell:hover{background:#f9fafb;transform:scale(1.02);box-shadow:0 2px 8px rgba(0,0,0,.08);z-index:10}.calendar-cell:active{transform:scale(.98)}.empty-cell{background:#f9fafb;cursor:default}.empty-cell:hover{transform:none;box-shadow:none}.booked-cell{border-left:4px solid #10b981;background:linear-gradient(135deg,#ffffff,#f0fdf4)}.booked-cell:hover{background:linear-gradient(135deg,#f9fafb,#dcfce7)}.available-cell{border-left:4px solid #ef4444;background:linear-gradient(135deg,#ffffff,#fef2f2)}.available-cell:hover{background:linear-gradient(135deg,#f9fafb,#fee2e2)}.weekend-cell.booked-cell{background:linear-gradient(135deg,#fffbeb,#d1fae5)}.weekend-cell.booked-cell:hover{background:linear-gradient(135deg,#fef3c7,#a7f3d0)}.weekend-cell.available-cell{background:linear-gradient(135deg,#fffbeb,#fee2e2)}.weekend-cell.available-cell:hover{background:linear-gradient(135deg,#fef3c7,#fecaca)}.weekend-cell.empty-cell{background:#fef3c7}.cell-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.cell-date{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:capitalize}.cell-status{display:flex;align-items:center;gap:.25rem}.booked-icon{color:#10b981;flex-shrink:0}.available-icon{color:#ef4444;flex-shrink:0}.cell-occupancy{font-size:.875rem;font-weight:600;color:#111827;line-height:1}.cell-price{display:flex;flex-direction:column;gap:.25rem}.price-main{font-size:.9375rem;font-weight:600;color:#111827;line-height:1.2}.competitor-occupancy,.price-competitor{font-size:.6875rem;color:#6b7280;font-weight:500;margin-top:.125rem}.navigation-section{margin-top:3rem}@media (max-width:1024px){.calendar-body,.calendar-header{grid-template-columns:repeat(7,minmax(95px,1fr))}.calendar-cell{min-height:100px;padding:.5rem;gap:.25rem}.cell-occupancy{font-size:.8125rem}.price-main{font-size:.875rem}.competitor-occupancy,.price-competitor{font-size:.625rem}}@media (max-width:768px){.calendar-container,.calendar-content{padding:1rem}.calendar-controls{flex-direction:column;gap:1rem}.apartment-select{width:100%;min-height:44px}.calendar-date-header{padding:.625rem 1rem;font-size:.875rem}.calendar-body,.calendar-header{grid-template-columns:repeat(7,minmax(75px,1fr));font-size:.75rem}.calendar-cell{min-height:90px;padding:.375rem;gap:.25rem}.weekday-header{padding:.5rem .25rem}.cell-date,.weekday-header{font-size:.625rem}.cell-occupancy,.price-main{font-size:.75rem}.competitor-occupancy,.price-competitor{font-size:.5625rem}}@media (max-width:639px){.calendar-container,.calendar-content{padding:.75rem}.calendar-controls{gap:.75rem}.control-group{width:100%}.apartment-select{width:100%;min-height:44px;font-size:16px}.date-inputs{flex-direction:column;width:100%}.date-input{width:100%;min-height:44px;font-size:16px}.refresh-button{width:100%;min-height:44px;justify-content:center}.calendar-date-header{padding:.75rem 1rem;font-size:.8125rem}.calendar-body,.calendar-header{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.weekday-header{padding:.5rem .125rem;font-size:.5625rem;font-weight:600}.calendar-cell{min-height:70px;padding:.375rem .25rem;gap:.125rem;font-size:.6875rem}.cell-date{font-size:.5625rem}.cell-occupancy,.price-main{font-size:.6875rem}.competitor-occupancy,.price-competitor{font-size:.5rem}.day-details-modal{padding:1rem}.day-details-modal-content{max-width:100%;margin:0;border-radius:.75rem .75rem 0 0}}