*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#222;background:#faf6ee;line-height:1.6}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.site-header{background:#fff;border-bottom:1px solid #eee;padding:22px 0 16px}
.eyebrow{margin:0;color:#999;letter-spacing:.2em;font-size:11px}
.site-header h1{margin:4px 0;font-size:30px}
.site-header h1::before{content:"";display:inline-block;width:12px;height:12px;background:#f7c948;border-radius:3px;margin-right:8px}
.header-note{color:#666;margin:4px 0}
nav{margin-top:10px}nav a{color:#2563eb;text-decoration:none;margin-right:16px}nav a:hover{text-decoration:underline}
.notice{background:#ecfdf5;border:1px solid #a7f3d0;padding:12px 16px;border-radius:10px;margin:20px 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:20px 0}
.stat{background:#fff;border:1px solid #eee;border-radius:12px;padding:14px 16px}
.stat strong{display:block;font-size:28px;line-height:1.1}
.stat span{color:#666;font-size:13px}
.toolbar{background:#fff;border:1px solid #eee;border-radius:12px;padding:16px;margin:16px 0}
.search{display:block;margin-bottom:12px}
.search input{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font:inherit}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.filters label{font-size:13px;color:#555}
.filters select{padding:8px;border:1px solid #ddd;border-radius:8px;font:inherit;background:#fff}
.filters button{padding:8px 14px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.card{background:#fff;border:1px solid #eee;border-radius:14px;overflow:hidden}
.card-top{position:relative;background:linear-gradient(135deg,#fde68a,#fbbf24);height:150px;display:flex;align-items:center;justify-content:center}
.avatar{width:84px;height:84px;border-radius:50%;background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px}
.card-top img{width:100%;height:100%;object-fit:cover}
.badge{position:absolute;top:10px;right:10px;background:#fff;border:1px solid #eee;border-radius:999px;padding:2px 10px;font-size:12px}
.badge.active{background:#dcfce7;border-color:#a7f3d0;color:#166534}
.card-body{padding:14px}
.code{font-weight:700;color:#2563eb}
.card-body h3{margin:2px 0}
.meta{color:#666;font-size:13px;margin:2px 0}
.copy-btn{margin-top:10px;width:100%;padding:9px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer}
.copy-btn:hover{background:#f8fafc}
.pagination{display:flex;gap:10px;justify-content:center;margin:24px 0}
.pagination button{padding:9px 18px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer}
.pagination button:disabled{opacity:.5;cursor:default}
/* Admin */
.admin-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.admin-header-top button{flex-shrink:0;margin-top:4px}
.admin-nav{display:flex;gap:10px;margin:20px 0 16px;flex-wrap:wrap}
.admin-nav a{display:inline-block;background:#111827;color:#fff;text-decoration:none;padding:8px 18px;border-radius:8px}
.admin-nav a.active{background:#f97316}
.admin-layout{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:20px;align-items:stretch}
/* Remove the beige blank below the shorter left form: both columns stretch
   to the taller column's height, and the account form fills its column. */
#manage-section{display:flex;flex-direction:column}
#manage-section .card-form{flex:1}
@media (max-width:800px){.admin-layout{grid-template-columns:1fr}}
button.primary{background:#111827;color:#fff;border:0;padding:10px 18px;border-radius:8px;cursor:pointer}
button.danger{background:#b91c1c;color:#fff;border:0;padding:8px 14px;border-radius:8px;cursor:pointer}
input,textarea,select{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;margin:6px 0 12px;font:inherit}
textarea{min-height:80px}
form.card-form{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}
table{width:100%;border-collapse:collapse;background:#fff}
td,th{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}
.bulk-bar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin:0 0 16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bulk-bar button{padding:8px 12px;border:1px solid #ddd;background:#fff;border-radius:8px;cursor:pointer}
footer{color:#6b7280;padding:24px 0 40px;font-size:14px}

.admin-pagination{justify-content:flex-start;margin:12px 0}
.platform-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0}
.platform-tab{padding:10px 20px;border:1px solid #ddd;background:#eef2ff;color:#1e3a8a;border-radius:999px;cursor:pointer;font-weight:700;font-size:15px}
.platform-tab:hover{border-color:#2563eb}
.platform-tab.active{background:#f97316;border-color:#f97316;color:#fff}
.platform-tab .tab-count{opacity:.85;font-weight:400;margin-left:6px}
