
:root { --ink:#162741; --muted:#6b7c94; --green:#183c83; --accent:#f1bd51; --paper:#f3f6fb; --line:#e1e8f2; --red:#df2921; --blue:#183c83; --brand-font:"Segoe UI",Arial,sans-serif; --arabic-font:"ATAPC Arabic",Tahoma,sans-serif; font-family:var(--brand-font); }
body { font-size:16px; line-height:1.5; }
h1 { font-size:32px; line-height:1.25; letter-spacing:-.8px; }
h2 { font-size:20px; }
.app-shell { grid-template-columns:258px minmax(0,1fr); }
.sidebar { padding:28px 20px 22px; }
.brand { gap:12px; padding:0 6px 32px; }
.brand-logo { width:54px; height:54px; object-fit:contain; flex-shrink:0; }
.brand b { font-size:22px; line-height:1.2; letter-spacing:2px; }
.brand small { font-size:12px; margin-top:5px; }
.nav-caption { font-size:11px; letter-spacing:1px; margin-bottom:15px; padding-inline:12px; }
.sidebar nav a { position:relative; gap:11px; font-size:14px; min-height:48px; padding:13px 12px; color:#667991; }
.sidebar nav a.active { color:var(--blue); background:#edf2fc; }
.sidebar nav a.active:before { content:''; position:absolute; inset-block:14px; left:0; width:3px; border-radius:3px; background:var(--red); }
.sidebar nav a:hover { background:#f1f5fc; }
.sidebar nav a span { font-size:12px; }
.sidebar-bottom { padding:24px 12px 20px; }
.sidebar-bottom b { font-size:13px; }
.sidebar-bottom p,.sidebar-footer small { font-size:12px; }
.sidebar-button { color:var(--blue); font-size:13px; font-weight:600; }
.sidebar-footer span { font-size:11px; text-align:left; }
.local-dot { display:none; }
.topbar { min-height:78px; height:auto; padding:16px 36px; background:#fff; gap:20px; }
.breadcrumb { font-size:13px; gap:13px; }
.topbar-actions { gap:18px; }
.season-picker select { font-size:13px; background:#f8fafd; min-height:38px; }
.logout-button { font-size:12px; padding:8px 0; }
.logout-button span { display:block; color:var(--ink); font-size:12px; font-weight:600; }
main { padding:32px 36px 25px; }
.page-heading { flex-wrap:wrap; margin-bottom:25px; }
.eyebrow { font-size:11px; color:var(--red); letter-spacing:1.4px; font-weight:700; margin-bottom:9px; }
.page-heading p:not(.eyebrow) { font-size:14px; margin-top:10px; }
.button { font-size:14px; min-height:44px; padding:11px 17px; white-space:normal; line-height:1.5; }
.primary { background:var(--red); box-shadow:0 3px 8px #df292115; }
.primary:hover { background:#c7221b; }
.secondary { color:var(--blue); }
.secondary:hover { background:#f2f6fc; border-color:#b7c8e3; }
.event-hero { min-height:175px; padding:26px 30px; background:linear-gradient(115deg,#15326e,#224b99); border-left:5px solid var(--red); }
.hero-copy { max-width:80%; }
.hero-label { font-size:11px; color:#bed0f1; letter-spacing:1.8px; }
.hero-title-row { margin-top:12px; }
.hero-title-row h2 { font-size:27px; letter-spacing:-.5px; }
.status-pill { font-size:12px; color:#dbe7fc; border-color:#6f8cbb; }
.hero-copy>p { font-size:13px; color:#bfd2f2; margin-top:6px; }
.event-meta { font-size:13px; gap:24px; margin-top:17px; color:#d7e4f8; }
.event-meta svg { color:var(--accent); }
.hero-link,.hero-art>span { display:none; }
.hero-art { width:140px; }
.hero-art>svg { width:77px; height:77px; stroke:var(--accent); stroke-width:1.3; transform:none; }
.ring-one { width:180px; height:180px; }
.ring-two { width:265px; height:265px; }
.stats-grid { margin:20px 0; gap:18px; }
.stat-card { padding:23px; box-shadow:0 3px 10px #183c8303; }
.stat-card span { font-size:13px; color:#71839a; }
.stat-card strong { color:var(--blue); font-family:inherit; font-weight:650; font-size:36px; }
.stat-card small { font-size:12px; color:#8a98aa; margin-top:10px; }
.stat-icon { background:#edf2fc; color:var(--blue)!important; width:40px; height:40px; }
.stat-card:nth-child(2) .stat-icon { background:#fff5e3; color:#a77f2d!important; }
.stat-card:nth-child(3) .stat-icon { background:#fff0ee; color:var(--red)!important; }
.section-heading h2 { font-size:20px; }
.section-heading { margin:27px 0 17px; }
.round-card { padding:22px; border-radius:14px; }
.round-card:hover { border-color:#9eb6de; box-shadow:0 6px 20px #183c8309; }
.round-number { font-size:14px; font-weight:700; color:var(--blue); background:#edf2fc; padding:7px 9px; }
.round-card h2 { font-size:21px; margin-top:18px; }
.round-card>p { font-size:13px; color:#7b8da5; }
.round-card>p svg { width:16px; height:16px; }
.round-card-footer { font-size:12px; color:#8b98ab; border-color:#e9eff8; flex-wrap:wrap; }
.round-card-footer>span:last-child { color:var(--blue); font-weight:600; }
.panel-heading h2 { font-size:17px; }
.panel-heading { gap:15px; }
.empty-state { padding:40px 24px; }
.empty-icon { background:#edf2fc; color:#7d97c0; width:56px; height:56px; }
.empty-state h3 { font-size:20px; font-weight:650; margin-bottom:10px; }
.empty-state p { font-size:14px; max-width:560px; margin-inline:auto; }
.empty-state .button { margin:23px 4px 0; }
.intro-grid article { background:white; border-color:var(--line); }
.intro-grid b { color:#b2c1d8; }
.intro-grid h2 { font-size:18px; }
.intro-grid p { font-size:14px; }
.footer-note { font-size:12px; color:#8b99ad; }
.muted { font-size:13px; line-height:1.65; }
.attendance { font-size:12px; color:#6e7f98; background:#f0f3f8; padding:5px 10px; }
.attendance.yes { background:#eaf4ec; color:#3a6b4a; }
.search-field { max-width:420px; }
.search-field svg { left:13px; right:auto; color:#8e9fb8; }
.filter-field select,.search-field input { font-size:14px; }
table { text-align:left; font-size:14px; }
th { background:#f7f9fd; font-size:12px; font-weight:600; color:#6f829e; padding:15px 19px; }
td { padding:17px 19px; border-color:#edf1f7; }
td.name-cell { min-width:160px; }
.table-button { font-size:13px; font-weight:600; min-height:38px; color:var(--blue); padding:8px 10px; }
.table-button.delete { color:var(--red); }
.avatar { background:#edf2fc; color:#657fab; font-size:14px; font-weight:600; }
.round-tabs a { font-size:13px; padding:14px 11px; color:#7b8da8; min-height:54px; }
.round-tabs a.active { color:var(--blue); border-color:var(--red); }
.round-tabs a span { font-size:11px; border-color:#d7e2f2; }
.round-tabs a.active span { background:var(--blue); border-color:var(--blue); }
.notice { font-size:14px; line-height:1.65; color:#4d6f9f; background:#eef4ff; border-color:#e0e9f8; padding:16px 20px; }
.notice.warning { color:#8e6d2d; background:#fff7e8; border-color:#f0e3c8; }
.notice.success { color:#47724f; background:#edf7ef; border-color:#dbeadd; }
.attendance-select { min-width:270px; max-width:370px; }
.attendance-select select { font-size:14px; min-height:42px; }
label { font-size:14px; color:#556c8c; }
input:not([type=checkbox]),select { font-size:15px; background:#fbfcfe; border-color:#d9e3f0; min-height:44px; }
input::placeholder { font-size:14px; color:#9aaac1; }
.form-error { font-size:13px; color:#b62b23; }
.checkbox-field { font-size:14px; }
.checkbox-field input { accent-color:var(--blue); }
.sector-suggestion label { max-width:180px; }
.sector-edit { background:#f6f9ff; border-color:#e2ebf9; }
.sector-edit label { font-size:13px; }
.sector-number { color:#a9bbd7; }
.sector-chip { background:#edf2fc; color:var(--blue); font-size:14px; font-weight:600; }
.place-number { color:var(--blue); font-weight:650; }
.tie-button { font-size:13px; color:#917132; background:#fff9ed; border-color:#f0e3c8; }
.tie-row { background:#fffbf3; }
.rank-note { font-size:12px; color:#8d7a51; }
.podium-card.place-1 { background:#fff8e9; border-color:#ecd7a8; border-top:3px solid #eabd55; }
.podium-medal { background:#edf2fb; color:#7a90b6; font-family:inherit; }
.place-1 .podium-medal { background:#efc971; color:#806023; }
.podium-card>p { font-size:13px; }
.podium-card h2 { font-size:22px; }
.podium-card strong { color:var(--blue); font:650 29px "Segoe UI",Arial,sans-serif; }
.podium-card strong small { font:13px "Segoe UI",Arial,sans-serif; }
.audit-admin { font-size:12px; }
.audit-detail summary { font-size:13px; color:var(--blue); }
.audit-detail b { font-size:12px; }
.audit-detail pre { direction:ltr; font:12px/1.7 "Segoe UI",Arial,sans-serif; background:#f4f7fe; }
.result-rule { font-size:14px; color:#5677a7; background:#eff5ff; }
.toast { font-size:14px; left:auto; right:25px; background:var(--blue); }
.toast.error { background:#b52b24; }
.dialog-heading h2 { font-size:23px; }
.close-button { background:#f0f4fb; color:#8295b2; }
.confirm-body p { font-size:15px; }
.auth-screen { grid-template-columns:1fr 1fr; }
.auth-intro { background:linear-gradient(145deg,#142f68,#204b98); border-top:6px solid var(--red); padding:48px 64px; }
.auth-brand { display:flex; align-items:center; gap:18px; }
.auth-brand img { width:84px; height:84px; border-radius:50%; }
.auth-brand>span { font-size:25px; letter-spacing:3px; font-weight:750; }
.auth-brand small { display:block; color:#c4d7f5; font-size:12px; letter-spacing:1px; font-weight:400; margin-top:4px; }
.auth-intro h1 { font-size:45px; line-height:1.2; margin:25px 0; color:white; letter-spacing:-1.7px; }
.auth-intro>div>p:not(.hero-label) { font-size:16px; color:#c6d9f7; }
.auth-pills { gap:10px; margin-top:30px; }
.auth-pills span { border-color:#6b8abf; color:#dce7f9; font-size:12px; padding:7px 12px; }
.auth-intro>small { font-size:12px; color:#a3bde5; }
.auth-content { background:white; }
.password-control { position:relative; display:block; }
.password-control input { width:100%; padding-inline-end:52px; }
.password-visibility { position:absolute; inset-inline-end:4px; top:50%; transform:translateY(-50%); width:40px; height:40px; padding:9px; border:0; border-radius:8px; background:transparent; color:#526d91; cursor:pointer; display:grid; place-items:center; }
.password-visibility svg { width:22px; height:22px; }
.password-visibility:hover,.password-visibility[aria-pressed=true] { background:#eaf0fb; color:#1d4388; }
.password-visibility:focus-visible { outline:3px solid #79a5e6; outline-offset:1px; }
.password-visibility .eye-slash { display:none; }
.password-visibility[aria-pressed=true] .eye-slash { display:block; }
.auth-content form { max-width:360px; }
.auth-content h2 { font-size:29px; margin-bottom:15px; }
.auth-content .muted { font-size:15px; margin-bottom:30px; }
.auth-footnote { font-size:12px; color:#8c9db6; }
.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.admin-card { padding:26px; }
.admin-card h2 { font-size:19px; margin:15px 0 5px; }
.admin-card .avatar { width:45px; height:45px; font-size:18px; }
.admin-card .attendance,.admin-card .button { margin-top:18px; }
.invitation-box { padding:20px; background:#f2f6ff; border:1px solid #dce7fa; border-radius:12px; margin-top:20px; }
.invitation-box input { font-size:13px; }
.invitation-box .button { margin-top:15px; }
@media(max-width:1150px) { .app-shell{grid-template-columns:230px minmax(0,1fr)} .sidebar{padding-inline:14px} main,.topbar{padding-inline:25px} .rounds-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .hero-art{width:95px} .hero-copy{max-width:85%} .stat-card{padding:20px 16px} .stat-card span{font-size:12px} .auth-intro{padding:40px} .auth-intro h1{font-size:39px} }
@media(max-width:760px) {
  .app-shell{display:block} .sidebar{padding:17px 20px 0;height:auto;position:static} .brand{padding-bottom:17px} .brand-logo{width:45px;height:45px} .brand b{font-size:20px} .brand small{font-size:12px}
  .sidebar nav{display:flex;overflow-x:auto;scrollbar-width:none;gap:5px} .sidebar nav a{flex-shrink:0;flex:initial;white-space:nowrap;justify-content:flex-start;font-size:13px;min-height:44px;padding:12px 10px;gap:7px} .sidebar nav a svg{width:17px;height:17px} .sidebar nav a.active:before{left:10px;right:10px;top:auto;bottom:0;height:2px;width:auto}
  .topbar{min-height:65px;padding:12px 20px;gap:12px} .breadcrumb{font-size:12px;gap:7px} .topbar-actions{gap:15px} .season-picker{max-width:165px} .season-picker select,.logout-button{font-size:12px} .logout-button span{display:none} main{padding:24px 20px 16px}
  h1{font-size:27px;letter-spacing:-.6px} .page-heading{gap:16px} .page-heading p:not(.eyebrow){font-size:14px} .eyebrow{font-size:11px} .button{font-size:14px;min-height:44px} .event-hero{padding:24px 22px;min-height:185px} .hero-copy{max-width:100%} .hero-title-row h2{font-size:25px} .hero-copy>p{font-size:13px} .hero-art{display:none} .event-meta{font-size:12px;gap:14px}
  .stats-grid{grid-template-columns:1fr;gap:10px} .stat-card{padding:17px 20px} .stat-card>div{display:grid;grid-template-columns:1fr auto;column-gap:20px;width:100%} .stat-card span{font-size:13px;grid-column:1} .stat-card strong{font-size:30px;margin:0;grid-column:2;grid-row:1/3} .stat-card small{font-size:12px;margin-top:5px;grid-column:1} .stat-icon{display:none!important}
  .rounds-grid{grid-template-columns:1fr;gap:12px} .round-card{padding:21px} .round-card h2{font-size:20px} .round-card-top .attendance,.round-card-footer{font-size:12px} .round-card>p{font-size:13px} .round-number{font-size:14px} .section-heading .muted{font-size:13px} .round-tabs a{font-size:13px;padding:12px 11px} .notice{font-size:14px;padding:14px 17px}
  th,td{padding:14px 16px} .search-field{min-width:0;max-width:none} .sector-edit label{font-size:13px} .sector-suggestion label{max-width:135px} .panel-heading h2{font-size:17px} .panel-heading{flex-wrap:wrap} .attendance,.attendance-select select{font-size:13px} .podium-card h2{font-size:20px} .podium-card strong{font-size:25px}
  .intro-grid h2{font-size:17px} .intro-grid p{font-size:14px} .toast{right:16px;left:auto;max-width:calc(100% - 32px)} .auth-intro{padding:27px;min-height:315px} .auth-brand{gap:13px} .auth-brand img{width:54px;height:54px} .auth-brand>span{font-size:21px} .auth-intro h1{font-size:30px;margin:22px 0 14px;line-height:1.2;letter-spacing:-.8px} .auth-intro>div>p:not(.hero-label){font-size:14px} .auth-pills span{font-size:12px;padding:6px 10px} .auth-content h2{font-size:26px} .auth-content .muted{font-size:14px}
  .admin-grid{grid-template-columns:1fr} .entry-table td{font-size:15px} .entry-table td:before{font-size:12px;color:#8397b5} .entry-table td:nth-child(1):before{content:'Emplacement'} .entry-table td:nth-child(2){font-size:18px;color:var(--blue)} .entry-table td:nth-child(3):before{content:'Secteur'} .entry-table td:nth-child(4):before{content:'Poids total / g'} .entry-table td:nth-child(5):before{content:'Nombre de poissons'} .entry-table td:nth-child(6):before{content:'Plus gros / g'} .entry-table td:nth-child(7):before{content:'Deuxième / g'} .entry-table td:nth-child(8):before{content:'Points de la manche'} .entry-table .table-button{min-height:44px;background:var(--red);font-size:14px} .entry-table td:nth-child(8) b{font-size:20px;color:var(--blue)}
}
@media(max-width:390px) { main{padding-inline:16px} .sidebar,.topbar{padding-inline:16px} .hero-title-row h2{font-size:23px} }

.management-toolbar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:0 0 22px; }
.column-form { margin-bottom:24px; }
.column-grid { padding:22px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.column-control { background:#f5f8fe; border:1px solid #e0e8f5; padding:15px; border-radius:10px; display:grid; gap:12px; }
.column-control .checkbox-field { margin:0; color:var(--blue); }
.column-control label { margin:0; }
.column-control input[type=text] { width:100%; }
.fields-panel .panel-heading { gap:20px; align-items:flex-start; }
.fields-panel .panel-heading p { max-width:590px; line-height:1.6; font-size:14px; }
.custom-fields-list { padding:0 22px 18px; }
.custom-field-row { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px 0; border-top:1px solid #e4ebf5; }
.custom-field-row small { display:block; color:#7186a6; margin-top:6px; }
.custom-field-row>div:last-child { display:flex; gap:10px; flex-wrap:wrap; }
.fields-empty { padding:0 22px 24px; }
.report-form { padding:28px; max-width:960px; }
.report-options { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:20px; }
.report-form .muted { line-height:1.7; font-size:14px; }
.report-form .panel-actions { padding:20px 0 0; }
.tie-measures { padding:16px; background:#f7f9fd; border:1px solid #e0e8f5; border-radius:10px; margin:12px 0 20px; }
.tie-measures summary { color:var(--blue); cursor:pointer; font-size:15px; }
.tie-measures .muted { font-size:14px; }
.custom-inputs { display:grid; gap:10px; margin-bottom:18px; }
.sector-results .panel-heading { border-top:3px solid var(--blue); background:#f2f6fd; }
.result-table .name-cell { color:var(--blue); background:#f5f8ff; font-weight:600; }
.result-table td { max-width:360px; overflow-wrap:anywhere; }
.table-button.delete { color:#b22d28; }
@media(max-width:1000px){ .column-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:760px){
  .column-grid{grid-template-columns:1fr;padding:16px} .report-form{padding:20px} .report-options{grid-template-columns:1fr;gap:10px}
  .custom-field-row{align-items:flex-start;flex-direction:column} .management-toolbar .button{flex-grow:1}
  .entry-table td:nth-child(n){display:block;grid-column:auto;order:0;align-items:initial;font-size:15px;color:inherit;max-width:none;padding:12px 16px}
  .entry-table td:nth-child(n)::before{content:attr(data-label);display:block;color:#7084a4;font-size:13px;margin-bottom:5px}
  .entry-table td.name-cell{grid-column:1/-1;order:-1;font-size:18px;color:var(--blue)} .entry-table td:nth-child(n) b{font-size:18px;color:var(--blue)}
}

/* Association identity: marine blue, a red accent and restrained gold podium details. */
:root { --ink:#142a48; --muted:#60718a; --blue:#173f78; --green:#173f78; --red:#cf342d; --accent:#d6ad59; --paper:#f2f5fa; --line:#dfe6f0; font-family:"Segoe UI",Arial,sans-serif; }
body { line-height:1.55; }
h1 { font-size:clamp(1.65rem,2.3vw,2.2rem); font-weight:700; line-height:1.22; letter-spacing:-.7px; }
h2 { font-weight:650; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #79a5e6; outline-offset:3px; }
.app-shell { grid-template-columns:280px minmax(0,1fr); }
.sidebar { background:#112b50; border:0; padding:26px 22px 20px; color:#fff; }
.brand { padding:0 2px 18px; gap:14px; }
.brand-logo { width:62px; height:62px; padding:3px; background:white; border-radius:50%; }
.brand b { font-size:22px; letter-spacing:1px; }
.brand small { color:#b9c9df; font-size:13px; }
.association-caption { margin:0 3px 28px; font-size:14px; line-height:1.65; color:#d2dded; }
.nav-caption { font-size:11px; color:#8fa9cc; letter-spacing:1.3px; padding:0 11px; }
.sidebar nav a { color:#bdcde2; border-radius:9px; min-height:47px; padding:12px 11px; font-size:14px; }
.sidebar nav a svg { width:19px; height:19px; }
.sidebar nav a:hover { color:white; background:#1b3b65; }
.sidebar nav a.active { color:white; background:#22477a; box-shadow:inset 0 0 0 1px #345685; }
.sidebar nav a.active:before { background:#ed675d; left:0; inset-block:11px; }
.sidebar nav a span { color:#dce8f8; background:#294f7f; }
.sidebar-bottom { border-top:1px solid #2a4465; padding:22px 10px 19px; margin-top:auto; }
.sidebar-bottom b { color:#e8eff9; font-size:14px; }
.sidebar-bottom p { color:#9eb4d0; line-height:1.7; font-size:13px; }
.sidebar-button { color:#dbe7f8; padding:10px 0; }
.sidebar-footer { border-color:#2a4465; color:#8fa9cc; padding:18px 8px 0; }
.sidebar-footer span,.sidebar-footer small { color:#9eb4d0; font-size:12px; }
.topbar { min-height:96px; padding:18px 38px; align-items:center; border-bottom:1px solid var(--line); }
.header-identity { flex:1; min-width:0; }
.header-season { color:var(--red); font-size:11px; letter-spacing:1.4px; font-weight:700; line-height:1.4; margin-bottom:4px; }
.header-identity>strong { color:var(--ink); display:block; font-size:16px; line-height:1.45; font-weight:650; overflow-wrap:anywhere; }
.breadcrumb { margin-top:5px; font-size:13px; color:#647994; }
.breadcrumb b { font-weight:400; }
.topbar-actions { flex-shrink:0; gap:18px; }
.season-picker { max-width:240px; }
.season-picker select { border:1px solid #d9e3f0; border-radius:8px; padding:10px 12px; min-height:44px; font-size:14px; }
.logout-button { padding:9px 0; font-size:13px; color:#6d7d93; }
.logout-button span { font-size:13px; color:#25466c; }
main { max-width:1560px; margin-inline:auto; width:100%; padding:34px 38px; }
.page-heading { align-items:center; gap:18px; margin-bottom:25px; }
.page-heading p:not(.eyebrow) { font-size:15px; color:#64758b; line-height:1.65; margin-top:10px; }
.eyebrow { font-size:12px; letter-spacing:1.1px; line-height:1.6; }
.button { font-size:14px; min-height:45px; border-radius:9px; padding:11px 17px; font-weight:600; }
.button.primary { background:var(--blue); box-shadow:0 4px 10px #163e7812; color:white; }
.button.primary:hover { background:#102f5d; }
.button.primary.danger { background:#c73932; box-shadow:none; }
.button.primary.danger:hover { background:#a82c27; }
.button:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.button.secondary { border:1px solid #d5dfed; background:white; color:#27476e; }
.button.secondary:hover { background:#f7faff; border-color:#afc3df; }
.management-toolbar { gap:10px; padding:0 0 4px; margin-bottom:22px; }
.management-toolbar .delete { margin-left:auto; font-size:13px; padding-inline:12px; }
.event-hero { background:linear-gradient(120deg,#102d56,#1c467e); border:0; border-radius:15px; padding:30px 32px; min-height:190px; position:relative; box-shadow:0 8px 20px #12345b0b; }
.event-hero:before { content:''; position:absolute; top:0; left:30px; width:55px; height:4px; background:#e8665b; border-radius:0 0 3px 3px; }
.hero-copy { max-width:calc(100% - 170px); }
.hero-label { font-size:12px; letter-spacing:1.2px; }
.hero-title-row { align-items:flex-start; flex-wrap:wrap; gap:12px; }
.hero-title-row h2 { color:white; font-size:clamp(1.4rem,2.3vw,1.95rem); line-height:1.35; letter-spacing:-.5px; }
.hero-copy>p { max-width:650px; color:#d0dded; font-size:14px; line-height:1.65; margin-top:10px; }
.event-meta { font-size:14px; color:#d0dded; gap:18px; margin-top:20px; }
.status-pill { font-size:12px; padding:5px 10px; color:#e7effa; background:#ffffff0b; border-color:#ffffff30; line-height:1.5; }
.hero-art .art-ring { display:none; }
.hero-art { width:120px; height:120px; right:32px; }
.hero-art svg { width:70px; height:70px; color:#d6ad59; stroke-width:1.25; }
.stat-card,.panel,.round-card { border:1px solid var(--line); box-shadow:0 2px 7px #132e4c03; }
.stats-grid { margin-top:22px; gap:18px; }
.stat-card { border-radius:12px; padding:22px; }
.stat-card strong { font-size:35px; font-variant-numeric:tabular-nums; line-height:1.1; margin:13px 0 9px; }
.stat-card small { font-size:13px; margin-top:0; }
.round-card { border-radius:12px; padding:23px; transition:border-color .15s,box-shadow .15s; }
.round-card:hover { border-color:#aabedb; box-shadow:0 6px 20px #234c7310; }
.round-card h2 { font-size:21px; margin:17px 0 10px; }
.round-card>p { font-size:14px; line-height:1.65; margin-bottom:8px; }
.round-card-footer { font-size:13px; gap:10px; padding-top:18px; }
.round-number { font-size:13px; border-radius:7px; padding:6px 10px; }
.attendance { font-size:12px; line-height:1.5; padding:5px 10px; }
.attendance.yes { color:#285e4e; background:#edf5f1; }
.panel-heading { padding:21px 23px; }
.panel-heading h2 { font-size:18px; }
.round-tabs { background:white; border:1px solid var(--line); border-radius:10px; padding:3px 8px; margin-bottom:18px; }
.round-tabs a { min-height:51px; font-size:14px; padding:13px 14px; border-radius:6px 6px 0 0; }
.round-tabs a.active { border-color:var(--blue); }
.notice { border:1px solid #dce7f5; border-radius:10px; color:#476686; font-size:14px; line-height:1.7; }
table { font-size:14px; font-variant-numeric:tabular-nums; }
th { font-size:13px; color:#4e6583; font-weight:650; padding:15px 18px; background:#f5f8fc; }
td { padding:17px 18px; color:#284361; }
.result-table .name-cell { background:#f7f9fd; color:#173e70; }
.result-table b { color:#173e70; }
.result-table tbody tr:hover td { background:#f0f5fc; }
.sector-results .panel-heading { border-top:3px solid var(--blue); background:#f4f7fc; }
.muted { color:#65758d; font-size:14px; }
.footer-note { font-size:13px; line-height:1.75; }
.podium-heading { align-items:center; }
.podium-heading .eyebrow { margin-bottom:5px; }
.podium-heading h2 { font-size:24px; }
.podium-grid { grid-template-columns:1.15fr 1fr 1fr; gap:18px; margin:22px 0 28px; align-items:stretch; }
.podium-card { border-radius:14px; padding:32px 24px; text-align:left; position:relative; min-height:270px; border-top:3px solid #9aacc3; }
.podium-medal { margin:0 0 24px; width:44px; height:44px; border-radius:11px; font:600 20px "Segoe UI",Arial,sans-serif; color:#4f6789; background:#f0f4fa; }
.podium-card>p { font-size:13px; color:#65758d; font-weight:600; }
.podium-card h2 { font-size:22px; line-height:1.45; margin:9px 0 18px; font-weight:650; }
.podium-card strong { font-size:32px; margin:0 0 12px; font-variant-numeric:tabular-nums; }
.podium-card strong small { font-size:13px; margin-left:4px; font-weight:400; }
.podium-card .muted { font-size:13px; }
.podium-card.place-1 { background:#153864; border:1px solid #153864; border-top:3px solid #d6ad59; color:white; }
.place-1 .podium-medal { background:#d6ad59; color:#283956; }
.place-1 .podium-medal svg { width:25px; height:25px; }
.place-1 h2,.place-1 strong { color:white; }
.place-1>p,.place-1 strong small,.place-1 .muted { color:#c9d8eb; }
.place-2 { border-top-color:#9aacc3; }
.place-3 { border-top-color:#b99a78; }
dialog { width:min(580px,calc(100% - 32px)); border:1px solid #dfe6ef; border-radius:17px; box-shadow:0 25px 95px #10274430; }
dialog::backdrop { background:#071c3d80; backdrop-filter:blur(3px); }
dialog form { padding:28px; }
.dialog-heading { gap:18px; align-items:flex-start; margin-bottom:26px; }
.dialog-identity { display:flex; gap:14px; align-items:flex-start; min-width:0; }
.dialog-identity img { width:46px; height:46px; object-fit:contain; flex-shrink:0; margin-top:3px; }
.dialog-heading .eyebrow { font-size:11px; color:#9b6330; letter-spacing:1.15px; margin-bottom:5px; }
.dialog-heading h2 { font-size:23px; line-height:1.35; letter-spacing:-.3px; }
.dialog-context { font-size:13px; color:#667a93; line-height:1.55; margin-top:7px; overflow-wrap:anywhere; }
.close-button { width:34px; height:34px; flex-shrink:0; border-radius:8px; background:#f1f4f9; color:#6d83a0; }
dialog label { display:block; font-size:14px; font-weight:500; margin-bottom:18px; color:#425e7b; }
dialog label input { margin-top:8px; }
input:not([type=checkbox]),select { background:white; min-height:46px; border-radius:8px; border:1px solid #ccd8e8; color:#243f61; font-size:15px; }
input::placeholder { color:#8799af; font-size:14px; }
.dialog-actions { border-top:1px solid var(--line); padding-top:22px; margin-top:22px; flex-wrap:wrap; }
.dialog-actions .secondary { margin-left:auto; }
.operation-notice { background:#fff8f1; border:1px solid #f0ddc8; border-radius:10px; padding:17px; display:flex; gap:12px; margin-bottom:16px; }
.operation-icon { color:#a37541; display:flex; padding-top:2px; }
.operation-icon svg { width:20px; height:20px; }
.operation-notice h3 { margin:0 0 6px; font-size:14px; color:#795737; font-weight:650; }
.operation-notice p { color:#876b4d; font-size:14px; line-height:1.7; margin:0; }
.export-before { display:flex; gap:9px; align-items:center; font-size:14px; color:#315b8d; padding:8px 0 20px; }
.export-before svg { width:17px; height:17px; }
.confirmation-instruction { border-top:1px solid var(--line); padding-top:19px; margin-bottom:15px; }
.confirmation-instruction p { font-size:14px; color:#5c6f88; line-height:1.7; }
.confirmation-instruction b { color:#1c3b67; }
.destructive-dialog .dialog-actions { align-items:center; }
.auth-screen { background:#f4f7fc; }
.auth-intro { background:linear-gradient(140deg,#10294b,#1b4275); padding:50px 60px; border-top:0; border-left:6px solid #cf342d; }
.auth-brand>span { font-size:26px; letter-spacing:1px; }
.auth-brand small { font-size:13px; }
.auth-intro h1 { font-size:clamp(2rem,3.4vw,3.5rem); max-width:650px; line-height:1.15; letter-spacing:-1.3px; margin:25px 0 20px; }
.auth-intro .auth-association { font-size:18px; max-width:480px; line-height:1.7; color:#d2dfee; }
.auth-pills { margin-top:30px; }
.auth-pills span { font-size:13px; color:#d6e2f4; border-color:#56749b; padding:7px 12px; }
.auth-content { background:#fafcff; }
.auth-content form { background:white; max-width:430px; padding:36px; border:1px solid var(--line); border-radius:15px; box-shadow:0 12px 32px #19395506; }
.auth-content h2 { font-size:28px; letter-spacing:-.5px; }
.auth-content .muted { margin-bottom:24px; }
.auth-footnote { font-size:13px; line-height:1.7; }
@media(min-width:1500px){.event-hero{min-height:190px} main{padding-top:34px}}
@media(max-width:1150px){
  .app-shell{grid-template-columns:248px minmax(0,1fr)} .sidebar{padding-inline:18px} main,.topbar{padding-inline:26px}
  .hero-copy{max-width:calc(100% - 95px)} .hero-art{width:65px;right:24px} .hero-art svg{width:52px;height:52px}
  .season-picker{max-width:190px} .podium-grid{gap:12px} .podium-card{padding:25px 19px}
}
@media(max-width:760px){
  .app-shell{display:block} .sidebar{position:static;height:auto;padding:20px 18px 0} .brand{padding-bottom:12px} .brand-logo{width:49px;height:49px}
  .brand b{font-size:21px} .brand small{font-size:13px} .association-caption{font-size:13px;margin:0 0 18px;line-height:1.6;max-width:500px}
  .sidebar nav{gap:6px;padding-bottom:9px} .sidebar nav a{font-size:13px;min-height:43px;padding:10px 12px} .sidebar nav a.active{background:#22477a}
  .sidebar nav a.active:before{left:11px;right:11px;bottom:0;top:auto;height:2px;width:auto} .sidebar-bottom,.sidebar-footer{display:none}
  .topbar{padding:17px 20px;min-height:unset;flex-direction:column;align-items:stretch;gap:14px} .header-identity>strong{font-size:16px} .header-season{font-size:11px}
  .topbar-actions{justify-content:space-between;gap:16px} .season-picker{max-width:72%;flex:1} .season-picker select{width:100%;font-size:13px} .logout-button{font-size:13px}
  main{padding:26px 20px} .page-heading{gap:15px;margin-bottom:21px} .page-heading p:not(.eyebrow){font-size:14px}
  .management-toolbar .delete{margin-left:0} .management-toolbar .button{flex-grow:1} .event-hero{padding:27px 23px;min-height:unset} .hero-copy{max-width:100%}
  .hero-art{display:none} .hero-title-row h2{font-size:25px} .hero-copy>p{font-size:14px} .hero-label{font-size:11px;letter-spacing:.9px} .event-meta{font-size:13px;gap:12px}
  .stat-card{padding:18px 20px} .stat-card strong{margin:0;font-size:31px} .stat-card small{font-size:13px} .round-card{padding:22px}
  .round-tabs{padding-inline:5px} .round-tabs a{font-size:13px;padding:13px 11px}.podium-grid{grid-template-columns:1fr;gap:13px}
  .podium-card{display:block;padding:24px;min-height:unset} .podium-card>*{grid-column:auto}.podium-medal{margin-bottom:17px}
  .podium-card h2{font-size:22px;margin:8px 0 13px}.podium-card strong{font-size:30px;margin-bottom:9px}.podium-heading h2{font-size:22px}
  dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:14px} dialog form{padding:22px 19px}
  .dialog-identity{gap:10px}.dialog-identity img{width:36px;height:36px}.dialog-heading h2{font-size:21px}.dialog-context{font-size:13px}
  .dialog-heading{gap:10px;margin-bottom:21px}.operation-notice{padding:14px;gap:9px}.operation-notice p{font-size:14px}
  .dialog-actions .button{flex:1;white-space:normal}.dialog-actions .secondary{margin-left:0}.confirmation-instruction{padding-top:15px}
  .auth-screen{display:block}.auth-intro{padding:28px 25px;min-height:380px}.auth-brand img{width:60px;height:60px}.auth-brand>span{font-size:24px}
  .auth-intro h1{font-size:35px;margin:25px 0 17px}.auth-intro .auth-association{font-size:16px}.auth-pills{margin-top:24px;gap:7px}
  .auth-pills span{font-size:12px;padding:7px 9px}.auth-content{padding:25px 20px}.auth-content form{max-width:500px;padding:25px 22px;margin:auto}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

@font-face{font-family:"ATAPC Arabic";src:url('/assets/fonts/NotoSansArabic.ttf') format('truetype');font-display:swap}
.membership-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.2fr);gap:22px;align-items:start}.membership-layout .form-panel{padding:24px}.membership-layout .form-row{margin-top:17px}.membership-layout .appearance-colors{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-preview{position:sticky;top:18px}.membership-preview-select{display:block;margin:20px 24px}.membership-canvas{padding:24px;background:var(--paper);display:flex;justify-content:center;min-height:220px;align-items:center}.membership-canvas canvas{width:100%;max-width:600px;height:auto;box-shadow:0 10px 26px #152c4914;border-radius:10px}.membership-print-note{font-size:12px;color:var(--muted);padding:18px 24px;line-height:1.7}.membership-selection{margin-top:24px}.membership-member-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:20px 24px;max-height:420px;overflow-y:auto}.membership-member-list label{margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:13px;min-width:0}.membership-member-list span{overflow-wrap:anywhere}.membership-member-list small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.membership-downloads{flex-wrap:wrap}.membership-downloads label{min-width:200px}.membership-selection .panel-heading{flex-wrap:wrap}.membership-preview-select select{width:100%}
@media(max-width:1000px){.membership-layout{grid-template-columns:1fr}.membership-preview{position:static}.membership-member-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.membership-layout .form-panel{padding:20px}.membership-canvas{padding:16px;min-height:160px}.membership-member-list{padding:16px;grid-template-columns:1fr}.membership-downloads .button,.membership-downloads label{width:100%}.membership-print-note{padding-inline:18px}.membership-preview-select{margin-inline:18px}.membership-downloads{gap:12px}}
.round-tile{min-width:0;display:flex;flex-direction:column;gap:7px}.round-tile .round-card{flex:1;display:block}.round-customize{width:100%;min-height:38px;background:white;border:1px solid var(--line);border-radius:8px;text-align:center;font-size:12px}.round-customize:hover{background:var(--paper)}.round-card h2,.round-number{overflow-wrap:anywhere;text-transform:none}.round-card-top{flex-wrap:wrap;gap:10px}
.round-podium-summary .round-podium-rank{width:42px;height:29px;gap:5px}.round-podium-rank svg{width:17px;height:17px;stroke:currentColor}.round-podium-rank b{font-size:10px}.round-podium-summary .rank-1{color:#946715;background:#fff1c2}.round-podium-summary .rank-2{color:#657184;background:#ecf0f5}.round-podium-summary .rank-3{color:#995a30;background:#fff0e4}
.round-podium-summary{margin-top:18px;border-top:1px solid var(--line);padding-top:13px}.round-podium-label{font-size:11px;font-weight:650;color:var(--muted)}.round-podium-summary ol{list-style:none;padding:0;margin:9px 0 0;display:grid;gap:8px}.round-podium-summary li{display:flex;gap:9px;align-items:center;font-size:12px;min-width:0}.round-podium-name{font-weight:600;overflow-wrap:anywhere;color:var(--ink)}.round-podium-summary .participant-avatar{width:27px;height:27px;font-size:10px}.round-podium-rank{width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--paper);font-size:11px;flex-shrink:0}.round-podium-rank.rank-1{background:#fff2ca;color:#795818}.round-podium-rank.rank-2{background:#eef1f6;color:#5e6a7c}.round-podium-rank.rank-3{background:#fff0e5;color:#92552b}.round-podium-pending{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;margin-top:18px}.round-podium-summary+.round-card-footer,.round-podium-pending+.round-card-footer{margin-top:16px}
:root{font-family:var(--brand-font)}
.button.primary,.button.primary.danger{background:var(--red)}.button.primary:hover,.button.primary.danger:hover{background:var(--red);filter:brightness(.92)}.button.secondary{color:var(--blue)}
.sidebar{background:var(--blue);height:calc(100dvh - 53px);overflow-y:auto;min-height:600px}.sidebar nav a.active{color:white;background:color-mix(in srgb,var(--blue),white 14%);box-shadow:none}.sidebar nav a:hover{background:color-mix(in srgb,var(--blue),white 10%)}
[hidden]{display:none!important}
button:disabled{cursor:not-allowed}
.language-switch{display:flex;justify-content:flex-end;gap:4px;padding:8px 20px;background:white;border-bottom:1px solid var(--line)}
.language-switch button{min-height:36px;padding:5px 13px;border:1px solid transparent;border-radius:7px;background:white;color:var(--muted);font-size:13px}
.language-switch button[aria-pressed=true]{border-color:var(--line);background:var(--paper);color:var(--blue);font-weight:700}
.participant-identity{display:inline-flex;gap:12px;align-items:center;min-width:170px;font-weight:650;line-height:1.4}
.participant-identity:hover{color:var(--blue)}
.participant-identity small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}
.participant-avatar{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid white;box-shadow:0 0 0 1px var(--line)}
.participant-avatar.initials{display:inline-flex;justify-content:center;align-items:center;background:var(--paper);color:var(--blue);font-size:13px;font-weight:700}
.participant-avatar.large{width:112px;height:112px;font-size:32px;border-width:4px}
.profile-overview{padding:28px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;border-block-start:4px solid var(--blue)}
.profile-identity{display:flex;gap:22px;align-items:center;min-width:0}
.profile-identity h2{font-size:25px;margin:10px 0 4px;overflow-wrap:anywhere}.profile-identity p{color:var(--muted);margin:4px 0}
.profile-contacts{border-inline-start:1px solid var(--line);padding-inline-start:26px;min-width:0}
.profile-contacts h3{font-size:14px;margin:0 0 17px;color:var(--blue)}
.profile-contacts p{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:13px;flex-wrap:wrap}
.profile-contacts b{overflow-wrap:anywhere}.profile-contacts span{color:var(--muted)}
.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-stats .stat-card{padding:22px 18px}.profile-stats .stat-icon{display:none}
.profile-indicators{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:16px}
.profile-indicators article{padding:20px}.profile-indicators span,.profile-indicators small{font-size:12px;color:var(--muted);display:block}
.profile-indicators strong{display:block;font-size:27px;color:var(--blue);margin-top:8px}.profile-indicators strong small{display:inline;font-size:12px}
.profile-filter select{min-height:42px;max-width:320px}.profile-chart{margin-top:22px}.point-chart{display:flex;gap:14px;overflow-x:auto;padding:26px 24px 22px;min-height:245px;align-items:flex-end}
.chart-column{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:60px;flex:1;max-width:140px;font-size:12px}.chart-track{height:145px;width:32px;display:flex;align-items:flex-end;background:var(--paper);border-radius:5px;overflow:hidden}
.chart-bar{width:100%;min-height:2px;background:var(--blue);border-radius:5px}.chart-value{font-weight:700;color:var(--blue);white-space:nowrap}.chart-column small{color:var(--muted)}
.permissions-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.permissions-grid label{padding:13px;background:var(--paper);border-radius:8px;font-size:13px;align-items:flex-start}.permissions-grid input{flex-shrink:0}
.image-field{border:1px solid var(--line);border-radius:10px;padding:15px;margin-block:18px}.image-field input[type=file]{font-size:13px;max-width:100%;padding:8px}.image-field small{display:block;font-size:12px}.image-preview{display:flex;align-items:center;gap:15px;margin:12px 0}.image-preview img{object-fit:contain;border:1px solid var(--line);border-radius:8px}
.appearance-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}.appearance-colors input[type=color]{height:48px;padding:5px;width:100%}.round-event-logo{object-fit:contain;float:inline-end;margin-inline-start:20px;border:1px solid var(--line);border-radius:12px;background:white;padding:8px}.event-logo{width:96px;height:96px;object-fit:contain;background:white;padding:8px;border-radius:12px}
.podium-card h2 .participant-avatar{display:block;margin:0 auto 14px}.podium-card h2 span{overflow-wrap:anywhere}
body[data-table-style=compact] .result-table td{padding-block:8px}body[data-table-style=compact] .participant-avatar{width:30px;height:30px}body[data-table-style=striped] .result-table tr:nth-child(even){background:var(--paper)}
.primary:hover{background:var(--red);filter:brightness(.92)}.event-hero,.auth-intro{background:var(--blue)}
[dir=rtl]{font-family:var(--arabic-font)}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] .eyebrow,[dir=rtl] .hero-label{letter-spacing:0}
[dir=rtl] .sidebar nav a.active:before{left:auto;right:0}[dir=rtl] .event-hero{border-left:0;border-right:5px solid var(--red)}[dir=rtl] th,[dir=rtl] td,[dir=rtl] .sidebar-footer span{text-align:right}[dir=rtl] .hero-art{right:auto;left:30px}
input[type=email],input[type=tel]{direction:ltr;text-align:start}
@media(max-width:760px){.sidebar{height:auto;min-height:0;overflow:visible}.profile-stats .stat-card>div{display:block}.profile-stats .stat-card strong{margin-block:10px}.profile-stats .stat-card small{margin:0}.profile-stats .stat-card span{font-size:12px}.profile-stats .stat-card{min-height:155px}.profile-indicators article{min-width:0}.profile-indicators span{font-size:12px}}
@media(max-width:1050px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-overview{grid-template-columns:1fr}.profile-contacts{border-inline-start:0;border-block-start:1px solid var(--line);padding-inline-start:0;padding-top:20px}}
@media(max-width:760px){.language-switch{padding:6px 18px}.profile-overview{padding:21px}.profile-identity{gap:15px}.participant-avatar.large{width:82px;height:82px;font-size:25px}.profile-identity h2{font-size:21px}.profile-stats{gap:12px}.profile-stats .stat-card{padding:16px}.profile-stats .stat-card strong{font-size:27px}.profile-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.permissions-grid{grid-template-columns:1fr}.appearance-colors{grid-template-columns:1fr}.profile-filter{width:100%}.profile-filter select{width:100%;max-width:none}.section-heading{flex-wrap:wrap;gap:15px}.round-event-logo{width:56px;height:56px}.participant-identity{min-width:155px}.hero-art:has(.event-logo){display:flex;position:static;width:auto;margin-top:20px}.hero-art:has(.event-logo) .art-ring{display:none}.sidebar nav a.active{background:var(--blue);color:white}[dir=rtl] .sidebar nav a.active:before{left:11px;right:11px}.topbar-actions{flex-wrap:wrap}.point-chart{padding-inline:16px}}

.card-format-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:18px}.card-format-actions button{flex:1;white-space:normal}.membership-canvas canvas{max-height:650px;object-fit:contain}.membership-preview{align-self:start;position:sticky;top:20px}@media(max-width:1050px){.membership-preview{position:static}}

/* Configurable navigation: the menu scrolls independently of its identity and footer. */
.sidebar-settings{border:1px solid var(--line);border-radius:12px;padding:22px;margin-block:24px}.sidebar-settings legend{font-weight:700;padding-inline:8px}
.sidebar-brand-row{display:flex;align-items:center;gap:8px;flex-shrink:0}.sidebar-brand-row .brand{flex:1;min-width:0;padding-bottom:0;gap:10px}.sidebar-brand-row .brand-logo{width:48px;height:48px;flex-shrink:0}.sidebar-brand-row .brand b{font-size:21px;letter-spacing:.6px}.sidebar-brand-row .brand small{font-size:11px}.sidebar-toggle{display:grid;place-items:center;width:30px;height:36px;padding:0;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;opacity:.85;flex-shrink:0}.sidebar-toggle svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}.sidebar-toggle:hover{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}
.sidebar nav .nav-label{display:block;margin:0;padding:0;background:transparent;color:inherit;border-radius:0;font-family:inherit;font-size:inherit;flex:1;white-space:normal}.sidebar nav #nav-count{margin-inline-start:auto;flex-shrink:0;background:color-mix(in srgb,currentColor 14%,transparent);color:inherit;font-weight:600;min-width:26px;text-align:center}
.sidebar-group-label{font-size:10px;font-weight:650;letter-spacing:1.3px;padding:17px 12px 5px;color:var(--sidebar-muted);line-height:1.3}.sidebar-group-label:first-child{padding-top:10px}
body[data-sidebar-caption=false] .sidebar>.association-caption,body[data-sidebar-groups=false] .sidebar-group-label,body[data-sidebar-help=false] .sidebar-bottom>b,body[data-sidebar-help=false] .sidebar-bottom>p,body[data-sidebar-help=false] .sidebar-bottom>.local-dot{display:none}
.sidebar{--sidebar-muted:#dae4f5;--sidebar-hover:color-mix(in srgb,white 11%,var(--sidebar-color));--sidebar-active:color-mix(in srgb,white 18%,var(--sidebar-color));background:var(--sidebar-color)!important;color:#fff;padding:22px 16px 16px;gap:18px;overflow:hidden}.sidebar nav{gap:4px;min-height:0}.sidebar nav a{color:#e5ecf8;font-weight:500;border-radius:var(--sidebar-radius);padding:11px 12px;min-height:44px;gap:12px}.sidebar nav a:hover{background:var(--sidebar-hover);color:white}.sidebar nav a.active{background:var(--sidebar-active)!important;color:white;box-shadow:inset 0 0 0 1px #ffffff24;font-weight:650}.sidebar nav a.active:before{background:var(--accent);left:auto;inset-inline-start:0;inset-block:12px;width:3px;top:12px;bottom:12px;height:auto}.sidebar .brand small,.sidebar .association-caption,.sidebar .sidebar-footer span,.sidebar .sidebar-footer small,.sidebar .sidebar-bottom p{color:var(--sidebar-muted)}.sidebar .sidebar-bottom b,.sidebar .sidebar-button{color:inherit}.sidebar .association-caption{margin:0 4px;font-size:12px;line-height:1.6}.sidebar-bottom{flex-shrink:0;border:0;border-top:1px solid #ffffff26;margin-top:0;padding:13px 9px 0}.sidebar-bottom p{margin:8px 0;font-size:12px}.sidebar-button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 0;font-size:12px}.sidebar-footer{flex-shrink:0;border:0;padding:0 9px}.sidebar-footer span{font-size:10px;letter-spacing:.8px}.sidebar-footer small{display:none}
body[data-sidebar-style=light] .sidebar{--sidebar-muted:#52637d;--sidebar-hover:#f0f4fa;--sidebar-active:color-mix(in srgb,var(--sidebar-color) 9%,white);background:#fff!important;color:var(--sidebar-color);border-inline-end:1px solid var(--line)}body[data-sidebar-style=light] .sidebar nav a{color:#42536c}body[data-sidebar-style=light] .sidebar nav a:hover,body[data-sidebar-style=light] .sidebar nav a.active{color:var(--sidebar-color)}body[data-sidebar-style=light] .sidebar nav a.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sidebar-color) 16%,white)}body[data-sidebar-style=light] .sidebar-bottom{border-color:var(--line)}
body[data-sidebar-density=comfortable] .sidebar nav a{min-height:50px;padding-block:14px}body[data-sidebar-density=compact] .sidebar nav a{font-size:13px;min-height:42px;padding-block:10px}
@media(min-width:761px){.app-shell{grid-template-columns:var(--sidebar-width,280px) minmax(0,1fr)}.sidebar{position:sticky;height:calc(100dvh - 40px);min-height:420px;top:0}.sidebar nav{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#ffffff55 transparent;padding-inline-end:4px}.sidebar nav a{flex-shrink:0}.sidebar-group-label{flex-shrink:0}body[data-sidebar-collapsed=true] .app-shell{grid-template-columns:86px minmax(0,1fr)}body[data-sidebar-collapsed=true] .sidebar{padding-inline:12px;gap:14px}body[data-sidebar-collapsed=true] .sidebar-brand-row{flex-direction:column}body[data-sidebar-collapsed=true] .sidebar-brand-row .brand>span,body[data-sidebar-collapsed=true] .sidebar>.association-caption,body[data-sidebar-collapsed=true] .sidebar .nav-label,body[data-sidebar-collapsed=true] .sidebar #nav-count,body[data-sidebar-collapsed=true] .sidebar-group-label,body[data-sidebar-collapsed=true] .sidebar-footer,body[data-sidebar-collapsed=true] .sidebar-bottom>b,body[data-sidebar-collapsed=true] .sidebar-bottom>p,body[data-sidebar-collapsed=true] .sidebar-bottom>.local-dot,body[data-sidebar-collapsed=true] .sidebar-export-label{display:none}body[data-sidebar-collapsed=true] .sidebar nav a{justify-content:center;padding:12px;min-height:46px}body[data-sidebar-collapsed=true] .sidebar nav{padding:0}body[data-sidebar-collapsed=true] .sidebar-button{justify-content:center}body[data-sidebar-collapsed=true] #sidebar-toggle svg{transform:rotate(180deg)}[dir=rtl] #sidebar-toggle svg{transform:rotate(180deg)}[dir=rtl] body[data-sidebar-collapsed=true] #sidebar-toggle svg{transform:none}}
@media(max-width:760px){.sidebar{padding:16px 18px 0;gap:12px;height:auto;min-height:0;position:static;overflow:visible}.sidebar-toggle,.sidebar-group-label,.sidebar-bottom,.sidebar-footer,.sidebar>.association-caption{display:none!important}.sidebar nav{display:flex;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:10px}.sidebar nav a{min-height:42px!important;flex-shrink:0;white-space:nowrap;padding:10px 12px!important;font-size:12px!important}.sidebar nav .nav-label{white-space:nowrap}.sidebar nav a.active:before{display:none}.sidebar-brand-row{margin-bottom:0}.sidebar-settings{padding:16px}}

.sidebar-group-label{padding-block-start:11px;padding-block-end:4px}.sidebar-group-label:first-child{padding-block-start:4px}.sidebar nav{gap:3px}

body[data-sidebar-style=light] .sidebar nav{scrollbar-color:#b9c6d7 transparent}@media(min-width:761px){.language-switch{position:sticky;top:0;z-index:50;min-height:52px;background:white}.sidebar{top:52px;height:calc(100dvh - 52px)}}

.sidebar nav{gap:2px}
/* Participant profile: spacious portrait and a clear sporting record. */
.profile-hero.profile-overview{position:relative;overflow:hidden;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:32px;padding:30px;border-block-start:0;background:linear-gradient(125deg,color-mix(in srgb,var(--blue) 6%,white),white 65%)}
.profile-portrait{grid-row:span 2;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:310px;border-radius:22px;background:color-mix(in srgb,var(--blue) 9%,white);overflow:hidden;border:1px solid var(--line)}
.profile-hero .profile-portrait .participant-avatar.large{width:100%;height:100%;max-height:380px;min-height:310px;border-radius:0;object-fit:contain;background:transparent;box-shadow:none;border:0}
.profile-hero .profile-portrait .initials{font-size:72px;display:flex;align-items:center;justify-content:center;color:var(--blue)}
.profile-hero .profile-identity{align-items:flex-start;padding-top:8px}
.profile-hero .profile-identity h2{font-size:clamp(25px,2.7vw,36px);letter-spacing:-.7px;line-height:1.2;margin:16px 0;max-width:100%}
.profile-hero .profile-member-number{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}
.profile-member-number b{color:var(--blue);background:white;border:1px solid var(--line);padding:4px 10px;border-radius:7px}
.profile-hero .profile-quality{font-weight:600;color:var(--ink);margin-top:12px}
.profile-hero-summary{display:flex;gap:30px;margin-top:24px;flex-wrap:wrap}
.profile-hero-summary span{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.profile-hero-summary strong{font-size:30px;color:var(--blue);font-variant-numeric:tabular-nums;line-height:1.3}
.profile-hero .profile-contacts{border-inline-start:0;border-block-start:1px solid var(--line);padding:20px 0 0;grid-column:2}
.profile-hero .profile-contacts p{justify-content:flex-start;gap:20px}.profile-hero .profile-contacts p>span{min-width:90px}
.profile-stats .stat-card{border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px #183c8305}
.profile-indicators article{border-radius:16px}.profile-chart{border-radius:18px}
.profile-chart .chart-track{border-radius:10px;background:color-mix(in srgb,var(--blue) 5%,white)}
.profile-chart .chart-bar{border-radius:10px;background:var(--blue)}
.button{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;border-radius:12px}
.button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #183c8315}
.button:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 5px #183c8310}
.button:focus-visible,.chart-column:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.button:disabled{transform:none;box-shadow:none;cursor:wait}
@media(max-width:1050px){.profile-hero.profile-overview{grid-template-columns:minmax(180px,230px) minmax(0,1fr)}.profile-hero .profile-contacts{padding-top:18px}}
@media(max-width:760px){.profile-hero.profile-overview{grid-template-columns:1fr;padding:20px;gap:20px}.profile-portrait{grid-row:auto;min-height:260px;max-height:340px}.profile-hero .profile-portrait .participant-avatar.large{min-height:260px;max-height:340px}.profile-hero .profile-contacts{grid-column:1}.profile-hero-summary{gap:28px;margin-top:20px}.profile-hero .profile-identity h2{font-size:27px}.profile-hero .profile-contacts p{gap:10px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:not(:disabled):hover,.button:not(:disabled):active{transform:none}}

/* Tactile action controls: visible feedback for mouse, touch and keyboard. */
.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:10px 20px;border-radius:16px;font-weight:650;border-width:1px;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease;box-shadow:0 3px 0 color-mix(in srgb,var(--blue) 12%,transparent),0 5px 12px #183c8307}
.button.primary{background:linear-gradient(160deg,color-mix(in srgb,var(--red) 92%,white),var(--red));box-shadow:0 4px 0 color-mix(in srgb,var(--red) 78%,black),0 7px 18px color-mix(in srgb,var(--red) 18%,transparent);border:1px solid color-mix(in srgb,var(--red) 85%,white);color:#fff}
.button.secondary{background:linear-gradient(160deg,white,color-mix(in srgb,var(--blue) 3%,white));border-color:color-mix(in srgb,var(--blue) 20%,white)}
.button>svg{width:30px;height:30px;flex-shrink:0;padding:6px;border-radius:10px;background:color-mix(in srgb,var(--blue) 8%,transparent);stroke:currentColor;stroke-width:1.8;fill:none;transition:transform .2s ease,background-color .2s ease}
.button.primary>svg{background:#ffffff24}
@media(hover:hover){.button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 5px 0 color-mix(in srgb,var(--blue) 17%,transparent),0 10px 22px #183c8318}.button.primary:not(:disabled):hover{filter:none;background:linear-gradient(160deg,var(--red),color-mix(in srgb,var(--red) 85%,black));box-shadow:0 5px 0 color-mix(in srgb,var(--red) 72%,black),0 12px 24px color-mix(in srgb,var(--red) 23%,transparent)}.button:not(:disabled):hover>svg{transform:rotate(-7deg) scale(1.08);background:color-mix(in srgb,var(--blue) 14%,transparent)}.button.primary:not(:disabled):hover>svg{background:#ffffff38}}
.button:not(:disabled):active{transform:translateY(2px) scale(.985);box-shadow:0 1px 0 color-mix(in srgb,var(--blue) 17%,transparent)}
.button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.button.button-pending{opacity:.85;cursor:wait;pointer-events:none;padding-inline-end:46px}
.button-pending:after{content:'';position:absolute;inset-inline-end:16px;width:17px;height:17px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:button-spin .75s linear infinite}
.button.button-success{box-shadow:0 0 0 3px #20865d55}.button.button-error{box-shadow:0 0 0 3px #df292155}
.button-ripple{position:absolute;z-index:-1;width:12px;height:12px;background:currentColor;opacity:.18;border-radius:50%;pointer-events:none;animation:button-ripple .6s ease-out forwards}
.button>svg:has(use[href='#arrow']){transform:rotate(180deg)}.button[href^='#members']>svg:has(use[href='#arrow']),.button[data-close]>svg:has(use[href='#arrow']){transform:none}
[dir=rtl] .button>svg:has(use[href='#arrow']){transform:none}[dir=rtl] .button[href^='#members']>svg:has(use[href='#arrow']),[dir=rtl] .button[data-close]>svg:has(use[href='#arrow']){transform:rotate(180deg)}
.table-button{transition:background-color .18s ease,box-shadow .18s ease}.table-button:hover{background:color-mix(in srgb,var(--blue) 7%,white);box-shadow:0 0 0 5px color-mix(in srgb,var(--blue) 7%,white);border-radius:5px}.table-button:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@keyframes button-spin{to{transform:rotate(360deg)}}
@keyframes button-ripple{from{transform:translate(-50%,-50%) scale(1);opacity:.22}to{transform:translate(-50%,-50%) scale(55);opacity:0}}
@media(max-width:760px){.button{min-height:48px;padding:10px 16px;font-size:13px;gap:8px}.button>svg{width:28px;height:28px;padding:5px}.button.button-pending{padding-inline-end:42px}}
@media(prefers-reduced-motion:reduce){.button,.button>svg,.table-button{transition:none}.button:not(:disabled):hover,.button:not(:disabled):active,.button:not(:disabled):hover>svg{transform:none}.button-ripple{display:none}.button-pending:after{animation:none;border-style:dotted}}





/* Round cards respond as one navigation target, with a visible keyboard focus. */
.round-tile .round-card{position:relative;isolation:isolate;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;background:linear-gradient(145deg,#fff 75%,color-mix(in srgb,var(--blue) 4%,white));}
.round-card .round-number{transition:background .22s ease,color .22s ease,box-shadow .22s ease;}
.round-card .round-card-footer .round-open{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,var(--blue) 7%,white);color:var(--blue);transition:background .22s ease,color .22s ease,box-shadow .22s ease;}
.round-open svg{width:17px;height:17px;flex:none;transition:transform .22s ease;}
.round-card:focus-visible{outline:3px solid var(--blue);outline-offset:4px;box-shadow:0 10px 28px color-mix(in srgb,var(--blue) 16%,transparent);}
.round-card:focus-visible .round-open{background:var(--blue);color:#fff;}
.round-tile .round-card:active{transform:translateY(1px) scale(.99);box-shadow:0 3px 10px color-mix(in srgb,var(--blue) 12%,transparent);}
@media(hover:hover) and (pointer:fine){
 .round-tile .round-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--blue) 45%,white);box-shadow:0 14px 32px color-mix(in srgb,var(--blue) 13%,transparent);}
 .round-card:hover .round-number{background:var(--blue);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--blue) 18%,transparent);}
 .round-card:hover .round-open{background:var(--blue);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--blue) 16%,transparent);}
 .round-card:hover .round-open svg{transform:translateX(3px);}
 [dir=rtl] .round-card:hover .round-open svg{transform:rotate(180deg) translateX(3px);}
}
[dir=rtl] .round-open svg{transform:rotate(180deg);}
@media(prefers-reduced-motion:reduce){.round-tile .round-card,.round-card .round-number,.round-card .round-open,.round-open svg{transition:none}.round-tile .round-card:hover,.round-tile .round-card:active{transform:none}.round-card:hover .round-open svg{transform:none}[dir=rtl] .round-card:hover .round-open svg{transform:rotate(180deg)}}
/* Shared motion supports navigation without moving data-entry targets. */
@media screen{
 #page-content>.page-heading,#page-content>.section-heading{animation:section-reveal .26s ease both;}
 #page-content .panel,#page-content .stat-card,#page-content .profile-indicators article,#page-content .podium-card{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;}
 #page-content .stat-icon,#page-content .participant-avatar{transition:transform .2s ease,box-shadow .2s ease;}
 #page-content tbody tr{transition:background-color .18s ease;}
 #page-content tbody tr:focus-within{background:color-mix(in srgb,var(--blue) 6%,white);}
 #page-content .round-tabs a,#page-content .sector-chip,#page-content summary{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;}
 #page-content .round-tabs a:focus-visible,#page-content .sector-chip:focus-visible,#page-content a:not(.button):not(.round-card):focus-visible,#page-content summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
 #page-content .permissions-grid label,#page-content .membership-member-list label{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;}
 #page-content .permissions-grid label:has(input:checked){background:color-mix(in srgb,var(--blue) 6%,white);border-color:color-mix(in srgb,var(--blue) 30%,white);}
 #page-content input:not([type=checkbox]):not([type=radio]),#page-content select,#page-content textarea,#dialog-fields input,#dialog-fields select{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;}
 #page-content input:not([type=checkbox]):not([type=radio]):focus-visible,#page-content select:focus-visible,#page-content textarea:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent);}
 .sidebar nav a{transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;}
 .sidebar nav a>svg{transition:transform .2s ease;}
 @media(hover:hover) and (pointer:fine){
  #page-content .panel:hover,#page-content .stat-card:hover,#page-content .profile-indicators article:hover,#page-content .podium-card:hover{border-color:color-mix(in srgb,var(--blue) 26%,white);box-shadow:0 7px 22px color-mix(in srgb,var(--blue) 8%,transparent);}
  #page-content .stat-card:hover .stat-icon{transform:translateY(-2px) rotate(-4deg);}
  #page-content a:hover .participant-avatar{transform:scale(1.05);box-shadow:0 3px 12px color-mix(in srgb,var(--blue) 15%,transparent);}
  #page-content tbody tr:hover{background:color-mix(in srgb,var(--blue) 4%,white);}
  #page-content .round-tabs a:hover{transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--blue) 10%,transparent);}
  #page-content .sector-chip:hover,#page-content summary:hover{background:color-mix(in srgb,var(--blue) 6%,white);}
  #page-content .permissions-grid label:hover,#page-content .membership-member-list label:hover{box-shadow:0 3px 12px color-mix(in srgb,var(--blue) 8%,transparent);}
  .sidebar nav a:hover>svg{transform:translateY(-1px) scale(1.08);}
 }
 #page-content .round-tabs a:active{transform:translateY(1px);}
}
@keyframes section-reveal{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 #page-content>.page-heading,#page-content>.section-heading{animation:none;}
 #page-content .panel,#page-content .stat-card,#page-content .profile-indicators article,#page-content .podium-card,#page-content .stat-icon,#page-content .participant-avatar,#page-content tbody tr,#page-content .round-tabs a,#page-content .sector-chip,#page-content summary,#page-content .permissions-grid label,#page-content .membership-member-list label,#page-content input,#page-content select,#page-content textarea,.sidebar nav a,.sidebar nav a>svg{transition:none;}
 #page-content .stat-card:hover .stat-icon,#page-content a:hover .participant-avatar,#page-content .round-tabs a:hover,#page-content .round-tabs a:active,.sidebar nav a:hover>svg{transform:none;}
}

@media screen and (hover:hover) and (pointer:fine){
 #page-content .chart-column .chart-bar{transition:filter .2s ease,box-shadow .2s ease;}
 #page-content .chart-column:hover .chart-bar,#page-content .chart-column:focus-visible .chart-bar{filter:brightness(1.12);box-shadow:0 3px 14px color-mix(in srgb,var(--blue) 20%,transparent);}
}
@media(prefers-reduced-motion:reduce){#page-content .chart-column .chart-bar{transition:none}}
.sidebar nav a>svg,.sidebar-button>svg{width:var(--sidebar-icon-size,21px);height:var(--sidebar-icon-size,21px);color:var(--sidebar-icon-color,currentColor);flex-shrink:0;transition:transform .22s ease,filter .22s ease;}
.sidebar nav a:focus-visible{outline:2px solid currentColor;outline-offset:-3px;box-shadow:inset 0 0 0 1px currentColor;}
@media(hover:hover) and (pointer:fine){
 .sidebar nav a:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent),0 4px 12px #00000012;}
 .sidebar nav a:hover>svg{transform:translateY(-3px) scale(1.14);filter:drop-shadow(0 3px 4px #00000020);}
 .sidebar-button:hover>svg{transform:translateY(-2px) scale(1.08);}
}
.sidebar nav a:active>svg{transform:scale(.94);}
@media(prefers-reduced-motion:reduce){.sidebar nav a>svg,.sidebar-button>svg{transition:none}.sidebar nav a:hover>svg,.sidebar nav a:active>svg,.sidebar-button:hover>svg{transform:none;filter:none}}

@font-face{font-family:'Cairo';src:url('/assets/fonts/Cairo-Variable.ttf') format('truetype');font-weight:200 1000;font-style:normal;font-display:swap;}
:root[lang=fr] #page-content .page-heading h1,:root[lang=fr] #page-content .section-heading h2,:root[lang=fr] #page-content .panel-heading h2,:root[lang=fr] #page-content .form-panel>h2,:root[lang=fr] #dialog-title,:root[lang=fr] .sidebar .nav-label,:root[lang=fr] .round-card h2:not([data-user-content]){text-transform:uppercase;}
.brand b,.brand small,.sidebar-footer>span,.sidebar-footer>small,.auth-brand>span{overflow-wrap:anywhere;}
:root{--brand-font:'Cairo',Arial,sans-serif;--arabic-font:'Cairo',Tahoma,sans-serif;}
/* Refined competition surfaces and current season leaders. */
#page-content .page-heading{padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(115deg,color-mix(in srgb,var(--blue) 6%,white),white);margin-bottom:26px;gap:18px}
#page-content .panel{border-radius:18px}#page-content .stat-card{border-radius:18px;border-bottom:3px solid color-mix(in srgb,var(--blue) 25%,white)}
#page-content .round-card{border-radius:20px;padding:24px}.round-catch-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding:14px 0;border-block:1px solid var(--line)}
.round-catch-summary>span{display:flex;align-items:center;gap:10px;min-width:0}.round-catch-summary svg{width:27px;height:27px;flex-shrink:0;fill:none;stroke:var(--blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.round-catch-summary b{display:block;font-size:20px;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.round-catch-summary small{display:block;font-size:11px;color:var(--muted)}.round-catch-summary b small{display:inline}.catch-status{display:block;margin-top:8px;font-size:11px;color:var(--muted)}
.leaders-status{font-weight:650;color:var(--muted);margin-top:24px}.champions-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.champions-showcase .champion-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:260px;padding:24px;overflow:hidden;text-align:start;border-radius:20px;background:linear-gradient(140deg,#fff,#f4f7fc);border-top:4px solid #a8b4c4}
.champion-info{min-width:0;flex:1}.champion-info h2{font-size:19px;overflow-wrap:anywhere;margin:14px 0}.champion-info strong{display:block;font-size:28px}.champion-info p{font-size:12px;margin:10px 0}.champion-photo{order:2;flex:0 0 112px}.champion-photo .participant-avatar.large{width:112px;height:156px;border-radius:18px;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 20px #132e4c18}.champion-photo .initials{display:flex;align-items:center;justify-content:center;font-size:28px;background:#e7edf6;color:#153864}.champion-info .podium-medal{display:inline-flex;gap:6px;width:auto;padding:10px;margin:0}.champion-info .podium-medal svg{width:25px;height:25px}.champion-info .podium-medal b{font-size:12px}
.champions-showcase .place-1{background:linear-gradient(135deg,#153864,#244f83);color:white;border-top-color:#d6ad59}.champions-showcase .place-1 .muted{color:#e0e8f3}.champion-card.place-2{border-top-color:#a8b4c4}.champion-card.place-3{border-top-color:#b97849}.place-2 .podium-medal{background:#e7edf5;color:#52647b}.place-3 .podium-medal{background:#fbe8dc;color:#93552e}
[dir=rtl] .champion-card{flex-direction:row-reverse}.champion-card:focus-within{outline:2px solid var(--blue);outline-offset:3px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.champion-photo .participant-avatar{transition:transform .25s ease}.champion-card:hover .participant-avatar{transform:scale(1.04)}#page-content .table-button:hover{box-shadow:0 3px 10px #132e4c10}}
@media(max-width:1150px){.champions-showcase{grid-template-columns:1fr}.champion-photo{flex-basis:130px}.champion-photo .participant-avatar.large{width:130px;height:154px}.champions-showcase .champion-card{min-height:200px}.champion-info h2{font-size:23px}}
@media(max-width:600px){#page-content .page-heading{padding:18px}.champions-showcase .champion-card{padding:18px;gap:12px}.champion-photo{flex-basis:96px}.champion-photo .participant-avatar.large{width:96px;height:132px}.champion-info h2{font-size:18px}.champion-info strong{font-size:24px}}
.auth-content{background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--blue) 9%,white),#f6f8fc)}.auth-content #auth-form{background:white;padding:32px;border:1px solid var(--line);border-radius:22px;box-shadow:0 16px 48px #132e4c0d}.auth-intro{background:linear-gradient(145deg,#122f63,var(--blue));position:relative}.auth-pills span{border-radius:20px}.auth-brand img{box-shadow:0 8px 25px #0002;border-radius:50%}
@media(max-width:600px){.auth-content #auth-form{padding:22px}.auth-content{padding:24px 16px}}
.draw-show-button{margin-bottom:18px}.draw-show{width:min(1000px,94vw);max-height:92vh;border:1px solid var(--line);border-radius:24px;padding:28px;background:var(--paper);color:var(--ink);overflow:auto}.draw-show::backdrop{background:#081a38b8;backdrop-filter:blur(8px)}.draw-show header{display:flex;align-items:center;gap:16px}.draw-show header>div{flex:1;min-width:0}.draw-show header h2{margin:4px 0;overflow-wrap:anywhere}.draw-show header p{margin:0;color:var(--muted)}.draw-show header img{border-radius:50%;object-fit:contain}.draw-show header span{font-size:12px;color:var(--muted)}.draw-reveal{margin:24px 0;min-height:280px;display:grid;place-items:center;background:linear-gradient(135deg,#153864,#244f83);color:white;border-radius:20px;text-align:center;padding:24px}.draw-reveal-card .participant-avatar.large{width:112px;height:112px;object-fit:cover;background:#e6edf8;color:#153864}.draw-reveal-card h3{font-size:25px;overflow-wrap:anywhere;margin:12px 0}.draw-reveal-card>div{display:flex;justify-content:center;gap:35px}.draw-reveal-card b{display:block;font-size:36px;color:#f1bd51}.draw-show-progress{display:flex;align-items:center;gap:16px}.draw-show progress{flex:1;accent-color:var(--blue);height:9px}.draw-show-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.draw-show-controls label{display:flex;align-items:center;gap:8px}.draw-show-controls select{width:auto;padding:9px}.draw-show-list{max-height:240px;overflow:auto;background:white;border-radius:12px}.draw-show:fullscreen{width:100%;max-height:none;height:100%;border-radius:0}.draw-show-list th,.draw-show-list td{padding:12px}.draw-show-list table{width:100%}
@media(prefers-reduced-motion:no-preference){.draw-reveal-card{animation:draw-reveal-in .4s ease both}@keyframes draw-reveal-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}}
@media(max-width:600px){.draw-show{padding:18px}.draw-show header img{width:48px;height:48px}.draw-reveal{min-height:250px}.draw-show-controls .button{flex:1}.draw-show header h2{font-size:20px}}
.bulk-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;background:var(--paper);border-radius:12px;margin-bottom:18px}.bulk-toolbar label{display:flex;align-items:center;gap:8px;margin:0}.bulk-toolbar select{width:auto}.bulk-toolbar input[type=checkbox],input[data-bulk-member],input[data-bulk-attendance]{width:19px;height:19px;accent-color:var(--blue);margin-inline-end:10px}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.board-person{text-align:center;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.board-person .participant-avatar.large{width:140px;height:168px;object-fit:cover;border-radius:18px}.board-person h3{overflow-wrap:anywhere}.draw-rolling h3{font-size:30px;overflow-wrap:anywhere}.draw-rolling small{color:#dce8ff}.draw-show header{position:sticky;top:0;background:var(--paper);z-index:2;padding-block:8px}

/* Large live draw stage, with a compact layout on phones. */
.draw-show{width:96vw;max-width:1800px;max-height:96dvh}.draw-reveal{min-height:48vh}.draw-reveal-card h3,.draw-rolling h3{font-size:clamp(28px,4vw,64px)}.draw-reveal-card .participant-avatar.large{width:clamp(112px,14vw,220px);height:clamp(112px,14vw,220px)}.draw-reveal-card b{font-size:clamp(36px,5vw,76px)}.draw-show-list[hidden],[data-operator-permissions][hidden]{display:none}

.draw-sector-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;width:100%;align-items:start}.draw-reveal:has(.draw-sector-board){background:var(--paper);padding:12px;text-align:start}.draw-sector-column{background:var(--sector-tint);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0}.draw-sector-column h3{margin:0 0 14px;font-size:20px}.draw-sector-column ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.draw-sector-column li{display:flex;gap:12px;align-items:center;overflow-wrap:anywhere;font-size:15px}.draw-sector-column li b{flex:0 0 34px;background:#ffffffc9;border-radius:8px;padding:6px;text-align:center;color:var(--blue)}.draw-sector-row>td{background:var(--sector-tint)}.draw-show-list[hidden]{display:none}@media(max-width:600px){.draw-sector-board{grid-template-columns:1fr}.draw-sector-column h3{font-size:18px}}

[data-sector-tone="0"]{--sector-tint:var(--sector-color-0,#dce9ff)}[data-sector-tone="1"]{--sector-tint:var(--sector-color-1,#dff3e6)}[data-sector-tone="2"]{--sector-tint:var(--sector-color-2,#fff0cf)}[data-sector-tone="3"]{--sector-tint:var(--sector-color-3,#eee0fb)}[data-sector-tone="4"]{--sector-tint:var(--sector-color-4,#ffe0e4)}[data-sector-tone="5"]{--sector-tint:var(--sector-color-5,#d7f2f9)}.draw-show.draw-expanded,.draw-show:fullscreen{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.draw-show header{position:static}
[data-custom-for][hidden]{display:none}

/* Association welcome card: fixed visual order with bilingual identity. */
body:has(#auth-screen:not([hidden])){background:radial-gradient(ellipse at 10% 10%,#e4edff,transparent 55%),#f3f5fa}#auth-screen.auth-screen{direction:ltr;grid-template-columns:1fr 1fr;width:min(1120px,calc(100% - 48px));min-height:690px;margin:70px auto;border-radius:30px;padding:18px;background:white;box-shadow:0 24px 80px #15345c20;gap:16px}.auth-intro{border:0;border-radius:22px;padding:42px 36px;justify-content:center;align-items:center;text-align:center;gap:24px;background:radial-gradient(ellipse at top left,#4775af,transparent 70%),linear-gradient(145deg,#17376d,#112448);overflow:hidden}.auth-brand{flex-direction:column;gap:15px}.auth-brand img{width:190px;height:190px;object-fit:contain;background:white;padding:10px;box-shadow:0 16px 40px #0003}.auth-brand>span{font-family:Cairo,sans-serif;font-size:25px;color:white;letter-spacing:2px}.auth-names{width:100%;max-width:410px}.auth-intro .auth-names h1{font-family:Cairo,sans-serif;font-size:clamp(25px,2.5vw,34px);line-height:1.6;letter-spacing:0;margin:0;color:white;max-width:none}.auth-intro .auth-association{font-family:Cairo,sans-serif;font-size:20px;line-height:1.6;margin:16px 0;color:#e5edfc;max-width:none}.auth-identity-lines{display:grid;gap:6px;justify-items:center;margin-top:24px}.auth-identity-lines i{display:block;height:3px;border-radius:4px;background:#ffffff55;width:92px}.auth-identity-lines i:nth-child(2){width:62px;background:#f1bd51}.auth-identity-lines i:nth-child(3){width:32px}.auth-welcome{font-size:13px;color:#dbe7fa;margin:0}.auth-social{display:flex;gap:12px;justify-content:center}.auth-social a{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#ffffff18;border:1px solid #ffffff40;color:white;transition:transform .18s,background .18s}.auth-social a:hover{transform:translateY(-3px);background:#ffffff30}.auth-social svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.auth-social a[aria-label=facebook] svg{fill:currentColor;stroke:none}.auth-content{border-radius:22px;background:white;padding:40px 28px;display:grid;place-items:center;direction:ltr}[dir=rtl] .auth-content{direction:rtl}.auth-content #auth-form{width:100%;max-width:400px;padding:12px;background:none;border:0;box-shadow:none}.auth-content #auth-submit{width:100%;justify-content:center}.auth-content h2{font-size:32px}.auth-content input{min-height:52px;border-radius:12px}.auth-content .auth-footnote{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
[data-section-transition=soft] .section-enter{animation:section-soft .28s ease-out both}[data-section-transition=slide] .section-enter{animation:section-slide .3s ease-out both}@keyframes section-soft{from{opacity:0}to{opacity:1}}@keyframes section-slide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.section-enter{animation:none!important}.auth-social a{transition:none}}@media(max-width:760px){#auth-screen.auth-screen{grid-template-columns:1fr;width:calc(100% - 24px);margin:50px auto 20px;padding:12px;min-height:0}.auth-intro{padding:28px 20px;gap:18px}.auth-brand img{width:125px;height:125px}.auth-intro .auth-names h1{font-size:26px}.auth-intro .auth-association{font-size:18px}.auth-content{padding:24px 14px}.auth-content #auth-form{padding:8px}.auth-welcome{font-size:12px}}
#auth-screen.auth-screen{min-height:620px;margin-block:32px}.auth-intro .auth-names .auth-association{font-size:20px;line-height:1.65}.auth-intro .auth-names h1{font-size:30px}.auth-brand img{width:170px;height:170px}.auth-intro{gap:18px}@media(max-width:760px){#auth-screen.auth-screen{margin-block:24px;min-height:0}.auth-brand img{width:125px;height:125px}.auth-intro .auth-names h1{font-size:26px}.auth-intro .auth-names .auth-association{font-size:18px}}

.championship-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.championship-stats .stat-card{min-width:0}.championship-stats strong{overflow-wrap:anywhere}@media(max-width:1200px){.championship-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.championship-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.championship-stats{grid-template-columns:1fr}}

/* One entrance per render; hover motion stays brief and deliberate. */
.championship-stats .stat-card:nth-child(1){--stat-delay:0ms}.championship-stats .stat-card:nth-child(2){--stat-delay:70ms}.championship-stats .stat-card:nth-child(3){--stat-delay:140ms}.championship-stats .stat-card:nth-child(4){--stat-delay:210ms}.championship-stats .stat-card:nth-child(5){--stat-delay:280ms}
.championship-stats .stat-icon{width:46px;height:46px;border-radius:15px;flex-shrink:0}.championship-stats .stat-card:nth-child(4) .stat-icon{background:#eaf8f5;color:#237466!important}.championship-stats .stat-card:nth-child(5) .stat-icon{background:#f1edfc;color:#69529a!important}
[data-section-transition]:not([data-section-transition=none]) .section-enter .championship-stats .stat-icon svg{animation:stat-icon-arrive .65s cubic-bezier(.22,1,.36,1) var(--stat-delay) backwards;transform-origin:center}
@keyframes stat-icon-arrive{0%{opacity:0;transform:translateY(9px) scale(.65) rotate(-14deg)}65%{opacity:1;transform:translateY(-2px) scale(1.08) rotate(3deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#page-content .championship-stats .stat-card:hover .stat-icon{transform:translateY(-3px) rotate(-5deg);box-shadow:0 6px 14px #183c8314}.championship-stats .stat-card:hover .stat-icon svg{animation:stat-icon-hover .38s ease-out}@keyframes stat-icon-hover{0%{transform:scale(1)}50%{transform:scale(1.16)}100%{transform:scale(1)}}}
@media(max-width:650px){.championship-stats .stat-icon{display:flex!important;width:38px;height:38px;align-items:center;justify-content:center}.championship-stats .stat-card>div{width:calc(100% - 52px)}.championship-stats .stat-card{gap:14px}}
@media(prefers-reduced-motion:reduce){.championship-stats .stat-icon svg{animation:none!important}.championship-stats .stat-icon{transition:none!important;transform:none!important}}

.rounds-grid .round-tile{--round-delay:0ms}.rounds-grid .round-tile:nth-child(2){--round-delay:65ms}.rounds-grid .round-tile:nth-child(3){--round-delay:130ms}.rounds-grid .round-tile:nth-child(4){--round-delay:195ms}.rounds-grid .round-tile:nth-child(5){--round-delay:260ms}.rounds-grid .round-tile:nth-child(n+6){--round-delay:325ms}
[data-section-transition]:not([data-section-transition=none]) .section-enter .round-tile{animation:round-card-arrive .5s cubic-bezier(.22,1,.36,1) var(--round-delay) backwards}@keyframes round-card-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#page-content .round-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #183c8318}.round-card:hover .round-number{transform:scale(1.06)}.round-number{transition:transform .2s ease}}
@media(prefers-reduced-motion:reduce){.rounds-grid .round-tile{animation:none!important}.round-card:hover{transform:none!important}.round-number{transition:none!important}}

.catch-analysis{margin-top:32px}.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.catch-chart h3{margin-top:0}.catch-bar-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(100px,2fr) auto;gap:14px;align-items:center;margin:14px 0}.catch-bar-row>span{overflow-wrap:anywhere}.catch-bar-row meter{width:100%;height:20px;accent-color:var(--blue)}@media(max-width:700px){.analysis-grid{grid-template-columns:1fr}.catch-bar-row{grid-template-columns:1fr auto}.catch-bar-row meter{grid-row:2;grid-column:1/-1}}

.image-editor{width:min(620px,calc(100vw - 28px));max-height:94dvh;overflow:auto;border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--paper);color:var(--ink)}.image-editor::backdrop{background:#102448aa;backdrop-filter:blur(6px)}.image-editor header{display:flex;justify-content:space-between;align-items:center;gap:14px}.image-editor h2{font-size:23px;margin:0}.image-editor canvas{display:block;width:auto;max-width:100%;height:min(38vh,320px);margin:20px auto;border-radius:14px;border:1px solid var(--line);touch-action:none;cursor:grab}.image-editor canvas:active{cursor:grabbing}.image-editor input[type=range]{width:100%;accent-color:var(--blue);padding:0;min-height:30px}.image-editor label{display:block;margin-block:12px}.image-editor output{float:inline-end}.image-preview{flex-wrap:wrap}@media(max-width:600px){.image-editor{padding:18px}.image-editor .panel-actions{flex-wrap:wrap}}

/* Compact competition workspace and matching member gallery. */
.championship-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.championship-actions .button{min-height:44px;padding:10px 18px}.management-toolbar{padding:12px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,#fff,var(--paper));margin-bottom:16px}.management-toolbar .delete{margin-inline-start:0;order:4}.management-toolbar .button{min-height:42px;padding:9px 16px}.topbar{min-height:76px;padding-block:12px}.event-hero{background:linear-gradient(120deg,var(--blue),#183c83 70%,#3856a5)}.button.primary{background:linear-gradient(135deg,var(--red,#bc1d08),#bc1d08)}.settings-guide{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:16px;border-radius:16px;background:linear-gradient(120deg,#eaf0fc,#fff);margin-bottom:20px}.settings-guide span{font-size:13px;color:var(--muted)}#identity-form,#appearance-form,.column-form{scroll-margin-top:80px}#appearance-form>h2,#identity-form>h2{border-inline-start:4px solid var(--blue);padding-inline-start:12px}.sidebar-settings{padding:18px;border-radius:14px;background:var(--paper);margin-block:20px}.appearance-colors{padding:16px;border:1px solid var(--line);border-radius:14px}.view-switch{display:flex;border:1px solid var(--line);border-radius:12px;padding:4px;gap:4px}.view-switch button[aria-pressed=true]{background:var(--blue);color:white;border-radius:9px}.member-layout.cards{overflow:visible}.member-layout.cards table{display:block;min-width:0}.member-layout.cards thead{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.member-layout.cards tbody{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;padding:16px}.member-layout.cards tr{position:relative;display:flex;flex-direction:column;text-align:center;align-items:stretch;border:1px solid var(--line);border-radius:18px;padding:20px 14px;background:linear-gradient(145deg,#fff,#edf2fc);box-shadow:0 5px 18px #183c8308;transition:transform .22s,box-shadow .22s}.member-layout.cards tr:hover{transform:translateY(-4px);box-shadow:0 12px 24px #183c831a}.member-layout.cards tr[hidden]{display:none}.member-layout.cards td{display:block;border:0;padding:8px;white-space:normal;overflow-wrap:anywhere}.member-layout.cards .participant-identity{display:flex;flex-direction:column;gap:14px;min-width:0;white-space:normal}.member-layout.cards .participant-avatar{width:140px;height:168px;border-radius:16px;object-fit:cover;font-size:36px}.member-layout.cards input[data-bulk-member]{position:absolute;inset-inline-start:14px;top:14px}.member-layout.cards td:last-child{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin-top:auto}.championship-stats .stat-card strong{font-size:clamp(25px,2.2vw,36px);overflow-wrap:anywhere}.championship-stats .stat-icon{background:linear-gradient(135deg,#eef3ff,#dae5fb);color:var(--blue)}.championship-stats .stat-card:nth-child(3) .stat-icon{background:linear-gradient(135deg,#fff3ef,#f9d9d5);color:#bc1d08}.championship-stats .stat-card:nth-child(2) .stat-icon{background:linear-gradient(135deg,#fff9e9,#f9e6bc);color:#855b10}
@keyframes stat-icon-arrive{0%{opacity:0;transform:translateY(12px) scale(.8)}60%{opacity:1;transform:translateY(-3px) scale(1.05)}100%{opacity:1;transform:none}}
@media(max-width:760px){.championship-actions{flex-wrap:wrap}.management-toolbar{gap:8px}.member-layout.cards tbody{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));padding:8px}.members-panel .list-toolbar{flex-wrap:wrap}.settings-guide{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.member-layout.cards tr{transition:none}.member-layout.cards tr:hover{transform:none}}

.championship-stats .stat-card strong{font-size:clamp(20px,1.8vw,32px);white-space:nowrap;overflow-wrap:normal}.championship-stats .stat-card:nth-child(4) .stat-icon,.championship-stats .stat-card:nth-child(5) .stat-icon{color:var(--blue)!important;background:linear-gradient(135deg,#eef3ff,#dae5fb)}

.member-sort-label{display:flex;align-items:center;gap:8px;font-size:13px;margin:0}.member-sort-label select{width:auto;max-width:250px}.members-panel .list-toolbar{flex-wrap:wrap}@media(max-width:520px){.member-sort-label{width:100%;flex-wrap:wrap}.member-sort-label select{width:100%;max-width:none}}

/* One compact header: championship selector, language and account controls. */
.topbar{min-height:60px;padding:8px 28px;flex-direction:row;align-items:center;gap:12px}.topbar .header-season,.topbar #header-championship{display:none}.topbar .breadcrumb{margin:0;font-size:14px}.topbar-actions{gap:12px;align-items:center;flex-wrap:nowrap}.topbar .language-switch{position:static;min-height:0;border:0;padding:0;background:transparent;gap:2px}.topbar .language-switch button{min-height:34px;padding:4px 9px}.topbar .season-picker{max-width:300px;margin:0}.topbar .season-picker select{min-height:40px;padding-block:7px}.account-menu{position:relative;flex-shrink:0}.account-menu summary{display:flex;justify-content:center;align-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;cursor:pointer;color:var(--blue);background:linear-gradient(135deg,#fff,#e4ecfb);list-style:none;transition:box-shadow .2s,background .2s}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.account-menu[open] summary,.account-menu summary:hover{box-shadow:0 4px 14px #183c8326}.account-menu summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.account-menu-panel{position:absolute;inset-inline-end:0;top:calc(100% + 10px);z-index:100;width:min(280px,calc(100vw - 32px));padding:16px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 14px 42px #16274129;display:flex;flex-direction:column;gap:6px}.account-menu-panel strong{overflow-wrap:anywhere}.account-menu-panel small{color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:4px}.account-menu-panel .table-button,.account-menu-panel .logout-button{width:100%;text-align:start;padding:10px 12px;min-height:40px;border-radius:9px;margin:0}.account-menu-panel button:hover{background:var(--paper)}.account-menu-panel .logout-button{color:var(--red)}.sidebar{top:0;height:100dvh}main{padding-top:20px}.event-hero{margin-bottom:14px}.management-toolbar{margin-bottom:18px}.topbar:has(.account-menu[open]){z-index:80;position:relative}
@media(max-width:760px){.topbar{padding:8px 16px;flex-wrap:wrap;gap:6px}.topbar .header-identity{display:none}.topbar-actions{width:100%;justify-content:space-between;gap:8px}.topbar .season-picker{max-width:none;min-width:0;flex:1}.topbar .season-picker select{font-size:12px;width:100%;text-overflow:ellipsis}.topbar .language-switch button{font-size:11px;padding:4px 5px}.account-menu summary{width:38px;height:38px}main{padding-top:16px}.sidebar{height:auto}}

/* Association palette: deep red, restrained gradients and readable neutral surfaces. */
:root{--blue:#851b24;--red:#a6212d;--green:#851b24;--paper:#f7f4f5;--line:#e9e0e2;--ink:#35252b;--muted:#77666e}
.event-hero,.auth-intro{background:linear-gradient(120deg,color-mix(in srgb,var(--blue) 80%,#250b11),var(--blue) 55%,var(--red));border-color:var(--accent)}
.button{border-radius:12px;min-height:44px;box-shadow:0 2px 6px #35121b0c;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.button.primary{background:linear-gradient(135deg,var(--red),color-mix(in srgb,var(--red) 78%,#330911));border-color:color-mix(in srgb,var(--red) 85%,black);box-shadow:0 4px 12px color-mix(in srgb,var(--red) 16%,transparent)}.button.secondary{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--blue) 3%,white));box-shadow:0 2px 6px #35121b08;border-color:var(--line)}.button:not(:disabled):hover,.button.primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 18px color-mix(in srgb,var(--blue) 14%,transparent)}.button:not(:disabled):active{transform:translateY(0);box-shadow:0 2px 5px #35121b12}.button:disabled{cursor:not-allowed;opacity:.55}
.page-heading,.management-toolbar,.settings-guide{background:linear-gradient(115deg,#fff,color-mix(in srgb,var(--blue) 3%,white));border-color:var(--line)}.panel,.stat-card{box-shadow:0 3px 15px #35121b05}.stat-card{border-radius:16px}.round-card{border-radius:18px;background:linear-gradient(155deg,white,color-mix(in srgb,var(--blue) 2%,white));border-color:var(--line)}.round-tile[data-round-state=approved] .round-card{border-block-start:3px solid var(--blue)}.round-tile[data-round-state=preview] .round-card{border-block-start:3px solid #b98731}.round-number,.sector-chip{background:color-mix(in srgb,var(--blue) 9%,white);color:var(--blue)}.round-card-top{gap:10px}.round-card>p{display:flex;align-items:center;gap:9px}.round-catch-summary strong{font-variant-numeric:tabular-nums}.round-card-footer{margin-top:auto}.member-layout.cards tr,.board-person,.profile-portrait{background:linear-gradient(145deg,white,color-mix(in srgb,var(--blue) 5%,white))}.member-layout.cards .participant-identity small{display:block;line-height:1.65;margin-top:6px}.championship-stats .stat-icon,.championship-stats .stat-card:nth-child(4) .stat-icon,.championship-stats .stat-card:nth-child(5) .stat-icon{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--blue) 13%,white));color:var(--blue)!important}.account-menu summary{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--blue) 10%,white))}
.more-actions{position:relative;margin-inline-start:auto}.more-actions summary{cursor:pointer;list-style:none;font-size:13px;font-weight:600;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted)}.more-actions summary::-webkit-details-marker{display:none}.more-actions summary:after{content:' ···';font-weight:800}.more-actions>div{position:absolute;z-index:10;inset-inline-end:0;top:calc(100% + 6px);padding:8px;width:240px;max-width:calc(100vw - 50px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #35121b20}.more-actions .delete{width:100%;text-align:start;order:0}
.table-scroll:not(.cards){max-height:70vh;overflow:auto;scrollbar-color:color-mix(in srgb,var(--blue) 20%,white) transparent}.table-scroll thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--blue) 5%,white);border-bottom:1px solid var(--line)}table td{font-variant-numeric:tabular-nums}tbody tr:hover td{background:color-mix(in srgb,var(--blue) 4%,white)}.member-layout.cards tr:hover td{background:transparent}
.appearance-preview{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);margin:20px 0}.appearance-preview canvas{display:block;width:100%;height:auto;border-radius:12px}.appearance-preview h3{margin:0 0 12px}.appearance-preview p{margin-bottom:0;font-size:13px}#appearance-form>h3{margin:24px 0 12px;padding-top:12px;border-top:1px solid var(--line)}.sidebar-settings legend{font-weight:700;color:var(--blue)}
@media(max-width:760px){.more-actions{margin-inline-start:0}.management-toolbar .more-actions{width:100%}.more-actions summary{text-align:center}.appearance-preview{padding:12px}.round-card-top .attendance{font-size:11px}.table-scroll:not(.cards){max-height:65vh}}
@media(prefers-reduced-motion:reduce){.button,.button:hover,.button.primary:hover{transition:none;transform:none}}

.more-actions{order:5}

/* Keep chart labels and values clear of the rounded panel edges. */
.catch-analysis,.analysis-grid,.catch-chart{min-width:0}.catch-chart{padding:24px;box-sizing:border-box}.catch-chart h3{line-height:1.5;overflow-wrap:anywhere;margin-bottom:20px}.catch-bar-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr) max-content;gap:16px}.catch-bar-row>span{min-width:0;white-space:normal;line-height:1.5;overflow-wrap:anywhere}.catch-bar-row meter{min-width:0;max-width:100%;box-sizing:border-box}.catch-bar-row>b{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:end;line-height:1.5}
@media(max-width:700px){.catch-chart{padding:18px}.catch-bar-row{grid-template-columns:minmax(0,1fr) max-content;gap:8px 12px}.catch-bar-row meter{grid-row:2;grid-column:1/-1}.catch-chart h3{font-size:17px}}

.management-toolbar > [data-create-championship]{order:9;margin-left:auto;margin-right:0;flex-grow:0}[dir=rtl] .management-toolbar > [data-create-championship]{order:-1;margin-left:auto;margin-right:0}@media(max-width:760px){.management-toolbar > [data-create-championship]{margin-left:0;margin-right:0;flex-grow:1}}


/* Let the profile frame follow the image rather than stretch across both text rows. */
.profile-hero .profile-portrait{align-self:start;min-height:0;max-height:none;height:auto;width:100%;max-width:280px;justify-self:start}.profile-hero .profile-portrait .participant-avatar.large{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}.profile-hero .profile-portrait .initials{display:flex;min-height:220px;align-items:center;justify-content:center}
@media(max-width:760px){.profile-hero .profile-portrait{max-width:240px;justify-self:center;min-height:0;max-height:none}.profile-hero .profile-portrait .participant-avatar.large{min-height:0;max-height:none;height:auto}}

/* Compact profile: photo, identity and contacts share one row on wide screens. */
.profile-hero.profile-overview{grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(220px,300px);align-items:start;gap:24px;padding:24px}.profile-hero .profile-portrait{grid-row:auto;grid-column:1;max-width:240px}.profile-hero .profile-identity{grid-column:2;min-width:0;padding-top:0}.profile-hero .profile-identity>div{min-width:0;width:100%}.profile-hero .profile-identity h2{font-size:clamp(24px,2vw,32px);line-height:1.35;overflow-wrap:anywhere;margin:12px 0}.profile-hero .profile-contacts{grid-column:3;grid-row:1;min-width:0;padding:12px 0 12px 20px;border-block-start:0;border-inline-start:1px solid var(--line)}.profile-hero .profile-contacts p{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:14px 0}.profile-hero .profile-contacts p>span{min-width:0}.profile-hero .profile-contacts b,.profile-hero .profile-contacts a{max-width:100%;overflow-wrap:anywhere}.profile-hero-summary{gap:22px;margin-top:18px}
@media(max-width:1200px){.profile-hero.profile-overview{grid-template-columns:minmax(170px,220px) minmax(0,1fr)}.profile-hero .profile-contacts{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px;border-inline-start:0;border-block-start:1px solid var(--line);padding:16px 0 0}.profile-hero .profile-contacts h3{grid-column:1/-1;margin:0}.profile-hero .profile-contacts p{margin:0}}
@media(max-width:760px){.profile-hero.profile-overview{grid-template-columns:1fr;gap:18px;padding:20px}.profile-hero .profile-portrait,.profile-hero .profile-identity,.profile-hero .profile-contacts{grid-column:1;grid-row:auto}.profile-hero .profile-contacts{grid-template-columns:1fr}.profile-hero .profile-identity h2{font-size:26px}.profile-hero .profile-contacts p{flex-direction:row;flex-wrap:wrap;gap:8px 16px}.profile-hero .profile-contacts p>span{min-width:80px}}

.profile-hero .profile-portrait{align-self:center;justify-self:center}

.palmares-panel{padding:24px;margin-block:24px}.honour-summary{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.honour-count{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px}.honour-count svg,.honour-medal svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.honour-rank-1{background:#fff4d5;color:#806016}.honour-rank-2{background:#edf0f5;color:#526078}.honour-rank-3{background:#fff0e5;color:#954e25}.honour-rank-0{background:var(--paper);color:var(--blue)}.honour-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.honour-card{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px}.honour-card>div{min-width:0}.honour-card h3{margin:8px 0;overflow-wrap:anywhere;font-size:17px}.honour-card p{margin:0 0 8px;overflow-wrap:anywhere}.honour-card small{display:block;color:var(--muted);overflow-wrap:anywhere}.honour-medal{display:flex;align-items:center;justify-content:center;gap:4px;min-width:52px;height:52px;border-radius:14px;flex-shrink:0}@media(max-width:760px){.palmares-panel{padding:18px}.honour-list{grid-template-columns:1fr}.honour-card{flex-wrap:wrap}.palmares-panel .section-heading{align-items:flex-start}}

/* Career trophies: four balanced cards on desktop, readable on smaller screens. */
.palmares-panel .section-heading{margin-bottom:12px}
.palmares-panel .eyebrow{margin-top:0}
.palmares-panel>.muted{font-size:13px;line-height:1.6;margin:12px 0 20px}
.honour-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.honour-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:22px 16px 18px;background:linear-gradient(155deg,#fff,var(--paper));box-shadow:0 5px 16px #39151b05;border-top:3px solid var(--line);height:100%}
.honour-card:has(.honour-rank-1){border-top-color:#c7a24a}
.honour-card:has(.honour-rank-2){border-top-color:#9caabd}
.honour-card:has(.honour-rank-3){border-top-color:#c88b65}
.honour-medal{width:64px;height:64px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff90,0 4px 10px #35181c08;font-weight:700}
.honour-medal svg{width:30px;height:30px}
.honour-card>div{width:100%}
.honour-card>div:first-of-type{flex:1}
.honour-card h3{font-size:17px;line-height:1.4;margin:10px 0 12px}
.honour-card p{font-size:13px;line-height:1.6;margin-bottom:14px}
.honour-card small{font-size:11px;line-height:1.5}
.honour-card>div:first-of-type>small:last-child{padding-top:10px;border-top:1px solid var(--line)}
.honour-card>div:last-child:has(button){display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
@media(max-width:1050px){.honour-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.honour-list{grid-template-columns:1fr}.honour-card{padding:20px}}

#attendance-form .table-scroll{max-height:85vh;max-height:85dvh}
#attendance-form td{padding-block:8px}
#attendance-form .attendance-select select{min-height:42px;padding-block:7px}
#attendance-form td:first-child{white-space:normal;overflow-wrap:anywhere}
@media(max-width:760px){#attendance-form .table-scroll{max-height:80vh;max-height:80dvh}#attendance-form th,#attendance-form td{padding-inline:12px}#attendance-form .attendance-select{min-width:170px}#attendance-form input[type=checkbox]{min-width:20px;min-height:20px}}

.round-workspace .table-scroll{max-height:85vh;max-height:85dvh}
.round-workspace td{padding-block:8px}
@media(max-width:760px){.round-workspace .table-scroll{max-height:80vh;max-height:80dvh}.round-workspace th,.round-workspace td{padding-inline:12px}}

#page-content .round-workspace .page-heading{padding:16px 20px;margin-bottom:12px;gap:12px;align-items:center}
.round-workspace .page-heading h1{margin-block:4px;font-size:30px}
.round-workspace .page-heading p{margin-block:4px}
.round-workspace .page-heading>div:first-child{flex:1;min-width:0}
.round-workspace .round-tabs{margin-block:0 12px;min-height:0}
.round-workspace .round-tabs a{padding-block:11px}
.round-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;margin-block:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.round-workspace .round-actions .management-toolbar{display:contents}
.round-workspace .round-actions .button{min-height:40px;padding:9px 13px;font-size:13px}
.round-workspace .notice{padding:10px 14px;margin-block:8px;line-height:1.6}
.round-workspace .bulk-toolbar{padding:10px 14px;margin-bottom:8px;gap:10px}
.round-workspace .round-details{padding:12px 16px;gap:16px}
.round-workspace .panel-actions{padding:12px 16px}
.round-workspace .panel{margin-block:12px}
.round-workspace #attendance-form>.search-field{margin:12px 16px 8px}
@media(max-width:760px){#page-content .round-workspace .page-heading{padding:14px;flex-wrap:wrap}.round-workspace .page-heading h1{font-size:25px}.round-actions{padding:10px}.round-workspace .round-actions .button{flex:1 1 140px;white-space:normal}.round-workspace .round-details{gap:10px}}

#page-content .notice{font-size:13px;line-height:1.55;padding:9px 14px}
#page-content .notice:has(+.notice){margin-bottom:0;border-bottom:0;border-end-start-radius:0;border-end-end-radius:0}
#page-content .notice+.notice{margin-top:0;border-top:0;border-start-start-radius:0;border-start-end-radius:0;padding-top:7px;position:relative}
#page-content .notice+.notice:before{content:"";position:absolute;inset-inline:14px;top:0;height:1px;background:color-mix(in srgb,var(--blue) 10%,transparent)}

#page-content .notice p{margin-block:3px}
#page-content .notice ul,#page-content .notice ol{margin-block:5px;padding-inline-start:22px}
#page-content .notice li+li{margin-top:3px}
#edit-dialog .result-rule{padding:10px 14px;margin-block:0 14px;font-size:13px;line-height:1.55}
#dialog-error:not(:empty){padding:9px 12px;margin-block:10px;font-size:13px;line-height:1.55;border-radius:8px}
/* Compact review surfaces: preserve labels, touch targets and responsive scrolling. */
#page-content .page-heading{padding:16px 20px;margin-bottom:12px;gap:12px}
#page-content .page-heading h1{font-size:28px;margin:5px 0}
#page-content .page-heading p{margin:4px 0;line-height:1.5}
#page-content .panel-heading,#page-content .list-toolbar{padding:12px 16px;gap:10px}
#page-content .panel-heading h2{font-size:18px;margin:0}
#page-content .management-toolbar,#page-content .section-heading{margin-bottom:12px;gap:10px}
#page-content .notice{padding:7px 12px;margin-block:6px;font-size:12px;line-height:1.5}
#page-content .table-scroll td{padding-block:6px;font-size:13px}
#page-content .table-scroll th{padding-block:9px;font-size:12px}
#page-content .table-scroll .participant-avatar{width:32px;height:32px;font-size:11px}
#page-content .table-scroll .participant-identity{gap:8px}
#attendance-form .name-cell{display:flex;align-items:center;gap:8px}
#attendance-form .attendance-select select{min-height:36px;padding:6px 10px}
#page-content .member-layout.cards tbody{gap:10px;padding:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
#page-content .member-layout.cards tr{padding:12px 10px}
#page-content .member-layout.cards td{padding:4px}
#page-content .member-layout.cards .participant-avatar{width:68px;height:82px;border-radius:10px;font-size:24px}
#page-content .member-layout.cards .participant-identity{gap:7px}
#page-content .stat-card{padding:16px;min-height:0}
#page-content .stat-card strong{font-size:28px}
#page-content .champion-card{padding:16px;min-height:170px}
#page-content .champion-photo .participant-avatar.large{width:80px;height:110px}
#page-content .champion-photo{flex-basis:80px}
#page-content .champion-info h2{font-size:17px;margin:8px 0}
#page-content .champion-info strong{font-size:24px}
#page-content .board-person{padding:14px}
.fish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:12px 16px}
.fish-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;grid-template-columns:85px 1fr;gap:12px;align-items:center;background:var(--paper)}
.fish-card img,.fish-placeholder{width:85px;height:75px;object-fit:contain;background:white;border-radius:8px}
.fish-placeholder{display:grid;place-items:center;color:var(--muted)}.fish-placeholder svg{width:36px;height:36px}
.fish-card h3,.fish-card p{margin:3px 0;overflow-wrap:anywhere}.fish-card h3{font-size:17px}.fish-card p{font-size:13px;color:var(--muted)}.fish-card strong{color:var(--blue);font-size:20px}.fish-card small{font-size:11px}.fish-card>button{grid-column:2;justify-self:start}
.draw-show.draw-expanded,.draw-show:fullscreen{padding:12px;display:flex;flex-direction:column;gap:8px}
.draw-show.draw-expanded .draw-reveal,.draw-show:fullscreen .draw-reveal{flex:1;min-height:0;margin:0;padding:10px;overflow:auto}
.draw-show.draw-expanded .draw-show-controls,.draw-show:fullscreen .draw-show-controls{margin:4px 0;gap:8px}
.draw-show.draw-expanded .draw-sector-board,.draw-show:fullscreen .draw-sector-board{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.draw-show.draw-expanded .draw-sector-column,.draw-show:fullscreen .draw-sector-column{padding:12px}
.draw-show.draw-expanded .draw-show-list,.draw-show:fullscreen .draw-show-list{max-height:35dvh}
@media(max-width:600px){#page-content .page-heading{padding:12px}#page-content .page-heading h1{font-size:24px}.fish-grid{grid-template-columns:1fr;padding:10px}.draw-show.draw-expanded .draw-sector-board,.draw-show:fullscreen .draw-sector-board{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}#page-content .table-scroll td{padding-inline:10px}}
.attendance-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 14px;background:var(--paper)}
.attendance-controls>.search-field{flex:1 1 220px;max-width:320px;margin:0}
#page-content .attendance-controls>.bulk-toolbar{flex:2 1 540px;padding:0;margin:0;gap:8px}
#attendance-form .attendance-controls input[type=search],#attendance-form .attendance-controls select,#attendance-form .round-details input{min-height:36px;padding:7px 10px}
#attendance-form .attendance-controls .button{min-height:36px;padding:7px 12px}
#attendance-form .round-details{padding:10px 14px}
@media(max-width:760px){.attendance-controls>.search-field{max-width:none}.attendance-controls>.bulk-toolbar{font-size:12px}}
/* Attendance shares the participant card/list presentation without rerendering unsaved inputs. */
#attendance-form .attendance-layout.cards .name-cell{display:block}
#attendance-form .attendance-layout.cards input[data-bulk-attendance]{position:absolute;inset-inline-start:14px;top:14px}
#attendance-form .attendance-layout.cards .attendance-select{width:100%;margin:0}
#attendance-form .attendance-layout.cards td:last-child{display:block;margin-top:auto}
#attendance-form .attendance-layout.cards .attendance-select select{width:100%;max-width:none}
#attendance-form .attendance-layout.cards{max-height:none;overflow:visible}
#attendance-form .attendance-layout.cards tr[hidden]{display:none}
/* Override the list-only minimum width inside narrower attendance cards. */
#attendance-form .attendance-layout.cards tr,#attendance-form .attendance-layout.cards td{min-width:0}
#attendance-form .attendance-layout.cards .attendance-select{display:block;min-width:0;max-width:100%;width:100%;box-sizing:border-box}
#attendance-form .attendance-layout.cards .attendance-select select{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
/* Participant registration cards: restore original portrait size and five desktop columns. */
#page-content #member-layout.cards tbody{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#page-content #member-layout.cards .participant-avatar{width:140px;height:168px;max-width:100%;border-radius:16px;font-size:36px}
@media(max-width:1400px){#page-content #member-layout.cards tbody{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){#page-content #member-layout.cards tbody{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#page-content #member-layout.cards tbody{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){#page-content #member-layout.cards tbody{grid-template-columns:minmax(0,1fr)}}
/* Compact member-card metadata and action spacing, keeping restored portraits. */
#page-content #member-layout.cards tr{padding:12px 10px}
#page-content #member-layout.cards td:not(.name-cell){padding:3px 4px}
#page-content #member-layout.cards td:last-child{margin-top:4px;gap:2px 6px;align-items:center}
#page-content #member-layout.cards td:last-child .table-button{padding:5px 7px;min-height:30px;margin:0;font-size:12px}
#page-content #member-layout.cards td .attendance{padding:4px 9px;margin:0}
#page-content #member-layout.cards .participant-identity small{margin-top:3px;line-height:1.4}
/* Compact round tiles and individual podium cards. */
#page-content .rounds-grid{gap:14px}
#page-content .round-card{padding:16px;gap:8px}
#page-content .round-card h2{margin:9px 0 5px;font-size:20px}
#page-content .round-card>p{margin:3px 0;font-size:12px;line-height:1.45}
#page-content .round-catch-summary{margin-block:8px;padding-block:8px;gap:12px}
#page-content .round-podium-summary{margin-top:8px;padding-top:8px}
#page-content .round-podium-summary ol{margin:6px 0 0;gap:5px}
#page-content .round-podium-summary li{padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--paper);gap:8px;min-height:36px}
#page-content .round-podium-summary .participant-avatar{width:26px;height:26px}
#page-content .round-podium-name{font-size:11px;line-height:1.35}
#page-content .round-podium-pending{margin-top:8px;padding-top:8px}
#page-content .round-podium-summary+.round-card-footer,#page-content .round-podium-pending+.round-card-footer{margin-top:8px}
#page-content .round-card-footer{padding-top:9px;gap:8px;font-size:11px}
#page-content .round-card-footer>span:last-child{padding:8px 12px;min-height:34px;font-size:12px}
.sidebar-toggle{width:40px;height:40px;border-radius:50%;border-color:#ffffff70;background:#ffffff18;transition:background .2s,transform .2s,box-shadow .2s}.sidebar-toggle:hover{background:#ffffff30;transform:translateX(-2px);box-shadow:0 3px 12px #0002}.sidebar-toggle:focus-visible{outline:3px solid #fff;outline-offset:3px}.fish-card{display:flex;flex-direction:column;align-items:stretch;gap:10px}.fish-card>img,.fish-card>.fish-placeholder{width:100%;height:170px;object-fit:contain}.fish-card>div:not(.fish-placeholder){width:100%;text-align:center}.fish-card h3{margin:0 0 4px}.fish-card p{margin:0 0 8px}.fish-card-prohibited{border-color:#c4363d;background:#fff4f4}.fish-card-prohibited strong{color:#a10d1b}

/* Compact account directory and independently configurable table colours. */
.accounts-panel{padding:0;overflow:visible}.accounts-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.accounts-toolbar label{min-width:min(100%,320px);font-weight:600}.accounts-toolbar input{margin-top:5px}.accounts-panel .table-scroll{max-height:70vh}.accounts-table{width:100%;border-collapse:collapse}.accounts-table th,.accounts-table td{padding:10px 14px;text-align:start;border-bottom:1px solid var(--line)}.accounts-table th{background:var(--table-header-color,#f6edef)}.accounts-table tbody tr:nth-child(even) td{background:var(--table-stripe-color,#faf6f7)}.accounts-table [hidden]{display:none}.account-identity{display:flex;align-items:center;gap:10px;min-width:0}.account-identity .avatar{width:36px;height:36px;flex:0 0 36px;font-size:12px}.account-identity b,.account-identity small{display:block;overflow-wrap:anywhere}.account-identity small{color:var(--muted);font-size:12px}.account-actions{position:relative}.account-actions summary{cursor:pointer;color:var(--blue);font-weight:700;white-space:nowrap}.account-actions>div{position:absolute;z-index:5;right:0;min-width:230px;padding:8px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #0002;display:grid;gap:3px}.account-actions .table-button{text-align:start}.accounts-panel #account-empty{padding:18px}.settings-guide{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:white}.settings-guide .table-button{padding:9px 12px;background:var(--paper);border-radius:8px}.settings-guide span{width:100%;font-size:12px;color:var(--muted)}#identity-form,#appearance-form,#round-columns,#season-columns,#custom-fields{scroll-margin-top:22px}.appearance-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.appearance-colors label{min-width:0}.appearance-colors input[type=color]{width:100%;height:44px}.draw-sector-row>td{border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.draw-sector-row:nth-child(even)>td{background:color-mix(in srgb,var(--sector-tint) 90%,white)}.table-scroll thead th{background:var(--table-header-color,#f6edef)}body[data-table-style=striped] tbody tr:nth-child(even) td{background:var(--table-stripe-color,#faf6f7)}.draw-sector-row:hover>td{background:color-mix(in srgb,var(--sector-tint) 75%,white)}
@media(max-width:760px){.accounts-toolbar{align-items:stretch;flex-direction:column}.accounts-table{min-width:600px}.account-actions>div{right:auto;left:0}}
.account-actions>div{position:static;box-shadow:none;margin-top:6px;min-width:0}
body[data-table-style=striped] .draw-sector-row:nth-child(even)>td{background:color-mix(in srgb,var(--sector-tint) 90%,white)}

/* Phone navigation and result summaries. Desktop keeps the existing layout. */
.mobile-bottom-nav,.mobile-menu-backdrop,.round-step-picker,.mobile-only-cell{display:none}
@media(max-width:760px){
  body:has(#application:not([hidden])){padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .mobile-bottom-nav{position:fixed;z-index:110;inset-inline:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:64px;padding:5px 6px calc(5px + env(safe-area-inset-bottom));background:var(--paper,#fff);border-top:1px solid var(--line);box-shadow:0 -5px 24px #102a5218}
  .mobile-bottom-nav a,.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:52px;padding:4px 2px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:11px;font-weight:650;text-decoration:none;text-align:center;cursor:pointer}
  .mobile-bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
  .mobile-bottom-nav .active,.mobile-bottom-nav [aria-expanded=true]{color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,white)}
  .mobile-bottom-nav :focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
  .mobile-menu-backdrop:not([hidden]){display:block;position:fixed;z-index:108;inset:0;background:#07183188}
  .sidebar nav#sidebar-navigation{display:none!important}
  body.mobile-menu-open .sidebar nav#sidebar-navigation{display:flex!important;position:fixed;z-index:109;inset:auto 10px calc(70px + env(safe-area-inset-bottom));max-height:min(70dvh,620px);flex-direction:column;align-items:stretch;overflow-y:auto;overflow-x:hidden;gap:4px;padding:16px;background:var(--sidebar-color);border:1px solid #ffffff38;border-radius:18px;box-shadow:0 16px 48px #07183155}
  body.mobile-menu-open .sidebar nav#sidebar-navigation a{width:100%;min-height:48px!important;white-space:normal;font-size:14px!important}
  body.mobile-menu-open .sidebar nav#sidebar-navigation .sidebar-group-label{display:block!important;color:var(--sidebar-muted);padding:12px 10px 4px}
  body.mobile-menu-open .sidebar nav#sidebar-navigation [hidden]{display:none!important}
  .sidebar{padding-bottom:10px!important}
  .topbar{padding-block:10px!important;gap:8px!important}.header-season{display:none}.header-identity>strong{font-size:14px!important;line-height:1.3}.breadcrumb{font-size:12px}
  .round-workspace .round-tabs{display:block;padding:10px!important}.round-workspace .round-tabs a{display:none}.round-step-picker{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--muted)}.round-step-picker select{width:100%;min-height:46px;font-size:15px}
  #page-content .result-table:not(.entry-table){display:block;min-width:0;width:100%}
  #page-content .result-table:not(.entry-table) thead{display:none}
  #page-content .result-table:not(.entry-table) tbody{display:grid;gap:9px;padding:9px}
  #page-content .result-table:not(.entry-table) tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px 10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:white}
  #page-content .result-table:not(.entry-table) td{display:none;padding:0!important;border:0;background:transparent!important;font-size:14px}
  #page-content .result-table:not(.entry-table) td[data-key=rank],#page-content .result-table:not(.entry-table) td[data-key=name],#page-content .result-table:not(.entry-table) td[data-key=points],#page-content .result-table:not(.entry-table) td.mobile-result-more{display:block}
  #page-content .result-table:not(.entry-table) td[data-key=rank]{grid-column:1;grid-row:1;font-weight:750;color:var(--blue)}
  #page-content .result-table:not(.entry-table) td[data-key=name]{grid-column:2;grid-row:1;min-width:0}
  #page-content .result-table:not(.entry-table) td[data-key=points]{grid-column:3;grid-row:1;text-align:end;font-size:17px;font-weight:750;color:var(--blue)}
  #page-content .result-table:not(.entry-table) td[data-key=points]:before{content:attr(data-label);display:block;font-size:10px;font-weight:500;color:var(--muted)}
  #page-content .result-table:not(.entry-table) td.mobile-result-more{grid-column:1/-1;grid-row:2;text-align:end}
  #page-content .result-table:not(.entry-table) td.mobile-result-more button{min-height:36px;padding:5px 10px}
  #page-content .result-table:not(.entry-table) tr.mobile-expanded td:not(.mobile-result-more){display:block}
  #page-content .result-table:not(.entry-table) tr.mobile-expanded td:not([data-key=rank]):not([data-key=name]):not([data-key=points]){grid-column:1/-1;grid-row:auto;display:flex;justify-content:space-between;gap:12px;padding:6px 0!important;border-top:1px solid var(--line);text-align:end}
  #page-content .result-table:not(.entry-table) tr.mobile-expanded td:not([data-key=rank]):not([data-key=name]):not([data-key=points]):before{content:attr(data-label);font-size:12px;color:var(--muted);text-align:start}
  .sector-results .table-scroll,.round-workspace .table-scroll:has(.result-table:not(.entry-table)){max-height:none!important;overflow:visible}
  #page-content #member-layout.cards .participant-avatar{width:min(120px,100%);height:140px}
  #page-content #member-layout.cards td:last-child .table-button{min-height:40px}
}
@media(min-width:430px) and (max-width:760px){#page-content #member-layout.cards tbody{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body:has(#application[hidden]) .mobile-bottom-nav{display:none}body[data-sidebar-style=light].mobile-menu-open .sidebar nav#sidebar-navigation{background:#fff;border-color:var(--line)}.mobile-menu-open .sidebar nav#sidebar-navigation .sidebar-group-label[hidden]{display:none!important}}
