.kalender-block{--kal-sidebar-w:280px;--kal-gap:24px;--kal-radius:12px;--kal-radius-sm:8px;--kal-radius-lg:16px;--kal-shadow-sm:0 1px 2px 0 #0000000d;--kal-shadow:0 1px 3px 0 #00000014, 0 1px 2px -1px #00000014;--kal-shadow-md:0 4px 12px -2px #00000014;--kal-shadow-lg:0 16px 40px -12px #00000026;color:hsl(var(--foreground));font-size:15px;line-height:1.55}.kalender-block *{box-sizing:border-box}.kalender-block button{font:inherit;color:inherit;cursor:pointer}.kalender-block .kalender-container{max-width:1280px;margin:0 auto;padding:0 24px}.kalender-block .page-head{border-bottom:1px solid hsl(var(--border));background:linear-gradient(#f5faf7 0%,#fff 100%);padding:32px 0 28px}.kalender-block .breadcrumb{color:hsl(var(--muted-foreground));align-items:center;gap:8px;margin-bottom:12px;font-size:13px;display:flex}.kalender-block .breadcrumb a{color:hsl(var(--muted-foreground));text-decoration:none}.kalender-block .breadcrumb a:hover{color:hsl(var(--primary))}.kalender-block .page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.kalender-block .page-head h1{letter-spacing:-.01em;font-size:max(28px,min(4vw,40px));font-weight:700;font-family:var(--font-display)}.kalender-block .page-sub{color:hsl(var(--muted-foreground));max-width:60ch;margin:8px 0 0}.kalender-block .page-head-actions{gap:10px;display:flex}.kalender-block .kal-btn{font-family:var(--font-display);border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.kalender-block .kal-btn-primary{background:hsl(var(--primary));color:#fff}.kalender-block .kal-btn-primary:hover{background:#257e4a}.kalender-block .kal-btn-ghost{color:hsl(var(--foreground));border-color:hsl(var(--border));background:#fff}.kalender-block .kal-btn-ghost:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}@media (min-width:901px){.kalender-block .kal-btn.kal-btn-ghost{display:none}}.kalender-block .kalender-body{background:hsl(var(--muted));min-height:60vh;padding:32px 0 64px}.kalender-block .kalender-grid{grid-template-columns:var(--kal-sidebar-w) 1fr;gap:var(--kal-gap);align-items:flex-start;display:grid}@media (max-width:900px){.kalender-block .kalender-grid{grid-template-columns:1fr}.kalender-block .sidebar-wrap{display:none}}.kalender-block .filter-sidebar{border-radius:var(--kal-radius);border:1px solid hsl(var(--border));box-shadow:var(--kal-shadow-sm);background:#fff;padding:20px;position:sticky;top:16px}.kalender-block .filter-sidebar-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.kalender-block .filter-title{font-size:18px;font-weight:600;font-family:var(--font-display)}.kalender-block .filter-close{color:hsl(var(--muted-foreground));background:0 0;border:0;border-radius:6px;padding:4px 8px;font-size:20px}.kalender-block .filter-close:hover{background:hsl(var(--muted))}.kalender-block .filter-actions{color:hsl(var(--muted-foreground));margin-bottom:18px;font-size:13px}.kalender-block .filter-link{color:hsl(var(--primary));background:0 0;border:0;padding:2px 4px;font-weight:600}.kalender-block .filter-link:hover{text-decoration:underline}.kalender-block .filter-sep{margin:0 4px}.kalender-block .filter-group{margin-bottom:18px}.kalender-block .filter-group-head{letter-spacing:.06em;text-transform:uppercase;width:100%;color:hsl(var(--muted-foreground));border:0;border-bottom:1px solid hsl(var(--border));background:0 0;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 0 8px;font-size:11px;font-weight:700;display:flex}.kalender-block .filter-group-head:hover{color:hsl(var(--primary))}.kalender-block .filter-group-state{background:hsl(var(--muted));border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.kalender-block .filter-group-state.all{color:hsl(var(--primary));background:#dff6e9}.kalender-block .filter-group-state.some{color:#986e1b;background:#f9efdc}.kalender-block .filter-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.kalender-block .filter-chip{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:14px;transition:background .12s;display:flex;position:relative}.kalender-block .filter-chip:hover,.kalender-block .filter-chip.on{background:hsl(var(--muted))}.kalender-block .filter-chip.on .filter-label{color:hsl(var(--foreground))}.kalender-block .filter-chip:not(.on){opacity:.55}.kalender-block .filter-chip:not(.on) .filter-label{text-decoration:line-through;-webkit-text-decoration-color:hsl(var(--border));text-decoration-color:hsl(var(--border))}.kalender-block .filter-dot{background:var(--chip-color);width:12px;height:12px;box-shadow:0 0 0 2px color-mix(in srgb, var(--chip-color) 18%, transparent);border-radius:4px;flex-shrink:0}.kalender-block .filter-label{flex:1}.kalender-block .filter-check{color:hsl(var(--primary));font-size:13px;font-weight:700}.kalender-block .filter-foot{border-top:1px solid hsl(var(--border));margin-top:24px;padding-top:18px}.kalender-block .ics-button{background:hsl(var(--primary));color:#fff;border-radius:10px;align-items:center;gap:10px;width:100%;padding:12px 14px;text-decoration:none;display:flex}.kalender-block .ics-button:hover{filter:brightness(1.05)}.kalender-block .ics-button-icon{font-size:22px}.kalender-block .ics-button strong{font-family:var(--font-display);font-size:14px;font-weight:600;display:block}.kalender-block .ics-button small{opacity:.85;font-size:12px;display:block}.kalender-block .ics-link{text-align:center;color:hsl(var(--muted-foreground));margin-top:10px;font-size:12px;text-decoration:none;display:block}.kalender-block .ics-link:hover{color:hsl(var(--primary));text-decoration:underline}.kalender-block .kalender-main{flex-direction:column;gap:24px;min-width:0;display:flex}.kalender-block .kalender-toolbar{border-radius:var(--kal-radius);border:1px solid hsl(var(--border));box-shadow:var(--kal-shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.kalender-block .toolbar-nav{align-items:center;gap:4px;display:flex}.kalender-block .icon-btn{border:1px solid hsl(var(--border));width:36px;height:36px;color:hsl(var(--foreground));background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex}.kalender-block .icon-btn:hover{background:hsl(var(--muted));border-color:hsl(var(--primary));color:hsl(var(--primary))}.kalender-block .today-btn{border:1px solid hsl(var(--border));font-family:var(--font-display);background:#fff;border-radius:8px;margin:0 6px;padding:8px 14px;font-size:13px;font-weight:600}.kalender-block .today-btn:hover{background:hsl(var(--muted))}.kalender-block .toolbar-title{font-size:22px;font-weight:600;font-family:var(--font-display);letter-spacing:-.01em;margin:0}.kalender-block .toolbar-views{background:hsl(var(--muted));border-radius:10px;gap:2px;padding:3px;display:flex}.kalender-block .view-btn{font-size:13px;font-weight:600;font-family:var(--font-display);color:hsl(var(--muted-foreground));background:0 0;border:0;border-radius:7px;padding:6px 14px}.kalender-block .view-btn.on{color:hsl(var(--foreground));box-shadow:var(--kal-shadow-sm);background:#fff}.kalender-block .kalender-canvas{width:100%;display:block}.kalender-block .month-grid{border-radius:var(--kal-radius);border:1px solid hsl(var(--border));box-shadow:var(--kal-shadow-sm);background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.kalender-block .month-head-cell{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:hsl(var(--muted-foreground));text-align:left;background:hsl(var(--muted));border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));padding:10px 12px;font-size:12px;font-weight:600}.kalender-block .month-head-cell:nth-child(7){border-right:0}.kalender-block .day-cell{border:0;border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));text-align:left;background:#fff;flex-direction:column;gap:4px;min-height:116px;padding:6px 8px 8px;transition:background .12s;display:flex;position:relative}.kalender-block.density-compact .day-cell{min-height:96px}.kalender-block.density-airy .day-cell{min-height:140px}.kalender-block .day-cell:nth-child(7n){border-right:0}.kalender-block .day-cell:hover{background:#f8fcfa}.kalender-block .day-cell.out{background:#f9fafa}.kalender-block .day-cell.out .day-num span{color:hsl(var(--muted-foreground));opacity:.55}.kalender-block .day-cell.weekend:not(.out){background:#f9fafa}.kalender-block .day-cell.selected{box-shadow:inset 0 0 0 2px hsl(var(--primary));z-index:1;background:#effaf4}.kalender-block .day-cell.today .day-num span:first-child{background:hsl(var(--primary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:inline-flex}.kalender-block.no-weekend .day-cell:nth-child(7n-1),.kalender-block.no-weekend .day-cell:nth-child(7n),.kalender-block.no-weekend .month-head-cell:nth-child(6),.kalender-block.no-weekend .month-head-cell:nth-child(7){display:none}.kalender-block.no-weekend .month-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kalender-block .day-num{font-family:var(--font-display);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.kalender-block .day-num span:first-child{color:hsl(var(--foreground))}.kalender-block .day-num-today{text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--primary));font-size:10px;font-weight:700}.kalender-block .day-events{flex-direction:column;flex:1;gap:3px;min-width:0;margin-top:2px;display:flex}.kalender-block .event-chip{background:var(--ev-bg);color:var(--ev-fg);border-left:3px solid var(--ev-color);text-align:left;border-radius:5px;align-items:baseline;gap:5px;min-width:0;padding:3px 7px;font-size:11.5px;font-weight:500;line-height:1.3;display:flex}.kalender-block .event-chip .event-time{font-variant-numeric:tabular-nums;color:var(--ev-fg);flex-shrink:0;font-size:10.5px;font-weight:700}.kalender-block .event-chip .event-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.kalender-block .event-chip.allday{background:var(--ev-color);color:#fff;border-left:0}.kalender-block .event-chip.allday .event-time{color:#ffffffd9}.kalender-block .event-chip.multi{border-left:0;border-radius:0}.kalender-block .event-chip.multi.start{border-top-left-radius:5px;border-bottom-left-radius:5px;padding-left:8px}.kalender-block .event-chip.multi.end{border-top-right-radius:5px;border-bottom-right-radius:5px}.kalender-block .event-chip.multi:not(.start) .event-title:before{content:"↳ ";opacity:.7}.kalender-block .event-more{color:hsl(var(--muted-foreground));padding:1px 6px;font-size:11px;font-weight:600}.kalender-block .event-popover{border:1px solid hsl(var(--border));width:280px;box-shadow:var(--kal-shadow-lg);z-index:80;pointer-events:none;border-left:4px solid var(--ev-color);background:#fff;border-radius:10px;padding:14px 16px;animation:.12s ease-out kal-popfade;position:fixed}@keyframes kal-popfade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.kalender-block .event-popover-cat{letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--muted-foreground));align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;display:inline-flex}.kalender-block .event-popover-dot{border-radius:50%;width:8px;height:8px}.kalender-block .event-popover-title{font-family:var(--font-display);color:hsl(var(--foreground));margin:0 0 8px;font-size:15px;font-weight:600}.kalender-block .event-popover-meta{color:hsl(var(--muted-foreground));flex-direction:column;gap:4px;font-size:13px;display:flex}.kalender-block .event-popover-meta>div{align-items:center;gap:6px;display:flex}.kalender-block .upcoming{border-radius:var(--kal-radius);border:1px solid hsl(var(--border));box-shadow:var(--kal-shadow-sm);background:#fff;padding:20px}.kalender-block .upcoming-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.kalender-block .upcoming-head h3{font-size:18px;font-weight:600;font-family:var(--font-display);margin:0}.kalender-block .upcoming-count{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.kalender-block .upcoming-empty{color:hsl(var(--muted-foreground));padding:12px 0;font-size:14px}.kalender-block .upcoming-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.kalender-block .upcoming-item{text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .12s;display:flex}.kalender-block .upcoming-item:hover{background:hsl(var(--muted))}.kalender-block .upcoming-date{text-align:center;width:50px;font-family:var(--font-display);flex-shrink:0}.kalender-block .upcoming-day{color:hsl(var(--foreground));font-size:22px;font-weight:700;line-height:1}.kalender-block .upcoming-month{text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin-top:2px;font-size:11px}.kalender-block .upcoming-bar{background:var(--ev-color);border-radius:2px;align-self:stretch;width:3px}.kalender-block .upcoming-body{flex:1;min-width:0}.kalender-block .upcoming-title{font-size:14px;font-weight:600}.kalender-block .upcoming-meta{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;font-size:12px;display:flex}.kalender-block .upcoming-cat{align-items:center;gap:5px;font-weight:600;display:inline-flex}.kalender-block .upcoming-cat-dot{border-radius:50%;width:8px;height:8px}.kalender-block .kalender-list{border-radius:var(--kal-radius);border:1px solid hsl(var(--border));box-shadow:var(--kal-shadow-sm);background:#fff;padding:8px}.kalender-block .listview-empty{text-align:center;color:hsl(var(--muted-foreground));padding:32px}.kalender-block .listview-group{border-bottom:1px solid hsl(var(--border));grid-template-columns:110px 1fr;gap:16px;padding:16px 12px;display:grid}.kalender-block .listview-group:last-child{border-bottom:0}.kalender-block .listview-date{align-items:center;gap:10px;display:flex}.kalender-block .listview-date-day{font-family:var(--font-display);background:hsl(var(--muted));width:44px;height:44px;color:hsl(var(--foreground));border-radius:10px;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:inline-flex}.kalender-block .listview-group.today .listview-date-day{background:hsl(var(--primary));color:#fff}.kalender-block .listview-date-info{font-size:12px}.kalender-block .listview-date-info>div:first-child{color:hsl(var(--foreground));font-weight:600}.kalender-block .listview-date-month{color:hsl(var(--muted-foreground))}.kalender-block .listview-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.kalender-block .listview-item{background:var(--ev-bg);text-align:left;border:0;border-radius:8px;align-items:stretch;gap:12px;width:100%;padding:0;display:flex;overflow:hidden}.kalender-block .listview-item:hover{filter:brightness(.97)}.kalender-block .listview-item-bar{background:var(--ev-color);flex-shrink:0;width:4px}.kalender-block .listview-item-body{flex:1;min-width:0;padding:10px 14px}.kalender-block .listview-item-title{font-size:14.5px;font-weight:600}.kalender-block .listview-item-meta{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:12px;display:flex}.kalender-block .listview-item-cat{align-items:center;gap:5px;font-weight:600;display:inline-flex}.kalender-block .listview-item-cat .dot{background:var(--c);border-radius:50%;width:8px;height:8px}@media (max-width:600px){.kalender-block .listview-group{grid-template-columns:1fr;gap:8px}}.kalender-block .mobile-drawer{z-index:100;background:#0006;justify-content:flex-start;animation:.18s kal-fadein;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes kal-fadein{0%{opacity:0}to{opacity:1}}.kalender-block .mobile-drawer-panel{background:#fff;width:min(360px,90vw);height:100%;padding:16px;animation:.22s kal-slidein;overflow-y:auto}@keyframes kal-slidein{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.kalender-block.accent-tri .page-head h1:after{content:" ★";background:linear-gradient(90deg,#d92626,#1a6fe6,#2c9658);color:#0000;-webkit-background-clip:text;background-clip:text}.kalender-block.accent-blue{--primary:215 75% 45%}.kalender-block.accent-blue .day-cell.today .day-num span:first-child{background:#1d64c9}.kalender-block.accent-blue .day-cell.selected{background:#edf4fc;box-shadow:inset 0 0 0 2px #1d64c9}
/*# sourceMappingURL=093ka_xin5otm.css.map*/