/**
---------------------------------------弹窗购买部分CSS:Start-----------------------------------------------
 */
        
.open-commodity, .open-query {
    padding: 18px;
    font-weight: 400;
}

.commodity-di .general, .draft_status {
    font-size: 14px;
    color: #7c7674;
    font-weight: 400;
}

.commodity_name {
    text-align: center;
    font-weight: 700;
    font-size: 1.5rem;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.10);
    margin-bottom: 20px;
    color: #0f172a;
}

/* 弹窗内的粗体层级：让“粗体/正常”重新有对比 */
.open-commodity strong,
.open-commodity b,
.open-query strong,
.open-query b {
    font-weight: 700;
}

.layui-layer[type=page] {
    background: #ffffff !important;
    border-radius: 16px !important;
    border: 1px solid rgba(15, 23, 42, 0.10) !important;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.18) !important;
}

.layui-layer-shade {
    background-color: rgba(44, 58, 52, 0.18) !important;
    backdrop-filter: blur(6px);
}

.layui-layer-loading {
    border-radius: 22px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.layui-layer-loading .layui-layer-content {
    width: 88px !important;
    height: 64px !important;
    padding: 0 !important;
    border-radius: 22px !important;
    border: 1px solid rgba(87, 108, 97, 0.08) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 24px 48px rgba(45, 59, 53, 0.14) !important;
    backdrop-filter: blur(18px);
    position: relative;
}

.layui-layer-loading .layui-layer-content .layui-layer-ico,
.layui-layer-loading .layui-layer-ico {
    display: none !important;
}

.layui-layer-loading .layui-layer-content:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    background: #78b8a2;
    box-shadow: -18px 0 0 #d0a96d, 18px 0 0 #5e9f89;
    animation: dream-layer-pulse 1s ease-in-out infinite;
}

@keyframes dream-layer-pulse {
    0%, 100% {
        transform: scale(0.82);
        opacity: 0.68;
    }

    50% {
        transform: scale(1.06);
        opacity: 1;
    }
}

.layui-layer-dialog,
.layui-layer-prompt,
.layui-layer-page {
    border-radius: 24px !important;
    border: 1px solid rgba(87, 108, 97, 0.08) !important;
    box-shadow: 0 28px 56px rgba(45, 59, 53, 0.14) !important;
    overflow: hidden;
}

.layui-layer-page .layui-layer-title,
.layui-layer-dialog .layui-layer-title,
.layui-layer-prompt .layui-layer-title {
    height: 56px !important;
    line-height: 56px !important;
    padding: 0 72px 0 24px !important;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08) !important;
    background: linear-gradient(180deg, rgba(249, 251, 249, 0.96), rgba(245, 248, 246, 0.92)) !important;
    color: #2f3b35 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.layui-layer-dialog .layui-layer-content,
.layui-layer-prompt .layui-layer-content,
.layui-layer-page .layui-layer-content {
    padding: 26px 26px 18px !important;
    color: #2f3b35 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    position: relative !important;
    z-index: 1;
    overflow: auto !important;
    background: #fcfdfc !important;
}

.layui-layer-page.layui-popup .layui-layer-setwin {
    display: none !important;
}

.layui-layer-page.layui-popup .layui-layer-btn {
    display: none !important;
}

/* 恢复 dialog/prompt 的默认按钮区，避免确认弹窗无法点击 */
.layui-layer-dialog .layui-layer-setwin,
.layui-layer-prompt .layui-layer-setwin {
    display: block !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 10 !important;
}

.layui-layer-dialog .layui-layer-btn,
.layui-layer-prompt .layui-layer-btn {
    display: block !important;
    padding: 0 28px 24px !important;
    background: #fcfdfc !important;
    text-align: right !important;
    border: 0 !important;
    margin-top: 0 !important;
}

.layui-layer-dialog .layui-layer-setwin a,
.layui-layer-prompt .layui-layer-setwin a {
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(87, 108, 97, 0.14) !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 10px 20px rgba(42, 56, 49, 0.08) !important;
}

.layui-layer-dialog .layui-layer-setwin a {
    position: absolute !important;
    top: 6px !important;
    right: 6px !important;
}

.layui-layer-dialog .layui-layer-setwin .layui-layer-close,
.layui-layer-prompt .layui-layer-setwin .layui-layer-close {
    background: none !important;
    opacity: 1 !important;
    font-size: 0 !important;
}

.layui-layer-dialog .layui-layer-setwin .layui-layer-close:hover,
.layui-layer-prompt .layui-layer-setwin .layui-layer-close:hover {
    opacity: 1 !important;
}

.layui-layer-dialog .layui-layer-setwin .layui-layer-close::before,
.layui-layer-prompt .layui-layer-setwin .layui-layer-close::before {
    content: "×";
    display: block;
    text-align: center;
    font-size: 26px;
    line-height: 28px;
    color: #52655d;
}

.layui-layer-dialog .layui-layer-content,
.layui-layer-prompt .layui-layer-content {
    background: #fcfdfc !important;
    border-radius: 0 !important;
}

.layui-layer-dialog .layui-layer-btn a,
.layui-layer-prompt .layui-layer-btn a {
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 26px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(87, 108, 97, 0.16) !important;
    background: #fff !important;
    color: #4f625a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.layui-layer-dialog .layui-layer-btn .layui-layer-btn0,
.layui-layer-prompt .layui-layer-btn .layui-layer-btn0 {
    border-color: rgba(120, 184, 162, 0.24) !important;
    background: linear-gradient(135deg, #8dcab8, #5e9f89) !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(84, 135, 117, 0.2) !important;
}

.layui-layer-dialog .layui-layer-btn .layui-layer-btn1,
.layui-layer-prompt .layui-layer-btn .layui-layer-btn1 {
    border-style: dashed !important;
}

.layui-layer-dialog .layui-layer-btn a:hover,
.layui-layer-prompt .layui-layer-btn a:hover {
    border-color: rgba(104, 156, 139, 0.24) !important;
}

.layui-layer-dialog .layui-layer-title,
.layui-layer-prompt .layui-layer-title {
    padding-right: 76px !important;
}

.layui-layer-dialog .layui-layer-title {
    height: 56px !important;
    line-height: 56px !important;
    padding: 0 76px 0 24px !important;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08) !important;
    background: linear-gradient(180deg, rgba(249, 251, 249, 0.96), rgba(245, 248, 246, 0.92)) !important;
    color: #2f3b35 !important;
    font-size: 15px !important;
    cursor: move !important;
}

.layui-layer-dialog .layui-layer-content {
    padding: 20px 28px 12px !important;
    border-radius: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.layui-layer-dialog .layui-layer-btn {
    background: #fcfdfc !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/*
---------------------------------------Dream Common Utilities-----------------------------------------------
 */
body.dream-theme-body {
    background-color: #f5f1eb;
}

.dream-hidden {
    display: none !important;
}

.dream-hidden-input {
    display: none !important;
}

.dream-inline-top-gap {
    margin-top: 18px;
}

.dream-clickable {
    cursor: pointer !important;
}

.dream-action-link {
    color: #335e50 !important;
}

.dream-muted-text {
    color: #7d8b84;
}

.dream-captcha-inline-image {
    margin-top: -5px;
}

.dream-inline-image-16 {
    height: 16px;
    vertical-align: middle;
}

.dream-inline-image-22 {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    margin-right: 8px;
}

.dream-inline-image-28 {
    height: 28px;
}

.dream-inline-image-32 {
    height: 32px;
}

.dream-secret-textarea.is-fill {
    height: 100%;
}

.dream-secret-textarea.is-fill-min {
    height: 100%;
    min-height: 260px;
}

.dream-dialog-summary {
    padding: 16px 18px;
}

.dream-dialog-summary__title {
    margin-bottom: 12px;
}

.dream-dialog-summary__value {
    color: #689c8b;
}

.dream-dialog-summary--compact {
    padding: 14px;
}

.dream-dialog-summary--compact .dream-dialog-summary__value {
    color: #f43f5e;
}

.dream-dialog-summary .layui-input.dream-dialog-summary__textarea {
    height: 260px;
    border: none;
    background: #f8faf8;
}

.dream-dialog-summary--compact .layui-input.dream-dialog-summary__textarea {
    background: #fff;
}

.dream-draft-helper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.dream-draft-helper__input {
    width: 220px;
    padding: 8px 10px;
    border: 1px solid #d6d7d2;
    border-radius: 8px;
}

.dream-draft-helper__button {
    border: none;
    padding: 8px 12px;
    border-radius: 999px;
    background: #689c8b;
    color: #fff;
    cursor: pointer;
}

/* 阶梯价/批发价提示：提高可见性，避免用户忽略 */
.acg-price-hint {
    margin-top: 20px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #ffb100;
    background: #fff6db;
    color: #7a4a00;
    box-shadow: 0 2px 10px rgba(255, 177, 0, 0.18);
}

.acg-price-hint__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 6px;
    letter-spacing: .2px;
}

.acg-price-hint__title:before {
    content: "!";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
    background: #ffb100;
    color: #fff;
    font-size: 12px;
    line-height: 18px;
}

.acg-price-hint .lot_string {
    font-size: 13px;
    line-height: 1.65;
    padding-left: 2px;
}

.acg-price-hint .lot_string b {
    color: #d0021b;
    font-weight: 900;
}

.acg-price-hint__foot {
    margin-top: 6px;
    font-size: 12px;
    color: #8a5b00;
}

/* 商品/订单等用户中心页共用样式 */
.dream-shop-panel .table td,
.dream-shop-panel .table th {
    vertical-align: middle;
}

.dream-shop-panel .table .dream-store-center-cell {
    text-align: center;
    white-space: nowrap;
}

.dream-shop-panel .table .dream-store-name-cell {
    white-space: normal;
    word-break: break-word;
    line-height: 1.6;
}

.dream-shop-panel .table .dream-user-chip {
    line-height: 1.2;
}

.dream-shop-panel .table .dream-user-chip.edit,
.dream-shop-panel .table .dream-user-chip.del,
.dream-shop-panel .table .dream-user-chip.lock,
.dream-shop-panel .table .dream-user-chip.unlock,
.dream-shop-panel .table .dream-user-chip.more,
.dream-shop-panel .table .dream-user-chip.status,
.dream-shop-panel .table .dream-user-chip.clipboard,
.dream-shop-panel .table .dream-user-chip.view-commodity,
.dream-shop-panel .table .dream-user-chip.category-show,
.dream-shop-panel .table .dream-user-chip.commodity-show,
.dream-shop-panel .table .dream-user-chip.commodity-premium {
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid rgba(120, 184, 162, 0.26);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(233, 245, 240, 0.96) 100%) !important;
    box-shadow: 0 8px 18px rgba(89, 126, 111, 0.08);
    color: #4f625a;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.dream-shop-panel .table .dream-user-chip.del,
.dream-shop-panel .table .dream-user-chip.danger.del,
.dream-shop-panel .table .dream-user-chip.status.danger,
.dream-shop-panel .table .dream-user-chip.category-show[data-state="0"],
.dream-shop-panel .table .dream-user-chip.commodity-show[data-state="0"] {
    border-color: rgba(236, 160, 188, 0.45);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(252, 238, 244, 0.96) 100%) !important;
    color: #a46079;
}

.dream-shop-panel .table .dream-user-chip.lock,
.dream-shop-panel .table .dream-user-chip.status.danger,
.dream-shop-panel .table .dream-user-chip.warn {
    border-color: rgba(202, 162, 94, 0.36);
}

.dream-shop-panel .table .dream-user-chip.edit:hover,
.dream-shop-panel .table .dream-user-chip.del:hover,
.dream-shop-panel .table .dream-user-chip.lock:hover,
.dream-shop-panel .table .dream-user-chip.unlock:hover,
.dream-shop-panel .table .dream-user-chip.more:hover,
.dream-shop-panel .table .dream-user-chip.status:hover,
.dream-shop-panel .table .dream-user-chip.clipboard:hover,
.dream-shop-panel .table .dream-user-chip.view-commodity:hover,
.dream-shop-panel .table .dream-user-chip.category-show:hover,
.dream-shop-panel .table .dream-user-chip.commodity-show:hover,
.dream-shop-panel .table .dream-user-chip.commodity-premium:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(89, 126, 111, 0.12);
    border-color: rgba(120, 184, 162, 0.42);
}

.dream-shop-panel .table .dream-user-chip.del:hover,
.dream-shop-panel .table .dream-user-chip.danger.del:hover,
.dream-shop-panel .table .dream-user-chip.status.danger:hover,
.dream-shop-panel .table .dream-user-chip.category-show[data-state="0"]:hover,
.dream-shop-panel .table .dream-user-chip.commodity-show[data-state="0"]:hover {
    border-color: rgba(236, 160, 188, 0.62);
    box-shadow: 0 10px 20px rgba(172, 112, 138, 0.16);
}

.dream-shop-panel .table .dream-user-chip + .dream-user-chip {
    margin-left: 8px;
}

.dream-shop-panel .table .delivery-card-a,
.dream-shop-panel .table .view-card-a,
.dream-shop-panel .layui-layer-page .delivery-card,
.dream-shop-panel .layui-layer-page .view-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 10px;
    margin-left: 8px;
    border: 1px solid rgba(120, 184, 162, 0.28);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(233, 245, 240, 0.96) 100%);
    color: #4f625a !important;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(89, 126, 111, 0.08);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.dream-shop-panel .table .delivery-card-a:hover,
.dream-shop-panel .table .view-card-a:hover,
.dream-shop-panel .layui-layer-page .delivery-card:hover,
.dream-shop-panel .layui-layer-page .view-card:hover {
    transform: translateY(-1px);
    border-color: rgba(120, 184, 162, 0.42);
    box-shadow: 0 10px 20px rgba(89, 126, 111, 0.12);
}

.dream-user-page .layui-form-select .layui-edge {
    top: 60%;
    margin-top: 0;
    transform: translateY(-50%) rotate(0deg);
    transform-origin: 50% 50%;
    transition: transform .18s ease;
}

.dream-user-page .layui-form-selected .layui-edge {
    top: 40%;
    transform: translateY(-50%) rotate(180deg);
}

.dream-order-page .fixed-table-pagination {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin-top: 14px;
}

.dream-order-page .fixed-table-pagination > .pagination-detail,
.dream-order-page .fixed-table-pagination > .pagination {
    float: none !important;
    margin: 0 !important;
}

.dream-order-page .fixed-table-pagination .pagination-detail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.dream-order-page .fixed-table-pagination > .pagination {
    align-self: flex-end;
}

.dream-category-page .dream-user-table-wrap {
    overflow: visible;
}

.dream-category-page .fixed-table-container {
    min-width: 0 !important;
    width: 100%;
}

.dream-category-page .fixed-table-body {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
}

.dream-category-page .fixed-table-body table {
    min-width: 660px;
}

.dream-category-page .dream-category-name-cell,
.dream-category-page .dream-category-status-cell,
.dream-category-page .dream-category-sort-cell,
.dream-category-page .dream-category-share-cell,
.dream-category-page .dream-category-operate-cell {
    white-space: nowrap;
}

/* 顶部菜单：与 Cartoon 订单查询页保持一致（窄屏不换行，不改字号、不压缩容器） */
@media (max-width: 420px) {
    #app .navbar .row {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    #app .navbar .row > a.nav-link,
    #app .navbar .row > .nav-item.dropdown {
        flex: 0 0 auto;
    }

    #app .navbar .row > a.nav-link,
    #app .navbar .row > .nav-item.dropdown > a.nav-link {
        white-space: nowrap;
        padding-left: 8px;
        padding-right: 8px;
    }

    #app .navbar .row > .nav-item.dropdown > a.dropdown-toggle {
        padding: 8px 10px;
    }

    #app .navbar .row > .nav-item.dropdown > a.dropdown-toggle::after {
        margin-left: .15em;
    }
}

