body.theme-classic-blue {
    --theme-primary: #0070c6;
    --theme-primary-dark: #005fa3;
    --theme-primary-soft: #e8f4ff;
    --theme-accent: #ff8a00;
    --theme-accent-dark: #cf7a00;
    --theme-danger: #981f2c;
    --theme-heading: #172033;
    --theme-panel: rgba(255, 255, 255, 0.95);
    --theme-border: #d7dde5;
    --theme-muted: #666666;
    --theme-page-bg: #f5f5f5;
    --theme-body-bg-overlay: rgba(0, 112, 198, 0.08);
    --theme-body-bg-blend: soft-light;
}

body.theme-court-red {
    --theme-primary: #981f2c;
    --theme-primary-dark: #7f1a26;
    --theme-primary-soft: #fff1f2;
    --theme-accent: #c86b1d;
    --theme-accent-dark: #a35313;
    --theme-danger: #981f2c;
    --theme-heading: #211827;
    --theme-panel: rgba(255, 255, 255, 0.96);
    --theme-border: #ead2d6;
    --theme-muted: #6d5960;
    --theme-page-bg: #f8f3f2;
    --theme-body-bg-overlay: rgba(152, 31, 44, 0.22);
    --theme-body-bg-blend: color;
}

body.theme-jade-green {
    --theme-primary: #08795b;
    --theme-primary-dark: #056248;
    --theme-primary-soft: #e8f6f1;
    --theme-accent: #d27a18;
    --theme-accent-dark: #a85f0e;
    --theme-danger: #9d2f3e;
    --theme-heading: #12251f;
    --theme-panel: rgba(255, 255, 255, 0.96);
    --theme-border: #cfe3dc;
    --theme-muted: #576b64;
    --theme-page-bg: #f3f8f6;
    --theme-body-bg-overlay: rgba(8, 121, 91, 0.20);
    --theme-body-bg-blend: color;
}

body.theme-ink-indigo {
    --theme-primary: #4353a3;
    --theme-primary-dark: #303d85;
    --theme-primary-soft: #eef0ff;
    --theme-accent: #d05a6e;
    --theme-accent-dark: #a94455;
    --theme-danger: #a63a45;
    --theme-heading: #171a2d;
    --theme-panel: rgba(255, 255, 255, 0.96);
    --theme-border: #d7daef;
    --theme-muted: #5c6078;
    --theme-page-bg: #f4f5fb;
    --theme-body-bg-overlay: rgba(67, 83, 163, 0.22);
    --theme-body-bg-blend: color;
}

body[class*="theme-"] {
    background-color: var(--theme-page-bg);
    background-image:
        linear-gradient(var(--theme-body-bg-overlay), var(--theme-body-bg-overlay)),
        url("/static/image/bodybg.png");
    background-position: top center, top center;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% auto, 100% auto;
    background-blend-mode: var(--theme-body-bg-blend), normal;
}

@media (max-width: 768px) {
    body[class*="theme-"] {
        background-size: auto 120px, auto 120px;
    }
}

body[class*="theme-"] .title-font,
body[class*="theme-"] .tit,
body[class*="theme-"] .dhright,
body[class*="theme-"] .bd h2,
body[class*="theme-"] .bd h3,
body[class*="theme-"] .tab-block .tab-buttons .tab-button.cur,
body[class*="theme-"] .unit-card-head h4,
body[class*="theme-"] .recruitment-empty-title,
body[class*="theme-"] label {
    color: var(--theme-primary);
}

body[class*="theme-"] a:hover,
body[class*="theme-"] a.c:hover,
body[class*="theme-"] .unit-announcements a:hover {
    color: var(--theme-accent-dark);
}

body[class*="theme-"] a.c:link,
body[class*="theme-"] a.c:visited,
body[class*="theme-"] a.d:link,
body[class*="theme-"] a.d:visited,
body[class*="theme-"] .unit-announcements a,
body[class*="theme-"] .txt ul li span,
body[class*="theme-"] .cont ul li span {
    color: var(--theme-primary);
}

