:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#2b211d;background:#f4efe5;--red:#8c1d18;--gold:#b98743;--paper:#fffdf7;--green:#477052}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0,#fff9e9 0,transparent 32%),linear-gradient(180deg,#eee3d2,#f8f5ed)}button,input,textarea{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid rgba(185,135,67,.45);outline-offset:2px}.shell{width:min(760px,100%);min-height:100vh;margin:auto;background:rgba(255,253,247,.92);box-shadow:0 0 40px rgba(66,35,18,.12)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 22px 18px;border-bottom:1px solid #e2d7c6}.eyebrow{margin:0 0 4px;color:var(--red);font-size:12px;letter-spacing:.16em}.topbar h1{margin:0;font-family:serif;font-size:27px}.text-button{border:0;background:none;color:#765e50}.login-card{margin:38px 20px;padding:30px 24px;border:1px solid #e4d4bc;border-radius:20px;background:var(--paper);box-shadow:0 16px 50px rgba(74,39,18,.09)}.seal{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--red);color:#fff;font-family:serif;font-size:20px}.login-card h2{margin:20px 0 8px}.login-card>p{color:#79685f;line-height:1.7}.login-card label{display:grid;gap:8px;margin-top:18px;color:#5c4940;font-size:14px}.login-card input,.composer textarea{width:100%;border:1px solid #d8c7b0;border-radius:12px;background:#fff;padding:13px 14px;outline:none}.login-card input:focus,.composer textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,135,67,.13)}.code-row{display:grid;grid-template-columns:1fr 128px;gap:10px;align-items:end}.primary,.secondary,.suggestions button{border:0;border-radius:12px;cursor:pointer}.primary{background:var(--red);color:#fff;padding:13px 18px}.login-card>.primary{width:100%;margin-top:24px}.secondary{height:45px;background:#efe3cf;color:#6b3b24}.status{min-height:22px;margin-bottom:0!important;color:var(--red)!important}.chat{display:flex;min-height:calc(100vh - 82px);flex-direction:column}.intro{padding:24px 20px 12px}.intro h2{margin:0 0 8px}.intro p{margin:0;color:#78675c;line-height:1.6}.tips-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px;color:#4f372b}.tips-heading span{font-weight:700}.tips-heading small{color:#8a776c}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.suggestions button{text-align:left;padding:11px 13px;background:#f3eadb;color:#5e3e2c;line-height:1.45;transition:background .2s,transform .2s}.suggestions button:hover{background:#eadbc5;transform:translateY(-1px)}.messages{display:grid;gap:14px;padding:14px 20px 20px}.bubble{max-width:88%;padding:13px 15px;border-radius:16px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.bubble.user{justify-self:end;background:var(--red);color:#fff;border-bottom-right-radius:5px}.bubble.assistant{justify-self:start;background:#eee4d5;color:#30241e;border-bottom-left-radius:5px}.bubble.streaming::after{content:"";display:inline-block;width:6px;height:1em;margin-left:4px;border-radius:4px;background:var(--red);vertical-align:-2px;animation:blink 1s infinite}.work-panel{width:min(92%,620px);padding:15px 16px;justify-self:start;border:1px solid #dfd0ba;border-radius:16px;background:#fffaf1;box-shadow:0 9px 28px rgba(81,51,28,.08)}.work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:11px;border-bottom:1px solid #eadfce}.work-head div{display:grid;gap:3px}.work-head strong{font-size:15px}.work-head small{color:#8a776c;font-size:12px}.elapsed{flex:none;padding:3px 8px;border-radius:999px;background:#f1e5d2;color:#76523c;font-size:12px}.work-steps{display:grid;gap:0;margin:10px 0 0;padding:0;list-style:none}.work-steps li{display:grid;grid-template-columns:16px 1fr;gap:9px;min-height:42px;color:#8a776c}.work-steps li>div{display:grid;align-content:start;gap:2px}.work-steps strong{font-size:14px;font-weight:600}.work-steps small{font-size:12px;line-height:1.45}.step-dot{width:9px;height:9px;margin-top:5px;border:2px solid #c9b79e;border-radius:50%}.work-steps li.active{color:#4f372b}.work-steps li.active .step-dot{border-color:var(--red);box-shadow:0 0 0 4px rgba(140,29,24,.1);animation:pulse 1.2s infinite}.work-steps li.done .step-dot{border-color:var(--green);background:var(--green)}.work-panel.complete{border-color:#c5d5c8}.work-panel.failed{border-color:#d8aaa5}.work-panel.failed .work-steps li.active{color:var(--red)}.composer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:auto;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:rgba(255,253,247,.96);border-top:1px solid #e5dac9;backdrop-filter:blur(12px)}.composer textarea{resize:none}.composer .primary{align-self:stretch}.notice{margin:0;padding:0 20px 20px;color:#8a776c;font-size:12px;line-height:1.55;background:var(--paper)}[hidden]{display:none!important}@keyframes blink{50%{opacity:.15}}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(140,29,24,.04)}}@media(max-width:520px){.login-card{margin:24px 14px;padding:24px 18px}.code-row{grid-template-columns:1fr 112px}.topbar{padding:19px 16px}.composer{padding-left:14px;padding-right:14px}.intro,.messages{padding-left:16px;padding-right:16px}.suggestions{grid-template-columns:1fr}.tips-heading{align-items:flex-start;flex-direction:column;gap:3px}.work-panel{width:100%}}

