/* ==========================================================
   Shared Calendar UI — CLEAN FULL CSS (NO DUPLICATES)
   ========================================================== */

/* =========================
   TOKENS (LIGHT + DARK)
   ========================= */
:root{
  --font-family: "IBM Plex Sans", system-ui, -apple-system, sans-serif;

  /* light */
  --sc-bg:#f6f7fb;
  --sc-surface:#ffffff;
  --sc-surface-2:#f4f6fb;

  --sc-text:#111827;
  --sc-muted:rgba(17,24,39,.65);

  --sc-border:rgba(17,24,39,.10);
  --sc-border-2:rgba(17,24,39,.08);

  --sc-accent:#2563eb;
  --sc-danger:#dc2626;

  --sc-radius:14px;
  --sc-radius-sm:12px;

  --sc-shadow:0 10px 28px rgba(17,24,39,.08);
  --sc-shadow-soft:0 6px 18px rgba(17,24,39,.06);

  /* buttons */
  --sc-btn-bg:#ffffff;
  --sc-btn-txt:var(--sc-text);
  --sc-btn-bd:var(--sc-border-2);

  /* events */
  --sc-event-bg:#2563eb;
  --sc-event-txt:#ffffff;

  /* day lanes (light) */
  --sc-lane:transparent;
  --sc-lane-2:transparent;
  --sc-grid:rgba(17,24,39,.06);
  --sc-strip:rgba(17,24,39,.03);
}

/* dark */
:root[data-theme="dark"]{
  --sc-bg:#0b0f19;
  --sc-surface: #000000;
  --sc-surface-2:#0c1322;

  --sc-text:#eaf0ff;
  --sc-muted:rgba(234,240,255,.65);

  --sc-border:rgba(234,240,255,.10);
  --sc-border-2:rgba(234,240,255,.08);

  --sc-accent:#4f8cff;
  --sc-danger:#ff5a5a;

  --sc-shadow:0 18px 60px rgba(0,0,0,.45);
  --sc-shadow-soft:0 10px 34px rgba(0,0,0,.35);

  --sc-btn-bg:#121b2f;                 
  --sc-btn-txt:#eaf0ff;
  --sc-btn-bd:rgba(234,240,255,.14);

  --sc-event-bg:#2f6fff;
  --sc-event-txt:#ffffff;

  
  --sc-lane:rgba(79,140,255,.10);
  --sc-lane-2:rgba(79,140,255,.07);
  --sc-grid:rgba(234,240,255,.08);
  --sc-strip:rgba(255,255,255,.04);
}

/* =========================
   
   ========================= */
html, body{
  font-family: var(--font-family);
  margin:0;
  background: var(--sc-bg);
  color: var(--sc-text);
}
*{ box-sizing:border-box; }

.sc-app{ max-width:100%; padding:10px 12px; }

/* =========================
   TOPBAR
   ========================= */
.sc-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;

  padding:10px 12px;
  background: var(--sc-surface);
  border:1px solid var(--sc-border-2);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow-soft);
  margin-bottom:10px;

  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(8px);
}

.sc-left,.sc-center,.sc-right{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.sc-title{
  font-weight:900;
  font-size:14px;
  margin-left:6px;
  color: var(--sc-text);
}

/* buttons */
.sc-btn{
  border:1px solid var(--sc-btn-bd);
  background: var(--sc-btn-bg);
  color: var(--sc-btn-txt);
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
  font-weight:800;
  transition:.15s ease;
  box-shadow: 0 2px 0 rgba(0,0,0,.08);
}
.sc-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(79,140,255,.25);
}
.sc-btn:active{ transform: translateY(0); }

