:root { --ink:#23344e; --muted:#718096; --line:#e1e8f0; --primary:#376fc6; --primary-dark:#2558a3; --bg:#f3f7fc; --pink:#fff4f7; --danger:#a33b45; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:linear-gradient(180deg,#eef5ff 0,#f8fafc 280px); color:var(--ink); font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
button, input, textarea { font:inherit; } button { cursor:pointer; }
.hidden { display:none !important; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:min(100%,420px); padding:36px; background:rgba(255,255,255,.96); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 60px rgba(46,80,124,.14); }
.login-mark { width:52px; height:52px; display:grid; place-items:center; margin:0 auto 16px; border-radius:16px; background:linear-gradient(135deg,#497fd6,#24589e); color:#fff; font-size:25px; font-weight:900; }
.login-card h1 { margin:0; text-align:center; font-size:24px; } .login-card>p { margin:4px 0 26px; text-align:center; color:var(--muted); }
.login-card label, .form-grid label { display:block; margin:14px 0 7px; font-weight:700; font-size:13px; }.login-card label:first-of-type { margin-top:0; }
.login-hint { margin-top:18px; color:var(--muted); font-size:12px; line-height:1.7; text-align:center; }.login-hint.hidden { display:none; }
.app-shell { max-width:1160px; margin:0 auto; padding:24px; }.topbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 22px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.88); box-shadow:0 8px 24px rgba(36,55,85,.05); }.brand { font-size:21px; font-weight:800; letter-spacing:.3px; }.subtitle, .hint, p { color:var(--muted); }.subtitle { margin-top:4px; font-size:13px; }
.top-actions, .actions-row, .mode-switch, .quick-tags { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }.user-badge { padding:6px 10px; border-radius:99px; background:#eaf2ff; color:#315c9d; font-size:12px; font-weight:700; }
.tabs { display:flex; gap:8px; margin:18px 0 0; }.tab { border:0; background:transparent; color:var(--muted); padding:12px 18px; border-radius:10px 10px 0 0; font-weight:700; }.tab.active { color:var(--primary-dark); background:#fff; box-shadow:0 -1px 8px rgba(36,55,85,.04); }
.panel { display:none; padding:28px; border:1px solid var(--line); border-radius:0 16px 16px 16px; background:rgba(255,255,255,.95); box-shadow:0 10px 28px rgba(36,55,85,.06); }.panel.active { display:block; }.section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:22px; }h1 { margin:0 0 7px; font-size:22px; } p { margin:0; line-height:1.65; font-size:14px; }
label { display:block; margin-bottom:8px; font-size:14px; font-weight:700; }.input { width:100%; resize:vertical; border:1px solid #d8e0eb; border-radius:12px; padding:12px 14px; color:var(--ink); background:#fbfcfe; outline:none; line-height:1.65; transition:border .2s,box-shadow .2s; }.input:focus { border-color:#8fb8fb; box-shadow:0 0 0 4px #eaf2ff; background:#fff; }.input.large { min-height:180px; }.input.medium { min-height:130px; }
.quick-tags { margin:12px 0 18px; }.quick-tags button { border:1px solid #dbe5f3; background:#f7faff; color:#4671ae; padding:6px 10px; border-radius:99px; font-size:12px; }.button { border:1px solid #d8e0eb; border-radius:10px; padding:10px 17px; background:#fff; color:var(--ink); font-weight:700; }.button.primary { border-color:var(--primary); background:var(--primary); color:#fff; }.button.primary:hover { background:var(--primary-dark); }.button.ghost { background:#f8fafc; }.button.wide { width:100%; margin-top:20px; }.button.small { padding:6px 10px; font-size:12px; }.button:disabled { opacity:.55; cursor:wait; }.mode { border:1px solid #dbe3ef; background:#fff; color:var(--muted); padding:8px 12px; border-radius:8px; font-size:13px; }.mode.active { color:#fff; border-color:var(--primary); background:var(--primary); }
.error { margin-top:15px; padding:11px 13px; color:var(--danger); background:#fff0f1; border:1px solid #ffd0d4; border-radius:9px; white-space:pre-wrap; }.result-grid { margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }.result-card { min-width:0; border:1px solid var(--line); border-radius:13px; overflow:hidden; background:#fbfcff; }.card-title { display:flex; justify-content:space-between; align-items:center; padding:11px 14px; background:#f4f7fb; font-weight:700; font-size:14px; }.copy-btn { border:0; color:var(--primary-dark); background:transparent; font-size:12px; font-weight:700; }.result-text { min-height:110px; margin:0; padding:15px; white-space:pre-wrap; word-break:break-word; font-family:inherit; line-height:1.7; }.result-meta { grid-column:1/-1; display:flex; gap:14px; flex-wrap:wrap; color:var(--muted); font-size:12px; }.result-meta span { padding:5px 9px; background:#f3f5f8; border-radius:99px; }
.info-box { margin:14px 0; padding:12px 14px; color:#556579; background:#f8fbff; border:1px solid #deebfb; border-radius:10px; line-height:1.7; font-size:13px; }code { color:#245ca8; }.remark-result { margin-top:22px; padding:22px; border:1px solid #f4ccd9; border-radius:14px; background:var(--pink); text-align:center; }.remark-label { color:#a7637c; font-size:13px; }.remark-text { margin:12px 0 18px; color:#9b3f62; font-size:25px; font-weight:800; letter-spacing:.5px; word-break:break-all; }.help-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.help-card { padding:18px; border:1px solid var(--line); border-radius:12px; background:#fbfcff; }.help-card b { display:block; margin-bottom:7px; }.help-card.warning { background:#fffaf0; border-color:#f3dfb3; }
.admin-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.admin-card { padding:20px; border:1px solid var(--line); background:#fbfcff; border-radius:14px; }.admin-card.full { grid-column:1/-1; }.admin-card h2 { margin:0 0 13px; font-size:17px; }.form-grid { display:grid; gap:10px; }.form-grid label { margin:0; }.field-note { color:var(--muted); font-size:12px; font-weight:400; }.users-list { display:grid; gap:8px; }.user-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px; border:1px solid #e5ebf2; border-radius:9px; background:#fff; }.user-row b,.user-row small { display:block; }.user-row small { margin-top:2px; color:var(--muted); font-size:12px; }.business-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:12px 0; }.code-input { min-height:360px; resize:vertical; font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }.checkbox-line { display:flex !important; align-items:center; gap:8px; }.checkbox-line input { width:16px; height:16px; }.modal { position:fixed; inset:0; z-index:50; display:grid; place-items:center; padding:20px; background:rgba(24,40,64,.36); }.modal-card { width:min(100%,460px); padding:22px; border-radius:16px; background:#fff; box-shadow:0 18px 60px rgba(19,41,74,.3); }.modal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }.modal-head h2 { margin:0; font-size:19px; }.icon-btn { border:0; background:none; color:var(--muted); font-size:28px; line-height:1; }footer { padding:18px 0 0; text-align:center; color:#9aa5b3; font-size:12px; }
body.compact .app-shell { max-width:620px; padding:12px; }body.compact .topbar { padding:14px; }body.compact .subtitle,body.compact footer,body.compact .tabs .tab[data-tab="helpPanel"],body.compact #adminTab { display:none; }body.compact .panel { padding:17px; }body.compact .section-heading { display:block; }body.compact .mode-switch { margin-top:12px; }body.compact .result-grid { grid-template-columns:1fr; }body.compact .result-meta { grid-column:auto; }
@media (max-width:780px) { .app-shell { padding:12px; }.topbar,.section-heading { display:block; }.top-actions { margin-top:12px; }.tabs { margin-top:12px; overflow:auto; }.tab { white-space:nowrap; }.panel { padding:18px; border-radius:0 12px 12px 12px; }.result-grid,.help-grid,.admin-grid,.business-columns { grid-template-columns:1fr; }.result-meta,.admin-card.full { grid-column:auto; }.user-row { align-items:flex-start; }.login-card { padding:28px 22px; } }


/* 未登录介绍首页 */
:root { --navy:#172b4d; --navy-deep:#0f203b; --cream:#fbfaf7; --gold:#c99a58; --gold-soft:#f5ead9; --mint:#d9eee7; --rose-soft:#f8e2e5; }
body { background:linear-gradient(135deg,#f7f9fc 0%,#fbfaf7 48%,#eef5f4 100%); }
.landing-page { min-height:100vh; overflow:hidden; color:var(--navy); }
.landing-nav { width:min(1180px,calc(100% - 56px)); margin:0 auto; padding:28px 0; display:flex; align-items:center; justify-content:space-between; }
.landing-brand { display:flex; align-items:center; gap:11px; color:var(--navy-deep); font-weight:800; font-size:17px; letter-spacing:.3px; }
.brand-symbol { display:grid; place-items:center; width:35px; height:35px; border-radius:11px; background:var(--navy); color:#fff; font-size:17px; font-weight:900; box-shadow:0 8px 18px rgba(23,43,77,.18); }
.landing-nav-button { padding:8px 15px; border-radius:99px; background:rgba(255,255,255,.65); }
.hero-section { width:min(1180px,calc(100% - 56px)); margin:42px auto 74px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:50px; }
.hero-copy { position:relative; z-index:2; padding:22px 0; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:#8c714d; font-size:12px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; }
.status-dot { width:7px; height:7px; border-radius:50%; background:#62ad8b; box-shadow:0 0 0 5px rgba(98,173,139,.13); }
.hero-copy h1 { margin:19px 0 18px; color:var(--navy-deep); font-size:clamp(40px,5vw,66px); line-height:1.14; letter-spacing:-2.8px; font-weight:850; }
.hero-copy h1 em,.section-intro h2 em,.workflow-copy h2 em,.security-section h2 em,.landing-cta h2 em { color:var(--gold); font-style:normal; }
.hero-lead { max-width:560px; color:#67758a; font-size:16px; line-height:1.9; }
.hero-actions { display:flex; align-items:center; gap:25px; margin-top:30px; }
.hero-button { padding:13px 20px; border-radius:12px; box-shadow:0 10px 22px rgba(55,111,198,.2); }.hero-button span { margin-left:12px; font-size:18px; }
.text-link { color:var(--navy); text-decoration:none; font-size:13px; font-weight:800; }.text-link span { color:var(--gold); margin-left:7px; font-size:17px; }
.hero-proof { margin-top:30px; color:#8792a2; font-size:11px; letter-spacing:.15px; }.hero-proof span { color:#61a382; font-weight:900; }
.hero-visual { position:relative; min-height:440px; display:grid; place-items:center; }
.visual-glow { position:absolute; width:390px; height:390px; border-radius:50%; background:radial-gradient(circle,#e3f0ee 0%,rgba(227,240,238,.35) 45%,rgba(255,255,255,0) 72%); }
.dashboard-card { position:relative; z-index:1; width:min(100%,430px); padding:24px; border:1px solid rgba(255,255,255,.8); border-radius:22px; background:rgba(255,255,255,.85); box-shadow:0 28px 70px rgba(25,53,78,.17); transform:rotate(2.2deg); backdrop-filter:blur(12px); }
.dashboard-top,.mini-brand,.preview-result,.preview-footer { display:flex; align-items:center; }.dashboard-top { justify-content:space-between; margin-bottom:29px; }.mini-brand { gap:8px; color:var(--navy); font-size:12px; font-weight:800; }.mini-logo { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; background:var(--navy); color:#fff; font-size:12px; }.mini-status { color:#65a486; font-size:10px; font-weight:800; }.preview-label { color:#8290a2; font-size:11px; font-weight:800; letter-spacing:1px; }.preview-message { margin-top:10px; padding:14px; color:#40546c; border:1px solid #e8edf1; border-radius:12px; background:#f9fbfb; font-size:13px; line-height:1.65; }.preview-divider { height:1px; margin:19px 0; background:#edf0f1; }.preview-result { gap:10px; }.preview-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; color:#977144; background:var(--gold-soft); font-size:17px; }.preview-result small,.preview-result strong { display:block; }.preview-result small { color:#a2855b; font-size:10px; }.preview-result strong { margin-top:3px; color:var(--navy); font-size:12px; }.preview-lines { display:grid; gap:7px; margin:21px 0 25px; }.preview-lines i { display:block; height:6px; border-radius:99px; background:#edf1f2; }.preview-lines i:nth-child(1) { width:90%; }.preview-lines i:nth-child(2) { width:74%; }.preview-lines i:nth-child(3) { width:48%; }.preview-footer { gap:8px; color:#8996a3; font-size:10px; }.preview-footer span { padding:6px 9px; border-radius:8px; background:#f5f7f7; }.preview-footer .preview-check { margin-left:auto; color:#5b9c7b; background:var(--mint); }
.floating-chip { position:absolute; z-index:2; display:flex; align-items:center; gap:9px; padding:11px 14px 11px 11px; border:1px solid rgba(255,255,255,.9); border-radius:14px; background:rgba(255,255,255,.92); box-shadow:0 15px 35px rgba(27,49,69,.13); }.floating-chip b,.floating-chip small { display:block; }.floating-chip b { color:var(--navy); font-size:11px; }.floating-chip small { margin-top:2px; color:#8591a0; font-size:9px; }.chip-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#3e7a68; background:var(--mint); font-size:12px; font-weight:900; }.chip-icon.gold { color:#9a7441; background:var(--gold-soft); }.chip-one { top:55px; right:-8px; }.chip-two { bottom:49px; left:-8px; }
.trust-strip { width:100%; padding:21px max(28px,calc((100% - 1180px)/2)); display:flex; justify-content:space-between; gap:25px; align-items:center; color:#728093; border-top:1px solid rgba(213,220,224,.8); border-bottom:1px solid rgba(213,220,224,.8); background:rgba(255,255,255,.4); }.trust-strip strong,.trust-strip span { display:block; }.trust-strip strong { margin-bottom:3px; color:var(--navy); font-size:12px; }.trust-strip span { font-size:11px; }.trust-note { color:#a18459; font-size:11px; font-weight:800; }
.feature-section,.workflow-section { width:min(1180px,calc(100% - 56px)); margin:0 auto; }.feature-section { padding:105px 0 118px; display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; }.section-intro h2,.workflow-copy h2 { margin:15px 0 17px; color:var(--navy-deep); font-size:38px; line-height:1.25; letter-spacing:-1.5px; }.section-intro p,.workflow-copy p { color:#748296; font-size:14px; line-height:1.85; }.feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.feature-card { position:relative; min-height:245px; padding:25px; border:1px solid #e7e9e8; border-radius:18px; background:rgba(255,255,255,.62); }.feature-card-main { background:var(--navy); border-color:var(--navy); box-shadow:0 15px 35px rgba(23,43,77,.15); }.feature-card-main h3,.feature-card-main p { color:#fff; }.feature-card-main p { color:#b9c7da; }.feature-number { position:absolute; top:22px; right:24px; color:#aeb8c4; font-size:11px; font-weight:800; }.feature-card-main .feature-number { color:#748aa9; }.feature-icon { display:grid; place-items:center; width:35px; height:35px; margin-bottom:30px; border-radius:11px; font-weight:900; }.icon-blue { color:#5c8bda; background:#e7effe; }.icon-gold { color:#a27a43; background:var(--gold-soft); }.icon-rose { color:#bd6f7a; background:var(--rose-soft); }.icon-green { color:#42846d; background:var(--mint); }.feature-card h3 { margin:0 0 9px; font-size:17px; }.feature-card p { color:#758296; font-size:12px; line-height:1.75; }.feature-tags,.language-pills { display:flex; flex-wrap:wrap; gap:6px; margin-top:18px; }.feature-tags span,.language-pills span { padding:5px 8px; border-radius:99px; background:rgba(255,255,255,.1); color:#b7c8dd; font-size:10px; }.language-pills span { background:#f6f3ed; color:#96774c; }.feature-example { margin-top:17px; padding:8px 10px; border-radius:8px; color:#8190a2; background:#f4f6f6; font:11px ui-monospace,Consolas,monospace; }.feature-card-main .feature-example { color:#c4d2e3; background:rgba(255,255,255,.08); }
.workflow-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; padding:92px 0; border-top:1px solid #e4e8e7; }.workflow-steps { padding-top:9px; }.workflow-step { display:grid; grid-template-columns:32px 1px 1fr; gap:18px; min-height:76px; }.workflow-step b { color:var(--gold); font-size:12px; }.step-line { position:relative; width:1px; height:100%; background:#dfe6e4; }.step-line:after { content:""; position:absolute; top:0; left:-3px; width:7px; height:7px; border-radius:50%; background:var(--gold); }.workflow-step strong,.workflow-step small { display:block; }.workflow-step strong { color:var(--navy); font-size:14px; }.workflow-step small { margin-top:5px; color:#8793a2; font-size:11px; }
.security-section { width:min(1180px,calc(100% - 56px)); margin:16px auto 110px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; padding:31px 34px; border-radius:19px; background:#eef5f1; }.security-badge { padding:8px 11px; border-radius:99px; color:#40806a; background:#d8ece3; font-size:11px; font-weight:800; white-space:nowrap; }.security-section h2 { margin:0 0 6px; color:var(--navy); font-size:22px; }.security-section p { max-width:560px; color:#718479; font-size:12px; line-height:1.7; }.security-points { display:grid; gap:8px; color:#548271; font-size:11px; white-space:nowrap; }.contact-section { width:min(1180px,calc(100% - 56px)); margin:0 auto 16px; display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:stretch; padding:32px; border:1px solid #e3e8e5; border-radius:20px; background:linear-gradient(135deg,#fbfdfc,#f1f7f4); }.contact-copy { padding:12px 4px; }.contact-copy h2 { margin:12px 0 10px; color:var(--navy); font-size:29px; line-height:1.3; }.contact-copy p { max-width:470px; color:#718479; font-size:12px; line-height:1.8; }.contact-card { padding:24px 26px; border:1px solid #dcebe3; border-radius:16px; background:rgba(255,255,255,.84); box-shadow:0 12px 30px rgba(52,96,79,.06); }.contact-card-label { margin-bottom:9px; color:#6f8279; font-size:11px; font-weight:800; letter-spacing:.08em; }.contact-phone { display:inline-block; color:#2f735d; font-size:25px; font-weight:900; letter-spacing:.03em; text-decoration:none; }.contact-phone:hover { color:#245b49; text-decoration:underline; }.contact-detail { display:flex; gap:14px; align-items:baseline; margin-top:15px; padding-top:12px; border-top:1px solid #e8efeb; color:#829189; font-size:11px; }.contact-detail span { min-width:54px; }.contact-detail strong { color:#496459; font-size:12px; font-weight:700; }
.landing-cta { width:min(1180px,calc(100% - 56px)); margin:0 auto; padding:50px 0 57px; display:flex; align-items:center; justify-content:space-between; gap:25px; border-top:1px solid #e2e6e5; }.landing-cta h2 { margin:12px 0 0; color:var(--navy); font-size:31px; }.landing-footer { width:min(1180px,calc(100% - 56px)); margin:0 auto; padding:19px 0 27px; display:flex; justify-content:space-between; color:#98a3ad; border-top:1px solid #e4e8e7; font-size:10px; }
.back-link { display:block; margin:18px auto 0; border:0; background:transparent; color:#70809a; font-size:12px; cursor:pointer; }.back-link:hover { color:var(--primary-dark); }
@media (max-width:900px) { .hero-section,.feature-section,.workflow-section { grid-template-columns:1fr; }.hero-section { margin-top:22px; gap:18px; }.hero-copy { padding-top:16px; }.hero-visual { min-height:400px; }.feature-section { gap:42px; }.workflow-section { gap:40px; }.security-section { grid-template-columns:auto 1fr; }.contact-section { grid-template-columns:1fr; gap:18px; }.security-points { grid-column:1/-1; grid-template-columns:repeat(3,1fr); }.chip-one { right:0; }.chip-two { left:0; } }
@media (max-width:620px) { .landing-nav,.hero-section,.feature-section,.workflow-section,.security-section,.contact-section,.landing-cta,.landing-footer { width:calc(100% - 32px); }.landing-nav { padding:18px 0; }.landing-nav-button { padding:7px 12px; }.hero-copy h1 { font-size:42px; letter-spacing:-2px; }.hero-lead { font-size:14px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }.hero-proof { line-height:2; }.hero-visual { min-height:360px; }.dashboard-card { padding:18px; }.chip-one { top:22px; right:-4px; }.chip-two { bottom:19px; left:-4px; }.floating-chip { transform:scale(.9); transform-origin:center; }.trust-strip { display:block; padding:18px 16px; }.trust-note { margin-top:10px; }.feature-grid { grid-template-columns:1fr; }.section-intro h2,.workflow-copy h2 { font-size:31px; }.security-section { width:calc(100% - 32px); grid-template-columns:1fr; padding:23px; }.security-points { grid-column:auto; grid-template-columns:1fr; }.landing-cta { display:block; }.landing-cta .hero-button { margin-top:22px; }.landing-footer { display:block; line-height:2; }.landing-footer span { display:block; } }

.language-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:12px; }.language-row label { color:var(--navy); font-size:13px; font-weight:800; }.language-select { width:auto; min-width:230px; padding:10px 34px 10px 12px; }.language-row .hint { flex:1; min-width:220px; }

.contact-feedback-btn { margin-top:20px; }
.admin-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.feedback-list { display:grid; gap:10px; margin-top:15px; }
.feedback-row { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid #e8efeb; }
.feedback-row.is-handled { opacity:.58; }
.feedback-body { min-width:0; flex:1; }
.feedback-body p { margin:0 0 7px; color:var(--navy); font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.feedback-body small { color:#8a9891; font-size:11px; }
.floating-document { min-width:0; margin:0; padding:0; background:#f5f8f6; }
.floating-assistant { padding:18px; }
.floating-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:15px; }
.floating-brand { min-width:0; display:flex; align-items:center; gap:9px; border:0; padding:0; color:inherit; background:transparent; text-align:left; font:inherit; cursor:default; }
.floating-brand-icon { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(145deg,var(--primary),var(--primary-dark)); box-shadow:0 6px 16px rgba(32,91,67,.22); font-size:14px; font-weight:900; }
.floating-head b,.floating-head small { display:block; white-space:nowrap; }
.floating-head b { color:var(--navy); font-size:15px; }
.floating-head small { margin-top:3px; color:#5b8f77; font-size:10px; font-weight:700; }
.floating-window-actions { display:flex; align-items:center; gap:5px; }
.floating-window-btn { min-width:30px; height:30px; display:grid; place-items:center; border:1px solid #d8e4de; border-radius:9px; padding:0 8px; color:#62766c; background:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.floating-window-btn:hover { color:var(--primary-dark); background:#edf5f1; }
.floating-window-btn.return { min-width:auto; font-size:10px; }
.floating-window-btn.close:hover { color:#a33f3f; border-color:#efcccc; background:#fff0f0; }
.floating-assistant.is-minimized { height:100vh; min-height:0; display:flex; align-items:center; padding:12px 14px; overflow:hidden; background:linear-gradient(135deg,#f8fcfa,#edf6f1); }
.floating-assistant.is-minimized .floating-head { width:100%; margin:0; }
.floating-assistant.is-minimized .floating-body { display:none; }
.floating-assistant.is-minimized .floating-brand { flex:1; cursor:pointer; }
.floating-assistant.is-minimized .floating-brand-icon { width:36px; height:36px; flex-basis:36px; border-radius:50%; }
.floating-assistant.is-minimized #floatingMinimize,.floating-assistant.is-minimized #floatingReturn { display:none; }
.floating-assistant.is-minimized .floating-head small::after { content:" · 点击展开"; }
.floating-input { min-height:150px; resize:vertical; }
.floating-actions { display:flex; gap:8px; margin-top:10px; }
.floating-actions .button { flex:1; }
.floating-output { margin-top:12px; padding:12px; border:1px solid #dcebe3; border-radius:12px; background:#fff; color:#445b51; font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.floating-results { display:grid; gap:10px; margin-top:12px; }
.floating-result-card { overflow:hidden; border:1px solid #dcebe3; border-radius:13px; background:#fff; }
.floating-result-card.internal { border-color:#e9dfc8; background:#fffdf8; }
.floating-result-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 11px; border-bottom:1px solid #e7efeb; background:#f7faf8; }
.floating-result-card.internal .floating-result-head { border-bottom-color:#eee4cf; background:#fbf7ed; }
.floating-result-head b { color:var(--navy); font-size:12px; }
.floating-result-copy { border:1px solid #cfddd6; border-radius:8px; padding:5px 12px; color:var(--primary-dark); background:#fff; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.floating-result-copy:hover { background:#edf5f1; }
.floating-result-text { min-height:42px; padding:11px 12px; color:#445b51; font-size:12px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }

/* 悬浮工作台：支持浏览器 Document Picture-in-Picture；不支持时在当前页面提供可用的固定面板。 */
.floating-tabs { display:flex; gap:6px; margin-bottom:12px; padding:4px; border-radius:11px; background:#eaf2ee; }
.floating-tab { flex:1; border:0; border-radius:8px; padding:9px 8px; color:#6d8177; background:transparent; font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.floating-tab.active { color:var(--primary-dark); background:#fff; box-shadow:0 3px 10px rgba(48,91,72,.08); }
.floating-pane { display:none; }
.floating-pane.active { display:block; }
.floating-options { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
.floating-options .input { min-height:39px; padding:8px 10px; font-size:12px; }
.floating-input.short { min-height:100px; }
.fallback-floating { position:fixed; z-index:1000; right:24px; bottom:24px; width:min(410px,calc(100vw - 32px)); max-height:calc(100vh - 48px); overflow:auto; padding:18px; border:1px solid #dcebe3; border-radius:18px; background:rgba(247,251,249,.98); box-shadow:0 20px 60px rgba(31,66,51,.22); }
.fallback-floating-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.fallback-floating-head b,.fallback-floating-head small { display:block; }
.fallback-floating-head b { color:var(--navy); font-size:16px; }
.fallback-floating-head small { margin-top:3px; color:#84948b; font-size:11px; }
.floating-fallback-note { margin-top:12px; color:#84948b; font-size:10px; line-height:1.6; }
.fallback-floating.is-minimized { width:270px; max-height:none; overflow:hidden; padding:12px 14px; border-radius:16px; }
.fallback-floating.is-minimized .fallback-floating-head { margin:0; }
.fallback-floating.is-minimized .floating-fallback-body { display:none; }
.fallback-floating.is-minimized .floating-brand { flex:1; cursor:pointer; }
.fallback-floating.is-minimized #fallbackFloatingMinimize { display:none; }
.fallback-floating.is-minimized .floating-brand small::after { content:" · 点击展开"; }
@media (max-width:620px) { .fallback-floating { right:16px; bottom:16px; width:calc(100vw - 32px); } .floating-options { grid-template-columns:1fr; } }


.user-actions { display:flex; gap:8px; flex-shrink:0; }
.button.danger { color:#b64e4e; border-color:#edcaca; background:#fff8f8; }
.button.danger:hover { color:#963b3b; background:#fff0f0; }
@media (max-width:620px) { .user-actions { width:100%; } .user-actions .button { flex:1; } }

.employee-modal-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:4px; }
.employee-modal-actions .button { flex:1; }
@media (max-width:480px) { .employee-modal-actions { align-items:stretch; flex-direction:column; } }

/* 管理员话术与场景管理 */
.scenario-manager-card { background:linear-gradient(180deg,#fbfcff 0%,#f7fbf9 100%); }
.compact-actions { margin:0; flex-wrap:nowrap; }
.scenario-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) 150px auto; gap:10px; margin:16px 0 8px; }
.scenario-list { display:grid; gap:10px; margin-top:14px; }
.scenario-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:15px; border:1px solid #e3ebe7; border-radius:12px; background:#fff; }
.scenario-row.is-disabled { opacity:.68; background:#f5f6f7; }
.scenario-row-head { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.scenario-row h3 { margin:0; color:var(--navy); font-size:15px; }
.scenario-badge { display:inline-flex; align-items:center; padding:3px 8px; border-radius:999px; background:#e3f4eb; color:#317356; font-size:11px; font-weight:700; }
.scenario-badge.off { background:#eceff2; color:#7b8490; }
.scenario-badge.priority { background:#f5ead9; color:#946323; }
.scenario-keywords { margin:8px 0 0; color:#667585; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.scenario-reply-preview { margin:7px 0 0; color:#33485f; font-size:12px; line-height:1.65; white-space:pre-wrap; }
.scenario-row-actions { display:flex; align-items:center; gap:8px; }
.modal-card-wide { width:min(100%,900px); max-height:calc(100vh - 40px); overflow:auto; }
.scenario-modal-card { padding:24px; }
.scenario-form { display:grid; gap:15px; margin-top:18px; }
.scenario-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.42fr); gap:12px; }
.scenario-form-grid > label { min-width:0; }
.template-help { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:11px 13px; border-radius:10px; background:#f3f7f5; color:#64746c; font-size:12px; }
.template-help span { padding:3px 7px; border:1px solid #d9e5df; border-radius:6px; background:#fff; color:#37604e; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; cursor:pointer; }
.required-fields { margin:0; padding:14px; border:1px solid #dde7e2; border-radius:12px; }
.required-fields legend { padding:0 7px; color:var(--navy); font-weight:800; }
.required-field-list { display:grid; gap:8px; margin-top:10px; }
.required-field-row { display:grid !important; grid-template-columns:130px minmax(0,1fr); align-items:center; gap:10px; margin:0 !important; }
.required-field-row > span { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; }
.required-field-row input[type="checkbox"] { width:16px; height:16px; }
.required-field-row > .input { padding:9px 11px; font-size:12px; }
.required-field-row:has(input[type="checkbox"]:not(:checked)) > .input { opacity:.45; }
.scenario-options { display:flex; gap:24px; flex-wrap:wrap; }
.scenario-ai-row { display:flex; align-items:center; gap:12px; padding:12px; border:1px dashed #d7c494; border-radius:11px; background:#fffaf0; }
.scenario-preview { padding:14px; border:1px solid #dfe8ef; border-radius:12px; background:#f8fbfd; }
.scenario-preview h3 { margin:0 0 10px; font-size:14px; }
.scenario-preview-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
.scenario-test-output { margin-top:10px; padding:12px; border-radius:9px; background:#fff; color:#33485f; font-size:12px; line-height:1.7; white-space:pre-wrap; border:1px solid #e1e8ee; }
.warning-box { padding:12px 14px; border:1px solid #eccf87; border-radius:10px; background:#fff8e4; color:#79591a; font-size:12px; line-height:1.7; white-space:pre-wrap; }
.scenario-form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:3px; }
.version-list { display:grid; gap:9px; margin-top:18px; }
.version-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px; border:1px solid #e2e9e6; border-radius:10px; }
.version-row b,.version-row small { display:block; }
.version-row small { margin-top:3px; color:var(--muted); }
@media (max-width:780px) {
  .scenario-toolbar,.scenario-form-grid,.scenario-preview-controls { grid-template-columns:1fr; }
  .scenario-row { grid-template-columns:1fr; }
  .scenario-row-actions { justify-content:flex-end; }
  .required-field-row { grid-template-columns:1fr; }
  .scenario-form-actions { align-items:stretch; flex-direction:column-reverse; }
  .scenario-form-actions > .button { width:100%; }
}

