*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;background:#f4f7fb;color:#172033}
a{color:#1d72e8;text-decoration:none}
input,select,textarea,button{font:inherit}
button,.btn{border:0;border-radius:8px;padding:9px 13px;background:#edf2f8;color:#243248;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;min-height:36px}
button:disabled{opacity:.55;cursor:not-allowed}
[hidden]{display:none!important}
.primary,.btn.primary{background:#1d72e8;color:#fff}
.green{background:#22a64b;color:#fff}
.danger{background:#ff4d4f;color:#fff;border:0;border-radius:8px;padding:9px 13px;cursor:pointer}
.mobile{max-width:920px;margin:0 auto;padding:16px 12px 28px}
.hero{display:flex;align-items:center;gap:26px;min-height:218px;border-radius:0 0 26px 26px;background:radial-gradient(circle at 82% 8%,rgba(44,214,255,.28),transparent 30%),linear-gradient(135deg,#2378e8,#1654c8 72%,#123eaa);color:#fff;margin:-16px -12px 0;padding:66px 34px 46px}
.hero h1{font-size:30px;margin:0 0 8px}.hero p{opacity:.86;margin:0;font-size:15px}
.public-logo{flex:0 0 auto;width:min(440px,74vw);height:116px;object-fit:contain;border-radius:26px;background:linear-gradient(180deg,#fff,#f8fbff);padding:18px 30px;box-shadow:0 24px 54px rgba(8,28,74,.26),inset 0 0 0 1px rgba(255,255,255,.72)}
.panel{background:#fff;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 8px 30px rgba(28,43,68,.06);padding:18px;margin-top:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#243248}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1.5px solid #dfe7f1;border-radius:10px;padding:11px 12px;background:#fff;color:#172033;outline:none}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#1d72e8;box-shadow:0 0 0 4px rgba(29,114,232,.1)}
.field-tip{display:block;color:#728198;font-size:12px;font-weight:500;line-height:1.5}
.plan-constraint-tip:not([hidden]){display:block;color:#a75b00;background:#fff8e6;border:1px solid #ffe0a3;border-radius:9px;padding:8px 10px;font-weight:750;line-height:1.55}
.form-block{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#243248}
.block-title{font-weight:800;color:#243248}
.period-field select{min-height:48px;padding:11px 12px}
.location-btn{width:100%;min-height:42px;border:1px solid #d8e8ff;background:#eef6ff;color:#1d72e8;font-weight:900}
.location-btn:disabled{opacity:.65}
.site-field{display:none!important}
.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.auth-line{grid-column:1/-1;display:flex;align-items:center;gap:4px;color:#5f6f86;font-size:13px;font-weight:600;margin:-2px 0 -4px}
.auth-check{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px!important;font-weight:600!important;color:#5f6f86!important}
.auth-check input{width:18px!important;height:18px;padding:0!important;margin:0;accent-color:#1d72e8}
.auth-link{min-height:auto;padding:0;border:0;background:transparent;color:#1d72e8;font-weight:700}
.auth-line.agreed{color:#43556c}
.auth-modal{position:fixed;inset:0;z-index:100;background:#f4f7fb;display:flex;align-items:stretch;justify-content:center}
.auth-dialog{width:min(920px,100%);height:100%;display:flex;flex-direction:column;background:#f4f7fb}
.auth-title{height:64px;display:flex;align-items:center;justify-content:center;position:relative;background:#f4f7fb;flex:0 0 auto}.auth-title h2{font-size:26px;margin:0;font-weight:900}.auth-title button{position:absolute;right:12px;top:12px;width:40px;height:40px;padding:0;border-radius:999px;background:transparent;font-size:30px;line-height:1;color:#172033}
.auth-content{flex:1;overflow:auto;padding:24px 30px 130px;color:#343d4c;font-size:20px;line-height:1.9;font-weight:650}
.auth-content h3{font-size:22px;margin:22px 0 10px;color:#172033;font-weight:900}.auth-content p{margin:0 0 14px;text-indent:2em}
.auth-actions{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(920px,100%);display:grid;grid-template-columns:1fr 2fr;gap:14px;padding:0 28px}
.auth-actions button{border-radius:999px;min-height:58px;font-size:20px;font-weight:900;box-shadow:0 8px 22px rgba(29,114,232,.22)}.auth-reject{background:#95a3ad;color:#fff}.auth-accept{background:#1687ff;color:#fff}
body.auth-open{overflow:hidden}
.model-picker{position:relative}
.model-drop{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1.5px solid #dfe7f1;border-radius:10px;box-shadow:0 12px 34px rgba(28,43,68,.14);max-height:260px;overflow:auto}
.model-drop.open{display:block}
.model-option{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-bottom:1px solid #edf1f7;cursor:pointer;font-weight:700}
.model-option:last-child{border-bottom:0}
.model-option:hover,.model-option.active{background:#eef6ff;color:#1d72e8}
.model-option small{font-weight:500;color:#728198;white-space:nowrap}
.model-empty{padding:14px;color:#728198;font-weight:500}
.form-grid input[type=checkbox],.form-grid input[type=radio]{width:24px!important;height:24px!important;min-width:24px;padding:0!important;margin:0;flex:0 0 24px;accent-color:#1d72e8;box-shadow:none!important}
.radio-row{display:flex;gap:10px;align-items:center;min-height:46px;flex-wrap:wrap}
.radio-row label{display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:8px!important;min-height:44px;padding:9px 13px;border:1.5px solid #dfe7f1;border-radius:12px;background:#fff;font-weight:700!important;color:#243248!important}
.radio-row label:has(input:checked){border-color:#1d72e8;background:#eef6ff;color:#1d72e8!important}
fieldset{grid-column:1/-1;border:1.5px solid #dfe7f1;border-radius:14px;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#fbfdff}
fieldset legend{font-weight:900;padding:0 8px;color:#172033;font-size:16px}
fieldset label{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:10px!important;min-width:0;min-height:46px;border:1.5px solid #e3ebf5;border-radius:12px;background:#fff;padding:10px 12px;font-weight:700!important;color:#243248!important;line-height:1.35;word-break:normal;overflow-wrap:normal}
fieldset label:has(input:checked){border-color:#1d72e8;background:#eef6ff;color:#1d72e8!important}
.risk-tip{grid-column:1/-1;color:#d46b08;background:#fff8e6;border:1px solid #ffe0a3;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.5;margin-top:0}
.calc-card{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f8fbff;border:1px solid #d8e8ff;border-radius:12px;padding:10px}
.calc-card div{background:#fff;border-radius:10px;padding:10px;text-align:center}.calc-card span{display:block;color:#728198;font-size:12px}.calc-card strong{display:block;margin-top:4px;font-size:18px;color:#1d72e8}
.form-grid>.primary{grid-column:1/-1;font-size:18px;font-weight:800;padding:14px}.msg{grid-column:1/-1;color:#e13b3f;font-weight:700}
.risk-result-panel{grid-column:1/-1;margin-top:4px;padding:16px;border:1.5px solid #d8e0ec;border-radius:14px;background:#fff;box-shadow:0 8px 26px rgba(28,43,68,.06)}
.risk-result-panel.pass{border-color:#16a34a;background:#f0fdf4}
.risk-result-panel.reject{border-color:#dc2626;background:#fef2f2}
.risk-result-panel.need_income_material,.risk-result-panel.need_2x_deposit,.risk-result-panel.need_3x_deposit,.risk-result-panel.manual_review,.risk-result-panel.pending{border-color:#2563eb;background:#eff6ff}
.risk-result-panel h2{margin:0 0 8px;font-size:19px;color:#172033}
.risk-result-panel p{margin:0;color:#43556c;line-height:1.65;font-weight:700}
.risk-result-panel ul{margin:10px 0 0;padding-left:18px;color:#43556c;line-height:1.7}
.risk-deposit{margin-top:12px;border-radius:12px;background:#fff;border:1px solid #d8e8ff;padding:11px 12px;color:#243248;font-weight:800}
.risk-deposit b{color:#1d72e8;font-size:20px}
.risk-payment{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-radius:12px;background:#fff;border:1px solid #d8e8ff;padding:10px}
.risk-payment div{text-align:center;border-radius:10px;background:#f8fbff;padding:10px 8px}
.risk-payment span{display:block;color:#728198;font-size:12px}
.risk-payment b{display:block;margin-top:4px;color:#1d72e8;font-size:18px}
.plan-hint-box{margin-top:12px;border:1px solid #d8e8ff;background:#fff;border-radius:12px;padding:12px;color:#243248}
.plan-hint-box b{display:block;color:#172033;font-size:15px;margin-bottom:5px}
.plan-hint-box p{margin:0!important;color:#43556c!important;font-weight:700!important;line-height:1.6!important}
.risk-actions{display:grid;gap:10px;margin-top:12px}
.risk-actions button{width:100%;min-height:46px;font-weight:900}
.income-upload{margin-top:12px;border-top:1px solid rgba(29,114,232,.18);padding-top:12px;display:grid;gap:10px}
.income-upload label{display:flex!important;flex-direction:column!important;gap:7px!important;font-weight:800!important;color:#243248!important}
.income-upload input,.income-upload select{width:100%;border:1.5px solid #dfe7f1;border-radius:10px;padding:11px 12px;background:#fff;color:#172033}
.phone-verify-box{display:grid;gap:9px;padding:12px;border:1px solid #d8e8ff;background:#fff;border-radius:12px}
.phone-verify-box label{display:flex!important;flex-direction:column!important;gap:7px!important;font-weight:900!important;color:#243248!important}
.phone-verify-box input{width:100%;border:1.5px solid #dfe7f1;border-radius:10px;padding:12px;background:#fff;color:#172033;font-size:16px}
.phone-verify-box small{color:#6a7890;font-weight:700;line-height:1.5}
.success{text-align:center}.success h1{font-size:28px;color:#22a64b}.screen-tip{margin-top:12px;color:#e13b3f;font-weight:900}.success-note{color:#16833c;font-weight:800;margin:4px 0 12px}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-box{width:min(390px,100%);background:#fff;border-radius:16px;padding:26px;border:1px solid #e5ebf4;box-shadow:0 12px 42px rgba(28,43,68,.12)}
.login-box h1{margin:0 0 20px}.login-box label{display:block;margin-bottom:12px;font-weight:700}.login-box input{width:100%;margin-top:7px;padding:12px;border:1.5px solid #dfe7f1;border-radius:10px}.login-box button{width:100%;margin-top:8px}
.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px}.login-brand img{width:72px;height:48px;object-fit:contain}.login-brand h1{margin:0;font-size:24px}.login-brand p{margin:5px 0 0;color:#728198;font-weight:700}.remember-line{display:flex!important;flex-direction:row;align-items:center;gap:8px;color:#526278}.remember-line input{width:18px!important;height:18px;margin:0!important;padding:0!important;accent-color:#1d72e8}
.admin-nav{height:64px;background:#152033;color:#fff;display:flex;align-items:center;padding:0 24px;gap:24px;position:sticky;top:0;z-index:20;box-shadow:0 2px 16px rgba(0,0,0,.16)}
.brand{font-weight:900;font-size:20px}.admin-nav nav{display:flex;gap:8px;flex:1}.admin-nav a{color:#dbe5f4;padding:8px 12px;border-radius:8px}.admin-nav a.active,.admin-nav a:hover{background:rgba(255,255,255,.12);color:#fff}.admin-user{font-weight:700}
.admin-wrap{max-width:1480px;margin:0 auto;padding:24px 18px}.admin-wrap h1{margin:0 0 16px;font-size:26px}
.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid #e5ebf4;border-radius:12px;padding:14px;margin-bottom:14px}.filters input,.filters select{border:1.5px solid #dfe7f1;border-radius:9px;padding:9px 11px;min-width:150px}
.account-create-form,.account-card{background:#fff;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 8px 28px rgba(28,43,68,.05);padding:16px;margin-top:16px}
.account-create-form h2,.account-card h2{margin:0;font-size:20px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.account-head p{margin:6px 0 0;color:#728198;font-weight:700}
.account-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.account-fields label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#243248}
.account-fields input,.account-fields select{width:100%;border:1.5px solid #dfe7f1;border-radius:9px;padding:9px 11px;outline:none;background:#fff}
.permission-title{font-weight:900;color:#172033;margin:12px 0 8px}.permission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.perm-check{display:flex;align-items:center;gap:8px;border:1.5px solid #dfe7f1;border-radius:11px;padding:9px 10px;background:#fbfdff;font-weight:800;color:#243248}
.perm-check input{width:18px;height:18px;accent-color:#1d72e8}.perm-check:has(input:checked){border-color:#1d72e8;background:#eef6ff;color:#1d72e8}
.admin-user small{display:block;color:#9fb0c7;font-size:11px;margin-top:2px}
.rule-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#fff;border:1px solid #e5ebf4;border-radius:12px;padding:14px;margin-bottom:14px}
.rule-form label{font-weight:800;color:#243248;display:flex;flex-direction:column;gap:6px}
.rule-form input,.rule-form select,.rule-form textarea{border:1.5px solid #dfe7f1;border-radius:9px;padding:9px 11px;outline:none;width:100%}
.rule-form textarea{min-height:80px;margin:0}
.rule-form .wide{grid-column:1/-1}
.rule-form button{grid-column:1/-1}
.admin-edit-input,.table-card select,.admin-edit-textarea{border:1.5px solid #dfe7f1;border-radius:8px;padding:8px 9px;outline:none;background:#fff;min-width:130px}
.admin-edit-input.small{min-width:90px}
.admin-edit-textarea{min-width:280px;min-height:72px;margin:0;white-space:normal}
.mini-form{display:inline-flex;margin:0}
.risk-block{background:#fff1f0;border:1px solid #ffccc7;color:#b42318;border-radius:10px;padding:12px 14px;font-weight:800}
.rule-hit{border:1px solid #dfe7f1;border-radius:12px;padding:12px;margin-top:10px;background:#fbfcfe}
.rule-hit b{display:block;margin-bottom:6px}.rule-hit span{display:block;color:#728198;font-size:13px}.rule-hit p{margin:8px 0 0;line-height:1.6}
.rule-hit.block{border-color:#ffccc7;background:#fff6f5;color:#8a1f17}
.rule-hit.review{border-color:#ffe2a8;background:#fffaf0}
.rule-hit.warn{border-color:#cfe3ff;background:#f3f8ff}
.notice{background:#eaf3ff;border:1px solid #cfe3ff;color:#31517a;border-radius:10px;padding:10px 12px;margin:12px 0}
.notice.danger{background:#fff2f0;border-color:#ffccc7;color:#b42318}
.muted{color:#5f6f84;line-height:1.7}
.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.qr-card{background:#fff;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 8px 28px rgba(28,43,68,.05);padding:16px}
.qr-card h2{margin:0 0 12px;font-size:20px}.qr-image{display:block;width:100%;max-width:260px;aspect-ratio:1/1;margin:0 auto 12px;border:1px solid #edf1f7;border-radius:10px;background:#fff;padding:10px}
.qr-url{font-size:12px;color:#43556c;background:#f6f8fb;border:1px solid #edf1f7;border-radius:8px;padding:8px;white-space:normal;word-break:break-all}
.formula-panel,.site-price-card{background:#fff;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 8px 28px rgba(28,43,68,.05);padding:16px;margin-top:16px}
.formula-panel h2,.site-price-card h2{margin:0 0 12px;font-size:20px}.formula-panel p{margin:8px 0;line-height:1.7}
.site-price-form>.primary{margin-top:16px;width:100%;font-weight:900;padding:13px}
.site-price-fields{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.rate-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.site-price-card label{font-weight:800;color:#243248;display:flex;flex-direction:column;gap:6px}.site-price-card input{border:1.5px solid #dfe7f1;border-radius:9px;padding:9px 11px;width:100%}
.table-tools{padding:12px 18px;border-bottom:1px solid #edf1f7;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.table-tools .notice{margin:0;flex:1 1 420px}
.config-card{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#f8fbff;border:1px solid #d8e8ff;border-radius:12px;padding:10px}
.config-card div{background:#fff;border-radius:10px;padding:10px}.config-card span{display:block;color:#728198;font-size:12px}.config-card b{display:block;margin-top:5px}
.analysis-standard-list{display:grid;gap:14px;margin-top:16px}.analysis-standard-card{background:#fff;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 8px 28px rgba(28,43,68,.05);padding:16px}
.analysis-standard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.analysis-standard-head span,.analysis-standard-card small{display:block;color:#728198;font-size:12px}.analysis-standard-head input{font-size:18px;font-weight:900;margin:5px 0 2px}
.analysis-standard-card label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#243248;margin-top:10px}.analysis-standard-card input,.analysis-standard-card select,.analysis-standard-card textarea{border:1.5px solid #dfe7f1;border-radius:9px;padding:9px 11px;outline:none;width:100%;background:#fff}.analysis-standard-card textarea{min-height:92px;margin:0}
.analysis-standard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.blacklist-ocr-card{background:#fff;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 8px 28px rgba(28,43,68,.05);padding:16px;margin:16px 0}.blacklist-ocr-card h2{margin:0 0 12px;font-size:20px}
.blacklist-ocr-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:148px;border:2px dashed #b8cff0;border-radius:14px;background:#f7fbff;color:#31517a;text-align:center;cursor:pointer;transition:.15s ease}.blacklist-ocr-drop b{font-size:18px}.blacklist-ocr-drop span{color:#728198;font-weight:700}.blacklist-ocr-drop.dragging{border-color:#1d72e8;background:#eef6ff;color:#1d72e8;transform:translateY(-1px)}
.table-card{background:#fff;border:1px solid #e5ebf4;border-radius:14px;box-shadow:0 8px 28px rgba(28,43,68,.05);overflow:auto;margin-top:16px}.table-card h2{margin:0;padding:16px 18px;border-bottom:1px solid #edf1f7}
table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:13px 14px;border-bottom:1px solid #edf1f7;text-align:left;vertical-align:middle;white-space:nowrap}th{background:#f9fbfd;color:#4c5d73;font-size:13px}td small{color:#728198}
.status,.chip{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.s0{background:#fff4df;color:#b76b00}.s1{background:#e7f8ec;color:#16833c}.s2{background:#ffecec;color:#c42d34}.chip{background:#eef3ff;color:#2059be}
.empty{text-align:center;color:#728198;padding:30px!important}.detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-grid div{background:#fff;border:1px solid #e5ebf4;border-radius:12px;padding:13px}.summary-grid span{display:block;font-size:12px;color:#728198}.summary-grid b{display:block;margin-top:5px}
.summary-grid.compact{grid-template-columns:repeat(3,1fr)}
.risk-admin-card.reject{border-color:#ffccc7;background:#fff6f5}
.risk-admin-card.need_income_material,.risk-admin-card.need_2x_deposit,.risk-admin-card.need_3x_deposit,.risk-admin-card.manual_review,.risk-admin-card.pending{border-color:#cfe3ff;background:#f3f8ff}
.risk-admin-card.pass{border-color:#c7efd3;background:#f3fff6}
.risk-admin-card p{line-height:1.7;color:#43556c;font-weight:700}
.risk-admin-card ul{margin:8px 0 0;line-height:1.7}
.action-row,.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.action-row{margin:16px 0}.inline-form input{border:1.5px solid #dfe7f1;border-radius:9px;padding:9px 11px}
textarea{width:100%;min-height:130px;border:1.5px solid #dfe7f1;border-radius:10px;padding:12px;resize:vertical;margin-bottom:10px}
.analysis{border:1px solid #e5ebf4;border-radius:12px;padding:12px;margin-top:12px;background:#fbfcfe}.analysis.高{border-color:#ffc8c8;background:#fff6f6}.analysis.中{border-color:#ffe2a8;background:#fffaf0}.analysis.低{border-color:#c7efd3;background:#f3fff6}.analysis pre,.json{white-space:pre-wrap;line-height:1.7;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.report-visual,.official-report-frame{background:#eef3f9;border:1px solid #d9e4f2;border-radius:12px;padding:12px;overflow:auto}.report-image,.report-photo{display:block;width:100%;max-width:1080px;min-width:760px;height:auto;margin:0 auto;border-radius:12px;box-shadow:0 8px 24px rgba(23,32,51,.12);background:#fff}.report-photo{max-width:1365px}.official-report-frame iframe{display:block;width:100%;min-width:760px;height:820px;border:0;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(23,32,51,.12)}
.order-report-photo-list{display:grid;gap:14px;margin:14px 0 16px}
.order-report-photo-card{border:1px solid #d9e6f6;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#f4f8ff);padding:14px;box-shadow:0 10px 24px rgba(28,43,68,.06)}
.order-report-photo-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.order-report-photo-head b{display:block;color:#172033;font-size:17px}
.order-report-photo-head small{display:flex;align-items:center;gap:8px;margin-top:5px;color:#6d7e96;font-weight:800}
.order-report-photo-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.order-report-photo-crop{position:relative;display:block;max-height:260px;overflow:hidden;border:1px solid #cfe0f6;border-radius:14px;background:#eaf1fb}
.order-report-photo-crop img{display:block;width:100%;height:auto;min-height:260px;object-fit:cover;object-position:top center;background:#fff}
.order-report-photo-crop::after{content:"";position:absolute;left:0;right:0;bottom:0;height:84px;background:linear-gradient(180deg,rgba(248,251,255,0),rgba(248,251,255,.96))}
.order-report-photo-crop span{position:absolute;left:50%;bottom:18px;z-index:2;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:10px 16px;border-radius:999px;background:rgba(29,114,232,.94);color:#fff;font-weight:1000;box-shadow:0 12px 24px rgba(29,114,232,.24)}
.order-report-photo-crop.image-error{min-height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f6f9ff,#eef4fb)}
.order-report-photo-crop.image-error::before{content:"报告照片暂未生成，点击重试或进入详情查看";color:#64748b;font-weight:1000}
.order-report-photo-crop.image-error::after{display:none}
.order-report-photo-crop.image-error span{display:none}
code{background:#f0f4fa;padding:2px 5px;border-radius:5px}
@media(max-width:760px){.form-grid{grid-template-columns:1fr}.hero h1{font-size:24px}.split,.calc-card,fieldset,.summary-grid,.rule-form,.config-card,.qr-grid,.site-price-fields,.rate-grid,.account-grid,.account-fields,.permission-grid,.analysis-standard-grid{grid-template-columns:1fr}.auth-line{flex-wrap:wrap}.auth-content{font-size:18px;padding:22px 20px 122px}.auth-content h3{font-size:20px}.auth-actions{grid-template-columns:1fr 2fr;padding:0 16px}.auth-actions button{font-size:18px;min-height:54px}.admin-nav{height:auto;align-items:flex-start;flex-direction:column;padding:14px}.admin-nav nav{flex-wrap:wrap}.admin-wrap{padding:16px 8px}.filters{align-items:stretch}.filters input,.filters select,.filters button,.filters .btn{width:100%}}
@media(max-width:760px){
  .mobile{padding:12px 10px 24px}
  .hero{flex-direction:column;align-items:flex-start;gap:14px}
  .panel{padding:16px 14px;border-radius:16px}
  .form-grid{gap:13px}
  .form-block,.period-field,fieldset,.overdue-block{grid-column:1/-1}
  .radio-row{gap:8px}
  .radio-row label{flex:1 1 calc(50% - 8px);white-space:nowrap}
  fieldset{padding:12px;gap:8px}
  fieldset label{min-height:44px;padding:9px 10px;font-size:15px}
  .calc-card{grid-template-columns:1fr 1fr;gap:8px}
  .calc-card div{padding:9px 8px}
  .calc-card strong{font-size:20px}
  .risk-payment{gap:6px;padding:8px}
  .risk-payment div{padding:9px 6px}
  .risk-payment b{font-size:16px}
}

/* 车型库、商户管理与提交完成提示 */
.customer-success-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(11,25,48,.58);backdrop-filter:blur(8px)}
.customer-success-dialog{width:min(420px,100%);padding:32px 26px 24px;border-radius:18px;background:#fff;text-align:center;box-shadow:0 24px 64px rgba(8,25,53,.35)}
.customer-success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 14px;border-radius:50%;background:#e8f8ed;color:#149347;font-size:34px;font-weight:1000}
.customer-success-dialog h2{margin:0;color:#15223a;font-size:26px}.customer-success-dialog p{margin:12px 0;color:#526278;line-height:1.75;font-weight:700}.success-order-no{margin:16px auto 12px;padding:10px 12px;border:1px solid #dbe8fb;border-radius:10px;background:#f6faff;color:#24518f;font-weight:900}.success-screenshot-callout{margin:14px 0 8px;padding:12px;border-radius:10px;background:#fff3d9;color:#aa5d00;font-size:19px;font-weight:1000}.customer-success-dialog small{display:block;margin-bottom:18px;color:#738198;font-weight:700}.customer-success-dialog button{width:100%}

body.admin .compact-filter{width:max-content;max-width:100%;margin:14px 0}.compact-filter label{display:flex;align-items:center;gap:8px;font-weight:900;color:#243248}.compact-filter select{min-width:220px}
.vehicle-intro h2 small,.site-price-card h2 small{display:block;margin-top:5px;color:#728198;font-size:13px;font-weight:800}.vehicle-create-form,.vehicle-card,.merchant-create-form,.merchant-card,.merchant-api-doc{margin-top:16px;padding:18px;border:1px solid rgba(174,192,219,.72);border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 14px 32px rgba(34,57,91,.07)}
.vehicle-create-form h2,.merchant-create-form h2,.merchant-api-doc h2{margin:0 0 14px;font-size:20px}.vehicle-price-grid,.merchant-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-price-grid label,.merchant-fields label,.vehicle-card-head label,.vehicle-card-foot label{display:flex;flex-direction:column;gap:6px;color:#25344c;font-weight:900}.vehicle-price-grid input,.merchant-fields input,.merchant-fields select,.vehicle-card input{width:100%;border:1.5px solid #d8e3f2;border-radius:10px;padding:10px 11px;background:#fff;outline:none}.vehicle-price-grid input:focus,.merchant-fields input:focus,.merchant-fields select:focus,.vehicle-card input:focus{border-color:#1d72e8;box-shadow:0 0 0 3px rgba(29,114,232,.1)}
.vehicle-create-form .primary{margin-top:14px}.vehicle-catalog-meta{margin:18px 0 0;color:#65758c;font-weight:800}.vehicle-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.vehicle-card{margin:0}.vehicle-card.disabled{opacity:.66;background:#f7f8fa}.vehicle-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.vehicle-card-head label{flex:1;font-size:17px}.vehicle-card-head .status{margin-top:28px}.vehicle-card-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:14px}.vehicle-card-foot label{width:100px}.vehicle-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.catalog-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.catalog-tabs a{min-height:38px;padding:9px 14px;border:1px solid #d6e3f5;border-radius:9px;background:#fff;color:#53657d;font-weight:900}.catalog-tabs a.active{border-color:#1d72e8;background:#eaf3ff;color:#1767d2;box-shadow:0 6px 16px rgba(29,114,232,.12)}
.city-price-filter{align-items:end}.city-price-filter label{display:flex;flex-direction:column;gap:6px;color:#25344c;font-weight:900}.city-price-filter select,.city-price-filter input,.city-price-tools input,.city-price-tools select,.city-price-row input{width:100%;border:1.5px solid #d8e3f2;border-radius:10px;padding:10px 11px;background:#fff;outline:none}.city-price-filter select:focus,.city-price-filter input:focus,.city-price-tools input:focus,.city-price-tools select:focus,.city-price-row input:focus{border-color:#1d72e8;box-shadow:0 0 0 3px rgba(29,114,232,.1)}
.city-price-tools{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin:14px 0}.city-batch-form,.city-add-form,.city-quick-form{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 14px;border:1px solid #dce8f6;border-radius:12px;background:#f8fbff}.city-batch-form strong,.city-add-form strong,.city-quick-form strong{color:#1d406f;white-space:nowrap}.city-batch-form select,.city-batch-form input{min-width:130px;flex:1}.city-add-form input{min-width:88px;flex:1}.city-quick-form{grid-column:1/-1;background:linear-gradient(90deg,#eef7ff,#f8fbff)}.city-quick-form select,.city-quick-form input{min-width:150px;flex:1}.city-quick-region{padding:10px 12px;border-radius:9px;background:#ddecff;color:#1d5fb8;font-weight:950;white-space:nowrap}.city-quick-tip{grid-column:1/-1;padding:13px 14px;border:1px dashed #c5d9f2;border-radius:12px;background:#f8fbff;color:#687b94;font-weight:800}.city-price-list{display:grid;gap:9px}.city-price-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(150px,1fr) minmax(100px,.7fr) auto minmax(210px,1.25fr);align-items:end;gap:12px;padding:13px 14px;border:1px solid #dce8f6;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(34,57,91,.04)}.city-price-row.disabled{opacity:.62;background:#f7f8fa}.city-place{display:flex;flex-direction:column;gap:3px;min-width:0}.city-place strong{color:#1c365c;font-size:15px}.city-place span{color:#66778e;font-weight:800}.city-price-row label{display:flex;flex-direction:column;gap:6px;color:#526278;font-size:12px;font-weight:900}.city-reference{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;color:#728198;font-size:12px;font-weight:800}.city-reference b{color:#1c4f92;font-size:15px}.city-price-row>.status{align-self:center;white-space:nowrap}.city-price-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.city-price-actions button{padding:8px 10px;min-height:34px;white-space:nowrap}
.merchant-intro{margin-bottom:16px}.merchant-list{display:grid;gap:16px;margin-top:16px}.merchant-card{margin:0}.merchant-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.merchant-card-head h2{margin:0;font-size:22px}.merchant-card-head p{margin:6px 0 0;color:#64748b;font-weight:700}.merchant-stats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.merchant-stats span{padding:8px 10px;border:1px solid #dce8f6;border-radius:9px;background:#f7fbff;color:#526278;font-weight:800}.merchant-stats b{color:#1d72e8}.merchant-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.merchant-secret-reveal{display:grid;gap:8px;margin:15px 0;padding:14px;border:1px solid #f1c96e;border-radius:12px;background:#fff8e7;color:#7d5200}.merchant-secret-reveal span{word-break:break-all}.merchant-secret-reveal code{background:#fff;color:#8a4b00}.merchant-secret-reveal small{color:#8b6a31;font-weight:700}.merchant-api-doc{margin-top:16px}.merchant-api-doc p{color:#5a6a80;font-weight:700;line-height:1.7}.merchant-api-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.merchant-api-grid div{padding:12px;border:1px solid #dce8f6;border-radius:10px;background:#f8fbff}.merchant-api-grid b{display:block;color:#1c4f92;font-size:13px}.merchant-api-grid span{display:block;margin-top:5px;color:#66778e;font-size:13px;font-weight:700}.integration-section{margin-top:18px;padding-top:2px}.integration-section>h2{margin:0 0 12px;font-size:22px}

@media(max-width:1100px){.city-price-tools{grid-template-columns:1fr}.city-quick-form,.city-quick-tip{grid-column:auto}.city-price-row{grid-template-columns:1fr 1fr 1fr;align-items:end}.city-price-row>.status{justify-self:start}.city-price-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:900px){.vehicle-price-grid,.merchant-fields,.vehicle-catalog-grid,.merchant-api-grid{grid-template-columns:1fr}.vehicle-card-foot{align-items:stretch;flex-direction:column}.vehicle-card-foot label{width:100%}.vehicle-actions,.merchant-actions{display:grid;grid-template-columns:1fr}.vehicle-actions .btn,.merchant-actions .btn{width:100%}.city-price-row{grid-template-columns:1fr 1fr}.city-price-row>.status{align-self:end}.city-price-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.city-price-actions button{width:100%}}
@media(max-width:560px){.customer-success-modal{padding:14px}.customer-success-dialog{padding:26px 20px 20px}.customer-success-dialog h2{font-size:23px}.compact-filter{width:100%!important}.compact-filter select{width:100%;min-width:0}}

/* Admin console polish */
body.admin{
  min-height:100vh;
  background:
    linear-gradient(90deg,rgba(29,114,232,.05) 1px,transparent 1px),
    linear-gradient(180deg,rgba(29,114,232,.045) 1px,transparent 1px),
    linear-gradient(135deg,#f5f9ff 0%,#eef5ff 34%,#f7fbf7 70%,#fff9f2 100%);
  background-size:34px 34px,34px 34px,100% 100%;
  color:#111b2f;
  font-size:clamp(14px,1.02vw,16px);
}
body.admin::before{
  content:"";
  position:fixed;
  inset:0 0 auto 0;
  height:4px;
  z-index:40;
  background:linear-gradient(90deg,#1d72e8,#11b5d9,#21a95a,#f59e0b,#ef476f);
}
body.admin .admin-nav{
  height:auto;
  min-height:78px;
  padding:12px clamp(14px,2vw,28px);
  gap:clamp(12px,1.6vw,24px);
  align-items:stretch;
  background:rgba(13,24,43,.94);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 14px 34px rgba(13,24,43,.22);
  backdrop-filter:blur(16px);
}
body.admin .brand{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  min-width:178px;
  font-size:19px;
  line-height:1.2;
}
body.admin .nav-back{
  flex:0 0 auto;
  min-height:40px;
  align-self:center;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(173,205,248,.28);
  border-radius:10px;
  padding:8px 11px;
  color:#e7f1ff;
  background:rgba(255,255,255,.07);
  font:inherit;
  font-weight:850;
  cursor:pointer;
  transition:background .16s ease,transform .16s ease,border-color .16s ease;
}
body.admin .nav-back:hover{
  transform:translateY(-1px);
  border-color:rgba(173,205,248,.66);
  background:rgba(255,255,255,.15);
}
body.admin .brand-logo{
  width:48px;
  height:36px;
  object-fit:contain;
  border-radius:10px;
  padding:3px;
  background:rgba(255,255,255,.94);
  box-shadow:0 9px 22px rgba(29,114,232,.22);
}
body.admin .brand-mark{
  width:34px;
  height:34px;
  border-radius:10px;
  background:
    linear-gradient(135deg,#32d3ff,#1d72e8 52%,#7c3aed);
  box-shadow:0 0 0 1px rgba(255,255,255,.22) inset,0 10px 22px rgba(29,114,232,.35);
  position:relative;
}
body.admin .brand-mark::after{
  content:"";
  position:absolute;
  inset:8px;
  border:2px solid rgba(255,255,255,.88);
  border-radius:7px;
}
body.admin .admin-nav-groups{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:10px;
  min-width:0;
}
body.admin .nav-group{
  min-width:0;
  padding:8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
body.admin .nav-group.active-group{
  background:linear-gradient(135deg,rgba(29,114,232,.26),rgba(17,181,217,.12));
  border-color:rgba(124,199,255,.45);
}
body.admin .nav-group>span{
  display:block;
  color:#8fb4e8;
  font-size:12px;
  font-weight:900;
  margin:0 4px 7px;
}
body.admin .nav-group>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
body.admin .admin-nav a{
  color:#d8e7fb;
  border-radius:10px;
  padding:7px 10px;
  line-height:1.2;
  transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
body.admin .admin-nav a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.13);
  color:#fff;
}
body.admin .admin-nav a.active{
  background:#fff;
  color:#123a7a;
  box-shadow:0 7px 18px rgba(0,0,0,.14);
}
body.admin .admin-user{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}
body.admin .admin-identity{
  min-width:72px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.06);
  line-height:1.15;
}
body.admin .admin-user small{
  color:#9fb8da;
  font-weight:700;
}
body.admin .mobile-preview{
  background:linear-gradient(135deg,#11b5d9,#1d72e8);
  color:#fff!important;
  box-shadow:0 8px 22px rgba(29,114,232,.26);
}
body.admin .logout-link{
  background:rgba(239,71,111,.16);
  color:#ffdce5!important;
  border:1px solid rgba(239,71,111,.32);
}
body.admin .admin-wrap{
  width:min(1520px,calc(100vw - 28px));
  max-width:none;
  margin:0 auto;
  padding:clamp(16px,2.2vw,30px) 0 36px;
}
body.admin .admin-wrap h1{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  font-size:clamp(24px,2.2vw,34px);
  line-height:1.2;
  color:#0f1d33;
}
body.admin .admin-wrap h1::before{
  content:"";
  width:8px;
  height:32px;
  border-radius:999px;
  background:linear-gradient(180deg,#1d72e8,#11b5d9,#21a95a);
  box-shadow:0 8px 18px rgba(29,114,232,.28);
}
body.admin .filters,
body.admin .panel,
body.admin .table-card,
body.admin .account-create-form,
body.admin .account-card,
body.admin .formula-panel,
body.admin .site-price-card,
body.admin .analysis-standard-card,
body.admin .blacklist-ocr-card,
body.admin .qr-card{
  border:1px solid rgba(174,192,219,.72);
  background:rgba(255,255,255,.88);
  box-shadow:0 16px 38px rgba(34,57,91,.08);
  backdrop-filter:blur(8px);
}
body.admin .filters{
  border-radius:18px;
  padding:14px;
  gap:11px;
}
body.admin .panel,
body.admin .table-card,
body.admin .account-create-form,
body.admin .account-card,
body.admin .formula-panel,
body.admin .site-price-card,
body.admin .analysis-standard-card,
body.admin .blacklist-ocr-card,
body.admin .qr-card{
  border-radius:18px;
}
body.admin .table-card{
  scrollbar-width:thin;
}
body.admin .table-card::-webkit-scrollbar,
body.admin .report-visual::-webkit-scrollbar{
  height:10px;
  width:10px;
}
body.admin .table-card::-webkit-scrollbar-thumb,
body.admin .report-visual::-webkit-scrollbar-thumb{
  background:#b8c7db;
  border-radius:999px;
}
body.admin table{
  min-width:1080px;
}
body.admin th{
  position:sticky;
  top:0;
  z-index:1;
  background:linear-gradient(180deg,#f7faff,#edf4ff);
  color:#40516b;
  font-size:13px;
  font-weight:900;
}
body.admin td{
  color:#1e2a3e;
}
body.admin tr:hover td{
  background:#f8fbff;
}
body.admin input,
body.admin select,
body.admin textarea{
  border-color:#d7e1ef;
  background:#fff;
}
body.admin input:focus,
body.admin select:focus,
body.admin textarea:focus{
  border-color:#1d72e8;
  box-shadow:0 0 0 4px rgba(29,114,232,.11);
}
body.admin button,
body.admin .btn{
  border-radius:11px;
  border:1px solid transparent;
  font-weight:900;
  color:#243248;
  background:#edf3fb;
  box-shadow:0 6px 14px rgba(35,52,82,.08);
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease,background .14s ease;
}
body.admin button:hover,
body.admin .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(35,52,82,.14);
  filter:saturate(1.05);
}
body.admin .primary,
body.admin .btn.primary{
  background:linear-gradient(135deg,#1d72e8,#11b5d9);
  color:#fff;
}
body.admin .green,
body.admin .btn.green{
  background:linear-gradient(135deg,#16a34a,#22c55e);
  color:#fff;
}
body.admin .danger,
body.admin .btn.danger{
  background:linear-gradient(135deg,#ef476f,#dc2626);
  color:#fff;
}
body.admin .action-row .btn:nth-child(2n):not(.primary):not(.green):not(.danger){
  background:#fff7e8;
  color:#9a5b00;
  border-color:#ffdba0;
}
body.admin .action-row .btn:nth-child(3n):not(.primary):not(.green):not(.danger){
  background:#eefaf3;
  color:#14783c;
  border-color:#bdebcf;
}
body.admin .notice{
  border:1px solid #cce1ff;
  background:linear-gradient(135deg,#eef7ff,#f7fbff);
  color:#284967;
  border-radius:14px;
  font-weight:760;
}
body.admin .notice.danger,
body.admin .risk-block{
  background:linear-gradient(135deg,#fff2f2,#fff8f5);
  border-color:#ffc9c9;
  color:#a32626;
}
body.admin .toast-stack{
  position:fixed;
  z-index:9999;
  right:22px;
  top:22px;
  display:grid;
  gap:10px;
  width:min(360px,calc(100vw - 28px));
  pointer-events:none;
}
body.admin .admin-toast{
  display:grid;
  gap:4px;
  padding:13px 15px;
  border-radius:14px;
  border:1px solid rgba(174,192,219,.8);
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 42px rgba(15,39,78,.18);
  backdrop-filter:blur(12px);
  color:#172033;
  opacity:0;
  transform:translateY(-8px) scale(.98);
  transition:opacity .18s ease,transform .18s ease;
}
body.admin .admin-toast.show{
  opacity:1;
  transform:translateY(0) scale(1);
}
body.admin .admin-toast strong{
  font-size:15px;
  line-height:1.25;
}
body.admin .admin-toast span{
  color:#52627a;
  line-height:1.55;
  font-weight:800;
  word-break:break-word;
}
body.admin .admin-toast.success{
  border-left:5px solid #22a64b;
}
body.admin .admin-toast.success strong{
  color:#16803a;
}
body.admin .admin-toast.error{
  border-left:5px solid #ff4d4f;
}
body.admin .admin-toast.error strong{
  color:#b42318;
}
body.admin .status,
body.admin .chip{
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
}
body.admin .s0{
  background:#fff3d8;
  color:#9a5b00;
}
body.admin .s1{
  background:#ddfbe8;
  color:#087b35;
}
body.admin .s2{
  background:#ffe2e2;
  color:#b42318;
}
body.admin .summary-grid{
  gap:12px;
}
body.admin .summary-grid div,
body.admin .config-card div,
body.admin .calc-card div{
  border:1px solid rgba(214,226,242,.8);
  box-shadow:0 8px 18px rgba(34,57,91,.045);
}
body.admin .config-card{
  border-radius:16px;
  background:linear-gradient(135deg,#f4f9ff,#fbfdf8);
}
body.admin .rule-form{
  border-radius:18px;
  border-color:rgba(174,192,219,.72);
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 38px rgba(34,57,91,.08);
}
body.admin .permission-groups{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
body.admin .permission-group{
  border:1px solid #dfe8f5;
  border-radius:14px;
  padding:10px;
  background:#fbfdff;
}
body.admin .permission-group h3{
  margin:0 0 8px;
  font-size:14px;
  color:#31517a;
}
body.admin .permission-grid{
  grid-template-columns:1fr;
  gap:8px;
}
body.admin .perm-check{
  background:#fff;
  border-color:#dce6f3;
}
body.admin .perm-check:has(input:checked){
  background:linear-gradient(135deg,#eef6ff,#f1fbff);
  border-color:#1d72e8;
}
body.admin .qr-grid{
  grid-template-columns:repeat(auto-fit,minmax(560px,1fr));
}
body.admin .qr-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
body.admin .qr-card-head h2{
  margin:0 0 5px;
  color:#172033;
}
body.admin .qr-card-head p{
  margin:0;
  color:#66768d;
  line-height:1.55;
  font-weight:700;
}
body.admin .qr-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.admin .qr-mini-card{
  min-width:0;
  border:1px solid #dfe8f5;
  border-radius:14px;
  padding:12px;
  background:#fbfdff;
}
body.admin .qr-mini-card.calculator{
  background:linear-gradient(135deg,#f2fbff,#f8fff7);
  border-color:#cce8f3;
}
body.admin .qr-mini-card h3{
  margin:0 0 10px;
  color:#172033;
}
body.admin .qr-main-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:14px 0 8px;
}
body.admin .frontend-settings-form{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:stretch;
}
body.admin .frontend-settings-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-weight:900;
  color:#243248;
}
body.admin .frontend-settings-form input{
  width:100%;
  border:1.5px solid #dfe7f1;
  border-radius:10px;
  padding:11px 12px;
}
body.admin .frontend-settings-form button{
  justify-self:end;
  min-width:126px;
  min-height:46px;
}
body.admin .qr-title-settings{
  margin-top:14px;
  padding:14px;
  border:1px solid #dfe8f5;
  border-radius:14px;
  background:linear-gradient(135deg,#f8fbff,#f4f8ff);
}
body.admin .qr-title-settings::before{
  content:"手机端标题";
  display:block;
  color:#1d72e8;
  font-size:13px;
  font-weight:1000;
  letter-spacing:.04em;
}
body.admin .frontend-title-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
}
body.admin .frontend-title-card{
  border:1px solid #dfe8f5;
  border-radius:14px;
  padding:12px;
  background:linear-gradient(135deg,#fbfdff,#f7fbff);
}
body.admin .frontend-title-card h3{
  margin:0 0 10px;
  color:#172033;
}
body.admin .frontend-title-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.admin .account-grid{
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
}
body.admin .analysis-standard-list{
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
}
body.admin .analysis-standard-grid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
body.admin .report-visual,
body.admin .official-report-frame{
  background:linear-gradient(135deg,#eef5ff,#f8fbff);
  border-radius:16px;
}
body.admin .report-image,
body.admin .report-photo{
  min-width:min(760px,100%);
}
body.admin .empty{
  color:#77869b;
}
body.admin .order-card-list{
  display:grid;
  gap:14px;
  margin-top:16px;
}
body.admin .order-card{
  min-width:0;
  border:1px solid rgba(174,192,219,.72);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 38px rgba(34,57,91,.08);
  backdrop-filter:blur(8px);
  padding:14px;
}
body.admin .order-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding-bottom:12px;
  border-bottom:1px solid #eaf0f8;
}
body.admin .order-card-head h2{
  margin:7px 0 3px;
  font-size:18px;
  line-height:1.25;
  color:#111b2f;
  word-break:break-all;
}
body.admin .order-card-head small{
  display:block;
  color:#74849b;
  line-height:1.45;
  word-break:break-word;
}
body.admin .order-card-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr 1.1fr .7fr .8fr .8fr .8fr .7fr;
  gap:10px;
  margin-top:12px;
}
body.admin .order-card-grid>div{
  min-width:0;
  border:1px solid #e2ebf6;
  border-radius:13px;
  padding:10px 11px;
  background:linear-gradient(135deg,#fbfdff,#f7fbff);
}
body.admin .order-card-grid span{
  display:inline-flex;
  margin-bottom:5px;
  color:#6d7d94;
  font-size:12px;
  font-weight:900;
}
body.admin .order-card-grid b{
  display:block;
  color:#16233a;
  font-size:15px;
  line-height:1.35;
  white-space:normal;
  word-break:break-word;
}
body.admin .order-card-grid small{
  display:block;
  color:#74849b;
  line-height:1.45;
  word-break:break-word;
}
body.admin .order-card-action{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:8px;
}
body.admin .order-card-action .btn{
  width:100%;
}
body.admin .pager{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin:18px 0 0;
  padding:14px 4px;
  color:#596476;
  font-weight:900;
  flex-wrap:wrap;
}
body.admin .pager-total{
  font-size:16px;
  color:#5e6878;
}
body.admin .page-size-form,
body.admin .page-jump-form{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
}
body.admin .page-size-form select,
body.admin .page-jump-form input{
  height:44px;
  border:1.5px solid #c9d5e6;
  border-radius:8px;
  background:#fff;
  color:#344154;
  font-size:16px;
  font-weight:900;
  outline:none;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
}
body.admin .page-size-form select{
  min-width:132px;
  padding:0 38px 0 16px;
}
body.admin .page-jump-form input{
  width:76px;
  padding:0 10px;
  text-align:center;
}
body.admin .page-arrow,
body.admin .page-number{
  width:44px;
  height:44px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:22px;
  line-height:1;
}
body.admin .page-arrow{
  background:#f1f3f7;
  color:#a7afbd;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
body.admin .page-arrow:not(.disabled):hover{
  background:#e7efff;
  color:#1f6fe5;
  transform:translateY(-1px);
}
body.admin .page-arrow.disabled{
  opacity:.62;
  pointer-events:none;
}
body.admin .page-number.active{
  background:linear-gradient(135deg,#2186ff,#1767d6);
  color:#fff;
  box-shadow:0 8px 18px rgba(31,118,232,.2);
}
body.admin .pre-review-list,
body.admin .risk-rule-list{
  display:grid;
  gap:14px;
  margin-top:16px;
}
body.admin .pre-review-card,
body.admin .risk-rule-card{
  min-width:0;
  border:1px solid rgba(174,192,219,.72);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 38px rgba(34,57,91,.08);
  backdrop-filter:blur(8px);
}
body.admin .pre-review-card{
  padding:14px;
}
body.admin .pre-review-head,
body.admin .risk-rule-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding-bottom:12px;
  border-bottom:1px solid #eaf0f8;
}
body.admin .pre-review-head h2{
  margin:4px 0 2px;
  font-size:18px;
  line-height:1.25;
  color:#111b2f;
  word-break:break-all;
}
body.admin .card-index,
body.admin .rule-id{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  border-radius:999px;
  padding:3px 9px;
  background:#edf6ff;
  color:#1d72e8;
  font-size:12px;
  font-weight:900;
}
body.admin .pre-review-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr 1.2fr .9fr .9fr .9fr 1.1fr 1fr;
  gap:10px;
  margin-top:12px;
}
body.admin .pre-review-grid div,
body.admin .report-state{
  min-width:0;
  border:1px solid #e2ebf6;
  border-radius:13px;
  padding:10px 11px;
  background:linear-gradient(135deg,#fbfdff,#f7fbff);
}
body.admin .pre-review-grid span,
body.admin .report-state>span:first-child{
  display:inline-flex;
  margin-bottom:5px;
  color:#6d7d94;
  font-size:12px;
  font-weight:900;
}
body.admin .pre-review-grid b{
  display:block;
  color:#16233a;
  font-size:15px;
  line-height:1.35;
  white-space:normal;
  word-break:break-word;
}
body.admin .pre-review-grid small,
body.admin .pre-review-head small{
  display:block;
  color:#74849b;
  line-height:1.45;
  word-break:break-word;
}
body.admin .pre-review-footer{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  margin-top:12px;
}
body.admin .report-state{
  display:flex;
  align-items:center;
  gap:10px;
}
body.admin .report-state p{
  margin:0;
  color:#44546b;
  font-weight:760;
  line-height:1.5;
  min-width:0;
  word-break:break-word;
}
body.admin .pre-review-action{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
body.admin .reject-reason-card{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid rgba(230,93,93,.34);
  border-left:4px solid #dd3e4b;
  border-radius:12px;
  background:linear-gradient(135deg,#fff7f7,#fffdfd);
}
body.admin .reject-reason-card h3{
  margin:0 0 7px;
  color:#b42332;
  font-size:15px;
}
body.admin .reject-reason-card ul{
  margin:0;
  padding-left:20px;
  color:#72252e;
  line-height:1.55;
}
body.admin .blacklist-query-card{
  margin:16px 0;
}
body.admin .blacklist-query-card h2{
  margin:0;
  font-size:20px;
}
body.admin .blacklist-query-card .section-head p{
  margin:6px 0 0;
}
body.admin .blacklist-query-result{
  min-height:24px;
  margin-top:11px;
  padding:10px 12px;
  border:1px dashed #d9e5f5;
  border-radius:10px;
  background:#fbfdff;
  line-height:1.5;
}
body.admin .query-record-list{
  display:grid;
  gap:14px;
  margin-top:16px;
}
body.admin .query-record-card{
  min-width:0;
  border:1px solid rgba(174,192,219,.72);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.9);
  box-shadow:0 16px 38px rgba(34,57,91,.08);
}
body.admin .query-record-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid #eaf0f8;
}
body.admin .query-record-head h2{
  margin:4px 0 2px;
  color:#111b2f;
  font-size:18px;
  line-height:1.25;
  word-break:break-all;
}
body.admin .query-record-head small{
  display:block;
  color:#74849b;
}
body.admin .query-record-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.15fr 1.7fr;
  gap:10px;
  margin-top:12px;
}
body.admin .query-record-grid>div{
  min-width:0;
  padding:10px 11px;
  border:1px solid #e2ebf6;
  border-radius:13px;
  background:linear-gradient(135deg,#fbfdff,#f7fbff);
}
body.admin .query-record-grid span{
  display:block;
  margin-bottom:5px;
  color:#6d7d94;
  font-size:12px;
  font-weight:900;
}
body.admin .query-record-grid b{
  display:block;
  color:#16233a;
  font-size:15px;
  line-height:1.35;
  word-break:break-word;
}
body.admin .query-record-grid small{
  display:block;
  margin-top:3px;
  color:#74849b;
  word-break:break-word;
}
body.admin .query-record-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}
body.admin .risk-rule-card{
  display:block;
  padding:14px;
}
body.admin .rule-search-form{
  grid-template-columns:minmax(260px,1fr) auto auto;
}
body.admin .rule-search-form input{
  min-width:260px;
}
body.admin .risk-rule-card.disabled-rule{
  opacity:.72;
}
body.admin .risk-rule-card-head{
  align-items:center;
}
body.admin .risk-rule-card label{
  min-width:0;
  color:#31415a;
  font-weight:900;
}
body.admin .risk-rule-card input,
body.admin .risk-rule-card select,
body.admin .risk-rule-card textarea{
  width:100%;
  min-width:0;
  margin-top:6px;
  border-radius:11px;
  padding:9px 10px;
}
body.admin .rule-name{
  flex:1 1 auto;
}
body.admin .rule-name input{
  font-size:18px;
  font-weight:900;
  color:#111b2f;
}
body.admin .risk-rule-card-grid{
  display:grid;
  grid-template-columns:1.1fr .78fr .78fr .78fr .95fr .92fr .72fr;
  gap:10px;
  margin-top:12px;
  align-items:start;
}
body.admin .risk-rule-card-grid .wide{
  grid-column:1/-1;
}
body.admin .risk-rule-card textarea{
  min-height:74px;
  margin-bottom:0;
  line-height:1.55;
}
body.admin .risk-rule-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}
body.admin .risk-rule-actions button{
  min-width:150px;
}
body.admin .prompt-settings-form{
  display:grid;
  gap:18px;
}
body.admin .prompt-group-card{
  background:rgba(255,255,255,.94);
  border:1px solid #dbe8f7;
  border-radius:18px;
  box-shadow:0 12px 34px rgba(30,64,175,.08);
  padding:20px;
}
body.admin .prompt-group-card h2{
  margin:0 0 16px;
  font-size:18px;
  color:#12213a;
}
body.admin .prompt-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.admin .prompt-field{
  display:grid;
  gap:8px;
}
body.admin .prompt-field span{
  font-weight:900;
  color:#263854;
}
body.admin .prompt-field textarea{
  width:100%;
  min-height:92px;
  resize:vertical;
  border:1px solid #d8e3f2;
  border-radius:12px;
  background:#fbfdff;
  padding:12px;
  font-size:14px;
  line-height:1.55;
}
body.admin .prompt-field textarea:focus{
  outline:2px solid rgba(37,99,235,.18);
  border-color:#60a5fa;
  background:#fff;
}
body.admin .prompt-field small{
  color:#71819b;
  line-height:1.5;
}
body.admin .sticky-actions{
  position:sticky;
  bottom:16px;
  z-index:10;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  padding:14px;
  border:1px solid #dbe8f7;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 40px rgba(15,23,42,.12);
  backdrop-filter:blur(10px);
}
.calculator-page{
  max-width:880px;
}
.calculator-hero{
  display:flex;
  align-items:center;
  gap:24px;
  min-height:206px;
  border-radius:0 0 26px 26px;
  margin:-16px -12px 0;
  padding:60px 34px 42px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 8%,rgba(34,197,94,.36),transparent 28%),
    linear-gradient(135deg,#0b1f47,#1d72e8 58%,#11b5d9);
  box-shadow:0 14px 34px rgba(29,114,232,.22);
}
.calculator-hero img{
  width:min(420px,72vw);
  height:110px;
  object-fit:contain;
  border-radius:26px;
  padding:18px 30px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 24px 54px rgba(8,28,74,.24),inset 0 0 0 1px rgba(255,255,255,.72);
}
.calculator-hero h1{
  margin:0;
  font-size:30px;
  line-height:1.2;
}
.calculator-hero p{
  margin:7px 0 0;
  color:rgba(255,255,255,.82);
  font-weight:750;
}
.calculator-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.calculator-panel label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#243248;
  font-weight:900;
}
.calculator-panel input,
.calculator-panel select{
  width:100%;
  border:1.5px solid #dfe7f1;
  border-radius:10px;
  padding:12px;
  background:#fff;
  color:#172033;
  outline:none;
}
.calculator-panel input:focus,
.calculator-panel select:focus{
  border-color:#1d72e8;
  box-shadow:0 0 0 4px rgba(29,114,232,.1);
}
.calculator-ratio{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1.5px solid #d8e8ff;
  border-radius:12px;
  padding:12px;
  background:#f7fbff;
  color:#43556c;
  font-weight:900;
}
.calculator-ratio .plan-constraint-tip{flex:1 0 100%;width:100%}
.calculator-ratio>span{
  flex:0 0 auto;
}
.calculator-ratio-options{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.calculator-ratio-options label{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:6px!important;
  min-height:36px;
  padding:7px 10px;
  border:1.5px solid #dfe7f1;
  border-radius:10px;
  background:#fff;
  color:#35445b!important;
  font-size:14px;
  line-height:1;
  white-space:nowrap;
}
.calculator-ratio-options input{
  width:18px!important;
  height:18px!important;
  min-width:18px;
  margin:0;
  padding:0!important;
  accent-color:#1d72e8;
  box-shadow:none!important;
}
.calculator-ratio-options label:has(input:checked){
  border-color:#1d72e8;
  background:#eaf4ff;
  color:#1d72e8!important;
}
.calculator-risk-status{
  grid-column:1/-1;
  display:grid;
  gap:8px;
  padding:14px;
  border:1.5px solid #d8e8ff;
  border-radius:12px;
  background:#f7fbff;
}
.calculator-risk-status>span{
  color:#243248;
  font-weight:900;
}
.calculator-risk-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.calculator-risk-options label{
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  gap:8px!important;
  min-height:44px;
  min-width:0;
  padding:9px 10px;
  border:1.5px solid #dfe7f1;
  border-radius:10px;
  background:#fff;
  color:#35445b!important;
  font-weight:800!important;
  white-space:nowrap;
}
.calculator-risk-options input{
  width:20px!important;
  height:20px!important;
  min-width:20px;
  margin:0;
  padding:0!important;
  accent-color:#1d72e8;
}
.calculator-risk-options label:has(input:checked){
  border-color:#1d72e8;
  background:#eaf4ff;
  color:#1767d2!important;
}
.battery-deposit-tip{
  color:#ae5b00!important;
  background:#fff6df;
  border:1px solid #ffd990;
  border-radius:9px;
  padding:8px 10px;
  font-weight:800!important;
  line-height:1.55;
}
.calculator-result{
  grid-column:1/-1;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.calculator-result strong{
  font-size:22px;
}
.calculator-deposit-reference{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);
  gap:12px 18px;
  padding-top:16px;
  border-top:1px solid #e0eaf5;
}
.calculator-deposit-copy strong{
  color:#1c365c;
  font-size:17px;
}
.calculator-deposit-copy p{
  margin:6px 0 0;
  color:#66778e;
  font-size:13px;
  font-weight:700;
  line-height:1.65;
}
.calculator-deposit-match{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  justify-self:stretch;
  padding:12px 14px;
  border:1px solid #cfe3ff;
  border-radius:12px;
  background:#eff7ff;
}
.calculator-deposit-match span{
  color:#63748d;
  font-size:12px;
  font-weight:800;
}
.calculator-deposit-match strong{
  color:#1767d2;
  font-size:20px;
}
.calculator-deposit-summary{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.calculator-deposit-summary div{
  padding:11px 10px;
  border:1px solid #d8e8ff;
  border-radius:10px;
  background:#f7fbff;
  text-align:center;
}
.calculator-deposit-summary span{
  display:block;
  color:#728198;
  font-size:12px;
  font-weight:800;
}
.calculator-deposit-summary strong{
  display:block;
  margin-top:4px;
  color:#1d72e8;
  font-size:19px;
}
@media(max-width:1180px){
  body.admin .admin-nav{
    flex-wrap:wrap;
  }
  body.admin .brand{
    min-width:auto;
  }
  body.admin .query-record-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.admin .admin-nav-groups{
    order:3;
    flex-basis:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.admin .admin-user{
    margin-left:auto;
  }
  body.admin .summary-grid,
  body.admin .config-card{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.admin .permission-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.admin .qr-grid{
    grid-template-columns:1fr;
  }
  body.admin .pre-review-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  body.admin .order-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  body.admin .risk-rule-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  body.admin{
    font-size:14px;
  }
  body.admin .admin-nav{
    position:sticky;
    padding:12px;
    gap:10px;
  }
  body.admin .brand{
    width:auto;
    flex:1 1 auto;
  }
  body.admin .nav-back{
    align-self:center;
  }
  body.admin .admin-user{
    width:100%;
    margin-left:0;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  body.admin .admin-nav-groups{
    grid-template-columns:1fr;
  }
  body.admin .nav-group{
    border-radius:12px;
  }
  body.admin .admin-wrap{
    width:min(100vw - 18px,720px);
    padding-top:14px;
  }
  body.admin .toast-stack{
    top:12px;
    right:12px;
    width:calc(100vw - 24px);
  }
  body.admin .order-report-photo-head{
    align-items:stretch;
    flex-direction:column;
  }
  body.admin .order-report-photo-actions{
    justify-content:stretch;
  }
  body.admin .order-report-photo-actions .btn{
    flex:1 1 160px;
  }
  body.admin .filters{
    display:grid;
    grid-template-columns:1fr;
  }
  body.admin .filters input,
  body.admin .filters select,
  body.admin .filters button,
  body.admin .filters .btn{
    width:100%;
    min-width:0;
  }
  body.admin .summary-grid,
  body.admin .summary-grid.compact,
  body.admin .config-card,
  body.admin .account-fields,
  body.admin .permission-groups,
  body.admin .rule-form,
  body.admin .site-price-fields,
  body.admin .rate-grid,
  body.admin .analysis-standard-grid{
    grid-template-columns:1fr;
  }
  body.admin .account-grid,
  body.admin .analysis-standard-list{
    grid-template-columns:1fr;
  }
  body.admin .action-row,
  body.admin .inline-form{
    align-items:stretch;
  }
  body.admin .action-row .btn,
  body.admin .action-row button,
  body.admin .inline-form .btn,
  body.admin .inline-form button{
    width:100%;
  }
  body.admin .table-card{
    border-radius:14px;
  }
  body.admin th,
  body.admin td{
    padding:11px 10px;
  }
  body.admin .pre-review-head,
  body.admin .order-card-head,
  body.admin .risk-rule-card-head,
  body.admin .pre-review-footer,
  body.admin .report-state{
    grid-template-columns:1fr;
    align-items:stretch;
    flex-direction:column;
  }
  body.admin .pre-review-grid,
  body.admin .order-card-grid,
  body.admin .query-record-grid,
  body.admin .risk-rule-card-grid,
  body.admin .prompt-field-grid{
    grid-template-columns:1fr;
  }
  body.admin .pager{
    justify-content:stretch;
    display:grid;
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
    gap:10px;
  }
  body.admin .page-size-form,
  body.admin .page-jump-form{
    justify-content:center;
  }
  body.admin .pre-review-action,
  body.admin .risk-rule-actions{
    justify-content:stretch;
  }
  body.admin .pre-review-action .btn,
  body.admin .risk-rule-actions button{
    width:100%;
  }
  body.admin .qr-main-actions{
    grid-template-columns:1fr;
  }
  body.admin .frontend-settings-form{
    grid-template-columns:1fr;
  }
  body.admin .frontend-title-fields{
    grid-template-columns:1fr;
  }
  body.admin .frontend-settings-form button{
    justify-self:stretch;
  }
  body.admin .qr-pair,
  .calculator-panel,
  .calculator-result,
  .calculator-deposit-reference,
  .calculator-deposit-summary{
    grid-template-columns:1fr;
  }
  .calculator-risk-options{
    grid-template-columns:1fr;
  }
  .calculator-hero{
    flex-direction:column;
    align-items:flex-start;
    margin:-12px -10px 0;
    padding:42px 18px 30px;
    min-height:214px;
  }
  .public-logo{
    width:min(520px,86vw);
    height:112px;
    padding:18px 26px;
  }
  .calculator-hero img{
    width:min(520px,86vw);
    height:108px;
    padding:18px 26px;
  }
}
