/**
 * 全站统一：弹层 / 抽屉 / 支付 / 按钮
 */

.pay-premium-panel,
.pay-loading-box {
    border-radius: 0;
}

.checkout-drawer-overlay,
.pay-premium-overlay {
    background: rgba(26, 26, 46, 0.55);
    backdrop-filter: blur(12px);
}

/* —— 居中面板（支付、加载） —— */
.pay-premium-overlay {
    position: fixed;
    inset: 0;
    z-index: 6500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s;
}
.pay-premium-overlay.open {
    opacity: 1;
    visibility: visible;
}

.pay-premium-panel {
    width: min(100%, 420px);
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: 0 24px 64px rgba(26, 26, 46, 0.12);
    transform: translateY(12px);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.pay-premium-overlay.open .pay-premium-panel {
    transform: translateY(0);
}

.pay-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 1.35rem 1.15rem;
    border-bottom: 1px solid var(--border);
    background: #fff;
    flex-shrink: 0;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    z-index: 1;
}
.pay-panel-head .drawer-kicker {
    margin-bottom: 0.35rem;
}
.pay-panel-title-wrap {
    flex: 1;
    min-width: 0;
    background: none !important;
    animation: none !important;
}
.pay-panel-amount {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0;
    line-height: 1.3;
}
.pay-panel-body {
    padding: 1rem 1.35rem 1.35rem;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    background: #fff;
}
.pay-panel-order[hidden],
.pay-panel-err[hidden] {
    display: none !important;
}
.pay-panel-order:not([hidden]) {
    margin: 0 0 0.75rem;
    padding: 0;
}
.pay-methods-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 0.65rem;
}
.pay-panel-body .pay-method-grid {
    gap: 0.5rem;
    margin-bottom: 1rem;
}
.pay-panel-body .pay-method-item {
    padding: 0.85rem 1rem;
}
.pay-method-info strong {
    display: block;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 0.1rem;
}
.pay-method-info span {
    display: block;
    font-size: 0.75rem;
    color: var(--muted);
    line-height: 1.3;
}
.pay-panel-body .pay-icon {
    width: 36px;
    height: 36px;
}
.pay-panel-body .pay-icon svg {
    width: 22px;
    height: 22px;
}
.pay-panel-body .flow-err.pay-panel-err:not([hidden]) {
    margin: 0 0 0.75rem;
    min-height: 0;
}
.pay-panel-safe {
    text-align: center;
    font-size: 0.75rem;
    color: var(--muted);
    margin-top: 0.85rem;
}

/* —— 抽屉容器 —— */
.checkout-drawer {
    background: #fff;
    box-shadow: -16px 0 48px rgba(26, 26, 46, 0.1);
}

.drawer-cta,
.flow-btn.pay-confirm-btn,
#payPickerConfirm.flow-btn {
    background: var(--ink);
    color: var(--paper);
    border: none;
    border-radius: 0;
    letter-spacing: 0.02em;
}
.drawer-cta:hover,
.flow-btn.pay-confirm-btn:hover,
#payPickerConfirm.flow-btn:hover {
    opacity: 0.9;
    filter: none;
    transform: none;
}

/* —— 支付方式 —— */
.pay-method-item {
    border-radius: 0;
    border-width: 1px;
    padding: 0.85rem 1rem;
    box-shadow: none;
}
.pay-method-item:hover {
    border-color: var(--ink);
    transform: none;
}
.pay-method-item.active {
    border-color: var(--ink);
    background: var(--paper);
    box-shadow: none;
}
.pay-method-item.active .pay-method-check {
    border-color: var(--ink);
    background: var(--ink);
    color: #fff;
}
.pay-icon {
    border-radius: 0;
}

/* —— 跳转收银台 loading —— */
.pay-loading-overlay {
    background: rgba(26, 26, 46, 0.55);
    backdrop-filter: blur(12px);
}
.pay-loading-box {
    border: 1px solid var(--border);
    border-radius: 0;
    box-shadow: 0 20px 48px rgba(26, 26, 46, 0.1);
    padding: 2rem 1.75rem;
}
.pay-loading-spinner {
    border-width: 2px;
    border-top-color: var(--ink);
}

.drawer-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
    line-height: 1.2;
}

.app-drawer .drawer-title {
    font-family: var(--app-font, -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif);
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0;
}

/* 全站 Tab 统一 */
.drawer-tabs button.active {
    color: var(--ink);
    font-weight: 600;
    border-bottom-color: var(--accent);
}

