.kst-view-toggle{display:inline-flex;gap:2px;padding:3px;background:var(--bg-tertiary,#f1f5f9);border-radius:10px;margin-bottom:14px}.kst-view-btn{background:0 0;border:none;padding:7px 18px;font-size:13px;font-weight:600;color:var(--text-muted,#64748b);cursor:pointer;border-radius:7px;transition:all .15s;font-family:inherit}.kst-view-btn:hover{color:var(--text-primary,#0f172a)}.kst-view-btn.active{background:#fff;color:#4f46e5;box-shadow:0 1px 3px rgba(0,0,0,.08)}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.cal-toolbar-left{display:flex;align-items:center;gap:8px}.cal-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-nav-btn{width:32px;height:32px;border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:8px;font-size:18px;line-height:1;cursor:pointer;color:var(--text-secondary,#475569)}.cal-nav-btn:hover{border-color:#4f46e5;color:#4f46e5}.cal-today-btn{height:32px;padding:0 12px;border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;color:var(--text-secondary,#475569);font-family:inherit}.cal-today-btn:hover{border-color:#4f46e5;color:#4f46e5}.cal-title{font-size:1.2rem;font-weight:700;color:var(--text-primary,#0f172a);margin:0 0 0 8px}.cal-view-tabs{display:inline-flex;gap:2px;padding:3px;background:var(--bg-tertiary,#f1f5f9);border-radius:8px}.cal-view-tab{background:0 0;border:none;padding:6px 14px;font-size:12px;font-weight:600;color:var(--text-muted,#64748b);cursor:pointer;border-radius:6px;font-family:inherit}.cal-view-tab.active{background:#fff;color:#4f46e5;box-shadow:0 1px 2px rgba(0,0,0,.06)}.cal-scope{height:32px;padding:0 8px;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;font-size:12px;font-weight:600;background:#fff;cursor:pointer;font-family:inherit}.cal-add-btn{height:32px;padding:0 16px;font-size:13px;border-radius:8px}.cal-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:8px 12px;background:var(--bg-tertiary,#f8fafc);border-radius:8px;font-size:11px}.cal-legend-item{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary,#475569);cursor:pointer;user-select:none}.cal-legend-item.off{opacity:.4;text-decoration:line-through}.cal-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.cal-month{border:1px solid var(--border-color,#e2e8f0);border-radius:12px;overflow:hidden;background:#fff}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-tertiary,#f8fafc);border-bottom:1px solid var(--border-color,#e2e8f0)}.cal-weekday{padding:8px;text-align:center;font-size:11px;font-weight:700;color:var(--text-muted,#64748b)}.cal-weekday.sun{color:#dc2626}.cal-weekday.sat{color:#2563eb}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(110px,1fr)}.cal-cell{border-right:1px solid var(--border-color,#f1f5f9);border-bottom:1px solid var(--border-color,#f1f5f9);padding:4px;position:relative;min-height:110px;transition:background .1s}.cal-cell:nth-child(7n){border-right:none}.cal-cell.other-month{background:#fafbfc}.cal-cell.today{background:#eff6ff}.cal-cell.drag-over{background:#eef2ff;outline:2px dashed #4f46e5;outline-offset:-2px}.cal-cell-date{font-size:12px;font-weight:600;color:var(--text-secondary,#475569);padding:2px 4px;display:inline-block}.cal-cell.other-month .cal-cell-date{color:#cbd5e1}.cal-cell.today .cal-cell-date{background:#4f46e5;color:#fff;border-radius:50%;width:22px;height:22px;text-align:center;line-height:18px}.cal-cell-date.sun{color:#dc2626}.cal-cell-date.sat{color:#2563eb}.cal-cell-add{position:absolute;top:4px;right:4px;width:18px;height:18px;border:none;background:0 0;color:#94a3b8;font-size:14px;cursor:pointer;border-radius:4px;opacity:0;line-height:1}.cal-cell:hover .cal-cell-add{opacity:1}.cal-cell-add:hover{background:#e2e8f0;color:#4f46e5}.cal-events{margin-top:22px;display:flex;flex-direction:column;gap:2px}.cal-event{font-size:11px;padding:2px 6px;border-radius:4px;color:#fff;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;position:relative;border-left:3px solid rgba(0,0,0,.2)}.cal-event:hover{filter:brightness(1.08)}.cal-event.auto{cursor:pointer;opacity:.92}.cal-event.dragging{opacity:.5}.cal-event-resize{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:ew-resize}.cal-more{font-size:10px;color:#64748b;cursor:pointer;padding:1px 4px}.cal-more:hover{color:#4f46e5}.cal-week{border:1px solid var(--border-color,#e2e8f0);border-radius:12px;overflow:hidden;background:#fff}.cal-week-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-tertiary,#f8fafc);border-bottom:1px solid var(--border-color,#e2e8f0)}.cal-week-day{padding:8px;text-align:center;border-right:1px solid var(--border-color,#f1f5f9)}.cal-week-day:last-child{border-right:none}.cal-week-day-name{font-size:11px;font-weight:700;color:var(--text-muted,#64748b)}.cal-week-day-num{font-size:16px;font-weight:700;color:var(--text-primary,#0f172a);margin-top:2px}.cal-week-day.today .cal-week-day-num{color:#4f46e5}.cal-week-cols{display:grid;grid-template-columns:repeat(7,1fr);min-height:400px}.cal-week-col{border-right:1px solid var(--border-color,#f1f5f9);padding:6px 4px;display:flex;flex-direction:column;gap:3px}.cal-week-col:last-child{border-right:none}.cal-week-col.drag-over{background:#eef2ff}.cal-list{display:flex;flex-direction:column;gap:8px}.cal-list-group{background:#fff;border:1px solid var(--border-color,#e2e8f0);border-radius:10px;overflow:hidden}.cal-list-date{padding:8px 14px;background:var(--bg-tertiary,#f8fafc);font-size:12px;font-weight:700;color:var(--text-primary,#0f172a);border-bottom:1px solid var(--border-color,#e2e8f0)}.cal-list-date.is-today{color:#4f46e5}.cal-list-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-color,#f1f5f9)}.cal-list-item:last-child{border-bottom:none}.cal-list-item:hover{background:var(--bg-tertiary,#f8fafc)}.cal-list-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.cal-list-title{font-size:13px;font-weight:600;color:var(--text-primary,#0f172a);flex:1}.cal-list-meta{font-size:11px;color:var(--text-muted,#94a3b8)}.cal-list-empty{text-align:center;padding:60px 20px;color:var(--text-muted,#94a3b8);font-size:13px}.cal-drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.3);z-index:900;opacity:0;pointer-events:none;transition:opacity .2s}.cal-drawer-overlay.open{opacity:1;pointer-events:auto}.cal-drawer{position:fixed;top:0;right:0;width:420px;max-width:92vw;height:100vh;background:#fff;z-index:950;box-shadow:-8px 0 30px rgba(0,0,0,.12);transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}.cal-drawer.open{transform:translateX(0)}.cal-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border-color,#e2e8f0)}.cal-drawer-header h3{margin:0;font-size:1.1rem;font-weight:700}.cal-drawer-close{width:32px;height:32px;border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:8px;font-size:18px;cursor:pointer}.cal-drawer-close:hover{background:#0f172a;color:#fff;border-color:transparent}.cal-drawer-body{flex:1;overflow:auto;padding:20px}.cal-drawer-footer{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border-color,#e2e8f0);background:var(--bg-tertiary,#f8fafc)}.cal-field{margin-bottom:14px}.cal-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary,#475569);margin-bottom:4px}.cal-field input[type=date],.cal-field input[type=number],.cal-field input[type=text],.cal-field input[type=time],.cal-field select,.cal-field textarea{width:100%;padding:8px 10px;border:1px solid var(--border-color,#e2e8f0);border-radius:8px;font-size:13px;font-family:inherit;background:#fff}.cal-field input:focus,.cal-field select:focus,.cal-field textarea:focus{border-color:#4f46e5;outline:0;box-shadow:0 0 0 2px rgba(79,70,229,.1)}.cal-field textarea{resize:vertical;min-height:60px}.cal-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cal-field-row{display:flex;gap:8px;align-items:center}.cal-color-picker{display:flex;gap:6px}.cal-color-opt{width:26px;height:26px;border-radius:6px;cursor:pointer;border:2px solid transparent}.cal-color-opt.selected{border-color:#0f172a;box-shadow:0 0 0 2px #fff inset}.cal-weekday-picker{display:flex;gap:4px}.cal-weekday-btn{flex:1;padding:6px 0;border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:6px;font-size:11px;cursor:pointer;font-family:inherit}.cal-weekday-btn.on{background:#4f46e5;color:#fff;border-color:#4f46e5}.cal-checkbox-row{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary,#475569)}.cal-checkbox-row input{accent-color:#4f46e5}.cal-delete-btn{color:#dc2626!important;border-color:#fecaca!important}.cal-delete-btn:hover{background:#fef2f2!important}.cal-readonly-note{font-size:11px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:8px 10px;margin-bottom:12px}.cal-upcoming{background:#fff;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:12px 16px;margin-bottom:16px}.cal-upcoming-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-upcoming-title{font-size:13px;font-weight:700;color:var(--text-primary,#0f172a)}.cal-upcoming-link{font-size:11px;color:#4f46e5;cursor:pointer}.cal-upcoming-list{display:flex;gap:10px;flex-wrap:wrap}.cal-upcoming-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary,#475569);padding:4px 10px;background:var(--bg-tertiary,#f8fafc);border-radius:8px}.cal-upcoming-ddays{font-weight:700;color:#dc2626}