/*
 * Party Fry 2.0 - organizer and admin dashboards (Evento's Atlantis theme).
 * Needs brand.css. Light = body[data-background-color="white"], dark = "dark".
 */

body { font-family: var(--pf-font) !important; background: var(--pf-bg) !important; color: var(--pf-ink-2); -webkit-font-smoothing: antialiased; }
body, .main-panel, .main-panel > .content { background: var(--pf-bg) !important; }
h1, h2, h3, h4, h5, h6, .page-title, .card-title, .fw-bold { font-family: var(--pf-display); color: var(--pf-ink) !important; letter-spacing: -.01em; }
p, label, .text-muted, .form-text, small { color: var(--pf-ink-2); }
.main-panel label, .form-group label, .form-check-label { color: var(--pf-ink) !important; }
a { color: var(--pf-coral-ink); }
a:hover { color: var(--pf-coral-strong); }

/* Top bar and logo strip */
.main-header, .main-header .navbar-header, .main-header .logo-header,
.main-header[data-background-color], .navbar-header[data-background-color], .logo-header[data-background-color] {
  background: var(--pf-surface) !important; border-bottom: 1px solid var(--pf-line) !important; box-shadow: none !important;
}
.main-header .logo-header { border-right: 1px solid var(--pf-line) !important; }
.main-header .navbar-header .nav-link, .main-header .navbar-header i, .main-header .logo-header .navbar-toggler i, .main-header .logo-header .more i, .topbar-toggler i { color: var(--pf-ink) !important; }
.main-header .navbar-header .btn, .main-header .navbar-header .btn-round { border-radius: var(--pf-radius-pill) !important; }
.main-header .navbar-header .dropdown-menu { background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: 14px; box-shadow: var(--pf-shadow); }
.main-header .navbar-header .dropdown-menu .dropdown-item, .dropdown-user .u-text h4, .dropdown-user .u-text p { color: var(--pf-ink) !important; }
.dropdown-item:hover, .dropdown-item:focus { background: var(--pf-coral-soft) !important; color: var(--pf-coral-ink) !important; }
.navbar .navbar-nav .nav-item .nav-link:hover, .navbar .navbar-nav .nav-item .nav-link:focus { background: var(--pf-bg-2) !important; }
/* Theme buttons in the top bar stay visible in both modes */
.main-header .navbar-header form .btn, .main-header .navbar-header .theme-switch, .main-header .navbar-header [class*="theme"] .btn {
  border: 1.5px solid var(--pf-line-2) !important;
}

/* Sidebar */
.sidebar, .sidebar[data-background-color], .sidebar .sidebar-wrapper { background: var(--pf-surface) !important; box-shadow: none !important; }
.sidebar { border-right: 1px solid var(--pf-line) !important; }
.sidebar .user, .sidebar[data-background-color] .user { border-bottom: 1px solid var(--pf-line) !important; }
.sidebar .user .info a > span, .sidebar .user .info a > span .user-level { color: var(--pf-ink) !important; }
.sidebar .nav > .nav-item > a, .sidebar.sidebar-style-2 .nav .nav-item a { color: var(--pf-ink) !important; border-radius: 12px !important; margin: 2px 10px !important; padding: 9px 14px !important; transition: background .2s; }
.sidebar .nav > .nav-item a p, .sidebar .nav > .nav-item a i, .sidebar .nav > .nav-item a .caret, .sidebar .nav .nav-item a span,
.sidebar[data-background-color] .nav > .nav-item a p, .sidebar[data-background-color] .nav > .nav-item a i { color: var(--pf-ink) !important; }
.sidebar .nav > .nav-item a p, .sidebar .nav .nav-item a span.sub-item { font-weight: 600; font-family: var(--pf-font); }
.sidebar .nav > .nav-item > a i { color: var(--pf-ink-2) !important; }
.sidebar .nav > .nav-item > a:hover, .sidebar .nav > .nav-item > a:focus, .sidebar .nav .nav-item a[aria-expanded="true"] { background: var(--pf-bg-2) !important; }
.sidebar.sidebar-style-2 .nav .nav-item.active > a, .sidebar.sidebar-style-2[data-background-color] .nav .nav-item.active > a,
.sidebar.sidebar-style-2 .nav .nav-item.active > a[data-toggle=collapse][aria-expanded=true] {
  background: var(--pf-coral) !important; box-shadow: 0 6px 16px rgba(210, 68, 27, .25) !important;
}
.sidebar.sidebar-style-2 .nav .nav-item.active > a p, .sidebar.sidebar-style-2 .nav .nav-item.active > a i,
.sidebar.sidebar-style-2 .nav .nav-item.active > a .caret, .sidebar.sidebar-style-2 .nav .nav-item.active > a span,
.sidebar.sidebar-style-2[data-background-color] .nav .nav-item.active > a p, .sidebar.sidebar-style-2[data-background-color] .nav .nav-item.active > a i {
  color: var(--pf-on-coral) !important;
}
.sidebar .nav .nav-collapse li a .sub-item, .sidebar .nav-collapse li a span { color: var(--pf-ink-2) !important; }
.sidebar .nav .nav-collapse li a:hover .sub-item, .sidebar .nav .nav-collapse li.active a .sub-item { color: var(--pf-coral-ink) !important; }
.sidebar .nav .nav-collapse li.active a .sub-item::before { background: var(--pf-coral) !important; }
.sidebar .nav-section .text-section, .sidebar .nav-section h4 { color: var(--pf-ink-2) !important; }
.sidebar .sidebar-search input, .sidebar-content .form-control { background: var(--pf-bg-2) !important; border-color: var(--pf-line) !important; color: var(--pf-ink) !important; }
.sidebar .scrollbar-inner > .scroll-element .scroll-bar { background: var(--pf-line-2) !important; }

