/* FONTS - Plisir (self-hosted, same woff2 as plisir.com) */
@font-face {
    font-family: "Bricolage Grotesque Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
    src: url("/fonts/bricolage-grotesque-latin.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Bricolage Grotesque Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 200 800;
    src: url("/fonts/bricolage-grotesque-latin-ext.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Public Sans Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("/fonts/public-sans-latin.woff2") format("woff2-variations");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Public Sans Variable";
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    src: url("/fonts/public-sans-latin-ext.woff2") format("woff2-variations");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* DESIGN TOKENS - plisir.com */
:root {
    --ink: #14120f;
    --ink-2: #24211c;
    --cream: #f2ede3;
    --cream-2: #e6dfd1;
    --surface: #fffdf8;
    --cobalt: #1b35d6;
    --cobalt-2: #1327a3;
    --forest: #0b4f42;
    --forest-2: #073a30;
    --mint: #6fe3be;
    --ochre: #b45309;
    --red: #b42318;
    --rule: 1px;
    --rule-soft: 1px solid rgba(20, 18, 15, .16);
    --radius-pill: 100px;
    --font-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
    --font-body: "Public Sans Variable", "Public Sans", ui-sans-serif, system-ui, sans-serif;
    --sidebar-w: 240px;
    --navbar-h: 74px;
    --bs-body-bg: var(--cream);
    --bs-body-color: var(--ink);
    --bs-primary: var(--cobalt);
    --bs-primary-rgb: 27, 53, 214;
    --bs-secondary-color: rgba(20, 18, 15, .62);
    --bs-tertiary-color: rgba(20, 18, 15, .45);
    --bs-heading-color: var(--ink);
    --bs-border-color: var(--cream-2);
    --bs-link-color: var(--cobalt);
    --bs-link-hover-color: var(--cobalt-2);
    --bs-font-sans-serif: var(--font-body);
}

/* BASE RESET */
body { padding: 0; margin: 0; overflow-x: hidden; }
* { -webkit-tap-highlight-color: transparent; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a,
div,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
p,
span { text-shadow: none; }
input,
.form-control:focus,
select:focus,
textarea:focus,
button:focus { outline: none; outline-width: 0; outline-color: transparent; }
[ type="button" ]:focus,
a:active,
a:focus,
a:visited,
button::-moz-focus-inner { outline: 0; }
:focus-visible { outline: 2px solid var(--cobalt); outline-offset: 2px; }
.text-muted { color: rgba(20, 18, 15, .62) !important; }
.text-black { color: var(--ink) !important; }
.text-primary { color: var(--cobalt) !important; }
.text-success { color: var(--forest) !important; }
.text-danger { color: var(--red) !important; }
.text-warning { color: var(--ochre) !important; }
.text-gray { color: rgba(20, 18, 15, .55); }
.text-small { font-size: 12px; }
.font-weight-medium { font-weight: 600; }
.flex-grow { flex-grow: 1; }
.hover-cursor:hover { cursor: pointer; }
.min-width-cell { min-width: 110px; }
.bg-gradient-primary { background: linear-gradient(230deg, #4b62e0, #1327a3); }
.bg-gradient-secondary { background: linear-gradient(to right, #e6dfd1, #a49b8b); }
.bg-gradient-success { background: linear-gradient(45deg, #6fe3be, #0b4f42); }
.bg-gradient-info { background: linear-gradient(to bottom, #1b35d6, #6fe3be); }
.bg-gradient-warning { background: linear-gradient(135deg, #f0b64a, #b45309); }
.bg-gradient-danger { background: linear-gradient(316deg, #e07163, #b42318); }
.bg-gradient-light { background: linear-gradient(to right, #f2ede3 0%, #e6dfd1 100%); }
.bg-gradient-dark { background: linear-gradient(to right, #24211c 0%, #14120f 100%); }

/* TYPOGRAPHY */
body { font-family: var(--font-body); font-size: 15px; font-weight: 400; line-height: 1.55; color: var(--ink); background: var(--cream); }
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.035em; line-height: 1.08; color: var(--ink); }
p { font-size: .875rem; margin-bottom: .6rem; line-height: 1.6; }
h1,
.h1 { font-size: 2.75rem; }
h2,
.h2 { font-size: 1.85rem; }
h3,
.h3 { font-size: 1.5rem; }
h4,
.h4 { font-size: 1.2rem; }
h5,
.h5 { font-size: 1rem; }
h6,
.h6 { font-size: .9375rem; }
.eyebrow { font-family: var(--font-body); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; opacity: .62; }
.lede { font-size: 1.0625rem; line-height: 1.52; }
@media (max-width: 991px) {
    h1,
    .h1 { font-size: 2rem; }
    h2,
    .h2 { font-size: 1.5rem; }
    h3,
    .h3 { font-size: 1.25rem; }
    h4,
    .h4 { font-size: 1.1rem; }
}
code { padding: 4px 6px; color: var(--cobalt); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 400; font-size: .812rem; border-radius: 3px; background: var(--cream-2); }
pre { background: var(--ink); color: var(--cream); padding: 15px; font-size: 13px; border-radius: 0; }

/* BRAND */
.logo-lockup { display: inline-flex; align-items: center; gap: 10px; line-height: 1; }
.logo-lockup img { width: 26px; height: 26px; flex: none; }
.logo-word { font-family: var(--font-display); font-weight: 800; font-size: 24px; letter-spacing: -.055em; color: var(--ink); transform: translateY(1px); }
.logo-word--inverse { color: var(--cream); }

/* NAVBAR */
.navbar { font-weight: 400; transition: background .2s ease; background: var(--cream); border-bottom: var(--rule) solid var(--ink); }
.navbar .navbar-brand-wrapper { background: var(--cream); transition: width .25s ease, background .25s ease; width: var(--sidebar-w); height: var(--navbar-h); padding: 0 22px; display: flex; align-items: center; border-right: var(--rule) solid var(--ink); }
.navbar .navbar-brand-wrapper .navbar-brand { color: var(--ink); font-size: 1.5rem; margin-right: 0; padding: 0; line-height: 1; display: inline-flex; align-items: center; }
.navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini { display: none; }
.navbar .navbar-brand-wrapper .navbar-brand:hover,
.navbar .navbar-brand-wrapper .navbar-brand:focus { color: var(--ink); }
.navbar .navbar-brand-wrapper .navbar-brand img { width: 26px; height: 26px; }
.navbar .navbar-brand-wrapper .navbar-toggler { border: 0; color: var(--ink); font-size: 1rem; padding: 0; border-radius: 0; }
.navbar .navbar-brand-wrapper .navbar-toggler:focus { box-shadow: none; }
.navbar .navbar-menu-wrapper { background: var(--cream); transition: width .25s ease, background .25s ease; color: var(--ink); padding-left: 28px; padding-right: 26px; padding-top: 16px; padding-bottom: 16px; width: calc(100% - var(--sidebar-w)); height: var(--navbar-h); display: flex; align-items: center; }
.navbar .navbar-menu-wrapper .navbar-toggler { border: 0; color: var(--ink); font-size: 1.25rem; padding: 0; border-radius: 0; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item { margin-left: 1.25rem; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item:last-child { margin-right: 0; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .nav-link { color: var(--ink); font-size: 12px; vertical-align: middle; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .nav-link i { font-size: 1.25rem; vertical-align: middle; margin-right: 0; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .welcome-text { font-family: var(--font-display); font-weight: 800; letter-spacing: -.035em; font-size: 22px; line-height: 1.1; color: var(--ink); margin-bottom: 4px; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .welcome-sub-text { font-family: var(--font-body); font-weight: 600; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--ink); opacity: .62; margin-bottom: 0; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .dropdown-menu { border: none; box-shadow: none; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown { position: absolute; font-size: .9rem; margin-top: 0; right: 0; left: auto; top: 62px; padding-top: 0; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item { margin-bottom: 0; padding: 10px 16px; cursor: pointer; border-bottom: var(--rule-soft); line-height: 1; font-weight: 600; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-item i { font-size: 18px; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item.dropdown .navbar-dropdown .dropdown-header { padding: 14px 16px 12px; border-bottom: var(--rule) solid var(--ink); }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .navbar-date-picker { background: var(--surface); height: 40px; border: var(--rule) solid var(--ink); border-radius: 0; overflow: hidden; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .navbar-date-picker .calendar-icon { color: var(--ink); font-size: 14px; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .navbar-date-picker .input-group-prepend { height: 36px; border-color: transparent; background: transparent; border-right: var(--rule-soft); }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .navbar-date-picker .input-group-prepend > .input-group-text { border-color: transparent; background: transparent; height: 100%; color: var(--ink); padding: 0 .6rem; }
.navbar .navbar-menu-wrapper .navbar-nav .nav-item .navbar-date-picker .form-control { font-style: normal; font-weight: 600; font-size: 12px; line-height: 16px; color: var(--ink); border: none; max-width: 130px; height: 36px; padding: 0 .6rem; background: transparent; }
@media (max-width: 991px) {
    .navbar .navbar-brand-wrapper { width: 62px; padding: 0; justify-content: center; }
    .navbar .navbar-brand-wrapper .navbar-brand.brand-logo { display: none; }
    .navbar .navbar-brand-wrapper .navbar-brand.brand-logo-mini { display: inline-block; }
    .navbar .navbar-menu-wrapper { width: calc(100% - 62px); padding: 10px 14px; height: auto; }
    .navbar .navbar-menu-wrapper .navbar-nav .nav-item { margin-left: 10px; }
    .navbar .navbar-menu-wrapper .navbar-nav .nav-item .welcome-text { font-size: 18px; }
}

/* SIDEBAR */
.sidebar { min-height: calc(100vh - var(--navbar-h)); height: calc(100vh - var(--navbar-h)); overflow-y: auto; overflow-x: hidden; background: var(--cream); font-family: var(--font-body); font-weight: 600; padding: 0 0 60px; width: var(--sidebar-w); z-index: 11; border-right: var(--rule) solid var(--ink); transition: width .25s ease; }
.sidebar .nav { overflow: hidden; flex-wrap: nowrap; flex-direction: column; margin-bottom: 40px; padding-top: 6px; }
.sidebar .nav .nav-item { transition-duration: .25s; }
.sidebar .nav .nav-item .collapse { z-index: 999; }
.sidebar .nav .nav-item .nav-link { display: flex; align-items: center; white-space: nowrap; padding: 11px 22px; color: var(--ink); border-radius: 0; transition-duration: .16s; transition-property: background, color; font-weight: 600; font-size: 13.5px; }
.sidebar .nav .nav-item .nav-link i { color: inherit; }
.sidebar .nav .nav-item .nav-link i.menu-icon { font-size: 20px; line-height: 1; margin-right: 12px; color: var(--ink); }
.sidebar .nav .nav-item .nav-link .menu-title { color: inherit; display: inline-block; font-size: 13.5px; line-height: 1; vertical-align: middle; }
.sidebar .nav .nav-item:hover > .nav-link { background: var(--ink); color: var(--cream); }
.sidebar .nav .nav-item:hover > .nav-link i,
.sidebar .nav .nav-item:hover > .nav-link .menu-title { color: var(--cream); }
.sidebar .nav .nav-item.nav-category { color: var(--ink); border-bottom: var(--rule-soft); margin: 0 22px; font-size: 10.5px; font-weight: 700; letter-spacing: .09em; padding: 22px 0 8px; text-transform: uppercase; opacity: .55; }
.sidebar .nav:not(.sub-menu) > .nav-item { margin-top: 2px; }
.sidebar .nav:not(.sub-menu) > .nav-item > .nav-link { margin: 0; }
.sidebar .nav .nav-item.active > .nav-link { background: var(--mint); color: var(--ink); font-weight: 700; }
.sidebar .nav .nav-item.active > .nav-link i,
.sidebar .nav .nav-item.active > .nav-link .menu-title { color: var(--ink); }
.sidebar .nav .nav-item.active { border-radius: 0; }
.sidebar .nav.sub-menu { margin-bottom: 0; margin-top: 0; list-style: none; padding: .25rem 0 0 3.07rem; background: var(--cream-2); padding-bottom: 12px; }
.sidebar .nav.sub-menu .nav-item { padding: 0; }
.sidebar .nav.sub-menu .nav-item .nav-link { color: var(--ink); padding: .7rem 1rem; position: relative; font-size: 12px; line-height: 1; height: auto; border-top: 0; }
.sidebar .nav.sub-menu .nav-item .nav-link:hover { background: var(--mint); color: var(--ink); }
.sidebar .nav.sub-menu .nav-item .nav-link.active { color: var(--cobalt); background: transparent; }
.sidebar .nav.sub-menu .nav-item:hover { background: transparent; }

/* SIDEBAR - Collapsed */
@media (min-width: 992px) {
    .sidebar-icon-only .navbar .navbar-brand-wrapper { width: 76px; padding-left: 0; padding-right: 0; justify-content: center; }
    .sidebar-icon-only .navbar .navbar-brand-wrapper .navbar-brand { display: none; }
    .sidebar-icon-only .navbar .navbar-brand-wrapper .brand-logo-mini { display: inline-block; }
    .sidebar-icon-only .navbar .navbar-menu-wrapper { width: calc(100% - 76px); }
    .sidebar-icon-only .sidebar { width: 76px; }
    .sidebar-icon-only .sidebar .nav { overflow: visible; }
    .sidebar-icon-only .sidebar .nav .nav-item .nav-link { display: block; padding-left: .5rem; padding-right: .5rem; text-align: center; position: static; }
    .sidebar-icon-only .sidebar .nav .nav-item .nav-link .menu-title,
    .sidebar-icon-only .sidebar .nav .nav-item .nav-link .badge { display: none; }
    .sidebar-icon-only .sidebar .nav .nav-item .nav-link i.menu-icon { margin-right: 0; margin-left: 0; margin-bottom: 0; }
    .sidebar-icon-only .sidebar .nav .nav-item.nav-category { display: none; }
    .sidebar-icon-only .main-panel { width: calc(100% - 76px); }
}
@media (min-width: 992px) {
    .sidebar-hidden .sidebar { transition: width .25s ease; width: 0; border-right: 0; }
    .sidebar-hidden .main-panel { width: 100%; }
}

/* LAYOUT - Page Body */
.page-body-wrapper { min-height: calc(100vh - var(--navbar-h)); display: flex; flex-direction: row; padding-left: 0; padding-right: 0; padding-top: var(--navbar-h); }
.page-body-wrapper.full-page-wrapper { width: 100%; min-height: 100dvh; padding-top: 0; }
.main-panel { transition: width .25s ease, margin .25s ease; width: calc(100% - var(--sidebar-w)); min-height: calc(100vh - var(--navbar-h)); display: flex; flex-direction: column; }
@media (max-width: 991px) {
    .main-panel { margin-left: 0; width: 100%; }
}
.content-wrapper { background: var(--cream); padding: 28px 32px 40px; width: 100%; flex-grow: 1; }
@media (max-width: 767px) {
    .content-wrapper { padding: 18px 14px 28px; }
}

/* SIDEBAR - Offcanvas Responsive */
@media screen and (max-width: 991px) {
    .sidebar-offcanvas { position: fixed; max-height: calc(100vh - var(--navbar-h)); top: var(--navbar-h); bottom: 0; overflow: auto; right: -240px; background: var(--cream); transition: all .25s ease-out; }
    .sidebar-offcanvas.active { right: 0; }
}

/* CARDS */
.card { background: var(--surface); border: var(--rule) solid var(--ink); border-radius: 0; box-shadow: none; transition: background .2s ease; }
.card.card-rounded { border-radius: 0; box-shadow: none; }
.card.transparent { background: transparent; border-color: transparent; }
.card .card-body { padding: 24px 26px; }
.card .card-title { font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; color: var(--ink); margin-bottom: .6rem; text-transform: none; font-size: 1.25rem; }
.card .card-title.card-title-dash { font-weight: 800; font-size: 1.25rem; line-height: 1.1; color: var(--ink); margin-bottom: 4px; }
.card .card-subtitle-dash { font-weight: 400; font-size: 13.5px; line-height: 1.5; margin: 0; opacity: .62; }
.card .card-subtitle { font-weight: 400; margin-top: .625rem; margin-bottom: .625rem; opacity: .72; }
.card .card-description { margin-bottom: .875rem; font-weight: 400; opacity: .7; }
.card.card-tale { background: var(--cobalt); color: var(--cream); border-color: var(--cobalt); }
.card.card-tale .card-title { color: var(--cream); }
.card.card-dark-blue { background: var(--forest); color: var(--cream); border-color: var(--forest); }
.card.card-light-blue { background: var(--cobalt); color: var(--cream); border-color: var(--cobalt); }
.card.card-light-danger { background: var(--red); color: var(--cream); border-color: var(--red); }
.stretch-card { display: flex; align-items: stretch; justify-content: stretch; }
.stretch-card > .card { width: 100%; min-width: 100%; }
.grid-margin { margin-bottom: 1.5rem; }
@media (min-width: 576px) {
    .grid-margin-sm-0 { margin-bottom: 0; }
}
@media (min-width: 768px) {
    .grid-margin-md-0 { margin-bottom: 0; }
}
@media (min-width: 992px) {
    .grid-margin-lg-0 { margin-bottom: 0; }
}
@media (min-width: 1200px) {
    .grid-margin-xl-0 { margin-bottom: 0; }
}

/* DATA ICON CARDS */
.data-icon-card-primary { background: var(--ink); color: var(--cream); }
.data-icon-card-secondary { background: var(--cream-2); color: var(--ink); }
.data-icon-card-success { background: var(--forest); color: var(--cream); }
.data-icon-card-info { background: var(--cobalt); color: var(--cream); }
.data-icon-card-warning { background: var(--ochre); color: var(--cream); }
.data-icon-card-danger { background: var(--red); color: var(--cream); }
.data-icon-card-light { background: var(--cream); color: var(--ink); }
.data-icon-card-dark { background: var(--ink-2); color: var(--cream); }
.data-icon-card-primary .card-title,
.data-icon-card-secondary .card-title,
.data-icon-card-success .card-title,
.data-icon-card-info .card-title,
.data-icon-card-warning .card-title,
.data-icon-card-danger .card-title,
.data-icon-card-light .card-title,
.data-icon-card-dark .card-title { color: inherit; }
.data-icon-card-primary .background-icon i,
.data-icon-card-secondary .background-icon i,
.data-icon-card-success .background-icon i,
.data-icon-card-info .background-icon i,
.data-icon-card-warning .background-icon i,
.data-icon-card-danger .background-icon i,
.data-icon-card-light .background-icon i,
.data-icon-card-dark .background-icon i { z-index: 1; color: inherit; }

/* STATISTICS - Dashboard metrics strip */
.container-scroller { overflow: hidden; }
.statistics-container { position: relative; width: 100%; }
.statistics-container .deg { display: none; }
.statistics-wrapper { overflow-x: auto; width: 100%; }
.statistics-details { display: grid; grid-template-columns: repeat(7, minmax(150px, 1fr)); gap: var(--rule); background: var(--ink); border: var(--rule) solid var(--ink); }
.statistics-details .statistics-data { background: var(--surface); padding: 22px 16px; border: 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.statistics-details .statistics-data.last { border: 0; }
.statistics-details .statistics-title { font-style: normal; white-space: nowrap; font-weight: 700; font-size: 10.5px; line-height: 1.2; letter-spacing: .07em; text-transform: uppercase; color: var(--ink); opacity: .6; margin-bottom: 8px; }
.statistics-details .rate-percentage { font-family: var(--font-display); font-weight: 800; font-size: 30px; line-height: 1.05; letter-spacing: -.04em; color: var(--ink); margin-bottom: 4px; }
.statistics-details .statistics-data:nth-child(4n+1) .rate-percentage { color: var(--cobalt); }
.statistics-details .statistics-data:nth-child(4n+2) .rate-percentage { color: var(--forest); }
.statistics-details .statistics-data:nth-child(4n+3) .rate-percentage { color: var(--ink); }
.statistics-details .statistics-data:nth-child(4n+4) .rate-percentage { color: var(--cobalt-2); }
.statistics-details .status { font-style: normal; font-weight: 700; font-size: 12px; line-height: 16px; }
.statistics-details .status i { font-size: 13px; }
.statistics-details p { font-weight: 700; font-size: 12px; margin: 0; display: inline-flex; align-items: center; gap: 2px; }
.statistics-details p i { font-size: 16px; }
@media (max-width: 1280px) {
    .statistics-details { grid-template-columns: repeat(4, minmax(140px, 1fr)); }
    .statistics-details .rate-percentage { font-size: 24px; }
}
@media (max-width: 768px) {
    .statistics-details { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
    .statistics-details .rate-percentage { font-size: 22px; }
}
#earnings-line-legend ul { margin: 0; padding: 0; display: flex; gap: 18px; }
#earnings-line-legend ul li { color: var(--ink); opacity: .7; font-size: 12.5px; line-height: 1.5; margin: 0; display: flex; align-items: center; gap: 8px; }
#earnings-line-legend ul li span { width: 10px; height: 10px; border-radius: 100%; display: inline-block; flex: none; }

/* HOME TAB - Charts & helpers */
.home-tab .btn { padding: 10px 18px; border-radius: var(--radius-pill); font-weight: 600; font-size: 13px; line-height: 1; margin-bottom: 12px; margin-right: 12px; align-items: center; }
.home-tab .btn i { font-size: 1rem; margin-right: .35rem; line-height: 1; vertical-align: bottom; }
.home-tab .chartjs-legend ul { list-style: none; padding-left: 0; display: flex; align-items: center; margin-bottom: 0; }
.home-tab .chartjs-legend ul li { margin-right: 18px; display: flex; align-items: center; white-space: nowrap; color: var(--ink); opacity: .7; font-size: 12.5px; }
.home-tab .chartjs-legend ul li span { height: 10px; width: 10px; border-radius: 100%; margin-right: 10px; display: inline-block; }
.home-tab .chartjs-wrapper { height: 300px; }
.home-tab .text-light-green { color: var(--cobalt); }
.charts-no-data { width: 100%; }
.charts-no-data p { height: 250px; text-align: center; justify-content: center; align-items: center; display: flex; font-size: .95rem; line-height: 1.5; opacity: .6; }

/* BUTTONS */
.btn { font-family: var(--font-body); font-size: .875rem; line-height: 1; font-weight: 600; border-radius: var(--radius-pill); border: var(--rule) solid var(--ink); padding: 10px 18px; transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease; }
.btn i { font-size: 1rem; }
.btn:active { transform: translateY(1px); }
.btn:focus,
.btn:active { outline: 0; box-shadow: none; }
.btn.btn-rounded { border-radius: 50px; }
.btn.btn-sm,
.btn-group-sm > .btn { font-size: .8125rem; padding: 8px 15px; }
.btn.btn-lg,
.btn-group-lg > .btn { font-size: .9375rem; padding: 13px 26px; }
.btn.btn-xs { padding: 6px 13px; font-size: .75rem; }
.btn.btn-icons { width: 40px; height: 40px; padding: 0; border-radius: var(--radius-pill); }
.btn.btn-icon-text .btn-icon-prepend { margin-right: .5rem; }
.btn.btn-icon-text .btn-icon-append { margin-left: .5rem; }
.btn-primary { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.btn-primary:hover,
.btn-primary:focus { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.btn-secondary { background: var(--cream-2); border-color: var(--ink); color: var(--ink); }
.btn-secondary:hover,
.btn-secondary:focus { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.btn-success { background: var(--forest); border-color: var(--forest); color: var(--cream); }
.btn-success:hover,
.btn-success:focus { background: var(--forest-2); border-color: var(--forest-2); color: var(--cream); }
.btn-info { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.btn-info:hover,
.btn-info:focus { background: var(--cobalt-2); border-color: var(--cobalt-2); color: var(--cream); }
.btn-warning { background: var(--ochre); border-color: var(--ochre); color: var(--cream); }
.btn-warning:hover,
.btn-warning:focus { background: #8f4207; border-color: #8f4207; color: var(--cream); }
.btn-danger { background: var(--red); border-color: var(--red); color: var(--cream); }
.btn-danger:hover,
.btn-danger:focus { background: #8f1b13; border-color: #8f1b13; color: var(--cream); }
.btn-dark { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.btn-dark:hover,
.btn-dark:focus { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.btn-light { background: var(--cream-2); border-color: var(--ink); color: var(--ink); }
.btn-transparent { background: transparent; border-color: transparent; color: var(--ink); }
.btn-transparent:hover { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.btn-outline-primary { background: transparent; border-color: var(--cobalt); color: var(--cobalt); }
.btn-outline-primary:hover { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.btn-outline-secondary { background: transparent; border-color: rgba(20, 18, 15, .35); color: var(--ink); }
.btn-outline-secondary:hover { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.btn-block { display: block; width: 100%; }

/* BADGES */
.badge { border-radius: var(--radius-pill); font-size: 10.5px; line-height: 1; padding: 6px 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; border: 1px solid transparent; }
.badge.badge-pill { border-radius: var(--radius-pill); }
.badge-primary { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.badge-secondary { background: var(--cream-2); border-color: rgba(20, 18, 15, .3); color: var(--ink); }
.badge-success { background: var(--forest); border-color: var(--forest); color: var(--cream); }
.badge-info { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.badge-warning { background: var(--ochre); border-color: var(--ochre); color: var(--cream); }
.badge-danger { background: var(--red); border-color: var(--red); color: var(--cream); }
.badge-light { background: var(--cream); border-color: rgba(20, 18, 15, .3); color: var(--ink); }
.badge-dark { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.badge-outline-primary { color: var(--cobalt); border: 1px solid var(--cobalt); }
.badge-outline-secondary { color: rgba(20, 18, 15, .62); border: 1px solid rgba(20, 18, 15, .35); }
.badge-outline-success { color: var(--forest); border: 1px solid var(--forest); }
.badge-outline-info { color: var(--cobalt); border: 1px solid var(--cobalt); }
.badge-outline-warning { color: var(--ochre); border: 1px solid var(--ochre); }
.badge-outline-danger { color: var(--red); border: 1px solid var(--red); }
.badge-outline-light { color: var(--ink); border: 1px solid rgba(20, 18, 15, .3); }
.badge-outline-dark { color: var(--ink); border: 1px solid var(--ink); }

/* ALERTS */
.alert { font-size: .875rem; font-weight: 500; border: var(--rule) solid var(--ink); border-left-width: 4px; border-radius: 0; background: var(--surface); padding: 14px 16px; }
.alert i { font-size: 1.1rem; margin-right: .75rem; vertical-align: middle; line-height: .5; }
.alert-primary { border-left-color: var(--cobalt); color: var(--ink); }
.alert-secondary { border-left-color: rgba(20, 18, 15, .35); color: var(--ink); }
.alert-success { border-left-color: var(--forest); color: var(--ink); }
.alert-info { border-left-color: var(--cobalt); color: var(--ink); }
.alert-warning { border-left-color: var(--ochre); color: var(--ink); }
.alert-danger { border-left-color: var(--red); color: var(--ink); }
.alert-light { border-left-color: var(--cream-2); color: var(--ink); }
.alert-dark { border-left-color: var(--ink); color: var(--ink); }
.alert-fill-primary { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.alert-fill-success { background: var(--forest); border-color: var(--forest); color: var(--cream); }
.alert-fill-info { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.alert-fill-warning { background: var(--ochre); border-color: var(--ochre); color: var(--cream); }
.alert-fill-danger { background: var(--red); border-color: var(--red); color: var(--cream); }
.alert-fill-dark { background: var(--ink); border-color: var(--ink); color: var(--cream); }

/* PROGRESS */
.progress { border-radius: var(--radius-pill); height: 8px; background: var(--cream-2); }
.progress .progress-bar { border-radius: var(--radius-pill); background: var(--cobalt); }
.progress.progress-sm { height: .375rem; }
.progress.progress-md { height: 5px; }
.progress.progress-lg { height: 15px; }
.progress.progress-xl { height: 18px; }
.progress-bar { width: 100%; height: 5px; background: var(--cobalt); border-radius: var(--radius-pill); position: relative; margin-bottom: 20px; }
.progress-bar-fill { height: 100%; width: 0%; background: var(--cobalt); transition: width .4s ease-in-out; border-radius: var(--radius-pill); }

/* FORMS */
.form-group { margin: 1rem 0; }
.form-group label,
.form-horizontal .control-label { color: var(--ink); font-family: var(--font-body); font-weight: 700; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.form-control,
.form-control:focus { width: 100%; padding: 10px 12px; background: var(--surface); border: 1px solid var(--ink); border-radius: 3px; color: var(--ink); font-size: .875rem; height: 42px; box-shadow: none; }
.form-control:focus { border-color: var(--cobalt); box-shadow: 0 0 0 3px rgba(27, 53, 214, .15); }
.form-control::placeholder { color: rgba(20, 18, 15, .4); }
.form-control:disabled,
.form-control[ readonly ] { background: var(--cream-2); color: rgba(20, 18, 15, .6); }
.form-control-lg { height: 48px; font-size: .9375rem; padding: 12px 14px; }
textarea.form-control { height: auto; background: var(--surface); color: var(--ink); line-height: 1.6; }
select.form-control,
.dataTables_wrapper select { padding: 10px 12px; border: 1px solid var(--ink); outline: 0; color: var(--ink); border-radius: 3px; }
select.form-control:focus,
.dataTables_wrapper select:focus { border-color: var(--cobalt); outline: 0; box-shadow: 0 0 0 3px rgba(27, 53, 214, .15); }
.form-control-plaintext { display: block; width: 100%; padding: 10px 0; margin-bottom: 0; line-height: 1.6; color: var(--ink); }
.input-group-append,
.input-group-prepend { color: rgba(20, 18, 15, .5); width: auto; border: none; }
.input-group-append .input-group-text,
.input-group-prepend .input-group-text { border-color: var(--ink); padding: .5rem .75rem; background: var(--cream-2); color: var(--ink); }
.form-check { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; padding-left: 0; }
.form-check .form-check-label { min-height: 18px; display: block; margin-left: 1.75rem; font-size: .8125rem; line-height: 1.5; white-space: nowrap; }
.form-check .form-check-label input { position: absolute; top: 0; left: 0; margin-left: 0; margin-top: 0; z-index: 1; cursor: pointer; opacity: 0; }
.form-check .form-check-label input[type="checkbox"] + .input-helper:before { content: ""; position: absolute; top: 0; left: 0; width: 18px; height: 18px; border-radius: 2px; border: 1px solid var(--ink); transition: all .25s ease; background: var(--surface); }
.form-check .form-check-label input[type="checkbox"] + .input-helper:after { position: absolute; top: 0; left: 0; font-family: "Material Design Icons"; opacity: 0; transition: all .25s ease; content: "\F012C"; font-size: .9375rem; font-weight: bold; color: var(--cream); }
.form-check .form-check-label input[type="checkbox"]:checked + .input-helper:before { background: var(--cobalt); border-color: var(--cobalt); }
.form-check .form-check-label input[type="checkbox"]:checked + .input-helper:after { width: 18px; opacity: 1; line-height: 18px; transform: scale(1); }
.form-check .form-check-label input[type="radio"] + .input-helper:before { position: absolute; content: ""; top: 0; left: 0; border: solid var(--ink); border-width: 1px; width: 18px; height: 18px; border-radius: 50%; transition: all .25s ease; background: var(--surface); }
.form-check .form-check-label input[type="radio"] + .input-helper:after { content: ""; width: 8px; height: 8px; background: var(--cream); border-radius: 50%; top: 6px; left: 6px; transition: all .25s ease; opacity: 0; position: absolute; }
.form-check .form-check-label input[type="radio"]:checked + .input-helper:before { background: var(--cobalt); border-color: var(--cobalt); }
.form-check .form-check-label input[type="radio"]:checked + .input-helper:after { opacity: 1; }

/* INPUT GROUPS */
.input-group .form-control { border-radius: 0; }
.input-group > .form-control:not(:last-child) { border-right: 0; }
.input-group > :not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > :not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* DROPDOWNS */
.dropdown .dropdown-toggle:after { border-top: 0; border-right: 0; border-left: 0; border-bottom: 0; font: normal normal normal 24px/1 "Material Design Icons"; content: "\F0140"; width: auto; height: auto; vertical-align: middle; line-height: .625rem; font-size: .5rem; margin-left: .35rem; font-weight: bold; }
.dropdown .dropdown-menu { margin-top: 2px; font-size: .8125rem; border: var(--rule) solid var(--ink); border-radius: 0; padding: 6px; background: var(--surface); box-shadow: 5px 5px 0 rgba(20, 18, 15, .12); }
.dropdown .dropdown-menu .dropdown-item { font-size: .8125rem; font-weight: 600; padding: 9px 12px; border-radius: 0; }
.dropdown .dropdown-menu .dropdown-item:hover { background: var(--mint); color: var(--ink); }
.dropdown .dropdown-menu .dropdown-item:active { background: var(--mint); }
.dropdown .dropdown-menu .dropdown-header { font-size: 10.5px; font-weight: 700; text-transform: none; opacity: 1; }
.dropdown .dropdown-menu .dropdown-header .dropdown-user-name { font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--ink); }
.dropdown .dropdown-menu .dropdown-header .dropdown-user-email { font-size: 10.5px; font-weight: 500; text-transform: none; color: var(--ink-2); overflow-wrap: anywhere; }

/* TABLES */
.table { margin-bottom: 0; color: var(--ink); }
.table thead th { border-top: 0; border-bottom: var(--rule) solid var(--ink); font-weight: 700; font-size: 10.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--ink); padding: 14px 12px; background: var(--cream-2); vertical-align: bottom; }
.table thead th i { margin-left: .325rem; }
.table th,
.table td { vertical-align: middle; line-height: 1.3; padding: 12px; border-bottom: var(--rule-soft); }
.table td { font-size: .8125rem; }
.table td .badge { margin-bottom: 0; }
.table tr:last-child td { border-bottom: none; }
.table.table-borderless { border: none; }
.table.table-borderless tr,
.table.table-borderless td,
.table.table-borderless th { border: none; }
.table.table-bordered { border-top: var(--rule) solid var(--ink); }
.table.table-hover tbody tr:hover { background: rgba(111, 227, 190, .28); }
.table.table-striped tbody tr:nth-of-type(odd) { background: rgba(230, 223, 209, .35); }
.table-responsive { width: 100%; overflow-x: auto; border: none !important; }
.table-responsive table { width: 100%; }
.table.select-table tr td:first-child { padding-right: 10px; }
.table.select-table th { color: rgba(20, 18, 15, .55); font-style: normal; font-weight: 700; font-size: 10.5px; line-height: 1.4; letter-spacing: .07em; text-transform: uppercase; padding-right: 5px; padding-left: 0; }
.table.select-table td { font-style: normal; font-weight: 400; font-size: 12px; line-height: 16px; color: var(--ink); padding-top: 14px; padding-bottom: 14px; padding-left: 0; }
.table.select-table td h6,
.table.select-table td .h6 { font-style: normal; font-weight: 700; font-size: 13px; line-height: 18px; color: var(--ink); margin-bottom: 5px; }
.table.select-table td p { font-style: normal; font-weight: 400; font-size: 12px; line-height: 16px; opacity: .62; margin-bottom: 0; }

/* DATATABLES */
.dataTables_wrapper { padding-left: 0; padding-right: 0; }
.dataTables_wrapper label { font-size: .8125rem; }
.dataTables_wrapper select { padding: .4rem; outline-offset: -2px; }
.dataTables_wrapper .dataTables_length select { min-width: 70px; margin-left: .25rem; margin-right: .25rem; width: -webkit-fill-available; border-radius: 3px; }
.dataTables_wrapper .dataTable .btn { padding: .2rem .8rem; vertical-align: top; }
.dataTables_wrapper .dataTable .btn i { font-size: .875rem; margin-right: .3rem; }
.dataTables_wrapper .dataTable thead th { border-bottom-width: var(--rule); }
.dataTables_wrapper .dataTable thead .sorting:before,
.dataTables_wrapper .dataTable thead .sorting_asc:before,
.dataTables_wrapper .dataTable thead .sorting_asc_disabled:before { content: "\e64b"; right: 1.2em; bottom: 0; }
.dataTables_wrapper .dataTable thead .sorting:after,
.dataTables_wrapper .dataTable thead .sorting_desc:after,
.dataTables_wrapper .dataTable thead .sorting_desc_disabled:after { content: "\e648"; right: 1.2em; top: 0; }
.dataTables_wrapper .dataTables_paginate { margin-top: 20px; }
.dataTables_wrapper .dataTables_info { font-size: .8125rem; opacity: .65; }
div.dt-container div.dt-processing > div:last-child > div { background: var(--cobalt) !important; }
div.dt-container div.dt-buttons { float: left; margin: 15px 0 10px; text-align: left; width: auto !important; font-size: 10px; display: flex; align-items: center; }
div.dt-container div.dt-search { float: right; max-width: 220px; width: 50%; font-size: 12px; margin-bottom: 20px; margin-right: 3px; }
div.dt-container div.dt-search input { padding: 8px 10px; font-size: 12px; border: 1px solid var(--ink); border-radius: 3px; background: var(--surface); }
div.dt-container div.dt-paging ul.pagination { margin: 25px 0 0; justify-content: end !important; }
div.dt-container div.dt-paging ul.pagination .page-item .page-link { border: 1px solid rgba(20, 18, 15, .2); border-radius: 0; color: var(--ink); font-size: .875rem; background: var(--surface); transition-duration: .3s; }
div.dt-container div.dt-paging ul.pagination .page-item.active .page-link,
div.dt-container div.dt-paging ul.pagination .page-item:hover .page-link,
div.dt-container div.dt-paging ul.pagination .page-item:focus .page-link,
div.dt-container div.dt-paging ul.pagination .page-item:active .page-link { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); box-shadow: none; }
div.dt-container div.dt-paging ul.pagination .page-item.active .page-link { background: var(--cobalt); border-color: var(--cobalt); }
div.dt-container div.dt-paging .dt-paging-button { padding: 0; margin: 0; }
div.dt-container div.dt-paging .dt-paging-button.current,
div.dt-container div.dt-paging .dt-paging-button.current:hover { border: none; background-color: none; background: none; }
div.dataTables_wrapper div.dataTables_filter label { color: var(--ink); font-family: var(--font-body); font-weight: 700; font-size: 10.5px; letter-spacing: .07em; text-transform: uppercase; margin: 0 !important; }
@media (max-width: 576px) {
    .dataTables_wrapper .dataTables_info { margin-bottom: 1rem; }
}

/* NAV TABS */
.nav-tabs { border-bottom: var(--rule) solid var(--ink); }
.nav-tabs .nav-link { background: transparent; color: var(--ink); border: none; border-right: var(--rule-soft); border-radius: 0; padding: .75rem 1.25rem; font-weight: 600; }
.nav-tabs .nav-link:hover { background: var(--cream-2); color: var(--ink); }
.nav-tabs .nav-link.active { background: var(--mint); color: var(--ink); border: none; }
.tab-content { border: var(--rule) solid var(--ink); border-top: 0; padding: 22px; }
.home-tab .nav-tabs { border-bottom: none; }
.home-tab .nav-tabs .nav-item { background: transparent; }
.home-tab .nav-tabs .nav-item .nav-link { font-weight: 600; font-size: 13px; line-height: 1.4; color: var(--ink); padding: 12px 14px; border: none; border-right: var(--rule-soft); background: transparent; }
.home-tab .nav-tabs .nav-item .nav-link.active { background: var(--mint); color: var(--ink); }
.home-tab .tab-content { padding: 24px 0; border: none; }

/* MODALS */
.modal { --bs-modal-zindex: 1055; --bs-modal-width: 500px; --bs-modal-padding: 1rem; --bs-modal-margin: .5rem; --bs-modal-bg: var(--surface); --bs-modal-border-color: var(--ink); --bs-modal-border-width: var(--rule); --bs-modal-border-radius: 0; --bs-modal-box-shadow: none; --bs-modal-inner-border-radius: 0; --bs-modal-header-padding-x: 1.25rem; --bs-modal-header-padding-y: 1.25rem; --bs-modal-header-padding: 1.25rem; --bs-modal-header-border-color: var(--ink); --bs-modal-header-border-width: var(--rule); --bs-modal-title-line-height: 1.3; --bs-modal-footer-gap: .5rem; --bs-modal-footer-bg: transparent; --bs-modal-footer-border-color: var(--ink); --bs-modal-footer-border-width: var(--rule); background: rgba(20, 18, 15, .45); position: fixed; top: 0; left: 0; z-index: 1050; display: none; width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; outline: 0; }
.modal-dialog { position: relative; pointer-events: none; width: 600px; margin: 30px auto; }
.modal.fade .modal-dialog { transition: transform .3s ease-out; transform: translate(0, -50px); }
@media (prefers-reduced-motion: reduce) {
    .modal.fade .modal-dialog { transition: none; }
}
.modal.show .modal-dialog { transform: none; }
.modal-dialog-scrollable { height: calc(100% - var(--bs-modal-margin) * 2); }
.modal-dialog-scrollable .modal-content { max-height: 100%; overflow: hidden; }
.modal-dialog-scrollable .modal-body { overflow-y: auto; }
.modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - var(--bs-modal-margin) * 2); }
.modal-content { position: relative; display: flex; flex-direction: column; width: 100%; pointer-events: auto; background-clip: padding-box; outline: 0; padding: 0; background-color: var(--surface); border: var(--rule) solid var(--ink); border-radius: 0; box-shadow: 8px 8px 0 rgba(20, 18, 15, .16); }
.modal-backdrop { --bs-backdrop-zindex: 1050; --bs-backdrop-bg: #14120f; --bs-backdrop-opacity: .5; position: fixed; top: 0; left: 0; z-index: var(--bs-backdrop-zindex); width: 100vw; height: 100vh; background-color: var(--bs-backdrop-bg); }
.modal-backdrop.fade { opacity: 0; }
.modal-backdrop.show { opacity: var(--bs-backdrop-opacity); }
.modal-header { display: flex; flex-shrink: 0; align-items: center; padding: 18px 20px; border-bottom: var(--rule) solid var(--ink); }
.modal-header .btn-close { padding: 0; margin: 0 0 0 auto; opacity: 1; filter: none; background-size: 12px; }
.modal-title { margin-bottom: 0; line-height: var(--bs-modal-title-line-height); font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; }
.modal-body { position: relative; flex: 1 1 auto; padding: 20px; }
.modal-body pre { display: block; padding: 12px; margin: 0 0 10px; font-size: 13px; color: var(--cream); word-break: break-all; word-wrap: break-word; background-color: var(--ink); border: 0; border-radius: 0; }
.modal-footer { display: flex; flex-shrink: 0; flex-wrap: wrap; align-items: center; justify-content: flex-end; padding: 16px 20px; background-color: transparent; border-top: var(--rule) solid var(--ink); }
.modal-footer > * { margin: calc(var(--bs-modal-footer-gap) * .5); }
@media (min-width: 576px) {
    .modal { --bs-modal-margin: 1.75rem; }
    .modal-dialog { max-width: var(--bs-modal-width); margin-right: auto; margin-left: auto; }
    .modal-sm { --bs-modal-width: 300px; }
}
@media (min-width: 992px) {
    .modal-lg,
    .modal-xl { --bs-modal-width: 800px; }
}
@media (min-width: 1200px) {
    .modal-xl { --bs-modal-width: 1140px; }
}
.modal-fullscreen { width: 100vw; max-width: none; height: 100%; margin: 0; }
.modal-fullscreen .modal-content { height: 100%; border: 0; border-radius: 0; }
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer { border-radius: 0; }
.modal-fullscreen .modal-body { overflow-y: auto; }

/* SWEETALERT */
.sweet-alert h2 { color: var(--ink) !important; }
.swal-button,
.sweet-alert button { background-color: var(--cobalt) !important; }
.swal2-container { z-index: 1500; }
.swal2-modal { min-height: 275px; align-items: center; justify-content: center; flex-direction: column; border: var(--rule) solid var(--ink); border-radius: 0; box-shadow: 10px 10px 0 rgba(20, 18, 15, .18); }
.swal2-icon { display: none !important; }
.swal2-modal .swal2-title { font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; font-size: 24px; line-height: 1.1; color: var(--ink); margin-top: 25px; margin-bottom: 0; }
.swal2-html-container { font-size: .9rem; line-height: 1.5; }
.swal2-confirm,
.swal2-styled,
.swal2-styled.swal2-confirm { border-radius: var(--radius-pill); border: var(--rule) solid var(--ink); overflow: hidden; box-shadow: none; }
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) { background-color: var(--cobalt) !important; border-color: var(--cobalt) !important; }
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) { background-color: var(--surface) !important; border-color: var(--ink) !important; color: var(--ink) !important; }
div:where(.swal2-container) div:where(.swal2-actions) { margin: 0 auto !important; }

/* FLATPICKR */
.flatpickr-calendar { background: var(--surface); border: var(--rule) solid var(--ink); border-radius: 0; box-shadow: 6px 6px 0 rgba(20, 18, 15, .14); font-family: var(--font-body); }
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after { border-bottom-color: var(--ink); }
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after { border-top-color: var(--ink); }
.flatpickr-months .flatpickr-month,
.flatpickr-weekdays,
span.flatpickr-weekday { background: transparent; color: var(--ink); fill: var(--ink); }
.flatpickr-months .flatpickr-month { font-family: var(--font-display); font-weight: 800; letter-spacing: -.02em; }
span.flatpickr-weekday { font-weight: 700; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; opacity: .55; }
.flatpickr-day { color: var(--ink); border-radius: 0; font-size: 13px; }
.flatpickr-day:hover { background: var(--mint); border-color: var(--mint); }
.flatpickr-day.selected,
.flatpickr-day.selected:hover { background: var(--cobalt); border-color: var(--cobalt); color: var(--cream); }
.flatpickr-day.today { border-color: var(--cobalt); }
.flatpickr-day.inRange { background: rgba(27, 53, 214, .14); border-color: transparent; box-shadow: none; }
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay { color: rgba(20, 18, 15, .32); }
.flatpickr-current-month { font-size: 14px; }
#date_range,
.flatpickr-input { border: none; text-align: center; background: transparent; }

/* CHOICES */
.choices { margin-bottom: 0; }
.choices__inner { border: 1px solid var(--ink); border-radius: 3px; background: var(--surface); min-height: 42px; padding: 10px 12px; font-size: 14px; color: var(--ink); }
.choices__inner:focus { border-color: var(--cobalt); box-shadow: 0 0 0 3px rgba(27, 53, 214, .15); }
.choices__list--dropdown { background: var(--surface); border: var(--rule) solid var(--ink); border-radius: 0; box-shadow: 6px 6px 0 rgba(20, 18, 15, .14); color: var(--ink); }
.choices__list--dropdown .choices__item--selectable:hover { background: var(--mint); color: var(--ink); }
.choices__list--dropdown .choices__item--selected { background: var(--cobalt); color: var(--cream); }
.choices__list--dropdown .choices__item--disabled { color: rgba(20, 18, 15, .35); }
.choices__placeholder { color: rgba(20, 18, 15, .45); }
.shortcut-buttons-flatpickr-buttons { display: flex; align-items: center; justify-content: center; }
.shortcut-buttons-flatpickr-button { display: flex; font-size: 11px; line-height: 13px; padding: 6px 10px; border-radius: var(--radius-pill); color: var(--ink); border: 1px solid var(--ink); background: var(--surface); margin: 1px; font-weight: 600; }
.shortcut-buttons-flatpickr-button:hover { background: var(--mint); }

/* X_PANEL / X_CONTENT */
.x_panel { width: 100%; padding: 26px 28px; margin: 0 auto 24px; position: relative; background-color: var(--surface); background-clip: border-box; border-radius: 0; box-shadow: none; border: var(--rule) solid var(--ink); }
.x_panel h3 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; font-size: 1.35rem; text-transform: inherit; border-bottom: var(--rule) solid var(--ink); padding-bottom: 12px; position: relative; margin-bottom: 20px; }
.x_panel h3:after { content: ""; width: 46px; height: 2px; background: var(--cobalt); left: 0; bottom: -1px; position: absolute; }
.x_panel h4 { font-size: 1rem; font-weight: 700; }
.x_content { margin: 0 auto; }
.view-details { margin-left: 10px; font-size: 12.5px; font-weight: 700; color: var(--cobalt); cursor: pointer; }
.view-details:hover,
.view-details:active { color: var(--cobalt-2); }
legend { font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; font-size: 1.15rem; text-transform: inherit; border-bottom: var(--rule) solid var(--ink); padding-bottom: 12px; position: relative; margin-bottom: 20px; }
legend:after { content: ""; width: 46px; height: 2px; background: var(--cobalt); left: 0; bottom: -1px; position: absolute; }

/* REPORTS - Filters */
#toggleFiltersBtn.active { background: var(--mint); border-color: var(--ink); }
#divFilters h4 { margin-bottom: .5rem; }
#filters-container { align-items: stretch; row-gap: .5rem; }
#filters-container > div { display: flex; flex-direction: column; justify-content: flex-end; margin-bottom: 0 !important; }
#filters-container > div > label:empty { display: none; }
#filters-container [data-shimmer],
#filters-container .form-control,
#filters-container .choices,
#filters-container .choices__inner,
#filters-container .choices__list { width: 100%; }
#filters-container [data-shimmer]:not([data-shimmer-ready]) { opacity: 0; pointer-events: none; }
#filters-container > div:has([data-shimmer]:not([data-shimmer-ready])) { position: relative; }
#filters-container > div:has([data-shimmer]:not([data-shimmer-ready]))::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 42px; border-radius: 3px; background: linear-gradient(90deg, var(--cream-2) 25%, var(--cream) 50%, var(--cream-2) 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; }
#filters-container .form-control,
#filters-container .choices__inner { min-height: 42px; font-size: 14px; padding: 8px 10px; border-radius: 3px; }
#filters-container .choices { margin-bottom: 0; }
#filters-container .choices__list--single { white-space: nowrap; }
#filters-container .choices__inner { overflow: hidden; }
#filters-container #apply-filters { min-height: 42px; line-height: 1.2; }
@media (min-width: 992px) {
    #mcm-adserver #divFilters,
    #mcm-child-publishers #divFilters,
    #mcm-alerts #divFilters,
    #payments-analyzer #divFilters { display: block !important; }
}
@media (max-width: 991.98px) {
    #filters-container > div { min-width: 0 !important; width: 100% !important; max-width: 100% !important; }
    #filters-container #apply-filters { width: 100%; margin: 10px auto 25px !important; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
    #filters-container > div { width: calc(50% - .5rem) !important; max-width: calc(50% - .5rem) !important; }
    #filters-container > div:last-child { width: 100% !important; max-width: 100% !important; }
}
.filter-wrapper { position: relative; }
.filter-wrapper .select-loader { height: 44px; border-radius: 3px; background: linear-gradient(90deg, var(--cream-2) 25%, var(--cream) 50%, var(--cream-2) 75%); background-size: 200% 100%; animation: shimmer 1.5s infinite; }
@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
input[type="date"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control,
input[type="time"].form-control { line-height: unset !important; }
.report-additional-columns { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; white-space: nowrap; }
.report-additional-columns label { padding: 6px 12px; border-radius: var(--radius-pill); background: var(--surface); border: 1px solid var(--ink); color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: normal; display: inline-flex; align-items: center; gap: 7px; }
.report-additional-columns label:hover { background: var(--mint); }
#reports table td { white-space: nowrap; }

/* STATUS */
.status-circle { display: inline-block; width: 10px; height: 10px; border-radius: 100%; margin: 5px 2px 0 0; }
.status-circle,
.status-circle.unverified { background: rgba(20, 18, 15, .3); }
.status-circle.paused { background: var(--ochre); }
.status-circle.active,
.status-circle.verified { background: var(--forest); }
.status-circle.invited,
.status-circle.removed { background: var(--red); }
.mdi-check { color: var(--forest); }
.mdi-close,
.mdi-close-octagon,
.mdi-close-circle { color: var(--red); }
.mdi-clock { color: var(--ochre); }

/* ACCOUNT MANAGER */
.account_manager_data { padding: 16px 18px; margin: 24px 0; line-height: 1.5; color: var(--ink); background-color: rgba(111, 227, 190, .25); border: var(--rule) solid var(--ink); border-left: 4px solid var(--mint); }
.account_manager_data a { color: var(--cobalt); text-decoration: underline; }
.account_manager_data a:hover { text-decoration: none; }
.msj_error { text-align: center; margin: 0 auto 15px; font-weight: 700; color: var(--red); }

/* AUTH - Login */
.auth .auth-form-light { background: var(--surface); border: var(--rule) solid var(--ink); border-radius: 0; box-shadow: 8px 8px 0 rgba(20, 18, 15, .12); }
.auth .auth-form-light select { color: var(--ink); }
.auth .brand-logo { margin-bottom: 1.5rem; display: flex; justify-content: center; }
.auth .brand-logo img { width: 40px; height: 40px; }
.auth .auth-tagline { font-size: 12px; letter-spacing: .07em; text-transform: uppercase; opacity: .55; text-align: center; }
.auth form .form-group { margin-bottom: 1.25rem; }
.auth form .form-group label { font-size: 11px; }
.auth form .form-group .form-control { background: var(--surface); border-radius: 3px; font-size: .9375rem; }
.auth form .alert { background: var(--cream-2); border: 0; border-left: 3px solid var(--ink); color: var(--ink); padding: 12px 14px; font-size: .8125rem; }
.auth form .alert-warning { background: color-mix(in srgb, var(--ochre) 14%, var(--surface)); border-left-color: var(--ochre); }
.auth form .alert-danger { background: color-mix(in srgb, var(--red) 12%, var(--surface)); border-left-color: var(--red); }
.auth form .alert-info { background: color-mix(in srgb, var(--cobalt) 10%, var(--surface)); border-left-color: var(--cobalt); }
.auth form .auth-form-btn { padding: 13px 26px; line-height: 1.5; flex-shrink: 0; background: var(--cobalt) !important; border-color: var(--cobalt) !important; color: var(--cream) !important; font-weight: 700; }
.auth form .auth-form-btn:hover { background: var(--ink) !important; border-color: var(--ink) !important; }
.auth form .auth-link { font-size: .8125rem; color: var(--cobalt); }
.auth h4 { font-family: var(--font-display); font-weight: 800; letter-spacing: -.03em; font-size: 1.6rem; }
.auth h6 { font-weight: 500; opacity: .7; }

/* FOOTER */
.footer { background: var(--ink); color: var(--cream); padding: 26px 32px; border-top: var(--rule) solid var(--ink); font-size: .8125rem; font-family: var(--font-body); font-weight: 400; }
.footer a { color: var(--mint); font-size: inherit; }
.footer .footer-brand { display: inline-flex; align-items: center; gap: 10px; }
.footer .footer-brand img { width: 24px; height: 24px; }
.footer .footer-tag { font-style: italic; opacity: .6; }
@media (max-width: 991px) {
    .footer { margin-left: 0; width: 100%; padding: 22px 18px; }
}

/* MISC */
.pull-right { float: right; }
.circle-loader { width: 25px; height: 25px; border-radius: 100%; position: relative; margin: 0 auto; z-index: 0; }
.circle-loader.circle-loader-sm { width: 17px; height: 17px; }
.circle-loader:before,
.circle-loader:after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 100%; border: 2px solid transparent; border-top-color: var(--cobalt); }
.circle-loader:before { z-index: 1; animation: spin 1s infinite; }
.circle-loader:after { border: 2px solid var(--cream-2); }
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.onboarding-container { background: var(--surface); padding: 30px; border: var(--rule) solid var(--ink); border-radius: 0; max-width: 400px; width: 100%; text-align: center; }
.steps-container { display: flex; justify-content: space-between; position: relative; margin-bottom: 20px; }
.step-number { background: var(--cream-2); color: var(--ink); width: 35px; height: 35px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; transition: background .3s, transform .3s; }
.step.active .step-number { background: var(--cobalt); color: var(--cream); transform: scale(1.1); }
.step { display: none; opacity: 0; transform: translateY(10px); transition: opacity .3s ease, transform .3s ease; }
.step.active { display: block; opacity: 1; transform: translateY(0); }
.buttons { margin-top: 20px; display: flex; justify-content: space-between; }
