@media(max-width:639px){.cal-toolbar-row1,.cal-toolbar-row2{width:100%}}@media(min-width:640px){.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cal-toolbar-row1{flex:1}.cal-toolbar-row2{flex:none}.cal-toolbar-date{order:0}}.cal-grid-container,.cal-grid-scroll{position:relative}.cal-row{height:32px;border-bottom:1px solid var(--color-border)}.cal-row-outside{opacity:.35}.cal-row-closed{height:100%;display:flex;align-items:center;justify-content:center}.cal-appt{position:absolute;left:2px;right:2px;border-radius:var(--radius-sm);padding:4px 8px;overflow:hidden;cursor:pointer;transition:box-shadow .15s ease,transform .1s ease;z-index:1;font-size:12px;line-height:1.3}.cal-appt:hover{box-shadow:0 2px 8px #0000004d;transform:translateY(-1px);z-index:2}.cal-appt--open{background:#14532d;border-left:3px solid #22c55e;color:#fff}.cal-appt--closed{background:#c4b5fd;border-left:3px solid #dbd3fc;color:#000}.cal-appt--cancelled{background:#4a1515;border-left:3px solid #991b1b;color:#fff}.cal-appt--cancelled .cal-appt-name{text-decoration:line-through}.cal-appt--cancelled:hover{background:#5c1a1a;transform:none;box-shadow:none}.cal-appt--conflict{outline:2px solid var(--color-error);outline-offset:-1px;animation:conflictPulse 1.5s ease-in-out infinite}@keyframes conflictPulse{0%,to{outline-color:var(--color-error)}50%{outline-color:transparent}}.cal-empty-cell{cursor:pointer;transition:background .1s ease}.cal-empty-cell:hover{background:#d4af370f}.cal-skeleton-row{height:32px;border-bottom:1px solid var(--color-border);position:relative}.cal-skeleton-appt{position:absolute;left:4px;right:4px;border-radius:var(--radius-sm);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.cal-toast{animation:toastIn .3s ease-out}@keyframes toastIn{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.cal-dropdown{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);width:340px;z-index:50;padding:20px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 12px 40px #00000073,0 0 0 1px #ffffff0a}.cal-dropdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-dropdown-title{font-size:15px;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.cal-dropdown-nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.cal-dropdown-nav:hover{background:var(--color-surface-hover);color:var(--color-text)}.cal-dropdown-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-dropdown-weekdays span{text-align:center;font-size:12px;font-weight:600;color:var(--color-text-muted);padding:6px 0;text-transform:uppercase;letter-spacing:.04em}.cal-dropdown-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-dropdown-day{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto;border-radius:var(--radius-md);border:none;background:transparent;color:var(--color-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,transform .1s}.cal-dropdown-day:hover{background:var(--color-surface-hover);transform:scale(1.08)}.cal-dropdown-day--today{color:var(--color-gold);font-weight:700}.cal-dropdown-day--today:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--color-gold)}.cal-dropdown-day--selected{background:linear-gradient(135deg,var(--color-gold),#b8942a)!important;color:#0f172a!important;font-weight:700;box-shadow:0 2px 8px #d4af374d}.cal-dropdown-day--selected:hover{background:linear-gradient(135deg,var(--color-gold-hover),#a88525)!important;color:#0f172a!important}.cal-dropdown-day--selected:after{display:none}.cal-appt--dragging{box-shadow:0 8px 32px #00000080;opacity:.95;cursor:grabbing!important;transform:none!important}.cal-drop-active{background:#d4af3726!important;transition:background .15s ease}.cal-appt-drag-handle{opacity:.35;transition:opacity .15s ease}.cal-appt:hover .cal-appt-drag-handle{opacity:.7}@media(max-width:1023px){.cal-col-header{min-width:120px!important}}.cal-appt--break{background:#ff8e8e;border-left:3px solid #ffd2d2;color:#000}.cal-appt--break:hover{background:#ff8e8e;box-shadow:0 2px 8px #0000004d;transform:translateY(-1px)}@keyframes fabIn{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:639px){.cal-grid-scroll{height:calc(100vh - 130px)!important}}.cal-multi-wrapper{display:flex;min-height:inherit;overflow:visible}.cal-multi-time-col{position:sticky;left:0;z-index:5;width:56px;min-width:56px;flex-shrink:0;background:var(--color-bg, #0f172a);border-right:1px solid var(--color-border)}.cal-multi-time-cell{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;font-size:11px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.cal-multi-container{display:flex;scroll-snap-type:x mandatory;flex:1}.cal-multi-column{flex:1;min-width:0;scroll-snap-align:start;border-right:1px solid var(--color-border);position:relative}.cal-multi-column:last-child{border-right:none}.cal-multi-header{position:sticky;top:0;z-index:12;padding:8px 12px;text-align:center;font-size:13px;font-weight:600;color:var(--color-gold);background:var(--color-surface);border-bottom:1px solid var(--color-border)}@media(max-width:767px){.cal-multi-column{min-width:100%;flex:none}.cal-multi-time-col{display:none}}
