.preview-page .v-application--wrap {
    min-height: auto!important;
    padding-bottom: 30px;
}

    /* 全局 >>>>>> */
    body {
        --cPrimaryColor: <$ ctx.app.config.primaryColor $>;
        font-size: var(--font-size-body);
        background: var(--color-bg-tertiary) !important;
        font-family: var(--font-family-base);
        color: var(--color-text-primary);
    }

    .v-application .text-h7 {
        font-size: 1.125rem;
    }

    .flex-none {
        flex: none;
    }

    .theme--light.v-application {
        background: var(--color-bg-primary) !important;
        color: var(--color-text-primary);
    }
    .theme--light.v-application .login-form-card {
        border: 1px solid var(--color-border-strong);
    }
    .v-application .align-center.text-start {
        text-align: center !important;
    }

    body .v-application .title {
        font-size: var(--font-size-body) !important;
    }
    body .v-application .v-navigation-drawer .title {
        color: var(--cPrimaryColor);
        position: relative;
    }
    body .v-application .v-navigation-drawer .title::before {
        content: '';
        height: 14px;
        width: 3px;
        background: var(--cPrimaryColor);
        position: absolute;
        top: calc(50% - 7px);
        left: 0;
    }
    

    body .d-flex .v-main__wrap {
        display: flex;
        flex-direction: column;
    }

    .mdi-close::before {
        font-size: var(--font-size-body);
    }

    /* 全局 >>>>>> */


    /* 配色 >>>>>> */
    .v-application .theme--dark.secondary {
        background-color: #22262e !important;
        border-color: #22262e !important;
    }


    /* <<<<< 配色 */


    /* list >>>>>> */
    .v-list--dense .v-list-item .v-list-item__subtitle,
    .v-list--dense .v-list-item .v-list-item__title,
    .v-list-item--dense .v-list-item__subtitle,
    .v-list-item--dense .v-list-item__title {
        font-size: .8125rem !important;
        font-weight: normal;
    }

    .v-list-item__title {
        font-size: 13px !important;
    }

    /* <<<<< list */


    /* 表单 >>>>>> */
    .v-input--is-readonly .v-input__slot {
      background: var(--color-bg-tertiary)!important;
    }
    .v-label,
    input,
    .v-input {
        font-size: var(--font-size-body) !important;
    }

    body .v-text-field .v-label {
        color: var(--color-text-tertiary);
    }

    body .theme--light.v-input,
    body .theme--light.v-input input,
    body .theme--light.v-input textarea,
    body .v-select.v-input--dense .v-select__selection--comma {
        font-size: var(--font-size-body) !important;
        font-weight: var(--font-weight-medium) !important;
        color: var(--color-text-primary);
    }

    body .v-text-field--filled {
        border-radius: var(--radius-sm) !important;
    }

    body .v-text-field>.v-input__control>.v-input__slot:before {
        border: none;
    }

    body .v-text-field>.v-input__control>.v-input__slot:after {
        border: none;
    }

    body .theme--light.v-input--is-disabled,
    .theme--light.v-input--is-disabled input,
    .theme--light.v-input--is-disabled textarea {
        color: var(--color-text-disabled) !important;
    }

    body .theme--light.v-text-field--filled:not(.v-input--is-focused):not(.v-input--has-state)>.v-input__control>.v-input__slot:hover {
        background: var(--color-bg-hover) !important;
    }

    body span.jh-input-label {
        color: var(--color-text-primary);
        line-height: 32px;
        font-weight: 500;
    }

    body .v-text-field--filled.v-input--dense>.v-input__control>.v-input__slot,
    body .v-text-field--full-width.v-input--dense>.v-input__control>.v-input__slot {
        min-height: 40px;
    }

    body .v-text-field--filled:not(.v-text-field--single-line) input {
        margin-top: 4px;
    }

    body .v-text-field--filled.v-input--dense.v-text-field--single-line .v-label,
    body .v-text-field--full-width.v-input--dense.v-text-field--single-line .v-label {
        top: 9px;
    }

    body .v-text-field--filled.v-input--dense .v-label--active,
    body .v-text-field--full-width.v-input--dense .v-label--active {
        transform: translateY(-16px) scale(.75);
        background: var(--color-bg-primary);
        padding: 1px 5px;
        border-radius: var(--radius-pill);
    }

    body .v-data-table__checkbox .v-input--selection-controls__input .v-icon.mdi-checkbox-blank-outline::before {
        content: "" !important;
        background: var(--color-gray-300);
        width: 18px;
        height: 18px;
        border-radius: var(--radius-sm);
    }

    .v-text-field.v-input--is-focused.v-input--dense:not(.v-text-field--outlined) .v-text-field__prefix {
        color: inherit;
    }

    .v-text-field.v-input--dense:not(.v-text-field--outlined) .v-text-field__prefix {
        color: var(--color-gray-400);
    }

    .v-text-field--filled.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
    .v-text-field--filled.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
    .v-text-field--filled.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,
    .v-text-field--full-width.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
    .v-text-field--full-width.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
    .v-text-field--full-width.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot,
    .v-text-field--outlined.v-input--dense.v-text-field--outlined.v-text-field--filled>.v-input__control>.v-input__slot,
    .v-text-field--outlined.v-input--dense.v-text-field--outlined>.v-input__control>.v-input__slot,
    .v-text-field--outlined.v-input--dense.v-text-field--single-line>.v-input__control>.v-input__slot {
        min-height: 32px;
    }

    .v-input .v-label {
        line-height: 14px;
        font-size: var(--font-size-small) !important;
    }

    .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-inner,
    .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-outer,
    .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-inner,
    .v-text-field--enclosed.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-outer,
    .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-inner,
    .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__append-outer,
    .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-inner,
    .v-text-field--full-width.v-input--dense:not(.v-text-field--solo).v-text-field--single-line .v-input__prepend-outer {
        margin-top: 5px;
    }

    body .theme--light.v-input,
    body .theme--light.v-input input,
    body .theme--light.v-input textarea,
    body .v-select.v-input--dense .v-select__selection--comma {
        font-size: var(--font-size-small) !important;
        font-weight: var(--font-weight-normal) !important;
        color: var(--color-text-primary);
    }

    body .theme--light.v-text-field--filled>.v-input__control>.v-input__slot {
        background: var(--color-bg-primary);
    }

    body .theme--light.v-text-field--filled.v-input--is-focused>.v-input__control>.v-input__slot {
        background: var(--color-bg-primary);
        border: 1px solid var(--cPrimaryColor) ;
    }

    body .theme--light.v-text-field--filled.v-input--is-disabled>.v-input__control>.v-input__slot {
        background: var(--color-bg-tertiary);
        border: 1px solid var(--color-bg-tertiary);
    }

    .v-select__selection--comma {
        margin: 7px var(--spacing-xs);
    }

    /* <<<<< 表单 */


    /* table >>>>>> */
    .theme--light.v-data-table.v-data-table--fixed-header thead th {
        background: var(--color-bg-secondary) !important;
    }

    .v-data-table__progress {
        height: 10px !important;
    }

    .v-data-table__empty-wrapper td {
        max-width: 80vw;
        text-align: left;
    }
    .v-data-table.v-data-table--mobile>.v-data-table__wrapper>table>tbody>tr>td:first-child,
    .v-data-table.v-data-table--mobile>.v-data-table__wrapper>table>tfoot>tr>td:first-child,
    .v-data-table.v-data-table--mobile>.v-data-table__wrapper>table>thead>tr>th:first-child {
        padding-left: 5px!important;
    }

    .theme--light.v-data-table>.v-data-table__wrapper>table>tbody>tr:hover:not(.v-data-table__expanded__content):not(.v-data-table__empty-wrapper) {
        background: var(--color-bg-hover) !important;
    }

    /* 固定表头最后一个字段 */
    table>tbody>tr>td.fixed:nth-last-child(1),
    table>thead>tr>th.fixed:nth-last-child(1) {
        position: sticky !important;
        position: -webkit-sticky !important;
        right: 0;
        z-index: 10;
        background: var(--color-white);
        border: none;
        box-shadow: none;
        box-shadow: var(--shadow-sm); /* 添加阴影以区分固定列 */
    }

    table>thead>tr>th.fixed:nth-last-child(1) {
        top: 0;
    }

    th {
        white-space: nowrap;
    }

    /* table 框线 */
    td:not(.v-picker td),
    th:not(.v-picker th) {
        border-bottom: thin solid var(--color-border-light) !important;
        border-right: thin solid var(--color-border-light) !important;
    }

    table>tbody>tr>td:nth-last-child(1),
    table>thead>tr>th:nth-last-child(1) {
        border-right: none !important;
    }

    .theme--light.v-data-table .v-data-footer {
        border-top: 0;
    }

    .theme--light.v-data-table.v-data-table--fixed-header thead th {
        border-bottom: thin solid var(--color-border-light) !important;
        box-shadow: none;
    }

    .v-data-table>.v-data-table__wrapper>table>tbody>tr>td,
    .v-data-table>.v-data-table__wrapper>table>tfoot>tr>td,
    .v-data-table>.v-data-table__wrapper>table>thead>tr>th {
        padding: 0 var(--spacing-sm) !important;
    }

    .v-data-table>.v-data-table__wrapper>table>tbody>tr>td:first-child,
    .v-data-table>.v-data-table__wrapper>table>tfoot>tr>td:first-child,
    .v-data-table>.v-data-table__wrapper>table>thead>tr>th:first-child {
        padding-left: var(--spacing-lg) !important;
    }
    .v-data-table>.v-data-table__wrapper>table>tbody>tr>td.noWarp,
    .v-data-table>.v-data-table__wrapper>table>tfoot>tr>td.noWarp {
        white-space: nowrap !important;
    }

    .v-data-table>.v-data-table__wrapper>table>tbody>tr>td .v-icon.v-icon {
        transform: translateY(-1px);
    }

    .theme--light.v-data-table>.v-data-table__wrapper>table>thead>tr>th {
        color: var(--color-text-secondary);
        font-weight: var(--font-weight-semibold);
        font-size: var(--font-size-small);
    }

    .v-data-table--fixed-header>.v-data-table__wrapper>table>thead>tr>th.fixed {
        z-index: 12 !important;
    }

    .v-data-table--fixed-header>.v-data-table__wrapper>table>thead>tr>th {
        z-index: 11 !important;
    }

    .v-data-table.show-select table>tbody>tr>td,
    .v-data-table.show-select table>thead>tr>th {
        position: sticky !important;
        position: -webkit-sticky !important;
        left: 0;
        z-index: 10;
        background: var(--color-white);
    }

    /* 固定表头部第一个字段 */
    .v-data-table.show-select table>tbody>tr>td.fixed:nth-child(2),
    .v-data-table.show-select table>thead>tr>th.fixed:nth-child(2) {
        position: sticky !important;
        position: -webkit-sticky !important;
        left: 64px;
        z-index: 10 !important;
        border-right: 1px solid var(--color-border-light);
    }

    body .theme--light.v-data-table.v-data-table--fixed-header thead th, body .theme--light.v-data-table>.v-data-table__wrapper>table>thead>tr>th {
        background-color: var(--color-bg-secondary) !important;
    }


    .v-data-table>.v-data-table__wrapper>table>tbody>tr>td,
    .v-data-table>.v-data-table__wrapper>table>tfoot>tr>td,
    .v-data-table>.v-data-table__wrapper>table>thead>tr>td {
       
        color: var(--color-text-primary);
        font-size: var(--font-size-small);
    }

    .theme--light.v-data-table>.v-data-table__wrapper>table>thead>tr>th {
        color: var(--color-text-secondary) !important;
        font-weight: var(--font-weight-normal);
    }

    /* 分组 */
    .theme--light.v-data-table .v-row-group__header,
    .theme--light.v-data-table .v-row-group__summary {
        background: var(--color-bg-tertiary);
    }

    .theme--light.v-data-table .v-data-footer {
        justify-content: end;
    }

    .v-application--is-ltr .v-data-footer__select {
        margin-left: 30px;
    }

    .v-data-table td.fixed, .v-data-table th.fixed {
      position: unset;
    }



    /* table行hover背景色 */
    .theme--light.v-data-table>.v-data-table__wrapper>table>tbody>tr:hover:not(.v-data-table__expanded__content):not(.v-data-table__empty-wrapper),
    .theme--light.v-data-table>.v-data-table__wrapper>table>tbody>tr:hover td.fixed,
    .theme--light.v-data-table.fixed-first-column>.v-data-table__wrapper>table>tbody>tr:hover td {
        background: var(--color-bg-primary) !important;
        background: var(--color-bg-secondary) !important;
    }

    /* table行选中背景色 */
    .theme--light.v-data-table tbody tr.v-data-table__selected{
        background: var(--color-bg-primary) !important;
        background: var(--color-bg-secondary) !important;
    }

    /* table 定高 */
    .jh-fixed-table-height {
        display: flex;
        flex-direction: column;
    }

    .v-data-table__wrapper,
    .fixed-table-wrapper-height .v-data-table__wrapper {
        flex: auto;
        border: 1px solid var(--color-border-strong);
        border-bottom: none;
    }

    /* table 页脚 */
    .v-data-footer {
        border-top: 1px solid var(--color-border-light) !important;
        margin-right: 0 !important;
    }

    /* table 分页紧凑 */
    .v-application--is-ltr .v-data-footer__pagination {
        margin: 0 var(--spacing-md) 0 var(--spacing-xs);
    }

    .v-application--is-ltr .v-data-footer__select .v-select {
        margin: var(--spacing-sm) 0 var(--spacing-sm) 14px;
    }

    .v-application--is-ltr .v-data-footer__select {
        margin-right: var(--spacing-sm);
        margin-left: 20px;
    }



    /* table 固定第一列 */
    .fixed-first-column table>tbody>tr>td,
    .fixed-first-column table>thead>tr>th {
        position: sticky !important;
        position: -webkit-sticky !important;
        left: 0;
        z-index: 12 !important;
        background: var(--color-white);
        border-right: none;
    }

    /* table 高度撑满*/
    .table-height-full {
        height: 100%;
    }

    /* <<<<< table */


    /* card >>>>>> */
    body .v-sheet.v-card:not(.v-sheet--outlined) {
        box-shadow: var(--shadow-md);
    }

    /* <<<<< card */



    /* 弹窗 >>>>>> */
    .v-dialog--fullscreen .v-sheet .container {
        height: 100vh;
        margin: 15vh 0 0 0;
        background: var(--color-white);
        padding: 50px 0 0 0;
        position: relative;
    }

    .v-dialog--fullscreen .v-sheet {
        height: 100vh;
        top: 0;
        position: fixed;
    }

    .v-dialog--fullscreen {
        background: rgba(0, 0, 0, 0.5);
        top: auto !important;
        bottom: 0;
    }

    .v-dialog--fullscreen .v-data-table {
        overflow-y: auto;
    }

    /* <<<<< 弹窗 */


    /* toolbar >>>>>> */
    .v-toolbar__title {
        overflow: visible;
    }

    .theme--light.v-app-bar.v-toolbar.v-sheet {
        background: var(--color-white) !important;
        box-shadow: var(--shadow-md) !important;
    }

    body .v-toolbar__content {
        padding: 0 !important;
    }

    /* <<<<< toolbar */


    /* tab >>>>>> */
    body .v-tab {
        font-size: var(--font-size-body) !important;
    }

    .theme--light.v-tabs>.v-tabs-bar .v-tab--disabled,
    .theme--light.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active),
    .theme--light.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active)>.v-btn,
    .theme--light.v-tabs>.v-tabs-bar .v-tab:not(.v-tab--active)>.v-icon {
        color: var(--color-text-primary);
    }

    /* <<<<< tab */


    /* 面包屑 >>>>>> */
    body .v-breadcrumbs li {
        font-size: var(--font-size-small) !important;
    }

    body .v-breadcrumbs li:nth-child(2n) {
        padding: 0 6px;
    }

    /* <<<<< 面包屑 */


    /* 菜单 >>>>>> */
    .v-menu__content {
        background: var(--color-white);
        box-shadow: var(--shadow-lg);
        z-index: 300 !important;
    }

    .v-menu__content .v-list-item {
        margin-bottom: 3px;
        height: 32px;
        min-height: auto;
    }

    .v-menu__content .v-list-item--link:before {
        border-radius: var(--radius-md);
    }

    .v-menu__content .v-select-list {
        padding: var(--spacing-md);
    }

    .v-menu__content .v-icon.mdi-close {
        font-size: 18px;
    }

    /* <<<<< 菜单 */


    /* 抽屉 >>>>>> */
    body .v-navigation-drawer--temporary {
        z-index: 101 !important;
    }

    .v-navigation-drawer {
        overflow: revert;
    }

    /* <<<<< 抽屉 */


    /* 树形视图 >>>>>> */
    .v-treeview--dense .v-treeview-node__root {
        min-height: 34px;
        margin-bottom: 3px;
    }

    .theme--light.v-treeview .v-treeview-node__root:before,
    .theme--light.v-treeview .v-treeview-node__root:hover:before {
        border-radius: var(--radius-md);
    }

    .v-treeview-node__label {
        overflow: inherit;
    }
   

    /* <<<<< 树形视图 */

    /* 表单内col >>>>>> */
    .v-form .col-12 {
        padding-bottom: 0;
    }
    /* 最后一个row加padding-bottom */
    .v-form>.row:last-child {
        padding-bottom: 20px;
    }
    /* <<<<< 表单内col */

    /* v-btn-toggle */
    .theme--light.v-btn--active:before, .theme--light.v-btn--active:hover:before {
        border-color: var(--cPrimaryColor);
        opacity: 0;
    }
    .theme--light.v-btn-toggle:not(.v-btn-toggle--group) .v-btn.v-btn--active {
        border-color: var(--cPrimaryColor)!important;
        color: var(--cPrimaryColor)!important;
    }
    .v-application--is-ltr .v-btn-toggle>.v-btn.v-btn:not(:first-child), .v-application--is-rtl .v-btn-toggle>.v-btn.v-btn:not(:last-child) {
        border-left-width: thin;
    }
    
 
    .v-main .v-main {
        padding: 0!important;
    }

