.dropdown-menu {
    position: relative;
    isolation: isolate;
    background: var(--line) !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
    box-shadow: none !important;
    padding: 0.4rem !important;
    min-width: 180px;
}
.dropdown-menu::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--surface);
}
.dropdown-item {
    position: relative;
    color: var(--px-muted) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    border-radius: 0 !important;
    padding: 0.5rem 0.85rem 0.5rem 1.5rem !important;
    transition: color var(--transition), background var(--transition) !important;
}
.dropdown-item::before {
    content: '';
    position: absolute;
    left: 0.55rem;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    background: var(--accent-light);
    opacity: 0;
    transition: opacity var(--transition);
}
.dropdown-item:hover, .dropdown-item:focus {
    color: #fff !important;
    background: var(--surface-hover) !important;
}
.dropdown-item:hover::before, .dropdown-item:focus::before { opacity: 1; }
.dropdown-item.active {
    color: #fff !important;
    background: var(--surface-hover) !important;
}
.dropdown-item.active::before { opacity: 1; }
.dropdown-item.text-danger { color: #f87171 !important; }
.dropdown-item.text-danger:hover { background: rgba(239,68,68,0.15) !important; }
.dropdown-divider { border-color: rgba(255,255,255,.08) !important; margin: 0.3rem 0 !important; }
.dropdown-header {
    color: var(--px-muted) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.btn {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 40px;
    padding: 0 18px;
    clip-path: var(--px-clip);
    border-radius: 0 !important;
    border: 0 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.btn-sm { height: 32px !important; padding: 0 14px !important; font-size: 0.8rem !important; }
.btn-lg { height: 56px !important; padding: 0 28px !important; font-size: 1.05rem !important; }
.btn:disabled, .btn.disabled {
    opacity: .45 !important;
    pointer-events: none !important;
    transform: none !important;
    box-shadow: none !important;
}
.btn:focus-visible { outline: none !important; }
.btn-primary, .btn-danger, .btn-success {
    border: 0 !important;
    color: #fff !important;
    font-family: var(--font-heading) !important;
}
.btn-primary {
    --btn-bg: var(--accent);
    background: var(--btn-bg) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.18), inset 0 -4px 0 rgba(0,0,0,.28) !important;
}
.btn-primary:hover { background: #d6003b !important; transform: translateY(-1px); }
.btn-primary:active {
    box-shadow: inset 0 2px 0 rgba(0,0,0,.2), inset 0 -1px 0 rgba(0,0,0,.28) !important;
    transform: translateY(2px);
}
.btn-danger {
    --btn-bg: #7a1120;
    background: var(--btn-bg) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.18), inset 0 -4px 0 rgba(0,0,0,.28) !important;
}
.btn-danger:hover { background: #931526 !important; transform: translateY(-1px); }
.btn-danger:active {
    box-shadow: inset 0 2px 0 rgba(0,0,0,.2), inset 0 -1px 0 rgba(0,0,0,.28) !important;
    transform: translateY(2px);
}
.btn-success {
    --btn-bg: #14532d;
    background: var(--btn-bg) !important;
    box-shadow: inset 0 2px 0 rgba(255,255,255,.18), inset 0 -4px 0 rgba(0,0,0,.28) !important;
}
.btn-success:hover { background: #1a6b39 !important; transform: translateY(-1px); }
.btn-success:active {
    box-shadow: inset 0 2px 0 rgba(0,0,0,.2), inset 0 -1px 0 rgba(0,0,0,.28) !important;
    transform: translateY(2px);
}
.btn-primary:focus-visible, .btn-danger:focus-visible, .btn-success:focus-visible {
    box-shadow: inset 0 2px 0 rgba(255,255,255,.18), inset 0 -4px 0 rgba(0,0,0,.28), inset 0 0 0 2px #fff !important;
}
.btn-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-light {
    --frame-border: var(--line);
    --frame-fill: var(--surface);
    background: var(--frame-border) !important;
    border: 0 !important;
    color: #fff !important;
    font-family: var(--font-heading) !important;
}
.btn-secondary::before, .btn-outline-primary::before, .btn-outline-secondary::before, .btn-light::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--frame-fill);
    transition: background-color .15s ease;
}
.btn-secondary:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover, .btn-light:hover {
    --frame-border: var(--line-strong);
    --frame-fill: var(--surface-hover);
}
.btn-secondary:focus-visible, .btn-outline-primary:focus-visible, .btn-outline-secondary:focus-visible, .btn-light:focus-visible {
    --frame-border: #fff;
}

@media (prefers-reduced-motion: reduce) {
    .btn, .btn-primary, .btn-danger, .btn-success, .btn-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-light {
        transition: none !important;
    }
    .btn-primary:hover, .btn-danger:hover, .btn-success:hover,
    .btn-primary:active, .btn-danger:active, .btn-success:active {
        transform: none !important;
    }
}
.card {
    position: relative;
    isolation: isolate;
    background: var(--line) !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
    color: #fff !important;
    transition: background-color .15s ease;
}
.card::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--surface);
}
.card:hover { background: var(--line-strong) !important; }
.card-header, .card-footer {
    background: transparent !important;
    border-color: rgba(255,255,255,.08) !important;
    color: #fff !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.card-title, .card-text { color: #fff !important; }
.card-img, .card-img-top, .card-img-bottom { border-radius: 0 !important; }
.form-control, .form-select {
    background: #140a0e !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: #fff !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 0.9rem !important;
}
.form-control:focus, .form-select:focus {
    background: #140a0e !important;
    border-color: var(--accent-light) !important;
    box-shadow: 0 0 0 3px rgba(255,32,86,.2) !important;
    color: #fff !important;
}
.form-control::placeholder { color: var(--px-muted) !important; }
.form-label {
    color: var(--px-muted) !important;
    font-weight: 700 !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.form-check-input {
    width: 18px !important;
    height: 18px !important;
    background-color: #140a0e !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 !important;
    background-image: none !important;
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    cursor: pointer;
}
.form-check-input[type="checkbox"]:checked {
    background-color: var(--accent) !important;
    border-color: var(--accent) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M10 18H8v-2h2v2Zm-2-2H6v-2h2v2Zm4-2v2h-2v-2h2Zm-6 0H4v-2h2v2Zm8 0h-2v-2h2v2Zm2-2h-2v-2h2v2Zm2-2h-2V8h2v2Zm2-2h-2V6h2v2Z'/%3E%3C/svg%3E") !important;
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
}
.form-check-input[type="radio"] { border-radius: 0 !important; }
.form-check-input[type="radio"]:checked {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
    box-shadow: inset 0 0 0 4px #140a0e !important;
}
.form-check-input:focus {
    border-color: var(--accent-light) !important;
    box-shadow: 0 0 0 3px rgba(255,32,86,.2) !important;
}
.form-check-input[type="radio"]:checked:focus {
    box-shadow: inset 0 0 0 4px #140a0e, 0 0 0 3px rgba(255,32,86,.2) !important;
}
.form-check-label { color: var(--px-muted) !important; }
.input-group-text {
    background: #140a0e !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 !important;
    color: var(--px-muted) !important;
}
.table-responsive {
    clip-path: var(--px-clip);
    background: var(--line);
    padding: 1px;
}
.table {
    color: #fff !important;
    background: var(--surface) !important;
    --bs-table-bg: var(--surface) !important;
    --bs-table-border-color: rgba(255,255,255,.06) !important;
    --bs-table-striped-bg: rgba(255,255,255,0.02) !important;
    --bs-table-hover-bg: var(--surface-hover) !important;
    border-radius: 0 !important;
}
.table th {
    color: var(--px-muted) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-color: rgba(255,255,255,.06) !important;
}
.table td { border-color: rgba(255,255,255,.06) !important; vertical-align: middle !important; }

.modal-content {
    position: relative;
    isolation: isolate;
    background: var(--line) !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
    color: #fff !important;
}
.modal-content::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--surface);
}
.modal-header {
    border-color: rgba(255,255,255,.08) !important;
    background: transparent !important;
}
.modal-footer { border-color: rgba(255,255,255,.08) !important; }
.modal-title {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.modal-backdrop.show { opacity: 0.75 !important; }
.btn-close {
    width: 24px;
    height: 24px;
    padding: 0;
    border-radius: 0 !important;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M7 19H5V17H7V19ZM19 19H17V17H19V19ZM9 15V17H7V15H9ZM17 17H15V15H17V17ZM11 15H9V13H11V15ZM15 15H13V13H15V15ZM13 13H11V11H13V13ZM11 11H9V9H11V11ZM15 11H13V9H15V11ZM9 9H7V7H9V9ZM17 9H15V7H17V9ZM7 7H5V5H7V7ZM19 7H17V5H19V7Z'/%3E%3C/svg%3E") center / 24px 24px no-repeat !important;
    opacity: .5 !important;
    filter: none !important;
}
.btn-close:hover { opacity: 1 !important; filter: none !important; }
.alert {
    position: relative;
    isolation: isolate;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
    font-weight: 600 !important;
    padding-left: 2.25rem !important;
}
.alert::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--alert-fill);
}
.alert::after {
    content: '';
    position: absolute;
    left: 0.9rem;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: var(--alert-dot);
}
.alert-success { --alert-fill: #0a1f12; --alert-dot: #22c55e; background: rgba(34,197,94,.4) !important; color: #86efac !important; }
.alert-danger  { --alert-fill: #200a0a; --alert-dot: #ef4444; background: rgba(239,68,68,.4) !important; color: #fca5a5 !important; }
.alert-warning { --alert-fill: #1f150a; --alert-dot: #f59e0b; background: rgba(245,158,11,.4) !important; color: #fcd34d !important; }
.alert-info    { --alert-fill: #0a1420; --alert-dot: #3b82f6; background: rgba(59,130,246,.4) !important; color: #93c5fd !important; }
.alert .btn-close { filter: none !important; }

.list-group-item {
    background: var(--card) !important;
    border-color: var(--border) !important;
    color: var(--text) !important;
}
.list-group-item-action:hover { background: var(--card-hover) !important; color: #fff !important; }
.list-group-item.active { background: var(--primary) !important; border-color: var(--primary) !important; color: #fff !important; }
.nav-tabs { border-color: transparent !important; gap: 6px; }
.nav-tabs .nav-link {
    position: relative;
    isolation: isolate;
    background: var(--line) !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
    color: var(--px-muted) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    padding: 0.5rem 1rem !important;
    transition: color var(--transition), background var(--transition) !important;
}
.nav-tabs .nav-link::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--surface);
}
.nav-tabs .nav-link:hover { color: #fff !important; background: var(--line-strong) !important; }
.nav-tabs .nav-link:hover::before { background: var(--surface-hover); }
.nav-tabs .nav-link.active {
    color: #fff !important;
    background: var(--accent) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15), inset 0 -2px 0 rgba(0,0,0,.25) !important;
}
.nav-tabs .nav-link.active::before { content: none; }
.tab-content { color: var(--text) !important; }

.nav-pills .nav-link {
    position: relative;
    isolation: isolate;
    background: var(--line) !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
    color: var(--px-muted) !important;
    font-weight: 600 !important;
}
.nav-pills .nav-link::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--surface);
}
.nav-pills .nav-link:hover { color: #fff !important; background: var(--line-strong) !important; }
.nav-pills .nav-link:hover::before { background: var(--surface-hover); }
.nav-pills .nav-link.active {
    background: var(--accent) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15), inset 0 -2px 0 rgba(0,0,0,.25) !important;
}
.nav-pills .nav-link.active::before { content: none; }

@media (prefers-reduced-motion: reduce) {
    .card, .nav-tabs .nav-link, .nav-pills .nav-link, .pagination .page-link { transition: none !important; }
}
.pagination .page-link {
    position: relative;
    isolation: isolate;
    min-width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--line) !important;
    border: 0 !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}
.pagination .page-link::before {
    content: '';
    position: absolute;
    inset: 1px;
    z-index: -1;
    clip-path: inherit;
    background: var(--surface);
}
.pagination .page-link:hover { background: var(--line-strong) !important; }
.pagination .page-link:hover::before { background: var(--surface-hover); }
.pagination .page-item.active .page-link {
    background: var(--accent) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.15), inset 0 -2px 0 rgba(0,0,0,.25) !important;
}
.pagination .page-item.active .page-link::before { content: none; }
.pagination .page-item.disabled .page-link { opacity: .45 !important; }

