.admin-page { padding: 32px; max-width: 1500px; margin: 0 auto; }
.admin-hero { grid-template-columns: 1fr auto; }
.admin-actions { display:flex; gap:10px; align-items:end; justify-content:flex-end; }
.hidden { display:none !important; }
.auth-card { max-width: 780px; margin: 0 auto; }
.admin-login-controls { grid-template-columns: 1fr 1fr auto; }
.admin-tab { display:none; }
.admin-tab.active { display:block; }
.admin-tabs { margin: 22px 0 14px; }
.form-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; }
.form-grid .wide { grid-column: span 2; }
.form-grid .full { grid-column: 1 / -1; }
.admin-table-actions { display:flex; gap:8px; }
.admin-table-actions button { padding:7px 9px; border-radius:10px; border:1px solid var(--line); color:var(--text); background:rgba(255,255,255,.08); }
.admin-table-actions .danger { color: var(--danger); }
textarea.admin-textarea { min-height:150px; width:100%; color:var(--text); background:rgba(15,23,42,.88); border:1px solid var(--line); border-radius:14px; padding:12px; resize:vertical; }
.notice { padding:12px 14px; border:1px solid var(--line); border-radius:14px; color:var(--muted); background:rgba(255,255,255,.06); margin:12px 0; }
.modal-mask { position:fixed; inset:0; background:rgba(0,0,0,.65); display:grid; place-items:center; z-index:50; padding:20px; }
.modal { width:min(900px, 100%); max-height:90vh; overflow:auto; background:#07111c; border:1px solid rgba(200,155,60,.34); border-radius:0; padding:20px; box-shadow:var(--shadow); }
.modal-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.close-btn { border:1px solid var(--line); background:rgba(255,255,255,.08); color:var(--text); border-radius:12px; padding:8px 10px; }
@media (max-width: 900px) { .form-grid, .admin-login-controls { grid-template-columns:1fr; } .form-grid .wide { grid-column: auto; } .admin-hero { grid-template-columns: 1fr; } }

.notice { margin:14px 0; padding:12px 14px; border-radius:0; background:rgba(10,200,217,.1); color:#a5f3fc; border:1px solid rgba(10,200,217,.25); }
.notice.danger { background:rgba(251,113,133,.1); color:#fecdd3; border-color:rgba(251,113,133,.28); }
.notice ul { margin:8px 0 0 18px; }
.danger-btn { padding:10px 16px; margin-left:8px; border:1px solid rgba(251,113,133,.42); border-radius:0; background:#7f1d1d; color:#fff; cursor:pointer; font-weight:800; }
.danger-btn:disabled, .primary-btn:disabled { opacity:.45; cursor:not-allowed; }

.game-meta { grid-template-columns: repeat(5,minmax(120px,1fr)); margin-bottom:16px; }
.game-meta .note-control { grid-column: span 2; }
.whole-game-table input, .whole-game-table select { min-width:88px; width:100%; padding:7px 6px; border:1px solid rgba(200,155,60,.3); border-radius:0; color:var(--text); background:rgba(2,13,24,.92); }
.whole-game-table td:first-child { font-weight:700; white-space:nowrap; }
.mini-btn { border:1px solid rgba(200,155,60,.34); background:rgba(1,10,19,.64); color:var(--text); border-radius:0; padding:5px 9px; margin-right:5px; cursor:pointer; }
.danger-outline { color:#b91c1c; border-color:#fecaca; }
@media (max-width: 880px) { .game-meta { grid-template-columns: 1fr 1fr; } .game-meta .note-control { grid-column: span 2; } }

.profile-select-row { grid-template-columns: minmax(220px,320px) minmax(260px,420px) auto; }
.profile-form { margin: 16px 0; }
.rank-title { margin-top:8px; padding:10px 0 0; color:var(--accent); border-top:1px solid var(--line); }
.profile-form select, .profile-form input, .profile-select-row select, .profile-select-row input { width:100%; color:var(--text); background:rgba(2,13,24,.92); border:1px solid rgba(200,155,60,.3); border-radius:0; padding:12px 14px; }

.avatar-admin-box { border-top:1px solid var(--line); padding-top:12px; }
.avatar-preview { display:flex; align-items:center; gap:12px; min-height:56px; color:var(--muted); }
.avatar-preview img { width:52px; height:52px; border-radius:50%; object-fit:cover; border:1px solid var(--line); }
.code-pill { display:inline-flex; min-width:58px; justify-content:center; padding:6px 10px; border-radius:999px; color:#111827; background:var(--accent); letter-spacing:.14em; }
#highlightListAdmin table { width:100%; }
.account-table-wrap { max-width:100%; }
.account-table-wrap table { min-width:620px; }
#boundAccounts, #playerCodes { min-width:0; max-width:100%; overflow:hidden; }
