/* ============================================================
   services5 Skin v0.7 - Clean Business
   DNN 10.3.3 / Bootstrap 5.3.8 / Font Awesome
   ============================================================ */

/* 01. BASIC / VARIABLES */
:root {
  --ws-primary: #7b2cbf;
  --ws-primary-dark: #5e1f94;
  --ws-primary-soft: #f4edfb;
  --ws-orange: #ff8a2a;
  --ws-coral: #e84f70;
  --ws-green: #2f9e64;
  --ws-bg: #f7f8fb;
  --ws-surface: #ffffff;
  --ws-border: #e7e9ef;
  --ws-text: #202533;
  --ws-muted: #72798a;
  --ws-sidebar-width: 236px;
  --ws-sidebar-collapsed-width: 76px;
  --ws-persona-width: 80px;
  --ws-topbar-height: 68px;
  --ws-radius: 12px;
  --ws-shadow: 0 4px 18px rgba(32,37,51,.06);
  /* Compatibility aliases for shared module styles */
  --ws-blue: var(--ws-primary);
  --ws-yellow: var(--ws-orange);
  --ws-white: var(--ws-surface);
  --ws-dark-gray: var(--ws-text);
  --ws-light-gray: #f3f4f7;
  --ws-blue-soft-04: rgba(123,44,191,.04);
  --ws-blue-soft-12: rgba(123,44,191,.12);
  --ws-overlay-bg: rgba(30,34,44,.30);
}
html, body { min-height: 100%; }
body { margin: 0; background: var(--ws-bg); color: var(--ws-text); font-family: "Segoe UI", Arial, sans-serif; }
.min-w-0 { min-width: 0; }
.ws-theme, .ws-login-page, .ws-popup { color: var(--ws-text); font-size: 15px; line-height: 1.5; }
.ws-theme a, .ws-login-page a, .ws-popup a { color: var(--ws-primary); }


/* 02. BASIC / TYPOGRAPHY + 03. SKIN LAYOUT + 04. NAVIGATION + 05. DASHBOARD + 06. TABLES + 07. FORMS + 08. OVERLAYS + 09. LOGIN + 10. DNN CORE */