.answer-body{display:grid;gap:9px;white-space:normal}.answer-body p{margin:0}.answer-body ul{display:grid;gap:6px;margin:0;padding-left:20px}.answer-heading{display:block;margin-top:2px;color:#4d3025}.recent-heading{margin-top:4px;color:#6f5547;font-size:13px;font-weight:700;letter-spacing:.08em}.result-card{width:100%;padding:18px;border:1px solid #dcc9ad;border-radius:18px;background:#fffdf8;box-shadow:0 12px 34px rgba(70,43,24,.09)}.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.result-kicker{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.12em}.result-head h3{margin:5px 0 4px;font-family:serif;font-size:22px}.result-meta{margin:0;color:#806e62;font-size:13px;line-height:1.5}.result-status{flex:none;padding:5px 9px;border-radius:999px;background:#e7f0e7;color:#365e40;font-size:12px;font-weight:700}.result-status[data-status="partial"]{background:#fff0cf;color:#80571d}.result-status[data-status="failed"]{background:#f7dddd;color:#8c1d18}.result-status[data-status="queued"],.result-status[data-status="running"],.result-status[data-status="postprocessing"]{background:#efe7d9;color:#76523c}.result-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.result-kpis>div{display:grid;gap:3px;padding:12px 10px;border-radius:12px;background:#f5ecde;text-align:center}.result-kpis strong{color:#4a2d22;font-size:21px}.result-kpis span{color:#806e62;font-size:11px}.channel-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.channel-tags span{padding:4px 8px;border:1px solid #e6d7c3;border-radius:999px;color:#76523c;font-size:11px}.candidate-preview{margin-top:16px;padding-top:14px;border-top:1px solid #eadfce}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section-title small{color:#8b786c}.candidate-list{display:grid;gap:8px;margin-top:9px}.candidate-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 11px;border-radius:11px;background:#faf4e9}.candidate-item p{margin:2px 0 0}.candidate-name{font-size:14px}.candidate-meta{color:#725447;font-size:12px}.candidate-address{color:#938177;font-size:11px;line-height:1.4}.candidate-item a{color:var(--red);font-size:12px;text-decoration:none;white-space:nowrap}.result-notice{margin:13px 0 0;padding:10px 11px;border-radius:10px;background:#f2eee6;color:#79685f;font-size:12px;line-height:1.55}.result-actions{display:flex;gap:9px;margin-top:13px}.result-actions button{min-height:42px}.result-actions .secondary{padding:10px 15px}.result-actions button:disabled{cursor:not-allowed;opacity:.55}.download-status{min-height:18px;margin:8px 0 0;color:#5f704f;font-size:12px;line-height:1.5}.result-card details{margin-top:7px;color:#8a776c;font-size:11px}.result-card details p{margin:7px 0 0;line-height:1.5}.result-card summary{cursor:pointer}.recent-result .candidate-preview{display:none}.recent-result{box-shadow:none}.recent-result .result-notice,.recent-result details{display:none}
.result-card.tracking{border-color:#d7bf97;background:linear-gradient(180deg,#fffdf8,#fff9ec)}.result-card.tracking .result-status::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--gold);animation:pulse 1.2s infinite}
@media(max-width:520px){.result-card{padding:15px}.result-head{align-items:flex-start}.result-head h3{font-size:20px}.result-kpis{grid-template-columns:1fr 1fr}.candidate-item{grid-template-columns:1fr}.candidate-item a{justify-self:start}.result-actions{display:grid;grid-template-columns:1fr 1fr}.result-actions button{width:100%;padding-left:8px;padding-right:8px}.section-title{align-items:flex-start;flex-direction:column;gap:2px}}
.recent-result{display:flex;flex-direction:column}.recent-result .result-head{order:1}.recent-result .result-actions{order:2}.recent-result .download-status{order:3}.recent-result .result-kpis{order:4}.recent-result .channel-tags{order:5}
.result-actions{display:grid;grid-template-columns:1.35fr 1fr auto}.map-panel{margin-top:13px;overflow:hidden;border:1px solid #ddc9ab;border-radius:14px;background:#f7f1e7}.map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 13px}.map-head>div:first-child{display:grid;gap:3px}.map-head strong{font-size:14px}.map-head small{color:#806e62;font-size:11px}.map-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;color:#765e50;font-size:10px}.map-legend span{display:flex;align-items:center;gap:4px}.map-legend b{font-variant-numeric:tabular-nums}.map-legend i{width:8px;height:8px;border-radius:50%;background:#8c1d18}.map-legend .legend-b{background:#b98743}.map-legend .legend-c{background:#8d8a84}.map-canvas{width:100%;height:420px;background:#ece7de}.map-error{display:grid;height:100%;place-items:center;padding:28px;color:#8c1d18;text-align:center}.brand-map-marker{display:grid;place-items:center;width:34px;height:34px;border:3px solid #8c1d18;border-radius:50% 50% 50% 8px;background:#fff;box-shadow:0 3px 9px rgba(79,32,22,.34);transform:rotate(-45deg);cursor:pointer;transition:transform .16s}.brand-map-marker:hover{transform:rotate(-45deg) scale(1.16)}.brand-map-marker img{width:25px;height:25px;border-radius:50%;object-fit:cover;transform:rotate(45deg)}.brand-map-marker.priority-b{border-color:#b98743}.brand-map-marker.priority-c{border-color:#8d8a84;opacity:.86}.map-info{display:grid;gap:5px;min-width:220px;max-width:290px;padding:3px;color:#2b211d;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.map-info strong{font-size:15px}.map-info p{margin:0;color:#765e50;font-size:12px;line-height:1.45}.map-info a{margin-top:3px;color:#8c1d18;font-size:12px;font-weight:700;text-decoration:none}
@media(max-width:520px){.result-actions{grid-template-columns:1fr 1fr}.result-actions .map-result{grid-column:1/-1}.map-head{align-items:flex-start;flex-direction:column}.map-legend{justify-content:flex-start}.map-canvas{height:360px}}
.tool-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:18px 20px 0;padding:4px;border:1px solid #dfd0ba;border-radius:14px;background:#f1e7d7}.tool-tabs button{min-height:42px;border:0;border-radius:10px;background:transparent;color:#765e50;font-weight:700;cursor:pointer}.tool-tabs button.active{background:#fffdf8;color:var(--red);box-shadow:0 3px 12px rgba(79,42,20,.1)}.policy-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#efe3cf;color:#7a4d2d;font-size:11px;font-weight:700}.sales-intro h2{margin-top:10px}.sales-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding:16px;border:1px solid #e1d2bc;border-radius:16px;background:#fffaf1}.sales-form label{display:grid;align-content:start;gap:6px;color:#533a2f;font-size:13px;font-weight:700}.sales-form input{width:100%;min-height:43px;border:1px solid #d8c7b0;border-radius:10px;background:#fff;padding:10px 12px;outline:none;font-variant-numeric:tabular-nums}.sales-form input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(185,135,67,.13)}.sales-form small{color:#917d70;font-size:10px;font-weight:400;line-height:1.4}.input-suffix{display:grid;grid-template-columns:1fr auto;align-items:center}.input-suffix input{border-radius:10px 0 0 10px}.input-suffix b{display:grid;min-width:58px;align-self:stretch;place-items:center;border:1px solid #d8c7b0;border-left:0;border-radius:0 10px 10px 0;background:#f1e7d7;color:#765e50;font-size:11px}.sales-submit{grid-column:1/-1;min-height:46px;font-weight:700}.policy-line{margin-top:10px!important;padding:9px 11px;border-radius:10px;background:#f1ece4;color:#745f53!important;font-size:11px;line-height:1.55!important}.forecast-card{width:100%;padding:18px;border:1px solid #d9c39f;border-radius:18px;background:#fffdf8;box-shadow:0 12px 34px rgba(70,43,24,.09)}.forecast-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.forecast-head h3{margin:5px 0 4px;font-family:serif;font-size:22px}.forecast-policy{flex:none;padding:5px 9px;border-radius:999px;background:#f3e4c5;color:#7b5126;font-size:11px;font-weight:700}.forecast-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.forecast-kpis>div{display:grid;gap:3px;padding:12px 9px;border-radius:12px;background:#f5ecde;text-align:center}.forecast-kpis strong{color:#4a2d22;font-size:18px;line-height:1.2}.forecast-kpis span{color:#806e62;font-size:11px}.scenario-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.scenario-strip article{display:grid;gap:4px;padding:11px;border:1px solid #e8dbc9;border-radius:12px;background:#fff}.scenario-strip article[data-scenario="base"]{border-color:#b98743;background:#fff7e8}.scenario-strip span{color:#7d685b;font-size:11px}.scenario-strip strong{color:#4d3025;font-size:16px}.scenario-strip small{color:#907e72;font-size:10px;line-height:1.4}.allocation-panel{margin-top:15px;padding-top:14px;border-top:1px solid #eadfce}.allocation-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:11px}.allocation-item>div{display:flex;justify-content:space-between;gap:10px;color:#765e50;font-size:11px}.allocation-item strong{color:#4d3025;font-variant-numeric:tabular-nums}.allocation-item i{display:block;height:6px;margin-top:5px;overflow:hidden;border-radius:999px;background:#eee4d5}.allocation-item b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8c1d18,#b98743)}.forecast-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:9px;margin-top:15px}.forecast-actions button{min-height:43px}.forecast-actions .secondary{padding:9px 13px}.forecast-status{min-height:18px;margin:8px 0 0;color:#5f704f;font-size:12px;line-height:1.5}.forecast-card details{margin-top:7px;color:#8a776c;font-size:11px}.forecast-card details p{line-height:1.5}.recent-forecast{box-shadow:none}.recent-forecast .allocation-panel,.recent-forecast .result-notice,.recent-forecast details{display:none}
@media(max-width:520px){.tool-tabs{margin-left:14px;margin-right:14px}.sales-form{grid-template-columns:1fr}.sales-submit{grid-column:auto}.forecast-card{padding:15px}.forecast-head h3{font-size:20px}.forecast-kpis{grid-template-columns:1fr 1fr}.scenario-strip{grid-template-columns:1fr}.scenario-strip article{grid-template-columns:auto 1fr;align-items:center}.scenario-strip article strong{justify-self:end}.scenario-strip article small{grid-column:1/-1}.allocation-list{grid-template-columns:1fr}.forecast-actions{grid-template-columns:1fr}.sales-suggestions{grid-template-columns:1fr}}
.work-actions{display:flex;gap:9px;margin-top:12px;padding-top:12px;border-top:1px solid #eadfce}.work-actions .primary,.work-actions .secondary{min-height:40px;padding:9px 15px}.work-actions .secondary{height:auto}