@media (max-width: 767px) {
    .dream-order-page .fixed-table-pagination > .pagination {
        align-self: center;
    }

    .layui-layer-page.dream-category-modal .layui-form-item.hex-condition-hidden,
    .layui-layer-page.dream-category-modal .hex-form-item-switch.hex-condition-hidden,
    .layui-layer-page .layui-form-item.hex-condition-hidden,
    .layui-layer-page .hex-form-item-switch.hex-condition-hidden {
        display: none !important;
    }

    .layui-layer-page.dream-category-modal .layui-form-item {
        display: block !important;
        margin-bottom: 18px !important;
    }

    .layui-layer-page.dream-category-modal .layui-form-label {
        float: none !important;
        display: block !important;
        width: 100% !important;
        padding: 0 0 8px !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }

    .layui-layer-page.dream-category-modal .layui-input-block {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block.icon {
        display: block !important;
        width: 100% !important;
        margin-left: 0 !important;
    }

    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block.icon .layui-upload {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px;
        width: 100% !important;
    }

    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block.icon .layui-upload img {
        display: block !important;
        margin: 0 !important;
    }

    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block.icon .layui-btn,
    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block.icon button {
        display: inline-flex !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
    }

    .layui-layer-page.dream-category-modal .hex-form-item-switch {
        display: flex !important;
        align-items: center !important;
        gap: 12px;
    }

    .layui-layer-page.dream-category-modal .hex-form-item-switch .layui-form-label {
        flex: 0 0 auto;
        width: auto !important;
        min-width: 48px;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap;
        line-height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .layui-layer-page.dream-category-modal .hex-form-item-switch .layui-input-block {
        flex: 0 0 auto;
        width: auto !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        line-height: 24px !important;
    }

    .layui-layer-page.dream-category-modal .hex-form-item-switch .layui-form-switch {
        margin: 0 !important;
        vertical-align: middle !important;
    }

    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block button.layui-btn,
    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block .layui-upload button,
    .layui-layer-page.dream-category-modal .layui-form-item .layui-input-block img + button {
        display: inline-flex !important;
        margin-top: 6px !important;
    }

    .acg-price-hint {
        padding: 10px;
    }

    .acg-price-hint__title {
        font-size: 13px;
    }
}

.layui-layer-dialog {
    background: #fcfdfc !important;
}

.layui-layer-dialog .layui-layer-padding {
    padding-left: 28px !important;
    min-height: 0 !important;
}

.layui-layer-dialog .layui-layer-content .layui-layer-ico {
    top: 22px !important;
    left: 28px !important;
}

.layui-layer-dialog .layui-layer-padding,
.layui-layer-prompt .layui-layer-padding {
    padding-left: 26px !important;
}

.layui-layer-dialog .layui-layer-content .layui-layer-ico,
.layui-layer-prompt .layui-layer-content .layui-layer-ico {
    top: 30px !important;
    left: 26px !important;
}

.layui-layer-prompt .layui-layer-input {
    width: 100% !important;
    height: 50px !important;
    margin: 4px 0 0 !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(87, 108, 97, 0.12) !important;
    background: #f8faf8 !important;
    box-sizing: border-box;
}

.layui-layer-prompt .layui-layer-input:focus {
    border-color: rgba(120, 184, 162, 0.32) !important;
    box-shadow: 0 0 0 4px rgba(120, 184, 162, 0.10) !important;
}

.layui-layer-page,
.layui-layer-page.layui-popup {
    border-radius: 28px !important;
    overflow: hidden !important;
    border: 1px solid rgba(87, 108, 97, 0.12) !important;
    box-shadow: 0 28px 68px rgba(42, 56, 49, 0.18) !important;
    background: #fcfdfc !important;
}

.layui-layer-page .layui-form-label {
    color: #415650 !important;
    font-weight: 700;
    width: 180px !important;
    padding: 0 20px 0 0 !important;
    text-align: left !important;
    line-height: 46px !important;
    background: transparent !important;
    border: 0 !important;
}

.layui-layer-page .layui-input,
.layui-layer-page .layui-textarea,
.layui-layer-page .layui-select,
.layui-layer-page .xm-select,
.layui-layer-page .CodeMirror,
.layui-layer-page .w-e-toolbar,
.layui-layer-page .w-e-text-container {
    border-radius: 16px !important;
    border: 1px solid rgba(87, 108, 97, 0.16) !important;
    background: #ffffff !important;
    color: #415650 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    font-size: 14px !important;
    font-weight: 400 !important;
}

.layui-layer-page .layui-input::placeholder,
.layui-layer-page .layui-textarea::placeholder,
.layui-layer-page .layui-form-select .layui-input::placeholder {
    color: #7f8e88 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.layui-layer-page .w-e-toolbar,
.layui-layer-page .w-e-text-container {
    border-width: 1px !important;
}

.layui-layer-page .w-e-toolbar {
    background: linear-gradient(180deg, #ffffff, #f6faf7) !important;
    border-radius: 16px 16px 0 0 !important;
}

.layui-layer-page .w-e-text-container,
.layui-layer-page .w-e-text,
.layui-layer-page .w-e-text-container .w-e-text {
    background: #ffffff !important;
    min-height: 300px !important;
}

.layui-layer-page .w-e-text-container {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

.layui-layer-page .CodeMirror,
.layui-layer-page .layui-textarea {
    background: #ffffff !important;
}

.layui-layer-page .layui-input:focus,
.layui-layer-page .layui-textarea:focus,
.layui-layer-page .xm-input:focus,
.layui-layer-page .w-e-text-container:focus-within,
.layui-layer-page .CodeMirror-focused {
    border-color: rgba(104, 156, 139, 0.45) !important;
    box-shadow: 0 0 0 4px rgba(120, 184, 162, 0.12) !important;
}

.layui-layer-page .layui-form-select dl dd.layui-this {
    background: rgba(104, 156, 139, 0.12) !important;
    color: #365e52 !important;
}

.layui-layer-page .layui-card-body {
    padding: 24px 28px 12px !important;
}

.layui-layer-page .layui-layer-title {
    padding: 0 !important;
    pointer-events: auto !important;
}

.hex-popup-title {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: center;
    gap: 16px;
    height: 56px;
    padding: 0 16px 0 24px;
    pointer-events: auto !important;
    cursor: move;
}

.hex-popup-title span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hex-popup-close {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(87, 108, 97, 0.12);
    border-radius: 12px;
    background: #fff;
    color: #52655d;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto !important;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: 0 10px 20px rgba(42, 56, 49, 0.08);
}

.hex-popup-close:hover {
    border-color: rgba(104, 156, 139, 0.24);
    color: #365e52;
    background: #fdfefe;
}

.hex-gallery-close {
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(87, 108, 97, 0.12);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    color: #486057;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: 0 10px 24px rgba(42, 56, 49, 0.08);
}

.hex-gallery-close:hover {
    border-color: rgba(104, 156, 139, 0.24);
    color: #2f4f45;
    background: #ffffff;
}

.hex-popup-actions {
    display: flex;
    justify-content: flex-end;
    gap: 14px;
    padding: 10px 0 4px;
}

.hex-popup-submit,
.hex-popup-cancel {
    min-width: 116px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(87, 108, 97, 0.14);
    background: #fff;
    color: #4f625a;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.hex-popup-submit {
    border-color: rgba(120, 184, 162, 0.22);
    background: linear-gradient(135deg, #8dcab8, #5e9f89);
    color: #fff;
    box-shadow: 0 14px 28px rgba(84, 135, 117, 0.18);
}

.layui-layer-page .layui-form-item {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: center;
    column-gap: 20px;
    margin-bottom: 18px !important;
}

.layui-layer-page .layui-form-item::after {
    display: none !important;
}

.layui-layer-page .layui-input-block {
    width: 100%;
    margin-left: 0 !important;
    min-height: 46px;
}

.layui-layer-page .layui-form-item .layui-input-block > .layui-input,
.layui-layer-page .layui-form-item .layui-input-block > .layui-textarea,
.layui-layer-page .layui-form-item .layui-input-block > .layui-form-select,
.layui-layer-page .layui-form-item .layui-input-block > .xm-select {
    width: 100% !important;
}

.layui-layer-page .layui-form-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    min-width: 0 !important;
}

.layui-layer-page .layui-input-block .layui-form-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
}

.layui-layer-page .layui-form-select .layui-select-title,
.layui-layer-page .layui-input-block .layui-form-select .layui-select-title {
    position: relative !important;
    width: 100% !important;
}

.layui-layer-page .layui-form-select .layui-input,
.layui-layer-page .layui-input-block .layui-form-select .layui-input {
    padding-right: 42px !important;
    width: 100% !important;
    min-width: 100% !important;
}

.layui-layer-page .layui-form-select .layui-edge,
.layui-layer-page .layui-input-block .layui-form-select .layui-edge {
    right: 16px !important;
    left: auto !important;
    top: 60% !important;
    margin-top: 0 !important;
    position: absolute !important;
    transform: translateY(-50%) rotate(0deg) !important;
    transform-origin: 50% 50% !important;
    transition: transform .16s ease !important;
    pointer-events: none !important;
}

.layui-layer-page .layui-form-select.layui-form-selected .layui-edge,
.layui-layer-page .layui-input-block .layui-form-select.layui-form-selected .layui-edge {
    top: 40% !important;
    transform: translateY(-50%) rotate(180deg) !important;
}

.layui-layer-page .layui-form-select dl,
.layui-layer-page .layui-input-block .layui-form-select dl {
    top: calc(100% + 6px) !important;
    left: 0 !important;
    right: auto !important;
    min-width: 100% !important;
    margin-top: 0 !important;
    z-index: 9999 !important;
}

.layui-layer-page .layui-form-item .layui-input-block > span[style*="position: relative"] {
    top: 0 !important;
    display: inline-block;
}

.layui-layer-page .hex-form-item-switch {
    align-items: center !important;
}

.layui-layer-page .hex-form-item-switch .layui-form-label {
    line-height: 30px !important;
}

.layui-layer-page .hex-form-item-switch .layui-input-block {
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
}

.layui-layer-page .hex-form-item-switch .layui-form-checkbox,
.layui-layer-page .hex-form-item-switch .layui-form-switch {
    margin-top: 0 !important;
    vertical-align: middle !important;
}

.layui-layer-page .layui-form-checked,
.layui-layer-page .layui-form-checked:hover {
    border-color: #689c8b !important;
}

.layui-layer-page .layui-form-checked span,
.layui-layer-page .layui-form-checked:hover span {
    background-color: #689c8b !important;
}

.layui-layer-page .layui-form-checked i,
.layui-layer-page .layui-form-checked:hover i {
    border-color: #689c8b !important;
    color: #689c8b !important;
}

.layui-layer-page .layui-form-onswitch,
.layui-layer-page .layui-form-onswitch:hover {
    border-color: #689c8b !important;
    background-color: #689c8b !important;
}

.layui-layer-page .layui-form-onswitch i {
    background-color: #ffffff !important;
}

.layui-layer-page .layui-form-onswitch em {
    color: #ffffff !important;
}

.layui-layer-page .layui-form-item .layui-input-block .layui-btn,
.layui-layer-page .layui-form-item .layui-input-block button {
    pointer-events: auto !important;
}

.hex-popup-actions button {
    pointer-events: auto !important;
}

@media (max-width: 767px) {
    .layui-layer-page .layui-card-body {
        padding: 18px 18px 8px !important;
    }

    .layui-layer-page .layui-form-item {
        display: block;
    }

    .layui-layer-page .layui-form-label {
        width: auto !important;
        line-height: 1.5 !important;
        padding: 0 0 8px !important;
    }

    .hex-popup-actions {
        justify-content: stretch;
    }

    .hex-popup-submit,
    .hex-popup-cancel {
        flex: 1 1 0;
        min-width: 0;
    }
}

/*.layui-layer {
    box-shadow: rgb(253 173 204 / 5%) 0px 7px 29px 0px !important;
} 商品弹窗周围阴影*/

.layui-layer-msg,
.layui-layer-hui {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.layui-layer-msg .layui-layer-content,
.layui-layer-hui .layui-layer-content {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(120, 184, 162, 0.22) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 10px 24px rgba(45, 59, 53, 0.10) !important;
    backdrop-filter: blur(14px);
    color: #315448 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
}

.layui-layer-msg .layui-layer-content:empty,
.layui-layer-hui .layui-layer-content:empty {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.layui-layer-msg .layui-layer-content:before,
.layui-layer-hui .layui-layer-content:before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex: 0 0 8px;
    background: #78b8a2;
    box-shadow: 0 0 0 4px rgba(120, 184, 162, 0.14);
}

.layui-layer-msg .layui-layer-content:empty:before,
.layui-layer-hui .layui-layer-content:empty:before {
    content: none;
}

@media (max-width: 767px) {
    .layui-layer-msg .layui-layer-content,
    .layui-layer-hui .layui-layer-content {
        min-height: 42px;
        padding: 9px 14px !important;
        font-size: 14px !important;
    }
}

.dream-trade-secret-shade {
    background:
        radial-gradient(circle at top, rgba(120, 184, 162, 0.14), transparent 38%),
        rgba(30, 41, 37, 0.36) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.layui-layer.dream-trade-secret-layer {
    border-radius: 30px !important;
    overflow: hidden !important;
    border: 1px solid rgba(87, 108, 97, 0.12) !important;
    box-shadow: 0 28px 72px rgba(42, 56, 49, 0.18) !important;
    background: linear-gradient(180deg, #fbfdfb 0%, #f4f8f5 100%) !important;
}

.dream-trade-secret-layer .layui-layer-title {
    height: 60px !important;
    line-height: 60px !important;
    padding: 0 74px 0 28px !important;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08) !important;
    background: linear-gradient(180deg, rgba(249, 251, 249, 0.98), rgba(242, 247, 244, 0.96)) !important;
    color: #2f3b35 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.dream-trade-secret-layer .layui-layer-setwin {
    top: 14px !important;
    right: 14px !important;
}

.dream-trade-secret-layer .layui-layer-content {
    padding: 22px 24px 14px !important;
    background: transparent !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    height: 290px !important;
}

.dream-trade-secret-layer .trade-secret-viewer {
    height: 100% !important;
    min-height: 0 !important;
    padding: 18px 18px 16px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(104, 156, 139, 0.14) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 246, 0.96)) !important;
    color: #355248 !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
    box-sizing: border-box !important;
    resize: none;
}

.dream-trade-secret-layer .layui-layer-btn {
    padding: 0 24px 22px !important;
    background: transparent !important;
    text-align: right !important;
}

.dream-trade-secret-layer .layui-layer-btn a {
    min-width: 164px !important;
    height: 46px !important;
    line-height: 46px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(104, 156, 139, 0.22) !important;
    background: linear-gradient(135deg, #8dcab8, #5e9f89) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: 0 16px 28px rgba(84, 135, 117, 0.20) !important;
}

.dream-trade-secret-layer .layui-layer-btn a:hover {
    border-color: rgba(94, 159, 137, 0.34) !important;
    filter: saturate(1.03);
}

@media (max-width: 767px) {
    .layui-layer.dream-trade-secret-layer {
        border-radius: 26px !important;
    }

    .dream-trade-secret-layer .layui-layer-title {
        height: 56px !important;
        line-height: 56px !important;
        padding: 0 66px 0 22px !important;
        font-size: 16px !important;
    }

    .dream-trade-secret-layer .layui-layer-content {
        height: auto !important;
        padding: 18px 18px 10px !important;
    }

    .dream-trade-secret-layer .trade-secret-viewer {
        min-height: calc(100vh - 178px);
        min-height: calc(100dvh - 178px);
        padding: 16px 16px 14px !important;
        border-radius: 20px !important;
        font-size: 13px !important;
    }

    .dream-trade-secret-layer .layui-layer-btn {
        padding: 0 18px 18px !important;
    }

    .dream-trade-secret-layer .layui-layer-btn a {
        width: 100% !important;
        min-width: 0 !important;
        height: 44px !important;
        line-height: 44px !important;
        font-size: 14px !important;
    }
}

.share_url {
    color: #8e8eefbd;
    cursor: pointer;
    font-size: 14px;
}

.description {
    font-size: 14px;
    color: rgba(15, 23, 42, 0.70);
}

.description p {
    font-size: 14px !important;
    margin-bottom: 0 !important;
}

.seckill_end_time {
    color: #4caf50 !important;
}

.seckill_start_time {
    color: orangered !important;
}

.commodity-di .price {
    color: #16a34a;
    font-weight: bold;
    font-size: 14px !important;
}

.commodity-di .price_tips {
    color: #6772e5;
}

.delivery_way_hand {
    color: white;
    background: #ff000066;
    padding: 2px 4px;
    border-radius: 5px;
    font-size: 12px;
}

.delivery_way_auto {
    color: white;
    background: #00800078;
    padding: 2px 4px;
    border-radius: 5px;
    font-size: 12px;
}

.dream-commodity-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 12px;
}

.dream-commodity-meta-badge,
.dream-commodity-meta-row .delivery_way_auto,
.dream-commodity-meta-row .delivery_way_hand {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.dream-commodity-meta-row .delivery_way_auto,
.dream-commodity-meta-row .delivery_way_hand {
    padding: 6px 12px;
}

.dream-commodity-meta-row .kucun {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.dream-commodity-meta-row .sold_badge {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.commodity-di input[type=number], .commodity-di input[type=password], .commodity-di input[type=email] {
    display: inline-block !important;
    width: 240px;
    height: 28px;
    border-radius: 5px !important;
    padding-left: 6px !important;
    border: none;
}

/* 覆盖旧规则：popup 内所有输入字体统一 */
.layui-layer-page input[type=text],
.layui-layer-page input[type=number],
.layui-layer-page input[type=password],
.layui-layer-page input[type=email],
.layui-layer-page .layui-input,
.layui-layer-page .layui-textarea {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #415650 !important;
}

.layui-layer-page textarea {

    border-radius: 10px;
}

.layui-layer-page textarea:focus {
    outline: none;
}

.layui-layer-page input::placeholder {
    color: #6c6a6a !important;
}

.layui-layer-page input:focus {
    outline: none;
}

/* popup 表单基线：标签与输入控件居中对齐 */
.layui-layer-page .layui-form-item .layui-form-label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: auto !important;
    line-height: 1.35 !important;
}

/* 必填星号避免与标签文字重叠 */
.layui-layer-page .layui-form-item .layui-form-label .layui-required {
    position: static !important;
    margin-left: 2px !important;
    line-height: 1 !important;
}

/* 商品图标后面的图库按钮留出间距 */
.layui-layer-page .layui-form-item .layui-form-label b[class^="images-"],
.layui-layer-page .layui-form-item .layui-form-label b[class*=" images-"] {
    margin-left: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* 下拉箭头固定在输入框内部右侧并垂直居中 */
.layui-layer-page .layui-form-item .layui-input-block .layui-form-select {
    position: relative !important;
    width: 100% !important;
}

.layui-layer-page .layui-form-item .layui-input-block .layui-form-select .layui-input {
    padding-right: 44px !important;
}

.layui-layer-page .layui-form-item .layui-input-block .layui-form-select .layui-edge {
    position: absolute !important;
    right: 16px !important;
    top: 60% !important;
    left: auto !important;
    margin-top: 0 !important;
    transform: translateY(-50%) rotate(0deg) !important;
    transform-origin: 50% 50% !important;
    transition: transform .18s ease !important;
    pointer-events: none !important;
}

.layui-layer-page .layui-form-item .layui-input-block .layui-form-select.layui-form-selected .layui-edge {
    top: 40% !important;
    transform: translateY(-50%) rotate(180deg) !important;
}

@media (max-width: 767px) {
    .layui-layer-page .layui-form-select .layui-edge,
    .layui-layer-page .layui-input-block .layui-form-select .layui-edge,
    .layui-layer-page .layui-form-item .layui-input-block .layui-form-select .layui-edge {
        top: 80% !important;
    }

    .layui-layer-page .layui-form-select.layui-form-selected .layui-edge,
    .layui-layer-page .layui-input-block .layui-form-select.layui-form-selected .layui-edge,
    .layui-layer-page .layui-form-item .layui-input-block .layui-form-select.layui-form-selected .layui-edge {
        top: 70% !important;
    }
}


.purchase_num {
    width: 80px !important;
}

.card_count {
    color: #0fb183;
}

.card_count_general {
    color: #a5620f !important;
}

.card_count_immediately {
    color: #f16868 !important;
}


.card_count_unknown {
    color: #35b98e !important;
}

.card_count_empty {
    color: #d1d2d6 !important;
}

.purchase_count {
    display: none;
    color: #26fbdd;
}

.captcha-input {
    width: 120px !important;
}

.commodity-di .captcha {
    position: relative;
    top: -2px;
    cursor: pointer;
}

.trade_amount {
    font-weight: bold;
    color: #dc2626;
}

.qq-service {
    color: #2aa2e3;
    padding: 0 4px 0 0;
    font-size: 12px;
    margin: 0 4px 0 0;
    border-radius: 5px;
}

.web-service {
    color: #ff8484;
    padding: 0 4px 0 4px;
    margin: 0;
    font-size: 12px;
    border-radius: 5px;
}

.pay-content {
    border-top: 1px solid rgba(15, 23, 42, 0.10);
    margin-top: 10px;
    padding-top: 10px;
}

.pay-content label {
    font-size: 12px;
    color: rgba(15, 23, 42, 0.78);
    font-weight: 700;
}

.pay_list {
    padding-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pay-button {
    position: relative;
    margin: 0;
    background: #f8fafc !important;
    font-size: 14px;
    border-radius: 12px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    padding: 10px 12px;
    min-height: 42px;
    line-height: 1;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
    color: rgba(15, 23, 42, 0.82) !important;
    text-decoration: none !important;
}

.pay-button:hover {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, 0.18);
    transform: translateY(-1px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.10);
}

.pay-button:active {
    transform: translateY(0);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.pay-button:focus-visible {
    outline: 3px solid rgba(36, 190, 88, 0.25);
    outline-offset: 2px;
}

.pay-button--balance {
    background: rgba(36, 190, 88, 0.10) !important;
    border-color: rgba(36, 190, 88, 0.35) !important;
}
.pay-button--balance:hover {
    background: rgba(36, 190, 88, 0.14) !important;
    border-color: rgba(36, 190, 88, 0.55) !important;
}

.pay-button img {
    height: 22px;
    width: 22px;
    border-radius: 8px;
    object-fit: cover;
}


.draft_status {
    display: none;
}

.draft_status button[type=button] {
    border-radius: 5px;
    background-color: #95d0bd;
    color: white;
    cursor: pointer;
    padding: 1px 5px 1px 5px;
    border: none;
}

.draft_status button[type=button]:focus {
    outline: none;
}

.draft_status button[type=button]:disabled {
    background-color: rgba(239, 239, 239, 0.3);
    color: grey;
}

.draft_premium {
    color: red;
}

.draft_status table {
    margin: 10px 0 5px 0;
}

.draft_status .draftCard label {
    font-size: 14px;
    color: grey;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.6;
}

.draft_status .draftCard input[name=card_id] {
    flex: 0 0 auto;
    margin-top: 3px;
}

.draft_status .draftCard td {
    white-space: normal;
}


.need-login {
    margin-top: 10px;
    font-size: 14px;
    color: #ed8181;
    font-weight: bold;
}

.need-login a {
    color: #526ccb;
}

/* 设置滚动条的样式 */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

/* 滚动槽 */
::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 999px;
}

/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.75);
    background: transparent;
    box-shadow: inset 0 0 0 1px rgba(66, 122, 95, 0.12);
}

::-webkit-scrollbar-thumb:window-inactive {
    background: transparent;
}

html,
body,
.dream-category-sidebar,
.dream-cart-popover-body,
.dream-user-sidebar-nav {
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}

html.dream-scroll-active,
body.dream-scroll-active,
.dream-scroll-active {
    scrollbar-color: rgba(103, 152, 125, 0.9) rgba(131, 178, 155, 0.12);
}

html.dream-scroll-active::-webkit-scrollbar-track,
body.dream-scroll-active::-webkit-scrollbar-track,
.dream-scroll-active::-webkit-scrollbar-track {
    background: rgba(131, 178, 155, 0.12);
}

html.dream-scroll-active::-webkit-scrollbar-thumb,
body.dream-scroll-active::-webkit-scrollbar-thumb,
.dream-scroll-active::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(115, 144, 131, 0.95), rgba(88, 150, 124, 0.95));
}

html.dream-scroll-active::-webkit-scrollbar-thumb:window-inactive,
body.dream-scroll-active::-webkit-scrollbar-thumb:window-inactive,
.dream-scroll-active::-webkit-scrollbar-thumb:window-inactive {
    background: rgba(103, 152, 125, 0.55);
}

.lot {
    font-size: 12px;
    list-style-type: none;
    padding: 0;
    color: #0fb183;
}

.open-query .search-query {
    border: none;
    font-size: 14px;
    color: white;
    background: #e9b4ed;
    padding: 2px 10px;
    border-radius: 5px;
}

.open-query .search-value {
    width: 280px;
}

.open-query .search-query:focus {
    outline: none;
}

.open-query .search-page {
    border-bottom: 1px dashed #ff7c7c3b;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.open-query .hr-top {
    border-bottom: 1px dashed #ff7c7c3b;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.open-query .getCard {
    cursor: pointer;
    color: white;
    background: #f1b4ca;
    padding: 1px 5px;
    font-size: 14px;
    border-radius: 5px;
}

.open-query .card-textarea {
    border: 1px solid #f3c0c066;
    width: 100%;
    padding: 10px;
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    .open-commodity, .open-query {
        padding: 20px;
    }

    .layui-layer[type=page] {
        border-radius: 0 !important;
    }
}


/**
---------------------------------------弹窗购买部分CSS:End-----------------------------------------------
 */

.race-click {
    margin-right: 8px;
    padding: 1px 8px;
    text-align: center;
    box-shadow: 0 1px 4px 0 rgb(0 0 0 / 20%);
    border-radius: 10px;
    cursor: pointer;
    display: inline-block;
    user-select: none;
    transition: all .3s ease;
}

.race-click.checked {
    border: 1px solid #03a9f4;
}

.category-list table tr th:nth-child(4), .category-list table tr td:nth-child(4) {
    position: relative;
    right: 0;
    width: 60px;
    text-align: center;
}

.category-list table tr th:nth-child(3), .category-list table tr td:nth-child(3) {
    position: relative;
    right: 50px;
    width: 80px;
    text-align: center;
}

.category-list table tr th:nth-child(2), .category-list table tr td:nth-child(2) {
    position: relative;
    right: 80px;
    width: 80px;
    text-align: center;
    margin: 0 20px;
}

@media screen and (max-width: 768px) {
    .category-list table tr th:nth-child(2), .category-list table tr td:nth-child(2) {
        right: 0;
    }

    .category-list table tr th:nth-child(3), .category-list table tr td:nth-child(3) {
        right: 0;
    }
}

.category-list table .item {
    border-bottom: 1px solid #efefef;
}

.category-list table .item:nth-last-child(1) {
    border-bottom: none;
}


.category-list table .head th {
    padding: 10px 0;
    font-weight: bold !important;
    font-size: 14px;
}

.category-list table .item td {
    padding: 10px 0;
    font-size: 14px;
    font-weight: bolder;
}

.category-list table .head th:nth-child(1) {
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
}

.category-list table .head th:nth-child(4) {
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
}

.category-list table .item td:nth-child(1) {
    font-weight: bolder;
}

.category-list table .item td:nth-child(2) {
    color: #fe00dc;
    padding-right: 2px;
}

.category-list table .item td:nth-child(3) {
    color: #2ec25d;
    padding-right: 5px;
}

.category-list table .item td:nth-child(4) a {
    border-radius: 10px;
    border: 1px solid transparent;
    display: inline-block;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    padding: 2px 5px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-box-shadow: 0 1px 4px 0 #ff99e899;
    box-shadow: 0 1px 4px 0 #ff99e899;
    color: grey;
}

p {
    font-size: 14px;
}

/* =====================================================================================
   Dream Theme - layout / header / footer（从 Header 内联样式下沉，便于缓存与维护）
   ===================================================================================== */
:root {
    --dream-bg: #f7f7f7;
    --dream-surface: #ffffff;
    --dream-text: #0f172a;
    --dream-muted: rgba(15, 23, 42, 0.68);
    --dream-primary: #24be58;
    --dream-primary-hover: #4ba36d;
    --dream-radius: 14px;
    --dream-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    --dream-border: 1px solid rgba(15, 23, 42, 0.08);
}

body {
    background: var(--dream-bg);
    color: var(--dream-text);
}

a,
button,
input,
select,
textarea,
summary,
[role="button"],
[tabindex] {
    -webkit-tap-highlight-color: transparent;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
summary:focus,
[role="button"]:focus,
[tabindex]:focus {
    outline: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
[tabindex]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(120, 184, 162, 0.18), 0 0 0 1px rgba(94, 159, 137, 0.42);
    border-color: rgba(94, 159, 137, 0.42);
}

@media (min-width: 1200px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 80%;
    }
}

/* 顶部导航：固定 + 玻璃感 */
#app {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: saturate(180%) blur(10px);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
}

/* 主内容与固定导航留出空间（替代旧 JS 计算） */
.content-wrapper {
    padding-top: calc(var(--dream-app-height, 72px) + 14px);
}
@media (max-width: 600px) {
    .content-wrapper {
        padding-top: calc(var(--dream-app-height, 72px) + 15px);
    }
}

/* 卡片：收敛外发光，增强“高级感” */
.card {
    background: var(--dream-surface) !important;
    border: var(--dream-border);
    border-radius: var(--dream-radius);
    box-shadow: var(--dream-shadow);
}

.card-header {
    background: transparent;
    border-bottom: 1px dashed rgba(15, 23, 42, 0.14) !important;
}

.card-title {
    margin: 0;
    font-weight: 700;
    color: var(--dream-text);
}

/* 导航链接 */
.navbar .nav-link {
    font-weight: 700;
    color: rgba(15, 23, 42, 0.78);
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
    color: var(--dream-primary);
}

.dream-navbar-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    min-height: 74px;
}

.dream-navbar-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: rgba(15, 23, 42, 0.78);
    text-decoration: none;
}

