.psb-booking-container{max-width:600px;margin:0 auto;padding:20px;font-family:Arial,sans-serif}.psb-view{display:none}.psb-view.active{display:block}.psb-back-btn{background:#f0f0f0;border:1px solid #ddd;padding:8px 15px;cursor:pointer;margin-bottom:15px;border-radius:4px}.psb-back-btn:hover{background:#e0e0e0}.psb-calendar-navigation{margin-bottom:25px;display:flex;align-items:center;justify-content:center;gap:15px}.psb-calendar-navigation span{font-size:24px;font-weight:700;min-width:120px;text-align:center;color:#333}#psb-current-month{text-transform:lowercase}#psb-current-year{min-width:80px}.psb-nav-btn{background:0 0;color:#333;border:none;width:30px;height:30px;cursor:pointer;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;line-height:1}.psb-nav-btn:hover{color:var(--psb-calendar-active-bg);transform:scale(1.2)}.psb-nav-btn:disabled{color:#ccc;cursor:not-allowed;transform:none}.psb-calendar-grid{max-width:600px;margin:0 auto}.psb-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.psb-calendar-weekdays div{text-align:center;font-weight:700;color:var(--psb-calendar-weekday-text);background:var(--psb-calendar-weekday-bg);padding:12px 8px;font-size:14px;border-radius:8px;text-transform:lowercase}.psb-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.psb-date-btn{aspect-ratio:1;padding:0;background:var(--psb-calendar-bg);border:none;cursor:pointer;text-align:center;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:var(--psb-calendar-font-size);font-weight:700;color:var(--psb-calendar-text);min-height:50px}.psb-date-btn:hover:not(.disabled){background:var(--psb-calendar-active-bg);color:var(--psb-calendar-active-text);transform:scale(1.08)}.psb-date-btn.disabled{background:var(--psb-calendar-disabled-bg);color:var(--psb-calendar-disabled-text);cursor:not-allowed}.psb-date-btn.disabled:hover{transform:none}.psb-date-btn.today{box-shadow:0 0 0 3px var(--psb-calendar-active-bg)}@media (max-width:600px){.psb-calendar-grid{max-width:100%}.psb-calendar-navigation{gap:8px}.psb-calendar-navigation span{font-size:18px;min-width:90px}#psb-current-year{min-width:60px}.psb-nav-btn{font-size:24px;width:25px;height:25px}.psb-date-btn{min-height:40px;font-size:calc(var(--psb-calendar-font-size) - 4px)}.psb-calendar-weekdays div{font-size:12px;padding:8px 4px}.psb-calendar-days{gap:6px}.psb-calendar-weekdays{gap:6px}}#psb-time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:20px}.psb-time-btn{padding:15px;background:#0073aa;color:#fff;border:none;cursor:pointer;border-radius:6px;font-size:16px;transition:all .3s}.psb-time-btn:hover{background:#005a87}.psb-time-btn.booked{background:#f5f5f5;color:#999;text-decoration:line-through;cursor:not-allowed;border-color:#e0e0e0;position:relative}.psb-time-btn.booked:after{content:'✕';position:absolute;top:2px;right:5px;font-size:12px;color:#d9534f}.psb-time-btn.booked:hover{background:#f5f5f5;transform:none}.psb-form-group{margin-bottom:15px}.psb-form-group label{display:block;margin-bottom:5px;font-weight:700}.psb-form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;box-sizing:border-box}.psb-submit-btn{width:100%;padding:15px;padding:var(--psb-button-padding,15px) !important;background:#0073aa;background:var(--psb-button-bg,#0073aa) !important;background-color:var(--psb-button-bg,#0073aa) !important;color:#fff;color:var(--psb-button-text,#fff) !important;border:none !important;cursor:pointer;border-radius:6px;font-size:18px;font-size:var(--psb-button-font-size,18px) !important;font-weight:700;transition:all .3s}.psb-submit-btn:hover{opacity:.9 !important;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.2)}#psb-message{margin-top:15px;padding:10px;border-radius:4px;display:none}#psb-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb;display:block}#psb-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;display:block}h3,h4{margin-top:0;color:#333}#psb-selected-date,#psb-form-date,#psb-form-time{color:#0073aa;font-weight:700}