/* ============================================================
 * SENTRY THEME — public pages + auth (NOT landing, NOT panel)
 * Active only under body.sy-public. Dark-first Sentry language:
 * #1f1633 / #150f23 surfaces, #6a5fc1 interactive, #c2ef4e pop.
 * ============================================================ */

body.sy-public {
    background: #150f23;
    color: #e5e7eb;
    font-family: 'Rubik', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

body.sy-public.bg-gray-50 {
    background: #150f23 !important;
}

/* Theme toggle stays hidden here (always dark, like landing) */
body.sy-public #switch_theme_style {
    display: none !important;
}

/* ---------- Typography / links ---------- */
body.sy-public h1, body.sy-public h2, body.sy-public h3,
body.sy-public h4, body.sy-public h5, body.sy-public .h1,
body.sy-public .h2, body.sy-public .h3, body.sy-public .h4,
body.sy-public .h5 {
    color: #fff;
}

body.sy-public a {
    color: #9d92e6;
}

body.sy-public a:hover {
    color: #6a5fc1;
}

body.sy-public .text-muted {
    color: #a8b0c2 !important;
}

body.sy-public .text-dark {
    color: #fff !important;
}

/* ---------- Top menu ---------- */
body.sy-public .navbar {
    background: transparent !important;
    border: none !important;
}

body.sy-public .navbar .nav-link,
body.sy-public .navbar .navbar-brand {
    color: #fff !important;
    font-weight: 500;
    font-size: .94rem;
}

body.sy-public .navbar .nav-link:hover {
    color: #6a5fc1 !important;
}

/* ---------- Cards ---------- */
body.sy-public .card {
    background: #1f1633;
    border: 1px solid #362d59;
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px;
    color: #e5e7eb;
}

body.sy-public .card-header,
body.sy-public .card-footer {
    background: transparent;
    border-color: #362d59;
}

/* ---------- Buttons ---------- */
body.sy-public .btn-primary {
    background: #79628c;
    border: 1px solid #584674;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .2px;
    font-size: .88rem;
    border-radius: 13px;
    box-shadow: rgba(0, 0, 0, .1) 0 1px 3px 0 inset;
}

body.sy-public .btn-primary:hover,
body.sy-public .btn-primary:focus {
    color: #fff;
    box-shadow: rgba(0, 0, 0, .18) 0 .5rem 1.5rem;
}

body.sy-public .btn-light {
    background: rgba(255, 255, 255, .18);
    border: 1px solid transparent;
    color: #fff;
    border-radius: 12px;
    box-shadow: rgba(0, 0, 0, .08) 0 2px 8px;
}

body.sy-public .btn-light:hover {
    background: rgba(54, 22, 107, .5);
    color: #fff;
}

body.sy-public .btn-outline-secondary {
    border: 1px solid #584674;
    color: #fff;
    border-radius: 8px;
}

body.sy-public .btn-outline-secondary:hover {
    background: #6a5fc1;
    border-color: #6a5fc1;
    color: #fff;
}

/* ---------- Forms (Sentry: white inputs) ---------- */
body.sy-public .form-control,
body.sy-public .custom-select {
    background: #fff;
    border: 1px solid #cfcfdb;
    color: #1f1633;
    border-radius: 6px;
}

body.sy-public .form-control:focus,
body.sy-public .custom-select:focus {
    background: #fff;
    color: #1f1633;
    border-color: #cfcfdb;
    box-shadow: rgba(0, 0, 0, .15) 0 2px 10px inset;
}

body.sy-public label,
body.sy-public .col-form-label {
    color: #e5e7eb;
    font-weight: 500;
}

body.sy-public .input-group-text {
    background: #fff;
    border: 1px solid #cfcfdb;
    color: #1f1633;
    border-radius: 6px;
}

body.sy-public .custom-control-label::before {
    background-color: #fff;
    border: 1px solid #cfcfdb;
}

body.sy-public hr {
    border-top-color: #362d59;
}

/* ---------- Tables ---------- */
body.sy-public .table {
    color: #e5e7eb;
}

body.sy-public .table thead th {
    color: #e5e7eb;
    opacity: .7;
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .25px;
    border-top: none;
    border-bottom: 1px solid #362d59;
}

body.sy-public .table td,
body.sy-public .table th {
    border-top: 1px solid #362d59;
}

body.sy-public .table-hover tbody tr:hover {
    background: rgba(54, 22, 107, .35);
    color: #fff;
}

/* ---------- Dropdowns / modals / alerts ---------- */
body.sy-public .dropdown-menu {
    background: #1f1633;
    border: 1px solid #362d59;
    border-radius: 8px;
    box-shadow: rgba(0, 0, 0, .18) 0 .5rem 1.5rem;
}

body.sy-public .dropdown-item {
    color: #e5e7eb;
}

body.sy-public .dropdown-item:hover,
body.sy-public .dropdown-item.active {
    background: #422082;
    color: #fff;
}

body.sy-public .dropdown-divider {
    border-top-color: #362d59;
}

body.sy-public .modal-content {
    background: #1f1633;
    border: 1px solid #362d59;
    border-radius: 12px;
    color: #e5e7eb;
}

body.sy-public .modal-header,
body.sy-public .modal-footer {
    border-color: #362d59;
}

body.sy-public .modal-title {
    color: #fff;
}

body.sy-public .close {
    color: #e5e7eb;
    text-shadow: none;
}

body.sy-public .alert {
    border-radius: 8px;
}

body.sy-public .badge {
    border-radius: 18px;
    font-weight: 600;
}

body.sy-public .page-link {
    background: #1f1633;
    border: 1px solid #362d59;
    color: #e5e7eb;
    border-radius: 8px;
    margin: 0 2px;
}

body.sy-public .page-item.active .page-link {
    background: #6a5fc1;
    border-color: #6a5fc1;
    color: #fff;
}

body.sy-public .page-item.disabled .page-link {
    background: #150f23;
    border-color: #362d59;
    color: #79628c;
}

body.sy-public .nav-pills .nav-link {
    color: #e5e7eb;
    border-radius: 8px;
}

body.sy-public .nav-pills .nav-link.active {
    background: #422082;
    color: #fff;
}

body.sy-public .breadcrumb {
    background: transparent;
}

body.sy-public .list-group-item {
    background: transparent;
    border-color: #362d59;
    color: #e5e7eb;
}

/* ---------- Footer ---------- */
body.sy-public .footer,
body.sy-public .app-footer {
    color: #a8b0c2;
}

/* ---------- Section micro labels (blog, pages, plans) ---------- */
body.sy-public .sy-micro {
    font-size: .75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .25px;
    color: #c2ef4e;
}

/* ---------- Auth card ---------- */
body.sy-public .card .btn-block + .btn-block {
    margin-top: .5rem;
}