.dream-navbar-brand:hover,
.dream-navbar-brand:focus {
    color: rgba(15, 23, 42, 0.78);
    text-decoration: none;
}

.dream-navbar-brand img {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    object-fit: cover;
}

.dream-navbar-brand span {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .01em;
    color: #33b441;
}

.dream-navbar-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
    margin-left: 28px;
}

.dream-navbar-nav .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 15px;
}

.dream-navbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex-shrink: 0;
}

.dream-navbar-search {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: min(320px, 40vw);
    padding: 3px 3px 3px 14px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

.dream-navbar-search i {
    color: rgba(15, 23, 42, 0.42);
    font-size: 16px;
}

.dream-navbar-search .search-input {
    flex: 1;
    min-width: 0;
    height: 32px;
    border: none;
    background: transparent;
    box-shadow: none;
    padding: 0;
    color: var(--dream-text);
}

.dream-navbar-search .search-input:focus {
    outline: none;
    box-shadow: none;
}

.dream-navbar-search .search-btn {
    color: white;
    min-width:55px;
    height: 35px;
    border-radius: 999px !important;
    padding: 0 18px;
}

.dream-navbar-balance {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.1;
    color: rgba(15, 23, 42, 0.54);
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.dream-navbar-balance b {
    margin-top: 4px;
    color: #16a34a;
    font-size: 16px;
}

.dream-navbar-user {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 2px solid rgba(36, 190, 88, 0.24);
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.dream-navbar-user img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dream-navbar-user-menu {
    position: relative;
}

.dream-navbar-user-menu .dream-navbar-user {
    border: none;
    padding: 0;
    cursor: pointer;
}

.dream-navbar-user-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    min-width: 132px;
    padding: 10px 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.14);
    border: 1px solid rgba(15, 23, 42, 0.06);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    z-index: 1010;
}

.dream-navbar-user-menu:hover .dream-navbar-user-dropdown,
.dream-navbar-user-menu.open .dream-navbar-user-dropdown,
.dream-navbar-user-menu:focus-within .dream-navbar-user-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dream-navbar-user-dropdown a {
    display: block;
    padding: 10px 18px;
    color: var(--dream-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.dream-navbar-user-dropdown a:hover {
    background: rgba(36, 190, 88, 0.08);
    color: var(--dream-primary);
}

/* 搜索按钮（替代 inline onmouseover/onmouseout） */
.search-btn {
    background-color: var(--dream-primary) !important;
    border: none !important;
    outline: none !important;
    border-radius: 0 10px 10px 0 !important;
    height: 38px;
}
.search-btn:hover {
    background-color: var(--dream-primary-hover) !important;
}

/* 首页双栏布局 */
.dream-home-notice,
.dream-home-toolbar,
.dream-category-sidebar,
.dream-product-panel {
    overflow: hidden;
}

.dream-home-notice {
    display: block;
    margin-bottom: 18px;
    padding: 18px 22px;
}

.dream-home-notice-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--dream-primary);
    font-weight: 700;
    white-space: nowrap;
    margin-bottom: 12px;
}

.dream-home-notice-body {
    color: var(--dream-muted);
    line-height: 1.7;
    width: 100%;
    overflow: hidden;
}

.dream-home-notice-body > * {
    max-width: 100% !important;
}

.dream-home-notice-body p,
.dream-home-notice-body div,
.dream-home-notice-body span,
.dream-home-notice-body blockquote {
    word-break: break-word;
}

.dream-home-notice-body p:last-child {
    margin-bottom: 0;
}

.dream-home-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
    padding: 22px;
}

.dream-home-toolbar-copy {
    min-width: 0;
}

.dream-home-toolbar-kicker,
.dream-category-sidebar-kicker,
.dream-panel-eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(15, 23, 42, 0.42);
}

.dream-home-toolbar-copy h2,
.dream-category-sidebar-head h3,
.dream-panel-title {
    margin: 0;
    font-size: 30px;
    line-height: 1.2;
    color: var(--dream-text);
}

.dream-home-search {
    width: min(420px, 100%);
}

.dream-home-search .input-group {
    width: 100%;
}

.dream-home-search .search-input {
    height: 42px;
    border: none;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.10);
    border-radius: 12px 0 0 12px;
}

.dream-home-market {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.dream-category-sidebar {
    position: sticky;
    top: calc(var(--dream-app-height, 72px) + 20px);
    padding: 18px 14px;
    overscroll-behavior: contain;
    overflow: hidden;
}

.dream-category-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (min-width: 992px) {
    .dream-category-sidebar {
        max-height: calc(100vh - var(--dream-app-height, 72px) - 40px);
    }

    .dream-category-nav {
        max-height: calc(100vh - var(--dream-app-height, 72px) - 76px);
        overflow-y: auto;
        padding: 8px 4px 2px 0;
        margin-right: -4px;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: transparent transparent;
    }

    .dream-category-sidebar:hover .dream-category-nav,
    .dream-category-nav:hover,
    .dream-category-nav:focus-within {
        scrollbar-color: rgba(88, 150, 124, 0.88) rgba(131, 178, 155, 0.12);
    }

    .dream-category-nav::-webkit-scrollbar {
        width: 6px;
    }

    .dream-category-nav::-webkit-scrollbar-track {
        border-radius: 999px;
        background: transparent;
        transition: background-color .24s ease;
    }

    .dream-category-nav::-webkit-scrollbar-thumb {
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.88);
        background: transparent;
        background-clip: padding-box;
        transition: background-color .24s ease, border-color .24s ease;
    }

    .dream-category-sidebar:hover .dream-category-nav::-webkit-scrollbar-track,
    .dream-category-nav:hover::-webkit-scrollbar-track,
    .dream-category-nav:focus-within::-webkit-scrollbar-track {
        background: rgba(131, 178, 155, 0.10);
    }

    .dream-category-sidebar:hover .dream-category-nav::-webkit-scrollbar-thumb,
    .dream-category-nav:hover::-webkit-scrollbar-thumb,
    .dream-category-nav:focus-within::-webkit-scrollbar-thumb {
        border-color: rgba(255, 255, 255, 0.88);
        background: linear-gradient(180deg, rgba(115, 144, 131, 0.95), rgba(88, 150, 124, 0.95));
    }

    .dream-category-sidebar:not(:hover) .dream-category-nav::-webkit-scrollbar-thumb,
    .dream-category-nav:not(:hover):not(:focus-within)::-webkit-scrollbar-thumb {
        border-color: transparent;
    }
}

.dream-category-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 13px 14px;
    border: none;
    border-radius: 16px;
    background: transparent;
    color: rgba(15, 23, 42, 0.72);
    text-align: left;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.dream-category-item:hover {
    background: rgba(36, 190, 88, 0.08);
    color: var(--dream-text);
    transform: translateX(2px);
}

.dream-category-item.active {
    background: rgba(36, 190, 88, 0.12);
    color: var(--dream-primary);
}

.dream-category-item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.05);
    flex-shrink: 0;
    overflow: hidden;
}

.dream-category-item-icon.fire {
    background: rgba(36, 190, 88, 0.12);
}

.dream-category-item-icon img {
    width: 20px;
    height: 20px;
    object-fit: cover;
}

.dream-category-item-text {
    font-size: 15px;
    line-height: 1.35;
}

.dream-product-panel {
    padding: 18px 18px 22px;
    min-height: 620px;
}

.dream-panel-state {
    margin-bottom: 20px;
}

.dream-panel-state-box {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 14px;
    font-weight: 600;
}

.dream-panel-state-box.loading {
    background: rgba(15, 23, 42, 0.05);
    color: rgba(15, 23, 42, 0.66);
}

.dream-panel-state-box.empty {
    background: rgba(245, 158, 11, 0.10);
    color: #b45309;
}

.dream-panel-state-box.error {
    background: rgba(220, 38, 38, 0.10);
    color: #b91c1c;
}

.dream-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 18px;
}

.dream-product-sentinel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    margin-top: 16px;
    color: rgba(15, 23, 42, 0.42);
    font-size: 13px;
    font-weight: 600;
}

.dream-product-sentinel-spinner {
    font-size: 13px;
}

.dream-product-sentinel-text {
    line-height: 1;
}

.dream-product-sentinel.hidden {
    display: none;
}

.dream-product-sentinel.loading,
.dream-product-sentinel.error {
    color: rgba(15, 23, 42, 0.56);
}

.dream-product-sentinel.done {
    color: rgba(15, 23, 42, 0.34);
}

.dream-product-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.dream-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.10);
    border-color: rgba(36, 190, 88, 0.18);
}

.dream-product-cover {
    display: block;
    aspect-ratio: 1 / 1;
    background: linear-gradient(180deg, #fff, #f8fafc);
    overflow: hidden;
}

.dream-product-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dream-product-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
}

.dream-product-name {
    color: #7f7f7f;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    min-height: 44px;
}

.dream-product-name:hover {
    color: #7f7f7f;
    text-decoration: none;
}

.dream-product-price-row {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
}

.dream-product-price {
    color: #f97316;
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
}

.dream-product-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dream-product-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.dream-product-badge.stock-ok {
    background: rgba(16, 185, 129, 0.10);
    color: #047857;
}