/* Page header */
.page-header .page-title { font-weight: 800; font-size: 26px; letter-spacing: -.02em; }
.page-header .breadcrumbs { border-left-color: var(--pf-line-2) !important; }
.page-header .breadcrumbs li a, .page-header .breadcrumbs li i { color: var(--pf-ink-2) !important; }

/* Cards */
.card, .card-light, .card-round, [data-background-color="dark"] .card, [data-background-color="white"] .card {
  background: var(--pf-surface) !important; border: 1px solid var(--pf-line) !important; border-radius: var(--pf-radius) !important; box-shadow: var(--pf-shadow) !important;
}
.card .card-header, .card-light .card-header { border-bottom: 1px solid var(--pf-line) !important; background: transparent !important; }
.card .card-footer { border-top: 1px solid var(--pf-line) !important; background: transparent !important; }
.card .card-title { font-weight: 700; font-size: 18px; }
.card-stats .icon-big, .card-stats .icon-big i { border-radius: 14px; }
.card-stats .card-category, .card-category { color: var(--pf-ink-2) !important; }
.card-stats .card-title { color: var(--pf-ink) !important; font-family: var(--pf-display); }
.card.bg-primary, .card.card-primary, .bg-primary-gradient { background: var(--pf-coral) !important; }
.card.bg-primary *, .card.card-primary * { color: var(--pf-on-coral) !important; }
.card-secondary, .bg-secondary-gradient { background: var(--pf-ink) !important; }

/* Buttons */
.btn { border-radius: var(--pf-radius-pill) !important; font-weight: 600; font-family: var(--pf-font); }
.btn-primary, .btn-primary:disabled, .btn-primary.disabled, a.btn-primary { background: var(--pf-coral) !important; border-color: var(--pf-coral) !important; color: var(--pf-on-coral) !important; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: var(--pf-coral-strong) !important; border-color: var(--pf-coral-strong) !important; color: var(--pf-on-coral) !important; }
.btn-secondary { background: var(--pf-ink) !important; border-color: var(--pf-ink) !important; color: var(--pf-bg) !important; }
.btn-info { background: var(--pf-teal) !important; border-color: var(--pf-teal) !important; color: #fff !important; }
.btn-outline-primary, .btn-border.btn-primary { color: var(--pf-coral-ink) !important; border-color: var(--pf-coral) !important; background: transparent !important; }
.btn-outline-primary:hover { background: var(--pf-coral) !important; color: var(--pf-on-coral) !important; }
.btn-link { color: var(--pf-coral-ink) !important; }
.text-primary, .text-primary i { color: var(--pf-coral-ink) !important; }
.bg-primary, .badge-primary, .badge.badge-primary { background: var(--pf-coral) !important; color: var(--pf-on-coral) !important; }
.badge { border-radius: var(--pf-radius-pill) !important; font-weight: 700; }

/* Tabs and pills */
.nav-pills .nav-link, .nav-pills.nav-secondary .nav-link { border-radius: var(--pf-radius-pill) !important; color: var(--pf-ink) !important; background: var(--pf-surface) !important; border: 1.5px solid var(--pf-line-2) !important; margin-right: 6px; }
.nav-pills .nav-link.active, .nav-pills.nav-secondary .nav-link.active, .nav-pills .show > .nav-link { background: var(--pf-ink) !important; color: var(--pf-bg) !important; border-color: var(--pf-ink) !important; box-shadow: none !important; }
.nav-pills .nav-link.active i { color: inherit !important; }

/* Forms */
.form-control, .form-group .form-control, .input-group .form-control, select.form-control, .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple {
  background: var(--pf-surface) !important; color: var(--pf-ink) !important; border: 1.5px solid var(--pf-line-2) !important; border-radius: var(--pf-radius-sm) !important;
}
.form-control:focus { border-color: var(--pf-coral) !important; box-shadow: 0 0 0 4px var(--pf-coral-soft) !important; }
.form-control::placeholder { color: var(--pf-ink-2) !important; opacity: .7; }
.form-control:disabled, .form-control[readonly] { background: var(--pf-bg-2) !important; }
.input-group-text { background: var(--pf-bg-2) !important; color: var(--pf-ink) !important; border-color: var(--pf-line-2) !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--pf-ink) !important; }
.select2-dropdown { background: var(--pf-surface) !important; border-color: var(--pf-line-2) !important; color: var(--pf-ink); }
.select2-results__option--highlighted { background: var(--pf-coral) !important; color: var(--pf-on-coral) !important; }
.form-check-input:checked + .form-check-sign:before, .form-check [type="checkbox"]:checked + .form-check-sign:before { color: var(--pf-coral) !important; }
.custom-control-input:checked ~ .custom-control-label::before { background: var(--pf-coral) !important; border-color: var(--pf-coral) !important; }
.selectgroup-input:checked + .selectgroup-button { background: var(--pf-coral-soft) !important; border-color: var(--pf-coral) !important; color: var(--pf-coral-ink) !important; }

