:root {
    --background: #070709;
    --foreground: #f5f5f4;
    --primary: #f59e0b;
    --primary-soft: rgba(245, 158, 11, .14);
    --panel-bg: rgba(14, 14, 19, .9);
    --border-color: rgba(245, 158, 11, .22);
    --input-bg: rgba(7, 7, 9, .82);
    --muted: #a8a29e;
    --glass-border: rgba(245, 158, 11, .2);
    --btn-text: #120b02;
    --btn-gradient-start: #fde047;
    --btn-gradient-end: #d97706;
    --shadow-color: rgba(0, 0, 0, .72);
    color-scheme: dark;
}

html { background: #070709; scroll-behavior: smooth; }

body.cadmus-panel {
    margin: 0;
    color: var(--foreground);
    background-color: #070709 !important;
    background-image:
        linear-gradient(180deg, rgba(7, 7, 9, .69), rgba(7, 7, 9, .97)),
        radial-gradient(circle at 52% -10%, rgba(245, 158, 11, .16), transparent 42%),
        url('/assets/bgs/panel_bg.jpg') !important;
    background-position: center, center, center;
    background-size: cover, cover, cover;
    background-attachment: fixed;
    font-family: "Inter", sans-serif;
    min-height: 100vh;
}

body.cadmus-panel::before { display: none !important; }

.cadmus-panel h1,
.cadmus-panel h2,
.cadmus-panel h3,
.cadmus-panel h4,
.cadmus-panel .font-medieval {
    font-family: "Cinzel", serif;
    letter-spacing: .025em;
}

.cadmus-panel main {
    background-color: transparent !important;
    background-image:
        linear-gradient(180deg, rgba(7, 7, 9, .7), rgba(7, 7, 9, .94)),
        radial-gradient(circle at 50% 0, rgba(245, 158, 11, .1), transparent 48%),
        url('/assets/bgs/panel_bg.jpg') !important;
    background-position: center;
    background-size: cover;
}

.glass-panel,
.cadmus-panel .bg-panel {
    background: linear-gradient(180deg, rgba(22, 22, 31, .88), rgba(14, 14, 19, .96)) !important;
    border-color: rgba(245, 158, 11, .22) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .62), inset 0 1px rgba(253, 224, 71, .09);
    backdrop-filter: blur(15px);
}

.glass-panel { transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.glass-panel:hover { border-color: rgba(245, 158, 11, .38) !important; }

.gold-text {
    background: linear-gradient(180deg, #fef9c3 0%, #f59e0b 55%, #b45309 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.btn-primary,
.cadmus-panel button[type="submit"].btn-primary {
    border: 1px solid rgba(253, 224, 71, .65) !important;
    border-radius: .5rem;
    color: #160d03 !important;
    background: linear-gradient(180deg, #fde047 0%, #f59e0b 48%, #b45309 100%) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .3), 0 7px 24px rgba(245, 158, 11, .16);
    font-family: "Cinzel", serif;
    font-weight: 800;
}

.btn-primary:hover {
    filter: brightness(1.08);
    box-shadow: inset 0 1px rgba(255,255,255,.35), 0 0 24px rgba(245,158,11,.38) !important;
    transform: translateY(-1px);
}

.cadmus-panel input:not([type="checkbox"]):not([type="radio"]),
.cadmus-panel textarea,
.cadmus-panel select {
    color: #f5f5f4 !important;
    background: rgba(7, 7, 9, .82) !important;
    border-color: rgba(168, 162, 158, .22) !important;
    box-shadow: inset 0 1px 7px rgba(0, 0, 0, .45);
}

.cadmus-panel input:focus,
.cadmus-panel textarea:focus,
.cadmus-panel select:focus {
    border-color: rgba(245, 158, 11, .72) !important;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, .1), inset 0 1px 7px rgba(0,0,0,.45) !important;
    outline: none;
}

.cadmus-panel input::placeholder,
.cadmus-panel textarea::placeholder { color: #78716c !important; }

#sidebarDrawer {
    background: #09090c;
    border-right-color: rgba(245, 158, 11, .25) !important;
    box-shadow: 8px 0 40px rgba(0, 0, 0, .72) !important;
}

#sidebarDrawer > .absolute:first-child {
    background-color: #09090c !important;
    background-image:
        linear-gradient(180deg, rgba(9, 9, 12, .8), rgba(9, 9, 12, .97)),
        url('/assets/bgs/sidebar_bg.jpg') !important;
    opacity: 1 !important;
}

#sidebarDrawer nav a { border-radius: .4rem; }
#sidebarDrawer nav a:hover { color: #fde68a !important; background: rgba(245, 158, 11, .08) !important; }
#sidebarDrawer img { filter: drop-shadow(0 0 18px rgba(245, 158, 11, .25)); }

.cadmus-panel table { border-collapse: separate; border-spacing: 0; }
.cadmus-panel thead { background: rgba(245, 158, 11, .07); }
.cadmus-panel th {
    color: #fbbf24;
    font-family: "Cinzel", serif;
    font-size: .72rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.cadmus-panel tbody tr { transition: background-color .18s ease; }
.cadmus-panel tbody tr:hover { background: rgba(245, 158, 11, .045); }

.cadmus-panel ::selection { color: #170d02; background: #f59e0b; }
.cadmus-panel ::-webkit-scrollbar { width: 6px; height: 6px; }
.cadmus-panel ::-webkit-scrollbar-track { background: #070709; }
.cadmus-panel ::-webkit-scrollbar-thumb { background: linear-gradient(#f59e0b, #78350f); border-radius: 4px; }

@media (max-width: 767px) {
    body.cadmus-panel { background-attachment: scroll; }
    .cadmus-panel main { max-height: none !important; overflow: visible !important; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