.dream-product-badge.stock-warn {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

.dream-product-badge.stock-empty {
    background: rgba(220, 38, 38, 0.10);
    color: #b91c1c;
}

.dream-product-badge.delivery {
    background: rgba(59, 130, 246, 0.10);
    color: #2563eb;
}

.dream-product-badge.sold {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
}

@media screen and (max-width: 991px) {
    .dream-navbar-shell {
        flex-wrap: wrap;
        gap: 14px;
        padding: 10px 0;
    }

    .dream-navbar-nav {
        order: 3;
        width: 100%;
        margin: 0;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .dream-navbar-actions {
        margin-left: auto;
    }

    .dream-navbar-search {
        width: min(420px, 52vw);
    }

    .dream-commodity-meta-row {
        gap: 8px;
    }

    .dream-home-market {
        grid-template-columns: 1fr;
    }

    .dream-category-sidebar {
        position: static;
    }

    .dream-category-nav {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .dream-navbar-brand span {
        font-size: 17px;
    }

    .dream-navbar-search {
        width: 100%;
        padding-right: 4px;
    }

    .dream-navbar-actions {
        width: 100%;
        align-items: center;
    }

    .dream-commodity-meta-badge,
    .dream-commodity-meta-row .delivery_way_auto,
    .dream-commodity-meta-row .delivery_way_hand {
        min-height: 28px;
        padding: 6px 10px;
    }

    .dream-navbar-user-dropdown {
        right: -4px;
    }

    .dream-navbar-balance {
        align-items: flex-start;
    }

    .dream-home-notice,
    .dream-product-panel,
    .dream-category-sidebar {
        padding: 18px 16px;
    }

    .dream-home-notice,
    .dream-navbar-actions {
        flex-direction: column;
    }

    .dream-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .dream-product-name {
        font-size: 14px;
        min-height: 40px;
    }

    .dream-product-price {
        font-size: 22px;
    }
}

@media screen and (max-width: 520px) {
    .dream-category-nav,
    .dream-product-grid {
        grid-template-columns: 1fr;
    }
}

/* 商品购买按钮 */
.category-list table .item td:nth-child(4) a {
    box-shadow: none;
    background-color: var(--dream-primary);
    color: #ffffff;
    transition: background-color 0.2s ease;
}
.category-list table .item td:nth-child(4) a:hover {
    background-color: var(--dream-primary-hover);
}

/* 商品详情页 */
.dream-detail-page .container {
    max-width: 1180px;
}

.dream-detail-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.dream-detail-back,
.dream-detail-query,
.dream-detail-error-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: var(--dream-text);
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.dream-detail-query,
.dream-detail-error-back {
    background: var(--dream-primary);
    color: #ffffff;
}

.dream-detail-layout {
    padding: 26px;
}

.dream-detail-hero {
    display: grid;
    grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin-bottom: 24px;
}

.dream-detail-cover-wrap {
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(135deg, #f8fafc 0%, #e8f5ec 100%);
    border: 1px solid rgba(15, 23, 42, 0.06);
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
}

.dream-detail-cover {
    width: 100%;
    max-height: 380px;
    object-fit: contain;
    border-radius: 18px;
    background: #ffffff;
}

.dream-detail-summary {
    min-width: 0;
}

.dream-detail-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(36, 190, 88, 0.12);
    color: var(--dream-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.dream-detail-title {
    text-align: left;
    font-size: 2rem;
    line-height: 1.25;
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 14px;
}

.dream-detail-description {
    padding: 18px 20px;
    border-radius: 18px;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.06);
    min-height: 120px;
}

.dream-detail-description img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.dream-detail-purchase {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 20px;
    align-items: start;
}

.dream-detail-panel,
.dream-detail-pay {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    padding: 22px;
}

.dream-detail-panel .general {
    margin-bottom: 16px;
}

.dream-detail-panel .contact,
.dream-detail-panel .password .acg-input,
.dream-detail-panel .coupon .acg-input {
    display: block !important;
    width: 100% !important;
    max-width: none;
    height: 42px;
    margin-top: 8px;
    padding: 0 12px !important;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px !important;
}

.dream-detail-panel .purchase_num {
    width: 96px !important;
    height: 38px;
    margin: 0 8px;
    padding: 0 10px !important;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px !important;
}

.dream-detail-panel .captcha-input {
    width: 160px !important;
    height: 38px;
    margin-right: 10px;
    padding: 0 10px !important;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 10px !important;
}

.dream-detail-panel .captcha {
    height: 38px;
    border-radius: 10px;
    vertical-align: middle;
}

.dream-detail-pay {
    position: sticky;
    top: calc(var(--dream-app-height, 72px) + 18px);
}

.dream-detail-pay .pay_list {
    flex-direction: column;
}

.dream-detail-pay .pay-button {
    justify-content: center;
    width: 100%;
}

.dream-detail-error-inner {
    text-align: center;
    padding: 42px 18px;
    color: var(--dream-muted);
}

.dream-detail-error-inner i {
    display: block;
    font-size: 42px;
    color: #ef4444;
    margin-bottom: 14px;
}

@media (max-width: 768px) {
    .dream-detail-nav {
        flex-direction: column;
        align-items: stretch;
    }

    .dream-detail-layout {
        padding: 18px;
    }

    .dream-detail-hero,
    .dream-detail-purchase {
        grid-template-columns: 1fr;
    }

    .dream-detail-cover-wrap {
        min-height: 220px;
    }

    .dream-detail-title {
        font-size: 1.6rem;
    }

    .dream-detail-pay {
        position: static;
    }

    .dream-detail-panel,
    .dream-detail-pay {
        padding: 18px;
    }
}

/* 弹窗输入框更统一 */
.layui-layer-page input[type=text],
.commodity-di input[type=number],
.commodity-di input[type=password],
.commodity-di input[type=email] {
    background-color: #f2f2f2;
}

/* 引用样式 */
blockquote {
    font-size: 12px;
    border-left: 4px solid rgba(15, 23, 42, 0.25);
    padding: 10px 15px;
    margin: 10px 0;
    line-height: 1.5;
    background-color: #f9fafb;
    border-radius: 10px;
    color: rgba(15, 23, 42, 0.78);
}

/* Footer */
.custom-footer-container {
    background-color: #f8f9fa;
    padding: 24px 12px;
    text-align: center;
    border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.custom-footer-top {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: 12px auto 18px;
    max-width: 1200px;
    padding: 0 20px;
}

.custom-footer-icon {
    font-size: 18px;
    color: rgba(15, 23, 42, 0.70);
    margin: 10px 12px;
    flex: 0 1 calc(25% - 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.custom-footer-icon i {
    font-size: 22px;
    color: rgba(15, 23, 42, 0.55);
}

.custom-footer-divider {
    border-top: 1px solid rgba(15, 23, 42, 0.10);
    margin: 14px 0;
}

.custom-footer-links {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: 16px auto;
    max-width: 900px;
    padding: 0 20px;
}

.custom-footer-section {
    margin: 10px;
    min-width: 200px;
    flex: 1 1 calc(50% - 20px);
}

.custom-footer-section h4 {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 700;
    color: rgba(15, 23, 42, 0.78);
}

.custom-footer-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.custom-footer-section ul li {
    margin-bottom: 6px;
    font-size: 14px;
}

.custom-footer-links a {
    color: rgba(15, 23, 42, 0.70);
    text-decoration: none;
}

/* 购物车悬浮按钮：左下角，与右侧客服操作形成对称 */
.dream-cart-float {
    position: fixed;
    left: 16px;
    bottom: 22px;
    z-index: 1090;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
    color: rgba(15, 23, 42, 0.88);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease;
}
.dream-cart-float:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.2);
    text-decoration: none;
}
.dream-cart-float b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 12px;
}

.dream-cart-modal {
    padding: 14px 16px;
    min-height: 300px;
    background: #fff;
}
.dream-cart-layer {
    border-radius: 18px !important;
    overflow: hidden;
}
.dream-cart-layer .layui-layer-content {
    border-radius: 0 0 18px 18px;
}
.layui-layer.layui-layer-page.dream-cart-layer {
    border-radius: 18px !important;
    overflow: hidden !important;
}
.layui-layer.layui-layer-page.dream-cart-layer .layui-layer-title {
    border-radius: 18px 18px 0 0;
}
.layui-layer.layui-layer-page.dream-cart-layer .layui-layer-content {
    border-radius: 0 0 18px 18px;
}
.dream-cart-loading,
.dream-cart-empty,
.dream-cart-empty-pay {
    color: rgba(15, 23, 42, 0.56);
    text-align: center;
    padding: 30px 0;
}
.dream-cart-table-wrap {
    max-height: 280px;
    overflow: auto;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
}
.dream-cart-table {
    width: 100%;
    border-collapse: collapse;
}
.dream-cart-table th,
.dream-cart-table td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    text-align: left;
    vertical-align: middle;
}
.dream-cart-table td:nth-child(2) {
    text-align: center;
}
.dream-cart-table th:nth-child(2) {
    text-align: center;
}
.dream-cart-num {
    width: 76px;
    padding: 6px 8px;
    border-radius: 8px;
    border: 1px solid rgba(15, 23, 42, 0.16);
    background: #f8fafc;
    display: inline-block;
    vertical-align: middle;
}
.dream-cart-item-name {
    font-weight: 700;
    color: rgba(15, 23, 42, 0.9);
}
.dream-cart-item-race {
    color: rgba(15, 23, 42, 0.55);
    font-size: 12px;
    margin-top: 4px;
}
.dream-cart-item-widget {
    color: rgba(15, 23, 42, 0.55);
    font-size: 12px;
    margin-top: 3px;
    line-height: 1.45;
}
.dream-cart-item-error {
    color: #e11d48;
    font-size: 12px;
    margin-top: 4px;
}
.dream-cart-del {
    color: #6366f1;
}
.dream-cart-footer {
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.dream-cart-total b {
    color: #e11d48;
    font-size: 28px;
}
.dream-cart-actions {
    display: flex;
    gap: 10px;
}
.dream-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    height: 40px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid rgba(15, 23, 42, 0.14);
}
.dream-cart-btn.ghost {
    color: rgba(15, 23, 42, 0.74);
    background: #f8fafc;
}
.dream-cart-btn.primary {
    color: #0f5132;
    background: #e8f8ed;
    border-color: #9dd5af;
}
.dream-cart-pay-panel {
    margin-top: 12px;
    border-top: 1px dashed rgba(15, 23, 42, 0.16);
    padding-top: 12px;
}
.dream-cart-subtitle {
    font-size: 16px;
    font-weight: 700;
    color: rgba(15, 23, 42, 0.78);
    margin-bottom: 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.dream-cart-pay-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.dream-cart-pay {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid rgba(15, 23, 42, 0.12);
    color: rgba(15, 23, 42, 0.86);
    background: #fff;
    text-decoration: none;
    font-weight: 600;
}
.dream-cart-pay img {
    width: 16px;
    height: 16px;
    border-radius: 4px;
}
.dream-cart-pay.active {
    border-color: #10b981;
    background: #ecfdf5;
    color: #065f46;
}
.dream-cart-captcha {
    margin-top: 12px;
}
.dream-cart-captcha-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.dream-cart-captcha input {
    width: 120px !important;
}
.dream-cart-captcha img {
    cursor: pointer;
    height: 34px;
}

@media (max-width: 768px) {
    .dream-cart-float {
        left: 12px;
        bottom: 16px;
        padding: 9px 12px;
    }
    .dream-cart-total b {
        font-size: 24px;
    }
    .dream-cart-layer {
        border-radius: 18px !important;
        overflow: hidden;
    }
    .dream-cart-layer .layui-layer-content {
        border-radius: 0 0 18px 18px;
    }
    .layui-layer.layui-layer-page.dream-cart-layer {
        border-radius: 18px !important;
        overflow: hidden !important;
    }
    .dream-cart-modal {
        border-radius: 0 0 18px 18px;
    }
}

.custom-footer-links a:hover {
    color: var(--dream-primary);
}

.custom-footer-bottom {
    margin-top: 18px;
    font-size: 13px;
    color: rgba(15, 23, 42, 0.55);
}

@media (max-width: 768px) {
    .custom-footer-icon {
        font-size: 15px;
        flex: 0 1 calc(50% - 30px);
    }
    .custom-footer-icon i {
        font-size: 18px;
    }
    .custom-footer-section {
        flex: 0 1 calc(50% - 20px);
        min-width: 125px;
    }
}

/* =====================================================================================
   商品列表：移动端卡片样式（原先运行时注入，改为静态 CSS）
   ===================================================================================== */
.mobile-product-item {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.mobile-product-item:last-child {
    border-bottom: none;
}

.mobile-product-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex-shrink: 0;
    margin-right: 12px;
    object-fit: cover;
    background: #f1f5f9;
}

.mobile-product-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 40px;
}

.mobile-product-title {
    font-size: 14px;
    color: var(--dream-text);
    line-height: 1.4;
    margin-bottom: 4px;
}

.mobile-product-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.mobile-product-price {
    font-size: 13px;
    color: #dc2626;
    font-weight: 600;
}

.mobile-product-stock {
    font-size: 13px;
    color: #10b981;
}

.mobile-product-buy {
    flex-shrink: 0;
    margin-left: 12px;
}

.mobile-product-buy .commodity-click,
.mobile-product-buy .commodity-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--dream-primary);
    color: #fff;
    padding: 6px 12px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 12px;
    transition: background-color 0.2s ease;
}

.mobile-product-buy .commodity-click:hover,
.mobile-product-buy .commodity-link:hover {
    background: var(--dream-primary-hover);
    color: #fff;
}

.mobile-product-buy .commodity-click i,
.mobile-product-buy .commodity-link i {
    font-size: 12px;
}

.mobile-product-buy .sold-out {
    color: rgba(15, 23, 42, 0.35);
    font-size: 12px;
    padding: 6px 12px;
}

.show-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid rgba(15, 23, 42, 0.14);
    color: rgba(15, 23, 42, 0.70);
    padding: 8px 18px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s ease;
}

.show-more-btn:hover {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.18);
    color: rgba(15, 23, 42, 0.85);
}

.show-more-btn i {
    font-size: 16px;
}

.hidden-item {
    display: none !important;
}

.show-item.mobile-product-item {
    display: flex !important;
}

.show-item.desktop-table-row {
    display: table-row !important;
}

@media (min-width: 768px) {
    .mobile-product-list {
        display: none !important;
    }
    .desktop-table {
        display: table !important;
    }
}

@media (max-width: 767px) {
    .desktop-table {
        display: none !important;
    }
    .mobile-product-list {
        display: block !important;
    }
}

/* =====================================================================================
   Dream premium refresh
   ===================================================================================== */
:root {
    --dream-bg: #f4f1eb;
    --dream-surface: rgba(255, 255, 255, 0.88);
    --dream-surface-strong: #ffffff;
    --dream-text: #2d342f;
    --dream-muted: #6f7972;
    --dream-soft: #9aa59f;
    --dream-primary: #78b8a2;
    --dream-primary-strong: #4f8f79;
    --dream-primary-deep: #335e50;
    --dream-accent: #b78a52;
    --dream-warn: #c27a62;
    --dream-danger: #ba6f79;
    --dream-border: 1px solid rgba(87, 108, 97, 0.12);
    --dream-shadow: 0 24px 70px rgba(42, 56, 49, 0.08);
    --dream-shadow-soft: 0 14px 38px rgba(42, 56, 49, 0.06);
    --dream-radius: 24px;
    --dream-font: "Inter", "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    --dream-font-mono: "Inter", "SFMono-Regular", "JetBrains Mono", monospace;
}

body,
button,
input,
select,
textarea {
    font-family: var(--dream-font);
}

body {
    color: var(--dream-text);
    background:
        radial-gradient(circle at top left, rgba(120, 184, 162, 0.12), transparent 28%),
        radial-gradient(circle at bottom right, rgba(183, 138, 82, 0.12), transparent 22%),
        linear-gradient(180deg, #f7f4ee 0%, #f2efe8 100%);
}

#app {
    background: rgba(247, 244, 238, 0.76);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-navbar {
    background: transparent !important;
    box-shadow: none !important;
}

.card {
    background: var(--dream-surface) !important;
    border: var(--dream-border);
    border-radius: var(--dream-radius);
    box-shadow: var(--dream-shadow-soft);
}

.dream-navbar .container {
    width: min(1560px, calc(100vw - 40px));
    max-width: 90%;
    padding-left: 0;
    padding-right: 0;
}

.dream-navbar-shell {
    min-height: 82px;
    gap: 20px;
}

.dream-navbar-brand {
    flex: 0 0 auto;
    color: var(--dream-text);
}

.dream-navbar-brand img {
    display: block;
    width: auto;
    max-width: min(260px, 26vw);
    height: 48px;
    object-fit: contain;
    object-position: left center;
    border-radius: 0;
    box-shadow: none;
}

.dream-navbar-nav {
    gap: 8px;
    margin-left: 0;
}

.dream-navbar-nav .nav-link {
    position: relative;
    gap: 9px;
    padding: 11px 14px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    color: var(--dream-muted);
    transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.dream-navbar-nav .nav-link i {
    font-size: 14px;
    opacity: .78;
}

.dream-navbar-nav .nav-link:hover,
.dream-navbar-nav .nav-link:focus-visible {
    color: var(--dream-primary-deep);
    background: rgba(120, 184, 162, 0.13);
    box-shadow: inset 0 0 0 1px rgba(120, 184, 162, 0.08);
}

.dream-navbar-nav .nav-link:focus {
    outline: none;
}

.dream-navbar-nav .nav-link:hover {
    transform: translateY(-1px);
}

.dream-navbar-nav .dream-nav-cart-link,
.dream-navbar-nav .nav-link[data-dream-nav="account"] {
    display: none;
}

.dream-mobile-tabbar {
    display: none;
}

.dream-navbar-search {
    width: min(320px, 32vw);
    padding: 4px 4px 4px 16px;
    border-radius: 999px;
    border: 1px solid rgba(87, 108, 97, 0.1);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

.dream-navbar-search i {
    color: var(--dream-soft);
}

.dream-navbar-search .search-input {
    font-size: 14px;
}

.search-btn,
.dream-navbar-search .search-btn {
    height: 38px;
    min-width: 62px;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #95d0bd 0%, #689c8b 100%) !important;
    box-shadow: 0 12px 24px rgba(104, 156, 139, 0.2);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.search-btn:hover,
.dream-navbar-search .search-btn:hover {
    filter: brightness(1.02);
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(104, 156, 139, 0.24);
}

.dream-mobile-search-overlay {
    display: none;
}

.dream-navbar-actions {
    gap: 10px;
}

.dream-navbar-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 46px;
    min-height: 46px;
    padding: 0;
    border: 1px solid rgba(87, 108, 97, 0.08);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--dream-text);
    box-shadow: var(--dream-shadow-soft);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}

.dream-navbar-cart:hover {
    color: var(--dream-primary-deep);
    border-color: rgba(120, 184, 162, 0.2);
    transform: translateY(-1px);
    box-shadow: 0 18px 30px rgba(42, 56, 49, 0.08);
}

.dream-navbar-cart i {
    font-size: 15px;
}

.dream-navbar-cart span {
    display: none;
}

.dream-navbar-cart b {
    position: absolute;
    top: -5px;
    right: -5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: linear-gradient(135deg, #95d0bd 0%, #689c8b 100%);
    color: #f8fffc;
    font-size: 12px;
    font-family: var(--dream-font-mono);
    box-shadow: 0 10px 18px rgba(104, 156, 139, 0.22);
}

.dream-navbar-cart b.is-empty {
    display: none;
}

.dream-navbar-cart-wrap {
    position: relative;
}

.dream-cart-popover {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    z-index: 1200;
    width: min(420px, calc(100vw - 32px));
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px) scale(.98);
    transform-origin: top right;
    transition: opacity .22s ease, transform .22s ease;
}

.dream-cart-popover.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.dream-cart-popover-panel {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(87, 108, 97, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 247, 0.98));
    box-shadow: 0 28px 70px rgba(29, 40, 35, 0.16);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.dream-cart-popover-panel::before {
    content: none;
}

.dream-cart-popover-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 22px 18px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-cart-popover-head p {
    margin: 0 0 6px;
    color: var(--dream-soft);
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-family: var(--dream-font-mono);
}

.dream-cart-popover-head h3 {
    margin: 0;
    color: var(--dream-text);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.dream-cart-popover-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 14px;
    background: rgba(120, 184, 162, 0.08);
    color: var(--dream-muted);
    transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

.dream-cart-popover-close:hover {
    color: var(--dream-primary-deep);
    background: rgba(120, 184, 162, 0.14);
    transform: translateY(-1px);
}

.dream-cart-popover-body {
    max-height: min(78vh, 720px);
    overflow-y: auto;
    scrollbar-gutter: stable;
    padding: 0 22px 22px;
}

.dream-cart-popover-loading,
.dream-cart-popover-empty,
.dream-cart-popover-empty-inline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--dream-muted);
}

.dream-cart-popover-loading {
    min-height: 280px;
    font-size: 14px;
}

.dream-cart-popover-empty {
    min-height: 320px;
    flex-direction: column;
    text-align: center;
    gap: 14px;
}

.dream-cart-popover-empty h4 {
    margin: 0;
    color: var(--dream-text);
    font-size: 22px;
    font-weight: 700;
}

.dream-cart-popover-empty p {
    max-width: 260px;
    margin: 0;
    font-size: 14px;
    line-height: 1.8;
}

.dream-cart-popover-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    border-radius: 24px;
    background: rgba(120, 184, 162, 0.12);
    color: var(--dream-primary-deep);
    font-size: 28px;
}

.dream-cart-popover-empty-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 108px;
    height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #95d0bd 0%, #689c8b 100%);
    color: #f8fffc;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 14px 26px rgba(104, 156, 139, 0.2);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease;
}

.dream-cart-popover-empty-link:link,
.dream-cart-popover-empty-link:visited,
.dream-cart-popover-empty-link:hover,
.dream-cart-popover-empty-link:active,
.dream-cart-popover-empty-link:focus,
.dream-cart-popover-empty-link:focus-visible {
    color: #f8fffc;
    text-decoration: none;
}

.dream-cart-popover-empty-link:hover,
.dream-cart-popover-empty-link:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(104, 156, 139, 0.22);
}

.dream-cart-popover-empty-link:active {
    transform: scale(.97);
    opacity: .94;
    box-shadow: 0 8px 18px rgba(104, 156, 139, 0.16);
}

.dream-cart-popover-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px 0;
}

.dream-cart-popover-item {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    width: 100%;
    box-sizing: border-box;
    gap: 14px;
    padding: 14px;
    border-radius: 22px;
    border: 1px solid rgba(87, 108, 97, 0.08);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 18px 38px rgba(42, 56, 49, 0.05);
}

.dream-cart-popover-item-cover {
    width: 74px;
    height: 74px;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(246, 249, 247, 0.96), rgba(235, 240, 236, 0.96));
}

.dream-cart-popover-item-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dream-cart-popover-item-main {
    min-width: 0;
}

.dream-cart-popover-item-top,
.dream-cart-popover-item-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dream-cart-popover-item-top h4 {
    min-width: 0;
    margin: 0;
    color: var(--dream-text);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.dream-cart-popover-remove {
    flex-shrink: 0;
    border: 0;
    padding: 0;
    background: transparent;
    color: #aa6670;
    font-size: 13px;
    font-weight: 600;
}

.dream-cart-popover-item-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.dream-cart-popover-item-meta-line {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    color: var(--dream-muted);
    font-size: 12px;
    line-height: 1.7;
    min-width: 0;
}

.dream-cart-popover-meta-label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 22px;
    padding: 2px 9px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.12);
    color: #5f7f70;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    white-space: nowrap;
}

.dream-cart-popover-meta-value {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    color: rgba(47, 75, 62, 0.84);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dream-cart-popover-item-meta-line--coupon .dream-cart-popover-meta-label {
    background: rgba(245, 158, 11, 0.14);
    color: #b96b00;
}

.dream-cart-popover-meta-value--coupon {
    color: #9b5d00;
    font-weight: 600;
}

.dream-cart-popover-meta-link {
    display: block;
    color: rgba(47, 75, 62, 0.84);
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

.dream-cart-popover-meta-link:hover,
.dream-cart-popover-meta-link:focus-visible {
    color: #2f6f5c;
    text-decoration: underline;
}

.dream-cart-popover-item-error {
    margin-top: 6px;
    color: #aa6670;
    font-size: 12px;
    line-height: 1.6;
}

.dream-cart-popover-item-bottom {
    margin-top: 12px;
}

.dream-cart-popover-qty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.08);
}

.dream-cart-popover-qty button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--dream-primary-deep);
    box-shadow: 0 4px 10px rgba(42, 56, 49, 0.06);
}

.dream-cart-popover-qty button:disabled {
    opacity: .45;
    cursor: not-allowed;
    box-shadow: none;
}

.dream-cart-popover-qty-input {
    width: 54px;
    height: 30px;
    border: 0;
    background: transparent;
    color: var(--dream-text);
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    font-family: var(--dream-font-mono);
}

.dream-cart-popover-price {
    color: var(--dream-primary-deep);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.04em;
    font-family: var(--dream-font-mono);
}

