/*通用*/
html, body {
    /*font-family: "Century Gothic", "Microsoft yahei";*/
    font: 12px/1.5 "PingFang SC", "Lantinghei SC", "Microsoft YaHei", "HanHei SC", "Helvetica Neue", "Open Sans", Arial, "Hiragino Sans GB", "微软雅黑", STHeiti, "WenQuanYi Micro Hei", SimSun, sans-serif;
    background: #f2f2f2;
}

/* login page — aligned with AI portal style */
.xdy-login-page {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    overflow: hidden;
    background: #000;
    font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

.xdy-login-wrap {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
    position: fixed;
    inset: 0;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    background: #000;
}

.xdy-login-bg-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
}

.xdy-login-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(0, 0, 0, .12) 0%, rgba(0, 0, 0, .18) 55%, rgba(0, 0, 0, .32) 100%);
}

.xdy-login-layout {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    overflow: hidden;
}

.xdy-login-card {
    position: relative;
    isolation: isolate;
    width: 30%;
    min-width: 340px;
    max-width: 440px;
    height: 100%;
    padding: 58px 48px 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    background-color: rgba(30, 30, 35, .92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-left: 1px solid rgba(255, 255, 255, .08);
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
}

.xdy-login-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: min(280px, 85%);
    height: min(410px, 55%);
    pointer-events: none;
    background: url('../img/bg-pattern-left.svg') no-repeat left top;
    background-size: contain;
}

.xdy-login-card > * {
    position: relative;
    z-index: 1;
}

.xdy-login-head {
    margin-bottom: 32px;
    text-align: center;
}

.xdy-login-logo {
    width: 72px;
    height: 72px;
    margin: 0 auto 28px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, #2563eb, #0284c7);
    box-shadow: 0 8px 20px rgba(37, 99, 235, .25);
}

.xdy-login-logo img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.xdy-login-head h1 {
    margin: 0 0 8px;
    color: #e2e8f0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.xdy-login-head p {
    margin: 0;
    color: #94a3b8;
    font-size: 13px;
}

.xdy-login-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.xdy-login-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.xdy-login-field-label {
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 600;
}

.xdy-login-input {
    height: 46px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    background: rgba(255, 255, 255, .06);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    box-sizing: border-box;
}

.xdy-login-input:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .18);
    background: rgba(255, 255, 255, .1);
}

.xdy-login-input svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: none;
    stroke: #64748b;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: stroke .18s ease;
}

.xdy-login-input:focus-within svg {
    stroke: #60a5fa;
}

.xdy-login-input .layui-input,
.xdy-login-input input {
    width: 100%;
    height: 100%;
    min-width: 0;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    color: #e2e8f0 !important;
    font-size: 14px;
    line-height: 1.4;
    background: transparent !important;
    box-shadow: none !important;
    text-indent: 0 !important;
}

.xdy-login-input .layui-input::placeholder,
.xdy-login-input input::placeholder {
    color: #64748b;
}

.xdy-login-input .layui-input:focus,
.xdy-login-input input:focus {
    border: 0 !important;
    box-shadow: none !important;
}

