/**
 * LaSaaS-style theme – teljes rendszer kinézete
 * Tiszta háttér, oldalsáv, fehér kártyák, egységes színvilág.
 */

:root {
  --saas-primary: #0d9488;
  --saas-primary-hover: #0f766e;
  --saas-primary-light: #ccfbf1;
  --saas-sidebar-width: 260px;
  --saas-sidebar-bg: #0f172a;
  --saas-sidebar-text: #e2e8f0;
  --saas-sidebar-hover: rgba(255, 255, 255, 0.08);
  --saas-sidebar-active: rgba(13, 148, 136, 0.25);
  --saas-page-bg: #f5f6f4;
  --saas-card-bg: #ffffff;
  --saas-card-border: #e2e8f0;
  --saas-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  --saas-text: #0f172a;
  --saas-text-muted: #64748b;
  --saas-input-border: #cbd5e1;
  --saas-input-focus: var(--saas-primary);
  --saas-nav-height: 56px;
}

/* Layout: oldalsávos – nincs top padding; felső navbar esetén a navbar.css padding-top marad */
body.theme-saas.has-navbar:not(.layout-top-nav) {
  padding-top: 0;
}

/* Felső navbar: tartalom teljes szélesség, nincs bal margó */
body.theme-saas.layout-top-nav .layout-main {
  flex-direction: column;
}
body.theme-saas.layout-top-nav .layout-main__content {
  margin-left: 0;
  width: 100%;
}

/* Fehér/szürke háttér (nincs bg.webp), vízjel látszódjon */
html.theme-saas::before {
  background: var(--saas-page-bg) !important;
  background-image: none !important;
}

/* Vízjel a tartalom fölött, halványan */
body.theme-saas .page-watermark {
  z-index: 5;
  pointer-events: none;
  opacity: 0.02;
}

body.theme-saas {
  font-family: 'Plus Jakarta Sans', 'Nunito', system-ui, sans-serif;
  display: flex;
  flex-direction: column;
}

/* Navbar alatt: magasság = padding-top + layout-main (nincs dupla min-height) */
body.theme-saas.has-navbar {
  min-height: auto;
}

/* Fő tartalom wrapper: kitölti a navbar alatti viewport-részt */
body.theme-saas .layout-main {
  display: flex;
  flex-direction: row;
  flex: 1 1 auto;
  min-height: 0;
  background: var(--saas-page-bg);
  margin-top: 0;
}
body.theme-saas.has-navbar .layout-main {
  flex: 0 0 auto;
  min-height: calc(100dvh - var(--nav-height, 56px) - var(--saas-nav-gap, 0.45rem));
  margin-top: 0;
}

body.theme-saas .layout-main__content {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-top: 0;
  width: 100%;
}

body.theme-saas .layout-main__content > .admin-page,
body.theme-saas .layout-main__content > .attendance-audit-page {
  padding: 0;
  margin-top: 10px;
  margin-bottom: 10px;
}

/* Tömeges esemény és csoportos beosztás – fehér tartalom háttér (ne szürke) */
body.theme-saas .layout-main__content > .bulk-events-page,
body.theme-saas .layout-main__content > .assign-schedule-page,
body.theme-saas .layout-main__content > .schedule-import-page,
body.theme-saas .layout-main__content > .user-create-page,
body.theme-saas .layout-main__content > .users-import-page,
body.theme-saas .layout-main__content > .oncall-overview-page,
body.theme-saas .layout-main__content > .bonus-rules-page,
body.theme-saas .layout-main__content > .company-workplaces-page,
body.theme-saas .layout-main__content > .company-logs-page,
body.theme-saas .layout-main__content > .ticket-new-page,
body.theme-saas .layout-main__content > .org-chart-page,
body.theme-saas .layout-main__content > .company-dashboard-page,
body.theme-saas .layout-main__content > .admin-root-page,
body.theme-saas .layout-main__content > .companies-index-page,
body.theme-saas .layout-main__content > .companies-edit-page,
body.theme-saas .layout-main__content > .companies-create-page,
body.theme-saas .layout-main__content > .positions-page,
body.theme-saas .layout-main__content > .activity-log-page,
body.theme-saas .layout-main__content > .special-days-page,
body.theme-saas .layout-main__content > .tickets-admin-page,
body.theme-saas .layout-main__content > .approve-leave-page,
body.theme-saas .layout-main__content > .profile-page {
  background: var(--saas-card-bg);
  margin-top: 10px;
  margin-bottom: 10px;
}

