/*
 * Survantis look for the Scripter panel, matching survantis.com and the
 * customer portal (portal.survantis.com): navy header with a blurred glass
 * bar, Inter for text and Fraunces for headings, pill buttons in the
 * Survantis blue, soft rounded cards. Loaded after the Frest template's CSS
 * when SCRIPTER_THEME=survantis; primary.css recolours the template's own
 * "primary" rules.
 */
:root {
  --sv-bg: #050B18; --sv-navy: #0A1324; --sv-navy-2: #0D1526; --sv-navy-3: #111C31;
  --sv-blue: #58ACFD; --sv-blue-2: #7DBEFE; --sv-deep: #1F6FD1;
  --sv-ink: #0A1324; --sv-ink-2: #26344B; --sv-muted: #5B6B82; --sv-muted-d: #9FB0C6;
  --sv-line: #E3E9F2; --sv-soft: #F5F7FB; --sv-card: #FFFFFF; --sv-page: #F5F7FB;
  --sv-r: 16px; --sv-shadow: 0 1px 2px rgba(10,19,36,.04), 0 12px 32px -12px rgba(10,19,36,.14);
  --sv-sans: "Inter", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --sv-serif: "Fraunces", Georgia, "Times New Roman", serif;
}
body.dark-layout {
  --sv-ink: #E8EEF7; --sv-ink-2: #C9D5E6; --sv-muted: #9FB0C6; --sv-line: rgba(255,255,255,.09);
  --sv-soft: #0A1324; --sv-card: #0D1526; --sv-page: #070E1D; --sv-shadow: 0 12px 32px -12px rgba(0,0,0,.6);
}

/* type */
html body, body, .btn, input, select, textarea, .form-control, .tooltip, .popover, .dropdown-menu, .swal2-popup, .toast {
  font-family: var(--sv-sans);
}
body { background: var(--sv-page); color: var(--sv-ink-2); -webkit-font-smoothing: antialiased; }
html body .content .content-wrapper { background: transparent; }
h1, h2, h3, h4, .h1, .h2, .h3, .h4, .card-title, .content-header-title, .sv-heading {
  font-family: var(--sv-serif); font-weight: 400; letter-spacing: -.01em; color: var(--sv-ink);
}
h5, h6, .h5, .h6 { font-family: var(--sv-sans); font-weight: 600; color: var(--sv-ink); }
.sv-heading em, h1 em, h2 em, h3 em, h4 em { color: var(--sv-blue); font-style: italic; }
a { color: var(--sv-deep); }
body.dark-layout a { color: var(--sv-blue); }
.text-muted { color: var(--sv-muted) !important; }

/* header: the portal's glass navy bar */
.header-navbar.navbar, .header-navbar.fixed-top, html body .header-navbar,
body.dark-layout .header-navbar {
  background: rgba(5,11,24,.97) !important; backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: none !important;
}
.header-navbar-shadow { display: none !important; }
.header-navbar .navbar-container ul.nav li > a.nav-link,
.header-navbar .navbar-container ul.nav li i.ficon,
.header-navbar .navbar-container ul.nav li a i { color: rgba(255,255,255,.78) !important; }
.header-navbar .navbar-container ul.nav li > a.nav-link:hover i,
.header-navbar .navbar-container ul.nav li > a.nav-link:hover { color: #fff !important; }
.header-navbar .navbar-container .dropdown-user-link img { box-shadow: 0 0 0 2px rgba(88,172,253,.5); }
.header-navbar .search-input.open { background: var(--sv-navy-2) !important; border-radius: 12px; }
.header-navbar .search-input.open input { color: #fff !important; background: transparent !important; }
.sv-brand { display: flex; align-items: center; gap: 12px; text-decoration: none !important; margin-right: 18px; white-space: nowrap; }
.sv-brand img { height: 30px; width: auto; display: block; }
.sv-brand .sv-tag { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--sv-blue); font-weight: 600;
  border-left: 1px solid rgba(255,255,255,.18); padding-left: 12px; }
@media (max-width: 575.98px) { .sv-brand .sv-tag { display: none; } }

/* side menus (folders, question list) */
.main-menu.menu-light, .main-menu, body.dark-layout .main-menu { background: var(--sv-page) !important; }
.main-menu .navigation > li.active > a, .main-menu .navigation li.active > a {
  background: rgba(88,172,253,.14) !important; color: var(--sv-deep) !important; box-shadow: none !important; border-radius: 10px;
}
body.dark-layout .main-menu .navigation li.active > a { color: var(--sv-blue) !important; }

/* cards */
.card, body.dark-layout .card {
  background: var(--sv-card); border: 1px solid var(--sv-line); border-radius: var(--sv-r) !important; box-shadow: var(--sv-shadow) !important;
}
.card .card-header { background: transparent; }
.divider .divider-text { font-family: var(--sv-serif); font-size: 1.05rem; color: var(--sv-ink); background: var(--sv-page); }
.card .divider .divider-text { background: var(--sv-card); }
.divider .divider-text:before, .divider .divider-text:after { border-color: var(--sv-line) !important; }

/* buttons: survantis.com pills */
.btn { border-radius: 999px; font-weight: 600; letter-spacing: 0; }
.btn-sm, .btn-group-sm > .btn { border-radius: 999px; }
.btn-icon, .btn-group .btn { border-radius: 10px; }
.btn-primary, .btn-primary:focus {
  background-color: var(--sv-blue) !important; border-color: var(--sv-blue) !important; color: var(--sv-bg) !important;
  box-shadow: 0 10px 30px -12px rgba(88,172,253,.7) !important;
}
.btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active {
  background-color: var(--sv-blue-2) !important; border-color: var(--sv-blue-2) !important; color: var(--sv-bg) !important;
}
.btn-primary.glow { box-shadow: 0 10px 30px -10px rgba(88,172,253,.75) !important; }
.btn-light-primary { background-color: rgba(88,172,253,.14) !important; color: var(--sv-deep) !important; }
.btn-light-primary:hover { background-color: var(--sv-blue) !important; color: var(--sv-bg) !important; }
body.dark-layout .btn-light-primary { color: var(--sv-blue) !important; }

/* forms */
.form-control, .custom-select, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
  border-radius: 10px; border-color: var(--sv-line);
}
.form-control:focus { border-color: var(--sv-blue) !important; box-shadow: 0 0 0 3px rgba(88,172,253,.22) !important; }
label, .text-bold-700 { color: var(--sv-ink-2); }

