/* ============================================================
   盒子云 UI 组件规范层（main.css）
   设计依据：/public/ui/index.html + index2.html（猫云控制台）
   覆盖范围：内容画布、卡片容器、Element-UI 组件重绘
   加载顺序：位于 common.css 与 header.css 之后（见 header.php）
   ============================================================ */

:root {
    --hz-blue: #1667f5;
    --hz-blue-dark: #0758e8;
    --hz-blue-2: #eaf2ff;
    --hz-hover: #f0f6ff;
    --hz-ink: #1d2636;
    --hz-muted: #7c8898;
    --hz-line: #e7ebf1;
    --hz-canvas: #f4f6fa;
    --hz-danger: #e54c4c;
    --hz-shadow-sm: 0 2px 10px rgba(30, 48, 77, .045);
    --hz-shadow-md: 0 10px 26px rgba(30, 48, 77, .10);
    --hz-font: Inter, "MiSans", "HarmonyOS Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

/* ============ 内容画布与通用卡片 ============ */
.el-main {
    padding: 80px 20px 24px;
    font-family: var(--hz-font);
    color: var(--hz-ink);
}

/* 通用内容卡片（各页面 main-card 统一卡片化） */
.main-card {
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #edf0f4;
    border-radius: 6px;
    box-shadow: var(--hz-shadow-sm);
    padding: 20px 24px;
    font-size: 0.14rem;
    line-height: 1.5715;
    word-break: break-all;
    margin: auto;
    transition: box-shadow .2s ease;
}

/* 文本省略工具类（保留原封装） */
.Hui-textEllipsis {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ============ 按钮 ============ */
.el-button {
    border-radius: 4px;
    font-weight: 500;
    font-family: var(--hz-font);
    transition: all .16s ease;
}

.el-button--default {
    color: #536072;
    border-color: #dce2ea;
    background: #fff;
}

.el-button--default:hover,
.el-button--default:focus {
    color: var(--hz-blue);
    border-color: #8db7ff;
    background: #f4f8ff;
}

.el-button--primary {
    background: var(--hz-blue);
    border-color: var(--hz-blue);
    box-shadow: 0 2px 5px rgba(22, 103, 245, .18);
}

.el-button--primary:hover,
.el-button--primary:focus {
    background: var(--hz-blue-dark);
    border-color: var(--hz-blue-dark);
}

.el-button--text {
    color: var(--hz-blue);
}

.el-button--text:hover,
.el-button--text:focus {
    color: var(--hz-blue-dark);
}

/* ============ 输入框 / 下拉选择 ============ */
.el-input__inner,
.el-textarea__inner {
    border-radius: 4px;
    border-color: #dce2ea;
    color: #3f4a5b;
    font-family: var(--hz-font);
    transition: border-color .16s ease, box-shadow .16s ease;
}

.el-input__inner {
    height: 36px;
    line-height: 36px;
}

.el-input__inner::placeholder,
.el-textarea__inner::placeholder {
    color: #b0b8c3;
}

.el-input__inner:hover,
.el-textarea__inner:hover {
    border-color: #c4d4ef;
}

.el-input__inner:focus,
.el-textarea__inner:focus {
    border-color: #78aafd;
    box-shadow: 0 0 0 3px rgba(22, 103, 245, .08);
}

.el-input__prefix,
.el-input__suffix {
    color: #9aa4b2;
}

/* 下拉浮层 */
.el-select-dropdown,
.el-dropdown-menu,
.el-picker-panel,
.el-popover,
.el-message-box {
    border-radius: 5px;
}

.el-select-dropdown {
    border: 1px solid #e4e8ef;
    box-shadow: 0 12px 24px rgba(30, 47, 72, .14);
}

.el-select-dropdown__item {
    height: 36px;
    line-height: 36px;
    font-size: 13px;
    color: #49576a;
    padding: 0 14px;
    transition: all .14s ease;
}

.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
    color: var(--hz-blue);
    background: #edf5ff;
}

.el-select-dropdown__item.selected {
    color: var(--hz-blue);
    font-weight: 600;
}

/* ============ 表格 ============ */
.el-table {
    color: #4b5768;
    font-size: 13px;
    font-family: var(--hz-font);
}

.el-table th,
.el-table th.el-table__cell {
    background: #f8f9fb;
    color: #687587;
    font-weight: 600;
    height: 50px;
    padding: 0;
}

.el-table th > .cell,
.el-table th.el-table__cell > .cell {
    line-height: 50px;
}

.el-table td,
.el-table td.el-table__cell {
    color: #4b5768;
    padding: 14px 0;
}

.el-table--enable-row-hover .el-table__body tr:hover > td,
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell {
    background: #f7faff;
}

/* 表格线（统一浅灰） */
.el-table td,
.el-table th.is-leaf,
.el-table td.el-table__cell,
.el-table th.el-table__cell.is-leaf {
    border-bottom: 1px solid #edf0f4;
}

.el-table--border,
.el-table--group {
    border-color: #edf0f4;
}

.el-table--border td,
.el-table--border th,
.el-table--border td.el-table__cell,
.el-table--border th.el-table__cell {
    border-right: 1px solid #edf0f4;
}

.el-table--border::after,
.el-table--group::after,
.el-table::before {
    background-color: #edf0f4;
}

.el-table .el-table__empty-block {
    min-height: 160px;
}

.el-table .el-table__empty-text {
    color: #98a2af;
    font-size: 13px;
    line-height: 1.6;
}

/* ============ 分页 ============ */
.myPage .el-pagination {
    display: flex;
    align-items: center;
    flex: 1;
    padding: 4px 0;
}

.el-pagination {
    color: #4b5768;
    font-family: var(--hz-font);
}

.el-pagination button,
.el-pagination .btn-prev,
.el-pagination .btn-next {
    background: #fff;
    border: 1px solid #e2e6ec;
    border-radius: 4px;
    height: 31px;
    min-width: 31px;
    color: #526072;
    margin-right: 6px;
    transition: all .14s ease;
}

.el-pagination button:disabled {
    color: #c2cad4;
    background: #fafbfd;
}

.el-pagination .el-pager li {
    background: #fff;
    border: 1px solid #e2e6ec;
    border-radius: 4px;
    height: 31px;
    min-width: 31px;
    line-height: 29px;
    margin: 0 3px;
    color: #526072;
    font-weight: 500;
    transition: all .14s ease;
}

.el-pagination .el-pager li:hover {
    color: var(--hz-blue);
    border-color: #8db7ff;
}

.el-pagination .el-pager li.active {
    color: #fff;
    background: var(--hz-blue);
    border-color: var(--hz-blue);
}

.el-pagination .el-pagination__jump,
.el-pagination .el-pagination__total {
    color: #5f6b7b;
    font-size: 13px;
}

.el-pagination .el-select .el-input__inner {
    height: 31px;
    line-height: 31px;
}

.el-pagination .page-total {
    margin: 0 auto 0 0.22rem;
    font-size: 0.12rem;
    color: #7c8898;
}

/* ============ 选项卡（产品状态筛选等） ============ */
.el-tabs__nav-wrap::after {
    height: 1px;
    background-color: #edf0f4;
}

.el-tabs__item {
    color: #5f6b7b;
    font-size: 14px;
    height: 44px;
    line-height: 44px;
    transition: color .16s ease;
}

.el-tabs__item:hover {
    color: var(--hz-blue);
}

.el-tabs__item.is-active {
    color: var(--hz-blue);
    font-weight: 600;
}

.el-tabs__active-bar {
    background-color: var(--hz-blue);
    height: 2px;
    border-radius: 2px;
}

.el-tabs__header {
    margin-bottom: 0.16rem;
}

/* ============ 弹窗 ============ */
.el-dialog {
    border-radius: 6px;
    box-shadow: var(--hz-shadow-md);
    font-family: var(--hz-font);
}

.el-dialog__title {
    font-size: 16px;
    font-weight: 650;
    color: #202a3a;
    line-height: 24px;
}

.el-dialog__header {
    padding: 20px 24px 12px;
}

.el-dialog__body {
    color: #4b5768;
    font-size: 14px;
}

.el-dialog__footer {
    padding: 10px 24px 20px;
}

/* 弹窗按钮（自定义 btn-ok / btn-no） */
.dialog-footer .btn-ok,
.dialog-footer .btn-no {
    border-radius: 4px;
    transition: all .16s ease;
}

.dialog-footer .btn-ok {
    background: var(--hz-blue);
    border: 1px solid var(--hz-blue);
    color: #fff;
    box-shadow: 0 2px 5px rgba(22, 103, 245, .18);
}

.dialog-footer .btn-ok:hover {
    background: var(--hz-blue-dark);
    border-color: var(--hz-blue-dark);
}

.dialog-footer .btn-no {
    background: #fff;
    border: 1px solid #dce2ea;
    color: #536072;
}

.dialog-footer .btn-no:hover {
    color: var(--hz-blue);
    border-color: #8db7ff;
    background: #f4f8ff;
}

/* ============ 表单 ============ */
.el-form-item__label {
    color: #5f6b7b;
    font-weight: 500;
}

/* 开关（现代圆角 + 品牌蓝） */
.el-switch__core,
.el-switch__core:after {
    border-radius: 100px;
}

.el-switch.is-checked .el-switch__core,
.el-switch__core {
    transition: border-color .16s ease, background-color .16s ease;
}

.el-switch.is-checked .el-switch__core {
    border-color: var(--hz-blue);
    background-color: var(--hz-blue);
}

.el-switch__core:after {
    top: 50%;
    transform: translateY(-50%);
    transition: transform .16s ease;
}

.el-switch.is-checked .el-switch__core:after {
    transform: translateY(-50%) translateX(-15px);
}

/* 复选框 / 单选框 */
.el-checkbox__inner,
.el-radio__inner {
    border-color: #cfd6df;
    transition: all .14s ease;
}

.el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
    background-color: var(--hz-blue);
    border-color: var(--hz-blue);
}

