.cal2{--cal-booking:var(--primary);--cal-inquiry:oklch(72% .08 65);--cal-follow:oklch(60% .09 40);--cal-off:var(--muted-foreground);--cal-google:oklch(58% .12 250);background:var(--card);border:1px solid var(--border);box-shadow:0 18px 40px -28px color-mix(in oklab,var(--foreground) 35%,transparent);border-radius:10px;overflow:hidden}.cal2-bar{background:var(--secondary);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 24px;padding:24px 28px;display:grid}.cal2-title{min-width:0}.cal2-title .eyebrow{margin:0}.cal2-title h2{font-family:var(--font-editorial);letter-spacing:-.01em;margin:4px 0 0;font-size:clamp(2rem,3.4vw,2.8rem);font-weight:400;line-height:1}.cal2-nav{gap:8px;display:flex}.cal2-stats{background:var(--border);border:1px solid var(--border);border-radius:6px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.cal2-stats div{background:var(--card);min-width:0;padding:10px 14px}.cal2-stats dt{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);font-size:.72rem}.cal2-stats dd{font-family:var(--font-editorial);margin:2px 0 0;font-size:1.5rem;line-height:1.1}.cal2-body{grid-template-columns:minmax(0,1fr) 300px;display:grid}.cal2-month{min-width:0;padding:20px 24px 24px}.cal2-week,.cal2-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal2-week div{letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground);padding:0 8px 10px;font-size:.75rem;font-weight:600}.cal2-short{display:none}.cal2-grid{gap:6px}.cal2-cell{border:1px solid var(--border);background:var(--background);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;gap:6px;min-width:0;min-height:118px;padding:8px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex;position:relative}.cal2-cell:hover{border-color:color-mix(in oklab,var(--primary) 45%,var(--border))}.cal2-cell:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.cal2-pad{opacity:.5;cursor:default;background:0 0;border-style:dashed}.cal2-num{font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;width:28px;height:28px;font-size:.9rem;font-weight:600;display:grid}.cal2-cell.is-today .cal2-num{background:var(--primary);color:var(--primary-foreground)}.cal2-cell.is-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:color-mix(in oklab,var(--secondary) 55%,var(--background))}.cal2-chips{flex-direction:column;gap:4px;min-width:0;display:flex}.cal2-chip{white-space:nowrap;text-overflow:ellipsis;text-align:left;background:color-mix(in oklab,currentColor 12%,var(--card));max-width:100%;font-size:.76rem;line-height:1.3;font:inherit;cursor:inherit;border:0;border-left:3px solid;border-radius:3px;padding:3px 7px;font-size:.76rem;display:block;overflow:hidden}button.cal2-chip{cursor:pointer}.cal2-chip.cal2-booking{color:var(--cal-booking);font-weight:600}.cal2-chip.cal2-inquiry{color:color-mix(in oklab,var(--cal-inquiry) 70%,var(--foreground))}.cal2-chip.cal2-follow{color:var(--cal-follow)}.cal2-chip.cal2-off{color:var(--cal-off)}.cal2-chip.cal2-google{color:var(--cal-google)}.cal2-more{color:var(--muted-foreground);padding-left:4px;font-size:.72rem}.cal2-dots{justify-content:center;gap:3px;display:none}.cal2-dot{background:var(--cal-off);border-radius:999px;width:7px;height:7px;display:inline-block}.cal2-dot.cal2-booking{background:var(--cal-booking)}.cal2-dot.cal2-inquiry{background:var(--cal-inquiry)}.cal2-dot.cal2-follow{background:var(--cal-follow)}.cal2-dot.cal2-google{background:var(--cal-google)}.cal2-legend{color:var(--muted-foreground);flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:.82rem;display:flex}.cal2-legend span{align-items:center;gap:6px;display:inline-flex}.cal2-agenda{border-left:1px solid var(--border);background:color-mix(in oklab,var(--secondary) 35%,var(--card));min-width:0;padding:24px}.cal2-agenda .eyebrow{margin:0}.cal2-agenda h3{font-family:var(--font-editorial);margin:4px 0 18px;font-size:1.6rem;font-weight:400;line-height:1.15}.cal2-agenda ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.cal2-row>button,.cal2-row>div{text-align:left;background:var(--card);border:1px solid var(--border);border-left:4px solid var(--cal-off);width:100%;font:inherit;color:var(--foreground);border-radius:6px;gap:2px;padding:12px 14px;display:grid}.cal2-row>button{cursor:pointer}.cal2-row>button:hover{border-color:var(--primary)}.cal2-row.cal2-booking>*{border-left-color:var(--cal-booking)}.cal2-row.cal2-inquiry>*{border-left-color:var(--cal-inquiry)}.cal2-row.cal2-follow>*{border-left-color:var(--cal-follow)}.cal2-row.cal2-google>*{border-left-color:var(--cal-google)}.cal2-row strong{overflow-wrap:anywhere;font-weight:600}.cal2-row small{color:var(--muted-foreground);font-size:.8rem}.cal2-empty{color:var(--muted-foreground);font-style:italic}@media (width<=1100px){.cal2-body{grid-template-columns:minmax(0,1fr)}.cal2-agenda{border-left:0;border-top:1px solid var(--border)}.cal2-cell{min-height:96px}}@media (width<=640px){.cal2-bar{gap:12px;padding:18px 16px}.cal2-nav .cal2-today-label{display:none}.cal2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cal2-month{padding:14px 10px 16px}.cal2-long{display:none}.cal2-short{display:inline}.cal2-week div{text-align:center;padding:0 0 8px}.cal2-grid{gap:3px}.cal2-cell{border-radius:8px;align-items:center;gap:3px;min-height:52px;padding:4px 2px}.cal2-pad{border:0}.cal2-num{width:26px;height:26px;font-size:.85rem}.cal2-chips{display:none}.cal2-dots{display:flex}.cal2-legend{gap:6px 12px;font-size:.75rem}.cal2-agenda{padding:18px 16px}}@media (prefers-reduced-motion:reduce){.cal2-cell{transition:none}}.app-frame .cal2 .cal2-row strong{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.95rem;line-height:1.35;display:-webkit-box;overflow:hidden}@media (width<=640px){.app-frame .cal2 .cal2-bar{grid-template-columns:minmax(0,1fr)}.app-frame .cal2 .cal2-title h2{overflow-wrap:normal;word-break:keep-all;font-size:2.2rem}.cal2-nav{justify-content:space-between}.cal2-nav>:nth-child(2){flex:1}}
