/* FullCalendar v6 compact stylesheet (dayGrid + list) — KBS minimal build */
/* variables (dark) */
:root{
  --fc-page-bg-color:#0b0b0e; --fc-neutral-bg-color:#0b0b0e;
  --fc-border-color:#2a2d34;  --fc-text-color:#e9edf1;
  --fc-today-bg-color:rgba(59,130,246,.18);
  --fc-event-bg-color:#3B82F6; --fc-event-border-color:#60A5FA; --fc-event-text-color:#ffffff;
  --fc-button-bg:#17181c; --fc-button-border:#2a2d34; --fc-button-text:#e9edf1;
  --fc-button-hover-bg:#22252b; --fc-button-active-bg:#2a2d34;
}

/* reset */
.fc, .fc *{box-sizing:border-box;}
.fc{direction:ltr;text-align:left;color:var(--fc-text-color);}

/* toolbar */
.fc .fc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;}
.fc .fc-toolbar-title{font-weight:700;font-size:1.125rem;}
.fc .fc-button{appearance:none;border:1px solid var(--fc-button-border);background:var(--fc-button-bg);color:var(--fc-button-text);
  border-radius:10px;padding:6px 12px;cursor:pointer;line-height:1;}
.fc .fc-button:hover{background:var(--fc-button-hover-bg);}
.fc .fc-button:disabled{opacity:.5;cursor:not-allowed;}
.fc .fc-button-primary{background:var(--fc-button-bg);border-color:var(--fc-button-border);color:var(--fc-button-text);}
.fc .fc-button-active{background:var(--fc-button-active-bg);}

/* layout */
.fc-theme-standard{background:var(--fc-neutral-bg-color);}
.fc .fc-scrollgrid, .fc-theme-standard td, .fc-theme-standard th{border:1px solid var(--fc-border-color);}
.fc .fc-scrollgrid{border-collapse:collapse;border-width:1px;}
.fc .fc-view-harness{position:relative;}
.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;left:0;right:0;bottom:0;}
.fc .fc-daygrid, .fc .fc-list{font-size:.92rem;}

/* day headers */
.fc .fc-col-header{background:transparent;}
.fc .fc-col-header-cell{padding:8px 6px;text-align:right;}
.fc .fc-col-header-cell-cushion{display:inline-block;color:var(--fc-text-color);font-weight:700;text-decoration:none;padding:4px 6px;}

/* grid */
.fc .fc-daygrid-body{position:relative;}
.fc .fc-daygrid-day{vertical-align:top;background:transparent;}
.fc .fc-daygrid-day-frame{position:relative;min-height:84px;padding:2px;}
.fc .fc-daygrid-day-top{display:flex;justify-content:flex-end;align-items:flex-start;gap:6px;padding:6px;}
.fc .fc-daygrid-day-number{color:var(--fc-text-color);font-weight:700;text-decoration:none;}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame{background:var(--fc-today-bg-color);}

/* weekend tint (optional) */
.fc .fc-day-sat, .fc .fc-day-sun{background:rgba(255,255,255,.02);}
.fc .fc-day-sat .fc-daygrid-day-number{color:#60A5FA;}
.fc .fc-day-sun .fc-daygrid-day-number{color:#F87171;}

/* events (chips) */
.fc .fc-daygrid-event{display:block;position:relative;margin:2px 0;padding:6px 10px;border-radius:10px;
  background:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);color:var(--fc-event-text-color);
  white-space:normal;overflow:hidden;line-height:1.25;}
.fc .fc-daygrid-event:hover{text-decoration:none;filter:brightness(.98);}
.fc .fc-daygrid-dot-event{display:flex;align-items:flex-start;gap:8px;}
.fc .fc-daygrid-event-dot{display:none;} /* we use custom dot */

/* more link ( +N more ) */
.fc .fc-daygrid-more-link{display:inline-block;margin:2px 0;padding:2px 6px;border-radius:6px;background:#1a1c22;color:#c7d2fe;
  text-decoration:none;font-size:.82rem;}
.fc .fc-popover{position:absolute;z-index:8;background:#0f1115;border:1px solid var(--fc-border-color);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.fc .fc-popover-header{padding:8px 10px;border-bottom:1px solid var(--fc-border-color);font-weight:700;}
.fc .fc-popover-body{padding:8px 10px;}

/* list view */
.fc .fc-list{background:#0f1115;color:var(--fc-text-color);border:1px solid var(--fc-border-color);border-radius:10px;overflow:hidden;}
.fc .fc-list-table{width:100%;border-collapse:collapse;}
.fc .fc-list-day{background:#141820;color:var(--fc-text-color);}
.fc .fc-list-day-cushion{padding:10px 12px;font-weight:700;}
.fc .fc-list-event{border-top:1px solid var(--fc-border-color);}
.fc .fc-list-event:hover{background:#161b23;}
.fc .fc-list-event-graphic{width:8px;}
.fc .fc-list-event-title{padding:10px 8px;}
.fc .fc-list-event-time{white-space:nowrap;padding:10px 8px;color:#cbd5e1;}

/* utilities */
.fc a{color:inherit;}
.fc .fc-direction-ltr .fc-daygrid-event{margin-right:0;}
.fc .fc-direction-rtl .fc-daygrid-event{margin-left:0;}

/* print (basic) */
@media print{
  .fc .fc-toolbar{display:none;}
  .fc .fc-daygrid-day-frame{min-height:60px;}
  body{background:#fff;color:#111;}
}