.dream-cart-popover-checkout {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    gap: 16px;
    padding-bottom: 2px;
}

.dream-cart-popover-section {
    width: 100%;
    box-sizing: border-box;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(87, 108, 97, 0.08);
    background: rgba(248, 250, 247, 0.88);
}

.dream-cart-popover-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.dream-cart-popover-section-head span {
    color: var(--dream-text);
    font-size: 15px;
    font-weight: 700;
}

.dream-cart-popover-section-head small {
    color: var(--dream-muted);
    font-size: 12px;
}

.dream-cart-pay-dropdown {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.dream-cart-pay-trigger {
    width: 100%;
    box-sizing: border-box;
    min-height: 52px;
    padding: 11px 14px;
    border: 1px solid rgba(87, 108, 97, 0.16);
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #f8faf8 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.dream-cart-pay-trigger:hover,
.dream-cart-pay-dropdown.is-open .dream-cart-pay-trigger {
    border-color: #78b8a2;
    box-shadow: 0 14px 28px rgba(120, 184, 162, 0.16);
}

.dream-cart-pay-trigger.is-disabled {
    color: #9ca3af;
    background: #f9fafb;
    cursor: not-allowed;
    box-shadow: none;
}

.dream-cart-pay-current {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #7f7f7f;
}

.dream-cart-pay-current img,
.dream-cart-pay-option-left img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 24px;
}

.dream-cart-pay-current-text,
.dream-cart-pay-option-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dream-cart-pay-current-name,
.dream-cart-pay-option-name {
    color: #7f7f7f;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    word-break: break-word;
    letter-spacing: 0.03em;
}

.dream-cart-pay-current-extra,
.dream-cart-pay-option-extra {
    color: #16a34a;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

.dream-cart-pay-placeholder {
    color: var(--dream-muted);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.03em;
}

.dream-cart-pay-caret {
    color: #6b7280;
    font-size: 16px;
    flex: 0 0 auto;
    transition: transform .18s ease;
}

.dream-cart-pay-dropdown.is-open .dream-cart-pay-caret {
    transform: rotate(180deg);
}

.dream-cart-pay-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    z-index: 20;
    width: 100%;
    box-sizing: border-box;
    display: none;
    padding: 8px;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid #e5eaf2;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.12);
    max-height: 280px;
    overflow-y: auto;
}

.dream-cart-pay-dropdown.is-open .dream-cart-pay-menu {
    display: block;
}

.dream-cart-pay-option {
    width: 100%;
    border: 0;
    background: transparent;
    border-radius: 14px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}

.dream-cart-pay-option:hover {
    background: #f7faf8;
}

.dream-cart-pay-option.active {
    background: #eefbf3;
}

.dream-cart-pay-option-left {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.dream-cart-pay-option-check {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1.5px solid rgba(120, 184, 162, 0.28);
    flex: 0 0 18px;
    position: relative;
}

.dream-cart-pay-option.active .dream-cart-pay-option-check {
    border-color: #78b8a2;
    background: rgba(120, 184, 162, 0.12);
}

.dream-cart-pay-option.active .dream-cart-pay-option-check::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: #78b8a2;
}

.dream-cart-popover-empty-inline {
    justify-content: flex-start;
    min-height: 0;
    padding: 2px 0;
    font-size: 13px;
}

.dream-cart-popover-captcha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 114px;
    gap: 10px;
}

.dream-cart-popover-captcha input {
    height: 42px;
    border-radius: 16px;
}

.dream-cart-popover-captcha img {
    width: 114px;
    height: 42px;
    border-radius: 16px;
    object-fit: cover;
    cursor: pointer;
    border: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-cart-popover-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 2px;
}

.dream-cart-popover-total {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dream-cart-popover-total span {
    color: var(--dream-muted);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-family: var(--dream-font-mono);
}

.dream-cart-popover-total strong {
    color: var(--dream-primary-deep);
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.05em;
    font-family: var(--dream-font-mono);
}

.dream-cart-popover-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dream-cart-popover-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 98px;
    height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease;
}

.dream-cart-popover-btn:hover {
    transform: translateY(-1px);
}

.dream-cart-popover-btn.is-ghost {
    border: 1px solid rgba(87, 108, 97, 0.12);
    background: rgba(255, 255, 255, 0.86);
    color: var(--dream-muted);
}