.sc-btn.is-active{
  background: linear-gradient(180deg, var(--sc-accent), color-mix(in srgb, var(--sc-accent) 70%, #000 30%));
  color:#fff;
  border-color: transparent;
}

/* theme toggle circle */
#sc-theme-toggle{
  width:36px;
  height:36px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
}

/* =========================
   DAY COLUMNS WRAPPER
   ========================= */
.sc-cols{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0;
  border:1px solid var(--sc-border-2);
  border-radius: var(--sc-radius);
  overflow:hidden;
  background: var(--sc-surface);
  box-shadow: var(--sc-shadow);
}

.sc-colcard{
  border:0;
  border-right:1px solid var(--sc-border-2);
  border-radius:0;
  overflow:hidden;
  background: transparent;
}
.sc-colcard:last-child{ border-right:0; }

.sc-colhead{
  padding:10px 12px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--sc-surface) 92%, #000 8%), var(--sc-surface-2));
  font-weight:900;
  letter-spacing:.3px;
  text-align:center;
  border-bottom:1px solid var(--sc-border-2);
  text-transform: uppercase;
  color: var(--sc-text);
}

.sc-colbody{ padding:0; }

/* =========================
   FULLCALENDAR GLOBAL
   ========================= */
.fc{ font-family: var(--font-family) !important; }
.fc .fc-toolbar{ display:none; }

.fc .fc-scrollgrid{ border:0; }
.fc .fc-scrollgrid-section-header > *,
.fc .fc-scrollgrid-section-body > *{ border:0; }

/* neutral backgrounds */
.fc .fc-timegrid-col-bg,
.fc .fc-timegrid-bg-harness,
.fc .fc-timegrid-slot{ background: transparent !important; }

/* Day lanes background (kills gold) */
.fc .fc-timegrid-slot-lane,
.fc .fc-timegrid-col-bg,
.fc .fc-timegrid-bg-harness{
  background: var(--sc-lane) !important;
}
.fc .fc-timegrid-slot:nth-child(even) .fc-timegrid-slot-lane{
  background: var(--sc-lane-2) !important;
}

/* lines */
.fc .fc-timegrid-slot-lane,
.fc .fc-timegrid-slot{
  border-color: var(--sc-grid) !important;
}

/* axis */
.fc .fc-timegrid-axis{
  color: color-mix(in srgb, var(--sc-text) 70%, transparent);
  font-weight:800;
  font-size:12px;
  background: var(--sc-strip) !important;
}

/* column day header */
.fc .fc-col-header,
.fc .fc-timegrid-header,
.fc .fc-timegrid-header-table,
.fc .fc-scrollgrid-sync-inner{
  background: var(--sc-strip) !important;
  border-bottom: 1px solid var(--sc-grid) !important;
}
.fc .fc-col-header-cell-cushion{
  color: color-mix(in srgb, var(--sc-text) 78%, transparent);
  font-weight:900;
  font-size:13px;
}

/* slot height */
.fc .fc-timegrid-slot{ height:1.7em; }

/* =========================
   DAY VIEW: HOURS RULES
   ========================= */
/* MOBILE stack halls + show hours in each hall */
@media (max-width:980px){
  .sc-cols{ grid-template-columns:1fr !important; }

  .sc-colcard .fc .fc-timegrid-axis,
  .sc-colcard .fc .fc-timegrid-axis-frame{
    display: table-cell !important;
  }
  .sc-colcard .fc .fc-timegrid-slot-label{ opacity: 1 !important; }
}

/* DESKTOP show hours only first column */
@media (min-width:981px){
  .sc-colcard:not(:first-child) .fc .fc-timegrid-slot-label{
    opacity:0 !important;
  }
}

/* no inner scrollbars */
#sc-day-cols .fc-scroller,
#sc-day-cols .fc-scroller-harness,
#sc-day-cols .fc-timegrid-body,
#sc-day-cols .fc-timegrid-body .fc-scroller,
#sc-day-cols .fc-scroller-liquid-absolute{
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
#sc-day-cols .fc-scroller-liquid-absolute{ position: static !important; }

/* =========================
   EVENT BOX (DAY)
   ========================= */
