:root {
    color-scheme: dark;
    --neo-bg: #17191c;
    --neo-panel: #202227;
    --neo-panel-light: #25282d;
    --neo-well: #191b1f;
    --neo-ink: #f7f7f8;
    --neo-muted: #b8bbc2;
    --neo-line: rgba(255,255,255,.085);
    --neo-up: -7px -7px 16px rgba(255,255,255,.055), 9px 9px 20px rgba(0,0,0,.58);
    --neo-up-sm: -4px -4px 10px rgba(255,255,255,.055), 5px 5px 12px rgba(0,0,0,.5);
    --neo-down: inset 5px 5px 11px rgba(0,0,0,.55), inset -4px -4px 10px rgba(255,255,255,.045);
    --shai-bg: var(--neo-bg);
    --shai-surface: var(--neo-panel);
    --shai-raised: var(--neo-panel-light);
    --shai-line: #34363b;
    --shai-line-2: #45474d;
    --shai-accent: #f3f3f4;
    --shai-accent-2: #ffffff;
    --shai-text: var(--neo-ink);
    --shai-dim: var(--neo-muted);
    --shai-danger: #ececef;
    --shai-ok: #f0f0f0;
    --shai-purple-dk: #0b0d0f;
    --shai-border: 1px solid var(--neo-line);
    --shai-offset: var(--neo-up-sm);
    --primary-color: #f4f4f5;
    --secondary-color: #f4f4f5;
    --accent-color: #f4f4f5;
    --dark-color: var(--neo-bg);
    --light-color: var(--neo-ink);
    --glass-background: var(--neo-panel);
    --glass-border: 1px solid var(--neo-line);
    --glass-shadow: var(--neo-up);
    --glass-blur: none;
    --bs-body-bg: var(--neo-bg);
    --bs-body-color: var(--neo-ink);
    --bs-secondary-color: var(--neo-muted);
    --bs-border-color: #393c41;
    --bs-link-color: #f7f7f8;
    --bs-link-hover-color: #ffffff;
    --bs-link-color-rgb: 247,247,248;
    --bs-primary-rgb: 247,247,248;
    --bs-success-rgb: 247,247,248;
    --bs-danger-rgb: 235,235,235;
    --bs-warning-rgb: 240,240,240;
    --bs-info-rgb: 235,235,235;
}

html, body {
    background: var(--neo-bg) !important;
    color: var(--neo-ink) !important;
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    letter-spacing: -.012em;
}
body { overflow-x: hidden; }
main { padding-bottom: 3.5rem; }
main #content { max-width: 1160px; }
#particles-js { opacity: 0 !important; pointer-events: none; }
h1, h2, h3, h4, h5, h6 { color: var(--neo-ink) !important; letter-spacing: -.032em !important; text-shadow: none !important; }
h1, h2 { font-weight: 700 !important; }
p, li, td, th, dd, dt { text-shadow: none !important; }
a { color: var(--neo-ink) !important; }
a:hover { color: #ffffff !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 3px;
}
.text-muted, .form-text, small, .shai-subtitle, .shai-ip-hint, .mk-note, .catalog-sub, .catalog-table .muted, .endpoint-sub {
    color: var(--neo-muted) !important;
}
.text-primary, .text-info, .text-success, .text-warning, .text-danger, .stats-value, .expiration-timer {
    color: var(--neo-ink) !important;
    text-shadow: none !important;
}
.bg-primary, .bg-success, .bg-danger, .bg-warning, .bg-info, .bg-dark {
    background-color: var(--neo-panel-light) !important;
    color: var(--neo-ink) !important;
}