.el-checkbox__input.is-checked + .el-checkbox__label {
    color: var(--hz-blue);
}

.el-radio__input.is-checked .el-radio__inner {
    background: var(--hz-blue);
    border-color: var(--hz-blue);
}

.el-radio__input.is-checked + .el-radio__label {
    color: var(--hz-blue);
}

/* ============ 消息与提示 ============ */
.el-message {
    border-radius: 5px;
    box-shadow: var(--hz-shadow-sm);
}

.el-message-box {
    border-radius: 6px;
}

.el-popover {
    box-shadow: 0 12px 24px rgba(30, 47, 72, .13);
}

/* 顶栏站内信弹层 */
.top-msg-box {
    width: 320px;
    box-sizing: border-box;
}

.top-msg-box .msg-top {
    padding: 12px 16px;
    margin: 0;
    border-bottom: 1px solid #edf0f4;
    font-size: 14px;
}

.top-msg-box .msg-top .msg-top-left {
    color: #202a3a;
    font-weight: 650;
}

.top-msg-box .msg-top .msg-top-right {
    color: var(--hz-blue);
    cursor: pointer;
    font-size: 13px;
}

.top-msg-box .msg-list {
    max-height: 320px;
    overflow-y: auto;
    padding: 6px 0;
}

.top-msg-box .msg-list .msg-item {
    padding: 10px 16px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    transition: background .14s ease;
}

