:root{color-scheme:light;--ink:#15251f;--muted:#64736d;--line:#dce4df;--paper:#f4f7f5;--card:#fff;--accent:#166b4f;--accent-soft:#e6f2ed;--danger:#b44335;--warning:#b06b15;--shadow:0 12px 30px rgba(27,55,44,.08)}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}.topbar{min-height:88px;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:20}.eyebrow,.card-title p,.dialog-header p{margin:0 0 5px;color:var(--accent);font-size:11px;font-weight:800}.topbar h1{margin:0;font-family:Georgia,"Songti SC",serif;font-size:25px;font-weight:600}.top-actions{display:flex;align-items:center;gap:12px}.api-status{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.api-status i{display:block;width:8px;height:8px;border-radius:50%;background:#9aa6a1}.api-status.ready i{background:#31966f}.api-status.error i{background:var(--danger)}button,input,textarea{font:inherit}.primary-button,.secondary-button,.icon-button{border-radius:9px;border:1px solid transparent;cursor:pointer}.primary-button{background:var(--accent);color:#fff;padding:9px 14px;font-weight:700}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{background:#fff;border-color:var(--line);color:var(--ink);padding:9px 13px}.icon-button{font-size:24px;background:transparent;line-height:1;padding:5px 9px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:calc(100dvh - 88px)}.customer-panel{border-right:1px solid var(--line);background:#fff;min-height:calc(100dvh - 88px)}.panel-heading{padding:20px 18px 12px;border-bottom:1px solid var(--line)}.panel-heading>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-weight:800}.panel-heading strong{font-variant-numeric:tabular-nums;background:var(--paper);padding:3px 8px;border-radius:20px;color:var(--muted)}input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:10px 11px;outline:none}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.customer-list{padding:9px;max-height:calc(100dvh - 190px);overflow:auto}.customer-item{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:12px;border:1px solid transparent;background:transparent;border-radius:10px;cursor:pointer;margin-bottom:3px}.customer-item:hover{background:var(--paper)}.customer-item.active{background:var(--accent-soft);border-color:#bcd8cc}.mini-avatar,.avatar{display:grid;place-items:center;border-radius:10px;background:#183e32;color:#fff;font-weight:800}.mini-avatar{min-width:38px;height:38px;font-size:12px}.customer-copy{min-width:0;flex:1}.customer-copy strong,.customer-copy span{display:block}.customer-copy strong{font-size:14px}.customer-copy span{font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-level{font-weight:900;font-size:14px}.content{padding:26px 30px 48px;min-width:0}.empty-state{min-height:65vh;display:grid;place-content:center;text-align:center}.empty-icon{font-size:52px;color:#8ba399}.empty-state h2{font-family:Georgia,"Songti SC",serif;margin:12px 0 8px}.empty-state p,.muted{color:var(--muted);line-height:1.7}.hero-card{display:flex;justify-content:space-between;gap:24px;padding:24px 26px;background:#183e32;color:#fff;border-radius:14px;box-shadow:var(--shadow)}.customer-title,.rating-summary{display:flex;align-items:center;gap:16px}.avatar{width:58px;height:58px;background:#e8f3ee;color:#183e32;font-size:18px}.customer-title p{margin:0 0 5px;color:#b9d1c8}.customer-title h2,.rating-summary h3{margin:0;font-family:Georgia,"Songti SC",serif}.customer-title span{display:block;margin-top:8px;color:#b9d1c8;font-size:12px}.score-ring{width:82px;height:82px;border-radius:50%;border:7px solid #4d7869;display:grid;place-content:center;text-align:center}.score-ring strong{font-size:28px;font-variant-numeric:tabular-nums}.score-ring span{font-size:10px;color:#b9d1c8}.level-badge{display:inline-block;color:#183e32;background:#e8f3ee;border-radius:6px;padding:3px 8px;font-weight:900}.rating-summary h3{font-size:17px;margin-top:7px}.rating-summary p{color:#b9d1c8;margin:5px 0 0;font-size:13px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.metric{padding:16px 18px;background:var(--card);border:1px solid var(--line);border-radius:12px}.metric span{font-size:12px;color:var(--muted)}.metric strong{display:block;margin-top:8px;font-size:25px;font-variant-numeric:tabular-nums}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 3px 12px rgba(27,55,44,.03);margin-bottom:16px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.card-title h3{margin:0;font-family:Georgia,"Songti SC",serif;font-size:19px}.card-title>span{color:var(--muted);font-size:12px}.card-title input{max-width:240px}.evidence-list{display:grid;gap:9px;max-height:430px;overflow:auto}.evidence{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:11px;background:var(--paper);border-radius:9px}.points{font-weight:900;color:var(--accent);font-variant-numeric:tabular-nums}.evidence strong{display:block;font-size:13px}.evidence p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.rule-advice{border-left:3px solid var(--accent);padding:11px 13px;background:var(--accent-soft);line-height:1.65}.advice-content{min-height:160px}.advice-section{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.advice-section h4{margin:0 0 9px}.advice-section ul{margin:0;padding-left:19px;color:#42534c;line-height:1.65}.priority{display:inline-block;background:#f4e9d8;color:#7d4d0e;border-radius:6px;padding:3px 8px;font-weight:800;margin-bottom:10px}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden;max-height:520px;overflow-y:auto}.profile-field{padding:12px;background:#fff;min-width:0}.profile-field span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.profile-field strong{display:block;font-size:13px;word-break:break-word}dialog{width:min(900px,calc(100% - 28px));max-height:90dvh;border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(14,28,23,.48)}.dialog-shell{padding:22px;overflow:auto;max-height:90dvh}.dialog-header{display:flex;justify-content:space-between;align-items:start}.dialog-header h2{margin:0;font-family:Georgia,"Songti SC",serif}.model-row{display:grid;grid-template-columns:1fr 1fr 150px;gap:12px;margin:20px 0}.model-row label,.prompt-label{font-size:12px;color:var(--muted)}.model-row input,.prompt-label textarea{margin-top:7px}.prompt-label{display:block;margin-top:14px}.prompt-label textarea{resize:vertical;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.dialog-note{color:var(--muted);font-size:12px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.error-message{color:var(--danger);background:#fcece9;padding:11px;border-radius:8px}.skeleton-list{padding:18px;color:var(--muted);font-size:13px}
@media(max-width:980px){.workspace{grid-template-columns:240px minmax(0,1fr)}.metrics-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.profile-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.topbar{position:static;padding:16px;align-items:flex-start}.top-actions{align-items:flex-end;flex-direction:column}.workspace{display:block}.customer-panel{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.customer-list{display:flex;max-height:none;overflow-x:auto}.customer-item{min-width:230px}.content{padding:16px}.hero-card{align-items:flex-start;flex-direction:column}.rating-summary{width:100%;justify-content:flex-start}.profile-grid{grid-template-columns:1fr}.model-row{grid-template-columns:1fr}.api-status{display:none}}
.points.negative{color:var(--danger)}
.signal-tag{align-self:start;color:var(--accent);font-size:10px;font-weight:800;line-height:1.35}.dimension-metric strong{font-size:17px;line-height:1.4;min-height:48px}
.metric small{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.metric p{margin:8px 0 0;color:#52625c;font-size:11px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric .negative-score{color:var(--danger)}
.token-meter{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));z-index:30;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.94);color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;box-shadow:0 2px 8px rgba(27,55,44,.08)}
.dynamic-card{margin:16px 0 0}.dynamic-card textarea{resize:vertical;min-height:76px;line-height:1.6}.supplement-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}.supplement-actions p{margin:0;color:var(--muted);font-size:12px}.supplement-actions>div{display:flex;gap:8px;flex-shrink:0}.dynamic-card .card-title>span.applied{color:var(--accent);font-weight:700}.dynamic-card .card-title>span.changed{color:var(--warning);font-weight:700}
.add-customer-button{width:100%;margin-top:9px}.customer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.customer-form-grid label{color:var(--muted);font-size:12px}.customer-form-grid input,.customer-form-grid select,.customer-form-grid textarea{margin-top:6px}.customer-form-grid select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 11px;color:var(--ink)}.customer-form-grid .wide-field{grid-column:1/-1}
@media(max-width:700px){.supplement-actions{align-items:stretch;flex-direction:column}.supplement-actions>div{justify-content:flex-end}}
@media(max-width:700px){.customer-form-grid{grid-template-columns:1fr}.customer-form-grid .wide-field{grid-column:auto}}
.nav-link{text-decoration:none;display:inline-block}
.mini-level{min-width:26px;text-align:center;padding:4px;border-radius:6px}.mini-level.level-h{background:#dff3e9;color:#126343}.mini-level.level-w{background:#fff0d9;color:#9a5d08}.mini-level.level-c{background:#edf0ef;color:#5e6b66}.mini-level.level-s{background:#f4e5e2;color:#9c3b31}