/* badges and chips */
.badge { border-radius: 999px; font-weight: 600; }
.badge-primary { background-color: var(--sv-deep); }
.badge-light-primary { background-color: rgba(88,172,253,.16) !important; color: var(--sv-deep) !important; }

/* the panel's "Assistant" side tab */
#assistant-tab { background: linear-gradient(180deg, var(--sv-blue), var(--sv-deep)) !important; }
#assistant-tab, #assistant-tab span { color: #fff !important; font-weight: 600; }

/* tables */
.table thead th { font-family: var(--sv-sans); font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--sv-muted); border-color: var(--sv-line); }
.table td, .table th { border-color: var(--sv-line); }

/* sign-in pages: the portal's dark hero */
html body.blank-page.bg-full-screen-image {
  background: radial-gradient(1200px 600px at 75% -10%, rgba(88,172,253,.22), transparent 60%), var(--sv-bg) !important;
}
body.blank-page .bg-authentication { background: transparent !important; box-shadow: none !important; border: 0; }
body.blank-page .bg-authentication > .row { border-radius: 24px; overflow: hidden; box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); }
body.blank-page .bg-authentication .card { border: 0; border-radius: 0 !important; box-shadow: none !important; }
.sv-auth-aside {
  height: 100%; padding: 56px 48px; display: flex; flex-direction: column; justify-content: center; text-align: left;
  background: radial-gradient(600px 300px at 30% 0%, rgba(88,172,253,.25), transparent 70%), var(--sv-navy);
  color: var(--sv-muted-d);
}
.sv-kicker { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--sv-blue); font-weight: 600; }
.sv-kicker:before { content: ""; width: 28px; height: 1px; background: var(--sv-blue); }
.sv-auth-aside h2 { font-family: var(--sv-serif); font-weight: 400; color: #fff; font-size: 2.4rem; line-height: 1.15; margin: 18px 0 14px; }
.sv-auth-aside p { font-size: 15px; line-height: 1.6; margin: 0; }
.sv-auth-aside ul { list-style: none; padding: 0; margin: 26px 0 0; }
.sv-auth-aside li { color: #C9D5E6 !important; padding-left: 26px; position: relative; margin: 10px 0; font-size: 15px; }
.sv-auth-aside li:before { content: ""; position: absolute; left: 0; top: 7px; width: 12px; height: 7px; border-left: 2px solid var(--sv-blue); border-bottom: 2px solid var(--sv-blue); transform: rotate(-45deg); }
.sv-auth-logo { margin-bottom: 28px; }
.sv-auth-logo img { height: 40px; width: auto; }
.sv-or { display: flex; align-items: center; gap: 12px; color: var(--sv-muted); font-size: 13px; margin: 18px 0; }
.sv-or:before, .sv-or:after { content: ""; flex: 1; height: 1px; background: var(--sv-line); }
.btn-sv-outline { background: transparent; border: 1px solid var(--sv-line); color: var(--sv-ink) !important; }
.btn-sv-outline:hover { border-color: var(--sv-ink); }

/* scrollbars and selection */
::selection { background: rgba(88,172,253,.3); }

/* dark mode: the portal's deep navy instead of the template's slate */
body.dark-layout, body.dark-layout .app-content, body.dark-layout .content-wrapper { background-color: var(--sv-page) !important; }
body.dark-layout .card .card-header, body.dark-layout .card .card-footer { background: transparent !important; }
body.dark-layout .divider .divider-text { background: var(--sv-page); color: var(--sv-ink); }
body.dark-layout .card .divider .divider-text { background: var(--sv-card); }
body.dark-layout .form-control, body.dark-layout .custom-select { background-color: var(--sv-navy) !important; border-color: var(--sv-line) !important; color: var(--sv-ink) !important; }
body.dark-layout .badge-circle-light-primary { background-color: rgba(88,172,253,.14) !important; color: var(--sv-blue) !important; }
body.dark-layout .dropdown-menu { background: var(--sv-navy-2); border-color: var(--sv-line); }

/* one page colour behind every panel */
html body:not(.blank-page), html body:not(.blank-page) .app-content { background-color: var(--sv-page) !important; }
.main-menu { border-right: 1px solid var(--sv-line) !important; }
body.dark-layout .card .card-content, body.dark-layout .card .card-body { background-color: var(--sv-card) !important; }
body.dark-layout .list-group-item { background-color: var(--sv-card) !important; border-color: var(--sv-line) !important; color: var(--sv-ink-2) !important; }