/* src/style/design-tokens.css */

:root {
  /* ===== 语义色（业务含义色） ===== */
  
  /* 成功色 - 新增、成功、正常 */
  --color-success: #10B981;
  --color-success-light: #D1FAE5;
  --color-success-lighter: #ECFDF5;
  --color-success-darker: #059669;
  --color-success-darkest: #047857;
  
  /* 警告色 - 需要注意 */
  --color-warning: #F59E0B;
  --color-warning-light: #FEF3C7;
  --color-warning-lighter: #FFFBEB;
  --color-warning-darker: #D97706;
  --color-warning-darkest: #B45309;
  
  /* 错误色 - 删除、错误 */
  --color-error: #EF4444;
  --color-error-light: #FEE2E2;
  --color-error-lighter: #FEF2F2;
  --color-error-darker: #DC2626;
  --color-error-darkest: #991B1B;
  
  /* 信息色 - 提示、辅助 */
  --color-info: #3B82F6;
  --color-info-light: #DBEAFE;
  --color-info-lighter: #EFF6FF;
  --color-info-darker: #1D4ED8;
  --color-info-darkest: #1E40AF;
  
  /* ===== 中性色（文字、背景、边框） ===== */
  
  /* 文字色系 */
  --color-text-primary: rgba(0, 0, 0, 0.85);    /* 主要文字 */
  --color-text-secondary: rgba(0, 0, 0, 0.65);  /* 次要文字 */
  --color-text-tertiary: rgba(0, 0, 0, 0.45);   /* 辅助文字 */
  --color-text-disabled: rgba(0, 0, 0, 0.28);   /* 禁用文字 */
  --color-text-inverse: rgba(255, 255, 255, 1); /* 反色（深色背景） */
  
  /* 背景色系 */
  --color-bg-primary: #FFFFFF;        /* 主背景（白） */
  --color-bg-secondary: #F0F0F0;      /* 次级背景（浅灰） */
  --color-bg-tertiary: #F2F2F2;       /* 第三背景（中灰） */
  --color-bg-quaternary: #E8E8E8;     /* 第四背景（较深灰） */
  --color-bg-hover: #EEF7ED;          /* Hover背景（绿底） */
  --color-bg-selected: #E6F7FF;       /* 选中背景（蓝底） */
  --color-bg-selected-hover: #D1EDFF; /* 选中+Hover（深蓝） */
  --color-bg-dark: #1F2937;           /* 深色背景（预留） */
  
  /* 边框色系 */
  --color-border-light: rgba(0, 0, 0, 0.06);  /* 极淡边框 */
  --color-border-normal: rgba(0, 0, 0, 0.12); /* 标准边框 */
  --color-border-strong: #E5E7EB;             /* 强边框 */
  --color-border-focus: var(--color-success); /* 焦点边框（绿） */
  
  /* ===== 黑白纯色 ===== */
  --color-black: #000000;
  --color-white: #FFFFFF;
  
  /* ===== 灰度色系（补充） ===== */
  --color-gray-50: #F9FAFB;
  --color-gray-100: #F3F4F6;
  --color-gray-200: #E5E7EB;
  --color-gray-300: #D1D5DB;
  --color-gray-400: #9CA3AF;
  --color-gray-500: #6B7280;
  --color-gray-600: #4B5563;
  --color-gray-700: #374151;
  --color-gray-800: #1F2937;
  --color-gray-900: #111827;
  
  /* ===== 字体栈 ===== */
  --font-family-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-family-mono: 'Monaco', 'Courier New', monospace;
  
  /* ===== 字体大小 ===== */
  --font-size-h1: 20px;      /* 超大标题 */
  --font-size-h2: 18px;      /* 大标题 */
  --font-size-h3: 16px;      /* 中等标题 */
  --font-size-body: 14px;    /* 正文（默认） */
  --font-size-small: 12px;   /* 小文本 */
  --font-size-caption: 11px; /* 极小文本 */
  
  /* ===== 字重 ===== */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  
  /* ===== 行高 ===== */
  --line-height-h1: 1.4;    /* 28px（20×1.4） */
  --line-height-h2: 1.33;   /* 24px（18×1.33） */
  --line-height-h3: 1.5;    /* 24px（16×1.5） */
  --line-height-body: 1.57; /* 22px（14×1.57） */
  --line-height-small: 1.67;/* 20px（12×1.67） */
  --line-height-caption: 1.45;  /* 16px（11×1.45） */
  
  /* ===== 字间距（letter-spacing） ===== */
  --letter-spacing-h1: 0;
  --letter-spacing-h2: 0;
  --letter-spacing-h3: 0;
  --letter-spacing-body: 0.5px;
  --letter-spacing-small: 0.4px;
  --letter-spacing-caption: 0.3px;
  
  /* ===== 间距系统（基础4px） ===== */
  --spacing-xs: 4px;      /* 1单位 */
  --spacing-sm: 8px;      /* 2单位 */
  --spacing-md: 12px;     /* 3单位 */
  --spacing-lg: 16px;     /* 4单位 */
  --spacing-xl: 24px;     /* 6单位 */
  --spacing-2xl: 32px;    /* 8单位 */
  --spacing-3xl: 40px;    /* 10单位 */
  --spacing-4xl: 48px;    /* 12单位 */
  
  /* ===== 圆角系统 ===== */
  --radius-none: 0;       /* 无圆角 */
  --radius-sm: 4px;       /* 小圆角（按钮、输入框） */
  --radius-md: 6px;       /* 中圆角（菜单项） */
  --radius-lg: 8px;       /* 大圆角（卡片、模态框） */
  --radius-pill: 9999px;  /* 胶囊形（完全圆形） */
  
  /* ===== 阴影系统 ===== */
  /* 极淡阴影（Level 1） */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  /* 轻阴影（Level 2） */
  --shadow-md: 0 2px 8px rgba(0, 0, 0, 0.09);
  /* 重阴影（Level 3） */
  --shadow-lg: 0 3px 14px 2px rgba(0, 0, 0, 0.08);
  /* 极重阴影（Level 4） */
  --shadow-xl: 0 10px 30px rgba(0, 0, 0, 0.15);
  /* 无阴影 */
  --shadow-none: none;
  
  /* ===== 过渡时间 ===== */
  --transition-fast: 150ms;   /* 快速（即时反馈） */
  --transition-base: 200ms;   /* 标准（最常用） */
  --transition-slow: 300ms;   /* 缓慢（流畅感） */
  --transition-slower: 500ms; /* 极缓（特殊强调） */
  
  /* ===== 缓动曲线 ===== */
  --easing-linear: linear;
  --easing-ease: ease;
  --easing-ease-in: ease-in;
  --easing-ease-out: ease-out;
  --easing-ease-in-out: ease-in-out;
  
  /* Material Design 标准曲线 */
  --easing-standard: cubic-bezier(0.4, 0, 0.2, 1);     /* 标准 */
  --easing-decelerate: cubic-bezier(0, 0, 0.2, 1);     /* 减速进入 */
  --easing-accelerate: cubic-bezier(0.4, 0, 1, 1);     /* 加速离开 */
  --easing-sharp: cubic-bezier(0.4, 0, 0.6, 1);        /* 尖锐 */
  
  /* ===== 响应式间距（移动端调整） ===== */
  @media (max-width: 600px) {
    --spacing-xs: 4px;    /* 保持 */
    --spacing-sm: 6px;    /* 从8缩减 */
    --spacing-md: 10px;   /* 从12缩减 */
    --spacing-lg: 12px;   /* 从16缩减 */
    --spacing-xl: 16px;   /* 从24缩减 */
    --spacing-2xl: 24px;  /* 从32缩减 */
  }
}

