.cal{width:calc(100% + 2rem);margin:-1.25rem -1rem}@media (min-width:768px){.cal{width:calc(100% + 3rem);margin:-1.5rem}}@media (min-width:1280px){.cal{width:calc(100% + 4rem);margin:-2rem}}.cal .cal-page{flex-direction:column;min-height:calc(100dvh - 4rem);display:flex;overflow:hidden}.cal .cal-topbar{background:var(--surface-card);border-bottom:1px solid var(--border-subtle);flex:none;align-items:center;gap:10px;padding:7px 18px;display:flex}.cal .cal-topbar__av{border-radius:var(--radius-sm);background:var(--accent-primary);color:#fff;width:28px;height:28px;font-family:var(--font-heading);font-weight:700;font-size:var(--text-xs);flex:none;place-items:center;display:grid;overflow:hidden}.cal .cal-topbar__av img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.cal .cal-topbar__name{font-family:var(--font-heading);font-weight:700;font-size:var(--text-base);letter-spacing:-.01em}.cal .cal-topbar__sub{font-size:var(--text-xs);color:var(--text-muted)}.cal .cal-topbar__spacer{flex:1}.cal .cal-header{background:var(--surface-card);border-bottom:1px solid var(--border-subtle);flex:none;padding:8px 18px}.cal .cal-header__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.cal .cal-header__title h1{font-size:var(--text-xl);letter-spacing:-.018em;color:var(--text-primary);margin:0}.cal .cal-header__title p{display:none}.cal .cal-header__right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal .cal-header__camp{align-items:center;gap:6px;display:flex}.cal .cal-header__camp label{font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-weight:700}.cal .cal-header__select{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);min-width:200px;height:34px;font:inherit;font-size:var(--text-sm);color:var(--text-primary);padding:0 10px}.cal .cal-filters{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0 0;display:flex}.cal .cfil{border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--surface-card);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;transition:var(--transition-control);align-items:center;gap:5px;padding:4px 11px;display:inline-flex}.cal .cfil svg{flex-shrink:0;width:12px;height:12px}.cal .cfil:hover{border-color:var(--border-strong)}.cal .cfil.is-on{background:var(--accent-primary-subtle);border-color:var(--accent-primary-border);color:var(--accent-primary)}.cal .cfil-sep{background:var(--border-default);flex-shrink:0;width:1px;height:14px;display:inline-block}.cal .cal-nav{background:var(--surface-card);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:7px 18px;display:flex}.cal .cal-nav__arrows{align-items:center;gap:4px;display:flex}.cal .cal-nav__arr{border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);min-width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-control);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);place-items:center;padding:0 8px;display:grid}.cal .cal-nav__arr:hover{background:var(--surface-hover);border-color:var(--border-strong)}.cal .cal-nav__arr svg{width:15px;height:15px}.cal .cal-nav__label{font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);letter-spacing:-.016em;min-width:168px;color:var(--text-primary)}.cal .cal-nav__spacer{flex:1}.cal .cal-nav__stats{flex-wrap:wrap;align-items:center;gap:14px;margin-right:14px;display:flex}.cal .cal-nav__stat{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:5px;display:flex}.cal .cal-nav__stat-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.cal .view-seg{background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.cal .view-seg button{font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-control);white-space:nowrap;background:0 0;border:none;align-items:center;gap:5px;padding:5px 13px;display:inline-flex}.cal .view-seg button svg{width:13px;height:13px}.cal .view-seg button.is-on{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.cal .cal-body{flex:1;min-height:0;position:relative;overflow:hidden}.cal .cal-body__loader{z-index:5;background:color-mix(in srgb,var(--surface-card)88%,transparent);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cal .cal-body__alert{border-radius:var(--radius-md);font-size:var(--text-xs);margin:10px 18px 0;padding:10px 12px;line-height:1.45}.cal .cal-month{border-left:1px solid var(--border-subtle);grid-template-columns:repeat(7,1fr);height:100%;display:grid}.cal .cal-month__dow{letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle);text-align:center;justify-content:center;align-items:center;height:26px;padding:0 6px;font-size:10px;font-weight:700;display:flex}.cal .cal-cell{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:var(--surface-card);min-height:0;transition:background var(--duration-fast)var(--ease-standard);flex-direction:column;gap:2px;padding:4px 5px;display:flex;overflow:hidden}.cal .cal-cell:hover{background:var(--surface-hover)}.cal .cal-cell.is-muted{background:var(--surface-subtle)}.cal .cal-cell.is-muted .cal-cell__n{color:var(--text-disabled)}.cal .cal-cell.is-today{background:var(--accent-primary-subtle)}.cal .cal-cell.is-today .cal-cell__n{color:var(--accent-primary);font-weight:800}.cal .cal-cell__n{font-family:var(--font-mono);font-size:11px;font-weight:var(--weight-semibold);color:var(--text-secondary);text-align:right;flex:none;padding:1px 3px;line-height:1}.cal .cal-cell.is-today .cal-cell__n span{background:var(--accent-primary);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:inline-grid}.cal .cal-events{flex-direction:column;flex:1;gap:1px;display:flex;overflow:hidden}.cal .ev-chip{cursor:pointer;transition:filter var(--duration-fast)var(--ease-standard);text-align:left;min-width:0;font:inherit;border-left:2px solid;border-radius:3px;align-items:center;gap:4px;width:100%;padding:1px 5px;display:flex}.cal .ev-chip:hover{filter:brightness(.93)}.cal .ev-chip__ico{border-radius:2px;flex:none;place-items:center;width:10px;height:10px;display:grid;overflow:hidden}.cal .ev-chip__ico svg{color:#fff;width:7px;height:7px}.cal .ev-chip__t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:10px;font-weight:600;line-height:1.3;overflow:hidden}.cal .ev-more{color:var(--text-muted);cursor:pointer;font-size:10px;font-weight:700;font:inherit;text-align:left;background:0 0;border:none;padding:1px 5px}.cal .ev-more:hover{color:var(--accent-primary)}.cal .cal-week{flex-direction:column;height:100%;display:flex;overflow:auto}.cal .cal-week__head{border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle);grid-template-columns:52px repeat(7,1fr);display:grid}.cal .cal-week__head-gutter{border-right:1px solid var(--border-subtle)}.cal .cal-week__head-day{text-align:center;border-right:1px solid var(--border-subtle);padding:8px 10px}.cal .cal-week__dow{font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);font-weight:700}.cal .cal-week__date{font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);letter-spacing:-.015em;color:var(--text-primary);margin-top:2px}.cal .cal-week__date.is-today{color:var(--accent-primary)}.cal .cal-week__date.is-today span{background:var(--accent-primary);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:inline-grid}.cal .cal-week__body{flex:1;grid-template-columns:52px repeat(7,1fr);display:grid}.cal .cal-week__time{font-family:var(--font-mono);color:var(--text-disabled);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-align:right;background:var(--surface-subtle);justify-content:flex-end;align-items:flex-start;height:56px;padding:4px 6px;font-size:10px;display:flex}.cal .cal-week__slot{border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);flex-direction:column;gap:2px;height:56px;padding:2px 4px;display:flex}.cal .cal-week__slot:hover{background:var(--surface-hover)}.cal .wk-ev{border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:inherit;border:none;border-left:3px solid;align-items:center;gap:5px;width:100%;padding:3px 6px;display:flex}.cal .wk-ev__t{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:600;overflow:hidden}.cal .wk-ev__time{font-family:var(--font-mono);opacity:.75;flex:none;font-size:10px}.cal .cal-agenda{flex-direction:column;gap:20px;height:100%;padding:18px 22px;display:flex;overflow-y:auto}.cal .ag-group{flex-direction:column;gap:8px;display:flex}.cal .ag-date{font-family:var(--font-heading);font-weight:700;font-size:var(--text-md);letter-spacing:-.012em;color:var(--text-primary);align-items:center;gap:9px;display:flex}.cal .ag-date__badge{border-radius:var(--radius-full);background:var(--accent-primary);color:#fff;font-size:var(--text-2xs);align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.cal .ag-date__line{background:var(--border-subtle);flex:1;height:1px}.cal .ag-ev{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);cursor:pointer;transition:var(--transition-control);text-align:left;font:inherit;border-left-width:4px;align-items:center;gap:14px;width:100%;padding:12px 16px;display:flex}.cal .ag-ev:hover{box-shadow:var(--shadow-sm);border-right-color:var(--border-strong);border-top-color:var(--border-strong);border-bottom-color:var(--border-strong)}.cal .ag-ev__ico{border-radius:var(--radius-md);flex:none;place-items:center;width:36px;height:36px;display:grid}.cal .ag-ev__ico svg{width:16px;height:16px}.cal .ag-ev__id{flex:1;min-width:0}.cal .ag-ev__title{font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal .ag-ev__meta{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;display:flex}.cal .ag-ev__meta svg{flex-shrink:0;width:12px;height:12px}.cal .ag-ev__time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);flex:none}.cal .ag-ev__right{flex:none;align-items:center;gap:8px;display:flex}.cal .ev-popup{z-index:200;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:300px;box-shadow:var(--shadow-xl);animation:cal-popup-in .12s var(--ease-standard);flex-direction:column;gap:0;display:flex;position:fixed;overflow:hidden}@keyframes cal-popup-in{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:none}}.cal .ev-popup__bar{height:3px}.cal .ev-popup__head{align-items:flex-start;gap:10px;padding:12px 12px 10px;display:flex}.cal .ev-popup__ico{border-radius:var(--radius-md);flex:none;place-items:center;width:32px;height:32px;display:grid}.cal .ev-popup__ico svg{width:15px;height:15px}.cal .ev-popup__id{flex:1;min-width:0}.cal .ev-popup__title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-base);letter-spacing:-.01em;color:var(--text-primary);line-height:1.3}.cal .ev-popup__ch{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.cal .ev-popup__close{border-radius:var(--radius-md);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;display:grid}.cal .ev-popup__close:hover{background:var(--surface-hover)}.cal .ev-popup__close svg{width:13px;height:13px}.cal .ev-popup__meta{flex-wrap:wrap;align-items:center;gap:7px;padding:0 12px 10px;display:flex}.cal .ev-popup__meta-item{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.cal .ev-popup__meta-item svg{width:12px;height:12px}.cal .ev-popup__preview{border-radius:var(--radius-md);background:var(--surface-subtle);border:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-secondary);margin:0 12px 10px;padding:9px 10px;font-style:italic;line-height:1.55}.cal .ev-popup__foot{border-top:1px solid var(--border-subtle);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;display:flex}.cal .wiz-steps{align-items:center;gap:0;margin-bottom:18px;display:flex}.cal .wiz-step{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.cal .wiz-step__num{width:26px;height:26px;font-size:var(--text-sm);border:2px solid var(--border-default);color:var(--text-muted);background:var(--surface-card);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.cal .wiz-step.is-done .wiz-step__num{background:var(--status-success);border-color:var(--status-success);color:#fff}.cal .wiz-step.is-active .wiz-step__num{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.cal .wiz-step__label{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;font-weight:600}.cal .wiz-step.is-active .wiz-step__label{color:var(--text-primary)}.cal .wiz-step.is-done .wiz-step__label{color:var(--status-success)}.cal .wiz-line{background:var(--border-subtle);flex:1;min-width:8px;height:2px;margin:0 8px}.cal .wiz-line.is-done{background:var(--status-success)}.cal .wiz-body{flex-direction:column;gap:14px;display:flex}.cal .wiz-opts{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.cal .wiz-opt{border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;background:var(--surface-card);transition:var(--transition-control);text-align:left;font:inherit;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.cal .wiz-opt:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.cal .wiz-opt.is-on{border-color:var(--accent-primary);background:var(--accent-primary-subtle)}.cal .wiz-opt__ico{border-radius:var(--radius-md);background:var(--surface-muted);width:34px;height:34px;color:var(--text-secondary);place-items:center;display:grid}.cal .wiz-opt.is-on .wiz-opt__ico{background:var(--accent-primary);color:#fff}.cal .wiz-opt__ico svg{width:16px;height:16px}.cal .wiz-opt__t{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.cal .wiz-opt__s{font-size:var(--text-xs);color:var(--text-muted);line-height:1.4}.cal .wiz-ch-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cal .wiz-ch{border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-control);background:var(--surface-card);font:inherit;text-align:left;align-items:center;gap:9px;padding:10px 12px;display:flex}.cal .wiz-ch:hover{border-color:var(--border-strong)}.cal .wiz-ch.is-on{border-color:var(--accent-primary);background:var(--accent-primary-subtle)}.cal .wiz-ch__ico{border-radius:7px;flex:none;place-items:center;width:30px;height:30px;display:grid}.cal .wiz-ch__ico svg{color:#fff;width:14px;height:14px}.cal .wiz-ch__name{font-size:var(--text-sm);color:var(--text-primary);flex:1;font-weight:600}.cal .wiz-when{flex-direction:column;gap:14px;display:flex}.cal .wiz-field label{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:6px;font-weight:600;display:block}.cal .wiz-ai-slots{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cal .wiz-slot{border:1px solid var(--accent-ai-border);background:var(--accent-ai-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-control);font:inherit;text-align:left;align-items:center;gap:9px;padding:9px 12px;display:flex}.cal .wiz-slot:hover,.cal .wiz-slot.is-on{border-color:var(--accent-ai);background:var(--accent-ai-subtle);box-shadow:0 0 0 2px var(--accent-ai-subtle)}.cal .wiz-slot svg{width:13px;height:13px;color:var(--accent-ai);flex:none}.cal .wiz-slot__label{font-size:var(--text-sm);color:var(--accent-ai-text);font-weight:600}.cal .wiz-slot__sub{font-size:var(--text-xs);color:var(--text-muted)}.cal .wiz-review{flex-direction:column;gap:12px;display:flex}.cal .wiz-review-card{border-radius:var(--radius-md);background:var(--surface-subtle);border:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:14px;display:flex}.cal .wiz-review-row{align-items:center;gap:10px;display:flex}.cal .wiz-review-row svg{width:14px;height:14px;color:var(--text-muted);flex:none}.cal .wiz-review-row span{font-size:var(--text-sm);color:var(--text-secondary)}.cal .wiz-review-row b{color:var(--text-primary);font-weight:600}.cal .wiz-hint{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}@media (max-width:760px){.cal .wiz-opts,.cal .wiz-ch-grid,.cal .wiz-ai-slots{grid-template-columns:1fr}.cal .cal-week__head,.cal .cal-week__body{grid-template-columns:40px repeat(7,1fr)}.cal .cal-nav__label{min-width:0;font-size:var(--text-base)}}@media (prefers-reduced-motion:reduce){.cal .ev-popup{animation:none}}