body[class*="theme-"] .tab-block .tab-buttons .tab-button.cur:after,
body[class*="theme-"] .treeBox li.cur,
body[class*="theme-"] .fwzn .tit1,
body[class*="theme-"] .loginin,
body[class*="theme-"] .savein,
body[class*="theme-"] .qs-btn-blue,
body[class*="theme-"] .findwork_btn1,
body[class*="theme-"] .baokao_btn,
body[class*="theme-"] .file,
body[class*="theme-"] .apply-panel-retry-btn {
    background-color: var(--theme-primary);
}

body[class*="theme-"] .input,
body[class*="theme-"] .input:focus,
body[class*="theme-"] .inputtxt,
body[class*="theme-"] .inputtxt:focus,
body[class*="theme-"] .search-input,
body[class*="theme-"] .search-show,
body[class*="theme-"] .easyui-validatebox,
body[class*="theme-"] .easyui-combox {
    border-color: var(--theme-primary);
}

body[class*="theme-"] .input:focus,
body[class*="theme-"] .inputtxt:focus {
    box-shadow: 0 0 10px rgba(53, 135, 248, 0.45);
}

body[class*="theme-"] .bd h2 {
    background-color: var(--theme-primary-soft);
}

body[class*="theme-"] .mainleft,
body[class*="theme-"] .mainright,
body[class*="theme-"] .login-photo-notice,
body[class*="theme-"] #logoto,
body[class*="theme-"] #register,
body[class*="theme-"] #forget,
body[class*="theme-"] .fwzn,
body[class*="theme-"] .tab-block {
    border-color: var(--theme-border);
    background-color: var(--theme-panel);
}

body[class*="theme-"] .login-photo-notice-title {
    color: var(--theme-primary);
}

body[class*="theme-"] a.action:link,
body[class*="theme-"] a.action:visited,
body[class*="theme-"] a.action:hover,
body[class*="theme-"] a.loadup:link,
body[class*="theme-"] a.loadup:visited,
body[class*="theme-"] a.loadup:hover,
body[class*="theme-"] a.submitno:link,
body[class*="theme-"] a.submitno:visited,
body[class*="theme-"] a.submitno:hover,
body[class*="theme-"] .file1 {
    background-color: var(--theme-accent);
}

body[class*="theme-"] a.submitok:link,
body[class*="theme-"] a.submitok:visited,
body[class*="theme-"] a.submitok:hover {
    background-color: var(--theme-primary);
}

body[class*="theme-"] .brand-mark {
    border-color: var(--theme-border);
}

body[class*="theme-"] .brand-kicker {
    color: var(--theme-primary);
}

body[class*="theme-"] .brand-panel h1,
body[class*="theme-"] .login-heading h2 {
    color: var(--theme-heading);
}

body[class*="theme-"] .brand-desc,
body[class*="theme-"] .security-note,
body[class*="theme-"] .brand-meta span {
    color: var(--theme-muted);
}

body[class*="theme-"] .login-box {
    border-top-color: var(--theme-primary);
}

body[class*="theme-"] .field input:focus {
    border-color: var(--theme-primary);
    box-shadow: 0 0 0 3px rgba(53, 135, 248, 0.18);
}

body[class*="theme-"] .submit-btn {
    background-color: var(--theme-primary);
}

body[class*="theme-"] .submit-btn:hover {
    background-color: var(--theme-primary-dark);
}

body[class*="theme-"] .login-message {
    border-color: #f0c7c7;
    color: var(--theme-danger);
}

body[class*="theme-"] .topbar {
    background: var(--theme-primary-soft);
    border-bottom: 1px solid var(--theme-border);
}

body[class*="theme-"] .topbar h1,
body[class*="theme-"] .notice-panel label {
    color: var(--theme-heading);
}

body[class*="theme-"] .notice-panel {
    border-color: var(--theme-border);
    background: var(--theme-panel);
}

.system-theme-choice {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.system-theme-choice .theme-swatch {
    display: inline-flex;
    flex: 0 0 auto;
    overflow: hidden;
    width: 34px;
    height: 16px;
    border: 1px solid #d7dde5;
    vertical-align: middle;
}

.system-theme-choice .theme-swatch i {
    display: block;
    width: 50%;
    height: 100%;
}

.system-theme-choice strong {
    font-weight: 600;
}

.system-theme-choice em {
    color: #777777;
    font-style: normal;
}