.app-drawer .drawer-tabs button.active {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

/* 订单筛选：描边选中，非黑底块 */
.order-subtabs button.active,
.order-subtabs button:hover {
    border-color: var(--ink);
    color: var(--ink);
    background: #fff;
}

/* OAuth：低调描边 */
.oauth-stack a.oauth-btn {
    border-color: var(--border);
    color: var(--ink);
}
.oauth-stack a.oauth-btn.wechat { border-left: 3px solid #07c160; }
.oauth-stack a.oauth-btn.qq { border-left: 3px solid #12b7f5; }
.oauth-stack a.oauth-btn.alipay { border-left: 3px solid #1677ff; }
.oauth-stack a.oauth-btn.github { border-left: 3px solid #24292f; }
.oauth-stack a.oauth-btn.google { border-left: 3px solid #4285f4; }
.oauth-stack a.oauth-btn.microsoft { border-left: 3px solid #0078d4; }
.oauth-stack a.oauth-btn.facebook { border-left: 3px solid #1877f2; }

/* 个人中心 */
.user-avatar {
    border-radius: 0;
    background: var(--ink);
}
.uc-quick-link:hover {
    transform: none;
}
.btn-repay {
    border-radius: 0;
    background: var(--ink);
}
.btn-repay:hover {
    opacity: 0.9;
    transform: none;
}

/* —— 地址 / 订单卡片 —— */
.addr-card,
.order-list-drawer .order-row,
.addr-manage-item {
    border-radius: 0;
}
.addr-card.active {
    box-shadow: none;
    border-color: var(--ink);
}

/* —— 独立页（支付结果等） —— */
.aike-standalone {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    background: var(--paper);
    color: var(--ink);
    font-family: 'Inter', -apple-system, sans-serif;
}
.aike-standalone .serif {
    font-family: 'Noto Serif SC', serif;
}
.aike-standalone-box {
    max-width: 420px;
    width: 100%;
    background: #fff;
    border: 1px solid var(--border);
    padding: 2rem 1.75rem;
    text-align: center;
    box-shadow: 0 20px 48px rgba(26, 26, 46, 0.08);
}
.aike-standalone-box h1 {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.35rem;
    margin-bottom: 0.5rem;
}
.aike-standalone-icon {
    width: 48px;
    height: 48px;
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    font-size: 1.25rem;
}
.aike-standalone-icon.ok { border-color: var(--ink); color: var(--ink); }
.aike-standalone-icon.wait { color: var(--muted); }
.aike-standalone .mono {
    font-family: ui-monospace, monospace;
    font-size: 0.82rem;
    color: var(--muted);
    word-break: break-all;
}
.aike-standalone .amount {
    font-family: 'Noto Serif SC', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--accent);
    margin: 0.75rem 0;
}
.aike-standalone p {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.6;
}
.aike-standalone-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 1.5rem;
}
.aike-standalone-actions .flow-btn {
    width: 100%;
    margin: 0;
    text-decoration: none;
    display: block;
    text-align: center;
}

.drawer-form-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.75rem;
}
.drawer-form-actions .flow-btn {
    flex: 1;
    margin: 0;
}

/* —— 在线客服（与 checkout-drawer 统一） —— */
.chat-fab {
    position: fixed;
    right: 1.25rem;
    bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
    z-index: 5400;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 1rem 0.6rem 0.75rem;
    border: 1px solid var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: opacity 0.2s, transform 0.2s, bottom 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 8px 24px var(--shadow-ink, color-mix(in srgb, var(--ink) 18%, transparent));
}
.chat-fab.is-contact-zone {
    bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
}
.chat-fab:hover { opacity: 0.94; transform: translateY(-1px); }
.chat-fab-icon {
    width: 1.35rem;
    height: 1.35rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.92;
}
.chat-fab-icon svg { width: 100%; height: 100%; display: block; }
.chat-fab-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    min-width: 0;
}
.chat-fab-label {
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}
.chat-fab-hint {
    font-size: 0.65rem;
    font-weight: 400;
    opacity: 0.72;
    line-height: 1.2;
    white-space: nowrap;
}
.chat-fab-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--accent);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--paper);
}
.chat-drawer.checkout-drawer {
    display: flex;
    flex-direction: column;
    max-width: 420px;
    max-height: 100vh;
    max-height: 100dvh;
}
.chat-scroll.drawer-scroll {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-anchor: auto;
    scroll-behavior: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.chat-drawer.checkout-drawer {
    transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1);
    will-change: transform;
}
.chat-drawer.chat-preparing .chat-scroll {
    opacity: 0;
    pointer-events: none;
}
.chat-drawer:not(.chat-preparing) .chat-scroll {
    opacity: 1;
    transition: opacity 0.12s ease-out;
}
.chat-messages {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    justify-content: flex-end;
    min-height: min-content;
    contain: layout style;
}
.chat-status-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.25rem;
    border-bottom: 1px solid var(--border);
    background: var(--paper);
    flex-shrink: 0;
}
.chat-mode-pill {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.2rem 0.45rem;
    border: 1px solid var(--border);
}
.chat-mode-pill.mode-ai,
.chat-mode-pill.mode-online { border-color: #0d9488; color: #0d9488; }
.chat-mode-pill.mode-waiting { border-color: var(--accent); color: var(--accent); }
.chat-mode-pill.mode-human { border-color: #0d9488; color: #0d9488; }
.chat-status-text { flex: 1; font-size: 0.78rem; color: var(--muted); line-height: 1.35; }
.chat-human-btn,
.chat-ai-btn {
    padding: 0.35rem 0.65rem;
    font-size: 0.75rem;
    border: 1px solid var(--ink);
    background: #fff;
    cursor: pointer;
    font-family: inherit;
    flex-shrink: 0;
}
.chat-ai-btn {
    border-color: #0d9488;
    color: #0d9488;
}
.chat-ai-btn.hidden,
.chat-human-btn.hidden { display: none; }
.chat-delete-history-btn {
    padding: 0.35rem 0.55rem;
    font-size: 0.72rem;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--muted);
    cursor: pointer;
    font-family: inherit;
    flex-shrink: 0;
}
.chat-delete-history-btn:hover {
    border-color: #b91c1c;
    color: #b91c1c;
}
/* 对话区：左右逻辑同 IM，视觉与全站抽屉一致 */
.chat-ended-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin: 0.5rem 1rem 0;
    padding: 0.6rem 0.85rem;
    background: var(--paper);
    border: 1px solid var(--border);
    border-left: 3px solid var(--accent);
    font-size: 0.8rem;
    color: var(--muted);
    flex-shrink: 0;
}
.chat-ended-banner.hidden { display: none; }
.chat-ended-banner p { margin: 0; flex: 1; line-height: 1.45; }
.chat-restart-btn {
    flex-shrink: 0;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-size: 0.78rem;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 0.2s;
}
.chat-restart-btn:hover { opacity: 0.9; }
.chat-scroll { background: var(--paper); }
.chat-status-bar.is-ended {
    background: var(--paper);
    border-bottom-color: var(--accent);
}
.chat-mode-pill.mode-ended { border-color: var(--accent); color: var(--accent); }
.chat-messages {
    gap: 0.75rem;
    padding: 1rem 1.15rem 1.15rem;
}
.chat-row {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    max-width: 100%;
}
.chat-row.chat-row--animate {
    animation: chatRowIn 0.12s ease-out;
}
@keyframes chatRowIn {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}
.chat-hydrating .chat-row {
    animation: none !important;
}
.chat-row-self { justify-content: flex-end; }
.chat-row-other { justify-content: flex-start; }
.chat-row-system { justify-content: center; margin: 0.2rem 0; }
.chat-row-track.chat-row-system {
    justify-content: flex-start;
    margin: 0.35rem 0;
}
.chat-row-track.chat-row-system .chat-bubble.chat-system {
    background: rgba(26, 26, 46, 0.04);
    border: 1px dashed var(--border);
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.5;
    padding: 0.55rem 0.75rem;
}
.chat-row-track .avatar-logistics {
    background: color-mix(in srgb, var(--accent) 12%, #fff);
    color: var(--accent);
    border-color: color-mix(in srgb, var(--accent) 25%, var(--border));
}
.chat-row-pending { opacity: 0.72; }
.chat-sys-text {
    font-size: 0.72rem;
    color: var(--muted);
    padding: 0.25rem 0.65rem;
    background: rgba(26, 26, 46, 0.04);
    border: 1px solid var(--border);
    border-radius: 2px;
    max-width: 92%;
    text-align: center;
    line-height: 1.5;
}
.chat-row-welcome .chat-bubble.chat-ai {
    border-left: 3px solid #0d9488;
}
.chat-sender-name {
    font-size: 0.68rem;
    color: var(--muted);
    margin-bottom: 0.2rem;
    font-weight: 500;
}
.chat-avatar {
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    background: #fff;
    border: 1px solid var(--border);
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 600;
    font-family: 'Noto Serif SC', serif;
    display: flex;
    align-items: center;
    justify-content: center;
}
.chat-row-self .chat-avatar {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
}
.chat-row-other .chat-avatar {
    color: var(--ink);
}
.chat-avatar.avatar-ai {
    color: #0d9488;
    border-color: #0d9488;
    background: linear-gradient(145deg, #f0fdf9, #ecfdf5);
}
.chat-avatar.avatar-human {
    color: #9a3412;
    border-color: #ea580c;
    background: linear-gradient(145deg, #fff7ed, #ffedd5);
}
.chat-drawer.chat-theme-human .chat-status-bar,
.chat-drawer.chat-theme-waiting .chat-status-bar {
    background: linear-gradient(90deg, #fff7ed 0%, #fff 55%);
    border-bottom-color: #fdba74;
}
.chat-drawer.chat-theme-human .chat-mode-pill.mode-human,
.chat-drawer.chat-theme-waiting .chat-mode-pill.mode-waiting {
    border-color: #ea580c;
    color: #c2410c;
    background: #fff7ed;
}
.chat-drawer.chat-theme-ai .chat-status-bar {
    background: linear-gradient(90deg, #f0fdf9 0%, #fff 55%);
}
.chat-row-other .chat-bubble.chat-ai {
    background: #fff;
    border: 1px solid #99f6e4;
    box-shadow: 0 1px 0 rgba(13, 148, 136, 0.06);
}
.chat-row-other .chat-bubble.chat-human {
    background: #fffbf5;
    border: 1px solid #fed7aa;
    border-left: 3px solid #ea580c;
    box-shadow: 0 1px 0 rgba(234, 88, 12, 0.06);
}
.chat-row-human .chat-sender-name { color: #c2410c; }
.chat-row-ai .chat-sender-name { color: #0f766e; }
.chat-row-pop {
    animation: chatAiPop 0.28s cubic-bezier(0.34, 1.2, 0.64, 1);
}
@keyframes chatAiPop {
    from { opacity: 0; transform: translateY(8px) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.chat-bubble-col {
    display: flex;
    flex-direction: column;
    max-width: calc(100% - 46px);
    min-width: 0;
}
.chat-row-self .chat-bubble-col { align-items: flex-end; }
.chat-row-other .chat-bubble-col { align-items: flex-start; }
.chat-bubble {
    max-width: 100%;
    padding: 0.65rem 0.8rem;
    font-size: 0.88rem;
    line-height: 1.55;
    word-break: break-word;
}
.chat-bubble-body { white-space: pre-wrap; }
.chat-row-self .chat-bubble.chat-user {
    background: var(--ink);
    color: var(--paper);
    border: 1px solid var(--ink);
}
.chat-time {
    font-size: 0.65rem;
    color: var(--muted);
    margin-top: 0.25rem;
    letter-spacing: 0.02em;
}
.chat-row-thinking .chat-bubble {
    opacity: 0.65;
    font-style: italic;
}
.chat-row-streaming .chat-bubble-body::after {
    content: '▍';
    display: inline-block;
    margin-left: 1px;
    color: #0d9488;
    animation: chat-cursor-blink 0.65s step-end infinite;
    vertical-align: baseline;
}
.chat-row-streaming.is-finished .chat-bubble-body::after {
    display: none;
}
@keyframes chat-cursor-blink {
    50% { opacity: 0; }
}
.chat-order-toolbar {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
    min-height: 1.75rem;
}
.chat-order-toggle {
    flex: 0 1 auto;
    max-width: 52%;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.5rem;
    border: 1px solid var(--border);
    background: var(--paper);
    font-family: inherit;
    font-size: 0.72rem;
    cursor: pointer;
    min-width: 0;
}
.chat-order-toggle-label {
    font-weight: 700;
    color: var(--ink);
    flex-shrink: 0;
}
.chat-order-toggle-meta {
    color: var(--muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.chat-order-toggle[aria-expanded="true"] {
    border-color: var(--ink);
    background: #fff;
}
.chat-order-quick {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.2rem;
    min-width: 0;
}
.chat-order-quick.is-disabled { opacity: 0.4; pointer-events: none; }
.chat-oaction-mini {
    padding: 0.22rem 0.4rem;
    font-size: 0.68rem;
    font-weight: 600;
    font-family: inherit;
    border: none;
    background: transparent;
    color: var(--ink);
    cursor: pointer;
    white-space: nowrap;
}
.chat-oaction-mini:hover:not(:disabled) { text-decoration: underline; }
.chat-oaction-mini:disabled { opacity: 0.35; cursor: not-allowed; }
.chat-oaction-mini.is-busy { opacity: 0.5; pointer-events: none; }
.chat-order-sheet {
    max-height: min(28vh, 11.5rem);
    overflow: hidden;
    margin-bottom: 0.45rem;
    border: 1px solid var(--border);
    background: var(--paper);
    transition: max-height 0.2s ease, opacity 0.15s ease, margin 0.2s ease;
}
.chat-order-sheet.is-collapsed {
    max-height: 0;
    margin-bottom: 0;
    border-color: transparent;
    opacity: 0;
    pointer-events: none;
}
.chat-order-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4rem 0.55rem 0.25rem;
}
.chat-order-sheet-title {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--muted);
}
.chat-order-dock-refresh {
    border: none;
    background: none;
    font-size: 0.72rem;
    color: var(--muted);
    cursor: pointer;
    font-family: inherit;
    padding: 0.15rem 0.35rem;
}
.chat-order-dock-refresh:hover { color: var(--ink); }
.chat-order-dock-scroll-wrap {
    margin: 0 -0.15rem 0.55rem;
    position: relative;
}
.chat-order-dock-scroll-wrap.can-scroll-right::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1.5rem;
    background: linear-gradient(90deg, transparent, #fff);
    pointer-events: none;
}
.chat-order-dock-pick {
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding: 0.15rem 0.15rem 0.35rem;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}
.chat-order-dock-pick::-webkit-scrollbar { height: 4px; }
.chat-order-dock-loading,
.chat-order-dock-empty {
    font-size: 0.78rem;
    color: var(--muted);
    padding: 0.5rem 0.15rem;
    margin: 0;
}
.chat-dock-card {
    flex: 0 0 auto;
    width: 6.75rem;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.4rem 0.45rem;
    border: 1.5px solid var(--border);
    background: var(--paper);
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.chat-dock-card:hover { border-color: #9ca3af; }
.chat-dock-card--cancelled {
    opacity: 0.45;
    border-style: dashed;
}

.chat-dock-card.is-selected {
    border-color: var(--ink);
    box-shadow: 0 2px 8px rgba(26, 26, 46, 0.1);
    background: #fff;
}
.chat-dock-card-top {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.chat-dock-card-icon {
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    border: 1px solid var(--border);
    background: #fff;
    flex-shrink: 0;
}
.chat-dock-card-status {
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.2;
}
.chat-dock-card-no {
    font-size: 0.62rem;
    color: var(--muted);
    word-break: break-all;
    line-height: 1.3;
}
.chat-dock-card-meta {
    font-size: 0.65rem;
    color: var(--muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.chat-order-dock-guest { margin-bottom: 0.5rem; }
.chat-order-dock-guest-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}
.chat-order-dock-guest-row .chat-order-input {
    flex: 1;
    min-width: 5.5rem;
    margin: 0;
}
.chat-order-dock-query {
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-size: 0.78rem;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
}
.chat-order-dock-address {
    margin: 0 0.55rem 0.5rem;
    padding-top: 0.45rem;
    border-top: 1px dashed var(--border);
}
.chat-order-dock-address.hidden { display: none; }
.chat-order-addr-label {
    font-size: 0.72rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
}
.chat-order-addr-current {
    font-size: 0.75rem;
    color: var(--muted);
    margin: 0 0 0.45rem;
    line-height: 1.45;
}
.chat-order-addr-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--border);
    font: inherit;
    font-size: 0.8rem;
    resize: vertical;
    min-height: 4.5rem;
    background: var(--paper);
    margin-bottom: 0.45rem;
}
.chat-order-addr-btns {
    display: flex;
    gap: 0.45rem;
    justify-content: flex-end;
}
.chat-order-addr-cancel,
.chat-order-addr-submit {
    padding: 0.4rem 0.85rem;
    font-size: 0.78rem;
    font-family: inherit;
    cursor: pointer;
    border: 1px solid var(--border);
    background: #fff;
}
.chat-order-addr-submit {
    border-color: var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-weight: 600;
}
.chat-row-track .chat-bubble.chat-track-panel {
    padding: 0.5rem;
    max-width: 100%;
}
.chat-track-panel .express-track-card {
    font-size: 0.8rem;
}
.chat-track-panel .express-track-map__frame {
    height: 7.5rem;
    min-height: 7.5rem;
}
.chat-track-panel .express-track-body {
    padding: 0.35rem 0 0;
}
.chat-input-bar {
    flex-shrink: 0;
    padding: 0.5rem 1rem calc(0.55rem + env(safe-area-inset-bottom));
    border-top: 1px solid var(--border);
    background: #fff;
}
.chat-order-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--border);
    font: inherit;
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
    background: var(--paper);
}
.chat-input-row {
    display: flex;
    gap: 0.5rem;
    align-items: flex-end;
}
.chat-input-row textarea {
    flex: 1;
    min-width: 0;
    min-height: 40px;
    max-height: 108px;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--border);
    font: inherit;
    font-size: 0.88rem;
    resize: none;
    background: var(--paper);
    line-height: 1.45;
    transition: border-color 0.15s;
}
.chat-input-row textarea:focus {
    outline: none;
    border-color: var(--ink);
}
.chat-send-btn {
    flex-shrink: 0;
    width: auto !important;
    min-width: 60px;
    padding: 0.6rem 1rem;
    min-height: 40px;
    border: 1px solid var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-size: 0.85rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 0.15s;
}
.chat-send-btn:hover { opacity: 0.9; }
.chat-send-btn:disabled { opacity: 0.45; cursor: not-allowed; }

.chat-input-toolbar {
    display: flex;
    gap: 0.4rem;
    margin-bottom: 0.45rem;
}
.chat-attach-btn {
    padding: 0.35rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid var(--border);
    background: var(--paper);
    cursor: pointer;
    font-family: inherit;
    color: var(--ink);
    border-radius: 2px;
    transition: border-color 0.2s, background 0.2s, transform 0.15s;
}
.chat-attach-btn:active { transform: scale(0.97); }
.chat-attach-btn:hover,
.chat-attach-btn.is-open {
    border-color: var(--ink);
    background: #fff;
    box-shadow: 0 1px 0 rgba(26, 26, 46, 0.06);
}
.chat-attach-panel {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-bottom: 0;
    border: 1px solid transparent;
    background: var(--paper);
    display: flex;
    flex-direction: column;
    pointer-events: none;
    transition:
        max-height 0.32s cubic-bezier(0.33, 1, 0.68, 1),
        opacity 0.22s ease,
        margin-bottom 0.32s cubic-bezier(0.33, 1, 0.68, 1),
        border-color 0.2s;
}
.chat-attach-panel.is-open {
    max-height: 300px;
    opacity: 1;
    margin-bottom: 0.55rem;
    border-color: var(--border);
    pointer-events: auto;
    box-shadow: 0 -2px 12px rgba(26, 26, 46, 0.04);
}
.chat-attach-head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.65rem;
    border-bottom: 1px solid var(--border);
    font-size: 0.78rem;
    font-weight: 600;
    flex-shrink: 0;
}
.chat-attach-hint {
    flex: 1;
    font-size: 0.68rem;
    font-weight: 400;
    color: var(--muted);
    text-align: right;
    opacity: 0;
    transition: opacity 0.25s;
}
.chat-attach-panel.is-open.has-cards .chat-attach-hint { opacity: 1; }
.chat-attach-close {
    border: none;
    background: none;
    font-size: 1.15rem;
    cursor: pointer;
    color: var(--muted);
    line-height: 1;
    padding: 0 0.15rem;
    transition: color 0.15s;
}
.chat-attach-close:hover { color: var(--ink); }
.chat-attach-scroll-wrap {
    position: relative;
    flex-shrink: 0;
}
.chat-attach-scroll-wrap::before,
.chat-attach-scroll-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 28px;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
}
.chat-attach-scroll-wrap::before {
    left: 0;
    background: linear-gradient(90deg, var(--paper) 15%, transparent);
}
.chat-attach-scroll-wrap::after {
    right: 0;
    background: linear-gradient(270deg, var(--paper) 15%, transparent);
}
.chat-attach-scroll-wrap.can-scroll-left::before { opacity: 1; }
.chat-attach-scroll-wrap.can-scroll-right::after { opacity: 1; }
.chat-attach-body {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.65rem 0.75rem;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
}
.chat-attach-body::-webkit-scrollbar { display: none; }
.chat-attach-body.is-empty {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
}
.chat-attach-body.is-cards {
    display: flex;
    gap: 0.55rem;
    align-items: stretch;
    padding-bottom: 0.7rem;
}
.chat-attach-guest {
    padding: 0.55rem 0.75rem 0.7rem;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
    animation: chatAttachGuestIn 0.28s ease-out;
}
@keyframes chatAttachGuestIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.chat-attach-guest.hidden { display: none; }
.chat-attach-query-btn {
    width: 100%;
    padding: 0.48rem;
    margin-top: 0.35rem;
    border: 1px solid var(--ink);
    background: var(--ink);
    color: var(--paper);
    font-size: 0.82rem;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 0.15s;
}
.chat-attach-query-btn:hover { opacity: 0.92; }
.chat-attach-loading,
.chat-attach-empty {
    font-size: 0.8rem;
    color: var(--muted);
    padding: 0.35rem 0.5rem;
    text-align: center;
    margin: 0;
}
/* 横向滑动 · 物流选单（样式见 log-card.css） */
.log-card-pick {
    flex: 0 0 240px;
    scroll-snap-align: start;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: transform 0.22s cubic-bezier(0.33, 1, 0.68, 1);
}
.log-card-pick:hover { transform: translateY(-2px); }
.log-card-pick:active { transform: translateY(0) scale(0.985); }
.log-card-pick.is-highlight .log-card {
    box-shadow: 0 0 0 2px rgba(196, 92, 62, 0.22), 0 8px 24px rgba(26, 26, 46, 0.1);
}
.log-card-pick.is-sending { pointer-events: none; opacity: 0.55; }
.log-card-wrap--pending { animation: chatCardPending 1.2s ease-in-out infinite; }

/* 聊天内物流卡片容器 */
.chat-bubble.chat-card {
    padding: 0;
    background: transparent;
    border: none;
    max-width: 100%;
}
.chat-row-self .chat-bubble.chat-card { background: transparent; border: none; }
.chat-row.chat-row-card {
    animation: chatCardIn 0.32s cubic-bezier(0.33, 1, 0.68, 1);
}
.chat-bubble-col .log-card {
    width: min(100%, 360px);
    max-width: 360px;
}
@keyframes chatCardIn {
    from { opacity: 0; transform: translateY(10px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes chatCardPending {
    0%, 100% { opacity: 0.82; }
    50% { opacity: 1; }
}
.chat-attach-panel.is-open { max-height: 360px; }

/* —— 全站区块标题 —— */
.section-eyebrow {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.65rem;
}
.section-header--stack {
    display: block;
    margin-bottom: 3rem;
}
.section-header--stack .section-desc,
.section-header .section-desc {
    color: var(--muted);
    max-width: 36rem;
    margin-top: 0.5rem;
    line-height: 1.65;
}
.about-content .section-eyebrow {
    margin-bottom: 0.75rem;
}

/* —— 联系留言 —— */
.contact {
    padding: 6rem 5rem 5rem;
    background: linear-gradient(160deg, var(--ink) 0%, color-mix(in srgb, var(--ink) 88%, var(--accent)) 100%);
    color: var(--paper);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.contact-inner {
    max-width: 72rem;
    margin: 0 auto;
}
.contact .section-eyebrow {
    color: var(--gold);
}
.contact .section-header--stack h2 {
    color: var(--paper);
    font-size: clamp(2rem, 4vw, 2.75rem);
    margin: 0;
}
.contact .section-header--stack .section-desc {
    color: rgba(255, 255, 255, 0.68);
}
.contact-lead {
    margin-top: 0.85rem;
    font-size: 0.92rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.55);
    max-width: 38rem;
}
.contact-layout {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(0, 1.35fr);
    gap: 2.5rem;
    align-items: start;
}
.contact-aside {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.contact-channel {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
}
.contact-channel-icon {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: var(--gold);
}
.contact-channel-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.48);
    margin-bottom: 0.2rem;
}
.contact-channel a,
.contact-channel span {
    color: var(--paper);
    text-decoration: none;
    font-size: 0.95rem;
    line-height: 1.45;
    word-break: break-word;
}
.contact-channel a:hover {
    color: var(--gold);
}
.contact-channel-empty {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.88rem;
    line-height: 1.45;
}
.contact-support-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 0.35rem;
    padding: 0.95rem 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: transparent;
    color: var(--paper);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s, border-color 0.2s;
    font-family: inherit;
    width: 100%;
    text-align: center;
}
.contact-support-btn:hover {
    opacity: 0.92;
    border-color: var(--gold);
    color: var(--gold);
}
.contact-form-panel {
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
    padding: 1.75rem 1.75rem 1.5rem;
    color: var(--ink);
}
.contact-form-head {
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
}
.contact-form-head h3 {
    font-size: 1.25rem;
    margin: 0 0 0.35rem;
}
.contact-form-head p {
    margin: 0;
    font-size: 0.88rem;
    color: var(--muted);
    line-height: 1.55;
}
.contact-form .flow-field {
    display: block;
    margin-bottom: 0.35rem;
}
.contact-form .flow-field-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 0.15rem;
}
.contact-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.contact-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}
.contact-captcha {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.contact-captcha input {
    flex: 1;
    margin-bottom: 0 !important;
}
.contact-captcha img {
    flex-shrink: 0;
    cursor: pointer;
    border: 1px solid var(--border);
    background: var(--paper);
}
.contact-form-hint {
    min-height: 1.2rem;
    margin: 0.35rem 0 0.5rem;
    font-size: 0.82rem;
    color: var(--muted);
}
.contact-form-hint.is-err { color: var(--accent); }
.contact-form-hint.is-ok { color: #15803d; }
.contact-captcha-help {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: var(--muted);
}
.contact-noscript {
    margin: 0 0 1rem;
    padding: 0.75rem 0.9rem;
    font-size: 0.85rem;
    line-height: 1.55;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 8%, #fff);
    border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--border));
}
.contact-form .flow-btn {
    margin-top: 0.25rem;
}

/* 联系独立页 */
.contact-page-body {
    background: var(--ink);
}
.contact-page-main {
    padding-top: 5.5rem;
}
.contact-page-body #header.header-on-dark {
    background: rgba(26, 26, 46, 0.92);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}
.contact-page-body #header.header-on-dark .logo,
.contact-page-body #header.header-on-dark nav a,
.contact-page-body #header.header-on-dark .menu-btn,
.contact-page-body #header.header-on-dark .nav-link-btn,
.contact-page-body #header.header-on-dark .nav-auth button {
    color: var(--paper);
}
.contact-page-body #header.header-on-dark nav a {
    color: rgba(255, 255, 255, 0.72);
}
.contact-page-body #header.header-on-dark nav a[aria-current="page"],
.contact-page-body #header.header-on-dark nav a:hover {
    color: var(--paper);
}
.contact-page-body #header.header-on-dark .logo-text span,
.contact-page-body #header.header-on-dark .nav-actions {
    border-left-color: rgba(255, 255, 255, 0.12);
}
.contact-page-body #header.header-on-dark .logo-mark {
    background: var(--paper);
    color: var(--ink);
}
.contact-page-body #header.header-on-dark .logo-text span {
    color: rgba(255, 255, 255, 0.55);
}
.contact-page-body nav.active {
    background: var(--ink);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}