/* Tables */
.table, .table td, .table th { color: var(--pf-ink) !important; border-color: var(--pf-line) !important; }
.table thead th { background: var(--pf-bg-2) !important; color: var(--pf-ink-2) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .04em; font-weight: 700 !important; border-bottom: 0 !important; }
.table-striped tbody tr:nth-of-type(odd) { background: var(--pf-surface-2) !important; }
.table-hover tbody tr:hover { background: var(--pf-bg-2) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .page-item.active .page-link { background: var(--pf-coral) !important; border-color: var(--pf-coral) !important; color: var(--pf-on-coral) !important; }
.page-link { background: var(--pf-surface) !important; color: var(--pf-ink) !important; border-color: var(--pf-line) !important; }
.dataTables_wrapper, .dataTables_info, .dataTables_length label, .dataTables_filter label { color: var(--pf-ink-2) !important; }

/* Alerts, modals, footer */
.modal-content { background: var(--pf-surface) !important; color: var(--pf-ink); border-radius: 20px !important; border: 1px solid var(--pf-line) !important; }
.modal-header, .modal-footer { border-color: var(--pf-line) !important; }
.close { color: var(--pf-ink) !important; }
.alert { border-radius: 14px !important; }
.footer { background: var(--pf-surface) !important; border-top: 1px solid var(--pf-line) !important; }
.footer .copyright, .footer a { color: var(--pf-ink-2) !important; }
.request-loader { background: color-mix(in srgb, var(--pf-bg) 70%, transparent) !important; }

/* Party Fry 2.0 access pages use the same tokens */
.pf-stat { background: var(--pf-surface); border-color: var(--pf-line) !important; }

/* Logo strip: keep the logo inside its bar */
.main-header .logo-header .logo { display: flex; align-items: center; height: 100%; }
.main-header .logo-header .logo img, .main-header .logo-header .navbar-brand { max-height: 52px !important; width: auto !important; }
/* Stat card icons visible in light mode too */
.card-stats .icon-big { color: var(--pf-coral-ink) !important; }
.card-stats .icon-big i { color: var(--pf-coral-ink) !important; }
.card-stats .icon-big.icon-primary, .card-stats .icon-big.bubble-shadow-small { background: var(--pf-coral-soft) !important; }
.card-stats .icon-big { width: 56px; height: 56px; border-radius: 16px; display: inline-flex !important; align-items: center; justify-content: center; font-size: 24px !important; background: var(--pf-coral-soft); }
.card-stats.card-info .icon-big { background: var(--pf-teal-soft) !important; }
.card-stats.card-info .icon-big i { color: var(--pf-teal-ink) !important; }
.card-stats.card-success .icon-big { background: var(--pf-sun-soft) !important; }
.card-stats.card-success .icon-big i { color: var(--pf-warn) !important; }
.card-stats.card-secondary .icon-big, .card-stats.card-warning .icon-big { background: var(--pf-bg-2) !important; }
.card-stats.card-secondary .icon-big i, .card-stats.card-warning .icon-big i { color: var(--pf-ink) !important; }
.card-stats .numbers .card-title, .card-stats .numbers h4 { color: var(--pf-ink) !important; font-size: 22px; font-weight: 800; }
.card.card-stats, .card.card-stats * { color: var(--pf-ink); }
.card.card-stats .card-category { color: var(--pf-ink-2) !important; }
.card.card-stats.card-primary, .card.card-stats.card-primary * { color: var(--pf-on-coral) !important; }
.card.card-stats.card-primary .icon-big { background: rgba(255, 255, 255, .18) !important; }