/* Admin – Cégek lista: nincs felső margó (.admin-page…companies-index-page + layout-main) */
body.theme-saas .layout-main__content > .companies-index-page {
  margin-top: 0;
}
body.theme-saas.admin-companies-page .layout-main {
  margin-top: 0;
}

/* Admin – Új cég: nincs felső margó */
body.theme-saas .layout-main__content > .companies-create-page {
  margin-top: 0;
}
body.theme-saas.admin-companies-create-page .layout-main {
  margin-top: 0;
}

/* Admin – Felhasználók lista */
body.theme-saas .layout-main__content > .users-manager-page {
  margin-top: 0;
}
body.theme-saas.admin-users-page .layout-main {
  margin-top: 0;
}

/* Admin – Felhasználó: új, import, szerkesztés */
body.theme-saas .layout-main__content > .user-create-page,
body.theme-saas .layout-main__content > .users-import-page,
body.theme-saas .layout-main__content > .user-edit-page {
  margin-top: 0;
}
body.theme-saas.admin-user-create-page .layout-main,
body.theme-saas.admin-users-import-page .layout-main,
body.theme-saas.admin-user-edit-page .layout-main {
  margin-top: 0;
}

/* Admin – Pozíciók */
body.theme-saas .layout-main__content > .positions-page {
  margin-top: 0;
}
body.theme-saas.admin-positions-page .layout-main {
  margin-top: 0;
}

/* Admin – Rendszernapló */
body.theme-saas .layout-main__content > .activity-log-page {
  margin-top: 0;
}
body.theme-saas.admin-activity-log-page .layout-main {
  margin-top: 0;
}

/* Admin – Kiemelt napok */
body.theme-saas .layout-main__content > .special-days-page {
  margin-top: 0;
}
body.theme-saas.admin-special-days-page .layout-main {
  margin-top: 0;
}

/* Admin – Jegyek */
body.theme-saas .layout-main__content > .tickets-admin-page {
  margin-top: 0;
}
body.theme-saas.admin-tickets-admin-page .layout-main {
  margin-top: 0;
}

/* Cégadmin dashboard és csempe-aloldalak (felső margó) */
body.theme-saas .layout-main__content > .company-dashboard-page,
body.theme-saas .layout-main__content > .login-audit-page,
body.theme-saas .layout-main__content > .org-chart-page,
body.theme-saas .layout-main__content > .company-workplaces-page,
body.theme-saas .layout-main__content > .company-logs-page,
body.theme-saas .layout-main__content > .company-settings-page,
body.theme-saas .layout-main__content > .ws-config-page,
body.theme-saas .layout-main__content > .vacation-admin-page,
body.theme-saas .layout-main__content > .specialties-page,
body.theme-saas .layout-main__content > .approve-leave-page,
body.theme-saas .layout-main__content > .attendance-admin-page,
body.theme-saas .layout-main__content > .attendance-audit-page,
body.theme-saas .layout-main__content > .oncall-overview-page,
body.theme-saas .layout-main__content > .bulk-events-page,
body.theme-saas .layout-main__content > .assign-schedule-page,
body.theme-saas .layout-main__content > .schedule-import-page,
body.theme-saas .layout-main__content > .groups-page,
body.theme-saas .layout-main__content > .groups-show-page,
body.theme-saas .layout-main__content > .org-units-page,
body.theme-saas .layout-main__content > .bonus-rules-page,
body.theme-saas .layout-main__content > .ticket-new-page {
  margin-top: 0;
}