.contact-page-body nav.active a {
    color: var(--paper);
}

/* 首页滚动到联系区时顶栏反色 */
#header.header-in-contact {
    background: color-mix(in srgb, var(--ink) 92%, transparent);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}
#header.header-in-contact .logo,
#header.header-in-contact .menu-btn,
#header.header-in-contact .nav-link-btn,
#header.header-in-contact .nav-auth button {
    color: var(--paper);
}
#header.header-in-contact nav a {
    color: rgba(255, 255, 255, 0.72);
}
#header.header-in-contact nav a:hover,
#header.header-in-contact nav a.is-active {
    color: var(--paper);
}
#header.header-in-contact nav a.is-active::after {
    background: var(--gold);
}
#header.header-in-contact .nav-actions {
    border-left-color: rgba(255, 255, 255, 0.12);
}
#header.header-in-contact .logo-mark {
    background: var(--paper);
    color: var(--ink);
}
#header.header-in-contact .logo-text span {
    color: rgba(255, 255, 255, 0.55);
}
#header.header-in-contact .nav-cart-btn:hover,
#header.header-in-contact .nav-link-btn:hover {
    color: var(--paper);
    background: rgba(255, 255, 255, 0.08);
}

@media (max-width: 768px) {
    #header.header-in-contact nav.active {
        background: color-mix(in srgb, var(--ink) 97%, var(--paper));
        border-bottom-color: rgba(255, 255, 255, 0.1);
        box-shadow: 0 16px 40px color-mix(in srgb, var(--ink) 35%, transparent);
    }
    #header.header-in-contact nav.active a {
        color: rgba(255, 255, 255, 0.88);
    }
    #header.header-in-contact nav.active a.is-active {
        color: var(--gold);
    }
    #header.header-in-contact nav.active a.is-active::after {
        background: var(--gold);
    }
    #header.header-in-contact nav.active .nav-link-btn,
    #header.header-in-contact nav.active .nav-cart-btn,
    #header.header-in-contact nav.active .nav-auth button,
    #header.header-in-contact nav.active .nav-user-center {
        color: var(--paper);
    }
    .chat-fab.is-contact-zone {
        bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px));
    }
}