/* 表单 >>>>>> */
.jh-input-label {
  color: var(--color-gray-800);
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-small);
  line-height: 32px;
}
.jh-input-label-group {
  color: var(--cPrimaryColor);
  padding-left: var(--spacing-md);
  font-size: var(--font-size-body) !important;
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body) !important;
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-medium) !important;
  position: relative;
  display: flex;
  align-items: center;
}
.jh-input-label-group::before {
  content: "";
  background-color: var(--cPrimaryColor);
  position: absolute;
  height: calc(100% - var(--spacing-md));
  width: 4px;
  bottom: var(--spacing-sm);
  left: 0;
}
.jh-no-data {
  text-align: center;
  max-width: calc(100vw - 64px);
}

.jh-v-input .v-input__slot {
  margin: 0 !important;
}
.jh-v-input.bg-white .v-input__slot {
  background-color: var(--color-white) !important;
}
.jh-v-input .v-messages-outer,
.jh-v-input .v-text-field__details {
  position: absolute !important;
  bottom: -23px !important;
  left: -10px !important;
}
.jh-v-input .v-input__append-outer {
  margin-top: 0 !important;
}
.jh-v-input .v-input__icon--append button {
  font-size: 18px;
}
/* <<<<< 表单 */

/* header 菜单 >>>>>> */
.jh-page-header {
  border-bottom: 1px solid var(--color-border-strong) !important;
}
.jh-header-tab {
  border-radius: var(--radius-sm);
  margin: var(--spacing-sm) 0;
  text-transform: none;
  font-weight: var(--font-weight-normal);
}
.jh-header-tab-active {
  background: var(--color-bg-tertiary);
  font-weight: var(--font-weight-medium);
}

