:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#26262b;background:#f5f5f7;font-size:15px;font-synthesis:none;--red:#e9232a;--muted:#85858c;--line:#eeeef1}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #4284d8;outline-offset:3px}button.primary,.primary{background:var(--red);color:#fff;font-weight:600;border-radius:8px;padding:15px 18px;min-height:48px}button.secondary{background:#f3f3f5;padding:12px 16px;border-radius:6px;color:#4e4e57}.danger{color:#c62027;background:#fff0f1;border-radius:6px;padding:10px 14px}.muted{color:var(--muted);font-size:13px;line-height:1.65}.red{color:var(--red)}.full{width:100%}h1,h2,h3,p{margin:0}h1{font-size:22px}h2{font-size:19px}h3{font-size:16px}small{font-size:12px}label{display:block}input:not([type=checkbox]),select,textarea{border:1px solid #e2e2e7;border-radius:6px;background:white;padding:13px;width:100%;min-height:46px;outline-color:#e9232a;color:#28282e}textarea{resize:vertical;min-height:95px}input[type=checkbox]{width:19px;height:19px;accent-color:var(--red);flex-shrink:0}.stack{display:grid;gap:18px}.field{display:grid;gap:8px}.check{display:flex;gap:8px;align-items:flex-start;line-height:1.65;font-size:13px}.shell{max-width:580px;margin:auto;min-height:100dvh;background:#f7f7f9;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.bar{position:sticky;top:0;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;min-height:62px;padding:14px 18px;border-bottom:1px solid var(--line)}.bar button{width:38px;height:36px;font-size:27px;background:none;color:#333}.bar h1{font-size:18px}.bar-spacer{width:38px}.content{padding:22px 20px}.section{padding:22px 20px;background:#fff;margin-bottom:10px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);z-index:10;width:min(580px,100%);padding:9px 0 calc(9px + env(safe-area-inset-bottom));background:white;border-top:1px solid #eaeaf0;display:grid;grid-template-columns:repeat(4,1fr)}.nav a{text-align:center;padding:13px 0;font-size:14px;color:#8c8c92}.nav a.active{color:var(--red);font-weight:700}.login{max-width:580px;margin:auto;background:#ed2428;min-height:100dvh;color:#fff;padding:55px 30px 35px;display:flex;flex-direction:column;justify-content:center}.brand{text-align:center;padding-bottom:42px}.brand img{width:108px;height:108px;object-fit:contain}.brand h1{font-size:32px;font-weight:800;margin:12px 0 2px}.brand small{font-size:12px;letter-spacing:2px}.login input:not([type=checkbox]){border:0;height:58px;border-radius:12px;font-size:17px;padding:15px 18px}.login .field{gap:6px}.login .field>span{font-size:14px;font-weight:600}.password{position:relative}.password input{padding-right:66px!important}.password button{position:absolute;right:6px;top:5px;height:48px;background:transparent;color:#83838b;font-size:12px;padding:0 12px}.auth-links{display:flex;justify-content:space-between;margin:4px 2px 28px;gap:14px}.auth-links a{text-decoration:underline;text-underline-offset:4px}.login .primary{background:#fff;color:#333;min-height:56px;font-size:18px}.login .check{margin-top:20px;color:white}.login .check a{text-decoration:underline}.login input[type=checkbox]{accent-color:white}.login.compact{justify-content:flex-start;padding-top:25px}.login.compact .brand{padding-bottom:22px}.login.compact .brand img{width:62px;height:62px}.login.compact .brand h1{font-size:25px}.login.compact .auth-links{margin-bottom:0}.head-brand{display:flex;gap:9px;align-items:center;font-size:20px;font-weight:800}.head-brand img{width:32px;height:32px;background:var(--red);border-radius:50%}.hello{background:var(--red);color:white;padding:26px 22px}.hello p{font-size:14px;opacity:.8;margin-top:6px}.wallet-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.wallet-row strong{display:block;font-size:23px;overflow-wrap:anywhere}.wallet-row span{font-size:12px;opacity:.8}.shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:white;padding:16px 6px}.shortcut{display:flex;align-items:center;flex-direction:column;gap:9px;padding:17px 3px;font-size:13px}.shortcut-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#df2934;background:#ffedf0;font-weight:700;font-size:20px}.shortcut:nth-child(3n+2) .shortcut-mark{background:#eaf6ef;color:#308659}.shortcut:nth-child(3n) .shortcut-mark{background:#edf1ff;color:#4c64b1}.menu-row{display:flex;align-items:center;justify-content:space-between;padding:19px 0;gap:14px;border-bottom:1px solid var(--line)}.menu-row span:last-child{color:#96969c}.menu-row small{display:block;margin-top:4px;color:#93939a}.menu-row:last-child{border-bottom:0}.tabs{display:flex;gap:6px;background:white;border-bottom:1px solid var(--line);padding:0 20px}.tabs a{flex:1;text-align:center;padding:18px 6px;border-bottom:3px solid transparent}.tabs .active{color:var(--red);border-bottom-color:var(--red);font-weight:700}.empty{min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8a8a91;text-align:center;padding:26px}.empty img{width:64px;height:64px;background:#f0b9bb;border-radius:50%;padding:6px;opacity:.6}.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.product{background:#fff;border-radius:8px;overflow:hidden;min-width:0}.product img,.product-placeholder{width:100%;aspect-ratio:1;object-fit:cover;background:#f0f0f2}.product-placeholder{display:grid;place-items:center;color:#a3a3ab;font-size:14px}.product .info{padding:13px}.product h3{line-height:1.55;overflow-wrap:anywhere;margin-bottom:7px}.product .price{font-size:19px;color:#d52b33;font-weight:700;margin-top:7px}.badge{background:#fff0f1;color:#d9252e;font-size:11px;padding:4px 7px;border-radius:3px;display:inline-block}.product-detail-image{width:100%;aspect-ratio:1;object-fit:contain;background:white}.price-large{font-size:29px;color:#d9252e;margin:14px 0}.description{white-space:pre-wrap;line-height:1.8;color:#676770;margin-top:16px;overflow-wrap:anywhere}.status{display:inline-block;background:#f0f4f9;color:#4f6885;font-size:12px;padding:5px 9px;border-radius:4px}.status.pending,.status.review,.status.manual{background:#fff6e4;color:#9e7318}.status.approved,.status.paid,.status.matched{background:#eaf7f0;color:#217a4e}.status.rejected{background:#ffedef;color:#c5323b}.record{padding:20px;background:white;border-bottom:1px solid var(--line)}.record-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.record p{margin:8px 0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.record .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.record .actions>*{font-size:13px;min-height:38px;padding:9px 12px}.steps{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px;background:#fff;font-size:12px;color:#7c7c83}.agreement{line-height:1.8;background:#f4f4f7;padding:16px;border-radius:6px;white-space:pre-wrap;font-size:14px}.signature{width:100%;height:220px;touch-action:none;background:white;border:1px dashed #9a9aa3;border-radius:6px}.sign-toolbar{display:flex;align-items:center;justify-content:space-between;margin:8px 0 15px}.qr{width:220px;max-width:100%;aspect-ratio:1;object-fit:contain;display:block;margin:20px auto}.title-value{font-size:28px;font-weight:700;margin:12px 0}.notice{padding:14px 18px;background:#fff6df;color:#8a681f;line-height:1.7;font-size:13px}.back-link{display:block;padding-bottom:16px}.loading{padding:60px;text-align:center;color:#888}.page-error{padding:24px;line-height:1.8;color:#ad3338}.buttons{display:flex;gap:12px;flex-wrap:wrap}.buttons>*{flex:1}.small-brand{padding:12px 0;color:#aaa;text-align:center;font-size:12px}#toast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);z-index:100;background:#29292fe8;color:white;padding:12px 19px;border-radius:7px;max-width:calc(100% - 32px);width:max-content;font-size:14px;box-shadow:0 4px 16px #0002}dialog{border:0;border-radius:8px;padding:24px;max-width:500px;width:calc(100% - 36px);max-height:85dvh;overflow:auto;box-shadow:0 16px 70px #0004}dialog::backdrop{background:#0006}dialog h2{margin-bottom:15px}dialog p{line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}dialog>button{width:100%;margin-top:20px;border-radius:6px;padding:13px;background:#f0f0f4}.admin-shell{max-width:1320px;margin:auto;padding:24px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.admin-nav{display:flex;gap:6px;border-bottom:1px solid #ddd;overflow-x:auto;margin-bottom:25px}.admin-nav a{padding:14px;white-space:nowrap}.admin-nav a.active{border-bottom:3px solid var(--red);color:var(--red)}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-panel{background:white;padding:22px;margin:16px 0}.admin-panel h2{margin-bottom:20px}.admin-panel .stack{gap:14px}.table-wrap{overflow-x:auto;background:white}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid #ededf1;padding:14px;vertical-align:top;min-width:70px}th{background:#fafafb;font-weight:600;white-space:nowrap}td p{margin:6px 0}table button{font-size:12px;padding:7px 9px;background:#f0f0f4;color:#444;border-radius:4px;margin:3px;white-space:nowrap}.inline-proof{width:140px;max-height:180px;object-fit:contain}.admin-panel input[type=checkbox]{vertical-align:middle}.kpi{display:flex;gap:20px;flex-wrap:wrap;padding:22px;background:#fff;margin-bottom:20px}.kpi strong{display:block;font-size:26px}.kpi>div{min-width:140px}.admin-form{display:grid;gap:16px}.admin-form label{display:grid;gap:7px}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.admin-shell{padding:16px}.admin-grid{grid-template-columns:1fr}.admin-head h1{font-size:20px}.split-fields{grid-template-columns:1fr}.brand{padding-bottom:32px}.login{padding:35px 26px}.wallet-row strong{font-size:21px}.shortcuts{grid-template-columns:repeat(3,1fr)}}@media(max-height:720px){.login{justify-content:flex-start;padding-top:30px}.brand img{width:80px;height:80px}.brand{padding-bottom:26px}.auth-links{margin-bottom:18px}}