body.theme-saas.admin-company-dashboard-page .layout-main,
body.theme-saas.admin-login-audit-page .layout-main,
body.theme-saas.admin-org-chart-page .layout-main,
body.theme-saas.admin-company-workplaces-page .layout-main,
body.theme-saas.admin-company-logs-page .layout-main,
body.theme-saas.admin-company-settings-page .layout-main,
body.theme-saas.admin-work-schedule-company-config-page .layout-main,
body.theme-saas.admin-vacation-admin-page .layout-main,
body.theme-saas.admin-specialties-page .layout-main,
body.theme-saas.admin-approve-leave-page .layout-main,
body.theme-saas.admin-attendance-admin-page .layout-main,
body.theme-saas.admin-attendance-audit-page .layout-main,
body.theme-saas.admin-oncall-overview-page .layout-main,
body.theme-saas.admin-bulk-events-page .layout-main,
body.theme-saas.admin-assign-schedule-page .layout-main,
body.theme-saas.admin-schedule-import-page .layout-main,
body.theme-saas.admin-groups-page .layout-main,
body.theme-saas.admin-groups-show-page .layout-main,
body.theme-saas.admin-org-units-page .layout-main,
body.theme-saas.admin-bonus-rules-ba-page .layout-main,
body.theme-saas.admin-bonus-rules-ba-create-page .layout-main,
body.theme-saas.admin-bonus-rules-ba-edit-page .layout-main,
body.theme-saas.admin-ticket-new-page .layout-main {
  margin-top: 0;
}

/* Általános kártya (glass-panel helyett) – .day-card nélkül, hogy az attendance oldalon külön lehessen állítani */
body.theme-saas .glass-panel:not(.day-card) {
  background: var(--saas-card-bg) !important;
  box-shadow: var(--saas-card-shadow) !important;
  backdrop-filter: none !important;
  color: var(--saas-text) !important;
}

body.theme-saas .glass-panel:not(.day-card)::before,
body.theme-saas .glass-panel:not(.day-card)::after {
  display: none !important;
}

/* Oldalfejléc (ws-config): padding + minimum magasság, mint a Profil / távollét (.profil-page-header, .leave-request-header) */
body.theme-saas .glass-panel.admin-header.ws-config-header {
  padding: 0.9rem 1rem !important;
  box-sizing: border-box;
  min-height: calc(2.5rem + 1.8rem);
}

/* Planzee naptár fejléc: letisztult keret (globális .glass-panel árnyék nélkül) */
body.theme-saas .calendar-wrapper .calendar-header-outer.glass-panel {
  border: 1px solid #ebebeb !important;
  box-shadow: none !important;
}

/* Gombok */
body.theme-saas .glass-btn,
body.theme-saas a.glass-btn {
  background: var(--saas-card-bg) !important;
  border: 1px solid var(--saas-input-border) !important;
  color: var(--saas-text) !important;
  box-shadow: var(--saas-card-shadow) !important;
}

body.theme-saas .glass-btn:hover,
body.theme-saas a.glass-btn:hover {
  background: #f8fafc !important;
  border-color: var(--saas-primary) !important;
  color: var(--saas-primary) !important;
}

body.theme-saas .glass-primary-btn,
body.theme-saas button.glass-primary-btn {
  background: var(--saas-primary) !important;
  border-color: var(--saas-primary) !important;
  color: #fff !important;
  box-shadow: 0 1px 2px rgba(13, 148, 136, 0.2) !important;
}

body.theme-saas .glass-primary-btn:hover,
body.theme-saas button.glass-primary-btn:hover {
  background: var(--saas-primary-hover) !important;
  filter: none !important;
}

/* Input, select */
body.theme-saas .glass-input,
body.theme-saas .glass-select,
body.theme-saas input.glass-input,
body.theme-saas select.glass-select {
  background: var(--saas-card-bg) !important;
  border: 1px solid var(--saas-input-border) !important;
  color: var(--saas-text) !important;
}

body.theme-saas .glass-input:focus,
body.theme-saas .glass-select:focus {
  outline: none;
  border-color: var(--saas-primary) !important;
  box-shadow: 0 0 0 3px var(--saas-primary-light) !important;
}

/* Táblázatok */
body.theme-saas .glass-table {
  background: var(--saas-card-bg) !important;
  border: 1px solid var(--saas-card-border) !important;
  box-shadow: var(--saas-card-shadow) !important;
}

body.theme-saas .glass-table th,
body.theme-saas .glass-th {
  background: var(--saas-primary-light) !important;
  color: var(--saas-primary-hover) !important;
  border-color: var(--saas-card-border) !important;
}

body.theme-saas .glass-table tbody tr:nth-child(odd),
body.theme-saas .glass-table tbody tr:nth-child(even) {
  background: var(--saas-card-bg) !important;
}

body.theme-saas .glass-table tbody tr:hover {
  background: #f8fafc !important;
}

