:root{
    --blue:rgb(66,97,176);
    --orange:rgb(217,136,62);
    --bg:rgb(242,245,252);
    --text:rgb(31,43,75);
    --border:rgba(66,97,176,.24);
}
body{background:linear-gradient(180deg,rgba(66,97,176,.12),var(--bg) 260px);color:var(--text)}
header{background:var(--blue);border-bottom:5px solid var(--orange);box-shadow:0 3px 14px rgba(31,43,75,.2)}
header .brand,header nav a{color:#fff;text-decoration:none}
header .brand{font-size:1.08rem}
header nav a{padding:7px 3px;border-bottom:2px solid transparent}
header nav a:hover,header nav a:focus{border-bottom-color:var(--orange)}
header .logout button{color:#fff;background:transparent;border-color:rgba(255,255,255,.65)}
.module-menu{position:relative;color:#fff}
.module-menu summary{padding:8px 14px;border:1px solid rgba(255,255,255,.65);border-radius:7px;font-weight:650;cursor:pointer;list-style-position:inside}
.module-menu summary:hover,.module-menu summary:focus{background:rgba(255,255,255,.12);outline:none}
.module-menu-panel{position:absolute;z-index:20;top:calc(100% + 8px);left:0;min-width:210px;padding:7px;background:#fff;border:1px solid var(--border);border-top:4px solid var(--orange);border-radius:8px;box-shadow:0 8px 24px rgba(31,43,75,.24)}
header .module-menu-panel a{display:block;padding:10px 12px;color:var(--blue);border:0;border-radius:5px;white-space:nowrap}
header .module-menu-panel a:hover,header .module-menu-panel a:focus{background:rgba(66,97,176,.1);border:0}
h1,h2,h3,h4{color:var(--blue)}
.card,.table-wrap{border:1px solid var(--border);box-shadow:0 5px 18px rgba(66,97,176,.1)}
.card{border-top:4px solid var(--orange)}
a{color:var(--blue)}
button,.button{border-color:var(--blue);color:var(--blue);font-weight:650}
button:hover,.button:hover{background:rgba(66,97,176,.08)}
.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.primary:hover{background:rgb(52,79,151);color:#fff}
.action-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid transparent;border-radius:7px;font:inherit;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap}
.action-create{background:var(--blue);border-color:var(--blue);color:#fff}.action-create:hover,.action-create:focus{background:rgb(52,79,151);color:#fff}
.action-assign{background:var(--orange);border-color:var(--orange);color:#fff}.action-assign:hover,.action-assign:focus{background:rgb(190,111,41);color:#fff}
.action-edit{background:var(--blue);border-color:var(--blue);color:#fff}.action-edit:hover,.action-edit:focus{background:rgb(52,79,151);color:#fff}
.action-delete{background:rgb(151,63,40);border-color:rgb(151,63,40);color:#fff}.action-delete:hover,.action-delete:focus{background:rgb(122,47,29);border-color:rgb(122,47,29);color:#fff}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(217,136,62,.32);border-color:var(--orange)}
fieldset{border-color:var(--border)}
.permission-group{border-left:5px solid var(--blue);background:rgba(66,97,176,.035)}
.permission-group:nth-of-type(even){border-left-color:var(--orange)}
.permission-group legend{padding:0 8px;color:var(--blue);font-weight:750}
.permission-group .meta{margin:0 0 12px}
.permission-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 22px}
.permission-options .check{margin:0}
th{color:#fff;background:var(--blue)}
tbody tr:nth-child(even){background:rgba(66,97,176,.045)}
.course-group-editor,.course-content-group{border-color:var(--border);border-left-color:var(--blue)}
.course-group-editor:nth-child(even),.course-content-group:nth-of-type(even){border-left-color:var(--orange)}
.done{color:rgb(42,92,76)}
.success{background:rgba(66,97,176,.14);color:rgb(31,61,135);border-left:5px solid var(--blue)}
.error{background:rgba(217,136,62,.18);color:rgb(112,54,18);border-left:5px solid var(--orange)}
.link-danger{color:rgb(151,63,40)}
.club-logo,.login-logo{border:3px solid rgba(66,97,176,.18);box-shadow:0 6px 20px rgba(66,97,176,.14)}
.dashboard-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:24px;align-items:start;margin:0 0 28px}
.dashboard-top .club-logo-wrap{margin:0}
.dashboard-top .club-logo{width:100%;height:auto;background:#fff}
.dashboard-modules{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.course-overview-progress{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:12px;align-items:center;min-width:280px}
.course-overview-progress progress{width:100%;height:18px;accent-color:var(--blue)}
.course-overview-progress span{white-space:nowrap;font-weight:650;color:var(--blue)}
.course-progress-card{width:calc(50% - 10px);margin-left:auto;margin-right:auto}
.login-screen-logo{width:100%;max-width:480px;margin:0 auto 24px}
.login-screen-logo img{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
.login-form-card{margin:0 auto 32px}
footer{color:#fff;background:var(--blue);border-top:5px solid var(--orange)}
@media(max-width:700px){header nav{overflow:visible;flex-wrap:wrap}header nav a{white-space:nowrap}.module-menu-panel{min-width:190px;max-width:calc(100vw - 40px)}.card{padding:18px}.dashboard-top,.dashboard-modules{grid-template-columns:1fr}.dashboard-top{gap:18px}.course-progress-card{width:100%}}