.fc .fc-timegrid-event{
  border:none !important;
  border-radius:14px !important;
  overflow:hidden;
  background: linear-gradient(135deg, color-mix(in srgb, var(--sc-event-bg) 92%, #fff 8%), var(--sc-event-bg)) !important;
  box-shadow: 0 8px 20px rgba(37,99,235,.28) !important;
  transition:.18s ease;
}
.fc .fc-timegrid-event:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(37,99,235,.35) !important;
}
.fc .fc-timegrid-event .fc-event-main{
  padding:8px 10px !important;
  color: var(--sc-event-txt) !important;
}
.fc .fc-event-title{
  font-weight:900;
  color: var(--sc-event-txt) !important;
}
.sc-ev-note{
  margin-top:4px;
  font-size:12px;
  line-height:1.25;
  opacity:.95;
  white-space:normal;
}

/* =========================
   MODAL
   ========================= */
.sc-modal{ position:fixed; inset:0; z-index:999999; }
.sc-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }

.sc-box{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(560px,92vw);
  max-height:min(86vh,720px);
  background: var(--sc-surface);
  border-radius:16px;
  overflow:hidden;
  box-shadow: 0 28px 80px rgba(0,0,0,.35);
  border:1px solid var(--sc-border);
}

.sc-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  background: var(--sc-surface);
  border-bottom:1px solid var(--sc-border-2);
}

.sc-x{
  border:0;
  background:transparent;
  font-size:22px;
  cursor:pointer;
  line-height:1;
  color: var(--sc-text);
}

.sc-body{
  padding:14px 14px 16px;
  overflow:auto;
  max-height: calc(min(86vh, 720px) - 56px);
}

.sc-body label{
  display:inline-flex;
  font-size:12px;
  font-weight:800;
  margin-bottom:6px;
  color: color-mix(in srgb, var(--sc-text) 70%, transparent);
}

.sc-body input,
.sc-body textarea,
.sc-body select{
  width:100%;
  padding:10px 10px;
  border:1px solid var(--sc-border);
  border-radius:12px;
  background: var(--sc-surface-2);
  color: var(--sc-text);
}

.sc-body textarea{ min-height:86px; resize:vertical; }

.sc-body input:focus,
.sc-body textarea:focus,
.sc-body select:focus{
  outline:none;
  border-color: rgba(79,140,255,.55);
  box-shadow: 0 0 0 4px rgba(79,140,255,.14);
}

/* date fields stacked */
.sc-row{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:10px;
}

.sc-actions{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
}

.sc-primary,
.sc-danger{
  border:0;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:900;
  color:#fff;
}
.sc-primary{ background: var(--sc-accent); }
.sc-danger{ background: var(--sc-danger); }

/* =========================
   ADMIN USERS PANEL (inside app)
   ========================= */
.sc-admin{ max-width:100%; padding:10px 0; }
.sc-admin-card{
  border:1px solid var(--sc-border-2);
  border-radius: var(--sc-radius);
  padding:12px;
  background: var(--sc-surface);
  box-shadow: var(--sc-shadow-soft);
}

.sc-users-table{
  width:100%;
  border-collapse:collapse;
  margin-top:8px;
}
.sc-users-table td,
.sc-users-table th{
  border-bottom:1px solid var(--sc-border-2);
  padding:8px;
  font-size:13px;
  text-align:left;
}

/* mobile users panel */
@media (max-width:700px){
  .sc-users-panel{ width:100% !important; max-width:100% !important; overflow:hidden !important; }
  .sc-users-panel, .sc-users-panel *{ box-sizing:border-box !important; }

  .sc-users-panel .users-row,
  .sc-users-panel .sc-users-row,
  .sc-users-panel .row,
  .sc-users-panel form{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    width:100% !important;
    gap:10px !important;
  }

  .sc-users-panel .field,
  .sc-users-panel .col,
  .sc-users-panel .cell,
  .sc-users-panel label{
    width:100% !important;
    flex:0 0 100% !important;
    max-width:100% !important;
  }

  .sc-users-panel input,
  .sc-users-panel select,
  .sc-users-panel button{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:block !important;
  }

  .sc-users-panel .actions{
    width:100% !important;
    display:flex !important;
    gap:10px !important;
  }
  .sc-users-panel .actions button{ flex:1 1 0 !important; }
}

