#playerDialog,#ownerDialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px}
.owner-login{display:block;padding:12px;color:var(--muted);font-size:14px}
.admin-dashboard#ownerDialog{width:min(1180px,calc(100vw - 32px));max-width:1180px;padding:28px;background:#0c171b;color:#e9f4ef;border:1px solid #304746;border-radius:20px;box-shadow:0 30px 100px #000a}
.admin-dashboard::backdrop{background:#020a0dd9;backdrop-filter:blur(5px)}
.admin-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.admin-header h2{letter-spacing:-1px}.admin-header #closeOwner{float:none;flex:none}.admin-intro{margin:0 0 22px;color:#9eb9b0;font-size:15px}
.admin-tabs{display:flex;gap:8px;border-bottom:1px solid #29413e;padding-bottom:14px;overflow-x:auto}.admin-tabs button{white-space:nowrap;min-height:44px;border:1px solid #304746;background:#142329;color:#d9e8e1;border-radius:9px;padding:10px 18px;cursor:pointer}.admin-tabs button[aria-pressed=true]{background:#b7f5d5;color:#10251a;border-color:#b7f5d5;font-weight:700}
.admin-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 0}.admin-tools label{display:flex;gap:10px;align-items:center;font-size:14px}.admin-tools select{font:inherit;padding:10px;border-radius:8px;border:1px solid #405a52;background:#122329;color:#e9f4ef;min-height:44px}.admin-tools #refreshOwner{margin:0}.admin-tools #ownerStatus{font-size:12px;color:#a3bdb4;margin:0;flex:1;min-width:180px}
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-kpi{padding:18px;border:1px solid #2d4941;border-radius:12px;background:linear-gradient(140deg,#19332e,#112126);min-width:0}.admin-kpi span{font-size:13px;color:#bad0c6;display:block}.admin-kpi strong{font-size:34px;font-weight:600;display:block;margin:7px 0;color:#c2f8da;letter-spacing:-1px}.admin-kpi small{font-size:12px;color:#93afa5;display:block;line-height:1.5}.admin-rate{font-size:14px;padding:4px 0 12px;color:#b9d4c7}
.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-panel{min-width:0;padding:20px;border:1px solid #29413e;background:#101e23;border-radius:12px;margin-bottom:16px}.admin-panel h3,#adminPlayerPane h3,#adminAccountPane h3{font-size:18px;margin:0 0 12px}.admin-panel .player-note{margin:0 0 14px;font-size:12px;line-height:1.6;color:#9db8ad}.admin-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:11px;margin-bottom:12px;color:#b3c8bf}.admin-legend span::before{content:'';display:inline-block;width:8px;height:8px;margin-right:5px;background:#639e93;border-radius:2px}.admin-legend span:nth-child(2)::before{background:#367d8b}.admin-legend span:nth-child(3)::before{background:#89bd68}
.admin-day{display:grid;grid-template-columns:82px 1fr;gap:10px;margin:0 0 14px;align-items:start}.admin-day time{font-family:monospace;color:#b3c8bf;font-size:11px;line-height:23px}.admin-bar-track{height:23px;margin-bottom:3px;background:#172b30;position:relative;overflow:hidden;border-radius:3px}.admin-bar{position:absolute;inset:0 auto 0 0;background:#39675f}.admin-bar.started{background:#275764}.admin-bar.completed{background:#47653b}.admin-bar-label{position:relative;font-size:11px;line-height:23px;padding-left:7px;color:#f0f9f4;white-space:nowrap}
.admin-table-wrap{width:100%;overflow-x:auto;border:1px solid #29413e;border-radius:8px}.admin-table-wrap table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}.admin-table-wrap th{font-size:11px;color:#a0beb0;background:#13272c;font-weight:500;white-space:nowrap}.admin-table-wrap th,.admin-table-wrap td{padding:12px;border-bottom:1px solid #243a35;vertical-align:top;overflow-wrap:anywhere}.admin-table-wrap tr:last-child td{border:0}.admin-table-wrap td{color:#d6e6dd;min-width:70px}#adminAccounts td:nth-child(n+3),#adminPlayers td:nth-child(n+3){min-width:150px}#adminAccounts td:nth-child(2){min-width:180px}
.admin-account-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-account-summary .admin-kpi{background:#14272b}.admin-account-summary strong{font-size:26px}.admin-definitions{font-size:13px;color:#9eb7ac;line-height:1.7;padding:10px 0}.admin-definitions summary{cursor:pointer;color:#d0e7db;padding:10px 0}.admin-empty{font-size:14px;line-height:1.6;color:#acc3b8;padding:20px 0}.admin-dashboard button:focus-visible,.admin-dashboard select:focus-visible,.admin-dashboard summary:focus-visible{outline:2px solid #b7f5d5;outline-offset:3px}.admin-dashboard button:disabled{opacity:.45;cursor:default}
@media(max-width:700px){.admin-dashboard#ownerDialog{padding:18px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-columns{grid-template-columns:1fr}.admin-kpi{padding:14px}.admin-kpi strong{font-size:28px}.admin-panel{padding:14px}.admin-account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.admin-tabs button{padding:10px 5px;white-space:normal;font-size:12px;min-width:0}.admin-tools #ownerStatus{flex-basis:100%}.admin-header h2#ownerTitle{font-size:27px}.admin-dashboard .owner-pagination{font-size:12px}.admin-dashboard .owner-pagination button{padding:10px}.admin-dashboard .owner-pagination span{font-size:12px}}
#rankDialog{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:28px}#closeRank{float:right}#rankTitle{font-size:clamp(26px,5vw,38px);line-height:1.15;margin:20px 0}.rank-toolbar,.rank-actions{display:flex;flex-wrap:wrap;gap:10px}.rank-toolbar button,.rank-actions button{min-height:44px}#rankStatus{font-size:14px;margin:22px 0}#rankChampion{padding:24px;border:1px solid var(--lime);background:linear-gradient(120deg,#213b2f,#101b20);border-radius:12px}#rankChampion h3{font-size:26px;overflow-wrap:anywhere;margin:12px 0 0}.rank-rows{list-style:none;padding:0;margin:20px 0}.rank-rows li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 10px;border-bottom:1px solid var(--line);font-size:16px}.rank-rows li span{overflow-wrap:anywhere}.rank-rows li strong{color:var(--lime)}.rank-rows .is-me{background:#22382d;border-radius:8px}.rank-rows li b{font:14px 'DM Mono',monospace}.rank-me,.rank-result{padding:20px;border:1px solid var(--line);border-radius:12px;margin:24px 0}.rank-result{text-align:left}.rank-result[hidden]{display:none}.rank-result>p:not(.player-note){font-size:18px}.rank-me{color:var(--lime)}@media(max-width:500px){#rankDialog{padding:20px}.rank-rows li{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}.rank-actions button{flex:1 1 100%}}
.owner-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.owner-pagination span{font-size:14px}.owner-pagination button{min-height:44px} .owner-player small{overflow-wrap:anywhere}
#playerDialog h2,#ownerDialog h2{font-size:30px;margin:12px 0}#playerForm label{display:block;font-size:16px;margin:24px 0 9px}
#playerName{width:100%;box-sizing:border-box;padding:15px;background:#0a141d;color:#fff;border:1px solid #557064;border-radius:8px;font:18px inherit}
#playerName:focus{outline:2px solid var(--lime);outline-offset:3px}.player-note{font-size:14px!important;line-height:1.6!important;color:var(--muted)}
#playerError{min-height:24px;font-size:15px!important;color:var(--coral)!important}#savePlayer{width:100%}#retryPlayer{margin-top:10px}#playerSignIn{display:block;color:var(--lime);margin-top:18px}#playerSignIn[hidden]{display:none}
#ownerDialog{width:min(760px,calc(100% - 32px))}#closeOwner{float:right}.owner-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.owner-metrics>div{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:9px}.owner-metrics strong{display:block;font-size:30px;color:var(--lime)}.owner-metrics span{font-size:14px}
.owner-player{padding:14px 0;border-bottom:1px solid var(--line)}.owner-player strong,.owner-player small{display:block}.owner-player small{color:var(--muted);margin-top:5px;font-size:13px}#refreshOwner{margin-top:20px}
@media(max-width:600px){.owner-metrics{grid-template-columns:repeat(2,1fr)}#playerDialog,#ownerDialog{padding:22px}}
/* Daily mastery: a compact, touch-friendly reward card. */
.attempt-indicator{font:500 .72rem 'DM Mono',monospace;line-height:1.6;color:#bde7bd;margin:14px 0}
.unlock-result{margin:24px 0;padding:24px;border:1px solid #446553;border-radius:18px;background:linear-gradient(135deg,#20342b,#142528);text-align:left}
.unlock-result h2{margin:8px 0;font-size:1.75rem;letter-spacing:-.04em}
.unlock-best{color:#c3efc1;font-weight:600}.unlock-result p{line-height:1.6}
.unlock-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.unlock-actions button{min-height:48px;white-space:normal}
@media(max-width:600px){.unlock-result{padding:18px}.unlock-actions{flex-direction:column}.unlock-actions button{width:100%}}
