:root{--ink:#17312d;--muted:#6c7d79;--line:#dce7e4;--paper:#fff;--wash:#f3f7f6;--green:#136f63;--green2:#0e564d;--mint:#e3f4ef;--gold:#ba7b24;--red:#aa3d34;--red-bg:#ffebe8;--shadow:0 16px 45px rgba(31,63,57,.08);font-family:Inter,ui-sans-serif,system-ui,"Microsoft YaHei",sans-serif;color:var(--ink);background:var(--wash)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#153b35;color:#e8f5f1;padding:24px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px}.brand strong{display:block}.brand small{display:block;opacity:.62;font-size:10px;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#1a8172,#0d544c);color:white;font-size:25px;font-family:serif;box-shadow:0 10px 30px #0c514955}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:18px;background:#e0f2ed;color:#17463e;box-shadow:none}.sidebar nav{display:grid;gap:4px}.sidebar nav button{border:0;background:transparent;color:#d6e7e2;text-align:left;border-radius:10px;padding:10px 12px;display:flex;gap:12px;align-items:center}.sidebar nav button span{width:19px;text-align:center;opacity:.8}.sidebar nav button:hover,.sidebar nav button.active{background:#ffffff16;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 #67cfb8}.sidebar-foot{margin-top:auto;border-top:1px solid #ffffff19;padding:18px 8px 0}.sidebar-foot small{opacity:.65}.content{margin-left:246px;padding:42px 46px 80px;max-width:1600px}.page{display:none}.page.active{display:block}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px}.page-head h1{font-size:34px;margin:2px 0 8px;letter-spacing:-.025em}.page-head p:not(.eyebrow){margin:0;color:var(--muted);max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:11px;color:var(--green);margin:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.panel h2{font-size:19px;margin:0 0 12px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.panel-head h2{margin:2px 0 0}.hero-grid,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.hero-card,.metric-card{border-radius:17px;padding:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.hero-card.primary-card{background:linear-gradient(145deg,#174a42,#0d6659);color:#fff}.hero-card .label,.metric-card .label{color:var(--muted);font-size:13px}.primary-card .label{color:#c8e5dd}.hero-card strong,.metric-card strong{font-size:29px;display:block;margin:7px 0 3px}.hero-card small,.metric-card small{color:var(--muted)}.primary-card small{color:#b7d8d0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.allocation-tree{display:grid;gap:13px}.alloc-row{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:center}.bar{height:9px;background:#edf2f1;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:99px}.alloc-row.depth1{padding-left:15px}.alloc-row.depth2{padding-left:34px;font-size:13px}.empty-state{color:var(--muted);text-align:center;padding:34px}.primary,.secondary,.ghost,.danger,.link,.icon-btn{border-radius:10px;border:1px solid transparent;padding:9px 14px;font-weight:700}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green2)}.secondary{background:var(--mint);color:var(--green);border-color:#c8e7df}.ghost{background:transparent;color:inherit;border-color:var(--line)}.sidebar .ghost{border-color:#ffffff28}.danger{background:var(--red-bg);color:var(--red);border-color:#f6cfc9}.link{background:none;color:var(--green);padding:4px}.icon-btn{width:36px;height:36px;padding:0;background:transparent;font-size:22px}.wide{width:100%}.stack{display:grid;gap:13px}.gap-lg{gap:18px}label{display:grid;gap:6px;font-weight:650;font-size:13px}input,select,textarea{width:100%;border:1px solid #bdceca;background:#fff;border-radius:10px;padding:10px 11px;outline:none}textarea{min-height:105px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#3d9a8b;box-shadow:0 0 0 3px #2f8e7e18}.check{display:flex;align-items:center;gap:9px}.check input{width:auto}.button-row{display:flex;gap:10px;flex-wrap:wrap}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.card-list{display:grid;gap:12px}.item-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.item-card h3{margin:0 0 5px;font-size:16px}.item-card p{margin:0;color:var(--muted)}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.chip{border-radius:999px;padding:4px 8px;background:#edf4f2;color:#47645e;font-size:11px}.chip.hard{background:#ffebe8;color:#9b3e34}.item-actions{display:flex;gap:7px;flex-shrink:0}.toolbar{display:flex;gap:12px;margin-bottom:18px}.toolbar input{max-width:420px}.timeline{display:grid;gap:0}.timeline-item{position:relative;padding:0 0 22px 28px;border-left:1px solid #cbdcd8}.timeline-item:before{content:"";position:absolute;left:-6px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--wash)}.timeline-item article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.timeline-meta{font-size:12px;color:var(--muted);margin-bottom:6px}.analysis-search form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:end}.analysis-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.quote{font-size:34px;font-weight:800}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{text-align:left;padding:10px 9px;border-bottom:1px solid #e8efed;white-space:nowrap}.data-table th{color:var(--muted);font-size:11px;text-transform:uppercase}.table-wrap{overflow:auto}.risk-banner{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;border-radius:14px;padding:17px;background:#edf7f4}.risk-score{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800;font-size:19px}.risk-banner.medium{background:#fff4df}.risk-banner.medium .risk-score{background:var(--gold)}.risk-banner.high{background:var(--red-bg)}.risk-banner.high .risk-score{background:var(--red)}.risk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.risk-item{border:1px solid var(--line);border-radius:11px;padding:12px}.notice{border:1px solid #cde4de;background:#edf7f4;color:#37675e;border-radius:12px;padding:12px 15px;margin-bottom:17px}.rule-mini-list{display:grid;gap:9px}.mini-row{display:flex;gap:9px;align-items:flex-start;border-bottom:1px solid #edf2f1;padding:9px 0}.mini-row:last-child{border:0}.template-strip{display:flex;justify-content:space-between;align-items:center;background:#f8fbfa}.template-strip p{margin:3px 0 0;color:var(--muted)}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.admin-tabs button{border:0;background:none;padding:11px 16px;color:var(--muted);font-weight:700}.admin-tabs button.active{color:var(--green);border-bottom:2px solid var(--green)}.admin-pane{display:none}.admin-pane.active{display:block}.fine{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.toast{position:fixed;right:24px;top:22px;background:#153b35;color:#fff;padding:12px 17px;border-radius:11px;z-index:100;box-shadow:var(--shadow);opacity:0;transform:translateY(-10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}.toast.error{background:#9b3e34}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 75% 20%,#dcefe9 0,transparent 35%),var(--wash)}.login-card{width:min(430px,100%);background:#fff;padding:38px;border-radius:24px;border:1px solid var(--line);box-shadow:0 24px 70px #183b3322}.login-card .brand-mark{margin-bottom:22px}.login-card h1{font-size:31px;margin:4px 0}.login-card form{margin-top:25px}.mobile-top{display:none}dialog{border:0;border-radius:18px;padding:0;width:min(680px,calc(100vw - 28px));max-height:88vh;box-shadow:0 30px 90px #183b3340}dialog::backdrop{background:#102d285f;backdrop-filter:blur(3px)}dialog form{padding:23px}#dialogBody{max-height:62vh;overflow:auto;padding:3px}.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:14px}.dialog-head{margin-bottom:20px}.dialog-head h2{margin:3px 0 0}.dialog-actions{margin-top:20px;justify-content:flex-end}.condition-row{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px;padding:10px;background:#f6f9f8;border-radius:11px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:800;margin:20px 0 10px}.kpi-line{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf2f1}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:#a7b8b4}.status-dot.on{background:#2c9e86}.markdown-text{white-space:pre-wrap}.allocation-group{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}.allocation-group>header{display:flex;justify-content:space-between;background:#f6f9f8;padding:13px 15px}.allocation-item{display:grid;grid-template-columns:1.2fr .8fr .8fr auto;gap:12px;align-items:center;padding:12px 15px;border-top:1px solid var(--line)}
@media(max-width:1100px){.hero-grid,.metric-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.analysis-search form{grid-template-columns:1fr 1fr}.analysis-search button{grid-column:span 2}.content{padding:32px 28px 70px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.content{margin-left:0;padding:78px 15px 55px}.mobile-top{display:flex;position:fixed;inset:0 0 auto;z-index:15;background:#153b35;color:#fff;height:58px;align-items:center;justify-content:space-between;padding:0 13px}.page-head{display:block}.page-head>button{margin-top:15px}.page-head h1{font-size:27px}.hero-grid,.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.hero-card,.metric-card{padding:15px}.hero-card strong,.metric-card strong{font-size:22px}.inline-form,.form-grid,.analysis-search form{grid-template-columns:1fr}.analysis-search button,.form-grid .full{grid-column:auto}.toolbar{flex-direction:column}.toolbar input{max-width:none}.item-card{display:block}.item-actions{margin-top:13px}.alloc-row{grid-template-columns:105px 1fr;gap:6px 10px}.alloc-row .bar{grid-column:1/-1;grid-row:2}.alloc-row strong{text-align:right}.condition-row{grid-template-columns:1fr 1fr}.allocation-item{grid-template-columns:1fr 1fr}.risk-grid{grid-template-columns:1fr}}
.nav-backdrop{display:none}.history-hover{position:relative;z-index:1}.history-hover:after,.trend-point:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,6px);width:max-content;max-width:min(340px,80vw);padding:8px 10px;border-radius:9px;background:#153b35;color:#fff;font-size:12px;font-weight:500;line-height:1.5;box-shadow:0 12px 34px #14383235;opacity:0;visibility:hidden;pointer-events:none;transition:.16s;white-space:normal;z-index:40}.history-hover:hover:after,.history-hover:focus:after,.trend-point:hover:after,.trend-point:focus:after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.trend-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#f9fbfa;min-width:0}.trend-card header{display:flex;justify-content:space-between;gap:10px;align-items:center}.trend-card header span{font-size:11px;color:var(--muted)}.trend-bars{height:116px;display:flex;align-items:flex-end;gap:5px;padding:14px 2px 4px}.trend-point{position:relative;flex:1;min-width:0;height:100%;border:0;padding:0;background:transparent;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.trend-point i{display:block;width:min(16px,78%);min-height:8px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#2b9d88,#136f63)}.trend-point.negative i{background:linear-gradient(180deg,#d17469,#aa3d34)}.trend-point small{font-size:9px;color:var(--muted)}.empty-mini{height:126px;display:grid;place-items:center;color:var(--muted);font-size:12px}.analysis-details{border:1px solid var(--line);border-radius:13px;margin:12px 0;background:#fff}.analysis-details>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;font-weight:800;list-style:none}.analysis-details>summary::-webkit-details-marker{display:none}.analysis-details>summary:after{content:'＋';color:var(--green);font-size:18px}.analysis-details[open]>summary:after{content:'−'}.analysis-details>summary small{margin-left:auto;color:var(--muted);font-weight:500}.analysis-details[open]>:not(summary){margin-left:15px;margin-right:15px}.analysis-details[open]>.table-wrap{margin-bottom:15px}.bank-history-table input{min-width:92px;padding:8px}
@media(max-width:1100px){.trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.menu-open{overflow:hidden}.sidebar{width:min(286px,84vw);z-index:31;box-shadow:18px 0 50px #09282038}.nav-backdrop{display:block;position:fixed;inset:0;border:0;border-radius:0;padding:0;background:#09282070;z-index:30;opacity:0;visibility:hidden;transition:.2s}.nav-backdrop.show{opacity:1;visibility:visible}.mobile-top{display:grid;grid-template-columns:44px minmax(0,1fr) auto;z-index:25;padding:0 10px;gap:8px}.mobile-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-top #mobileUser{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#cde1dc}.item-actions{flex-wrap:wrap}.allocation-item{grid-template-columns:1fr}.allocation-item .item-actions{grid-column:1/-1}.condition-row{grid-template-columns:1fr}.risk-banner{grid-template-columns:auto 1fr}.risk-banner>div:last-child{grid-column:1/-1}.trend-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px}.trend-card{flex:0 0 78vw;scroll-snap-align:start}.analysis-details>summary{align-items:flex-start}.analysis-details>summary small{display:none}button,.primary,.secondary,.ghost,.danger,.icon-btn{min-height:44px}.link{min-height:38px}.dialog-actions button{min-width:88px}dialog{width:calc(100vw - 18px);max-height:92vh}dialog form{padding:18px}#dialogBody{max-height:68vh}.panel{padding:17px}.kpi-line{align-items:flex-start}.kpi-line>span:last-child{text-align:right}.history-hover:after{left:8px;right:8px;transform:translateY(6px);width:auto;max-width:none}.history-hover:hover:after,.history-hover:focus:after{transform:none}}
@media(max-width:420px){.hero-grid,.metric-grid{grid-template-columns:1fr}.content{padding-left:11px;padding-right:11px}.login-card{padding:27px 22px}.analysis-header{display:block}.analysis-header>div:last-child{margin-top:12px}.trend-card{flex-basis:84vw}.button-row>*{flex:1}.item-actions>*{flex:1}.allocation-group>header{display:block}.allocation-group>header>div:last-child{margin-top:8px}.dialog-head{align-items:flex-start}}
.condition-row{grid-template-columns:1.5fr 1fr 1fr 1fr auto}
@media(max-width:760px){.condition-row{grid-template-columns:1fr}}
.admin-user-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:13px}.admin-user-card{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfdfc;min-width:0}.admin-user-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-user-card header strong{font-size:16px}.admin-user-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0 10px}.admin-user-facts span{display:grid;gap:3px;padding:9px;border-radius:10px;background:#edf4f2}.admin-user-facts small{color:var(--muted);font-size:10px}.admin-user-facts strong{font-size:13px}.admin-user-card .item-actions{margin-top:13px;flex-wrap:wrap}.admin-delete-link{color:var(--red)}
@media(max-width:760px){.admin-user-grid{grid-template-columns:1fr}.admin-user-card{padding:15px}.admin-user-facts{grid-template-columns:1fr 1fr}.admin-user-card .item-actions{display:grid;grid-template-columns:1fr 1fr}.admin-user-card .item-actions .link{border:1px solid var(--line);background:#fff}.admin-user-card .item-actions .admin-delete-link{background:var(--red-bg);border-color:#f6cfc9}.admin-tabs{overflow-x:auto;white-space:nowrap}.admin-tabs button{flex:0 0 auto}}
.public-card{display:none}.public-card.active{display:block}.public-links{display:flex;justify-content:space-between;gap:14px;margin:18px 0 10px;font-size:13px}.public-links a{color:var(--green);font-weight:700;text-decoration:none}.public-action-link{display:block;text-align:center;text-decoration:none;margin-top:12px}
.freshness-note{display:flex;align-items:flex-start;gap:12px}.freshness-note strong{white-space:nowrap}.freshness-note span{font-size:12px}
@media(max-width:760px){.freshness-note{display:grid;gap:4px}.freshness-note strong{white-space:normal}.invite-code{word-break:break-all}}

/* v1.3.0：风险警示、估值模拟、双行情口径与运维引导 */
.hero-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.hero-card.breach-card,.metric-card.breach-card{border-color:#e5948b;background:linear-gradient(145deg,#fff5f3,#ffe7e3);box-shadow:0 14px 38px rgba(170,61,52,.14)}
.breach-card .label,.breach-card small{color:#8f372f}.breach-card strong{color:var(--red)}
.hero-card.warn-card,.metric-card.warn-card{border-color:#e7bf72;background:linear-gradient(145deg,#fffaf0,#fff0cd);box-shadow:0 14px 38px rgba(186,123,36,.12)}
.warn-card .label,.warn-card small{color:#76521a}.warn-card strong{color:#9c651c}
.rule-breached{border-color:#e39a91!important;background:#fff4f2!important}.rule-breached h3,.rule-breached strong{color:var(--red)}
.danger-notice{border:1px solid #efb1a9;background:var(--red-bg);color:#84352e;border-radius:12px;padding:13px 15px;margin:15px 0}
.dialog-error{position:sticky;top:0;z-index:4;border:1px solid #e49990;background:#fff0ee;color:#8c362e;border-radius:11px;padding:11px 13px;margin-bottom:14px;font-weight:700;box-shadow:0 8px 22px rgba(170,61,52,.12)}
.form-advanced{grid-column:1/-1;border:1px solid var(--line);border-radius:12px;padding:0 13px 13px;background:#fafcfb}.form-advanced>summary{cursor:pointer;padding:12px 0;font-weight:800;color:var(--green)}
.simulator-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:14px}.simulator-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 15px}.simulator-results article{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f7faf9}.simulator-results span{display:block;color:var(--muted);font-size:12px}.simulator-results strong{display:block;font-size:20px;margin-top:5px}
.quote-comparison{display:flex;gap:12px;align-items:stretch;justify-content:flex-end}.quote-box{min-width:172px;border:1px solid var(--line);border-radius:14px;padding:13px 15px;background:#f8fbfa}.quote-box.live{border-color:#8ed1c2;background:#ebf8f4}.quote-box>span{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.04em}.quote-box .quote{font-size:29px;margin:5px 0 2px}
.classification-badge{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;margin-top:10px;border:1px solid #b9ded5;background:#edf8f5;border-radius:10px;padding:8px 10px;font-size:12px}.classification-badge span{color:var(--muted)}.classification-badge.unknown{border-color:#edc47b;background:#fff7e8}.classification-badge.unknown strong{color:#875a14}
.cron-guide{border:1px solid #bcded6;background:#f2faf8;border-radius:14px;padding:16px;margin:18px 0}.cron-guide code{display:block;overflow-wrap:anywhere;background:#153b35;color:#e8f5f1;border-radius:9px;padding:11px;margin:9px 0;font-size:12px}.cron-guide h3{margin:0 0 8px}.allocation-tree .depth3{padding-left:52px;font-size:12px}
.rule-alert-panel{border:1px solid #e5be70;background:#fff8e8;border-radius:15px;padding:16px 18px;margin:0 0 20px}.rule-alert-panel.danger{border-color:#e4948b;background:#fff0ee}.rule-alert-panel>header{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}.rule-alert-panel>header span{font-size:12px;color:var(--muted)}.rule-alert-row{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ead7ae;padding:11px 0}.rule-alert-panel.danger .rule-alert-row{border-color:#ecc7c2}.rule-alert-row div{display:grid;gap:3px}.rule-alert-row span{font-size:12px;color:var(--muted)}.rule-alert-row b{font-size:12px;text-align:right;color:#855819}.rule-alert-row.danger b,.rule-alert-row.danger strong{color:var(--red)}
.ai-assessment{margin:22px 0}.ai-card{border:1px solid #aedbd0;background:linear-gradient(145deg,#f5fbf9,#e8f7f3);border-radius:16px;padding:20px}.ai-card.locked{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:linear-gradient(145deg,#fbfcfc,#f0f4f3);border-color:var(--line)}.ai-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.ai-card h3{margin:3px 0 8px}.ai-card p{margin-top:8px}.ai-lock{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#153b35;color:white;font-weight:900;letter-spacing:.08em}.button-link{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}.ai-report{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;margin-top:15px}.ai-report-meta{font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:11px}.ai-report-text{white-space:pre-wrap;line-height:1.75;font-size:14px}
@media(max-width:1280px){.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.hero-grid{grid-template-columns:repeat(2,1fr)}.simulator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-search form{grid-template-columns:1fr 1fr auto}.analysis-search button{grid-column:auto}}
@media(max-width:760px){.analysis-search form,.simulator-grid,.simulator-results{grid-template-columns:1fr}.quote-comparison{width:100%;overflow-x:auto;justify-content:flex-start;padding:4px 0 8px}.quote-box{min-width:158px;flex:1}.analysis-header{display:grid}.classification-badge{align-items:flex-start}.cron-guide{padding:13px}.allocation-tree .depth3{padding-left:28px}.rule-alert-panel>header,.rule-alert-row,.ai-card header{display:grid}.rule-alert-row b{text-align:left}.ai-card.locked{grid-template-columns:1fr}.ai-lock{width:48px;height:48px}}
@media(max-width:420px){.quote-comparison{display:grid;overflow:visible}.quote-box{min-width:0}.dialog-error{position:relative}}

/* v1.3.0：统一会员、功能权限与兑换卡 */
.account-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 8px;font-size:10px;line-height:1.2;background:#e9efed;color:#5d716d;vertical-align:middle}.account-badge.member{background:linear-gradient(145deg,#f7df9f,#d99b35);color:#5e3a09;box-shadow:0 4px 12px rgba(186,123,36,.22)}.account-badge.admin{background:#ccece4;color:#0d5e52}.sidebar-foot .account-badge{margin-left:4px}.mobile-top .account-badge{font-size:10px;white-space:nowrap}
.sidebar nav button.feature-locked:after{content:'会员';margin-left:auto;border:1px solid #ffffff2c;border-radius:999px;padding:2px 6px;font-size:9px;color:#f4d899}.sidebar nav button.feature-locked{opacity:.78}
.membership-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid var(--line);border-radius:20px;padding:26px;margin-bottom:20px;background:linear-gradient(145deg,#fff,#f1f6f4);box-shadow:var(--shadow)}.membership-hero.member{border-color:#e5bc69;background:linear-gradient(135deg,#fffaf0,#f5dfad)}.membership-hero.admin{border-color:#8fd2c4;background:linear-gradient(135deg,#edf9f6,#d7efe9)}.membership-hero h2{font-size:28px;margin:10px 0 4px}.membership-hero p{margin:0;color:var(--muted)}.membership-facts{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px}.membership-facts span{display:grid;gap:5px;border-radius:13px;padding:13px 15px;background:#ffffffbd}.membership-facts small{color:var(--muted)}.membership-facts strong{font-size:15px}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.feature-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#f8fbfa}.feature-card>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dff1ec;color:var(--green);font-weight:900}.feature-card.locked{background:#f7f7f7;color:#75817f}.feature-card.locked>span{background:#e9edec;color:#899592}.feature-card div{display:grid;gap:3px}.feature-card small{color:var(--muted)}.policy-table select{min-width:160px}.policy-table td:nth-child(3){white-space:normal;min-width:260px}
.setup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 14px}.setup-steps span{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f8fbfa;font-size:13px}.setup-steps strong{flex:0 0 25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:12px}
@media(max-width:760px){.membership-hero{display:grid;padding:19px}.membership-facts{grid-template-columns:1fr}.feature-grid,.setup-steps{grid-template-columns:1fr}.policy-table td:nth-child(3){min-width:220px}}
.brand strong,.brand small{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand small{letter-spacing:.08em}
.provider-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.provider-health{display:flex;flex-direction:column;gap:5px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.provider-health.healthy{border-color:rgba(40,167,117,.35);background:rgba(40,167,117,.06)}.provider-health.failed{border-color:rgba(215,72,72,.42);background:rgba(215,72,72,.07)}.provider-health.disabled{opacity:.68;background:#f4f6f5}.provider-health small{color:var(--muted);line-height:1.45}.provider-health .error-text{color:var(--danger);word-break:break-word}
.template-variable-list{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.template-variable{border:1px solid #b9d8d1;background:#f2faf8;color:var(--green);border-radius:999px;padding:6px 9px;font-size:11px;cursor:pointer}.template-variable:hover{background:#dff2ed}.message-preview{border:1px solid var(--line);border-radius:14px;padding:15px;background:#f8fbfa}.message-preview strong{display:block;margin-bottom:9px}.message-preview pre{white-space:pre-wrap;word-break:break-word;font:13px/1.65 inherit;margin:0;color:var(--text)}.message-preview small{display:block;color:var(--muted);border-top:1px solid var(--line);padding-top:9px;margin-top:10px}
.channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.channel-grid .panel{margin-bottom:0}.channel-card{min-width:0}.channel-tutorial{border:1px solid #cfe2dd;border-radius:12px;background:#f7fbfa;overflow:hidden}.channel-tutorial summary{cursor:pointer;padding:11px 13px;color:var(--green);font-weight:800;list-style:none;display:flex;align-items:center;justify-content:space-between}.channel-tutorial summary::-webkit-details-marker{display:none}.channel-tutorial summary:after{content:'＋';font-size:17px}.channel-tutorial[open] summary:after{content:'−'}.channel-tutorial>div{border-top:1px solid #dfeae7;padding:4px 14px 14px;color:#49645f;font-size:12px;line-height:1.7}.channel-tutorial ol{padding-left:20px}.channel-tutorial code{display:inline;padding:2px 5px;border-radius:5px;background:#e8f2ef;word-break:break-all}.channel-tutorial a{color:var(--green);font-weight:800}.channel-card input[type=password]{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:1100px){.channel-grid{grid-template-columns:1fr}}
@media(max-width:760px){.channel-grid{gap:14px}.channel-tutorial>div{padding-left:12px;padding-right:12px}.channel-card .button-row{display:grid;grid-template-columns:1fr 1fr}.channel-card .button-row button{width:100%}}
@media(max-width:420px){.channel-card .button-row{grid-template-columns:1fr}}

/* v1.3.1：好友推荐基础样式；1.3.2起新注册试用独立配置 */
.referral-code-box{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #b9ded5;background:linear-gradient(145deg,#f5fbf9,#e7f5f1);border-radius:15px;padding:16px 18px;margin:14px 0}.referral-code-box>div:first-child{display:grid;gap:5px;min-width:0}.referral-code-box small{color:var(--muted)}.referral-code-box strong{font:800 18px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em;overflow-wrap:anywhere}.referral-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0}.referral-stats .metric-card{padding:14px}.referral-stats .metric-card strong{font-size:23px}
@media(max-width:760px){.referral-code-box{display:grid;padding:14px}.referral-code-box .button-row{display:grid;grid-template-columns:1fr 1fr}.referral-code-box .button-row button{width:100%}}
@media(max-width:420px){.referral-code-box .button-row,.referral-stats{grid-template-columns:1fr}}
.form-grid>*{min-width:0}.admin-pane,.panel{min-width:0}.table-wrap{max-width:100%}

/* v1.3.2：估值反推、站内反馈、会员功能预览与AI智能分析 */
.simulator-basis{display:flex;align-items:flex-start;gap:10px;border:1px solid #b9ded5;background:linear-gradient(145deg,#f4fbf9,#e8f6f2);border-radius:12px;padding:12px 14px;margin:0 0 12px}.simulator-basis strong{white-space:nowrap;color:var(--green)}.simulator-basis span{color:#486862;font-size:12px;line-height:1.6}.simulator-target-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px}.simulator-grid label small{font-weight:500;color:var(--muted)}.simulator-formula{border-top:1px dashed var(--line);padding-top:12px;margin-bottom:15px!important}
.nav-count{display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:999px;padding:0 5px;background:#d55b4d;color:#fff;font-size:10px;font-weight:900;line-height:1}.sidebar .nav-count{margin-left:auto}.admin-tabs .nav-count{margin-left:5px;vertical-align:middle}
.support-layout{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);gap:20px;align-items:start}.support-list-panel,.support-thread-panel{margin-bottom:0}.support-ticket-list{display:grid;gap:8px;max-height:720px;overflow:auto;padding-right:3px}.support-ticket{width:100%;display:grid;gap:7px;text-align:left;border:1px solid var(--line);background:#f8fbfa;border-radius:12px;padding:12px 13px}.support-ticket:hover,.support-ticket.active{border-color:#79b8aa;background:#eaf6f2;box-shadow:0 6px 18px rgba(19,111,99,.08)}.support-ticket>span,.support-ticket>small{min-width:0}.support-ticket>small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-ticket-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.support-ticket-top strong{overflow-wrap:anywhere}.support-ticket span small{color:var(--muted);margin-left:5px}.support-thread{min-width:0}.support-thread-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.support-thread-head h2{margin:4px 0 8px;overflow-wrap:anywhere}.support-messages{display:grid;gap:11px;max-height:520px;overflow:auto;padding:6px 5px 14px}.support-message{max-width:84%;border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:12px 14px;background:#f5f8f7}.support-message.admin{justify-self:end;border-radius:14px 14px 4px 14px;border-color:#9fd1c5;background:#e7f5f1}.support-message header{display:flex;justify-content:space-between;gap:18px;margin-bottom:7px;font-size:12px}.support-message time{color:var(--muted);font-size:10px}.support-message>div{line-height:1.65;overflow-wrap:anywhere}.support-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;border-top:1px solid var(--line);padding-top:14px;margin-top:5px}.support-reply textarea{min-height:86px}.panel-inset{border:1px solid var(--line);border-radius:13px;padding:16px;background:#fbfdfc}.support-admin-controls{grid-template-columns:1fr 1fr auto;margin-bottom:10px}
.page.feature-preview-locked{position:relative;min-height:650px;overflow:hidden}.page.feature-preview-locked> :not(.membership-page-gate){filter:blur(5px);opacity:.58;pointer-events:none;user-select:none}.membership-page-gate{position:absolute;z-index:8;top:min(190px,24vh);left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 24px));text-align:center;border:1px solid #dfbe73;border-radius:22px;padding:28px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(255,247,224,.97));box-shadow:0 30px 80px rgba(65,50,21,.22)}.membership-page-gate h2{font-size:27px;margin:8px 0}.membership-page-gate>p:not(.eyebrow){color:var(--muted);line-height:1.7}.membership-page-gate .button-row{justify-content:center}.premium-orb{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 12px;border-radius:18px;background:linear-gradient(145deg,#f3d382,#b77921);color:#fff;font-weight:900;font-size:21px;box-shadow:0 12px 28px rgba(186,123,36,.28)}
.ai-premium-preview{position:relative;min-height:380px;border:1px solid #d9bc7a;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 85% 15%,rgba(243,207,112,.22),transparent 30%),linear-gradient(145deg,#f7fbfa,#fff9e9);box-shadow:0 22px 55px rgba(52,66,60,.12)}.ai-preview-content{padding:24px;filter:blur(5px);opacity:.48;pointer-events:none;user-select:none}.ai-preview-content header{display:flex;justify-content:space-between;gap:20px}.ai-preview-content h3{font-size:24px;margin:5px 0 18px}.ai-preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 18px}.ai-preview-metrics span{display:grid;gap:5px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fff}.ai-preview-metrics small{color:var(--muted)}.ai-preview-metrics strong{font-size:20px}.ai-preview-lines{display:grid;gap:9px;margin-top:20px}.ai-preview-lines i{height:10px;border-radius:99px;background:#c9d8d4}.ai-preview-lines i:nth-child(2){width:86%}.ai-preview-lines i:nth-child(3){width:72%}.ai-preview-lines i:nth-child(4){width:91%}.ai-unlock-overlay{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 30px));text-align:center;border:1px solid rgba(220,181,94,.72);border-radius:20px;padding:24px;background:rgba(255,255,255,.94);box-shadow:0 22px 65px rgba(39,53,48,.22);backdrop-filter:blur(8px)}.ai-unlock-overlay h3{font-size:24px;margin:7px 0}.ai-unlock-overlay>p:not(.eyebrow){color:var(--muted);line-height:1.65}.ai-unlock-overlay .button-row{justify-content:center}.ai-unlock-overlay>small{display:block;color:var(--muted);margin-top:12px}
@media(max-width:900px){.support-layout{grid-template-columns:1fr}.support-ticket-list{max-height:340px}.admin-support-layout{grid-template-columns:1fr}.simulator-target-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.simulator-basis{display:grid}.support-thread-head,.support-reply{grid-template-columns:1fr;display:grid}.support-message{max-width:94%}.support-admin-controls,.simulator-target-grid{grid-template-columns:1fr}.membership-page-gate{top:120px;padding:22px 17px}.ai-premium-preview{min-height:460px}.ai-preview-metrics{grid-template-columns:1fr}.ai-unlock-overlay{padding:20px 15px}.ai-unlock-overlay h3{font-size:21px}}
@media(max-width:760px){input,select,textarea{font-size:16px}.login-card input,.login-card select,.login-card textarea{font-size:16px}}

/* v1.3.2：总览分层结构统一左对齐；层级缩进只作用于文字，不缩短进度条。 */
.allocation-tree{padding:0;text-align:left}
.allocation-tree .alloc-row{--alloc-indent:0;grid-template-columns:minmax(0,1fr);gap:4px;padding-left:0;text-align:left;align-items:start}
.allocation-tree .alloc-row>span,.allocation-tree .alloc-row>strong{grid-column:1;justify-self:start;text-align:left;min-width:0;padding-left:var(--alloc-indent)}
.allocation-tree .alloc-row>.bar{grid-column:1;grid-row:auto;width:100%}
.allocation-tree .alloc-row.depth1{--alloc-indent:15px}
.allocation-tree .alloc-row.depth2{--alloc-indent:34px}
.allocation-tree .alloc-row.depth3{--alloc-indent:52px}
@media(max-width:760px){.allocation-tree .alloc-row.depth1{--alloc-indent:10px}.allocation-tree .alloc-row.depth2{--alloc-indent:20px}.allocation-tree .alloc-row.depth3{--alloc-indent:30px}}

/* v1.3.2：资金纪律警示内层规则保留足够安全留白。 */
.rule-alert-panel>header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;margin-bottom:0}
.rule-alert-panel>header>div{display:grid;gap:4px;min-width:0}
.rule-alert-symbol{width:28px;height:28px;display:grid;place-items:center;border:1px solid currentColor;border-radius:8px;background:#fff8;color:#855819;font-size:19px;font-weight:800;line-height:1;pointer-events:none;user-select:none}
.rule-alert-panel.danger .rule-alert-symbol{color:var(--red);background:#fff9}
.rule-alert-details{display:grid;gap:10px;margin-top:12px}
.rule-alert-row{border:1px solid #ead7ae;border-radius:11px;padding:14px 16px;background:#fffaf0}
.rule-alert-panel.danger .rule-alert-row{border-color:#ecc7c2;background:#fff8f7}
@media(max-width:760px){.rule-alert-panel{padding:15px}.rule-alert-row{padding:13px 14px}.rule-alert-panel>header{display:grid}.rule-alert-row{display:grid}}

/* v1.3.2：纪律状态中的迷你规则改为带留白的独立卡片。 */
.rule-mini-list{gap:10px}
.rule-mini-list .mini-row,.rule-mini-list .mini-row:last-child{border:1px solid var(--line);border-radius:11px;padding:13px 14px;background:#f8fbfa;gap:11px}
.rule-mini-list .mini-row.rule-breached{border-color:#e39a91;background:#fff4f2}
.rule-mini-list .mini-row>span{flex:0 0 24px;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#eaf4f1;font-weight:900}
.rule-mini-list .mini-row.rule-breached>span{background:#ffe4df;color:var(--red)}
.rule-mini-list .mini-row>div{min-width:0;line-height:1.55}
.support-notification-card{margin-bottom:1rem}
.support-notification-form{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}
.support-notification-form h2{margin:.15rem 0 .35rem}
.support-notification-form p{margin:0}
.support-notification-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}
@media (max-width:720px){.support-notification-form{align-items:stretch;flex-direction:column}.support-notification-actions{justify-content:flex-start}.support-notification-actions button{width:100%}}
.deployment-version-card{display:grid;gap:14px}.deployment-version-card.version-mismatch{border-color:#d85b4a;box-shadow:0 0 0 3px rgba(216,91,74,.09)}.deployment-version-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.deployment-version-grid>div{display:grid;gap:5px;align-content:start;padding:14px;border:1px solid var(--line);border-radius:15px;background:#f8fbfa;min-width:0}.deployment-version-grid small,.deployment-version-grid span{color:var(--muted)}.deployment-version-grid strong{font-size:22px;line-height:1.15;overflow-wrap:anywhere}.deployment-version-grid span{font-size:12px;line-height:1.5}.status-chip.ok{color:#0d6558;background:#e6f6f1;border-color:#b9ddd2}.status-chip.danger{color:#9e3528;background:#fff0ec;border-color:#efc4bb}@media(max-width:760px){.deployment-version-grid{grid-template-columns:1fr 1fr}.deployment-version-grid>div{padding:12px}.deployment-version-grid strong{font-size:18px}}@media(max-width:420px){.deployment-version-grid{grid-template-columns:1fr}}

/* v1.3.4：AI报告安全渲染Markdown，并收敛资产分层进度条的视觉宽度。 */
.ai-report-text{white-space:normal;overflow-wrap:anywhere}.markdown-body{color:#29423e;font-size:14px;line-height:1.78}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--ink);line-height:1.35;margin:1.35em 0 .55em}.markdown-body h1{font-size:24px}.markdown-body h2{font-size:20px;padding-bottom:7px;border-bottom:1px solid var(--line)}.markdown-body h3{font-size:17px}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:15px}.markdown-body p{margin:.75em 0}.markdown-body strong{color:#183c36}.markdown-body ul,.markdown-body ol{margin:.7em 0;padding-left:1.7em}.markdown-body li{margin:.35em 0}.markdown-body .task-item{list-style:none;margin-left:-1.35em;display:flex;gap:8px}.markdown-body blockquote{margin:1em 0;padding:10px 14px;border-left:4px solid #67a99a;border-radius:0 9px 9px 0;background:#f0f8f6;color:#456660}.markdown-body blockquote>*:first-child{margin-top:0}.markdown-body blockquote>*:last-child{margin-bottom:0}.markdown-body code{font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:#edf3f1;border-radius:5px;padding:2px 5px;color:#244b44}.markdown-body pre{max-width:100%;overflow:auto;margin:1em 0;padding:13px 15px;border-radius:11px;background:#153b35;color:#e8f5f1}.markdown-body pre code{padding:0;background:transparent;color:inherit;white-space:pre}.markdown-body a{color:var(--green);text-decoration:underline;text-underline-offset:2px}.markdown-body hr{height:1px;border:0;background:var(--line);margin:1.25em 0}.markdown-table-wrap{max-width:100%;overflow-x:auto;margin:1em 0;border:1px solid var(--line);border-radius:10px}.markdown-body table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.markdown-body th,.markdown-body td{padding:9px 11px;border-bottom:1px solid var(--line);white-space:nowrap}.markdown-body th{background:#f2f7f5;color:#405f59}.markdown-body tbody tr:last-child td{border-bottom:0}
.allocation-tree{--allocation-track-width:360px;gap:8px}.allocation-tree .alloc-row{gap:5px;padding:5px 0 8px;border-bottom:1px solid #edf2f1}.allocation-tree .alloc-row:last-child{border-bottom:0}.allocation-tree .alloc-row>.bar{width:100%;max-width:var(--allocation-track-width);height:7px;background:#e9f0ee;box-shadow:inset 0 1px 2px rgba(31,63,57,.07)}.allocation-tree .alloc-row>strong{font-size:13px;line-height:1.55}.allocation-tree .alloc-row.depth0>.bar i{background:#174a42}.allocation-tree .alloc-row.depth1>.bar i{background:#2b8879}.allocation-tree .alloc-row.depth2>.bar i{background:#65aa9b}.allocation-tree .alloc-row.depth3>.bar i{background:#9bcfc3}
@media(max-width:760px){.allocation-tree{--allocation-track-width:100%}.markdown-body h1{font-size:21px}.markdown-body h2{font-size:18px}.markdown-body pre{padding:11px 12px}}
