:root{--ink:#151513;--muted:#68695f;--surface:#f6f1e8;--panel:#faf7ee;--soft:#eee8dd;--line:#d7d1c5;--accent:#a25c34;--olive:#78836a;font-family:Arial,'Helvetica Neue','Microsoft YaHei',sans-serif;color:var(--ink);background:var(--surface)}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.65;background:var(--surface)}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--olive);outline-offset:3px}.admin-header{min-height:88px;padding:18px 5%;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.brand{min-width:178px}.brand strong{display:block;font-size:14px;font-weight:700;line-height:1.15}.brand small{display:block;margin-top:4px;font-size:9px;letter-spacing:.18em}.admin-header p{font-size:12px;color:var(--accent);font-weight:700}.admin-header h1{font-size:26px;line-height:1.2}.admin-header nav{margin-left:auto;display:flex;gap:18px;color:#98582f;font-size:13px;font-weight:700}.admin-shell{max-width:1320px;margin:0 auto;padding:36px 5% 58px}.login-wrap{max-width:470px;margin:70px auto;padding:30px;background:var(--panel);border:1px solid var(--line)}.login-wrap h2{font-size:25px}.login-wrap p{margin-top:9px;color:var(--muted)}.form{display:grid;gap:14px;margin-top:24px}.field{display:grid;gap:6px}.field span{font-size:13px;color:var(--accent);font-weight:700}input,textarea{width:100%;min-height:45px;border:1px solid #cbc5b8;background:var(--panel);padding:10px 12px;color:var(--ink)}textarea{resize:vertical;min-height:90px}.button{border:1px solid var(--ink);background:var(--ink);color:var(--panel);min-height:45px;padding:11px 18px;font-weight:700}.button.secondary{background:var(--panel);color:var(--ink);border-color:#c8c2b5}.button:hover{background:#35352f}.button.secondary:hover{background:#e9e2d5}.message{margin-top:14px;padding:12px 14px;background:#f1ebdf;color:#8d4936;font-size:13px}.topline{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:26px}.topline p{color:var(--muted);max-width:720px}.user-pill{padding:8px 12px;background:var(--soft);border:1px solid var(--line);font-size:13px;color:#55594e}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:#f4efe5;margin-bottom:24px}.metric{padding:18px 20px}.metric+.metric{border-left:1px solid var(--line)}.metric strong{display:block;font-size:26px}.metric span{font-size:12px;color:var(--accent);font-weight:700}.inbox-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:22px;align-items:start}.list-panel,.detail-panel{background:var(--panel);border:1px solid var(--line)}.list-head{padding:18px 18px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.list-head h2{font-size:18px}.submission-list{display:grid;max-height:680px;overflow:auto}.submission-row{border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:15px 18px;display:grid;gap:6px}.submission-row:hover,.submission-row.active{background:var(--soft)}.submission-row strong{font-size:16px}.submission-row small{color:var(--muted)}.row-meta{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;background:#e9e2d5;color:#55594e;font-size:12px;font-weight:700}.tag.new{background:#e6e9de;color:#45513a}.tag.warning{background:#f1ebdf;color:#8d4936}.empty{padding:38px 20px;text-align:center;color:var(--muted)}.detail-panel{padding:24px;min-height:520px}.detail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.detail-header h2{font-size:25px}.detail-header p{color:var(--muted);margin-top:5px}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.details-grid div.wide{grid-column:1/-1}.details-grid dt{font-size:12px;color:var(--accent);font-weight:700}.details-grid dd{margin:4px 0 0;overflow-wrap:anywhere}.section{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.section h3{font-size:17px;margin-bottom:12px}.product-list{display:grid;gap:10px}.product-item{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;align-items:center}.product-item img{width:68px;height:54px;object-fit:cover;background:var(--soft)}.product-item strong{display:block}.product-item small{color:var(--muted)}pre{white-space:pre-wrap;word-break:break-word;margin:0;padding:16px;background:#f4efe5;border:1px solid var(--line);font-size:13px;line-height:1.8}.status-actions{display:flex;gap:8px;flex-wrap:wrap}.status-actions .button{min-height:38px;padding:8px 12px;font-size:13px}.status-actions .button.active{background:var(--olive);border-color:var(--olive)}#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;max-width:calc(100vw - 32px);z-index:5}
@media(max-width:900px){.admin-header{padding:17px 22px;gap:16px}.brand{min-width:130px}.admin-header nav{display:none}.admin-shell{padding:24px 20px 44px}.topline{display:grid}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(3){border-left:0;border-top:1px solid var(--line)}.metric:nth-child(4){border-top:1px solid var(--line)}.inbox-grid{grid-template-columns:1fr}.submission-list{max-height:none}.detail-panel{padding:20px}.details-grid{grid-template-columns:1fr}.detail-header{display:grid}.login-wrap{margin:38px auto;padding:24px}}
.product-item{width:100%;border:1px solid transparent;background:transparent;text-align:left;padding:6px;cursor:pointer}.product-item:hover{background:var(--soft);border-color:var(--line)}.product-item small{display:block}.open-hint{color:#98582f!important;font-weight:700}.product-dialog-backdrop{position:fixed;inset:0;background:#15151388;z-index:20}.product-dialog{position:fixed;z-index:21;left:50%;top:50%;transform:translate(-50%,-50%);width:min(880px,calc(100vw - 34px));max-height:calc(100vh - 38px);overflow:auto;background:var(--panel);border:1px solid var(--line);padding:24px}.product-dialog-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.product-dialog-head p{font-size:12px;color:var(--accent);font-weight:700}.product-dialog-head h2{font-size:28px;line-height:1.25}.product-dialog-media{background:var(--soft);border:1px solid var(--line);aspect-ratio:16/10;overflow:hidden;margin-bottom:10px}.product-dialog-media img{width:100%;height:100%;object-fit:cover;display:block}.product-dialog-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:20px}.product-dialog-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--soft);border:1px solid var(--line)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}#toast{z-index:30}
@media(max-width:900px){.product-dialog{padding:18px;width:calc(100vw - 24px)}.product-dialog-head{display:grid}.product-dialog-media{aspect-ratio:4/3}.product-dialog-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-actions{justify-content:stretch}.dialog-actions .button{flex:1}}
.identity-field{margin:0;padding:0;border:0}.identity-field legend{margin-bottom:9px;font-size:13px;color:var(--accent);font-weight:700}.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.identity-card{position:relative;display:grid;gap:7px;min-height:92px;padding:13px 12px 12px 15px;border:1px solid var(--line);background:#f4efe5;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.identity-card:hover{border-color:#9d9f8b;background:#f0eadd}.identity-card:has(input:checked){border-color:var(--olive);background:#e6e9de;box-shadow:inset 3px 0 0 var(--olive)}.identity-card input{position:absolute;opacity:0;pointer-events:none}.identity-code{font-size:16px;font-weight:800;letter-spacing:.02em}.identity-copy strong{display:block;font-size:13px;font-weight:700}.identity-copy small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.45}@media(max-width:560px){.identity-grid{grid-template-columns:1fr}.identity-card{min-height:76px}}
.custom-admin-detail .section h4{margin:0 0 10px;font-size:14px;color:var(--accent)}.custom-photo-groups{display:grid;gap:16px}.custom-photo-group{border:1px solid var(--line);background:#f4efe5;padding:14px}.custom-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.custom-photo-grid a{display:grid;gap:6px;color:inherit}.custom-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--soft);border:1px solid var(--line)}.custom-photo-grid span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.custom-reference-list{display:grid;gap:12px}.custom-reference-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:start;border:1px solid var(--line);background:#f4efe5;padding:10px}.custom-reference-item img{width:88px;height:70px;object-fit:cover;background:var(--soft)}.custom-reference-item strong,.custom-reference-item small{display:block}.custom-reference-item small{color:var(--muted)}.custom-reference-item p{margin-top:6px;color:#454740}.custom-reference-item a{display:inline-block;margin-top:7px;color:#98582f;font-weight:700}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media(max-width:900px){.custom-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-reference-item{grid-template-columns:72px minmax(0,1fr)}.custom-reference-item img{width:72px;height:60px}}
@media(max-width:560px){.custom-photo-grid{grid-template-columns:1fr}.dialog-actions .button{width:100%}}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:-6px 0 22px}.admin-tabs button{min-height:42px;padding:9px 15px;border:1px solid var(--line);background:var(--panel);font-weight:800}.admin-tabs button.active{background:var(--ink);border-color:var(--ink);color:var(--panel)}.photo-summary{display:flex;gap:8px;flex-wrap:wrap}.empty.compact{padding:0 0 14px;text-align:left}.custom-reference-list{display:grid;gap:10px}
.custom-download-actions{justify-content:flex-start;margin:-8px 0 20px}.custom-photo-group h4{margin:0 0 10px;color:var(--accent);font-size:13px}
.numeric{font-variant-numeric:tabular-nums}.vip-create-wrap{padding:16px 18px;border-bottom:1px solid var(--line);background:#f4efe5}.vip-create{margin:0;gap:10px}.vip-admin-detail .details-grid .field{margin:0}.vip-secret{display:grid;gap:8px;margin:-4px 0 18px;padding:16px;border:1px solid #c9b071;background:#fff7df}.vip-secret strong{color:#7f512d}.vip-secret code{display:block;padding:12px;background:#151513;color:#faf7ee;overflow-wrap:anywhere;font-size:16px;letter-spacing:.04em}.vip-ledger{display:grid;gap:8px;margin-top:10px}.vip-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);background:#f4efe5}.vip-ledger-row small{display:block;color:var(--muted);margin-top:4px}.vip-receipt-form{display:grid;grid-template-columns:1.1fr .9fr .8fr 1fr auto;gap:8px;margin:4px 0 14px}.vip-receipt-form input,.vip-receipt-form select{min-height:42px}.vip-requests{display:grid;gap:10px}.vip-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid var(--line);background:#f4efe5;padding:14px}.vip-request-row p{margin-top:4px;color:#454740}.vip-request-row small{display:block;margin-top:4px;color:var(--muted)}.vip-request-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.vip-request-actions .button{min-height:34px;padding:7px 10px;font-size:12px}
@media(max-width:1100px){.vip-receipt-form{grid-template-columns:1fr 1fr}.vip-receipt-form .button{grid-column:1/-1}.vip-request-row{grid-template-columns:1fr}.vip-request-actions{justify-content:flex-start}}
@media(max-width:560px){.vip-ledger-row{grid-template-columns:1fr}.vip-receipt-form{grid-template-columns:1fr}.vip-secret code{font-size:13px}.vip-create-wrap{padding:14px}}
