/* =========================================================
   PEKA AGENDA PRO v10 ENTERPRISE
   Dashboard + enterprise calendar workspace
   ========================================================= */

:root {
  --v10-ring: rgba(79, 124, 255, .16);
  --v10-card: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,250,255,.88));
  --v10-card-dark: linear-gradient(180deg, rgba(20,24,32,.92), rgba(15,19,27,.92));
}

.enterpriseHero {
  margin: 0 18px 16px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(79,124,255,.14);
  background: linear-gradient(135deg, rgba(79,124,255,.10), rgba(16,185,129,.08), rgba(255,255,255,.62));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 18px 44px rgba(15,23,42,.08);
}
body[data-theme="dark"] .enterpriseHero,
body.theme-dark .enterpriseHero {
  background: linear-gradient(135deg, rgba(112,163,255,.16), rgba(45,212,191,.10), rgba(20,24,32,.78));
  border-color: rgba(112,163,255,.18);
}
.heroBadge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  color: var(--ui-accent-2, #2f68ff);
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(79,124,255,.12);
}
.heroTitle {
  margin-top: 10px;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -.02em;
  color: var(--ui-text, #0f172a);
}
.heroSub {
  margin-top: 6px;
  max-width: 760px;
  color: var(--ui-muted, #64748b);
  font-size: 14px;
}
.heroActions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.heroAction {
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 130px; height: 44px; padding: 0 16px;
  border-radius: 14px; font-weight: 800; text-decoration:none;
  background: rgba(255,255,255,.82); border:1px solid rgba(15,23,42,.10); color: #0f172a;
  box-shadow: 0 10px 22px rgba(15,23,42,.08);
}
.heroAction.primary {
  background: linear-gradient(135deg, #4f7cff, #2f68ff); color: #fff; border-color: transparent;
}

.enterpriseStats {
  margin: 0 18px 16px;
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px;
}
.statTile {
  position:relative; overflow:hidden;
  padding: 16px 16px 14px;
  border-radius: 18px;
  background: var(--v10-card);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 34px rgba(15,23,42,.08);
}
body[data-theme="dark"] .statTile, body.theme-dark .statTile {
  background: var(--v10-card-dark); border-color: rgba(255,255,255,.08); box-shadow:none;
}
.statTile::after {
  content:""; position:absolute; right:-28px; top:-28px; width:82px; height:82px; border-radius:50%; opacity:.28;
}
.statTile.accent-blue::after { background: #4f7cff; }
.statTile.accent-violet::after { background: #8b5cf6; }
.statTile.accent-green::after { background: #10b981; }
.statTile.accent-amber::after { background: #f59e0b; }
.statLabel { font-size: 12px; font-weight: 800; color: var(--ui-muted, #64748b); letter-spacing: .04em; text-transform: uppercase; }
.statValue { margin-top: 8px; font-size: 32px; font-weight: 900; color: var(--ui-text, #0f172a); }
.statHint { margin-top: 4px; color: var(--ui-muted, #64748b); font-size: 12px; }

.calendarWorkspace {
  margin: 0 18px 18px;
  display:grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items:start;
}
.calendarStage {
  min-width:0;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 22px;
  padding: 14px;
  background: var(--v10-card);
  box-shadow: 0 18px 44px rgba(15,23,42,.08);
}
body[data-theme="dark"] .calendarStage, body.theme-dark .calendarStage {
  background: var(--v10-card-dark); border-color: rgba(255,255,255,.08); box-shadow:none;
}
.calendarRail { display:grid; gap:16px; }
.railCard {
  border-radius: 20px; padding: 16px; background: var(--v10-card); border:1px solid rgba(15,23,42,.08); box-shadow: 0 14px 34px rgba(15,23,42,.08);
}
body[data-theme="dark"] .railCard, body.theme-dark .railCard { background: var(--v10-card-dark); border-color: rgba(255,255,255,.08); box-shadow:none; }
.railHead { display:flex; align-items:center; justify-content:space-between; gap: 10px; font-weight: 900; color: var(--ui-text,#0f172a); }
.railBadge { min-width: 28px; height: 28px; padding: 0 10px; border-radius: 999px; display:inline-flex; align-items:center; justify-content:center; background: rgba(79,124,255,.12); color: var(--ui-accent,#4f7cff); font-size: 12px; font-weight: 900; }
.upcomingList { margin-top: 12px; display:grid; gap: 10px; }
.upcomingItem { width:100%; text-align:left; background: rgba(255,255,255,.68); border:1px solid rgba(15,23,42,.08); border-radius: 16px; padding: 12px; cursor:pointer; color: inherit; }
body[data-theme="dark"] .upcomingItem, body.theme-dark .upcomingItem { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.08); }
.upcomingItem:hover { transform: translateY(-1px); box-shadow: 0 12px 22px rgba(15,23,42,.08); }
body[data-theme="dark"] .upcomingItem:hover, body.theme-dark .upcomingItem:hover { box-shadow:none; background: rgba(112,163,255,.08); }
.upcomingTop { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom: 6px; }
.upcomingDate { font-size: 12px; font-weight: 900; color: var(--ui-accent-2,#2f68ff); letter-spacing: .05em; text-transform: uppercase; }
.upcomingTime { font-size: 12px; font-weight: 800; color: var(--ui-muted,#64748b); }
.upcomingTitle { font-weight: 900; color: var(--ui-text,#0f172a); line-height: 1.25; }
.upcomingMeta { margin-top: 4px; color: var(--ui-muted,#64748b); font-size: 12px; }
.shortcutList { margin-top: 12px; display:grid; gap: 10px; }
.shortcutBtn { display:flex; align-items:center; justify-content:center; min-height: 44px; border-radius: 14px; background: rgba(255,255,255,.72); border:1px solid rgba(15,23,42,.08); color: var(--ui-text,#0f172a); font-weight: 800; text-decoration:none; cursor:pointer; }
body[data-theme="dark"] .shortcutBtn, body.theme-dark .shortcutBtn { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.08); color: var(--ui-text,#edf2f7); }
.shortcutBtn:hover { background: rgba(79,124,255,.08); color: var(--ui-accent-2,#2f68ff); }
.emptyState { padding: 14px; border-radius: 14px; text-align:center; color: var(--ui-muted,#64748b); background: rgba(15,23,42,.03); border:1px dashed rgba(15,23,42,.10); }
body[data-theme="dark"] .emptyState, body.theme-dark .emptyState { background: rgba(255,255,255,.02); border-color: rgba(255,255,255,.08); }

body.page-calendar .fc .fc-button {
  border-radius: 14px;
  min-height: 40px;
  font-weight: 800;
}
body.page-calendar .fc .fc-toolbar-title {
  font-size: 32px;
  letter-spacing: -.03em;
}
body.page-calendar .fc-day-today { background: rgba(79,124,255,.10) !important; }
body[data-theme="dark"].page-calendar .fc-day-today, body.theme-dark.page-calendar .fc-day-today { background: rgba(112,163,255,.14) !important; }
body.page-calendar .fc-event { transition: transform .15s ease, box-shadow .15s ease, filter .15s ease; }
body.page-calendar .fc-event:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(15,23,42,.12); filter: saturate(1.04); }

@media (max-width: 1100px) {
  .calendarWorkspace { grid-template-columns: 1fr; }
  .calendarRail { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .enterpriseStats { grid-template-columns: 1fr 1fr; }
  .enterpriseHero { flex-direction: column; align-items:flex-start; }
  .heroActions { width:100%; justify-content:flex-start; }
}
@media (max-width: 640px) {
  .enterpriseHero, .enterpriseStats, .calendarWorkspace { margin-left: 12px; margin-right: 12px; }
  .enterpriseStats { grid-template-columns: 1fr; }
  .calendarRail { grid-template-columns: 1fr; }
  .heroTitle { font-size: 24px; }
  .statValue { font-size: 28px; }
}
