:root{
  --navy:#081528;--navy-2:#10233d;--blue:#1473e6;--blue-2:#5b7cfa;--cyan:#42d6ff;
  --ink:#17243a;--muted:#6d7b91;--line:#dce5f1;--panel:#fff;--bg:#f3f7fc;
  --success:#168a5b;--danger:#d5414d;--purple:#6f4bea;--shadow:0 18px 50px rgba(31,57,93,.10);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue);text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.muted{color:var(--muted)}
.eyebrow{margin:0 0 8px;color:#6e7e95;font-size:11px;letter-spacing:1.7px;font-weight:800;text-transform:uppercase}
.brand-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-weight:900;letter-spacing:1px;box-shadow:0 14px 28px rgba(72,91,231,.28)}
.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:12px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#32425b;font-weight:700}
.button.primary{border-color:transparent;background:linear-gradient(135deg,var(--blue),var(--blue-2));color:#fff;box-shadow:0 10px 22px rgba(20,115,230,.2)}
.button.ghost{background:#f7f9fc}
.button.block{width:100%}.button.big{min-height:48px}
.notice{margin:0 0 18px;padding:13px 16px;border-radius:12px;border:1px solid #d9e6f6;background:#edf5ff;color:#28527e}
.notice.success{border-color:#bce8d4;background:#edfbf4;color:#176744}.notice.danger{border-color:#f1c2c7;background:#fff2f3;color:#9e2934}.notice.privacy{border-color:#ded2ff;background:#f7f3ff;color:#6546a8}
.login-body,.setup-body{min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(66,214,255,.18),transparent 32%),linear-gradient(135deg,#061120,#0c2341 60%,#142b50);display:grid;place-items:center;padding:28px}
.login-shell{width:min(1060px,100%);display:grid;grid-template-columns:1.25fr .75fr;border:1px solid rgba(255,255,255,.13);border-radius:28px;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.35);background:rgba(255,255,255,.05);backdrop-filter:blur(18px)}
.login-story{padding:70px 64px;color:#fff;background:linear-gradient(160deg,rgba(35,122,231,.24),rgba(15,31,58,.1))}
.login-story .eyebrow{color:#70dcff}.login-story h1{font-size:42px;line-height:1.22;margin:20px 0}.login-story p{max-width:600px;color:#b9c9dd;line-height:1.8}
.login-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.login-points span{padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:13px;color:#d7e9fb}
.login-card{background:#fff;padding:54px 44px}.login-card h2{margin:24px 0 4px;font-size:28px}.login-card form{margin-top:28px}.login-card label,.setup-card label{display:block;margin-bottom:16px;color:#40506a;font-size:13px;font-weight:700}
input,select,textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cfdae8;border-radius:10px;background:#fff;color:var(--ink);outline:none;transition:.2s}
input:focus,select:focus,textarea:focus{border-color:#5e97f1;box-shadow:0 0 0 3px rgba(20,115,230,.11)}
textarea{resize:vertical;line-height:1.65}
.setup-card{width:min(760px,100%);background:#fff;border-radius:24px;padding:42px;box-shadow:var(--shadow)}.setup-card h1{margin:22px 0 8px}.setup-card .form-grid{margin-top:28px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 17px;background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:12px;padding:0 8px 25px;border-bottom:1px solid rgba(255,255,255,.09)}.brand strong,.brand small{display:block}.brand small{margin-top:3px;color:#8fa6c3;font-size:11px}
.sidebar nav{display:grid;gap:6px;margin-top:22px}.sidebar nav a{padding:12px 14px;border-radius:10px;color:#aebed1;font-size:14px;font-weight:700}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,rgba(35,123,234,.27),rgba(91,124,250,.12));color:#fff}
.sidebar-user{margin-top:auto;padding:18px 12px 4px;border-top:1px solid rgba(255,255,255,.09)}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user span{margin:4px 0 13px;color:#8fa6c3;font-size:12px}.sidebar-user a{font-size:12px;color:#70d7ff}
.main{min-width:0;padding:28px 30px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar h1{margin:0;font-size:26px}
.panel{min-width:0;background:var(--panel);border:1px solid #e3eaf3;border-radius:17px;padding:22px;box-shadow:0 8px 28px rgba(36,59,92,.06)}
.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.panel-head h2{margin:0;font-size:19px}.panel-head>a,.panel-head>span{font-size:12px;color:#728198}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric{padding:20px;border:1px solid #e1e8f2;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(30,56,91,.05)}.metric span,.metric small{display:block;color:#728198;font-size:12px}.metric strong{display:block;margin:9px 0 7px;font-size:30px}.metric.accent{background:linear-gradient(145deg,#0d66d0,#536bed);color:#fff;border:0}.metric.accent span,.metric.accent small{color:#dbeaff}.metric.danger strong{color:var(--danger)}.metric-grid.compact{margin-bottom:20px}.metric-grid.compact .metric{box-shadow:none}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.rule-list{display:grid;gap:14px}.rule-list>div{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #e6edf5;border-radius:12px}.rule-list b{display:grid;place-items:center;flex:0 0 35px;height:35px;border-radius:10px;background:#edf4ff;color:var(--blue)}.rule-list strong,.rule-list small{display:block}.rule-list small{margin-top:4px;color:var(--muted)}
.progress-row{display:grid;grid-template-columns:150px 1fr 46px;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f6}.progress-row>div:first-child strong,.progress-row>div:first-child span{display:block}.progress-row>div:first-child span{margin-top:3px;color:var(--muted);font-size:11px}.progress{height:8px;border-radius:8px;background:#e8eef7;overflow:hidden}.progress i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap}.table-wrap th{position:sticky;top:0;padding:12px;text-align:left;background:#f4f7fb;color:#596981;font-size:12px;border-bottom:1px solid #dce4ef}.table-wrap td{padding:13px 12px;border-bottom:1px solid #edf1f5;font-size:13px;vertical-align:middle}.table-wrap tr:hover td{background:#fafcff}
.customer-link strong,.customer-link small,.cell-note{display:block}.customer-link small,.cell-note{margin-top:4px;color:#8794a6;font-size:11px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf4ff;color:#2d68aa;font-size:11px;font-weight:800}
.empty{padding:32px;text-align:center;color:#8491a3;font-size:13px}.toolbar{display:flex;gap:10px;margin-bottom:18px}.toolbar input{margin:0;max-width:420px}.toolbar select{margin:0;width:180px}.toolbar .button{flex:0 0 auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px}.form-grid label{margin:0;color:#44546b;font-size:13px;font-weight:700}.span-2{grid-column:1/-1}
.submit-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:18px}.submit-panel{padding:26px}.form-tip{margin:-6px 0 22px;padding:12px 14px;border-left:3px solid var(--blue);background:#f5f9ff;color:#62728a;font-size:13px}.submit-consent{padding:12px 14px;border-radius:10px;background:#f4f7fb;color:#66758b;font-size:12px}.field-guide ol{list-style:none;margin:20px 0 0;padding:0;counter-reset:guide}.field-guide li{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #edf1f5}.field-guide li:before{counter-increment:guide;content:counter(guide);display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#edf4ff;color:var(--blue);font-weight:900}.field-guide li b,.field-guide li span{display:block}.field-guide li span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.65}
.sample-table{min-width:1420px}.sample-table th{color:#6738a5}.sample-table .requirement-cell{min-width:300px;max-width:390px;white-space:normal;line-height:1.55}
.customer-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:25px 28px;border-radius:18px;background:linear-gradient(135deg,#0a2450,#0e6bd5);color:#fff;box-shadow:0 16px 36px rgba(16,79,157,.2)}.customer-hero h2{margin:5px 0 8px;font-size:26px}.customer-hero p{margin:0;color:#cfe2f9}.customer-hero>div:last-child{display:flex;gap:8px}.customer-hero .status{background:rgba(255,255,255,.17);color:#fff}.intent{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff;color:#234a79;font-size:11px;font-weight:900}.intent-a{background:#fff0c7;color:#8b5b00}.intent-c{background:#e5eaf2;color:#5a687d}
.profile-list{margin:0}.profile-list>div{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid #edf1f5}.profile-list dt{color:#7a8799;font-size:12px}.profile-list dd{margin:0;line-height:1.65}.timeline>div{position:relative;display:flex;gap:14px;padding:0 0 22px}.timeline>div:before{content:"";position:absolute;left:5px;top:12px;bottom:0;border-left:1px solid #d9e3ef}.timeline i{z-index:1;flex:0 0 11px;height:11px;margin-top:5px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px #98bdf0}.timeline strong,.timeline small,.timeline em{display:block}.timeline small,.timeline em{margin-top:3px;color:#8693a5;font-size:11px}.timeline p{margin:8px 0;line-height:1.55}.timeline em{font-style:normal;color:#5d7ca3}
.followup-form{display:grid;grid-template-columns:120px 1fr 200px auto;gap:10px;align-items:end;margin-bottom:22px}.followup-form textarea{grid-column:1/4}.followup-form select,.followup-form input,.followup-form textarea{margin:0}.followup-list>div{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid #edf1f5}.followup-list>div>b{height:27px;padding:5px 8px;border-radius:7px;background:#edf4ff;color:#2c6aae;font-size:11px}.followup-list strong,.followup-list small{display:block}.followup-list small{margin-top:4px;color:#8794a6}.followup-list p{margin:8px 0 0;line-height:1.6}
.association-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:24px 26px;border-radius:17px;background:linear-gradient(135deg,#101f3a,#173a6a);color:#fff}.association-intro h2{margin:0 0 7px}.association-intro p{margin:0;color:#b9cce4}.association-flow{display:flex;align-items:center;gap:8px;white-space:nowrap}.association-flow span{padding:9px 11px;border:1px solid rgba(255,255,255,.18);border-radius:9px}.association-list{display:grid;gap:12px}.association-card{display:grid;grid-template-columns:44px minmax(240px,1.2fr) minmax(170px,.55fr) minmax(310px,.9fr);gap:14px;align-items:center;padding:15px;border:1px solid #e3eaf3;border-radius:13px}.channel-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;font-weight:900}.channel-badge.douyin{background:linear-gradient(135deg,#151a25,#f52d73)}.channel-badge.wechat{background:linear-gradient(135deg,#19ad62,#36d692)}.association-main>div{display:flex;gap:9px;align-items:center}.association-main>div span{font-size:11px;color:#6782a1}.association-main p{margin:7px 0}.association-main small{color:#8694a7}.association-contact span{display:block;margin:4px 0;color:#566980;font-size:12px}.association-actions{display:grid;grid-template-columns:1fr auto auto;gap:7px}.association-actions select{margin:0}
.conversation-list{display:grid}.conversation-card{display:grid;grid-template-columns:48px minmax(160px,.55fr) minmax(260px,1.4fr) minmax(130px,.45fr) 120px;gap:14px;align-items:center;padding:14px 6px;border-bottom:1px solid #edf1f5;color:var(--ink)}.conversation-card:hover{background:#f9fbfe}.conversation-person strong,.conversation-person small,.conversation-owner strong,.conversation-owner small,.conversation-count small{display:block}.conversation-person small,.conversation-owner small,.conversation-count small{margin-top:4px;color:#8894a5;font-size:11px}.conversation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#59687d}.conversation-count{text-align:right;color:#3e5068}
.conversation-layout{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr)}.chat-stream{max-height:680px;overflow:auto;padding:8px;background:#f6f9fd;border-radius:13px}.chat-message{max-width:82%;margin:11px 0;padding:12px 14px;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(30,55,89,.06)}.chat-message.agent{margin-left:auto;background:#eaf3ff}.chat-message>div{display:flex;justify-content:space-between;gap:20px}.chat-message small{color:#8b97a8}.chat-message p{margin:8px 0 0;line-height:1.65}.customer-link.large{display:block;padding:15px;border:1px solid #dce7f4;border-radius:12px;background:#f7faff;margin:18px 0}
.import-grid{grid-template-columns:1fr 1fr}.upload-form{display:grid;gap:14px}.file-drop{position:relative;display:grid;place-items:center;min-height:150px;border:2px dashed #b9cbe2;border-radius:14px;background:#f8fbff;text-align:center;color:#405879}.file-drop span{margin-top:7px;color:#7f8fa3;font-size:12px}.file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.column-guide{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;margin-top:18px;padding:14px;border-radius:12px;background:#f5f7fb;font-size:12px}.column-guide span{color:#6e7d91}.mapping-list{display:grid}.mapping-list form{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f5}.mapping-list strong,.mapping-list small{display:block}.mapping-list small{margin-top:4px;color:#8794a6}.mapping-list select{margin:0}.import-progress{margin-bottom:18px}
.user-list>div{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf1f5}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf4ff;color:var(--blue);font-weight:900}.user-list strong,.user-list small{display:block}.user-list small{margin-top:3px;color:#8491a3}.user-list b{font-size:12px;color:#62728a}.user-actions{display:flex;align-items:center;gap:10px}.user-actions form{margin:0}.user-actions .button{min-height:32px;padding:0 10px;font-size:11px}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.association-card{grid-template-columns:44px 1fr 1fr}.association-actions{grid-column:2/4}.submit-layout{grid-template-columns:1fr}.field-guide{order:2}.conversation-card{grid-template-columns:48px 1fr 1fr}.conversation-preview{grid-column:2/4}.conversation-owner{grid-column:2}.conversation-count{grid-column:3}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:15px}.sidebar nav{display:flex;overflow:auto;margin-top:14px}.sidebar nav a{white-space:nowrap}.sidebar-user{display:none}.main{padding:18px 14px 45px}.topbar{align-items:flex-start}.topbar h1{font-size:22px}.two-col,.import-grid,.conversation-layout{grid-template-columns:1fr}.association-intro{display:block}.association-flow{margin-top:18px;overflow:auto}.association-card{grid-template-columns:44px 1fr}.association-contact,.association-actions{grid-column:2}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.followup-form{grid-template-columns:1fr}.followup-form textarea{grid-column:1}.login-shell{grid-template-columns:1fr}.login-story{display:none}.mapping-list form{grid-template-columns:1fr}.conversation-card{grid-template-columns:44px 1fr}.conversation-preview,.conversation-owner,.conversation-count{grid-column:2;text-align:left}}
@media(max-width:520px){.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:15px}.metric strong{font-size:24px}.topbar .button{padding:0 12px}.panel{padding:16px}.toolbar{display:grid}.toolbar input,.toolbar select{max-width:none;width:100%}.customer-hero{display:block}.customer-hero>div:last-child{margin-top:15px}.login-card,.setup-card{padding:30px 23px}.login-body,.setup-body{padding:14px}}
