:root{--ink:#222725;--muted:#7b827d;--line:#e4e7e3;--paper:#f8f9f6;--green:#304d3c;--accent:#e8eee5;--warm:#f8f1e4;--red:#a84e43}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 'PingFang SC','Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:8px 13px}button:hover:not(:disabled){background:#eff3ed}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #568369;outline-offset:3px}aside{width:232px;position:fixed;inset:0 auto 0 0;background:#f0f2ec;border-right:1px solid var(--line);padding:28px 17px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 11px 33px;font-size:17px;font-weight:600}.brand>span{width:34px;height:34px;display:grid;place-items:center;background:#304d3c;color:white;border-radius:9px}.brand small{display:block;font-size:9px;letter-spacing:1.2px;color:#899183}.nav-label{font-size:11px;color:var(--muted);padding:0 14px;letter-spacing:2px}nav button{display:flex;width:100%;text-align:left;align-items:center;gap:13px;background:transparent;border:0;margin:4px 0;padding:11px 14px;color:#737b70}nav button.active{background:#fff;color:var(--green);box-shadow:0 1px 3px #263a3010;font-weight:600}nav button span{font-size:12px;width:18px;opacity:.65}.sidebar-foot{margin-top:auto;padding:18px 12px 0;border-top:1px solid #dce1d7;font-size:11px;color:var(--muted)}.sidebar-foot b{color:#4c5949}.sidebar-foot a{color:var(--green);text-decoration:none}.workspace{margin-left:232px}header{height:69px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:12px}header span{margin:0 15px;color:#b4b9b0}header label{display:flex;gap:10px;align-items:center;color:var(--muted)}select{border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:white;color:var(--ink)}main{padding:35px 38px 25px;max-width:1630px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:2px;color:#9ba38f}h1{font-weight:600;font-size:29px;letter-spacing:-.6px;margin:8px 0}h2{font-weight:600;font-size:15px;margin:0}h3{font-size:17px;margin:0}p{margin:7px 0}.page-head p{font-size:13px;color:var(--muted)}.preview-label{font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:center}.demo-note{font-size:11px;background:#edf1e8;color:#657159;padding:11px 15px;border-radius:6px;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:21px}.card .number{font-size:31px;letter-spacing:-1px;margin:5px 0 10px}.card .tagline{font-size:11px;color:#8d9587}.card button{padding:0;border:0;color:var(--green);font-size:12px}.card h2{font-size:12px;color:#747e6e;font-weight:400}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:22px}.section-head{display:flex;align-items:center;justify-content:space-between;padding:19px 21px;border-bottom:1px solid var(--line)}.section-head span,.muted{color:var(--muted);font-size:12px}.section-head .actions{display:flex;gap:9px;align-items:center}.primary{color:white;background:var(--green);border-color:var(--green)}.primary:hover:not(:disabled){background:#42634c}.danger{color:var(--red)}.toolbar{display:flex;gap:10px;padding:15px 21px;border-bottom:1px solid var(--line);align-items:center}.toolbar input{min-width:230px;border:1px solid var(--line);border-radius:6px;padding:8px 11px}.toolbar .total{margin-left:auto;color:var(--muted);font-size:11px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:11px;color:#8c9286;background:#fafbf8;font-weight:400;padding:12px 21px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 21px;border-bottom:1px solid #edf0e8;vertical-align:middle}tr:last-child td{border:0}.badge{display:inline-block;background:#edf2e9;border-radius:4px;color:#59714c;font-size:10px;padding:3px 7px;white-space:nowrap}.badge.warn{background:#faf1df;color:#9b7b3a}.badge.gray{background:#f1f2ee;color:#838a7b}.id{font-size:10px;color:#959e8c;font-family:monospace;display:block}.row-action{border:0;padding:3px 0;background:none;color:var(--green);font-size:12px;white-space:nowrap}.row-action+.row-action{margin-left:12px}.policy{font-size:12px;padding:17px 21px;background:#fafbf8;color:#68715f;border-top:1px solid var(--line)}.two-col{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.list-item{padding:17px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.list-item:last-child{border:0}.list-item small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.price-banner{padding:25px 23px;display:flex;align-items:center;justify-content:space-between}.price-value{font-size:32px;letter-spacing:-1px}.price-value del{font-size:16px;color:#9ca394;margin-right:12px}.price-value small{font-size:13px;letter-spacing:0}.price-meta{padding:0 23px 20px;color:var(--muted);font-size:11px}.audit-section{margin-top:28px;border-top:1px solid var(--line)}.audit-section .section-head{padding:18px 0;border:0}.audit-row{font-size:11px;padding:10px 0;border-top:1px solid var(--line);display:flex;gap:15px}.audit-row time{color:#919888}.empty{padding:72px 24px;text-align:center;color:var(--muted)}.empty h2{font-size:18px;color:#5c6655}.empty button{margin-top:17px}footer{border-top:1px solid var(--line);padding:18px 38px;color:#9ca391;font-size:10px;display:flex;justify-content:space-between}dialog{width:510px;max-width:calc(100vw - 32px);border:1px solid var(--line);border-radius:11px;box-shadow:0 20px 80px #172a1833;padding:0;color:var(--ink)}dialog::backdrop{background:#1d2b254a;backdrop-filter:blur(2px)}.dialog-head{padding:23px 25px 17px;border-bottom:1px solid var(--line)}.dialog-head p{font-size:12px;color:var(--muted)}.dialog-body{padding:22px 25px}.dialog-body label{display:block;margin-bottom:16px;color:#68705f;font-size:12px}.dialog-body input,.dialog-body textarea{display:block;margin-top:6px;width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;color:var(--ink)}.dialog-body textarea{min-height:92px;resize:vertical}.dialog-foot{padding:16px 25px;background:#fafbf7;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.field-error{color:var(--red);font-size:12px;min-height:19px}.detail-row{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.detail-row span{color:var(--muted)}.toast{position:fixed;bottom:28px;left:calc(50% + 116px);transform:translateX(-50%);padding:11px 18px;background:#2b3d2e;color:white;font-size:12px;border-radius:8px;box-shadow:0 5px 25px #0002;z-index:10}.permission-grid{padding:18px 21px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.permission-grid div{background:#f6f8f1;padding:12px;border-radius:5px;font-size:12px}.permission-grid small{display:block;margin-top:5px;color:var(--muted);font-size:10px}@media(max-width:1000px){aside{width:190px}.workspace{margin-left:190px}main{padding:25px}.cards{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}header{padding:0 25px}.toast{left:60%}}@media(max-width:700px){aside{position:relative;width:100%;padding:15px}.brand{padding-bottom:10px}.nav-label,.sidebar-foot{display:none}nav{display:flex;overflow:auto}nav button{width:auto;flex-shrink:0}.workspace{margin:0}.page-head{display:block}.preview-label{margin-top:15px}header{padding:15px;height:auto}.toolbar input{min-width:130px;width:100%}.toolbar{flex-wrap:wrap}.toolbar .total{margin-left:0}.permission-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}main{padding:20px 15px}footer{padding:16px;gap:15px}.toast{left:50%;width:85%}}

/* Matching configuration follows the existing panel, grid and field system. */
.matching-panel{padding:24px;margin-bottom:22px}.matching-panel h2{margin:0 0 16px}.matching-panel p{line-height:1.8;color:#69756b}.matching-panel form{display:grid;gap:20px}.matching-panel label{display:grid;gap:8px;font-size:13px;color:#46594b}.matching-panel input:not([type=checkbox]){box-sizing:border-box;width:100%;padding:11px 12px;border:1px solid #d7dfd5;border-radius:8px;background:#fff;font:inherit;color:#293a30}.matching-panel label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center}.matching-panel input[type=checkbox]{width:16px;height:16px;accent-color:#335543}.matching-panel details{border-top:1px solid #e6e9e4;padding:16px 0}.matching-panel summary{cursor:pointer;font-weight:600;line-height:1.8}.matching-panel details label{margin:14px 0}.matching-panel form>button{justify-self:start}.matching-panel table{margin:18px 0}.matching-panel [role=alert]:empty{display:none}