/* Shell */
.ws-theme { min-height: 100vh; background: var(--ws-bg); }
.ws-sidebar { position: fixed; z-index: 1030; inset: 0 auto 0 0; width: var(--ws-sidebar-width); background: #fff; border-right: 1px solid var(--ws-border); display: flex; flex-direction: column; transition: width .2s ease, left .2s ease; }
.ws-sidebar-brand { min-height: 92px; display: flex; align-items: center; padding: 18px 24px; border-bottom: 1px solid var(--ws-border); }
.ws-brand-logo, .ws-mobile-brand img { display: block; width: auto; max-width: 150px; max-height: 50px; object-fit: contain; }
.ws-sidebar-nav { flex: 1; padding: 16px 12px; overflow-y: auto; }
.ws-nav-list, .ws-nav-submenu { list-style: none; margin: 0; padding: 0; }
.ws-nav-item { margin-bottom: 4px; }
.ws-nav-link { min-height: 44px; display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 9px; color: #535b6d; text-decoration: none; transition: .15s ease; }
.ws-nav-link:hover { color: var(--ws-primary); background: #f8f5fc; }
.ws-nav-item.selected > .ws-nav-link { color: var(--ws-primary); background: var(--ws-primary-soft); font-weight: 600; }
.ws-nav-icon { width: 21px; text-align: center; font-size: 16px; }
.ws-nav-text { flex: 1; white-space: nowrap; }
.ws-nav-chevron { font-size: 10px; opacity: .65; transition: transform .15s ease; }
.ws-nav-link[aria-expanded="true"] .ws-nav-chevron { transform: rotate(180deg); }
.ws-nav-submenu { display: none; margin: 4px 0 8px 20px; padding-left: 12px; border-left: 1px solid var(--ws-border); }
.ws-nav-submenu.is-open, .ws-nav-item.active-path > .ws-nav-submenu { display: block; }
.ws-nav-submenu .ws-nav-link { min-height: 38px; font-size: .92rem; }
.ws-sidebar-collapse { border: 0; border-top: 1px solid var(--ws-border); background: #fff; color: var(--ws-muted); min-height: 52px; align-items: center; gap: 12px; padding: 0 24px; }
.ws-sidebar-collapse:hover { background: #fafafa; color: var(--ws-primary); }
.ws-shell { margin-left: var(--ws-sidebar-width); min-height: 100vh; display: flex; flex-direction: column; transition: margin-left .2s ease; }
.ws-topbar { position: sticky; top: 0; z-index: 1020; min-height: var(--ws-topbar-height); background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--ws-border); display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 9px 26px; }
.ws-topbar-context { min-width: 0; flex-direction: column; line-height: 1.15; }
.ws-topbar-eyebrow { color: var(--ws-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; }
.ws-topbar-current { color: var(--ws-text); font-size: .98rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ws-header-pane { display: flex; align-items: center; gap: 10px; }
.ws-user-area { display: flex; align-items: center; gap: 16px; }
.ws-account { display: flex; align-items: center; gap: 9px; padding-left: 15px; border-left: 1px solid var(--ws-border); }
.ws-account-icon { width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #f2f3f6; color: #505768; font-size: 1.1rem; }
.ws-account-image { object-fit: cover; padding: 0; border: 1px solid var(--ws-border); }
.ws-account-links { display: flex; flex-direction: column; line-height: 1.2; }
.ws-account-links a { text-decoration: none; font-weight: 600; }
.ws-account-links .ws-login a { color: var(--ws-muted); font-size: .78rem; font-weight: 500; }
.ws-mobile-menu { color: var(--ws-text); border: 1px solid var(--ws-border); }
.ws-main { flex: 1; width: 100%; padding: 26px; }
.ws-footer { padding: 16px 26px; font-size: .82rem; color: var(--ws-muted); border-top: 1px solid var(--ws-border); background: #fff; }
.ws-footer a { color: var(--ws-muted); text-decoration: none; }

/* Page head */
.ws-page-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 22px; margin-bottom: 22px; }
.ws-page-title { margin: 5px 0 0; color: var(--ws-text); font-size: clamp(1.5rem, 2.1vw, 2rem); font-weight: 700; letter-spacing: -.025em; }
.ws-breadcrumbs { display: flex; align-items: center; gap: 7px; min-height: 20px; color: var(--ws-muted); font-size: .8rem; }
.ws-breadcrumb-home { color: var(--ws-primary); }
.ws-breadcrumb a, .ws-breadcrumb span { color: var(--ws-muted); text-decoration: none; }
.ws-breadcrumb i { margin: 0 6px; font-size: .6rem; opacity: .55; }
.ws-breadcrumb-pane:not(:empty) { margin-top: 7px; color: var(--ws-muted); font-size: .9rem; }
.ws-page-action-pane { flex: 0 0 auto; }
.ws-banner-pane:not(:empty), .ws-content-pane:not(:empty) { margin-bottom: 22px; }
.ws-wide-pane:not(:empty), .ws-fluid-pane:not(:empty) { margin-top: 22px; }
.ws-dashboard-kpis, .ws-dashboard-grid { margin-bottom: 22px; }

/* Cards / dashboard */
.ws-card, .ws-section-card, .ws-stat-card, .DnnModule > .ws-container-card { background: #fff; border: 1px solid var(--ws-border); border-radius: var(--ws-radius); box-shadow: var(--ws-shadow); }
.ws-stat-card { padding: 20px; height: 100%; }
.ws-stat-card-icon { width: 42px; height: 42px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: var(--ws-primary-soft); color: var(--ws-primary); font-size: 1.05rem; }
.ws-stat-card-label { color: var(--ws-muted); font-size: .78rem; font-weight: 600; }
.ws-stat-card-value { margin-top: 7px; color: var(--ws-text); font-size: 1.8rem; line-height: 1; font-weight: 700; }
.ws-section-card { overflow: hidden; }
.ws-section-card-header { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 17px 20px; border-bottom: 1px solid var(--ws-border); }
.ws-section-card-title { margin: 0; color: var(--ws-text); font-size: 1rem; font-weight: 700; }
.ws-section-card-body { padding: 20px; }

/* Buttons */
.ws-theme .btn, .ws-popup .btn, .ws-login-page .btn { border-radius: 8px; min-height: 40px; font-weight: 600; }
.ws-theme .btn-primary, .ws-popup .btn-primary, .ws-login-page .btn-primary,
.ws-theme .dnnPrimaryAction, .ws-popup .dnnPrimaryAction, .ws-login-page .dnnPrimaryAction {
  background: var(--ws-primary) !important; border: 1px solid var(--ws-primary) !important; color: #fff !important; box-shadow: none !important; text-shadow: none !important;
}
.ws-theme .btn-primary:hover, .ws-popup .btn-primary:hover, .ws-login-page .btn-primary:hover,
.ws-theme .dnnPrimaryAction:hover, .ws-popup .dnnPrimaryAction:hover, .ws-login-page .dnnPrimaryAction:hover { background: var(--ws-primary-dark) !important; border-color: var(--ws-primary-dark) !important; }
.ws-theme .btn-outline-primary { color: var(--ws-primary); border-color: var(--ws-primary); }
.ws-theme .btn-outline-primary:hover { color: #fff; background: var(--ws-primary); }
.ws-theme .dnnSecondaryAction, .ws-popup .dnnSecondaryAction, .ws-login-page .dnnSecondaryAction { border: 1px solid var(--ws-border) !important; background: #fff !important; color: var(--ws-text) !important; box-shadow: none !important; text-shadow: none !important; }

/* Tables / lists */
.ws-theme .table { --bs-table-bg: transparent; margin-bottom: 0; color: var(--ws-text); }
.ws-theme .table > :not(caption) > * > * { padding: .84rem .75rem; border-bottom-color: var(--ws-border); vertical-align: middle; }
.ws-theme .table thead th { background: #fafbfc; color: var(--ws-muted); font-size: .76rem; font-weight: 700; white-space: nowrap; }
.ws-theme .table-hover > tbody > tr:hover > * { --bs-table-bg-state: #fbf9fd; }
.ws-theme .pagination { --bs-pagination-color: var(--ws-primary); --bs-pagination-active-bg: var(--ws-primary); --bs-pagination-active-border-color: var(--ws-primary); --bs-pagination-border-color: var(--ws-border); }
.ws-status-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; font-size: .76rem; font-weight: 600; }
.ws-status-open { background: #fff0e2; color: #b75c00; }
.ws-status-progress { background: var(--ws-primary-soft); color: var(--ws-primary-dark); }
.ws-status-success { background: #e4f5eb; color: #24784c; }
.ws-status-danger { background: #fde8ed; color: #b83c58; }

/* Forms */
.ws-theme label, .ws-popup label, .ws-login-page label,
.ws-theme .dnnFormLabel, .ws-popup .dnnFormLabel, .ws-login-page .dnnFormLabel { color: #4c5363; font-size: .88rem; font-weight: 600; }
.ws-theme .form-control, .ws-theme .form-select, .ws-popup .form-control, .ws-popup .form-select, .ws-login-page .form-control, .ws-login-page .form-select,
.ws-theme input[type="text"], .ws-theme input[type="password"], .ws-theme input[type="email"], .ws-theme input[type="number"], .ws-theme input[type="tel"], .ws-theme input[type="url"], .ws-theme input[type="search"], .ws-theme input[type="date"], .ws-theme textarea, .ws-theme select,
.ws-popup input[type="text"], .ws-popup input[type="password"], .ws-popup input[type="email"], .ws-popup textarea, .ws-popup select,
.ws-login-page input[type="text"], .ws-login-page input[type="password"], .ws-login-page input[type="email"], .ws-login-page textarea, .ws-login-page select {
  box-sizing: border-box; width: 100%; min-height: 42px; margin: 0; padding: 8px 11px; border: 1px solid #d8dce5; border-radius: 8px; background: #fff; color: var(--ws-text); font: inherit; box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.ws-theme textarea, .ws-popup textarea, .ws-login-page textarea { min-height: 108px; resize: vertical; }
.ws-theme input:focus, .ws-theme textarea:focus, .ws-theme select:focus, .ws-popup input:focus, .ws-popup textarea:focus, .ws-popup select:focus, .ws-login-page input:focus, .ws-login-page textarea:focus, .ws-login-page select:focus { border-color: #a55bd4 !important; box-shadow: 0 0 0 3px rgba(123,44,191,.10) !important; outline: 0; }
.ws-theme input[type="checkbox"], .ws-theme input[type="radio"], .ws-popup input[type="checkbox"], .ws-popup input[type="radio"], .ws-login-page input[type="checkbox"], .ws-login-page input[type="radio"] { accent-color: var(--ws-primary); }
.ws-theme .dnnFormItem, .ws-popup .dnnFormItem, .ws-login-page .dnnFormItem { margin-bottom: 15px; }
.ws-theme .dnnFormItem > label, .ws-popup .dnnFormItem > label, .ws-login-page .dnnFormItem > label,
.ws-theme .dnnFormItem > .dnnLabel, .ws-popup .dnnFormItem > .dnnLabel, .ws-login-page .dnnFormItem > .dnnLabel { display: block; float: none; width: auto; margin: 0 0 6px; padding: 0; text-align: left; }

/* Bootstrap modal + generic overlays */
.ws-theme .modal-backdrop.show, body .modal-backdrop.show { opacity: .32; }
.ws-theme .modal-content, .ws-popup .modal-content { border: 0; border-radius: 13px; box-shadow: 0 18px 50px rgba(20,24,34,.18); overflow: hidden; }
.ws-theme .modal-header, .ws-popup .modal-header { padding: 18px 22px; border-bottom: 1px solid var(--ws-border); }
.ws-theme .modal-title, .ws-popup .modal-title { font-size: 1.02rem; font-weight: 700; }
.ws-theme .modal-body, .ws-popup .modal-body { padding: 22px; }
.ws-theme .modal-footer, .ws-popup .modal-footer { padding: 14px 22px; border-top: 1px solid var(--ws-border); background: #fafbfc; }
.ws-overlay { position: fixed; z-index: 1055; inset: 0; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(30,34,44,.30); }
.ws-overlay-panel { width: min(820px, calc(100vw - 32px)); max-height: calc(100vh - 48px); display: flex; flex-direction: column; background: #fff; border-radius: 13px; box-shadow: 0 18px 50px rgba(20,24,34,.18); overflow: hidden; }
.ws-overlay-header, .ws-overlay-footer { flex: 0 0 auto; padding: 17px 22px; }
.ws-overlay-header { border-bottom: 1px solid var(--ws-border); }
.ws-overlay-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 22px; }
.ws-overlay-footer { border-top: 1px solid var(--ws-border); background: #fafbfc; }

/* Login */
.ws-login-page { position: relative; min-height: 100vh; overflow: hidden; background: linear-gradient(135deg, #f8f7fb 0%, #ffffff 48%, #f6f2fa 100%); }
.ws-login-decoration { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .18; pointer-events: none; }
.ws-login-decoration-one { width: 520px; height: 520px; right: -180px; top: -170px; background: linear-gradient(135deg, var(--ws-primary), var(--ws-orange)); }
.ws-login-decoration-two { width: 420px; height: 420px; left: -180px; bottom: -160px; background: linear-gradient(135deg, var(--ws-coral), var(--ws-primary)); }
.ws-login-wrap { position: relative; z-index: 2; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 30px 16px; }
.ws-login-card { width: min(100%, 440px); background: rgba(255,255,255,.98); border: 1px solid var(--ws-border); border-radius: 16px; box-shadow: 0 18px 55px rgba(40,37,50,.12); padding: 38px; }
.ws-login-logo { text-align: center; margin-bottom: 30px; }
.ws-login-logo img { max-width: 220px; max-height: 80px; }
.ws-login-intro { margin-bottom: 28px; }
.ws-login-footer { text-align: center; margin-top: 22px; color: var(--ws-muted); font-size: .8rem; }
.ws-popup { min-height: 100vh; padding: 20px; background: #fff; }

/* Sidebar collapsed */
.ws-sidebar-collapsed .ws-sidebar { width: var(--ws-sidebar-collapsed-width); }
.ws-sidebar-collapsed .ws-shell { margin-left: var(--ws-sidebar-collapsed-width); }
.ws-sidebar-collapsed .ws-nav-text, .ws-sidebar-collapsed .ws-nav-chevron, .ws-sidebar-collapsed .ws-sidebar-collapse span { display: none; }
.ws-sidebar-collapsed .ws-sidebar-brand { padding-inline: 12px; justify-content: center; overflow: hidden; }
.ws-sidebar-collapsed .ws-brand-logo { max-width: 48px; object-fit: cover; object-position: right center; }
.ws-sidebar-collapsed .ws-nav-link { justify-content: center; padding-inline: 10px; }
.ws-sidebar-collapsed .ws-nav-submenu { display: none; }
.ws-sidebar-collapsed .ws-sidebar-collapse { justify-content: center; padding-inline: 0; }
.ws-sidebar-collapsed .ws-sidebar-collapse i { transform: rotate(180deg); }
.ws-offcanvas { width: 292px !important; background: #fff; }
.ws-offcanvas .ws-sidebar-nav, .ws-offcanvas .ws-nav-list { padding: 8px; }

/* DNN edit mode */
.ws-pane:empty { min-height: 0; margin: 0; padding: 0; }
.dnnEditState .ws-pane { min-height: 20px; }
.dnnEditState .ws-pane:empty { display: block; min-height: 20px !important; max-height: 20px !important; height: 20px !important; margin-bottom: 6px !important; border: 1px dashed rgba(123,44,191,.20); border-radius: 7px; }
.dnnEditState .dnnModuleManager.dnnSortable:not(:has(.DnnModule)), .dnnEditState .ws-pane .dnnModuleManager.dnnSortable:not(:has(.DnnModule)) { min-height: 20px !important; max-height: 20px !important; height: 20px !important; overflow: visible !important; }
.ws-header-pane:empty, .ws-breadcrumb-pane:empty, .ws-page-action-pane:empty { min-width: 0; width: 0; height: 0; overflow: visible; }
html body .ws-dnn-module-dialog-viewport { width: min(900px, calc(100vw - 48px)) !important; max-width: min(900px, calc(100vw - 48px)) !important; max-height: calc(100vh - 145px) !important; overflow: auto !important; border-radius: 12px !important; box-shadow: 0 18px 55px rgba(20,24,34,.22) !important; }

/* Persona Bar */
@media (min-width: 992px) {
  body.ws-persona-present .ws-sidebar, .personabar-visible .ws-sidebar { left: var(--ws-persona-width) !important; }
  body.ws-persona-present .ws-shell, .personabar-visible .ws-shell { margin-left: calc(var(--ws-sidebar-width) + var(--ws-persona-width)) !important; }
  body.ws-persona-present .ws-theme.ws-sidebar-collapsed .ws-shell, .personabar-visible .ws-theme.ws-sidebar-collapsed .ws-shell { margin-left: calc(var(--ws-sidebar-collapsed-width) + var(--ws-persona-width)) !important; }
}

@media (max-width: 991.98px) {
  .ws-sidebar { display: none; }
  .ws-shell { margin-left: 0; }
  .ws-main { padding: 20px 16px; }
  .ws-topbar { padding-inline: 16px; }
  .ws-page-head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .ws-page-action-pane { width: 100%; }
  .ws-account { padding-left: 0; border-left: 0; }
  body.ws-persona-present .ws-shell, .personabar-visible .ws-shell { margin-left: var(--ws-persona-width) !important; width: calc(100% - var(--ws-persona-width)) !important; }
  body.ws-persona-present .ws-offcanvas.offcanvas-start, .personabar-visible .ws-offcanvas.offcanvas-start { left: var(--ws-persona-width) !important; }
}
@media (max-width: 575.98px) {
  .ws-topbar { min-height: 62px; }
  .ws-account-links, .ws-breadcrumbs { display: none; }
  .ws-page-title { margin-top: 0; }
  .ws-login-card { padding: 28px 22px; border-radius: 13px; }
  .ws-overlay { padding: 10px; align-items: stretch; }
  .ws-overlay-panel { width: 100%; max-height: 100%; border-radius: 10px; }
  html body .ws-dnn-module-dialog-viewport { top: 56px !important; width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px) !important; max-height: calc(100vh - 115px) !important; }
}


/* ============================================================
   11. SHARED COMPONENTS / DNN COMPATIBILITY
   ============================================================ */
.ws-dashboard-kpis {
margin-bottom: 24px;
}

.ws-dashboard-grid {
margin-bottom: 24px;
}

.ws-dashboard-kpi-pane:empty {
min-height: 0;
}

.ws-dashboard-kpi-pane:not(:empty) {
height: 100%;
}

.ws-dashboard-kpi-pane > .DnnModule {
height: 100%; margin-bottom: 0;
}

.ws-dashboard-kpi-pane .ws-container-card, .ws-dashboard-kpi-pane .ws-container-white {
height: 100%;
}

.dnnEditState .ws-dashboard-kpi-pane:empty {
min-height: 90px;
}

.ws-container-white {
background: var(--ws-white);
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  box-shadow: var(--ws-shadow);
  padding: 24px;
  height: 100%;
}

.ws-container-white > :last-child {
margin-bottom: 0;
}

@media (max-width: 575.98px) {
  .ws-container-white {
padding: 18px;
  }
}

.ws-kpi-card {
position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 118px;
  padding: 22px;
  background: var(--ws-white);
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  box-shadow: var(--ws-shadow);
  overflow: hidden;
}

.ws-kpi-card::after {
content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: var(--ws-yellow);
}

.ws-kpi-icon {
flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(248,179,52,.18);
  color: var(--ws-blue);
  font-size: 1.2rem;
}

.ws-kpi-copy {
min-width: 0;
}

.ws-kpi-label {
color: var(--ws-muted); font-size: .8rem; font-weight: 600;
}

.ws-kpi-value {
margin-top: 3px; color: var(--ws-blue); font-size: 1.85rem; line-height: 1.05; font-weight: 750;
}

.ws-kpi-meta {
margin-top: 5px; color: var(--ws-muted); font-size: .76rem;
}

.ws-dashboard-panel {
background: var(--ws-white);
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  box-shadow: var(--ws-shadow);
  overflow: hidden;
}

.ws-dashboard-panel-head {
display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--ws-border);
}

.ws-dashboard-panel-title {
margin: 0; color: var(--ws-blue); font-size: 1rem; font-weight: 700;
}

.ws-dashboard-panel-link {
color: var(--ws-blue); font-size: .82rem; font-weight: 600; text-decoration: none;
}

.ws-dashboard-panel-link:hover {
color: var(--ws-dark-gray);
}

.ws-dashboard-panel-body {
padding: 20px 22px;
}

.ws-quick-actions {
display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
}

.ws-quick-action {
min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--ws-border);
  border-radius: 10px;
  color: var(--ws-blue);
  text-decoration: none;
  background: #fff;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.ws-quick-action:hover {
transform: translateY(-1px); border-color: rgba(15,30,68,.24); box-shadow: 0 5px 14px rgba(15,30,68,.07); color: var(--ws-blue);
}

.ws-quick-action i {
color: var(--ws-yellow); font-size: 1.25rem;
}

.ws-quick-action span {
font-size: .86rem; font-weight: 650;
}

.ws-status-list, .ws-activity-list {
list-style: none; margin: 0; padding: 0;
}

.ws-status-item, .ws-activity-item {
display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--ws-border);
}

.ws-status-item:first-child, .ws-activity-item:first-child {
padding-top: 0;
}

.ws-status-item:last-child, .ws-activity-item:last-child {
padding-bottom: 0; border-bottom: 0;
}

.ws-status-item-main, .ws-activity-item-main {
min-width: 0; flex: 1;
}

.ws-status-name, .ws-activity-title {
color: var(--ws-text); font-size: .88rem; font-weight: 650;
}

.ws-status-detail, .ws-activity-meta {
margin-top: 2px; color: var(--ws-muted); font-size: .76rem;
}

.ws-status-badge {
flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border-radius: 999px; background: #edf8f1; color: #237445; font-size: .72rem; font-weight: 700;
}

.ws-status-badge.warning {
background: #fff4dc; color: #8a5c00;
}

.ws-status-badge.inactive {
background: #f1f2f4; color: #666970;
}

.ws-activity-icon {
flex: 0 0 34px; width: 34px; height: 34px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; background: rgba(15,30,68,.065); color: var(--ws-blue);
}

.ws-dashboard-table .table-responsive {
margin: 0;
}

.ws-dashboard-table .table td:first-child, .ws-dashboard-table .table th:first-child {
padding-left: 0;
}

.ws-dashboard-table .table td:last-child, .ws-dashboard-table .table th:last-child {
padding-right: 0;
}

@media (max-width: 575.98px) {
  .ws-kpi-card {
min-height: 102px; padding: 18px;
  }

  .ws-kpi-icon {
flex-basis: 42px; width: 42px; height: 42px;
  }

  .ws-kpi-value {
font-size: 1.55rem;
  }

  .ws-dashboard-panel-head, .ws-dashboard-panel-body {
padding-left: 18px; padding-right: 18px;
  }

  .ws-quick-actions {
grid-template-columns: 1fr;
  }
}

.dnnEditState .ws-theme, .dnnEditState .ws-shell, .dnnEditState .ws-main {
transform: none !important;
  filter: none !important;
  perspective: none !important;
}

html body .ws-dnn-module-dialog-viewport {
position: fixed !important;
  top: 90px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  width: min(820px, calc(100vw - 180px)) !important;
  max-width: min(820px, calc(100vw - 180px)) !important;
  height: auto !important;
  max-height: calc(100vh - 200px) !important;
  overflow: hidden !important;
  z-index: 2147483000 !important;
}

html body .ws-dnn-module-dialog-viewport .ws-dnn-module-dialog-scroll {
max-height: calc(100vh - 290px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

@media (max-width: 991.98px) {
  html body .ws-dnn-module-dialog-viewport {
top: 72px !important;
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
    max-height: calc(100vh - 150px) !important;
  }

  html body .ws-dnn-module-dialog-viewport .ws-dnn-module-dialog-scroll {
max-height: calc(100vh - 235px) !important;
  }
}

@media (max-width: 575.98px) {
  html body .ws-dnn-module-dialog-viewport {
top: 56px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 115px) !important;
  }
}

.ws-pane:empty {
min-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.ws-header-pane:empty, .ws-breadcrumb-pane:empty, .ws-page-action-pane:empty {
min-width: 0;
  width: 0;
  height: 0;
  overflow: visible;
}

.dnnEditState .ws-pane .dnnModuleManager.dnnSortable:not(:has(.DnnModule)) {
min-height: 20px !important;
  max-height: 20px !important;
  height: 20px !important;
}

@media (prefers-reduced-motion: reduce) {
  .ws-login-video {
display: none;
  }
}

.ws-theme h1, .ws-login-page h1, .ws-popup h1, .ws-theme h2, .ws-login-page h2, .ws-popup h2, .ws-theme h3, .ws-login-page h3, .ws-popup h3, .ws-theme h4, .ws-login-page h4, .ws-popup h4, .ws-theme h5, .ws-login-page h5, .ws-popup h5, .ws-theme h6, .ws-login-page h6, .ws-popup h6 {
margin-top: 0;
  margin-bottom: .65em;
  color: var(--ws-blue);
  font-weight: 700;
  line-height: 1.2;
}

.ws-theme p, .ws-login-page p, .ws-popup p {
margin-top: 0;
  margin-bottom: 1rem;
}

.ws-theme a, .ws-login-page a, .ws-popup a {
color: var(--ws-blue);
  text-decoration: underline;
  transition: color .15s ease, text-decoration-color .15s ease;
}

.ws-theme a:hover, .ws-login-page a:hover, .ws-popup a:hover {
color: #203b7a;
  text-decoration: none;
}

.ws-theme ul, .ws-login-page ul, .ws-popup ul, .ws-theme ol, .ws-login-page ol, .ws-popup ol {
margin: 0;
  padding-left: 0;
}

.ws-theme li, .ws-login-page li, .ws-popup li {
margin-bottom: .3rem;
}

.ws-theme ul li::marker, .ws-login-page ul li::marker, .ws-popup ul li::marker {
color: var(--ws-yellow);
}

.ws-theme label, .ws-login-page label, .ws-popup label, .ws-theme .dnnFormLabel, .ws-login-page .dnnFormLabel, .ws-popup .dnnFormLabel {
color: var(--ws-dark-gray);
  font-size: .9rem;
  font-weight: 600;
}

.ws-theme input[type="text"], .ws-theme input[type="password"], .ws-theme input[type="email"], .ws-theme input[type="number"], .ws-theme input[type="tel"], .ws-theme input[type="url"], .ws-theme input[type="search"], .ws-theme input[type="date"], .ws-theme input[type="time"], .ws-theme textarea, .ws-theme select, .ws-login-page input[type="text"], .ws-login-page input[type="password"], .ws-login-page input[type="email"], .ws-login-page input[type="number"], .ws-login-page input[type="tel"], .ws-login-page input[type="url"], .ws-login-page input[type="search"], .ws-login-page textarea, .ws-login-page select, .ws-popup input[type="text"], .ws-popup input[type="password"], .ws-popup input[type="email"], .ws-popup textarea, .ws-popup select, .ws-theme .dnnFormItem input[type="text"], .ws-theme .dnnFormItem input[type="password"], .ws-theme .dnnFormItem textarea, .ws-theme .dnnFormItem select, .ws-login-page .dnnFormItem input[type="text"], .ws-login-page .dnnFormItem input[type="password"], .ws-login-page .dnnFormItem textarea, .ws-login-page .dnnFormItem select {
box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--ws-light-gray);
  border-radius: 8px;
  outline: 0;
  background: #fff;
  color: var(--ws-text);
  font: inherit;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.ws-theme input:focus, .ws-theme textarea:focus, .ws-theme select:focus, .ws-login-page input:focus, .ws-login-page textarea:focus, .ws-login-page select:focus, .ws-popup input:focus, .ws-popup textarea:focus, .ws-popup select:focus {
border-color: var(--ws-yellow) !important;
  box-shadow: 0 0 0 3px rgba(248,179,52,.20) !important;
}

.ws-theme input[type="checkbox"], .ws-theme input[type="radio"], .ws-login-page input[type="checkbox"], .ws-login-page input[type="radio"], .ws-popup input[type="checkbox"], .ws-popup input[type="radio"] {
width: 18px;
  height: 18px;
  margin: 0 7px 0 0;
  vertical-align: -3px;
  accent-color: var(--ws-yellow);
}

.ws-theme .dnnForm, .ws-login-page .dnnForm, .ws-popup .dnnForm {
color: var(--ws-text);
}

.ws-theme .dnnFormItem, .ws-login-page .dnnFormItem, .ws-popup .dnnFormItem {
margin-bottom: 16px;
}

.ws-theme .dnnFormItem > label, .ws-login-page .dnnFormItem > label, .ws-popup .dnnFormItem > label {
display: block;
  width: auto;
  margin: 0 0 6px;
  padding: 0;
  text-align: left;
}

.ws-theme .dnnFormItem > .dnnLabel, .ws-login-page .dnnFormItem > .dnnLabel, .ws-popup .dnnFormItem > .dnnLabel {
width: auto;
  float: none;
  margin: 0 0 6px;
  text-align: left;
}

.ws-theme .dnnLabel label, .ws-login-page .dnnLabel label, .ws-popup .dnnLabel label {
display: inline-block;
  margin: 0;
}

.ws-theme .dnnFormItem > input, .ws-theme .dnnFormItem > textarea, .ws-theme .dnnFormItem > select, .ws-login-page .dnnFormItem > input, .ws-login-page .dnnFormItem > textarea, .ws-login-page .dnnFormItem > select {
max-width: none;
}

.ws-theme .dnnFormItem button, .ws-login-page .dnnFormItem button, .ws-popup .dnnFormItem button, .ws-theme .dnnFormItem input[type=button], .ws-login-page .dnnFormItem input[type=button], .ws-popup .dnnFormItem input[type=button], .ws-theme .dnnFormItem input[type=reset], .ws-login-page .dnnFormItem input[type=reset], .ws-popup .dnnFormItem input[type=reset], .ws-theme .dnnFormItem input[type=submit], .ws-login-page .dnnFormItem input[type=submit], .ws-popup .dnnFormItem input[type=submit], .ws-theme .dnnLogin .LoginTabGroup span, .ws-login-page .dnnLogin .LoginTabGroup span, .ws-popup .dnnLogin .LoginTabGroup span, .ws-theme .dnnPrimaryAction, .ws-login-page .dnnPrimaryAction, .ws-popup .dnnPrimaryAction, .ws-theme .dnnSecondaryAction, .ws-login-page .dnnSecondaryAction, .ws-popup .dnnSecondaryAction, .ws-theme .dnnTertiaryAction, .ws-login-page .dnnTertiaryAction, .ws-popup .dnnTertiaryAction {
margin-bottom: 0;
}

.ws-theme input[type="submit"], .ws-login-page input[type="submit"], .ws-popup input[type="submit"] {
display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border: 1px solid var(--ws-yellow) !important;
  border-radius: 8px !important;
  background: var(--ws-yellow) !important;
  background-image: none !important;
  color: var(--ws-blue) !important;
  font-weight: 700;
  line-height: 1.2;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
}

.ws-theme .dnnPrimaryAction:hover, .ws-login-page .dnnPrimaryAction:hover, .ws-popup .dnnPrimaryAction:hover, .ws-theme input[type="submit"]:hover, .ws-login-page input[type="submit"]:hover, .ws-popup input[type="submit"]:hover {
filter: brightness(.96);
  text-decoration: none;
}

.ws-theme input[type="button"], .ws-login-page input[type="button"], .ws-popup input[type="button"] {
display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border: 1px solid var(--ws-light-gray) !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-image: none !important;
  color: var(--ws-blue) !important;
  font-weight: 600;
  line-height: 1.2;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
}

.ws-theme .dnnSecondaryAction:hover, .ws-login-page .dnnSecondaryAction:hover, .ws-popup .dnnSecondaryAction:hover, .ws-theme .dnnTertiaryAction:hover, .ws-login-page .dnnTertiaryAction:hover, .ws-popup .dnnTertiaryAction:hover {
border-color: var(--ws-blue) !important;
  text-decoration: none;
}

.ws-theme .dnnFormMessage, .ws-login-page .dnnFormMessage, .ws-popup .dnnFormMessage {
margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 8px;
  background-image: none;
  font-size: .9rem;
}

.ws-theme .dnnFormMessage.dnnFormError, .ws-login-page .dnnFormMessage.dnnFormError, .ws-popup .dnnFormMessage.dnnFormError {
border: 1px solid #e4a0a0;
  background: #fff4f4;
  color: #8b1e1e;
}

.ws-theme .dnnFormMessage.dnnFormSuccess, .ws-login-page .dnnFormMessage.dnnFormSuccess, .ws-popup .dnnFormMessage.dnnFormSuccess {
border: 1px solid #9fc9ad;
  background: #f2fbf5;
  color: #24613a;
}

.ws-login-content .dnnLogin, .ws-login-content .dnnLoginService {
width: 100%;
}

.ws-login-content .dnnForm {
width: 100%;
}

.ws-login-content .dnnFormItem {
display: block;
  margin-bottom: 15px;
}

.ws-login-content .dnnFormItem .dnnLabel {
display: block;
  width: 100%;
  float: none;
  margin: 0 0 6px;
  padding: 0;
  text-align: left;
}

.ws-login-content .dnnFormItem input[type="text"], .ws-login-content .dnnFormItem input[type="password"] {
display: block;
  width: 100% !important;
  max-width: none !important;
}

.ws-login-content .dnnActions, .ws-login-content ul.dnnActions {
display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.ws-login-content .dnnActions li {
margin: 0;
  padding: 0;
}

.ws-login-content .dnnPrimaryAction {
min-width: 130px;
}

.ws-login-content .dnnLoginRememberMe, .ws-login-content .dnnLoginActions, .ws-login-content .dnnLoginActions a {
font-size: .88rem;
}

.ws-login-content br + a {
color: var(--ws-blue);
}

.ws-theme input:disabled, .ws-theme textarea:disabled, .ws-theme select:disabled, .ws-login-page input:disabled, .ws-login-page textarea:disabled, .ws-login-page select:disabled {
background: #f1f2f4;
  color: #7a7d82;
  cursor: not-allowed;
  opacity: .8;
}

.ws-theme table, .ws-login-page table, .ws-popup table {
border-collapse: collapse;
}

.ws-theme th, .ws-popup th {
color: var(--ws-blue);
  font-weight: 700;
}

@media (max-width: 575.98px) {
  .ws-theme h1, .ws-login-page h1, .ws-popup h1 {
font-size: 1.7rem;
  }

  .ws-theme h2, .ws-login-page h2, .ws-popup h2 {
font-size: 1.45rem;
  }

  .ws-login-content .dnnActions, .ws-login-content ul.dnnActions {
flex-direction: column;
  }

  .ws-login-content .dnnActions .dnnPrimaryAction, .ws-login-content .dnnActions .dnnSecondaryAction {
width: 100%;
  }
}

.ws-pane, .ws-theme .DnnModule, .ws-theme .DNNModuleContent {
min-width:0;max-width:100%
}

.ws-theme img, .ws-login-page img, .ws-popup img, .ws-theme video, .ws-login-page video, .ws-popup video, .ws-theme svg, .ws-login-page svg, .ws-popup svg, .ws-theme canvas, .ws-login-page canvas, .ws-popup canvas {
max-width:100%;height:auto
}

.ws-theme iframe:not(.ws-login-video iframe), .ws-popup iframe {
max-width:100%
}

.ws-theme td {
overflow-wrap:anywhere
}

.ws-theme .table-responsive {
width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch
}

@media (min-width:1200px) {
  .ws-main {
padding:28px
  }

  .ws-dashboard-kpis>.row, .ws-dashboard-grid>.row {
--bs-gutter-x:24px;--bs-gutter-y:24px
  }
}

@media (min-width:992px) and (max-width:1199.98px) {
  :root {
--ws-sidebar-width:240px
  }

  .ws-sidebar-brand, .ws-sidebar .ws-nav-link {
padding-left:18px;padding-right:18px
  }

  .ws-topbar {
padding-left:22px;padding-right:22px
  }

  .ws-main {
padding:22px
  }

  .ws-kpi-card {
padding:17px
  }

  .ws-dashboard-panel-body {
padding:18px
  }
}

@media (max-width:991.98px) {
  .ws-theme {
overflow-x:hidden
  }

  .ws-shell {
width:100%;margin-left:0!important
  }

  .ws-main {
width:100%;padding:20px 16px
  }

  .ws-topbar {
min-height:64px;gap:12px;padding:8px 16px
  }

  .ws-topbar-context {
flex:1 1 auto;overflow:hidden
  }

  .ws-topbar-current {
max-width:55vw
  }

  .ws-page-header, .ws-dashboard-panel-head {
gap:12px
  }

  .ws-kpi-card {
height:100%
  }

  .ws-dashboard-panel {
height:auto
  }

  .dnnEditState .ws-pane, .dnnEditState .dnnModuleManager.dnnSortable {
max-width:100%
  }

  .dnnEditState .dnnModuleManager.dnnSortable:not(:has(.DnnModule)), .dnnEditState .ws-pane:empty, .dnnEditState .ws-dashboard-kpi-pane:empty, .dnnEditState .ws-pane .dnnModuleManager.dnnSortable:not(:has(.DnnModule)) {
min-height:20px!important;height:20px!important;max-height:20px!important
  }
}

@media (min-width:768px) and (max-width:991.98px) {
  .ws-dashboard-kpis>.row, .ws-dashboard-grid>.row {
--bs-gutter-x:18px;--bs-gutter-y:18px
  }

  .ws-dashboard-kpis .col-lg-3 {
flex:0 0 50%;max-width:50%
  }

  .ws-login-card {
width:min(100%,460px)
  }
}

@media (max-width:767.98px) {
  .ws-main {
padding:16px 12px
  }

  .ws-topbar {
min-height:60px;padding:7px 12px
  }

  .ws-topbar-eyebrow {
display:none
  }

  .ws-topbar-current {
max-width:62vw;font-size:.92rem
  }

  .ws-page-header, .ws-dashboard-panel-head {
flex-direction:column;align-items:stretch
  }

  .ws-dashboard-kpis>.row, .ws-dashboard-grid>.row {
--bs-gutter-x:12px;--bs-gutter-y:12px
  }

  .ws-dashboard-kpis .col-lg-3, .ws-dashboard-kpis [class*="col-"], .ws-dashboard-grid [class*="col-"] {
flex:0 0 100%;max-width:100%
  }

  .ws-login-wrap {
padding:20px 12px
  }

  .ws-login-card {
width:min(100%,440px);padding:28px 22px
  }
}

@media (max-width:575.98px) {
  .ws-main {
padding:12px 10px
  }

  .ws-topbar {
padding-left:10px;padding-right:10px
  }

  .ws-login-wrap {
padding:12px 8px
  }

  .ws-login-card {
padding:24px 18px;border-radius:10px
  }

  .ws-login-logo img {
max-width:min(190px,70vw)
  }

  .ws-theme input[type=text], .ws-theme input[type=password], .ws-theme input[type=email], .ws-theme input[type=number], .ws-theme input[type=tel], .ws-theme input[type=url], .ws-theme input[type=search], .ws-theme select, .ws-login-page input[type=text], .ws-login-page input[type=password], .ws-login-page input[type=email], .ws-login-page select {
font-size:16px
  }
}

@media (max-height:600px) and (orientation:landscape) {
  .ws-login-page {
overflow-y:auto
  }

  .ws-login-wrap {
min-height:100%;align-items:flex-start;padding-top:16px;padding-bottom:16px
  }

  .ws-login-card {
padding-top:20px;padding-bottom:20px
  }

  .ws-login-logo {
margin-bottom:12px
  }

  .ws-login-logo img {
max-height:48px
  }
}

@media print {
  .ws-sidebar, .ws-topbar, .ws-mobile-nav, .offcanvas, .ws-page-actions, .ws-login-video, .ws-login-backdrop, .dnnEditState .ws-pane:empty {
display:none!important
  }

  .ws-shell {
margin-left:0!important;width:100%!important
  }

  .ws-main {
padding:0!important;width:100%!important
  }

  .ws-theme, .ws-dashboard-panel, .ws-container-card, .ws-container-white {
background:#fff!important;box-shadow:none!important
  }
}

.ws-login-page #Form, .ws-login-page form, .ws-login-content, .ws-login-content .DNNModuleContent, .ws-login-content fieldset {
box-sizing: border-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ws-login-content .dnnFormItem::before, .ws-login-content .dnnFormItem::after {
content: none !important;
}

.ws-login-content .dnnLabel, .ws-login-content .dnnFormLabel, .ws-login-content label.dnnFormLabel, .ws-login-content span.dnnFormLabel, .ws-login-content .dnnFormItem > label, .ws-login-content .dnnFormItem > span.dnnFormLabel {
display: block !important;
  float: none !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1.35 !important;
}

.ws-login-content .dnnFormLabel a, .ws-login-content .dnnFormLabel span {
float: none !important;
}

.ws-login-content .dnnFormItem input[type="email"], .ws-login-content .dnnFormItem input[type="tel"], .ws-login-content .dnnFormItem input[type="number"], .ws-login-content .dnnFormItem select, .ws-login-content .dnnFormItem textarea {
display: block !important;
  float: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.ws-login-content input[type="checkbox"], .ws-login-content input[type="radio"] {
display: inline-block !important;
  float: none !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  margin: 0 7px 0 0 !important;
}

.ws-login-content .dnnLoginRememberMe label {
display: inline-flex !important;
  align-items: center;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.ws-login-content .dnnLoginService .dnnFormItem:last-of-type {
box-sizing: border-box;
  max-width: 100%;
}

.ws-login-content .dnnSecondaryAction, .ws-login-content .dnnTertiaryAction {
box-sizing: border-box !important;
  float: none !important;
  white-space: normal !important;
}

.ws-login-content .dnnLoginActions ul, .ws-login-content ul.dnnLoginActions {
margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ws-login-content .dnnLoginActions li, .ws-login-content ul.dnnLoginActions li {
margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (max-width: 767.98px) {
  html, body, body #Form {
width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .ws-login-page {
min-height: 100svh;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .ws-login-wrap {
width: 100% !important;
    min-height: 100svh;
    min-height: 100dvh;
    padding: 16px 12px !important;
    align-items: center;
  }

  .ws-login-card {
box-sizing: border-box;
    width: calc(100vw - 24px) !important;
    min-width: 0 !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    padding: 26px 20px !important;
  }

  .ws-login-logo img {
display: inline-block;
    width: auto !important;
    max-width: min(190px, 65vw) !important;
    height: auto !important;
  }

  .ws-login-content .dnnFormItem, .ws-login-content .dnnLabel, .ws-login-content .dnnFormLabel {
width: 100% !important;
    max-width: 100% !important;
  }

  .ws-login-content .dnnActions, .ws-login-content ul.dnnActions {
display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 16px !important;
  }

  .ws-login-content .dnnActions li, .ws-login-content ul.dnnActions li {
display: block !important;
    width: 100% !important;
  }

  .ws-login-content .dnnActions .dnnPrimaryAction, .ws-login-content .dnnActions .dnnSecondaryAction, .ws-login-content .dnnPrimaryAction, .ws-login-content .dnnSecondaryAction {
display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    justify-content: center;
  }

  .ws-login-footer {
margin-top: 18px;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 575.98px) {
  .ws-login-wrap {
padding: 10px 8px !important;
  }

  .ws-login-content input[type="text"], .ws-login-content input[type="password"], .ws-login-content input[type="email"], .ws-login-content select, .ws-login-content textarea {
font-size: 16px !important;
  }
}

.ws-login-content input[type="text"], .ws-login-content input[type="password"] {
display: block !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
}

.ws-login-content .dnnFormItem > span, .ws-login-content .dnnFormItem > div {
max-width: 100%;
}

@media (max-width: 575.98px) {
  .ws-login-page {
width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .ws-login-logo img {
display: block;
    width: auto !important;
    max-width: min(260px, 82%) !important;
    height: auto !important;
    margin: 0 auto;
  }

  .ws-login-intro {
max-width: 100% !important;
    padding: 0 !important;
  }

  .ws-login-intro h1, .ws-login-intro h2, .ws-login-intro h3, .ws-login-intro p {
max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  .ws-login-content .dnnFormItem input[type="text"], .ws-login-content .dnnFormItem input[type="password"] {
width: 100% !important;
    max-width: 100% !important;
  }

  .ws-login-content .dnnActions li, .ws-login-content ul.dnnActions li {
width: 100% !important;
    max-width: 100% !important;
  }

  .ws-login-content .dnnActions a, .ws-login-content .dnnActions input, .ws-login-content ul.dnnActions a, .ws-login-content ul.dnnActions input {
box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .ws-login-content .dnnLoginActions {
width: 100% !important;
    max-width: 100% !important;
    text-align: center;
  }
}

@media (max-width: 400px) {
  .ws-login-wrap {
padding: 10px !important;
  }

  .ws-login-card {
max-width: calc(100vw - 20px) !important;
    padding: 22px 16px !important;
  }

  .ws-login-content .dnnActions, .ws-login-content ul.dnnActions {
grid-template-columns: 1fr !important;
  }
}

.ws-login-page .LoginPanel, .ws-login-content .LoginPanel, .ws-login-page div.LoginPanel, .ws-login-content div.LoginPanel {
box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  float: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.ws-login-page .LoginPanel .dnnForm, .ws-login-page .LoginPanel .dnnFormItem, .ws-login-content .LoginPanel .dnnForm, .ws-login-content .LoginPanel .dnnFormItem {
box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 575.98px) {
  .ws-login-page .LoginPanel, .ws-login-content .LoginPanel {
width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 768px) {
  .ws-login-card {
max-width: 30% !important;
  }
}

@media (max-width: 575.98px) {
  body.ws-persona-present .ws-sidebar {
inset: 0 auto 0 0;
  }

  body.ws-persona-present .ws-shell {
margin-left: 0 !important;
    width: 100% !important;
  }

  body.ws-persona-present .ws-offcanvas.offcanvas-start {
left: 0 !important;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  body.ws-persona-present .ws-shell {
margin-left: var(--ws-persona-width) !important;
    width: calc(100% - var(--ws-persona-width)) !important;
  }

  body.ws-persona-present .ws-offcanvas.offcanvas-start {
left: var(--ws-persona-width) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  body.ws-persona-present .ws-shell {
margin-left: var(--ws-persona-width) !important;
    width: calc(100% - var(--ws-persona-width)) !important;
  }

  body.ws-persona-present .ws-offcanvas.offcanvas-start {
left: var(--ws-persona-width) !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  body.ws-persona-present .ws-sidebar {
inset: 0 auto 0 var(--ws-persona-width) !important;
  }

  body.ws-persona-present .ws-shell {
margin-left: calc(var(--ws-sidebar-width) + var(--ws-persona-width)) !important;
  }

  body.ws-persona-present .ws-sidebar-collapsed .ws-shell, body.ws-persona-present .ws-theme.ws-sidebar-collapsed .ws-shell {
margin-left: calc(var(--ws-sidebar-collapsed-width) + var(--ws-persona-width)) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  body.ws-persona-present .ws-sidebar {
inset: 0 auto 0 var(--ws-persona-width) !important;
  }

  body.ws-persona-present .ws-shell {
margin-left: calc(var(--ws-sidebar-width) + var(--ws-persona-width)) !important;
  }

  body.ws-persona-present .ws-sidebar-collapsed .ws-shell, body.ws-persona-present .ws-theme.ws-sidebar-collapsed .ws-shell {
margin-left: calc(var(--ws-sidebar-collapsed-width) + var(--ws-persona-width)) !important;
  }
}

@media (min-width: 1400px) {
  body.ws-persona-present .ws-sidebar {
inset: 0 auto 0 var(--ws-persona-width) !important;
  }

  body.ws-persona-present .ws-shell {
margin-left: calc(var(--ws-sidebar-width) + var(--ws-persona-width)) !important;
  }

  body.ws-persona-present .ws-sidebar-collapsed .ws-shell, body.ws-persona-present .ws-theme.ws-sidebar-collapsed .ws-shell {
margin-left: calc(var(--ws-sidebar-collapsed-width) + var(--ws-persona-width)) !important;
  }
}

.ws-login-intro-logo {
display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 1.5rem;
}

.ws-login-intro-logo img {
width: 250px;
}

.ws-login-intro-text {
width: 100%;
  margin: 4rem 0;
  text-align: center;
}


/* ============================================================
   20. MODULE - ws-Tasks
   ============================================================ */
.ws-theme .ws-tasks {
width: 100%;
}

.ws-theme .ws-tasks-header {
display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem;
}

.ws-theme .ws-tasks-header h2 {
margin: 0;
}

.ws-theme .ws-tasks-subtitle {
opacity: .7; margin-top: .25rem;
}

.ws-theme .ws-tasks-actions {
display: flex; flex-wrap: wrap; gap: .5rem;
}

.ws-theme .ws-tasks-toolbar {
display: flex; gap: 1rem; padding: 1rem; background: var(--ws-blue-soft-04); border-radius: .5rem; margin-bottom: 1rem;
}

.ws-theme .ws-field label {
display: block; font-weight: 600; margin-bottom: .35rem;
}

.ws-theme .ws-editor-actions {
display: flex; gap: .5rem; margin-top: 1.25rem;
}

.ws-theme .ws-project-toolbar {
display: flex; justify-content: flex-end; gap: .75rem; align-items: center; margin-bottom: 1rem; flex-wrap: wrap;
}

.ws-theme .ws-project-search {
min-width: 260px; max-width: 420px; flex: 0 1 420px; margin-left: 0; display: flex; align-items: center;
}

.ws-theme .ws-new-project-button {
white-space: nowrap;
}

.ws-theme .ws-project-grid-wrap {
overflow-x: auto;
}

.ws-theme .ws-project-grid th, .ws-theme .ws-task-list th {
white-space: nowrap; vertical-align: top;
}

.ws-theme .ws-project-grid th a, .ws-theme .ws-task-list th a {
text-decoration: none;
}

.ws-theme .ws-filter-row th {
padding-top: .35rem;
}

.ws-theme .ws-filter-actions {
white-space: nowrap;
}

.ws-theme .ws-filter-actions .btn + .btn {
margin-left: .35rem;
}

.ws-theme .ws-actions-col, .ws-theme .ws-row-actions {
width: 1%; min-width: 76px; white-space: nowrap;
}

.ws-theme .ws-task-number-col {
width: 64px; min-width: 56px;
}

.ws-theme .ws-task-card-title {
font-weight: 400;
}

.ws-theme .ws-icon-button {
width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ws-theme .ws-icon-button i {
margin: 0 !important; padding: 0 !important; line-height: 1; display: block;
}

.ws-theme .ws-project-grid .btn-danger.ws-icon-button, .ws-theme .ws-project-grid .btn-danger.ws-icon-button i {
color: var(--ws-white) !important;
}

.ws-theme .ws-sorting-enabled .ws-project-grid thead tr:first-child th {
background: var(--ws-blue-soft-04);
}

.ws-theme .ws-sorting-disabled .ws-project-grid thead tr:first-child th {
background: transparent !important;
}

.ws-theme .ws-sorting-disabled .ws-project-grid thead tr:first-child th span, .ws-theme .ws-sorting-disabled .ws-project-grid thead tr:first-child th a {
background: transparent !important; color: inherit; text-decoration: none; cursor: default;
}

.ws-theme .ws-project-paging {
display: flex; align-items: center; justify-content: flex-end; gap: .75rem; margin-top: 1rem;
}

.ws-theme .ws-page-info {
white-space: nowrap;
}

.ws-theme .ws-modal-backdrop {
position: fixed; inset: 0; z-index: 1055; background: var(--ws-overlay-bg); display: flex; align-items: center; justify-content: center; padding: 1rem;
}

.ws-theme .ws-modal {
background: var(--ws-white); border: 1px solid var(--ws-border); border-radius: var(--ws-radius); box-shadow: 0 .5rem 2rem rgba(0,0,0,.22); width: min(560px, 100%); max-height: calc(100vh - 2rem); overflow: auto; padding: 1.5rem;
}

.ws-theme .ws-task-modal {
width: min(710px, 100%);
}

.ws-theme .ws-modal-sm {
width: min(460px, 100%);
}

.ws-theme .ws-modal h3 {
margin-top: 0; color: var(--ws-blue);
}

.ws-theme .ws-modal-actions {
display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1.25rem;
}

.ws-theme .ws-task-topbar {
display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem;
}

.ws-theme .ws-task-toolbar-right {
display: flex; justify-content: flex-end; align-items: center; gap: .75rem; flex-wrap: nowrap; white-space: nowrap; margin-left: auto;
}

.ws-theme .ws-task-toolbar-right .ws-project-search {
flex: 0 0 420px; width: 420px; max-width: 420px; min-width: 260px;
}

.ws-theme .ws-view-switch {
display: flex; align-items: center; gap: .5rem;
}

.ws-theme .ws-kanban {
display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; overflow-x: auto; padding-bottom: 1rem;
}

.ws-theme .ws-kanban-column {
background: var(--ws-blue-soft-04); border-radius: .5rem; min-height: 260px; padding: .75rem;
}

.ws-theme .ws-kanban-column h4 {
font-size: 1rem; display: flex; justify-content: space-between; margin: 0 0 .75rem; color: var(--ws-blue);
}

.ws-theme .ws-kanban-column h4 span {
font-weight: 400; opacity: .65;
}

.ws-theme .ws-kanban-cards {
display: flex; flex-direction: column; gap: .65rem;
}

.ws-theme .ws-task-card {
background: var(--ws-white); border: 1px solid var(--ws-blue-soft-12); border-radius: .4rem; padding: .75rem; box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

.ws-theme .ws-task-number {
font-size: .78rem; opacity: .65; margin-bottom: .25rem;
}

.ws-theme .ws-task-meta {
font-size: .82rem; opacity: .75; margin-top: .5rem;
}

.ws-theme .ws-task-card-title:hover {
text-decoration: underline; color: var(--ws-blue);
}

.ws-theme .ws-task-assigned {
display: flex; align-items: center; gap: .4rem; font-size: .82rem; margin-top: .4rem;
}

.ws-theme .ws-task-assigned-user-image {
max-width: 25px; height: auto; border-radius: 50%; display: block;
}

.ws-theme .ws-task-assigned-user-name {
font-weight: 400;
}

.ws-theme .ws-column-resizer:hover {
background: var(--ws-blue-soft-12);
}

@media (max-width: 767.98px) {
  .ws-theme .ws-tasks-header {
flex-direction: column;
  }

  .ws-theme .ws-tasks-actions {
width: 100%;
  }

  .ws-theme .ws-kanban {
display: flex; gap: 1rem; overflow-x: auto;
  }

  .ws-theme .ws-kanban-column {
flex: 0 0 260px;
  }

  .ws-theme .ws-project-search {
min-width: 100%; max-width: none; margin-left: 0;
  }

  .ws-theme .ws-project-paging {
justify-content: space-between;
  }

  .ws-theme .ws-row-actions {
flex-direction: column;
  }

  .ws-theme .ws-task-topbar, .ws-theme .ws-task-toolbar-right {
width: 100%;
  }

  .ws-theme .ws-task-toolbar-right .ws-project-search {
flex: 1 1 100%; width: 100%; max-width: none; min-width: 100%;
  }
}

.ws-theme .ws-project-color-swatch {
display: inline-block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  border-radius: 4px;
  border: 1px solid var(--ws-border);
  margin-right: .5rem;
  vertical-align: -2px;
}

.ws-theme .ws-task-project-badge {
display: inline-block;
  max-width: 100%;
  margin-top: .4rem;
  padding: .15rem .45rem;
  border-radius: .3rem;
  font-size: .76rem;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ws-theme .ws-tasks .danger {
display: inline-block;
  background-color: var(--bs-danger, #dc3545);
  color: var(--bs-white, #fff);
  padding: .1rem .35rem;
  border-radius: .25rem;
}

.ws-theme .ws-modal .form-control-color {
width: 64px;
  min-width: 64px;
  height: 38px;
  padding: .25rem;
}

.ws-theme .ws-task-project-filter .dropdown-menu {
min-width: 320px;
  max-width: min(420px, calc(100vw - 2rem));
  max-height: 360px;
  overflow-y: auto;
  padding: .75rem !important;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.14);
}

.ws-theme .ws-task-project-filter .ws-project-filter-all {
padding-bottom: .65rem;
  margin-bottom: .55rem;
  border-bottom: 1px solid var(--ws-border);
  font-weight: 600;
}

.ws-theme .ws-task-project-filter .ws-project-filter-item {
display: flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
}

.ws-theme .ws-task-project-filter .form-check-input {
flex: 0 0 auto;
  margin-top: 0;
}

.ws-theme .ws-task-project-filter .form-check-label {
display: block;
  min-width: 0;
  max-width: 340px;
  margin-left: .35rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 400;
}

.ws-theme .ws-task-project-filter .ws-project-filter-all .form-check-label {
font-weight: 600;
}

.ws-theme .ws-task-description-html {
min-height: 120px;
  padding: .75rem 0;
  overflow-wrap: anywhere;
}

.ws-theme .ws-task-description-html > :first-child {
margin-top: 0;
}

.ws-theme .ws-task-description-html > :last-child {
margin-bottom: 0;
}

.ws-theme .ws-task-description-html img {
max-width: 100%; height: auto;
}

.ws-theme .ws-task-description-html table {
max-width: 100%;
}

@media (max-width: 767.98px) {
  .ws-theme .ws-task-project-filter, .ws-theme .ws-task-project-filter > button {
width: 100%;
  }

  .ws-theme .ws-task-project-filter .dropdown-menu {
min-width: 100%;
    max-width: calc(100vw - 2rem);
  }
}

.ws-theme .ws-task-attachments {
margin-top: .35rem;
}

.ws-theme .ws-task-attachments h4 {
margin: 0 0 .65rem;
  font-size: 1rem;
  font-weight: 600;
}

.ws-theme .ws-task-attachment-list {
display: flex;
  flex-direction: column;
  gap: .4rem;
  margin-bottom: .65rem;
}

.ws-theme .ws-task-attachment-item {
display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 40px;
  padding: .35rem .45rem .35rem .65rem;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  background: var(--bs-light, #f8f9fa);
}

.ws-theme .ws-task-attachment-name {
min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ws-theme .ws-task-attachment-name i {
width: 1.1rem;
  margin-right: .2rem;
  text-align: center;
}

.ws-theme .ws-task-attachment-actions {
display: inline-flex;
  align-items: center;
  gap: .35rem;
  flex: 0 0 auto;
}

.ws-theme .ws-task-attachment-empty {
margin-bottom: .65rem;
}

@media (max-width: 575.98px) {
  .ws-theme .ws-task-attachment-item {
align-items: flex-start;
  }

  .ws-theme .ws-task-attachment-name {
white-space: normal;
    overflow-wrap: anywhere;
  }
}

.ws-theme .ws-task-modal-wide {
width: min(1380px, calc(100vw - 2rem)); max-width: 1380px;
}

.ws-theme .ws-task-modal-grid {
display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:1.5rem; align-items:start;
}

.ws-theme .ws-task-modal-master {
min-width:0; padding-right:1.5rem; border-right:1px solid var(--ws-border);
}

.ws-theme .ws-task-modal-resources {
min-width:0; display:flex; flex-direction:column; gap:1.5rem;
}

.ws-theme .ws-task-modal-section-title {
display:flex; align-items:center; gap:.55rem; margin:0 0 1rem; color:var(--ws-blue); font-size:1.05rem; font-weight:600;
}

.ws-theme .ws-task-resource-section {
min-width:0;
}

.ws-theme .ws-task-resource-section + .ws-task-resource-section {
padding-top:1.25rem; border-top:1px solid var(--ws-border);
}

.ws-theme .ws-task-resource-input {
margin-top:.75rem;
}

.ws-theme .ws-task-modal-resources .ws-task-attachment-list {
max-height:260px; overflow-y:auto; padding-right:.15rem;
}

.ws-theme .ws-task-modal-resources .ws-task-attachment-empty {
padding:.65rem .75rem; border:1px dashed var(--ws-border); border-radius:var(--ws-radius); background:var(--bs-light,#f8f9fa);
}

@media (max-width:991.98px) {
  .ws-theme .ws-task-modal-wide {
width:min(760px,calc(100vw - 2rem));
  }

  .ws-theme .ws-task-modal-grid {
grid-template-columns:1fr;
  }

  .ws-theme .ws-task-modal-master {
padding-right:0;padding-bottom:1.5rem;border-right:0;border-bottom:1px solid var(--ws-border);
  }
}

@media (min-width: 992px) {
  .ws-theme .ws-task-modal-wide {
height: min(820px, calc(100vh - 2rem));
    min-height: min(820px, calc(100vh - 2rem));
  }

  .ws-theme .ws-task-modal-grid {
min-height: 0;
  }
}

.ws-theme .ws-task-modal-backdrop {
align-items: flex-start;
  overflow-y: auto;
}

.ws-theme .ws-task-modal [id$="chkNotifyAssigneeByEmail"] label, .ws-theme .ws-task-modal [id$="chkCustomerVisible"] label {
font-weight: 400;
}


/* ============================================================
   21. MODULE - ws-Login
   ============================================================ */
.ws-login-page a.dnnPrimaryAction, .ws-login-page a.dnnPrimaryAction:hover, .ws-login-page a.dnnPrimaryAction:focus, .ws-login-page a.dnnPrimaryAction:active, .ws-login-page a.dnnSecondaryAction, .ws-login-page a.dnnSecondaryAction:hover, .ws-login-page a.dnnSecondaryAction:focus, .ws-login-page a.dnnSecondaryAction:active, .ws-login-page a.dnnTertiaryAction, .ws-login-page a.dnnTertiaryAction:hover, .ws-login-page a.dnnTertiaryAction:focus, .ws-login-page a.dnnTertiaryAction:active {
text-decoration: none !important;
}

.ws-login-page .ws-auth-login__password-reset-help {
text-align: left !important;
  font-weight: 400 !important;
}

.ws-login-page .ws-auth-login__password-link, .ws-login-page .ws-auth-login__password-link:hover, .ws-login-page .ws-auth-login__password-link:focus, .ws-login-page .ws-auth-login__password-link:active {
text-decoration: none !important;
}

.ws-login-page .ws-auth-login__password-reset-result {
color: inherit !important;
  text-align: left !important;
  border: 0 !important;
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font: inherit !important;
  font-weight: 400 !important;
}

.ws-login-page .ws-auth-login__password-reset-success-actions {
text-align: left !important;
}

.ws-login-page .ws-auth-login__password-reset-success-actions .dnnSecondaryAction {
margin-left: 0 !important;
}

.ws-login-page .ws-auth-login__mail-diagnostics {
margin: 1rem 0;
  text-align: left;
  font-weight: 400;
}

.ws-login-page .ws-auth-login__mail-diagnostics-title {
margin-bottom: .5rem;
  font-weight: 600;
}

.ws-login-page .ws-auth-login__mail-diagnostics-list {
margin: 0;
}

.ws-login-page .ws-auth-login__mail-diagnostics-list > div {
display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: .75rem;
  margin-bottom: .3rem;
}

.ws-login-page .ws-auth-login__mail-diagnostics-list dt, .ws-login-page .ws-auth-login__mail-diagnostics-list dd {
margin: 0;
  font-weight: 400;
  overflow-wrap: anywhere;
}

/* ============================================================
   22. MODULE - ws-BestPlayerVoting
   ============================================================ */
/* BestPlayerVoting - public voting page
   CustomerSettings can override the --ws-bpv-* custom properties inline.
   Without customer overrides, the services5 skin variables below are used. */
.ws-theme .ws-bpv-public {
  --ws-bpv-primary: var(--ws-primary);
  --ws-bpv-secondary: var(--ws-primary-dark);
  --ws-bpv-background: var(--ws-bg);
  --ws-bpv-card-background: var(--ws-surface);
  --ws-bpv-text: var(--ws-text);
  --ws-bpv-button-text: #fff;
  --ws-bpv-radius: var(--ws-radius);
  width: 100%;
  min-height: 65vh;
  padding: clamp(1rem, 2.5vw, 2rem);
  background: var(--ws-bpv-background);
  color: var(--ws-bpv-text);
}

.ws-theme .ws-bpv-public-inner {
  width: min(980px, 100%);
  margin: 0 auto;
}

.ws-theme .ws-bpv-public-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  background: var(--ws-bpv-card-background);
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-bpv-radius);
  box-shadow: var(--ws-shadow);
}

.ws-theme .ws-bpv-public-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .5rem;
}

.ws-theme .ws-bpv-public-logo {
  display: block;
  width: auto;
  max-width: min(240px, 55vw);
  max-height: 110px;
  object-fit: contain;
}

.ws-theme .ws-bpv-public-title {
  margin: .5rem 0 .35rem;
  color: var(--ws-bpv-text);
  font-size: clamp(1.65rem, 3.2vw, 2.35rem);
  line-height: 1.15;
  font-weight: 750;
  letter-spacing: -.025em;
}

.ws-theme .ws-bpv-public-datetime {
  margin-bottom: .25rem;
  color: var(--ws-muted);
  font-size: .96rem;
  font-weight: 600;
}

.ws-theme .ws-bpv-public-match {
  margin-bottom: 1.5rem;
  color: var(--ws-bpv-text);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 700;
}

.ws-theme .ws-bpv-public-teams {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ws-theme .ws-bpv-public-team {
  min-width: 0;
  padding: 1rem;
  background: var(--ws-bpv-card-background);
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-bpv-radius);
}

.ws-theme .ws-bpv-public-team-title {
  margin: 0 0 .8rem;
  color: var(--ws-bpv-text);
  font-size: 1.05rem;
  font-weight: 700;
}

.ws-theme .ws-bpv-public-player-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ws-theme .ws-bpv-public-player-list li {
  margin: 0 0 .45rem;
  padding: .5rem .6rem;
  border: 1px solid transparent;
  border-radius: max(6px, calc(var(--ws-bpv-radius) * .55));
  transition: background-color .15s ease, border-color .15s ease;
}

.ws-theme .ws-bpv-public-player-list li:hover {
  background: color-mix(in srgb, var(--ws-bpv-primary) 6%, transparent);
  border-color: color-mix(in srgb, var(--ws-bpv-primary) 18%, transparent);
}

.ws-theme .ws-bpv-public-player-list input[type="radio"] {
  margin-right: .5rem;
  accent-color: var(--ws-bpv-primary);
}

.ws-theme .ws-bpv-public-player-list label {
  margin: 0;
  color: var(--ws-bpv-text);
  font-weight: 500;
  cursor: pointer;
}

.ws-theme .ws-bpv-public-player {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  min-width: 0;
}

.ws-theme .ws-bpv-public-player-photo {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--ws-bg);
  border: 1px solid var(--ws-border);
}

.ws-theme .ws-bpv-public-player-number {
  min-width: 2.2rem;
  font-weight: 750;
  color: var(--ws-bpv-primary);
}

.ws-theme .ws-bpv-public-player-name {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ws-theme .ws-bpv-public-number {
  width: min(180px, 100%);
  min-height: 44px;
}

.ws-theme .ws-bpv-public-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
}

.ws-theme .ws-bpv-public-submit,
.ws-theme .ws-bpv-public-submit:hover,
.ws-theme .ws-bpv-public-submit:focus,
.ws-theme .ws-bpv-public-submit:active {
  text-decoration: none !important;
}

.ws-theme .ws-bpv-public-submit {
  min-width: 150px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem 1.2rem;
  background: var(--ws-bpv-primary) !important;
  border: 1px solid var(--ws-bpv-primary) !important;
  border-radius: max(7px, calc(var(--ws-bpv-radius) * .65));
  color: var(--ws-bpv-button-text) !important;
  font-weight: 700;
  box-shadow: none !important;
  text-shadow: none !important;
}

.ws-theme .ws-bpv-public-submit:hover,
.ws-theme .ws-bpv-public-submit:focus {
  background: var(--ws-bpv-secondary) !important;
  border-color: var(--ws-bpv-secondary) !important;
  color: var(--ws-bpv-button-text) !important;
}

/* Language selector on the public voting page */
.ws-theme .ws-bpv-public .ws-bpv-languages > span {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .35rem;
}

.ws-theme .ws-bpv-public .ws-bpv-languages input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.ws-theme .ws-bpv-public .ws-bpv-languages label {
  display: inline-block;
  margin: 0;
  padding: .38rem .68rem;
  background: var(--ws-bpv-card-background);
  border: 1px solid var(--ws-border);
  border-radius: 999px;
  color: var(--ws-bpv-text);
  font-size: .82rem;
  font-weight: 650;
  cursor: pointer;
}

.ws-theme .ws-bpv-public .ws-bpv-languages input:checked + label {
  background: var(--ws-bpv-primary);
  border-color: var(--ws-bpv-primary);
  color: var(--ws-bpv-button-text);
}

@media (max-width: 767.98px) {
  .ws-theme .ws-bpv-public { padding: .75rem; }
  .ws-theme .ws-bpv-public-card { padding: 1rem; }
  .ws-theme .ws-bpv-public-head { flex-direction: column; }
  .ws-theme .ws-bpv-public .ws-bpv-languages > span { justify-content: flex-start; }
  .ws-theme .ws-bpv-public-teams { grid-template-columns: 1fr; }
  .ws-theme .ws-bpv-public-actions { justify-content: stretch; }
  .ws-theme .ws-bpv-public-submit { width: 100%; }
}