.nb-panel.navbar, .nb-panel {
    background: #1b1d21 !important;
    border-bottom: 1px solid var(--neo-line) !important;
    padding: 12px 0 !important;
    box-shadow: 0 9px 24px rgba(0,0,0,.21) !important;
}
.nb-brand, .nb-panel .nb-brand {
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 15px !important;
    background: var(--neo-panel) !important;
    padding: 11px 15px !important;
    box-shadow: var(--neo-up-sm) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 800 !important;
    font-size: .85rem !important;
    letter-spacing: .075em !important;
    color: #ffffff !important;
}
.nb-brand em, .nb-brand i { color: #ffffff !important; }
.nb-brand i { animation: none !important; }
.nb-panel .nav-link {
    color: var(--neo-muted) !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-size: .86rem !important;
}
.nb-panel .nav-link:hover, .nb-panel .nav-link:focus, .nb-panel .nav-link.active, .nb-panel .nav-link.nb-active {
    background: var(--neo-panel-light) !important;
    color: #ffffff !important;
    border-color: var(--neo-line) !important;
    box-shadow: var(--neo-up-sm) !important;
}
.nb-panel .navbar-toggler {
    background: var(--neo-panel) !important;
    border: 1px solid var(--neo-line) !important;
    border-radius: 12px !important;
    box-shadow: var(--neo-up-sm) !important;
}
.nb-panel .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23ffffff' stroke-linecap='round' stroke-width='2' d='M5 8h20M5 15h20M5 22h20'/%3E%3C/svg%3E") !important;
}
.nb-panel .navbar-collapse { border-radius: 15px !important; }
@media (max-width: 767.98px) {
    .nb-panel .navbar-collapse {
        background: var(--neo-panel) !important;
        border: 1px solid var(--neo-line) !important;
        box-shadow: var(--neo-up) !important;
        margin-top: 14px !important;
        padding: 12px !important;
    }
}

#content .card, #content .login-container, #content .register-container,
#content .creator-info, #content .box, #content .catalog-box, #content .catalog-hero,
#content .endpoint-item, #content .stats-card, #content .info-item,
#content .info-display, #content .key-popup-content, #content .chart-container {
    background: var(--neo-panel) !important;
    border: 1px solid var(--neo-line) !important;
    border-radius: 22px !important;
    box-shadow: var(--neo-up) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: var(--neo-ink) !important;
    text-shadow: none !important;
}
#content .card:hover, #content .stats-card:hover, #content .catalog-box:hover {
    transform: none !important;
    box-shadow: var(--neo-up) !important;
}
#content .card { overflow: visible; }
#content .card-header, #content .shai-card-head {
    background: transparent !important;
    color: #ffffff !important;
    border-bottom: 1px solid var(--neo-line) !important;
    border-radius: 22px 22px 0 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    padding: 20px 24px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: clamp(1rem, 2vw, 1.15rem) !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
}
#content .card-header i { color: #ffffff !important; text-shadow: none !important; }
#content .card-body { padding: 24px !important; color: var(--neo-ink) !important; }
#content .stats-card { padding: 22px !important; }
#content .stats-value { color: #ffffff !important; font-weight: 750 !important; text-shadow: none !important; }
#content .stats-label { color: var(--neo-muted) !important; letter-spacing: .08em !important; font-size: .76rem !important; }
#content .expiration-timer { color: #ffffff !important; animation: none !important; text-shadow: none !important; }

