:root{--navy:#183454;--navy2:#27597e;--orange:#f68a3b;--orange2:#ffb25c;--bg:#f4f7fa;--card:#fff;--ink:#172333;--muted:#6e7b8d;--line:#e2e8ef;--blue:#3976d3;--green:#23986b;--red:#dc5151;--shadow:0 12px 30px rgba(28,45,70,.09)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#edf3f8,#fff4e8);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}button,input,textarea{font:inherit}.app{max-width:460px;min-height:100vh;margin:auto;background:var(--bg);box-shadow:0 0 50px rgba(27,44,69,.16);padding-bottom:76px}.header{padding:20px 20px 28px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:0 0 28px 28px}.header-row{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--orange2));font-weight:800}.brand small{display:block;opacity:.7;margin-top:2px}.header h1{margin:24px 0 7px;font-size:24px}.header p{margin:0;opacity:.75;font-size:13px}.ghost,.back{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:8px 11px}.header .ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#fff}.page{display:none;padding:16px}.page.active{display:block}.weekly{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fff,#fff2e4);border:1px solid #ffdcbc;border-radius:20px;padding:17px;box-shadow:var(--shadow)}.weekly small{color:#9c541d}.weekly h2{font-size:17px;margin:5px 0}.weekly p{font-size:12px;color:var(--muted);margin:0}.ring{width:64px;height:64px;border:7px solid #ffd8b3;border-top-color:var(--orange);border-radius:50%;display:grid;place-items:center;position:relative}.ring b{font-size:20px}.ring span{position:absolute;right:9px;bottom:8px;font-size:10px;color:var(--muted)}.actions{display:grid;gap:11px;margin:15px 0}.action{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;text-align:left;box-shadow:0 6px 18px rgba(28,45,70,.04)}.action.primary{background:linear-gradient(135deg,#fff,#eef5ff)}.action-icon{width:44px;height:44px;border-radius:13px;background:#fff0e2;color:#b95611;display:grid;place-items:center;font-weight:800}.action-icon.blue{background:#e8f0ff;color:#3267b6}.action-icon.green{background:#e4f6ed;color:#21825e}.action b{display:block}.action small{display:block;color:var(--muted);margin-top:4px}.action i{font-style:normal;color:var(--blue);font-size:13px}.section-title,.page-head{display:flex;align-items:center;gap:12px}.section-title{justify-content:space-between;margin:22px 2px 11px}.section-title h3{margin:0}.section-title button{border:0;background:transparent;color:var(--blue)}.page-head{margin:2px 0 17px}.page-head h2{font-size:20px;margin:0}.page-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.scene-list{display:grid;gap:10px}.scene-card{border:1px solid var(--line);background:#fff;border-radius:17px;padding:14px;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;text-align:left}.scene-num{width:46px;height:46px;border-radius:13px;background:#fff0e1;color:#af5214;display:grid;place-items:center;font-weight:800}.scene-card h3{font-size:15px;margin:0}.scene-card p{color:var(--muted);font-size:12px;margin:5px 0 0}.scene-card .tag{font-size:11px;color:#376cae;background:#edf4ff;padding:5px 8px;border-radius:99px}.filters,.chips{display:flex;gap:7px;overflow:auto;margin-bottom:14px}.filters button,.chips button{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:8px 11px;border-radius:99px;color:var(--muted)}.filters button.active{background:var(--navy);color:#fff}.training-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.customer-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange2));color:white;display:grid;place-items:center;font-size:22px}.training-card h3{margin:3px 0}.timer{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted)}.objective{margin:12px 0;background:#fff5e9;border:1px solid #ffddb8;border-radius:14px;padding:12px;font-size:13px;line-height:1.55}.chat{height:330px;overflow:auto;padding:5px 1px;display:flex;flex-direction:column;gap:9px}.bubble{max-width:84%;padding:11px 13px;border-radius:16px;line-height:1.55;font-size:14px}.bubble.customer{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:5px}.bubble.sales{background:#dceaff;align-self:flex-end;border-bottom-right-radius:5px}.trainer-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.tool-btn,.danger{border:1px solid var(--line);background:#fff;padding:9px 5px;border-radius:11px;font-size:12px}.danger{background:#fff0f0;color:var(--red);border-color:#f5cccc}.composer,.search{display:flex;gap:8px}.composer input,.search input,.admin-form input,.admin-form textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;outline:none}.composer button,.search button{border:0;background:var(--blue);color:#fff;border-radius:12px;padding:0 16px}.microcopy{font-size:11px;color:var(--muted);text-align:center}.knowledge-list,.report-list,.manager-list{display:grid;gap:10px}.knowledge-card,.report-row,.manager-row,.empty,.feedback,.score-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px}.knowledge-card small{color:var(--blue)}.knowledge-card h3{font-size:15px}.knowledge-card p{font-size:14px;line-height:1.65}.source{border-top:1px solid var(--line);padding-top:9px;color:var(--muted);font-size:11px}.empty{text-align:center;color:var(--muted);padding:40px 20px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px}.stat{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;text-align:center}.stat b{display:block;font-size:22px;color:var(--navy)}.stat small{color:var(--muted)}.report-row{display:flex;justify-content:space-between;align-items:center;text-align:left}.report-row h3{font-size:14px;margin:0 0 5px}.report-row p{margin:0;color:var(--muted);font-size:12px}.report-score{font-size:24px;color:var(--green);font-weight:800}.score-card{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff,#eaf8f1)}.score-card strong{font-size:56px;color:var(--green);display:block}.score-card span{background:#e2f4eb;color:#287859;padding:6px 10px;border-radius:99px}.score-bars{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;margin:12px 0}.score-line{margin:11px 0}.score-line label{display:flex;justify-content:space-between;font-size:13px}.bar{height:8px;background:#edf1f4;border-radius:99px;margin-top:6px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#2aa978,#78d2a7)}.feedback h3{font-size:15px;margin-top:18px}.feedback ul{padding-left:20px;line-height:1.6}.quote{background:#f5f7fa;border-radius:10px;padding:10px;margin-top:7px;font-size:13px}.wide-primary{width:100%;border:0;background:var(--blue);color:#fff;border-radius:13px;padding:13px;margin-top:12px}.manager-row{display:grid;grid-template-columns:1fr auto;gap:8px}.manager-row p{margin:4px 0;color:var(--muted);font-size:12px}.admin-form{display:grid;gap:12px}.admin-form label{font-size:13px;color:var(--muted)}.admin-form input,.admin-form textarea{display:block;margin-top:6px;color:var(--ink)}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(460px,100%);height:66px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around}.bottom-nav button{border:0;background:transparent;color:#8a95a5;padding:0 11px}.bottom-nav button.selected{color:var(--orange);font-weight:700}.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(20px);background:#172333;color:white;padding:10px 14px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:360px;text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal{position:fixed;inset:0;background:rgba(16,25,38,.45);display:grid;place-items:center;padding:20px;z-index:30}.modal.hidden{display:none}.modal-card{background:#fff;border-radius:20px;padding:20px;width:min(340px,100%);display:grid;gap:9px}.modal-card button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px}.modal-card button[data-role]{background:#eef4ff;color:#285f9e}@media(min-width:720px){.app{margin-top:18px;margin-bottom:18px;min-height:calc(100vh - 36px);border-radius:24px;overflow:hidden}.bottom-nav{bottom:18px;border-radius:0 0 24px 24px}}
.engine{display:inline-block;margin-left:6px;font-size:10px;padding:1px 5px;border-radius:99px;background:#e4f1ff;color:#2a63ad;vertical-align:middle}
.trainer-actions{grid-template-columns:repeat(5,1fr)!important}
.tool-btn.accent{background:#eaf3ff;color:#2a63ad;border-color:#cfe2fb}
.tool-btn.accent.live{background:#e2544f;color:#fff;border-color:#e2544f;animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.62}}
.bubble.thinking{color:var(--muted);font-style:italic}
.flag-high{border-left:3px solid var(--red)}
.flag-medium{border-left:3px solid var(--orange)}
.ok-note{color:var(--green);font-size:13px;margin:6px 0 0}
.flag-info{border-left:3px solid #9fb3c8;background:#f7f9fc}
.review-tag{display:inline-block;margin-left:6px;font-size:10px;padding:1px 6px;border-radius:99px;background:#fff1d9;color:#a0651a;border:1px solid #ffdda6;vertical-align:middle}
.knowledge-card.needs-review{border-left:3px solid #f0a340}
.review-note{margin-top:8px;font-size:12px;line-height:1.5;color:#8a5a12;background:#fff8ec;border-radius:9px;padding:8px 10px}
/* 底部导航扩到6项后压缩间距，避免小屏挤压换行 */
.bottom-nav button{padding:0 6px;font-size:12.5px}
/* 客户音色设置 */
.voice-list{display:grid;gap:10px;margin:12px 0}
.voice-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.voice-card.current{border-color:#bcd8ff;background:linear-gradient(135deg,#fff,#eef5ff)}
.voice-name{font-size:15px;font-weight:600}
.voice-card small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.voice-badge{display:inline-block;margin-left:7px;font-size:10px;padding:2px 7px;border-radius:99px;background:#dceaff;color:#2a63ad;vertical-align:middle;font-weight:500}
.voice-actions{display:flex;gap:7px;flex:none}
.voice-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-size:13px}
.voice-actions button.small{padding:8px 12px}
.voice-actions button[disabled]{opacity:.5}