/* =========================
   MONTH VIEW (box calendar)
   ========================= */
#sc-view-month .fc{ font-family: var(--font-family) !important; }

#sc-view-month .fc .fc-scrollgrid,
#sc-view-month .fc .fc-scrollgrid-section > td,
#sc-view-month .fc .fc-scrollgrid-section > th{ border:0 !important; }

#sc-view-month .fc .fc-daygrid-body,
#sc-view-month .fc .fc-daygrid-body table{ width:100% !important; }

#sc-view-month .fc .fc-daygrid-day{
  padding:8px !important;
  background: transparent !important;
}

#sc-view-month .fc .fc-daygrid-day-frame{
  border:1px solid var(--sc-border-2);
  border-radius: var(--sc-radius);
  background: var(--sc-surface);
  min-height:120px;
  overflow:hidden;
  box-shadow: var(--sc-shadow-soft);
}

#sc-view-month .fc .fc-daygrid-day-top{
  padding:10px 10px 6px;
  border-bottom:1px solid var(--sc-border-2);
}
#sc-view-month .fc .fc-daygrid-day-number{
  font-weight:900;
  font-size:13px;
  color: var(--sc-text);
  text-decoration:none;
}

#sc-view-month .fc .fc-day-today .fc-daygrid-day-frame{
  border-color: rgba(79,140,255,.55);
  box-shadow: 0 0 0 3px rgba(79,140,255,.10);
}

#sc-view-month .fc .fc-daygrid-day-events{
  margin:0 !important;
  padding:8px 10px 10px !important;
}

#sc-view-month .fc .fc-daygrid-event{
  border-radius:12px !important;
  padding:6px 8px !important;
  margin:6px 0 !important;
  background: rgba(79,140,255,.12) !important;
  border:1px solid rgba(79,140,255,.18) !important;
  color: var(--sc-text) !important;
  font-weight:800;
}

#sc-view-month .fc .fc-event-time{ display:none !important; }

#sc-view-month .fc .fc-daygrid-more-link{
  font-weight:900;
  text-decoration:none;
  color: var(--sc-accent);
}

/* =========================
   MOBILE MONTH CARDS
   ========================= */
#sc-view-monthcards{ padding:12px 12px 20px; }

.sc-mc-head{
  font-size:15px;
  font-weight:900;
  color: var(--sc-text);
  margin:18px 4px 10px;
  letter-spacing:.2px;
}
.sc-mc-day{ margin-bottom:18px; }

.sc-mc-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.sc-mc-card{
  width:100%;
  text-align:left;
  border-radius:16px;
  background: var(--sc-surface);
  border:1px solid var(--sc-border-2);
  box-shadow: var(--sc-shadow-soft);
  padding:14px 14px 13px;
  transition:.18s ease;
}
.sc-mc-card:active{
  transform:scale(.985);
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
}

.sc-mc-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:6px;
}
.sc-mc-time{
  font-size:12px;
  font-weight:900;

  letter-spacing:.3px;
}
.sc-mc-res{
  font-size:11px;
  padding:3px 9px;
  border-radius:999px;
  background: color-mix(in srgb, var(--sc-text) 6%, transparent);
  color: color-mix(in srgb, var(--sc-text) 70%, transparent);
  font-weight:800;
}
.sc-mc-title{
  font-size:16px;
  font-weight:900;
  color: var(--sc-text);
  margin-bottom:4px;
  line-height:1.25;
}
.sc-mc-note{
  font-size:13px;
  color: var(--sc-muted);
  line-height:1.4;
}
.sc-mc-empty{
  text-align:center;
  padding:30px 15px;
  border-radius:14px;
  background: color-mix(in srgb, var(--sc-surface) 85%, transparent);
  border:1px dashed var(--sc-border);
  color: var(--sc-muted);
}

/* =========================
   LIST VIEW (day left)
   ========================= */
#sc-view-list .fc-list-day-cushion{
  text-align:left !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  display:flex !important;
  padding-left:12px !important;
  font-weight:700;
}
#sc-view-list .fc-list-day th{ text-align:left !important; }

