:root{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#182c47;background:#f4f7fb;--blue:#0759de;--line:#dce4ee;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{cursor:pointer}button{min-height:40px}button:disabled{opacity:.45;cursor:default}input,select,textarea{width:100%;border:1px solid #b9c7d9;background:#fff;color:#182c47;border-radius:7px;padding:11px 12px;caret-color:#0759de}input:focus,textarea:focus,select:focus{outline:2px solid #b6d3ff;border-color:#0759de}button:focus-visible,a:focus-visible{outline:3px solid #a66b00;outline-offset:3px}::selection{background:#c5dcff}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-thumb{background:#a9bcd3;border-radius:5px}[hidden]{display:none!important}a{color:var(--blue);text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}.admin-header{height:76px;padding:0 max(24px,calc((100vw - 1200px)/2));background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-size:28px;font-weight:900;letter-spacing:-.03em;color:#0759de;white-space:nowrap}.brand span{font-weight:500;font-size:16px;color:#3b526f;margin-left:14px;padding-left:16px;border-left:1px solid var(--line)}.admin-header>div{display:flex;align-items:center;gap:22px;font-size:13px}.admin-header button{border:0;background:none;color:#4e6380}.admin-shell{max-width:1200px;margin:auto;padding:40px 24px 70px}h1{font-size:30px;letter-spacing:-.02em;margin:0 0 12px}h2{font-size:20px;margin:0 0 10px}p{line-height:1.75}label{font-size:13px;display:block;color:#3b526f}label input,label select,label textarea{margin-top:9px}textarea{resize:vertical;line-height:1.7}.primary,.secondary{border-radius:7px;font-weight:600;padding:10px 18px}.primary{background:var(--blue);border:1px solid var(--blue);color:#fff}.primary:hover{background:#0045b6}.secondary{background:#fff;border:1px solid #bacce3;color:#28527f}.secondary:hover{background:#edf4ff}.muted,.note{font-size:12px;color:#536984;line-height:1.8}.note{margin:20px 0 0;padding:13px 16px;background:#edf3fc;border-radius:7px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.page-heading p{margin:0;color:#536984;font-size:13px}.version-badge{font-size:12px;color:#23599a;background:#e2edfc;padding:8px 12px;border-radius:5px}.tabs{border-bottom:1px solid #cddbea;display:flex;gap:32px;margin-bottom:30px}.tabs button{font-size:15px;color:#536984;background:none;border:0;padding:14px 2px;border-bottom:3px solid transparent;min-width:95px}.tabs button.active{color:#0759de;font-weight:700;border-bottom-color:#0759de}.form-section{background:#fff;border-radius:12px;padding:28px;margin-bottom:24px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:24px}.section-title p{margin:0;color:#536984;font-size:13px}.section-title>strong{font-size:14px;white-space:nowrap;background:#eaf5ee;color:#267345;padding:10px 12px;border-radius:6px}.section-title>strong.invalid{background:#fff0e9;color:#aa341d}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px}.full{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px}.check input{width:18px;height:18px;margin:0;accent-color:#0759de}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-weight:500;color:#526780;background:#f6f9fd;white-space:nowrap;padding:14px 12px;border-bottom:1px solid var(--line)}td{padding:18px 12px;border-bottom:1px solid #e4ebf4;vertical-align:middle}th:first-child,td:first-child{padding-left:8px}.prize-table{min-width:660px}.prize-table th:nth-child(1){width:190px}.prize-table th:nth-child(2){width:32%}.prize-table input{min-width:80px}.image-control{display:flex;align-items:center;gap:14px}.thumb{width:70px;height:70px;object-fit:contain;background:#edf5ff;border-radius:8px;flex-shrink:0}.sprite{background-image:url('/assets/prizes.png');background-size:400% 200%;background-repeat:no-repeat}.image-actions{display:flex;flex-direction:column;gap:5px}.upload-label{color:#0759de;font-size:12px;cursor:pointer;position:relative;padding:5px}.upload-label input{position:absolute;inset:0;opacity:0;width:100%;margin:0;cursor:pointer}.clear-image{font-size:11px;color:#5e6e86;border:0;background:none;padding:3px;min-height:25px}.save-bar{position:sticky;bottom:0;background:#ffffffed;border-top:1px solid #d4dfed;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}.save-bar p{font-size:12px;color:#536984}.save-bar>div{display:flex;gap:10px}.records-overview{display:flex;gap:45px;padding:8px 0 30px}.records-overview p{margin:0;font-size:12px;color:#536984}.records-overview strong{display:block;font-size:30px;color:#182c47;font-variant-numeric:tabular-nums;margin-top:8px}.redeem-section{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:24px;background:#fff;border-radius:12px;margin-bottom:28px}.redeem-section p{font-size:12px;color:#536984;margin:0}.redeem-section form{display:flex;gap:10px;flex:1;max-width:490px}.redeem-section input{min-width:180px}.redeem-section button{white-space:nowrap}.records-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.records-toolbar>div{display:flex;gap:14px;align-items:center}.records-toolbar label{display:flex;gap:10px;align-items:center;white-space:nowrap}.records-toolbar select{margin:0;width:140px}.record-meta{font-size:11px;color:#536984;overflow-wrap:anywhere;max-width:220px;line-height:1.7}.status{font-size:12px;white-space:nowrap}.status.pending{color:#8f5800}.status.done{color:#246443}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:20px;font-size:12px}.message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:#123154;color:white;padding:16px 24px;border-radius:10px;box-shadow:0 8px 28px #173a5730;font-size:14px;z-index:20}.message.error{background:#a72a20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#login-panel{display:grid;grid-template-columns:1fr 400px;gap:80px;align-items:center;max-width:1000px;min-height:68vh;margin:auto}.login-intro h1{font-size:46px;line-height:1.4;letter-spacing:-.03em}.login-intro p{color:#536984;font-size:15px}.login-form{padding:36px;background:#fff;border-radius:12px}.login-form h2{margin-bottom:28px}.login-form label{margin-bottom:20px}.login-form button{width:100%;margin-top:8px}.login-form .muted{margin:20px 0 0}footer{text-align:center;color:#61738d;font-size:11px;padding:20px}@media(max-width:800px){.admin-header{padding:0 18px}.brand{font-size:24px}.brand span{font-size:13px;margin-left:8px;padding-left:8px}.admin-shell{padding:28px 16px 60px}.form-section{padding:20px 16px}.form-grid{gap:18px}.section-title{display:block}.section-title>strong{display:inline-block;margin-top:14px}.redeem-section{display:block}.redeem-section form{margin-top:18px;max-width:none}.records-overview{gap:30px}#login-panel{grid-template-columns:1fr;gap:30px;min-height:0}.login-intro h1{font-size:32px}.login-form{padding:25px}.save-bar{align-items:flex-start}.save-bar p{max-width:110px;margin:0}.page-heading h1{font-size:26px}}@media(max-width:500px){.form-grid{grid-template-columns:1fr}.admin-header>div{gap:10px;font-size:11px}.redeem-section form{flex-wrap:wrap}.redeem-section input{width:100%}.records-toolbar{display:block}.records-toolbar>div{margin-top:14px}.save-bar .primary,.save-bar .secondary{font-size:12px;padding:10px}.page-heading{gap:10px}.version-badge{white-space:nowrap}}
.save-bar{padding:16px 12px}.message{box-shadow:0 8px 28px #00000026}footer{color:#536984;font-size:12px}.record-meta{font-size:12px}.clear-image{font-size:12px}
