:root {
    --navy: #101b31;
    --navy-soft: #172640;
    --blue: #1677ff;
    --blue-dark: #0958d9;
    --blue-soft: #edf5ff;
    --violet: #7659e6;
    --orange: #f59f25;
    --green: #22b573;
    --red: #e45252;
    --text: #1e293b;
    --muted: #6b778c;
    --line: #e7ebf1;
    --surface: #ffffff;
    --background: #f4f6f9;
    --shadow: 0 12px 35px rgba(29, 50, 84, .08);
    --radius: 18px;
}

* { box-sizing: border-box; }
html { min-width: 0; }
body {
    margin: 0;
    font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif;
    color: var(--text);
    background: var(--background);
    font-size: 14px;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
p, h1, h2, h3 { margin-top: 0; }
.app-shell { min-height: 100vh; }

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 236px;
    background:
        radial-gradient(circle at 30% 0%, rgba(45, 112, 210, .15), transparent 32%),
        linear-gradient(180deg, #17253d 0%, #0d1729 100%);
    color: #c9d2df;
    padding: 22px 15px;
    display: flex;
    flex-direction: column;
    z-index: 20;
}
.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 2px 8px 24px;
    color: white;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.brand-mark {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(145deg, #ffb01f, #ff8700);
    font-size: 20px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(255,145,0,.25);
}
.brand strong { display: block; font-size: 17px; }
.brand small { display: block; margin-top: 4px; color: #8797ad; font-size: 11px; }
.menu { flex: 1; padding-top: 18px; }
.menu-caption {
    margin: 12px 12px 8px;
    color: #63738a;
    font-size: 11px;
    letter-spacing: 1px;
}
.menu a {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 46px;
    margin: 4px 0;
    padding: 0 13px;
    border-radius: 12px;
    color: #b6c1d0;
    transition: .2s;
}
.menu a:hover { color: white; background: rgba(255,255,255,.06); }
.menu a.active {
    color: white;
    background: linear-gradient(90deg, #1686ef, #19a9e6);
    box-shadow: 0 8px 20px rgba(20,135,231,.25);
}
.menu-icon {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    font-size: 16px;
}
.agent-mini {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 13px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 13px;
    background: rgba(255,255,255,.035);
}
.agent-mini strong { display: block; color: #dce5f2; font-size: 12px; }
.agent-mini small { display: block; color: #75869f; font-size: 10px; margin-top: 4px; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #74839a; }
.agent-mini.online .status-dot {
    background: #38d996;
    box-shadow: 0 0 0 5px rgba(56,217,150,.1);
}
.agent-mini.offline .status-dot { background: #ff6b6b; }

.main { margin-left: 236px; min-height: 100vh; }
.topbar {
    height: 78px;
    padding: 0 30px;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #edf0f4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 10;
    backdrop-filter: blur(12px);
}
.topbar h1 { margin: 0; font-size: 21px; }
.topbar p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.topbar-right { display: flex; align-items: center; gap: 14px; }
.project-pill {
    padding: 8px 13px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fafbfd;
}
.project-pill small { display: block; color: #8b95a6; font-size: 10px; }
.project-pill strong { display: block; margin-top: 2px; font-size: 12px; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-avatar {
    width: 36px; height: 36px; border-radius: 50%;
    display: grid; place-items: center;
    color: white; background: linear-gradient(145deg, #1677ff, #5da3ff);
    font-weight: 700;
}

.content { padding: 24px 30px 45px; max-width: 1540px; margin: 0 auto; }
.flash {
    position: fixed;
    z-index: 100;
    top: 90px;
    right: 28px;
    min-width: 320px;
    max-width: 520px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 12px;
    box-shadow: var(--shadow);
    animation: slideIn .25s ease;
}
.flash.success { background: #effcf6; border: 1px solid #b9edd4; color: #16875a; }
.flash.error { background: #fff2f1; border: 1px solid #ffd1ce; color: #c93d3d; }
.flash.warning { background: #fff8e8; border: 1px solid #ffe0a3; color: #98611c; }
.flash button { margin-left: auto; border: 0; background: transparent; color: inherit; font-size: 20px; }
@keyframes slideIn { from { transform: translateX(20px); opacity: 0; } }

.panel {
    background: var(--surface);
    border: 1px solid rgba(225,230,238,.85);
    border-radius: var(--radius);
    padding: 22px;
    box-shadow: 0 4px 18px rgba(23, 42, 72, .035);
}
.eyebrow {
    display: block;
    margin-bottom: 7px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .7px;
    text-transform: uppercase;
}
.section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}
.section-heading.compact { align-items: center; }
.section-heading h2 { margin: 0; font-size: 19px; }
.section-heading p { margin: 7px 0 0; color: var(--muted); line-height: 1.65; }
.count-chip {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    color: var(--blue);
    background: var(--blue-soft);
    border-radius: 999px;
    font-size: 12px;
    white-space: nowrap;
}
.text-link { color: var(--blue); font-size: 12px; font-weight: 600; }
.text-link:hover { color: var(--blue-dark); }

.btn {
    border: 0;
    border-radius: 10px;
    min-height: 38px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 600;
    transition: .2s;
    white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
.btn.primary { color: white; background: linear-gradient(135deg, #1684f7, #0d6ce5); box-shadow: 0 8px 18px rgba(22,119,255,.18); }
.btn.secondary { color: var(--blue); background: var(--blue-soft); border: 1px solid #cfe3ff; }
.btn.soft { color: #5f47c8; background: #f1edff; }
.btn.ghost { color: #4f5b6d; background: white; border: 1px solid var(--line); }
.btn.full { width: 100%; }

.welcome-panel {
    min-height: 240px;
    padding: 32px 38px;
    border-radius: 22px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    background:
        radial-gradient(circle at 75% 50%, rgba(78,161,255,.35), transparent 28%),
        linear-gradient(125deg, #102345 0%, #173f78 52%, #1c6cc7 100%);
    box-shadow: 0 20px 45px rgba(20, 75, 145, .18);
}
.welcome-panel > div:first-child { max-width: 620px; position: relative; z-index: 2; }
.welcome-panel .eyebrow { color: #79c7ff; }
.welcome-panel h2 { margin: 0 0 12px; font-size: 28px; }
.welcome-panel h2 b { color: #ffd46b; }
.welcome-panel p { margin: 0 0 22px; color: #c9d9ee; line-height: 1.75; }
.welcome-panel .btn { background: white; color: #155aa6; box-shadow: none; }
.welcome-visual { width: 420px; height: 190px; position: relative; }
.ai-core {
    position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: 86px; height: 86px; border-radius: 26px;
    display: grid; place-items: center;
    color: white; font-size: 27px; font-weight: 800;
    background: linear-gradient(145deg, #6ebeff, #287ce4);
    border: 1px solid rgba(255,255,255,.25);
    box-shadow: 0 0 45px rgba(78,169,255,.55);
}
.orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; transform: translate(-50%,-50%); }
.orbit-a { width: 210px; height: 120px; transform: translate(-50%,-50%) rotate(15deg); }
.orbit-b { width: 310px; height: 165px; transform: translate(-50%,-50%) rotate(-12deg); }
.float-tag {
    position: absolute;
    padding: 7px 11px;
    border-radius: 9px;
    color: #eaf6ff;
    background: rgba(7,31,66,.48);
    border: 1px solid rgba(255,255,255,.16);
    font-size: 11px;
    backdrop-filter: blur(6px);
}
.tag-one { left: 35px; top: 35px; }
.tag-two { right: 20px; top: 60px; }
.tag-three { left: 75px; bottom: 18px; }

.step-card { margin-top: 20px; background: white; border-radius: var(--radius); padding: 22px; border: 1px solid var(--line); }
.progress-copy { text-align: right; }
.progress-copy strong { display: block; color: var(--blue); font-size: 20px; }
.progress-copy span { color: var(--muted); font-size: 11px; }
.progress-track { height: 7px; margin: 3px 0 22px; background: #edf0f5; border-radius: 999px; overflow: hidden; }
.progress-track span { display: block; height: 100%; background: linear-gradient(90deg, #1e84f6, #4ab6ed); border-radius: inherit; }
.setup-steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.setup-step {
    min-width: 0;
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 12px 10px;
    border-radius: 12px;
    background: #f8f9fb;
    border: 1px solid transparent;
}
.setup-step:hover { border-color: #cfe0f8; }
.setup-step > span {
    flex: 0 0 28px; height: 28px; display: grid; place-items: center;
    border-radius: 50%; color: #8b95a6; background: #e8ecf2; font-weight: 700;
}
.setup-step strong, .setup-step small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.setup-step strong { font-size: 12px; }
.setup-step small { color: #8b95a6; font-size: 10px; margin-top: 4px; }
.setup-step.done { background: #f0f8ff; }
.setup-step.done > span { color: white; background: var(--blue); }
.setup-step.done small { color: #5686b7; }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 20px 0; }
.metric-card {
    background: white; border-radius: var(--radius); padding: 18px;
    display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center;
    border: 1px solid var(--line);
    transition: .2s;
}
.metric-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.metric-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; font-size: 20px; }
.metric-icon.blue { color: var(--blue); background: #edf5ff; }
.metric-icon.violet { color: var(--violet); background: #f2efff; }
.metric-icon.orange { color: var(--orange); background: #fff5e7; }
.metric-icon.green { color: var(--green); background: #eafaf3; }
.metric-card small { color: var(--muted); }
.metric-card strong { display: block; margin-top: 3px; font-size: 22px; }
.metric-card em { color: #94a0af; font-size: 10px; font-style: normal; }

.two-column { display: grid; grid-template-columns: 1.35fr .85fr; gap: 18px; }
.task-list { display: flex; flex-direction: column; }
.task-row { display: grid; grid-template-columns: 4px 1fr auto; gap: 13px; padding: 14px 0; align-items: center; border-bottom: 1px solid #edf0f3; }
.task-row:last-child { border-bottom: 0; }
.status-line { width: 4px; height: 34px; border-radius: 4px; background: #abb4c1; }
.status-line.waiting, .status-line.running { background: var(--blue); }
.status-line.blocked, .status-line.retrying { background: var(--orange); }
.status-line.failed { background: var(--red); }
.status-line.success { background: var(--green); }
.task-main strong { display: block; max-width: 520px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-main small { display: block; color: var(--muted); margin-top: 5px; }
.task-time { text-align: right; }
.task-time small { display: block; color: #9ba4b2; margin-top: 5px; }
.status-badge {
    display: inline-flex; align-items: center; padding: 4px 8px;
    border-radius: 7px; color: #596579; background: #edf0f4;
    font-size: 10px; white-space: nowrap;
}
.status-badge.waiting, .status-badge.running, .status-badge.ready { color: #126bd4; background: #e9f3ff; }
.status-badge.blocked, .status-badge.retrying, .status-badge.review { color: #b56a00; background: #fff2dc; }
.status-badge.failed { color: #c73d3d; background: #fff0ef; }
.status-badge.success, .status-badge.published { color: #13875a; background: #eaf9f2; }
.status-badge.draft { color: #68758a; background: #eff1f4; }
.status-badge.needs_update { color: #8a49b1; background: #f5eaff; }

.suggestion-panel { background: linear-gradient(180deg, #fff 0%, #fbfaff 100%); }
.suggestion-box { display: flex; gap: 13px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.suggestion-number { color: #9c88f3; font-size: 20px; font-weight: 800; }
.suggestion-box strong { display: block; }
.suggestion-box p { margin: 6px 0 0; color: var(--muted); line-height: 1.65; font-size: 12px; }
.suggestion-panel .btn { margin-top: 17px; }

.page-grid.brand-layout { display: grid; grid-template-columns: minmax(680px, 1fr) 320px; gap: 18px; align-items: start; }
.form-panel { padding: 26px; }
.smart-form > label, .form-grid > label { display: block; margin-bottom: 18px; }
.smart-form label > span { display: block; margin-bottom: 8px; font-weight: 600; }
.smart-form label > span b { color: var(--red); }
.smart-form label > small { display: block; margin-top: 6px; color: #8d98a9; font-size: 11px; }
input, textarea, select {
    width: 100%;
    color: var(--text);
    background: #fbfcfe;
    border: 1px solid #dfe5ed;
    border-radius: 10px;
    outline: none;
    transition: .2s;
}
input, select { height: 42px; padding: 0 12px; }
textarea { padding: 12px; resize: vertical; line-height: 1.65; }
input:focus, textarea:focus, select:focus { border-color: #67a8f3; background: white; box-shadow: 0 0 0 3px rgba(22,119,255,.08); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-actions { display: flex; align-items: center; gap: 14px; padding-top: 4px; }
.form-actions span { color: var(--muted); font-size: 11px; }
.side-stack { display: flex; flex-direction: column; gap: 16px; }
.completeness-card { text-align: center; }
.ring {
    --value: 83;
    width: 150px; height: 150px; margin: 2px auto 18px;
    border-radius: 50%;
    background: conic-gradient(var(--blue) calc(var(--value) * 1%), #eaf0f7 0);
    display: grid; place-items: center;
}
.ring:before {
    content: ""; position: absolute; width: 122px; height: 122px; border-radius: 50%; background: white;
}
.ring > div { position: relative; z-index: 1; }
.ring strong { display: block; color: var(--blue); font-size: 27px; }
.ring small { color: var(--muted); }
.completeness-card h3 { margin-bottom: 8px; }
.completeness-card p { color: var(--muted); line-height: 1.6; font-size: 12px; }
.missing-list { margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); text-align: left; }
.missing-list strong { display: block; font-size: 12px; margin-bottom: 8px; }
.missing-list span { display: inline-block; margin: 3px; padding: 4px 7px; border-radius: 6px; color: #b06b00; background: #fff4df; font-size: 10px; }
.tip-panel { display: flex; gap: 12px; background: #f2f8ff; border-color: #d7e8fc; }
.tip-icon { flex: 0 0 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; color: white; background: var(--blue); font-weight: 800; }
.tip-panel h3 { margin: 2px 0 7px; font-size: 14px; }
.tip-panel p { margin: 0; color: #61728a; line-height: 1.6; font-size: 11px; }
.project-card h3 { margin-bottom: 8px; }
.project-card > p { color: var(--muted); line-height: 1.6; font-size: 12px; }
.project-card dl { margin: 15px 0 0; }
.project-card dl div { display: flex; justify-content: space-between; padding: 9px 0; border-top: 1px solid var(--line); gap: 10px; }
.project-card dt { color: #8b96a7; }
.project-card dd { margin: 0; text-align: right; max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.topic-hero {
    border-radius: 21px;
    min-height: 185px;
    padding: 28px 32px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background:
        radial-gradient(circle at 90% 20%, rgba(80,174,255,.14), transparent 30%),
        linear-gradient(110deg, #fff 0%, #f0f7ff 100%);
    border: 1px solid #dbeafd;
}
.topic-hero > div { max-width: 650px; }
.topic-hero h2 { font-size: 24px; margin-bottom: 10px; }
.topic-hero p { color: var(--muted); line-height: 1.7; margin: 0; }
.keyword-form { display: flex; gap: 10px; width: 520px; padding: 12px; background: white; border-radius: 14px; box-shadow: 0 10px 30px rgba(41,90,148,.09); }
.keyword-form input { flex: 1; border: 0; background: transparent; }
.topic-board { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.topic-card { border: 1px solid var(--line); border-radius: 15px; padding: 19px; background: #fff; transition: .2s; }
.topic-card:hover { border-color: #bad8fc; box-shadow: 0 10px 25px rgba(35,80,140,.07); }
.topic-top, .topic-actions, .article-title-line, .schedule-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.keyword-chip { display: inline-flex; padding: 4px 8px; border-radius: 7px; color: #166ac5; background: #eaf4ff; font-size: 10px; }
.priority-chip { padding: 4px 7px; border-radius: 7px; font-size: 10px; color: #68758a; background: #eff1f4; }
.priority-chip.high { color: #c23d3d; background: #fff0ef; }
.priority-chip.medium { color: #ad6800; background: #fff4df; }
.topic-card h3 { margin: 16px 0; font-size: 16px; line-height: 1.55; }
.topic-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.topic-meta span { padding: 10px; border-radius: 10px; background: #f7f9fb; }
.topic-meta small, .topic-meta b { display: block; }
.topic-meta small { color: #919baa; font-size: 9px; }
.topic-meta b { margin-top: 4px; font-size: 11px; }
.recommendation { min-height: 48px; color: var(--muted); font-size: 12px; line-height: 1.65; margin: 14px 0; }
.topic-actions { border-top: 1px solid var(--line); padding-top: 14px; }

.quick-create {
    display: flex; justify-content: space-between; align-items: center; gap: 30px;
    background: linear-gradient(110deg, #fff 0%, #f4f8ff 100%);
    border-color: #dce9fa;
}
.quick-create h2 { margin-bottom: 7px; }
.quick-create p { margin: 0; color: var(--muted); }
.quick-create form { display: flex; width: 650px; gap: 10px; }
.quick-create select { flex: 1; }
.stage-overview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 18px 0; }
.stage-overview div { padding: 18px; border-radius: 15px; background: white; border: 1px solid var(--line); }
.stage-overview small { color: var(--muted); }
.stage-overview strong { display: block; margin-top: 7px; font-size: 24px; }
.article-list { display: flex; flex-direction: column; }
.article-row {
    display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center;
    padding: 18px 0; border-bottom: 1px solid var(--line);
}
.article-row:last-child { border-bottom: 0; }
.quality-score { width: 58px; height: 58px; border-radius: 17px; display: grid; place-items: center; align-content: center; background: #eef6ff; color: var(--blue); }
.quality-score strong { font-size: 20px; }
.quality-score small { font-size: 9px; color: #6f8db2; }
.article-title-line { justify-content: flex-start; }
.article-main h3 { margin: 9px 0 6px; font-size: 16px; }
.article-main p { margin: 0 0 6px; color: var(--muted); }
.article-main > small { color: #9aa4b3; font-size: 10px; }
.article-actions { display: flex; gap: 8px; align-items: center; }
.modal { display: none; position: fixed; inset: 0; z-index: 1000; }
.modal.open { display: block; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(12,23,41,.6); backdrop-filter: blur(3px); }
.modal-card {
    position: relative; z-index: 2; width: 780px; max-height: 82vh; overflow: auto;
    margin: 7vh auto 0; padding: 30px; border-radius: 20px; background: white; box-shadow: 0 25px 80px rgba(0,0,0,.25);
}
.modal-close { position: absolute; right: 18px; top: 15px; border: 0; background: transparent; font-size: 25px; color: #8c96a5; }
.article-body { color: #425068; line-height: 1.85; }
.article-body h2 { color: var(--text); margin: 24px 0 9px; font-size: 18px; }

.agent-banner {
    padding: 22px 25px; margin-bottom: 18px; border-radius: 18px;
    display: flex; align-items: center; justify-content: space-between;
    border: 1px solid #d9e8fb; background: linear-gradient(110deg, #fff, #edf6ff);
}
.agent-banner.offline { border-color: #ffe0c0; background: linear-gradient(110deg, #fff, #fff7eb); }
.agent-banner > div { display: flex; gap: 14px; align-items: center; }
.agent-symbol { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: white; background: var(--blue); font-size: 21px; }
.agent-banner.offline .agent-symbol { background: var(--orange); }
.agent-banner h2 { margin: 0 0 6px; font-size: 18px; }
.agent-banner p { margin: 0; color: var(--muted); font-size: 11px; }
.connection-pill { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; color: #16875a; background: #e9f9f1; font-size: 11px; }
.connection-pill i { width: 7px; height: 7px; border-radius: 50%; background: #22b573; box-shadow: 0 0 0 4px rgba(34,181,115,.12); }
.agent-banner.offline .connection-pill { color: #ad6800; background: #fff1d9; }
.agent-banner.offline .connection-pill i { background: var(--orange); }
.account-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.account-card { display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; align-items: center; padding: 15px; border: 1px solid var(--line); border-radius: 13px; }
.platform-logo { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: linear-gradient(145deg, #51a6ff, #176ed6); border-radius: 12px; font-weight: 700; }
.account-card h3 { margin: 0 0 4px; font-size: 14px; }
.account-card p { margin: 0 0 4px; color: var(--muted); font-size: 11px; }
.account-card small { color: #9ca6b5; font-size: 9px; }
.login-state { padding: 4px 7px; border-radius: 7px; font-size: 10px; }
.login-state.valid { color: #13875a; background: #eaf9f2; }
.login-state.expiring { color: #ad6800; background: #fff4df; }
.login-state.expired { color: #c23d3d; background: #fff0ef; }
.login-state.unknown { color: #68758a; background: #eff1f4; }
.create-task { margin: 18px 0; }
.inline-form { display: grid; grid-template-columns: 1.4fr 1fr .85fr auto; gap: 12px; align-items: end; }
.inline-form label > span { display: block; margin-bottom: 7px; color: #596579; font-size: 11px; font-weight: 600; }
.schedule-list { position: relative; }
.schedule-item { display: grid; grid-template-columns: 68px 14px 1fr auto; gap: 16px; padding: 18px 0; position: relative; }
.schedule-item:not(:last-child):after { content: ""; position: absolute; left: 90px; top: 39px; bottom: -14px; width: 1px; background: #dfe5ed; }
.schedule-time { text-align: right; }
.schedule-time strong { display: block; font-size: 17px; }
.schedule-time small { color: #97a1b0; font-size: 10px; }
.timeline-dot { width: 11px; height: 11px; margin-top: 5px; border: 3px solid white; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 2px #a9cefa; z-index: 1; }
.timeline-dot.blocked, .timeline-dot.retrying { background: var(--orange); box-shadow: 0 0 0 2px #ffd68e; }
.timeline-dot.failed { background: var(--red); box-shadow: 0 0 0 2px #ffb7b2; }
.timeline-dot.success { background: var(--green); box-shadow: 0 0 0 2px #95dfc2; }
.schedule-title { justify-content: flex-start; }
.schedule-title h3 { margin: 0; font-size: 14px; }
.schedule-content > p { margin: 7px 0; color: var(--muted); font-size: 11px; }
.reason-box { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border-radius: 9px; background: #f5f8fc; font-size: 10px; }
.reason-box span { color: #56779c; }
.reason-box b { color: #42546b; }
.reason-box.warning { background: #fff6e9; }
.reason-box.warning span { color: #ad6800; }
.schedule-content > small { display: block; margin-top: 7px; color: #9ba5b4; }
.schedule-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }

.monitor-metrics { display: grid; grid-template-columns: 1fr 1fr .9fr 1.4fr; gap: 14px; margin-bottom: 18px; }
.monitor-card { min-height: 135px; padding: 19px; border-radius: 17px; background: white; border: 1px solid var(--line); }
.monitor-card > span { color: var(--muted); font-size: 11px; }
.monitor-card > strong { display: block; margin: 10px 0; font-size: 26px; }
.monitor-card > small { color: #99a3b2; font-size: 9px; }
.mini-bar { height: 5px; margin-bottom: 9px; border-radius: 99px; background: #eaf0f7; overflow: hidden; }
.mini-bar i { display: block; height: 100%; background: var(--blue); border-radius: inherit; }
.mini-bar.violet i { background: var(--violet); }
.recommendation-card { background: linear-gradient(135deg, #182c51, #275894); color: white; border: 0; }
.recommendation-card > span { color: #97cdf7; }
.recommendation-card p { margin: 10px 0 0; color: #d6e4f4; line-height: 1.65; font-size: 12px; }
.add-question { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.add-question h2 { margin-bottom: 7px; }
.add-question p { margin: 0; color: var(--muted); font-size: 11px; }
.add-question form { width: 690px; display: grid; grid-template-columns: 1fr 130px auto; gap: 9px; }
.monitor-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: 18px; align-items: start; }
.question-list, .observation-list { display: flex; flex-direction: column; }
.question-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--line); }
.question-item:last-child { border-bottom: 0; }
.provider-tag { padding: 5px 7px; border-radius: 7px; color: #6750c8; background: #f0edff; font-size: 9px; }
.question-item h3 { margin: 0 0 5px; font-size: 12px; line-height: 1.5; }
.question-item small { color: #9ca6b5; font-size: 9px; }
.observation-item { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.observation-status { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: white; background: #aab3c0; }
.observation-status.mentioned { background: var(--green); }
.observation-status.missed { background: var(--orange); }
.observation-item h3 { margin: 0 0 7px; font-size: 12px; }
.observation-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.observation-tags span { padding: 3px 6px; border-radius: 6px; color: #58718e; background: #f0f5fa; font-size: 9px; }
.observation-item p { margin: 8px 0 4px; color: var(--muted); line-height: 1.55; font-size: 10px; }
.observation-item > small { color: #9aa4b3; font-size: 9px; white-space: nowrap; }

.help-hero { padding: 35px; border-radius: 21px; color: white; background: linear-gradient(125deg, #152c52, #1775c7); }
.help-hero .eyebrow { color: #8ed2ff; }
.help-hero h2 { font-size: 26px; margin-bottom: 10px; }
.help-hero p { margin: 0; color: #cbe0f3; }
.help-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 18px 0; }
.help-steps article { display: flex; gap: 16px; padding: 22px; background: white; border: 1px solid var(--line); border-radius: 16px; }
.help-steps article > span { color: #b8cfee; font-size: 25px; font-weight: 800; }
.help-steps h3 { margin: 3px 0 7px; }
.help-steps p { color: var(--muted); line-height: 1.6; font-size: 12px; }
.help-steps a { color: var(--blue); font-size: 11px; font-weight: 600; }
.legal-note > div { display: flex; gap: 12px; }
.legal-note h3 { margin: 2px 0 7px; }
.legal-note p { color: var(--muted); line-height: 1.7; }
.legal-note details { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.legal-note summary { cursor: pointer; color: var(--blue); font-weight: 600; }

.empty-state { min-height: 240px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #9aa5b4; text-align: center; }
.empty-state.small { min-height: 180px; }
.empty-state > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 17px; margin-bottom: 12px; background: #eff3f7; color: #a3afbd; font-size: 23px; }
.empty-state strong { color: #5e6b7d; }
.empty-state p { max-width: 420px; margin: 8px 0 14px; font-size: 12px; line-height: 1.6; }

@media (max-width: 1280px) {
    .content { padding-left: 20px; padding-right: 20px; }
    .welcome-visual { width: 330px; }
    .setup-step { padding: 10px 7px; gap: 6px; }
    .metric-card em { display: none; }
    .monitor-metrics { grid-template-columns: repeat(2, 1fr); }
}

/* Project, knowledge, workflow, monitoring and settings additions */
.nav-badge {
    margin-left: auto;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    color: white;
    background: #ff5c5c;
    font-size: 10px;
    line-height: 1;
}
.project-switcher { margin: 0; }
.project-switcher select {
    width: 230px;
    height: 38px;
    background: white;
    font-size: 12px;
}
.notification-button {
    position: relative;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: white;
    font-weight: 800;
}
.notification-button b {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    color: white;
    background: var(--red);
    border: 2px solid white;
    border-radius: 999px;
    font-size: 9px;
}

.btn.danger { color: #cf3d3d; border-color: #ffd1ce; background: #fff7f6; }
.btn.danger:hover { background: #fff0ef; }
.danger-text { color: var(--red) !important; }
.row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.row-actions.vertical { flex-direction: column; align-items: stretch; }
.row-actions form { margin: 0; }

.page-grid.project-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr); gap: 18px; align-items: start; }
.project-list { display: flex; flex-direction: column; gap: 14px; }
.project-item {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fbfcfe;
    transition: .2s;
}
.project-item.current { border-color: #a8cef9; background: #f5faff; box-shadow: 0 8px 24px rgba(22,119,255,.07); }
.project-item-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.project-item-head h3 { margin: 9px 0 5px; font-size: 16px; }
.project-item-head p { margin: 0; color: var(--muted); font-size: 11px; }
.project-details { display: grid; grid-template-columns: .7fr 1.1fr 1.7fr; gap: 10px; margin: 15px 0; }
.project-details div { min-width: 0; padding: 10px; border-radius: 10px; background: white; border: 1px solid #edf0f4; }
.project-details dt { color: #929dad; font-size: 9px; }
.project-details dd { margin: 5px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }

.tab-links { display: flex; gap: 5px; margin-bottom: 14px; padding: 5px; width: fit-content; border-radius: 12px; background: #eaf0f7; }
.tab-links a { padding: 9px 16px; border-radius: 9px; color: #67758a; font-size: 12px; font-weight: 600; }
.tab-links a.active, .tab-links a:hover { color: var(--blue); background: white; box-shadow: 0 4px 12px rgba(30,64,110,.08); }
.split-form-list { display: grid; grid-template-columns: 350px minmax(0, 1fr); gap: 20px; align-items: start; }
.inset-form { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #f8fafc; }
.inset-form h3 { margin-bottom: 17px; }
.compact-form { margin-top: 12px; }
.compact-form > input, .compact-form > select, .compact-form > textarea { margin-bottom: 9px; }
.inline-editor { margin-top: 12px; border-top: 1px dashed #dfe5ed; padding-top: 10px; }
.inline-editor summary { cursor: pointer; width: fit-content; color: var(--blue); font-size: 11px; font-weight: 600; }
.knowledge-list { display: flex; flex-direction: column; gap: 12px; }
.knowledge-card { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.knowledge-card.disabled, .topic-card.disabled, .question-item.disabled, .platform-account.disabled { opacity: .58; background: #f6f7f9; }
.knowledge-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.knowledge-head h3 { margin: 8px 0 0; font-size: 14px; }
.knowledge-content { margin: 13px 0 10px; color: #536176; line-height: 1.7; white-space: pre-wrap; }
.asset-upload-form { display: grid; grid-template-columns: 1.2fr .75fr 1.5fr auto; gap: 10px; align-items: end; margin-bottom: 18px; }
.asset-upload-form label > span { display: block; margin-bottom: 7px; color: #596579; font-size: 11px; font-weight: 600; }
.asset-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.asset-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.asset-card img { width: 100%; height: 165px; display: block; object-fit: cover; background: #edf1f6; }
.asset-card > div { padding: 12px; }
.asset-card h3 { margin-bottom: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.asset-card p { margin: 0 0 10px; color: var(--muted); font-size: 10px; }

.filter-panel { margin-bottom: 16px; padding: 16px 20px; }
.filter-row { display: grid; grid-template-columns: minmax(240px, 1fr) 210px auto auto auto; gap: 9px; align-items: end; }
.manual-topic-form { margin: 14px 0 0; }
.inline-warning { padding: 7px 9px; border-radius: 8px; color: #9a5b00 !important; background: #fff5e4; font-size: 10px !important; }
.status-badge.compliance.passed { color: #13875a; background: #eaf9f2; }
.status-badge.compliance.warning, .status-badge.warning { color: #ad6800; background: #fff2dc; }
.status-badge.compliance.blocked { color: #c73d3d; background: #fff0ef; }
.status-badge.cancelled { color: #68758a; background: #eff1f4; }
.action-menu { position: relative; }
.action-menu summary { list-style: none; cursor: pointer; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; color: #536176; font-size: 11px; }
.action-menu summary::-webkit-details-marker { display: none; }
.action-menu[open] > div { position: absolute; right: 0; top: 43px; z-index: 8; min-width: 150px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: var(--shadow); }
.action-menu button { width: 100%; padding: 8px 10px; border: 0; border-radius: 7px; background: transparent; text-align: left; font-size: 11px; }
.action-menu button:hover { background: #f4f7fa; }

.editor-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 18px; align-items: start; }
.code-textarea { min-height: 560px; font-family: Consolas, "Microsoft YaHei", monospace; font-size: 13px; white-space: pre; }
.quality-panel { text-align: center; }
.quality-big { width: 116px; height: 116px; margin: 0 auto 18px; display: grid; place-items: center; align-content: center; border-radius: 34px; color: var(--blue); background: #edf6ff; }
.quality-big strong { font-size: 38px; line-height: 1; }
.quality-big small { margin-top: 7px; color: #6c8fb8; }
.compliance-issues { margin: 13px 0; padding: 12px; border-radius: 11px; color: #8f5900; background: #fff6e8; text-align: left; line-height: 1.65; font-size: 11px; }
.preview-panel { position: sticky; top: 96px; }
.article-preview-body { color: #3e4d63; line-height: 1.85; overflow-wrap: anywhere; }
.article-preview-body h2 { margin: 24px 0 9px; color: var(--text); font-size: 19px; }
.article-preview-body h3 { margin: 20px 0 8px; color: var(--text); font-size: 16px; }
.article-preview-body img { max-width: 100%; height: auto; border-radius: 12px; }
.article-preview-body a { color: var(--blue); text-decoration: underline; }
.article-modal { width: min(900px, calc(100vw - 80px)); }

.management-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 18px; align-items: start; margin-bottom: 18px; }
.agent-card { padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfe; }
.agent-card + .agent-card { margin-top: 10px; }
.agent-card h3 { margin: 0 0 5px; }
.agent-card p { margin: 0 0 10px; color: var(--muted); font-size: 11px; }
.secret-box { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 9px; background: #eef3f8; }
.secret-box code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.copy-button { margin-left: auto; border: 0; color: var(--blue); background: transparent; font-size: 10px; }
.account-list { display: flex; flex-direction: column; gap: 10px; }
.platform-account { display: grid; grid-template-columns: 45px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 13px; }
.platform-main h3 { margin: 0 0 4px; font-size: 13px; }
.platform-main p { margin: 0 0 4px; color: var(--muted); font-size: 10px; }
.platform-main small { color: #97a2b1; font-size: 9px; }
.account-actions { display: flex; align-items: center; gap: 7px; }
.inline-status-form { display: flex; align-items: center; gap: 6px; }
.inline-status-form select { width: 110px; height: 35px; }
.task-create-panel { margin-bottom: 18px; }
.publish-form { display: grid; grid-template-columns: 1.1fr 1.15fr .75fr .45fr auto; gap: 10px; align-items: end; }
.publish-form label > span { display: block; margin-bottom: 7px; color: #596579; font-size: 11px; font-weight: 600; }
.legal-reminder { margin: 12px 0 0; padding: 10px 12px; border: 1px solid #ffe0b0; border-radius: 10px; color: #8e5900; background: #fff8ec; font-size: 11px; }
.task-log-panel { margin-top: 18px; }
.log-list { display: flex; flex-direction: column; }
.log-row { display: grid; grid-template-columns: 150px 62px 1fr; gap: 12px; padding: 11px 0; align-items: start; border-bottom: 1px solid var(--line); }
.log-row:last-child { border-bottom: 0; }
.log-row time { color: #8894a6; font-size: 10px; }
.log-row span { padding: 3px 6px; border-radius: 6px; color: #526177; background: #eef1f5; text-align: center; font-size: 9px; }
.log-row p { margin: 0; color: #4f5e73; font-size: 11px; }
.log-row.warn span { color: #ad6800; background: #fff2dc; }
.log-row.error span { color: #c73d3d; background: #fff0ef; }
.log-row.success span { color: #13875a; background: #eaf9f2; }

.recommendation-banner { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 18px; background: linear-gradient(110deg, #fff, #f2f8ff); }
.recommendation-banner h2 { margin: 0; font-size: 18px; }
.trend-panel { margin-bottom: 18px; }
.trend-chart { height: 250px; display: grid; grid-template-columns: repeat(14, 1fr); align-items: end; gap: 9px; padding: 22px 10px 0; border-bottom: 1px solid var(--line); background: repeating-linear-gradient(to top, transparent 0, transparent 49px, #eef2f6 50px); }
.trend-column { height: 100%; display: grid; grid-template-rows: 1fr auto auto; gap: 5px; align-items: end; text-align: center; }
.trend-bars { height: 190px; display: flex; justify-content: center; align-items: end; gap: 3px; }
.trend-bars i { width: 8px; min-height: 2px; display: block; border-radius: 5px 5px 0 0; }
.trend-bars .mention, .chart-legend .mention { background: var(--blue); }
.trend-bars .citation, .chart-legend .citation { background: var(--violet); }
.trend-column small { color: #69778a; font-size: 9px; }
.trend-column em { color: #a1aab7; font-size: 8px; font-style: normal; }
.chart-legend { display: flex; justify-content: center; gap: 18px; margin-top: 13px; color: #718095; font-size: 10px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; }
.chart-legend i { width: 12px; height: 5px; border-radius: 4px; }
.add-question form { width: 820px; grid-template-columns: 1.45fr .7fr .5fr .9fr auto; }
.question-item { grid-template-columns: auto minmax(0, 1fr) auto; }
.question-item p { margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.question-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.gap-list { display: flex; flex-direction: column; gap: 10px; }
.gap-card { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 13px; }
.gap-card h3 { margin: 0 0 5px; font-size: 13px; }
.gap-card p { margin: 0; color: var(--muted); font-size: 11px; }
.observation-panel { min-width: 0; }

.alert-list { display: flex; flex-direction: column; gap: 11px; }
.alert-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.alert-card.warning { border-color: #ffe1ae; background: #fffaf2; }
.alert-card.danger { border-color: #ffd2ce; background: #fff8f7; }
.alert-card.success { border-color: #c8eedc; background: #f5fcf8; }
.alert-symbol { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: white; background: #7e8da1; font-weight: 800; }
.alert-card.warning .alert-symbol { background: var(--orange); }
.alert-card.danger .alert-symbol { background: var(--red); }
.alert-card.success .alert-symbol { background: var(--green); }
.alert-card h3 { margin: 0 0 5px; font-size: 13px; }
.alert-card p { margin: 0; color: var(--muted); line-height: 1.55; font-size: 11px; }
.compact-alert-list { display: flex; flex-direction: column; gap: 9px; }
.compact-alert-list .alert-card { grid-template-columns: 32px 1fr auto; padding: 11px; }
.compact-alert-list .alert-symbol { width: 30px; height: 30px; border-radius: 9px; }
.dashboard-alerts { margin-top: 18px; }

.page-grid.settings-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; align-items: start; }
.switch-row { display: flex !important; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfe; }
.switch-row input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; }
.switch-row span { margin: 0 !important; }
.switch-row strong, .switch-row small { display: block; }
.switch-row small { margin-top: 5px; color: var(--muted); font-weight: 400; line-height: 1.5; }
.export-panel p { color: var(--muted); line-height: 1.6; font-size: 11px; }
.export-panel .btn + .btn { margin-top: 9px; }

@media (max-width: 1360px) {
    .asset-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .publish-form { grid-template-columns: 1fr 1fr .7fr .45fr; }
    .publish-form .btn { grid-column: 1 / -1; }
    .add-question form { width: 720px; grid-template-columns: 1.3fr .7fr .45fr auto; }
    .add-question form input[name="notes"] { grid-column: 1 / 4; }
}
.preview-button { white-space: nowrap; }
.settings-group { margin: 2px 0 18px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfe; }
.settings-group h3 { margin: 0 0 15px; font-size: 14px; }
.settings-group > label:last-child { margin-bottom: 0; }
.writing-rule-box { margin: 13px 0; padding: 12px; border: 1px solid #d9e7f8; border-radius: 11px; background: #f4f9ff; text-align: left; }
.writing-rule-box strong { display: block; margin-bottom: 7px; font-size: 12px; }
.writing-rule-box p { margin: 4px 0; color: #65758b; line-height: 1.55; font-size: 10px; }
.help-detail-grid { margin: 18px 0; }
.plain-list { margin: 12px 0 0; padding-left: 20px; color: #5f6e83; line-height: 1.9; }
.plain-list code { padding: 2px 5px; border-radius: 5px; background: #eef2f6; color: #3d536d; }

/* Enhanced asset library and review center */
.asset-library-panel { overflow: visible; }
.asset-uploader { margin-bottom: 22px; padding: 18px; border: 1px solid #d9e5f2; border-radius: 18px; background: linear-gradient(145deg, #fbfdff 0%, #f5f9ff 100%); }
.upload-dropzone { min-height: 185px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 26px; border: 2px dashed #9fc7ef; border-radius: 18px; background: rgba(255,255,255,.78); cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.upload-dropzone:hover, .upload-dropzone:focus, .upload-dropzone.dragging { border-color: var(--blue); background: #eef7ff; outline: none; transform: translateY(-1px); }
.upload-dropzone input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.upload-illustration { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 22px; color: #fff; background: linear-gradient(135deg, #1d9bf0, #6b7bff); box-shadow: 0 12px 28px rgba(30,144,255,.24); }
.upload-illustration span { font-size: 38px; font-weight: 300; line-height: 1; }
.upload-copy strong { display: block; margin-bottom: 8px; color: #20324a; font-size: 17px; }
.upload-copy p { margin: 0; color: #718096; line-height: 1.65; font-size: 11px; }
.upload-picker { min-width: 145px; }
.upload-options { display: grid; grid-template-columns: 1fr .7fr .8fr 1.2fr; gap: 12px; margin-top: 16px; }
.upload-options label > span { display: block; margin-bottom: 7px; color: #596579; font-size: 11px; font-weight: 600; }
.selected-file-panel { margin-top: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.selected-file-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.selected-file-head > div { display: flex; align-items: center; gap: 10px; }
.selected-file-head strong { font-size: 12px; }
.selected-file-head span { color: var(--muted); font-size: 10px; }
.text-button { padding: 0; border: 0; color: var(--blue); background: transparent; cursor: pointer; font: inherit; font-size: 10px; }
.text-button:hover { text-decoration: underline; }
.selected-file-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.selected-file-card { position: relative; overflow: hidden; min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.selected-file-card img { width: 100%; height: 94px; display: block; object-fit: cover; background: #edf1f6; }
.selected-file-card div { padding: 8px; }
.selected-file-card strong, .selected-file-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.selected-file-card strong { font-size: 10px; }
.selected-file-card small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.selected-file-remove { position: absolute; right: 6px; top: 6px; width: 24px; height: 24px; border: 0; border-radius: 50%; color: #fff; background: rgba(20,30,45,.72); cursor: pointer; }
.upload-progress { margin-top: 16px; }
.upload-progress > div:first-child { display: flex; justify-content: space-between; margin-bottom: 7px; color: #536176; font-size: 11px; }
.progress-track { height: 9px; overflow: hidden; border-radius: 999px; background: #e7edf4; }
.progress-track span { width: 0; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #1c9cf1, #6f6cf3); transition: width .15s; }
.upload-actions { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.upload-actions .btn.large { min-width: 160px; height: 44px; }
.upload-actions > span { color: var(--muted); font-size: 10px; }
.asset-toolbar { position: sticky; top: 72px; z-index: 7; display: flex; justify-content: space-between; gap: 14px; align-items: center; margin: 0 0 16px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.94); box-shadow: 0 8px 20px rgba(25,48,77,.06); backdrop-filter: blur(8px); }
.asset-toolbar-left, .asset-toolbar-right { display: flex; align-items: center; gap: 10px; }
.asset-toolbar-left form { margin: 0; }
.asset-toolbar-left strong { color: #65758a; font-size: 10px; }
.check-all { display: flex; align-items: center; gap: 7px; cursor: pointer; color: #536176; font-size: 10px; }
.check-all input { width: 15px; height: 15px; }
.asset-toolbar-right input { width: 230px; }
.asset-toolbar-right select { width: 145px; }
.asset-grid.enhanced { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.asset-card.enhanced { position: relative; overflow: visible; transition: transform .18s, box-shadow .18s, border-color .18s; }
.asset-card.enhanced:hover { transform: translateY(-2px); border-color: #b7d7f3; box-shadow: 0 12px 28px rgba(29,55,90,.09); }
.asset-select-box { position: absolute; left: 10px; top: 10px; z-index: 3; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.92); box-shadow: 0 4px 12px rgba(0,0,0,.12); cursor: pointer; }
.asset-select-box input { position: absolute; opacity: 0; }
.asset-select-box span { width: 15px; height: 15px; border: 1.5px solid #9aa7b7; border-radius: 4px; background: #fff; }
.asset-select-box input:checked + span { border-color: var(--blue); background: var(--blue); box-shadow: inset 0 0 0 3px #fff; }
.cover-badge { position: absolute; right: 9px; top: 9px; z-index: 3; padding: 5px 8px; border-radius: 999px; color: #805500; background: #fff0b8; font-size: 9px; font-weight: 700; }
.asset-image-button { width: 100%; padding: 0; border: 0; border-radius: 14px 14px 0 0; background: transparent; cursor: zoom-in; }
.asset-card.enhanced .asset-image-button img { border-radius: 14px 14px 0 0; }
.asset-card-body { padding: 12px !important; }
.asset-meta-line { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; color: #8b96a6; font-size: 9px; }
.asset-card-body p { min-height: 31px; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.55; }
.asset-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 12px 12px; border-top: 1px solid #f0f3f7; }
.asset-card-actions form { margin-top: 10px; }
.asset-editor { position: relative; margin-top: 10px; }
.asset-editor summary { list-style: none; color: var(--blue); cursor: pointer; font-size: 10px; }
.asset-editor summary::-webkit-details-marker { display: none; }
.asset-editor-popover { position: absolute; right: -70px; bottom: 28px; z-index: 15; width: 290px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 16px 42px rgba(24,45,73,.18); }
.asset-editor-popover label > span { font-size: 10px; }
.asset-filter-empty { padding: 45px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }
.asset-filter-empty strong { display: block; margin-bottom: 7px; color: var(--text); }
.image-lightbox { position: fixed; inset: 0; z-index: 50; display: none; place-items: center; padding: 30px; }
.image-lightbox.open { display: grid; }
.lightbox-backdrop { position: absolute; inset: 0; border: 0; background: rgba(9,18,31,.78); backdrop-filter: blur(5px); }
.lightbox-card { position: relative; z-index: 1; width: min(980px, calc(100vw - 60px)); max-height: calc(100vh - 60px); overflow: auto; padding: 18px; border-radius: 18px; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.lightbox-card img { width: 100%; max-height: 68vh; display: block; object-fit: contain; border-radius: 13px; background: #eef2f6; }
.lightbox-card h3 { margin: 14px 0 5px; }
.lightbox-card p { margin: 0; color: var(--muted); }

.review-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.review-guide { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 18px; background: linear-gradient(120deg, #fff, #f3f8ff); }
.review-guide h2 { margin: 2px 0 6px; }
.review-guide p { margin: 0; color: var(--muted); }
.review-steps { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.review-steps span { padding: 8px 10px; border-radius: 9px; color: #365a7e; background: #eaf4ff; font-size: 10px; font-weight: 700; }
.review-steps b { color: #a1adba; }
.review-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fafcfe; }
.review-toolbar strong { margin-right: auto; color: #65758a; font-size: 10px; }
.review-toolbar form { margin: 0; }
.review-list { display: flex; flex-direction: column; gap: 12px; }
.review-card { position: relative; display: grid; grid-template-columns: 28px 72px minmax(0,1fr) auto; gap: 14px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.review-check { padding-top: 5px; cursor: pointer; }
.review-check input { position: absolute; opacity: 0; }
.review-check span { width: 17px; height: 17px; display: block; border: 1.5px solid #a8b3c2; border-radius: 5px; }
.review-check input:checked + span { border-color: var(--blue); background: var(--blue); box-shadow: inset 0 0 0 3px #fff; }
.review-card .quality-score { width: 65px; height: 65px; }
.review-card-main h3 { margin: 8px 0 7px; font-size: 15px; }
.review-card-main > p { margin: 0 0 8px; color: var(--muted); line-height: 1.6; font-size: 11px; }
.review-meta { display: flex; gap: 12px; color: #95a0af; font-size: 9px; }
.review-warning { margin-top: 10px; padding: 10px 12px; border-radius: 10px; color: #8d5900; background: #fff7e9; }
.review-warning strong { font-size: 10px; }
.review-warning p { margin: 4px 0 0; font-size: 10px; line-height: 1.55; }
.review-card-actions { min-width: 126px; display: flex; flex-direction: column; gap: 7px; }
.review-card-actions form, .review-card-actions .btn { width: 100%; }

.article-asset-panel .section-heading.compact { margin-bottom: 12px; }
.article-asset-panel h3 { margin: 2px 0 4px; }
.article-asset-picker { max-height: 310px; overflow: auto; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.article-asset-item { overflow: hidden; padding: 0; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; text-align: left; }
.article-asset-item:hover { border-color: var(--blue); box-shadow: 0 6px 16px rgba(30,144,255,.12); }
.article-asset-item img { width: 100%; height: 74px; display: block; object-fit: cover; }
.article-asset-item span { display: block; overflow: hidden; padding: 7px; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.mini-empty { padding: 14px; border-radius: 10px; color: var(--muted); background: #f6f8fb; font-size: 10px; line-height: 1.6; }

@media (max-width: 1360px) {
    .selected-file-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .asset-grid.enhanced { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .upload-options { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1050px) {
    .upload-dropzone { grid-template-columns: auto 1fr; }
    .upload-picker { grid-column: 1 / -1; justify-self: start; }
    .asset-toolbar { position: static; flex-direction: column; align-items: stretch; }
    .asset-toolbar-left, .asset-toolbar-right { flex-wrap: wrap; }
    .asset-toolbar-right input { flex: 1; width: auto; }
    .review-guide { align-items: flex-start; flex-direction: column; }
    .review-card { grid-template-columns: 28px 62px minmax(0,1fr); }
    .review-card-actions { grid-column: 2 / -1; flex-direction: row; flex-wrap: wrap; }
    .review-card-actions form, .review-card-actions .btn { width: auto; }
}
@media (max-width: 760px) {
    .upload-dropzone { grid-template-columns: 1fr; text-align: center; }
    .upload-illustration { margin: auto; }
    .upload-picker { justify-self: center; }
    .upload-options { grid-template-columns: 1fr; }
    .selected-file-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .asset-grid.enhanced { grid-template-columns: 1fr; }
    .review-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .review-toolbar { align-items: stretch; flex-direction: column; }
    .review-toolbar strong { margin: 0; }
    .review-card { grid-template-columns: 24px 54px minmax(0,1fr); padding: 12px; }
    .review-card .quality-score { width: 52px; height: 52px; }
    .review-card-actions { grid-column: 1 / -1; }
    .article-asset-picker { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.quick-create-actions { display: flex; align-items: center; gap: 10px; }
.quick-create-actions form { margin: 0; }
@media (max-width: 760px) {
    .quick-create-actions { width: 100%; align-items: stretch; flex-direction: column; }
}
.editor-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 8px; padding: 8px; border: 1px solid var(--line); border-radius: 10px 10px 0 0; background: #f7f9fc; }
.editor-toolbar button { padding: 6px 9px; border: 1px solid #d8e1ec; border-radius: 7px; color: #4f6075; background: #fff; cursor: pointer; font-size: 10px; }
.editor-toolbar button:hover { color: var(--blue); border-color: #a9d1f5; background: #f1f8ff; }
.editor-toolbar + .code-textarea { border-radius: 0 0 10px 10px; }
.upload-progress.error .progress-track span { background: var(--red); }
.upload-progress.error #assetUploadStatus, .upload-progress.error #assetUploadPercent { color: var(--red); }

/* GEO-UX-017: global version identity and About page */
.menu {
    min-height: 0;
    overflow-y: auto;
    padding-right: 3px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.16) transparent;
}
.menu::-webkit-scrollbar { width: 5px; }
.menu::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 8px; }

.sidebar-version {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(83, 167, 255, .18);
    border-radius: 12px;
    background: rgba(22, 119, 255, .08);
    color: #96a7bd;
    font-size: 10px;
    transition: .2s;
}
.sidebar-version:hover {
    color: white;
    border-color: rgba(83, 167, 255, .35);
    background: rgba(22, 119, 255, .14);
}
.sidebar-version strong {
    color: #6db4ff;
    font-size: 11px;
    letter-spacing: .3px;
}

.top-version-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 34px;
    padding: 0 11px;
    border: 1px solid #dce9fb;
    border-radius: 10px;
    background: #f5f9ff;
    color: #2867b2;
    font-size: 11px;
    transition: .2s;
}
.top-version-chip:hover { border-color: #9cc8ff; background: #edf5ff; }
.top-version-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22b573;
    box-shadow: 0 0 0 4px rgba(34,181,115,.1);
}

.about-page { display: grid; gap: 20px; }
.about-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, .8fr);
    gap: 24px;
    padding: 32px;
    border-radius: 22px;
    color: white;
    background:
        radial-gradient(circle at 90% 15%, rgba(64, 179, 255, .24), transparent 32%),
        radial-gradient(circle at 10% 110%, rgba(117, 86, 230, .32), transparent 38%),
        linear-gradient(135deg, #10213b 0%, #152d51 55%, #173966 100%);
    box-shadow: 0 18px 42px rgba(16,33,59,.18);
}
.about-hero::after {
    content: "GEO";
    position: absolute;
    right: -10px;
    bottom: -48px;
    color: rgba(255,255,255,.035);
    font-size: 180px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}
.about-hero-copy, .deployment-card { position: relative; z-index: 1; }
.about-hero .eyebrow { color: #63b5ff; }
.about-hero h2 { margin: 0; font-size: 31px; letter-spacing: .5px; }
.about-hero-copy > p { max-width: 760px; margin: 13px 0 20px; color: #b7c8dc; line-height: 1.8; }
.about-version-line {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 43px;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 12px;
    background: rgba(255,255,255,.07);
}
.about-version-line span { color: #9fb4cc; font-size: 12px; }
.about-version-line strong { color: #69c0ff; font-size: 19px; letter-spacing: .6px; }
.about-version-line em {
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(34,181,115,.15);
    color: #6fe0af;
    font-size: 10px;
    font-style: normal;
}
.about-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.about-hero .btn-secondary {
    color: white;
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.1);
}
.about-hero .btn-secondary:hover { background: rgba(255,255,255,.16); }
.about-hero .btn-ghost { color: #b9cbe0; }

.deployment-card {
    align-self: stretch;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 17px;
    background: rgba(7,20,38,.34);
    backdrop-filter: blur(8px);
}
.deployment-card > span { color: #93a9c3; font-size: 11px; }
.deployment-card > strong { display: block; margin-top: 8px; color: #ffcb68; font-size: 18px; }
.deployment-card > p { margin: 10px 0 17px; color: #aabbd0; line-height: 1.65; font-size: 12px; }
.deployment-card dl { margin: 0; }
.deployment-card dl div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 10px 0;
    border-top: 1px solid rgba(255,255,255,.08);
}
.deployment-card dt { color: #7f96b1; }
.deployment-card dd { margin: 0; color: #dce8f7; text-align: right; }

.about-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.about-stat-grid article {
    padding: 17px 18px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: white;
    box-shadow: 0 4px 15px rgba(23,42,72,.03);
}
.about-stat-grid span { display: block; color: var(--muted); font-size: 11px; }
.about-stat-grid strong { display: block; margin-top: 7px; color: var(--blue); font-size: 23px; }

.about-main-grid { grid-template-columns: 1.18fr .82fr; }
.about-path-grid { grid-template-columns: 1.18fr .82fr; }
.health-summary {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}
.health-summary.healthy { color: #178b5c; background: #eaf9f2; }
.health-summary.unhealthy { color: #c53b3b; background: #fff0ef; }
.health-check-list { display: grid; gap: 10px; }
.health-check-list article {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fbfcfe;
}
.health-check-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    font-weight: 800;
}
.health-check-list article.success .health-check-icon { color: #16875a; background: #e5f8ef; }
.health-check-list article.warning .health-check-icon { color: #c77b10; background: #fff5df; }
.health-check-list article.danger .health-check-icon { color: #c83c3c; background: #ffeceb; }
.health-check-list h3 { margin: 1px 0 5px; font-size: 13px; }
.health-check-list h3 em { margin-left: 8px; color: var(--muted); font-size: 10px; font-style: normal; font-weight: 500; }
.health-check-list p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; word-break: break-all; }

.system-info-list { margin: 0; }
.system-info-list div {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px dashed #e8ecf2;
}
.system-info-list div:last-child { border-bottom: 0; }
.system-info-list dt { color: var(--muted); }
.system-info-list dd { margin: 0; text-align: right; font-weight: 600; word-break: break-word; }
.system-info-list .version-value { color: var(--blue); font-size: 15px; }

.path-list { display: grid; gap: 10px; margin-top: 17px; }
.path-list div { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; gap: 10px; }
.path-list span { color: var(--muted); font-size: 11px; }
.path-list code {
    display: block;
    overflow: auto;
    padding: 10px 12px;
    border: 1px solid #e5eaf1;
    border-radius: 10px;
    background: #f7f9fc;
    color: #35445a;
    font-family: Consolas, "Microsoft YaHei", monospace;
    white-space: nowrap;
}
.muted-note { margin: 15px 0 0; color: var(--muted); font-size: 11px; line-height: 1.7; }

.deployment-status-panel h2 { margin-bottom: 16px; }
.deployment-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 9px;
    padding: 13px 14px;
    border-radius: 11px;
    background: #f7f9fc;
}
.deployment-status-row span { color: var(--muted); }
.deployment-status-row.good strong { color: var(--green); }
.deployment-status-row.attention strong { color: var(--orange); }
.about-quick-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.about-quick-links a {
    padding: 7px 10px;
    border-radius: 8px;
    background: var(--blue-soft);
    color: var(--blue);
    font-size: 11px;
}

.changelog-list { display: grid; gap: 11px; }
.changelog-list article {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 13px;
}
.changelog-list article.current { border-color: #b9d7ff; background: #f4f9ff; }
.changelog-list article > div { display: flex; align-items: center; gap: 9px; }
.changelog-list strong { color: var(--blue); }
.changelog-list span { padding: 4px 7px; border-radius: 999px; background: #eef1f5; color: var(--muted); font-size: 10px; }
.changelog-list article.current span { background: #dcecff; color: #1f6fc6; }
.changelog-list p { margin: 0; color: var(--muted); line-height: 1.65; }

.capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 17px;
}
.capability-grid article {
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fafbfd;
}
.capability-grid strong { display: block; margin-bottom: 7px; }
.capability-grid p { margin: 0; color: var(--muted); line-height: 1.7; font-size: 12px; }
.about-legal-note { border-left: 4px solid var(--orange); }
.about-legal-note h3 { margin-bottom: 7px; }
.about-legal-note p { margin: 0; color: var(--muted); line-height: 1.8; }

@media (max-width: 1380px) {
    .about-stat-grid { grid-template-columns: repeat(5, minmax(120px, 1fr)); overflow-x: auto; }
    .about-hero { grid-template-columns: minmax(0, 1.25fr) 360px; }
}

/* GEO-UX-017：审核中心布局修复、用户充值与代理商中心 */
.metric-strip {
    display: grid;
    gap: 14px;
    margin: 0 0 18px;
}
.metric-strip > div {
    min-width: 0;
    min-height: 92px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 17px 20px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(27, 47, 78, .035);
}
.metric-strip > div:nth-child(1) { border-top: 3px solid var(--blue); }
.metric-strip > div:nth-child(2) { border-top: 3px solid #5f8cff; }
.metric-strip > div:nth-child(3) { border-top: 3px solid var(--violet); }
.metric-strip > div:nth-child(4) { border-top: 3px solid var(--orange); }
.metric-strip > div:nth-child(5) { border-top: 3px solid var(--red); }
.metric-strip small { color: var(--muted); font-size: 11px; }
.metric-strip strong { margin-top: 8px; font-size: 26px; line-height: 1; }
.review-metrics { width: 100%; }
.review-guide { min-height: 112px; padding: 24px 26px; }
.review-guide > div:first-child { min-width: 0; max-width: 780px; }
.review-steps { justify-content: flex-end; }
.review-card-main { min-width: 0; }
.review-card-main h3,
.review-card-main > p { overflow-wrap: anywhere; }

.payment-safety-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 26px;
    margin-bottom: 18px;
    padding: 25px 28px;
    border: 1px solid #cfe4ff;
    border-radius: 18px;
    background: linear-gradient(125deg, #ffffff, #eef7ff);
    box-shadow: 0 9px 24px rgba(32, 91, 153, .06);
}
.payment-safety-banner h2 { margin: 0 0 9px; font-size: 21px; }
.payment-safety-banner p { margin: 0; color: var(--muted); line-height: 1.7; }
.payment-mode-chip {
    flex: 0 0 auto;
    min-width: 155px;
    padding: 15px 18px;
    border: 1px solid #bad8ff;
    border-radius: 14px;
    background: rgba(255,255,255,.82);
    text-align: center;
}
.payment-mode-chip span { display: block; color: var(--muted); font-size: 10px; }
.payment-mode-chip strong { display: block; margin-top: 7px; color: var(--blue); font-size: 14px; }
.payment-mode-chip small { display: block; max-width: 190px; margin-top: 6px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.finance-metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}
.finance-metric-grid article {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
}
.finance-metric-grid span,
.finance-metric-grid small { display: block; color: var(--muted); }
.finance-metric-grid span { font-size: 11px; }
.finance-metric-grid strong { display: block; margin: 8px 0 7px; font-size: 23px; }
.finance-metric-grid small { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.finance-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
    gap: 18px;
    margin-bottom: 18px;
}
.finance-user-switcher select { min-width: 220px; }
.wallet-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}
.wallet-summary > div {
    padding: 15px;
    border-radius: 13px;
    background: #f6f9fd;
}
.wallet-summary span { display: block; color: var(--muted); font-size: 10px; }
.wallet-summary strong { display: block; margin-top: 6px; font-size: 19px; }
.recharge-form > label > span,
.bind-code-form label > span { display: block; margin-bottom: 8px; font-weight: 600; }
.money-input {
    display: flex;
    align-items: center;
    border: 1px solid #dfe5ed;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.money-input:focus-within { border-color: #8ec2ff; box-shadow: 0 0 0 3px rgba(22,119,255,.08); }
.money-input b { padding-left: 15px; color: var(--blue); font-size: 18px; }
.money-input input { width: 100%; height: 48px; border: 0; outline: 0; padding: 0 14px 0 8px; font-size: 19px; font-weight: 700; }
.preset-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 10px 0 18px; }
.preset-amounts button { height: 34px; border: 1px solid #dbe5f1; border-radius: 9px; color: #526176; background: #f9fbfd; }
.preset-amounts button:hover { color: var(--blue); border-color: #9bc9ff; background: #f0f7ff; }
.payment-channel-picker { margin: 0 0 17px; padding: 0; border: 0; }
.payment-channel-picker legend { margin-bottom: 8px; font-weight: 600; }
.payment-channel-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.payment-channel-picker legend { grid-column: 1 / -1; }
.payment-channel-picker label { cursor: pointer; }
.payment-channel-picker input { position: absolute; opacity: 0; }
.channel-card {
    min-height: 70px;
    display: grid;
    grid-template-columns: 40px 1fr;
    grid-template-rows: auto auto;
    gap: 1px 11px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fff;
}
.channel-card > b { grid-row: 1 / 3; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: #fff; font-size: 18px; }
.channel-card.alipay > b { background: #1677ff; }
.channel-card.wechat > b { background: #20b866; }
.channel-card strong { align-self: end; }
.channel-card small { align-self: start; color: var(--muted); font-size: 9px; }
.payment-channel-picker input:checked + .channel-card { border-color: #72b4ff; box-shadow: 0 0 0 3px rgba(22,119,255,.08); background: #f7fbff; }
.form-note { margin: 10px 0 0; color: var(--muted); font-size: 10px; text-align: center; }
.invite-code-box {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 7px 12px;
    align-items: center;
    padding: 18px;
    border: 1px dashed #92c4ff;
    border-radius: 15px;
    background: #f4f9ff;
}
.invite-code-box span { color: var(--muted); font-size: 10px; }
.invite-code-box strong { grid-column: 1; font-size: 25px; letter-spacing: 2px; }
.invite-code-box .btn { grid-row: 1 / 3; grid-column: 2; }
.agent-stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 12px; }
.agent-stat-row > div { padding: 13px; border-radius: 12px; background: #f7f8fb; }
.agent-stat-row span { display: block; color: var(--muted); font-size: 9px; }
.agent-stat-row strong { display: block; margin-top: 5px; font-size: 16px; }
.agent-rule,
.promote-agent-form p,
.bound-agent p { color: var(--muted); line-height: 1.65; font-size: 10px; }
.bound-agent { padding: 18px; border-radius: 14px; background: #effaf5; }
.bound-agent span,
.bound-agent small { display: block; color: #5e8875; }
.bound-agent strong { display: block; margin: 6px 0; font-size: 20px; }
.bind-code-form { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; }
.bind-code-form label { margin: 0; }
.promote-agent-form { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.gateway-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.gateway-grid > article { padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: #fbfcfe; }
.gateway-grid > article.configured { border-color: #9dddbf; background: #f5fcf8; }
.gateway-title { display: flex; align-items: center; gap: 12px; }
.gateway-logo { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #fff; font-size: 18px; font-weight: 800; }
.gateway-logo.alipay { background: #1677ff; }
.gateway-logo.wechat { background: #20b866; }
.gateway-title h3 { margin: 0 0 4px; }
.gateway-title p { margin: 0; color: var(--muted); font-size: 10px; }
.gateway-grid dl { margin: 16px 0 12px; }
.gateway-grid dl div { display: grid; grid-template-columns: 82px 1fr; gap: 10px; padding: 8px 0; border-bottom: 1px solid #edf0f4; }
.gateway-grid dt { color: var(--muted); }
.gateway-grid dd { margin: 0; overflow-wrap: anywhere; }
.gateway-grid > article > p { margin: 0; color: var(--muted); line-height: 1.6; font-size: 10px; }
.payment-config-panel,
.finance-page > .panel { margin-bottom: 18px; }
.finance-table th,
.finance-table td { white-space: nowrap; }
.finance-table .order-message { min-width: 280px; max-width: 420px; white-space: normal; line-height: 1.55; }
.money-cell { color: #d67b00; font-weight: 700; }
.paid-mark { color: var(--green); font-weight: 700; }
.user-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.user-admin-card { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.user-card-head { display: grid; grid-template-columns: 42px 1fr auto; gap: 11px; align-items: center; }
.user-role-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(145deg, #1677ff, #5da3ff); font-weight: 800; }
.user-card-head h3 { margin: 0 0 4px; }
.user-card-head p { margin: 0; color: var(--muted); font-size: 9px; }
.user-admin-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 15px 0; }
.user-admin-card dl div { padding: 9px; border-radius: 10px; background: #f7f9fc; }
.user-admin-card dt { color: var(--muted); font-size: 9px; }
.user-admin-card dd { margin: 4px 0 0; font-size: 11px; font-weight: 600; overflow-wrap: anywhere; }
.user-card-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.user-card-actions form { margin: 0; }
.status-badge.config_required { color: #a66a08; background: #fff2dc; }
.status-badge.waiting_payment { color: #126bd4; background: #e9f3ff; }
.status-badge.paid,
.status-badge.settled,
.status-badge.active { color: #13875a; background: #eaf9f2; }
.status-badge.pending { color: #b56a00; background: #fff2dc; }
.status-badge.frozen,
.status-badge.closed,
.status-badge.cancelled { color: #68758a; background: #eff1f4; }

@media (max-width: 1360px) {
    .finance-metric-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .user-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1050px) {
    .finance-layout { grid-template-columns: 1fr; }
    .gateway-grid { grid-template-columns: 1fr; }
}

/* GEO-UX-017 account, permission and audit pages */
.top-user-menu{display:flex;align-items:center;gap:10px;padding-left:4px}.top-user-profile{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit}.top-user-text{display:flex;flex-direction:column;line-height:1.15}.top-user-text strong{font-size:13px;color:#17223b}.top-user-text small{font-size:11px;color:#8b97aa;margin-top:3px}.top-logout{border:1px solid #dbe3ee;background:#fff;color:#526176;border-radius:10px;padding:8px 11px;cursor:pointer;font-weight:700}.top-logout:hover{border-color:#ff6b6b;color:#e84f4f;background:#fff7f7}
.auth-body{margin:0;min-height:100vh;background:#eef4fb;color:#17223b;font-family:Inter,"Microsoft YaHei",sans-serif}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(460px,1.08fr) minmax(430px,.92fr)}.auth-visual{position:relative;overflow:hidden;padding:48px 58px;color:white;background:radial-gradient(circle at 16% 18%,rgba(46,196,255,.28),transparent 35%),radial-gradient(circle at 82% 78%,rgba(100,91,255,.28),transparent 38%),linear-gradient(145deg,#081a36,#102d58 58%,#0d3e68)}.auth-visual:after{content:"";position:absolute;inset:auto -160px -200px auto;width:520px;height:520px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:12px;font-size:19px}.auth-brand span,.auth-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;background:linear-gradient(135deg,#1ea7ff,#635bff);color:#fff;font-weight:900;box-shadow:0 10px 30px rgba(31,150,255,.28)}.auth-copy{position:relative;z-index:1;max-width:660px;margin-top:16vh}.auth-copy .eyebrow{color:#8fddff}.auth-copy h1{font-size:44px;line-height:1.22;margin:15px 0 18px;letter-spacing:-1px}.auth-copy>p{font-size:17px;line-height:1.8;color:rgba(255,255,255,.73);max-width:620px}.auth-feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px}.auth-feature-grid article{padding:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);backdrop-filter:blur(8px);border-radius:16px;display:grid;grid-template-columns:auto 1fr;gap:3px 12px}.auth-feature-grid b{grid-row:1/3;font-size:25px;color:#6ed7ff}.auth-feature-grid strong{font-size:15px}.auth-feature-grid span{font-size:12px;color:rgba(255,255,255,.65)}.auth-version{position:absolute;left:58px;bottom:34px;color:rgba(255,255,255,.56);z-index:1}.auth-card-wrap{display:flex;align-items:center;justify-content:center;padding:48px;background:#f7f9fc}.auth-card{width:min(420px,100%);background:#fff;border:1px solid #e3eaf3;border-radius:24px;padding:36px;box-shadow:0 22px 60px rgba(40,64,96,.12)}.auth-card-title{display:flex;align-items:center;gap:15px;margin-bottom:28px}.auth-card-title h2{margin:0 0 5px;font-size:27px}.auth-card-title p{margin:0;color:#8793a5}.auth-field{display:block;margin-bottom:17px}.auth-field span,.register-form label>span,.profile-form label>span,.password-form label>span{display:block;font-weight:700;font-size:13px;margin-bottom:8px;color:#34425a}.auth-field input,.register-form input,.profile-form input,.password-form input{width:100%;box-sizing:border-box;border:1px solid #dce5ef;background:#fbfcfe;border-radius:12px;padding:13px 14px;font-size:14px;outline:none;transition:.2s}.auth-field input:focus,.register-form input:focus,.profile-form input:focus,.password-form input:focus{border-color:#32a5ff;box-shadow:0 0 0 4px rgba(50,165,255,.11);background:#fff}.remember-row{display:flex;align-items:center;gap:8px;color:#69778b;font-size:13px;margin:2px 0 18px}.auth-submit{width:100%;border:0;border-radius:12px;padding:14px 18px;color:#fff;font-weight:800;font-size:15px;cursor:pointer;background:linear-gradient(90deg,#1ca5f8,#5364f4);box-shadow:0 12px 25px rgba(52,120,244,.23)}.auth-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}.auth-alert{padding:12px 14px;border-radius:12px;margin-bottom:18px;display:flex;flex-direction:column;gap:3px;font-size:13px}.auth-alert.error{background:#fff2f2;color:#b53f49;border:1px solid #ffd6da}.auth-alert.success{background:#effbf5;color:#23845c;border:1px solid #ccefe0}.local-account-tip{margin-top:20px;padding:15px;border-radius:13px;background:#f4f8fc;border:1px dashed #cedbea;display:flex;flex-direction:column;gap:4px;font-size:13px;color:#536176}.local-account-tip strong{color:#25344d;margin-bottom:3px}.local-account-tip small{color:#e37530;margin-top:4px}.auth-switch{text-align:center;margin:20px 0 0;color:#7b8799;font-size:13px}.auth-switch a{color:#168cf2;font-weight:800;text-decoration:none}
.register-shell{min-height:100vh;padding:44px 20px;background:radial-gradient(circle at top left,#dff3ff,transparent 35%),#f4f7fb}.register-back{display:block;max-width:880px;margin:0 auto 18px;text-decoration:none;color:#536176;font-weight:700}.register-card{position:relative;max-width:880px;margin:0 auto;background:#fff;border:1px solid #e1e8f1;border-radius:24px;padding:34px 38px;box-shadow:0 22px 70px rgba(44,69,101,.12)}.register-heading{display:flex;gap:17px;align-items:flex-start;padding-bottom:25px;border-bottom:1px solid #edf1f6;margin-bottom:26px}.register-heading h1{font-size:29px;margin:4px 0 8px}.register-heading p{margin:0;color:#8490a2}.register-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.register-wide{grid-column:1/-1}.register-notice{display:flex;flex-direction:column;gap:5px;padding:15px 17px;border-radius:13px;background:#f3f8ff;border:1px solid #d7e9ff;color:#5b6b80;font-size:13px}.register-notice strong{color:#2569a8}.register-version{position:absolute;right:22px;bottom:18px;color:#9aa5b4}
.profile-hero{display:flex;align-items:center;gap:18px;padding:24px 28px;border-radius:20px;background:linear-gradient(120deg,#edf8ff,#f6f4ff);border:1px solid #dbe9f8;margin-bottom:20px}.profile-avatar{width:66px;height:66px;border-radius:21px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:27px;font-weight:900;background:linear-gradient(135deg,#1ca5f8,#6065f2);box-shadow:0 12px 30px rgba(45,120,244,.23)}.profile-hero h2{margin:4px 0;font-size:25px}.profile-hero p{margin:0;color:#778499}.profile-hero>.status-badge{margin-left:auto}.profile-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.profile-form .full{grid-column:1/-1}.password-form{display:flex;flex-direction:column;gap:14px}.security-warning{display:flex;flex-direction:column;gap:3px;padding:13px 15px;border-radius:12px;background:#fff7e8;border:1px solid #ffe2a8;color:#98611c;margin-bottom:15px}.security-warning span{font-size:12px}.profile-dl{margin:0}.profile-dl>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #edf1f5}.profile-dl dt{color:#7e899a}.profile-dl dd{margin:0;text-align:right;font-weight:700;color:#2d3a51}.profile-invite-card .btn{margin-top:16px}
.admin-hero{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:26px 28px;border-radius:20px;background:linear-gradient(120deg,#eef8ff,#f4f2ff);border:1px solid #dce8f7;margin-bottom:20px}.admin-hero h2{margin:5px 0 8px;font-size:25px}.admin-hero p{margin:0;color:#788599;max-width:760px}.admin-hero-actions{display:flex;gap:10px;flex-shrink:0}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.admin-metric-grid article{padding:20px;background:#fff;border:1px solid #e2e9f2;border-radius:17px;display:flex;flex-direction:column}.admin-metric-grid span{font-size:13px;color:#7a8798}.admin-metric-grid strong{font-size:30px;margin:8px 0;color:#1f8ff0}.admin-metric-grid small{color:#a0a9b6}.admin-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-user-list,.audit-mini-list{display:flex;flex-direction:column}.admin-user-list article,.audit-mini-list article{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f5}.admin-user-list article>div,.audit-mini-list article>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.admin-user-list small,.audit-mini-list small{color:#8b96a7}.mini-avatar{width:36px;height:36px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:#e9f4ff;color:#187fd2;font-weight:900;flex-shrink:0}.audit-result{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.audit-result.success{background:#e7f9f1;color:#20a66c}.audit-result.failed{background:#fff0f1;color:#e14c5b}.admin-filter{align-items:end}.admin-filter label{flex:1}.table-user{display:flex;align-items:center;gap:10px}.table-user>div{display:flex;flex-direction:column;gap:3px}.cell-sub{display:block;margin-top:4px;color:#98a2b1;font-size:11px}.role-chip{display:inline-flex;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:800;background:#eef3f8;color:#536176}.role-chip.admin{background:#fff0e8;color:#d76a29}.role-chip.agent{background:#f0ebff;color:#7548d8}.role-chip.normal{background:#eaf6ff;color:#247dbc}.inline-admin-form{display:flex;gap:6px;align-items:center}.inline-admin-form select{min-width:92px;padding:7px 8px;border:1px solid #dce4ee;border-radius:8px;background:#fff}.btn.tiny{padding:7px 10px;border-radius:8px;font-size:12px}.btn.danger{background:#fff2f2;border-color:#ffd2d5;color:#d94753}.reset-password-form{display:flex;gap:6px}.reset-password-form input{width:110px;border:1px solid #dce4ee;border-radius:8px;padding:7px 8px}.self-account-mark{color:#2787d8;font-size:12px;font-weight:800}.audit-status{display:inline-flex;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:800}.audit-status.success{background:#e9f9f1;color:#219a67}.audit-status.failed{background:#fff0f1;color:#db4757}.audit-table code,.admin-users-table code{font-size:11px;background:#f3f6fa;padding:4px 6px;border-radius:6px;color:#536176}.audit-target{max-width:230px;word-break:break-all}.audit-detail{max-width:320px;white-space:normal;word-break:break-word}.audit-failure{color:#c64b56;max-width:220px;white-space:normal}.pagination-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;color:#718095}
@media(max-width:1100px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:440px}.auth-copy{margin-top:70px}.auth-card-wrap{padding:35px 20px}.profile-grid,.admin-two-column{grid-template-columns:1fr}.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.top-user-text{display:none}}
@media(max-width:700px){.auth-visual{padding:30px 24px;min-height:500px}.auth-copy{margin-top:70px}.auth-copy h1{font-size:32px}.auth-feature-grid{grid-template-columns:1fr}.auth-version{left:24px}.auth-card{padding:26px 22px}.register-card{padding:26px 20px}.register-form,.profile-form{grid-template-columns:1fr}.register-wide,.profile-form .full{grid-column:auto}.profile-hero,.admin-hero{align-items:flex-start;flex-direction:column}.profile-hero>.status-badge{margin-left:0}.admin-metric-grid{grid-template-columns:1fr}.admin-hero-actions{width:100%;flex-wrap:wrap}.top-user-menu{gap:5px}.top-logout{padding:7px 8px}}
.access-denied-card{max-width:680px;margin:9vh auto;text-align:center;padding:55px 40px}.access-denied-card>span{width:72px;height:72px;border-radius:24px;background:#fff1f1;color:#e14d59;display:inline-flex;align-items:center;justify-content:center;font-size:34px;font-weight:900}.access-denied-card h2{font-size:27px;margin:22px 0 10px}.access-denied-card p{color:#7b8798;line-height:1.8}.access-denied-card>div{display:flex;justify-content:center;gap:12px;margin-top:24px}
.password-warning-chip{display:inline-flex;align-items:center;padding:8px 10px;border-radius:10px;background:#fff5df;border:1px solid #ffe0a3;color:#a76714;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}

/* GEO-UX-019: package, wallet, quota and agent withdrawal center */
.top-plan-chip{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dbe8f7;border-radius:10px;background:#fff;color:#17355c;text-decoration:none;white-space:nowrap}.top-plan-chip span{font-weight:800;font-size:12px}.top-plan-chip small{font-size:10px;color:#7d8da6}.billing-page{display:flex;flex-direction:column;gap:18px}.billing-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#0e274b,#174b83);color:#fff}.billing-hero .eyebrow{color:#80cfff}.billing-hero h2{margin:6px 0;font-size:25px}.billing-hero p{margin:0;color:#c8d9ec}.billing-money-grid{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:12px;min-width:710px}.billing-money-grid article{padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08)}.billing-money-grid span{display:block;color:#b9d0e8;font-size:12px}.billing-money-grid strong{display:block;margin-top:7px;font-size:22px}.current-plan-panel{position:relative;overflow:hidden}.current-plan-panel:before{content:"";position:absolute;right:-60px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(24,144,255,.12),transparent 70%)}.plan-status-chip{position:relative;padding:7px 12px;border-radius:999px;background:#e9f8ef;color:#239b56;font-weight:800;font-size:12px}.quota-card-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quota-card-grid article{border:1px solid #e7edf5;border-radius:13px;padding:15px;background:#fbfdff}.quota-card-grid article>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}.quota-card-grid span{font-size:13px;color:#53657e}.quota-card-grid strong{color:#142b4c}.quota-progress{height:7px;margin-top:13px;border-radius:999px;background:#edf2f7;overflow:hidden}.quota-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#168cff,#36c89b)}.plan-limit-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.plan-limit-row span{padding:7px 10px;border-radius:8px;background:#f3f7fb;color:#58708e;font-size:12px}.plan-product-grid{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:16px}.plan-product-card{position:relative;display:flex;flex-direction:column;min-height:390px;padding:20px;border:1px solid #e2e9f2;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(31,61,98,.05)}.plan-product-card.recommended{border:2px solid #168cff;box-shadow:0 12px 30px rgba(22,140,255,.15)}.recommended-badge{position:absolute;right:14px;top:0;transform:translateY(-50%);padding:5px 10px;border-radius:999px;background:#168cff;color:#fff;font-size:11px;font-weight:800}.plan-product-head{display:flex;justify-content:space-between;gap:12px}.plan-product-head small{color:#8da0b8;font-weight:700}.plan-product-head h3{margin:4px 0 0;font-size:20px}.plan-product-card>p{min-height:42px;color:#718198;line-height:1.6}.plan-price{display:flex;align-items:baseline;gap:10px;margin:13px 0}.plan-price strong{font-size:28px;color:#1385ef}.plan-price del{color:#a9b4c2}.plan-product-card ul{display:flex;flex-direction:column;gap:9px;margin:0 0 18px;padding:0;list-style:none;color:#40536d;font-size:13px}.plan-product-card li:before{content:"✓";margin-right:8px;color:#28b76b;font-weight:900}.plan-product-card form,.plan-product-card>.btn{margin-top:auto}.btn.full{width:100%;justify-content:center}.withdraw-form{display:grid;grid-template-columns:1fr 1fr 1fr 2fr auto;gap:12px;align-items:end}.withdraw-form label,.admin-tool-card label,.plan-edit-form label{display:flex;flex-direction:column;gap:7px}.withdraw-form label span,.admin-tool-card label span,.plan-edit-form label span{font-size:12px;color:#60738d;font-weight:700}.withdraw-form input,.withdraw-form select,.admin-tool-card input,.admin-tool-card select,.plan-edit-form input{height:40px;border:1px solid #dce5ef;border-radius:9px;padding:0 11px;background:#fff;color:#1d324f}.admin-billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-tool-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;border:1px solid #e4ebf3;border-radius:14px;background:#fbfdff}.admin-tool-card h3{grid-column:1/-1;margin:0}.admin-tool-card button{align-self:end}.admin-plan-editor{margin-top:20px}.admin-plan-editor>h3{margin:0 0 12px}.admin-plan-editor details{margin-bottom:10px;border:1px solid #e2e9f2;border-radius:12px;background:#fff}.admin-plan-editor summary{display:flex;justify-content:space-between;cursor:pointer;padding:15px 17px;list-style:none}.admin-plan-editor summary span{color:#7b8ca4}.plan-edit-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 17px 17px}.plan-edit-form .wide{grid-column:span 2}.plan-edit-form .check-label{flex-direction:row;align-items:center;align-self:end;height:40px}.plan-edit-form .check-label input{width:16px;height:16px}.admin-plan-editor details>form:last-child{padding:0 17px 17px}.action-cell{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.action-cell form{display:flex;gap:6px;align-items:center}.action-cell input{height:32px;max-width:120px;border:1px solid #dfe7f0;border-radius:7px;padding:0 8px}.status-badge.in{background:#e9f8ef;color:#24965a}.status-badge.out{background:#fff0f0;color:#d34b4b}.status-badge.freeze{background:#fff6e4;color:#b87b14}.status-badge.release{background:#eaf5ff;color:#247ec3}.status-badge.submitted,.status-badge.created{background:#fff6e4;color:#a66d0d}.status-badge.approved,.status-badge.paid,.status-badge.active{background:#eaf8ef;color:#258e58}.status-badge.rejected,.status-badge.refunded,.status-badge.cancelled{background:#fff0f0;color:#c94b4b}.status-badge.replaced,.status-badge.expired{background:#eef1f5;color:#718096}.empty-state.compact{min-height:100px}.billing-page .data-table td{vertical-align:middle}
@media(max-width:1300px){.billing-money-grid{grid-template-columns:repeat(2,1fr);min-width:340px}.plan-product-grid{grid-template-columns:repeat(2,1fr)}.withdraw-form{grid-template-columns:repeat(2,1fr)}.withdraw-form button{width:max-content}.plan-edit-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.billing-hero{align-items:flex-start;flex-direction:column}.billing-money-grid{width:100%;min-width:0}.quota-card-grid{grid-template-columns:repeat(2,1fr)}.plan-product-grid,.admin-billing-grid{grid-template-columns:1fr}.top-plan-chip{display:none}}
@media(max-width:600px){.billing-money-grid,.quota-card-grid,.withdraw-form,.plan-edit-form{grid-template-columns:1fr}.plan-edit-form .wide{grid-column:auto}.billing-money-grid strong{font-size:19px}}

/* GEO-UX-019 human-friendly navigation, quick start and global search */
.welcome-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.welcome-actions .btn{margin:0}
.global-search{display:flex;align-items:center;gap:7px;width:240px;height:38px;padding:0 11px;border:1px solid #dce5ef;border-radius:11px;background:#f8fafc}.global-search:focus-within{border-color:#87bfff;box-shadow:0 0 0 3px rgba(22,119,255,.08);background:#fff}.global-search span{color:#8190a5;font-size:16px}.global-search input{width:100%;border:0;outline:0;background:transparent;color:#203650;font-size:12px}.global-search input::placeholder{color:#9ba7b7}
.quick-create{position:relative}.quick-create summary{display:flex;align-items:center;height:38px;padding:0 13px;border:1px solid #cfe2f8;border-radius:11px;background:#eef6ff;color:#1677df;font-size:12px;font-weight:800;cursor:pointer;list-style:none;white-space:nowrap}.quick-create summary::-webkit-details-marker{display:none}.quick-create[open] summary{background:#1677ff;color:#fff;border-color:#1677ff}.quick-create-menu{position:absolute;z-index:80;right:0;top:46px;width:280px;padding:8px;border:1px solid #e0e7f0;border-radius:14px;background:#fff;box-shadow:0 18px 48px rgba(25,52,86,.18)}.quick-create-menu a{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:10px;color:#243b59;text-decoration:none}.quick-create-menu a:hover{background:#f1f7ff}.quick-create-menu strong{font-size:13px}.quick-create-menu small{color:#8290a3;font-size:10px}
.quick-start-page{display:flex;flex-direction:column;gap:18px}.quick-start-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid #d9e8f8;border-radius:20px;background:linear-gradient(125deg,#fff,#eef7ff);box-shadow:0 9px 28px rgba(37,84,132,.06)}.quick-start-hero h2{margin:7px 0 9px;font-size:26px}.quick-start-hero p{margin:0;color:var(--muted);line-height:1.7}.quick-start-progress{flex:0 0 126px;height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:11px solid #dceeff;border-top-color:#1688f5;border-radius:50%;background:#fff;box-shadow:0 10px 25px rgba(31,99,164,.09)}.quick-start-progress strong{font-size:26px;color:#166fc4}.quick-start-progress span{margin-top:4px;color:var(--muted);font-size:10px}
.next-action-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;padding:23px 25px;border:1px solid #cde0f6;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(28,65,106,.055)}.next-action-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,#1677ff,#48a4ff);color:#fff;font-size:27px;font-weight:900}.next-action-copy span{color:#5682b3;font-size:11px;font-weight:800}.next-action-copy h2{margin:4px 0 6px;font-size:21px}.next-action-copy p{margin:0;color:var(--muted);line-height:1.6}.btn.large{min-height:44px;padding:0 18px;font-size:13px}
.guided-step-list{display:flex;flex-direction:column;gap:10px}.guided-step{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.18s ease}.guided-step:hover{border-color:#b8d7f7;box-shadow:0 7px 19px rgba(27,67,111,.055)}.guided-step.done{background:#fbfefc;border-color:#d7ebdf}.guided-step-no{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef3f8;color:#6f7e91;font-weight:900}.guided-step.done .guided-step-no{background:#e7f8ee;color:#21985a}.guided-step.done .guided-step-no:after{content:"✓"}.guided-step.done .guided-step-no{font-size:0}.guided-step.done .guided-step-no:after{font-size:16px}.guided-step h3{margin:0 0 5px;font-size:15px}.guided-step p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.simple-help-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.simple-help-panel h2{margin:0 0 7px;font-size:18px}.simple-help-panel p{margin:0;color:var(--muted);line-height:1.6}
.search-page{display:flex;flex-direction:column;gap:16px}.search-hero-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px;border:1px solid #dbe6f2;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(28,62,102,.045)}.search-hero-form input{height:44px;padding:0 15px;border:1px solid #dce5ef;border-radius:11px;outline:0;font-size:14px}.search-hero-form input:focus{border-color:#80baff;box-shadow:0 0 0 3px rgba(22,119,255,.08)}.search-summary{padding:4px 3px;color:#718096;font-size:12px}.search-summary b,.search-summary strong{color:#1b4f85}.search-group{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.search-group>.section-heading{padding:16px 18px 10px;margin:0}.search-result-row{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;border-top:1px solid #edf1f5;color:#243b59;text-decoration:none}.search-result-row:hover{background:#f7fbff}.search-result-row>div{display:flex;min-width:0;flex-direction:column;gap:4px}.search-result-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-row small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.search-result-row em{color:#1677df;font-size:11px;font-style:normal;font-weight:800}.search-type{display:inline-flex;justify-content:center;padding:6px 8px;border-radius:8px;background:#eef5fd;color:#3976af;font-size:10px;font-weight:800}
@media(max-width:1280px){.global-search{width:190px}.quick-create summary{padding:0 10px}.top-version-chip{display:none}}
@media(max-width:1050px){.global-search{display:none}.quick-start-hero{align-items:flex-start}.next-action-card{grid-template-columns:52px minmax(0,1fr)}.next-action-card>.btn{grid-column:2;width:max-content}.simple-help-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.quick-create{display:none}.quick-start-hero{flex-direction:column;padding:22px}.quick-start-progress{width:100%;height:auto;flex-basis:auto;flex-direction:row;gap:8px;padding:13px;border:1px solid #dceeff;border-radius:13px}.next-action-card{grid-template-columns:1fr;padding:19px}.next-action-icon{width:46px;height:46px}.next-action-card>.btn{grid-column:auto;width:100%}.guided-step{grid-template-columns:38px minmax(0,1fr)}.guided-step>.btn{grid-column:2;width:max-content}.search-result-row{grid-template-columns:1fr}.search-result-row em{display:none}.search-type{width:max-content}.search-hero-form{grid-template-columns:1fr}.simple-help-panel>.btn{width:100%}}

/* GEO-UX-020: trustworthy and human-friendly monitoring workflow */
.monitoring-truth-banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    border-color: #c7d7fe;
    background: linear-gradient(135deg, #f5f8ff 0%, #ffffff 70%);
}
.truth-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 20px;
    color: #3154d9;
    background: #e8eeff;
}
.monitoring-truth-banner h2 { margin: 4px 0 6px; font-size: 19px; }
.monitoring-truth-banner p { margin: 0; color: var(--muted); line-height: 1.7; }
.inline-form { margin-top: 12px; }
.manual-observation-panel { scroll-margin-top: 24px; }
.manual-observation-form { display: grid; gap: 16px; }
.manual-observation-form label { display: grid; gap: 7px; }
.manual-observation-form label > span { font-weight: 700; color: var(--text); }
.manual-observation-form label > small { color: var(--muted); line-height: 1.55; }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.form-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.form-actions small { color: var(--muted); }
.observation-main { min-width: 0; }
.observation-source-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--muted); font-size: 12px; }
.source-badge {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border-radius: 999px;
    font-weight: 750;
    color: #4d5a72;
    background: #edf1f7;
}
.source-badge.manual { color: #087c55; background: #e4f8ef; }
.source-badge.sample { color: #996000; background: #fff4d6; }
.source-badge.api { color: #3154d9; background: #e7edff; }
.source-badge.legacy { color: #667085; background: #f0f2f5; }
.detail-toolbar { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.monitoring-detail-hero {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    background: linear-gradient(135deg, #f7f9ff, #ffffff);
}
.monitoring-detail-hero h1 { margin: 10px 0 7px; font-size: clamp(22px, 3vw, 31px); line-height: 1.35; }
.monitoring-detail-hero p { margin: 0; color: var(--muted); }
.detail-result-badge {
    min-width: 160px;
    padding: 18px;
    border-radius: 16px;
    display: grid;
    gap: 5px;
    text-align: center;
    background: #fff5dd;
    color: #8b5b00;
}
.detail-result-badge.success { background: #e7f8f0; color: #087c55; }
.detail-result-badge strong { font-size: 18px; }
.monitoring-detail-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .75fr); gap: 18px; }
.answer-evidence-card { min-width: 0; }
.full-answer {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.9;
    color: #26324a;
    padding: 20px;
    border-radius: 14px;
    background: #f7f9fc;
    border: 1px solid #e8edf5;
    max-height: 680px;
    overflow: auto;
}
.fact-list { display: grid; gap: 0; margin: 12px 0 0; }
.fact-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #edf0f5; }
.fact-list > div:last-child { border-bottom: 0; }
.fact-list dt { color: var(--muted); }
.fact-list dd { margin: 0; font-weight: 700; text-align: right; }
.break-all { overflow-wrap: anywhere; word-break: break-all; }
.notice-box { margin-top: 14px; padding: 13px; border-radius: 12px; background: #fff6dc; color: #7b5700; }
.notice-box p { margin: 5px 0 0; }
.lead-text { font-size: 16px; line-height: 1.8; color: #34425c; }

@media (max-width: 1100px) {
    .form-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .monitoring-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .monitoring-truth-banner { grid-template-columns: auto 1fr; }
    .monitoring-truth-banner > .btn { grid-column: 1 / -1; width: 100%; }
    .form-grid.three, .form-grid.four { grid-template-columns: 1fr; }
    .monitoring-detail-hero { align-items: stretch; flex-direction: column; }
    .detail-result-badge { min-width: 0; }
}

/* GEO-UX-021：简洁模式、响应式导航与统一交互体验 */
html { min-width: 0; }
body { overflow-x: hidden; }
.topbar-left { min-width: 0; display: flex; align-items: center; gap: 12px; }
.topbar-left > div { min-width: 0; }
.topbar-left h1, .topbar-left p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-menu-button {
    display: none;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: #40516a;
    background: #fff;
    font-size: 19px;
}
.sidebar-overlay { display: none; }
.sidebar-mode-toggle {
    width: 100%;
    margin: 9px 0;
    padding: 10px 11px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 12px;
    color: #dbe5f2;
    background: rgba(255,255,255,.045);
    text-align: left;
}
.sidebar-mode-toggle:hover { background: rgba(255,255,255,.08); }
.mode-toggle-icon {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    flex: 0 0 29px;
    border-radius: 9px;
    color: #8fc5ff;
    background: rgba(36,132,255,.12);
}
.mode-toggle-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mode-toggle-copy strong { font-size: 11px; }
.mode-toggle-copy small { color: #71839c; font-size: 9px; }
.simple-mode-chip {
    height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border: 1px solid #d8e5f3;
    border-radius: 11px;
    color: #39709f;
    background: #f7fbff;
    white-space: nowrap;
}
.simple-mode-chip span {
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    color: #fff;
    background: #2587ee;
    font-size: 11px;
    font-weight: 800;
}
.simple-mode-chip strong { font-size: 11px; }
body.simple-mode [data-menu-level="advanced"] { display: none !important; }
body.simple-mode .menu-caption { margin-top: 8px; }
body:not(.simple-mode) .mode-toggle-icon { color: #f4b653; background: rgba(244,182,83,.12); }
body:not(.simple-mode) .simple-mode-chip span { background: #f0a43c; }

/* 避免用户重复提交，并清楚告诉用户系统正在处理 */
button.is-loading, .btn.is-loading, input[type="submit"].is-loading {
    position: relative;
    pointer-events: none;
    opacity: .78;
}
button.is-loading::before, .btn.is-loading::before, input[type="submit"].is-loading::before {
    content: "";
    width: 13px;
    height: 13px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: geoSpin .65s linear infinite;
}
@keyframes geoSpin { to { transform: rotate(360deg); } }

/* 统一提示与确认弹窗 */
.geo-toast-stack {
    position: fixed;
    top: 92px;
    right: 24px;
    z-index: 300;
    width: min(380px, calc(100vw - 32px));
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.geo-toast {
    display: grid;
    grid-template-columns: 28px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 13px 14px;
    border: 1px solid #dfe8f2;
    border-radius: 13px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 16px 40px rgba(25,48,80,.14);
    animation: geoToastIn .2s ease;
}
.geo-toast.success { border-color: #bfe8d3; }
.geo-toast.error { border-color: #ffd0d0; }
.geo-toast.warning { border-color: #ffe1a8; }
.geo-toast-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: var(--blue);
    font-weight: 800;
}
.geo-toast.success .geo-toast-icon { background: var(--green); }
.geo-toast.error .geo-toast-icon { background: var(--red); }
.geo-toast.warning .geo-toast-icon { background: var(--orange); }
.geo-toast-copy { min-width: 0; }
.geo-toast-copy strong { display: block; font-size: 12px; }
.geo-toast-copy span { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.geo-toast-close { border: 0; color: #8a96a6; background: transparent; font-size: 18px; }
@keyframes geoToastIn { from { transform: translateY(-8px); opacity: 0; } }
.geo-confirm-backdrop {
    position: fixed;
    inset: 0;
    z-index: 400;
    display: grid;
    place-items: center;
    padding: 20px;
    background: rgba(10,24,45,.48);
    backdrop-filter: blur(3px);
}
.geo-confirm-dialog {
    width: min(430px, 100%);
    padding: 24px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(10,30,60,.25);
}
.geo-confirm-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 14px;
    border-radius: 15px;
    color: #b57213;
    background: #fff3dc;
    font-size: 24px;
    font-weight: 900;
}
.geo-confirm-dialog h3 { margin: 0 0 8px; font-size: 19px; }
.geo-confirm-dialog p { margin: 0; color: var(--muted); line-height: 1.7; }
.geo-confirm-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; }

/* 登录页人性化细节 */
.password-input-wrap { position: relative; }
.password-input-wrap input { padding-right: 74px !important; }
.password-visibility-button {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 8px;
    color: #4f6a86;
    background: #eef4fa;
    font-size: 11px;
    font-weight: 700;
}
.caps-lock-warning { display: none; margin: -8px 0 13px; color: #c17817; font-size: 11px; }
.caps-lock-warning.visible { display: block; }
.auth-help-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 0 18px; }
.auth-help-row .remember-row { margin: 0; }
.auth-help-link { color: #177fdb; font-size: 12px; font-weight: 700; }
.auth-help-link:hover { text-decoration: underline; }
.auth-help-card { width: min(620px, 100%); }
.auth-help-steps { display: grid; gap: 12px; margin: 20px 0; }
.auth-help-step { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 11px; padding: 14px; border: 1px solid #e1e9f2; border-radius: 13px; background: #f9fbfd; }
.auth-help-step > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: #2587ee; font-weight: 800; }
.auth-help-step strong { display: block; margin: 1px 0 4px; }
.auth-help-step p { margin: 0; color: #68778b; line-height: 1.65; font-size: 12px; }
.auth-help-note { padding: 13px 14px; border-radius: 12px; color: #8b611d; background: #fff8e9; border: 1px solid #ffe2aa; font-size: 12px; line-height: 1.7; }

/* 首次访问提示条 */
.ui-mode-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
    padding: 13px 15px;
    border: 1px solid #d9e9f9;
    border-radius: 13px;
    color: #3d6288;
    background: #f5faff;
}
.ui-mode-hint strong { display: block; color: #244968; }
.ui-mode-hint span { font-size: 11px; }
.ui-mode-hint button { border: 0; color: #1677d8; background: transparent; font-weight: 800; }

@media (max-width: 1180px) {
    .topbar { height: auto; min-height: 72px; padding: 12px 18px; gap: 12px; }
    .topbar-right { gap: 8px; }
    .global-search { width: 180px; }
    .project-switcher select { width: 175px; }
    .top-user-text, .top-plan-chip, .top-version-chip { display: none; }
}

@media (max-width: 1024px) {
    .sidebar {
        width: 260px;
        transform: translateX(-105%);
        transition: transform .22s ease;
        box-shadow: 18px 0 55px rgba(10,25,48,.25);
    }
    body.sidebar-open { overflow: hidden; }
    body.sidebar-open .sidebar { transform: translateX(0); }
    .sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 19;
        background: rgba(8,20,38,.44);
    }
    body.sidebar-open .sidebar-overlay { display: block; }
    .main { margin-left: 0; }
    .mobile-menu-button { display: inline-grid; place-items: center; }
    .topbar-right { margin-left: auto; }
    .simple-mode-chip strong { display: none; }
    .quick-create summary { padding: 0 10px; }
    .project-switcher { display: none; }
    .content { padding: 20px 18px 36px; }
}

@media (max-width: 760px) {
    body { font-size: 13px; }
    .topbar { align-items: flex-start; }
    .topbar-left { flex: 1; }
    .topbar-left p { max-width: 58vw; }
    .global-search, .quick-create, .simple-mode-chip, .notification-button { display: none; }
    .top-user-menu { margin-left: auto; }
    .top-logout { display: none; }
    .content { padding: 15px 12px 30px; }
    .panel { padding: 17px; border-radius: 15px; }
    .flash { top: 78px; left: 12px; right: 12px; min-width: 0; max-width: none; }
    .geo-toast-stack { top: 78px; right: 12px; left: 12px; width: auto; }
    .section-heading { gap: 10px; }
    .section-heading h2 { font-size: 17px; }
    .metric-grid, .admin-metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .two-column, .profile-grid, .admin-two-column { grid-template-columns: 1fr; }
    .data-table { min-width: 760px; }
    .table-wrap, .data-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .auth-shell { display: block; min-height: 100vh; }
    .auth-visual { display: none; }
    .auth-card-wrap { min-height: 100vh; padding: 18px; }
    .auth-card { padding: 25px 20px; border-radius: 18px; }
    .auth-help-row { align-items: flex-start; flex-direction: column; }
    .geo-confirm-actions { flex-direction: column-reverse; }
    .geo-confirm-actions .btn { width: 100%; }
}

@media (max-width: 480px) {
    .metric-grid, .admin-metric-grid { grid-template-columns: 1fr; }
    .topbar-left p { max-width: 52vw; }
    .user-avatar { width: 34px; height: 34px; }
}
body.simple-mode [data-menu-level="advanced"].simple-active-advanced { display: block !important; }
body.simple-mode a[data-menu-level="advanced"].simple-active-advanced { display: flex !important; }
@media (max-width: 900px) {
    .auth-shell { display: block; min-height: 100vh; }
    .auth-visual { display: none; }
    .auth-card-wrap { min-height: 100vh; padding: 20px; }
}


/* GEO-UX-022 quality acceptance center */
.quality-page{display:grid;gap:18px}.quality-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid #dce7f3;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#eef6ff);box-shadow:0 14px 35px rgba(39,76,119,.07)}.quality-hero.usable{border-color:#c8eadb;background:linear-gradient(135deg,#f5fffa,#ecfbf4)}.quality-hero.blocked{border-color:#ffd2d2;background:linear-gradient(135deg,#fffafa,#fff0f0)}.quality-hero h2{margin:6px 0 8px;font-size:24px}.quality-hero p{margin:0;color:#68778b}.quality-score{min-width:116px;height:116px;border-radius:28px;background:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 12px 30px rgba(34,72,116,.09)}.quality-score strong{font-size:34px;color:#16865f}.quality-score span{font-size:12px;color:#718096}.quality-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quality-metrics article{padding:18px 20px;border-radius:17px;border:1px solid #e2eaf3;background:#fff}.quality-metrics span{display:block;color:#7b8798;font-size:12px}.quality-metrics strong{display:block;margin-top:8px;font-size:23px}.quality-metrics strong.pass{color:#16865f}.quality-metrics strong.warn{color:#b87513}.quality-metrics strong.fail{color:#c34747}.quality-actions{align-items:center}.quality-actions>div:last-child{display:flex;gap:9px}.quality-list{display:grid;gap:10px}.quality-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:15px 16px;border:1px solid #e4eaf1;border-radius:15px;background:#fbfcfe}.quality-status{display:grid;place-items:center;height:34px;border-radius:10px;font-weight:800;font-size:12px}.quality-item.pass .quality-status{color:#16734f;background:#e7f8f0}.quality-item.warn .quality-status{color:#9b6512;background:#fff4dc}.quality-item.fail .quality-status{color:#b43c43;background:#ffebed}.quality-item small{color:#8490a0}.quality-item h4{margin:2px 0 4px}.quality-item p{margin:0;color:#647286;line-height:1.55}.acceptance-guide ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;counter-reset:step}.acceptance-guide li{counter-increment:step;padding:16px 16px 16px 52px;border:1px solid #e2eaf3;border-radius:15px;position:relative;background:#fbfcfe}.acceptance-guide li:before{content:counter(step);position:absolute;left:15px;top:15px;width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:#267fe8;color:#fff;font-weight:800}.acceptance-guide strong,.acceptance-guide span{display:block}.acceptance-guide span{margin-top:4px;color:#6f7e91;font-size:12px}@media(max-width:900px){.quality-metrics{grid-template-columns:repeat(2,1fr)}.acceptance-guide ol{grid-template-columns:1fr}}@media(max-width:560px){.quality-hero{align-items:flex-start;flex-direction:column}.quality-score{width:100%;height:auto;padding:16px;display:flex;gap:8px}.quality-metrics{grid-template-columns:1fr}.quality-item{grid-template-columns:1fr}.quality-status{width:64px}}


/* GEO-UX-023 unified human-friendly login */
.login-v23-body{background:#f3f7fc;overflow-x:hidden}.login-v23-shell{min-height:100vh;display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(500px,.95fr)}.login-v23-brand-panel{position:relative;min-height:100vh;padding:42px 56px;box-sizing:border-box;color:#fff;overflow:hidden;background:radial-gradient(circle at 12% 12%,rgba(59,188,255,.24),transparent 34%),radial-gradient(circle at 85% 82%,rgba(99,91,255,.24),transparent 35%),linear-gradient(145deg,#071c39,#123b68 58%,#0b4c76)}.login-v23-brand-panel:after{content:"";position:absolute;width:560px;height:560px;right:-250px;bottom:-250px;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 72px rgba(255,255,255,.025),0 0 0 144px rgba(255,255,255,.018)}.login-v23-brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.login-v23-brand>span,.login-v23-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#20a7fb,#5e5bf7);font-size:20px;font-weight:900;box-shadow:0 12px 28px rgba(34,152,255,.3)}.login-v23-brand strong{font-size:19px}.login-v23-copy{position:relative;z-index:2;max-width:650px;margin-top:15vh}.login-v23-copy .eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(99,207,255,.13);color:#8ce1ff;font-size:12px;font-weight:800}.login-v23-copy h1{margin:18px 0 20px;font-size:44px;line-height:1.24;letter-spacing:-1.4px}.login-v23-copy>p{max-width:600px;margin:0;color:rgba(255,255,255,.7);font-size:16px;line-height:1.8}.login-v23-points{display:grid;gap:13px;margin-top:34px;max-width:560px}.login-v23-points article{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.055);backdrop-filter:blur(6px)}.login-v23-points i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(84,217,174,.16);color:#73e0b8;font-style:normal;font-weight:900}.login-v23-points strong,.login-v23-points span{display:block}.login-v23-points strong{font-size:14px}.login-v23-points span{margin-top:3px;color:rgba(255,255,255,.58);font-size:12px}.login-v23-version{position:absolute;z-index:2;left:56px;bottom:34px;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.58);font-size:12px}.login-v23-version .status-dot{width:8px;height:8px;border-radius:50%;background:#47d5a1;box-shadow:0 0 0 5px rgba(71,213,161,.12)}.login-v23-version strong{color:#fff}.login-v23-main{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:42px;background:#f5f8fc;box-sizing:border-box}.login-v23-card{width:min(450px,100%);padding:34px 36px;border:1px solid #dfe8f2;border-radius:25px;background:rgba(255,255,255,.96);box-shadow:0 26px 70px rgba(32,59,94,.13)}.login-v23-heading{display:flex;align-items:center;gap:15px;margin-bottom:25px}.login-v23-heading h2{margin:0 0 5px;font-size:29px;color:#17233a}.login-v23-heading p{margin:0;color:#8793a3;font-size:13px}.login-v23-alert{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start;padding:12px 13px;margin-bottom:18px;border-radius:13px}.login-v23-alert>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;font-weight:900}.login-v23-alert strong,.login-v23-alert p{display:block;margin:0}.login-v23-alert strong{font-size:13px}.login-v23-alert p{margin-top:2px;font-size:12px;line-height:1.55}.login-v23-alert.success{color:#177756;background:#edf9f4;border:1px solid #ccebdd}.login-v23-alert.success>span{background:#d8f3e7}.login-v23-alert.error{color:#b33d47;background:#fff1f2;border:1px solid #ffd6da}.login-v23-alert.error>span{background:#ffe0e3}.login-v23-alert.compact{padding-top:10px;padding-bottom:10px}.login-v23-field{display:block;margin-bottom:16px}.login-v23-field>span{display:block;margin-bottom:8px;color:#344157;font-size:13px;font-weight:800}.login-v23-input{height:50px;display:flex;align-items:center;border:1px solid #dce5ef;border-radius:13px;background:#fbfcfe;transition:.2s}.login-v23-input:focus-within{border-color:#2f98ee;background:#fff;box-shadow:0 0 0 4px rgba(47,152,238,.1)}.login-v23-input>i{width:44px;text-align:center;color:#8492a6;font-size:12px;font-style:normal}.login-v23-input input{min-width:0;flex:1;height:100%;padding:0 10px 0 0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font-size:14px}.login-v23-input button{height:36px;margin-right:7px;padding:0 12px;border:0;border-radius:10px;background:#edf3f9;color:#54667e;font-size:12px;font-weight:800;cursor:pointer}.login-v23-caps{margin:-6px 0 13px}.login-v23-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 18px}.login-v23-options>a{color:#177fd8;font-size:12px;font-weight:800;text-decoration:none}.login-v23-options>a:hover{text-decoration:underline}.login-v23-remember{display:flex;align-items:center;gap:8px;color:#66768b;font-size:12px;cursor:pointer;white-space:nowrap}.login-v23-remember input{position:absolute;opacity:0;pointer-events:none}.login-v23-remember .checkmark{width:18px;height:18px;border:1px solid #cfd9e5;border-radius:6px;background:#fff;position:relative;box-sizing:border-box}.login-v23-remember input:checked+.checkmark{border-color:#2588ea;background:#2588ea}.login-v23-remember input:checked+.checkmark:after{content:"✓";position:absolute;inset:-1px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900}.login-v23-submit{width:100%;height:50px;display:flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:13px;color:#fff;background:linear-gradient(90deg,#20a3f3,#5265f5);box-shadow:0 14px 28px rgba(55,115,239,.24);font-size:15px;font-weight:900;cursor:pointer;transition:.2s}.login-v23-submit:hover{transform:translateY(-1px);filter:brightness(1.03)}.login-v23-submit i{font-style:normal;font-size:18px}.login-v23-first-login{margin-top:18px;border:1px dashed #cfdae7;border-radius:13px;background:#f7fafe}.login-v23-first-login summary{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;cursor:pointer;color:#34455e;font-size:12px;font-weight:800;list-style:none}.login-v23-first-login summary::-webkit-details-marker{display:none}.login-v23-first-login summary i{font-style:normal;color:#7790aa;font-weight:500}.login-v23-first-login[open] summary i{font-size:0}.login-v23-first-login[open] summary i:after{content:"收起";font-size:12px}.login-v23-first-login>div{padding:0 14px 13px;color:#67778c;font-size:12px;line-height:1.65}.login-v23-first-login p{margin:4px 0}.login-v23-first-login code{padding:2px 5px;border-radius:5px;background:#edf2f8;color:#34506e}.login-v23-footer{margin-top:18px;text-align:center;color:#7e8a9c;font-size:12px}.login-v23-footer p{margin:0}.login-v23-footer a{color:#1787ea;font-weight:800;text-decoration:none}.login-v23-footer nav{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:11px;color:#9aa5b4}.login-v23-footer nav a{color:#718298;font-weight:600}@media(max-width:1050px){.login-v23-shell{grid-template-columns:1fr}.login-v23-brand-panel{display:none}.login-v23-main{padding:24px;min-height:100vh}}@media(max-width:560px){.login-v23-main{padding:14px}.login-v23-card{padding:26px 21px;border-radius:19px}.login-v23-heading h2{font-size:25px}.login-v23-options{align-items:flex-start;flex-direction:column}.login-v23-submit{height:48px}}


/* GEO-UX-024: wangEditor v5, autosave and article editing experience */
.article-editor-page { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(350px, .75fr); gap: 18px; align-items: start; }
.article-editor-main { min-width: 0; }
.article-editor-heading { align-items: flex-start; }
.article-editor-heading-actions { display: flex; align-items: center; gap: 10px; }
.save-state { min-width: 118px; display: grid; grid-template-columns: 8px auto; column-gap: 7px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.save-state-dot { width: 8px; height: 8px; border-radius: 50%; background: #23aa75; }
.save-state strong { color: #415168; font-size: 10px; }
.save-state small { grid-column: 2; color: #92a0b2; font-size: 8px; }
.save-state[data-state="saving"] .save-state-dot { background: var(--blue); animation: savePulse 1s infinite; }
.save-state[data-state="dirty"] .save-state-dot { background: var(--orange); }
.save-state[data-state="error"] { border-color: #ffd3cf; background: #fff8f7; }
.save-state[data-state="error"] .save-state-dot { background: var(--red); }
@keyframes savePulse { 50% { opacity: .35; transform: scale(.8); } }
.local-draft-recovery { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 16px; padding: 13px 15px; border: 1px solid #f3d69a; border-radius: 13px; background: #fff9ed; }
.local-draft-recovery strong { display: block; margin-bottom: 4px; color: #815400; font-size: 11px; }
.local-draft-recovery p { margin: 0; color: #9a7240; font-size: 10px; }
.local-draft-recovery > div:last-child { display: flex; gap: 7px; }
.article-title-row { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 12px; }
.rich-editor-label-row { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: #596579; font-size: 11px; font-weight: 600; }
.rich-editor-label-row small { color: #929dac; font-size: 9px; font-weight: 400; }
.wang-editor-shell { overflow: hidden; border: 1px solid #dce4ee; border-radius: 13px; background: #fff; box-shadow: 0 6px 18px rgba(30, 52, 82, .05); }
.wang-toolbar { position: sticky; top: 68px; z-index: 20; border-bottom: 1px solid #e3e9f1; background: #fbfcfe; }
.wang-editor { min-height: 560px; max-height: 720px; overflow-y: auto; }
.w-e-text-container [data-slate-editor] { min-height: 520px !important; padding: 22px 28px !important; color: #28364a; font-size: 14px; line-height: 1.85; }
.w-e-text-container [data-slate-editor] h2 { margin: 26px 0 10px; font-size: 22px; }
.w-e-text-container [data-slate-editor] h3 { margin: 22px 0 8px; font-size: 18px; }
.w-e-text-container [data-slate-editor] img { max-width: 100%; border-radius: 12px; }
.w-e-bar-item button { min-width: 30px; height: 30px; }
.article-body-source { display: none; }
.article-body-source.fallback-visible { display: block; min-height: 560px; margin-top: 10px; }
.editor-fallback-warning { margin: 10px 0; padding: 12px 14px; border: 1px solid #ffd9a8; border-radius: 11px; color: #815400; background: #fff8ec; font-size: 10px; line-height: 1.6; }
.editor-fallback-warning strong { display: block; margin-bottom: 3px; }
.article-seo-panel { margin-top: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfe; }
.article-seo-panel summary { display: flex; justify-content: space-between; align-items: center; padding: 13px 15px; cursor: pointer; list-style: none; }
.article-seo-panel summary::-webkit-details-marker { display: none; }
.article-seo-panel summary span { color: #37485f; font-size: 11px; font-weight: 700; }
.article-seo-panel summary small { color: #8b98a9; font-size: 9px; }
.article-seo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0 15px 15px; }
.article-seo-grid .wide { grid-column: 1 / -1; }
.article-editor-footer { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--line); }
.article-editor-footer .form-actions { margin: 0; }
.article-editor-stats { display: flex; align-items: center; gap: 15px; color: #8a96a7; font-size: 9px; }
.article-editor-stats strong { color: var(--blue); font-size: 12px; }
.article-editor-aside { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.article-quality-panel { text-align: left; }
.article-quality-panel .quality-big { text-align: center; }
.article-live-preview { position: static; }
.preview-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 12px; }
.preview-header h3 { margin: 3px 0 0; font-size: 15px; }
.article-preview-frame { max-width: 100%; margin: auto; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #fff; transition: max-width .2s; }
.article-preview-frame.mobile-preview { max-width: 375px; box-shadow: 0 10px 28px rgba(24, 45, 75, .12); }
.article-preview-body blockquote { margin: 16px 0; padding: 10px 14px; border-left: 4px solid #86b9ed; color: #61728a; background: #f5f9fd; }
.article-preview-body table { width: 100%; border-collapse: collapse; }
.article-preview-body th, .article-preview-body td { padding: 8px; border: 1px solid #dde5ee; }
.article-preview-body figure { margin: 18px 0; text-align: center; }
.article-preview-body figcaption { margin-top: 6px; color: #8b97a7; font-size: 9px; }
@media (max-width: 1280px) {
    .article-editor-page { grid-template-columns: minmax(0, 1fr); }
    .article-editor-aside { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
    .article-live-preview { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
    .article-title-row, .article-seo-grid, .article-editor-aside { grid-template-columns: 1fr; }
    .article-seo-grid .wide, .article-live-preview { grid-column: auto; }
    .article-editor-heading, .article-editor-footer, .local-draft-recovery { align-items: stretch; flex-direction: column; }
    .article-editor-heading-actions, .article-editor-footer .form-actions { width: 100%; }
    .article-editor-heading-actions .btn, .article-editor-footer .btn { flex: 1; }
    .rich-editor-label-row { flex-direction: column; gap: 3px; }
    .wang-editor { min-height: 460px; }
    .w-e-text-container [data-slate-editor] { min-height: 420px !important; padding: 18px !important; }
}

/* GEO-UX-025: review workflow, structured quality issues and article versions */
.review-detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.review-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,.72fr);gap:18px;align-items:start}.review-document-panel{min-width:0}.review-status-stack{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.review-document-meta{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 18px;padding:10px 12px;border-radius:11px;background:#f6f9fc;color:#718097;font-size:10px}.review-document-meta strong{color:var(--blue);font-size:12px}.review-document{padding-top:10px;border-top:1px solid var(--line)}.review-detail-aside{display:flex;flex-direction:column;gap:16px;min-width:0}.quality-summary-card{display:grid;gap:14px}.quality-summary-score{display:flex;align-items:flex-end;gap:8px}.quality-summary-score strong{font-size:42px;line-height:.9;color:var(--blue)}.quality-summary-score span{color:var(--muted);font-size:11px}.quality-summary-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quality-summary-counts>div{padding:10px;border-radius:11px;text-align:center;background:#f5f8fb}.quality-summary-counts strong,.quality-summary-counts span{display:block}.quality-summary-counts strong{font-size:18px}.quality-summary-counts span{margin-top:3px;color:var(--muted);font-size:9px}.quality-summary-counts .blocked strong{color:#c43f4b}.quality-summary-counts .warning strong{color:#b97813}.quality-summary-counts .info strong{color:#4382bd}.quality-issue-list{display:flex;flex-direction:column;gap:10px}.quality-issue{padding:12px 13px;border:1px solid var(--line);border-left:4px solid #8bb9e8;border-radius:11px;background:#fff}.quality-issue.blocked{border-left-color:#dc5360;background:#fff7f8}.quality-issue.warning{border-left-color:#e4a33b;background:#fffbf3}.quality-issue.info{border-left-color:#6aa7df;background:#f7fbff}.quality-issue-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.quality-issue-head span{font-size:9px;font-weight:800}.quality-issue-head small{color:#8795a8;font-size:8px}.quality-issue>strong{font-size:12px}.quality-issue>p{margin:5px 0;color:#5f6e82;font-size:10px;line-height:1.55}.quality-issue>div{padding-top:7px;border-top:1px dashed #dce4ed;color:#617287;font-size:9px;line-height:1.5}.quality-issue>div b{color:#334b67}.review-confirm-item{display:flex!important;align-items:flex-start;gap:9px;margin:8px 0!important;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fafcfe;cursor:pointer}.review-confirm-item input{width:17px;height:17px;margin:0;flex:0 0 auto}.review-confirm-item span{font-size:9px;line-height:1.45}.review-approve-form textarea,.review-reject-box textarea{width:100%;box-sizing:border-box}.review-reject-box{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.review-reject-box summary{cursor:pointer;color:#b04b54;font-size:10px;font-weight:800}.review-reject-box form{margin-top:10px}.danger-text{color:#ba414c!important}.review-history-list{position:relative;display:flex;flex-direction:column;gap:12px}.review-history-list article{position:relative;display:grid;grid-template-columns:12px 1fr;gap:9px}.review-history-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #eaf4ff}.review-history-list strong,.review-history-list small{display:block}.review-history-list strong{font-size:10px}.review-history-list small{margin-top:2px;color:#8a96a6;font-size:8px}.review-history-list p{margin:4px 0 0;color:#65758a;font-size:9px;line-height:1.5}.version-mini-list,.article-version-list{display:flex;flex-direction:column;gap:7px}.version-mini-list a,.article-version-list a{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;color:inherit;text-decoration:none;background:#fbfcfe}.version-mini-list a:hover,.article-version-list a:hover{border-color:#9cc9ef;background:#f4f9ff}.version-mini-list strong,.version-mini-list small,.article-version-list strong,.article-version-list span,.article-version-list small{display:block}.version-mini-list strong,.article-version-list strong{font-size:9px}.version-mini-list small,.article-version-list small{color:#8b98a8;font-size:8px;white-space:nowrap}.article-version-list span{max-width:220px;margin-top:2px;color:#7d8a9b;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-snapshot-form{display:flex;gap:7px;margin-bottom:10px}.version-snapshot-form input{min-width:0;flex:1}.rules-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;background:linear-gradient(120deg,#fff,#f3f8ff)}.rules-intro h2{margin:3px 0 7px}.rules-intro p{margin:0;color:var(--muted)}.content-rule-table td:first-child strong,.content-rule-table td:first-child small{display:block}.content-rule-table td:first-child small{margin-top:3px;color:#8a97a8;font-size:8px}.rule-pattern{max-width:330px;word-break:break-all;color:#52647a;font-family:"Noto Sans Mono CJK SC",monospace;font-size:8px}.rule-severity{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:800}.rule-severity.info{color:#3775ad;background:#eaf5ff}.rule-severity.warning{color:#9a6514;background:#fff4dc}.rule-severity.blocked{color:#b23c48;background:#ffeaed}.rule-modal-card{width:min(720px,calc(100vw - 28px))}.version-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.version-summary h2{margin:3px 0}.version-summary p{margin:0;color:var(--muted)}.version-change-chips{display:flex;gap:7px;flex-wrap:wrap}.version-change-chips span{padding:7px 9px;border-radius:9px;color:#8a96a5;background:#f0f3f7;font-size:9px;font-weight:800}.version-change-chips span.changed{color:#176fba;background:#e7f4ff}.version-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.version-compare-grid .panel{min-width:0}.version-compare-grid h2{margin:7px 0 8px;font-size:17px}.version-summary-text{padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--muted);line-height:1.6}.form-help{margin:7px 0 0;font-size:9px;line-height:1.5}
@media(max-width:1180px){.review-detail-grid{grid-template-columns:1fr}.review-detail-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.review-action-panel,.review-issue-panel{grid-column:span 1}.version-compare-grid{grid-template-columns:1fr}}
@media(max-width:760px){.review-detail-topbar,.rules-intro,.version-summary{align-items:stretch;flex-direction:column}.review-detail-aside{display:flex}.quality-summary-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.version-snapshot-form{flex-direction:column}.review-status-stack{justify-content:flex-start}.content-rule-table{min-width:980px}}


/* GEO-UX-028: practical publishing center */
.publish-v26{display:flex;flex-direction:column;gap:18px}.publish-command-center{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;border-radius:22px;background:linear-gradient(125deg,#edf7ff 0%,#f6f4ff 55%,#fff 100%);border:1px solid #dbe8f6;box-shadow:0 10px 35px rgba(38,92,151,.06)}.publish-command-center h1{margin:6px 0 8px;font-size:25px;line-height:1.28}.publish-command-center p{margin:0;max-width:800px;color:#718096}.publish-command-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.publish-health-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.publish-health-strip article{padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(38,55,82,.04)}.publish-health-strip span,.publish-health-strip small{display:block;color:var(--muted);font-size:10px}.publish-health-strip strong{display:block;margin:6px 0 4px;font-size:23px}.publish-health-strip strong.good{color:#169866}.publish-health-strip strong.bad,.publish-health-strip strong.warn{color:#d87925}.publish-setup-panel{scroll-margin-top:16px}.publish-management-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.compact-create-card{padding:18px;border-radius:16px;background:#f7faff;border:1px solid #dfe9f5;position:sticky;top:16px}.compact-create-card h3{margin:0 0 14px}.compact-create-card label{display:block;margin-bottom:12px}.compact-create-card label span,.account-policy-forms label span,.schedule-option-grid label>span,.wizard-main-field>span,.reschedule-form label span{display:block;margin-bottom:6px;color:#5c687a;font-size:11px;font-weight:700}.compact-create-card input,.compact-create-card select,.account-policy-forms input,.account-policy-forms select,.schedule-option-grid input,.schedule-option-grid select,.wizard-main-field select,.reschedule-form input{width:100%;box-sizing:border-box}.publish-card-list{display:flex;flex-direction:column;gap:12px}.publish-agent-card,.platform-policy-card{padding:16px 17px;border:1px solid var(--line);border-radius:16px;background:#fff}.publish-agent-card.disabled,.platform-policy-card.disabled{opacity:.6;background:#f7f8fa}.publish-card-title{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.publish-card-title h3{margin:0 0 4px;font-size:14px}.publish-card-title p{margin:0;color:var(--muted);font-size:10.5px}.publish-state-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:18px;color:#fff;background:#94a3b8}.publish-state-icon.online{background:#1ba675}.publish-state-icon.offline{background:#e18a38}.agent-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.agent-detail-grid div{padding:10px;border-radius:11px;background:#f7f9fc}.agent-detail-grid span{display:block;color:#8b96a5;font-size:9px}.agent-detail-grid strong{display:block;margin-top:4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publish-secret-details,.account-policy-details{margin:10px 0}.publish-secret-details summary,.account-policy-details summary{cursor:pointer;color:#307fca;font-size:11px;font-weight:700}.publish-secret-details[open] summary,.account-policy-details[open] summary{margin-bottom:10px}.manual-action-banner{display:flex;gap:8px;align-items:center;margin:12px 0;padding:10px 12px;border-radius:10px;background:#fff4e8;color:#a95d17;font-size:10px}.account-rule-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.account-rule-summary span{padding:7px 9px;border-radius:9px;background:#f5f7fa;color:#718096;font-size:9.5px}.account-rule-summary b{color:#344055}.account-policy-forms{display:grid;grid-template-columns:.7fr 1.8fr;gap:12px;padding:13px;border-radius:12px;background:#f8fafc}.account-policy-forms form{display:flex;align-items:end;gap:8px}.account-policy-forms form:first-child{flex-direction:column;align-items:stretch}.account-policy-forms form:nth-child(2){display:grid;grid-template-columns:repeat(4,1fr) auto}.account-policy-forms label{min-width:0}.publish-wizard{scroll-margin-top:16px}.publish-wizard-form{margin-top:8px}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.wizard-progress button{border:0;background:#f3f6fa;color:#8793a4;border-radius:13px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer}.wizard-progress button i{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#dce4ee;font-style:normal}.wizard-progress button.active{background:#eaf5ff;color:#167fd5}.wizard-progress button.active i{background:#238ee6;color:#fff}.wizard-progress button.done{color:#188f64;background:#ecfaf4}.wizard-progress button.done i{background:#1ba675;color:#fff}.wizard-page{display:none;padding:18px;border-radius:16px;background:#fbfcfe;border:1px solid #e6ebf2}.wizard-page.active{display:block}.wizard-main-field{display:block}.wizard-main-field select{min-height:47px}.wizard-main-field select[multiple]{min-height:190px}.wizard-main-field small{display:block;margin-top:6px;color:#8d97a7}.wizard-account-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:18px}.schedule-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-option-grid .check-line{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:11px;border-radius:10px;background:#f4f8fd}.schedule-option-grid .check-line input{width:auto}.schedule-option-grid .check-line span{margin:0}.wizard-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #e8edf3}.preflight-result{min-height:150px}.preflight-placeholder,.preflight-loading,.preflight-error{min-height:140px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;color:#748196}.preflight-placeholder span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef4fa;color:#4b86bd;font-size:18px}.preflight-summary{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-radius:13px;margin-bottom:10px}.preflight-summary>div{display:flex;align-items:center;gap:11px}.preflight-summary>div>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:17px;font-weight:900}.preflight-summary strong,.preflight-summary p{display:block;margin:0}.preflight-summary p{margin-top:3px;font-size:10px}.preflight-summary.success{background:#edf9f4;color:#167b57}.preflight-summary.success>div>span{background:#1ba675;color:#fff}.preflight-summary.blocked{background:#fff4ec;color:#ae5b1d}.preflight-summary.blocked>div>span{background:#e18a38;color:#fff}.preflight-items{display:flex;flex-direction:column;gap:7px}.preflight-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e7ecf2;border-radius:11px}.preflight-item i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900}.preflight-item strong{display:block;font-size:11px}.preflight-item p{margin:3px 0 0;color:#7e8998;font-size:9.5px}.preflight-item.pass i{background:#e9f8f1;color:#139164}.preflight-item.warn i{background:#fff5e8;color:#c26c20}.preflight-item.block i{background:#fff0f1;color:#d44957}.preflight-item a{color:#187fcf;font-size:10px;font-weight:700}.publish-filter-bar{display:grid;grid-template-columns:1.3fr .8fr 1fr .8fr .8fr auto auto;gap:8px;align-items:end;padding:13px;border-radius:13px;background:#f7f9fc;margin-bottom:12px}.publish-filter-bar label span{display:block;margin-bottom:5px;color:#7a8797;font-size:9px}.publish-filter-bar input,.publish-filter-bar select{width:100%;box-sizing:border-box}.publish-view-switch{display:flex;gap:4px;margin-bottom:12px;padding:4px;border-radius:11px;background:#f1f4f8;width:max-content}.publish-view-switch a{padding:7px 13px;border-radius:8px;color:#738094;font-size:10px;font-weight:700}.publish-view-switch a.active{background:#fff;color:#197fce;box-shadow:0 2px 9px rgba(27,69,110,.09)}.publish-batch-bar{display:block}.publish-batch-bar>label,.publish-batch-bar>select,.publish-batch-bar>.btn{display:inline-flex;margin:0 7px 10px 0}.schedule-item-v26{grid-template-columns:22px 68px 14px 1fr auto;align-items:start}.schedule-item-v26:not(:last-child):after{left:128px}.task-select{margin-top:12px}.priority-chip{display:inline-flex;margin-right:6px;padding:4px 6px;border-radius:7px;background:#eef2f7;color:#637084;font-size:9px;font-weight:800}.reason-box a{margin-left:auto;color:#147dcb;font-weight:800;font-size:10px}.publish-task-table-wrap table small{display:block;margin-top:4px;color:#8e99a9}.publish-task-table-wrap td:nth-child(6){max-width:300px;white-space:normal}.publish-task-table-wrap td:nth-child(6) a{display:block;margin-top:5px;color:#157dc9;font-size:10px}.publish-calendar{margin-top:10px}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:12px}.calendar-toolbar strong{font-size:16px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-week span{text-align:center;padding:8px;color:#7f8a9a;font-size:9.5px;font-weight:700}.calendar-cell{min-height:122px;padding:8px;border-right:1px solid #e6ebf1;border-bottom:1px solid #e6ebf1;background:#fff}.calendar-cell:nth-child(-n+7){border-top:1px solid #e6ebf1}.calendar-cell:nth-child(7n+1){border-left:1px solid #e6ebf1}.calendar-cell.muted{background:#fafbfc;color:#b0b8c3}.calendar-cell.today{box-shadow:inset 0 0 0 2px #3c9dec}.calendar-cell header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.calendar-cell header small{color:#8b96a6;font-size:8px}.calendar-task{display:flex;gap:5px;align-items:flex-start;margin-bottom:4px;padding:5px 6px;border-radius:7px;background:#eef6ff;color:#2775b5;font-size:8.5px;line-height:1.25}.calendar-task span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.calendar-task.success{background:#eaf9f2;color:#168258}.calendar-task.failed,.calendar-task.blocked{background:#fff1ec;color:#bd6230}.calendar-task.paused{background:#f1f2f5;color:#697486}.task-detail-v26{scroll-margin-top:16px}.task-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.task-detail-grid article{padding:13px;border-radius:12px;background:#f7f9fc}.task-detail-grid span{display:block;color:#8994a4;font-size:9px}.task-detail-grid strong{display:block;margin-top:5px;font-size:11px}.reschedule-form{display:flex;align-items:end;gap:10px;padding:12px;border-radius:12px;background:#f8fafc;margin-bottom:14px}.reschedule-form label{min-width:250px}.publish-evidence{padding:13px;border-radius:12px;background:#f1f8ff;margin-bottom:14px}.publish-evidence h3{margin:0 0 9px;font-size:12px}.publish-evidence div{display:flex;gap:12px;flex-wrap:wrap}.publish-evidence a{color:#197fce;font-size:10px;font-weight:700}.task-detail-actions{display:flex;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid #e8edf3}.status-badge.paused{background:#eef0f4;color:#667286}.timeline-dot.paused{background:#808a99}.client-toast{position:fixed;right:24px;bottom:24px;z-index:9999;padding:12px 16px;border-radius:11px;background:#273142;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.18);transform:translateY(15px);opacity:0;transition:.2s}.client-toast.show{transform:none;opacity:1}.client-toast.warning{background:#b8651f}.client-toast.error{background:#c53d4b}
@media(max-width:1180px){.publish-health-strip{grid-template-columns:repeat(3,1fr)}.publish-management-layout{grid-template-columns:1fr}.compact-create-card{position:static}.publish-filter-bar{grid-template-columns:repeat(3,1fr)}.publish-filter-bar .btn{align-self:end}.publish-command-center{align-items:flex-start}.publish-command-actions{flex-direction:column;align-items:stretch}.agent-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.publish-command-center{display:block;padding:20px}.publish-command-actions{margin-top:15px}.publish-health-strip{grid-template-columns:1fr 1fr}.wizard-account-grid{grid-template-columns:1fr}.account-policy-forms{grid-template-columns:1fr}.account-policy-forms form:nth-child(2){grid-template-columns:1fr 1fr}.publish-filter-bar{grid-template-columns:1fr 1fr}.schedule-item-v26{grid-template-columns:20px 56px 12px minmax(0,1fr)}.schedule-item-v26 .schedule-actions{grid-column:4;flex-direction:row;flex-wrap:wrap;align-items:center}.schedule-item-v26:not(:last-child):after{left:101px}.calendar-cell{min-height:96px;padding:5px}.calendar-task time{display:none}.task-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.publish-health-strip{grid-template-columns:1fr}.publish-card-title{grid-template-columns:auto minmax(0,1fr)}.publish-card-title>.status-badge{grid-column:2}.agent-detail-grid,.schedule-option-grid,.account-policy-forms form:nth-child(2),.publish-filter-bar,.task-detail-grid{grid-template-columns:1fr}.wizard-progress button span{display:none}.wizard-progress button{padding:8px}.calendar-grid,.calendar-week{min-width:720px}.publish-calendar{overflow-x:auto}.publish-batch-bar>label{display:flex}.schedule-item-v26{grid-template-columns:20px 1fr}.schedule-item-v26 .schedule-time,.schedule-item-v26 .timeline-dot{display:none}.schedule-item-v26 .schedule-content,.schedule-item-v26 .schedule-actions{grid-column:2}.reschedule-form{display:block}.reschedule-form label{min-width:0}.reschedule-form .btn{margin-top:9px}}

/* GEO-UX-028: real AI generation and configuration */
.nav-badge.ai{background:#e9f7ff;color:#1475bd;border:1px solid #bfe3fa}
.ai-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px;background:linear-gradient(135deg,#eff7ff 0%,#f8f5ff 52%,#fff 100%);border-color:#d9e9f9}.ai-hero h2{margin:6px 0 8px;font-size:22px}.ai-hero p{max-width:760px;margin:0;color:#6d7b8d}.ai-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-config-state{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:800}.ai-config-state.ready{background:#e9f8f1;color:#14865d}.ai-config-state.pending{background:#fff3e8;color:#b46522}
.ai-settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:18px}.ai-provider-list{display:flex;flex-direction:column;gap:12px}.ai-provider-card{padding:16px;border:1px solid #e2e9f1;border-radius:15px;background:#fff}.ai-provider-card.enabled{box-shadow:inset 4px 0 0 #2da374}.ai-provider-card.disabled{opacity:.72;background:#fafbfc}.ai-provider-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-provider-card header>div{display:flex;align-items:center;gap:8px}.provider-role{padding:4px 7px;border-radius:7px;background:#edf5ff;color:#1f78bd;font-size:9px;font-weight:800}.ai-provider-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.ai-provider-card dl div{padding:9px 10px;border-radius:10px;background:#f7f9fc;min-width:0}.ai-provider-card dt{color:#8a95a5;font-size:8.5px}.ai-provider-card dd{margin:4px 0 0;color:#344054;font-size:10px;word-break:break-all}.provider-test-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 11px;border-radius:10px;font-size:9px}.provider-test-result.success{background:#ecf9f3;color:#167c58}.provider-test-result.error{background:#fff1f1;color:#b94450}.provider-test-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-provider-form-panel{align-self:start;position:sticky;top:14px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.switch-row.compact{align-self:end;margin:0;min-height:43px}.settings-disclosure{padding:11px 13px;border:1px solid #e3e9f0;border-radius:11px;background:#fafbfd}.settings-disclosure summary{cursor:pointer;font-weight:800;color:#4d596a}.settings-disclosure>div{margin-top:12px}.settings-disclosure>small{display:block;color:#8994a4}.ai-secret-note{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding:12px;border-radius:12px}.ai-secret-note.local{background:#fff6ea;color:#a76124}.ai-secret-note.production{background:#ecf9f3;color:#167c58}.ai-secret-note span{font-size:10px}.ai-secret-note small{font-size:9px}
.ai-prompt-center{margin-top:18px}.prompt-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px}.prompt-tabs a{padding:8px 11px;border-radius:9px;background:#f1f4f8;color:#6e7a8b;font-size:9.5px;font-weight:700}.prompt-tabs a.active{background:#238ee6;color:#fff}.prompt-form textarea{font-family:"Noto Sans Mono CJK SC",Consolas,monospace;font-size:9.5px;line-height:1.5}.table-wrap table td small{display:block;margin-top:4px;color:#8994a4}
.ai-generate-card{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(520px,1.3fr);gap:24px;background:linear-gradient(135deg,#f5faff,#fff)}.ai-generate-intro h2{margin:7px 0 9px;font-size:20px}.ai-generate-intro p{color:#6f7d8e}.ai-generate-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-generate-form label span{display:block;margin-bottom:5px;color:#687688;font-size:9px;font-weight:700}.ai-generate-form .wide,.ai-generate-submit{grid-column:1/-1}.ai-generate-submit{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:8px}.ai-generate-submit>div{margin-right:auto}.ai-generate-submit strong,.ai-generate-submit small{display:block}.ai-generate-submit small{margin-top:3px;color:#8591a1;font-size:9px}.local-generation-fallback{grid-column:1/-1;border-top:1px solid #e6edf4;padding-top:12px}.local-generation-fallback summary{cursor:pointer;color:#647386;font-size:10px;font-weight:700}.local-generation-fallback form{display:flex;gap:8px;margin:10px 0 5px}.local-generation-fallback select{flex:1}.local-generation-fallback small{color:#8a95a4}
.ai-assistant-panel{background:linear-gradient(145deg,#f8fbff,#faf8ff)}.ai-assistant-panel .smart-form.compact{gap:9px}.ai-assistant-panel textarea{resize:vertical}
.ai-job-page{max-width:1180px}.ai-job-status-card{border-top:4px solid #3995df}.ai-job-status-card.succeeded{border-top-color:#22a473}.ai-job-status-card.failed{border-top-color:#d34e5c}.ai-job-status-card.cancelled{border-top-color:#8a94a2}.ai-job-status-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.ai-job-status-head h2{margin:5px 0}.status-badge.large{padding:8px 12px;font-size:11px}.ai-progress-track{height:11px;margin:20px 0 8px;border-radius:999px;background:#e9eef4;overflow:hidden}.ai-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8fdf,#7d66dc);transition:width .35s}.ai-progress-meta{display:flex;align-items:center;gap:12px;color:#7c899a;font-size:9.5px}.ai-progress-meta strong{color:#2a78b7;font-size:12px}.ai-job-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ai-job-details{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ai-job-details div{padding:11px;border-radius:11px;background:#f7f9fc}.ai-job-details dt{color:#8a96a6;font-size:8.5px}.ai-job-details dd{margin:4px 0 0;font-size:10px;font-weight:700}.ai-error-box{padding:15px;border-radius:13px;background:#fff1f2;color:#a83e4a}.ai-error-box p{white-space:pre-wrap}.ai-error-box small{display:block;margin-top:8px}.ai-trace summary{cursor:pointer;font-weight:800}.ai-trace pre{overflow:auto;white-space:pre-wrap;margin:12px 0 0;padding:13px;border-radius:11px;background:#111827;color:#e5e7eb;font-size:9px;line-height:1.5}.ai-result-panel{margin-top:16px}.ai-result-body{max-height:680px;overflow:auto;padding:20px;border:1px solid #e4eaf1;border-radius:13px;background:#fff}.article-result-summary{padding:12px 14px;border-radius:11px;background:#f4f8fd;color:#566477}
@media(max-width:1100px){.ai-settings-grid,.ai-generate-card{grid-template-columns:1fr}.ai-provider-form-panel{position:static}.ai-generate-form{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.ai-hero,.ai-job-status-head{display:block}.ai-hero-actions{margin-top:14px}.ai-provider-card dl,.ai-job-grid,.ai-job-details,.form-grid.three,.ai-generate-form{grid-template-columns:1fr}.ai-generate-form .wide,.ai-generate-submit{grid-column:auto}.ai-generate-submit{align-items:stretch;flex-direction:column}.ai-generate-submit>div{margin:0}.local-generation-fallback form{display:block}.local-generation-fallback .btn{margin-top:8px;width:100%}.provider-test-result{grid-template-columns:1fr}.provider-test-result span{white-space:normal}.ai-job-status-head .status-badge{display:inline-flex;margin-top:10px}}

/* GEO-UX-028 real GEO monitoring */
.monitoring-v28-page{display:flex;flex-direction:column;gap:18px}.monitoring-truth-banner.v28{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;background:linear-gradient(135deg,#eef7ff,#f7f5ff)}.monitoring-truth-banner.v28 h2{margin:4px 0 8px}.monitoring-truth-banner.v28 p{margin:0;color:#66758a;line-height:1.7}.monitor-metrics.v28{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.mini-bar.green i{background:linear-gradient(90deg,#28b870,#61d09a)}.monitoring-actions-v28{display:flex;align-items:center;justify-content:space-between;gap:20px}.trend-bars.triple{gap:3px}.trend-bars .target-citation,.chart-legend .target-citation{background:#28b870}.monitor-question-form-v28{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.monitor-question-form-v28 label,.monitor-question-popover-v28 label,.correction-form-v28 label{display:flex;flex-direction:column;gap:6px}.monitor-question-form-v28 label>span,.monitor-question-popover-v28 label>span,.correction-form-v28 label>span{font-size:11px;color:#64748b;font-weight:700}.monitor-question-form-v28 input,.monitor-question-form-v28 select,.monitor-question-popover-v28 input,.monitor-question-popover-v28 select,.monitor-question-popover-v28 textarea,.correction-form-v28 input,.correction-form-v28 textarea{width:100%;border:1px solid #dfe6ef;border-radius:10px;padding:10px 12px;background:#fff;color:#24344c}.monitor-question-form-v28 .wide{grid-column:span 2}.monitor-question-submit-v28{grid-column:1/-1;display:flex;align-items:center;gap:12px}.monitor-question-submit-v28 small{color:#8894a5}.question-item.v28{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 0}.question-main-v28 h3{margin:7px 0 6px}.question-main-v28 p{margin:0;color:#768397;line-height:1.55}.question-main-v28 small{color:#8996a7}.question-tags-v28{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.monitor-error-v28{color:#bd3948!important;margin-top:6px!important}.monitor-question-settings-v28{position:relative}.monitor-question-settings-v28 summary{list-style:none}.monitor-question-settings-v28 summary::-webkit-details-marker{display:none}.monitor-question-popover-v28{position:absolute;right:0;top:45px;z-index:30;width:390px;padding:16px;border:1px solid #dfe6ef;border-radius:15px;background:#fff;box-shadow:0 18px 50px rgba(25,45,75,.18)}.monitor-question-popover-v28 form{display:grid;gap:10px}.monitor-question-popover-v28 textarea{resize:vertical}.table-wrap.compact table{min-width:520px}.monitoring-job-panel-v28 table small{display:block;margin-top:4px;max-width:300px;color:#b14b55;white-space:normal}.mini-progress-v28{height:6px;min-width:90px;border-radius:999px;background:#edf1f5;overflow:hidden}.mini-progress-v28 i{display:block;height:100%;background:linear-gradient(90deg,#2c91e8,#7968df)}.status-badge.queued{color:#126bd4;background:#e9f3ff}.status-badge.running{color:#7b55c7;background:#f1edff}.status-badge.succeeded{color:#13875a;background:#eaf9f2}.status-badge.cancelled{color:#68758a;background:#eff1f4}.monitor-insight-grid-v28{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gap-list article a{display:block;margin-top:5px;color:#147bc0;font-size:10px;font-weight:700}.observation-list.v28 .observation-item{display:flex;align-items:center;justify-content:space-between;gap:16px}.observation-item>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.observation-item>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-chip.api{color:#176fb2;background:#e8f4ff}.source-chip.manual{color:#16825a;background:#eaf9f2}.source-chip.sample{color:#9a650e;background:#fff3dc}.observation-result em{padding:4px 7px;border-radius:7px;background:#f2edff;color:#6a52b8;font-size:9px;font-style:normal}.page-back-row{display:flex;gap:10px;margin-bottom:14px}.evidence-hero-v28{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#f2f8ff,#faf8ff)}.evidence-hero-v28 .source-chip{display:inline-flex;margin-bottom:10px}.evidence-hero-v28 h2{margin:4px 0 7px}.evidence-hero-v28 p{margin:0;color:#748196}.evidence-verdict-v28{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.evidence-verdict-v28 span{padding:8px 11px;border-radius:999px;background:#fff0f1;color:#bd4653;font-size:11px;font-weight:800}.evidence-verdict-v28 span.yes{background:#e9f8f1;color:#16845b}.evidence-layout-v28{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;margin-top:18px}.raw-answer-panel-v28 pre{margin:0;min-height:360px;max-height:760px;overflow:auto;padding:20px;border:1px solid #e3e9f0;border-radius:13px;background:#fbfcfe;white-space:pre-wrap;word-break:break-word;font-family:inherit;line-height:1.8}.hash-chip-v28{padding:6px 9px;border-radius:8px;background:#edf2f7;color:#5f6e82;font-family:monospace;font-size:9px}.evidence-side-v28{display:flex;flex-direction:column;gap:18px}.evidence-dl-v28{display:grid;gap:0;margin:10px 0 14px}.evidence-dl-v28 div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #edf1f5}.evidence-dl-v28 dt{color:#8995a5;font-size:10px}.evidence-dl-v28 dd{margin:0;text-align:right;font-weight:700;font-size:10px}.evidence-summary-v28{margin-top:18px}.evidence-summary-v28 h2{font-size:18px}.monitor-correction-grid-v28{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.correction-form-v28{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.correction-form-v28 .wide{grid-column:1/-1}.correction-form-v28 .check-row{flex-direction:row;align-items:center;justify-content:flex-start;padding:10px 12px;border:1px solid #e3e9f0;border-radius:10px;background:#fafbfd}.correction-form-v28 .check-row input{width:16px;height:16px}.correction-history-v28{display:flex;flex-direction:column;gap:10px}.correction-history-v28 article{padding:13px;border:1px solid #e3e9f0;border-radius:12px;background:#fbfcfe}.correction-history-v28 header{display:flex;justify-content:space-between;gap:12px}.correction-history-v28 time{color:#8b96a6;font-size:9px}.correction-history-v28 p{margin:8px 0;color:#56657a}.correction-history-v28 summary{cursor:pointer;color:#177cca;font-size:10px;font-weight:800}.correction-history-v28 details>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.correction-history-v28 pre{margin:0;max-height:180px;overflow:auto;padding:10px;border-radius:9px;background:#111827;color:#e5e7eb;white-space:pre-wrap;font-size:8px}.monitoring-job-page-v28{max-width:1180px}.monitoring-job-page-v28 .ai-job-status-card.queued{border-top-color:#2f8fdf}.monitoring-job-page-v28 .ai-job-status-card.running{border-top-color:#7d66dc}.monitoring-job-page-v28 .ai-job-status-card.succeeded{border-top-color:#22a473}.monitoring-job-page-v28 .ai-job-status-card.failed{border-top-color:#d34e5c}.monitoring-job-page-v28 .ai-job-status-card.cancelled{border-top-color:#8a94a2}
@media(max-width:1180px){.monitor-metrics.v28{grid-template-columns:repeat(3,1fr)}.monitor-question-form-v28{grid-template-columns:repeat(2,1fr)}.monitoring-truth-banner.v28{grid-template-columns:auto 1fr}.monitoring-truth-banner.v28>.row-actions{grid-column:2}.question-item.v28{grid-template-columns:1fr}.question-actions{justify-content:flex-start}.evidence-layout-v28,.monitor-correction-grid-v28{grid-template-columns:1fr}.evidence-side-v28{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.monitor-metrics.v28,.monitor-question-form-v28,.monitor-insight-grid-v28,.evidence-side-v28{grid-template-columns:1fr}.monitor-question-form-v28 .wide{grid-column:auto}.monitoring-truth-banner.v28{display:block}.monitoring-truth-banner.v28 .truth-icon{margin-bottom:12px}.monitoring-truth-banner.v28>.row-actions{margin-top:14px}.monitoring-actions-v28,.evidence-hero-v28{display:block}.monitoring-actions-v28 .row-actions,.evidence-verdict-v28{margin-top:14px;justify-content:flex-start}.monitor-question-popover-v28{position:fixed;left:12px;right:12px;top:90px;width:auto;max-height:75vh;overflow:auto}.observation-list.v28 .observation-item,.observation-item>div:first-child{align-items:flex-start;flex-direction:column}.correction-form-v28,.correction-history-v28 details>div{grid-template-columns:1fr}.correction-form-v28 .wide{grid-column:auto}.evidence-dl-v28 div{grid-template-columns:1fr}.evidence-dl-v28 dd{text-align:left}}


/* GEO-UX-029 fixed Alipay checkout, payment evidence and agent settlement */
.payment-order-page{display:flex;flex-direction:column;gap:18px}.payment-mode-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid #dce7f3;border-left:5px solid #4d91d4;border-radius:14px;background:#f5f9fe}.payment-mode-alert.demo{border-left-color:#e2a126;background:#fff9eb}.payment-mode-alert.production{border-left-color:#21a36a;background:#f0fbf6}.payment-mode-alert.pending{border-left-color:#d45863;background:#fff5f6}.payment-mode-alert strong,.payment-mode-alert p{display:block}.payment-mode-alert p{margin:4px 0 0;color:#68778b;font-size:10px;line-height:1.55}.payment-mode-alert>span{flex:0 0 auto;padding:7px 11px;border-radius:999px;background:#fff;color:#42556f;font-size:9px;font-weight:800;box-shadow:0 3px 12px rgba(36,58,86,.08)}.payment-order-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f4f9ff)}.payment-order-title{display:flex;align-items:center;gap:15px;min-width:0}.payment-order-title h2{margin:4px 0 6px;overflow-wrap:anywhere}.payment-order-title p{margin:0;color:#718096}.gateway-logo{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:13px;color:#fff;font-size:18px;font-weight:900}.gateway-logo.alipay{background:linear-gradient(145deg,#1677ff,#25a5f8)}.gateway-logo.wechat{background:linear-gradient(145deg,#14ae5c,#55ce82)}.payment-amount-box{text-align:right}.payment-amount-box span,.payment-amount-box small{display:block;color:#8793a4;font-size:9px}.payment-amount-box strong{display:block;margin:4px 0;color:#1677ff;font-size:32px;letter-spacing:-1px}.payment-order-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);gap:18px;align-items:start}.payment-order-dl{display:grid;gap:0;margin:0}.payment-order-dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.payment-order-dl dt{color:#8793a4;font-size:10px}.payment-order-dl dd{margin:0;text-align:right;overflow-wrap:anywhere;font-size:10px;font-weight:700}.payment-action-panel{display:flex;flex-direction:column;gap:16px}.payment-primary-action .btn{width:100%;justify-content:center}.btn.large{min-height:46px;padding:12px 18px;font-size:11px}.payment-success-box{padding:14px;border:1px solid #b8e6d1;border-radius:13px;background:#effbf5}.payment-success-box.refunded{border-color:#cfd7e2;background:#f6f8fa}.payment-success-box strong{color:#137c52}.payment-success-box p{margin:5px 0 0;color:#607166;font-size:10px}.payment-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payment-action-row form{margin:0}.payment-rule-note{padding:13px 14px;border-radius:12px;background:#f5f8fc}.payment-rule-note strong{font-size:10px}.payment-rule-note p{margin:5px 0 0;color:#6d7b8e;font-size:9px;line-height:1.6}.payment-refund-disabled{color:#a76f16;font-size:9px}.payment-failure-box{margin-top:13px;padding:12px;border-radius:11px;background:#fff0f2;color:#a83c49}.payment-failure-box p{margin:4px 0 0;font-size:9px}.payment-event-list{position:relative;display:flex;flex-direction:column;gap:0}.payment-event-list article{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;padding:10px 0}.payment-event-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#3d91de;box-shadow:0 0 0 4px #eaf4ff}.payment-event-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payment-event-head time{margin-left:auto;color:#8a96a6;font-size:8px}.payment-event-list p{margin:5px 0;color:#617187;font-size:9px}.payment-event-list small{display:block;margin-top:3px;color:#8a96a6;font-size:8px;overflow-wrap:anywhere}.status-badge.paying,.status-badge.received,.status-badge.verified{color:#176fb2;background:#e8f4ff}.status-badge.refunding{color:#925fc4;background:#f4edff}.status-badge.refunded{color:#55647a;background:#edf1f5}.status-badge.rejected,.status-badge.failed{color:#b43f4b;background:#ffeaed}.status-badge.success{color:#147c52;background:#eaf8f1}.fixed-checkout-body{min-height:100vh;margin:0;background:radial-gradient(circle at 20% 10%,#e6f3ff,transparent 35%),linear-gradient(145deg,#f6f9fd,#eef3f9);font-family:inherit}.fixed-checkout-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.fixed-checkout-card{width:min(470px,100%);padding:28px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 24px 80px rgba(32,58,91,.16)}.fixed-checkout-brand{display:flex;align-items:center;gap:12px}.fixed-checkout-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#1677ff;color:#fff;font-size:20px;font-weight:900}.fixed-checkout-brand strong,.fixed-checkout-brand small{display:block}.fixed-checkout-brand small{margin-top:3px;color:#8793a4}.fixed-checkout-warning{margin:20px 0;padding:14px;border:1px solid #f1cf85;border-radius:13px;background:#fff9e9;color:#855e13}.fixed-checkout-warning p{margin:5px 0 0;font-size:10px;line-height:1.6}.fixed-checkout-amount{padding:18px 0;text-align:center}.fixed-checkout-amount span{display:block;color:#8995a5;font-size:10px}.fixed-checkout-amount strong{display:block;margin-top:5px;color:#1677ff;font-size:38px}.fixed-checkout-card dl{margin:0 0 18px}.fixed-checkout-card dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid #edf1f5}.fixed-checkout-card dt{color:#8995a5;font-size:9px}.fixed-checkout-card dd{margin:0;text-align:right;overflow-wrap:anywhere;font-size:9px;font-weight:700}.fixed-checkout-card form .btn,.fixed-checkout-card>a.btn{width:100%;justify-content:center;box-sizing:border-box;margin-top:9px}.fixed-checkout-foot{margin:16px 0 0;color:#8b96a5;text-align:center;font-size:8px;line-height:1.6}.agent-policy-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed #dce4ed}.agent-policy-form .wide{grid-column:1/-1}.agent-policy-form .check-label{flex-direction:row;align-items:center}.agent-policy-form .btn{grid-column:1/-1}.order-message{max-width:300px;white-space:normal}.paid-mark{color:#168055;font-size:9px;font-weight:800}
@media(max-width:900px){.payment-order-grid{grid-template-columns:1fr}.payment-order-hero,.payment-mode-alert{align-items:flex-start;flex-direction:column}.payment-amount-box{text-align:left}.payment-event-head time{width:100%;margin:0}.gateway-grid{grid-template-columns:1fr}}
@media(max-width:620px){.payment-order-dl>div,.fixed-checkout-card dl>div{grid-template-columns:1fr}.payment-order-dl dd,.fixed-checkout-card dd{text-align:left}.payment-action-row{align-items:stretch;flex-direction:column}.payment-action-row form,.payment-action-row .btn{width:100%}.fixed-checkout-card{padding:20px}.agent-policy-form{grid-template-columns:1fr}.agent-policy-form .wide,.agent-policy-form .btn{grid-column:auto}}

/* GEO-UX-040 微信Native扫码收银台 */
.wechat-checkout-body{margin:0;min-height:100vh;background:radial-gradient(circle at 16% 12%,rgba(7,193,96,.12),transparent 30%),linear-gradient(135deg,#eef7f2 0%,#f6f9fc 48%,#edf3f8 100%);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#14233b}
.wechat-checkout-shell{min-height:100vh;display:grid;place-items:center;padding:42px 24px;box-sizing:border-box}
.wechat-checkout-card{width:min(980px,100%);background:#fff;border:1px solid rgba(129,151,177,.18);border-radius:28px;box-shadow:0 28px 80px rgba(28,55,84,.14);overflow:hidden}
.wechat-checkout-header{display:flex;align-items:center;gap:18px;padding:30px 38px;border-bottom:1px solid #edf2f5;background:linear-gradient(110deg,#fff 0%,#f7fff9 100%)}
.wechat-brand-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#16c96d,#07a950);color:#fff;font-size:28px;font-weight:800;box-shadow:0 12px 28px rgba(7,193,96,.22)}
.wechat-checkout-header span{font-size:13px;color:#07a950;font-weight:700;letter-spacing:.08em}
.wechat-checkout-header h1{margin:5px 0 4px;font-size:27px;line-height:1.25}
.wechat-checkout-header p{margin:0;color:#73839a;font-size:14px}
.wechat-checkout-main{display:grid;grid-template-columns:minmax(400px,1.15fr) minmax(300px,.85fr);gap:0}
.wechat-qr-wrap{padding:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#fbfffc,#f7fbf8)}
.wechat-qr-wrap img{width:min(360px,100%);height:auto;padding:12px;background:#fff;border-radius:18px;border:1px solid #e2ece6;box-shadow:0 16px 40px rgba(34,69,52,.1)}
.wechat-scan-tip{display:flex;align-items:center;gap:14px;margin-top:22px;padding:13px 18px;border-radius:14px;background:#eaf9f0;color:#466255}
.wechat-scan-tip strong{color:#079d4d}.wechat-scan-tip span{font-size:14px}
.wechat-order-summary{padding:44px 38px;border-left:1px solid #edf2f5}
.wechat-pay-amount{font-size:44px;font-weight:800;letter-spacing:-.04em;margin:8px 0 26px;color:#101f34}
.wechat-order-summary dl{margin:0}.wechat-order-summary dl div{display:grid;grid-template-columns:88px 1fr;gap:14px;padding:13px 0;border-bottom:1px dashed #e7edf2;font-size:14px}.wechat-order-summary dt{color:#8290a3}.wechat-order-summary dd{margin:0;text-align:right;word-break:break-all;color:#27384f;font-weight:600}
.wechat-security-note{margin:24px 0;padding:16px 17px;border-radius:15px;background:#f2f8ff;border:1px solid #dceafb}.wechat-security-note strong{font-size:14px}.wechat-security-note p{margin:6px 0 0;color:#68798f;font-size:13px;line-height:1.65}
.wechat-checkout-footer{display:flex;justify-content:space-between;gap:20px;padding:18px 38px;background:#f8fafc;border-top:1px solid #edf2f5;color:#7f8da0;font-size:13px}
.wechat-pay-button{background:linear-gradient(135deg,#17c96f,#08a851)!important;border-color:transparent!important}
@media(max-width:760px){.wechat-checkout-shell{padding:16px}.wechat-checkout-card{border-radius:20px}.wechat-checkout-header{padding:24px}.wechat-checkout-header h1{font-size:22px}.wechat-checkout-main{grid-template-columns:1fr}.wechat-qr-wrap{padding:30px 22px}.wechat-order-summary{padding:30px 24px;border-left:0;border-top:1px solid #edf2f5}.wechat-checkout-footer{padding:16px 24px;flex-direction:column}}