/* 独立结果页顶栏 */
.aike-standalone-top {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    background: rgba(250, 249, 247, 0.92);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
}
.aike-standalone-top .logo {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    text-decoration: none;
    color: var(--ink);
}
.aike-standalone-top .logo-mark {
    width: 36px;
    height: 36px;
    background: var(--ink);
    color: var(--paper);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}
.aike-standalone-top .logo-text {
    font-size: 0.95rem;
    font-weight: 600;
}
.aike-standalone-top .logo-text span {
    display: block;
    font-size: 0.65rem;
    color: var(--muted);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.aike-standalone-top .flow-btn-ghost {
    width: auto;
    padding: 0.55rem 1rem;
    margin: 0;
    font-size: 0.85rem;
}
body.aike-standalone.has-standalone-top {
    padding-top: 4.5rem;
}

@media (max-width: 960px) {
    .contact {
        padding: 5rem 2rem 4.5rem;
    }
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}
/* —— 账号管理 —— */
.uc-account-hero {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin: 0 0 0.65rem;
    padding: 1.1rem 1.25rem;
    background: #fff;
    border-top: 1px solid var(--app-divider, #eee);
    border-bottom: 1px solid var(--app-divider, #eee);
}
.uc-account-hero-avatar {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    background: var(--ink);
    color: var(--paper);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 700;
    flex-shrink: 0;
}
.uc-account-hero-body {
    flex: 1;
    min-width: 0;
}
.uc-account-hero-name {
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 0.2rem;
}
.uc-account-hero-meta {
    display: block;
    font-size: 0.78rem;
    color: var(--muted);
    line-height: 1.45;
}
.uc-account-hero-tag {
    display: inline-block;
    margin-top: 0.35rem;
    padding: 0.15rem 0.45rem;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--ink);
    border: 1px solid var(--border);
    background: var(--paper);
}
.uc-account-section {
    margin-top: 0.65rem;
}
.uc-account-section-title {
    margin: 0;
    padding: 0.55rem 1.25rem 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
}
.uc-account-section-title--danger {
    color: var(--accent);
}
.uc-account-tip {
    margin: 0;
    padding: 0.5rem 1.25rem 0.25rem;
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--muted);
}
.uc-account-section--danger {
    margin-top: 0.85rem;
    padding-bottom: 0.5rem;
}
.uc-danger-toggle {
    display: block;
    width: calc(100% - 2.5rem);
    margin: 0 auto 0.5rem;
    padding: 0.75rem;
    border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
    background: #fff;
    color: var(--accent);
    font-size: 0.88rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    text-align: center;
}
.uc-danger-toggle[aria-expanded="true"] {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 6%, #fff);
}
.uc-danger-panel {
    margin: 0 1.25rem 0.75rem;
    padding: 1rem;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--border));
}
.uc-danger-panel.hidden {
    display: none;
}
.uc-danger-copy {
    margin: 0 0 0.85rem;
    font-size: 0.82rem;
    line-height: 1.6;
    color: var(--muted);
}
.uc-danger-copy strong {
    color: var(--accent);
    font-weight: 600;
}
.uc-danger-field {
    margin-bottom: 0.65rem;
}
.uc-danger-submit {
    background: var(--accent);
    margin-top: 0.25rem;
}
.uc-danger-submit:hover {
    opacity: 0.9;
}
.uc-logout-btn--in-settings {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
.app-drawer .uc-password-form {
    margin: 0 1rem 1rem;
    padding: 1rem;
    background: #fff;
    border: 1px solid var(--app-divider, #eee);
}
.app-drawer .uc-password-form .flow-field-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 0.1rem;
}
#ucRowPhoneVal.is-verified {
    color: var(--ink);
}

@media (max-width: 768px) {
    .contact {
        padding: 4.5rem 1.25rem 4rem;
        padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
    }
    .contact-form-panel {
        padding: 1.25rem 1.15rem 1.15rem;
    }
    .contact-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
}