.jh-header-tab::before {
  border-radius: var(--radius-sm) !important;
}

.jh-header-tab:hover::before {
  border-radius: var(--radius-sm) !important;
  opacity: 0.1 !important;
}
/* <<<<< header 菜单 */

/* tab >>>>>> */
.custom-tabs .v-tabs-bar {
  height: 32px;
}
.custom-tabs.v-tabs .v-tab:before,
.custom-tabs.v-tabs .v-tab--active:before {
  display: none;
}
.custom-tabs .v-tab {
  min-width: auto;
  padding: 0;
  margin-right: 30px;
  font-size: var(--font-size-small) !important;
}
/* <<<<< tab */

/* 字体 >>>>>> */
.jh-font-size-10 {
  font-size: 10px;
}
.jh-font-size-12,
.jh-font-size-2 {
  font-size: var(--font-size-small);
}
.jh-font-size-13,
.jh-font-size-3 {
  font-size: 13px;
}
/* <<<<< 字体 */

/* dialog >>>>>> */
.jh-fixed-dialog-height {
  min-height: 60%;
  max-height: 80%;
  background-color: var(--color-white);
}
/* <<<<< dialog */

/* 抽屉关闭按钮 */
.drawer-close-float-btn {
  top: 120px !important;
  left: -40px !important;
}
/* 文档 */
.jh-page-doc-container {
  height: calc(100vh - 130px);
}
/* 帮助icon */
.mdi-help-circle-outline {
  transform: translateY(-1.5px) scale(1.1);
}
/* 分割线 */
.jh-divider {
  border-color: var(--color-border-light) !important;
}
/* 抽屉 */
body .v-navigation-drawer.jh-drawer-level-2 {
  z-index: 102 !important;
}
.cursor-pointer {
  cursor: pointer;
}

.flex-1 {
  flex: 1;
}

/* 边框 */
.jh-border {
  border: 1px solid var(--color-border-strong);
}
.jh-border-b {
  border-bottom: 1px solid var(--color-border-strong);
}
.jh-border-t {
  border-top: 1px solid var(--color-border-strong);
}
.jh-border-r {
  border-right: 1px solid var(--color-border-strong);
}
.jh-border-l {
  border-left: 1px solid var(--color-border-strong);
}

.jh-page-second-bar span[role="button"] {
  min-width: 40px;
}

/* 移动端table、搜索栏 */
.v-data-table.v-data-table--mobile
  > .v-data-table__wrapper
  > table
  > tbody
  > tr
  > td:first-child,
.v-data-table.v-data-table--mobile
  > .v-data-table__wrapper
  > table
  > tfoot
  > tr
  > td:first-child,
.v-data-table.v-data-table--mobile
  > .v-data-table__wrapper
  > table
  > thead
  > tr
  > th:first-child {
  padding-left: 15px !important;
}
@media (max-width: 600px) {
  .v-data-table > .v-data-table__wrapper > table > tbody > tr > td,
  .v-data-table > .v-data-table__wrapper > table > tbody > tr > th,
  .v-data-table > .v-data-table__wrapper > table > tfoot > tr > td,
  .v-data-table > .v-data-table__wrapper > table > tfoot > tr > th,
  .v-data-table > .v-data-table__wrapper > table > thead > tr > td,
  .v-data-table > .v-data-table__wrapper > table > thead > tr > th {
    padding: 0 15px !important;
  }
}
.v-data-table .v-data-table__mobile-table-row {
  border-bottom: 5px solid var(--color-gray-100);
}
.v-data-table .v-data-table__mobile-table-row:last-child {
  border-bottom: none;
}
.v-data-table-header.v-data-table-header-mobile {
  display: none;
}

.jh-mobile-search-bar .v-menu__content {
  background-color: rgba(0, 0, 0, 0.3);
  height: calc(100vh - 88px);
  box-shadow: none;
  border-radius: var(--radius-none);
}
.jh-safe-bottom {
  padding-bottom: 0;
  padding-bottom: calc(constant(safe-area-inset-bottom) / 5 * 3);
  padding-bottom: calc(env(safe-area-inset-bottom) / 5 * 3);
}

/* 场景搜索 v-btn-toggle >>>>>> */
.jh-scene-toggle.v-btn-toggle .v-btn.v-btn {
  background-color: var(--color-white) !important;
}
.jh-scene-toggle.v-btn-toggle .v-btn.v-btn:not(:last-child) {
  border-right-color: var(--color-white) !important;
}
.jh-scene-toggle.v-btn-toggle .v-btn.v-btn.v-btn--active {
  border-color: var(--cPrimaryColor) !important;
  color: var(--cPrimaryColor) !important;
  background-color: var(--color-white) !important;
  border-right-color: var(--cPrimaryColor) !important;
}
/* <<<<< 场景搜索 v-btn-toggle */

/* 状态样式 >>>>>> */
.jh-status-tag-success,
.jh-status-tag-primary,
.jh-status-tag-green {
  background-color: var(--color-success) !important;
  border-color: var(--color-success) !important;
  color: var(--color-white) !important;
  caret-color: var(--color-white) !important;
}
.jh-status-tag-error,
.jh-status-tag-red {
  background-color: var(--color-error) !important;
  border-color: var(--color-error) !important;
  color: var(--color-white) !important;
  caret-color: var(--color-white) !important;
}
.jh-status-tag-default,
.jh-status-tag-grey {
  background-color: var(--color-gray-400) !important;
  border-color: var(--color-gray-400) !important;
  color: var(--color-white) !important;
  caret-color: var(--color-white) !important;
}
.jh-status-tag-info,
.jh-status-tag-blue {
  background-color: var(--color-info) !important;
  border-color: var(--color-info) !important;
  color: var(--color-white) !important;
  caret-color: var(--color-white) !important;
}
.jh-status-tag-warning,
.jh-status-tag-orange {
  background-color: var(--color-warning) !important;
  border-color: var(--color-warning) !important;
  color: var(--color-white) !important;
  caret-color: var(--color-white) !important;
}
.jh-status-tag-indigo {
  background-color: #c5cae9 !important;
  border-color: #c5cae9 !important;
  color: #303f9f !important;
  caret-color: #303f9f !important;
}
.jh-status-tag-teal {
  background-color: #b2dfdb !important;
  border-color: #b2dfdb !important;
  color: #00796b !important;
  caret-color: #00796b !important;
}
.jh-status-tag-brown {
  background-color: #d7ccc8 !important;
  border-color: #d7ccc8 !important;
  color: #5d4037 !important;
  caret-color: #5d4037 !important;
}
.jh-status-tag-pink {
  background-color: #f8bbd0 !important;
  border-color: #f8bbd0 !important;
  color: #c2185b !important;
  caret-color: #c2185b !important;
}
.jh-status-tag-purple {
  background-color: #e1bee7 !important;
  border-color: #e1bee7 !important;
  color: #7b1fa2 !important;
  caret-color: #7b1fa2 !important;
}

.jh-safe-bottom-1 {
  padding-bottom: max(
    var(--spacing-xs),
    env(safe-area-inset-bottom)
  ) !important; /* Tailwind pb-1 */
}
.jh-safe-bottom-2 {
  padding-bottom: max(
    var(--spacing-sm),
    env(safe-area-inset-bottom)
  ) !important; /* Tailwind pb-2 */
}
.jh-safe-bottom-3 {
  padding-bottom: max(
    var(--spacing-md),
    env(safe-area-inset-bottom)
  ) !important; /* Tailwind pb-3 */
}
.jh-safe-bottom-4 {
  padding-bottom: max(
    var(--spacing-lg),
    env(safe-area-inset-bottom)
  ) !important; /* Tailwind pb-4 */
}
.jh-safe-bottom-5 {
  padding-bottom: max(
    1.25rem,
    env(safe-area-inset-bottom)
  ) !important; /* Tailwind pb-5 */
}
.jh-safe-bottom-6 {
  padding-bottom: max(
    var(--spacing-xl),
    env(safe-area-inset-bottom)
  ) !important; /* Tailwind pb-6 */
}
/* <<<<< 状态样式 */

.jh-form .v-input--selection-controls {
  margin-top: 0;
}

.jh-field-input>.jh-v-input .v-input__slot {
  border: 1px solid var(--color-border-normal) !important;
}


.jh-icon[data-v-3fd23e66] {
  line-height: 1;
}