.badge.bg-primary { background-color: var(--accent) !important; }
.badge.bg-secondary { background-color: var(--surface) !important; color: var(--px-muted) !important; }
.badge {
    border-radius: 0 !important;
    clip-path: var(--px-clip-2);
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

.breadcrumb { background: transparent !important; }
.breadcrumb-item {
    color: var(--px-muted) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}
.breadcrumb-item a { color: var(--px-muted) !important; }
.breadcrumb-item a:hover { color: #fff !important; }
.breadcrumb-item.active { color: #fff !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--text-muted) !important; }

.progress {
    background: var(--surface) !important;
    border-radius: 0 !important;
    clip-path: var(--px-clip);
}
.progress-bar { background-color: var(--accent) !important; border-radius: 0 !important; }
.progress-bar-animated { animation: none !important; }
.progress-bar-striped { background-image: none !important; }

.text-primary { color: var(--primary) !important; }
.bg-primary { background-color: var(--primary) !important; }
.notification-bell .btn,
.notification-bell button {
    background: transparent !important;
    border: 1px solid var(--border) !important;
    color: var(--text-muted) !important;
    border-radius: var(--radius-sm) !important;
    padding: 6px 10px !important;
    transition: color var(--transition), border-color var(--transition) !important;
}
.notification-bell .btn:hover,
.notification-bell button:hover {
    color: #fff !important;
    border-color: var(--border-strong) !important;
}
.notification-bell #notificationsDropdown { position: relative; }
#notificationsCounter {
    position: absolute;
    top: -2px;
    right: -6px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px !important;
    line-height: 1;
    background: var(--accent-light) !important;
}
