:root {
    color-scheme: dark;
    --admin-bg: #0d100e;
    --admin-surface: rgba(24, 29, 25, 0.88);
    --admin-surface-strong: rgba(30, 36, 31, 0.94);
    --admin-surface-soft: rgba(255, 255, 255, 0.045);
    --admin-border: rgba(206, 218, 204, 0.14);
    --admin-border-strong: rgba(206, 218, 204, 0.22);
    --admin-text: #f4f7f1;
    --admin-muted: #aab4a8;
    --admin-subtle: #758071;
    --admin-accent: #4f9f6b;
    --admin-accent-strong: #68b77d;
    --admin-accent-soft: rgba(79, 159, 107, 0.18);
    --admin-danger: #d35f5f;
    --admin-warning: #c9963b;
    --admin-radius: 8px;
}

body.admin-app {
    background:
        linear-gradient(180deg, #101411 0%, var(--admin-bg) 46%, #090b0a 100%),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 72px);
    color: var(--admin-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    letter-spacing: 0;
}

body.admin-app * {
    letter-spacing: 0;
}

body.admin-app #admin-sidebar {
    flex: 0 0 16rem;
    background: rgba(13, 16, 14, 0.94) !important;
    border-color: var(--admin-border) !important;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.02);
}

body.admin-app > .flex-1 {
    min-width: 0;
}

body.admin-app #admin-sidebar > .p-6 {
    background: transparent !important;
    border-color: var(--admin-border) !important;
    color: var(--admin-text);
    font-size: 18px;
}

body.admin-app #admin-sidebar nav {
    padding: 14px 10px;
}

body.admin-app #admin-sidebar a {
    margin: 3px 0;
    border-radius: var(--admin-radius);
    color: #cbd5c9;
    font-size: 14px;
    transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

body.admin-app #admin-sidebar a:hover {
    background: rgba(255, 255, 255, 0.055) !important;
    color: var(--admin-text) !important;
}

body.admin-app #admin-sidebar a.bg-gray-700 {
    background: var(--admin-accent-soft) !important;
    color: #edf7ed !important;
    box-shadow: inset 0 0 0 1px rgba(104, 183, 125, 0.34);
}

body.admin-app header {
    background: rgba(16, 20, 17, 0.9) !important;
    border-bottom: 1px solid var(--admin-border);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

body.admin-app main {
    background: transparent !important;
}

body.admin-app main .bg-gray-800,
body.admin-app .fixed .bg-gray-800 {
    background: var(--admin-surface) !important;
    border-color: var(--admin-border) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

body.admin-app main .bg-gray-900,
body.admin-app main .bg-gray-950,
body.admin-app .fixed .bg-gray-900 {
    background: rgba(9, 12, 10, 0.72) !important;
}

body.admin-app main .bg-gray-700,
body.admin-app .fixed .bg-gray-700 {
    background: var(--admin-surface-soft) !important;
}

body.admin-app .border-gray-700,
body.admin-app .border-gray-600,
body.admin-app .border-gray-500 {
    border-color: var(--admin-border) !important;
}

body.admin-app .rounded,
body.admin-app .rounded-lg,
body.admin-app .rounded-xl,
body.admin-app .rounded-2xl {
    border-radius: var(--admin-radius) !important;
}

body.admin-app .text-gray-300 {
    color: #d8dfd5 !important;
}

body.admin-app .text-gray-400 {
    color: var(--admin-muted) !important;
}

body.admin-app .text-gray-500 {
    color: var(--admin-subtle) !important;
}

body.admin-app input:not([type="checkbox"]):not([type="radio"]),
body.admin-app select,
body.admin-app textarea {
    background: rgba(8, 11, 9, 0.74) !important;
    border-color: var(--admin-border) !important;
    border-radius: var(--admin-radius) !important;
    color: var(--admin-text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

body.admin-app input::placeholder,
body.admin-app textarea::placeholder {
    color: rgba(170, 180, 168, 0.58) !important;
}

body.admin-app input:not([type="checkbox"]):not([type="radio"]):focus,
body.admin-app select:focus,
body.admin-app textarea:focus {
    border-color: rgba(104, 183, 125, 0.78) !important;
    box-shadow: 0 0 0 3px rgba(79, 159, 107, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
    outline: none !important;
}

body.admin-app input[type="checkbox"],
body.admin-app input[type="radio"] {
    accent-color: var(--admin-accent);
}

body.admin-app button,
body.admin-app a[class*="bg-"] {
    border-radius: var(--admin-radius) !important;
}

body.admin-app .bg-blue-600 {
    background-color: var(--admin-accent) !important;
}

body.admin-app .hover\:bg-blue-700:hover,
body.admin-app .bg-blue-600:hover {
    background-color: #448f5f !important;
}

body.admin-app .text-blue-400 {
    color: #8ed59d !important;
}

body.admin-app .hover\:text-blue-300:hover,
body.admin-app .text-blue-400:hover {
    color: #b2e3ba !important;
}

body.admin-app .bg-green-600 {
    background-color: #3f8b55 !important;
}

body.admin-app .hover\:bg-green-700:hover,
body.admin-app .bg-green-600:hover {
    background-color: #347748 !important;
}

body.admin-app .bg-red-600 {
    background-color: var(--admin-danger) !important;
}

body.admin-app .hover\:bg-red-700:hover,
body.admin-app .bg-red-600:hover {
    background-color: #b94c4c !important;
}

body.admin-app .bg-amber-600,
body.admin-app .bg-yellow-600 {
    background-color: var(--admin-warning) !important;
}

body.admin-app .uppercase {
    letter-spacing: 0.04em;
}

body.admin-app table thead {
    background: rgba(255, 255, 255, 0.035) !important;
}

body.admin-app table tbody tr {
    transition: background-color 150ms ease;
}

body.admin-app table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04) !important;
}

body.admin-app [class*="border-dashed"] {
    background: rgba(255, 255, 255, 0.025);
}

body.admin-app [class*="border-dashed"]:hover {
    border-color: rgba(104, 183, 125, 0.7) !important;
    background: rgba(79, 159, 107, 0.075);
}

body.admin-app .shadow-lg,
body.admin-app .shadow-2xl {
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22) !important;
}

body.admin-app ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body.admin-app ::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.035);
}

body.admin-app ::-webkit-scrollbar-thumb {
    background: rgba(170, 180, 168, 0.28);
    border-radius: 999px;
}

body.admin-app ::-webkit-scrollbar-thumb:hover {
    background: rgba(170, 180, 168, 0.42);
}

@media (max-width: 900px) {
    body.admin-app #admin-sidebar {
        width: 13rem !important;
        flex-basis: 13rem;
    }

    body.admin-app #admin-sidebar a {
        padding-left: 12px !important;
        padding-right: 12px !important;
        font-size: 13px;
    }

    body.admin-app header {
        min-height: 64px;
        height: auto !important;
        padding: 12px 16px !important;
    }

    body.admin-app main {
        padding: 16px !important;
    }
}