/* 侧边栏菜单 */
.jh-page-nav-bar[data-v-01fcc512] .v-list-item,
.jh-page-nav-bar[data-v-01fcc512] .v-list-group__header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}
.jh-page-nav-bar[data-v-01fcc512] .v-list-group__header .v-list-item {
  border-bottom: none;
}
@media (max-width: 600px) {
.jh-page-nav-bar[data-v-01fcc512] .v-list-group .v-list-group__header {
    padding: 0 !important;
}
.jh-page-nav-bar[data-v-01fcc512] .v-list-item {
    border-top: none;
}
}
.second-active[data-v-01fcc512] .v-list-item__title {
  color: #4caf50 !important;
}
.second-active[data-v-01fcc512] {
  background-color: rgba(76, 175, 80, 0.1) !important;
}
.jh-toolbar-title[data-v-01fcc512] {
  height: 51px;
  line-height: 51px;
}
.v-toolbar__title[data-v-01fcc512] {
  min-width: 200px;
}
.jh-menu-drawer-close-float-btn[data-v-01fcc512] {
  top: 120px !important;
  right: -40px;
  position: fixed;
  left: auto !important;
}
.jh-header-tab.v-tab--active[data-v-01fcc512] {
  color: var(--v-grey-darken4) !important;
}
.jh-header-tab.jh-header-tab-active[data-v-01fcc512] {
  color: #4caf50 !important;
}
.jh-avatar-menu-btn[data-v-01fcc512] {
  cursor: pointer;
  transition: all 0.3s;
  border-radius: 5px;
}
.jh-avatar-menu-btn[data-v-01fcc512]:hover {
  opacity: 0.8;
}
.jh-right-menu[data-v-01fcc512] svg {
  width: 28px;
  height: 28px;
  vertical-align: middle;
}
.jh-divider[data-v-01fcc512] {
  border-color: rgba(0, 0, 0, 0.08);
}


.jh-scene[data-v-11daebaa] {
  display: inline-block;
}
.scene-manage[data-v-11daebaa] .scene-item:not(:last-child) {
  border-bottom: 1px solid #eeeeee;
}
.jh-input-label[data-v-11daebaa] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
  display: block;
  margin-bottom: 8px;
}


.date-range-picker-container[data-v-f2799a5a] {
  position: relative;
}
.quick-select-list[data-v-f2799a5a] {
  min-width: 100px;
  border-right: 1px solid #e0e0e0;
}
.quick-select-list[data-v-f2799a5a] .v-item--active {
  background-color: rgba(25, 118, 210, 0.12);
}


.jh-form-fields[data-v-2aa2bc31] {
  width: 100%;
}
.jh-form-fields--bordered[data-v-2aa2bc31] {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 4px;
  padding: 15px 16px 30px;
}
.jh-form-fields-header[data-v-2aa2bc31] {
  margin-bottom: 16px;
}
.jh-form-fields-title[data-v-2aa2bc31] {
  font-size: 16px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
}
.jh-form-fields-description[data-v-2aa2bc31] {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.45);
  margin-top: 4px;
  line-height: 1.5;
}
.jh-form-fields--horizontal .jh-field-label--horizontal[data-v-2aa2bc31] {
  padding-top: 0;
  line-height: 1.5;
}
.jh-form-fields--inline .v-input[data-v-2aa2bc31] {
  margin-bottom: 0 !important;
}
.jh-form-fields--readonly[data-v-2aa2bc31] {
  /* 只读模式整体样式 */
.jh-field-label[data-v-2aa2bc31] {
    /* 只读模式下的标签样式 */
    color: rgba(0, 0, 0, 0.65);
    font-weight: 500;
}
.jh-form-readonly-text[data-v-2aa2bc31] {
    /* 只读模式下的文本样式 */
    padding: 6px 12px;
    color: rgba(0, 0, 0, 0.87);
    background-color: rgba(0, 0, 0, 0.04);
    border-radius: 4px;
    line-height: 1.5;
    transition: all 0.2s ease;
}
  
  /* 水平布局下的调整 */
&.jh-form-fields--horizontal[data-v-2aa2bc31] {
.jh-field-wrapper[data-v-2aa2bc31] {
      margin-bottom: 16px;
}
}
  
  /* 垂直布局下的调整 */
&.jh-form-fields--vertical[data-v-2aa2bc31] {
.jh-field-wrapper[data-v-2aa2bc31] {
      margin-bottom: 16px;
}
}
}
.jh-field-label[data-v-2aa2bc31] {
}
.jh-field-label--horizontal[data-v-2aa2bc31] {
  padding-right: 12px;
}
.jh-field-label--vertical[data-v-2aa2bc31] {
  display: block;
}
.jh-form-group-title[data-v-2aa2bc31] {
  margin-top: 8px;
  margin-bottom: 16px;
}
.jh-form-group-title h3[data-v-2aa2bc31] {
  color: rgba(0, 0, 0, 0.85);
  font-weight: 500;
}
.jh-field-wrapper[data-v-2aa2bc31] {
  width: 100%;
}
.jh-field-input[data-v-2aa2bc31] {
  width: 100%;
}
.jh-form-readonly-text[data-v-2aa2bc31] {
  word-break: break-word;
}
.jh-color-preview[data-v-2aa2bc31] {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
}


.jh-query-filter[data-v-4a573ac1] {
  padding: 16px;
  background: #fff;
  border-radius: 4px;
}

/* 按钮容器样式 */
.jh-query-filter-buttons[data-v-4a573ac1] {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 查询按钮样式 */
.jh-query-filter-search-btn[data-v-4a573ac1] {
  min-width: 80px;
}

/* 重置按钮样式 */
.jh-query-filter-reset-btn[data-v-4a573ac1] {
  min-width: 80px;
}

/* 展开/收起按钮样式 */
.jh-query-filter-collapse-btn[data-v-4a573ac1] {
  margin-left: 8px;
}

/* Flex 工具类 */
.d-flex[data-v-4a573ac1] {
  display: flex;
}
.align-center[data-v-4a573ac1] {
  align-items: center;
}
.align-end[data-v-4a573ac1] {
  align-items: flex-end;
}
.gap-2[data-v-4a573ac1] {
  gap: 8px;
}


/* 表格容器 */
.jh-pro-table[data-v-7c1d39d1] {
  border-radius: var(--radius-lg);
  position: relative;
  background: var(--color-bg-primary);
}


/* 幽灵模式 */
.jh-pro-table-ghost[data-v-7c1d39d1] {
  background: transparent;
  border: none;
  box-shadow: none;
}

/* 表格标题区 */
.jh-pro-table-header[data-v-7c1d39d1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-lg) 0;
  border-bottom: 1px solid var(--color-border-light);
  min-height: 64px;
}
.jh-pro-table-header-left[data-v-7c1d39d1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
  flex: 1;
}

/* --- 密度调整 --- */
/* 默认密度 */
.jh-pro-table[data-v-7c1d39d1] .jh-table-default.v-data-table > .v-data-table__wrapper > table > thead > tr > th {
  height: 54px !important;
  padding: 0 var(--spacing-lg) !important;
}
.jh-pro-table[data-v-7c1d39d1] .jh-table-default.v-data-table > .v-data-table__wrapper > table > tbody > tr > td {
  height: 54px !important;
  padding: 0 var(--spacing-lg) !important;
}

/* 中等密度 */
.jh-pro-table[data-v-7c1d39d1] .jh-table-medium.v-data-table > .v-data-table__wrapper > table > thead > tr > th {
  height: 48px !important;
  padding: 0 var(--spacing-md) !important;
}
.jh-pro-table[data-v-7c1d39d1] .jh-table-medium.v-data-table > .v-data-table__wrapper > table > tbody > tr > td {
  height: 48px !important;
  padding: 0 var(--spacing-md) !important;
}

/* 紧凑密度 */
.jh-pro-table[data-v-7c1d39d1] .jh-table-compact.v-data-table > .v-data-table__wrapper > table > thead > tr > th {
  height: 40px !important;
  padding: 0 var(--spacing-sm) !important;
}
.jh-pro-table[data-v-7c1d39d1] .jh-table-compact.v-data-table > .v-data-table__wrapper > table > tbody > tr > td {
  height: 40px !important;
  padding: 0 var(--spacing-sm) !important;
}
.jh-pro-table-header-right[data-v-7c1d39d1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}
.jh-pro-table-title[data-v-7c1d39d1] {
  display: flex;
  align-items: center;
  font-size: var(--font-size-h3);
  font-weight: 500;
  color: var(--color-text-primary);
}
.jh-pro-table-title-text[data-v-7c1d39d1] {
  line-height: 24px;
}
.jh-pro-table-header-actions[data-v-7c1d39d1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

/* 批量操作提示栏 */
.jh-pro-table-alert[data-v-7c1d39d1] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-md) var(--spacing-xl);
  background: var(--color-bg-secondary);
  border-radius: var(--radius-sm);
  margin: var(--spacing-lg) 0 0;
  border: 1px solid var(--color-border-light);
}
.jh-pro-table-alert-info[data-v-7c1d39d1] {
  display: flex;
  flex: 1;
  align-items: center;
  font-size: var(--font-size-body);
  color: var(--color-text-secondary);
}
.jh-pro-table-alert-actions[data-v-7c1d39d1] {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

/* 工具栏 */
.jh-pro-table-toolbar[data-v-7c1d39d1] {
  padding: var(--spacing-lg) 0 !important;
  flex: inherit;
}

/* 表格额外内容区 */
.jh-pro-table-extra[data-v-7c1d39d1] {
  padding: var(--spacing-lg) var(--spacing-xl);
  border-top: 1px solid var(--color-border-light);
}

/* 移动端适配 */
@media (max-width: 600px) {
.jh-pro-table-header[data-v-7c1d39d1] {
    flex-direction: column;
    align-items: flex-start;
    padding: var(--spacing-md) var(--spacing-lg);
    min-height: auto;
}
.jh-pro-table-header-left[data-v-7c1d39d1] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-sm);
    width: 100%;
}
.jh-pro-table-header-right[data-v-7c1d39d1] {
    width: 100%;
    justify-content: flex-end;
    margin-top: var(--spacing-sm);
}
.jh-pro-table-alert[data-v-7c1d39d1] {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-sm);
    margin: var(--spacing-md) var(--spacing-lg) 0;
    padding: var(--spacing-sm) var(--spacing-md);
}
.jh-pro-table-alert-actions[data-v-7c1d39d1] {
    width: 100%;
    justify-content: flex-start;
}
.jh-pro-table-toolbar[data-v-7c1d39d1] {
    padding: var(--spacing-md) var(--spacing-lg) !important;
}
.jh-pro-table-extra[data-v-7c1d39d1] {
    padding: var(--spacing-md) var(--spacing-lg);
}
}

