:root {
    --panel-black: #07090e;
    --panel-navy: #090f27;
    --panel-surface: rgba(16, 19, 28, 0.94);
    --panel-surface-soft: rgba(24, 28, 39, 0.84);
    --panel-red: #ed1c2e;
    --panel-red-dark: #9f0c18;
    --panel-silver: #c7cbd2;
    --panel-silver-dark: #777d87;
    --panel-white: #f7f8fa;
    --panel-muted: #9ea4ae;
    --panel-border: rgba(199, 203, 210, 0.23);
}

html {
    min-height: 100%;
    background: var(--panel-black);
}

body {
    min-height: 100vh;
    margin: 0;
    padding-top: 82px;
    color: var(--panel-white) !important;
    font-family: "Segoe UI", Arial, sans-serif;
    background-color: var(--panel-black) !important;
    background-image:
        linear-gradient(115deg, rgba(3, 5, 12, 0.82), rgba(7, 11, 28, 0.72)),
        url("bg.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: cover !important;
    background-attachment: fixed !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 18%, rgba(237, 28, 46, 0.11), transparent 32%),
        linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, 0.42));
    z-index: -1;
}

.panel-navbar {
    min-height: 72px;
    padding: 8px 28px;
    background: rgba(7, 9, 14, 0.97) !important;
    border-bottom: 1px solid var(--panel-border);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.45);
}

.panel-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--panel-white) !important;
    text-decoration: none !important;
}

.panel-logo {
    width: 92px;
    height: 52px;
    object-fit: contain;
    border-radius: 7px;
}

.panel-title {
    font-size: 21px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.panel-title strong {
    color: var(--panel-red);
}

.panel-badge {
    padding: 4px 8px;
    color: var(--panel-silver);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    border: 1px solid var(--panel-silver-dark);
    border-radius: 4px;
}

.panel-nav {
    gap: 7px;
}

.panel-nav .nav-link {
    padding: 10px 16px !important;
    color: var(--panel-silver) !important;
    font-size: 14px;
    font-weight: 650;
    border: 1px solid transparent;
    border-radius: 6px;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.panel-nav .nav-link:hover,
.panel-nav .nav-link:focus {
    color: var(--panel-white) !important;
    background: rgba(199, 203, 210, 0.1);
    border-color: var(--panel-border);
}

.panel-nav .panel-logout {
    color: #ff6976 !important;
    border-color: rgba(237, 28, 46, 0.36);
}

.panel-nav i {
    width: 17px;
    margin-right: 5px;
    text-align: center;
}

.panel-shell {
    width: min(1320px, calc(100% - 36px));
    min-height: calc(100vh - 145px);
    margin: 0 auto;
    padding: 26px 18px 46px;
}

.main-panel,
.content {
    background: transparent !important;
}

#main {
    margin-bottom: 22px;
}

h1, h2, h3, h4, h5, h6,
.card-title {
    color: var(--panel-white) !important;
}

h2 {
    margin: 0 0 6px;
    font-size: 28px;
    font-weight: 750;
}

.text-muted,
.card-category {
    color: var(--panel-muted) !important;
}

.card,
.card-body,
.modal-content {
    color: var(--panel-white);
    background: var(--panel-surface) !important;
    border: 1px solid var(--panel-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.32);
}

.card-body .card-body {
    border: 0 !important;
    box-shadow: none;
}

.card-header {
    padding: 18px 22px;
    background: linear-gradient(90deg, rgba(237, 28, 46, 0.18), rgba(199, 203, 210, 0.06)) !important;
    border-bottom: 1px solid var(--panel-border) !important;
}

.table {
    width: 100%;
    table-layout: auto;
    color: var(--panel-silver) !important;
}

.table thead th,
.table .text-primary th,
.cache-table th {
    color: var(--panel-white) !important;
    background: rgba(199, 203, 210, 0.07);
    border-top: 0;
    border-bottom: 1px solid rgba(237, 28, 46, 0.56) !important;
    font-size: 12px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.table td {
    color: var(--panel-silver) !important;
    border-top: 1px solid rgba(199, 203, 210, 0.11) !important;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.table tbody tr:hover {
    background: rgba(237, 28, 46, 0.055);
}

.form-control,
select.form-control {
    min-height: 45px;
    color: var(--panel-white) !important;
    background: rgba(5, 7, 12, 0.84) !important;
    border: 1px solid var(--panel-silver-dark) !important;
    border-radius: 6px !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

.form-control:focus {
    border-color: var(--panel-red) !important;
    box-shadow: 0 0 0 3px rgba(237, 28, 46, 0.17) !important;
}

label {
    color: var(--panel-silver);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.btn {
    min-height: 40px;
    padding: 8px 18px;
    font-weight: 750;
    border-radius: 6px;
    transition: filter 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.btn:hover,
.btn:focus {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.btn-warning,
.btn-primary,
.btn-danger {
    color: #fff !important;
    background: linear-gradient(180deg, #f03243, var(--panel-red-dark)) !important;
    border: 1px solid #ff5663 !important;
    box-shadow: 0 7px 20px rgba(159, 12, 24, 0.28);
}

.btn-default,
.btn-secondary,
.badge-secondary {
    color: #11141b !important;
    background: linear-gradient(180deg, #eef0f3, #9298a2) !important;
    border: 1px solid #fff !important;
}

.btn-outline-danger {
    color: #ff6976 !important;
    background: transparent !important;
    border-color: var(--panel-red) !important;
}

.btn-outline-danger:hover {
    color: #fff !important;
    background: var(--panel-red-dark) !important;
}

.fa-pencil-square-o {
    color: var(--panel-silver) !important;
}

.fa-trash-o {
    color: #ff5260 !important;
}

.alert-success {
    color: #e6e8ec;
    background: rgba(199, 203, 210, 0.11);
    border-color: rgba(199, 203, 210, 0.35);
}

.modal-header,
.modal-footer {
    border-color: var(--panel-border);
}

.modal-content font {
    color: var(--panel-white) !important;
}

.panel-footer {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 20px;
    color: var(--panel-muted);
    font-size: 12px;
    letter-spacing: 0.3px;
    background: rgba(7, 9, 14, 0.82);
    border-top: 1px solid var(--panel-border);
}

.footer-divider {
    color: var(--panel-red);
}

@media (max-width: 767px) {
    body { padding-top: 70px; }
    .panel-navbar { padding: 7px 16px; }
    .panel-logo { width: 72px; height: 42px; }
    .panel-title { font-size: 17px; }
    .panel-badge { display: none; }
    .panel-nav { padding: 12px 0 5px; }
    .panel-shell { width: 100%; padding: 20px 12px 36px; }
    .card-body { padding: 16px; }
    .footer-divider { display: none; }
    .panel-footer { flex-direction: column; align-items: center; gap: 4px; }
}