label, .form-label, .form-check-label, .catalog-grid label {
    color: var(--neo-muted) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: .77rem !important;
    font-weight: 650 !important;
    letter-spacing: .07em !important;
}
.form-control, .form-select, textarea, select,
input[type="text"], input[type="password"], input[type="email"], input[type="url"],
input[type="number"], input[type="search"], .catalog-grid input, .catalog-grid select,
.dataTables_filter input, .dataTables_length select {
    background: var(--neo-well) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.055) !important;
    border-radius: 13px !important;
    box-shadow: var(--neo-down) !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: .91rem !important;
    line-height: 1.45 !important;
    outline: none;
    transition: border-color .16s ease, box-shadow .16s ease !important;
}
.form-control, .form-select, textarea, .catalog-grid input, .catalog-grid select { padding: 12px 15px !important; }
.form-control:focus, .form-select:focus, textarea:focus, select:focus,
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus,
input[type="url"]:focus, input[type="number"]:focus, input[type="search"]:focus,
.catalog-grid input:focus, .catalog-grid select:focus {
    background: #1a1c20 !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.55) !important;
    box-shadow: var(--neo-down) !important;
}
.form-control::placeholder, input::placeholder, textarea::placeholder { color: #91959d !important; opacity: 1 !important; }
.form-control:disabled, .form-control[readonly], input[readonly] { color: #b9bcc2 !important; opacity: 1 !important; }
select option { background: #202227 !important; color: #ffffff !important; }
.form-check-input { background-color: var(--neo-well) !important; border: 1px solid #858990 !important; border-radius: 5px !important; box-shadow: var(--neo-down) !important; }
.form-check-input:checked { background-color: #f6f6f7 !important; border-color: #f6f6f7 !important; }
.form-check-input:checked[type="checkbox"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23171a1e' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m3 8 3.3 3.3L13 4.5'/%3E%3C/svg%3E") !important; }
.input-group-text { background: var(--neo-panel-light) !important; color: #ffffff !important; border-color: var(--neo-line) !important; border-radius: 13px !important; }
.shai-field::after { display: none !important; }
.shai-pw-toggle { border-color: var(--neo-line) !important; color: var(--neo-muted) !important; border-radius: 0 13px 13px 0 !important; }
.shai-pw-toggle:hover { color: #ffffff !important; }

.btn, .catalog-btn, .mk-btn, .btn-gradient, .btn-action, .btn-copy,
#content button:not(.shai-pw-toggle):not(.switch):not(.btn-close),
#content .keys-head-menu .dropdown-toggle {
    border-radius: 12px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: .87rem !important;
    letter-spacing: 0 !important;
    font-weight: 650 !important;
    text-transform: none !important;
    text-shadow: none !important;
    transition: background .16s ease, box-shadow .16s ease, border-color .16s ease, color .16s ease !important;
}
.btn-primary, .btn-login, .btn-register, .btn-default, .btn-success, .btn-dark,
.btn-gradient, .btn-gradient-success, .btn-outline-dark, .catalog-btn:not(.secondary):not(.danger) {
    background: #f3f3f4 !important;
    border: 1px solid #fafafa !important;
    color: #181a1e !important;
    box-shadow: var(--neo-up-sm) !important;
}
.btn-primary:hover, .btn-login:hover, .btn-register:hover, .btn-default:hover,
.btn-success:hover, .btn-dark:hover, .btn-gradient:hover, .btn-gradient-success:hover,
.btn-outline-dark:hover, .catalog-btn:not(.secondary):not(.danger):hover {
    background: #ffffff !important;
    color: #090b0d !important;
    border-color: #ffffff !important;
    box-shadow: -3px -3px 9px rgba(255,255,255,.06), 4px 4px 12px rgba(0,0,0,.6) !important;
    transform: none !important;
}
.btn-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-outline-light,
.btn-outline-info, .btn-outline-warning, .btn-outline-danger, .btn-danger,
.catalog-btn.secondary, .catalog-btn.danger, .mk-btn {
    background: var(--neo-panel-light) !important;
    border: 1px solid var(--neo-line) !important;
    color: #f6f6f7 !important;
    box-shadow: var(--neo-up-sm) !important;
}
.btn-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover,
.btn-outline-light:hover, .btn-outline-info:hover, .btn-outline-warning:hover,
.btn-outline-danger:hover, .btn-danger:hover, .catalog-btn.secondary:hover,
.catalog-btn.danger:hover, .mk-btn:hover {
    background: #303238 !important;
    border-color: #6b6e74 !important;
    color: #ffffff !important;
    box-shadow: var(--neo-up-sm) !important;
    transform: none !important;
}
.btn:active, .catalog-btn:active, .mk-btn:active, .btn-gradient:active,
#content button:active:not(.switch) {
    transform: none !important;
    box-shadow: var(--neo-down) !important;
}
.btn i, .btn .bi, .btn-gradient i, .btn-outline-info i, .btn-outline-warning i, .btn-outline-danger i {
    color: inherit !important;
    text-shadow: none !important;
}
.btn::after { display: none !important; }
button:disabled, .btn:disabled { opacity: .55 !important; cursor: not-allowed !important; }

.table, .catalog-table { --bs-table-bg: transparent !important; --bs-table-color: #f7f7f8 !important; color: #f7f7f8 !important; background: transparent !important; border-color: var(--neo-line) !important; }
.table thead th, .catalog-table th, .table > thead > tr > * {
    color: #d8d9dc !important;
    background: #27292e !important;
    border-color: rgba(255,255,255,.12) !important;
    font-size: .72rem !important;
    letter-spacing: .07em !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
.table td, .table th, .table tbody tr, .catalog-table td, .catalog-table tr, .table > :not(caption) > * > * {
    color: #f2f2f3 !important;
    border-color: var(--neo-line) !important;
    box-shadow: none !important;
}
.table tbody tr:hover, .table-hover > tbody > tr:hover > *, .catalog-table tbody tr:hover {
    background: #2a2c31 !important;
    color: #ffffff !important;
}
.table-responsive, .catalog-table-wrap { border-radius: 14px !important; }
.dataTables_wrapper { color: var(--neo-muted) !important; }
.dataTables_info, .dataTables_length label, .dataTables_filter label { color: var(--neo-muted) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button,
.page-link { background: var(--neo-panel) !important; border: 1px solid var(--neo-line) !important; color: #ffffff !important; border-radius: 10px !important; box-shadow: var(--neo-up-sm) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.page-item.active .page-link { background: #f4f4f5 !important; color: #17191c !important; border-color: #f4f4f5 !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover { background: #303237 !important; color: #ffffff !important; border-color: #55575e !important; }
.dataTables_wrapper .dataTables_processing { background: var(--neo-panel-light) !important; color: #ffffff !important; border-radius: 12px !important; box-shadow: var(--neo-up-sm) !important; }

.badge, .catalog-tag, .shai-stay-tag {
    background: #303237 !important;
    border: 1px solid #55585f !important;
    border-radius: 999px !important;
    color: #f6f6f7 !important;
    letter-spacing: .035em !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: .71rem !important;
    font-weight: 600 !important;
    padding: .35em .72em !important;
    text-shadow: none !important;
}
.badge.bg-success, .badge.bg-danger, .badge.bg-warning, .badge.bg-primary,
.badge.bg-secondary, .badge.bg-info { color: #ffffff !important; background: #303237 !important; border-color: #55585f !important; }
.alert, .catalog-feedback, .catalog-feedback.error, .custom-alert {
    background: var(--neo-panel-light) !important;
    border: 1px solid var(--neo-line) !important;
    border-radius: 13px !important;
    color: #ffffff !important;
    box-shadow: var(--neo-up-sm) !important;
}
.custom-alert::before { background: #ffffff !important; }

.modal-content, .dropdown-menu, .nb-panel .dropdown-menu,
.swal2-popup, .key-popup-content {
    background: var(--neo-panel) !important;
    border: 1px solid var(--neo-line) !important;
    border-radius: 19px !important;
    color: #ffffff !important;
    box-shadow: var(--neo-up) !important;
}
.modal-header, .modal-footer { border-color: var(--neo-line) !important; }
.dropdown-item, .nb-panel .dropdown-item { color: #e4e5e7 !important; border-radius: 10px !important; }
.dropdown-item:hover, .dropdown-item:focus, .nb-panel .dropdown-item:hover {
    background: #303237 !important; color: #ffffff !important; padding-left: 14px !important;
}
.dropdown-item i, .nb-panel .dropdown-item i, .dropdown-item.text-danger, .dropdown-item.text-danger i,
.nb-panel .dropdown-item.text-danger, .nb-panel .dropdown-item.text-danger i { color: #ffffff !important; }
.dropdown-divider { border-color: var(--neo-line) !important; }
.swal2-title, .swal2-html-container { color: #ffffff !important; }
.swal2-confirm, .swal2-cancel, .swal2-deny { border-radius: 12px !important; }
.swal2-confirm { background: #f3f3f4 !important; color: #17191c !important; }
.swal2-cancel, .swal2-deny { background: #303238 !important; color: #ffffff !important; border-color: var(--neo-line) !important; }
.key-popup-modal { background: rgba(8,9,10,.78) !important; }
#content .key-popup-content { max-width: min(92vw, 540px); padding: 28px !important; }
#content .key-popup-content h4, #content .key-popup-content .key-value { color: #ffffff !important; text-shadow: none !important; }

.shai-auth-wrap { max-width: 450px !important; }
#content .shai-auth-card { border-radius: 25px !important; }
.shai-auth-head { padding: 22px 26px !important; border-bottom: 1px solid var(--neo-line) !important; }
.shai-auth-body { padding: 29px 27px 31px !important; }
.shai-wordmark { font-family: 'Inter', system-ui, sans-serif !important; font-weight: 800 !important; letter-spacing: .07em !important; color: #ffffff !important; }
.shai-wordmark em { color: #ffffff !important; }
.shai-auth-body .shai-title { font-size: 1.45rem !important; letter-spacing: -.045em !important; }
.shai-switch {
    background: var(--neo-well) !important;
    border: 1px solid rgba(255,255,255,.05) !important;
    border-radius: 13px !important;
    box-shadow: var(--neo-down) !important;
    padding: 5px !important;
    margin-bottom: 28px !important;
}
.shai-switch-thumb { top: 5px !important; bottom: 5px !important; left: 5px !important; width: calc(50% - 5px) !important; border-radius: 9px !important; background: #f3f3f4 !important; box-shadow: 2px 3px 8px rgba(0,0,0,.35) !important; }
.shai-switch-item { color: #aeb1b8 !important; border-radius: 9px !important; }
.shai-switch-item.is-active { color: #111317 !important; }
.shai-ip-toggle { background: var(--neo-panel-light) !important; border: 1px solid var(--neo-line) !important; border-radius: 13px !important; color: #f7f7f8 !important; box-shadow: var(--neo-up-sm) !important; }
.shai-ip-toggle:hover { background: #303238 !important; border-color: #888b91 !important; color: #ffffff !important; }
.shai-auth-body .btn-login, .shai-auth-body .btn-register { min-height: 49px; margin-top: 10px; }
.shai-alt-link { color: #d9dbe0 !important; }
.shai-alt-link:hover { text-decoration: underline; }
.shai-splash { background: var(--neo-bg) !important; }
.shai-bar { background: var(--neo-well) !important; border-radius: 6px !important; }
.shai-bar > div { background: #ffffff !important; }

.catalog-wrap { color: #ffffff !important; }
.catalog-hero, .catalog-box { padding: 24px !important; }
.catalog-sub, .catalog-table .muted, .catalog-empty { color: var(--neo-muted) !important; }
.catalog-table code, code, pre, kbd { color: #f6f6f7 !important; }
.catalog-grid label { color: var(--neo-muted) !important; }
.catalog-btn { text-decoration: none !important; padding: .75rem 1rem !important; }
.catalog-empty { background: var(--neo-well) !important; border: 1px dashed #55585e !important; border-radius: 13px !important; }

.list-group-item { background: var(--neo-panel) !important; color: #f7f7f8 !important; border-color: var(--neo-line) !important; }
.nav-tabs { border-color: var(--neo-line) !important; }
.nav-tabs .nav-link.active { color: #ffffff !important; border-bottom-color: #ffffff !important; }
.nav-tabs .nav-link { color: var(--neo-muted) !important; }
.slider { background: #4a4d53 !important; border-radius: 99px !important; box-shadow: var(--neo-down) !important; }
.slider:before { background: #f2f2f3 !important; border-radius: 50% !important; }
input:checked + .slider { background: #82868c !important; }
input:focus + .slider { box-shadow: var(--neo-down), 0 0 0 2px #ffffff !important; }

.shai-tg {
    background: #f5f5f6 !important;
    border: 1px solid #ffffff !important;
    border-radius: 15px !important;
    color: #17191c !important;
    box-shadow: var(--neo-up) !important;
    animation: none !important;
}
.shai-tg:hover { background: #ffffff !important; color: #101114 !important; transform: none !important; box-shadow: var(--neo-up) !important; }
.shai-tg::before { display: none !important; }
footer.fixed-bottom, .nb-footer {
    background: #1b1d21 !important;
    border-top: 1px solid var(--neo-line) !important;
    color: var(--neo-muted) !important;
    box-shadow: 0 -7px 22px rgba(0,0,0,.16) !important;
}
#shai-progress { background: #ffffff !important; }

@media (max-width: 767.98px) {
    #content .card-header { padding: 16px 18px !important; }
    #content .card-body { padding: 17px !important; }
    #content .stats-card { padding: 17px !important; }
    .catalog-hero, .catalog-box { padding: 18px !important; }
    .dataTables_wrapper .dataTables_filter { width: 100%; margin-left: 0; }
    .dataTables_filter input { max-width: 100%; width: 100%; }
}
@media (max-width: 480px) {
    main #content { padding: 15px !important; }
    .shai-auth-wrap { padding-top: 20px !important; }
    .shai-auth-head { padding: 18px 20px !important; }
    .shai-auth-body { padding: 22px 19px 25px !important; }
    #content .card, #content .shai-auth-card { border-radius: 18px !important; }
    #content .card-header { border-radius: 18px 18px 0 0 !important; }
    .shai-tg { right: 14px !important; bottom: 56px !important; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
