﻿html, body { margin: 0; min-height: 100%; font-family: "Microsoft YaHei", Arial, sans-serif; font-size: 13px; color: #303133; background: #f2f4f7; letter-spacing: 0; }
@font-face { font-family: element-icons; src: url(fonts/element-icons.woff) format("woff"), url(fonts/element-icons.ttf) format("truetype"); font-weight: 400; font-style: normal; }
* { box-sizing: border-box; }
[v-cloak] { display: none; }
.identity-page { padding: 12px; min-width: 0; }
.identity-search { padding: 12px 12px 0; margin-bottom: 10px; background: #fff; border: 1px solid #ebeef5; }
.identity-data { min-width: 0; padding: 12px; background: #fff; border: 1px solid #ebeef5; }
.identity-data > .el-table { width: 100%; }
.identity-page .el-alert, .identity-dialog .el-alert, .identity-drawer .el-alert { margin-bottom: 12px; }
.identity-pagination { display: flex; justify-content: flex-end; align-items: center; min-height: 56px; padding: 12px 0 0; overflow-x: auto; }
.identity-search .el-form-item { margin: 0 16px 12px 0; }
.identity-search .el-input, .identity-search .el-select { width: 180px; }
.identity-search .el-form-item:last-child { margin-right: 0; }
.identity-page .el-table, .identity-dialog .el-table, .identity-drawer .el-table { font-size: 13px; }
.identity-page .el-table th, .identity-dialog .el-table th, .identity-drawer .el-table th { color: #444; background: #f5f7fa; }
.identity-page .el-table td, .identity-page .el-table th,
.identity-dialog .el-table td, .identity-dialog .el-table th, .identity-drawer .el-table td, .identity-drawer .el-table th { padding: 5px 0; }
.identity-page .el-table .cell, .identity-dialog .el-table .cell, .identity-drawer .el-table .cell { padding-left: 8px; padding-right: 8px; line-height: 24px; white-space: nowrap; }
.identity-page .el-table .el-button--text, .identity-dialog .el-table .el-button--text, .identity-drawer .el-table .el-button--text { padding: 2px 0; font-size: 13px; }
.identity-page .el-table .el-button + .el-button, .identity-dialog .el-table .el-button + .el-button, .identity-drawer .el-table .el-button + .el-button { margin-left: 12px; }
.identity-page .el-table .el-dropdown { margin-left: 12px; }
.identity-page .el-button.identity-danger:not(.is-disabled), .identity-dialog .el-button.identity-danger:not(.is-disabled), .identity-drawer .el-button.identity-danger:not(.is-disabled) { color: #f56c6c; }
.identity-page .el-tag, .identity-dialog .el-tag, .identity-drawer .el-tag { vertical-align: middle; }
.identity-page .el-tabs__header { margin-bottom: 16px; }
.identity-page .el-tabs__item { font-size: 14px; }
.identity-page .el-tabs__nav-wrap::after { height: 1px; }
.identity-tab-content { min-width: 0; }
/* 嵌入选项卡的组件沿用父容器，不重复绘制卡片边框与背景间隔。 */
.identity-tab-content > section > .identity-search { padding: 0; border: 0; margin-bottom: 0; }
.identity-tab-content > section > .identity-data { padding: 0; border: 0; }
.identity-form { min-width: 0; }
.identity-form .el-input, .identity-form .el-select, .identity-form .el-input-number, .identity-form .el-cascader { width: 100%; }
.identity-form .el-form-item { margin-bottom: 20px; }
.identity-form > .el-form-item:last-child { margin-bottom: 0; }
.identity-form .el-checkbox-group { display: grid; gap: 8px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.identity-form .el-checkbox { margin: 0; white-space: normal; display: flex; align-items: flex-start; }
.identity-form .el-checkbox__label { overflow-wrap: anywhere; line-height: 20px; }
.identity-form .el-checkbox__input { padding-top: 3px; }
.identity-form-section { border-top: 1px solid #ebeef5; padding-top: 16px; margin-top: 4px; }
.identity-form-section h3 { font-size: 14px; margin: 0 0 16px; }
.identity-form-section .el-table { margin-top: 16px; }
.identity-form .el-input.is-disabled .el-input__inner { color: #606266; }
.identity-form .el-textarea.is-disabled .el-textarea__inner,
.identity-permission-tree .el-checkbox__input.is-disabled + .el-checkbox__label { color: #606266; }
.identity-settings { max-width: 760px; }
.identity-form-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 0 0; border-top: 1px solid #ebeef5; }
.identity-settings .identity-form-actions { margin-top: 20px; }
.identity-form-actions .el-button + .el-button { margin-left: 0; }
.identity-page .el-dialog, .identity-dialog { max-width: calc(100% - 32px); border-radius: 4px; display: flex; flex-direction: column; max-height: 88vh; margin-bottom: 0; }
.identity-page .el-dialog__header, .identity-dialog .el-dialog__header { flex: 0 0 auto; padding: 15px 20px; border-bottom: 1px solid #dcdfe6; }
.identity-page .el-dialog__title, .identity-dialog .el-dialog__title { font-size: 16px; line-height: 24px; font-weight: 600; color: #4e4e4e; }
.identity-page .el-dialog__headerbtn, .identity-dialog .el-dialog__headerbtn { top: 19px; }
.identity-page .el-dialog__body, .identity-dialog .el-dialog__body { min-height: 0; padding: 20px; overflow-y: auto; }
.identity-page .el-dialog__footer, .identity-dialog .el-dialog__footer { flex: 0 0 auto; padding: 12px 20px; border-top: 1px solid #ebeef5; }
.identity-page .el-dialog__footer .el-button, .identity-dialog .el-dialog__footer .el-button,
.identity-form-actions .el-button { padding: 9px 15px; font-size: 12px; border-radius: 3px; }
/* Element UI 2 的抽屉没有 footer 插槽，正文与操作区需作为并列内容布局。 */
.identity-drawer { max-width: 100%; color: #303133; }
.identity-drawer .el-drawer__header { flex: 0 0 auto; margin: 0; padding: 16px 20px; border-bottom: 1px solid #dcdfe6; color: #4e4e4e; font-size: 16px; line-height: 24px; font-weight: 600; }
.identity-drawer .el-drawer__body { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.identity-drawer-content { flex: 1; min-height: 0; padding: 20px; overflow-y: auto; }
.identity-drawer-footer { flex-shrink: 0; padding: 12px 20px; border-top: 1px solid #ebeef5; text-align: right; background: #fff; }
.identity-drawer-footer .el-button { padding: 9px 15px; font-size: 12px; border-radius: 3px; }
.identity-system-drawer .identity-settings { display: flex; flex: 1; flex-direction: column; min-height: 0; width: 100%; }
.identity-system-drawer .identity-system-fields { flex: 1; min-height: 0; padding: 20px; overflow-y: auto; }
.identity-system-drawer .identity-form-actions { flex-shrink: 0; margin: 0; padding: 12px 20px; }
.identity-drawer-search .el-input { width: 160px; }
.identity-drawer-search .el-form-item { margin-bottom: 12px; }
.identity-permission-filter .el-select { width: 100%; }
.identity-page .el-tree-node__content, .identity-drawer .el-tree-node__content { min-height: 32px; height: auto; padding-top: 4px; padding-bottom: 4px; }
.identity-page .el-tree-node__label, .identity-drawer .el-tree-node__label { overflow: hidden; text-overflow: ellipsis; }
.identity-permission-tree .el-tree-node__content > span:last-child { min-width: 0; display: flex; align-items: center; gap: 12px; }
.identity-permission-tree .el-checkbox { min-width: 0; white-space: normal; }
.identity-permission-tree .el-checkbox__label { overflow-wrap: anywhere; }
.identity-permission-tree .identity-muted { flex-shrink: 0; font-size: 12px; }
.identity-split { display: grid; grid-template-columns: 220px minmax(0, 1fr); background: #fff; border: 1px solid #ebeef5; }
.identity-tree-panel { border-right: 1px solid #ebeef5; padding: 12px; overflow: auto; }
.identity-tree-panel > .el-input { margin-bottom: 12px; }
.identity-split > .identity-member-content { min-width: 0; }
.identity-split .identity-search { margin: 0; border: 0; border-bottom: 1px solid #ebeef5; }
.identity-split .identity-data { border: 0; }
.identity-profile { margin: 0; display: grid; grid-template-columns: 140px minmax(0, 1fr); border: 1px solid #ebeef5; }
.identity-profile dt, .identity-profile dd { margin: 0; min-height: 44px; padding: 10px 14px; line-height: 24px; border-bottom: 1px solid #ebeef5; overflow-wrap: anywhere; }
.identity-profile dt { background: #f5f7fa; color: #606266; border-right: 1px solid #ebeef5; }
.identity-profile dt:last-of-type, .identity-profile dd:last-of-type { border-bottom: 0; }
.identity-profile .el-button--text { padding: 0; margin-left: 12px; }
.identity-toolbar { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 12px; }
.identity-muted { color: #909399; }
.identity-status { color: #e6a23c; }
.identity-auth { max-width: 440px; width: calc(100% - 32px); margin: 40px auto; background: #fff; border: 1px solid #e4e7ed; border-radius: 4px; padding: 32px; }
.identity-auth h1 { font-size: 22px; margin: 0 0 24px; }
.identity-auth { font-size: 14px; }
.identity-auth .el-button.identity-submit { width: 100%; }
.identity-auth .identity-login-actions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.identity-sms-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 8px; }
.identity-empty { padding: 48px 16px; text-align: center; color: #909399; background: #fff; border: 1px solid #ebeef5; }
.identity-grant { list-style: none; padding-left: 20px; }
.identity-grant > li { padding: 4px 0; }
@media (max-width: 1000px) {
    .identity-split { grid-template-columns: minmax(0, 1fr); }
    .identity-tree-panel { border-right: 0; border-bottom: 1px solid #ebeef5; max-height: 240px; }
}
@media (max-width: 760px) {
    .identity-page { padding: 8px; }
    .identity-search, .identity-data { padding: 12px; }
    .identity-search .el-form-item { display: block; margin-right: 0; }
    .identity-search .el-form-item__content, .identity-search .el-input, .identity-search .el-select { width: 100%; }
    .identity-form .el-checkbox-group { grid-template-columns: minmax(0, 1fr); }
    .identity-profile { grid-template-columns: 100px minmax(0, 1fr); }
    .identity-auth { margin: 24px auto; padding: 24px; }
    .identity-page .el-dialog__body, .identity-dialog .el-dialog__body { padding: 16px; }
    .identity-drawer-content, .identity-system-drawer .identity-system-fields { padding: 16px; }
}
