:root{--bg-primary: #FFFFFF;--bg-secondary: #F8F9FA;--text-primary: #3C3C3C;--text-secondary: #212529;--text-muted: #6C757D;--accent-primary: #F05F40;--accent-hover: #D04F30;--accent-light: rgba(240, 95, 64, .1);--success-green: #28A745;--error-red: #DC3545;--hot-red: #DC3545;--border-light: #E9ECEF;--border-medium: #DEE2E6;--font-heading: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-body: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif}body{margin:0;font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-secondary);font-weight:700;margin-top:0}.container{max-width:1000px;margin:0 auto;padding:2rem;box-sizing:border-box}.heading-xl{font-size:2.5rem;margin-bottom:2rem;text-align:center}.btn-primary{background:var(--accent-primary);color:#fff;border:none;padding:12px 24px;border-radius:300px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 10px #f05f404d}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;background:var(--text-muted);box-shadow:none}.btn-secondary{background:#fff;color:var(--text-muted);border:1px solid var(--border-medium);padding:8px 16px;border-radius:300px;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--text-primary);color:var(--text-primary);background:var(--bg-secondary)}.glass-panel{background:#fff;border:1px solid var(--border-light);border-radius:12px;box-shadow:0 4px 20px #0000000d;padding:2rem;margin-bottom:2rem}input,textarea,select{width:100%;padding:12px;border:1px solid var(--border-medium);border-radius:8px;font-family:inherit;font-size:1rem;color:var(--text-primary);background:#fff;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}input:focus,textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-light)}.calendar-wrapper{background:#fff;border-radius:24px;box-shadow:0 20px 40px #0000000f;overflow:hidden;border:1px solid rgba(0,0,0,.03);position:relative}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 3rem;background:#fff;border-bottom:1px solid var(--border-light);position:relative}.calendar-title-container{position:relative;cursor:pointer;display:flex;align-items:center;gap:.5rem;flex:1;justify-content:center}.calendar-title-container:hover .calendar-title{color:var(--accent-primary)}.calendar-title{font-family:var(--font-heading);font-size:2rem;font-weight:300;text-transform:uppercase;letter-spacing:3px;margin:0;color:var(--text-secondary);transition:color .2s;text-align:center;line-height:1.2}.month-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--border-medium);box-shadow:0 10px 30px #0000001a;border-radius:12px;padding:1rem;z-index:50;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;width:300px}.month-dropdown button{background:transparent;border:none;padding:.75rem;cursor:pointer;border-radius:8px;font-weight:600;color:var(--text-primary)}.month-dropdown button:hover{background:var(--bg-secondary);color:var(--accent-primary)}.calendar-nav-btn{background:transparent;border:1px solid var(--border-medium);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s;flex-shrink:0}.calendar-nav-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.calendar-nav-btn:disabled{opacity:.3;cursor:default;border-color:var(--border-light)}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);padding:1rem 0;border-bottom:1px solid var(--border-light)}.day-name{text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#adb5bd}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:140px;padding:.5rem;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);transition:background .2s;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:relative;overflow:hidden}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell:hover:not(.disabled){background:#fff9f7;cursor:pointer}.calendar-cell.selected{background:var(--accent-primary)!important;color:#fff!important}.date-number{font-size:1.8rem;font-weight:300;margin-bottom:.2rem;line-height:1}.calendar-cell.today .date-number{color:var(--accent-primary);font-weight:700}.calendar-cell.selected .date-number{color:#fff}.slot-count{font-size:.75rem;font-weight:600;color:var(--text-muted);margin-bottom:.1rem;text-align:center;line-height:1.2}.calendar-cell.selected .slot-count{color:#ffffffe6}.view-btn{font-size:.65rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--accent-primary);margin-top:.3rem;opacity:.8}.calendar-cell.selected .view-btn{color:#fff;opacity:1}.calendar-cell.disabled{opacity:.3;pointer-events:none;background:#fafafa}@media(max-width:768px){.container{padding:1rem .5rem}.heading-xl{font-size:1.5rem;margin-bottom:1.5rem}.calendar-header{padding:1rem .5rem}.calendar-title{font-size:1.2rem;letter-spacing:1px}.calendar-nav-btn{width:32px;height:32px}.day-name{font-size:.6rem;letter-spacing:0px}.calendar-cell{min-height:80px;padding:2px}.date-number{font-size:1.1rem;margin-bottom:0}.slot-count{font-size:.6rem;zoom:.9}.view-btn{display:none}.month-dropdown{width:90%;left:5%;transform:none;grid-template-columns:repeat(2,1fr)}}
