:root{--bg: #1b2433;--card: #243044;--line: #34445e;--text: #eef2f8;--muted: #9aa8bf;--gold: #d4a94e;--gold-ink: #2a1f06;--danger: #ff8a8a;--ok: #7fd6a3;--warn: #f0c36a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Tahoma,Noto Naskh Arabic,sans-serif;line-height:1.6}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:14px}h1{margin:0;font-size:1.5rem;color:var(--gold)}.muted{color:var(--muted);margin:0}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--muted)}input{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text);font-size:1rem}input:focus{outline:2px solid var(--gold);outline-offset:1px}button{font:inherit;cursor:pointer;border-radius:10px;padding:12px;border:1px solid transparent}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--gold);color:var(--gold-ink);font-weight:700}.ghost{background:transparent;border-color:var(--line);color:var(--text)}.link{background:none;border:none;padding:0;color:var(--gold);text-decoration:underline}.divider{text-align:center;color:var(--muted);font-size:.85rem}.switch{text-align:center;margin:0;color:var(--muted)}.alert{padding:10px 12px;border-radius:10px;font-size:.9rem;border:1px solid}.alert.error{color:var(--danger);border-color:var(--danger)}.alert.ok{color:var(--ok);border-color:var(--ok)}.alert.warn{color:var(--warn);border-color:var(--warn)}.info{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.info li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}.info span{color:var(--muted)}code{background:var(--bg);padding:1px 6px;border-radius:6px}.btn-link{display:block;text-align:center;text-decoration:none;border-radius:10px;padding:12px}.page{max-width:640px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:12px}.page-head{display:flex;justify-content:space-between;align-items:center}.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.tab{background:transparent;border-color:var(--line);color:var(--muted);padding:8px 12px;white-space:nowrap}.tab.on{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:700}.count{opacity:.75;font-size:.8rem}.search{width:100%}.players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.player{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}.player-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.player-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.player-actions{display:flex;gap:8px}.player-actions button{flex:1}select{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text);font-size:1rem}select:disabled{opacity:.5}.small{padding:8px 12px}.danger{color:var(--danger);border-color:var(--danger)}.badge{font-size:.78rem;padding:2px 10px;border-radius:999px;border:1px solid}.badge.pending{color:var(--warn);border-color:var(--warn)}.badge.approved{color:var(--ok);border-color:var(--ok)}.badge.rejected{color:var(--danger);border-color:var(--danger)}.badge.type-mge{color:var(--gold);border-color:var(--gold)}.badge.type-kvk{color:var(--danger);border-color:var(--danger)}.badge.type-alliance{color:var(--ok);border-color:var(--ok)}.badge.type-other{color:var(--muted);border-color:var(--muted)}textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;color:var(--text);font:inherit;resize:vertical}textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.countdown{color:var(--gold);font-weight:700}.note{margin:0;white-space:pre-wrap}.radio{flex-direction:row;align-items:center;gap:8px}.radio input{width:auto}h2{font-size:1.05rem;margin:18px 0 8px}a.ghost{border:1px solid var(--line)}.player-actions .btn-link{flex:1}.cols{display:flex;flex-wrap:wrap;gap:6px}.cols code{font-size:.8rem}.cols code.opt{opacity:.6}.player>input[type=file],.player label input[type=file]{width:100%}.player label{display:flex;flex-direction:column;gap:6px}.page h2{margin:12px 0 0}