/* Footer a tartalom alján – margin-top: auto a flex láncban */
body.theme-saas .app-footer {
  background: var(--saas-card-bg) !important;
  border-top: 1px solid var(--saas-card-border) !important;
  margin-top: auto;
  flex-shrink: 0;
}

/* Admin dashboard – ugyanaz a kártya stílus (events: saját semleges panel, lásd events.css) */
body.theme-saas .admin-dashboard:not(.events-page) .glass-panel {
  background: var(--saas-card-bg) !important;
  border: 1px solid #ebebeb !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  backdrop-filter: none !important;
}
body.theme-saas .admin-dashboard:not(.events-page) .glass-panel::before,
body.theme-saas .admin-dashboard:not(.events-page) .glass-panel::after {
  display: none !important;
}

/* Back link / Vissza gomb */
body.theme-saas .glass-btn.back-link,
body.theme-saas .btn-back {
  color: var(--saas-primary) !important;
  border-color: var(--saas-primary) !important;
}

body.theme-saas .glass-btn.back-link:hover,
body.theme-saas .btn-back:hover {
  background: var(--saas-primary-light) !important;
  color: var(--saas-primary-hover) !important;
}

/* ===== Guest / Login oldal – SaaS stílus ===== */
body.guest-page.theme-saas {
  background: var(--saas-page-bg) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

body.guest-page.theme-saas .login-page-wrapper {
  background: transparent;
}

/* SaaS vendég: háttér/szöveg/blur – keret és radius: login.css .login-container */
body.guest-page.theme-saas .login-container {
  background: #fffffffc !important;
  color: var(--saas-text) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.guest-page.theme-saas .login-container::before,
body.guest-page.theme-saas .login-container::after,
body.guest-page.theme-saas .login-container .corner-glow {
  display: none !important;
}

body.guest-page.theme-saas .login-container h1 {
  color: var(--saas-text) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}

body.guest-page.theme-saas .login-container .login-subtitle {
  color: var(--saas-text-muted, #64748b) !important;
  text-shadow: none;
}

body.guest-page.theme-saas .login-container .input-wrapper {
  background: var(--saas-card-bg) !important;
  border-color: var(--saas-input-border) !important;
  color: var(--saas-text) !important;
}

body.guest-page.theme-saas .login-container .input-wrapper input {
  color: var(--saas-text) !important;
}

body.guest-page.theme-saas .login-container .input-icon {
  color: var(--saas-text-muted) !important;
}

body.guest-page.theme-saas .login-container .input-container label {
  color: var(--saas-text) !important;
}

body.guest-page.theme-saas .login-container .forgot-password-link {
  color: #2563eb !important;
}

body.guest-page.theme-saas .login-container .remember-label,
body.guest-page.theme-saas .login-container .custom-checkbox-text {
  color: #475569 !important;
}

body.guest-page.theme-saas .login-container .btn-primary {
  background: linear-gradient(180deg, rgba(59, 130, 246, 0.92), rgba(37, 99, 235, 0.92)) !important;
  border: 1px solid #1d4ed8 !important;
  border-radius: 0.75rem !important;
  color: #fff !important;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.2) !important;
}

body.guest-page.theme-saas .login-container .btn-primary:hover {
  filter: brightness(1.05);
}

body.guest-page.theme-saas .login-container .error-banner {
  background: #fef2f2;
  border-color: #fecaca;
  color: #b91c1c;
}

body.guest-page.theme-saas .login-container .notice-banner {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}

body.guest-page.theme-saas .login-container .notice-banner__title,
body.guest-page.theme-saas .login-container .notice-banner__text {
  color: inherit;
}

body.guest-page.theme-saas .app-footer {
  background: var(--saas-card-bg) !important;
  border-top: 1px solid var(--saas-card-border) !important;
  margin-top: auto;
  flex-shrink: 0;
}

body.attendance-index .attendance-content {
  padding-top: 0.45rem;
}
body.theme-saas.leave-request-index .layout-main__content > .leave-request-page {
  margin-top: 0;
}

/* Rövid tartalom: flex lánc + footer margin-top:auto – nincs üres rés a footer alatt */
body.theme-saas.attendance-index .layout-main__content > .attendance-page {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}
body.theme-saas.attendance-index .attendance-page > .attendance-content {
  flex: 1 1 auto;
  min-height: 0;
}