/* =========================
   USERS PAGE (separate page styles)
   ========================= */
.wrap{
  max-width:1100px;
  margin:22px auto;
  padding:0 14px 28px;
}

.top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.top h2{
  margin:0;
  font-size:18px;
  font-weight:900;
  letter-spacing:.2px;
  color: var(--sc-text);
  opacity:.95;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--sc-border);
  background: var(--sc-surface);         
  color: var(--sc-text);
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
  box-shadow: var(--sc-shadow-soft);
  transition: transform .12s ease, box-shadow .12s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }

.card{
  border:1px solid var(--sc-border);
  border-radius:16px;
  padding:16px;
  background: var(--sc-surface);         
  box-shadow: var(--sc-shadow-soft);
}

.card .sc-row{
  display:grid;
  grid-template-columns: 1.2fr 1.2fr .6fr;
  gap:12px;
  align-items:end;
}
.card label{
  display:block;
  font-size:12px;
  font-weight:900;
  opacity:.8;
  margin:0 0 6px;
  color: var(--sc-muted);
}
.card input,
.card select{
  width:100%;
  height:42px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--sc-border);
  background: var(--sc-surface-2);
  color: var(--sc-text);
  outline:none;
  transition: border-color .12s ease, box-shadow .12s ease;
}
.card input:focus,
.card select:focus{
  border-color: rgba(79,140,255,.55);
  box-shadow: 0 0 0 3px rgba(79,140,255,.14);
}

.card .sc-btn{ padding:10px 14px; font-weight:900; }

#sc_users_list{ margin-top:14px; }

.sc-users-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:14px;
  border:1px solid var(--sc-border);
}
.sc-users-table thead th{
  text-align:left;
  font-size:12px;
  padding:12px;
  background: var(--sc-strip);
  color: var(--sc-muted);
  font-weight:900;
}
.sc-users-table tbody td{
  padding:12px;
  border-top:1px solid var(--sc-border-2);
  color: var(--sc-text);
  font-weight:700;
  font-size:13px;
}
.sc-users-table tbody tr:hover td{
  background: rgba(79,140,255,.08);
}
.sc-users-table td:last-child{ text-align:right; }
.sc-users-table td:first-child{ opacity:.7; font-weight:800; }

@media (max-width:900px){
  .top{ flex-direction:column; align-items:flex-start; }
  .card .sc-row{ grid-template-columns:1fr; }
  .sc-users-table td:last-child{ text-align:left; }
}

/* =========================
   MOBILE TOPBAR LAYOUT (NO OVERLAPS)
   Users/Logout/Theme stay TOP
   View + Nav go BELOW
   ========================= */
@media (max-width:700px){
  .sc-topbar{
    gap:20px !important;
    padding:10px 10px !important;
  }

  /* TOP ROW: actions on the right */
  .sc-right{
    width:100% !important;
    order:1 !important;
    justify-content:flex-end !important; /* горе десно */
    flex-wrap:nowrap !important;
  }

  /* SECOND ROW: view buttons */
  .sc-left{
    width:100% !important;
    order:2 !important;
    justify-content:flex-start !important;
  }

  /* THIRD ROW: navigation */
  .sc-center{
    width:100% !important;
    order:3 !important;
    justify-content:flex-start !important;
  }

  .sc-btn{ font-size:13px !important; padding:8px 12px !important; }
}

/* DARK: make the white day-header strip dark */
:root[data-theme="dark"] .fc .fc-scrollgrid-section-header > *,
:root[data-theme="dark"] .fc .fc-col-header,
:root[data-theme="dark"] .fc .fc-col-header-cell,
:root[data-theme="dark"] .fc .fc-scrollgrid-sync-inner{
  background: #0f1627 !important;  /* или var(--sc-surface) */
}

/* текстот „Недела“ да е посветол */
:root[data-theme="dark"] .fc .fc-col-header-cell-cushion{
  color: rgba(234,240,255,.75) !important;
}

