
.v50-calendar-card{background:var(--vp-surface,#fff);border-radius:24px;padding:24px;box-shadow:0 18px 50px rgba(15,23,42,.09);margin-bottom:26px}.v50-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.v50-calendar-head small{font-weight:900;color:#0f9d91;letter-spacing:.08em}.v50-calendar-head h2{margin:5px 0 0;color:var(--vp-text,#172033)}.v50-month-nav,.v50-bottom-nav{display:flex;gap:8px}.v50-month-nav button,.v50-bottom-nav button{border:1px solid #d9e1ea;background:var(--vp-surface,#fff);color:var(--vp-text,#172033);border-radius:12px;padding:10px 14px;font-weight:800}.v50-calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v50-month{border:1px solid #e5eaf0;border-radius:20px;padding:18px}.v50-month h3{text-align:center;font-size:24px;margin:0 0 18px;color:var(--vp-text,#222)}.v50-week,.v50-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.v50-week b{text-align:center;color:var(--vp-muted,#667085);padding:8px 0}.v50-days button{min-height:72px;border:0;border-radius:10px;background:var(--vp-surface,#fff);color:var(--vp-text,#202633);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;box-shadow:inset 0 0 0 1px #edf0f4}.v50-days button em{font-style:normal;font-size:20px}.v50-days button small{font-size:11px;font-weight:800}.v50-days button.busy{background:#ff5964;color:#fff}.v50-days button.waiting{background:#ffb51b;color:#1d2738}.v50-days button.selected,.v50-days button.range{background:#19a7a0;color:#fff}.v50-days button.edge{background:linear-gradient(135deg,#fff 49%,#ff5964 50%);color:#172033}.v50-days button.past{opacity:.35}.v50-legend{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:20px 0}.v50-legend span{display:flex;align-items:center;gap:8px;font-weight:700}.v50-legend i{width:25px;height:25px;border:1px solid #667085;border-radius:4px;background:#fff}.v50-legend .is-busy{background:#ff5964}.v50-legend .is-wait{background:#ffb51b}.v50-legend .is-edge{background:linear-gradient(135deg,#fff 49%,#ff5964 50%)}.v50-bottom-nav{justify-content:space-between}.v50-callback-tab{position:fixed;right:0;top:48%;z-index:999;width:64px;min-height:210px;border:0;border-radius:18px 0 0 18px;background:#12a8dd;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer}.v50-callback-tab span{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:900;letter-spacing:.08em}.v50-callback-overlay{position:fixed;inset:0;z-index:10000;background:rgba(7,16,31,.58);opacity:0;transition:.2s}.v50-callback-overlay.open{opacity:1}.v50-callback-panel{position:absolute;right:0;top:0;height:100%;width:min(420px,92vw);padding:34px;background:var(--vp-surface,#fff);color:var(--vp-text,#172033);transform:translateX(100%);transition:.25s;overflow:auto}.v50-callback-overlay.open .v50-callback-panel{transform:none}.v50-callback-close{position:absolute;right:15px;top:12px;border:0;background:#eef2f6;border-radius:50%;width:40px;height:40px;font-size:26px}.v50-callback-panel label{display:block;font-weight:800;margin:14px 0}.v50-callback-panel input,.v50-callback-panel select,.v50-callback-panel textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #d6dde6;border-radius:12px;background:var(--vp-surface,#fff);color:var(--vp-text,#172033)}.v50-callback-panel form>button{width:100%;border:0;border-radius:13px;background:#0f9d91;color:#fff;padding:15px;font-weight:900}.v50-callback-result{padding-top:12px;font-weight:800}.theme-dark .v50-calendar-card,.theme-dark .v50-month{border-color:#29364a}.theme-dark .v50-days button{box-shadow:inset 0 0 0 1px #2b384b}@media(max-width:760px){.v50-calendar-card{padding:12px;border-radius:16px}.v50-calendar-head{align-items:flex-start}.v50-calendar-head h2{font-size:20px}.v50-month-nav [data-cal-today]{display:none}.v50-calendar-grid{grid-template-columns:1fr}.v50-calendar-grid .v50-month:nth-child(2){display:none}.v50-month{padding:10px}.v50-month h3{font-size:22px}.v50-week,.v50-days{gap:3px}.v50-days button{min-height:67px;border-radius:8px}.v50-days button em{font-size:18px}.v50-days button small{font-size:10px}.v50-callback-tab{width:52px;min-height:170px;top:44%}.v50-legend{justify-content:flex-start;font-size:13px;gap:10px}}
