:root{--blue:#1769df;--navy:#122b4a;--text:#17263b;--muted:#708097;--line:#dce6f2;--bg:#f6f9fd}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(circle at 75% 0,#dceaff,transparent 30%),var(--bg);font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}.topbar{height:76px;max-width:1080px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand>span,.bot>span,.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#1c78ea,#1256b7);font-weight:bold;box-shadow:0 8px 20px #1769df30}.brand b,.brand small{display:block}.brand small{font-size:11px;color:var(--muted)}button{font:inherit;cursor:pointer}.link-btn,.back{border:0;background:transparent;color:#42607e}.welcome{max-width:760px;margin:65px auto 0;padding:35px 28px;text-align:center}.eyebrow{display:inline-block;background:#e8f1ff;color:#1761c3;padding:7px 13px;border-radius:99px;font-size:13px;font-weight:bold}.welcome h1{font-size:52px;line-height:1.18;letter-spacing:-2px;margin:22px 0 18px}.welcome h1 em{font-style:normal;color:var(--blue)}.welcome>p,.panel>p{color:var(--muted);line-height:1.8}.actions{display:flex;justify-content:center;gap:12px;margin:30px}.primary,.secondary{border:0;border-radius:12px;padding:13px 23px;font-weight:bold}.primary{color:white;background:var(--blue);box-shadow:0 8px 22px #1769df30}.secondary{color:var(--navy);background:white;border:1px solid var(--line)}.promises{display:flex;justify-content:center;gap:30px;color:#718198;font-size:13px}.recent{max-width:540px;margin:0 auto 24px;padding:16px;background:white;border:1px solid var(--line);border-radius:17px;text-align:left}.recent>button{width:100%;display:flex;justify-content:space-between;border:0;background:#f8fbff;border-radius:10px;padding:12px;margin-top:8px}.recent i{font-style:normal;color:var(--blue)}.chat-card,.panel{max-width:760px;margin:28px auto 60px;background:white;border:1px solid #e2eaf3;border-radius:24px;box-shadow:0 22px 60px #224a7916;overflow:hidden}.progress{height:4px;background:#edf2f8}.progress i{height:100%;display:block;background:linear-gradient(90deg,#1474e9,#2ba2da)}.step{text-align:right;padding:14px 28px 0;color:#8998aa;font-size:12px}.chat{padding:20px 28px 32px;min-height:570px}.bot{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.bot>span{width:32px;height:32px;border-radius:10px;flex:none}.bot p{max-width:80%;margin:0;padding:14px 16px;border-radius:5px 16px 16px 16px;background:#f0f5fb;line-height:1.7;font-size:14px}.bot .question{background:#e8f2ff;font-weight:bold}.choices{display:grid;gap:9px;margin:14px 0 18px 42px}.choices button{display:flex;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}.choices button:hover{border-color:#76a8ed;background:#f7fbff}.choices span{color:#7890ad;font-size:20px}.input-card,.summary{margin:14px 0 18px 42px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#f9fbfe}.input-card input,.input-card textarea,.search input,.reply textarea,.admin-login input,.handler textarea,.admin-main header input{width:100%;padding:13px;border:1px solid #ccd9e8;border-radius:10px;outline:none}.input-card textarea,.reply textarea,.handler textarea{min-height:90px;resize:vertical}.input-card small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin:8px 0}.input-card .primary,.summary .primary{width:100%;margin-top:10px}.upload{display:block;margin-top:10px;padding:16px;border:1px dashed #79a6de;border-radius:11px;background:#edf5ff;color:#2866af;text-align:center}.upload input{display:none}.preview{display:block;max-width:180px;max-height:150px;margin:10px auto;border-radius:8px}.hidden{display:none!important}.error{margin:12px 0;padding:10px 13px;border:1px solid #ffc7c4;border-radius:10px;color:#b0322b;background:#fff0ef}.summary dl{margin:0}.summary dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e6edf5}.summary dt{color:var(--muted)}.summary dd{margin:0;max-width:68%;text-align:right;word-break:break-all}.panel{padding:32px;overflow:visible}.search,.reply{display:flex;gap:10px}.search .primary,.reply .primary{min-width:90px}.ticket-list{margin-top:18px}.ticket-list>button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;background:white;text-align:left;margin:8px 0}.ticket-list b,.ticket-list small{display:block}.ticket-list small{color:var(--muted);margin-top:5px}.ticket-list span{color:var(--blue)}.ticket-head,.detail-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.ticket-head h2,.detail-title h2{margin:4px 0}.ticket-head small,.detail-title small{color:var(--muted)}.badge{padding:7px 12px;border-radius:99px;background:#e8f2ff;color:#1761c3;font-size:13px}.timeline{margin:20px 0 28px;padding-left:20px;border-left:2px solid #dce7f3}.timeline div{position:relative;margin:14px 0}.timeline i{position:absolute;left:-26px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--blue)}.timeline b,.timeline small{display:block}.timeline small{color:var(--muted);margin-top:3px}.thread,.admin-thread{padding:16px;border-radius:15px;background:#f7f9fc}.thread>div,.admin-thread>div{max-width:78%;margin:12px 0}.thread .mine,.admin-thread .merchant{margin-left:auto}.thread p,.admin-thread p{margin:4px 0;padding:11px 13px;border-radius:11px;background:white}.thread .mine p,.admin-thread .merchant p{background:#dcecff}.thread small,.thread time,.admin-thread small,.admin-thread time{font-size:11px;color:#8090a4}.thread time,.admin-thread time{display:block;text-align:right}footer{text-align:center;padding:24px;color:#93a0b0;font-size:12px}footer a{color:#7b8da4}.empty{text-align:center;color:#929ead;padding:30px}
.admin-page{background:#f3f6fa}.admin-login{min-height:100vh;display:grid;place-items:center}.admin-login>div{width:min(390px,calc(100% - 30px));padding:34px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 24px 65px #173a6418;text-align:center}.admin-login .logo{margin:auto}.admin-login p{color:var(--muted)}.admin-login input{margin:5px 0}.admin-login .primary{width:100%;margin-top:10px}.admin-layout{display:flex;min-height:100vh}.admin-layout aside{position:fixed;inset:0 auto 0 0;width:210px;padding:24px 16px;color:white;background:#102b4e}.admin-layout aside .brand{color:#fff}.admin-layout aside nav{display:grid;gap:8px;margin-top:40px}.admin-layout aside nav button,.admin-layout aside nav a{padding:12px;border:0;border-radius:8px;color:#bfd0e3;background:transparent;text-align:left;text-decoration:none}.admin-main{width:calc(100% - 210px);margin-left:210px}.admin-main>header{height:90px;padding:16px 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.admin-main header h1{margin:0;font-size:20px}.admin-main header p{margin:5px 0;color:var(--muted);font-size:12px}.admin-main header input{width:310px}.admin-body{display:grid;grid-template-columns:360px 1fr;min-height:calc(100vh - 90px)}.work-list{padding:18px;background:#fff;border-right:1px solid var(--line)}.work-list #ticketRows{margin-top:10px}.work-list button{width:100%;display:flex;justify-content:space-between;padding:14px 9px;border:0;border-bottom:1px solid #edf1f6;background:#fff;text-align:left}.work-list small{display:block;color:var(--muted);margin-top:4px}.work-list button>span{font-size:12px;color:#61738a}.work-detail{padding:25px}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.facts div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.facts small,.facts b{display:block}.facts small{color:var(--muted);margin-bottom:4px}.facts b{font-size:13px;word-break:break-all}.shot-btn{margin-bottom:12px;border:0;background:transparent;color:var(--blue)}.admin-thread{min-height:250px;border:1px solid var(--line);background:#fff}.admin-thread .note{max-width:100%}.admin-thread .note p{background:#fff5d8;border:1px solid #efd993}.handler{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.handler textarea{border:0}.handler>div{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:10px;border-top:1px solid #edf1f5}.handler label{margin-right:auto;color:var(--muted);font-size:13px}.handler select{padding:9px;border:1px solid var(--line);border-radius:8px}
@media(max-width:760px){.welcome{margin-top:20px}.welcome h1{font-size:37px}.actions,.promises{flex-direction:column}.promises{gap:10px}.chat-card,.panel{margin:10px 12px 40px;border-radius:18px}.chat,.panel{padding:20px 16px}.choices,.input-card,.summary{margin-left:0}.bot p{max-width:88%}.search,.reply{flex-direction:column}.admin-layout aside{display:none}.admin-main{width:100%;margin:0}.admin-main>header{height:auto;align-items:flex-start;gap:10px}.admin-main header input{width:180px}.admin-body{grid-template-columns:1fr}.work-detail{padding:16px}.facts{grid-template-columns:1fr 1fr}.brand small{display:none}}

/* 2026 responsive visual refresh */
body{min-width:320px;background:linear-gradient(180deg,#eef5ff 0,#f8fbff 320px,#f5f7fb 100%)}
.topbar{width:min(1180px,100%);height:78px;padding:0 clamp(18px,4vw,42px)}
.topbar:after{content:"";position:absolute;left:0;right:0;top:77px;height:1px;background:rgba(158,180,207,.32)}
.brand>span{border-radius:11px;box-shadow:0 7px 18px rgba(23,105,223,.24)}
.link-btn{padding:10px 17px;border:1px solid rgba(23,105,223,.18);border-radius:999px;background:rgba(255,255,255,.68);font-weight:700;color:#1f5da9}
.welcome{position:relative;width:min(1000px,calc(100% - 40px));max-width:none;margin:54px auto 24px;padding:72px 60px 48px;border:1px solid rgba(193,211,232,.72);border-radius:32px;background:rgba(255,255,255,.86);box-shadow:0 28px 80px rgba(35,73,119,.12);overflow:hidden;backdrop-filter:blur(12px)}
.welcome:before{content:"";position:absolute;width:360px;height:360px;right:-145px;top:-190px;border-radius:50%;background:radial-gradient(circle,#b8d7ff 0,#ddebff 45%,transparent 70%);opacity:.8;pointer-events:none}
.welcome:after{content:"✓";position:absolute;right:58px;top:46px;width:82px;height:82px;display:grid;place-items:center;border-radius:25px;background:linear-gradient(145deg,#247be7,#155bbb);box-shadow:0 18px 45px rgba(23,105,223,.3);color:#fff;font-size:34px;font-weight:900;transform:rotate(5deg)}
.welcome h1{max-width:720px;margin:25px auto 18px;font-size:clamp(40px,5.2vw,66px);letter-spacing:-3px;line-height:1.13}.welcome>p{max-width:620px;font-size:16px}.welcome .actions{margin:34px 0 28px}.welcome .primary,.welcome .secondary{min-width:174px;padding:15px 24px;border-radius:13px}.welcome .primary{background:linear-gradient(135deg,#2478e4,#1459bc)}
.promises{padding-top:22px;border-top:1px solid #edf1f6}.recent{max-width:600px;margin:0 auto 26px;border-radius:15px;box-shadow:none}.recent>button{transition:.18s ease}.recent>button:hover{transform:translateY(-1px);background:#edf5ff}
.chat-card,.panel{width:min(840px,calc(100% - 40px));max-width:none;margin:42px auto 60px;border-radius:26px;box-shadow:0 26px 75px rgba(31,65,107,.13)}
.chat{padding:24px 38px 40px}.step{padding-right:38px}.bot p{font-size:15px}.choices,.input-card,.summary{margin-left:44px;max-width:680px}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}.choices button{min-height:55px;align-items:center;font-weight:600}.input-card,.summary{padding:21px}.input-card input,.input-card textarea,.search input,.reply textarea{font-size:16px}.panel{padding:38px 42px}.panel h2{font-size:28px}.ticket-list>button{padding:17px 18px;transition:.18s ease}.ticket-list>button:hover{border-color:#9cbfea;transform:translateY(-1px);box-shadow:0 8px 22px rgba(31,79,135,.08)}
.thread{padding:22px}.thread>div{max-width:70%}.reply{margin-top:16px}.reply textarea{min-height:82px}
footer{padding:8px 20px 30px}
.admin-layout aside{width:230px;padding:28px 20px}.admin-main{width:calc(100% - 230px);margin-left:230px}.admin-main>header{height:94px;padding:18px 32px}.admin-body{grid-template-columns:minmax(310px,370px) minmax(500px,1fr)}.work-list{padding:21px}.work-list button{padding:16px 11px;border-radius:10px}.work-list button:hover{background:#f4f8fd}.work-detail{padding:30px clamp(20px,3vw,42px)}.facts{grid-template-columns:repeat(4,minmax(120px,1fr))}.admin-thread{padding:20px}.handler{padding:16px}
@media(max-width:900px){.welcome{padding:56px 34px 38px}.welcome:after{right:34px;top:34px;width:66px;height:66px;border-radius:20px}.admin-layout aside{width:190px}.admin-main{width:calc(100% - 190px);margin-left:190px}.admin-body{grid-template-columns:300px 1fr}.facts{grid-template-columns:repeat(2,1fr)}.admin-main>header{padding:16px 20px}.admin-main header input{width:240px}}
@media(max-width:680px){body{background:linear-gradient(180deg,#edf5ff 0,#f7faff 240px,#f5f7fb 100%)}.topbar{height:66px;padding:0 16px}.topbar:after{top:65px}.brand>span{width:34px;height:34px}.brand b{font-size:14px}.brand small{display:none}.link-btn{padding:8px 12px;font-size:13px}.welcome{width:calc(100% - 24px);margin:18px auto 18px;padding:38px 20px 28px;border-radius:22px;text-align:left}.welcome:before{width:210px;height:210px;right:-100px;top:-115px}.welcome:after{display:none}.eyebrow{font-size:12px}.welcome h1{margin:18px 0 14px;font-size:clamp(34px,11vw,46px);letter-spacing:-2px}.welcome>p{font-size:14px;line-height:1.7}.welcome .actions{display:grid;gap:10px;margin:25px 0 24px}.welcome .primary,.welcome .secondary{width:100%;min-width:0;padding:14px}.promises{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;font-size:12px}.recent{margin-bottom:20px;padding:13px}.chat-card,.panel{width:calc(100% - 20px);margin:12px auto 35px;border-radius:19px}.step{padding:12px 16px 0}.chat{padding:16px 14px 28px;min-height:calc(100vh - 145px)}.bot{gap:8px}.bot>span{width:29px;height:29px;border-radius:9px}.bot p{max-width:calc(100% - 37px);padding:12px 13px;font-size:14px}.choices{grid-template-columns:1fr;gap:8px;margin:12px 0}.choices button{min-height:52px;padding:13px 15px}.input-card,.summary{margin:12px 0;padding:15px;border-radius:13px}.input-card input,.input-card textarea,.search input,.reply textarea{font-size:16px}.panel{padding:22px 16px}.panel h2{font-size:24px}.search,.reply{display:grid}.search .primary,.reply .primary{width:100%}.ticket-head{align-items:flex-start;gap:10px}.ticket-head h2{font-size:20px;word-break:break-all}.thread{padding:12px}.thread>div{max-width:88%}.admin-layout aside{display:none}.admin-main{width:100%;margin:0}.admin-main>header{height:auto;padding:15px;display:grid;gap:12px}.admin-main header input{width:100%}.admin-body{display:block}.work-list{min-height:calc(100vh - 116px);border-right:0}.work-detail{padding:16px}.facts{grid-template-columns:1fr 1fr}.handler>div{flex-wrap:wrap}.handler label{width:100%}.admin-thread>div{max-width:90%}}
@media(max-width:390px){.promises{grid-template-columns:1fr}.welcome h1{font-size:32px}.facts{grid-template-columns:1fr}}
.complaint-summary{margin:8px 0 26px;border:1px solid #d7e3f1;border-radius:15px;background:#f8fbff;overflow:hidden}.complaint-summary summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;cursor:pointer}.complaint-summary summary::-webkit-details-marker{display:none}.complaint-summary summary div small,.complaint-summary summary div b{display:block}.complaint-summary summary div small{margin-bottom:5px;color:var(--muted);font-size:12px}.complaint-summary summary>span{color:var(--blue);font-size:13px}.complaint-summary[open] summary>span{font-size:0}.complaint-summary[open] summary>span:after{content:"收起内容";font-size:13px}.complaint-content{padding:0 18px 18px;border-top:1px solid #e4ecf5}.complaint-content dl{margin:10px 0}.complaint-content dl div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #e9eff6}.complaint-content dt{color:var(--muted)}.complaint-content dd{margin:0;word-break:break-all}.complaint-content img{display:block;max-width:280px;max-height:260px;margin-top:15px;border:1px solid var(--line);border-radius:11px;object-fit:contain}.thread p{white-space:pre-line;line-height:1.75}.thread .theirs p{border:1px solid #dce8f5;background:#fff}.thread .theirs small{color:#3471ba;font-weight:700}
@media(max-width:680px){.complaint-summary summary{padding:14px}.complaint-content{padding:0 14px 14px}.complaint-content dl div{grid-template-columns:76px 1fr;font-size:13px}.complaint-content img{width:100%;max-width:none;max-height:320px}.thread p{font-size:14px}}
.admin-layout aside nav .nav-active{background:rgba(255,255,255,.13);color:#fff;font-weight:700}.rules-main>header .primary{width:auto}.rules-layout{display:grid;grid-template-columns:360px minmax(460px,720px);gap:24px;padding:28px;align-items:start}.rules-list,.rule-editor{border:1px solid var(--line);border-radius:16px;background:#fff}.rules-list{padding:12px}.rules-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 13px;border:0;border-bottom:1px solid #edf1f5;background:#fff;text-align:left}.rules-list>button:hover{background:#f5f9ff}.rules-list b,.rules-list small{display:block}.rules-list small{max-width:220px;margin-top:6px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rules-list span{padding:5px 8px;border-radius:99px;font-size:11px}.rules-list .enabled{background:#e6f7f1;color:#14765f}.rules-list .disabled{background:#f0f2f5;color:#7b8797}.rule-editor{padding:24px}.rule-editor h2{margin:0 0 20px}.rule-editor>label{display:block;margin:15px 0;color:#45566c;font-size:13px;font-weight:700}.rule-editor input:not([type=checkbox]),.rule-editor textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #ccd9e8;border-radius:10px;font:inherit;outline:none}.rule-editor textarea{min-height:150px;resize:vertical}.rule-editor input:focus,.rule-editor textarea:focus{border-color:#4d8fe6;box-shadow:0 0 0 3px rgba(77,143,230,.12)}.rule-editor .switch-row{display:flex;align-items:center;gap:7px}.rule-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.rule-actions .hidden{display:none}.complaint-content a,.facts a{color:var(--blue)}
@media(max-width:1000px){.rules-layout{grid-template-columns:300px 1fr;padding:20px;gap:16px}}
@media(max-width:680px){.rules-main>header .primary{width:100%}.rules-layout{display:block;padding:14px}.rules-list{margin-bottom:14px}.rule-editor{padding:18px}.rules-list small{max-width:190px}}
