:root{--surface: #f4f2ef;--surface-card: #fffcf7;--surface-dark: #1e1e1e;--ink: #1a1a1a;--ink-2: #4a4a4a;--ink-3: #777777;--line: #e6e1d8;--gold: #c8b496;--gold-deep: #9a7e52;--success: #3d6b4f;--success-soft: #e7f1ea;--danger: #8c3a32;--danger-soft: #f6e8e6;--warn: #8a6a2f;--warn-soft: #f6efd8;--font-display: "Noto Serif SC", "Songti SC", serif;--font-body: "Noto Sans SC", "PingFang SC", sans-serif;--r-md: 6px;--r-lg: 8px;--mp-cell: #ffffff;--mp-page: #efebe4;--page-x: 28px;--stack: 16px}html,body,#root{height:100%;margin:0;background:var(--surface);color:var(--ink);font-family:var(--font-body)}.admin-shell{display:flex;height:100%;min-height:100%}.admin-side{width:220px;flex-shrink:0;background:var(--surface-dark);color:var(--ink-3);display:flex;flex-direction:column;padding:22px 16px 16px}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 4px 20px}.mark{width:32px;height:32px;border-radius:var(--r-md);background:var(--gold-deep);color:var(--surface-card);font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-brand-name{font-size:16px;font-weight:500;color:var(--gold);line-height:1.2}.admin-brand-sub{display:block;margin-top:2px;font-size:12px;color:var(--ink-3)}.admin-nav{display:flex;flex-direction:column;gap:4px;flex:1}.admin-nav-group{display:flex;flex-direction:column;gap:2px;margin-top:8px}.admin-nav-label{display:flex;align-items:center;gap:10px;padding:8px 12px 4px;font-size:12px;color:var(--ink-3)}.admin-nav-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--ink-3);font-size:14px;font-family:inherit;padding:10px 12px;border-radius:var(--r-lg);cursor:pointer;text-align:left}.admin-nav-item.sub{padding:8px 12px 8px 38px;font-size:13px}.admin-nav-item:hover{color:var(--gold)}.admin-nav-item.on{background:var(--ink);color:var(--gold)}.admin-out{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink-3);font-size:13px;font-family:inherit;padding:10px 12px;cursor:pointer}.admin-out:hover{color:var(--gold)}.admin-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.workspace-tabs{display:flex;align-items:stretch;flex-shrink:0;background:var(--mp-cell);border-bottom:1px solid var(--line);padding:0 var(--page-x);min-height:40px}.workspace-tab{display:flex;align-items:center;gap:8px;height:40px;padding:0 4px;margin-right:16px;border:0;background:transparent;color:var(--ink-3);font-size:13px;font-family:inherit;cursor:pointer}.workspace-tab.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--gold-deep)}.workspace-tab-x{display:flex;color:var(--ink-3);border-radius:3px}.workspace-tab-x:hover{color:var(--ink);background:var(--mp-page)}.workspace{flex:1;min-height:0;overflow:auto}.workspace-panel{display:none}.workspace-panel.on{display:block;min-height:100%}.page{padding:24px var(--page-x) 36px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;min-height:40px}.page-head-text{min-width:0}.page-title{margin:0;font-size:20px;font-weight:500;line-height:1.3;color:var(--ink)}.page-desc{display:block;margin-top:4px;font-size:13px;line-height:1.45;color:var(--ink-3)}.stack{display:flex;flex-direction:column;gap:var(--stack)}.sheet{background:var(--mp-cell);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.sheet-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:56px;padding:10px 16px;border-bottom:1px solid var(--line)}.sheet-title{margin:0;font-size:15px;font-weight:500;line-height:1.3;color:var(--ink)}.sheet-bar-count{margin-left:4px;font-size:13px;color:var(--ink-3)}.seq{color:var(--ink-3);font-size:13px;font-variant-numeric:tabular-nums}.sheet-pad{padding:20px 20px 22px}.sheet .ant-table-wrapper .ant-table{background:transparent}.sheet .ant-table-thead>tr>th,.sheet .ant-table-tbody>tr>td{white-space:nowrap}.sheet .ant-table-thead>tr>th{font-size:13px;font-weight:400}.sheet.clickable .ant-table-tbody>tr{cursor:pointer}.sheet .ant-table-placeholder .ant-table-cell{padding:48px 16px;color:var(--ink-3);white-space:normal}.sheet-bar+.ant-table-wrapper .ant-table-container{border-start-start-radius:0;border-start-end-radius:0}.fld-search{width:280px;max-width:100%}.fld-sm{width:120px}.fld-full{width:100%!important}.bar-form.ant-form-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bar-form .ant-form-item{margin:0}.drawer-form .ant-form-item{margin-bottom:14px}.drawer-form .ant-form-item-label{padding-bottom:4px}.drawer-form .ant-form-item-label>label{font-size:13px;color:var(--ink-2);height:auto}.form-plain .ant-form-item{margin-bottom:14px}.form-plain .ant-form-item-label{padding-bottom:4px}.form-plain .ant-form-item-label>label{font-size:13px;color:var(--ink-2)}.form-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 12px}.w-80{width:80px}.w-88{width:88px}.w-100{width:100px}.w-120{width:120px}.w-140{width:140px}.w-168{width:168px}.w-200{width:200px}.w-220{width:220px}.w-280{width:280px}.w-440{width:440px}.w-80,.w-88,.w-100,.w-120,.w-140,.w-168,.w-200,.w-220,.w-280,.w-440{max-width:100%;flex:0 0 auto}.drawer-form .ant-form-item[class*=" w-"] .ant-input,.drawer-form .ant-form-item[class*=" w-"] .ant-input-affix-wrapper,.drawer-form .ant-form-item[class*=" w-"] .ant-select,.drawer-form .ant-form-item[class*=" w-"] .ant-input-number,.drawer-form .ant-form-item[class*=" w-"] .ant-picker,.drawer-form .ant-form-item[class*=" w-"] textarea,.form-plain .ant-form-item[class*=" w-"] .ant-input,.form-plain .ant-form-item[class*=" w-"] .ant-input-affix-wrapper,.form-plain .ant-form-item[class*=" w-"] .ant-select,.form-plain .ant-form-item[class*=" w-"] .ant-input-number,.form-plain .ant-form-item[class*=" w-"] .ant-picker{width:100%!important}.form-sec+.form-sec{margin-top:4px;padding-top:16px;border-top:1px solid var(--line)}.form-sec-title{display:block;margin:0 0 12px;font-size:13px;font-weight:500;color:var(--ink)}.form-sec-hint{display:block;margin:-6px 0 12px;font-size:12px;line-height:1.4;color:var(--ink-3)}.avatar-row{display:flex;align-items:center;gap:14px;margin-bottom:16px}.avatar-box{width:72px;height:72px;border-radius:var(--r-md);background:var(--gold-deep);color:var(--surface-card);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}.avatar-box img{width:100%;height:100%;object-fit:cover}.name-cell{display:inline-flex;align-items:center;gap:10px}.name-meta{display:flex;flex-direction:column;gap:2px;line-height:1.3}.name-real{font-size:12px;color:var(--ink-3)}.name-av{width:32px;height:32px;border-radius:4px;object-fit:cover;flex-shrink:0}.mark-av{background:var(--gold-deep);color:var(--surface-card);font-size:12px;display:inline-flex;align-items:center;justify-content:center}.att-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.exp-block{padding-bottom:2px}.exp-remove{display:flex;align-items:flex-end;width:40px;padding-bottom:14px}.pair,.split{display:grid;gap:var(--stack);align-items:start}.pair{grid-template-columns:1fr 1fr}.split{grid-template-columns:minmax(0,1fr) 360px}.split-side{position:sticky;top:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr)}.stat{background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;padding:14px 20px 16px;text-align:left;font-family:inherit;cursor:pointer}.stat:last-child{border-right:0}.stat.on{box-shadow:inset 0 -2px 0 var(--gold-deep);background:var(--surface)}.stat-n{display:block;font-size:13px;color:var(--ink-3)}.stat-v{display:block;margin-top:6px;font-size:26px;font-weight:500;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.stat.warn .stat-v{color:var(--warn)}.stat.ok .stat-v{color:var(--success)}.stat.bad .stat-v{color:var(--danger)}.review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.kv{display:grid;gap:10px;margin:0 0 16px}.kv-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;font-size:13px;line-height:1.45}.kv-row dt{margin:0;color:var(--ink-3)}.kv-row dd{margin:0;color:var(--ink);word-break:break-word}.review-license{display:block;width:100%;max-height:180px;object-fit:contain;background:var(--mp-page);border-radius:var(--r-md);margin:0 0 16px}.actions{display:flex;gap:8px}.status{font-size:13px;white-space:nowrap}.status.on{color:var(--gold-deep)}.status.off{color:var(--ink-3)}.status.pending{color:var(--warn)}.status.ok{color:var(--success)}.status.bad{color:var(--danger)}.amt{font-variant-numeric:tabular-nums}.amt.plus{color:var(--gold-deep)}.login{min-height:100%;display:grid;place-items:center;background:var(--surface)}.login-card{width:400px;background:var(--surface-card);border:1px solid var(--line);border-radius:12px;padding:36px 32px 32px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}.login-title{font-size:20px;font-weight:500;color:var(--ink)}.login-sub{display:block;margin-bottom:24px;font-size:13px;color:var(--ink-3)}.row-on td{background:var(--mp-page)!important}.empty-hint{padding:28px 0;color:var(--ink-3)}.empty-hint p{margin:0 0 12px}.name-edit{border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.name-edit:hover{color:var(--gold-deep)}.att-thumb{width:36px;height:36px;border-radius:4px;object-fit:cover;display:block}.att-pdf,.license-pdf{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border-radius:4px;background:var(--mp-page);color:var(--ink-2);font-size:12px}.mp-preview{display:flex;justify-content:center}.mp-phone{width:390px;max-width:100%;background:var(--mp-page);border-radius:12px;padding:20px 16px}.mp-hero{display:flex;align-items:center;gap:14px;margin-bottom:14px}.mp-name{font-size:18px;font-weight:500}.mp-bio{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--ink-2)}.mp-exp{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:14px}.mp-lock{margin-top:16px;padding:12px 0 0;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}@media (max-width: 1100px){.pair,.split,.stats{grid-template-columns:1fr}.split-side{position:static}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.fld-search{width:100%}}
