:root{
  --green:#159b58;--green-dark:#0b3d28;--green-active:#0f8a50;--blue:#409eff;--red:#f56c6c;--orange:#e6a23c;
  --line:#e6ebf2;--text:#303642;--muted:#7b8491;--page:#f5f7fa;--shadow:0 3px 12px rgba(27,43,58,.09)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--text);font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.hidden{display:none!important}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;border:1px solid transparent;border-radius:4px;background:#fff;color:#4a5563;white-space:nowrap}.btn.primary{background:var(--blue);color:#fff}.btn.success{background:#67c23a;color:#fff}.btn.danger{background:var(--red);color:#fff}.btn.ghost{border-color:#d7dde6;background:#fff}.btn.danger-soft{background:#f8a6a9;color:#fff}.btn.danger-outline{border-color:#ffb2b2;color:#f56c6c;background:#fff}.btn.warning-outline{border-color:#f4c275;color:#d89324;background:#fff}.btn.small{min-height:36px;padding:0 16px}.btn.tiny{min-height:28px;padding:0 10px;font-size:12px}.link-btn{border:0;background:transparent;color:var(--blue);padding:4px}.link-btn.red{color:var(--red)}
.alert{padding:10px 12px;border-radius:5px;margin:8px 0}.alert.danger{background:#fff0f0;color:#d64545;border:1px solid #ffd0d0}
/* 登录 */
.login-page{
  --login-pink:#ff6fbd;
  --login-pink-deep:#ed4fa7;
  --login-purple:#9a58e7;
  --login-purple-deep:#6f4bd8;
  --login-ink:#322b3d;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:32px 18px;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.72),transparent 26%),
    radial-gradient(circle at 82% 14%,rgba(255,214,239,.76),transparent 29%),
    linear-gradient(145deg,#fff6fb 0%,#f9eafa 38%,#eee4ff 70%,#e9e7ff 100%);
}
.login-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none}
.login-backdrop:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.36),transparent 38%,rgba(255,255,255,.18));}
.login-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(140,81,200,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(140,81,200,.055) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 86%)}
.login-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.65;box-shadow:inset 0 0 40px rgba(255,255,255,.45)}
.orb-one{width:390px;height:390px;left:-110px;top:-115px;background:linear-gradient(145deg,rgba(255,116,190,.56),rgba(183,103,232,.2));animation:floatOrb 9s ease-in-out infinite}
.orb-two{width:500px;height:500px;right:-160px;bottom:-220px;background:linear-gradient(145deg,rgba(138,92,231,.42),rgba(255,147,207,.26));animation:floatOrb 11s ease-in-out infinite reverse}
.orb-three{width:150px;height:150px;right:14%;top:13%;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(238,199,255,.34));animation:floatOrb 8s ease-in-out infinite 1s}
@keyframes floatOrb{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0)}}
.login-card{
  position:relative;
  width:min(430px,100%);
  min-height:484px;
  padding:46px 42px 40px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.9);
  border-radius:30px;
  box-shadow:0 30px 80px rgba(112,65,148,.18),0 8px 28px rgba(202,86,161,.12),inset 0 1px 0 rgba(255,255,255,.94);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  z-index:1;
}
.login-card:before{content:"";position:absolute;inset:10px;border:1px solid rgba(184,91,223,.08);border-radius:23px;pointer-events:none}
.brand-logo-wrap{position:relative;width:116px;height:116px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center}
.brand-halo{position:absolute;width:106px;height:106px;border-radius:36px;background:linear-gradient(145deg,rgba(255,113,190,.28),rgba(128,83,226,.22));filter:blur(18px);transform:translateY(10px)}
.brand-logo{position:relative;width:112px;height:112px;display:block;filter:drop-shadow(0 12px 15px rgba(112,70,182,.14))}
.login-card h1{text-align:center;margin:0 0 40px;color:var(--login-ink);font-size:31px;font-weight:700;letter-spacing:7px;text-indent:7px;line-height:1.2}
.login-form{position:relative}
.login-alert{margin:-18px 0 18px;border-radius:12px;text-align:center;font-size:13px}
.field-label{display:block;margin:0 0 10px;color:#5c5367;font-size:14px;font-weight:600;letter-spacing:.5px}
.input-wrap{position:relative}
.input-leading{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:21px;height:21px;color:#a56bdd;display:flex;z-index:1}
.input-leading svg{width:100%;height:100%}
.input-wrap input,.login-page .full-input{width:100%;height:50px;border:1px solid #e3d6eb;border-radius:14px;padding:0 43px 0 48px;outline:none;color:#3f3748;background:rgba(255,255,255,.84);transition:border-color .2s,box-shadow .2s,background .2s}
.input-wrap input::placeholder,.login-page .full-input::placeholder{color:#b1a8b9}
.input-wrap input:hover{border-color:#d2b9e2}
.input-wrap input:focus,.login-page .full-input:focus{border-color:#ba6bdf;background:#fff;box-shadow:0 0 0 4px rgba(181,90,219,.11)}
.clear-input{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#b7acbd;font-size:18px;line-height:30px;transition:.2s}
.clear-input:hover{background:#f5edf9;color:#9458be}
.agree-row{display:flex;align-items:flex-start;gap:9px;margin:18px 0 30px;color:#716879;font-size:13px;line-height:20px;cursor:pointer}
.agree-row input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--login-purple)}
.agree-row b{color:#a74fc7;font-weight:600}
.login-button{position:relative;width:100%;height:50px;border:0;border-radius:15px;background:linear-gradient(100deg,var(--login-pink-deep),var(--login-purple) 55%,var(--login-purple-deep));color:white;font-weight:700;font-size:16px;letter-spacing:3px;box-shadow:0 13px 28px rgba(143,74,213,.27);display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;transition:transform .18s,box-shadow .18s,filter .18s}
.login-button:before{content:"";position:absolute;left:-50%;top:-120%;width:40%;height:320%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:rotate(22deg);transition:left .55s ease}
.login-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(143,74,213,.34);filter:saturate(1.05)}
.login-button:hover:before{left:120%}
.login-button:active{transform:translateY(0)}
.login-button svg{width:19px;height:19px;transition:transform .2s}
.login-button:hover svg{transform:translateX(3px)}
.login-page .second-modal{width:min(410px,calc(100vw - 36px));padding:26px 26px 24px;border-radius:20px;border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 80px rgba(73,48,91,.28)}
.login-page .second-modal:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--login-pink),var(--login-purple))}
.login-page .second-modal h2{font-size:20px;font-weight:700;color:#3d3447;margin:5px 0 12px}
.login-page .second-modal p{color:#807688;margin:0 0 18px;line-height:1.65}
.login-page .second-modal .full-input{border-radius:12px;border-color:#ddcde8;padding-left:14px}
.login-page .second-modal .modal-actions{margin-top:24px}
.login-page .second-modal .btn{border-radius:10px;min-height:40px}
.login-page .second-modal .btn.primary{background:linear-gradient(100deg,var(--login-pink-deep),var(--login-purple));border:0}
.login-page .modal-mask{background:rgba(54,37,66,.52);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
@media(max-width:520px){.login-page{padding:20px 14px}.login-card{padding:38px 26px 32px;border-radius:24px;min-height:auto}.brand-logo-wrap{width:100px;height:100px}.brand-logo{width:98px;height:98px}.login-card h1{font-size:27px;margin-bottom:32px}.orb-three{display:none}}

/* 通用弹窗 */
.modal-mask{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.52);z-index:2000}.modal-mask.open{display:flex}.modal{position:relative;background:#fff;border-radius:2px;box-shadow:0 18px 42px rgba(0,0,0,.24);padding:22px 20px}.modal h2{font-size:18px;font-weight:500;margin:0 0 28px}.modal-x{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#a1a8b0;font-size:22px}.second-modal{width:400px;padding:20px}.second-modal p{color:#6f7782;margin-bottom:14px}.second-modal .full-input{border-radius:3px;border-color:#409eff}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:36px}
/* 左侧导航与后台 */
.admin-body{background:#fff;overflow-x:hidden}.side-nav{position:fixed;z-index:1000;left:0;top:0;bottom:0;width:66px;background:#093d2a;color:#e9fff4;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.side-avatar{height:78px;display:flex;align-items:center;justify-content:center}.side-avatar img{width:46px;height:46px;object-fit:cover;border-radius:3px;border:1px solid rgba(255,255,255,.18)}.side-item{min-height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#e9fff4;font-size:12px;border-left:3px solid transparent}.side-item i{font-style:normal;font-size:21px;line-height:21px}.side-item:hover,.side-item.active{background:#0d7a4e;border-left-color:#25c877}.side-item.logout{margin-top:auto}.admin-shell{min-height:100vh;margin-left:66px}.admin-shell.with-visitor-panel{padding-left:300px}.visitor-panel{position:fixed;left:66px;top:0;bottom:0;width:300px;background:#f8f9fb;border-right:1px solid #dfe4ea;z-index:500;overflow:hidden}.visitor-search{height:46px;padding:4px;display:flex;border-bottom:1px solid #d9dee5}.visitor-search input{width:214px;border:1px solid #cbd2dc;padding:0 12px;outline:none}.visitor-search button{flex:1;border:1px solid #cbd2dc;border-left:0;background:#fff}.visitor-tabs{height:46px;display:flex;border-bottom:1px solid #d9dee5}.visitor-tabs button{position:relative;flex:1;border:0;background:#f8f9fb}.visitor-tabs button.active{color:#087e46}.visitor-tabs button.active:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:2px;background:#14945a}.visitor-tabs b{position:absolute;top:3px;right:18px;min-width:18px;height:18px;border-radius:50%;background:#ef6a6a;color:#fff;font-size:11px;line-height:18px}.visitor-list{height:calc(100vh - 92px);overflow:auto}.visitor-row{position:relative;width:100%;height:73px;display:flex;align-items:center;border:0;border-bottom:1px solid #e0e4e9;background:#f8f9fb;text-align:left;padding:7px}.visitor-row:hover,.visitor-row.selected{background:#edf5f0}.visitor-placeholder{width:46px;height:46px;border-radius:50%;background:#d4d7da;color:#9da2a7;display:flex;align-items:center;justify-content:center;font-size:35px;margin-right:10px}.visitor-meta{display:flex;flex-direction:column;gap:9px;min-width:0}.visitor-meta b{font-size:14px;color:#111}.visitor-meta em,.visitor-side em{font-style:normal;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visitor-side{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:16px}.visitor-side time{font-size:11px;color:#626a74}.unread-dot{position:absolute;right:8px;top:8px;background:#e75c5c;color:#fff;border-radius:10px;min-width:18px;height:18px;text-align:center;line-height:18px;font-size:11px}.admin-content{min-height:100vh;background:#fff}.message-content{position:relative}.chat-empty{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#777;gap:14px}.chat-logo{font-size:90px;line-height:90px;color:#e0e3e5}.chat-empty p{font-size:16px}.chat-workspace{height:100vh;display:flex;flex-direction:column}.chat-header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.chat-header b{font-size:17px}.chat-header span{display:block;color:#8c949e;font-size:12px;margin-top:5px}.chat-messages{flex:1;overflow-y:auto;padding:22px;background:#f4f6f8}.admin-msg{display:flex;flex-direction:column;max-width:58%;margin:10px 0}.admin-msg>div{padding:11px 14px;border-radius:7px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);line-height:1.6}.admin-msg.mine{margin-left:auto;align-items:flex-end}.admin-msg.mine>div{background:#95ec69}.admin-msg time{font-size:11px;color:#9a9fa6;margin-top:4px}.chat-no-message{text-align:center;color:#9aa1aa;margin-top:80px}.quick-strip{padding:8px 14px;border-top:1px solid var(--line);display:flex;gap:8px;overflow-x:auto}.quick-chip{border:1px solid #cfd6df;border-radius:16px;background:white;padding:5px 12px;color:#5c6671}.chat-composer{display:flex;height:120px;border-top:1px solid var(--line);padding:14px;gap:12px}.chat-composer textarea{flex:1;resize:none;border:0;outline:none;line-height:1.6}.chat-composer .btn{align-self:flex-end}.announcement-modal{width:746px;padding:20px}.announcement-modal h2{margin-bottom:38px}.announcement-text{color:#ff4f4f;font-size:15px;line-height:1.65}.announcement-modal .modal-actions{margin-top:40px}
/* 二维码 */
.qr-modal{width:840px;padding:20px}.qr-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.qr-left>p{line-height:1.5;word-break:break-all}.qr-box{width:230px;height:230px;margin:10px auto;display:flex;align-items:center;justify-content:center}.qr-status{text-align:center;margin:6px}.qr-status b{margin-right:14px}.status-normal{color:#58b834}.status-paused{color:#e69b25}.status-closed{color:#f56c6c}.qr-actions{display:flex;gap:18px;justify-content:center;margin-top:16px}.qr-help{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:18px 24px;line-height:1.8;align-self:start}.qr-help>b{color:#0da35b}.qr-help p{margin:11px 0}
/* 页面、工具栏、表格 */
.page-section{padding:20px 18px 40px;min-height:100vh}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:15px}.toolbar label{display:flex;align-items:center;gap:12px}.toolbar input{height:40px;width:190px;border:1px solid #d7dee8;border-radius:3px;padding:0 12px}.toolbar h2{font-size:18px;margin:0}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;table-layout:auto}.data-table th,.data-table td{border-bottom:1px solid #e5eaf1;padding:13px 16px;text-align:left;color:#4b5563;vertical-align:middle}.data-table th{color:#697382;font-weight:600;background:#fff}.data-table tbody tr:hover{background:#fafcfe}.data-table.large-rows td{padding-top:12px;padding-bottom:12px;min-height:64px}.sort-input{height:40px;max-width:390px;width:100%;border:1px solid #d5dce5;padding:0 14px}.switch{position:relative;width:47px;height:24px;border:0;border-radius:13px;background:#d6dce5;padding:0;vertical-align:middle}.switch span{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.switch.on{background:#409eff}.switch.on span{left:25px}.info-banner{background:#f3f6f9;border-radius:7px;padding:13px 16px;margin:0 0 14px}.info-banner b{font-size:16px}.info-banner p{margin:6px 0 0;color:#626c78}.toast{position:fixed;left:50%;top:25px;transform:translate(-50%,-20px);opacity:0;pointer-events:none;background:#20262e;color:#fff;padding:10px 18px;border-radius:4px;z-index:5000;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#e75252}
/* 复制页 */
.page-gray{min-height:100vh;background:#f5f7fa;padding:20px;display:flex;justify-content:center}.copy-card{margin-top:18px;width:610px;background:white;border-radius:8px;box-shadow:var(--shadow);padding:24px}.copy-card h2{margin:0 0 24px;font-size:18px}.copy-card h3{font-size:14px;margin:0 0 16px}.copy-card hr{border:0;border-top:1px solid #e6ebf2;margin:22px 0}.form-row{display:flex;align-items:flex-start;gap:12px;margin:14px 0}.form-row>label:first-child{width:120px;text-align:right;padding-top:10px}.form-row>input{flex:1;height:38px;border:1px solid #d7dee8;padding:0 12px}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 22px;color:#409eff}.check-grid input,.form-row input[type=radio]{accent-color:#409eff}
/* 内容编辑弹窗 */
.item-modal{width:520px}.item-modal form{display:flex;flex-direction:column;gap:14px}.item-modal form>label{display:flex;flex-direction:column;gap:7px}.item-modal input,.item-modal textarea{border:1px solid #d7dee8;border-radius:3px;padding:10px;outline:none}.item-modal textarea{height:130px;resize:vertical}.item-modal .inline-check{flex-direction:row;align-items:center}
/* 统计 */
.stats-page{background:#fff}.stats-top{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stat-card{border:1px solid #e3e8ee;border-radius:4px;box-shadow:var(--shadow);background:#fff}.stat-card h3{margin:0;padding:17px;border-bottom:1px solid #e5eaf1;font-size:16px;font-weight:500}.stat-card h3 small{color:#f56c6c;font-weight:400}.stat-card>p{margin:0;padding:3px 18px;font-size:15px}.stat-card>p:first-of-type{padding-top:20px}.stat-card>p:last-of-type{padding-bottom:20px}.stat-card.full{margin-top:20px;padding-bottom:18px}.stat-card.full .data-table{width:calc(100% - 36px);margin:18px}
/* 设置 */
.settings-page{padding:0 18px 40px}.settings-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;padding:20px 125px 10px 130px}.setting-line{display:flex;align-items:center;min-height:58px;gap:12px}.setting-line>label:first-child{width:142px;text-align:right;color:#5c6671}.setting-line>input{flex:1;height:38px;border:1px solid #d7dee8;border-radius:3px;padding:0 12px}.radio-row{display:flex;flex-wrap:wrap;gap:24px}.radio-row.compact{gap:12px 20px}.radio-row input{accent-color:#409eff}.avatar-line{align-items:flex-start;padding-top:12px}.settings-avatar{display:block;width:168px;height:168px;object-fit:cover;border-radius:4px;margin-bottom:8px}.background-preview{width:155px;height:84px;border:1px solid #d8dee7;background-size:cover;background-position:center;margin-bottom:8px}.section-divider{display:flex;align-items:center;gap:15px;margin:10px 18px 0;color:#333;font-weight:600}.section-divider:before,.section-divider:after{content:"";height:1px;background:#dfe5ec}.section-divider:before{width:20px}.section-divider:after{flex:1}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;padding:18px 125px}.filter-item{height:62px;display:flex;align-items:center;gap:13px}.filter-item>span{width:150px;text-align:right;color:#5c6671}.filter-item input[type=number]{width:92px;height:34px;border:1px solid #d7dee8;padding:0 10px}.filter-item em{font-style:normal;color:#9098a2}.save-bar{position:sticky;bottom:0;background:rgba(255,255,255,.92);border-top:1px solid #edf1f5;padding:14px;text-align:center}
/* H5访客 */
.visitor-body{margin:0;background:#eef2f5;min-height:100vh;display:flex;justify-content:center}.visitor-app{width:min(100%,560px);min-height:100vh;background:#f3f4f6;display:flex;flex-direction:column;box-shadow:0 0 24px rgba(0,0,0,.08);background-image:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,.85)),var(--visitor-bg);background-size:cover;background-position:center}.visitor-header{height:68px;background:#0d8f54;color:white;display:flex;align-items:center;padding:0 14px;gap:11px}.visitor-header img{width:45px;height:45px;border-radius:50%;object-fit:cover}.visitor-header b{display:block;font-size:16px}.visitor-header span{display:block;font-size:12px;opacity:.82;margin-top:4px}.visitor-marquee{height:32px;overflow:hidden;background:#fff8df;color:#9a6b12;display:flex;align-items:center;white-space:nowrap}.visitor-marquee span{display:inline-block;padding-left:100%;animation:marquee 14s linear infinite}@keyframes marquee{to{transform:translateX(-100%)}}.visitor-chat{flex:1;overflow-y:auto;padding:16px}.visitor-loading{text-align:center;color:#8b949f;padding:28px}.visitor-message{max-width:78%;margin:10px 0;display:flex;flex-direction:column}.visitor-message>div{background:white;border-radius:7px;padding:10px 12px;line-height:1.55;box-shadow:0 1px 3px rgba(0,0,0,.08)}.visitor-message.mine{margin-left:auto;align-items:flex-end}.visitor-message.mine>div{background:#95ec69}.visitor-message time{font-size:10px;color:#9ba2aa;margin-top:3px}.visitor-composer{height:62px;display:flex;background:white;border-top:1px solid #e0e5ea;padding:9px;gap:8px}.visitor-composer input{flex:1;border:1px solid #d4dae2;border-radius:5px;padding:0 12px;outline:none}.visitor-composer button{width:74px;border:0;border-radius:5px;background:#17a15b;color:#fff}.question-mask{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.question-card{width:min(100%,420px);background:white;border-radius:12px;padding:24px;text-align:center}.question-card h3{margin:0 0 20px}.question-card p{font-size:17px;line-height:1.6;min-height:60px}.question-card>div{display:flex;gap:12px}.question-card button{flex:1;height:42px;border:1px solid #d5dce5;background:white;border-radius:6px}.question-card button:last-child{background:#17a15b;border-color:#17a15b;color:white}.visitor-error{text-align:center;padding:70px 25px;color:#6e7782}
@media(max-width:1200px){.settings-columns{padding:20px 35px;gap:30px}.filter-grid{padding:18px 35px}.settings-col{min-width:0}.setting-line>label:first-child{width:120px}.admin-shell.with-visitor-panel{padding-left:270px}.visitor-panel{width:270px}}
@media(max-width:800px){.side-nav{width:56px}.side-item span{font-size:10px}.admin-shell{margin-left:56px}.admin-shell.with-visitor-panel{padding-left:0}.visitor-panel{left:56px;width:250px;transform:translateX(-100%);display:none}.settings-columns,.filter-grid{grid-template-columns:1fr;padding:16px;gap:0}.stats-top{grid-template-columns:1fr}.qr-modal,.announcement-modal{width:94vw}.qr-grid{grid-template-columns:1fr}.copy-card{width:100%}.page-gray{padding:12px}.toolbar{flex-wrap:wrap}}

/* =========================================================
   飞享天马 V0.3：后台及访客端粉紫品牌主题
   ========================================================= */
:root{
  --green:#a45bdd;
  --green-dark:#4e2d68;
  --green-active:#7d45ae;
  --blue:#9a58e7;
  --line:#eee5f4;
  --page:#fbf8fd;
  --shadow:0 8px 28px rgba(104,65,135,.09);
}

/* 全局后台底色与控件 */
.admin-body{
  --brand-pink:#ef5cae;
  --brand-pink-soft:#fff0f8;
  --brand-purple:#9a58e7;
  --brand-purple-deep:#6d43a2;
  --brand-lilac:#f1e8fb;
  --brand-line:#eadcf3;
  --brand-text:#3e3348;
  background:#faf7fc;
  color:var(--brand-text);
}
.admin-body .admin-content{
  background:
    radial-gradient(circle at 100% 0,rgba(222,191,255,.18),transparent 27%),
    linear-gradient(145deg,#fffafd 0%,#fbf8ff 48%,#fff 100%);
}
.admin-body .btn{border-radius:9px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}
.admin-body .btn:hover{transform:translateY(-1px)}
.admin-body .btn.primary,
.admin-body .btn.success{
  border:0;
  background:linear-gradient(105deg,var(--brand-pink),var(--brand-purple));
  color:#fff;
  box-shadow:0 7px 17px rgba(145,78,201,.2);
}
.admin-body .btn.primary:hover,
.admin-body .btn.success:hover{box-shadow:0 10px 22px rgba(145,78,201,.28);filter:saturate(1.06)}
.admin-body .btn.ghost{border-color:#dfcfea;color:#70597f;background:rgba(255,255,255,.9)}
.admin-body .btn.ghost:hover{border-color:#b984dc;background:#fbf4ff;color:#8c4fbd}
.admin-body .btn.danger,.admin-body .btn.danger-soft{background:linear-gradient(105deg,#ff7ea9,#ef5e86);border:0;color:#fff}
.admin-body .btn.danger-outline{border-color:#f4a5c1;color:#dc5685;background:#fff7fb}
.admin-body .btn.warning-outline{border-color:#d8b9ec;color:#8c57b0;background:#fbf6ff}
.admin-body .link-btn{color:#9856d8}.admin-body .link-btn.red{color:#ef5e86}
.admin-body input:not([type="checkbox"]):not([type="radio"]),
.admin-body textarea,
.admin-body select{
  border-color:#e2d5eb;
  border-radius:8px;
  background:rgba(255,255,255,.94);
  color:#44384e;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.admin-body input:not([type="checkbox"]):not([type="radio"]):focus,
.admin-body textarea:focus,
.admin-body select:focus{
  outline:none;
  border-color:#b36bdc!important;
  background:#fff;
  box-shadow:0 0 0 3px rgba(165,88,218,.1);
}
.admin-body input[type="checkbox"],.admin-body input[type="radio"]{accent-color:var(--brand-purple)}

/* 左侧导航 */
.admin-body .side-nav{
  background:linear-gradient(180deg,#3a2452 0%,#5d347b 48%,#38244f 100%);
  color:#fff8fd;
  box-shadow:8px 0 28px rgba(58,36,82,.16);
}
.admin-body .side-nav:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 4%,rgba(255,116,192,.24),transparent 18%);
}
.admin-body .brand-side-logo{position:relative;height:82px}
.admin-body .brand-side-logo img{
  width:50px;height:50px;object-fit:contain;border:0;border-radius:15px;
  background:rgba(255,255,255,.1);padding:3px;
  filter:drop-shadow(0 7px 12px rgba(31,12,45,.25));
}
.admin-body .side-item{position:relative;color:#f9efff;border-left-color:transparent;transition:.18s}
.admin-body .side-item:hover{background:rgba(255,255,255,.09);border-left-color:rgba(255,169,221,.7)}
.admin-body .side-item.active{
  background:linear-gradient(90deg,rgba(239,92,174,.86),rgba(154,88,231,.86));
  border-left-color:#ffd4ed;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(47,18,70,.2);
}
.admin-body .side-item i{text-shadow:0 3px 7px rgba(31,13,43,.25)}

/* 访客列表 */
.admin-body .visitor-panel{
  background:linear-gradient(180deg,#fffafd 0%,#f8f2fc 100%);
  border-right-color:#e8dced;
  box-shadow:8px 0 24px rgba(101,65,129,.06);
}
.admin-body .visitor-search{border-bottom-color:#eadff0;background:rgba(255,255,255,.68)}
.admin-body .visitor-search input{border-color:#dfd0e8!important;border-radius:8px 0 0 8px!important}
.admin-body .visitor-search button{border-color:#dfd0e8;border-radius:0 8px 8px 0;background:#fbf5ff;color:#8855a8}
.admin-body .visitor-tabs{border-bottom-color:#e8dced;background:rgba(255,255,255,.55)}
.admin-body .visitor-tabs button{background:transparent;color:#74647e}
.admin-body .visitor-tabs button.active{color:#9b51d0;font-weight:600}
.admin-body .visitor-tabs button.active:after{height:3px;border-radius:4px;background:linear-gradient(90deg,var(--brand-pink),var(--brand-purple))}
.admin-body .visitor-tabs b,.admin-body .unread-dot{background:linear-gradient(135deg,#ff77aa,#ec5d96);box-shadow:0 3px 8px rgba(230,77,137,.25)}
.admin-body .visitor-row{background:transparent;border-bottom-color:#eadff0}
.admin-body .visitor-row:hover,.admin-body .visitor-row.selected{background:linear-gradient(90deg,#fff0f8,#f1e7fb)}
.admin-body .visitor-row.selected:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:4px;background:linear-gradient(var(--brand-pink),var(--brand-purple))}
.admin-body .visitor-placeholder{background:linear-gradient(145deg,#ead7f5,#dcbce9);color:#9b6bad}
.admin-body .visitor-meta b{color:#45364d}

/* 消息工作台 */
.admin-body .chat-empty{color:#7d6d86}
.admin-body .chat-logo{width:112px;height:112px;font-size:0;line-height:normal;display:flex;align-items:center;justify-content:center;border-radius:34px;background:rgba(255,255,255,.72);box-shadow:0 18px 45px rgba(111,68,145,.12)}
.admin-body .chat-logo img{width:102px;height:102px;display:block;filter:drop-shadow(0 12px 14px rgba(122,70,166,.15))}
.admin-body .chat-empty p{color:#65546f;font-weight:500}
.admin-body .chat-header{background:rgba(255,255,255,.88);border-bottom-color:#eaddf0;box-shadow:0 5px 18px rgba(94,57,119,.04)}
.admin-body .chat-header b{color:#4a3953}.admin-body .chat-header span{color:#9a879f}
.admin-body .chat-messages{
  background:
    radial-gradient(circle at 88% 10%,rgba(233,200,255,.32),transparent 26%),
    radial-gradient(circle at 10% 92%,rgba(255,205,231,.3),transparent 24%),
    #f9f5fb;
}
.admin-body .admin-msg>div{border:1px solid #eee4f3;border-radius:13px;box-shadow:0 5px 15px rgba(86,53,105,.07)}
.admin-body .admin-msg.mine>div{border:0;background:linear-gradient(105deg,#ee6eb8,#a561e2);color:#fff;box-shadow:0 8px 18px rgba(153,83,202,.19)}
.admin-body .quick-strip{border-top-color:#eadff0;background:rgba(255,255,255,.9)}
.admin-body .quick-chip{border-color:#ddc9e9;background:#fff8fc;color:#84539f;transition:.18s}
.admin-body .quick-chip:hover{border-color:#bd86dc;background:#f5e9fb;color:#8f4ec0}
.admin-body .chat-composer{border-top-color:#eadff0;background:#fff}
.admin-body .chat-composer textarea{background:#fbf8fd;border:1px solid #e3d7eb!important;border-radius:12px;padding:12px}

/* 弹窗 */
.admin-body .modal-mask{background:rgba(55,35,68,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.admin-body .modal{border-radius:18px;border:1px solid rgba(255,255,255,.9);box-shadow:0 28px 80px rgba(67,40,84,.25);overflow:hidden}
.admin-body .modal:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--brand-pink),var(--brand-purple))}
.admin-body .modal h2{color:#46384e;font-weight:700}
.admin-body .modal-x{color:#a894b2;border-radius:50%}.admin-body .modal-x:hover{background:#f7edf9;color:#8c51b0}
.admin-body .announcement-text{color:#e25886}
.admin-body .qr-help{background:linear-gradient(145deg,#fff8fc,#f6effb);border-color:#eadcf2}
.admin-body .qr-help>b{color:#9a53ce}
.admin-body .status-normal{color:#9b55d3}.admin-body .status-paused{color:#c178c5}

/* 页面、表格、复制页 */
.admin-body .page-section{background:transparent}
.admin-body .toolbar h2{color:#4b3b54}
.admin-body .table-wrap{background:rgba(255,255,255,.86);border:1px solid #eee4f3;border-radius:12px;box-shadow:0 8px 25px rgba(93,58,117,.055);overflow:auto}
.admin-body .data-table th{background:linear-gradient(180deg,#fffafd,#faf5fd);color:#796381;border-bottom-color:#eadff0}
.admin-body .data-table td{color:#55445d;border-bottom-color:#eee5f3}
.admin-body .data-table tbody tr:hover{background:#fff7fc}
.admin-body .sort-input{border-color:#dfd2e8}
.admin-body .switch{background:#ded5e5;box-shadow:inset 0 0 0 1px rgba(111,72,132,.05)}
.admin-body .switch.on{background:linear-gradient(105deg,var(--brand-pink),var(--brand-purple));box-shadow:0 5px 12px rgba(153,83,202,.2)}
.admin-body .info-banner{background:linear-gradient(100deg,#fff1f8,#f3eafa);border:1px solid #ead8f2;color:#59445f}
.admin-body .page-gray{background:linear-gradient(145deg,#fff8fc,#f2eafa)}
.admin-body .copy-card{border:1px solid #eadcf2;border-radius:16px;box-shadow:0 20px 50px rgba(88,52,112,.1)}
.admin-body .copy-card h2{color:#4c3955}.admin-body .copy-card hr{border-top-color:#eadcf1}
.admin-body .check-grid{color:#9859ca}
.admin-body .toast{background:linear-gradient(105deg,#5f397c,#9a58e7);border-radius:10px;box-shadow:0 12px 28px rgba(74,43,92,.22)}

/* 统计 */
.admin-body .stats-page{background:transparent}
.admin-body .stat-card{border-color:#eadff0;border-radius:14px;box-shadow:0 12px 35px rgba(89,53,111,.08);overflow:hidden}
.admin-body .stat-card h3{position:relative;background:linear-gradient(100deg,#fff5fb,#f6effc);border-bottom-color:#eadff0;color:#513d5a}
.admin-body .stat-card h3:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--brand-pink),var(--brand-purple))}
.admin-body .stat-card h3 small{color:#db5f91}

/* 设置 */
.admin-body .settings-page{background:transparent}
.admin-body .setting-line>label:first-child,.admin-body .filter-item>span{color:#705f78}
.admin-body .settings-avatar,.admin-body .background-preview{border-color:#ddcae8;border-radius:12px;box-shadow:0 8px 20px rgba(90,52,113,.08)}
.admin-body .section-divider{color:#5c4564}.admin-body .section-divider:before,.admin-body .section-divider:after{background:#e7d8ef}
.admin-body .save-bar{background:rgba(255,250,253,.92);border-top-color:#eadff0;backdrop-filter:blur(8px)}

/* 访客 H5 同步品牌色 */
.visitor-body{
  background:
    radial-gradient(circle at 12% 10%,rgba(255,195,226,.5),transparent 28%),
    radial-gradient(circle at 90% 88%,rgba(201,173,255,.44),transparent 30%),
    #f3edf7;
}
.visitor-body .visitor-app{background-color:#faf6fc;box-shadow:0 0 40px rgba(77,45,96,.13)}
.visitor-body .visitor-header{background:linear-gradient(105deg,#ee5fae,#9a58e7);box-shadow:0 8px 20px rgba(126,65,164,.18)}
.visitor-body .visitor-marquee{background:#fff2f8;color:#9b4d75;border-bottom:1px solid #f2dce8}
.visitor-body .visitor-chat{background:linear-gradient(145deg,rgba(255,250,253,.85),rgba(246,239,251,.84))}
.visitor-body .visitor-message>div{border:1px solid #eee2f3;border-radius:13px;box-shadow:0 5px 14px rgba(80,47,100,.07)}
.visitor-body .visitor-message.mine>div{border:0;background:linear-gradient(105deg,#ef6bb4,#a660e1);color:#fff;box-shadow:0 8px 17px rgba(143,76,193,.2)}
.visitor-body .visitor-composer{border-top-color:#eadcf0}
.visitor-body .visitor-composer input{border-color:#decce8;border-radius:10px}
.visitor-body .visitor-composer input:focus{border-color:#b16bd8;box-shadow:0 0 0 3px rgba(166,92,218,.1)}
.visitor-body .visitor-composer button,.visitor-body .question-card button:last-child{background:linear-gradient(105deg,#ee5fae,#9a58e7);border-color:transparent;box-shadow:0 7px 15px rgba(145,76,194,.2)}
.visitor-body .question-card{border-radius:18px;box-shadow:0 25px 70px rgba(60,35,73,.25)}
.visitor-body .question-card h3{color:#513c5b}

/* =========================================================
   飞享天马 V0.4：核心设置、二维码与验证码
   ========================================================= */
.btn.success-outline{border-color:#b88be0;color:#8d4fc1;background:#fff}
.btn.success-outline:hover{background:#f7edfc;border-color:#a864d5}
.qr-type-line{text-align:center;color:#7c6686;margin:4px 0!important}
.qr-type-line strong{color:#9a58e7}
.qr-box{position:relative;background:#fff;border-radius:12px;padding:5px;box-shadow:0 10px 28px rgba(88,52,112,.10)}
.qr-box>img:not(.qr-center-avatar),.qr-box>canvas{display:block!important}
.qr-center-avatar{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:38px!important;height:38px!important;object-fit:cover!important;border-radius:9px!important;background:#fff!important;padding:3px!important;border:2px solid #fff!important;box-shadow:0 2px 8px rgba(60,35,75,.18)!important;z-index:5!important}
.qr-actions{flex-wrap:wrap;gap:10px}

.status-pill{display:inline-flex;align-items:center;min-width:58px;height:26px;padding:0 10px;border-radius:14px;font-size:12px}
.status-pill.enabled{background:#f0e4fb;color:#8d4fc1}
.status-pill.disabled{background:#f2f2f4;color:#8a8790}
.setting-help{display:block;margin-top:7px;color:#a091a8;font-size:12px;line-height:1.5}
.auto-radio{opacity:.82}
.auto-radio input:disabled{cursor:not-allowed}
.autosave-bar{position:sticky;bottom:0;z-index:20;margin:20px 0 0;padding:13px 18px;display:flex;align-items:center;justify-content:center;gap:9px;background:rgba(255,250,253,.94);border-top:1px solid #eadff0;backdrop-filter:blur(10px);color:#8d7b96}
.autosave-dot{width:8px;height:8px;border-radius:50%;background:#b9adbF;box-shadow:0 0 0 4px rgba(185,173,191,.14)}
.autosave-bar.pending .autosave-dot{background:#d48bb8;box-shadow:0 0 0 4px rgba(212,139,184,.15)}
.autosave-bar.saving .autosave-dot{background:#9a58e7;animation:autoSavePulse 1s infinite}
.autosave-bar.saved{color:#7f4ca8}.autosave-bar.saved .autosave-dot{background:#9a58e7;box-shadow:0 0 0 4px rgba(154,88,231,.14)}
.autosave-bar.error{color:#d65776}.autosave-bar.error .autosave-dot{background:#e65d7d;box-shadow:0 0 0 4px rgba(230,93,125,.14)}
@keyframes autoSavePulse{0%,100%{transform:scale(1);opacity:.75}50%{transform:scale(1.45);opacity:1}}

.visitor-composer input:disabled,.visitor-composer button:disabled{opacity:.55;cursor:not-allowed}
.visitor-message-link{color:#8c4bc0;text-decoration:underline;word-break:break-all}
.visitor-message.mine .visitor-message-link{color:#fff}
.captcha-card{width:min(100%,430px);padding:26px}
.captcha-card>#captchaContent{display:block}
.captcha-note{min-height:0!important;margin:0 0 18px!important;color:#786b80;font-size:14px!important}
.captcha-feedback{min-height:22px!important;margin:14px 0 0!important;color:#d9577c;font-size:13px!important}
.captcha-code-display{height:74px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#fff0f8,#efe5fb);border:1px dashed #c890e0;color:#70408e;font-size:32px;font-weight:800;letter-spacing:9px;text-indent:9px;text-shadow:1px 1px #fff;user-select:none;transform:skew(-3deg)}
.captcha-input-row{display:flex!important;gap:10px;margin-top:16px}
.captcha-input-row input{flex:1;min-width:0;height:44px;border:1px solid #decce8;border-radius:10px;padding:0 12px;outline:none}
.captcha-input-row input:focus{border-color:#ae65d8;box-shadow:0 0 0 3px rgba(166,92,218,.1)}
.captcha-input-row button{flex:0 0 88px!important;background:linear-gradient(105deg,#ee5fae,#9a58e7)!important;color:#fff!important;border:0!important}
.captcha-slider-wrap{padding:12px 4px}
.captcha-slider-wrap input{width:100%;accent-color:#a45bdd}
.captcha-slider-label{margin-top:12px;color:#806d89;font-size:13px}
.captcha-target{min-height:0!important;margin:0 0 14px!important;font-size:15px!important;color:#6e5b78}
.captcha-target b{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#f2e6fb;color:#8d4fc1;font-size:24px}
.captcha-options{display:grid!important;grid-template-columns:repeat(4,1fr);gap:10px}
.captcha-options button{height:58px!important;font-size:25px;background:#fff!important;color:#6b5576!important;border:1px solid #dfcfea!important;box-shadow:0 5px 12px rgba(88,52,112,.06)}
.captcha-options button:hover{background:#f8eefc!important;border-color:#bd83da!important}
.captcha-question-count{min-height:0!important;margin:0 0 5px!important;color:#aa78c7;font-size:12px!important}
.captcha-question-text{margin:0 0 20px!important;min-height:70px!important}
.captcha-question-actions{display:flex!important;gap:12px}
.captcha-question-actions .yes{background:linear-gradient(105deg,#ee5fae,#9a58e7)!important;color:#fff!important;border:0!important}
.captcha-question-actions .no{background:#fff!important;color:#7b6c82!important;border:1px solid #ddd1e5!important}

@media(max-width:800px){
  .autosave-bar{margin-left:-18px;margin-right:-18px}
  .setting-line{align-items:flex-start;flex-wrap:wrap;padding:8px 0}
  .setting-line>label:first-child{text-align:left;width:100%}
  .qr-center-avatar{width:36px!important;height:36px!important}
}

/* V0.5 自动保存状态与多媒体回复 */
.autosave-bar{
  position:fixed!important;
  right:24px;
  bottom:20px;
  z-index:2200!important;
  width:auto;
  max-width:min(350px,calc(100vw - 96px));
  min-height:48px;
  margin:0!important;
  padding:9px 12px!important;
  display:flex;
  align-items:center;
  justify-content:flex-start!important;
  gap:9px!important;
  border:1px solid #e4d8e9!important;
  border-radius:13px;
  background:rgba(255,255,255,.97);
  box-shadow:0 10px 28px rgba(65,39,78,.14);
  color:#5f4c68!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(12px) scale(.98);
  backdrop-filter:blur(12px);
  transition:opacity .2s ease,visibility .2s ease,transform .2s ease,border-color .2s,box-shadow .2s;
}
.autosave-bar.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}
.autosave-bar .autosave-icon{
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:900;
  background:#f3eafa;
  color:#9557b5;
}
.autosave-copy{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}
.autosave-text{font-size:13px;line-height:1.3;color:inherit;white-space:nowrap}
.autosave-detail{max-width:270px;font-size:11px;line-height:1.35;color:#927f99;white-space:normal}
.autosave-bar.pending{border-color:#ead8b1!important}
.autosave-bar.pending .autosave-icon{background:#fff6df;color:#b57a18}
.autosave-bar.saving{border-color:#d9c6e6!important}
.autosave-bar.saving .autosave-icon{background:#f1e7f8;color:#9557b5;animation:autoSaveSpin 1s linear infinite}
.autosave-bar.saved{border-color:#cce9d8!important}
.autosave-bar.saved .autosave-icon{background:#eaf8f0;color:#2e9960}
.autosave-bar.error{border-color:#f0c9d0!important;box-shadow:0 10px 28px rgba(190,54,79,.14)}
.autosave-bar.error .autosave-icon{background:#fff0f3;color:#d14964}
@keyframes autoSaveSpin{to{transform:rotate(360deg)}}

.item-modal select{
  min-height:40px;
  border:1px solid #d7dee8;
  border-radius:7px;
  padding:8px 10px;
  outline:none;
  background:#fff;
}
.item-modal input:focus,.item-modal textarea:focus,.item-modal select:focus{border-color:#b46bd6;box-shadow:0 0 0 3px rgba(180,107,214,.12)}
.item-modal small{font-size:12px;color:#93859d;line-height:1.5}
.media-field{padding:12px;border:1px dashed #d8b8e4;border-radius:10px;background:#fcf8ff}
.media-field input[type=file]{padding:8px;background:#fff}
.media-upload-help{font-size:12px;color:#8b6b98}
.item-media-editor-preview{display:flex;align-items:center;justify-content:center;min-height:72px;padding:9px;border-radius:9px;background:#fff;border:1px solid #eadcf0;overflow:hidden}
.item-media-editor-preview img,.item-media-editor-preview video{display:block;max-width:100%;max-height:210px;border-radius:8px}
.item-media-editor-preview audio{width:100%}
.item-media-editor-preview a{color:#9651be;text-decoration:underline}
.item-media-preview{display:flex;align-items:center;gap:12px;min-width:220px}
.item-media-preview img,.item-media-preview video{width:72px;height:58px;object-fit:cover;border-radius:8px;border:1px solid #eadff0;background:#f5edf9}
.item-media-preview.compact{min-width:180px}
.item-media-preview p,.smart-answer-preview p{margin:5px 0 0;line-height:1.5;color:#5d5363;white-space:pre-wrap}
.item-text-preview{max-width:520px;line-height:1.6;white-space:normal;word-break:break-word}
.media-type-badge{display:inline-flex;padding:2px 8px;border-radius:999px;background:#f2e5fa;color:#8a46b2;font-size:12px;font-weight:700}
.media-file-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#f2d5ec,#dac5f4);display:flex;align-items:center;justify-content:center;color:#8e45b4;font-size:22px}
.smart-answer-preview>b{display:inline-block;margin-bottom:9px;color:#853eae}

.message-media{display:flex;flex-direction:column;gap:8px;max-width:100%}
.chat-media-image,.chat-media-video{display:block;max-width:min(320px,100%);max-height:320px;border-radius:10px;object-fit:contain;background:#111}
.chat-media-audio{display:block;width:min(300px,72vw);max-width:100%}
.chat-media-file{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:9px;background:rgba(139,76,181,.12);color:#8344ac;text-decoration:none;font-weight:700}
.admin-msg.mine .chat-media-file,.visitor-message.mine .chat-media-file{background:rgba(255,255,255,.18);color:#fff}
.message-caption{line-height:1.55;word-break:break-word}
.admin-msg>div:has(.message-media),.visitor-message>div:has(.message-media){padding:8px}

@media(max-width:800px){
  .autosave-bar{right:12px;bottom:12px;width:calc(100vw - 80px);min-width:0}
  .chat-media-image,.chat-media-video{max-width:min(260px,70vw);max-height:280px}
}
.autosave-bar.error{cursor:pointer}

/* =========================================================
   飞享天马 V0.6：背景图、媒体弹窗、卡密后台、数据后台
   ========================================================= */
.platform-entry-link{display:block;margin-top:18px;text-align:center;color:#8d5bb2;font-size:13px;text-decoration:none}.platform-entry-link:hover{color:#d2559a;text-decoration:underline}

/* 聊天背景完整预览与实际生效 */
.background-preview{width:260px!important;height:156px!important;display:flex;align-items:center;justify-content:center;background:#f8f4fb!important;background-image:none!important;overflow:hidden;border-radius:14px!important}
.background-preview img{display:block;width:100%;height:100%;object-fit:contain;background:#f4eef8}
.background-preview span{color:#a391aa;font-size:13px}
.visitor-body .visitor-app{background-image:linear-gradient(rgba(255,255,255,.52),rgba(255,255,255,.52)),var(--visitor-bg-image)!important;background-size:cover!important;background-position:center!important}
.visitor-body .visitor-chat{background-image:linear-gradient(145deg,rgba(255,250,253,.62),rgba(246,239,251,.58)),var(--visitor-bg-image)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}

/* 打招呼/智能回复弹窗永不溢出，底部保存按钮固定可见 */
.admin-body .modal-mask,.platform-body .modal-mask{padding:20px;overflow-y:auto;align-items:center}
.item-modal{width:min(560px,calc(100vw - 36px))!important;max-height:calc(100vh - 40px);padding:20px 20px 0!important;display:flex;flex-direction:column;overflow:hidden!important}
.item-modal h2{flex:0 0 auto;margin-bottom:16px!important}
.item-modal form{display:flex!important;flex-direction:column!important;min-height:0;gap:0!important;overflow:hidden}
.item-modal-scroll{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:2px 6px 16px 2px}
.item-modal-scroll>label{display:flex;flex-direction:column;gap:7px}
.item-modal-actions{position:relative;flex:0 0 auto;margin:0 -20px!important;padding:14px 20px 16px;background:#fff;border-top:1px solid #eee4f3;box-shadow:0 -8px 20px rgba(78,44,98,.06)}
.item-media-editor-preview{max-height:190px;min-height:70px}
.item-media-editor-preview img,.item-media-editor-preview video{max-height:170px!important;object-fit:contain}
.media-field{flex:0 0 auto}
.autoplay-tip{display:block;margin-top:5px;color:#8f7b98;font-size:11px;line-height:1.4}
.qr-removed-empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #decbe8;border-radius:12px;color:#8d5cad;background:#faf6fc;text-align:center}.qr-removed-empty span{font-size:12px;color:#a692ad}
.status-removed{color:#9a8ca1}.qr-state{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:12px}.qr-normal{background:#e9f8ef;color:#16884a}.qr-paused{background:#fff3dd;color:#b77308}.qr-closed,.qr-removed{background:#f5edf5;color:#9a6c9a}
.storage-status{display:flex;align-items:center;gap:14px;margin:16px 28px;padding:13px 16px;border-radius:12px;font-size:13px}.storage-status b{white-space:nowrap}.storage-status span{line-height:1.5}.storage-status.ready{background:#eaf8f1;border:1px solid #bce8d0;color:#18714a}.storage-status.warning{background:#fff4df;border:1px solid #f1d391;color:#9a6100}
.ua-cell{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-cell{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expired-tag{display:inline-flex;margin-left:6px;padding:2px 6px;border-radius:8px;background:#ffe6ed;color:#d6416b;font-size:11px;font-style:normal}

/* 平台后台登录 */
.platform-login-page{min-height:100vh;margin:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 18% 12%,rgba(255,185,224,.55),transparent 28%),radial-gradient(circle at 84% 86%,rgba(195,161,255,.5),transparent 30%),linear-gradient(135deg,#f9eff8,#eee5fb)}
.platform-login-card{width:min(430px,100%);padding:34px 36px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 28px 80px rgba(86,48,105,.2);text-align:center}.platform-login-card>img{width:76px;height:76px}.platform-login-card h1{margin:12px 0 5px;color:#50385d}.platform-login-card>p{margin:0 0 24px;color:#9a86a2}.platform-login-card>a{display:inline-block;margin-top:18px;color:#8e58b4;text-decoration:none}.platform-login-form{display:flex;flex-direction:column;gap:15px;text-align:left}.platform-login-form label{display:flex;flex-direction:column;gap:7px;color:#6e5978;font-size:13px}.platform-login-form input{height:44px;border:1px solid #dfcee8;border-radius:11px;padding:0 13px;outline:none}.platform-login-form input:focus{border-color:#ad66d7;box-shadow:0 0 0 3px rgba(173,102,215,.12)}

/* 平台后台布局 */
.platform-body{margin:0;min-height:100vh;background:#f7f3f9;color:#4e3d56}.platform-sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;background:linear-gradient(180deg,#3c2051,#6d3478 56%,#a44f91);color:#fff;display:flex;flex-direction:column;z-index:1000;box-shadow:8px 0 30px rgba(57,28,73,.14)}.platform-brand{height:88px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.13)}.platform-brand img{width:46px;height:46px;border-radius:13px;background:#fff;padding:3px}.platform-brand b{display:block;font-size:17px}.platform-brand span{display:block;margin-top:4px;font-size:11px;opacity:.72}.platform-sidebar nav{display:flex;flex-direction:column;padding:18px 12px;gap:7px}.platform-sidebar nav a{height:44px;display:flex;align-items:center;padding:0 16px;border-radius:11px;color:rgba(255,255,255,.78);text-decoration:none;transition:.18s}.platform-sidebar nav a:hover,.platform-sidebar nav a.active{background:rgba(255,255,255,.16);color:#fff;box-shadow:inset 3px 0 #ffc8e5}.platform-logout{margin:auto 16px 20px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;text-decoration:none}.platform-main{margin-left:220px;min-height:100vh;padding:0 26px 42px}.platform-top{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eadff0}.platform-top h1{margin:0;color:#493653;font-size:23px}.platform-top p{margin:6px 0 0;color:#9a879f;font-size:12px}.platform-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.platform-stats article{padding:18px 20px;background:#fff;border:1px solid #eee3f3;border-radius:16px;box-shadow:0 10px 30px rgba(77,43,96,.06)}.platform-stats span{display:block;color:#94829b;font-size:13px}.platform-stats b{display:block;margin-top:9px;color:#68427c;font-size:28px}.platform-storage{margin:0 0 18px}.platform-panel{background:#fff;border:1px solid #eee3f3;border-radius:17px;padding:18px;box-shadow:0 14px 38px rgba(74,40,92,.06)}.platform-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:15px;flex-wrap:wrap}.platform-toolbar input,.platform-toolbar select{height:38px;border:1px solid #ddcfe5;border-radius:9px;padding:0 12px;outline:none;background:#fff}.platform-toolbar input{min-width:260px}.platform-table{min-width:1120px}.platform-table td{vertical-align:middle}.mini-copy{margin-left:6px;border:0;background:#f2e5fa;color:#8a50ad;border-radius:7px;padding:3px 7px;font-size:11px;cursor:pointer}.platform-modal{width:min(520px,calc(100vw - 36px));max-height:calc(100vh - 40px);overflow-y:auto!important}.platform-modal.small{width:min(430px,calc(100vw - 36px))}.platform-modal form{display:flex;flex-direction:column;gap:13px}.platform-modal form>label{display:flex;flex-direction:column;gap:7px;color:#6d5876;font-size:13px}.platform-modal input,.platform-modal select,.platform-modal textarea{border:1px solid #dacbe3;border-radius:9px;padding:10px 11px;outline:none;background:#fff}.platform-modal input:focus,.platform-modal select:focus,.platform-modal textarea:focus{border-color:#ab63d3;box-shadow:0 0 0 3px rgba(171,99,211,.1)}.generated-card-output{width:100%;height:170px;margin-top:14px;border:1px solid #d7c3e2;border-radius:10px;padding:12px;resize:vertical;font-family:Consolas,monospace}.security-panel{max-width:620px}.security-panel h2{margin-top:0}.security-panel form{display:flex;flex-direction:column;gap:14px}.security-panel label{display:flex;flex-direction:column;gap:7px}.security-panel input{height:42px;border:1px solid #dacbe3;border-radius:9px;padding:0 12px}.security-panel .btn{align-self:flex-start}

@media(max-width:1050px){.settings-columns{padding-left:35px!important;padding-right:35px!important;gap:35px!important}.filter-grid{padding-left:35px!important;padding-right:35px!important}.platform-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.platform-sidebar{position:relative;width:100%;height:auto}.platform-brand{height:72px}.platform-sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);padding:10px}.platform-sidebar nav a{justify-content:center;padding:0 5px;font-size:12px}.platform-logout{display:none}.platform-main{margin-left:0;padding:0 12px 30px}.platform-top{height:auto;padding:16px 4px;gap:12px}.platform-stats{grid-template-columns:repeat(2,1fr);gap:10px}.platform-stats article{padding:14px}.platform-panel{padding:12px}.platform-toolbar input{min-width:0;width:100%}.storage-status{margin:12px 0;align-items:flex-start;flex-direction:column;gap:5px}.background-preview{width:min(280px,80vw)!important}.item-modal{max-height:calc(100vh - 20px)}.admin-body .modal-mask,.platform-body .modal-mask{padding:10px}}

/* =========================================================
   飞享天马 V0.7：独立窗口、智能菜单、访客工具、背景修复
   ========================================================= */
.visitor-body .visitor-app{background-image:none!important;background:#faf6fc!important}
.visitor-body .visitor-chat{
  position:relative;
  background-color:#f8f1fb!important;
  background-image:linear-gradient(rgba(255,255,255,.20),rgba(255,255,255,.20)),var(--visitor-bg-image)!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.background-preview{background:#f6eff9!important}
.background-preview img{width:100%!important;height:100%!important;object-fit:contain!important}

.smart-question-menu{margin:16px 0 8px;padding:14px;border:1px solid rgba(196,139,220,.42);border-radius:16px;background:rgba(255,255,255,.93);box-shadow:0 10px 28px rgba(91,50,112,.10);backdrop-filter:blur(8px)}
.smart-question-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;color:#5e416c}
.smart-question-heading b{font-size:15px}
.smart-question-heading span{font-size:12px;color:#9c83a7}
.smart-question-options{display:flex;flex-direction:column;gap:8px}
.smart-answer-option{width:100%;min-height:46px;border:1px solid #ead9f1;border-radius:12px;background:linear-gradient(90deg,#fff9fd,#f8f2fc);display:grid;grid-template-columns:30px 1fr 20px;align-items:center;gap:8px;padding:7px 10px;text-align:left;color:#674a75;cursor:pointer;transition:.18s}
.smart-answer-option>span{width:26px;height:26px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef73b7,#a866dc);color:#fff;font-weight:700;font-size:12px}
.smart-answer-option>b{font-size:14px;line-height:1.35;font-weight:600}
.smart-answer-option>i{font-style:normal;color:#b18abf;font-size:22px;text-align:right}
.smart-answer-option:hover{transform:translateY(-1px);border-color:#d7ace8;box-shadow:0 8px 16px rgba(123,68,151,.10)}
.smart-answer-option:disabled{opacity:.62;cursor:wait;transform:none}

.visitor-composer{height:64px!important;align-items:center;padding:8px!important;gap:7px!important}
.visitor-composer-icon{flex:0 0 38px!important;width:38px!important;height:38px!important;border:1px solid #decce8!important;border-radius:11px!important;background:#fff!important;color:#8e57ad!important;font-size:24px!important;line-height:1!important;padding:0!important}
.visitor-composer-icon.emoji{font-size:21px!important}
.visitor-composer-icon:disabled{opacity:.45}
.visitor-composer input{min-width:0;height:40px}
.visitor-composer>button[type=submit]{flex:0 0 66px;width:66px!important;height:40px;background:linear-gradient(105deg,#ee5fae,#9a58e7)!important}
.visitor-extra-panel,.visitor-emoji-panel{background:rgba(255,255,255,.98);border-top:1px solid #eadcf0;padding:12px;box-shadow:0 -8px 20px rgba(85,47,103,.07)}
.visitor-extra-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.visitor-extra-action{min-height:68px;border:1px solid #eadcf0;border-radius:13px;background:#fbf7fd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#694a77;cursor:pointer;font:inherit}
.visitor-extra-action span{font-size:24px}.visitor-extra-action b{font-size:12px}.visitor-extra-action:hover{border-color:#d2a8e3;background:#f8eefc}
.visitor-emoji-panel{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;max-height:142px;overflow-y:auto}
.visitor-emoji-panel button{height:34px;border:0;border-radius:8px;background:#faf5fc;font-size:20px;cursor:pointer}.visitor-emoji-panel button:hover{background:#f1e3f7}
.visitor-extra-panel.hidden,.visitor-emoji-panel.hidden{display:none!important}

.visitor-cleanup-box{margin:18px 125px 8px;padding:18px 20px;border:1px solid #ead8ef;border-radius:15px;background:linear-gradient(120deg,#fffafd,#f8f1fc);display:flex;align-items:center;justify-content:space-between;gap:20px}
.visitor-cleanup-box b{color:#63456f}.visitor-cleanup-box p{margin:6px 0 0;color:#9a879f;font-size:12px;line-height:1.55}
.visitor-cleanup-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.smart-answer-preview{display:flex;flex-direction:column;align-items:flex-start}.smart-answer-preview>small{margin:-4px 0 8px;color:#9d81aa}

@media(max-width:1050px){.visitor-cleanup-box{margin-left:35px;margin-right:35px}}
@media(max-width:620px){
  .visitor-emoji-panel{grid-template-columns:repeat(6,1fr)}
  .visitor-cleanup-box{margin:14px 12px;align-items:flex-start;flex-direction:column}
  .visitor-cleanup-actions{justify-content:flex-start}
  .smart-question-menu{margin:12px 0 6px;padding:12px}
}
.admin-message-link{color:#8b45b0;text-decoration:underline;word-break:break-all}.admin-msg.mine .admin-message-link{color:#fff}
.admin-message-link{color:#8b45b0;text-decoration:underline;word-break:break-all}.admin-msg.mine .admin-message-link{color:#fff}


/* =========================================================
   飞享天马 V0.8：聊天背景路径修复 + 访客窗口固定布局
   ========================================================= */
html.visitor-html,html.visitor-html body{width:100%;height:100%;min-height:0;overflow:hidden}
html.visitor-html body.visitor-body{height:100vh;height:100dvh;min-height:0;overflow:hidden;align-items:stretch}
.visitor-body .visitor-app{
  width:min(100%,560px);
  height:100vh;
  height:100dvh;
  min-height:0!important;
  max-height:100vh;
  max-height:100dvh;
  overflow:hidden;
  flex:0 1 560px;
}
.visitor-body .visitor-header{flex:0 0 68px;position:relative;z-index:5}
.visitor-body .visitor-marquee{flex:0 0 32px;position:relative;z-index:4}
.visitor-body .visitor-chat{
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow-y:auto!important;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  background-size:100% 100%!important;
  background-attachment:local;
}
.visitor-body .visitor-chat.has-chat-background{background-color:#f8f1fb!important}
.visitor-body .visitor-extra-panel,.visitor-body .visitor-emoji-panel{flex:0 0 auto;position:relative;z-index:6}
.visitor-body .visitor-composer{flex:0 0 64px;position:relative;z-index:7;margin:0}
.visitor-body .question-mask{position:fixed;inset:0;z-index:100}
@supports not (height:100dvh){
  html.visitor-html body.visitor-body,.visitor-body .visitor-app{height:100%;max-height:100%}
}
@media(max-width:620px){
  .visitor-body .visitor-app{width:100%;flex-basis:100%}
}


/* =========================================================
   飞享天马 V0.9：固定聊天背景图层 + 二维码点击效果可手动选择
   ========================================================= */
.visitor-body .visitor-chat-shell{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  background:#f8f1fb;
  isolation:isolate;
}
.visitor-body .visitor-chat-background{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-color:#f8f1fb;
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  transform:translateZ(0);
}
.visitor-body .visitor-chat-shell.has-chat-background .visitor-chat-background{background-color:#f8f1fb}
.visitor-body .visitor-chat{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden;
  background:none!important;
  background-image:none!important;
  background-color:transparent!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.auto-radio input[type=radio]{cursor:pointer}

/* =========================================================
   飞享天马 V0.10：客服端多媒体发送、粘贴图片
   ========================================================= */
.admin-chat-composer{
  position:relative;
  min-height:126px;
  height:auto!important;
  padding:12px 14px!important;
  gap:10px!important;
  align-items:stretch;
  background:#fff;
}
.admin-composer-tools{
  position:relative;
  flex:0 0 42px;
  display:flex;
  align-items:flex-end;
  padding-bottom:22px;
}
.admin-media-trigger{
  width:40px;
  height:40px;
  border:1px solid #dfcce9;
  border-radius:12px;
  background:linear-gradient(145deg,#fff,#f8effc);
  color:#8f55ae;
  font-size:27px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(106,59,130,.08);
  transition:.18s;
}
.admin-media-trigger:hover{
  transform:translateY(-1px);
  border-color:#cfa5e3;
  color:#b14f9d;
  box-shadow:0 9px 18px rgba(106,59,130,.13);
}
.admin-media-menu{
  position:absolute;
  left:0;
  bottom:68px;
  z-index:30;
  width:232px;
  padding:10px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  border:1px solid #e7d8ee;
  border-radius:15px;
  background:rgba(255,255,255,.98);
  box-shadow:0 16px 36px rgba(76,40,91,.18);
}
.admin-media-menu:after{
  content:"";
  position:absolute;
  left:15px;
  bottom:-7px;
  width:12px;
  height:12px;
  background:#fff;
  border-right:1px solid #e7d8ee;
  border-bottom:1px solid #e7d8ee;
  transform:rotate(45deg);
}
.admin-media-menu button{
  min-height:64px;
  border:1px solid #eadcf0;
  border-radius:12px;
  background:linear-gradient(145deg,#fffafd,#f7f0fb);
  color:#674675;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  font:inherit;
}
.admin-media-menu button:hover{border-color:#d5afe5;background:#f6eafb}
.admin-media-menu button span{font-size:22px;color:#a257b7}
.admin-media-menu button b{font-size:12px}
.admin-composer-main{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.admin-chat-composer textarea{
  width:100%;
  min-height:78px;
  flex:1 1 auto;
  resize:none;
  border:1px solid transparent!important;
  border-radius:10px;
  padding:8px 10px!important;
  background:#fbf8fc;
  line-height:1.6;
  transition:.18s;
}
.admin-chat-composer textarea:focus{
  border-color:#d8b7e5!important;
  background:#fff;
  box-shadow:0 0 0 3px rgba(171,92,191,.08);
}
.admin-paste-hint{
  color:#aa95b2;
  font-size:11px;
  line-height:1.3;
  padding-left:3px;
}
.admin-send-button{
  flex:0 0 auto;
  min-width:76px;
  height:40px;
  align-self:flex-end!important;
  margin-bottom:22px;
}
.admin-send-button:disabled{opacity:.55;cursor:wait}
.admin-pending-media{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid #e4d2eb;
  border-radius:12px;
  background:linear-gradient(100deg,#fffafd,#f8f0fb);
}
.admin-pending-media.uploading{border-color:#d5b3e2;background:#faf3fd}
.admin-pending-preview{
  flex:0 0 52px;
  width:52px;
  height:52px;
  border-radius:10px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#efe2f4;
  color:#9858ad;
}
.admin-pending-preview img,.admin-pending-preview video{width:100%;height:100%;object-fit:cover;display:block}
.admin-pending-icon{font-size:23px;font-weight:700}
.admin-pending-info{min-width:0;display:flex;flex-direction:column;gap:5px}
.admin-pending-info b{font-size:13px;color:#654570;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-pending-info span{font-size:11px;color:#a08ca8}
.admin-pending-media>button{
  margin-left:auto;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border:0;
  border-radius:50%;
  background:#f1e3f5;
  color:#9b5aaf;
  font-size:18px;
  cursor:pointer;
}
.admin-pending-media>button:hover{background:#ead4f0;color:#7f3f93}
@media(max-width:760px){
  .admin-chat-composer{padding:10px!important;gap:7px!important}
  .admin-composer-tools{flex-basis:38px}
  .admin-media-trigger{width:36px;height:36px}
  .admin-send-button{min-width:62px}
  .admin-media-menu{width:210px}
  .admin-paste-hint{display:none}
}

/* =========================================================
   飞享天马 V0.11.2：宝塔简化正式部署版
   ========================================================= */
.side-nav-form{display:block;width:100%;margin:0;padding:0}
.side-nav-form .side-item{width:100%;font:inherit;cursor:pointer}
.inline-export-form{display:inline-flex;margin:0}
.visitor-list-empty{padding:34px 14px;text-align:center;color:#9a87a4;font-size:13px}
.visitor-state{font-size:11px;color:#97889d;white-space:nowrap}
.visitor-state.online{color:#34a66d}
.risk-cell{max-width:220px;white-space:normal;line-height:1.5;color:#88546f}
.feature-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;margin-left:6px;font-size:10px;font-weight:700;vertical-align:middle}
.feature-badge.active{background:#e9f8ef;color:#278755}
.feature-badge.pending{background:#fff3dd;color:#a46b11}
.filter-item.pending-feature{background:#faf8fb;opacity:.78}
.filter-item .switch:disabled{cursor:not-allowed;filter:grayscale(.4);opacity:.55}
.captcha-code-display.captcha-code-image{height:auto;min-height:82px;padding:6px;transform:none;text-indent:0;letter-spacing:0;background:#fbf7fd}
.captcha-code-display.captcha-code-image img{display:block;width:100%;max-width:300px;height:82px;object-fit:contain;border-radius:10px}
.smart-answer-menu{margin:4px 0 14px;padding:12px;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(228,207,237,.9);box-shadow:0 8px 22px rgba(91,52,111,.08)}
.smart-answer-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:10px;color:#6c5079}
.smart-answer-heading b{font-size:14px}.smart-answer-heading span{font-size:12px;color:#9d86a7}
.smart-answer-list{display:grid;gap:8px}
.storage-status.ready{border-left:4px solid #35a76e}.storage-status.warning{border-left:4px solid #e3a22a}
@media(max-width:760px){.feature-badge{display:block;width:max-content;margin:4px 0 0}.risk-cell{min-width:170px}}
.visitor-privacy-tip{flex:0 0 auto;text-align:center;padding:5px 8px 7px;background:#fff;color:#a18da9;font-size:10px;position:relative;z-index:8}.visitor-privacy-tip a{color:#9b55be;text-decoration:none}
.legal-body{margin:0;min-height:100vh;padding:36px 18px;background:linear-gradient(145deg,#fff1f8,#f0e8ff);font-family:"Microsoft YaHei","PingFang SC",sans-serif;color:#4f3d59}.legal-card{max-width:880px;margin:auto;background:rgba(255,255,255,.96);border:1px solid #eadbed;border-radius:24px;padding:30px 34px;box-shadow:0 24px 70px rgba(91,48,117,.14)}.legal-brand{display:flex;align-items:center;gap:16px;border-bottom:1px solid #eee2f2;padding-bottom:20px;margin-bottom:20px}.legal-brand img{width:64px;height:64px}.legal-brand h1{margin:0;font-size:26px}.legal-brand p{margin:7px 0 0;color:#9a83a3}.legal-card section{margin:20px 0}.legal-card h2{font-size:17px;color:#8a4eab}.legal-card p{line-height:1.9;color:#695a70}.legal-back{display:inline-flex;margin-top:10px;padding:10px 20px;border-radius:12px;background:linear-gradient(105deg,#ee5fae,#9a58e7);color:#fff;text-decoration:none}@media(max-width:620px){.legal-card{padding:22px 18px;border-radius:18px}.legal-brand h1{font-size:21px}}
.install-card code,.install-list code{background:#f4edf8;color:#7c4498;border-radius:6px;padding:2px 6px}.install-list{line-height:2;color:#695a70}.install-form{display:grid;gap:14px;margin:22px 0}.install-form label{display:grid;gap:8px;font-weight:700}.install-form input{height:44px;border:1px solid #dfcfe7;border-radius:11px;padding:0 13px;font:inherit}.install-message{padding:13px 16px;border-radius:12px;margin:14px 0}.install-message.success{background:#e9f8ef;color:#267b51}.install-message.error{background:#fff0f2;color:#b44357}.install-tip{padding:12px;border-radius:10px;background:#fff6df;color:#8a6419}.install-actions{display:flex;gap:12px;flex-wrap:wrap}.legal-back.secondary{background:#fff;color:#8b4dac;border:1px solid #d9bce7}

/* V0.11.2 安装检查 */
.install-check-grid{display:grid;gap:10px;margin-top:12px}.install-check-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-radius:12px;border:1px solid #e8e8ef;background:#faf9fc}.install-check-row b{font-size:14px}.install-check-row span{font-size:12px;color:#747080;text-align:right;word-break:break-all}.install-check-row.ok{border-color:#c9efd9;background:#f1fbf5}.install-check-row.ok b{color:#1d9153}.install-check-row.fail{border-color:#ffd4d4;background:#fff3f3}.install-check-row.fail b{color:#d74343}.install-form button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}@media(max-width:640px){.install-check-row{align-items:flex-start;flex-direction:column;gap:5px}.install-check-row span{text-align:left}}

/* =========================================================
   飞享天马 V0.11.3：客服后台左侧导航可读性修复
   彻底移除 button 浏览器默认白底/黑边，并增强菜单层级
   ========================================================= */
.admin-body .side-nav{
  width:72px;
  padding:0 6px 8px;
  background:linear-gradient(180deg,#3b2453 0%,#5d347b 46%,#38234f 100%);
  color:#fff;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.24) transparent;
}
.admin-body .side-nav::-webkit-scrollbar{width:4px}
.admin-body .side-nav::-webkit-scrollbar-track{background:transparent}
.admin-body .side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}
.admin-body .brand-side-logo{
  flex:0 0 78px;
  height:78px;
  margin:0 -6px 4px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.admin-body .brand-side-logo img{width:48px;height:48px}
.admin-body .side-nav-form{
  display:block;
  flex:0 0 auto;
  width:100%;
  margin:0 0 3px;
  padding:0;
}
.admin-body .side-nav-form:last-child{
  margin-top:auto;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.12);
}
.admin-body .side-nav-form .side-item{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  min-height:52px;
  margin:0;
  padding:5px 2px 6px;
  border:0;
  border-left:0;
  border-radius:11px;
  outline:0;
  background:transparent;
  box-shadow:none;
  color:rgba(255,255,255,.76);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  font:inherit;
  font-size:11px;
  font-weight:500;
  line-height:1.15;
  text-align:center;
  white-space:nowrap;
  cursor:pointer;
  transition:background .18s,color .18s,box-shadow .18s,transform .18s;
}
.admin-body .side-nav-form .side-item i{
  width:29px;
  height:25px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-style:normal;
  font-size:20px;
  line-height:1;
  color:rgba(255,255,255,.88);
  text-shadow:0 3px 8px rgba(28,10,41,.28);
}
.admin-body .side-nav-form .side-item span{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  color:inherit;
  letter-spacing:.2px;
}
.admin-body .side-nav-form .side-item:hover{
  border-left:0;
  background:rgba(255,255,255,.11);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  transform:translateY(-1px);
}
.admin-body .side-nav-form .side-item.active{
  border-left:0;
  background:linear-gradient(145deg,#ef5cae 0%,#a45bdd 62%,#8650d5 100%);
  color:#fff;
  box-shadow:0 7px 16px rgba(37,14,56,.30),inset 0 1px 0 rgba(255,255,255,.26);
}
.admin-body .side-nav-form .side-item.active i{
  color:#fff;
  filter:drop-shadow(0 2px 3px rgba(48,15,66,.2));
}
.admin-body .side-nav-form .side-item.logout{
  color:rgba(255,255,255,.72);
  background:rgba(21,10,31,.13);
}
.admin-body .side-nav-form .side-item.logout:hover{
  color:#fff;
  background:rgba(255,119,163,.22);
}
.admin-body .side-nav-form .side-item:focus-visible{
  box-shadow:0 0 0 2px #fff,0 0 0 5px rgba(239,92,174,.65);
}
.admin-body .admin-shell{margin-left:72px}
.admin-body .visitor-panel{left:72px}

@media(max-width:800px){
  .admin-body .side-nav{width:60px;padding-left:4px;padding-right:4px}
  .admin-body .brand-side-logo{margin-left:-4px;margin-right:-4px}
  .admin-body .side-nav-form .side-item{min-height:49px;font-size:10px;border-radius:9px}
  .admin-body .side-nav-form .side-item i{font-size:18px}
  .admin-body .admin-shell{margin-left:60px}
  .admin-body .visitor-panel{left:60px}
}


/* =========================================================
   飞享天马 V0.11.4：消息底部输入区、静默保存提示与刷新防重提
   ========================================================= */
.admin-body[data-page="messages"]{
  height:100vh;
  min-height:100vh;
  overflow:hidden;
}
.admin-body[data-page="messages"] .admin-shell,
.admin-body[data-page="messages"] .admin-content.message-content{
  height:100vh;
  min-height:0;
  overflow:hidden;
}
.admin-body[data-page="messages"] .chat-empty,
.admin-body[data-page="messages"] .chat-workspace{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.admin-body[data-page="messages"] .chat-header{
  flex:0 0 64px;
  height:64px;
}
.admin-body[data-page="messages"] .chat-messages{
  flex:1 1 auto;
  min-height:0;
  padding:18px 20px 14px;
  overscroll-behavior:contain;
}
.admin-body[data-page="messages"] .quick-strip{
  flex:0 0 auto;
  min-height:0;
  max-height:48px;
  padding:7px 14px;
}
.admin-body[data-page="messages"] .admin-chat-composer{
  flex:0 0 auto;
  width:100%;
  min-height:112px;
  margin:0;
  padding:11px 13px 12px!important;
  gap:10px!important;
  align-items:stretch;
  border-top:1px solid #e7dbea;
  background:rgba(255,255,255,.98);
  box-shadow:0 -8px 26px rgba(77,45,92,.06);
  overflow:visible;
}
.admin-body[data-page="messages"] .admin-composer-tools{
  flex:0 0 40px;
  align-items:center;
  padding:0;
}
.admin-body[data-page="messages"] .admin-media-trigger{
  width:40px;
  height:40px;
  flex:0 0 40px;
}
.admin-body[data-page="messages"] .admin-composer-main{
  min-height:88px;
  gap:4px;
  padding:8px 10px 6px;
  border:1px solid #e2d5e8;
  border-radius:14px;
  background:#fbf8fd;
  transition:border-color .18s,box-shadow .18s,background .18s;
}
.admin-body[data-page="messages"] .admin-composer-main:focus-within{
  border-color:#cda7de;
  background:#fff;
  box-shadow:0 0 0 3px rgba(171,92,191,.08);
}
.admin-body[data-page="messages"] .admin-chat-composer textarea{
  min-height:58px;
  max-height:118px;
  padding:0!important;
  border:0!important;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
}
.admin-body[data-page="messages"] .admin-chat-composer textarea:focus{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.admin-body[data-page="messages"] .admin-paste-hint{
  min-height:15px;
  padding-left:0;
  color:#a38eaa;
}
.admin-body[data-page="messages"] .admin-send-button{
  min-width:72px;
  height:40px;
  margin:0;
  align-self:center!important;
}
.admin-body[data-page="messages"] .admin-media-menu{
  bottom:60px;
}
@media(max-width:760px){
  .admin-body[data-page="messages"] .admin-chat-composer{min-height:92px;padding:9px!important}
  .admin-body[data-page="messages"] .admin-composer-main{min-height:72px;padding:7px 9px}
  .admin-body[data-page="messages"] .admin-chat-composer textarea{min-height:55px}
}


/* =========================================================
   飞享天马 V0.11.5：消息气泡宽度 + 链接操作按钮优化
   ========================================================= */
.admin-msg,.visitor-message{align-items:flex-start}
.admin-msg.mine,.visitor-message.mine{align-items:flex-end}
.admin-msg>div,.visitor-message>div{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  width:auto;
  max-width:100%;
}
.admin-msg.mine>div,.visitor-message.mine>div{align-items:flex-end}
.message-link-group{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  max-width:100%;
  vertical-align:middle;
}
.message-link-actions{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.message-link-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid #ddc9e9;
  background:#fbf6fe;
  color:#8b4eb1;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  transition:.18s;
}
.message-link-action:hover{border-color:#c78ee0;background:#f5eafb;color:#a14fc1;transform:translateY(-1px)}
.message-link-action:active{transform:translateY(0)}
.admin-msg.mine .message-link-action,
.visitor-message.mine .message-link-action{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.16);
  color:#fff;
}
.admin-msg.mine .message-link-action:hover,
.visitor-message.mine .message-link-action:hover{
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.22);
}
.message-text,.message-caption{word-break:break-word}
@media(max-width:800px){
  .message-link-group{align-items:flex-start}
}


/* =========================================================
   飞享天马 V0.11.6：单链接动作按钮（由设置决定）
   ========================================================= */
.message-link-group{gap:9px}
.message-link-actions{display:none!important}
.message-link-action{
  min-height:30px;
  padding:0 13px;
  border:1px solid #1677ff!important;
  border-radius:8px;
  background:linear-gradient(135deg,#2589ff,#1268e8)!important;
  color:#fff!important;
  font-size:12px;
  font-weight:700;
  letter-spacing:.2px;
  line-height:1;
  box-shadow:0 6px 14px rgba(25,112,232,.24);
}
.message-link-action:hover{
  border-color:#0860d7!important;
  background:linear-gradient(135deg,#167cff,#075fd8)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(25,112,232,.32);
}
/* =========================================================
   飞享天马 V0.12.0：域名线路管理 + 粉商查粉
   ========================================================= */
.traffic-total{color:#6e4a82}.traffic-filtered{color:#e15c78}.traffic-valid{color:#16a36a}
.domain-panel{overflow:hidden}
.domain-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:17px 20px;border:1px solid #e7d8ee;border-radius:14px;background:linear-gradient(115deg,#fff8fc,#f2ebfb)}
.domain-intro b{display:block;color:#51395e;font-size:17px}.domain-intro p{margin:7px 0 0;color:#897490;line-height:1.7}.domain-intro>span{flex:0 0 auto;padding:8px 13px;border-radius:999px;background:#fff;color:#9652bd;box-shadow:0 5px 16px rgba(103,57,128,.09)}
.domain-category{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.domain-supplier{background:#e8f4ff;color:#237fc4}.domain-detail{background:#eef0ff;color:#625fd1}.domain-customer_service{background:#f8e9ff;color:#9b4fc0}.domain-quick{background:#e8f8f1;color:#278f67}
.domain-url{display:inline-block;max-width:350px;color:#3b77b6;word-break:break-all}.domain-url:hover{text-decoration:underline}
.empty-domain-row{text-align:center!important;color:#98869f!important;padding:48px!important}
.domain-modal-help{padding:12px 14px;border-radius:10px;background:#f7f0fb;color:#826d8c;font-size:12px;line-height:1.7}
.platform-domain-note{color:#9b879f;font-size:12px}

.supplier-body{margin:0;min-height:100vh;background:linear-gradient(145deg,#f9f4ff 0%,#fff7fb 45%,#eff6ff 100%);color:#3e3448;overflow-x:hidden}
.supplier-backdrop{position:fixed;inset:0;pointer-events:none;overflow:hidden}.supplier-backdrop span{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}.supplier-backdrop span:first-child{width:460px;height:460px;left:-160px;top:-180px;background:linear-gradient(145deg,#e7b9ff,#ffd1e8)}.supplier-backdrop span:last-child{width:520px;height:520px;right:-200px;bottom:-250px;background:linear-gradient(145deg,#bddbff,#dfc2ff)}
.supplier-shell{position:relative;width:min(1080px,calc(100% - 32px));margin:0 auto;padding:28px 0 34px;z-index:1}
.supplier-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding:0 4px}.supplier-brand{display:flex;align-items:center;gap:12px}.supplier-brand img{width:52px;height:52px;border-radius:16px;background:#fff;padding:3px;box-shadow:0 10px 25px rgba(103,62,134,.13)}.supplier-brand b{display:block;font-size:20px;color:#493653}.supplier-brand span{display:block;margin-top:4px;color:#907c98;font-size:12px}.supplier-line-count{padding:9px 14px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 8px 25px rgba(86,51,105,.08);color:#80698a}.supplier-line-count b{color:#347dca;font-size:17px}
.supplier-query-card,.supplier-result{border:1px solid rgba(255,255,255,.92);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 22px 65px rgba(79,49,101,.11);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.supplier-query-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 30px}.supplier-query-card h1{margin:0;color:#46354f;font-size:26px}.supplier-query-card p{margin:8px 0 0;color:#95819d}.supplier-query-card form{display:flex;flex:0 1 530px;height:52px;border:1px solid #decfe7;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(94,52,119,.06)}.supplier-query-card input{flex:1;min-width:0;border:0;outline:0;padding:0 17px;color:#403748}.supplier-query-card button{width:126px;border:0;background:linear-gradient(105deg,#338de2,#6d68e5);color:#fff;font-weight:700;letter-spacing:1px}.supplier-query-card button:disabled{opacity:.65}
.supplier-result{margin-top:20px;padding:26px 28px}.supplier-result-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #eee5f3}.supplier-result-head>div span{display:block;color:#98869f;font-size:12px}.supplier-result-head>div b{display:block;margin-top:5px;color:#48374f;font-size:19px}.supplier-result-head small{display:block;margin-top:5px;color:#a391aa}.supplier-status{padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700}.supplier-status.status-normal{background:#e3f8ed;color:#149261}.supplier-status.status-paused{background:#fff4da;color:#c28518}.supplier-status.status-closed,.supplier-status.status-removed{background:#ffe9ee;color:#d94e6b}
.supplier-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.supplier-stats article{padding:20px 22px;border:1px solid #eee5f3;border-radius:17px;background:linear-gradient(145deg,#fff,#fbf8fd)}.supplier-stats span{display:block;color:#98869f}.supplier-stats b{display:block;margin-top:8px;font-size:31px}.supplier-stats article:nth-child(1) b{color:#654879}.supplier-stats article:nth-child(2) b{color:#e15779}.supplier-stats article:nth-child(3) b{color:#159e69}
.supplier-main-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:28px;align-items:stretch}.supplier-qr-card,.supplier-link-card{border:1px solid #ece2f2;border-radius:18px;background:#fff}.supplier-qr-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:330px;padding:24px}.supplier-qrcode{position:relative;width:270px;height:270px;display:flex;align-items:center;justify-content:center;padding:9px;border:1px solid #eee4f3;border-radius:19px;background:#fff;box-shadow:0 12px 34px rgba(74,44,91,.09)}.supplier-qrcode canvas,.supplier-qrcode>img:not(.supplier-qr-logo){max-width:100%;height:auto}.supplier-qr-logo{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:50px!important;height:50px!important;border-radius:13px!important;background:#fff!important;padding:3px!important;box-shadow:0 3px 10px rgba(61,38,73,.18)!important}.supplier-qr-card>p{margin:12px 0 0;text-align:center;color:#ae7c8e;line-height:1.6}
.supplier-link-card{padding:24px}.supplier-link-card>label{display:block;margin:0 0 8px;color:#8e7b96;font-size:12px}.supplier-current-line{margin-bottom:19px;padding:13px 15px;border-radius:12px;background:#f7f2fb}.supplier-current-line b{display:block;color:#5b4267}.supplier-current-line span{display:block;margin-top:5px;color:#887492;word-break:break-all}.supplier-link-card textarea{width:100%;height:92px;resize:none;border:1px solid #ded2e6;border-radius:12px;padding:12px;outline:none;color:#54435d;background:#fcfafd;line-height:1.55}.supplier-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.supplier-actions button{min-height:42px;padding:0 17px;border-radius:11px;font-weight:700}.supplier-copy{border:1px solid #a8c7eb;background:#edf6ff;color:#3478b9}.supplier-download{border:1px solid #cfbce3;background:#f8effd;color:#8b55aa}.supplier-rotate{border:0;background:linear-gradient(105deg,#ed5fa7,#8f61df);color:#fff;box-shadow:0 8px 18px rgba(142,80,194,.22)}.supplier-actions button:disabled{opacity:.6}.supplier-warning{margin:15px 0 0;padding:11px 13px;border-radius:10px;background:#fff5f7;color:#b66a7d;font-size:12px;line-height:1.65}.supplier-shell footer{text-align:center;margin-top:22px;color:#a08eaa;font-size:12px}
#supplierToast{top:20px}
@media(max-width:760px){.supplier-shell{width:min(100% - 20px,1080px);padding-top:16px}.supplier-header{align-items:flex-start}.supplier-line-count{font-size:11px}.supplier-query-card{display:block;padding:22px}.supplier-query-card form{margin-top:18px;width:100%;height:48px}.supplier-query-card button{width:108px}.supplier-result{padding:20px 16px}.supplier-stats{gap:8px}.supplier-stats article{padding:16px 12px}.supplier-stats b{font-size:25px}.supplier-main-grid{grid-template-columns:1fr}.supplier-qrcode{width:250px;height:250px}.supplier-actions button{flex:1;min-width:120px}.domain-intro{align-items:flex-start;flex-direction:column}.domain-intro>span{align-self:flex-start}}
.pending-domain-body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(145deg,#fff7fb,#eee7ff);color:#4a3953}.pending-domain-card{width:min(430px,100%);padding:44px 34px;text-align:center;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 28px 80px rgba(90,52,115,.16)}.pending-domain-card img{width:96px;height:96px}.pending-domain-card h1{margin:18px 0 10px}.pending-domain-card p{color:#89758f;line-height:1.7}.pending-domain-card small{color:#aa91b2}
.platform-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* =========================================================
   飞享天马 V0.13.0：客户查粉详情
   ========================================================= */
.detail-body{margin:0;min-height:100vh;background:#f4f7fb;color:#354052;overflow-x:hidden}
.detail-backdrop{position:fixed;inset:0;pointer-events:none;overflow:hidden}.detail-backdrop span{position:absolute;border-radius:50%;filter:blur(3px);opacity:.42}.detail-backdrop span:first-child{width:520px;height:520px;left:-220px;top:-220px;background:linear-gradient(145deg,#c9dcff,#ebcfff)}.detail-backdrop span:last-child{width:600px;height:600px;right:-260px;bottom:-280px;background:linear-gradient(145deg,#d5eaff,#f4d2ea)}
.detail-shell{position:relative;width:min(1740px,calc(100% - 28px));margin:0 auto;padding:18px 0 34px;z-index:1}.detail-shell footer{text-align:center;margin-top:18px;color:#9aa5b5;font-size:12px}
.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:0 4px}.detail-brand{display:flex;align-items:center;gap:12px}.detail-brand img{width:50px;height:50px;object-fit:cover;border-radius:15px;background:#fff;padding:3px;box-shadow:0 10px 28px rgba(58,83,119,.16)}.detail-brand b{display:block;font-size:19px;color:#28354a}.detail-brand span{display:block;margin-top:4px;color:#8793a5;font-size:12px}.detail-secure{display:flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid #dce6f2;border-radius:999px;background:rgba(255,255,255,.84);color:#718096;font-size:12px}.detail-secure i{color:#31af74;font-style:normal}
.detail-query-card,.detail-result{border:1px solid rgba(255,255,255,.94);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 18px 55px rgba(55,75,105,.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.detail-query-card{padding:22px}.detail-query-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.detail-query-title h1{margin:0;color:#27364c;font-size:23px}.detail-query-title p{margin:6px 0 0;color:#909bac}.detail-query-title>span{padding:7px 11px;border-radius:999px;background:#e8f6ef;color:#249763;font-size:12px;font-weight:700}
.detail-field{display:flex;flex-direction:column;gap:7px;color:#526074;font-size:12px}.detail-field>span{font-weight:700}.detail-field input,.detail-field textarea,.detail-filter-panel input,.detail-filter-panel select,.detail-table-toolbar select{border:1px solid #dce4ef;border-radius:10px;background:#fff;color:#344155;outline:0;transition:.18s}.detail-field input:focus,.detail-field textarea:focus,.detail-filter-panel input:focus,.detail-filter-panel select:focus{border-color:#69a8ed;box-shadow:0 0 0 3px rgba(66,145,226,.1)}.detail-field textarea{resize:vertical;padding:11px 13px;line-height:1.55}.detail-field input{height:42px;padding:0 12px}.detail-card-field textarea{min-height:66px}.detail-query-grid{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:12px;margin-top:12px}.detail-query-button{width:100%;height:44px;margin-top:16px;border:0;border-radius:11px;background:linear-gradient(100deg,#2d86dc,#5a79e2);color:#fff;font-weight:700;letter-spacing:2px;box-shadow:0 9px 20px rgba(50,117,201,.22);transition:.18s}.detail-query-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(50,117,201,.28)}.detail-query-button:disabled{opacity:.65;transform:none}
.detail-result{margin-top:16px;padding:18px}.detail-result-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 16px;border-bottom:1px solid #e9eef5}.detail-result-head>div:first-child span{display:block;color:#96a0b0;font-size:12px}.detail-result-head b{display:block;margin-top:4px;color:#2f3d52;font-size:18px}.detail-result-head small{display:block;margin-top:4px;color:#9aa4b2}.detail-head-actions{display:flex;gap:9px}.detail-outline-button,.detail-primary-button{height:38px;padding:0 14px;border-radius:9px;font-weight:700}.detail-outline-button{border:1px solid #7cb5ec;background:#f4f9ff;color:#347fc5}.detail-primary-button{border:0;background:#368ce0;color:#fff;box-shadow:0 6px 14px rgba(54,140,224,.18)}
.detail-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:16px 0}.detail-stats article{padding:16px 18px;border:1px solid #e6ecf4;border-radius:14px;background:linear-gradient(145deg,#fff,#f8fafc)}.detail-stats span{display:block;color:#8793a4;font-size:12px}.detail-stats b{display:block;margin-top:7px;color:#34445c;font-size:26px}.detail-stats article:nth-child(1) b{color:#e58a2e}.detail-stats article:nth-child(2) b{color:#3b82d0}.detail-stats article:nth-child(4) b{color:#df5c76}.detail-stats article:nth-child(5) b{color:#22a36d}
.detail-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:0 0 14px;padding:14px;border:1px solid #e4eaf3;border-radius:13px;background:#f9fbfd}.detail-filter-panel label{display:flex;flex-direction:column;gap:6px;color:#667386;font-size:12px}.detail-filter-panel input,.detail-filter-panel select{height:38px;padding:0 10px}.detail-filter-panel .detail-keyword-filter{grid-column:span 2}.detail-filter-panel button{align-self:end;height:38px;border:0;border-radius:9px;background:#3f8dde;color:#fff;font-weight:700}.detail-filter-panel button.reset{border:1px solid #d7e0eb;background:#fff;color:#6e7a8d}
.detail-display-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #e5ebf3;border-radius:12px;background:#fff}.detail-display-bar b{margin-right:12px;color:#344155}.detail-display-bar span{color:#909aaa;font-size:12px}.detail-display-bar button{height:32px;padding:0 11px;border:1px solid #7fb8ee;border-radius:8px;background:#eff7ff;color:#347dc1}
.detail-column-panel{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:9px;padding:13px 15px;border:1px solid #e6ecf3;border-radius:12px;background:#fbfcfe}.detail-column-panel label{display:flex;align-items:center;gap:6px;color:#647186;font-size:12px}.detail-column-panel input{accent-color:#398bde}
.detail-table-toolbar{display:flex;align-items:center;justify-content:space-between;margin:16px 2px 8px;color:#354256;font-weight:700}.detail-table-toolbar span{margin-left:7px;color:#929dac;font-size:12px;font-weight:400}.detail-table-toolbar select{height:34px;padding:0 10px}
.detail-table-wrap{width:100%;overflow:auto;border:1px solid #dfe7f1;border-radius:12px;background:#fff;max-height:620px}.detail-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:12px}.detail-table th,.detail-table td{padding:10px 9px;border-right:1px solid #e7edf4;border-bottom:1px solid #e7edf4;text-align:center;vertical-align:middle;white-space:nowrap}.detail-table th{position:sticky;top:0;z-index:3;background:#f6f9fc;color:#627086;font-weight:700}.detail-table th:first-child,.detail-table td:first-child{position:sticky;left:0;z-index:2}.detail-table th:first-child{z-index:4}.detail-table td:first-child{background:#fff}.detail-table tr.row-invalid td{background:#fff2f3}.detail-table tr.row-invalid td:first-child{background:#fff2f3}.detail-table tr:hover td{background:#f7fbff}.detail-table tr.row-invalid:hover td{background:#ffecee}.detail-table th button{border:0;background:transparent;color:inherit;font-weight:700;padding:0;white-space:nowrap}.detail-table th i{color:#3e8bd7;font-style:normal}.detail-table .col-hidden{display:none}.detail-cell-text{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis}.detail-status{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;border-radius:6px;color:#fff;font-weight:700}.detail-status.valid{background:#42b86f}.detail-status.invalid{background:#f06a75}.detail-status.blocked{background:#7d8795}.detail-ip{color:#e07c33}.detail-count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;background:#e7f7e9;color:#3d9d57}.detail-clicked{color:#2686d4;font-weight:700}.detail-empty-row{height:120px!important;color:#9ba5b4!important}.detail-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#7f8a9b}.detail-pagination div{display:flex;gap:8px}.detail-pagination button{height:34px;padding:0 13px;border:1px solid #d7e1ed;border-radius:8px;background:#fff;color:#526175}.detail-pagination button:disabled{opacity:.45}
#detailToast{top:18px}
@media(max-width:1000px){.detail-query-grid{grid-template-columns:1fr 1fr}.detail-ip-field{grid-column:1/-1}.detail-stats{grid-template-columns:repeat(3,1fr)}.detail-filter-panel{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.detail-shell{width:calc(100% - 16px);padding-top:10px}.detail-header{align-items:flex-start}.detail-secure{display:none}.detail-query-card,.detail-result{padding:14px;border-radius:16px}.detail-query-grid{grid-template-columns:1fr}.detail-ip-field{grid-column:auto}.detail-result-head{align-items:flex-start;gap:12px}.detail-head-actions{flex-direction:column}.detail-stats{grid-template-columns:repeat(2,1fr)}.detail-filter-panel{grid-template-columns:1fr}.detail-filter-panel .detail-keyword-filter{grid-column:auto}.detail-display-bar{align-items:flex-start;gap:10px}.detail-column-panel{max-height:210px;overflow:auto}}
.supplier-brand img,.supplier-qr-logo{object-fit:cover}

/* =========================================================
   飞享天马 V0.13.1：客户详情多卡密汇总
   ========================================================= */
.detail-card-field>span{display:flex;align-items:center;gap:8px}.detail-card-field>span small{font-weight:400;color:#95a0af}.detail-card-field textarea{min-height:112px}
.detail-card-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin:14px 0}
.detail-card-summary article{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid #e4ebf4;border-radius:13px;background:linear-gradient(145deg,#fff,#f8fbff)}
.detail-card-summary article img{width:42px;height:42px;object-fit:cover;border-radius:11px;background:#fff;border:1px solid #e5eaf2;padding:2px}
.detail-card-summary article div{min-width:0}.detail-card-summary article b,.detail-card-summary article span,.detail-card-summary article small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detail-card-summary article b{color:#344257;font-size:13px}.detail-card-summary article span{margin-top:3px;color:#738096;font-size:12px}.detail-card-summary article small{margin-top:3px;color:#9aa5b4;font-size:11px}
.detail-card-summary article.invalid{border-color:#f1d7dc;background:#fff6f7}.detail-card-summary article.invalid b{color:#c95163}.detail-card-summary article.invalid span{color:#a96c76}
.detail-card-cell{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;color:#377fc6;font-weight:700}
@media(max-width:650px){.detail-card-summary{grid-template-columns:1fr}.detail-card-field textarea{min-height:132px}}

/* =========================================================
   飞享天马 V0.13.2：多卡密批量设置
   ========================================================= */
.batch-settings-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 18px;padding:18px 22px;border:1px solid #eadcf2;border-radius:16px;background:linear-gradient(135deg,#fff8fc,#f3ebfb);box-shadow:0 12px 32px rgba(83,48,103,.055)}
.batch-settings-intro b{display:block;color:#553d61;font-size:18px}.batch-settings-intro p{margin:7px 0 0;color:#8d7997;line-height:1.7}.batch-settings-intro>span{flex:0 0 auto;padding:8px 14px;border-radius:999px;background:#fff;color:#9151b5;border:1px solid #dfc9eb;font-weight:700}
.platform-batch-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:20px;align-items:start}.batch-settings-card{padding:22px}.batch-card-heading{display:flex;align-items:flex-start;gap:13px;padding-bottom:17px;margin-bottom:18px;border-bottom:1px solid #eee3f3}.batch-card-heading h2{margin:0;color:#4d3957;font-size:19px}.batch-card-heading p{margin:7px 0 0;color:#97859f;line-height:1.6}.batch-step{display:flex;align-items:center;justify-content:center;flex:0 0 36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#e65fae,#9858dc);color:#fff;font-size:17px;font-weight:800;box-shadow:0 8px 18px rgba(151,79,190,.2)}
.batch-settings-form{display:flex;flex-direction:column;gap:16px}.batch-settings-form>label,.batch-replace-grid label{display:flex;flex-direction:column;gap:7px;color:#695572;font-size:13px}.batch-settings-form input,.batch-settings-form select,.batch-settings-form textarea{border:1px solid #dccde5;border-radius:10px;background:#fff;padding:10px 11px;color:#4d3c55;outline:none}.batch-settings-form input:focus,.batch-settings-form select:focus,.batch-settings-form textarea:focus{border-color:#ad67d2;box-shadow:0 0 0 3px rgba(171,89,210,.1)}.batch-settings-form textarea{resize:vertical;line-height:1.55;font-family:Consolas,"Microsoft YaHei",sans-serif}.batch-settings-form label>small.batch-target-count{float:right;align-self:flex-end;margin-top:-23px;color:#a15fc3;font-weight:700}.batch-option-title{font-weight:700;color:#5a4264}
.batch-copy-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.batch-copy-options label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #eadcf1;border-radius:12px;background:#fffafd;cursor:pointer}.batch-copy-options input{width:17px;height:17px;margin:2px 0 0;accent-color:#a45bdd}.batch-copy-options span{display:flex;flex-direction:column;gap:4px}.batch-copy-options b{color:#5c4266}.batch-copy-options small{color:#9c89a5;line-height:1.45}
.batch-warning{padding:12px 14px;border-radius:11px;border:1px solid #efd9aa;background:#fff9e9;color:#8f6c2c;font-size:12px;line-height:1.65}.batch-submit{min-height:44px;border-radius:11px!important;background:linear-gradient(100deg,#e85dab,#9a59dd)!important;box-shadow:0 10px 22px rgba(151,77,190,.18)}
.batch-setting-group{padding:15px;border:1px solid #eadff0;border-radius:14px;background:#fffcfe}.batch-setting-group h3{margin:0 0 13px;color:#563f61;font-size:15px}.batch-apply-row{display:grid!important;grid-template-columns:18px 145px minmax(0,1fr) auto;align-items:center;gap:9px!important;margin:9px 0}.batch-apply-row>input[type=checkbox]{width:17px;height:17px;padding:0;accent-color:#a45bdd}.batch-apply-row>span{color:#725d7b}.batch-apply-row>input:not([type=checkbox]),.batch-apply-row>select{width:100%;min-width:0}.batch-apply-row>em{font-style:normal;color:#9b87a3}.batch-wide-control{grid-template-columns:18px 145px minmax(0,1fr)}
.batch-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.batch-filter-grid label{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px;color:#735f7c}.batch-filter-grid select{padding:8px}.batch-threshold-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.batch-threshold-grid label{display:grid;grid-template-columns:18px minmax(0,1fr) 82px auto;align-items:center;gap:8px;color:#735f7c}.batch-threshold-grid input[type=checkbox],.batch-replace-enable input,.batch-replace-scopes input{width:17px;height:17px;padding:0;accent-color:#a45bdd}.batch-threshold-grid input[type=number]{width:82px;padding:8px}.batch-threshold-grid em{font-style:normal;color:#9b87a3}
.batch-replace-enable{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:700}.batch-replace-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.batch-replace-scopes{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px}.batch-replace-scopes label{display:flex;align-items:center;gap:7px;color:#76617f;font-size:12px}.batch-operation-result{display:flex;flex-direction:column;gap:7px;padding:13px 15px;border:1px solid #bde2cc;border-radius:12px;background:#f0fbf5;color:#3f6d50}.batch-operation-result b{font-size:14px}.batch-operation-result details{margin-top:4px}.batch-operation-result summary{cursor:pointer;color:#8a4caf}.batch-operation-result pre{max-height:180px;overflow:auto;margin:8px 0 0;padding:10px;border-radius:8px;background:#fff;white-space:pre-wrap;color:#6c5874}
@media(max-width:1180px){.platform-batch-grid{grid-template-columns:1fr}.batch-settings-card{padding:18px}}@media(max-width:720px){.batch-settings-intro{align-items:flex-start;flex-direction:column}.batch-copy-options,.batch-filter-grid,.batch-threshold-grid,.batch-replace-grid{grid-template-columns:1fr}.batch-apply-row,.batch-wide-control{grid-template-columns:18px 1fr}.batch-apply-row>span{grid-column:2}.batch-apply-row>select,.batch-apply-row>input:not([type=checkbox]){grid-column:2}.batch-apply-row>em{grid-column:2}}


/* =========================================================
   飞享天马 V0.13.3：多卡密批量设置独立页面
   ========================================================= */
.platform-tool-body{min-height:100vh;background:linear-gradient(145deg,#fffafd 0%,#f5edf9 48%,#f0e9fb 100%);overflow-x:hidden}
.platform-tool-main{width:min(1560px,calc(100% - 40px));margin:0 auto;padding:0 0 42px}
.platform-tool-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #eadff0}
.platform-tool-brand{display:flex;align-items:center;gap:14px;min-width:0}.platform-tool-brand img{width:52px;height:52px;border-radius:15px;background:#fff;padding:3px;box-shadow:0 10px 26px rgba(108,59,135,.13)}
.platform-tool-brand h1{margin:0;color:#493653;font-size:24px}.platform-tool-brand p{margin:7px 0 0;color:#947f9d;font-size:12px}
.platform-tool-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0}
.platform-tool-summary article{padding:18px 20px;background:rgba(255,255,255,.9);border:1px solid #eee3f3;border-radius:16px;box-shadow:0 10px 30px rgba(77,43,96,.06)}
.platform-tool-summary span{display:block;color:#94829b;font-size:13px}.platform-tool-summary b{display:block;margin-top:8px;color:#68427c;font-size:28px}
.standalone-batch-intro{margin-top:0}
.platform-tool-body .platform-panel{background:rgba(255,255,255,.94)}
@media(max-width:900px){.platform-tool-main{width:min(100% - 24px,1560px)}.platform-tool-header{align-items:flex-start;flex-direction:column;padding:18px 0}.platform-top-actions{width:100%;display:flex;flex-wrap:wrap}.platform-tool-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.platform-tool-summary{grid-template-columns:1fr 1fr}.platform-tool-summary article{padding:14px}.platform-tool-brand h1{font-size:20px}.platform-tool-header .btn{flex:1;padding:0 10px}}
/* =========================================================
   飞享天马 V0.13.5：访客端固定手机视图
   ========================================================= */
.visitor-body .visitor-app{
  width:min(100%,480px);
  flex-basis:480px;
}
@media(max-width:480px){
  .visitor-body .visitor-app{width:100%;flex-basis:100%;border-left:0;border-right:0}
}
