.cust-cal{width:100%}.cust-cal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cust-cal-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:600}.cust-cal-legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:16px;margin-bottom:14px;font-size:12px;display:flex}.cust-cal-legend span{align-items:center;gap:6px;display:inline-flex}.cust-cal-legend .leg{box-sizing:border-box;border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.leg-open{background:color-mix(in srgb, var(--color-accent) 20%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-accent) 45%, var(--color-border))}.leg-booked{background:color-mix(in srgb, var(--color-text-primary) 12%, var(--color-surface));border:1px solid var(--color-border-strong)}.leg-blocked{background:var(--color-text-primary);border:1px solid var(--color-text-primary)}.cal-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;display:grid!important}.cal-grid--labels{margin-bottom:6px}.cal-lbl{text-align:center;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:4px 0;font-size:11px;font-weight:500}.cal-pad{aspect-ratio:1;visibility:hidden;pointer-events:none;min-height:0}.cal-day{box-sizing:border-box;aspect-ratio:1;border:1px solid var(--color-border);width:100%;min-width:0;min-height:0;font:inherit;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;appearance:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:0;font-size:13px;line-height:1;transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;display:inline-flex}.cal-day .d{color:inherit;font-variant-numeric:tabular-nums}.cal-day--customer.is-open{background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border-color:color-mix(in srgb, var(--color-accent) 40%, var(--color-border));color:var(--color-text-primary)}.cal-day--customer.is-open .d{font-weight:600}.cal-day--customer.is-open:hover:not(.is-selected):not(:disabled){border-color:color-mix(in srgb, var(--color-accent) 60%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface))}.cal-day--customer.is-open.is-selected{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 28%, transparent);z-index:1;color:#fff;position:relative;transform:scale(1.04)}.cal-day--customer.is-open.is-selected .d{color:#fff;font-weight:700}.cal-day--customer.is-booked{background:color-mix(in srgb, var(--color-text-primary) 8%, var(--color-surface));opacity:.55;cursor:not-allowed}.cal-day--customer.is-blocked{background:var(--color-text-primary);border-color:var(--color-text-primary);cursor:not-allowed;color:color-mix(in srgb, var(--color-canvas) 45%, transparent)}.cal-day--customer.is-blocked .d{color:color-mix(in srgb, var(--color-canvas) 50%, transparent)}.cal-day--customer.is-past{opacity:.35;cursor:not-allowed}.cal-day--customer:disabled{pointer-events:none}.cust-cal-selected{color:var(--color-text-secondary);margin:14px 0 0;font-size:13px}.cust-cal-selected--on{background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-accent) 35%, var(--color-border));border-radius:8px;padding:10px 14px}.cust-cal-selected--on strong{color:var(--color-text-primary);font-weight:600}.cust-cal.is-loading{opacity:.88}.cust-cal .icon-btn{border:1px solid var(--color-border);background:var(--color-surface-2);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;appearance:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.cust-cal .icon-btn:hover{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.clix-modal--avail .clix-modal-body{padding:20px 24px 8px}.clix-modal--avail .cust-cal{background:var(--color-canvas);border:1px solid var(--color-border);border-radius:12px;padding:16px}@media (max-width:560px){.cal-grid{gap:4px!important}.cal-day{border-radius:6px;font-size:12px}.cust-cal-title{font-size:1rem}}
