.appointment-done,.appointment-cancelled{opacity:.7}.appointment-period{flex:10rem;justify-content:center;margin:0;display:flex;position:relative}.appointment-month{background:var(--surface,#fff);border:1px solid #dcdedb;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.appointment-weekday{text-align:center;text-transform:capitalize;background:#f4f5f3;padding:.5rem;font-size:.8rem;font-weight:600}.appointment-cell{border-top:1px solid #dcdedb;border-left:1px solid #dcdedb;align-content:start;gap:.2rem;min-width:0;min-height:6.5rem;padding:.3rem;display:grid}.appointment-cell:nth-child(7n+8){border-left:0}.appointment-cell-out{color:var(--muted);background:#fafaf9}.appointment-cell-today{background:#fbeff5}.appointment-cell-head{justify-content:space-between;align-items:center;display:flex}.appointment-daynumber,.appointment-add,.appointment-more,.appointment-colhead button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.appointment-daynumber{border-radius:6px;padding:.1rem .3rem;font-weight:600}.appointment-add{opacity:.45;border-radius:6px;place-items:center;width:1.4rem;height:1.4rem;display:grid}.appointment-add:hover,.appointment-add:focus-visible{opacity:1;background:#eceeea}.appointment-chip{border:0;border-left:3px solid var(--appt,#aeb2c4);background:var(--appt-bg,#f0f1f6);width:100%;min-width:0;color:inherit;font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;padding:.15rem .4rem;font-size:.78rem;display:block;overflow:hidden}.appointment-cancelled.appointment-chip{text-decoration:line-through}.appointment-more{text-align:left;color:var(--muted);font-size:.78rem}.appointment-scroll{background:var(--surface,#fff);border:1px solid #dcdedb;border-radius:12px;overflow-x:auto}.appointment-grid{grid-template-columns:3.2rem repeat(var(--days), minmax(0, 1fr));min-width:calc(3.2rem + var(--days) * 7rem);display:grid}.appointment-colhead{text-transform:capitalize;border-bottom:1px solid #dcdedb;border-left:1px solid #dcdedb;align-content:start;gap:.2rem;padding:.4rem;font-size:.85rem;font-weight:600;display:grid}.appointment-colhead>button:first-child{text-align:left;font-weight:600}.appointment-hours span{box-sizing:border-box;color:var(--muted);padding:.1rem .3rem;font-size:.72rem;display:block}.appointment-col{cursor:pointer;background-image:linear-gradient(#eceeea 1px,#0000 1px);background-size:100% 48px;border-left:1px solid #dcdedb;position:relative}.appointment-event{box-sizing:border-box;border:1px solid #fff;border-left:3px solid var(--appt,#aeb2c4);background:var(--appt-bg,#f0f1f6);color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:6px;padding:.2rem .35rem;font-size:.78rem;position:absolute;overflow:hidden}.appointment-event.appointment-cancelled{text-decoration:line-through}.appointment-event small{color:var(--muted);display:block}.appointment-weekend{background-color:#fafaf9}.appointment-resize{cursor:ns-resize;height:6px;position:absolute;left:0;right:0}.appointment-resize-start{top:0}.appointment-resize-end{bottom:0}.appointment-resize:hover{background:#b5527f59}.appointment-cell-today.appointment-weekend,.appointment-cell-today{background-color:#fbeff5}.appointment-drop{outline:2px dashed var(--purple);outline-offset:-2px}[data-dragging]{z-index:10;opacity:.85;cursor:grabbing;position:relative;box-shadow:0 6px 18px #0003}.appointment-event[data-dragging]{position:absolute}.appointment-now{pointer-events:none;z-index:2;background:#d03d3d;height:2px;position:absolute;left:0;right:0}.appointment-hint{color:var(--muted);margin:.6rem 0 0;font-size:.82rem;display:none}@media (hover:hover) and (pointer:fine){.appointment-hint{display:block}.appointment-chip,.appointment-event{-webkit-user-select:none;user-select:none}}@media (max-width:520px){.appointment-cell{min-height:3.6rem;padding:.15rem}.appointment-add{display:none}.appointment-cell .appointment-chip{background:var(--appt,#aeb2c4);border:0;border-radius:50%;width:.55rem;min-width:.55rem;height:.55rem;margin:0 .1rem;padding:0;font-size:0;display:inline-block}}[data-color=pink]{--appt:#b5527f;--appt-bg:#f6e4ec}[data-color=blue]{--appt:#3b7dd8;--appt-bg:#e3edfa}[data-color=green]{--appt:#3f9a62;--appt-bg:#e2f3e8}[data-color=orange]{--appt:#d9812b;--appt-bg:#fbeedd}[data-color=purple]{--appt:#7a5bc2;--appt-bg:#ece6f8}[data-color=gray]{--appt:#7d8480;--appt-bg:#eceeea}.appointment-swatch{background:var(--appt);cursor:pointer;border:2px solid #0000;border-radius:50%;width:1.5rem;height:1.5rem}td>.appointment-swatch{vertical-align:middle;cursor:default;width:.8rem;height:.8rem;margin-right:.5rem;display:inline-block}.appointment-swatch[aria-pressed=true]{border-color:#1d2420;box-shadow:inset 0 0 0 2px #fff}.appointment-period-button{color:inherit;font:inherit;text-transform:capitalize;background:0 0;border-radius:7px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:1.1rem;font-weight:600;display:inline-flex}.appointment-period-button:hover,.appointment-period-button[aria-expanded=true]{background:#f1eefb}.appointment-picker{z-index:20;background:#fff;border:1px solid #dcdde6;border-radius:10px;width:min(18rem,90vw);padding:.7rem;position:absolute;top:calc(100% + .3rem);box-shadow:0 8px 30px #26263d1f}.appointment-picker-year{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.appointment-picker-months{grid-template-columns:repeat(3,1fr);gap:.3rem;display:grid}.appointment-picker-months button{color:inherit;font:inherit;text-transform:capitalize;background:0 0;border-radius:6px;padding:.5rem;font-size:.85rem}.appointment-picker-months button:hover{background:#f1eefb}.appointment-picker-months button[aria-pressed=true]{background:var(--purple);color:#fff}.appointment-legend{flex-wrap:wrap;gap:.4rem 1rem;margin:.7rem 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.appointment-legend li{align-items:center;gap:.4rem;display:flex}.appointment-legend i{background:var(--appt,#aeb2c4);border-radius:50%;width:.7rem;height:.7rem}.appointment-notify{border-top:1px solid var(--ui-line,#e4e8ef);gap:8px;margin-top:16px;padding-top:16px;display:grid}.appointment-notify :is(h3,h4,p){margin:0}.appointment-notify>.button{justify-self:start}
