:root{--kalender-primary: #01563b;--kalender-primary-hover: #01422d;--kalender-accent: #10b981;--kalender-accent-light: rgba(1, 86, 59, .08);--kalender-dark: #061a14;--kalender-dark-surface: #0a2920;--kalender-text-dark: #0f172a;--kalender-text-muted: #64748b;--kalender-border: #e2e8f0;--kalender-upcoming: #0284c7;--kalender-released: #16a34a}.kalender-hero-section{background:linear-gradient(135deg,#051610,#0b2c21,#051812);position:relative;padding-top:2rem;padding-bottom:5.5rem}.kalender-hero-glow{position:absolute;top:-50%;left:50%;transform:translate(-50%);width:800px;height:600px;background:radial-gradient(circle,rgba(16,185,129,.22) 0%,rgba(1,86,59,.08) 50%,transparent 70%);pointer-events:none}.kalender-content-section{margin-top:-4rem;position:relative;z-index:2}.kalender-main-card{box-shadow:0 10px 30px -5px #0000000f,0 20px 25px -5px #0000000a!important;border-radius:1.25rem!important;border:1px solid rgba(226,232,240,.8)!important}.kalender-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--kalender-primary);text-transform:uppercase}.kalender-eyebrow-line{display:inline-block;width:24px;height:2px;background-color:var(--kalender-primary);border-radius:2px}.kalender-heading{font-size:1.55rem;font-weight:800;color:var(--kalender-text-dark);letter-spacing:-.02em}.kalender-filter-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:9999px;font-size:.8rem;font-weight:600;border:1px solid #d1d5db;background-color:#fff;color:#4b5563;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.kalender-filter-chip:hover{border-color:#9ca3af;background-color:#f9fafb}.kalender-filter-chip.active{background-color:var(--kalender-primary);border-color:var(--kalender-primary);color:#fff}.kalender-filter-chip.chip-jadwal.active{background-color:var(--kalender-upcoming);border-color:var(--kalender-upcoming);color:#fff}.kalender-filter-chip.chip-rilis.active{background-color:var(--kalender-released);border-color:var(--kalender-released);color:#fff}.kalender-search-wrapper{width:100%;max-width:280px}.kalender-search-wrapper .form-control{border-color:#e2e8f0;font-size:.85rem;padding-top:.4rem;padding-bottom:.4rem}.kalender-search-wrapper .form-control:focus{border-color:var(--kalender-primary);box-shadow:0 0 0 3px #01563b1f}.kalender-view-toggle{background-color:#f1f5f9}.kalender-view-btn{font-size:.825rem;font-weight:600;padding:.35rem .95rem;border:none;color:#64748b;background:transparent;transition:all .15s ease}.kalender-view-btn.active{background-color:var(--kalender-primary)!important;color:#fff!important;box-shadow:0 1px 3px #0000001f}.kalender-nav-btn{width:2.15rem;height:2.15rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background-color:var(--kalender-primary);color:#fff;border:none;transition:all .15s ease}.kalender-nav-btn:hover{background-color:var(--kalender-primary-hover);color:#fff}.kalender-main-card .fc .fc-toolbar.fc-header-toolbar{display:none!important}.fc .fc-col-header-cell{background-color:#f8fafc;border-color:#e2e8f0!important;padding:.65rem 0}.fc .fc-col-header-cell-cushion{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;text-decoration:none!important}.fc .fc-daygrid-day-frame{min-height:105px;padding:6px;border-radius:8px;transition:background-color .15s ease}.fc .fc-daygrid-day:hover:not(.fc-day-other){background-color:#f8fafc}.fc .fc-daygrid-day-top{flex-direction:row;justify-content:flex-start;padding:2px 4px}.fc .fc-daygrid-day-number{font-size:.85rem;font-weight:600;color:#334155;text-decoration:none!important}.fc .fc-day-today{background-color:#01563b0d!important}.fc .fc-day-today .fc-daygrid-day-frame{border:1.5px solid var(--kalender-primary);background-color:#01563b0a}.fc .fc-day-today .fc-daygrid-day-number{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background-color:var(--kalender-primary);color:#fff!important}.fc-daygrid-event{border-radius:6px!important;padding:3px 6px!important;font-size:.72rem!important;font-weight:600!important;line-height:1.25!important;margin-bottom:3px!important;border-width:1px!important;cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.fc-daygrid-event:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}.fc-daygrid-event .fc-event-title{font-weight:600!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-upcoming{background-color:var(--kalender-upcoming)!important;border-color:var(--kalender-upcoming)!important;color:#fff!important}.chip-released{background-color:var(--kalender-released)!important;border-color:var(--kalender-released)!important;color:#fff!important}.fc .fc-daygrid-more-link{font-size:.72rem!important;font-weight:700!important;color:var(--kalender-primary)!important;background-color:#01563b14;padding:2px 6px;border-radius:4px;text-decoration:none!important;display:inline-block;margin-top:1px}.fc .fc-daygrid-more-link:hover{background-color:#01563b26;color:var(--kalender-primary-hover)!important}.calendar-loading-overlay{position:absolute;inset:0;background:#ffffffd1;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:20;display:flex;align-items:center;justify-content:center;border-radius:.75rem}.calendar-legend-bullet{display:inline-block;width:.85rem;height:.85rem;border-radius:50%}.kalender-list-item{display:flex;align-items:stretch;gap:1.25rem;padding:1.15rem;border-radius:.85rem;border:1px solid #e2e8f0;background:#fff;margin-bottom:.85rem;transition:all .2s ease}.kalender-list-item:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0000000d;transform:translateY(-1px)}.kalender-list-date-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:4.2rem;padding:.5rem .65rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.65rem;text-align:center;flex-shrink:0}.kalender-list-date-box .day{font-size:1.35rem;font-weight:800;color:var(--kalender-primary);line-height:1}.kalender-list-date-box .month{font-size:.72rem;font-weight:700;text-transform:uppercase;color:#64748b;margin-top:.2rem}.kalender-list-content{flex:1;display:flex;flex-direction:column;justify-content:center}.kalender-list-title{font-size:1rem;font-weight:700;color:var(--kalender-text-dark);line-height:1.4;margin-bottom:.35rem}.kalender-list-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.825rem;color:#64748b}.kalender-list-badge{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:9999px}.kalender-empty-state{text-align:center;padding:3rem 1.5rem;color:#64748b}.kalender-empty-state i{font-size:3rem;color:#cbd5e1;margin-bottom:.75rem;display:block}.calendar-modal-event-card{border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;margin-bottom:.85rem;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.calendar-modal-event-card:last-child{margin-bottom:0}.calendar-modal-event-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.calendar-modal-event-title{font-size:1rem;font-weight:700;color:#0f172a;line-height:1.4;margin-bottom:.35rem}.calendar-modal-event-skpd{font-size:.85rem;font-weight:600;color:#4b5563;display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.calendar-modal-event-desc{font-size:.85rem;color:#64748b;line-height:1.5;margin-bottom:.75rem}@media(max-width:767.98px){.kalender-content-section{margin-top:-2.5rem}.kalender-main-card{padding:1.25rem!important}.kalender-search-wrapper{max-width:100%}.fc .fc-col-header-cell-cushion{font-size:.7rem}.fc .fc-daygrid-day-frame{min-height:70px;padding:2px}.fc .fc-daygrid-day-number{font-size:.75rem}.fc .fc-day-today .fc-daygrid-day-number{width:1.3rem;height:1.3rem;font-size:.75rem}.fc-daygrid-event{font-size:.65rem!important;padding:1px 3px!important}.kalender-list-item{flex-direction:column;gap:.75rem}.kalender-list-date-box{align-self:flex-start;flex-direction:row;gap:.5rem;min-width:auto;padding:.3rem .6rem}.kalender-list-date-box .day{font-size:1.1rem}.kalender-list-date-box .month{margin-top:0}}