:root[data-theme="dark"] .fc {
  --fc-today-bg-color: rgb(88 72 72 / 16%);
}

/* =====================================
   FULLCALENDAR LIST VIEW — DEEP DARK
   ===================================== */

html[data-theme="dark"] .fc-list,
html[data-theme="dark"] .fc-list-table {
  background: #030712 !important; /* almost black */
  color: #e5e7eb !important;
}

/* day header (она белото горе) */
html[data-theme="dark"] .fc-list-day,
html[data-theme="dark"] .fc-list-day-cushion {
  background: #070f1f !important;
  color: #cbd5e1 !important;
  border-color: rgba(255,255,255,.06) !important;
}

/* event rows */
html[data-theme="dark"] .fc-list-event {
  background: #040b18 !important;
  color: #e5e7eb !important;
  border-color: rgba(255,255,255,.04) !important;
}

/* hover effect */
html[data-theme="dark"] .fc-list-event:hover td {
  background: #0a1428 !important;
}

/* time text */
html[data-theme="dark"] .fc-list-event-time {

  font-weight: 700;
}

/* blue dot */
html[data-theme="dark"] .fc-list-event-dot {
  border-color: #3b82f6 !important;
}

/* separators */
html[data-theme="dark"] .fc-list td,
html[data-theme="dark"] .fc-list th {
  border-color: rgba(255,255,255,.04) !important;
}

@media (min-width:701px){
  .sc-center{ justify-content:center; }
  .sc-center .sc-title{
    flex:0 0 100%;
    width:100%;
    order:10;
    margin:6px 0 0;
    text-align:center;
  }
}

/* =========================
   PRINT MODE
========================= */

@media print {

  body * {
    visibility: hidden;
  }

  #sc-view-list,
  #sc-view-list * {
    visibility: visible;
  }

  #sc-view-list {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: #fff;
  }

  /* тргни UI */
  .list-switch,
  .sc-topbar,
  .sc-btn,
  #sc-modal {
    display: none !important;
  }

  .fc-list-event {
    page-break-inside: avoid;
  }
}

/* Topbar center true */
.sc-topbar{ position: relative; }



/* ====================================
   LIST MODE BUTTONS (Изминати / Следни)
   ==================================== */

#list-switch .sc-btn.active {
  background: #2563eb;      /* исто како active view */
  color: #fff;
  border-color: #2563eb;
  box-shadow: 0 4px 10px rgba(37,99,235,.25);
}

.sc-list-note{
  margin-top: 4px;
  font-size: 14px;
  opacity: .75;
  line-height: 1.25;
}

/* ===== Month Picker (months-only) ===== */
.sc-mp{
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.sc-mp-backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
}

.sc-mp-box{
  position: absolute;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: min(520px, 92vw);
  background: var(--sc-surface, #fff);
  border: 1px solid var(--sc-border, rgba(0,0,0,.1));
  border-radius: var(--sc-radius, 14px);
  box-shadow: var(--sc-shadow, 0 10px 28px rgba(0,0,0,.12));
  padding: 12px;
}

.sc-mp-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 6px 10px;
}

.sc-mp-year{
  font-weight: 900;
  font-size: 16px;
}

.sc-mp-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 6px;
}

.sc-mp-month{
  border: 1px solid var(--sc-border, rgba(0,0,0,.1));
  background: var(--sc-surface-2, #f4f6fb);
  border-radius: 12px;
  padding: 10px 8px;
  cursor: pointer;
  font-weight: 800;
  text-transform: capitalize;
}

.sc-mp-month.is-active{
  border-color: var(--sc-accent, #2563eb);
  box-shadow: 0 0 0 3px rgba(37,99,235,.15);
}

/* =====================================================
   MONTH PICKER — DARK THEME (clean orchestra style)
   ===================================================== */

:root[data-theme="dark"] #sc-monthpicker .sc-mp-box{
  color: rgba(255,255,255,.92);
  background: #0f1724;
}

:root[data-theme="dark"] #sc-monthpicker .sc-mp-year{
  color: rgba(255,255,255,.92);
}