/* 工具栏搜索框响应式 */
.jh-toolbar-search[data-v-7c1d39d1] {
  max-width: 200px;
  min-width: 120px;
}
@media (max-width: 600px) {
.jh-toolbar-search[data-v-7c1d39d1] {
    max-width: 150px;
    min-width: 100px;
}
}

/* 移动端操作列样式优化 */
@media (max-width: 600px) {
  /* 操作列下拉菜单触发器 */
.jh-pro-table[data-v-7c1d39d1] .v-data-table td[data-action-column] {
    padding: 0 var(--spacing-sm) !important;
}

  /* 操作按钮文字在小屏幕隐藏 */
.jh-pro-table[data-v-7c1d39d1] .v-btn--small .v-btn__content > span:not(.v-icon) {
    font-size: 13px;
}
}

/* 全屏样式 */
.jh-table-fullscreen[data-v-7c1d39d1] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  background: var(--color-bg-primary);
  padding: var(--spacing-lg);
  overflow: auto;
}
@media (max-width: 600px) {
.jh-table-fullscreen[data-v-7c1d39d1] {
    padding: var(--spacing-sm);
}
}

/* 无数据样式 */
.jh-no-data[data-v-7c1d39d1] {
  text-align: center;
  padding: 40px 0;
  color: var(--color-text-tertiary);
}
.jh-table-schema-cell[data-v-7c1d39d1] {
  min-width: 0;
}
.jh-table-json[data-v-7c1d39d1] {
  margin: 0;
  font-family: var(--font-family-mono);
  font-size: var(--font-size-small);
  white-space: pre-wrap;
  word-break: break-word;
}
.jh-table-code[data-v-7c1d39d1] {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-small);
  background: var(--color-bg-tertiary);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
}
@media (max-width: 600px) {
.jh-no-data[data-v-7c1d39d1] {
    padding: 24px 0;
}
.jh-no-data .v-icon[data-v-7c1d39d1] {
    font-size: 48px !important;
}
}

/* 游标指针 */
.cursor-pointer[data-v-7c1d39d1] {
  cursor: pointer;
}

/* 表格行选中样式 */
.jh-pro-table[data-v-7c1d39d1] .v-data-table > .v-data-table__wrapper > table > tbody > tr.v-data-table__selected {
  background-color: var(--color-bg-selected) !important;
}
.jh-pro-table[data-v-7c1d39d1] .v-data-table > .v-data-table__wrapper > table > tbody > tr.v-data-table__selected:hover {
  background-color: var(--color-bg-selected-hover) !important;
}

/* 优化选中行的过渡效果 */
.jh-pro-table[data-v-7c1d39d1] .v-data-table > .v-data-table__wrapper > table > tbody > tr {
  transition: background-color var(--transition-base) var(--easing-ease);
}

/* Flex 工具类（如果没有 Tailwind） */
.flex[data-v-7c1d39d1] {
  display: flex;
}
.items-center[data-v-7c1d39d1] {
  align-items: center;
}
.justify-end[data-v-7c1d39d1] {
  justify-content: flex-end;
}
.flex-wrap[data-v-7c1d39d1] {
  flex-wrap: wrap;
}
.gap-1[data-v-7c1d39d1] {
  gap: 4px;
}
.gap-2[data-v-7c1d39d1] {
  gap: 8px;
}

/* 移动端工具栏响应式 */
@media (max-width: 600px) {
.jh-pro-table[data-v-7c1d39d1] .v-row {
    margin: 0 !important;
}

  /* 工具栏按钮间距调整 */
.flex.gap-2[data-v-7c1d39d1] {
    gap: 4px;
}

  /* 密度和列设置菜单按钮在移动端可选择隐藏 */
.jh-pro-table[data-v-7c1d39d1] .v-btn--icon.v-size--small {
    width: 32px;
    height: 32px;
}
}

/* 分页器移动端优化 */
@media (max-width: 600px) {
.jh-pro-table[data-v-7c1d39d1] .v-data-footer {
    flex-wrap: wrap;
    justify-content: center;
    padding: 8px 4px !important;
}
.jh-pro-table[data-v-7c1d39d1] .v-data-footer__select {
    margin-left: 8px !important;
    margin-right: 8px !important;
}
.jh-pro-table[data-v-7c1d39d1] .v-data-footer__pagination {
    margin: 4px 8px !important;
}
}


.border-right[data-v-5528452f] {
  border-right: 1px solid #e0e0e0;
}
.tree-item[data-v-5528452f] {
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.tree-item[data-v-5528452f]:hover {
  background-color: #f5f5f5;
}

/* 滚动条样式 */
[data-v-5528452f]::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
[data-v-5528452f]::-webkit-scrollbar-track {
  background: #f1f1f1;
}
[data-v-5528452f]::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}
[data-v-5528452f]::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}


.jh-cascader-container[data-v-7ef612c0] {
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
}
.jh-cascader-column[data-v-7ef612c0] {
  min-width: 180px;
  max-width: 250px;
  max-height: 400px;
  overflow-y: auto;
  border-right: 1px solid #eee;
}
.jh-cascader-column[data-v-7ef612c0]:last-child {
  border-right: none;
}
/* 优化列表项内容防止过早截断 */
.jh-cascader-column .v-list-item__content[data-v-7ef612c0] {
  overflow: visible;
}
.jh-cascader-column .v-list-item__title[data-v-7ef612c0] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


.jh-layout-main[data-v-a63abe02] {
  min-height: 100vh;
}
.jh-layout-content[data-v-a63abe02] {
  min-height: calc(100vh - 52px);
  transition: background-color 0.3s;
}
.jh-layout-settings-btn[data-v-a63abe02] {
  bottom: 24px !important;
  z-index: 999;
}
.jh-layout-settings-btn[data-v-a63abe02]:hover {
  transform: rotate(90deg);
  transition: transform 0.3s;
}

/* 设置抽屉样式优化 */
.jh-layout-settings[data-v-a63abe02] .v-list-item {
  padding: 12px 16px;
}
.jh-layout-settings[data-v-a63abe02] .v-list-item__content {
  padding: 0;
}

/* 响应式调整 */
@media (max-width: 600px) {
.jh-layout-content[data-v-a63abe02] {
    min-height: calc(100vh - 52px);
}
.jh-layout-settings-btn[data-v-a63abe02] {
    bottom: 16px !important;
    right: 16px !important;
}
}


/* 卡片容器 */
.jh-card[data-v-626fc3f2] {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 4px;
  transition: box-shadow 0.3s;
  position: relative;
  width: 100%;
}

/* 边框 */
.jh-card--bordered[data-v-626fc3f2] {
  border: 1px solid #e8e8e8;
}

/* 幽灵模式 */
.jh-card--ghost[data-v-626fc3f2] {
  background: transparent;
  border: none;
}

/* 悬浮效果 */
.jh-card--hoverable[data-v-626fc3f2]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
  cursor: pointer;
}

/* 分栏模式 */
.jh-card--split-vertical[data-v-626fc3f2],
.jh-card--split-horizontal[data-v-626fc3f2] {
  display: flex;
}
.jh-card--split-vertical[data-v-626fc3f2] {
  flex-direction: row;
}
.jh-card--split-horizontal[data-v-626fc3f2] {
  flex-direction: column;
}
.jh-card--split-vertical > .jh-card[data-v-626fc3f2],
.jh-card--split-horizontal > .jh-card[data-v-626fc3f2] {
  border-radius: 0;
}
.jh-card--split-vertical > .jh-card[data-v-626fc3f2]:not(:last-child) {
  border-right: 1px solid #e8e8e8;
}
.jh-card--split-horizontal > .jh-card[data-v-626fc3f2]:not(:last-child) {
  border-bottom: 1px solid #e8e8e8;
}

/* 居中布局 */
.jh-card--layout-center[data-v-626fc3f2] {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 标题栏 */
.jh-card-header[data-v-626fc3f2] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  min-height: 56px;
}
.jh-card-header--small[data-v-626fc3f2] {
  padding: 12px 16px;
  min-height: 48px;
}
.jh-card-header-left[data-v-626fc3f2] {
  display: flex;
  align-items: center;
  flex: 1;
}
.jh-card-title[data-v-626fc3f2] {
  font-size: 16px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  line-height: 1.5;
}
.jh-card-extra[data-v-626fc3f2] {
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
}

