/* 前台统一主题：与首页一致 */
:root {
    --theme-bg: #f5f5f5;
    --theme-card: #ffffff;
    --theme-border: #ececec;
    --theme-primary: #1f7ec8;
    --theme-primary-dark: #1869a8;
    --theme-text: #333333;
    --theme-muted: #888888;
    --theme-soft: #f7f7f7;
    --theme-radius: 8px;
    --theme-radius-sm: 4px;
}

/* 手机端禁止双击/输入框触发页面放大 */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    touch-action: manipulation;
}
body {
    background-color: var(--theme-bg) !important;
    color: var(--theme-text);
    touch-action: manipulation;
    overscroll-behavior-x: none;
}
a, button, input, select, textarea, label, .nav-item, .function-item {
    touch-action: manipulation;
}
@media screen and (max-width: 768px) {
    input,
    select,
    textarea,
    .form-control,
    .form-input,
    .form-select,
    .input-field {
        font-size: 16px !important; /* iOS 小于16会自动放大 */
    }
}

.mobile-view-container,
.main-content,
.dashboard-container,
.ios-settings,
.ios-device-list,
.sign-wrap {
    background-color: var(--theme-bg) !important;
}

.module-section,
.settings-group,
.device-summary-section,
.app-list,
.home-panel,
.empty-state {
    background: var(--theme-card) !important;
    border: 1px solid var(--theme-border) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.module-header-icon,
.stat-icon,
.function-item-icon,
.empty-icon {
    background: #eaf5ff !important;
    color: var(--theme-primary) !important;
    box-shadow: none !important;
    border-radius: var(--theme-radius-sm) !important;
}

.empty-state .empty-icon,
.empty-icon.empty-icon-illus {
    background: transparent !important;
    color: inherit !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.module-title,
.item-title,
.app-name,
.home-hello {
    color: var(--theme-text) !important;
}

.token-hint,
.item-subtitle,
.app-description,
.home-stat-label,
.stat-title {
    color: var(--theme-muted) !important;
}

.token-copy-btn,
.search-submit,
.load-more-btn,
.ios-button.primary,
.sign-form-button,
.query-form-button,
.empty-action-btn,
.device-btn.btn-success,
.device-btn.btn-primary {
    background: var(--theme-primary) !important;
    background-image: none !important;
    border-color: var(--theme-primary) !important;
    color: #fff !important;
    border-radius: var(--theme-radius-sm) !important;
    box-shadow: none !important;
}

.token-copy-btn:active,
.ios-button.primary:active,
.sign-form-button:active,
.query-form-button:active {
    background: var(--theme-primary-dark) !important;
}

.app-action .get-btn {
    width: 100% !important;
    min-width: 72px !important;
    justify-content: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    padding: 0 8px !important;
    background-color: #1f7ec8 !important;
    background-image: url('/assets/img/app-install-btn.svg?v=3') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    border: none !important;
    border-radius: 11px !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(31, 126, 200, 0.28) !important;
}

.app-action .get-btn:active {
    background-color: #1f7ec8 !important;
    background-image: url('/assets/img/app-install-btn.svg?v=3') !important;
    background-size: 100% 100% !important;
    filter: brightness(0.96);
}

.app-action .del-btn {
    width: 100% !important;
    min-width: 72px !important;
    justify-content: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    padding: 0 8px !important;
    background-color: #e85d3b !important;
    background-image: url('/assets/img/app-delete-btn.svg?v=3') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    border: none !important;
    border-radius: 10px !important;
    color: #fff !important;
    box-shadow: 0 3px 8px rgba(232, 93, 59, 0.24) !important;
}

.ios-button.secondary,
.device-action-btn,
.token-change-btn,
.home-menu-item,
.home-token-change,
.home-token-btn {
    background: var(--theme-soft) !important;
    border: 1px solid #eaeaea !important;
    border-radius: var(--theme-radius-sm) !important;
    box-shadow: none !important;
    color: var(--theme-text);
}

.dashboard-container .function-item {
    background: linear-gradient(160deg, #ffffff 0%, #f7fbff 100%) !important;
    border: 1px solid rgba(31, 126, 200, 0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 3px 10px rgba(31, 126, 200, 0.06) !important;
    color: inherit !important;
}

.dashboard-container .function-item-icon {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.dashboard-container .token-copy-btn {
    background: linear-gradient(135deg, #6bb6f5, #1f7ec8) !important;
    background-image: linear-gradient(135deg, #6bb6f5, #1f7ec8) !important;
    border: none !important;
    border-radius: 11px !important;
    box-shadow: 0 4px 12px rgba(31, 126, 200, 0.28) !important;
}

.dashboard-container .token-change-btn {
    background: linear-gradient(180deg, #fff, #f3f8fc) !important;
    border: 1px solid rgba(31, 126, 200, 0.16) !important;
    border-radius: 11px !important;
    color: #1a3a55 !important;
    box-shadow: none !important;
}

.device-action-btn {
    color: var(--theme-primary) !important;
}

.ios-button.secondary {
    color: var(--theme-primary) !important;
    border-color: #d4e9f8 !important;
}

.function-item:hover,
.home-menu-item:hover,
.device-card:active,
.app-item:active {
    transform: none !important;
    box-shadow: none !important;
}

.stat-number,
.home-stat-value,
.home-balance b {
    color: var(--theme-primary);
}

.home-balance b {
    color: #5cb85c;
}

input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
select,
textarea,
.form-control,
.sign-form-input,
.query-form-input,
.token-input,
.domain-input {
    border-radius: var(--theme-radius-sm) !important;
    border-color: #ddd !important;
    background: #fff !important;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.sign-form-input:focus,
.query-form-input:focus {
    border-color: var(--theme-primary) !important;
    box-shadow: none !important;
    outline: none !important;
}

.bottom-nav a.active {
    color: var(--theme-primary) !important;
}

.floating-btn .query-btn,
.floating-btn .upload-btn {
    border-radius: 0 !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    box-shadow: none !important;
    color: transparent !important;
}

.floating-btn .query-btn {
    background-image: url('/assets/img/fab-query.svg?v=2') !important;
}

.floating-btn .upload-btn {
    background-image: url('/assets/img/fab-upload.svg?v=2') !important;
}

a {
    color: var(--theme-primary);
}

.layui-layer {
    border-radius: 8px !important;
}

.layui-layer-btn .layui-layer-btn0,
.layui-layer-btn a.layui-layer-btn0 {
    background: var(--theme-primary) !important;
    border-color: var(--theme-primary) !important;
}

.btn-primary,
.btn-info,
.submit-btn,
.action-button.blue-button,
.btn-submit {
    background: var(--theme-primary) !important;
    background-image: none !important;
    border-color: var(--theme-primary) !important;
    color: #fff !important;
    border-radius: var(--theme-radius-sm) !important;
    box-shadow: none !important;
}

.settings-item:not(.transaction-item) .item-icon,
.item-avatar {
    background: var(--theme-primary) !important;
}

.settings-group {
    margin-left: 8px !important;
    margin-right: 8px !important;
    border: 1px solid var(--theme-border) !important;
}

.stats-section,
.stats-grid .stat-card {
    border-radius: 8px !important;
    box-shadow: none !important;
    border: 1px solid var(--theme-border);
}

.account-card,
.kami-card,
.agent-card,
.price-row {
    border-radius: 8px !important;
    box-shadow: none !important;
}

/* 登录/注册页：隐藏底栏，统一卡片 */
body:has(.login-card) {
    padding-bottom: 0 !important;
}
body:has(.login-page) {
    background: transparent !important;
}
body:has(.login-card) .bottom-nav,
body:has(.login-card) .top-bar {
    display: none !important;
}
body:has(.login-card) .main-content {
    margin-top: 0 !important;
    padding: 0 !important;
    min-height: 100vh;
}
.login-card {
    background: transparent !important;
    border: none !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}
.login-button {
    background: #1f7ec8 !important;
    background-image: none !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}
.login-button:hover,
.login-button:active {
    background: #1869a8 !important;
    transform: none !important;
}
.forgot-password a {
    color: #1f7ec8 !important;
}
.register-button,
.social-button.register-button {
    background: #eaf5ff !important;
    color: #1f7ec8 !important;
    border: 1px solid #d4e9f8 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}
