/* Welsh Super League v0.5.4: scoped styling, no theme overrides outside WSL. */
.wsl-admin-nav{margin:16px 20px 20px 0;padding:18px;background:#fff;border:1px solid #dbe2e8;border-radius:12px;box-shadow:0 2px 8px #14253c08;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.wsl-nav-group strong{display:block;margin-bottom:9px;color:#24364b;font-size:13px}.wsl-nav-links{display:flex;flex-wrap:wrap;gap:6px}.wsl-nav-links a{color:#254968;text-decoration:none;background:#f1f5f9;border:1px solid #e3e9f0;border-radius:7px;padding:7px 10px;font-size:12px;line-height:1.4}.wsl-nav-links a:hover,.wsl-nav-links a:focus{background:#e3edf7}.wsl-nav-links a.is-active{background:#173d60;color:#fff;border-color:#173d60}
body[class*="wsl-"] .wrap,body.toplevel_page_wsl-manager .wrap{max-width:1400px}body[class*="wsl-"] .wrap>h1,body.toplevel_page_wsl-manager .wrap>h1{font-weight:700;color:#173d60;margin:14px 0 20px}body[class*="wsl-"] .wrap h2,body.toplevel_page_wsl-manager .wrap h2{margin-top:28px;color:#213e58}
body[class*="wsl-"] .wrap table.widefat,body.toplevel_page_wsl-manager .wrap table.widefat{border-radius:9px;overflow:hidden;border-color:#dce3ea}body[class*="wsl-"] .wrap table.widefat th,body.toplevel_page_wsl-manager .wrap table.widefat th{background:#f1f5f9;font-weight:650}body[class*="wsl-"] .wrap table.widefat td{vertical-align:middle}
body[class*="wsl-"] .wrap details,body.toplevel_page_wsl-manager .wrap details{background:#fff;border:1px solid #dbe2e8;border-radius:9px;padding:12px 15px;margin:10px 0}body[class*="wsl-"] .wrap summary{cursor:pointer;font-weight:650;padding:5px 0}
body[class*="wsl-"] .wrap input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body[class*="wsl-"] .wrap select{max-width:100%}body[class*="wsl-"] .wrap form{margin-bottom:16px}
.wsl-portal{--wsl-ink:#173d60;--wsl-line:#dce4ed;--wsl-soft:#f5f8fb;color:#203448;max-width:1160px;margin:0 auto;padding:16px;font-size:15px;line-height:1.55}.wsl-portal h2{font-size:clamp(22px,3vw,30px);color:var(--wsl-ink);margin-bottom:8px}.wsl-portal h3{color:var(--wsl-ink);font-size:20px;margin:24px 0 12px}.wsl-portal h4{font-size:17px;margin:20px 0 10px}.wsl-portal form{background:#fff;border:1px solid var(--wsl-line);border-radius:12px;padding:18px;margin:16px 0;box-shadow:0 2px 12px #173d600a}.wsl-portal input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.wsl-portal select{max-width:100%;padding:8px 10px;border:1px solid #bfcdda;border-radius:7px;min-height:38px}.wsl-portal button,.wsl-portal button[type=submit]{background:#173d60;color:#fff;border:0;border-radius:8px;padding:11px 18px;cursor:pointer;font-weight:650}.wsl-portal button:hover{background:#265779}.wsl-portal table{width:100%;border-collapse:collapse;min-width:560px}.wsl-portal th{background:#eef3f8;text-align:left;font-size:13px}.wsl-portal th,.wsl-portal td{border-bottom:1px solid #e1e7ef;padding:9px 10px}.wsl-portal tr:hover td{background:#fafcfe}.wsl-table-scroll{overflow-x:auto;max-width:100%;border:1px solid #e1e7ef;border-radius:9px;margin:12px 0}.wsl-portal hr{border:0;border-top:1px solid #e1e7ef;margin:30px 0}.wsl-portal .wsl-teacher-links{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 24px}.wsl-portal .wsl-teacher-links a{background:#edf3f9;color:#173d60;border-radius:8px;padding:9px 13px;text-decoration:none;font-weight:600}.wsl-portal .wsl-teacher-links a:focus,.wsl-portal .wsl-teacher-links a:hover{background:#dceaf6}.wsl-portal .wsl-teacher-summary{padding:12px 16px;background:#f4f8fc;border-left:4px solid #173d60;border-radius:7px;margin-bottom:12px}
@media(max-width:782px){.wsl-admin-nav{margin-right:10px;grid-template-columns:1fr}.wsl-portal{padding:10px}.wsl-portal form{padding:12px}.wsl-nav-links a{padding:9px 11px}}
.wsl-section-nav{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.wsl-nav-button{display:inline-block;padding:11px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;text-decoration:none!important;color:#1b293b!important;font-weight:600}.wsl-nav-active,.wsl-nav-button:hover{background:#17375e!important;color:#fff!important}.wsl-home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.wsl-home-card{display:flex;flex-direction:column;gap:8px;border:1px solid #d1d5db;border-radius:12px;padding:22px;text-decoration:none!important;color:inherit!important;background:#fff}.wsl-home-card:hover{box-shadow:0 4px 14px #0002}.wsl-home-card span{font-size:14px;color:#5c6774}

/* v0.8.3 teacher dashboard usability */
.wsl-portal{background:#f7f9fc;border-radius:18px;padding:22px!important}.wsl-portal .wsl-section-nav{background:#fff;border:1px solid #e1e8f0;padding:10px;border-radius:14px;gap:8px}.wsl-portal .wsl-nav-button{flex:1 1 auto;text-align:center;min-height:44px}.wsl-portal .wsl-home-card{min-height:126px;justify-content:center;border-color:#dce5ef;box-shadow:0 2px 9px #173d6008;transition:box-shadow .15s,transform .15s}.wsl-portal .wsl-home-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #173d601b}.wsl-portal .wsl-home-card strong{font-size:18px;color:#173d60}.wsl-portal .wsl-event-card{display:block;background:white;border:1px solid #dce5ef;border-radius:14px;padding:20px;margin:18px 0;box-shadow:0 2px 9px #173d6009}.wsl-portal .wsl-event-card h3{margin-top:0}.wsl-portal .wsl-event-date{font-size:14px;font-weight:400;color:#526779}.wsl-portal .wsl-event-card form{box-shadow:none}.wsl-portal .wsl-event-card table{min-width:640px}.wsl-portal .wsl-event-card form table{display:block;overflow-x:auto}.wsl-portal .wsl-action-link{display:inline-block;padding:10px 16px;background:#173d60;color:#fff!important;border-radius:8px;text-decoration:none!important}.wsl-portal .wsl-existing-entries{padding:12px 16px;background:#f5f8fc;border:1px solid #e1e8f0;border-radius:10px}.wsl-portal .wsl-existing-entries summary{cursor:pointer;font-weight:650}.wsl-portal [name="pupils[]"],.wsl-portal [name^="styles["]{width:20px;height:20px;accent-color:#173d60}.wsl-portal [type="submit"]{min-height:44px}.wsl-portal [name="spectators["]{width:75px!important}.wsl-portal .wsl-home-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media(max-width:700px){.wsl-portal{padding:12px!important}.wsl-portal .wsl-nav-button{flex:1 1 44%;font-size:13px}.wsl-portal .wsl-event-card{padding:12px}.wsl-portal .wsl-home-cards{grid-template-columns:1fr}}