:root[data-theme="dark"] #sc-monthpicker .sc-mp-month{
  color: rgba(255,255,255,.92);
  background-color: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.14);
}

:root[data-theme="dark"] #sc-monthpicker .sc-mp-month.is-active{
  color:#fff;
  border-color: var(--sc-accent,#2563eb);
  box-shadow:0 0 0 3px rgba(37,99,235,.25);
}


/* =====================================================
   FILHARMONIJA CALENDAR TIME FLOW
   Past vs Future hours styling
   ===================================================== */


/* 🕓 PAST HOURS — ладен тон (завршен настан) */
.fc-timegrid-body tr.sc-past-slot td.fc-timegrid-slot-lane{
  background-color: rgba(70,90,120,.10) !important;
  transition: background-color .35s ease;
}

/* леви часови */
.fc-timegrid-body tr.sc-past-slot td.fc-timegrid-slot-label{
  opacity:.45;
}

/* суптилен fade */
.fc-timegrid-body tr.sc-past-slot{
  filter:saturate(.85) brightness(.96);
}


/* FUTURE HOURS — топол концертен тон */
.fc-timegrid-body tr:not(.sc-past-slot) td.fc-timegrid-slot-lane{
  background-color: rgba(255,220,140,.08);
}


/*  DARK MODE balance */
:root[data-theme="dark"]
.fc-timegrid-body tr.sc-past-slot td.fc-timegrid-slot-lane{
  background-color: rgba(120,150,200,.08) !important;
}

:root[data-theme="dark"]
.fc-timegrid-body tr:not(.sc-past-slot) td.fc-timegrid-slot-lane{
  background-color: rgba(255,200,120,.05);
}

.sc-past-overlay{
  background: linear-gradient(
    to bottom,
    rgba(70,90,120,.14),
    rgba(70,90,120,.08)
  );
}

:root{
  --fc-today-bg-color: transparent;
}

/* MF background само за DAY view */
#sc-view-day .fc .fc-event.sc-event-mf,
#sc-view-day .fc .fc-event.sc-event-mf .fc-event-main{
  background:#dc2626 !important;
  border-color:#dc2626 !important;
  color:#fff !important;
}

/* MF background само за MONTH view (цел плав box) */
#sc-view-month .fc .fc-daygrid-event.sc-mf-event{
  background:#dc2626d6  !important;
  border-color:#dc2626d6  !important;
}
#sc-view-month .fc .fc-daygrid-event.sc-mf-event .fc-event-main{
  color:#fff !important;
}

.fc-list-event.sc-event-mf td{
  background:#dc2626 !important;
  
}

/* mobile month cards */
.sc-mc-card.sc-event-mf{
  background:#dc2626e3 !important;
  border-color:#991b1b !important;
  color:#fff !important;
}

/* LIST: dot (bullet) да стане црвен кога настанот е MF */
.fc-list-event.sc-event-mf .fc-list-event-dot{
  border-color:#dc2626 !important;
  background:#dc2626 !important; /* ако browser го прикаже fill */
}

/* fallback ако dot е marker (некогаш е <td> со ::marker) */
.fc-list-event.sc-event-mf .fc-list-event-graphic::marker{
  color:#dc2626 !important;
}

/* ако кај тебе dot е span со border само */
.fc-list-event.sc-event-mf .fc-list-event-graphic{
  color:#dc2626 !important;
}

/* reset ако случајно се обоил редот */
.fc-list-event.sc-event-mf td{
  background: transparent !important;
}

/* само точката */
.fc-list-event.sc-event-mf .fc-list-event-dot{
  border-color:#dc2626 !important;
  background-color:#dc2626 !important;
}

/* ===== MF events — month view (само pill background) ===== */

.fc-daygrid-event.sc-mf-event .sc-m-ev *{
  color:#fff !important;
}

/* MONTH event text wrapping */
.sc-m-ev,
.sc-m-title,
.sc-m-meta {
  white-space: normal !important;   /* дозволи нов ред */
  word-break: break-word;           /* крши долги зборови */
  overflow-wrap: anywhere;          /* modern wrap */
}