.top-msg-box .msg-list .msg-item:hover {
    background: #f7faff;
}

.top-msg-box .msg-list .msg-item .msg-item-right .msg-item-right-top {
    color: #2e3a4b;
    font-size: 13px;
    font-weight: 500;
}

.top-msg-box .msg-list .msg-item .msg-item-right .msg-item-right-bottom {
    color: #98a2af;
    font-size: 12px;
    margin-top: 3px;
}

/* 空状态 */
.el-empty__description p {
    color: #98a2af;
    font-size: 13px;
}

/* 加载 */
.el-loading-spinner .path {
    stroke: var(--hz-blue);
}

.el-loading-mask {
    background-color: rgba(255, 255, 255, .82);
}

/* 链接色 */
.base-color,
.el-link.el-link--primary {
    color: var(--hz-blue);
}

/* ============ 焦点可见性（无障碍） ============ */
a:focus-visible,
button:focus-visible,
.el-button:focus-visible,
.el-menu-item:focus-visible,
[role="button"]:focus-visible,
.el-input__inner:focus-visible {
    outline: 3px solid rgba(22, 103, 245, .28);
    outline-offset: 2px;
}

/* ============ 响应式 ============ */
@media screen and (max-width: 980px) {
    .el-main {
        padding: 76px 16px 20px;
    }

    .main-card {
        padding: 16px 18px;
    }

    .el-table th,
    .el-table td {
        padding: 10px 0;
    }
}

@media screen and (max-width: 768px) {
    .main-card {
        padding: 14px;
        border-radius: 6px;
    }

    .el-table th > .cell,
    .el-table td .cell {
        padding: 0 10px;
    }

    .el-tabs__item {
        font-size: 13px;
        padding: 0 12px;
    }
}