/* 内容区 */
.jh-card-body[data-v-626fc3f2] {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.jh-card-body--small[data-v-626fc3f2] {
  padding: 16px;
}
.jh-card-body--ghost[data-v-626fc3f2] {
  padding: 0;
}
.jh-card-body--center[data-v-626fc3f2] {
  justify-content: center;
  align-items: center;
}

/* 加载状态 */
.jh-card-loading[data-v-626fc3f2] {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100px;
}

/* 操作区 */
.jh-card-actions[data-v-626fc3f2] {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 12px 0;
  background: #fafafa;
  border-top: 1px solid #e8e8e8;
}
.jh-card-action-item[data-v-626fc3f2] {
  display: flex;
  align-items: center;
  color: rgba(0, 0, 0, 0.65);
  cursor: pointer;
  transition: color 0.3s;
}
.jh-card-action-item[data-v-626fc3f2]:hover {
  color: #1890ff;
}

/* Tabs */
.jh-card-tabs[data-v-626fc3f2] {
  border-bottom: 1px solid #e8e8e8;
}
.jh-card-tabs--card .v-tab[data-v-626fc3f2] {
  border: 1px solid #e8e8e8;
  border-bottom: none;
  background: #fafafa;
  margin-right: 2px;
}
.jh-card-tabs--card .v-tab--active[data-v-626fc3f2] {
  background: #ffffff;
}

/* 小尺寸 */
.jh-card--small .jh-card-title[data-v-626fc3f2] {
  font-size: 14px;
}

/* Divider */
.jh-card-divider[data-v-626fc3f2] {
  margin: 0;
}


/* 卡片容器 */
.jh-statistic-card[data-v-a6de152c] {
  background: #ffffff;
  border-radius: 4px;
  padding: 24px;
  position: relative;
  transition: box-shadow 0.3s;
}
.jh-statistic-card--bordered[data-v-a6de152c] {
  border: 1px solid #e8e8e8;
}
.jh-statistic-card[data-v-a6de152c]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09);
}

/* 标题区域 */
.jh-statistic-card-header[data-v-a6de152c] {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.jh-statistic-card-title[data-v-a6de152c] {
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
  line-height: 22px;
}
.jh-statistic-card-tooltip[data-v-a6de152c] {
  margin-left: 4px;
  color: rgba(0, 0, 0, 0.45);
}

/* 内容区域 */
.jh-statistic-card-content[data-v-a6de152c] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.jh-statistic-card--vertical .jh-statistic-card-content[data-v-a6de152c] {
  flex-direction: column;
}

/* 统计数据区域 */
.jh-statistic-card-statistic[data-v-a6de152c] {
  flex: 1;
}

/* 数值区域 */
.jh-statistic-card-value-wrapper[data-v-a6de152c] {
  display: flex;
  align-items: baseline;
  margin-bottom: 8px;
}
.jh-statistic-card-value[data-v-a6de152c] {
  font-size: 30px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  line-height: 38px;
}
.jh-statistic-card-prefix[data-v-a6de152c],
.jh-statistic-card-suffix[data-v-a6de152c] {
  font-size: 16px;
  color: rgba(0, 0, 0, 0.65);
  margin: 0 4px;
}

/* 趋势指标 */
.jh-statistic-card-trend[data-v-a6de152c] {
  display: flex;
  align-items: center;
  font-size: 14px;
  margin-bottom: 4px;
}
.jh-statistic-card-trend-icon[data-v-a6de152c] {
  margin-right: 4px;
}

/* 描述信息 */
.jh-statistic-card-description[data-v-a6de152c] {
  color: rgba(0, 0, 0, 0.45);
  font-size: 14px;
  line-height: 22px;
}

/* 图表区域 */
.jh-statistic-card-chart[data-v-a6de152c] {
  margin-left: 16px;
  display: flex;
  align-items: center;
}
.jh-statistic-card--vertical .jh-statistic-card-chart[data-v-a6de152c] {
  margin-left: 0;
  margin-top: 16px;
  width: 100%;
}

/* 底部区域 */
.jh-statistic-card-footer[data-v-a6de152c] {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #e8e8e8;
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
}

/* 加载状态 */
.jh-statistic-card--loading[data-v-a6de152c] {
  opacity: 0.6;
  pointer-events: none;
}


.jh-watermark[data-v-44935ffe] {
  position: relative;
  min-height: 100%;
}
.jh-watermark-layer[data-v-44935ffe] {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: repeat;
}


/* 自定义样式可以在这里添加 */


.jh-toast__content[data-v-b0ce09b8] {
  display: flex;
  align-items: center;
  flex: 1;
}
.jh-toast__icon[data-v-b0ce09b8] {
  margin-right: 12px;
}
.jh-toast__message[data-v-b0ce09b8] {
  flex: 1;
  word-break: break-word;
}

/* 响应式样式 */
@media screen and (max-width: 600px) {
.jh-toast__message[data-v-b0ce09b8] {
    max-width: calc(100vw - 200px);
}
}


.text-pre-line[data-v-4d697b30] {
  white-space: pre-line;
}


.jh-form[data-v-3b08e31e] {
  width: 100%;
}
.jh-form--bordered[data-v-3b08e31e] {
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-2xl);
}
.jh-form-header[data-v-3b08e31e] {
  margin-bottom: var(--spacing-lg);
}
.jh-form-title[data-v-3b08e31e] {
  font-size: var(--font-size-h3);
  font-weight: 500;
  color: var(--color-text-primary);
  display: flex;
  align-items: center;
}
.jh-form-description[data-v-3b08e31e] {
  font-size: var(--font-size-body);
  color: var(--color-text-tertiary);
  margin-top: var(--spacing-xs);
  line-height: 1.5;
}

/* Horizontal Layout */
.jh-form--horizontal .jh-field-label--horizontal[data-v-3b08e31e] {
  padding-top: 0;
  line-height: 1.5;
}

/* Inline Layout */
.jh-form--inline .v-input[data-v-3b08e31e] {
  margin-bottom: 0 !important;
}

/* Readonly Mode */
.jh-form--readonly[data-v-3b08e31e] {
.jh-field-label[data-v-3b08e31e] {
    color: var(--color-text-secondary);
    font-weight: 500;
}
.jh-form-readonly-text[data-v-3b08e31e] {
    padding: 6px 12px;
    color: var(--color-text-primary);
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-sm);
    line-height: 1.5;
    transition: all var(--transition-base) var(--easing-ease);
}
&.jh-form--horizontal .jh-field-wrapper[data-v-3b08e31e],
  &.jh-form--vertical .jh-field-wrapper[data-v-3b08e31e] {
    margin-bottom: var(--spacing-lg);
}
}
.jh-field-label--horizontal[data-v-3b08e31e] {
  padding-right: var(--spacing-md);
}
.jh-field-label--vertical[data-v-3b08e31e] {
  display: block;
}
.jh-form-group-title[data-v-3b08e31e] {
  margin-top: var(--spacing-sm);
  margin-bottom: var(--spacing-lg);
}
.jh-form-group-title h3[data-v-3b08e31e] {
  color: var(--color-text-primary);
  font-weight: 500;
}
.jh-field-wrapper[data-v-3b08e31e] {
  width: 100%;
}
.jh-field-input[data-v-3b08e31e] {
  width: 100%;
}
.jh-form-readonly-text[data-v-3b08e31e] {
  word-break: break-word;
}
.jh-color-preview[data-v-3b08e31e] {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-normal);
}
.jh-form-actions-wrapper[data-v-3b08e31e] {
  margin-top: var(--spacing-lg);
}


/* 输入标签 */
.jh-input-label[data-v-dc5b749c] {
  display: block;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
  margin-bottom: 4px;
}

/* 输入框样式 */
.jh-v-input[data-v-dc5b749c] {
  margin-top: 0;
}


/* 输入标签 */
.jh-input-label[data-v-4cd13936] {
  display: block;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
  margin-bottom: 4px;
}

/* 输入框样式 */
.jh-v-input[data-v-4cd13936] {
  margin-top: 0;
}


.jh-drawer-header[data-v-4cf51870] {
  border-bottom: 1px solid var(--color-border-light);
}
.jh-drawer-action-btn-group[data-v-4cf51870] {
  display: flex;
  align-items: center;
}
.jh-drawer-bottom[data-v-4cf51870] {
  border-top-left-radius: var(--radius-lg);
  border-top-right-radius: var(--radius-lg);
}
.drawer-close-float-btn[data-v-4cf51870] {
  z-index: 1000;
}


.jh-steps-form-container[data-v-cd20c9c0] {
  display: flex;
  width: 100%;
}

