*{box-sizing:border-box}body{margin:0;background:#f2f0e9;color:#283a30;font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:#29553e}h1,h2,h3{font-family:Georgia,serif}h1{margin:0;font-size:26px}h2{font-size:22px;margin:30px 0 12px}
.top{background:#243d30;color:#fff;padding:18px clamp(16px,5vw,64px);display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.top p{margin:0;color:#c8d5ca}.top nav{display:flex;gap:20px;flex-wrap:wrap}.top a{color:#eaf6e9}
main{max-width:1050px;padding:24px 20px 100px;margin:auto}.intro{border:1px solid #d4d5cb;border-radius:10px;background:#fff;padding:14px 21px}.intro h2{margin:2px 0 10px}.intro p{margin:8px 0}#publication-status{padding:11px 14px;border-left:4px solid #45674d;background:#fff;border-radius:3px}
#publication-status.error{border-color:#af4646;color:#a72b2b}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px}.entries{display:grid;gap:12px}
.entry{background:#fff;border:1px solid #d7d8cd;border-radius:9px;padding:16px 18px;box-shadow:0 1px 3px #1b33230d}
.entry h3{margin:0 0 5px;font-size:19px}.entry .meta,.minor{color:#687568;font-size:13px}.periods{display:grid;gap:7px;padding:9px 0 10px}.period{display:flex;gap:9px;align-items:flex-start;font-size:14px}.period input{margin-top:4px;accent-color:#356648}
.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}button{background:#315f45;border:1px solid #315f45;border-radius:5px;color:#fff;padding:9px 13px;font:600 13px system-ui;cursor:pointer}
button.secondary{background:#fff;color:#315f45}button:disabled{opacity:.5;cursor:wait}.entry .flag{color:#42754e;font-size:12px;font-weight:700}.entry .flag.private{color:#8d7241}
@media(min-width:850px){.entries{grid-template-columns:repeat(2,minmax(0,1fr))}}
.publication-login{max-width:480px;margin:18px 0 10px;background:#fff;border:1px solid #d7d8cd;border-radius:9px;padding:20px 24px;display:grid;gap:9px}
.publication-login[hidden]{display:none}
.publication-login h2{margin:0 0 4px}
.publication-login p{margin:0 0 9px;color:#657467;font-size:13px}
.publication-login label{font-size:13px;font-weight:600}
.publication-login input{width:100%;border:1px solid #abb8ab;border-radius:5px;padding:10px;font:14px system-ui}
.publication-login button{margin-top:8px}
#publication-logout{margin:0 0 12px}

/* Account access is an admin-only section within the existing publication dashboard. */
.player-access{margin:20px 0 26px;padding:16px 20px 20px;background:#fff;border:1px solid #cbd7cc;border-radius:10px}
.player-access h2{margin:0 0 8px}
.player-access .minor{margin:8px 0;line-height:1.5}
.player-access-form{display:grid;gap:7px;margin-top:17px}
.player-access-form label{font-size:13px;font-weight:600}
.player-access-add{display:flex;gap:10px;flex-wrap:wrap}
.player-access-add input{flex:1 1 240px;min-width:0;padding:10px;border:1px solid #adbdaf;border-radius:5px;font:14px system-ui}
#player-access-counts{align-self:center}
#player-access-status.error{color:#ac3030}
.player-access-list{display:grid;gap:8px;margin-top:8px}
.player-access-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 12px;border:1px solid #d5dfd5;border-radius:7px;background:#f9fcf8}
.player-access-entry .player-email{overflow-wrap:anywhere;min-width:0}
.player-access-entry .minor{margin:1px 0 0}
.player-access-empty{margin:6px 0;color:#607265;font-size:14px}