.xdy-login-submit {
    height: 46px;
    line-height: 46px;
    margin-top: 2px;
    width: 100%;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .08em;
    color: #fff !important;
    background: linear-gradient(135deg, #2563eb, #0d73c7) !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .3);
}

.xdy-login-submit:hover {
    background: linear-gradient(135deg, #1d4ed8, #0369a1) !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .4);
    color: #fff !important;
}

.xdy-login-footer {
    margin: 28px 0 0;
    padding: 0;
    flex-shrink: 0;
    color: #64748b;
    font-size: 11px;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .xdy-login-wrap {
        padding: 20px 16px;
        align-items: center;
        justify-content: center;
        overflow-y: auto;
        box-sizing: border-box;
    }

    .xdy-login-layout {
        height: auto;
        min-height: 0;
        align-items: center;
        justify-content: center;
    }

    .xdy-login-card {
        width: min(420px, 100%);
        min-width: 0;
        max-width: 420px;
        height: auto;
        max-height: none;
        padding: 40px 32px 28px;
        border-radius: 20px;
        border-left: 0;
        border: 1px solid rgba(255, 255, 255, .1);
    }
}

@media screen and (max-width: 768px) {
    .xdy-login-wrap {
        padding: 16px 12px;
        padding-top: max(16px, env(safe-area-inset-top));
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }

    .xdy-login-card {
        width: 100%;
        padding: 28px 20px 22px;
        border-radius: 18px;
    }

    .xdy-login-logo {
        width: 60px;
        height: 60px;
        margin-bottom: 18px;
    }

    .xdy-login-head {
        margin-bottom: 22px;
    }

    .xdy-login-head h1 {
        font-size: 22px;
    }

    .xdy-login-head p {
        font-size: 12px;
    }

    .xdy-login-form {
        gap: 14px;
    }

    .xdy-login-footer {
        margin-top: 20px;
        font-size: 10px;
    }

    .xdy-login-input .layui-input,
    .xdy-login-input input {
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {
    .xdy-login-card {
        padding: 24px 16px 18px;
    }

    .xdy-login-head h1 {
        font-size: 20px;
    }
}

.ass-more {
    white-space: pre-wrap;
    word-break: break-all;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    cursor: pointer; /* 当鼠标移动到元素上时，显示手形光标 */
}

.xdy-ass-dept-page td.xdy-ass-more-active {
    background: #dcfce7;
}

.xdy-ass-dept-page td.xdy-ass-more-active .ass-more {
    display: block;
    line-clamp: unset;
    -webkit-line-clamp: unset;
    overflow: visible;
}

/* 通用列表搜索框 */
.search-box {
    margin-bottom: .8rem;
}

.layui-select-title .layui-input {
    color: #b00000;
}

.layui-input-block .layui-input {
    color: rgba(255, 106, 0, 0.73);
}

.layui-input#addtime {
    color: #008B8B;
}

/*导航*/
.layui-nav-item .line {
    margin: 15px 20px;
    border-bottom: 1px dashed #ccc;
}


ul.pagination li {
    font-size: 1rem;
    left: 0;
    float: left;
    border: 1px solid #ccc;
    border-right: 0;
    padding: 0 .6rem;
    height: 1.8rem;
    line-height: 1.8rem;
    text-align: center;
}

ul.pagination li.active {
    background: #337ab7;
    border-top: 1px solid #337ab7;
    border-bottom: 1px solid #337ab7;
    color: #fff;
}

ul.pagination li:first-child {
    border-radius: 2px 0 0 2px;
    font-size: 1.2rem;
    line-height: 1.8rem;
}

ul.pagination li:last-child {
    border-radius: 0 2px 2px 0;
    font-size: 1.2rem;
    line-height: 1.8rem;
    border-right: 1px solid #ccc;
}

.cl {
    clear: both;
    float: none;
}

.readonly {
    background: #dedede;
    color: #1B851B;
}

/*TinyMce - Layui样式冲突*/
.tox.tox-tinymce {
    z-index: 99999999;
}

/*通用 - 搜索框 - 样式*/

/*通用 - ThinkPHP导航 - 样式*/
.pages {
    padding: 4px 0;
}

/*晨间日记*/
.md-edit-box h4 {
    font-weight: bold;
    text-align: center;
    padding-bottom: 60px;
}

.md-edit-box .show-box-bg1 .mdInfo,
.md-edit-box .show-box-bg2 .mdInfo,
.md-edit-box .show-box-bg3 .mdInfo,
.md-edit-box .show-box-bg4 .mdInfo,
.md-edit-box .show-box-bg6 .mdInfo {
    min-height: 160px;
}

.md-edit-box .show-box-bg7 .mdInfo,
.md-edit-box .show-box-bg8 .mdInfo,
.md-edit-box .show-box-bg9 .mdInfo {
    border-bottom: 0;
    border-radius: 40px 40px 0 0;
    min-height: 80px;
}

.md-edit-box .show-box-bg1 {
    color: #7833CB;
}

.md-edit-box .show-box-bg2 {
    color: #FF6666;
}

.md-edit-box .show-box-bg3 {
    color: #3CBC70;
}

.md-edit-box .show-box-bg4 {
    color: #00a7d0;
}

.md-edit-box .show-box-bg5 {
    height: 240px;
}

.md-edit-box .show-box-bg5 .showi table tr td.des {
    text-align: left;
    min-height: 80px;
}

.md-edit-box .show-box-bg6 {
    color: #006633;
}

.md-edit-box .show-box-bg7 {
    color: #993333;
}

.md-edit-box .show-box-bg8 {
    color: #336699;
}

.md-edit-box .show-box-bg9 {
    color: #008B8B;
}

.mdInfo div, .mdInfo p, .mdInfo ul, .mdInfo ol,
.md_edit_re_box div, .md_edit_re_box p, .md_edit_re_box ul, .md_edit_re_box ol {
    margin-right: 10px;
    margin-left: 10px;
}

.md_edit_re_box.showtime {
    height: 180px;
}

.md_edit_re_box {
    padding-top: 5px;
    padding-bottom: 5px;
    background: #F5F5F5;
    font-size: 12px;
    border-radius: 0 0 40px 40px;
    overflow-y: auto;
    border: 1px solid #ddd;
    min-height: 180px;
    width: 100%;
}

.md-edit-box div.mdInfo {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 12px;
    line-height: 20px;
    border: 1px solid #dedede;
    border-radius: 4px;
    width: 100%;
}

.md-edit-box div.mdInfo p {
    margin-bottom: 4px;
}

.md-edit-box div.mdInfo ol li {
    list-style-type: decimal;
    margin-left: 12px;
}

.md-edit-box div.mdInfo ol li ol li {
    list-style-type: lower-roman;
    margin-left: 12px;
}

.md-edit-box div.mdInfo ul li {
    list-style-type: disc;
    margin-left: 12px;
}

.md-edit-box div.mdInfo ul li ul li {
    list-style-type: circle;
    margin-left: 12px;
}

.md_list .layui-card-body .layui-table {
    margin-bottom: 140px;
}

.md_list table tr td {
    vertical-align: top;
}

.md_list table tr td h5 {
    text-align: center;
    font-weight: bold;
    border-bottom: 1px dotted #8c8c8c;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

.md_list table ol li {
    list-style-type: decimal;
    margin-left: 16px;
}

.md_list table ol li ol li {
    list-style-type: lower-roman;
    margin-left: 12px;
}

.md_list table ul li {
    list-style-type: disc;
    margin-left: 16px;
}

.md_list table ul li ul li {
    list-style-type: circle;
    margin-left: 12px;
}

.md_list table .open0 {
    text-align: center;
}

.md_list table .open1 {
    color: #FF6666;
}

.md_list table .open2 {
    color: #006633;
}

.md_list table .open3 {
    color: #336699;
}

.md_list table .open4 {
    color: #008B8B;
}

.md_list table .open5 {
    color: #00a7d0;
}

.md_list table .open6 {
    color: #993333;
}

.md_list table .open7 {
    color: #7833CB;
}

.md_list table .open8 {
    color: #3CBC70;
}

.task_edit .layui-form-label {
    font-weight: bold;
    font-size: 98px;
    color: #9f191f;
}

.task_edit .layui-textarea {
    font-size: 90px;
}

.task_edit h3 {
    text-align: center;
    font-size: 100px;
    font-weight: bold;
}

.task_edit h4 {
    padding: 100px 0;
    text-align: center;
    font-size: 140px;
}

.drug_list .layui-card-body .layui-table {
    margin-bottom: 100px;
}

.fit_list ul {
    font-size: 12px;
    padding: 0;
    /*margin-bottom: 10px;*/
}

.fit_list ul .fit-box {
    padding: 5px;
    margin: 5px 10px 5px 0;
    list-style: none;
    float: left;
    width: 180px;
    height: 260px;
    border: 1px dotted #ccc;
    border-radius: 10px;
}

.fit_list ul .fit-box p {
    margin: 0;
}

.fit_list ul .fit-box ol, .fit_list ul .fit-box ul {
    padding-left: 15px;
}

.fit_list ul .fit-box .fit-date {
    text-align: center;
    font-size: 14px;
    color: #0072E3;
    border-bottom: 1px dotted #ccc;
}

.fit_list ul .fit-box .fit-date a {
    color: #000000;
}

.fit_list ul .fit-box .fit-date span {
    font-size: 12px;
    color: #2b542c;
    font-weight: bold;
}

.fit_list ul .fit-box .fit-info {
    text-align: center;
    color: #FF8000;
    padding-top: 3px;
    padding-bottom: 3px;
    border-bottom: 1px dotted #ccc;
}

.fit_list ul .fit-box .fit-info span {
    font-weight: bold;
    color: #CE0000;
}

.fit_list ul .fit-box .fit-cont {
    padding-top: 5px;
    height: 174px;
    overflow-y: scroll;
}

.peo_list .layui-card-body .layui-table {
    margin-bottom: 140px;
}

.peo_record_list .layui-card-body .layui-table {
    margin-bottom: 100px;
}


/*--Account--*/
/*----帐目---*/
/*----业务---*/
.acc_comp .time {
    width: 32px;
}

.acc_comp .time a {
    color: #00a7d0;
}

.acc_comp .money {
    width: 800px;
    color: #9B1F1F;
    font-weight: bold;
}

.acc_comp h3.acctitle {
    font-size: 90px;
    font-weight: bold;
    color: #1A4582;
    text-align: center;
    border-top: 2px solid #1B851B;
    background: #F8F8FF;
}

.acc_comp .layui-card-body .layui-table {
    margin-bottom: 100px;
    margin-top: 0;
}

.acc_comp .show-btn {
    padding: 8px 4px;
    cursor: pointer;
}

.acc_comp .show-less {
    height: 120px;
    overflow-y: scroll;
}

.acc_comp .show-more .show-less {
    height: 100%;
    overflow-y: hidden;
}

.acc_tb .layui-card-body .layui-table {
    margin-bottom: 100px;
    margin-top: 0;
}

.acc_tb h3.acctitle {
    font-size: 6px;
    font-weight: bold;
    color: #9a6e3a;
    text-align: center;
    border-top: 2px solid #1B851B;
    background: #F8F8FF;
}

.acc_loan .layui-card-body .layui-table {
    margin-bottom: 6px;
    margin-top: 0;
}

.acc_loan h3.acctitle {
    font-size: 9px;
    font-weight: bold;
    color: #1A4582;
    text-align: center;
    border-top: 2px solid #1B851B;
    background: #F8F8FF;
}

.acc_loan .AccMoneyTxt {
    font-size: 120px;
    text-align: center;
    color: #9f191f;
}

.acc_loan .AccMoney {
    font-size: 120px;
    text-align: right;
    color: #9f191f;
}

.acc_loan .AccMoney b {
    font-size: 6px;
    color: #08575B;
}

.layui-anim.layui-anim-upbit {
    z-index: 999999;
}

.marbtm {
    margin-bottom: 60px;
}

/*2022.01.27 单据CSS样式*/
.ssbox {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 1rem;
}

.IDbox {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.IDbox input {
    height: 26px;
    line-height: 26px;
}

.IDbox .IDinput {
    width: 18rem;
}

.IDbox .IDbtn {
    border: 0;
    background: rgba(248, 61, 61, 0.73);
    color: #ffffff;
    width: 80px;
    border-radius: 0 1px 1px 0;
    font-size: 12px;
}

.tabNav {
    margin-left: 6px;
}

.tabNav.on {
    background: rgba(248, 61, 61, 0.73);
    color: #ffffff;
    padding: 1px 2px;
    border-radius: 2px;
}

.acc_tb {
    /*background:#f4f4f4;*/
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
}

.acc_tb_box h3 {
    width: 100%;
    padding: 2px 0;
    text-align: center;
    font-size: 1rem;
    background: #185d8c;
    color: #fff;
}

.acc_tb_box table {
    width: 100%;
    margin: 0;
    padding: 0;
}

.acc_tb_box .layui-table[lay-size=sm] td,
.acc_tb_box .layui-table[lay-size=sm] th {
    font-size: .84rem;
    padding: .2rem .4rem;
}

.butie {
    position: absolute;
    top: 28%;
    left: 1%;
    font-size: 6px;
}

.nav {
    width: 9%;
    border-right: 1px dotted #C9C9C9;
    margin-right:1%;
}

.nav .kuai {
    height: 30px;
    line-height: 30px;
    padding: 0 .1rem 0 0;
    border-radius: 4px;
    overflow: hidden;
}

.nav .kuai a {
    color: #f83d3d;
    font-size: .82rem;
}

.nav .kuai.on a {
    color: #ffffff;
    background: #00a7d0;
    padding: .1rem;
    border-radius: .08rem;
}

.list {
    /*padding-left: 10px;*/

    /*display: flex;*/
    /*flex-direction: row;*/
    /*flex-wrap: wrap;*/
    /*align-items: flex-start;*/
    /*justify-content: flex-start;*/
    width: 90%;
}

/*@media screen and (max-device-width: 960px) {*/
/*    .acc_tb_box {*/
/*        width: 100%;*/
/*    }*/
/*}*/

/*@media screen and (min-width: 1200px) and (max-width: 1600px) {*/
/*    .acc_tb_box {*/
/*        width: 50%;*/
/*    }*/
/*}*/

/*@media screen and (min-width: 1600px) {*/
/*    .acc_tb_box {*/
/*        width: 100%;*/
/*    }*/
/*}*/

.closed {
    color: #fff;
    border: 1px solid #fff;
    background: #ed5565;
    border-radius: 44px;
    padding: .8px 2.8px;
}

/*table.layui-table td,*/
table.layui-table th {
    text-align: center;
}

table.layui-table .money {
    width: 10px;
    font-size: 12px;
    color: darkred;
    text-align: right;
    position: relative;
}

table.layui-table .money_count {
    color: #993333;
    font-weight: 200;
    text-align: right;
}

table.layui-table .txt {
    cursor: pointer;
    text-align: left;
}

table.layui-table .txt.more {
    white-space: pre-wrap;
    word-break: break-all;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 1;
    -webkit-line-clamp: 1; /* 这里是超出几行省略 */
}

/* ===================== Finance: Card/Table/Search ===================== */
/* 主流化 - 财务列表页 */
.xdy-acc-page {
    border-radius: 14px;
    border: 1px solid #e9eef5;
    box-shadow: 0 12px 30px rgba(31, 41, 55, 0.08);
    /* 不能用 overflow:hidden，会裁切 layui 筛选下拉面板 */
    overflow: visible;
}

.xdy-acc-page > .layui-card-header {
    border-radius: 14px 14px 0 0;
}

.xdy-acc-page > .layui-card-body {
    overflow: visible;
}

.xdy-acc-page .layui-card-header {
    height: auto;
    line-height: 1.6;
    padding: 12px 16px;
    border-bottom: 1px solid #edf2f7;
    background: linear-gradient(135deg, #f8fbff 0%, #f4f7ff 100%);
}

.xdy-acc-page .layui-breadcrumb {
    font-size: .92rem;
    color: #64748b;
}

.xdy-acc-page .layui-breadcrumb a {
    color: #64748b !important;
}

.xdy-acc-page .layui-breadcrumb a:last-child {
    color: #2563eb !important;
    font-weight: 600;
}

.xdy-acc-page .layui-card-body {
    padding: 14px 14px 10px;
}

.xdy-acc-page .xdy-acc-search {
    margin-bottom: 12px;
    border-radius: 10px;
    border: 1px solid #edf2f7;
    background: #f8fafc;
    overflow: visible;
    position: relative;
    z-index: 20;
}

.xdy-acc-page .xdy-acc-search .layui-input,
.xdy-acc-page .xdy-acc-search .layui-select-title .layui-input,
.xdy-acc-page .form-control {
    height: 34px;
    line-height: 34px;
    border-radius: 7px;
    border: 1px solid #dbe3ee;
    background: #fff;
    color: #334155;
    font-size: .85rem;
    box-sizing: border-box;
}

.xdy-acc-page .xdy-acc-search .search-txt {
    text-align: center;
    padding: 0 .3rem;
}

.xdy-acc-page .xdy-acc-search .layui-btn,
.xdy-acc-page .btn.btn-default {
    height: 34px;
    line-height: 34px;
    border-radius: 7px;
    border: 0;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
    color: #fff;
    font-size: .86rem;
    font-weight: 600;
}

.xdy-acc-page .xdy-acc-search .layui-btn:hover,
.xdy-acc-page .btn.btn-default:hover {
    filter: brightness(0.96);
}

.xdy-acc-page .xdy-acc-search .layui-input:focus,
.xdy-acc-page .xdy-acc-search .layui-select-title .layui-input:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.xdy-acc-page .layui-table-view {
    margin: 0;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    overflow: hidden;
}

.xdy-acc-page .layui-table-header {
    background: #f8fafc;
}

.xdy-acc-page .layui-table th {
    color: #475569;
    font-weight: 600;
}

.xdy-acc-page .layui-table td {
    color: #334155;
    vertical-align: middle;
}

.xdy-acc-page .xdy-acc-email-fill {
    cursor: pointer;
    color: #2563eb;
}

.xdy-acc-page .xdy-acc-email-fill:hover {
    text-decoration: underline;
}

/* shared filter bar compact tuning */
.xdy-acc-page .xdy-acc-search {
    padding: 8px;
}

.xdy-acc-page .xdy-acc-search [class*="layui-col-"] {
    margin-bottom: 4px;
}

.xdy-acc-page .xdy-acc-search .layui-row {
    margin-bottom: -4px;
}

.xdy-acc-page .xdy-acc-search .layui-input,
.xdy-acc-page .xdy-acc-search .layui-select-title .layui-input {
    height: 30px;
    line-height: 30px;
    font-size: 12px;
    color: #0f5f52;
    font-weight: 400;
    background-color: #f3faf7;
}

.xdy-acc-page .xdy-acc-search .search-txt {
    font-size: 12px;
    color: #0f5f52;
    font-weight: 400;
    background-color: #f3faf7;
}

.xdy-acc-page .xdy-acc-search .layui-form-label,
.xdy-acc-page .xdy-acc-search .layui-form-mid {
    color: #7f918b;
    font-weight: 400;
}

.xdy-acc-page .xdy-acc-search .layui-input::placeholder,
.xdy-acc-page .xdy-acc-search .search-txt::placeholder {
    color: #a6b6b1;
    font-weight: 400;
}

.xdy-acc-page .xdy-acc-search .layui-btn {
    height: 30px;
    line-height: 30px;
    font-size: 12px;
}

.xdy-acc-page .layui-form-select dl dd {
    font-size: 12px;
    color: #4b635d;
}

.xdy-acc-page .layui-form-select dl dd.layui-this {
    background: #cfe9de;
    color: #0d5c4e;
    font-weight: 400;
}

.xdy-acc-edit-page .xdy-money-input {
    font-size: 1.25rem;
    font-weight: 700;
    color: #9f191f;
}

.xdy-acc-edit-page .xdy-acc-edit-form {
    background: #ffffff;
}

.xdy-acc-edit-page {
    overflow: visible;
}

.xdy-acc-edit-page .layui-card-body,
.xdy-acc-edit-page .xdy-acc-edit-form,
.xdy-acc-edit-page .xdy-acc-edit-main,
.xdy-acc-edit-page .xdy-acc-edit-assist {
    overflow: visible;
}

.xdy-acc-edit-page .xdy-acc-edit-main,
.xdy-acc-edit-page .xdy-acc-edit-assist {
    background: #f8fafc;
    border: 1px solid #e6edf5;
    border-radius: 10px;
    padding: 10px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.xdy-acc-edit-page .xdy-acc-edit-main {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 10px;
}

.xdy-acc-edit-page .xdy-acc-edit-assist {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
}

@media screen and (min-width: 992px) {
    .xdy-acc-edit-page .xdy-acc-edit-main {
        padding-right: 8px;
    }

    .xdy-acc-edit-page .xdy-acc-edit-assist {
        padding-left: 8px;
    }
}

@media screen and (min-width: 992px) {
    .xdy-acc-edit-page .xdy-acc-edit-main {
        margin-bottom: 0;
    }
}

.xdy-acc-edit-page .xdy-acc-edit-group-row,
.xdy-acc-edit-page .xdy-acc-edit-money-row,
.xdy-acc-edit-page .xdy-acc-edit-order-row {
    margin-bottom: 2px;
}

.xdy-acc-edit-page .layui-form-label {
    width: 84px;
    color: #475569;
    font-weight: 600;
    background: #f1f5f9;
    border-color: #dbe3ee;
    border-radius: 7px 0 0 7px;
}

.xdy-acc-edit-page .layui-input-block {
    margin-left: 84px;
}

.xdy-acc-edit-page .layui-input,
.xdy-acc-edit-page .layui-select-title .layui-input,
.xdy-acc-edit-page .layui-textarea {
    border-color: #dbe3ee;
    border-radius: 7px;
    background: #ffffff;
}

.xdy-acc-edit-page .layui-form-pane .layui-input-block > .layui-input,
.xdy-acc-edit-page .layui-form-pane .layui-input-block > .layui-form-select .layui-input {
    border-left: 0;
    border-radius: 0 7px 7px 0;
}

/* form pane - label/input seamless join (global) */
.layui-form-pane .layui-form-item > .layui-form-label {
    border-radius: 7px 0 0 7px;
}

.layui-form-pane .layui-form-item > .layui-form-label + .layui-input-block > .layui-input,
.layui-form-pane .layui-form-item > .layui-form-label + .layui-input-block > .layui-form-select .layui-input,
.layui-form-pane .layui-form-item > .layui-form-label + .layui-input-block > .layui-textarea {
    border-left: 0;
    border-radius: 0 7px 7px 0;
}

.xdy-acc-edit-page .layui-form-select dl {
    max-height: 280px;
    z-index: 10000;
}

/* common: avoid select dropdown clipping in card search areas */
/* dropdown anti-clipping: common search area */
.xdy-acc-page .xdy-acc-search,
.xdy-acc-page .xdy-acc-search .layui-form,
.xdy-acc-page .xdy-acc-search .layui-row,
.xdy-acc-page .xdy-acc-search [class*="layui-col-"] {
    overflow: visible;
}

.xdy-acc-page .xdy-acc-search .layui-form-select dl {
    z-index: 10000;
}

/* dropdown anti-clipping: page-specific fallback */
/* acc_accs select dropdown should not be clipped */
.xdy-acc-accs-page,
.xdy-acc-accs-page .layui-card-body,
.xdy-acc-accs-page .xdy-acc-search,
.xdy-acc-accs-page .xdy-acc-search .layui-form,
.xdy-acc-accs-page .xdy-acc-search .layui-row,
.xdy-acc-accs-page .xdy-acc-search [class*="layui-col-"] {
    overflow: visible;
}

.xdy-acc-accs-page .layui-form-select dl {
    z-index: 10000;
}

/* dropdown anti-clipping: add cards */
/* acc_cid add card: allow dropdown to fully display */
.xdy-acc-cid-add-card,
.xdy-acc-cid-add-card .layui-card-body,
.xdy-acc-cid-add-card .layui-form,
.xdy-acc-cid-add-card .layui-row,
.xdy-acc-cid-add-card [class*="layui-col-"] {
    overflow: visible;
}

.xdy-acc-cid-add-card .layui-form-select dl {
    z-index: 10000;
}

/* add-card dropdown: shared anti-clipping rules */
.xdy-acc-pros-add-card,
.xdy-acc-pros-add-card.layui-card,
.xdy-acc-pros-add-card.layui-panel,
.xdy-acc-pros-add-card .layui-card-body,
.xdy-acc-pros-add-card .layui-form,
.xdy-acc-pros-add-card .layui-row,
.xdy-acc-pros-add-card [class*="layui-col-"],
.xdy-acc-pros-add-card .layui-form-item,
.xdy-acc-pros-add-card .layui-form-select,
.xdy-acc-adds-add-card,
.xdy-acc-adds-add-card.layui-card,
.xdy-acc-adds-add-card.layui-panel,
.xdy-acc-adds-add-card .layui-card-body,
.xdy-acc-adds-add-card .layui-form,
.xdy-acc-adds-add-card .layui-row,
.xdy-acc-adds-add-card [class*="layui-col-"],
.xdy-acc-adds-add-card .layui-form-item,
.xdy-acc-adds-add-card .layui-form-select,
.xdy-acc-peos-add-card,
.xdy-acc-peos-add-card.layui-card,
.xdy-acc-peos-add-card.layui-panel,
.xdy-acc-peos-add-card .layui-card-body,
.xdy-acc-peos-add-card .layui-form,
.xdy-acc-peos-add-card .layui-row,
.xdy-acc-peos-add-card [class*="layui-col-"],
.xdy-acc-peos-add-card .layui-form-item,
.xdy-acc-peos-add-card .layui-form-select {
    overflow: visible !important;
}

.xdy-acc-pros-add-card {
    position: relative;
    z-index: 1;
}

.xdy-acc-pros-add-card .layui-card-body,
.xdy-acc-pros-add-card .layui-form,
.xdy-acc-pros-add-card .layui-form-item,
.xdy-acc-pros-add-card .layui-form-select {
    position: relative;
}

.xdy-acc-pros-add-card .layui-form-select dl {
    z-index: 100000 !important;
}

.xdy-acc-adds-add-card .layui-form-select dl,
.xdy-acc-peos-add-card .layui-form-select dl {
    z-index: 100000 !important;
}

/* pinpoint add_ishow dropdown to avoid clipping by parent stacking */
.xdy-acc-adds-add-card select[name="add_ishow"] + .layui-form-select,
.xdy-acc-pros-add-card select[name="add_ishow"] + .layui-form-select,
.xdy-acc-peos-add-card select[name="add_ishow"] + .layui-form-select {
    position: relative;
    z-index: 10001;
}

.xdy-acc-adds-add-card select[name="add_ishow"] + .layui-form-select dl,
.xdy-acc-pros-add-card select[name="add_ishow"] + .layui-form-select dl,
.xdy-acc-peos-add-card select[name="add_ishow"] + .layui-form-select dl {
    z-index: 100002 !important;
}

.xdy-acc-edit-page .layui-input:focus,
.xdy-acc-edit-page .layui-select-title .layui-input:focus,
.xdy-acc-edit-page .layui-textarea:focus {
    border-color: #93c5fd !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.xdy-acc-edit-page .xdy-info-edit {
    min-height: 11.1rem;
    margin-bottom: .88rem;
    line-height: 1.6;
}

.xdy-acc-edit-page .xdy-info-edit-sm {
    min-height: .92rem;
}

.xdy-acc-edit-page .xdy-acc-submit-btn {
    margin-top: 10px;
    height: 38px;
    line-height: 38px;
    border-radius: 8px;
    font-weight: 700;
    letter-spacing: 0.5px;
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
}

.xdy-acc-edit-page .xdy-quick-fill-btn {
    margin-top: 0;
    border-radius: 6px;
    border-color: #bfdbfe;
    color: #1d4ed8;
    background: #eff6ff;
}

.xdy-acc-edit-page .xdy-quick-fill-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 6px;
}

.xdy-acc-edit-page .xdy-quick-fill-wrap .xdy-quick-fill-btn {
    margin: 0 !important;
}

/* 统计页导航 */
.xdy-fin-nav-page .navk {
    display: inline-block;
    margin-right: 6px;
    padding: 4px 10px;
    border-radius: 6px;
    background: #e2e8f0;
    color: #475569 !important;
    font-size: 12px;
    transition: all 0.2s ease;
}

.xdy-fin-nav-page .navk:hover {
    background: #d8e2ee;
}

.xdy-fin-nav-page .navOn {
    background: #2563eb;
    color: #fff !important;
}

.xdy-fin-nav-page .layui-breadcrumb a.navOn,
.xdy-fin-nav-page .layui-breadcrumb a.navOn cite {
    color: #ffffff !important;
}

@media screen and (max-width: 768px) {
    .xdy-biao-prot-page .flex .flexbox {
        flex-basis: 100%;
        max-width: 100%;
    }
}

/* finance - inline style cleanup */
.xdy-fin-center-actions {
    text-align: center;
}

.xdy-acc-page .xdy-peos-link {
    color: #2bb9a4;
}

.xdy-fin-nav-page .xdy-dan-toolbar {
    margin-bottom: 10px;
}

.xdy-fin-nav-page .xdy-dan-box {
    overflow: hidden;
    border-radius: 10px;
}

.xdy-fin-nav-page .xdy-dan-th-no {
    width: 0.04rem;
}

.xdy-fin-nav-page .xdy-dan-th-date {
    width: 6rem;
}

.xdy-fin-nav-page .xdy-dan-th-type {
    width: 7rem;
}

.xdy-fin-nav-page .xdy-dan-th-money {
    width: 4rem;
}

.xdy-fin-nav-page .xdy-dan-link {
    color: #78ab46;
    font-weight: 700;
}

.xdy-fin-nav-page .xdy-dan-left {
    text-align: left;
}

.xdy-fin-nav-page .xdy-dan-summary-label {
    text-align: right;
}

.xdy-fin-nav-page .xdy-dan-summary-extra {
    float: left;
}

.xdy-fin-nav-page .xdy-dan-close {
    float: right;
}

.xdy-fin-nav-page .xdy-dan-empty-tip {
    background: #f15828;
    color: #ffffff;
    text-align: center;
    font-size: 0.86rem;
    margin-top: 0.02rem;
    padding: 0.3rem 0.4rem;
    border-radius: 8px;
}

/* total_* 汇总片段 */
.xdy-total-table {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e8eef6;
    background: #fff;
}

.xdy-total-table td {
    color: #334155;
}

.xdy-total-list td:last-child,
.xdy-total-sum {
    text-align: right;
    font-weight: 600;
    color: #0f766e;
}

.xdy-total-matrix .xdy-total-label {
    width: 10%;
    color: #64748b;
    font-weight: 500;
}

.xdy-total-matrix .xdy-total-value {
    width: 15%;
    text-align: right;
    font-weight: 600;
    color: #1e3a8a;
}

.xdy-total-profit .xdy-total-label {
    text-align: center;
    font-weight: 600;
}

.xdy-total-profit td:last-child {
    text-align: center;
    font-weight: 600;
}

.xdy-total-balance td:first-child {
    font-weight: 600;
    color: #475569;
}

/* assets - bumen/didian */
.xdy-ass-dept-page table td,
.xdy-ass-didian-page table td {
    text-align: center;
}

/* ass_pc / ass_equ table - concise layout */
.xdy-ass-dept-page .layui-table {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

.xdy-ass-dept-page .layui-table th,
.xdy-ass-dept-page .layui-table td {
    padding: 6px 8px;
    border-color: #e5e7eb;
    vertical-align: middle;
}

.xdy-ass-dept-page .layui-table tbody tr:hover td {
    background: #f8fafc;
}

/* first column must stay one line */
.xdy-ass-dept-page .xdy-ass-col-code-lg,
.xdy-ass-dept-page .layui-table th:first-child,
.xdy-ass-dept-page .layui-table td:first-child {
    min-width: 180px;
    white-space: nowrap !important;
}

.xdy-ass-dept-page .layui-table td:first-child .layui-btn {
    white-space: nowrap;
}

/* ass_pc / ass_equ: department column header can wrap */
.xdy-ass-dept-page tr[class*="ass-show-"].xdy-ass-print-hidden.layui-btn-primary.layui-border-red td {
    white-space: normal !important;
    line-height: 1.2;
    padding-top: 8px;
    padding-bottom: 8px;
}

.xdy-ass-dept-page > .layui-card-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.xdy-ass-dept-page .xdy-ass-dept-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.xdy-ass-dept-page .xdy-ass-dept-summary .layui-badge,
.xdy-ass-dept-page .xdy-ass-dept-summary .layui-badge-rim {
    height: auto;
    line-height: 1.4;
    padding: 4px 10px;
}

.xdy-ass-dept-page .xdy-ass-dept-summary-split {
    color: #cbd5e1;
    margin: 0 2px;
}

/* ass_pc / ass_equ mobile table support */
.xdy-ass-dept-page .xdy-ass-table-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.xdy-ass-dept-page .xdy-ass-table-scroll .layui-table {
    min-width: 1280px;
}

.xdy-ass-dept-page .xdy-ass-print-hidden {
    display: none;
}

.xdy-ass-dept-page .xdy-ass-dept-col-date {
    width: 7rem;
}

.xdy-ass-dept-page .xdy-ass-dept-col-tag {
    width: 3rem;
}

.xdy-ass-dept-page .xdy-ass-dept-col-long {
    min-width: 6rem;
}

.xdy-ass-dept-page .xdy-ass-dept-col-note {
    min-width: 8rem;
}

.xdy-ass-didian-page .xdy-ass-didian-col-code {
    width: 2rem;
}

.xdy-ass-didian-page .xdy-ass-didian-col-date {
    width: 2rem;
}

.xdy-ass-didian-page .xdy-ass-didian-col-money {
    width: 1rem;
}

.xdy-ass-didian-page .xdy-ass-didian-col-user {
    width: 2rem;
}

.xdy-ass-didian-page .xdy-ass-didian-col-content {
    width: 10rem;
}

.xdy-ass-didian-page .xdy-ass-didian-col-tag {
    width: 1rem;
}

.xdy-ass-didian-page .xdy-ass-didian-col-place,
.xdy-ass-didian-page .xdy-ass-didian-col-order {
    width: 2rem;
}

/* assets - ass_edit */
.xdy-ass-edit-page .xdy-ass-id-input {
    font-size: 1.2rem;
    color: #0b7cea;
}

.xdy-ass-edit-page .xdy-ass-money-input {
    font-weight: 700;
}

.xdy-ass-edit-page .xdy-ass-textarea {
    min-height: 7.2rem;
}

/* assets - ass_list / ass_record */
.xdy-ass-list-page .layui-table td,
.xdy-ass-record-page .layui-table td {
    color: #334155;
}

.xdy-ass-list-page .xdy-ass-cell-left,
.xdy-ass-record-page .xdy-ass-cell-left {
    text-align: left;
}

.xdy-ass-list-page .xdy-ass-money-cell {
    text-align: right;
    color: #b00000;
    font-weight: 700;
}

.xdy-ass-dept-page .xdy-ass-money-cell,
.xdy-ass-didian-page .xdy-ass-money-cell {
    text-align: right;
    color: darkred;
    font-weight: 700;
}

.xdy-ass-dept-page .xdy-ass-cell-left,
.xdy-ass-didian-page .xdy-ass-cell-left,
.xdy-ass-edit-page .xdy-ass-cell-left {
    text-align: left;
}

.xdy-ass-list-page .layui-table-view,
.xdy-ass-record-page .layui-table-view {
    border-radius: 10px;
    overflow: hidden;
}

.xdy-ass-list-page .layui-table th,
.xdy-ass-record-page .layui-table th,
.xdy-ass-dept-page .layui-table th,
.xdy-ass-didian-page .layui-table th {
    background: #f8fafc;
    color: #475569;
    font-weight: 600;
}

/* assets - ass_print */
.xdy-ass-print-page table td {
    text-align: center;
}

.xdy-ass-print-page .xdy-ass-print-hidden {
    display: none;
}

.xdy-ass-print-page .xdy-ass-col-id {
    width: 2rem;
}

.xdy-ass-print-page .xdy-ass-col-code {
    width: 10rem;
}

.xdy-ass-print-page .xdy-ass-col-code-lg {
    width: 14rem;
}

.xdy-ass-print-page .xdy-ass-col-type {
    width: 2rem;
}

.xdy-ass-print-page .xdy-ass-col-user {
    width: 4rem;
}

.xdy-ass-print-page .xdy-ass-col-date {
    width: 8rem;
}

.xdy-ass-print-page .xdy-ass-col-place {
    width: 5rem;
}

.xdy-ass-print-page .xdy-ass-cell-left {
    text-align: left;
}

.xdy-ass-print-page .xdy-ass-print-content {
    text-align: left;
    font-size: 0.9rem;
}

@media print {
    .xdy-ass-print-page .only-print {
        display: none;
    }
}

/* responsive tuning */
@media screen and (max-width: 992px) {
    .xdy-acc-page .layui-card-body {
        padding: 10px 10px 8px;
    }

    .xdy-acc-page .xdy-acc-search {
        padding: 10px;
    }

    .xdy-fin-nav-page .navk {
        margin-bottom: 6px;
    }

    .xdy-fin-nav-page .list {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .xdy-acc-page .xdy-acc-search .layui-btn,
    .xdy-acc-page .btn.btn-default {
        width: 100%;
    }

    .xdy-ass-dept-page .xdy-ass-table-scroll .layui-table {
        font-size: 12px;
    }

    .xdy-ass-dept-page .xdy-ass-table-scroll .layui-table td,
    .xdy-ass-dept-page .xdy-ass-table-scroll .layui-table th {
        padding: 5px 6px;
    }

    .xdy-fin-nav-page .layui-breadcrumb {
        display: block;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 4px;
    }

    .xdy-fin-nav-page .navk {
        font-size: 12px;
        padding: 4px 8px;
    }

    .xdy-fin-nav-page .xdy-dan-empty-tip {
        font-size: 0.8rem;
    }

    .xdy-ass-print-page .layui-table {
        font-size: 12px;
    }
}

/* public includes - layout polish */
.xdy-main-body {
    padding: 1rem;
    margin-bottom: 1rem;
}

.xdy-nav-hidden-item {
    display: none;
}

.xdy-more-panel {
    padding: 15px;
}

.xdy-side-force-open {
    transform: none !important;
    -webkit-transform: none !important;
}

.layui-layout-admin .layui-header {
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.08);
    backdrop-filter: saturate(120%) blur(2px);
}

.layui-layout-admin .layui-logo {
    font-weight: 700;
    letter-spacing: 0.4px;
    color: #e2e8f0;
}

.layui-layout-admin .layui-side {
    box-shadow: 2px 0 20px rgba(15, 23, 42, 0.08);
}

.layui-layout-admin .layui-nav-tree .layui-nav-item > a {
    transition: all 0.2s ease;
    border-radius: 8px;
    margin: 2px 6px;
}

.layui-layout-admin .layui-nav-tree .layui-nav-item > a:hover {
    background: rgba(37, 99, 235, 0.14);
}

.layui-layout-admin .layui-nav-tree .layui-this > a,
.layui-layout-admin .layui-nav-tree .layui-this > a:hover {
    background: rgba(37, 99, 235, 0.24);
}

.layui-layout-admin .layui-body {
    background: linear-gradient(180deg, #f8fafc 0%, #f3f6fb 100%);
}

.xdy-biao-nav-link {
    font-weight: 600;
}

/* 审批待办红点提醒 */
.xdy-nav-audit-link {
    position: relative;
    display: inline-block;
}

.xdy-nav-dot {
    position: absolute;
    top: 10px;
    right: -4px;
    width: 8px;
    height: 8px;
    background: #ff5722;
    border-radius: 50%;
    border: 1px solid #fff;
    box-shadow: 0 0 0 1px rgba(255, 87, 34, 0.35);
    pointer-events: none;
}

.layui-nav-tree .xdy-nav-audit-link .xdy-nav-dot {
    top: 50%;
    right: 12px;
    margin-top: -10px;
}

.xdy-html-root.xdy-theme-dark .xdy-nav-dot {
    border-color: #1f2937;
}

.xdy-admin-layout .xdy-mobile-mask {
    display: none;
}

.xdy-mobile-header-title {
    display: none;
}

.xdy-theme-toggle-item {
    height: 60px;
    line-height: 60px;
}

.xdy-theme-toggle-btn {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid rgba(148, 163, 184, 0.45);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    margin-top: 0;
    vertical-align: middle;
    background: rgba(255, 255, 255, 0.12);
    transition: all 0.2s ease;
}

.xdy-theme-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.xdy-theme-icon {
    width: 13px;
    height: 13px;
    display: none;
    fill: none;
    stroke: #e2e8f0;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.xdy-theme-toggle-btn[data-theme="day"] .xdy-icon-sun,
.xdy-theme-toggle-btn[data-theme="eye"] .xdy-icon-leaf,
.xdy-theme-toggle-btn[data-theme="dark"] .xdy-icon-moon {
    display: block;
}

/* theme: day */
.xdy-html-root.xdy-theme-day body {
    background: #f2f2f2;
    color: #334155;
}

/* ===================== Theme Tokens ===================== */
/* theme: eye-care */
.xdy-html-root.xdy-theme-eye {
    --xdy-theme-bg-body: #f1ecdf;
    --xdy-theme-bg-main: #f3eee2;
    --xdy-theme-bg-panel: #f8f3e8;
    --xdy-theme-bg-header: #cec4b0;
    --xdy-theme-bg-side: #c9bfac;
    --xdy-theme-bg-table-head: #e9dfcd;
    --xdy-theme-bg-input: #f6f0e4;
    --xdy-theme-bg-select-panel: #f4ede0;
    --xdy-theme-bg-select-active: #e6dccb;
    --xdy-theme-bg-btn: #ddd2bc;
    --xdy-theme-bg-nav-tab: #ddd2bf;
    --xdy-theme-bg-nav-active: #a88f69;
    --xdy-theme-text-main: #575043;
    --xdy-theme-text-strong: #5f5749;
    --xdy-theme-text-icon: #6b5a41;
    --xdy-theme-text-nav-more: #7a694e;
    --xdy-theme-text-on-active: #ffffff;
    --xdy-theme-border-panel: #ded4c1;
    --xdy-theme-border-input: #d7cdb9;
    --xdy-theme-border-btn: #cdc0a9;
    --xdy-theme-border-table: #e1d7c5;
}

.xdy-html-root.xdy-theme-eye body {
    background: var(--xdy-theme-bg-body);
    color: var(--xdy-theme-text-main);
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-header {
    background: var(--xdy-theme-bg-header);
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-side {
    background: var(--xdy-theme-bg-side) !important;
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-side .layui-side-scroll,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-side .layui-nav-tree,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-side .layui-nav-itemed > .layui-nav-child {
    background: var(--xdy-theme-bg-side) !important;
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-body {
    background: var(--xdy-theme-bg-main);
}

.xdy-html-root.xdy-theme-eye .xdy-main-body {
    background: var(--xdy-theme-bg-main);
    color: var(--xdy-theme-text-strong);
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-logo,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav .layui-nav-item a,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav .layui-nav-item i,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-breadcrumb,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-breadcrumb a {
    color: var(--xdy-theme-text-strong) !important;
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-logo {
    background: var(--xdy-theme-bg-header) !important;
    color: var(--xdy-theme-text-strong) !important;
}

.xdy-html-root.xdy-theme-eye .xdy-mobile-header-title {
    color: var(--xdy-theme-text-strong) !important;
}

.xdy-html-root.xdy-theme-eye .xdy-acc-page,
.xdy-html-root.xdy-theme-eye .layui-card {
    background: var(--xdy-theme-bg-panel);
    border-color: var(--xdy-theme-border-panel);
    box-shadow: 0 3px 10px rgba(112, 96, 72, 0.06);
}

.xdy-html-root.xdy-theme-eye .layui-table,
.xdy-html-root.xdy-theme-eye .layui-table th,
.xdy-html-root.xdy-theme-eye .layui-table td {
    background: var(--xdy-theme-bg-panel);
    color: var(--xdy-theme-text-main);
    border-color: var(--xdy-theme-border-table);
}

.xdy-html-root.xdy-theme-eye .layui-table th {
    background: var(--xdy-theme-bg-table-head);
}

.xdy-html-root.xdy-theme-eye .layui-input,
.xdy-html-root.xdy-theme-eye .layui-select-title .layui-input,
.xdy-html-root.xdy-theme-eye .layui-textarea {
    background: var(--xdy-theme-bg-input);
    color: var(--xdy-theme-text-main);
    border-color: var(--xdy-theme-border-input);
}

.xdy-html-root.xdy-theme-eye .layui-form-select dl {
    background: var(--xdy-theme-bg-select-panel);
    border-color: var(--xdy-theme-border-input);
}

.xdy-html-root.xdy-theme-eye .layui-form-select dl dd {
    color: var(--xdy-theme-text-main);
}

.xdy-html-root.xdy-theme-eye .layui-form-select dl dd:hover,
.xdy-html-root.xdy-theme-eye .layui-form-select dl dd.layui-this {
    background: var(--xdy-theme-bg-select-active);
}

.xdy-html-root.xdy-theme-eye .layui-btn {
    background: var(--xdy-theme-bg-btn);
    border-color: var(--xdy-theme-border-btn);
    color: var(--xdy-theme-text-strong);
}

.xdy-html-root.xdy-theme-eye .layui-btn:hover {
    filter: brightness(0.96);
}

.xdy-html-root.xdy-theme-eye .xdy-theme-toggle-btn {
    background: rgba(105, 91, 69, 0.12);
    border-color: rgba(105, 91, 69, 0.22);
}

.xdy-html-root.xdy-theme-eye .xdy-theme-icon {
    stroke: var(--xdy-theme-text-icon);
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-this > a,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-this > a:hover {
    background: rgba(108, 94, 73, 0.18);
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-nav-item > a,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-nav-child dd a {
    color: #5f5749 !important;
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-nav-item > a:hover,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-nav-child dd a:hover {
    background: rgba(108, 94, 73, 0.15) !important;
    color: var(--xdy-theme-text-main) !important;
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-nav-more {
    border-top-color: var(--xdy-theme-text-nav-more) !important;
}

.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-this > a,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-this > a:hover,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this a,
.xdy-html-root.xdy-theme-eye .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this a:hover {
    color: var(--xdy-theme-text-main) !important;
}

.xdy-html-root.xdy-theme-eye .xdy-fin-nav-page .navk {
    background: var(--xdy-theme-bg-nav-tab);
    color: #5f5749 !important;
}

.xdy-html-root.xdy-theme-eye .xdy-fin-nav-page .navOn {
    background: var(--xdy-theme-bg-nav-active);
    color: var(--xdy-theme-text-on-active) !important;
}

.xdy-html-root.xdy-theme-eye .xdy-acc-page .layui-card-header {
    background: linear-gradient(180deg, #eee4d3 0%, #e9decc 100%);
    border-color: #ded4c1;
}

.xdy-html-root.xdy-theme-eye .xdy-acc-edit-page .xdy-acc-edit-form {
    background: #f8f3e8;
}

/* theme: dark */
.xdy-html-root.xdy-theme-dark {
    --xdy-theme-bg-body: #0f172a;
    --xdy-theme-bg-panel: #111827;
    --xdy-theme-bg-side: #0b1220;
    --xdy-theme-bg-header: #111827;
    --xdy-theme-bg-card-header: #162033;
    --xdy-theme-bg-search: #0f172a;
    --xdy-theme-bg-input: #0b1220;
    --xdy-theme-bg-select-panel: #111827;
    --xdy-theme-bg-select-active: #1e293b;
    --xdy-theme-bg-btn: #1d4ed8;
    --xdy-theme-bg-table-row-hover: #111b2f;
    --xdy-theme-bg-nav-tab: #1e293b;
    --xdy-theme-bg-nav-tab-hover: #26354b;
    --xdy-theme-bg-nav-active: #2563eb;
    --xdy-theme-text-main: #dbeafe;
    --xdy-theme-text-nav: #cbd5e1;
    --xdy-theme-text-strong: #e2e8f0;
    --xdy-theme-text-logo: #e5e7eb;
    --xdy-theme-text-placeholder: #64748b;
    --xdy-theme-text-on-active: #ffffff;
    --xdy-theme-border-panel: #1f2937;
    --xdy-theme-border-card-header: #263247;
    --xdy-theme-border-input: #2a3a52;
    --xdy-theme-border-table: #1e293b;
    --xdy-theme-border-table-wrap: #243244;
    --xdy-theme-border-nav-more: #94a3b8;
    --xdy-theme-focus: #3b82f6;
}

.xdy-html-root.xdy-theme-dark body {
    background: var(--xdy-theme-bg-body);
    color: var(--xdy-theme-text-main);
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-header {
    background: var(--xdy-theme-bg-header);
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-logo,
.xdy-html-root.xdy-theme-dark .xdy-mobile-header-title {
    color: var(--xdy-theme-text-logo) !important;
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-side {
    background: var(--xdy-theme-bg-side) !important;
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-side .layui-side-scroll,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-side .layui-nav-tree,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-side .layui-nav-itemed > .layui-nav-child {
    background: var(--xdy-theme-bg-side) !important;
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-nav-item > a,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-nav-child dd a,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav .layui-nav-item a,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav .layui-nav-item i {
    color: var(--xdy-theme-text-nav) !important;
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-nav-item > a:hover,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-nav-child dd a:hover {
    background: rgba(59, 130, 246, 0.16) !important;
    color: var(--xdy-theme-text-strong) !important;
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-this > a,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-this > a:hover,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this a,
.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this a:hover {
    background: rgba(59, 130, 246, 0.22) !important;
    color: var(--xdy-theme-text-on-active) !important;
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-nav-tree .layui-nav-more {
    border-top-color: var(--xdy-theme-border-nav-more) !important;
}

.xdy-html-root.xdy-theme-dark .layui-layout-admin .layui-body {
    background: var(--xdy-theme-bg-body);
}

.xdy-html-root.xdy-theme-dark .xdy-main-body {
    background: var(--xdy-theme-bg-body);
    color: var(--xdy-theme-text-nav);
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page,
.xdy-html-root.xdy-theme-dark .layui-card {
    background: var(--xdy-theme-bg-panel);
    border-color: var(--xdy-theme-border-panel);
    box-shadow: none;
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .layui-card-header {
    background: linear-gradient(180deg, var(--xdy-theme-bg-card-header) 0%, var(--xdy-theme-bg-panel) 100%);
    border-color: var(--xdy-theme-border-card-header);
}

.xdy-html-root.xdy-theme-dark .xdy-acc-edit-page .xdy-acc-edit-form {
    background: var(--xdy-theme-bg-panel);
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .layui-breadcrumb,
.xdy-html-root.xdy-theme-dark .xdy-acc-page .layui-breadcrumb a {
    color: #94a3b8 !important;
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .layui-breadcrumb a:last-child,
.xdy-html-root.xdy-theme-dark .xdy-acc-page .layui-breadcrumb a:last-child cite {
    color: #e2e8f0 !important;
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .xdy-acc-search {
    background: var(--xdy-theme-bg-search);
    border-color: var(--xdy-theme-border-table-wrap);
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .xdy-acc-search .layui-input,
.xdy-html-root.xdy-theme-dark .xdy-acc-page .xdy-acc-search .layui-select-title .layui-input,
.xdy-html-root.xdy-theme-dark .xdy-acc-page .form-control,
.xdy-html-root.xdy-theme-dark .layui-input,
.xdy-html-root.xdy-theme-dark .layui-textarea {
    background: var(--xdy-theme-bg-input);
    color: var(--xdy-theme-text-main);
    border-color: var(--xdy-theme-border-input);
}

.xdy-html-root.xdy-theme-dark .layui-input::placeholder,
.xdy-html-root.xdy-theme-dark .layui-textarea::placeholder {
    color: var(--xdy-theme-text-placeholder);
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .xdy-acc-search .layui-input:focus,
.xdy-html-root.xdy-theme-dark .xdy-acc-page .xdy-acc-search .layui-select-title .layui-input:focus,
.xdy-html-root.xdy-theme-dark .layui-input:focus,
.xdy-html-root.xdy-theme-dark .layui-textarea:focus {
    border-color: var(--xdy-theme-focus) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.18);
}

.xdy-html-root.xdy-theme-dark .layui-form-select dl {
    background: var(--xdy-theme-bg-select-panel);
    border-color: var(--xdy-theme-border-input);
}

.xdy-html-root.xdy-theme-dark .layui-form-select dl dd {
    color: var(--xdy-theme-text-nav);
}

.xdy-html-root.xdy-theme-dark .layui-form-select dl dd:hover,
.xdy-html-root.xdy-theme-dark .layui-form-select dl dd.layui-this {
    background: var(--xdy-theme-bg-select-active);
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .xdy-acc-search .layui-btn,
.xdy-html-root.xdy-theme-dark .layui-btn {
    background: var(--xdy-theme-bg-btn);
    border-color: var(--xdy-theme-bg-btn);
    color: var(--xdy-theme-text-on-active);
}

.xdy-html-root.xdy-theme-dark .xdy-acc-page .xdy-acc-search .layui-btn:hover,
.xdy-html-root.xdy-theme-dark .layui-btn:hover {
    filter: brightness(1.08);
}

.xdy-html-root.xdy-theme-dark .layui-table,
.xdy-html-root.xdy-theme-dark .layui-table th,
.xdy-html-root.xdy-theme-dark .layui-table td {
    background: var(--xdy-theme-bg-body);
    color: var(--xdy-theme-text-nav);
    border-color: var(--xdy-theme-border-table);
}

.xdy-html-root.xdy-theme-dark .layui-table th {
    background: var(--xdy-theme-bg-card-header);
    color: var(--xdy-theme-text-strong);
}

.xdy-html-root.xdy-theme-dark .layui-table-view,
.xdy-html-root.xdy-theme-dark .layui-table-box,
.xdy-html-root.xdy-theme-dark .layui-table-header {
    border-color: var(--xdy-theme-border-table-wrap);
}

.xdy-html-root.xdy-theme-dark .layui-table tbody tr:hover td {
    background: var(--xdy-theme-bg-table-row-hover);
}

.xdy-html-root.xdy-theme-dark .xdy-fin-nav-page .navk {
    background: var(--xdy-theme-bg-nav-tab);
    color: var(--xdy-theme-text-nav) !important;
}

.xdy-html-root.xdy-theme-dark .xdy-fin-nav-page .navk:hover {
    background: var(--xdy-theme-bg-nav-tab-hover);
}

.xdy-html-root.xdy-theme-dark .xdy-fin-nav-page .navOn {
    background: var(--xdy-theme-bg-nav-active);
    color: var(--xdy-theme-text-on-active) !important;
}

.xdy-html-root.xdy-theme-dark .xdy-theme-toggle-btn {
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(148, 163, 184, 0.36);
}

.xdy-html-root.xdy-theme-dark .xdy-theme-icon {
    stroke: var(--xdy-theme-text-strong);
}

.xdy-select-placeholder {
    color: #64748b;
}

.xdy-select-option {
    color: #334155;
}

.xdy-nav-current-edit {
    text-indent: 0.06rem;
}

.xdy-nav-parent-active {
    border-left: 2px solid #009688;
    padding-left: 43px;
}

.xdy-money-count-bold {
    font-weight: 700;
}

/* ===================== Responsive ===================== */
/* responsive tuning */
@media screen and (max-width: 992px) {
    .xdy-acc-page .layui-card-body {
        padding: 10px 10px 8px;
    }

    .xdy-acc-page .xdy-acc-search {
        padding: 10px;
    }

    .xdy-fin-nav-page .navk {
        margin-bottom: 6px;
    }

    .xdy-fin-nav-page .list {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .xdy-theme-toggle-item {
        height: 50px;
        line-height: 50px;
    }

    .xdy-admin-layout .layui-header {
        height: 50px;
    }

    .xdy-admin-layout .layui-logo {
        display: none !important;
    }

    .xdy-admin-layout .xdy-mobile-header-title {
        display: inline-block;
        position: absolute;
        left: 30px;
        top: 50%;
        transform: translateY(-50%);
        color: #e2e8f0;
        font-weight: 700;
        font-size: 14px;
        letter-spacing: 0.3px;
        pointer-events: none;
    }

    .xdy-admin-layout .layui-layout-left,
    .xdy-admin-layout .layui-layout-right {
        top: 0;
    }

    .xdy-admin-layout .layui-layout-left .layui-nav-item,
    .xdy-admin-layout .layui-layout-right .layui-nav-item {
        line-height: 50px;
    }

    .xdy-admin-layout .xdy-main-side {
        top: 50px;
        width: 240px;
        display: block !important;
        transform: translateX(-102%);
        -webkit-transform: translateX(-102%);
        transition: transform 0.2s ease;
        z-index: 1002;
    }

    .xdy-admin-layout .layui-body {
        top: 50px;
        left: 0;
        right: 0;
    }

    .xdy-admin-layout .xdy-main-body {
        padding: 10px;
        margin-bottom: 0.6rem;
    }

    .xdy-admin-layout.xdy-mobile-nav-open .xdy-main-side {
        transform: translateX(0);
        -webkit-transform: translateX(0);
    }

    .xdy-admin-layout .xdy-mobile-mask {
        position: fixed;
        top: 50px;
        left: 0;
        right: 0;
        bottom: 0;
        display: none;
        background: rgba(15, 23, 42, 0.36);
        z-index: 1001;
    }

    .xdy-admin-layout.xdy-mobile-nav-open .xdy-mobile-mask {
        display: block;
    }

    .xdy-acc-page .xdy-acc-search .layui-btn,
    .xdy-acc-page .btn.btn-default {
        width: 100%;
    }

    .xdy-fin-nav-page .layui-breadcrumb {
        display: block;
        white-space: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 4px;
    }

    .xdy-fin-nav-page .navk {
        font-size: 12px;
        padding: 4px 8px;
    }

    .xdy-fin-nav-page .xdy-dan-empty-tip {
        font-size: 0.8rem;
    }

    .xdy-ass-print-page .layui-table {
        font-size: 12px;
    }
}


/* ========== 从 HTML 迁出的页面样式 ========== */

/* welcome — login-style frosted dashboard */
.xdy-welcome-page {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    overflow: hidden;
    background: #000;
    font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

.xdy-welcome-wrap {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 24px 16px;
    position: fixed;
    inset: 0;
    isolation: isolate;
    overflow: auto;
    display: flex;
    background: #000;
    box-sizing: border-box;
}

.xdy-welcome-bg-image {
    position: absolute;
    inset: -20px;
    z-index: -2;
    width: calc(100% + 40px);
    height: calc(100% + 40px);
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
    filter: blur(14px) saturate(1.05);
    transform: scale(1.04);
}

.xdy-welcome-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(160deg, rgba(8, 12, 24, .42) 0%, rgba(8, 12, 24, .55) 45%, rgba(8, 12, 24, .68) 100%),
        rgba(15, 23, 42, .28);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.xdy-welcome-layout {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.xdy-welcome-card {
    position: relative;
    isolation: isolate;
    width: min(920px, 100%);
    padding: 42px 40px 28px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background-color: rgba(30, 30, 35, .78);
    backdrop-filter: blur(22px) saturate(1.15);
    -webkit-backdrop-filter: blur(22px) saturate(1.15);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
    overflow: hidden;
    box-sizing: border-box;
}

.xdy-welcome-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: min(320px, 70%);
    height: min(360px, 50%);
    pointer-events: none;
    background: url('../img/bg-pattern-left.svg') no-repeat left top;
    background-size: contain;
    opacity: .85;
}

.xdy-welcome-card > * {
    position: relative;
    z-index: 1;
}

.xdy-welcome-head {
    margin-bottom: 28px;
    text-align: center;
}

.xdy-welcome-logo {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #2563eb, #0284c7);
    box-shadow: 0 8px 20px rgba(37, 99, 235, .25);
}

.xdy-welcome-logo img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.xdy-welcome-head h1 {
    margin: 0 0 8px;
    color: #e2e8f0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.xdy-welcome-head p {
    margin: 0;
    color: #94a3b8;
    font-size: 13px;
}

.xdy-welcome-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.xdy-welcome-stat {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px 14px;
    border-radius: 14px;
    text-decoration: none;
    color: inherit;
    border: 1px solid rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .06);
    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.xdy-welcome-stat:hover {
    border-color: rgba(59, 130, 246, .45);
    background: rgba(255, 255, 255, .1);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .2);
}

.xdy-welcome-stat-label {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 600;
}

.xdy-welcome-stat-num {
    color: #f8fafc;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.xdy-welcome-stat-hint {
    color: #64748b;
    font-size: 11px;
}

.xdy-welcome-stat.is-ok .xdy-welcome-stat-num {
    color: #86efac;
}

.xdy-welcome-stat.is-warn .xdy-welcome-stat-num {
    color: #fdba74;
}

.xdy-welcome-stat.is-alert {
    border-color: rgba(248, 113, 113, .35);
    background: rgba(127, 29, 29, .22);
}

.xdy-welcome-stat.is-alert .xdy-welcome-stat-num {
    color: #fca5a5;
}

.xdy-welcome-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    justify-content: center;
}

.xdy-welcome-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    color: #e2e8f0;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .06);
    transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.xdy-welcome-action:hover {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .22);
    color: #fff;
}

.xdy-welcome-action.primary {
    color: #fff;
    border: none;
    background: linear-gradient(135deg, #2563eb, #0d73c7);
    box-shadow: 0 8px 18px rgba(37, 99, 235, .3);
}

.xdy-welcome-action.primary:hover {
    background: linear-gradient(135deg, #1d4ed8, #0369a1);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .4);
    color: #fff;
}

.xdy-welcome-action.ghost {
    color: #94a3b8;
}

.xdy-welcome-footer {
    margin: 22px 0 0;
    color: #64748b;
    font-size: 11px;
    text-align: center;
}

@media screen and (max-width: 900px) {
    .xdy-welcome-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .xdy-welcome-card {
        padding: 32px 22px 22px;
        border-radius: 20px;
    }

    .xdy-welcome-head h1 {
        font-size: 24px;
    }
}

@media screen and (max-width: 560px) {
    .xdy-welcome-wrap {
        padding: 16px 12px;
        padding-top: max(16px, env(safe-area-inset-top));
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }

    .xdy-welcome-stats {
        grid-template-columns: 1fr;
    }

    .xdy-welcome-stat-num {
        font-size: 26px;
    }

    .xdy-welcome-actions {
        flex-direction: column;
    }

    .xdy-welcome-action {
        width: 100%;
    }

    .xdy-welcome-head h1 {
        font-size: 22px;
    }
}

/* permission */
.permission-page {
        padding: 20px;
    }
    .permission-group-card {
        background: #fff;
        border-radius: 8px;
        padding: 20px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }
    .permission-group-card .layui-card-header {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: #fff;
        border-radius: 8px 8px 0 0;
        padding: 15px 20px;
    }
    .permission-item {
        display: inline-block;
        margin: 10px 15px 10px 0;
        padding: 8px 16px;
        background: #f8f9fa;
        border-radius: 4px;
    }
    .permission-item .layui-icon-ok {
        color: #009688;
    }
    .permission-item .layui-icon-close {
        color: #ff5722;
    }
    .level-badge {
        display: inline-block;
        padding: 4px 12px;
        border-radius: 12px;
        font-size: 12px;
        color: #fff;
        margin-left: 10px;
    }
    .level-0 { background: #999; }
    .level-1 { background: #1e9fff; }
    .level-2 { background: #009688; }

.permission-group-card > .layui-card-header.permission-card-head {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px 8px 0 0;
    padding: 15px 20px;
}

.permission-group-card .permission-card-title {
    color: #fff;
    margin: 0;
    font-size: 18px;
}

.permission-group-card .permission-card-desc {
    color: rgba(255,255,255,0.8);
    margin: 5px 0 0 0;
    font-size: 13px;
}

.permission-group-card .permission-card-body {
    padding: 20px;
}

.permission-group-card .permission-list-label {
    margin-bottom: 15px;
    font-weight: bold;
    color: #333;
}

.permission-group-card .permission-save-wrap {
    margin-top: 20px;
    text-align: center;
}

.permission-help {
    margin-top: 30px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
}

.permission-help h4 {
    margin-top: 0;
}

.permission-help .layui-icon-ok,
.xdy-icon-ok {
    color: #009688;
}

.permission-help .layui-icon-close,
.xdy-icon-close {
    color: #ff5722;
}

/* 列表页内联编辑容器（用户/分组） */
.xdy-inline-edit-box {
    display: none;
    margin-top: 20px;
}

/* 审批页搜索区 */
.xdy-ass-audit-page .search-box {
    margin: 15px 0;
}

/* 部门账号表 ID 列 */
.xdy-ass-dept-page .xdy-ass-col-id {
    min-width: 1rem;
}

/* ass_assign peo select */
.xdy-peo-select {
        height: 390px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .xdy-peo-search {
        padding: 12px 16px 8px;
        border-bottom: 1px solid #eee;
        flex-shrink: 0;
    }
    .xdy-peo-form {
        flex: 1;
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }
    .xdy-peo-list {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        padding: 12px 16px;
        -webkit-overflow-scrolling: touch;
    }
    .xdy-peo-empty {
        padding: 30px 16px;
        text-align: center;
        color: #999;
        font-size: 13px;
    }
    .layui-layer-page .layui-layer-content {
        overflow: hidden !important;
    }

.xdy-peo-empty.is-hidden,
.xdy-peo-empty[hidden] {
    display: none;
}

.xdy-peo-item {
    margin-bottom: 10px;
}

/* ass_record_edit（独立页，body 使用 .xdy-record-edit-page） */
.xdy-record-edit-page,
.xdy-record-edit-page * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

        .xdy-record-edit-page {
            background: #f0f2f5;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            padding: 20px 10px;
        }

        /* A4纸张样式 */
        .a4-paper {
            max-width: 800px;
            margin: 0 auto;
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
            overflow: hidden;
        }

        /* 顶部标题区域 */
        .form-header {
            background: linear-gradient(135deg, #1e9fff 0%, #0d7fd4 100%);
            color: #fff;
            padding: 30px 20px;
            text-align: center;
        }

        .form-header.return {
            background: linear-gradient(135deg, #ff7d00 0%, #d46b00 100%);
        }

        .form-header h1 {
            font-size: 24px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .form-header .subtitle {
            font-size: 13px;
            opacity: 0.9;
        }

        .form-header .flow-hint {
            display: inline-block;
            margin-top: 10px;
            padding: 4px 12px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 12px;
            font-size: 12px;
        }

        /* 表单区域 */
        .form-body {
            padding: 25px 20px;
        }

        .form-section {
            margin-bottom: 20px;
        }

        .form-section-title {
            font-size: 15px;
            font-weight: 600;
            color: #333;
            margin-bottom: 15px;
            padding-left: 10px;
            border-left: 3px solid #1e9fff;
        }

        .form-row {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
            margin-bottom: 15px;
        }

        .form-group {
            flex: 1;
            min-width: calc(50% - 8px);
        }

        .form-group.half-width {
            flex: 1;
            min-width: calc(50% - 8px);
        }

        .form-group.full-width {
            flex: 100%;
            min-width: 100%;
        }

        .form-group label {
            display: block;
            font-size: 13px;
            color: #666;
            margin-bottom: 6px;
            font-weight: 500;
        }

        .form-group label .required {
            color: #ff4d4f;
            margin-right: 3px;
        }

        .form-group .layui-input,
        .form-group .layui-select,
        .form-group .form-display {
            border: 1px solid #e8e8e8;
            border-radius: 4px;
            padding: 8px 12px;
            font-size: 14px;
            transition: border-color 0.3s;
            background: #fff;
            width: 100%;
        }

        .form-group .layui-input:focus,
        .form-group .layui-select:focus {
            border-color: #1e9fff;
            outline: none;
            box-shadow: 0 0 0 2px rgba(30, 159, 255, 0.1);
        }

        /* 固定显示字段样式（不可编辑） */
        .form-group .form-display {
            background: #f5f7fa;
            color: #333;
            font-weight: 500;
            border: 1px solid #e8e8e8;
            cursor: not-allowed;
        }

        .form-group .form-display-multiline {
            min-height: 80px;
            line-height: 1.6;
            white-space: pre-wrap;
            word-break: break-word;
        }

        .form-group .layui-input[disabled] {
            background: #f5f5f5;
            color: #999;
        }

        .form-group textarea {
            min-height: 80px;
            resize: vertical;
        }

        /* 底部操作区 */
        .form-footer {
            padding: 20px;
            background: #fafafa;
            border-top: 1px solid #e8e8e8;
            text-align: center;
        }

        .btn-submit {
            width: 100%;
            max-width: 300px;
            height: 44px;
            font-size: 16px;
            font-weight: 500;
            border-radius: 4px;
        }

        /* 打印样式 */
        @media print {
            .xdy-record-edit-page {
                background: #fff;
                padding: 0;
            }

            .a4-paper {
                box-shadow: none;
                border-radius: 0;
            }

            .form-footer {
                display: none;
            }
        }

        /* 移动端适配 */
        @media screen and (max-width: 768px) {
            .xdy-record-edit-page {
                padding: 10px 5px;
            }

            .a4-paper {
                border-radius: 0;
                box-shadow: none;
            }

            .form-header {
                padding: 20px 15px;
            }

            .form-header h1 {
                font-size: 20px;
            }

            .form-body {
                padding: 20px 15px;
            }

            .form-group {
                min-width: 100%;
            }

            .form-group.half-width {
                min-width: 100%;
            }

            .form-section-title {
                font-size: 14px;
            }
        }

        /* 小屏手机适配 */
        @media screen and (max-width: 480px) {
            .form-header h1 {
                font-size: 18px;
            }

            .form-body {
                padding: 15px 12px;
            }

            .form-row {
                gap: 12px;
            }
        }

        /* Token状态样式 */
        .token-status {
            margin-top: 12px;
            padding: 8px 16px;
            border-radius: 4px;
            font-size: 13px;
            display: inline-block;
        }
        .token-timer {
            background: rgba(255, 255, 255, 0.2);
            color: #fff;
        }
        .token-expired {
            background: rgba(255, 77, 79, 0.3);
            color: #ffccc7;
        }
        .token-success {
            background: rgba(82, 196, 26, 0.3);
            color: #b7eb8f;
        }
        .form-disabled-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 9999;
        }
        .expired-box {
            background: #fff;
            border-radius: 8px;
            padding: 40px 30px;
            text-align: center;
            max-width: 400px;
            margin: 0 20px;
        }
        .expired-box h2 {
            color: #ff4d4f;
            margin-bottom: 16px;
            font-size: 20px;
        }
        .expired-box p {
            color: #666;
            line-height: 1.8;
            margin-bottom: 24px;
        }

.xdy-record-edit-page .flow-hint.is-audit {
    margin-top: 8px;
    background: rgba(0,0,0,.25);
}