/* FullCalendar event container fix */
.fc-daygrid-event {
  overflow: hidden;
}

.fc-daygrid-event .fc-event-main {
  white-space: normal !important;
}

/* Month grid: позадина на текстот */
.sc-m-ev.sc-mf { background:#dc2626d6 !important; color:#fff !important; }

/* List: само точката (ако сакаш и текст) */
tr.sc-mf .fc-list-event-dot { border-color:#dc2626c9 !important; }
tr.sc-mf .sc-list-title { color:#dc2626d6; font-weight:800; }

/* Mobile month-cards */
.sc-mc-card.sc-event-mf{
  background:#dc2626d6 !important;
  border-color:#991b1b !important;
  color:#fff !important;
}

:root[data-theme="dark"] tr.fc-list-event.sc-event-mf .fc-list-event-dot{
  border-color:#dc2626d6 !important;
  background-color:#dc2626d6 !important;
}

:root[data-theme="dark"] tr.fc-list-event.sc-event-mf .sc-list-title,
:root[data-theme="dark"] tr.fc-list-event.sc-event-mf .sc-list-note,
:root[data-theme="dark"] tr.fc-list-event.sc-event-mf .sc-list-time,
:root[data-theme="dark"] tr.fc-list-event.sc-event-mf .sc-list-hall{
  /* или #dc2626d6 ако сакаш потемно */
  font-weight:900;
}
/* ==============================
   MOBILE TOPBAR ORDER FIX
   ============================== */
@media (max-width:700px){

  .sc-topbar{
    display:flex;
    flex-direction:column;
    gap:10px;
  }

  .sc-left{
    order:1;
  }

  .sc-right{
    order:2;
  }

  #list-switch{
    order:3;
    position:static !important;
    transform:none !important;
    width:100%;
    justify-content:flex-start;
  }

  /* скриени nav копчиња да не влијаат */
  .sc-center{
    order:4;
  }
}

/* ============================
   MONTH VIEW — MF full box red
   ============================ */

#sc-view-month .fc-daygrid-event.sc-mf-event{
  background:#dc2626d6 !important;
  border-color:#dc2626d6 !important;
}

/* текстот да остане читлив */
#sc-view-month .fc-daygrid-event.sc-mf-event,
#sc-view-month .fc-daygrid-event.sc-mf-event *{
  color:#fff !important;
}

#sc-view-list .sc-list-time{
  font-weight:500;
}

#sc-view-list .sc-list-hall{
  font-weight:500;
}

#sc-view-list .sc-list-title{
  font-weight:300;
}

/* ===========================
   MODAL: Halls (checkbox grid)
   =========================== */

.sc-halls{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:8px;
}

@media (max-width: 720px){
  .sc-halls{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 420px){
  .sc-halls{ grid-template-columns: 1fr; }
}

/* whole “card” clickable */
.sc-hall-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;

  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(17,24,39,.14);
  background: rgba(255,255,255,.06);
  cursor:pointer;
  user-select:none;

  transition: transform .08s ease, border-color .12s ease, background .12s ease;
}

.sc-hall-item:hover{
  transform: translateY(-1px);
  border-color: rgba(37,99,235,.45);
}

.sc-hall-name{
  font-weight:800;
  font-size:12px;
  letter-spacing:.3px;
  text-transform: uppercase;
  opacity:.95;
  text-align:right;
  line-height:1.1;
}

/* checkbox style */
.sc-hall-item input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color: var(--sc-accent, #2563eb);
  flex:0 0 auto;
}

/* selected state (when checkbox is checked) */
.sc-hall-item:has(input[type="checkbox"]:checked){
  background: rgba(37,99,235,.10);
  border-color: rgba(37,99,235,.55);
  box-shadow: 0 6px 16px rgba(37,99,235,.10);
}

/* optional: focus ring for keyboard */
.sc-hall-item:has(input[type="checkbox"]:focus-visible){
  outline:2px solid rgba(37,99,235,.55);
  outline-offset:2px;
}