:root{color-scheme:light;--ink:#14233a;--muted:#536078;--line:#dce1e9;--paper:#f2f4f7;--white:#fff;--dark:#142641;--deep:#101d35;--accent:#ffab5e;--navy:#233e64;--warm:#ffedd8;font-family:"Trebuchet MS", "Segoe UI", Arial, sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px}a{color:var(--navy)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.56;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b85b0c;outline-offset:2px}h1,h2,h3,p{margin:0}p{line-height:1.55}small{font-size:12px}
.shell{min-height:100vh;display:grid;grid-template-columns:242px minmax(0,1fr)}aside{background:var(--deep);color:#fff;min-height:100vh;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;padding:20px 18px 20px}.sidebar-brand{display:grid;justify-items:center;gap:10px;padding:0 4px 16px}.brand{display:grid;justify-items:center;gap:7px;color:#fff;text-decoration:none;font-weight:750;font-size:17px;text-align:center}.brand img,.brand-partners img{display:block;width:104px;height:104px;object-fit:contain}.brand-partners{display:flex;align-items:center;justify-content:center;gap:14px}.brand-partners a{display:block;border-radius:50%;transition:opacity .15s}.brand-partners a:hover{opacity:.8}.brand-partners img{width:46px;height:46px}nav{display:grid;gap:4px}nav a{display:flex;align-items:center;gap:11px;color:#d6deeb;text-decoration:none;padding:11px 10px;border-radius:8px;font-size:13px}nav a:hover{background:#203450}nav a[aria-current=page]{background:#304768;color:#ffc387;font-weight:750}nav svg,.icon svg{width:18px;height:18px;flex:none}
.workspace{min-width:0}main{max-width:1470px;margin:auto;padding:28px clamp(19px,4vw,54px) 45px}.hero{position:relative;overflow:hidden;background:var(--dark);color:white;border-radius:17px;padding:30px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:190px}.hero:after{
  content:"";
  position:absolute;
  width:445px;
  height:445px;
  right:-90px;
  top:-110px;
  border-radius:50%;
  /* Outer diameters are in the ratio 1:7:9. */
  background:radial-gradient(circle closest-side,
    transparent calc(11.1111% - 1.5px),#f39b52 calc(11.1111% - 1px) calc(11.1111% - .5px),
    transparent 11.1111% calc(77.7778% - 1.5px),#bd703e calc(77.7778% - 1px) calc(77.7778% - .5px),
    transparent 77.7778% calc(100% - 2.5px),#e28b4c calc(100% - 2px) calc(100% - .5px),
    transparent 100%);
  pointer-events:none;
  opacity:.7
}.hero>div{position:relative;z-index:1}.eyebrow{color:#ffc18a;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px}.hero h1{font-size:clamp(26px,4vw,46px);letter-spacing:-.045em;line-height:1.08}.hero p{color:#e0e6f1;margin:12px 0 0;max-width:590px}.hero .actions{margin-top:19px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:7px 0 19px}.section-head h1{font-size:clamp(25px,3vw,39px);letter-spacing:-.04em}.section-head p{color:var(--muted);margin-top:6px}.section-head .eyebrow{color:var(--navy);margin:0 0 5px}.actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primary,.secondary,.plain,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:8px;padding:9px 13px;font-weight:740;text-decoration:none;min-height:37px;line-height:1.25}.primary{background:#25416a;color:white}.hero .primary{background:var(--accent);color:var(--deep)}.primary:hover{filter:brightness(.93)}.secondary{background:white;color:var(--ink);border-color:var(--line)}.secondary:hover,.plain:hover{background:#eff2f7}.plain,.link-button{color:var(--navy);background:transparent;padding:7px 9px}.link-button{border-color:var(--line)}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:17px 0 21px}.metric{display:block;text-decoration:none;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:15px;min-height:104px}.metric:hover{border-color:#889bb6}.metric b{display:block;font-size:30px;line-height:1.1;letter-spacing:-.05em;margin:8px 0 4px}.metric span{color:var(--muted);font-size:12px}.icon{color:var(--navy)}.cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px}.panel,.record,.filters{background:white;border:1px solid var(--line);border-radius:12px}.panel{padding:16px 18px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px}.panel h2{font-size:17px;letter-spacing:-.015em}.mini{display:grid;gap:4px;padding:11px 0;border-top:1px solid var(--line)}.mini p,.meta,.hint{color:var(--muted);font-size:12px}.mini a{font-weight:700}.tag{display:inline-flex;max-width:100%;width:max-content;padding:3px 8px;border-radius:99px;background:#e9edf4;color:#233754;font-size:11px;font-weight:750}.tag.good{background:#e4ebf8;color:#243d63}.tag.warn{background:var(--warm);color:#68350c}.notice{background:#e9edf4;border-radius:9px;padding:11px 13px;margin:0 0 14px;color:#314766}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:13px;margin-bottom:12px}.filter-search{grid-column:span 2}.filter-footer{display:flex;align-items:end}.fields label,.filters label,.planner label{display:grid;gap:5px;font-weight:700;font-size:12px;align-content:start}input,select,textarea{border:1px solid #cdd4df;border-radius:7px;background:#fff;padding:8px 9px;width:100%;color:var(--ink);min-height:36px}textarea{min-height:84px;resize:vertical}.results{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:13px 0;color:var(--muted)}.records{display:grid;gap:10px}.record{padding:15px 17px;display:grid;gap:8px;overflow-wrap:anywhere}.record h3{font-size:17px;line-height:1.3}.record .row-actions{margin-top:2px}.record .tags{display:flex;flex-wrap:wrap;gap:6px}.record p{white-space:pre-wrap}.record .meta{white-space:normal}.record .record-fact{border-left:2px solid #e18330;padding-left:9px}.record .record-note{border-left:2px solid #e3a05a;padding-left:9px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.planner{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:9px 0 16px}.error{color:#a02a20;margin:8px 0}.empty{padding:22px 15px;text-align:center;color:var(--muted)}.wide{grid-column:1/-1}dialog{width:min(670px,calc(100vw - 24px));max-height:90vh;padding:0;border:1px solid var(--line);border-radius:15px;box-shadow:0 12px 65px #101d3550;color:var(--ink)}dialog::backdrop{background:#0c172c99}dialog form{padding:20px}.modal-head,.modal-actions{display:flex;justify-content:space-between;gap:8px;align-items:center}.modal-actions{justify-content:flex-end;margin-top:12px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.fields label small{color:var(--muted);font-weight:450}#toast{position:fixed;right:15px;bottom:15px;z-index:3;background:var(--deep);color:#fff;padding:10px 16px;border-radius:8px;max-width:calc(100vw - 30px)}#toast:empty{display:none}
@media(max-width:900px){.shell{grid-template-columns:195px minmax(0,1fr)}aside{padding-inline:10px}.cols{grid-template-columns:1fr}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.hero:after{opacity:.35}}
@media(max-width:650px){.shell{display:block}aside{min-height:0;height:auto;position:static;padding:10px 12px 8px}.sidebar-brand{gap:7px;padding:0 0 8px}.brand{font-size:15px;gap:4px}.brand img{width:90px;height:90px}.brand-partners{gap:16px}.brand-partners img{width:72px;height:72px}main{padding-top:14px}.hero{padding:20px;min-height:0}.metrics,.filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.metric{padding:10px;min-height:86px}.section-head{flex-wrap:wrap}.fields{grid-template-columns:1fr}}
.record:target{border-color:#6880a1}
.referee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}.referee-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;border-top:3px solid var(--accent)}.referee-card-profile{display:flex;align-items:flex-start;gap:12px;width:100%;color:var(--ink);text-decoration:none}.referee-card-profile:hover h3{text-decoration:underline}.referee-directory-link{text-decoration:underline;text-underline-offset:2px}.referee-card:hover{border-color:#9aaac0;border-top-color:#cc6a23;background:#f9fafc}.referee-card h3{margin:0 0 4px}.referee-initials{display:grid;place-items:center;min-width:42px;height:42px;border-radius:10px;background:var(--dark);color:var(--accent);font-weight:800}.referee-detail .panel-title{margin-bottom:7px}.referee-detail p{white-space:pre-wrap;overflow-wrap:anywhere}.referee-detail + .referee-detail{margin-top:12px}.referee-detail .row-actions{margin-top:12px}.breadcrumbs{margin-bottom:14px}.hero .secondary{background:#243a58;color:#fff;border-color:#667c9a}


.referee-photo{display:block;width:42px;height:42px;border-radius:10px;object-fit:cover;background:var(--dark);flex:none}
.referee-summary{display:flex;align-items:center;gap:22px}
.referee-profile-photo .referee-photo,.referee-profile-photo .referee-initials{width:112px;height:112px;border-radius:14px}
.referee-profile-photo .referee-initials{font-size:32px}
.referee-summary dl{display:grid;gap:12px;margin:0}
.referee-summary dt{color:var(--muted);font-size:12px}
.referee-summary dd{margin:3px 0 0;font-weight:700}
.profile-photo-field .hint{margin:4px 0}
.profile-photo-field .remove-photo{display:flex;align-items:center;gap:6px}
.remove-photo input{width:auto}

.training-folders{display:grid;gap:12px}
.training-subsection{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:16px;font-weight:700;text-decoration:none}
.training-subsection svg{width:22px;height:22px;flex:none;color:var(--navy)}
.training-subsection:hover{text-decoration:underline}
.training-folder summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:16px;font-weight:700;list-style:none}
.training-folder summary::-webkit-details-marker{display:none}
.training-folder summary svg{width:22px;height:22px;flex:none;color:var(--navy)}
.training-folder summary .tag{margin-left:auto}
.training-folder summary::after{content:"+";color:var(--navy);min-width:12px;text-align:center}
.training-folder[open] summary::after{content:"−"}
.training-folder .records{margin-top:14px}

.admin-panel{margin-bottom:16px;overflow-wrap:anywhere}
.admin-panel .actions{margin:12px 0}
.admin-form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:16px 0}
.admin-form label{flex:1 1 250px;min-width:0}
.admin-form button{min-height:40px}
.admin-panel #issued-code{width:100%;font-family:monospace}
.access-list{padding:0;margin:14px 0 0;list-style:none}
.access-list li{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 0;border-top:1px solid var(--line)}

.referee-group + .referee-group{margin-top:26px}
.referee-group h2{font-size:20px;line-height:1.25;margin:0 0 10px}
.referee-card-profile > div{min-width:0}
.referee-card .referee-role{display:inline-block;margin-top:4px;border-radius:8px;white-space:normal;overflow-wrap:anywhere}
.breadcrumbs + .section-head > div:first-child{min-width:0;overflow-wrap:anywhere}
.nav-group{display:grid;gap:4px}
.nav-group-heading{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:2px}
.nav-group-heading>a{min-width:0}
.nav-toggle{min-height:32px;width:32px;padding:0;background:transparent;color:#d6deeb}
.nav-toggle:hover,.nav-toggle[aria-expanded=true]{background:#203450;color:#ffc387}
.nav-toggle svg{width:16px;height:16px;transition:transform .15s}
.nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.nav-children{display:grid;gap:4px}
.nav-children[hidden]{display:none}
nav .nav-child{margin-inline-start:14px;padding-inline-start:9px;border-inline-start:1px solid #526782}
aside > nav{border-top:1px solid #344967;padding-top:8px}
.nav-toggle{border:0;border-radius:8px}
.nav-toggle svg{display:block;margin:auto}
.mobile-menu{display:none}
.workspace{display:flex;flex-direction:column}
.workspace > main{width:100%;margin:0 auto}
.workspace-footer{width:100%;max-width:1470px;margin:auto auto 0;padding:16px clamp(19px,4vw,54px) 24px;border-top:1px solid var(--line)}
.workspace-footer a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
@media(max-width:650px){
  .mobile-menu{display:flex;align-items:center;justify-content:space-between;min-height:44px;width:100%;padding:8px 12px;border:1px solid #526782;border-radius:8px;background:#203450;color:#fff;font-weight:750}
  .mobile-menu::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg)}
  .mobile-menu[aria-expanded=true]::after{transform:rotate(225deg)}
  .mobile-menu[aria-expanded=false] + nav{display:none}
  aside > nav{border:0}
  nav a{min-height:44px;overflow-wrap:anywhere}
  .nav-group-heading{grid-template-columns:minmax(0,1fr) 44px}
  .nav-toggle{width:44px;min-height:44px}
}

.handbook-card{display:grid;grid-template-columns:minmax(155px,235px) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,48px);padding:clamp(18px,3vw,38px);background:linear-gradient(122deg,#eef3fa,#fff 70%)}
.handbook-cover{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 12px 24px #1c304535}
.handbook-copy h2{margin:8px 0 14px;font-size:clamp(23px,3.4vw,39px);line-height:1.14;overflow-wrap:anywhere}
.handbook-copy .actions{margin-top:18px}
.handbook-author{margin-top:14px}
.handbook-chapter{max-width:720px;padding:18px clamp(16px,5vw,38px) 38px;background:#fff}
.handbook-chapter nav a{min-height:44px;width:fit-content;color:var(--navy);padding-inline:0;font-weight:700}
.handbook-chapter nav a:hover{background:transparent;text-decoration:underline}
.handbook-chapter article{margin:18px 0 26px;overflow-wrap:break-word}
.handbook-chapter article>p{font-size:clamp(1rem,2.4vw,1.125rem);line-height:1.65;margin:0 0 1em;text-align:justify;hyphens:auto}
.handbook-chapter article .handbook-chapter-label{margin:0 0 5px;color:var(--muted);font-size:14px;font-weight:700}
.handbook-chapter h1{font-size:clamp(28px,6vw,42px);line-height:1.13;margin:0 0 18px}
.handbook-chapter>a,.handbook-card .actions a{min-height:44px}
@media(max-width:480px){
  .handbook-card .actions{display:grid}
  .handbook-card .actions a{width:100%}
}
@media(max-width:760px){.handbook-card{grid-template-columns:minmax(0,1fr);gap:20px}.handbook-cover{width:min(40%,145px);justify-self:start}}

.referee-gender{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}
.referee-gender-icon{display:block;flex:none;width:17px;height:17px;padding:2px;border-radius:50%}
.referee-gender-icon.male{color:#155bb0;background:#e5f0ff}
.referee-gender-icon.female{color:#ac245e;background:#fce7f1}

.referee-contact-list{list-style:none;margin:0;padding:0;max-width:520px}
.referee-contact-list li+li{border-top:1px solid var(--line)}
.referee-contact{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:46px;padding:5px 6px;border-radius:8px;font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.referee-contact:hover{background:#f4f7fb;text-decoration:underline}
.referee-contact-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e9edf4;color:var(--navy)}
.referee-contact-icon svg{width:18px;height:18px}

/* Calendar */
.calendar-page .section-head{margin-bottom:12px}
.calendar-view-buttons,.calendar-quick-filters{margin-bottom:9px}
.calendar-quick-filters{margin-top:9px}
.calendar-view-buttons [aria-pressed="true"],.calendar-quick-filters [aria-pressed="true"]{background:#25416a;color:white}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:14px}
.calendar-month,.calendar-agenda{min-width:0;padding:14px}
.calendar-toolbar .secondary{width:42px;min-height:40px;padding:0;font-size:19px}
.calendar-toolbar h2{text-align:center;font-size:19px}
.calendar-today{display:block;margin:0 auto 8px;padding:5px 10px;border:1px solid #b85b0c;border-radius:7px;background:#fff0e0;color:#773700;font-weight:750}
.calendar-today:hover{background:#ffe3c6}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendar-weekday{padding:4px 0;text-align:center;color:var(--muted);font-size:12px;font-weight:700}
.calendar-day,.calendar-blank{min-width:0;min-height:46px;border-radius:7px}
.calendar-blank{background:var(--paper)}
.calendar-day{display:grid;grid-template-rows:auto 14px;justify-items:center;align-content:center;gap:2px;padding:3px 0;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:700;line-height:1}
.calendar-day:hover{background:#eff3fa}
.calendar-day[aria-current=date]{border-color:#b85b0c;background:#fff0e0;color:#773700}
.calendar-day[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}
.calendar-day[aria-current=date][aria-pressed=true]{box-shadow:inset 0 0 0 2px #ffab5e}
.calendar-day-mark{display:flex;align-items:center;justify-content:center;gap:2px;font-size:10px}
.calendar-day-mark svg,.calendar-legend svg{width:14px;height:14px;flex:none}
.calendar-legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:10px;color:var(--muted);font-size:11px}
.calendar-legend span{display:inline-flex;align-items:center;gap:4px}
.calendar-agenda-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.calendar-agenda-group{margin-top:12px}
.calendar-agenda-group + .calendar-agenda-group{border-top:1px solid var(--line);padding-top:12px}
.calendar-agenda-group h3{margin:0 0 8px;color:var(--navy)}
.calendar-related-events{margin:5px 0 5px 12px;padding-inline-start:8px;border-inline-start:2px solid var(--line)}
.calendar-filter,.calendar-undated,.calendar-sources{font-size:13px;color:var(--navy)}
.calendar-filter{margin-bottom:8px}
.calendar-filter .filters{grid-template-columns:repeat(2,minmax(0,1fr));margin:6px 0;padding:8px;gap:6px}
.calendar-sources{margin-top:12px}
.calendar-sources .actions,.calendar-undated .calendar-event:first-of-type{margin-top:8px}
.calendar-page summary{cursor:pointer;font-weight:700}
.calendar-event{border:1px solid var(--line);border-left:3px solid var(--tournament-accent,var(--line));border-radius:8px;background:#fff;color:var(--ink)}
.calendar-event + .calendar-event{margin-top:5px}
.calendar-event summary{display:grid;grid-template-columns:24px minmax(0,1fr) 15px;align-items:center;gap:7px;min-height:44px;padding:7px 8px;list-style:none}
.calendar-event summary::-webkit-details-marker{display:none}
.calendar-event-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--tournament-background,#eff3fa);color:var(--tournament-accent,var(--navy))}
.calendar-event summary svg{width:15px;height:15px}
.calendar-event[open] summary > svg{transform:rotate(180deg)}
.calendar-event-copy{display:grid;gap:3px;overflow-wrap:anywhere}
.calendar-event-meta{font-size:12px;font-weight:400;color:var(--muted)}
.calendar-event-meta:empty{display:none}
.calendar-event .record{border:0;border-radius:0 0 8px 8px;border-top:1px solid var(--line);padding:9px 11px}
.calendar-event .record h3{display:none}
.calendar-empty{padding:10px 0;color:var(--muted)}
.calendar-undated{margin-top:8px}
.calendar-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:980px){
  .calendar-layout{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:650px){
  .shell:has(.calendar-page) .sidebar-brand{grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:start;gap:8px}
  .shell:has(.calendar-page) .brand{display:flex;align-items:center;text-align:left;font-size:13px;gap:6px}
  .shell:has(.calendar-page) .brand img{width:44px;height:44px;flex:none}
  .shell:has(.calendar-page) .brand-partners{gap:6px}
  .shell:has(.calendar-page) .brand-partners img{width:34px;height:34px}
  .calendar-page{padding-inline:12px;padding-top:9px}
  .calendar-page .section-head{margin:3px 0 9px}
  .calendar-layout{gap:9px}
  .calendar-month,.calendar-agenda{padding:8px}
  .calendar-toolbar{margin-bottom:3px}
  .calendar-toolbar h2{font-size:16px}
  .calendar-toolbar .secondary{width:38px;min-height:36px}
  .calendar-day,.calendar-blank{min-height:34px}
  .calendar-legend{gap:4px 8px;margin-top:7px}
}

.assignment-toolbar,.assignment-officials,.assignment-mats{margin-bottom:14px}
.assignment-toolbar label,.assignment-officials label,.assignment-mat label{display:grid;gap:5px;font-weight:700}
.assignment-toolbar select,.assignment-officials select,.assignment-mat select{min-width:0}
.assignment-officials{display:grid;grid-template-columns:1fr 1fr minmax(100px,.4fr);gap:12px}
.assignment-mats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.assignment-mat{min-width:0;margin:0;display:grid;gap:10px}
.assignment-mat legend{font-weight:800;padding:0 5px}
.assignment-group{display:grid;gap:8px;min-width:0}
.assignment-group+.assignment-group{margin-top:5px;padding-top:10px;border-top:1px solid var(--line)}
.assignment-group h3{font-size:14px}
.assignment-group>button{justify-self:start;text-align:left}
.assignment-ref{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:end}
.assignment-status{min-height:20px;margin-top:8px}
.assignment-status.error{color:#a02a20}
#assignment-print{display:none}
@media(max-width:700px){
  .assignment-officials,.assignment-mats{grid-template-columns:1fr}
}
@media print{
  @page referee-assignments{size:A4 landscape;margin:9mm}
  body.assignments-page{page:referee-assignments;background:#fff;color:#111;font:9pt Arial,sans-serif}
  .assignments-page .shell,.assignments-page .workspace,.assignments-page main{display:block;min-height:0;width:auto;padding:0;margin:0}
  .assignments-page aside,.assignments-page .workspace-footer,.assignments-page #toast,
  .assignments-page main>*:not(#assignment-print){display:none!important}
  .assignments-page #assignment-print{display:block}
  #assignment-print header{text-align:center;margin-bottom:7pt}
  #assignment-print header h1{font-size:16pt;line-height:1.15;margin-bottom:2pt}
  #assignment-print h2{font-size:11pt;margin-top:4pt}
  #assignment-print dl{display:flex;flex-wrap:wrap;justify-content:center;gap:4pt 16pt;margin:0 0 8pt}
  #assignment-print dl div{display:flex;gap:5pt}
  #assignment-print dt{font-weight:bold}
  #assignment-print dd{margin:0}
  #assignment-print .assignment-print-sheet+.assignment-print-sheet{break-before:page}
  #assignment-print .assignment-print-mats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:start;gap:2.5mm}
  #assignment-print table{border-collapse:collapse;width:100%;table-layout:fixed;border:1pt solid #333}
  #assignment-print th,#assignment-print td{border:.6pt solid #777;padding:2pt 3pt;text-align:left;vertical-align:top;overflow-wrap:anywhere}
  #assignment-print thead th{font-size:10pt;text-align:center;border-bottom:1pt solid #333}
  #assignment-print .assignment-print-number{width:7mm}
  #assignment-print .assignment-print-index{text-align:center}
  #assignment-print tr{break-inside:avoid}
}

.home-intro{padding-block:clamp(25px,5vw,62px);min-height:0}
.home-intro h1{max-width:21ch;text-wrap:balance}
.home-intro p{max-width:42ch;line-height:1.5}
.home-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.home-link{display:grid;align-content:start;gap:7px;min-height:110px;padding:17px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}
.home-link:hover,.home-link:focus-visible{border-color:var(--navy);background:#f4f7fb}
.home-link strong{font-size:17px;line-height:1.25}
.home-link span{color:var(--muted);line-height:1.35}
@media(max-width:1050px){.home-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  .home-page aside{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 14px}
  .home-page .sidebar-brand{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding:0}
  .home-page .brand img{width:48px;height:48px}
  .home-page .brand span{display:none}
  .home-page .brand-partners{gap:8px;padding-left:11px;border-left:1px solid #435571}
  .home-page .brand-partners a{display:grid;place-items:center;width:44px;height:44px}
  .home-page .brand-partners img{width:36px;height:36px}
  .home-page .mobile-menu{width:auto;gap:9px;padding-inline:11px}
  .home-page aside>nav{grid-column:1/-1;padding-top:4px}
  .home-page .workspace>main{padding:14px 14px 24px}
  .home-intro h1{font-size:clamp(24px,6.6vw,38px)}
  .home-intro p{font-size:14px}
  .home-links{gap:8px;margin-top:12px}
  .home-link{min-height:88px;padding:11px}
  .home-link strong{font-size:15px}
  .home-link span{font-size:13px}
  .home-page .workspace-footer{padding:5px 14px 10px}
}

.assignment-search{display:grid;gap:9px;margin-bottom:14px}
.assignment-search label{display:grid;gap:5px;font-weight:700}
.assignment-search input,.assignment-destination select{min-width:0}
.assignment-matches{display:flex;flex-wrap:wrap;gap:6px}
.assignment-matches button{min-height:40px;text-align:left}
.assignment-selected{font-weight:750}
.assignment-destination{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.assignment-destination[hidden]{display:none}

.guest-directory{margin-top:14px;overflow-wrap:anywhere}
.guest-directory summary{cursor:pointer;font-weight:700}
.guest-profile{margin-top:10px}
.guest-profile p,.guest-profile ul{margin:5px 0}

.registration-panel{margin-top:16px;scroll-margin-top:16px}
.registration-panel h2{font-size:22px;margin-bottom:6px}
.registration-panel #registration-content{margin-top:12px}
.registration-panel .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.registration-panel .fields input,.registration-panel .fields select,.registration-panel .fields textarea{min-width:0}
.registration-confirm{display:flex;align-items:baseline;gap:8px;margin:14px 0}
.registration-confirm input{width:auto;min-height:0}
.registration-actions{display:flex;flex-wrap:wrap;gap:8px}
.registration-details{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;overflow-wrap:anywhere}
.registration-details dt{font-weight:700}
.registration-details dd{margin:2px 0 0;white-space:pre-wrap}
.registration-details img{display:block;width:120px;height:auto;border-radius:8px}
@media(max-width:620px){.registration-panel .fields{grid-template-columns:minmax(0,1fr)}}
#application-form-panel summary{cursor:pointer;font-weight:700;color:var(--navy);padding:8px 0}
#application-form-panel form{margin-top:10px}
#registration-list .access-list > li {display:block}
.application-entry {display:grid;gap:10px;margin-top:8px}
.application-entry > button {justify-self:start}
.application-entry > [aria-live] {min-width:0}
.application-entry > [aria-live]:empty {display:none}

aside > .language-switch,
.handbook-chapter > .language-switch {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 6px;
  border: 0;
  padding: 0;
}
.language-switch a,
.language-switch span {
  display: inline-grid;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 650;
}
.language-switch [aria-current] {
  text-decoration: underline;
  text-underline-offset: 4px;
}
aside > .language-switch a { color: #b9c5d7; }
.handbook-chapter > .language-switch a { color: var(--muted); }
.handbook-chapter > .language-switch a:hover { background: var(--warm); }

.question-intro p { text-align: justify; hyphens: auto; }
.question-form-panel { margin-bottom: 22px; }
.question-form-panel h2, .question-feed > h2 { margin-bottom: 12px; }
.question-form-panel .hint { margin-top: 10px; }
.question-form-panel [hidden] { display: none; }
.question-form-panel > .primary { display: inline-flex; margin-top: 10px; }
.question-status:not(:empty) { margin-top: 8px; }
.question-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.question-answer { margin-top: 12px; padding: 12px; background: var(--paper); border-radius: 8px; }
.question-answer h3 { margin-bottom: 5px; }
.question-answer-editor { margin-top: 12px; }
.question-answer-editor summary { cursor: pointer; font-weight: 700; color: var(--navy); }
.question-answer-editor form { margin-top: 10px; }

.candidate-points-table{width:100%;border-collapse:collapse;text-align:left}
.candidate-points-table th,.candidate-points-table td{padding:8px;border-bottom:1px solid var(--line,#dbe2ea)}
.candidate-points-table td{font-variant-numeric:tabular-nums}

.tournament-uww{--tournament-accent:#6e3ca3;--tournament-background:#f1e8fb}
.tournament-latvia{--tournament-accent:#a22445;--tournament-background:#fbe9ef}
.tournament-lithuania{--tournament-accent:#137457;--tournament-background:#e2f4eb}
.tournament-estonia{--tournament-accent:#175bb5;--tournament-background:#e5efff}
.tournament-other{--tournament-accent:#60646d;--tournament-background:#edf0f4}
.tournament-dot{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;background:var(--tournament-accent)}
.calendar-day:has(.calendar-day-groups){grid-template-rows:auto 14px 8px}
.calendar-day-groups{display:flex;gap:2px}
.calendar-day-groups .tournament-dot{width:7px;height:7px;border:1px solid white;box-sizing:content-box}

.rules-article-index{margin-bottom:12px}
.rules-article-index summary{cursor:pointer;font-weight:700}
.rules-article-index ol{margin:12px 0 0;padding-inline-start:24px}
.rules-article-index li+li{margin-top:4px}

.language-gateway{min-height:100vh;display:grid;place-items:center;padding:24px}
.language-gateway-panel{width:min(100%,640px);padding:clamp(24px,6vw,52px);border-radius:18px;background:var(--deep);color:var(--white);text-align:center;border-top:3px solid var(--accent)}
.language-gateway-panel img{display:block;margin:0 auto 20px}
.language-gateway-panel h1{font-size:clamp(24px,5vw,40px);line-height:1.15;overflow-wrap:anywhere}
.language-gateway-panel p{margin-top:10px;color:#dbe5f2;font-size:clamp(14px,3vw,18px)}
.language-gateway-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px}
.language-gateway-links .primary{min-width:130px;min-height:44px;background:var(--accent);color:var(--deep)}
.language-gateway-links .primary:focus-visible{outline-color:var(--white)}

.cabinet-message-list li { display: block; }
.cabinet-message-list summary { cursor: pointer; overflow-wrap: anywhere; }
.cabinet-message-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.cabinet-messages textarea { display: block; width: 100%; resize: vertical; }

.admin-shortcuts { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0 0 1rem; }
.admin-shortcuts a { display: inline-flex; align-items: center; min-height: 44px; }
.admin-tools > summary { font-size: 1.125rem; font-weight: bold; cursor: pointer; }
.admin-tools > .panel { margin-top: 1rem; }
#admin-applications, #admin-questions, #admin-messages, #admin-tools { scroll-margin-top: 1rem; }
#admin-questions .records { grid-template-columns: minmax(0, 1fr); }

.application-summary { min-width: 0; padding: 1rem; border: 1px solid var(--line, #d9e2eb); border-radius: 12px; }
.application-summary > h3 { margin-top: 0; }
.application-summary .registration-details { grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap: .75rem; }
@media (max-width:600px) {
  .application-summary .registration-details {grid-template-columns:minmax(0,1fr)}
}
.application-summary .registration-details > div { padding: .65rem; border: 1px solid var(--line, #d9e2eb); border-radius: 8px; }
.application-photos { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,8rem),1fr)); gap: .65rem; margin: .75rem 0; }
.application-photos img { display: block; width: 100%; height: 9rem; border-radius: 8px; object-fit: cover; }
.application-photos label span { display: flex; align-items: center; gap: .3rem; }
.application-photos input[type="checkbox"] { width: auto; min-height: 0; }

.referee-profile {display:grid;gap:12px;max-width:960px}
.referee-profile .referee-summary {
  display:grid;grid-template-columns:auto minmax(0,1fr);
  align-items:start;gap:14px 18px
}
.referee-profile-identity {min-width:0;align-self:center}
.referee-profile-identity h1 {margin:0;font-size:clamp(24px,4vw,34px);overflow-wrap:anywhere}
.referee-profile-identity .meta {margin-top:4px}
.referee-profile-identity .actions {margin-top:10px}
.referee-profile .referee-summary dl {
  grid-column:1/-1;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));
  gap:10px 18px;padding-top:12px;border-top:1px solid var(--line)
}
.referee-profile .referee-summary dd {overflow-wrap:anywhere}
.referee-profile-sections {display:grid;gap:12px;align-items:start}
.referee-profile-sections:empty {display:none}
.referee-profile-sections .referee-detail {margin:0;min-width:0}
.referee-history-events {margin:0;padding:0 16px 12px 32px}
.referee-history-events li {padding-top:8px}
.referee-history-events .meta {margin:4px 0}
.referee-notes summary {cursor:pointer;font-weight:700}
@media (max-width:540px) {
  .referee-profile .referee-summary {gap:10px 12px}
  .referee-profile .referee-profile-photo .referee-photo,
  .referee-profile .referee-profile-photo .referee-initials {width:64px;height:64px}
  .referee-profile .referee-summary dl {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
}

.account-summary {
  margin:0 0 14px;padding:12px 16px;border:1px solid #b5d7c0;
  border-radius:12px;background:#edf8f0;color:#175434;overflow-wrap:anywhere
}
.account-summary .actions {margin-top:8px}

#site-account {
  width:100%;max-width:1470px;margin:0 auto;
  padding:12px clamp(14px,4vw,54px) 0
}
#site-account .account-summary {
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:8px 16px;margin:0
}
#site-account .account-summary .actions {margin:0}
@media print {#site-account {display:none}}

.news-list {display:grid;gap:12px}
.news-item time {color:var(--muted);font-size:.875rem}
.news-item h2 {margin:6px 0}
.news-item p {white-space:pre-wrap;overflow-wrap:anywhere}
.news-item .actions:empty {display:none}

.status-indicator {display:inline-block;padding:4px 9px;border-radius:8px;font-weight:700}
.status-active {background:#e3f5e9;color:#176037;border-color:#a6d6b5}
.status-inactive {background:#fce9e9;color:#932525;border-color:#e8b3b3}
.publication-toggle {display:flex;align-items:center;gap:8px}
.publication-toggle input {width:auto;min-height:0}

dialog.news-editor {width:min(920px,calc(100% - 24px));max-width:none}
.news-writing .row-actions {margin:8px 0}
.news-writing-area {min-height:230px;padding:16px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}
#news-preview {margin-top:12px}
#news-preview article {padding:12px 0}
.news-photo {display:block;width:100%;max-height:460px;object-fit:contain;border-radius:8px;margin:12px 0}
.news-copy {overflow-wrap:anywhere}

#home-news {margin:14px 0}
.home-news-card {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;border-top:3px solid var(--accent)}
.home-news-card:has(>img) {grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.home-news-card > img {display:block;width:100%;height:clamp(150px,22vw,260px);object-fit:contain;border-radius:10px;background:#f0f3f7}
.home-news-card h2 {margin:6px 0;overflow-wrap:anywhere}
.home-news-card p {overflow-wrap:anywhere}
.home-news-meta {font-size:.85rem;color:var(--muted)}
@media(max-width:620px) {.home-news-card:has(>img) {grid-template-columns:1fr}}

.news-article {display:grid;gap:clamp(16px,3vw,32px);align-items:start}
.news-article:has(>.news-photo) {grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.news-article > .news-photo {margin:0;height:auto;max-height:500px;object-position:top}
.news-article-text {min-width:0}
.news-article-text h2 {overflow-wrap:anywhere}
.news-article-text .news-copy {font-family:"Trebuchet MS",Arial,sans-serif;font-size:15px;line-height:1.65;text-align:justify;hyphens:auto}
.news-article-text .news-copy > p {margin:0 0 1em}
.news-article-text .news-copy > p:last-child {margin-bottom:0}
@media(max-width:620px) {.news-article:has(>.news-photo) {grid-template-columns:minmax(0,1fr)}}
.referee-profile-sections .calendar-event summary {grid-template-columns:minmax(0,1fr) auto 15px}
.calendar-month-actions {flex-wrap:wrap;margin-bottom:8px}

.tournament-attendance-form {display:grid;gap:8px;margin-top:12px}
.tournament-attendance-form label {display:flex;align-items:center;gap:8px}
.tournament-attendance-form input {width:auto;min-height:0}

.referee-history-events .history-style.lv {background:#9e1b39;color:#fff;border-color:#9e1b39}
.referee-history-events .history-style.ee {background:#145da7;color:#fff;border-color:#145da7}
.referee-history-events .history-style.lt {background:#186842;color:#fff;border-color:#186842}
.referee-history-events .history-style.uww {background:#ff9c33;color:#321a00;border-color:#ff9c33}

.referee-history-seminars {
  margin: 8px 14px 14px;
  padding: 12px 14px;
  border: 1px solid #a7d4ba;
  border-inline-start: 4px solid #23724b;
  border-radius: 10px;
  background: #eff8f2;
  color: #174e34;
}
.referee-history-seminars h3 {margin: 0 0 8px; font-size: 1rem; color: inherit}
.referee-history-seminars .referee-history-events {padding: 0; list-style: none}
.referee-history-seminars li {padding: 8px 0; overflow-wrap: anywhere}
.referee-history-seminars li + li {border-top: 1px solid #c7e4d2}
.referee-history-counts {display: grid; gap: 4px; justify-self: end}
.referee-history-counts .tag {margin: 0}
.referee-history-seminar-count, .referee-history-seminars .referee-history-seminar-role {background: #d5eedf; border-color: #a7d4ba; color: #174e34}

.rule-reader {
  max-inline-size: 78ch;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 40px);
  font-family: "Trebuchet MS", "Segoe UI", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}
.rule-reader h1 {
  margin-block: 0 0.7em;
  font-size: clamp(1.55rem, 4vw, 2.25rem);
  line-height: 1.18;
}
.rule-copy {
  overflow-wrap: anywhere;
}
.rule-copy p {
  margin: 0 0 0.75em;
  text-align: justify;
  hyphens: auto;
}
.rule-copy h2 {
  margin: 1.2em 0 0.4em;
  font-size: 1.15rem;
  line-height: 1.3;
}
.rule-copy .rule-list-item {
  padding-inline-start: 1.2em;
  text-indent: -1.2em;
  margin-inline-start: 0.6em;
}
.rule-copy figure {
  margin: 1rem 0;
}
.rule-copy img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
  margin-inline: auto;
}
.rule-table-scroll {
  max-inline-size: 100%;
  overflow-x: auto;
  margin-block: 0.9em 1.1em;
}
.rule-copy table {
  width: 100%;
  min-inline-size: 22rem;
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.45;
}
.rule-copy th, .rule-copy td {
  padding: 0.55em 0.7em;
  border: 1px solid var(--line);
  text-align: start;
  overflow-wrap: normal;
}
.rule-copy th {
  color: var(--dark);
  background: var(--paper);
}
.rule-pagination {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-block-start: 1.2rem;
  padding-block-start: 0.75rem;
  border-block-start: 1px solid var(--line);
}