.dream-cart-popover-btn.is-primary {
    border: 0;
    background: linear-gradient(135deg, #95d0bd 0%, #689c8b 100%);
    color: #f8fffc;
    box-shadow: 0 16px 28px rgba(104, 156, 139, 0.22);
}

.dream-navbar-user {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    border: 1px solid rgba(120, 184, 162, 0.28);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: var(--dream-shadow-soft);
}

.dream-navbar-user-dropdown {
    top: calc(100% + 14px);
    min-width: 188px;
    padding: 10px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: var(--dream-shadow);
    border: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-navbar-user-balance {
    padding: 12px 14px 14px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-navbar-user-balance span {
    display: block;
    color: var(--dream-muted);
    font-size: 12px;
    font-weight: 600;
}

.dream-navbar-user-balance strong {
    display: block;
    margin-top: 6px;
    color: var(--dream-primary-deep);
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
    font-family: var(--dream-font-mono);
    letter-spacing: -0.04em;
}

.dream-navbar-user-dropdown a {
    padding: 11px 14px;
    border-radius: 14px;
    font-size: 14px;
    color: var(--dream-text);
}

.dream-navbar-user-dropdown a:hover {
    color: var(--dream-primary-deep);
    background: rgba(120, 184, 162, 0.12);
}

.dream-animate-rise {
    animation: dreamRise .6s cubic-bezier(.2, .8, .2, 1) both;
}

@keyframes dreamRise {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dream-home-notice {
    padding: 16px 18px 18px;
    margin-bottom: 24px;
    background:
        radial-gradient(circle at top right, rgba(149, 208, 189, 0.18), transparent 30%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(247, 250, 248, 0.92));
}

.dream-home-notice-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.dream-home-notice-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    color: var(--dream-primary-deep);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dream-home-notice-toggle {
    border: 0;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.12);
    color: var(--dream-primary-deep);
    font-size: 12px;
    font-weight: 600;
    transition: transform .2s ease, background-color .2s ease;
}

.dream-home-notice-toggle:hover {
    transform: translateY(-1px);
    background: rgba(120, 184, 162, 0.18);
}

.dream-home-notice-body {
    display: block;
    color: var(--dream-muted);
    font-size: 14px;
    line-height: 1.8;
    transition: max-height .25s ease, opacity .25s ease;
}

.dream-home-notice-body > * {
    max-width: 100%;
}

.dream-home-notice-body p {
    margin: 0 0 8px;
}

.dream-home-notice-body blockquote {
    margin: 10px 0;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(186, 111, 121, 0.08);
    color: #8b5059;
    border: 1px solid rgba(186, 111, 121, 0.12);
}

.dream-home-notice-body a {
    color: var(--dream-primary-deep);
    text-decoration: none;
}

.dream-home-notice-body a:hover {
    text-decoration: underline;
}

.dream-home-notice.is-collapsed .dream-home-notice-body {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-top: 0;
}

.dream-home-market {
    gap: 26px;
}

.dream-category-sidebar,
.dream-product-panel {
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: var(--dream-shadow);
}

.dream-category-sidebar {
    padding: 16px 14px;
}

.dream-category-sidebar-head {
    margin-bottom: 18px;
    padding: 2px 8px 12px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-category-sidebar-kicker,
.dream-panel-eyebrow {
    color: var(--dream-soft);
    font-family: var(--dream-font-mono);
    font-size: 15px;
    letter-spacing: .18em;
}

.dream-category-sidebar-head h3,
.dream-panel-title {
    color: #7f7f7f;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.dream-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-product-view-toggle {
    display: none;
    align-items: center;
    gap: 6px;
    padding: 4px;
    border-radius: 999px;
    background: rgba(244, 247, 245, 0.96);
    box-shadow: inset 0 0 0 1px rgba(120, 184, 162, 0.1);
}

.dream-product-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(87, 108, 97, 0.72);
    transition: background .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.dream-product-view-btn i {
    display: block;
    font-size: 15px;
    line-height: 1;
}

.dream-product-view-btn.is-active {
    background: linear-gradient(135deg, #7ac3ad, #5fac92);
    color: #fff;
    box-shadow: 0 8px 18px rgba(95, 172, 146, 0.2);
}

.dream-panel-summary {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--dream-muted);
}

.dream-category-nav {
    gap: 10px;
}

.dream-category-item {
    gap: 14px;
    padding: 14px 16px;
    border-radius: 18px;
    background: transparent;
    color: var(--dream-muted);
}

.dream-category-item:hover {
    background: rgba(120, 184, 162, 0.08);
    color: var(--dream-primary-deep);
    transform: translateX(0) translateY(-1px);
}

.dream-category-item.active {
    background: rgba(120, 184, 162, 0.14);
    color: var(--dream-primary-deep);
    box-shadow: inset 0 0 0 1px rgba(120, 184, 162, 0.12);
}

.dream-category-item-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: rgba(120, 184, 162, 0.08);
    color: var(--dream-primary-deep);
    border: 1px solid rgba(120, 184, 162, 0.12);
    font-family: var(--dream-font-mono);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.dream-category-item-icon.fire {
    background: rgba(183, 138, 82, 0.1);
    border-color: rgba(183, 138, 82, 0.14);
    color: var(--dream-accent);
}

.dream-category-item-icon img {
    display: block;
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.dream-category-item-text {
    font-size: 15px;
}

.dream-product-panel {
    padding: 22px;
}

.dream-product-grid {
    grid-template-columns: repeat(auto-fill, minmax(196px, 1fr));
    gap: 18px;
}

.dream-product-card {
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(87, 108, 97, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 40px rgba(42, 56, 49, 0.06);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.dream-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 56px rgba(42, 56, 49, 0.12);
    border-color: rgba(120, 184, 162, 0.22);
}

.dream-product-card.is-sold-out:hover {
    transform: none;
    box-shadow: 0 16px 40px rgba(42, 56, 49, 0.06);
    border-color: rgba(87, 108, 97, 0.08);
}

.dream-product-card.is-sold-out a {
    pointer-events: none;
}

.dream-product-cover {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(247, 249, 247, 0.96), rgba(236, 241, 238, 0.94));
}

.dream-product-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dream-product-card.is-sold-out .dream-product-cover img {
    filter: grayscale(1);
}

.dream-product-card.tone-1 .dream-product-cover {
    background: linear-gradient(135deg, #f0f7f4, #e6f0eb);
}

.dream-product-card.tone-2 .dream-product-cover {
    background: linear-gradient(135deg, #f6f4ef, #eee6db);
}

.dream-product-card.tone-3 .dream-product-cover {
    background: linear-gradient(135deg, #f2f6f7, #e7ecef);
}

.dream-product-card.tone-4 .dream-product-cover {
    background: linear-gradient(135deg, #f7f2f2, #efe5e5);
}

.dream-product-content {
    display: flex;
    flex-direction: column;
    height: 148px;
    gap: 12px;
    padding: 16px;
}

.dream-product-name {
    flex: 1 1 auto;
    color: #7f7f7f;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    min-height: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.dream-product-name:hover {
    color: var(--dream-primary-deep);
}

.dream-product-price-row {
    padding-top: 4px;
    align-items: flex-end;
}

.dream-product-price {
    color: var(--dream-primary-deep);
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.05em;
    font-family: var(--dream-font-mono);
}

.dream-product-footer {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: auto;
}

.dream-product-badges {
    gap: 8px;
}

.dream-product-badge {
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.dream-product-badge.stock-ok {
    background: rgba(120, 184, 162, 0.12);
    color: var(--dream-primary-deep);
}

.dream-product-badge.stock-warn {
    background: rgba(183, 138, 82, 0.12);
    color: #8b6332;
}

.dream-product-badge.stock-empty {
    background: rgba(87, 108, 97, 0.1);
    color: #4e5f57;
}

.dream-product-badge.delivery {
    background: rgba(87, 108, 97, 0.08);
    color: var(--dream-muted);
}

.dream-v2-buy:active,
.dream-v2-cart:active,
.dream-copy-btn:active,
.dream-secret-btn:active,
.dream-notice-card-action:active {
    transform: scale(.98);
}

.dream-toast-stack {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 2100;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.dream-toast {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 148px;
    max-width: 320px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(45, 52, 47, 0.92);
    color: #f8f7f3;
    box-shadow: 0 18px 36px rgba(25, 31, 28, 0.26);
    transform: translateY(12px) scale(.96);
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
}

.dream-toast.is-visible {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.dream-toast.is-error {
    background: rgba(113, 53, 63, 0.94);
}

.dream-toast-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .dream-navbar .container {
        width: calc(100vw - 24px);
    }

    .dream-cart-popover {
        position: fixed;
        top: calc(var(--dream-app-height, 82px) + 10px);
        right: 16px;
        left: 16px;
        width: auto;
    }

    .dream-cart-popover-panel::before {
        right: 84px;
    }

    .dream-cart-popover-head,
    .dream-cart-popover-body {
        padding-left: 18px;
        padding-right: 18px;
    }

    .dream-cart-popover-head h3 {
        font-size: 21px;
    }

    .dream-cart-popover-section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .dream-cart-popover-item {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .dream-cart-popover-item-cover {
        width: 64px;
        height: 64px;
    }

    .dream-cart-popover-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .dream-cart-popover-actions {
        width: 100%;
    }

    .dream-cart-popover-btn {
        flex: 1 1 0;
    }
}

.custom-footer-container {
    margin-top: 44px;
    background: linear-gradient(180deg, rgba(246, 242, 235, 0.94), rgba(241, 236, 228, 0.94));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(87, 108, 97, 0.08);
}

.custom-footer-icon,
.custom-footer-links a,
.custom-footer-section h4,
.custom-footer-bottom {
    color: var(--dream-muted);
}

.dream-dashboard {
    padding-bottom: 48px;
}

.dream-dashboard-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}

.dream-dashboard-sidebar,
.dream-dashboard-main {
    animation: dreamRise .65s cubic-bezier(.2, .8, .2, 1) both;
}

.dream-dashboard-sidebar {
    position: sticky;
    top: calc(var(--dream-app-height, 82px) + 22px);
    padding: 18px;
}

.dream-dashboard-user {
    padding: 10px 10px 18px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-dashboard-user-top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dream-dashboard-avatar {
    width: 54px;
    height: 54px;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 0 18px 32px rgba(104, 156, 139, 0.16);
}

.dream-dashboard-user h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.dream-dashboard-user p {
    margin: 4px 0 0;
    color: var(--dream-muted);
    font-size: 13px;
}

.dream-dashboard-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 18px;
}

.dream-dashboard-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    border-radius: 18px;
    color: var(--dream-muted);
    text-decoration: none;
    transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

.dream-dashboard-nav-link i {
    width: 18px;
    text-align: center;
}

.dream-dashboard-nav-link:hover,
.dream-dashboard-nav-link.is-active {
    color: var(--dream-primary-deep);
    background: rgba(120, 184, 162, 0.12);
    transform: translateY(-1px);
}

.dream-dashboard-main {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.dream-dashboard-hero {
    position: relative;
    overflow: hidden;
    padding: 28px;
    background:
        radial-gradient(circle at top right, rgba(149, 208, 189, 0.32), transparent 24%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(245, 250, 247, 0.92));
}

.dream-dashboard-hero-copy h1 {
    margin: 0;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.dream-dashboard-hero-copy p {
    margin: 10px 0 0;
    color: var(--dream-muted);
    font-size: 15px;
    line-height: 1.8;
}

.dream-dashboard-hero-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.dream-secret-card,
.dream-notice-card {
    padding: 18px 20px;
}

.dream-secret-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--dream-soft);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-family: var(--dream-font-mono);
}

.dream-secret-value {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
}

.dream-secret-value code,
.dream-secret-value a {
    color: var(--dream-text);
    font-size: 15px;
    font-family: var(--dream-font-mono);
    word-break: break-all;
    text-decoration: none;
}

.dream-secret-btn,
.dream-copy-btn,
.dream-notice-card-action {
    border: 0;
    padding: 9px 12px;
    border-radius: 14px;
    background: rgba(120, 184, 162, 0.12);
    color: var(--dream-primary-deep);
    font-size: 13px;
    font-weight: 600;
    transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

.dream-secret-btn:hover,
.dream-copy-btn:hover,
.dream-notice-card-action:hover {
    background: rgba(120, 184, 162, 0.18);
}

.dream-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.dream-stat-card {
    position: relative;
    overflow: hidden;
    padding: 22px;
}

.dream-stat-card::after {
    content: "";
    position: absolute;
    inset: auto -22px -34px auto;
    width: 96px;
    height: 96px;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(120, 184, 162, 0.12), rgba(120, 184, 162, 0));
    transform: rotate(18deg);
}

.dream-stat-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dream-stat-label {
    color: var(--dream-muted);
    font-size: 14px;
}

.dream-stat-trend {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.12);
    color: var(--dream-primary-deep);
    font-size: 12px;
    font-weight: 600;
}

.dream-stat-value {
    margin-top: 18px;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: -0.05em;
    color: var(--dream-text);
    font-family: var(--dream-font-mono);
}

.dream-dashboard-section {
    padding: 22px;
}

.dream-dashboard-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.dream-dashboard-section-head h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.dream-dashboard-section-head p {
    margin: 6px 0 0;
    font-size: 14px;
    color: var(--dream-muted);
}

.dream-activity-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 18px;
}

.dream-activity-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.dream-activity-item,
.dream-notice-item {
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(120, 184, 162, 0.06);
    border: 1px solid rgba(120, 184, 162, 0.08);
}

.dream-activity-item span,
.dream-notice-item span {
    display: block;
    color: var(--dream-soft);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dream-activity-item strong,
.dream-notice-item strong {
    display: block;
    margin-top: 10px;
    color: var(--dream-text);
    font-size: 16px;
    font-weight: 700;
}

.dream-activity-item em,
.dream-notice-item em {
    display: block;
    margin-top: 8px;
    color: var(--dream-muted);
    font-style: normal;
    line-height: 1.7;
}

.dream-notice-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dream-notice-item {
    background: rgba(183, 138, 82, 0.06);
    border-color: rgba(183, 138, 82, 0.08);
}

.dream-notice-item strong i {
    margin-right: 8px;
    color: var(--dream-accent);
}

@media (max-width: 1200px) {
    .dream-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .dream-navbar-shell {
        min-height: auto;
    }

    .dream-dashboard-layout {
        display: flex;
        flex-direction: column;
    }

    .dream-dashboard-sidebar {
        position: static;
    }

    .dream-dashboard-hero-grid,
    .dream-activity-list {
        grid-template-columns: 1fr 1fr;
    }

    .dream-activity-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .dream-navbar-brand img {
        max-width: 170px;
        height: 40px;
    }

    .dream-navbar-nav {
        gap: 8px;
    }

    .dream-navbar-nav .nav-link {
        padding: 10px 12px;
    }

    .dream-navbar-cart {
        width: auto;
        min-width: 46px;
    }

    .dream-panel-head {
        flex-direction: column;
    }

    .dream-product-grid,
    .dream-stats-grid,
    .dream-dashboard-hero-grid,
    .dream-activity-list {
        grid-template-columns: 1fr;
    }

    .dream-product-card {
        border-radius: 22px;
    }

    .dream-dashboard-hero {
        padding: 22px;
    }

    .dream-dashboard-hero-copy h1 {
        font-size: 28px;
    }

    .dream-toast-stack {
        right: 14px;
        left: 14px;
        bottom: calc(86px + env(safe-area-inset-bottom));
        z-index: 4200;
    }

    .dream-toast {
        max-width: none;
    }
}

@media (max-width: 991px) {
    #app {
        background: #f5f1eb;
        border-bottom: 0;
        box-shadow: none;
    }

    .dream-navbar .container {
        width: calc(100vw - 24px);
        max-width: none;
    }

    .dream-navbar-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        min-height: auto;
        padding: 12px 0 8px;
        align-items: center;
    }

    .dream-navbar-brand {
        justify-content: flex-start;
    }

    .dream-navbar-brand img {
        max-width: 170px;
        height: 36px;
        object-position: left center;
        filter: none;
    }

    .dream-navbar-actions {
        display: flex;
        justify-content: flex-end;
        width: auto;
        align-items: center;
    }

    .dream-navbar-search {
        position: relative;
        z-index: 3801;
        width: 44px;
        height: 44px;
        padding: 0;
        justify-content: center;
        border: 0;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 10px 22px rgba(40, 58, 50, 0.12);
        transition: background-color .25s ease, box-shadow .25s ease;
    }

    .dream-navbar-search i {
        display: none;
    }

    .dream-navbar-search .search-input {
        display: none;
    }

    .dream-navbar-search .search-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        min-width: 0;
        padding: 0;
        border-radius: 999px !important;
        background: transparent !important;
        box-shadow: none !important;
        color: transparent !important;
        font-size: 0;
    }

    .dream-navbar-search .search-btn::before {
        content: "\f002";
        font-family: FontAwesome;
        font-size: 17px;
        color: #6b7c73;
        transition: transform .25s ease, color .25s ease;
    }

    .dream-navbar-search.is-open {
        background: rgba(224, 239, 231, 0.92);
        box-shadow: 0 14px 28px rgba(73, 115, 98, 0.2);
    }

    .dream-navbar-search.is-open .search-btn::before {
        content: "\f00d";
        color: #3f6758;
        transform: rotate(90deg);
    }

    body.dream-mobile-search-open {
        overflow: hidden;
    }

body.dream-mobile-search-open .dream-mobile-tabbar {
    opacity: 0;
    pointer-events: none;
}

body.dream-mobile-search-open .dream-mobile-fab-stack {
    opacity: 0;
    pointer-events: none;
}

    .dream-mobile-search-overlay {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        z-index: 4100;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding: 18px 14px calc(84px + env(safe-area-inset-bottom));
        background: rgba(244, 247, 243, 0.62);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .32s ease, visibility .32s ease;
        overflow: hidden;
        box-sizing: border-box;
    }

    @supports (height: 100dvh) {
        .dream-mobile-search-overlay {
            width: 100dvw;
            height: 100dvh;
        }
    }

    .dream-mobile-search-overlay::before {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(circle at 84% 8%, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0) 18%),
            radial-gradient(circle at 50% 22%, rgba(223, 238, 227, 0.72), rgba(235, 242, 236, 0.36) 42%, rgba(244, 247, 243, 0.08) 72%, rgba(244, 247, 243, 0) 100%);
        transform: scale(1.03);
        opacity: 0;
        transition: transform .45s ease, opacity .32s ease;
    }

    .dream-mobile-search-overlay.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .dream-mobile-search-overlay.is-open::before {
        transform: scale(1);
        opacity: 1;
    }

    .dream-mobile-search-header {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 0 4px;
    }

    .dream-mobile-search-brand {
        display: inline-flex;
        align-items: center;
        max-width: calc(100% - 72px);
    }

    .dream-mobile-search-brand img {
        max-width: 170px;
        height: 38px;
        object-fit: contain;
        object-position: left center;
    }

    .dream-mobile-search-close {
        width: 48px;
        height: 48px;
        border: 0;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.58);
        box-shadow: 0 12px 26px rgba(86, 129, 110, 0.18);
        color: #70847a;
        font-size: 22px;
        transition: transform .28s ease, background-color .28s ease;
    }

    .dream-mobile-search-close:active {
        transform: scale(0.96) rotate(12deg);
    }

    .dream-mobile-search-panel {
        position: relative;
        z-index: 1;
        width: calc(100vw - 28px);
        max-width: 760px;
        margin-top: clamp(52px, 14vh, 116px);
        transform: translateY(10px) scale(0.96);
        opacity: 0;
        transition: transform .36s cubic-bezier(.2, .84, .21, 1), opacity .28s ease;
        box-sizing: border-box;
    }

    .dream-mobile-search-overlay.is-open .dream-mobile-search-panel {
        transform: translateY(0) scale(1);
        opacity: 1;
    }

    .dream-mobile-search-form {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-height: 66px;
        padding: 8px 8px 8px 18px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.82);
        background: rgba(255, 255, 255, 0.56);
        box-shadow: 0 22px 40px rgba(77, 96, 84, 0.10);
    }

    .dream-mobile-search-form > i {
        flex: 0 0 auto;
        color: #72897d;
        font-size: 18px;
        opacity: 0.9;
    }

    .dream-mobile-search-input {
        flex: 1;
        min-width: 0;
        height: 50px;
        border: 0;
        border-radius: 999px;
        background: transparent;
        padding: 0 12px 0 4px;
        font-size: 16px;
        line-height: 1.2;
        color: #44564f;
        box-shadow: none;
    }

    .dream-mobile-search-input::placeholder {
        color: rgba(106, 127, 117, 0.84);
    }

    .dream-mobile-search-input:focus {
        outline: none;
        box-shadow: none;
    }

    .dream-mobile-search-submit {
        flex: 0 0 auto;
        height: 50px;
        padding: 0 20px;
        border: 0;
        border-radius: 999px;
        background: #ffffff;
        box-shadow: 0 8px 18px rgba(77, 96, 84, 0.10);
        color: #487860;
        font-size: 16px;
        font-weight: 700;
        letter-spacing: .02em;
    }

    .dream-mobile-search-submit:active {
        transform: translateY(1px);
    }

    .dream-navbar-user-menu,
    .dream-navbar-actions > .dream-navbar-user {
        display: none !important;
    }

    .dream-navbar-cart-wrap {
        position: static;
        width: 0;
        height: 0;
        overflow: visible;
    }

    .dream-navbar-cart-wrap .dream-navbar-cart {
        display: none !important;
    }

    .dream-navbar-nav {
        display: none !important;
    }

    .dream-mobile-tabbar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        bottom: env(safe-area-inset-bottom);
        z-index: 3000;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        padding: 8px 6px calc(8px + env(safe-area-inset-bottom));
        border-radius: 0;
        border-top: 1px solid rgba(87, 108, 97, 0.08);
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 -6px 18px rgba(28, 49, 39, 0.08);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        contain: layout paint style;
        transform: translateZ(0);
    }

    .dream-mobile-tabbar-link {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        min-height: 52px;
        padding: 8px 6px;
        border-radius: 0;
        text-align: center;
        font-size: 12px;
        font-weight: 350;
        color: #4e5f57;
        background: transparent;
        text-decoration: none;
        transition: transform .18s ease, background-color .18s ease, color .18s ease, opacity .18s ease;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        backface-visibility: hidden;
        will-change: transform;
    }

    .dream-mobile-tabbar-link i {
        font-size: 18px;
        opacity: 0.92;
    }

    .dream-mobile-tabbar-link .cart-count {
        position: absolute;
        top: 5px;
        left: 50%;
        margin-left: 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 18px;
        height: 18px;
        padding: 0 5px;
        border-radius: 999px;
        background: linear-gradient(135deg, #95d0bd 0%, #689c8b 100%);
        color: #f8fffc;
        font-size: 11px;
        font-family: var(--dream-font-mono);
        line-height: 1;
        box-shadow: 0 8px 16px rgba(104, 156, 139, 0.22);
    }

    .dream-mobile-tabbar-link .cart-count.is-empty {
        display: none;
    }

    .dream-mobile-tabbar-link span {
        line-height: 1.2;
    }

    .dream-mobile-tabbar-link:hover,
    .dream-mobile-tabbar-link:focus-visible {
        transform: none;
        background: rgba(120, 184, 162, 0.12);
        color: var(--dream-primary-deep);
        box-shadow: none;
    }

    .dream-mobile-tabbar-link.is-pressing {
        transform: scale(.97);
        opacity: .92;
    }

    .content-wrapper {
        padding-bottom: calc(72px + env(safe-area-inset-bottom));
    }

    .dream-home-page.content-wrapper {
        padding-top: calc(var(--dream-app-height, 72px) + 8px);
    }

    .dream-home-page > .container {
        width: calc(100vw - 16px);
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    .dream-home-page .dream-home-notice {
        margin-bottom: 6px;
        padding: 14px 14px 14px;
        border-radius: 22px;
        box-shadow: 0 8px 18px rgba(40, 58, 50, 0.05);
    }

    .dream-home-page .dream-home-notice-head {
        margin-bottom: 0;
    }

    .dream-home-page .dream-home-notice-label {
        font-size: 13px;
        letter-spacing: 0;
        text-transform: none;
    }

    .dream-home-page .dream-home-notice-toggle {
        min-width: 64px;
        padding: 10px 14px;
        border: 1px solid rgba(120, 184, 162, 0.24);
        background: rgba(255, 255, 255, 0.96);
        color: var(--dream-primary-deep);
        font-weight: 700;
        box-shadow: 0 8px 18px rgba(104, 156, 139, 0.08);
    }

    .dream-home-page .dream-home-market {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }

    .dream-home-page .dream-home-market > * {
        width: 100%;
    }

    .dream-home-page .dream-category-sidebar,
    .dream-home-page .dream-product-panel {
        width: 100%;
        border-radius: 22px;
        background: #fff !important;
        box-shadow: 0 8px 18px rgba(40, 58, 50, 0.05);
    }

    .dream-home-page .dream-category-sidebar {
        padding: 12px;
        overscroll-behavior: auto;
        touch-action: pan-y;
    }

    .dream-home-page .dream-category-nav {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px 10px;
        padding: 2px 0;
        transform: translateZ(0);
        touch-action: pan-y;
    }

    .dream-home-page .dream-category-item {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        min-width: 0;
        gap: 10px;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        text-align: center;
        transition: transform .18s ease, opacity .18s ease;
        -webkit-tap-highlight-color: transparent;
        touch-action: pan-y;
        backface-visibility: hidden;
        will-change: transform;
    }

    .dream-home-page .dream-category-item.active {
        background: transparent;
        box-shadow: none;
    }

    .dream-home-page .dream-category-item:hover {
        transform: none;
    }

    .dream-home-page .dream-category-item.is-pressing {
        transform: scale(.97);
        opacity: .94;
    }

    .dream-home-page .dream-category-item-icon {
        width: 60px;
        height: 60px;
        border-radius: 999px;
        background: #fff;
        border: 1px solid rgba(87, 108, 97, 0.08);
        box-shadow: 0 10px 22px rgba(40, 58, 50, 0.06);
        transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease;
        backface-visibility: hidden;
    }

    .dream-home-page .dream-category-item.active .dream-category-item-icon {
        border-color: rgba(120, 184, 162, 0.28);
        box-shadow: 0 12px 24px rgba(120, 184, 162, 0.12);
    }

    .dream-home-page .dream-category-item-text {
        max-width: 100%;
        font-size: 13px;
        line-height: 1.35;
        white-space: normal;
        word-break: break-word;
        color: #3d4f47;
        transition: color .18s ease, opacity .18s ease;
    }

    .dream-home-page .dream-category-item.active .dream-category-item-text {
        color: var(--dream-primary-deep);
    }

    .dream-home-page .dream-product-panel {
        min-height: 0;
        padding: 14px 12px 14px;
    }

    .dream-home-page .dream-panel-head {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 10px;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .dream-home-page .dream-panel-head > div:first-child {
        display: flex;
        align-items: center;
        flex: 1;
        min-width: 0;
    }

    .dream-home-page .dream-panel-title {
        margin: 0;
        padding: 0 6px 0 10px;
        font-size: 22px;
    }

    .dream-home-page .dream-product-view-toggle {
        display: inline-flex;
        flex-shrink: 0;
        margin-right: 4px;
    }

    .dream-home-page .dream-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .dream-home-page .dream-product-card {
        border-radius: 18px;
        box-shadow: 0 6px 14px rgba(40, 58, 50, 0.05);
    }

    .dream-home-page.dream-home-grid-view .dream-product-card {
        display: flex;
        flex-direction: column;
        min-width: 0;
        overflow: hidden;
        border-radius: 18px;
    }

    .dream-home-page .dream-product-cover {
        border-radius: 0;
    }

    .dream-home-page.dream-home-grid-view .dream-product-cover {
        position: relative;
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 0;
        overflow: hidden;
    }

    .dream-home-page.dream-home-grid-view .dream-product-cover::before {
        content: "";
        display: block;
        padding-top: 100%;
    }

    .dream-home-page.dream-home-grid-view .dream-product-cover img {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .dream-home-page .dream-product-content {
        height: 112px;
        gap: 8px;
        padding: 12px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-content {
        display: flex;
        flex-direction: column;
        min-height: 112px;
        height: 112px;
        gap: 8px;
        padding: 12px;
    }

    .dream-home-page .dream-product-name {
        font-size: 13px;
        line-height: 1.4;
    }

    .dream-home-page.dream-home-grid-view .dream-product-name {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 13px;
        line-height: 1.4;
    }

    .dream-home-page .dream-product-price {
        font-size: 18px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-price-row {
        margin-top: auto;
        padding-top: 2px;
        align-items: flex-end;
    }

    .dream-home-page.dream-home-grid-view .dream-product-price {
        font-size: 18px;
    }

    .dream-home-page .dream-product-footer {
        gap: 10px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-footer {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: auto;
    }

    .dream-home-page .dream-product-badges {
        gap: 6px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-badges {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .dream-home-page .dream-product-badge {
        padding: 6px 8px;
        font-size: 11px;
    }

    .dream-home-page .dream-product-badge.delivery {
        display: none;
    }

    .dream-home-page .dream-panel-state {
        margin-bottom: 10px;
    }

    .dream-home-page .dream-panel-state-box {
        width: 100%;
        justify-content: center;
        padding: 12px 14px;
        border-radius: 16px;
    }

    .dream-home-page .dream-product-sentinel {
        min-height: 28px;
        margin-top: 4px;
    }

    .dream-home-page.dream-home-list-view .dream-product-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .dream-home-page.dream-home-list-view .dream-product-card {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        align-items: stretch;
        gap: 0;
        overflow: hidden;
    }

    .dream-home-page.dream-home-list-view .dream-product-cover {
        width: 112px;
        height: 112px;
        min-width: 112px;
        min-height: 112px;
        max-width: 112px;
        max-height: 112px;
        aspect-ratio: 1 / 1;
        align-self: start;
        flex: 0 0 112px;
    }

    .dream-home-page.dream-home-list-view .dream-product-cover img {
        object-fit: contain;
        padding: 6px;
        background: linear-gradient(180deg, #fff, #f8fafc);
    }

    .dream-home-page.dream-home-list-view .dream-product-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto 1fr auto;
        min-width: 0;
        min-height: 112px;
        padding: 10px 12px;
        gap: 4px;
        align-items: start;
    }

    .dream-home-page.dream-home-list-view .dream-product-name {
        grid-column: 1 / -1;
        grid-row: 1;
        min-height: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 14px;
        line-height: 1.45;
    }

    .dream-home-page.dream-home-list-view .dream-product-footer {
        grid-column: 1 / -1;
        grid-row: 3;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin-top: 0;
        align-self: end;
        justify-self: stretch;
        width: 100%;
        flex-direction: row;
        flex-wrap: nowrap;
        min-width: 0;
    }

    .dream-home-page.dream-home-list-view .dream-product-price-row {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex: 0 0 auto;
        min-width: 0;
    }

    .dream-home-page.dream-home-list-view .dream-product-price {
        display: inline-flex;
        align-items: center;
        font-size: 18px;
        line-height: 1.15;
        white-space: nowrap;
    }

    .dream-home-page.dream-home-list-view .dream-product-badges {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: 5px;
        width: auto;
        flex: 0 1 auto;
        min-width: 0;
    }

    .dream-home-page.dream-home-list-view .dream-product-badge {
        padding: 5px 8px;
        font-size: 10px;
    }

    .custom-footer-container,
    .content-icp {
        display: none;
    }

}

.dream-mobile-fab-stack {
    display: none;
}

@media (max-width: 991px) {
    .dream-mobile-fab-stack {
        position: fixed;
        left: 14px;
        bottom: calc(96px + env(safe-area-inset-bottom));
        z-index: 4050;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        pointer-events: none;
    }

    .dream-mobile-fab {
        width: 46px;
        height: 46px;
        border: 0;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.94);
        color: #4f645b;
        box-shadow: 0 14px 30px rgba(42, 56, 49, 0.14);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        pointer-events: auto;
        transition: transform .18s ease, opacity .18s ease, background-color .18s ease, color .18s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .dream-mobile-fab i {
        font-size: 18px;
    }

    .dream-mobile-fab:active {
        transform: scale(.96);
    }

    .dream-mobile-fab-top {
        opacity: 0;
        transform: translateY(10px);
        visibility: hidden;
    }

    .dream-mobile-fab-top.is-visible {
        opacity: 1;
        transform: translateY(0);
        visibility: visible;
    }

    iframe[title*="chat"],
    iframe[title*="Chat"],
    .tawk-min-container,
    .tawk-button {
        bottom: calc(96px + env(safe-area-inset-bottom)) !important;
        right: 12px !important;
        left: auto !important;
        z-index: 4045 !important;
    }
}

/* =====================================================================================
   Dream user center
   ===================================================================================== */
.dream-user-page {
    padding-bottom: 48px;
}

.dream-user-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}

.dream-user-sidebar,
.dream-user-main {
    animation: dreamRise .62s cubic-bezier(.2, .8, .2, 1) both;
}

.dream-user-sidebar {
    position: sticky;
    top: calc(var(--dream-app-height, 82px) + 20px);
    padding: 20px 16px;
}

.dream-user-sidebar-profile {
    padding: 10px 10px 18px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-user-sidebar-top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dream-user-sidebar-avatar {
    width: 54px;
    height: 54px;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 0 18px 32px rgba(104, 156, 139, 0.16);
}

.dream-user-sidebar-top h2 {
    color:#7f7f7f;
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.dream-user-sidebar-top p {
    margin: 4px 0 0;
    color: var(--dream-muted);
    font-size: 13px;
}

.dream-user-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 18px;
    scroll-behavior: smooth;
}

.dream-user-sidebar-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 16px;
    color: var(--dream-muted);
    text-decoration: none;
    transition: transform .2s ease, background-color .2s ease, color .2s ease;
    font-size: 14px;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    backface-visibility: hidden;
    will-change: transform;
}

.dream-user-sidebar-link i {
    width: 16px;
    text-align: center;
    font-size: 14px;
    opacity: .8;
}

.dream-user-sidebar-link:hover,
.dream-user-sidebar-link.is-active {
    color: var(--dream-primary-deep);
    background: rgba(120, 184, 162, 0.12);
    transform: translateY(-1px);
}

.dream-user-main {
    min-width: 0;
}

.dream-user-panel {
    padding: 28px;
}

.dream-user-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-user-panel-head h1 {
    color: #7f7f7f;
    margin: 0;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.dream-user-panel-head p {
    margin: 8px 0 0;
    color: var(--dream-muted);
    font-size: 14px;
    line-height: 1.75;
}

.dream-user-subnav-wrap {
    margin-bottom: 18px;
}

.dream-user-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dream-user-subnav a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.08);
    color: var(--dream-muted);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.dream-user-subnav a.is-active,
.dream-user-subnav a:hover {
    background: rgba(120, 184, 162, 0.16);
    color: var(--dream-primary-deep);
}

.dream-user-stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dream-dashboard-shell {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.dream-dashboard-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.dream-dashboard-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.16);
    color: #456f60;
    font-size: 12px;
    font-weight: 700;
}

.dream-dashboard-header-copy h2 {
    margin: 0;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.04em;
    color: var(--dream-text);
}

.dream-dashboard-header-copy p {
    margin: 10px 0 0;
    color: var(--dream-muted);
    font-size: 14px;
    line-height: 1.7;
}

.dream-dashboard-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dream-dashboard-section-head h3 {
    margin: 0;
    color: #9aa39f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dream-dashboard-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.dream-dashboard-simple-card,
.dream-dashboard-profile-panel {
    background: #ffffff;
    border: 1px solid rgba(87, 108, 97, 0.08);
    box-shadow: 0 10px 26px rgba(45, 59, 53, 0.04);
}

.dream-dashboard-simple-card {
    min-height: 142px;
    padding: 24px;
    border-radius: 28px;
}

.dream-dashboard-simple-card span {
    display: block;
    color: #a0a8a4;
    font-size: 12px;
}

.dream-dashboard-simple-card strong {
    display: block;
    margin-top: 14px;
    color: #244c3f;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.04em;
    font-family: var(--dream-font-mono);
}

.dream-dashboard-profile-panel {
    padding: 30px;
    border-radius: 32px;
}

.dream-dashboard-info-list {
    display: flex;
    flex-direction: column;
}

.dream-dashboard-info-row {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 0;
    border-top: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-dashboard-info-row:first-child {
    padding-top: 0;
    border-top: 0;
}

.dream-dashboard-info-label {
    flex: 0 0 110px;
    color: #9ca3af;
    font-size: 14px;
}

.dream-dashboard-info-value {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    text-align: right;
}

.dream-dashboard-info-value strong,
.dream-dashboard-info-value a {
    color: var(--dream-text);
    font-size: 15px;
    font-weight: 500;
    font-family: var(--dream-font-mono);
    word-break: break-all;
    text-decoration: none;
}

.dream-dashboard-info-value em {
    color: var(--dream-muted);
    font-style: normal;
    font-size: 13px;
}

.dream-dashboard-info-value.is-actions {
    flex-wrap: wrap;
}

.dream-dashboard-value-chip {
    padding: 7px 12px;
    border-radius: 10px;
    background: #f1faf7;
}

.dream-dashboard-share-link {
    color: #456f60;
}

.dream-dashboard-share-link:hover {
    color: #2f5f50;
    text-decoration: none;
}

.dream-dashboard-link-chip {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: #f3f6f4;
    color: #738179;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.dream-dashboard-link-chip:hover {
    background: #edf3f0;
    color: #5d6d65;
}

.dream-dashboard-info-value .dream-copy-btn,
.dream-dashboard-info-value .dream-secret-btn,
.dream-dashboard-info-value .dream-notice-card-action {
    min-width: 52px;
    height: 32px;
    padding: 0 12px;
    border: 0;
    border-radius: 9px;
    background: #eef3f0;
    color: #5f6f68;
    font-size: 12px;
    font-weight: 700;
    line-height: 32px;
    box-shadow: none;
}

.dream-dashboard-info-value .dream-notice-card-action {
    background: rgba(120, 184, 162, 0.18);
    color: #345b4f;
}

.dream-dashboard-info-value .dream-copy-btn:hover,
.dream-dashboard-info-value .dream-secret-btn:hover,
.dream-dashboard-info-value .dream-notice-card-action:hover {
    transform: none;
    background: #e6efea;
    color: #355a4d;
}

.dream-user-note {
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(120, 184, 162, 0.08);
    color: var(--dream-primary-deep);
    line-height: 1.8;
}

.dream-user-note.warn {
    background: rgba(183, 138, 82, 0.08);
    color: #8b6332;
}

.dream-user-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dream-user-button,
.dream-user-actions .layui-btn,
.dream-user-panel-body .layui-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 35px;
    border: 0;
    border-radius: 16px;
    padding: 0 10px;
    background: linear-gradient(135deg, #95d0bd 0%, #689c8b 100%);
    color: #f8fffc !important;
    box-shadow: 0 14px 28px rgba(104, 156, 139, 0.18);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.dream-user-button:hover,
.dream-user-actions .layui-btn:hover,
.dream-user-panel-body .layui-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 18px 30px rgba(104, 156, 139, 0.22);
}

.dream-user-button.ghost {
    background: rgba(87, 108, 97, 0.08);
    color: var(--dream-text) !important;
    box-shadow: none;
}

.dream-pay-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.dream-pay-option {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 18px;
    border: 1px solid rgba(87, 108, 97, 0.1);
    background: rgba(255, 255, 255, 0.8);
    color: var(--dream-muted);
    text-decoration: none;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}

.dream-pay-option img {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    object-fit: cover;
}

.dream-pay-option.checked,
.dream-pay-option:hover {
    color: var(--dream-primary-deep);
    border-color: rgba(120, 184, 162, 0.24);
    box-shadow: 0 14px 28px rgba(42, 56, 49, 0.08);
    transform: translateY(-1px);
}

.dream-user-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.dream-user-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.dream-user-field.is-full {
    grid-column: 1 / -1;
}

.dream-user-field label {
    color: var(--dream-muted);
    font-size: 13px;
    font-weight: 600;
}

.dream-user-field input,
.dream-user-field select,
.dream-user-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border-radius: 16px;
    border: 1px solid rgba(87, 108, 97, 0.12);
    background: #f8faf8;
    color: var(--dream-text);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.dream-user-field textarea {
    min-height: 140px;
    padding: 14px;
    resize: vertical;
}

.dream-user-field input:focus,
.dream-user-field select:focus,
.dream-user-field textarea:focus {
    outline: none;
    border-color: #78b8a2;
    box-shadow: 0 0 0 4px rgba(120, 184, 162, 0.12);
}

.dream-user-inline {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dream-user-inline input {
    flex: 1;
}

.dream-user-avatar-upload {
    width: 108px;
    height: 108px;
    border-radius: 28px;
    object-fit: cover;
    cursor: pointer;
    border: 1px solid rgba(120, 184, 162, 0.2);
    box-shadow: 0 18px 32px rgba(42, 56, 49, 0.1);
}

.dream-user-table-wrap {
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-purchase-record-page .search-query {
    margin-bottom: 28px;
}

.dream-purchase-record-page .dream-user-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
}

.dream-purchase-record-page .hex-query-form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.dream-purchase-record-page .hex-query-form .layui-input-inline {
    margin: 0 !important;
    padding-top: 0 !important;
}

.dream-purchase-record-page .hex-query-form .layui-input,
.dream-purchase-record-page .hex-query-form .layui-form-select .layui-input {
    height: 42px;
    border-radius: 14px !important;
    border: 1px solid rgba(87, 108, 97, 0.12);
    background: #fff;
}

.dream-purchase-record-page .hex-query-form .queryBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 84px;
    height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #8dcab8, #5e9f89);
    color: #fff;
}

.dream-purchase-record-page .hex-query-form .queryBtn i {
    margin: 0;
}

.dream-purchase-record-page .bootstrap-table {
    margin-top: 0 !important;
}

.dream-purchase-record-page .bootstrap-table,
.dream-purchase-record-page .bootstrap-table table,
.dream-purchase-record-page .bootstrap-table table tbody,
.dream-purchase-record-page .bootstrap-table table tr,
.dream-purchase-record-page .bootstrap-table .fixed-table-container,
.dream-purchase-record-page .bootstrap-table .fixed-table-body,
.dream-purchase-record-page .bootstrap-table .fixed-table-border,
.dream-purchase-record-page .bootstrap-table .fixed-table-footer {
    background: transparent;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.dream-purchase-record-page .bootstrap-table .table tbody tr td {
    padding: 0;
    border: 0 !important;
    background: transparent;
}

.dream-purchase-record-page .bootstrap-table .table-hover > tbody > tr:hover > td,
.dream-purchase-record-page .bootstrap-table .table-hover > tbody > tr:hover > th,
.dream-purchase-record-page .bootstrap-table .table tbody tr:hover td,
.dream-purchase-record-page .bootstrap-table .table tbody tr:hover {
    background: transparent !important;
}

.dream-purchase-record-page .bootstrap-table .table tbody tr + tr td {
    padding-top: 16px;
}

.dream-purchase-record-page .dream-purchase-order {
    margin: 0;
    border: 0 !important;
    box-shadow: 0 10px 26px rgba(92, 99, 96, 0.10) !important;
    background: #fff;
    transition: transform .22s ease, box-shadow .22s ease;
}

.dream-purchase-record-page .bootstrap-table .table tbody tr:hover .dream-purchase-order {
    transform: translateY(-4px);
    box-shadow: 0 18px 36px rgba(92, 99, 96, 0.14) !important;
}

.dream-user-panel-body .bootstrap-table .fixed-table-pagination,
.dream-user-panel-body .bootstrap-table .fixed-table-pagination::before,
.dream-user-panel-body .bootstrap-table .fixed-table-pagination::after,
.dream-user-panel-body .bootstrap-table .fixed-table-container::before,
.dream-user-panel-body .bootstrap-table .fixed-table-container::after {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.dream-user-panel-body .bootstrap-table .fixed-table-pagination,
.dream-user-panel-body .bootstrap-table .pagination-detail,
.dream-user-panel-body .bootstrap-table .pagination,
.dream-user-panel-body .bootstrap-table .page-list,
.dream-user-panel-body .bootstrap-table .page-list .btn-group {
    overflow: visible !important;
}

.dream-user-panel-body .fixed-table-pagination .pagination-detail {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-left: 10px;
    padding-top: 8px;
    line-height: 28px;
}

.dream-user-panel-body .fixed-table-pagination .pagination-detail .pagination-info,
.dream-user-panel-body .fixed-table-pagination .page-list {
    display: inline-flex;
    align-items: center;
    margin: 0;
    line-height: 28px;
    font-size: 13px;
    color: var(--dream-muted);
}

.dream-user-panel-body .fixed-table-pagination .page-list .btn-group {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    line-height: 28px;
}

.dream-user-panel-body .fixed-table-pagination .page-list .btn,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    box-sizing: border-box;
    height: 28px;
    min-height: 28px;
    padding: 0 18px 0 10px;
    border: 1px solid rgba(97, 150, 129, 0.18) !important;
    border-radius: 999px;
    background: #fff !important;
    color: #587264 !important;
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 28px;
    vertical-align: middle;
    position: relative;
    margin: 0px 1px 1.8px 1px;
}

.dream-user-panel-body .fixed-table-pagination .page-list .btn:hover,
.dream-user-panel-body .fixed-table-pagination .page-list .btn:focus,
.dream-user-panel-body .fixed-table-pagination .page-list.open .btn,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle:hover,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle:focus {
    background: #fff !important;
    color: var(--dream-primary-deep) !important;
    border-color: rgba(97, 150, 129, 0.24) !important;
    box-shadow: none !important;
}

.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle .page-size {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 100%;
    line-height: 28px;
}

.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu {
    min-width: 86px;
    padding: 8px;
    border-radius: 16px;
    border: 1px solid rgba(97, 150, 129, 0.14);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 36px rgba(42, 56, 49, 0.12);
    z-index: 2000;
}

.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu .dropdown-item,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 10px;
    border-radius: 10px;
    color: #5d7367;
    font-size: 13px;
    font-weight: 600;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu .dropdown-item:hover,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu .dropdown-item:focus,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu a:hover {
    background: rgba(97, 150, 129, 0.10);
    color: var(--dream-primary-deep);
    transform: none;
}

.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu .active,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu .active a,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu .dropdown-item.active,
.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-menu .dropdown-item:active {
    background: linear-gradient(135deg, #78b8a2, #5e9f89) !important;
    color: #fff !important;
}

.dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle::after {
    position: absolute;
    right: 7px;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
    vertical-align: 0;
    opacity: 0.55;
    font-size: 11px;
}

.dream-user-panel-body .fixed-table-pagination > .pagination {
    padding-right: 10px;
}

.dream-bill-page .fixed-table-pagination > .pagination {
    margin-top: 8px;
}

@media (max-width: 767px) {
    .dream-user-panel-body .bootstrap-table .fixed-table-pagination {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 12px;
    }

    .dream-user-panel-body .fixed-table-pagination > .pagination-detail,
    .dream-user-panel-body .fixed-table-pagination > .pagination {
        margin-top: 0;
        margin-bottom: 0;
    }

    .dream-user-panel-body .fixed-table-pagination .pagination-detail {
        display: block;
        padding-left: 10px;
        padding-top: 0;
        font-size: 12px;
        line-height: 1.65;
        white-space: normal;
    }

    .dream-user-panel-body .fixed-table-pagination .pagination-detail .pagination-info {
        display: block;
        width: 100%;
        margin-bottom: 6px;
        line-height: 1.6;
    }

    .dream-user-panel-body .fixed-table-pagination .page-list {
        display: inline-flex;
        align-items: center;
        vertical-align: middle;
        line-height: 1;
    }

    .dream-user-panel-body .fixed-table-pagination .page-list .btn-group {
        line-height: 1;
    }

    .dream-user-panel-body .fixed-table-pagination .page-list .btn,
    .dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle {
        height: 26px;
        min-height: 26px;
        padding: 0 16px 0 8px;
        line-height: 26px;
        font-size: 12px;
        margin: 0 2px;
    }

    .dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle .page-size {
        min-width: 28px;
        line-height: 26px;
    }

    .dream-user-panel-body .fixed-table-pagination .page-list .dropdown-toggle::after {
        right: 6px;
        font-size: 10px;
    }

    .dream-user-panel-body .fixed-table-pagination > .pagination {
        align-self: center;
        padding-right: 10px;
    }

    .dream-user-panel-body .fixed-table-pagination > .pagination ul.pagination {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}

.dream-user-panel-body .bootstrap-table .fixed-table-container {
    border: 0 !important;
}

.dream-user-panel-body .bootstrap-table .dream-table-pending .no-records-found,
.dream-user-panel-body .bootstrap-table .dream-table-pending + tbody .no-records-found {
    display: none !important;
}

.dream-user-panel-body .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading,
.dream-user-panel-body .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap,
.dream-user-panel-body .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.dream-user-panel-body .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .loading-text {
    color: #7f7f7f !important;
}

.dream-user-panel-body .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-dot,
.dream-user-panel-body .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::after,
.dream-user-panel-body .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading .loading-wrap .animation-wrap::before {
    background: #b8c1bc !important;
}

.dream-user-panel-body .table {
    margin-bottom: 0;
}

.dream-user-panel-body .table > thead > tr > th,
.dream-user-panel-body .table > tbody > tr > td {
    border-color: rgba(87, 108, 97, 0.08) !important;
    vertical-align: middle;
    background: rgba(255, 255, 255, 0.86);
}

.dream-user-panel-body .table > thead > tr > th {
    color: var(--dream-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    background: rgba(248, 250, 248, 0.96);
}

.dream-user-panel-body .pagination-detail,
.dream-user-panel-body .pagination-info,
.dream-user-panel-body .page-list {
    color: var(--dream-muted);
}

.dream-user-panel-body .pagination > li > a,
.dream-user-panel-body .pagination > li > span {
    color: var(--dream-muted);
    border-color: rgba(87, 108, 97, 0.08);
    background: rgba(255, 255, 255, 0.78);
}

.dream-user-panel-body .pagination > .active > a,
.dream-user-panel-body .pagination > .active > span,
.dream-user-panel-body .pagination > .active > a:hover,
.dream-user-panel-body .pagination > .active > span:hover {
    background: rgba(120, 184, 162, 0.18);
    border-color: rgba(120, 184, 162, 0.2);
    color: var(--dream-primary-deep);
}

.dream-user-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.12);
    color: var(--dream-primary-deep);
    font-size: 12px;
    font-weight: 600;
}

.dream-user-chip.warn {
    background: rgba(183, 138, 82, 0.12);
    color: #8b6332;
}

.dream-user-chip.danger {
    background: rgba(186, 111, 121, 0.12);
    color: #8b5059;
}

.dream-user-chip.muted {
    background: rgba(87, 108, 97, 0.08);
    color: var(--dream-muted);
}

.dream-secret-textarea {
    width: 100%;
    min-height: 120px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(87, 108, 97, 0.12);
    background: #f8faf8;
    color: var(--dream-primary-deep);
}

@media (max-width: 991px) {
    .dream-user-layout {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .dream-user-sidebar {
        position: static;
        top: auto;
        padding: 0;
        border: 0;
        background: transparent !important;
        box-shadow: none !important;
        animation: none !important;
    }

    .dream-user-sidebar-profile {
        display: none;
    }

    .dream-user-sidebar-nav {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 10px;
        padding: 0 0 2px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        scroll-padding-inline: 12px;
        scrollbar-width: none;
        transform: translateZ(0);
    }

    .dream-user-sidebar-nav::-webkit-scrollbar {
        display: none;
    }

    .dream-user-sidebar-link {
        width: auto;
        flex: 0 0 auto;
        min-width: max-content;
        gap: 8px;
        padding: 10px 14px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.88);
        border: 1px solid rgba(87, 108, 97, 0.08);
        box-shadow: 0 10px 22px rgba(42, 56, 49, 0.05);
        scroll-snap-align: start;
        transform: none !important;
        transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
    }

    .dream-user-sidebar-link i {
        width: auto;
    }

    .dream-user-sidebar-link:hover,
    .dream-user-sidebar-link.is-active {
        background: linear-gradient(135deg, rgba(149, 208, 189, 0.22), rgba(104, 156, 139, 0.14));
        border-color: rgba(120, 184, 162, 0.2);
        box-shadow: 0 14px 26px rgba(104, 156, 139, 0.10);
    }

    .dream-user-sidebar-link.is-pressing {
        transform: scale(.97) !important;
        opacity: .94;
    }

    .dream-user-main {
        min-width: 0;
    }

    .dream-dashboard-header {
        flex-direction: column;
    }

    .dream-dashboard-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .dream-user-page .container {
        width: calc(100vw - 16px);
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    .dream-user-sidebar-nav {
        gap: 8px;
    }

    .dream-user-sidebar-link {
        padding: 9px 13px;
        font-size: 13px;
    }

    .dream-user-panel {
        padding: 18px;
    }

    .dream-user-panel-head h1 {
        font-size: 24px;
    }

    .dream-user-form-grid {
        grid-template-columns: 1fr;
    }

    .dream-user-inline {
        flex-direction: column;
        align-items: stretch;
    }

    .dream-dashboard-header-copy h2 {
        font-size: 26px;
    }

    .dream-dashboard-card-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .dream-dashboard-simple-card,
    .dream-dashboard-profile-panel {
        border-radius: 24px;
    }

    .dream-dashboard-simple-card,
    .dream-dashboard-profile-panel {
        padding: 20px;
    }

    .dream-dashboard-simple-card {
        min-height: 0;
    }

    .dream-dashboard-simple-card strong {
        font-size: 28px;
    }

    .dream-dashboard-info-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .dream-dashboard-info-label {
        flex: none;
    }

    .dream-dashboard-info-value {
        width: 100%;
        justify-content: flex-start;
        text-align: left;
    }
}

.dream-auth-page {
    min-height: 100vh;
    margin: 0;
    font-family: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;
    color: var(--dream-primary-deep);
    background:
        radial-gradient(circle at top left, rgba(120, 184, 162, 0.18), transparent 30%),
        radial-gradient(circle at right bottom, rgba(191, 157, 117, 0.12), transparent 24%),
        #f5f1eb;
}

.dream-auth-shell {
    position: relative;
    min-height: 100vh;
    padding: 36px;
    overflow: hidden;
}

.dream-auth-shell *,
.dream-auth-shell *:before,
.dream-auth-shell *:after {
    box-sizing: border-box;
}

.dream-auth-backdrop {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.58), rgba(255, 255, 255, 0.12)),
        linear-gradient(145deg, rgba(120, 184, 162, 0.08), transparent 40%);
}

.dream-auth-layout {
    position: relative;
    z-index: 1;
    width: min(1180px, 100%);
    margin: 0 auto;
    min-height: calc(100vh - 72px);
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(396px, 488px);
    gap: 28px;
    align-items: stretch;
}

.dream-auth-login .dream-auth-layout,
.dream-auth-register .dream-auth-layout {
    width: min(560px, 100%);
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
}

.dream-auth-login .dream-auth-aside,
.dream-auth-register .dream-auth-aside {
    display: none;
}

.dream-auth-login .dream-auth-main,
.dream-auth-register .dream-auth-main {
    width: 100%;
    max-width: 100%;
    padding-top: 52px;
}

.dream-auth-aside {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 10px 24px 6px;
}

.dream-auth-brand img {
    display: block;
    max-width: 240px;
    max-height: 64px;
    object-fit: contain;
}

.dream-auth-eyebrow {
    display: inline-flex;
    margin-top: 30px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(120, 184, 162, 0.12);
    color: var(--dream-primary-deep);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dream-auth-title {
    margin: 18px 0 14px;
    font-size: clamp(34px, 5vw, 52px);
    line-height: 1.08;
    font-weight: 700;
}

.dream-auth-description {
    max-width: 520px;
    margin: 0 0 28px;
    color: var(--dream-muted);
    font-size: 16px;
    line-height: 1.9;
}

.dream-auth-highlights {
    display: grid;
    gap: 14px;
    max-width: 460px;
}

.dream-auth-highlight {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    padding: 18px;
    border: 1px solid rgba(87, 108, 97, 0.08);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(14px);
    box-shadow: 0 18px 40px rgba(52, 63, 58, 0.08);
}

.dream-auth-highlight i {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-size: 18px;
    color: var(--dream-primary-deep);
    background: rgba(120, 184, 162, 0.14);
}

.dream-auth-highlight strong,
.dream-auth-highlight span {
    display: block;
}

.dream-auth-highlight strong {
    margin-bottom: 4px;
    font-size: 15px;
}

.dream-auth-highlight span {
    color: var(--dream-muted);
    font-size: 13px;
    line-height: 1.7;
}

.dream-auth-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    padding-top: 38px;
}

.dream-auth-card {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 112px 28px 28px;
    border-radius: 30px;
    border: 1px solid rgba(87, 108, 97, 0.08);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(18px);
    box-shadow: 0 28px 60px rgba(45, 59, 53, 0.12);
}

.dream-auth-mascot {
    position: absolute;
    top: -36px;
    left: 50%;
    width: 184px;
    height: 120px;
    transform: translateX(-50%);
    pointer-events: none;
    filter: drop-shadow(0 20px 30px rgba(52, 64, 58, 0.12));
}

.dream-auth-mascot img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity .22s ease, transform .22s ease;
}

.dream-auth-mascot-closed {
    opacity: 0;
    transform: translateY(4px) scale(.98);
}

.dream-auth-card.is-password-active .dream-auth-mascot-open {
    opacity: 0;
    transform: translateY(4px) scale(.98);
}

.dream-auth-card.is-password-active .dream-auth-mascot-closed {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.dream-auth-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
    color: var(--dream-muted);
    font-size: 13px;
}

.dream-auth-link-inline,
.dream-auth-form-head p a,
.dream-auth-field span a {
    color: var(--dream-primary-deep);
    text-decoration: none;
}

.dream-auth-link-inline:hover,
.dream-auth-form-head p a:hover,
.dream-auth-field span a:hover {
    color: var(--dream-primary);
}

.dream-auth-form-head {
    margin-bottom: 24px;
}

.dream-auth-form-head h2 {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 700;
}

.dream-auth-form-head p {
    margin: 0;
    color: var(--dream-muted);
    font-size: 14px;
}

.dream-auth-form {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.dream-auth-field {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.dream-auth-field span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--dream-primary-deep);
    font-size: 14px;
    font-weight: 600;
}

.dream-auth-field input {
    width: 100%;
    height: 54px;
    padding: 0 16px;
    border-radius: 18px;
    border: 1px solid rgba(87, 108, 97, 0.12);
    background: #f8faf8;
    color: var(--dream-primary-deep);
    font-size: 15px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.dream-auth-password-wrap {
    position: relative;
}

.dream-auth-password-wrap input {
    padding-right: 54px;
}

.dream-auth-password-toggle {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
    color: #6d8077;
    transform: translateY(-50%);
    transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.dream-eye-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    transition: opacity .18s ease, transform .18s ease;
}

.dream-eye-icon i {
    display: block;
    line-height: 1;
}

.dream-eye-icon-open {
    opacity: 0;
    transform: scale(.82);
}

.dream-eye-icon-closed {
    opacity: 1;
    transform: scale(1);
}

.dream-auth-password-toggle:hover,
.dream-auth-password-toggle:focus-visible,
.dream-auth-password-toggle.is-visible {
    background: rgba(120, 184, 162, 0.10);
    color: var(--dream-primary-deep);
    box-shadow: none;
    outline: none;
}

.dream-auth-password-toggle:active {
    transform: translateY(-50%) scale(.96);
}

.dream-auth-password-toggle.is-visible .dream-eye-icon-open {
    opacity: 1;
    transform: scale(1);
}

.dream-auth-password-toggle.is-visible .dream-eye-icon-closed {
    opacity: 0;
    transform: scale(.82);
}

.dream-auth-field input:focus {
    outline: none;
    border-color: rgba(120, 184, 162, 0.6);
    box-shadow: 0 0 0 4px rgba(120, 184, 162, 0.12);
    transform: translateY(-1px);
}

.dream-auth-captcha-row,
.dream-auth-inline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px;
    gap: 14px;
    align-items: end;
}

.dream-auth-captcha-row > *,
.dream-auth-inline > * {
    min-width: 0;
}

.dream-auth-captcha-image,
.dream-auth-secondary,
.dream-auth-submit {
    height: 54px;
    border: 0;
    border-radius: 18px;
    font-size: 15px;
    font-weight: 700;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.dream-auth-captcha-image,
.dream-auth-secondary {
    color: var(--dream-primary-deep);
    background: #eff5f1;
    border: 1px solid rgba(87, 108, 97, 0.1);
    box-shadow: 0 14px 28px rgba(51, 64, 58, 0.08);
}

.dream-auth-captcha-image:hover,
.dream-auth-secondary:hover,
.dream-auth-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(51, 64, 58, 0.12);
}

.dream-auth-captcha-image {
    width: 112px;
    max-width: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
    appearance: none;
    justify-self: end;
}

.dream-auth-captcha-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 15px;
}

.dream-auth-captcha-image:hover,
.dream-auth-captcha-image:focus-visible {
    transform: none;
    box-shadow: none;
}

.dream-auth-submit {
    color: #fff;
    background: linear-gradient(135deg, #8dcab8, #5e9f89);
    box-shadow: 0 18px 32px rgba(84, 135, 117, 0.26);
}

.dream-auth-secondary[disabled] {
    opacity: .6;
    cursor: not-allowed;
}

.dream-auth-divider {
    position: relative;
    text-align: center;
    color: var(--dream-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dream-auth-divider:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(87, 108, 97, 0.12);
}

.dream-auth-divider span {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0 12px;
}

.dream-auth-hook {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.dream-auth-hook > * {
    min-width: 0;
}

.dream-auth-hook a,
.dream-auth-hook button,
.dream-auth-hook input,
.dream-auth-hook .btn {
    max-width: 100%;
}

.dream-auth-hook .google-login-plugin-root {
    width: 100%;
    margin: 0;
}

.dream-auth-hook .google-login-inline-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px;
    margin-bottom: 0 !important;
}

.dream-auth-hook .google-login-btn,
.dream-auth-hook button.google-login-btn,
.dream-auth-hook .btn.google-login-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 54px;
    padding: 0 18px;
    margin: 0 !important;
    border-radius: 18px !important;
    border: 1px solid rgba(87, 108, 97, 0.12) !important;
    background: linear-gradient(180deg, #ffffff, #f6faf7) !important;
    box-shadow: 0 14px 28px rgba(51, 64, 58, 0.08) !important;
    color: var(--dream-primary-deep) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.dream-auth-hook .google-login-btn:hover,
.dream-auth-hook .google-login-btn:focus-visible {
    border-color: rgba(120, 184, 162, 0.28) !important;
    box-shadow: 0 18px 32px rgba(51, 64, 58, 0.12) !important;
    transform: translateY(-2px);
    outline: none;
}

.dream-auth-hook .google-login-btn .google-login-label {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding-left: 0 !important;
    line-height: 1;
}

.dream-auth-hook .google-login-btn .google-login-label::before {
    position: static !important;
    transform: none !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px;
}

.dream-query-page {
    display: grid;
    gap: 24px;
}

.dream-query-hero,
.dream-query-result {
    padding: 28px;
}

.dream-cart-page {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
}

.dream-cart-page-shell {
    padding: 8px 0 0;
}

.dream-cart-page-board {
    margin-top: 16px;
}

.dream-cart-page-panel {
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(87, 108, 97, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 247, 0.98));
    box-shadow: 0 24px 60px rgba(29, 40, 35, 0.10);
}

.dream-cart-page-board .dream-cart-popover-body {
    max-height: none;
    overflow: visible;
}

.dream-cart-page-guest {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 320px;
    padding: 24px 16px 8px;
    text-align: center;
}

.dream-cart-page-guest h3 {
    margin: 0;
    color: var(--dream-text);
    font-size: 24px;
    font-weight: 700;
}

.dream-cart-page-guest p {
    max-width: 320px;
    margin: 0;
    color: var(--dream-muted);
    font-size: 14px;
    line-height: 1.8;
}

.dream-query-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 28px;
    align-items: center;
}

.dream-query-hero-copy h1 {
    margin: 10px 0 12px;
    font-size: 38px;
    line-height: 1.12;
}

.dream-query-hero-copy p {
    padding-top: 20px;
    margin: 0;
    color: var(--dream-muted);
    line-height: 1.85;
}

.dream-query-search {
    border-radius: 24px;
    border: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-query-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 60px;
    padding: 0 12px 0 16px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(87, 108, 97, 0.1);
    box-shadow: 0 14px 30px rgba(45, 59, 53, 0.06);
}

.dream-query-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.dream-query-input-wrap i {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--dream-muted);
    pointer-events: none;
}

.dream-query-input {
    width: 100%;
    min-width: 0;
    height: 44px;
    border: 0;
    background: transparent;
    color: var(--dream-primary-deep);
    font-size: 15px;
    padding: 0 0 0 32px;
}

.dream-query-input:focus {
    outline: none;
}

.dream-query-submit {
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 16px;
    white-space: nowrap;
    color: #fff;
    font-weight: 700;
    background: linear-gradient(135deg, #8dcab8, #5e9f89);
    box-shadow: 0 14px 28px rgba(84, 135, 117, 0.22);
}

.dream-query-list {
    display: grid;
    gap: 14px;
}

.dream-query-result .dream-panel-title {
    color: #7f7f7f;
}

.dream-query-order {
    padding: 20px 22px;
    border-radius: 22px;
    border: 1px solid rgba(87, 108, 97, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(250, 251, 249, 0.97));
    box-shadow: 0 12px 26px rgba(45, 59, 53, 0.04);
}

.dream-query-order-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 10px;
}

.dream-query-order-title {
    min-width: 0;
}

.dream-query-order-head h3 {
    font-weight: bold;
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.32;
    letter-spacing: -0.02em;
    color: #7f7f7f;
}

.dream-query-order-head p {
    margin: 0;
    color: #7f7f7f;
    font-size: 13px;
}

.dream-query-order-line,
.dream-query-summary {
    display: grid;
    gap: 2px;
    margin-bottom: 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-query-order-line span,
.dream-query-summary span {
    display: block;
    font-size: 12px;
    color: #7f7f7f;
}

.dream-query-order-no {
    display: inline-flex;
    align-items: center;
    color: #7f7f7f;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.4;
}

.dream-query-race {
    display: inline;
    padding: 0;
    border-radius: 0;
    font-size: 14px;
    font-weight: 700;
}

.dream-query-race {
    margin-left: 0;
    color: #3f8d66;
    background: transparent;
}

.dream-query-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 18px;
}

.dream-query-meta div {
    padding: 6px 0;
    border-radius: 0;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-query-meta span,
.dream-query-secret-head small {
    display: block;
    margin-bottom: 0px;
    color: #7f7f7f;
}

.dream-query-meta strong,
.dream-query-secret-head span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: normal;
    color: #7f7f7f;
}

.dream-query-price {
    font-size: 16px;
    line-height: 1.1;
    font-weight: 700;
    color: #cf4a43;
    letter-spacing: -0.03em;
}

.dream-query-meta img {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    object-fit: cover;
}

.dream-query-order-status i {
    font-size: 14px;
}

.dream-query-order-status.is-paid {
    color: #7f7f7f;
}

.dream-query-order-status.is-paid i {
    color: #2f8f5b;
}

.dream-query-order-status.is-unpaid {
    color: #7f7f7f;
}

.dream-query-order-status.is-unpaid i {
    color: #cf4a43;
}

.dream-query-support-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dream-query-support {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    font-size: 14px;
    color: #7f7f7f;
}

.dream-query-support img {
    align-self: center;
}

.dream-query-support-extra {
    display: inline-flex;
    align-items: center;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
    white-space: nowrap;
}

.dream-query-support-extra .dream-query-service-links {
    display: inline-flex;
    gap: 0;
    margin: 0;
    white-space: nowrap;
}

.dream-query-support-extra .dream-query-service-links a {
    display: inline;
    min-height: auto;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
    vertical-align: middle;
    color: #5b9f83;
    text-decoration: underline;
    text-decoration-color: rgba(91, 159, 131, 0.35);
    text-underline-offset: 2px;
    cursor: pointer;
}

.dream-query-support-extra .dream-query-service-links a:hover {
    transform: none;
    box-shadow: none;
    color: #4b8e73;
    text-decoration-color: rgba(75, 142, 115, 0.55);
}

.dream-query-page .dream-query-order-line,
.dream-query-page .dream-query-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0px;
    margin-bottom: 8px;
    padding: 0;
    border-bottom: 0;
}

.dream-query-page .dream-query-order-line span,
.dream-query-page .dream-query-summary span,
.dream-query-page .dream-query-meta-item > span {
    font-weight:normal;
    display: inline;
    margin: 0;
    font-size: 14px;
    color: #7f7f7f;
    white-space: nowrap;
}

.dream-query-page .dream-query-order-no,
.dream-query-page .dream-query-price {
    display: inline-flex;
    align-items: center;
    margin: 0;
    line-height: 1.45;
}

.dream-query-page .dream-query-price {
    font-size: 16px;
    letter-spacing: 0;
}

.dream-query-page .dream-query-meta {
    grid-template-columns: 1fr;
    gap: 8px;
}

.dream-query-page .dream-query-meta .dream-query-meta-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0px;
    padding: 0;
    border-bottom: 0;
    background: transparent;
}

.dream-query-page .dream-query-meta .dream-query-meta-item strong,
.dream-query-page .dream-query-support {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    line-height: 1.45;
}

.dream-query-page .dream-query-support-row {
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.dream-query-page .dream-query-note,
.dream-query-page .dream-query-secret {
    border-top: 0;
    padding-top: 4px;
}

.dream-query-page .dream-query-secret-action {
    gap: 8px;
}

.dream-query-page .dream-query-password {
    flex: 0 1 280px;
    width: min(280px, 100%);
}

.dream-query-page .dream-query-note span,
.dream-query-page .dream-query-secret-head span {
    display: inline;
    margin: 0 8px 0 0;
    letter-spacing: 0;
    text-transform: none;
}

.dream-query-page .dream-query-service-links a,
.dream-query-page .dream-query-support-extra .dream-query-service-links a {
    text-decoration: none;
}

.dream-query-note,
.dream-query-secret {
    margin-top: 10px;
    padding: 10px 0 0;
    border-radius: 0;
    border: none;
    background: transparent;
    border-top: 1px solid rgba(87, 108, 97, 0.08);
}

.dream-query-note span {
    display: inline-block;
    margin-bottom: 8px;
    color: #7f7f7f;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dream-query-note p {
    margin: 0;
    line-height: 1.7;
    color: #7f7f7f;
}

.dream-query-secret-action {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
    align-items: center;
}

.dream-query-password {
    flex: 1 1 220px;
    height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid rgba(87, 108, 97, 0.12);
    background: #fff;
}

.dream-query-secret-btn,
.dream-query-service-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    border: 1px solid rgba(120, 184, 162, 0.18);
    background: rgba(120, 184, 162, 0.12);
    color: #7f7f7f;
    font-weight: 700;
    font-size: 12px;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.dream-query-secret-btn:hover,
.dream-query-service-links a:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(52, 64, 58, 0.1);
    text-decoration: none;
}

.dream-query-service-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.dream-query-secret-view {
    margin-top: 12px;
}

.dream-query-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
}

.dream-query-page-btn {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(87, 108, 97, 0.12);
    border-radius: 12px;
    background: #fff;
    color: #7f7f7f;
    font-size: 13px;
    font-weight: 700;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease, transform .2s ease;
}

.dream-query-page-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(120, 184, 162, 0.24);
    color: #7f7f7f;
}

.dream-query-page-btn.is-active {
    border-color: rgba(120, 184, 162, 0.32);
    background: rgba(120, 184, 162, 0.12);
    color: #7f7f7f;
}

.dream-query-page-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
}

@media (max-width: 991px) {
    .dream-auth-shell {
        padding: 20px;
    }

    .dream-auth-layout,
    .dream-query-hero {
        grid-template-columns: 1fr;
    }

    .dream-auth-aside {
        padding: 12px 0 0;
    }

    .dream-auth-main {
        justify-content: center;
        padding-top: 28px;
    }

    .dream-query-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 430px) {
    .dream-home-page .dream-product-grid,
    .dream-home-page.dream-home-grid-view .dream-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-card {
        border-radius: 16px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-cover {
        height: auto;
    }

    .dream-home-page.dream-home-grid-view .dream-product-content {
        height: 98px;
        min-height: 98px;
        padding: 10px;
        gap: 6px;
    }

    .dream-home-page.dream-home-grid-view .dream-product-name {
        font-size: 12px;
        line-height: 1.35;
    }

    .dream-home-page.dream-home-grid-view .dream-product-price {
        font-size: 16px;
    }

    .dream-home-page .dream-product-view-toggle {
        gap: 4px;
        padding: 3px;
    }

    .dream-home-page .dream-product-view-btn {
        width: 32px;
        height: 32px;
    }

    .dream-home-page .dream-product-view-btn i {
        font-size: 14px;
    }

    .dream-cart-page-board .dream-cart-popover-item-bottom {
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
    }

    .dream-cart-page-board .dream-cart-popover-qty {
        flex: 0 1 auto;
        gap: 4px;
        padding: 3px;
    }

    .dream-cart-page-board .dream-cart-popover-qty button {
        width: 26px;
        height: 26px;
        font-size: 12px;
    }

    .dream-cart-page-board .dream-cart-popover-qty-input {
        width: 40px;
        height: 26px;
        font-size: 13px;
    }

    .dream-cart-page-board .dream-cart-popover-price {
        flex: 0 0 auto;
        margin-left: auto;
        white-space: nowrap;
        text-align: right;
        font-size: 18px;
        line-height: 1.1;
    }
}

@media (max-width: 767px) {
    .dream-auth-shell {
        padding: 14px;
    }

    .dream-auth-card,
    .dream-query-hero,
    .dream-query-result,
    .dream-query-order {
        padding: 18px;
        border-radius: 24px;
    }

    .dream-auth-card {
        padding-top: 94px;
    }

    .dream-auth-mascot {
        top: -28px;
        width: 148px;
        height: 96px;
    }

    .dream-query-search-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        align-items: center;
    }

    .dream-query-search {
        padding: 0;
        border: none;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
    }

    .dream-query-meta {
        grid-template-columns: 1fr;
    }

    .dream-query-page .dream-query-order-line,
    .dream-query-page .dream-query-summary,
    .dream-query-page .dream-query-meta .dream-query-meta-item,
    .dream-query-page .dream-query-support-row {
        align-items: flex-start;
        gap: 6px;
    }

    .dream-auth-captcha-row,
    .dream-auth-inline {
        grid-template-columns: minmax(0, 1fr) 104px;
        gap: 12px;
        align-items: end;
    }

    .dream-query-search-row {
        padding: 12px 12px 12px 14px;
        min-height: auto;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .dream-query-input {
        height: 38px;
        border: 1px solid rgba(87, 108, 97, 0.12);
        border-radius: 10px;
        padding: 0 12px 0 34px;
        background: #fff;
    }

    .dream-query-submit {
        grid-column: auto;
        width: auto;
        min-width: 72px;
        height: 38px;
        margin-top: 0;
        padding: 0 14px;
        border-radius: 10px;
    }

    .dream-auth-submit,
    .dream-auth-captcha-image {
        width: 100%;
    }

    .dream-auth-secondary,
    .dream-auth-captcha-image {
        width: 104px;
        justify-self: end;
    }

    .dream-query-order-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .dream-query-price {
        font-size: 18px;
    }
}