/* 垂直布局样式 */
.jh-steps-form-stepper[data-v-cd20c9c0] {
  width: 250px;
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  padding: 16px;
}
.jh-steps-form-content[data-v-cd20c9c0] {
  flex: 1;
  padding: 16px 24px;
}
.vertical-steps[data-v-cd20c9c0] {
  display: flex;
  flex-direction: column;
}
.vertical-step-item[data-v-cd20c9c0] {
  display: flex;
  align-items: flex-start;
  padding: 12px 0;
  position: relative;
  cursor: default;
}
.vertical-step-item.editable[data-v-cd20c9c0] {
  cursor: pointer;
}
.vertical-step-item[data-v-cd20c9c0]:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 15px;
  top: 40px;
  width: 1px;
  height: calc(100% - 16px);
  background-color: rgba(0, 0, 0, 0.12);
}
.vertical-step-item.completed[data-v-cd20c9c0]:not(:last-child)::after {
  background-color: #4caf50;
}
.step-number[data-v-cd20c9c0] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.12);
  color: rgba(0, 0, 0, 0.6);
  font-size: 14px;
  font-weight: 500;
  margin-right: 12px;
  flex-shrink: 0;
}
.vertical-step-item.active .step-number[data-v-cd20c9c0] {
  background-color: #1976d2;
  color: white;
}
.vertical-step-item.completed .step-number[data-v-cd20c9c0] {
  background-color: #4caf50;
  color: white;
}
.step-info[data-v-cd20c9c0] {
  flex: 1;
}
.step-title[data-v-cd20c9c0] {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 4px;
}
.vertical-step-item.active .step-title[data-v-cd20c9c0] {
  color: #1976d2;
}
.step-subtitle[data-v-cd20c9c0] {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.6);
  line-height: 1.2;
}
.jh-steps-form[data-v-cd20c9c0] {
  width: 100%;
}

/* 水平布局时隐藏垂直步骤指示器 */
.jh-steps-form-container:not(.is-vertical) .jh-steps-form-stepper[data-v-cd20c9c0] {
  display: none;
}
.jh-steps-form-container:not(.is-vertical) .jh-steps-form-content[data-v-cd20c9c0] {
  width: 100%;
  padding: 0;
}
.step-content[data-v-cd20c9c0] {
  min-height: 200px;
}
.step-actions[data-v-cd20c9c0] {
  padding-top: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

/* 响应式调整 */
@media (max-width: 600px) {
.step-content[data-v-cd20c9c0] {
    min-height: 150px;
}
}


/* 表单列表容器 */
.jh-form-list[data-v-f37e976c] {
  width: 100%;
}

/* 列表头部 */
.jh-form-list-header[data-v-f37e976c] {
  margin-bottom: 16px;
}

/* 列表主体 */
.jh-form-list-body[data-v-f37e976c] {
  position: relative;
}
.jh-form-list-body--inline[data-v-f37e976c] {
  gap: 8px;
}

/* 列表项 */
.jh-form-list-item[data-v-f37e976c] {
  position: relative;
}
.jh-form-list-item--card[data-v-f37e976c] {
  transition: box-shadow 0.2s ease;
}
.jh-form-list-item--card[data-v-f37e976c]:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.jh-form-list-item--error[data-v-f37e976c] {
  border-color: #f44336 !important;
}

/* 列表项头部 */
.jh-form-list-item-header[data-v-f37e976c] {
  min-height: 48px;
}
.jh-form-list-item-index[data-v-f37e976c] {
  font-weight: 500;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
}

/* 列表项操作 */
.jh-form-list-item-actions[data-v-f37e976c] {
  display: flex;
  gap: 4px;
}

/* 拖拽把手 */
.jh-form-list-drag-handle[data-v-f37e976c] {
  cursor: move;
  color: rgba(0, 0, 0, 0.4);
}
.jh-form-list-drag-handle[data-v-f37e976c]:hover {
  color: rgba(0, 0, 0, 0.6);
}

/* 拖拽状态 */
.jh-form-list-ghost[data-v-f37e976c] {
  opacity: 0.5;
  background: rgba(0, 0, 0, 0.05);
}
.jh-form-list-dragging[data-v-f37e976c] {
  cursor: move;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* 列表底部 */
.jh-form-list-footer[data-v-f37e976c] {
  display: flex;
  justify-content: center;
}

/* 空列表占位 */
.jh-form-list-empty[data-v-f37e976c] {
  padding: 60px 20px;
  text-align: center;
  color: rgba(0, 0, 0, 0.4);
}
.jh-form-list-empty p[data-v-f37e976c] {
  margin: 0;
  font-size: 14px;
}

/* 禁用状态 */
.jh-form-list--disabled[data-v-f37e976c] {
  opacity: 0.6;
  pointer-events: none;
}

/* 只读状态 */
.jh-form-list--readonly .jh-form-list-item-actions[data-v-f37e976c],
.jh-form-list--readonly .jh-form-list-footer[data-v-f37e976c] {
  display: none;
}

/* Table 模式样式优化 */
.jh-form-list-body--table[data-v-f37e976c] .v-data-table tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.02);
}
.jh-form-list-body--table[data-v-f37e976c] .v-input {
  margin-top: 0;
  padding-top: 0;
}

/* 响应式 */
@media (max-width: 600px) {
.jh-form-list-item-header[data-v-f37e976c] {
    flex-wrap: wrap;
}
.jh-form-list-item-actions[data-v-f37e976c] {
    margin-top: 8px;
}
}


.aspect-square[data-v-72e18c9f] {
  aspect-ratio: 1 / 1;
}
.grid[data-v-72e18c9f] {
  display: grid;
}


[data-v-0d5540e8] .jsoneditor-menu a.jsoneditor-poweredBy {
  display: none !important;
}
[data-v-0d5540e8] .jsoneditor-menu {
  background-color: #4caf50 !important;
  border-bottom: 1px solid #4caf50 !important;
}
[data-v-0d5540e8] .jsoneditor {
  border: thin solid #4caf50 !important;
}
[data-v-0d5540e8] .jsoneditor-modal .pico-modal-header {
  background: #4caf50 !important;
}
[data-v-0d5540e8] .jsoneditor-modal .jsoneditor-button-group.jsoneditor-button-group-value-asc input.jsoneditor-button-asc,[data-v-0d5540e8] .jsoneditor-modal .jsoneditor-button-group.jsoneditor-button-group-value-desc input.jsoneditor-button-desc {
  background: #4caf50 !important;
  border-color: #4caf50 !important;
}


[data-v-024b241e] .editormd,[data-v-024b241e] .CodeMirror-gutters,[data-v-024b241e] .editormd-toolbar,[data-v-024b241e] .editormd .CodeMirror,[data-v-024b241e] .editormd-menu > li.divider,[data-v-024b241e] .editormd-menu > li > a:hover,[data-v-024b241e] .editormd-menu > li > a.active {
  border-color: #eff2f5 !important;
}
[data-v-024b241e] .CodeMirror-gutter {
  background-color: #fff;
}
[data-v-024b241e] .CodeMirror-scroll {
  overflow-x: hidden !important;
}
[data-v-024b241e] .editormd-dialog-close {
  color: #3F4254 !important;
}
[data-v-024b241e] .editormd-preview-container ol.linenums li,[data-v-024b241e] .editormd-html-preview ol.linenums li {
  list-style-type: none;
}
[data-v-024b241e] .editormd-preview-container ol.linenums,[data-v-024b241e] .editormd-html-preview ol.linenums {
  color: #999;
  padding-left: 0;
}
[data-v-024b241e] .editormd {
  margin-bottom: 0;
}


.draggable-container[data-v-a384b1a0] {
  margin: 10px;
}
.title[data-v-a384b1a0] {
  padding: 6px 12px;
  font-weight: 500;
  color: #333;
}
.draggable-item[data-v-a384b1a0] {
  padding: 6px 12px;
  margin: 0px 10px 6px 10px;
  border: solid 1px #eee;
  background-color: #f1f1f1;
  cursor: move;
  transition: background-color 0.2s;
}
.draggable-item[data-v-a384b1a0]:hover {
  background-color: #fdfdfd;
}
[data-v-a384b1a0] .jh-ghost-class {
  background-color: #e3f2fd !important;
  opacity: 0.8 !important;
}
[data-v-a384b1a0] .jh-chosen-class {
  background-color: #bbdefb !important;
  opacity: 1 !important;
}
[data-v-a384b1a0] .jh-drag-class {
  background-color: #90caf9 !important;
  opacity: 0.9 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}
.draggable-placeholder[data-v-a384b1a0] {
  color: #999;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}


[data-v-2b3adc76] .jh-v-input {
  border: 1px solid #e5e7eb;
}
[data-v-2b3adc76] .jh-v-input .v-input__slot {
  margin: 0 !important;
  background-color: #fff !important;
}


.jh-editable-table[data-v-4cf3ae37] {
  width: 100%;
}
.jh-editable-cell[data-v-4cf3ae37] {
  min-height: 48px;
  display: flex;
  align-items: center;
}
.jh-editable-actions[data-v-4cf3ae37] {
  display: flex;
  gap: 4px;
  justify-content: center;
  align-items: center;
}
.jh-editable-footer[data-v-4cf3ae37] {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

/* 编辑模式下的输入框样式优化 */
.jh-editable-table[data-v-4cf3ae37] .v-text-field.v-text-field--enclosed .v-text-field__details {
  margin-bottom: 0;
}
.jh-editable-table[data-v-4cf3ae37] .v-input--dense > .v-input__control > .v-input__slot {
  margin-bottom: 0;
}

