:root{
  --navy:#101f3c;--navy-2:#192d50;--orange:#ff8a00;--orange-dark:#d9700d;
  --white:#fff;--bg:#f3f5f8;--ink:#17243b;--muted:#778195;--line:#e5e9f0;
  --green:#16845b;--red:#c54b4b;--radius:6px;
}
*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  overflow-y:scroll;
  scrollbar-gutter:stable;
  scrollbar-color:#ff8a00 #fff;
  scrollbar-width:thin;
}
html::-webkit-scrollbar{width:10px;height:10px}
html::-webkit-scrollbar-track{background:#fff;border-radius:6px}
html::-webkit-scrollbar-thumb{background:#ff8a00;border:2px solid #fff;border-radius:6px}
html::-webkit-scrollbar-thumb:hover{background:#d9700d}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}
button,input,select{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.app-shell{min-height:100vh}
.topbar{height:62px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:12px;padding:0 18px;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px #0b17351c}
.icon-btn{width:38px;height:38px;border:1px solid #ffffff2b;background:#ffffff0d;color:#fff;border-radius:6px;display:grid;place-items:center;flex-shrink:0}
.icon-btn svg{width:20px;height:20px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:.2px;font-size:16px;white-space:nowrap}
.brand-mark{width:30px;height:30px;background:var(--orange);border-radius:6px;display:grid;place-items:center;color:var(--navy);font-weight:900}
.topbar-spacer{flex:1}
.top-date{font-size:12px;color:#d4dbea;display:none}
.topbar-location{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:12px;font-weight:750;letter-spacing:.2px}
.profile-trigger{display:flex;align-items:center;gap:9px;color:#fff;border:0;background:transparent;padding:3px;border-radius:6px;text-align:left}
.avatar{width:34px;height:34px;border-radius:6px;object-fit:cover;background:#f3c79b}
.profile-copy{display:none}
.profile-copy strong{display:block;font-size:13px}
.profile-copy span{display:block;color:#c8d1e1;font-size:11px;margin-top:2px}
.layout{display:flex;min-height:calc(100vh - 62px)}
.sidebar{position:fixed;z-index:40;top:0;bottom:0;left:0;width:270px;background:var(--navy);color:#fff;padding:16px 12px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:10px 0 30px #0a173b26;overflow-y:auto}
.sidebar.open{transform:translateX(0)}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 18px;border-bottom:1px solid #ffffff20}
.sidebar-label{font-size:10px;font-weight:800;color:#91a0ba;letter-spacing:1.3px;padding:20px 10px 8px}
.nav-link{width:100%;display:flex;align-items:center;gap:11px;color:#d4dcec;background:transparent;border:0;border-radius:6px;text-align:left;padding:11px 10px;margin:2px 0;font-weight:600}
.nav-link svg{width:18px;height:18px;flex-shrink:0}
.nav-link:hover,.nav-link.active{background:#ffffff14;color:#fff}
.nav-link.active{box-shadow:inset 3px 0 var(--orange);border-radius:1px}
.nav-link.active svg{color:var(--orange)}
.nav-count{margin-left:auto;background:var(--orange);color:var(--navy);font-size:10px;font-weight:800;border-radius:6px;padding:3px 6px}
.sidebar-bottom{margin-top:24px;padding:12px 10px;border:1px solid #ffffff20;border-radius:6px;color:#c4cee0;font-size:12px;line-height:1.6}
.sidebar-bottom strong{color:#fff}
.overlay{display:none;position:fixed;inset:0;background:#07132980;z-index:35}
.overlay.show{display:block}
.main{width:100%;min-width:0;padding:14px;max-width:1500px;margin:0 auto;scrollbar-gutter:auto}
.banner{position:relative;overflow:hidden;background:linear-gradient(112deg,#101f3c 0%,#203c66 72%,#f28b24 72%,#f28b24 100%);color:#fff;border-radius:6px;padding:17px 18px;margin-bottom:12px;min-height:122px;display:flex;align-items:center}
.banner:after{content:"";position:absolute;width:180px;height:180px;border:24px solid #ffffff0d;border-radius:50%;right:2%;top:-90px}
.banner-content{position:relative;z-index:1;max-width:75%}
.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#ffb968;font-weight:800;margin-bottom:7px}
.banner h1{font-size:clamp(20px,3vw,27px);line-height:1.15;margin:0 0 7px;font-weight:800}
.banner p{margin:0;color:#dbe4f1;font-size:12px;line-height:1.5}
.banner-date{position:absolute;right:14px;bottom:13px;z-index:2;font-size:11px;color:#fff;background:#101f3c29;padding:6px 8px;border-radius:6px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0 9px}
.section-heading h2{font-size:15px;margin:0;font-weight:800}
.section-heading p{font-size:11px;color:var(--muted);margin:3px 0 0}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;padding:8px 11px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.btn-primary{background:var(--orange);border-color:var(--orange);color:#17243b}
.btn-primary:hover{background:#ff9a37}
.btn-dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn svg{width:15px;height:15px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:11px 12px;min-width:0;position:relative}
.stat-top{display:flex;align-items:center;justify-content:space-between;gap:5px}
.stat-label{font-size:11px;color:var(--muted);font-weight:700}
.stat-icon{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;background:#fff1e2;color:var(--orange-dark);flex-shrink:0}
.stat-icon svg{width:16px;height:16px}
.stat-value{font-size:25px;letter-spacing:-.8px;font-weight:850;margin:8px 0 4px;line-height:1}
.stat-foot{font-size:10px;color:var(--muted)}
.positive{color:var(--green);font-weight:800}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.panel{background:#fff;border:1px solid var(--line);border-radius:6px;min-width:0;overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--line)}
.panel-head h3{font-size:13px;margin:0;font-weight:800}
.panel-head p{font-size:11px;color:var(--muted);margin:3px 0 0}
.panel-body{padding:12px}
.activity-list{display:grid;gap:13px}
.activity{display:flex;align-items:flex-start;gap:10px}
.activity-dot{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:#edf2f8;color:var(--navy);flex-shrink:0}
.activity-dot svg{width:16px;height:16px}
.activity-text{flex:1;min-width:0;font-size:12px;line-height:1.45}
.activity-text strong{font-weight:800}
.activity-text p{margin:3px 0 0;color:var(--muted);font-size:11px}
.activity-time{font-size:10px;color:var(--muted);white-space:nowrap}
.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quick-action{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-align:left;font-size:11px;font-weight:750}
.quick-action:hover{border-color:var(--orange);background:#fffaf4}
.quick-action .qa-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:6px;background:#fff0df;color:var(--orange-dark);flex-shrink:0}
.quick-action svg{width:16px;height:16px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line)}
.search-wrap{position:relative;flex:1;min-width:140px}
.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--muted)}
.search-wrap input{width:100%;padding:9px 10px 9px 32px;border:1px solid var(--line);border-radius:6px;background:#fbfcfe;font-size:12px;color:var(--ink)}
.toolbar select{min-width:112px;max-width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;color:var(--ink)}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}
th{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:800;background:#fafbfd}
th,td{padding:11px 12px;border-bottom:1px solid #edf0f5}
td{font-size:12px}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fcfdff}
.person-cell{display:flex;align-items:center;gap:8px}
.person-avatar{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:800;background:#e6edf8;color:#243d65;flex-shrink:0}
.person-name{font-weight:800;font-size:12px}
.person-email{font-size:10px;color:var(--muted);margin-top:3px}
.status{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:6px;font-size:10px;font-weight:800}
.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.status.active{color:#13794f;background:#e7f6ee}
.status.pending{color:#a86105;background:#fff2dc}
.status.passive{color:#687386;background:#edf0f5}
.row-actions{display:flex;gap:5px}
.mini-btn{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);width:28px;height:28px;display:grid;place-items:center}
.mini-btn svg{width:14px;height:14px}
.table-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.pagination{display:flex;gap:5px}
.page-btn{border:1px solid var(--line);border-radius:6px;background:#fff;padding:5px 8px;color:var(--ink);font-size:11px}
.page-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}
.empty-state{padding:24px;text-align:center;color:var(--muted);font-size:12px}
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--navy);color:#fff;padding:11px 15px;border-radius:6px;font-size:12px;box-shadow:0 8px 24px #101f3c30;z-index:100;transition:.2s;max-width:calc(100% - 28px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.modal-backdrop{position:fixed;inset:0;z-index:60;background:#07132980;display:none;align-items:center;justify-content:center;padding:14px}
.modal-backdrop.show{display:flex}
.modal{width:min(100%,440px);background:#fff;border-radius:6px;box-shadow:0 20px 60px #07132940;overflow:hidden}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--line)}
.modal-head h3{margin:0;font-size:15px}
.modal-head button{border:0;background:#f1f3f7;border-radius:6px;width:30px;height:30px}
.modal-body{padding:14px;display:grid;gap:11px}
.form-field{display:grid;gap:5px}
.form-field label{font-size:11px;font-weight:800;color:#566176}
.form-field input,.form-field select{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}
.footer-note{padding:15px 0 4px;text-align:center;color:#8b94a5;font-size:10px}
@media(min-width:620px){
 .main{padding:20px}
 .top-date{display:block}
 .profile-copy{display:block}
 .banner{padding:23px 25px;min-height:142px}
 .banner-content{max-width:68%}
 .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
 .stat-card{padding:13px}
 .content-grid{grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr)}
 .section-heading{margin-top:20px}
 .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1000px){
 .sidebar{position:sticky;top:62px;height:calc(100vh - 62px);transform:none;flex-shrink:0;width:230px;box-shadow:none}
 .sidebar-head{display:none}
 .overlay{display:none!important}
 .main{padding:22px 26px}
 .topbar .menu-toggle{display:grid}
 .sidebar.collapsed{display:none}
 .content-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.8fr)}
}
@media(max-width:380px){
 .topbar{padding:0 10px;gap:8px}
 .brand{font-size:14px;gap:6px}
 .brand-mark{width:27px;height:27px}
 .main{padding:10px}
 .banner{padding:14px;min-height:115px}
 .banner-date{right:9px;bottom:8px;font-size:9px}
 .stat-card{padding:10px}
 .stat-value{font-size:22px}
 .section-heading h2{font-size:14px}
 .btn{padding:8px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Mobile-first layout refinements */
@media (max-width: 600px) {
  body { font-size: 13px; }
  .topbar { height: 56px; padding: 0 10px; gap: 8px; }
  .icon-btn { width: 34px; height: 34px; }
  .brand { font-size: 13px; gap: 6px; }
  .brand-mark { width: 27px; height: 27px; }
  .profile-trigger { gap: 0; padding: 2px; }
  .profile-trigger .avatar { width: 32px; height: 32px; }
  .layout { min-height: calc(100vh - 56px); }
  .main { padding: 10px 4px; width: 100%; overflow: hidden; scrollbar-gutter: auto; }
  .banner {
    min-height: 0; padding: 16px 14px 18px; margin-bottom: 12px;
    background: linear-gradient(120deg, #101f3c 0%, #203c66 100%);
    align-items: flex-start;
  }
  .banner:after { width: 100px; height: 100px; border-width: 14px; right: -40px; top: -42px; }
  .banner-content { max-width: 100%; padding-right: 4px; }
  .eyebrow { font-size: 9px; margin-bottom: 6px; }
  .banner h1 { font-size: 21px; line-height: 1.2; margin-bottom: 6px; }
  .banner p { font-size: 11px; max-width: 260px; }
  .banner-date { position: static; display: inline-block; margin-top: 12px; font-size: 10px; padding: 5px 7px; }
  .section-heading { margin: 14px 0 8px; align-items: center; }
  .section-heading h2 { font-size: 14px; }
  .section-heading p { font-size: 10px; line-height: 1.4; }
  .btn { padding: 8px 9px; font-size: 11px; gap: 5px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .stat-card { padding: 10px; }
  .stat-label { font-size: 10px; line-height: 1.25; }
  .stat-icon { width: 25px; height: 25px; }
  .stat-value { font-size: 23px; margin: 8px 0 4px; }
  .stat-foot { font-size: 9px; line-height: 1.35; }
  .content-grid { display: flex; flex-direction: column; gap: 2px; }
  .content-grid > div { min-width: 0; width: 100%; }
  .panel-head, .panel-body { padding: 10px; }
  .toolbar { padding: 9px; gap: 7px; }
  .search-wrap { flex-basis: 100%; min-width: 0; }
  .search-wrap input { font-size: 12px; min-height: 37px; }
  .toolbar select { flex: 1; width: 100%; min-width: 0; min-height: 36px; }
  .table-wrap { overflow: visible; }
  table, thead, tbody, tr, th, td { display: block; width: 100%; }
  thead { display: none; }
  #recordsBody { padding: 8px; display: grid; gap: 8px; }
  #recordsBody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 8px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: #fff;
  }
  #recordsBody td { border: 0; padding: 0; min-width: 0; }
  #recordsBody td:nth-child(1) { grid-column: 1 / -1; }
  #recordsBody td:nth-child(2) { grid-column: 1; font-size: 11px; color: var(--muted); align-self: center; }
  #recordsBody td:nth-child(2)::before { content: "Kategori: "; color: var(--muted); font-weight: 700; }
  #recordsBody td:nth-child(3) { grid-column: 2; grid-row: 2; justify-self: end; align-self: center; }
  #recordsBody td:nth-child(4) { grid-column: 1; font-size: 10px; color: var(--muted); }
  #recordsBody td:nth-child(4)::before { content: "Tarih: "; font-weight: 700; }
  #recordsBody td:nth-child(5) { grid-column: 2; grid-row: 3; justify-self: end; align-self: center; }
  .person-cell { gap: 8px; }
  .person-name { font-size: 12px; overflow-wrap: anywhere; }
  .person-email { font-size: 10px; overflow-wrap: anywhere; }
  .person-avatar { width: 32px; height: 32px; }
  .table-footer { padding: 9px; font-size: 10px; }
  .quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .quick-action { padding: 9px 7px; gap: 7px; font-size: 10px; line-height: 1.3; min-width: 0; }
  .quick-action .qa-icon { width: 26px; height: 26px; }
  .activity { gap: 8px; }
  .activity-time { font-size: 9px; }
  .activity-text { font-size: 11px; }
  .footer-note { padding-bottom: 10px; }
}
@media (max-width: 360px) {
  .main { padding: 8px; }
  .brand { font-size: 12px; }
  .banner h1 { font-size: 19px; }
  .stats { gap: 6px; }
  .stat-card { padding: 8px; }
  .stat-icon { display: none; }
  .stat-value { font-size: 21px; }
  .section-heading { gap: 6px; }
  .section-heading p { max-width: 175px; }
  .quick-action { flex-direction: column; align-items: flex-start; }
  .table-footer { align-items: flex-start; flex-wrap: wrap; }
}


/* Higher-contrast cards and richer dashboard surfaces */
:root {
  --bg: #edf1f7;
  --line: #dfe5ef;
}
body { background: #edf1f7; }
.main { background: linear-gradient(180deg, #f4f6fa 0%, #eaf0f7 100%); }
.banner {
  background: linear-gradient(115deg, #101f3c 0%, #1a3560 64%, #274d78 100%);
  border: 1px solid #29466f;
  box-shadow: 0 5px 16px #101f3c18;
}
.banner:before {
  content: ""; position: absolute; z-index: 0; width: 170px; height: 170px;
  right: 9%; bottom: -130px; border-radius: 50%;
  background: linear-gradient(135deg, #f28b24, #ffb65d); opacity: .95;
}
.banner-date { background: #ffffff18; border: 1px solid #ffffff25; }
.stat-card {
  border: 1px solid #dfe5ef;
  box-shadow: 0 3px 10px #14294a0b;
  transition: transform .16s ease, box-shadow .16s ease;
}
.stat-card:nth-child(1) { background: linear-gradient(145deg, #fff 0%, #eef3ff 100%); border-top: 3px solid #315a9a; }
.stat-card:nth-child(2) { background: linear-gradient(145deg, #fff 0%, #e8f8f1 100%); border-top: 3px solid #16845b; }
.stat-card:nth-child(3) { background: linear-gradient(145deg, #fff 0%, #fff3e3 100%); border-top: 3px solid #f28b24; }
.stat-card:nth-child(4) { background: linear-gradient(145deg, #fff 0%, #f0eaff 100%); border-top: 3px solid #7957bd; }
.stat-card:nth-child(1) .stat-icon { background: #dce7fb; color: #244b89; }
.stat-card:nth-child(2) .stat-icon { background: #d4f2e4; color: #13794f; }
.stat-card:nth-child(3) .stat-icon { background: #ffe5c4; color: #b75e08; }
.stat-card:nth-child(4) .stat-icon { background: #e7defc; color: #6745a8; }
.stat-value { color: #142746; }
.panel {
  border-color: #dce3ed;
  box-shadow: 0 4px 14px #14294a0b;
}
.panel-head { background: linear-gradient(90deg, #fff 0%, #f7f9fc 100%); }
.quick-action { box-shadow: 0 2px 7px #14294a08; transition: border-color .15s, transform .15s, box-shadow .15s; }
.quick-action:nth-child(1) .qa-icon { background: #ffead1; color: #b75e08; }
.quick-action:nth-child(2) .qa-icon { background: #dce7fb; color: #244b89; }
.quick-action:nth-child(3) .qa-icon { background: #d4f2e4; color: #13794f; }
.quick-action:nth-child(4) .qa-icon { background: #e7defc; color: #6745a8; }
.activity-dot { background: #e7edf7; color: #244b89; }
.status.active { background: #dcf5e8; }
.status.pending { background: #ffebcb; }
.status.passive { background: #e7ebf2; }
.table-wrap { background: #fff; }
tbody tr:hover { background: #f5f8fd; }
#recordsBody tr { box-shadow: 0 2px 7px #14294a08; }
@media (hover:hover) and (min-width: 601px) {
  .stat-card:hover { transform: translateY(-2px); box-shadow: 0 7px 18px #14294a14; }
  .quick-action:hover { transform: translateY(-1px); box-shadow: 0 5px 12px #14294a10; }
}
@media (max-width: 600px) {
  .main { background: linear-gradient(180deg, #f2f5fa 0%, #e9eff7 100%); }
  .banner {
    background: linear-gradient(120deg, #101f3c 0%, #1b3762 100%);
    box-shadow: 0 4px 12px #101f3c18;
  }
  .banner:before { width: 110px; height: 110px; right: -20px; bottom: -80px; }
  .stat-card { box-shadow: 0 3px 9px #14294a0d; }
  .panel { box-shadow: 0 3px 12px #14294a0c; }
  #recordsBody tr { border-color: #dce4ef; box-shadow: 0 2px 7px #14294a09; }
}
/* Shared administration shell */
*{scrollbar-color:#ff8a00 #fff;scrollbar-width:thin}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:#fff;border-radius:6px}
*::-webkit-scrollbar-thumb{background:#ff8a00;border:2px solid #fff;border-radius:6px}
*::-webkit-scrollbar-thumb:hover{background:#d9700d}
.topbar-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.brand-logo{display:block;width:48px;height:48px;object-fit:contain;border-radius:50%}
.profile-trigger{cursor:default}
.avatar{display:grid;place-items:center;border-radius:50%;font-weight:800;color:var(--navy);font-size:12px}
.sidebar-head{gap:10px}
.sidebar-user{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.sidebar-user .brand-mark{width:38px;height:38px;border-radius:50%;font-size:16px;flex-shrink:0}
.sidebar-user-name{font-size:13px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}
.sidebar-location{padding:12px 10px 3px;color:#aebbd0;font-size:11px}
.sidebar-nav{padding-bottom:12px}
.nav-link,.nav-sublink{color:#d4dcec;text-decoration:none;font-family:inherit;appearance:none;cursor:pointer}
.nav-root{margin:15px 0 10px}
.nav-group{margin:3px 0}
.nav-group summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:6px;color:#cbd6e7;font-size:12px;font-weight:750;cursor:pointer;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:"+";margin-left:auto;color:#a9b7cd;font-size:15px;font-weight:500}
.nav-group[open] summary::after{content:"−"}
.nav-group summary:hover,.nav-group[open] summary{background:#ffffff0c;color:#fff}
.nav-submenu{display:grid;gap:2px;margin:3px 0 7px 13px;padding-left:8px;border-left:1px solid #ffffff26}
.nav-sublink{display:block;width:100%;padding:8px 9px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:11px;line-height:1.25}
.nav-sublink:hover,.nav-sublink.active{background:#ffffff14;color:#fff}
.nav-sublink.active{box-shadow:inset 3px 0 var(--orange);border-radius:1px}
.sidebar-admin-action{display:block;width:calc(100% - 16px);margin:12px 8px;padding:9px 10px;border:1px solid #ffffff2b;border-radius:6px;background:transparent;color:#fff;text-align:left;text-decoration:none;font-family:inherit;font-size:11px;font-weight:700;appearance:none;cursor:pointer}
.sidebar-admin-action:hover{background:#ffffff12}
.sidebar-website-link{display:block;width:calc(100% - 16px);margin:12px 8px 4px;padding:9px 10px;border:1px solid #ffffff2b;border-radius:6px;color:#cbd6e7;font-size:12px;font-weight:750;line-height:1.25;text-align:center;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar-website-link:hover{background:#ffffff12;color:#fff}
.logout-form{margin-top:8px}
.logout-button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 10px;border:0;border-radius:6px;background:transparent;color:#ffc27f;text-align:left;font-weight:700}
.logout-button:hover{background:#ffffff14}
.page-heading{margin:0 0 10px;align-items:center;gap:12px}
.page-welcome{color:#8c98aa;font-size:13px;font-weight:650;opacity:.68}
.topbar .menu-toggle{background:var(--orange);border-color:var(--orange);color:var(--navy);box-shadow:0 3px 10px #ff8a0040}
.topbar .menu-toggle:hover{background:#ffa21a;border-color:#ffa21a}
.welcome-banner{display:grid;grid-template-columns:minmax(0,1fr) 56px;grid-template-areas:"name logo" "breadcrumb breadcrumb" "location location";align-items:center;gap:7px 10px;padding:12px 14px;margin-bottom:14px;border:1px solid #dfe5ef;border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 5px 16px #101f3c12}
.welcome-name{grid-area:name;margin:0;color:var(--navy);font-size:19px;line-height:1.2;font-weight:850}
.welcome-logo-frame{grid-area:logo;width:56px;height:56px;display:grid;place-items:center}
.welcome-logo-frame img{display:block;width:56px;height:56px;object-fit:contain;border-radius:50%}
.welcome-breadcrumb{grid-area:breadcrumb;width:100%;min-width:0;overflow:hidden}
.welcome-breadcrumb ol{display:flex;align-items:center;flex-wrap:nowrap;gap:0;width:100%;list-style:none;margin:0;padding:0;white-space:nowrap}
.welcome-breadcrumb li{min-width:0;color:#8490a3;font-size:11px;font-weight:650;line-height:1.3;white-space:nowrap}
.welcome-breadcrumb li+li:before{content:"/";display:inline-block;margin:0 6px;color:#a1aabc}
.welcome-breadcrumb .breadcrumb-home{flex:0 0 auto}
.welcome-breadcrumb .breadcrumb-home a{color:#8490a3;text-decoration:none}
.welcome-breadcrumb .breadcrumb-parent{max-width:44%;overflow:hidden;text-overflow:ellipsis}
.welcome-breadcrumb .breadcrumb-current{flex:1;overflow:hidden;text-overflow:ellipsis;color:#657189}
.welcome-location{grid-area:location;padding:8px 10px;border-radius:6px;background:var(--orange);color:var(--navy);font-size:11px;font-weight:750;line-height:1.3}
.home-panels{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px}
.home-panel{padding:16px}
.home-panel h2{margin:0 0 7px;font-size:14px}
.home-panel p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
.home-link{padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:11px;font-weight:750;text-decoration:none}
.home-link:hover{border-color:var(--orange);background:#fffaf4}
.placeholder-panel{padding:20px}
.placeholder-panel p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#101f3c 0%,#1c3964 52%,#edf1f7 52%,#edf1f7 100%)}
.auth-card{width:min(100%,440px);padding:28px;background:#fff;border:1px solid #dfe5ef;border-radius:6px;box-shadow:0 18px 55px #07132930}
.auth-brand{display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.auth-logo{width:76px;height:76px;object-fit:contain;border-radius:50%}
.auth-card h1{margin:0;text-align:center;color:var(--navy);font-size:22px}
.auth-intro{margin:8px 0 20px;text-align:center;color:var(--muted);font-size:12px;line-height:1.5}
.auth-form{display:grid;gap:12px}
.auth-field{display:grid;gap:6px}
.auth-field label{font-size:11px;font-weight:800;color:#566176}
.auth-field input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.auth-submit{width:100%;min-height:42px;margin-top:4px}
.auth-error,.auth-success,.auth-note{padding:10px 12px;border-radius:6px;font-size:11px;line-height:1.5}
.auth-error{background:#fff0f0;color:#a33232;border:1px solid #f2cdcd}
.auth-success{background:#eaf7ef;color:#176340;border:1px solid #cdebd9}
.auth-note{margin-top:14px;background:#f4f6fa;color:#657189}
.auth-links{display:flex;justify-content:center;gap:12px;margin-top:16px;font-size:11px}
.auth-links a{color:#355b91;font-weight:700;text-decoration:none}
.auth-links a:hover{text-decoration:none}
.auth-home-actions{display:flex;justify-content:center;margin-top:12px}
.auth-home-button{width:100%;min-height:40px;text-decoration:none}
@media(max-width:600px){
 .brand-logo{width:42px;height:42px}
 .welcome-banner{grid-template-columns:minmax(0,1fr) 50px;gap:6px 9px;padding:11px 12px;margin-bottom:12px}
 .welcome-name{font-size:18px}
 .welcome-logo-frame,.welcome-logo-frame img{width:50px;height:50px}
 .home-panels{grid-template-columns:minmax(0,1fr);gap:10px}
 .home-links{grid-template-columns:minmax(0,1fr)}
 .page-heading h1{font-size:18px}
 .page-heading{gap:9px}
 .page-welcome{font-size:12px}
 .welcome-breadcrumb li{font-size:10px}
 .welcome-breadcrumb li+li:before{margin:0 4px}
 .welcome-breadcrumb .breadcrumb-parent{max-width:48%}
 .auth-page{padding:14px;background:linear-gradient(155deg,#101f3c 0%,#1c3964 45%,#edf1f7 45%,#edf1f7 100%)}
 .auth-card{padding:22px 18px}
}
/* Shared 6px corner rule for page surfaces and controls */
:root{--radius:6px}
.panel,.stat-card,.banner,.welcome-banner,.auth-card,.modal,.home-panel,.placeholder-panel,
.nav-link,.nav-group summary,.nav-sublink,.home-link,.auth-field input,.auth-field textarea,
.auth-field select,.btn,.icon-btn,.quick-action,.sidebar-bottom{border-radius:6px}

/* Shared header detail and communication panels */
.topbar{isolation:isolate}
.topbar::after{content:"";position:absolute;left:0;bottom:0;width:28%;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--orange) 22%,#ffd28c 50%,var(--orange) 78%,transparent);filter:drop-shadow(0 0 4px #ff8a0090);animation:topbar-orange-sweep 3.2s ease-in-out infinite alternate}
@keyframes topbar-orange-sweep{from{left:0}to{left:72%}}
@media(prefers-reduced-motion:reduce){.topbar::after{left:0;width:100%;animation:none;opacity:.8}}
.page-heading{margin:0 0 2px}
.page-welcome{color:var(--navy);font-size:13px;font-weight:850;line-height:1.2;opacity:1}
.welcome-breadcrumb{padding-left:1px}
.home-panels{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:start}
.home-panel{padding:14px}
.home-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px}
.home-panel-heading h2,.notice-form-heading h2{margin:0;color:var(--ink);font-size:13px;font-weight:850;text-transform:uppercase}
.panel-caption{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.service-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 11px;border:1px solid #d1dbea;border-radius:6px;background:#e3e9f1;color:#355175;font-size:10px;font-weight:800;white-space:nowrap}
.form-surface{padding:11px;border:1px solid #d6e0ed;border-radius:6px;background:#f3f6fa}
.message-form,.notice-form{display:grid;gap:10px}
.message-form .form-field,.notice-form .form-field{gap:5px}
.message-form .form-field label,.notice-form .form-field label{color:var(--ink);font-size:11px;font-weight:850;text-transform:uppercase}
.message-control{display:block;width:100%;min-width:0;min-height:38px;padding:9px 11px;border:1px solid #cbd7e7;border-radius:6px;background:#fff;color:var(--ink);font-size:12px}
.message-control::placeholder{color:#8995a8;opacity:1}
.message-textarea{min-height:96px;resize:vertical;line-height:1.45}
.field-help{display:block;color:#65738a;font-size:10px;line-height:1.4}
.character-count{margin-top:-5px;color:#526781;text-align:right;font-size:10px;font-weight:750}
.message-submit{width:100%;min-height:38px}
.notice-preview-panel{min-height:190px}
.notice-manage{padding:6px 9px;font-size:10px}
.notice-empty{display:grid;min-height:122px;place-content:center;justify-items:center;gap:7px;padding:14px;border:1px dashed #cbd7e7;border-radius:6px;background:#f7f9fc;text-align:center}
.notice-empty-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:6px;background:#eaf0f7;color:#6680a5;font-size:20px}
.notice-empty p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.notice-form-panel{max-width:900px;padding:16px}
.notice-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.notice-form-heading p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.notice-form-surface{padding:13px}
.notice-file-control{display:block;width:100%;min-width:0;padding:7px;border:1px solid #cbd7e7;border-radius:6px;background:#fff;color:#65738a;font-size:11px}
.notice-file-control::file-selector-button{margin-right:9px;padding:8px 11px;border:1px solid #cbd7e7;border-radius:6px;background:#e3e9f1;color:var(--navy);font:inherit;font-weight:800;cursor:pointer}
.notice-form-actions{display:flex;justify-content:flex-end;padding-top:2px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){
  .page-heading{margin-bottom:2px}
  .page-welcome{font-size:13px}
  .home-panels{grid-template-columns:minmax(0,1fr);gap:10px}
  .home-panel{padding:12px}
  .form-surface{padding:9px}
  .message-form,.notice-form{gap:9px}
  .notice-preview-panel{min-height:0}
  .notice-empty{min-height:105px}
  .notice-form-panel{padding:12px}
  .notice-form-surface{padding:10px}
}

/* Follow-up: notification routing and refreshed welcome card */
.topbar::after{width:44%;animation-name:topbar-orange-sweep-wide}
@keyframes topbar-orange-sweep-wide{from{left:0}to{left:56%}}
@media(prefers-reduced-motion:reduce){.topbar::after{left:0;width:100%;animation:none;opacity:.8}}
.welcome-banner{grid-template-areas:"identity logo" "breadcrumb breadcrumb" "location location"}
.welcome-identity{grid-area:identity;display:grid;gap:3px;min-width:0}
.page-welcome{color:#8490a3;font-size:11px;font-weight:650;line-height:1.3;opacity:1}
.welcome-name{grid-area:auto;margin:0;color:var(--navy);font-size:17px;line-height:1.2;font-weight:850}
.welcome-location{background:#fff;color:var(--navy);border:1px solid var(--line);border-top:2px solid var(--orange)}
.message-submit{background:var(--green);border-color:var(--green);color:#fff}
.message-submit:hover{background:#116e4a;border-color:#116e4a}
.btn-success{background:var(--green);border-color:var(--green);color:#fff}
.btn-success:hover{background:#116e4a;border-color:#116e4a;color:#fff}
@media(max-width:600px){
  .welcome-banner{grid-template-areas:"identity logo" "breadcrumb breadcrumb" "location location"}
  .welcome-name{font-size:16px}
}

/* Homepage notice gallery and location ribbon */
.welcome-location{padding:9px 10px 8px;border:0;border-top:2px solid var(--orange);border-radius:0;background:linear-gradient(108deg,#101f3c 0%,#192d50 58%,#dce3ed 84%,#fff 100%);color:#fff}
.notice-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;min-height:118px;align-content:center;padding:12px;border-radius:6px;background:#f7f9fc}
.notice-gallery p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}
.notice-gallery img{display:block;width:100%;max-height:230px;object-fit:contain;border-radius:6px}

/* Welcome card: dark-to-white sweep around the logo */
.welcome-banner{background:linear-gradient(52deg,#101f3c 0%,#192d50 58%,#dce3ed 84%,#fff 100%);color:#fff}
.page-welcome{color:var(--orange)}
.welcome-name{color:#fff}
.welcome-breadcrumb li{color:#fff}
.welcome-breadcrumb li+li:before{color:#ffffffa8}
.welcome-breadcrumb .breadcrumb-home a{color:#fff}
.welcome-breadcrumb .breadcrumb-current{color:#fff}
.welcome-location{background:transparent;color:#fff;border:0;border-top:2px solid var(--orange);border-radius:0}

/* Compact breadcrumb flow and remove the location stripe */
.welcome-location{border:0}
.welcome-breadcrumb li+li:before{margin:0 1px}
.welcome-breadcrumb .breadcrumb-parent{max-width:none;flex:0 1 auto}
.welcome-breadcrumb .breadcrumb-current{flex:0 1 auto}
@media(max-width:600px){.welcome-breadcrumb li+li:before{margin:0 1px}.welcome-breadcrumb .breadcrumb-parent{max-width:none}}

/* Move the page path into the top bar */
.topbar-breadcrumb{margin-left:auto;min-width:0;max-width:calc(100% - 50px);overflow:hidden}
.topbar-breadcrumb ol{display:flex;align-items:center;justify-content:flex-end;gap:0;width:100%;min-width:0;margin:0;padding:0;list-style:none;white-space:nowrap}
.topbar-breadcrumb li{min-width:0;overflow:hidden;color:#dbe3ef;font-size:11px;font-weight:650;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.topbar-breadcrumb li+li:before{content:"/";display:inline-block;margin:0 5px;color:#aebbd0}
.topbar-breadcrumb .breadcrumb-home{flex:0 0 auto}
.topbar-breadcrumb .breadcrumb-home a,.topbar-breadcrumb .breadcrumb-home button{display:block;padding:0;border:0;background:transparent;color:#fff;text-decoration:none;font:inherit;cursor:pointer}
.topbar-breadcrumb .breadcrumb-parent{max-width:34%;flex:0 1 auto}
.topbar-breadcrumb .breadcrumb-current{max-width:44%;flex:0 1 auto;color:#fff;font-weight:800}
.welcome-banner{grid-template-areas:"identity logo" "location location"}
.welcome-location{padding-left:0}
@media(max-width:600px){
  .topbar-breadcrumb{max-width:calc(100% - 48px)}
  .topbar-breadcrumb li{font-size:10px}
  .topbar-breadcrumb li+li:before{margin:0 3px}
  .topbar-breadcrumb .breadcrumb-parent{max-width:31%}
  .topbar-breadcrumb .breadcrumb-current{max-width:40%}
  .welcome-banner{grid-template-areas:"identity logo" "location location"}
  .welcome-location{padding-left:0}
}

/* Keep the welcome card on one solid brand color */
.welcome-banner{background:var(--navy);color:#fff}
.notice-inline-surface{margin-top:10px}

/* White welcome card with dark location text */
.welcome-banner{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "location";background:#fff;color:var(--ink)}
.welcome-identity{grid-area:identity}
.page-welcome{color:var(--orange);font-size:13px;font-weight:850}
.welcome-name{color:var(--navy)}
.welcome-location{padding-left:0;border:0;border-top:3px solid var(--orange);border-radius:0;background:transparent;color:var(--navy)}
@media(max-width:600px){.welcome-banner{grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "location"}.page-welcome{font-size:13px}}

.topbar-breadcrumb .breadcrumb-home-page{flex:0 0 auto;max-width:none}

/* Give the top-bar path the full line beside the menu button */
.topbar-breadcrumb{flex:1 1 0;width:0;max-width:none}
.topbar-breadcrumb .breadcrumb-parent,.topbar-breadcrumb .breadcrumb-current{max-width:none;flex:0 1 auto}
.topbar-breadcrumb .breadcrumb-home-page{flex:0 0 auto;max-width:none}
/* Four summary cards: one row on desktop, two columns on phones */
.home-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.home-stats .stat-card{min-width:0}
@media(max-width:600px){
  .topbar-breadcrumb{max-width:none}
  .home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}
  .home-stats .stat-card{padding:10px}
  .home-stats .stat-label{font-size:10px}
  .home-stats .stat-value{font-size:22px}
  .home-stats .stat-foot{font-size:9px}
}

/* Single neutral summary panel matching the home cards */
.summary-panel{margin:0 0 14px}
.summary-list{display:grid}
.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:700}
.summary-row:last-child{border-bottom:0}
.summary-row strong{color:#657189;font-size:13px;font-weight:850}
@media(max-width:600px){.summary-panel{margin-bottom:10px}.summary-row{padding:8px 2px}}

/* Small consistent icons in summary rows and sidebar headings */
.sidebar-nav .menu-symbol{width:16px;height:16px;flex:0 0 16px}
.nav-group summary .menu-symbol{color:#aebbd0}
.nav-group[open] summary .menu-symbol{color:var(--orange)}
.nav-link.active .menu-symbol{color:var(--orange)}
.sidebar-admin-action{display:flex;align-items:center;gap:8px}
.sidebar-admin-action .menu-symbol{width:15px;height:15px;flex:0 0 15px}
.summary-info{display:flex;align-items:center;gap:9px;min-width:0}
.summary-info .menu-symbol{width:18px;height:18px;flex:0 0 18px;color:#526887}

/* Member registration form */
.member-form-panel{width:100%;max-width:none;margin:0}
.member-form-panel .panel-head h3{margin:0;font-size:14px;font-weight:850}
.member-form-panel .panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.member-form-panel .panel-body{padding:14px}
.member-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.member-form-grid .form-field{min-width:0;padding:11px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.member-form-grid .form-field label{display:flex;align-items:center;gap:6px;color:var(--ink)}
.member-form-grid .form-field label::before{content:"";width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--orange)}
.member-form-grid .form-field input,.member-form-grid .form-field select{min-height:38px}
.member-phone-controls{display:grid;grid-template-columns:minmax(100px,108px) minmax(0,1fr);gap:7px}
.member-phone-controls input,.member-phone-controls select{min-width:0}
.member-phone-controls select{padding-left:8px;padding-right:22px}
.member-country-city{grid-template-columns:minmax(56px,68px) minmax(0,1fr)}
.member-duplicate-warning{grid-column:1/-1;display:flex;flex-direction:column;gap:7px;padding:11px 12px;border:1px solid #efc277;border-radius:6px;background:#fff8e8;color:#543b18;font-size:12px;line-height:1.5}
.member-duplicate-warning label{display:flex;align-items:flex-start;gap:8px;font-weight:700}
.member-duplicate-warning input{width:16px;min-width:16px;min-height:16px;margin:1px 0 0;accent-color:var(--orange)}
.member-country-city select[hidden],.member-country-city input[hidden]{display:none}
.member-list-toolbar{display:flex;align-items:stretch;flex-direction:column;gap:10px;margin-bottom:12px}
.member-list-toolbar h2{margin:0;color:var(--ink);font-size:14px;font-weight:850}
.member-list-toolbar p{margin:4px 0 0;color:var(--muted);font-size:11px}
.member-list-search{display:block;width:100%}
.member-list-search input{width:100%;min-width:0;min-height:38px}
.member-directory-search{width:100%}
.member-directory-search input{width:100%;min-width:0;min-height:38px}
.search-wrap input[type="search"],.member-list-search input[type="search"],.member-directory-search input[type="search"]{text-indent:2px}
.member-list-panel .panel-head>.btn{text-decoration:none}
.member-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:10px}
.member-list-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;min-width:0}
.member-list-avatar{width:64px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.member-list-info{min-width:0;align-self:center}
.member-list-id{position:absolute;top:12px;right:12px;margin:0;color:var(--orange-dark);font-size:11px;font-weight:850;white-space:nowrap}
.member-list-city{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:700}
.member-list-name{display:block;color:var(--ink);font-size:13px;font-weight:850;overflow-wrap:anywhere}
.member-list-phone{display:block;margin-top:5px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.member-list-wallet{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--line);font-size:11px}
.member-list-wallet strong{color:var(--ink);font-size:12px}
.member-list-wallet .wallet-unlinked{color:var(--muted);font-weight:700}
.member-wallet-details{grid-column:1/-1;min-width:0;border-top:1px solid var(--line);padding-top:8px}
.member-wallet-details summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:var(--ink);font-size:11px;font-weight:800;list-style:none}
.member-wallet-details summary::-webkit-details-marker{display:none}
.member-wallet-details summary:after{content:"";width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--orange-dark);transition:transform .15s ease}
.member-wallet-details[open] summary:after{transform:rotate(180deg)}
.member-wallet-details summary span{margin-left:auto;padding:3px 7px;border-radius:6px;background:#edf2f8;color:var(--muted);font-size:10px}
.member-wallet-list{display:grid;gap:7px;margin:9px 0 0;padding:0;list-style:none}
.member-wallet-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;background:#f7f9fc;border:1px solid var(--line);border-radius:6px}
.member-wallet-list li>span{display:grid;gap:3px;min-width:0}
.member-wallet-list li strong{color:var(--ink);font-size:10px;overflow-wrap:anywhere}
.member-wallet-list li small{color:var(--muted);font-size:9px;overflow-wrap:anywhere}
.member-wallet-list li b{flex:0 0 auto;color:var(--green);font-size:10px;text-align:right}
.member-wallet-empty{margin:8px 0 0;color:var(--muted);font-size:10px;line-height:1.5}
.member-list-empty{padding:18px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:12px;text-align:center}
.member-list-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px}
.member-list-pagination button,.member-list-pagination span{min-width:34px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-family:inherit;font-size:11px;text-align:center;cursor:pointer}
.member-list-pagination .current{border-color:var(--orange);background:var(--orange);font-weight:800}
.member-profile-trigger{display:block;width:64px;height:64px;padding:0;border:0;border-radius:6px;background:transparent;cursor:zoom-in;overflow:hidden}
.member-profile-trigger:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.member-profile-trigger .member-list-avatar{display:block}
.member-profile-dialog{width:min(460px,calc(100% - 24px));max-width:none;max-height:min(90vh,760px);padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 20px 60px #07132940;overflow:auto}
.member-profile-dialog::backdrop{background:#0713299c}
.member-profile-shell{min-width:0}
.member-profile-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f7f9fc}
.member-profile-header h2{margin:0;font-size:16px;font-weight:850;overflow-wrap:anywhere}
.member-profile-close{font-size:22px;line-height:1}
.member-profile-body{padding:14px}
.member-profile-photo{display:block;width:min(100%,300px);height:260px;margin:0 auto 12px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;object-fit:contain}
.member-profile-facts{display:grid;gap:7px;margin-bottom:12px}
.member-profile-facts p{display:flex;justify-content:space-between;gap:12px;margin:0;padding-bottom:7px;border-bottom:1px solid var(--line);font-size:11px}
.member-profile-facts span{color:var(--muted)}
.member-profile-facts strong{text-align:right;overflow-wrap:anywhere}
.member-profile-message{width:100%;min-height:38px;margin-bottom:12px;text-decoration:none}
.member-profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.member-profile-stats div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;font-size:11px}
.member-profile-stats span{color:var(--muted)}
.member-profile-stats strong{color:var(--ink);font-size:13px}
.member-profile-stats-note{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.member-card-action,.member-delete-action{grid-column:1/-1;width:100%;min-height:38px;padding:7px 8px;font-size:11px;gap:5px;text-decoration:none}
.member-card-action.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}
.member-card-action.btn-primary:hover{background:#e87900;border-color:#e87900;color:#fff}
.member-delete-action{background:#c74747;border-color:#c74747;color:#fff}
.member-delete-action:hover{background:#a93434;border-color:#a93434;color:#fff}
.member-delete-warning{margin-bottom:12px;padding:12px;border:1px solid #e7b7b7;border-radius:6px;background:#fff5f5;color:#7b2929;font-size:12px;line-height:1.55}
.member-delete-confirm{display:flex;align-items:flex-start;gap:8px;margin:0 0 12px;color:var(--ink);font-size:12px;font-weight:700}
.member-delete-confirm input{width:16px;height:16px;margin:1px 0 0;accent-color:#c74747}
.member-list-card[hidden],.member-list-empty[hidden],.member-list-grid[hidden]{display:none!important}
.tournament-form-grid .form-field textarea{width:100%;min-height:92px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);resize:vertical}
.tournament-notes-field{grid-column:1/-1}
.tournament-search{display:flex;gap:8px;margin-bottom:12px}
.tournament-search input{flex:1;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.tournament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px}
.tournament-card{display:grid;gap:8px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-card-head{display:block;padding-bottom:8px;border-bottom:1px solid var(--line)}
.tournament-date-rail{display:flex;grid-row:span 2;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;padding:4px 2px;border-right:1px solid var(--line);color:var(--navy);text-align:center}
.tournament-date-rail svg{width:15px;height:15px;margin-bottom:2px;color:var(--orange-dark)}
.tournament-date-rail strong{font-size:15px;font-weight:900;line-height:1.05}
.tournament-date-rail span{font-size:8px;font-weight:850;line-height:1.2}
.tournament-date-rail small{color:var(--muted);font-size:9px;line-height:1.2}
.tournament-card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:start;justify-items:start;gap:4px;min-width:0}
.tournament-card-title h2{grid-column:1/-1;width:100%;margin:0;color:var(--ink);font-size:14px;font-weight:850;line-height:1.25;overflow-wrap:anywhere}
.tournament-card-title>.tournament-location{grid-column:1/-1}
.list-counter-badge{display:grid;place-items:center;align-self:start;min-width:20px;height:20px;box-sizing:border-box;padding:0 5px;border:1px solid #f1c27b;border-radius:6px;background:#fff2dd;color:#9a4b00;font-size:10px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}
.list-counter-badge.is-open{border-color:#188653;background:#188653;color:#fff}
.list-counter-badge.is-closed{border-color:#cf3d49;background:#cf3d49;color:#fff}
.tournament-card-title .tournament-location{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:10px;font-weight:700;overflow-wrap:anywhere}
.tournament-location svg{width:13px;height:13px;flex:0 0 13px;color:#e5a900}
.tournament-status{flex:0 0 auto;padding:5px 7px;border:1px solid var(--line);border-radius:6px;font-size:9px;font-weight:850;white-space:nowrap}
.tournament-card-title .tournament-status{justify-self:end;padding:4px 6px;border-radius:6px}
.tournament-status.is-ongoing{border-color:#b7e4cf;background:#edf9f2;color:#14744d}
.tournament-status.is-complete{border-color:#b92f3b;background:#cf3d49;color:#fff}
.tournament-facts{display:grid;grid-template-columns:45px repeat(2,minmax(0,1fr));gap:6px}
.tournament-facts div{display:grid;gap:2px;min-width:0;padding:6px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.tournament-facts .tournament-date-rail{display:flex;grid-row:span 2;align-self:stretch;border-right:1px solid var(--line)}
.tournament-facts .tournament-date-rail strong{font-size:15px}
.tournament-facts .tournament-date-rail span{font-size:8px}
.tournament-facts .tournament-date-rail small{color:var(--muted);font-size:9px}
.tournament-facts span,.tournament-champion span{color:var(--muted);font-size:10px}
.tournament-facts strong{color:var(--ink);font-size:11px;overflow-wrap:anywhere}
.tournament-notes{margin:0;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.tournament-champion{display:flex;align-items:center;gap:8px;min-height:48px;padding:7px;border:1px solid #91c5a1;border-radius:6px;background:#eaf6ee;box-shadow:0 2px 8px rgba(145,197,161,.38)}
.tournament-champion img{width:40px;height:40px;flex:0 0 40px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-champion>div{display:grid;gap:3px;min-width:0}
.tournament-champion strong{color:var(--ink);font-size:11px;overflow-wrap:anywhere}
.tournament-champion-trophy{width:25px;height:25px;flex:0 0 25px;margin-left:auto;color:#ffd000;stroke:#e9a600;stroke-width:.65;filter:drop-shadow(0 1px 1px #8a5c0048)}
.tournament-champion-empty{padding-left:2px}
.tournament-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:7px;border-top:1px solid var(--line)}
.tournament-card-actions.is-list,.tournament-card-actions.is-update,.tournament-card-actions.is-delete{grid-template-columns:minmax(0,1fr)}
.tournament-card-actions.is-list .tournament-card-open{border-color:#c8e2ee;background:linear-gradient(135deg,#f1f9fc 0%,#e0f1f8 100%);color:#245b79}
.tournament-card-actions.is-list .tournament-card-open{min-height:38px;font-size:11px;gap:5px}
.tournament-card-actions.is-list .tournament-card-open svg{width:17px;height:17px;flex-basis:17px}
.tournament-card-actions.is-list .tournament-card-open:hover{border-color:#9ac9df;background:linear-gradient(135deg,#e5f5fb 0%,#d1eaf5 100%)}
.tournament-card-actions.is-list .tournament-card-open svg{filter:drop-shadow(0 1px 1px #123c5c45)}
.tournament-card-actions.is-update .btn,.tournament-card-actions.is-delete .btn{min-height:38px;padding:7px 8px;font-size:11px;gap:5px}
.tournament-card-actions.is-update .btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}
.tournament-card-actions.is-update .btn-primary:hover{background:#e87900;border-color:#e87900;color:#fff}
.tournament-card-actions.is-update .btn svg,.tournament-card-actions.is-delete .btn svg{width:17px;height:17px;flex-basis:17px}
.tournament-card-actions .btn{width:100%;min-width:0;min-height:34px;padding:6px 4px;font-size:9px;gap:3px;text-decoration:none;white-space:normal}
.tournament-card-actions .btn svg{width:13px;height:13px;flex:0 0 13px}
.tournament-card-actions button.btn{font-family:inherit;cursor:pointer}
.league-panel>.member-page-head{min-height:59px;grid-template-rows:34px 0fr;align-content:start;align-items:center}
.league-panel>.member-page-head.is-open{grid-template-rows:34px auto}
.league-form-grid .form-field small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.4}
.league-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px}
.league-card-grid[hidden]{display:none!important}
.league-card .tournament-status{border-radius:6px}
.league-card .league-facts{grid-template-columns:45px repeat(2,minmax(0,1fr))}
.league-card-actions{grid-template-columns:minmax(0,1fr)!important}
.league-card-actions .btn{min-height:38px;font-size:11px}
.league-linked-playoff{display:grid;gap:7px;margin-top:8px;padding:8px;border:1px solid #b9d7e7;border-radius:6px;background:linear-gradient(135deg,#f2f9fc 0%,#e8f4fa 100%)}
.league-linked-playoff-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink);font-size:11px;font-weight:900}
.league-linked-playoff-heading .tournament-status{position:static;font-size:9px}
.league-linked-playoff-champion{display:flex;align-items:center;gap:7px;min-width:0;padding:6px;border:1px solid #9ac9df;border-radius:6px;background:#fff}
.league-linked-playoff-champion img{width:38px;height:38px;flex:0 0 38px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.league-linked-playoff-champion>span:not(.league-linked-playoff-trophy){color:var(--muted);font-size:10px}
.league-linked-playoff-champion strong{min-width:0;color:var(--ink);font-size:11px;overflow-wrap:anywhere}
.league-linked-playoff-trophy{margin-left:auto;font-size:21px;filter:drop-shadow(0 1px 1px #97700055)}
.league-linked-playoff>.btn{min-height:36px}
.league-playoff-transfer-panel .panel-body{display:grid;gap:9px}
.league-playoff-transfer-summary,.league-playoff-linked-state{display:grid;gap:5px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--ink)}
.league-playoff-transfer-summary strong,.league-playoff-linked-state strong{font-size:12px}
.league-playoff-transfer-summary span,.league-playoff-linked-state span{color:var(--muted);font-size:10px;line-height:1.45}
.league-playoff-transfer-summary>b{color:var(--orange-dark);font-size:11px}
.league-playoff-candidate-groups{display:grid;gap:10px}
.league-playoff-rank-group{display:grid;gap:6px;min-width:0}
.league-playoff-rank-heading{margin:0;padding:3px 1px 6px;border-bottom:1px solid var(--orange);color:var(--orange-dark);font-size:11px;font-weight:900}
.league-playoff-candidate-list{display:grid;gap:6px}
.league-playoff-candidate{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(92px,120px);align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff}
.league-playoff-candidate>img{width:42px;height:42px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.league-playoff-candidate-info{display:grid;gap:3px;min-width:0}
.league-playoff-candidate-info strong{font-size:11px;overflow-wrap:anywhere}
.league-playoff-candidate-info span{color:var(--muted);font-size:9px}
.league-playoff-candidate>label{display:grid;gap:3px;color:var(--ink);font-size:9px;font-weight:800}
.league-playoff-candidate select{width:100%;min-height:32px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:10px}
.league-playoff-transfer-form .member-form-submit{margin-top:2px}
.league-playoff-transfer-form .member-form-submit .btn{width:100%}
.league-action-menu{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
.league-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;min-width:0}
.league-action-grid.has-draw{grid-template-columns:repeat(4,minmax(0,1fr))}
.league-action-grid .member-page-action{box-sizing:border-box;width:100%;min-width:0;min-height:46px}
.league-action-grid>form{display:flex;width:100%;min-width:0;margin:0}
.league-management-grid{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:start;padding-top:7px;border-top:1px solid var(--line)}
.league-action-heading{display:flex;align-items:center;gap:6px;margin:2px 0 0;color:var(--ink);font-size:11px;font-weight:850}
.league-action-heading svg{width:16px;height:16px;color:var(--orange-dark)}
.league-draw-form{display:flex;min-width:0;margin:0}
.league-draw-action{width:100%;font-family:inherit;cursor:pointer}
.league-draw-action:disabled{border-color:#d93645;background:#d93645;color:#fff;cursor:not-allowed;opacity:1;filter:saturate(.72)}
.league-draw-action:disabled svg{color:#fff}
.league-result-header-actions .tournament-fixed-actions{grid-column:auto;grid-row:auto}
.league-result-header-actions .tournament-fixed-action{box-sizing:border-box;height:34px;min-height:34px}
.league-result-header-actions .tournament-result-menu-toggle{box-sizing:border-box;height:34px;align-self:center}
.league-group-progress{display:grid;gap:9px;margin-bottom:12px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.league-group-progress .league-entry-progress{display:grid;gap:6px;margin:0}
.league-entry-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;color:var(--ink);font-size:11px}
.league-entry-progress small{color:var(--muted);font-size:10px;line-height:1.4}
.league-group-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:5px}
.league-group-counts>div{display:grid;gap:3px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff}
.league-group-counts strong{color:var(--ink);font-size:10px}
.league-group-counts span{color:var(--muted);font-size:9px}
.league-group-counts b{color:var(--orange-dark)}
.league-candidate-form{display:grid;gap:7px}
.league-player-search{margin:0}
.league-candidate-list{display:grid;gap:6px}
.league-candidate{display:grid;grid-template-columns:18px 40px minmax(0,1fr) 46px;align-items:center;gap:7px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}
.league-candidate[hidden]{display:none!important}
.league-candidate>input{width:16px;height:16px;margin:0;accent-color:var(--orange)}
.league-candidate>img{display:block;width:40px;height:40px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.league-candidate-name{display:grid;gap:2px;min-width:0}
.league-candidate-name label{display:block;min-width:0;color:var(--ink);cursor:pointer}
.league-candidate-name strong{color:var(--ink);font-size:10px;overflow-wrap:anywhere}
.league-candidate-name small{color:var(--muted);font-size:9px;line-height:1.25}
.league-candidate-name small:last-child{color:var(--green);font-weight:750}
.league-candidate-group{display:grid;gap:3px;color:var(--ink);font-size:9px;font-weight:800;text-align:center}
.league-candidate-group select{width:100%;min-height:30px;padding:3px 14px 3px 4px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:10px;text-align:center}
.league-add-players{width:100%;min-height:38px}
.league-added-players{display:grid;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.league-added-players>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.league-added-players h4{margin:0;color:var(--ink);font-size:12px}
.league-added-players>header>strong{color:var(--orange-dark);font-size:11px}
.league-added-list{display:grid;gap:5px}
.league-added-list>div{display:flex;align-items:center;gap:7px;min-width:0;padding:6px;border:1px solid var(--line);border-radius:6px;background:#fff}
.league-added-list img{width:34px;height:34px;flex:0 0 34px;object-fit:cover;border:1px solid var(--line);border-radius:6px}
.league-added-list strong{min-width:0;color:var(--ink);font-size:10px;overflow-wrap:anywhere}
.league-added-list span{margin-left:auto;color:var(--muted);font-size:9px;white-space:nowrap}
.league-standings-title{margin:0 0 9px;color:var(--ink);font-size:13px;font-weight:850}
.league-standings-groups{display:grid;gap:9px}
.league-standings-group{display:grid;gap:6px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}
.league-standings-group h5{margin:0;color:var(--ink);font-size:11px;font-weight:850}
.league-standings-scroll{max-width:100%;overflow-x:hidden}
.league-standings-table{table-layout:fixed}
.league-standings-table th,.league-standings-table td{font-size:9px}
.league-standings-table th:first-child,.league-standings-table td:first-child{width:28px}
.league-standings-table th:nth-child(2),.league-standings-table td:nth-child(2){width:34px}
.league-standings-table th:nth-child(3),.league-standings-table td:nth-child(3){width:auto}
.league-standings-table th:nth-child(n+4),.league-standings-table td:nth-child(n+4){width:32px}
.league-standings-table .tournament-standing-photo img{width:25px;height:25px}
.league-standings-table .tournament-standing-name{font-size:9px;white-space:normal;overflow-wrap:anywhere}
.league-empty-group{margin:0;color:var(--muted);font-size:10px}
.tournament-grid[hidden]{display:none!important}
.tournament-select-list{display:grid;gap:8px}
.tournament-select-list a{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-decoration:none}
.tournament-select-list a:hover{border-color:var(--orange);background:#fffaf4}
.tournament-select-list a>span{display:grid;gap:4px;min-width:0}
.tournament-select-list strong{font-size:12px;overflow-wrap:anywhere}
.tournament-select-list small{color:var(--muted);font-size:10px}
.tournament-select-list b{flex:0 0 auto;color:var(--muted);font-size:9px;text-align:right}
.tournament-delete-warning{margin-bottom:12px;padding:12px;border:1px solid #e7b7b7;border-radius:6px;background:#fff5f5;color:#7b2929;font-size:12px;line-height:1.55}
.tournament-delete-confirm-form{display:grid;gap:8px}
.tournament-delete-confirm-form .member-delete-action{width:100%}
.tournament-detail-summary{display:grid;gap:10px}
.tournament-detail-summary>.tournament-status{justify-self:start}
.tournament-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.tournament-detail-facts div{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.tournament-detail-facts span{color:var(--muted);font-size:10px}
.tournament-detail-facts strong{color:var(--ink);font-size:11px;overflow-wrap:anywhere}
.tournament-detail-actions{display:flex;flex-wrap:wrap;gap:7px}
.tournament-standings{display:grid;gap:9px;margin-top:0;padding-top:0;border-top:0}
.tournament-standings h2{margin:0;color:var(--ink);font-size:13px;font-weight:850}
.tournament-draw-action-form{display:flex;flex:1 1 0;min-width:0}
.tournament-draw-action{width:100%;font-family:inherit;cursor:pointer}
.tournament-draw-action:not(:disabled){border-color:#dc3545;background:#dc3545;color:#fff}
.tournament-draw-action:not(:disabled) svg{color:#fff}
.tournament-draw-action:not(:disabled):hover{border-color:#c82333;background:#c82333;color:#fff}
.tournament-draw-action:disabled{border-color:var(--line);background:#f1f4f8;color:#8490a3;cursor:not-allowed;opacity:.8}
.tournament-draw-action:disabled svg{color:#9aa6b7}
.tournament-standings-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tournament-standings-meta>div{display:grid;gap:3px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.tournament-standings-meta span{color:var(--muted);font-size:9px}
.tournament-standings-meta strong{color:var(--ink);font-size:10px;overflow-wrap:anywhere}
.tournament-standings-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-standings-table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;color:var(--ink);font-size:10px}
.tournament-standings-table th{position:sticky;top:0;padding:8px 5px;background:#eef2f7;color:#52627a;font-size:10px;font-weight:850;text-align:center;white-space:nowrap}
.tournament-standings-table th:nth-child(2){text-align:left}
.tournament-standings-table td{padding:6px 5px;border-top:1px solid #dbe3ee;text-align:center;white-space:nowrap}
.tournament-standing-rank{width:30px;color:#53627a;font-weight:800}
.tournament-standing-player{display:flex;align-items:center;gap:6px;min-width:180px;text-align:left!important}
.tournament-standing-player img{width:28px;height:28px;flex:0 0 28px;object-fit:cover;border:1px solid #d5dfed;border-radius:50%;background:#fff}
.tournament-standing-player>span{display:grid;gap:2px;min-width:0}
.tournament-standing-player strong{font-size:9px;overflow-wrap:anywhere;white-space:normal}
.tournament-standing-player small{color:inherit;font-size:8px;opacity:.82}
.tournament-standing-row[data-lives="1"] td{background:#fff7f7}
.tournament-standing-row[data-lives="2"] td{background:#ffeded}
.tournament-standing-row[data-lives="3"] td{background:#f9dada}
.tournament-standing-row[data-lives="4"] td{background:#f2c4c9}
.tournament-standing-row[data-lives="5"] td{background:#e8a6ae}
.tournament-standing-row.is-first td{background:#d6ebdf;color:#173c2b}
.tournament-standing-row.is-first .tournament-standing-rank{background:#16864f;color:#fff}
.tournament-standing-row.is-eliminated td{background:#d34b58;color:#fff;font-weight:800}
.tournament-standing-row.is-eliminated .tournament-standing-rank{background:#b83645;color:#fff;font-weight:900}
.tournament-player-photo-trigger{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;min-width:0;padding:0;border:0;border-radius:50%;background:transparent;cursor:zoom-in}
.tournament-player-photo-trigger:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.tournament-player-photo-trigger img{display:block;max-width:100%;object-fit:cover;border:1px solid #d5dfed;border-radius:50%;vertical-align:middle}
.tournament-standings-table-wrap .tournament-standing-photo .tournament-player-photo-trigger img{width:24px;height:24px}
.tournament-podium-card .tournament-player-photo-trigger img{width:37px;height:37px;border:2px solid #fff;box-shadow:0 1px 5px #1424432b}
.tournament-podium-place-1 .tournament-player-photo-trigger img{width:46px;height:46px;border-color:#edbd39}
.tournament-standings-legend{margin:0 0 3px;color:#53627a;font-size:10px;font-weight:700;line-height:1.45}
.tournament-standings-subtitle{margin:0 0 3px;color:#53627a;font-size:11px;font-weight:700;line-height:1.35}
.tournament-round-section{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.tournament-round-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tournament-round-section h2{margin:0;color:var(--ink);font-size:13px;font-weight:850}
.tournament-round-section>header>span{color:var(--muted);font-size:10px}
.tournament-round-list{display:grid;gap:6px}
.tournament-round-match{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-round-table{color:var(--muted);font-size:9px;font-weight:850;white-space:nowrap}
.tournament-round-players{display:flex;align-items:center;gap:6px;min-width:0;font-size:10px}
.tournament-round-players strong{overflow-wrap:anywhere}
.tournament-round-players span{color:var(--muted)}
.tournament-round-status{padding:4px 6px;border:1px solid #dce3ed;border-radius:6px;background:#f5f7fa;color:#69778b;font-size:8px;font-weight:850;white-space:nowrap}
.tournament-round-status.is-complete{border-color:#b7e4cc;background:#effaf4;color:#178251}
.tournament-round-match.is-bye{border-color:#ffd19a;background:#fff8ee}
.tournament-participant-section{display:grid;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.tournament-participant-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tournament-participant-heading h2{margin:0;color:var(--ink);font-size:13px;font-weight:850}
.tournament-participant-heading>strong{color:var(--orange-dark);font-size:12px;font-weight:900}
.tournament-entry-note{margin-bottom:10px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:11px;line-height:1.5}
.tournament-entry-note strong{color:var(--ink)}
.tournament-entry-progress{display:grid;gap:5px;margin-bottom:10px}
.tournament-entry-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink);font-size:11px}
.tournament-entry-progress>div:first-child span{font-weight:850}
.tournament-entry-progress-track{height:7px;overflow:hidden;border-radius:6px;background:#e7edf5}
.tournament-entry-progress-track span{display:block;height:100%;border-radius:6px;background:var(--orange);transition:width .18s ease}
.tournament-entry-progress p{margin:0;padding:7px 9px;border:1px solid #ffd19a;border-radius:6px;background:#fff8ee;color:#785019;font-size:10px;line-height:1.45}
.tournament-draw-minimum{margin:-3px 0 10px;color:var(--muted);font-size:10px;line-height:1.4}
.tournament-capacity-note{margin-bottom:10px}
.tournament-player-form{display:grid;gap:8px}
.tournament-candidate-search{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.tournament-candidate-list{display:grid;gap:7px}
.tournament-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-candidate[hidden],#tournamentNoCandidateMatches[hidden],#tournamentCapacityMessage[hidden]{display:none!important}
.tournament-candidate-main{display:grid;gap:3px;min-width:0}
.tournament-candidate-identity{display:grid;grid-template-columns:16px 40px minmax(0,1fr);align-items:center;gap:7px;min-width:0;cursor:pointer}
.tournament-candidate-identity>input{width:16px;height:16px;margin:0;accent-color:var(--orange)}
.tournament-candidate-identity>input:disabled{cursor:not-allowed}
.tournament-candidate-identity img,.tournament-participant-row>img{width:40px;height:40px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.tournament-candidate-identity>span,.tournament-participant-name{display:grid;gap:2px;min-width:0}
.tournament-candidate-identity strong,.tournament-participant-name strong{color:var(--ink);font-size:11px;font-weight:850;overflow-wrap:anywhere}
.tournament-candidate-identity small,.tournament-participant-name small{color:var(--muted);font-size:9px;overflow-wrap:anywhere}
.tournament-candidate-identity .tournament-candidate-balance{color:var(--green);font-weight:750}
.tournament-candidate-identity .tournament-candidate-balance.is-low{color:var(--red)}
.tournament-wallet-modal-trigger{justify-self:start;margin-left:23px;padding:0;border:0;background:transparent;color:var(--orange-dark);font-size:10px;font-weight:800;text-align:left;text-decoration:none;cursor:pointer}
.tournament-wallet-modal-trigger[hidden]{display:none!important}
.tournament-candidate-side{display:flex;align-items:center;gap:6px}
.tournament-candidate-lives{display:grid;gap:3px;width:50px;color:var(--ink);font-size:9px;font-weight:800;text-align:center}
.tournament-candidate-lives select{width:100%;min-width:0;min-height:29px;padding:3px 13px 3px 3px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:10px;text-align:center}
.tournament-wallet-dialog{width:min(440px,calc(100% - 24px));max-width:none;max-height:calc(100% - 24px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 20px 60px #101f3b45}
.tournament-wallet-dialog::backdrop{background:#101f3b88}
.tournament-wallet-dialog-content{display:grid;gap:8px;padding:16px}
.tournament-wallet-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tournament-wallet-dialog-heading h2{margin:0;color:var(--ink);font-size:15px;font-weight:850}
.tournament-wallet-dialog-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}
.tournament-wallet-dialog-close{width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:21px;line-height:1;cursor:pointer}
.tournament-wallet-dialog-balance{margin:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:11px}
.tournament-wallet-dialog-balance strong{color:var(--ink)}
.tournament-wallet-dialog-content>label{margin-top:2px;color:var(--ink);font-size:11px;font-weight:800}
.tournament-wallet-dialog-content>label span{color:var(--muted);font-weight:500}
.tournament-wallet-dialog-content>input[type="text"]{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.tournament-wallet-dialog-content>small{margin-top:-4px;color:var(--muted);font-size:10px;line-height:1.4}
.tournament-wallet-dialog-message{margin:0;padding:8px 9px;border:1px solid #efcaca;border-radius:6px;background:#fff5f5;color:var(--red);font-size:11px}
.tournament-wallet-dialog-message.is-success{border-color:#b7e4cc;background:#effaf4;color:var(--green)}
.tournament-wallet-dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:4px}
.club-wallet-player-card:target{scroll-margin-top:76px;border-color:var(--orange);box-shadow:0 0 0 2px #ff8a0030}
.tournament-player-submit{width:100%;min-height:42px;gap:10px;justify-content:space-between;padding:8px 13px}
.tournament-player-submit-count{padding:3px 7px;border:1px solid #ffffff65;border-radius:6px;background:#ffffff1c;color:#fff;font-size:10px;font-weight:800;white-space:nowrap}
.tournament-player-form.has-selection{padding-bottom:56px}
.tournament-player-form.has-selection .tournament-player-submit{position:fixed;z-index:30;bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);box-shadow:0 8px 24px #101f3c45,0 2px 7px #101f3c20}
.tournament-participant-list{display:grid;gap:6px}
.tournament-participant-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-life-count{padding:4px 6px;border:1px solid #ffd19a;border-radius:6px;background:#fff8ee;color:#8b5808;font-size:9px;font-weight:850;white-space:nowrap}
.tournament-life-count.is-eliminated{border-color:#efcaca;background:#fff5f5;color:#a93434}
.tournament-participant-section-compact{margin-top:12px}
.member-form-submit{display:flex;justify-content:flex-end;margin-top:12px}
.member-form-message{margin-bottom:12px}
.member-page-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 0fr;align-items:center;column-gap:10px;row-gap:0}
.tournament-standings-panel>.member-page-head,.tournament-score-panel>.member-page-head{min-height:59px;grid-template-rows:34px 0fr;align-content:start;align-items:center}
.member-page-head.is-open{grid-template-rows:auto 1fr}
.tournament-standings-panel>.member-page-head.is-open,.tournament-score-panel>.member-page-head.is-open{grid-template-rows:34px auto}
.member-page-head>div{grid-column:1;grid-row:1;min-width:0}
.member-page-head>div>h3{margin:0;color:var(--ink);font-size:14px;font-weight:850;line-height:1.25}
.member-page-toggle{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:32px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:10px;font-weight:800;white-space:nowrap}
.member-page-toggle>svg{width:16px;height:16px;color:var(--orange-dark)}
.member-page-toggle .member-page-toggle-arrow{width:14px;height:14px;transition:transform .18s ease}
.member-page-toggle[aria-expanded="true"] .member-page-toggle-arrow{transform:rotate(180deg)}
.member-page-nav{grid-column:1/-1;grid-row:2;display:flex;align-items:stretch;justify-content:space-between;gap:7px;width:calc(100% + 24px);min-height:0;justify-self:stretch;overflow:hidden;margin-left:-12px;margin-right:-12px;padding:8px 12px 0;background:linear-gradient(90deg,#fff 0%,#f7f9fc 100%);animation:member-page-nav-slide .2s ease-out both}
.member-page-nav[hidden]{display:none!important}
@keyframes member-page-nav-slide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.member-page-action{display:flex;flex:1 1 0;width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:46px;padding:4px 2px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-family:inherit;font-size:10px;font-weight:750;text-align:center;text-decoration:none;line-height:1.15;white-space:normal;appearance:none;cursor:pointer}
.member-page-action svg{width:15px;height:15px;flex:0 0 15px;color:#64758f}
.member-page-nav .member-page-action{font-size:11px}
.member-page-nav .member-page-action svg{width:17px;height:17px;flex-basis:17px}
.member-page-action:hover,.member-page-action[aria-current="page"]{border-color:var(--orange);background:#fff8ee;color:var(--ink)}
.member-page-action[aria-current="page"] svg{color:var(--orange-dark)}
@media(max-width:420px){.member-page-head{column-gap:7px}.member-page-nav{gap:5px;padding-top:6px}.member-page-toggle{gap:4px;padding:6px 7px;font-size:9px}.member-page-action{gap:2px;min-height:43px;padding:3px 2px;font-size:9px}.member-page-action svg{width:13px;height:13px;flex-basis:13px}.member-page-nav .member-page-action{font-size:10px}.member-page-nav .member-page-action svg{width:15px;height:15px;flex-basis:15px}}
@media(max-width:600px){.member-page-nav{width:calc(100% + 20px);margin-left:-10px;margin-right:-10px;padding-right:10px;padding-left:10px}}
.club-wallet-panel{margin-bottom:12px}
.club-wallet-panel .panel-head h3{font-size:14px;font-weight:850}
.club-wallet-panel .panel-head p{margin-top:4px;color:var(--muted);font-size:11px}
.club-wallet-list-block{grid-column:1/-1;min-width:0;padding-top:9px;border-top:1px solid var(--line)}
.club-wallet-list-block h4{margin:0 0 8px;color:var(--ink);font-size:11px;font-weight:850}
.member-wallet-list li.club-wallet-current{border-color:#ffd19a;background:#fff8ee}
.club-wallet-update-form{grid-column:1/-1;display:grid;gap:6px;padding-top:9px;border-top:1px solid var(--line)}
.club-wallet-update-form>label{font-size:11px;font-weight:800;color:var(--ink)}
.club-wallet-update-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.club-wallet-update-controls input{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.club-wallet-update-controls .btn{min-height:38px}
.club-wallet-note{width:100%;min-width:0;min-height:35px;padding:7px 9px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:10px}
.club-wallet-inactive-note,.club-link-preserve-note{grid-column:1/-1;margin:0;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:10px;line-height:1.45}
.club-player-link-form{grid-column:1/-1}
.club-player-link-form .btn{width:100%;min-height:38px}
.club-wallet-message{margin-bottom:12px}
.club-balance-preview>div{display:grid;gap:4px;min-width:0}
.club-balance-preview span{color:var(--muted);font-size:10px}
.club-balance-preview strong{color:var(--ink);font-size:12px;overflow-wrap:anywhere}
.club-balance-preview .is-negative{color:var(--red)}
.club-balance-preview .is-positive{color:var(--green)}
.club-balance-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.club-wallet-adjustment-help{display:grid;gap:2px;margin:0;color:var(--muted);font-size:10px;line-height:1.45}
@media(max-width:420px){.club-wallet-update-controls{grid-template-columns:minmax(0,1fr)}.club-wallet-update-controls .btn{width:100%}}
@media(max-width:520px){.club-balance-preview{grid-template-columns:minmax(0,1fr);gap:7px}.club-balance-preview>div{display:flex;align-items:center;justify-content:space-between;gap:8px}}

/* Jackpot setup, bracket and automatic score controls */
.jackpot-form-grid{margin:0}
.jackpot-form-grid .form-field small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}
.jackpot-grid{align-items:start}
.jackpot-card{gap:8px}
.jackpot-card .tournament-card-title{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.jackpot-card .tournament-card-title h2{grid-column:1/-1;grid-row:2}
.jackpot-status{grid-column:2;grid-row:1;justify-self:end;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font-size:9px;font-weight:850;white-space:nowrap}
.jackpot-status.is-waiting{border-color:#f2cf8f;background:#fff8e8;color:#8a5b06}
.jackpot-status.is-ongoing{border-color:#a8d9c3;background:#eff9f3;color:#14744d}
.jackpot-status.is-complete{border-color:#d99399;background:#cb3d4b;color:#fff}
.jackpot-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.jackpot-facts>div,.jackpot-summary>div{display:grid;gap:3px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.jackpot-facts span,.jackpot-summary span{color:var(--muted);font-size:10px}
.jackpot-facts strong,.jackpot-summary strong{color:var(--ink);font-size:11px;overflow-wrap:anywhere}
.jackpot-card-actions{display:grid;gap:6px;padding-top:7px;border-top:1px solid var(--line)}
.jackpot-card-actions .btn{width:100%;min-height:36px;text-decoration:none}
.jackpot-open-button{border-color:#bbd8e8;background:linear-gradient(110deg,#f0f8fc,#e1f1f8);color:var(--navy);font-size:12px;font-weight:850}
.jackpot-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.jackpot-secondary-actions .member-delete-action{background:#c74747;border-color:#c74747;color:#fff}
.jackpot-champion{margin:0}
.jackpot-trophy{margin-left:auto;color:#e5ae00;font-size:23px;filter:drop-shadow(0 1px 1px #97700055)}
.jackpot-search{margin-bottom:12px}
.jackpot-detail-panel{overflow:visible}
.jackpot-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:9px}
.jackpot-help{margin:0 0 12px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:11px;line-height:1.5}
.jackpot-bracket{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start;gap:10px}
.jackpot-round{display:grid;align-content:start;gap:8px;min-width:0}
.jackpot-round h4{margin:0;padding:2px 1px 6px;border-bottom:1px solid var(--orange);color:var(--orange-dark);font-size:12px;font-weight:900}
.jackpot-match{display:grid;gap:5px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff}
.jackpot-match-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-bottom:4px;border-bottom:1px solid #edf1f6}
.jackpot-match-heading>strong{color:var(--ink);font-size:10px}
.jackpot-match-status{padding:3px 5px;border:1px solid var(--line);border-radius:4px;background:#f6f8fb;color:var(--muted);font-size:8px;font-weight:850;white-space:nowrap}
.jackpot-match-status.is-complete{border-color:#b7e4cf;background:#eff9f3;color:#14744d}
.jackpot-player-slot{display:grid;grid-template-columns:31px minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:38px;padding:4px 5px;border:1px solid transparent;border-radius:6px;background:#f7f9fc}
.jackpot-player-slot.is-winner{border-color:#a6d2b5;background:#e9f5ed}
.jackpot-player-slot>img{width:30px;height:30px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#fff}
.jackpot-player-slot>strong{min-width:0;color:var(--ink);font-size:10px;font-weight:800;overflow-wrap:anywhere}
.jackpot-player-slot>form{display:flex;margin:0}
.jackpot-remove-player{width:23px;height:23px;padding:0;border:1px solid #e6a8ad;border-radius:6px;background:#fff5f5;color:#b52f3c;font-size:17px;line-height:1}
.jackpot-empty-slot{grid-column:1/-1;width:100%;min-height:34px;padding:6px;border:1px dashed #b9cce3;border-radius:6px;background:#fff;color:var(--muted);font-size:10px;font-weight:750}
.jackpot-empty-slot:hover{border-color:var(--orange);background:#fff8ee;color:var(--ink)}
.jackpot-empty-slot.is-placeholder{display:grid;place-items:center;border-style:dashed;color:#aab3c2;cursor:default}
.jackpot-score-select{width:59px;min-height:31px;padding:4px 5px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:11px;font-weight:800;text-align:center}
.jackpot-score-select.is-winning-score,.jackpot-score-static.is-winning-score{border-color:#a6d2b5;background:#e8f5ed;color:#176440}
.jackpot-score-select.is-losing-score,.jackpot-score-static.is-losing-score{border-color:#edc2c5;background:#fff0f1;color:#9e3540}
.jackpot-score-select:disabled{opacity:.7}
.jackpot-score-static{min-width:32px;padding:6px 7px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--ink);font-size:11px;font-weight:800;text-align:center}
.jackpot-score-message{grid-column:1/-1;min-height:0;margin:0;color:var(--muted);font-size:9px}
.jackpot-final-champion{margin-top:12px}
.jackpot-player-dialog{width:min(94vw,460px);max-width:460px;max-height:min(82vh,700px);padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 20px 70px #07132955}
.jackpot-player-dialog::backdrop{background:#07132988}
.jackpot-player-dialog-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(82vh,700px)}
.jackpot-player-dialog-form>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--line);background:#f7f9fc}
.jackpot-player-dialog-form>header h3{margin:0;font-size:14px}
.jackpot-player-dialog-form>header p{margin:3px 0 0;color:var(--muted);font-size:10px}
.jackpot-dialog-close{width:30px;height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:20px}
.jackpot-dialog-body{display:grid;align-content:start;gap:8px;min-height:0;padding:10px;overflow:auto}
.jackpot-player-filter{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.jackpot-player-options{display:grid;gap:4px;max-height:42vh;overflow:auto}
.jackpot-player-option{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:6px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);text-align:left}
.jackpot-player-option[hidden]{display:none}
.jackpot-player-option:hover,.jackpot-player-option.is-selected{border-radius:6px;background:#fff8ee;box-shadow:inset 0 0 0 1px #ffd19a}
.jackpot-player-option img{width:36px;height:36px;object-fit:cover;border:1px solid var(--line);border-radius:6px}
.jackpot-player-option>span{display:grid;gap:2px;min-width:0}
.jackpot-player-option strong{font-size:10px;overflow-wrap:anywhere}
.jackpot-player-option small{color:var(--muted);font-size:9px}
.jackpot-player-option>b{color:var(--green);font-size:10px;white-space:nowrap}
.jackpot-selected-player{margin:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--ink);font-size:10px;font-weight:750}
.jackpot-modal-error{margin:0;padding:8px;border:1px solid #efcaca;border-radius:6px;background:#fff5f5;color:var(--red);font-size:10px}
.jackpot-player-dialog-form>footer{display:flex;justify-content:flex-end;gap:7px;padding:10px;border-top:1px solid var(--line)}
.jackpot-edit-note{margin-bottom:10px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:600px){.jackpot-bracket{grid-template-columns:minmax(0,1fr)}.jackpot-summary{gap:5px}.jackpot-round{gap:7px}.jackpot-player-slot{grid-template-columns:32px minmax(0,1fr) auto auto}.jackpot-player-dialog{width:calc(100vw - 24px)}}

/* Keep all form controls consistent throughout the admin and login pages. */
:is(.app-shell,.auth-page) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea){border-radius:6px}
@media(max-width:700px){
  .member-form-grid{grid-template-columns:minmax(0,1fr);gap:9px}
  .member-form-panel .panel-body{padding:10px}
  .member-form-grid .form-field{padding:10px}
  .member-form-submit{justify-content:stretch}
  .member-form-submit .btn{width:100%}
  .member-list-toolbar{align-items:stretch;flex-direction:column}
  .member-list-search{width:100%}
  .member-list-grid{grid-template-columns:minmax(0,1fr)}
  .tournament-grid{grid-template-columns:minmax(0,1fr)}
}

a,a:hover,a:focus-visible{text-decoration:none}

/* Member editing and club wallet updates use centered dialogs, independent of list length. */
.member-edit-dialog,.member-wallet-dialog{width:min(900px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 20px 70px #07132955}
.member-edit-dialog::backdrop,.member-wallet-dialog::backdrop{background:#07132988}
.member-edit-dialog>.member-form-panel{margin:0;border:0;box-shadow:none}
.member-edit-close{flex:0 0 32px}
.member-wallet-card{grid-template-columns:64px minmax(0,1fr) 42px;align-items:center}
.member-wallet-card .member-wallet-current-balance{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--line);font-size:11px}
.member-wallet-current-balance span{color:var(--muted)}
.member-wallet-current-balance strong{color:var(--green);font-size:13px;white-space:nowrap}
.member-wallet-card .member-wallet-open{grid-column:3;grid-row:1;display:grid;place-items:center;justify-self:end;align-self:end;width:34px;height:34px;margin-bottom:2px;padding:3px;border:1px solid #e68b22;border-radius:6px;background:linear-gradient(145deg,#ffd18a 0%,#ffad3c 48%,#f28b17 100%);color:#fff;cursor:pointer;box-shadow:inset 0 1px 0 #fff8e8,0 2px 4px #75400b38,0 1px 0 #c66c12;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.member-wallet-card .member-wallet-open:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:inset 0 1px 0 #fff8e8,0 4px 7px #75400b42,0 1px 0 #c66c12}
.member-wallet-card .member-wallet-open:active{transform:translateY(1px);box-shadow:inset 0 2px 3px #75400b38}
.member-wallet-card .member-wallet-open svg{width:15px;height:15px;stroke-width:1.7}
.member-wallet-card .member-wallet-open.is-disabled{border-color:var(--line);background:#f1f4f8;color:#9aa6b7;cursor:not-allowed;box-shadow:none;transform:none;filter:none}
.member-wallet-dialog{width:min(460px,calc(100vw - 24px));max-height:min(90vh,760px);overflow:auto}
.member-wallet-dialog-form{display:grid;gap:0}
.member-wallet-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line);background:#f7f9fc}
.member-wallet-dialog-head h2{margin:0;color:var(--ink);font-size:15px;font-weight:850}
.member-wallet-dialog-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.member-wallet-dialog-body{display:grid;gap:8px;padding:14px}
.member-wallet-dialog-body>label{color:var(--ink);font-size:11px;font-weight:800}
.member-wallet-dialog-body>label span{color:var(--muted);font-weight:500}
.member-wallet-dialog-body>input{width:100%;min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.member-wallet-dialog-balance,.member-wallet-preview{margin:0;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:11px}
.member-wallet-dialog-balance strong,.member-wallet-preview strong{color:var(--ink);font-size:12px}
.member-wallet-dialog-help{display:grid;gap:2px;margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.member-wallet-preview{display:flex;align-items:center;justify-content:space-between;gap:10px}
.member-wallet-dialog-message{margin:0;padding:8px 9px;border:1px solid #efcaca;border-radius:6px;background:#fff5f5;color:var(--red);font-size:11px;line-height:1.45}
.member-wallet-dialog-message[hidden]{display:none}
.member-wallet-dialog-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 14px 14px}
.member-wallet-toast{margin:12px 0 0}
@media(max-width:600px){.member-edit-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.member-wallet-dialog{width:calc(100vw - 20px)}}

/* The standings remain a single horizontal table on narrow screens. */
.tournament-standings-scroll{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}

/* Compact, connected jackpot bracket tree. */
.jackpot-card-actions{grid-template-columns:minmax(0,1fr)}
.jackpot-tree-viewport{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:8px 0 10px;border-top:1px solid var(--line);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.jackpot-tree-viewport::-webkit-scrollbar{height:5px}
.jackpot-tree-viewport::-webkit-scrollbar-track{background:#edf1f6;border-radius:6px}
.jackpot-tree-viewport::-webkit-scrollbar-thumb{background:#f1a642;border-radius:6px}
.jackpot-tree{position:relative;display:grid;grid-template-columns:repeat(var(--jackpot-round-count),var(--jackpot-round-width)) 148px;column-gap:14px;width:max-content;min-width:100%;padding:0 8px;--jackpot-row-height:36px}
.jackpot-tree-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.jackpot-tree-lines path{fill:none;stroke:#9aa8ba;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jackpot-tree-column{position:relative;z-index:1;display:grid;grid-template-rows:22px auto;align-content:start;width:var(--jackpot-round-width);min-width:0}
.jackpot-tree-column>h4{height:22px;margin:0;padding:1px 2px 5px;border-bottom:1px solid var(--orange);color:var(--orange-dark);font-size:10px;font-weight:900;white-space:nowrap}
.jackpot-tree-round-grid{display:grid;grid-template-rows:repeat(var(--jackpot-tree-slots),var(--jackpot-row-height));min-width:0}
.jackpot-match{align-self:center;display:grid;grid-template-rows:14px 1fr 1fr;gap:2px;height:68px;min-width:0;padding:4px;border:1px solid #cfd9e7;border-radius:6px;background:#fff;box-shadow:0 2px 5px #10264a12;overflow:visible;z-index:1}
.jackpot-match-heading{display:flex;align-items:center;justify-content:space-between;gap:3px;min-width:0;padding:0;border:0}
.jackpot-match-heading>strong{overflow:hidden;color:var(--orange-dark);font-size:9px;line-height:1;white-space:nowrap;text-overflow:ellipsis}
.jackpot-match-status{display:grid;place-items:center;width:13px;height:13px;padding:0;border:1px solid #dce3ed;border-radius:50%;background:#f4f6f9;color:#a0a8b5;font-size:9px;line-height:1}
.jackpot-match-status.is-complete{border-color:#93d0ae;background:#e4f4e9;color:#14744d}
.jackpot-player-slot{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:3px;min-width:0;min-height:21px;padding:1px 2px;border:1px solid transparent;border-radius:4px;background:#f6f8fb}
.jackpot-player-slot.is-winner{border-color:#9bcfad;background:#e4f3e9}
.jackpot-player-slot .jackpot-player-photo-trigger{display:block;width:22px;height:22px;flex:0 0 22px;padding:0;border:0;border-radius:5px;background:#fff;overflow:hidden;cursor:zoom-in}
.jackpot-player-photo-trigger img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}
.jackpot-player-slot>strong{display:block;min-width:0;overflow:hidden;color:var(--ink);font-size:8px;font-weight:800;line-height:1.1;white-space:nowrap;text-overflow:ellipsis}
.jackpot-player-slot>form{display:flex;margin:0}
.jackpot-remove-player{width:17px;height:18px;padding:0;border:1px solid #e6a8ad;border-radius:4px;background:#fff5f5;color:#b52f3c;font-size:14px;line-height:1}
.jackpot-empty-slot{grid-column:1/-1;width:100%;min-height:20px;padding:2px;border:1px dashed #b9cce3;border-radius:4px;background:#fff;color:var(--muted);font-size:8px;font-weight:750;line-height:1.15}
.jackpot-empty-slot:hover{border-color:var(--orange);background:#fff8ee;color:var(--ink)}
.jackpot-empty-slot.is-placeholder{display:grid;place-items:center;border-style:dashed;color:#aab3c2;cursor:default}
.jackpot-score-select{width:29px;min-width:0;height:21px;min-height:21px;padding:1px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font-size:9px;font-weight:800;text-align:center}
.jackpot-score-select.is-winning-score,.jackpot-score-static.is-winning-score{border-color:#a6d2b5;background:#e8f5ed;color:#176440}
.jackpot-score-select.is-losing-score,.jackpot-score-static.is-losing-score{border-color:#edc2c5;background:#fff0f1;color:#9e3540}
.jackpot-score-static{min-width:24px;padding:2px 3px;border:1px solid var(--line);border-radius:4px;background:#f7f9fc;color:var(--ink);font-size:9px;font-weight:800;text-align:center}
.jackpot-score-message{grid-column:1/-1;min-height:0;margin:0;color:var(--muted);font-size:8px}
.jackpot-tree-champion-column{width:148px}
.jackpot-tree-champion-column .jackpot-tree-round-grid{grid-template-rows:repeat(var(--jackpot-tree-slots),var(--jackpot-row-height))}
.jackpot-champion-podium{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:138px;padding:10px 7px;border:1px solid #e8c76c;border-radius:6px;background:linear-gradient(180deg,#fff9e6,#fff1c8);text-align:center;box-shadow:0 3px 8px #d6aa3d1f;z-index:1}
.jackpot-podium-trophy{color:#d79b00;font-size:27px;line-height:1;filter:drop-shadow(0 2px 1px #9d6c004d)}
.jackpot-champion-photo-trigger{display:block;width:52px;height:52px;padding:2px;border:2px solid #e7b523;border-radius:50%;background:#fff;overflow:hidden;cursor:zoom-in}
.jackpot-champion-photo-trigger img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.jackpot-champion-podium>strong{max-width:100%;color:var(--ink);font-size:9px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.jackpot-champion-label{padding:3px 5px;border:1px solid #e8c76c;border-radius:4px;background:#fff;color:#8c6500;font-size:7px;font-weight:900;line-height:1.2}
.jackpot-champion-pending{color:var(--muted);font-size:8px;line-height:1.3}
@media(max-width:700px){.jackpot-tree-viewport{margin-right:-2px}.jackpot-tree{column-gap:11px;padding-right:12px}.jackpot-tree-column>h4{font-size:9px}.jackpot-tree-lines path{stroke-width:1.5}}
.tournament-standings-scroll .tournament-standings-table{display:table;width:100%;min-width:435px;table-layout:fixed;border-collapse:separate;border-spacing:0}
.tournament-standings-scroll .tournament-standings-table thead{display:table-header-group}
.tournament-standings-scroll .tournament-standings-table tbody{display:table-row-group}
.tournament-standings-scroll .tournament-standings-table tr{display:table-row;width:auto}
.tournament-standings-scroll .tournament-standings-table th,
.tournament-standings-scroll .tournament-standings-table td{display:table-cell;width:auto;padding:6px 3px;vertical-align:middle}
.tournament-standings-scroll .tournament-standings-table th{font-size:8px;line-height:1.2;text-align:center}
.tournament-standings-scroll .tournament-standings-table th:nth-child(3){text-align:left}
.tournament-standings-scroll .tournament-standings-table .standing-col-rank{width:42px}
.tournament-standings-scroll .tournament-standings-table .standing-col-photo{width:36px}
.tournament-standings-scroll .tournament-standings-table .standing-col-name{width:auto}
.tournament-standings-scroll .tournament-standings-table .standing-col-g,
.tournament-standings-scroll .tournament-standings-table .standing-col-m{width:40px}
.tournament-standings-scroll .tournament-standings-table .standing-col-h,
.tournament-standings-scroll .tournament-standings-table .standing-col-b{width:34px}
.tournament-standings-scroll .tournament-standings-table .standing-col-a{width:54px}
.tournament-standings-scroll .tournament-standings-table .tournament-standing-rank{font-size:9px;font-weight:850;text-align:center}
.tournament-standings-scroll .tournament-standings-table .tournament-standing-photo{text-align:center}
.tournament-standing-photo img{display:inline-block;width:28px;height:28px;object-fit:cover;border:1px solid #d5dfed;border-radius:50%;vertical-align:middle}
.tournament-standings-scroll .tournament-standings-table .tournament-standing-name{min-width:0;text-align:left;white-space:normal}
.tournament-standing-name strong{display:block;font-size:9px;line-height:1.25;overflow-wrap:anywhere}
.tournament-standing-name small{display:block;margin-top:2px;font-size:8px;line-height:1.2}
.tournament-standings-scroll .tournament-standings-table td:nth-child(n+4){font-size:9px;text-align:center;white-space:nowrap}
.tournament-draw-action-form{align-self:stretch;align-items:stretch;margin:0;padding:0}
.member-page-nav .tournament-draw-action{box-sizing:border-box;align-self:center;height:46px;min-height:46px;max-height:46px;margin:0;padding:4px 2px;line-height:1.15}
@media(max-width:420px){
  .member-page-nav .tournament-draw-action{height:43px;min-height:43px;max-height:43px;padding:3px 2px}
}

.tournament-fixed-actions{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.tournament-fixed-action{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-family:inherit;font-size:9px;font-weight:800;line-height:1.15;text-decoration:none;white-space:nowrap;appearance:none;cursor:pointer}
.tournament-fixed-action svg{width:14px;height:14px;flex:0 0 14px;color:var(--orange-dark)}
.tournament-fixed-action:hover,.tournament-fixed-action.is-current{border-color:var(--orange);background:#fff4e5;color:var(--ink)}
.tournament-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:5px;margin:0 0 9px;padding:4px 3px 0}
.tournament-podium-card{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:1px solid var(--podium-border);border-radius:6px;background:var(--podium-soft);text-align:center}
.tournament-podium-place-1{--podium-border:#f0d078;--podium-soft:#fff8df;--trophy-light:#fff5a8;--trophy-mid:#f4c32a;--trophy-deep:#a86f00;grid-column:2;grid-row:1;min-height:110px}
.tournament-podium-place-2{--podium-border:#d1dbe7;--podium-soft:#f1f4f8;--trophy-light:#fff;--trophy-mid:#c5cfdb;--trophy-deep:#6b7b91;grid-column:1;grid-row:1;min-height:100px}
.tournament-podium-place-3{--podium-border:#efc6ad;--podium-soft:#fff2e9;--trophy-light:#ffe1c7;--trophy-mid:#cd8055;--trophy-deep:#854326;grid-column:3;grid-row:1;min-height:96px}
.tournament-podium-rank{display:flex;align-items:center;justify-content:center;color:var(--trophy-deep);font-size:12px;font-weight:900;line-height:1}
.tournament-podium-place-1 .tournament-podium-rank{font-size:15px}
.tournament-podium-trophy{display:block;width:25px;height:28px;overflow:visible;filter:drop-shadow(0 1px 1px #14244325)}
.tournament-podium-card img{width:37px;height:37px;object-fit:cover;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #1424432b}
.tournament-podium-place-1 img{width:46px;height:46px;border-color:#edbd39}
.tournament-podium-card strong{max-width:100%;color:var(--ink);font-size:9px;line-height:1.2;overflow-wrap:anywhere}
.tournament-standings-table-wrap{width:100%;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-standings-table-wrap .tournament-standings-table{display:table;width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;border-spacing:0}
.tournament-standings-table-wrap .tournament-standings-table thead{display:table-header-group}
.tournament-standings-table-wrap .tournament-standings-table tbody{display:table-row-group}
.tournament-standings-table-wrap .tournament-standings-table tr{display:table-row;width:auto}
.tournament-standings-table-wrap .tournament-standings-table th,
.tournament-standings-table-wrap .tournament-standings-table td{display:table-cell;width:auto;padding:4px 2px;vertical-align:middle}
.tournament-standings-table-wrap .tournament-standings-table th{background:#eef2f7;font-size:9px;line-height:1.1;text-align:center;white-space:nowrap}
.tournament-standings-table-wrap .tournament-standings-table th:nth-child(3){text-align:left}
.tournament-standings-table-wrap .tournament-standings-table .standing-col-rank{width:8%}
.tournament-standings-table-wrap .tournament-standings-table .standing-col-photo{width:10%}
.tournament-standings-table-wrap .tournament-standings-table .standing-col-name{width:52%}
.tournament-standings-table-wrap .tournament-standings-table .standing-col-g,
.tournament-standings-table-wrap .tournament-standings-table .standing-col-m,
.tournament-standings-table-wrap .tournament-standings-table .standing-col-h,
.tournament-standings-table-wrap .tournament-standings-table .standing-col-a,
.tournament-standings-table-wrap .tournament-standings-table .standing-col-b{width:6%}
.tournament-standings-table-wrap .tournament-standings-table .tournament-standing-rank{font-size:9px;font-weight:850;text-align:center}
.tournament-standings-table-wrap .tournament-standings-table .tournament-standing-photo{text-align:center}
.tournament-standing-photo img{display:inline-block;width:24px;height:24px;max-width:100%;object-fit:cover;border:1px solid #d5dfed;border-radius:50%;vertical-align:middle}
.tournament-standings-table-wrap .tournament-standings-table .tournament-standing-name{min-width:0;text-align:left;white-space:normal}
.tournament-standing-name strong{display:block;font-size:8px;line-height:1.15;overflow-wrap:anywhere}
.tournament-standing-name small{display:block;margin-top:2px;font-size:9px;line-height:1.2}
.tournament-standings-table-wrap .tournament-standings-table td:nth-child(n+4){font-size:9px;text-align:center;white-space:nowrap}
.tournament-standing-row[data-rights-lost="1"] td{background:#fff8f8}
.tournament-standing-row[data-rights-lost="2"] td{background:#ffeded}
.tournament-standing-row[data-rights-lost="3"] td{background:#f9dada}
.tournament-standing-row[data-rights-lost="4"] td{background:#f1c4c9}
.tournament-standing-row[data-rights-lost="5"] td{background:#e8a6ae}
.tournament-standing-row.is-first td{background:#d6ebdf;color:#173c2b}
.tournament-standing-row.is-first .tournament-standing-rank{background:#16864f;color:#fff}
.tournament-standing-row.is-eliminated td{background:#d34b58;color:#fff;font-weight:800}
.tournament-standing-row.is-eliminated .tournament-standing-rank{background:#b83645;color:#fff;font-weight:900}
.tournament-score-panel .panel-body{display:grid;gap:9px}
.tournament-round-toolbar{display:grid;grid-template-columns:minmax(100px,112px) minmax(0,1fr);gap:7px;align-items:center}
.tournament-round-filter{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.tournament-round-filter label{color:#111827;font-size:10px;font-weight:900;text-align:right}
.tournament-round-filter select{width:100%;min-width:0;min-height:28px;padding:3px 5px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:9px}
.tournament-round-subtitle{min-width:0;margin:0;color:var(--muted);font-size:10px;line-height:1.35;text-align:right;overflow-wrap:anywhere}
.tournament-score-list{display:grid;gap:8px}
.tournament-score-card{display:grid;gap:9px;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-score-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tournament-score-card>header>strong{color:var(--ink);font-size:10px;font-weight:850}
.tournament-score-players{display:grid;grid-template-columns:minmax(0,1fr) 32px 8px 32px minmax(0,1fr);align-items:center;gap:4px}
.tournament-score-player{display:flex;align-items:center;gap:4px;min-width:0;color:var(--ink);font-size:8px;font-weight:600;line-height:1.15}
.tournament-score-player strong{min-width:0;font-weight:700;overflow-wrap:anywhere}
.tournament-score-player img{width:24px;height:24px;flex:0 0 24px;object-fit:cover;border:1px solid var(--line);border-radius:50%;background:#f7f9fc}
.tournament-score-player-two{justify-content:flex-end;text-align:right}
.tournament-score-players select{width:100%;min-width:0;min-height:26px;padding:2px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:9px;font-weight:600;text-align:center;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none}
.tournament-score-players select::-ms-expand{display:none}
.tournament-score-players select.is-winning-score{border-color:#a8d9ba;background:#e9f6ee;color:#145b37}
.tournament-score-players select.is-losing-score{border-color:#edb7b7;background:#fff0f0;color:#8f2d35}
.tournament-score-separator{color:var(--muted);font-size:12px;font-weight:600;text-align:center}
.tournament-next-round-wrap{padding-top:8px;border-top:1px solid var(--line)}
.tournament-next-round-wrap form{width:100%;margin:0}
.tournament-next-round{display:flex;align-items:center;justify-content:center;width:100%;min-height:38px;text-decoration:none}
.tournament-next-round:disabled{border-color:var(--green);background:var(--green);color:#fff;cursor:not-allowed;opacity:.78}

.tournament-result-header-actions{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.member-page-head>.tournament-result-header-actions{grid-column:2;grid-row:1}
.tournament-standings-panel .tournament-result-header-actions,.tournament-score-panel .tournament-result-header-actions{height:34px;align-self:center}
.tournament-result-header-actions .tournament-fixed-actions{grid-column:auto;grid-row:auto}
.tournament-result-header-actions .tournament-fixed-actions{order:1}
.tournament-result-header-actions>.tournament-result-menu-toggle{order:2}
.tournament-result-header-actions .tournament-fixed-action{box-sizing:border-box;height:34px;min-height:34px;align-self:center}
.tournament-result-menu-toggle{grid-column:auto;grid-row:auto;display:flex;flex:0 1 auto;align-items:center;justify-content:center;gap:5px;width:auto;min-width:34px;min-height:34px;padding:4px 8px;box-sizing:border-box;height:34px;align-self:center}
.tournament-result-menu-toggle>svg{width:14px;height:14px;flex:0 0 14px}
.tournament-result-menu-toggle>span{color:var(--ink);font-size:10px;font-weight:800;line-height:1.1;white-space:nowrap}
.tournament-result-menu-toggle>svg.member-page-toggle-arrow{display:block;width:12px;height:12px;flex:0 0 12px;margin-left:0;color:var(--orange-dark);transition:transform .18s ease}
.tournament-result-menu-toggle[aria-expanded="true"]>svg.member-page-toggle-arrow{transform:rotate(180deg)}
.tournament-result-menu{grid-column:1/-1;grid-row:2;align-items:stretch;justify-content:stretch}
.tournament-result-menu form{display:flex;flex:1 1 0;max-width:none;min-width:0;margin:0}
.tournament-result-menu form .member-page-action{width:100%}
.tournament-result-menu>.tournament-league-list-link{display:flex;flex:1 1 0;max-width:none;min-width:0;box-sizing:border-box}
.tournament-result-menu.result-action-menu{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}
.result-management-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.result-management-grid.has-cancel{grid-template-columns:repeat(4,minmax(0,1fr))}
.result-management-grid form{display:flex;width:100%;min-width:0;margin:0}
.member-page-action.tournament-cancel-round{border-color:#c92e3a;background:#d93645;color:#fff;font-weight:850}
.member-page-action.tournament-cancel-round svg{color:#fff}
.member-page-action.tournament-cancel-round:hover{border-color:#b7202c;background:#c92e3a;color:#fff}
.member-page-action.tournament-cancel-round:disabled{border-color:#d36b75;background:#d36b75;color:#fff;cursor:not-allowed;opacity:.62}
.member-page-action.tournament-cancel-round:disabled svg{color:#fff}
.app-confirm-dialog{width:min(420px,calc(100vw - 24px));max-width:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 20px 60px #07132940}
.app-confirm-dialog::backdrop{background:#0713299c}
.app-confirm-content{display:grid;gap:12px;padding:14px}
.app-confirm-content header{padding-bottom:9px;border-bottom:1px solid var(--line)}
.app-confirm-content h2{margin:0;color:var(--ink);font-size:14px;font-weight:850}
.app-confirm-content p{margin:0;color:#3f5068;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.app-confirm-content footer{display:flex;justify-content:flex-end;gap:7px;padding-top:2px}
.app-confirm-content button{min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}
.app-confirm-content .app-confirm-accept{border-color:#d93645;background:#d93645;color:#fff}
.app-confirm-content .app-confirm-accept:hover{border-color:#b7202c;background:#c92e3a}
.app-confirm-content button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
@media(max-width:420px){
  .tournament-result-header-actions{gap:3px}
  .tournament-result-header-actions .tournament-fixed-actions{gap:3px}
  .tournament-result-header-actions .tournament-fixed-action{gap:2px;padding:4px;font-size:8px}
  .tournament-result-header-actions .tournament-fixed-action svg{width:11px;height:11px;flex-basis:11px}
  .tournament-result-menu-toggle{flex-basis:auto;width:auto;min-width:32px;min-height:32px;padding:4px 6px;gap:4px}
  .tournament-result-menu-toggle>svg{width:13px;height:13px;flex-basis:13px}
  .tournament-result-menu-toggle>span{font-size:9px}
  .tournament-result-menu-toggle .member-page-toggle-arrow{width:10px;height:10px;flex-basis:10px}
  .tournament-result-menu{gap:4px}
  .tournament-result-menu .member-page-action{font-size:8px}
}
.tournament-completed-note{padding:9px 10px;border:1px solid #b9dfca;border-radius:6px;background:#edf8f1;color:#236143;font-size:10px;line-height:1.4}
.tournament-score-bye{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #ffd19a;border-radius:6px;background:#fff8ee;color:var(--ink);font-size:10px}
.tournament-score-bye strong{min-width:0;overflow-wrap:anywhere}
.tournament-score-bye>span:last-child{margin-left:auto;color:var(--green);font-size:9px;font-weight:800;text-align:right}
.tournament-round-status{border-radius:4px}
.tournament-standings-table-wrap .tournament-standings-table td:nth-child(n+4){color:#101f3c;font-size:9px;font-weight:600}
@media(max-width:420px){
  .tournament-fixed-actions{gap:3px}
  .tournament-fixed-action{gap:3px;min-height:31px;padding:4px 5px;font-size:8px}
  .tournament-fixed-action svg{width:12px;height:12px;flex-basis:12px}
  .tournament-podium-card{padding:6px 2px}
  .tournament-podium-card strong{font-size:8px}
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-rank{width:7%}
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-photo{width:10%}
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-name{width:41%}
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-g,
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-m,
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-h,
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-a,
  .tournament-standings-table-wrap .tournament-standings-table .standing-col-b{width:7%}
}

/* Shade each standing number slightly darker than its row band. */
.tournament-standing-row:not(.is-first):not(.is-eliminated)[data-rights-lost="0"] .tournament-standing-rank{background:#eef1f6;color:#53627a}
.tournament-standing-row[data-rights-lost="1"] .tournament-standing-rank{background:#f1dfe2;color:#6a3540}
.tournament-standing-row[data-rights-lost="2"] .tournament-standing-rank{background:#f2d5d9;color:#6a3540}
.tournament-standing-row[data-rights-lost="3"] .tournament-standing-rank{background:#edc1c6;color:#6a3540}
.tournament-standing-row[data-rights-lost="4"] .tournament-standing-rank{background:#e3aab1;color:#632a34}
.tournament-standing-row[data-rights-lost="5"] .tournament-standing-rank{background:#d98691;color:#5c202a}
.tournament-standing-row.is-first .tournament-standing-rank{background:#b9d9c7;color:#173c2b}
.tournament-standing-row.is-eliminated .tournament-standing-rank{background:#b83645;color:#fff;font-weight:900}
.tournament-standing-row:not(.is-first):not(.is-eliminated)[data-rights-lost="0"] .tournament-standing-rank{background:#f7f8fa;color:#53627a}
.tournament-standing-name-line{display:flex;align-items:center;gap:3px;min-width:0}
.tournament-standing-name-trigger{display:block;flex:0 1 auto;min-width:0;width:auto;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-size:9px;font-weight:700;line-height:1.2;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.tournament-standing-name-trigger:focus-visible{outline:1px solid var(--orange);outline-offset:1px}
.tournament-standing-match-results{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:2px;min-width:0;margin-left:auto}
.tournament-standing-match-results[hidden]{display:none!important}
.tournament-match-score-badge{flex:0 0 auto;padding:3px 5px;border-radius:4px;color:#fff;font-size:8px;font-weight:800;white-space:nowrap}
.tournament-match-score-badge.is-win{background:#16845b}
.tournament-match-score-badge.is-loss{background:#c93442}
.tournament-match-score-badge.is-pending{background:var(--orange);color:#fff}
.tournament-match-count-badge{flex:0 0 auto;padding:3px 5px;border:1px solid #246bb3;border-radius:4px;background:#246bb3;color:#fff;font-size:8px;font-weight:850;line-height:1.2;cursor:pointer}
.tournament-match-score-badge,.tournament-match-count-badge{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:20px;padding:0 4px;line-height:1;text-align:center}
.tournament-match-dialog{width:min(420px,calc(100vw - 24px));max-width:none;max-height:calc(100% - 24px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 20px 60px #07132940}
.tournament-match-dialog::backdrop{background:#0713299c}
.tournament-match-dialog-content{display:grid;gap:10px;padding:14px}
.tournament-match-dialog-content>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.tournament-match-dialog-content h2{margin:0;color:var(--ink);font-size:14px;font-weight:850}
.tournament-match-dialog-content p{margin:3px 0 0;color:var(--muted);font-size:10px}
.tournament-match-dialog-close{width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:21px;line-height:1;cursor:pointer}
.tournament-match-dialog-list{display:grid;gap:6px}
.tournament-match-dialog-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.tournament-match-dialog-round{color:var(--ink);font-size:10px;font-weight:750}
.tournament-match-dialog .tournament-match-score-badge{min-width:38px;text-align:center}
.tournament-match-dialog .tournament-match-score-badge.is-pending{background:#dfae27;color:#fff}
.tournament-no-match-results{color:var(--muted);font-size:8px}
.tournament-standings-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.tournament-standing-name small{font-size:9px;line-height:1.2}
.tournament-standings-table-wrap .tournament-standings-table th{font-size:10px;line-height:1.2}
.tournament-standings-table-wrap .tournament-standings-table td:nth-child(n+4){font-size:10px}
.tournament-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;margin-top:0}
.tournament-summary-card{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}
.tournament-summary-card h4{margin:0;color:var(--ink);font-size:11px;font-weight:850}
.tournament-summary-card ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.tournament-summary-card li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--ink);font-size:10px}
.tournament-summary-card li span{min-width:0;overflow-wrap:anywhere}
.tournament-summary-card li strong{flex:0 0 auto;color:var(--orange-dark);font-size:11px;font-weight:850}
.tournament-summary-empty{margin:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:10px}
@media(min-width:1000px){
 .tournament-standings-layout{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:start;gap:12px}
 .tournament-summary-cards{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:420px){
 .tournament-standings-table-wrap .tournament-standings-table .standing-col-g,
 .tournament-standings-table-wrap .tournament-standings-table .standing-col-m,
 .tournament-standings-table-wrap .tournament-standings-table .standing-col-h,
 .tournament-standings-table-wrap .tournament-standings-table .standing-col-a,
 .tournament-standings-table-wrap .tournament-standings-table .standing-col-b{width:8.4%}
 .tournament-standing-name small{font-size:9px;line-height:1.2}
 .tournament-standings-table-wrap .tournament-standings-table th{font-size:9px}
 .tournament-standings-table-wrap .tournament-standings-table td:nth-child(n+4){font-size:10px}
}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated td{background:#d34b58;color:#fff;font-weight:800}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-standing-rank{background:#b83645;color:#fff;font-weight:900}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-standing-name-trigger{color:#fff;font-weight:850}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-standing-name small{color:#fff;font-weight:750;opacity:1}
.tournament-standings-table-wrap .tournament-standings-table th{border-bottom:1px solid #dbe3ee}
.tournament-standings-table-wrap .tournament-standings-table td{border-top:0;border-bottom:1px solid #dbe3ee}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="1"] td{border-bottom-color:#f1dfe2}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="2"] td{border-bottom-color:#f2d5d9}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="3"] td{border-bottom-color:#edc1c6}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="4"] td{border-bottom-color:#e3aab1}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="5"] td{border-bottom-color:#d98691}
.tournament-standings-table-wrap .tournament-standing-row:not(.is-first):not(.is-eliminated)[data-rights-lost="0"] td{border-bottom-color:#f7f8fa}
.tournament-standings-table-wrap .tournament-standing-row.is-first td{border-bottom-color:#b9d9c7}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated td{border-bottom-color:#b83645}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="1"] .tournament-standing-rank{background:#f1dfe2}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="2"] .tournament-standing-rank{background:#f2d5d9}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="3"] .tournament-standing-rank{background:#edc1c6}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="4"] .tournament-standing-rank{background:#e3aab1}
.tournament-standings-table-wrap .tournament-standing-row[data-rights-lost="5"] .tournament-standing-rank{background:#d98691}
.tournament-standings-table-wrap .tournament-standing-row.is-first .tournament-standing-rank{background:#b9d9c7;color:#173c2b}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-standing-rank{background:#b83645;color:#fff;font-weight:900}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-match-score-badge,
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-match-count-badge{border:1px solid #fff;box-shadow:0 0 0 1px #ffffff55}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-match-score-badge.is-win{background:#238b63}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-match-score-badge.is-loss{background:#d14452}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-match-score-badge.is-pending{background:#d98212}
.tournament-standings-table-wrap .tournament-standing-row.is-eliminated .tournament-match-count-badge{border-color:#fff;background:#3d82c5}

/* League standings: tabbed groups and a full-width table without horizontal scrolling. */
.league-standings-tabs{display:flex;gap:2px;width:100%;margin:0 0 8px;padding:0;border-bottom:1px solid var(--line)}
.league-standings-tab{flex:1 1 0;min-width:0;min-height:34px;margin:0 0 -1px;padding:6px 8px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:6px 6px 0 0;background:transparent;color:var(--muted);font-family:inherit;font-size:11px;font-weight:750;text-align:center;cursor:pointer}
.league-standings-tab[aria-selected="true"]{border-color:var(--line);border-bottom-color:#fff;background:#fff;color:var(--ink);box-shadow:inset 0 2px 0 var(--orange)}
.league-standings-group{display:block;min-width:0;padding:0;border:0;border-radius:0;background:transparent}
.league-standings-group[hidden]{display:none!important}
.league-standings-table-wrap{width:100%;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}
.league-standings-table{display:table;width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--ink);font-size:10px}
.league-standings-table thead{display:table-header-group}
.league-standings-table tbody{display:table-row-group}
.league-standings-table tr{display:table-row;width:auto}
.league-standings-table th,.league-standings-table td{display:table-cell;width:auto!important;padding:5px 2px;vertical-align:middle}
.league-standings-table th{background:#eef2f7;color:#52627a;font-size:9px;font-weight:850;text-align:center;white-space:nowrap}
.league-standings-table th:nth-child(2){text-align:center}
.league-standings-table th:nth-child(3){text-align:left}
.league-standings-table .standing-col-rank{width:8%!important}
.league-standings-table .standing-col-photo{width:11%!important}
.league-standings-table .standing-col-name{width:48%!important}
.league-standings-table .standing-col-g,.league-standings-table .standing-col-m,.league-standings-table .standing-col-a{width:11%!important}
.league-standings-table .tournament-standing-rank{background:#f0f2f5;color:#53627a;font-size:9px;font-weight:800;text-align:center;white-space:nowrap}
.league-standings-table .tournament-standing-photo{text-align:center}
.league-standings-table .tournament-standing-photo img{display:block;width:25px;height:25px;margin:auto;border-radius:50%;object-fit:cover}
.league-standings-table .tournament-standing-name{min-width:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
.league-standings-table .tournament-standing-name-line{gap:2px}
.league-standings-table .tournament-standing-name-trigger{font-size:9px;line-height:1.2}
.league-standings-table td:nth-child(n+4){color:#101f3c;font-size:10px;font-weight:600;text-align:center;white-space:nowrap}
.league-standings-table .league-standing-row td{border-top:0;border-bottom:1px solid #e0e5ec;background:#fff}
.league-standings-table .league-standing-row:nth-child(even) td{background:#fff}
.league-standings-table .league-standing-row td.tournament-standing-rank{background:#fff}
.league-standings-table .league-standing-row.is-qualified td{border-bottom-color:#81b895;background:#e6f3eb}
.league-standings-table .league-standing-row.is-qualified td.tournament-standing-rank{background:#c9e5d3;color:#174c31}
.league-empty-group{margin:0;padding:8px;color:var(--muted);font-size:11px}
@media(max-width:420px){
  .league-standings-tabs{gap:5px}
  .league-standings-tab{min-height:32px;padding:4px 5px;font-size:10px}
  .league-standings-table th,.league-standings-table td{padding:5px 1px}
  .league-standings-table .standing-col-rank{width:8%!important}
  .league-standings-table .standing-col-photo{width:11%!important}
  .league-standings-table .standing-col-name{width:48%!important}
  .league-standings-table .standing-col-g,.league-standings-table .standing-col-m,.league-standings-table .standing-col-a{width:11%!important}
  .league-standings-table .tournament-standing-photo img{width:23px;height:23px}
  .league-standings-table th{font-size:8px}
  .league-standings-table td:nth-child(n+4){font-size:9px}
}
.league-draw-action.league-playoff-transfer{border-color:#d93645;background:#d93645;color:#fff;font-weight:850}
.league-draw-action.league-playoff-transfer svg{color:#fff}
.league-draw-action.league-playoff-transfer:hover{border-color:#bd2635;background:#bd2635;color:#fff}
.league-draw-action.league-playoff-transfer:disabled{border-color:#d93645;background:#d93645;color:#fff;cursor:not-allowed;opacity:1;filter:saturate(.72)}
.league-score-panel .panel-body{display:grid;gap:9px}
.league-score-group-filter{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px 9px;padding:7px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.league-score-group-filter label{color:var(--ink);font-size:10px;font-weight:850}
.league-score-group-filter select{width:100%;min-width:0;min-height:31px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:10px}
.league-score-group-filter p{grid-column:1/-1;min-width:0;margin:0;color:var(--muted);font-size:10px;text-align:left;overflow-wrap:anywhere}
.league-score-round-title{margin:2px 0 0;padding:5px 0;border-bottom:1px solid var(--line);color:var(--orange-dark);font-size:11px;font-weight:850}
.score-match-search{margin:0}
.score-match-search input{border-radius:6px}
.score-match-search-empty{margin:0;padding:9px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:11px;text-align:center}
.tournament-score-card[hidden],.tournament-score-bye[hidden],[data-score-search-item][hidden]{display:none!important}
.tournament-score-list[hidden],.league-score-round-title[hidden]{display:none!important}
.league-score-bye{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid #ffd09a;border-radius:6px;background:#fff8ee;color:var(--ink);font-size:10px}
.league-score-bye span{color:#11815c;font-size:9px;font-weight:800}
.league-score-saved{margin:0;padding:7px 9px;border:1px solid #bce4cd;border-radius:6px;background:#eaf7ef;color:#18754c;font-size:10px}
@media(max-width:420px){.league-score-group-filter{grid-template-columns:max-content minmax(0,1fr);gap:5px 8px;padding:6px}.league-score-group-filter p{font-size:9px}}
.league-late-player-panel .panel-body{display:grid;gap:8px}
.league-late-player-note{margin:0;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:10px;line-height:1.45}
.league-late-candidate-list{display:grid;gap:6px}
.league-late-candidate-list[hidden],.league-late-candidate[hidden],.league-late-search-empty[hidden]{display:none!important}
.league-late-candidate{display:grid;grid-template-columns:40px minmax(0,1fr) 74px;align-items:center;gap:8px;min-width:0;padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff}
.league-late-candidate>img{display:block;width:40px;height:40px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.league-late-candidate-info{display:grid;gap:2px;min-width:0}
.league-late-candidate-info strong{color:var(--ink);font-size:10px;overflow-wrap:anywhere}
.league-late-candidate-info span,.league-late-candidate-info small{color:var(--muted);font-size:9px;line-height:1.25}
.league-late-candidate-info small{color:var(--green);font-weight:750}
.league-late-candidate form{min-width:0;margin:0}
.league-late-candidate form label{display:grid;gap:3px;color:var(--ink);font-size:9px;font-weight:800;text-align:center}
.league-late-candidate select{width:100%;min-width:0;min-height:32px;padding:3px 4px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:10px}
.league-late-search-empty{margin:0;padding:8px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:10px;text-align:center}
.league-late-added-players{margin-top:2px}
.league-late-added-player>strong{flex:1}
.league-late-added-player form{flex:0 0 auto;margin:0 0 0 auto}
.league-late-added-player .league-late-remove{min-height:29px;padding:4px 8px;border:1px solid #d14452;border-radius:6px;background:#fff;color:#bd2635;font-family:inherit;font-size:9px;font-weight:800;cursor:pointer}
.league-late-added-player .league-late-remove:disabled{border-color:#cbd4df;background:#f1f4f8;color:#7e8da3;cursor:not-allowed}
@media(max-width:360px){.league-late-candidate{grid-template-columns:36px minmax(0,1fr) 62px;gap:6px;padding:6px}.league-late-candidate>img{width:36px;height:36px}}

/* Jackpot bracket: align scores at the right and give player rows more height. */
.jackpot-tree{--jackpot-row-height:60px}
.jackpot-match{grid-template-rows:14px 40px 40px;gap:3px;height:112px;padding:5px}
.jackpot-player-slot{grid-template-columns:30px minmax(0,1fr) auto;gap:3px;height:40px;min-height:40px;padding:2px 4px}
.jackpot-player-slot.has-score{grid-template-columns:30px minmax(0,1fr) 38px}
.jackpot-player-slot .jackpot-player-photo-trigger{display:grid;place-items:stretch;box-sizing:border-box;width:30px;min-width:30px;max-width:30px;height:30px;flex:0 0 30px;aspect-ratio:1/1;margin:0;padding:0;border:0;border-radius:5px;background:transparent;overflow:hidden;line-height:0;font-size:0;appearance:none;-webkit-appearance:none}
.jackpot-player-photo-trigger img{display:block;box-sizing:border-box;width:100%;min-width:100%;max-width:none;height:100%;min-height:100%;object-fit:cover;object-position:center;border-radius:5px;background:transparent}
.jackpot-player-slot>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.jackpot-score-select,.jackpot-score-static{box-sizing:border-box;width:38px;min-width:38px;height:24px;min-height:24px;padding:1px 2px;text-align:center;white-space:nowrap;justify-self:end;align-self:center;line-height:1}
.jackpot-score-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none;padding-right:0;font-variant-numeric:tabular-nums}
.jackpot-score-static{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.jackpot-score-select::-ms-expand{display:none}
@media(min-width:701px){
  #jackpotTree .jackpot-player-slot{grid-template-columns:32px minmax(0,1fr) auto}
  #jackpotTree .jackpot-player-slot.has-score{grid-template-columns:32px minmax(0,1fr) 38px}
  #jackpotTree .jackpot-player-slot .jackpot-player-photo-trigger{display:grid!important;place-items:stretch!important;box-sizing:border-box!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;flex:0 0 32px!important;aspect-ratio:1/1!important;margin:0!important;padding:0!important;border:0!important;border-radius:5px!important;background:transparent!important;overflow:hidden!important;line-height:0!important;font-size:0!important;appearance:none!important;-webkit-appearance:none!important}
  #jackpotTree .jackpot-player-slot .jackpot-player-photo-trigger img{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:100%!important;max-width:none!important;height:100%!important;min-height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:5px!important;background:transparent!important}
}
@media(max-width:700px){
  #jackpotTree .jackpot-player-slot .jackpot-player-photo-trigger{border-radius:20px!important}
  #jackpotTree .jackpot-player-slot .jackpot-player-photo-trigger img{border-radius:20px!important}
}

.jackpot-draw-form{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin:12px 0}
.jackpot-draw-button{width:100%;min-height:42px;font-weight:850}
.jackpot-draw-button:disabled{opacity:.55;cursor:not-allowed}
.jackpot-draw-form small{color:var(--muted);font-size:11px}
.jackpot-visibility-menu-form{display:flex;width:100%;min-width:0;margin:0}
.jackpot-visibility-menu-action{border-color:#f0c27b;background:#fff8ec;color:#8a4b00}
.jackpot-reentry-slot{border-color:#efbd76;background:#fff9ef;color:#8a4b00}

/* Advisor doubles: team registration, two-member bracket rows and podium. */
.advisor-detail-panel{overflow:visible}
.advisor-summary{margin-bottom:10px}
.advisor-registration{display:grid;gap:10px;margin-top:10px}
.advisor-registration-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid var(--line)}
.advisor-registration-head h4{margin:0;color:var(--ink);font-size:14px}
.advisor-registration-head>span{color:var(--orange-dark);font-size:12px;font-weight:850;white-space:nowrap}
.advisor-registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.advisor-registration-slot{display:grid;align-content:start;gap:7px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}
.advisor-registration-slot>header{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--ink);font-size:10px}
.advisor-registration-slot>header>span{color:var(--muted);font-size:9px}
.advisor-registration-slot>.advisor-doubles-side{min-height:0;padding:0;border:0;background:transparent}
.advisor-registration-slot .advisor-doubles-side-members{gap:4px}
.advisor-registration-slot .advisor-doubles-person{grid-template-columns:38px minmax(0,1fr);min-height:38px;gap:6px;padding:3px 5px;border:1px solid #edf1f6;border-radius:5px;background:#f7f9fc}
.advisor-registration-slot .advisor-doubles-person .member-profile-trigger{width:34px;height:34px}
.advisor-registration-slot .advisor-doubles-person img{width:34px;height:34px}
.advisor-registration-slot .advisor-doubles-person>strong{font-size:9px}
.advisor-registration-slot .jackpot-empty-slot{width:100%;min-height:34px}
.advisor-remove-members{display:flex;flex-wrap:wrap;gap:4px}
.advisor-remove-members form{margin:0}
.advisor-remove-members .jackpot-remove-player{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.advisor-draw-form{display:grid;gap:5px;margin:2px 0 0}
.advisor-draw-form .btn{width:100%;min-height:40px}
.advisor-draw-form small{color:var(--muted);font-size:10px}
.advisor-visibility-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--ink);font-size:11px}
.advisor-visibility-row form{margin:0}
.advisor-visibility-row .btn{min-height:32px;padding:5px 10px}
.advisor-podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;align-items:end;gap:7px;margin:10px 0}
.advisor-podium-place{display:grid;justify-items:center;align-content:center;gap:4px;min-width:0;min-height:95px;padding:8px 5px;border:1px solid var(--line);border-radius:6px;background:#f5f7fa;text-align:center}
.advisor-podium-place.is-gold{min-height:112px;border-color:#f0c45c;background:#fff8df}
.advisor-podium-place.is-silver{border-color:#cad6e4;background:#f0f4f8}
.advisor-podium-place.is-bronze{border-color:#efc0a9;background:#fff2eb}
.advisor-podium-medal{font-size:22px;line-height:1}
.advisor-podium-place>strong{max-width:100%;overflow-wrap:anywhere;color:var(--ink);font-size:9px}
.advisor-podium-place>div{width:100%;min-width:0}
.advisor-podium-place .advisor-doubles-side{padding:0;border:0;background:transparent}
.advisor-podium-place .advisor-doubles-person{grid-template-columns:30px minmax(0,1fr);justify-content:center;gap:3px;padding:0;border:0;background:transparent}
.advisor-podium-place .advisor-doubles-person .member-profile-trigger,.advisor-podium-place .advisor-doubles-person img{width:28px;height:28px}
.advisor-podium-place .advisor-doubles-person>strong{font-size:8px;text-align:left}
.advisor-podium-place small{color:var(--muted);font-size:8px}
.advisor-doubles-tree .jackpot-tree-round-grid{grid-template-rows:repeat(var(--jackpot-tree-slots),var(--jackpot-row-height))}
.advisor-doubles-tree .jackpot-tree-column[data-tree-round="1"] .jackpot-tree-round-grid{padding-top:5px}
.advisor-detail-panel .jackpot-tree-viewport{padding-top:0}
.advisor-doubles-tree .jackpot-tree-column{grid-template-rows:18px auto}
.advisor-doubles-tree .jackpot-tree-column[data-tree-round="1"]{grid-template-rows:21px auto}
.advisor-doubles-tree .jackpot-tree-column>h4{height:18px;padding-bottom:2px}
.advisor-doubles-tree .jackpot-tree-column[data-tree-round="1"]>h4{height:21px}
.advisor-doubles-tree .advisor-doubles-match{box-sizing:border-box;grid-template-rows:17px 31px 31px;height:82px;gap:1px;padding:0}
.advisor-doubles-tree .jackpot-match-heading{padding-left:5px;padding-right:5px}
.advisor-doubles-tree .jackpot-match-status{align-self:center}
.advisor-doubles-score-row{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 34px;grid-template-rows:minmax(0,1fr);align-items:center;gap:1px;width:100%;height:31px;min-width:0;min-height:0;padding:0;border:1px solid #edf1f6;border-radius:5px;background:#f7f9fc}
.advisor-doubles-score-row.is-winner{border-color:#a8d9ba;background:#eaf6ee}
.advisor-doubles-score-row .jackpot-score-select,.advisor-doubles-score-row .jackpot-score-static{width:32px;min-width:32px;height:23px;min-height:23px}
.advisor-doubles-side{display:flex;align-items:center;min-width:0;padding:0;border:1px solid var(--line);border-radius:5px;background:#fff}
.advisor-doubles-side.is-winner{border-color:#86c99e;background:#e6f4eb}
.advisor-doubles-side.is-empty{display:flex;align-items:center;justify-content:center;min-height:32px;border-style:dashed;background:#fafbfd;color:var(--muted);font-size:9px}
.advisor-doubles-side-members{display:grid;align-content:center;gap:0;width:100%;min-width:0}
.advisor-doubles-person{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:1px;min-width:0;min-height:20px}
.advisor-doubles-person .member-profile-trigger{display:block;box-sizing:border-box;width:24px;height:24px;min-width:24px;margin:0;padding:0;overflow:hidden;border:1px solid #d8e1ed;border-radius:5px;background:#fff;line-height:0}
.advisor-doubles-person img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:4px}
.advisor-doubles-person>strong{align-self:center;display:flex;align-items:center;min-width:0;min-height:20px;overflow:hidden;color:var(--ink);font-size:8px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.advisor-score-error{display:none;margin:0;color:#bd2635;font-size:9px;grid-column:1/-1}
.advisor-score-error:not(:empty){display:block}
.advisor-team-dialog{width:min(440px,calc(100vw - 24px));max-height:min(90vh,760px)}
.member-form-panel .member-page-head>div>p{margin:3px 0 0;line-height:normal}
.advisor-team-dialog .jackpot-dialog-body{display:grid;gap:8px}
.advisor-team-mode{display:flex;align-items:center;gap:7px;min-height:36px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--ink);font-size:11px;font-weight:750}
.advisor-team-mode input{width:15px;height:15px;margin:0;accent-color:var(--orange)}
.advisor-select-label{display:grid;gap:4px;color:var(--ink);font-size:10px;font-weight:800}
.advisor-select-label select{width:100%;min-height:38px;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:11px}
.advisor-team-fee-help{margin:0}
.advisor-team-dialog footer{display:flex;justify-content:flex-end;gap:7px;padding:10px 12px;border-top:1px solid var(--line)}
.advisor-team-dialog footer .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){
  .advisor-registration-grid{grid-template-columns:minmax(0,1fr)}
  .advisor-doubles-tree .advisor-doubles-match{grid-template-rows:17px 31px 31px;height:82px}
  .advisor-doubles-person>strong{font-size:8px}
}

/* Keep doubles partners on one line so the bracket stays compact. */
.advisor-doubles-side-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:1px}
.advisor-doubles-person{display:flex;align-items:center;gap:1px;min-width:0;min-height:20px}
.advisor-doubles-person .member-profile-trigger{width:20px;height:20px;min-width:20px;flex:0 0 20px}
.advisor-doubles-person>strong{font-size:7px;line-height:1.1}
.advisor-doubles-tree .advisor-doubles-person .member-profile-trigger{margin-left:2px}
.advisor-side-wrap{display:grid;grid-template-rows:minmax(0,1fr);align-items:center;gap:0;width:100%;height:100%;min-width:0;min-height:0}
.advisor-side-wrap>.advisor-doubles-side{box-sizing:border-box;width:100%;height:100%;min-height:0;padding:0}
.advisor-side-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-width:0;min-height:14px}
.advisor-side-actions form{display:flex;margin:0}
.advisor-member-remove,.advisor-partner-add{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:14px;padding:0 4px;border:1px solid #f0b2b7;border-radius:4px;background:#fff5f5;color:#bd2635;font-family:inherit;font-size:9px;font-weight:700;line-height:1;cursor:pointer}
.advisor-partner-add{border-color:#f2bc75;background:#fff8ed;color:#9a5600;font-size:8px;white-space:nowrap}
.advisor-registration-slot .advisor-doubles-side-members{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.advisor-registration-slot .advisor-doubles-person{min-width:0}
@media(max-width:700px){
  .advisor-doubles-side-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
  .advisor-doubles-person{gap:1px;min-height:20px}
  .advisor-doubles-person .member-profile-trigger{width:18px;height:18px;min-width:18px;flex-basis:18px}
  .advisor-doubles-person>strong{font-size:6.5px}
  .advisor-side-wrap{grid-template-rows:minmax(0,1fr);gap:0}
  .advisor-side-actions{min-height:13px}
  .advisor-member-remove,.advisor-partner-add{height:13px}
  .advisor-registration-slot .advisor-doubles-side-members{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.advisor-team-edit-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;min-height:40px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.advisor-team-edit-slot:hover,.advisor-team-edit-slot:focus-visible{border-color:#f39a25;background:#fffaf2;outline:none}
.advisor-edit-team-names{display:flex;align-items:center;align-self:center;min-width:0;min-height:20px;overflow:hidden;color:var(--ink);font-size:10px;font-weight:800;line-height:1.25;text-overflow:ellipsis}
.advisor-doubles-score-row>.advisor-team-edit-slot{min-height:27px;padding:0 2px}
.advisor-doubles-score-row>.advisor-team-edit-slot .advisor-edit-team-names{font-size:8px}
.advisor-registration-slot>.advisor-team-edit-slot{min-height:44px}
.advisor-team-dialog footer .advisor-team-clear{margin-right:auto}
.advisor-team-dialog-spacer{flex:1}
.advisor-team-dialog footer .advisor-team-clear[hidden]{display:none}
@media(max-width:700px){
  .advisor-doubles-score-row>.advisor-team-edit-slot{min-height:27px}
  .advisor-edit-team-names{font-size:9px}
}

/* Admin notebook: organization selector, participant cards, and point reminder modal. */
.notebook-panel .panel-head{align-items:flex-start}
.notebook-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.notebook-body{display:grid;gap:14px}
.notebook-message{padding:10px 11px;border:1px solid #f0c0c0;border-radius:6px;background:#fff2f2;color:#a62e37;font-size:11px;line-height:1.45}
.notebook-message.is-success{border-color:#b7e4cc;background:#effaf4;color:#13794f}
.notebook-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.notebook-filters .form-field{min-width:0}
.notebook-filters .form-field label{color:var(--ink)}
.notebook-filters select{width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.notebook-filters small{color:var(--muted);font-size:10px;line-height:1.45}
.notebook-participants{display:grid;gap:10px;min-width:0}
.notebook-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.notebook-section-heading h4{margin:0;font-size:14px;font-weight:850;overflow-wrap:anywhere}
.notebook-section-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}
.notebook-search{flex:0 1 280px;min-width:140px}
.notebook-search input{width:100%;min-height:38px;padding:8px 10px 8px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:12px;text-indent:2px}
.notebook-player-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.notebook-player{width:100%;min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) auto 28px;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.notebook-player:hover,.notebook-player:focus-visible{border-color:#ffb04d;background:#fffaf4;box-shadow:0 3px 10px #14294a0c}
.notebook-player[hidden]{display:none!important}
.notebook-player>img{display:block;width:52px;height:52px;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f1f4f8}
.notebook-player-copy{display:grid;gap:3px;min-width:0}
.notebook-player-copy strong{font-size:12px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notebook-player-copy small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notebook-player-total{color:var(--green);font-size:11px;font-weight:850;text-align:right;white-space:nowrap}
.notebook-player-total.is-empty{color:var(--muted);font-weight:600}
.notebook-player-action{width:26px;height:26px;display:grid;place-items:center;border:1px solid #ffd3a1;border-radius:6px;background:#fff4e7;color:var(--orange-dark);font-size:18px;line-height:1}
.notebook-empty{border:1px dashed var(--line);border-radius:6px;background:#fbfcfe}
.notebook-no-search-results{padding:12px;color:var(--muted);font-size:11px}
.notebook-dialog{width:min(440px,calc(100vw - 24px));max-width:none;max-height:min(90vh,760px);margin:auto;padding:0;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 20px 60px #07132940}
.notebook-dialog::backdrop{background:#0713299c}
.notebook-dialog-form{display:grid;gap:0}
.notebook-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px;border-bottom:1px solid var(--line);background:#f7f9fc}
.notebook-dialog-head h2{margin:0;font-size:15px;font-weight:850}
.notebook-dialog-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.notebook-dialog-close{width:30px;height:30px;flex:0 0 30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:21px;line-height:1;cursor:pointer}
.notebook-dialog-body{display:grid;gap:7px;padding:13px}
.notebook-dialog-total{margin:0 0 2px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;color:var(--muted);font-size:11px}
.notebook-dialog-total strong{color:var(--ink)}
.notebook-dialog-body>label{margin-top:2px;color:var(--ink);font-size:11px;font-weight:800}
.notebook-dialog-body>label span,.notebook-dialog-body>small{color:var(--muted);font-weight:500}
.notebook-dialog-body>input[type="text"]{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}
.notebook-dialog-body>small{font-size:10px;line-height:1.45}
.notebook-dialog-error{margin:2px 0 0;padding:8px 9px;border:1px solid #efcaca;border-radius:6px;background:#fff5f5;color:var(--red);font-size:11px;line-height:1.4}
.notebook-dialog-error[hidden]{display:none}
.notebook-dialog-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 13px 13px}
.notebook-player-copy .notebook-player-last-note{max-width:100%;color:#7a5b32;font-size:10px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notebook-history{display:grid;gap:6px;min-width:0}
.notebook-history h3{margin:2px 0 0;font-size:11px;font-weight:850;color:var(--ink)}
.notebook-history-list{display:grid;gap:5px;max-height:150px;overflow:auto;padding-right:2px}
.notebook-history-item{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}
.notebook-history-amount{font-size:11px;font-weight:850}
.notebook-history-amount.is-plus{color:var(--green)}
.notebook-history-amount.is-minus{color:var(--red)}
.notebook-history-item time{color:var(--muted);font-size:10px;text-align:right}
.notebook-history-item p{grid-column:1/-1;margin:0;color:var(--ink);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.notebook-history-empty{margin:0;padding:8px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:10px}
.player-topbar{isolation:isolate}
.player-logout-form{margin:0;flex:0 0 auto}
.player-logout{min-height:32px;padding:5px 9px;border:1px solid #ffffff38;border-radius:6px;background:#ffffff0d;color:#fff;font-size:11px;font-weight:750}
.player-logout:hover{background:#ffffff1b}
.player-main{min-height:calc(100vh - 62px);display:flex;flex-direction:column;gap:0}
.player-profile-card{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:14px;border:1px solid #dfe5ef;border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 5px 16px #101f3c12}
.player-profile-copy{min-width:0;display:grid;gap:5px}
.player-profile-copy .page-welcome{color:var(--orange);font-size:13px;font-weight:850}
.player-profile-name{margin:0 0 3px;color:var(--navy);font-size:18px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}
.player-profile-fact{display:grid;gap:2px;margin:0;padding-top:5px;border-top:1px solid #edf0f5;font-size:11px;line-height:1.35}
.player-profile-fact span{color:var(--muted);font-size:10px}
.player-profile-fact strong{color:var(--ink);font-weight:800;overflow-wrap:anywhere}
.player-profile-aside{display:grid;justify-items:stretch;gap:6px;min-width:0}
.player-profile-image{display:block;width:108px;height:108px;max-width:100%;object-fit:cover;border:1px solid var(--line);border-radius:6px;background:#f1f4f8}
.player-inbox-card{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:5px;width:100%;min-width:0;min-height:38px;margin:0;padding:3px 5px;border:1px solid #dce6ff;border-radius:6px;background:#f6f8ff;color:var(--ink);text-align:left;cursor:pointer}
.player-inbox-card:hover{border-color:#c6d5ff;background:#f1f5ff}
.player-inbox-icon{position:relative;width:22px;height:22px;display:grid;place-items:center;border:1px solid #dbe4ff;border-radius:6px;background:#fff;color:var(--navy)}
.player-inbox-icon svg{width:15px;height:15px}
.player-inbox-badge{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 4px;border:1px solid #fff;border-radius:10px;background:#d8323f;color:#fff;font-size:9px;line-height:13px;text-align:center}
.player-inbox-badge[hidden]{display:none}
.player-inbox-copy{display:grid;gap:3px;min-width:0}
.player-inbox-copy strong{font-size:9px;font-weight:850;line-height:1.15}
.player-inbox-copy small{max-width:100%;color:#657693;font-size:8px;font-weight:650;line-height:1.2}
.player-placeholder-panel{width:100%;max-width:900px;margin:0 auto;padding:14px}
.player-placeholder-panel h2{margin:0;font-size:14px;font-weight:850}
.player-placeholder-panel p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.player-main .footer-note{margin-top:auto}
@media(max-width:430px){
  .player-main{padding:12px}
  .player-profile-card{grid-template-columns:minmax(0,1fr) 96px;gap:9px;padding:11px}
  .player-profile-aside{gap:5px}
  .player-profile-image{width:96px;height:96px}
  .player-profile-name{font-size:16px}
  .player-inbox-card{min-height:36px;padding:2px 4px;grid-template-columns:20px minmax(0,1fr);gap:4px}
  .player-inbox-icon{width:20px;height:20px}
  .player-inbox-icon svg{width:14px;height:14px}
}
@media(min-width:1000px){.player-sidebar .nav-sublink{display:flex;align-items:center;gap:8px}.player-sidebar .nav-sublink .menu-symbol{width:15px;height:15px;flex:0 0 15px}}
@media(min-width:700px){
  .notebook-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notebook-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Player identity, profile facts, and public landing page */
.player-sidebar .sidebar-head{display:block;padding:18px 12px 20px;border-bottom:1px solid #ffffff20}
.player-sidebar-profile{display:grid;justify-items:center;gap:9px;text-align:center}
.player-sidebar-profile img{display:block;width:92px;height:92px;object-fit:cover;border-radius:50%;border:2px solid var(--orange);background:#fff}
.player-sidebar-profile span{max-width:100%;color:#fff;font-size:13px;font-weight:850;line-height:1.3;overflow-wrap:anywhere}
.player-sidebar .nav-sublink{display:flex;align-items:center;gap:12px}
.player-sidebar .nav-sublink .menu-symbol{width:16px;height:16px;flex:0 0 16px}
.player-profile-fact{grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px}
.player-profile-fact strong{grid-column:2}
.profile-fact-icon{grid-column:1;grid-row:1;width:15px;height:15px}
.profile-fact-phone{color:#1689d4}
.profile-fact-birth{color:#8b5cc7}
.profile-fact-location{color:#1c9b68}
.player-profile-aside{gap:8px}
.player-inbox-copy{display:block}
.player-inbox-copy strong{font-size:10px}
.player-inbox-copy small{display:none}
.player-inbox-card{align-items:center}
.player-inbox-icon,.player-inbox-copy{align-self:center}
.player-inbox-copy{display:flex;align-items:center;min-height:22px;line-height:1.15}
@media(max-width:430px){.player-profile-aside{gap:7px}}

/* Public landing additions and registration form */
.player-profile-card{grid-template-columns:minmax(0,1fr) 128px}
.player-profile-image{width:128px;height:128px}
.profile-fact-phone{color:#1689d4}
.profile-fact-birth{color:#e5484d}
.profile-fact-location{color:#15966c}
.public-system-intro-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.public-admin-intro{margin-top:18px}
.public-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.public-admin-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:15px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 6px 18px #101f3c0b}
.public-admin-card>img{display:block;width:112px;height:112px;object-fit:cover;border:1px solid var(--line);border-radius:8px;background:#f4f6fa}
.public-admin-copy{display:grid;justify-items:start;gap:7px;min-width:0}
.public-admin-role{padding:4px 8px;border-radius:12px;background:#fff2e8;color:var(--orange-dark);font-size:9px;font-weight:900;letter-spacing:.06em}
.public-admin-copy h3{margin:0;color:var(--navy);font-size:16px;overflow-wrap:anywhere}
.public-admin-copy a{color:var(--orange-dark);font-size:12px;font-weight:800}
.public-register-page{padding-top:14px}
.public-register-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.5fr);align-items:start;gap:14px;margin-top:14px}
.public-register-intro,.public-register-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 6px 18px #101f3c0b}
.public-register-intro{position:sticky;top:14px;padding:clamp(20px,3vw,32px);background:linear-gradient(135deg,#fff 0%,#f7f9fd 72%,#fff4e9 100%)}
.public-register-intro h1{margin:8px 0;color:var(--navy);font-size:clamp(25px,3vw,38px);line-height:1.1}
.public-register-intro>p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.public-register-note{display:grid;gap:5px;margin-top:18px;padding:12px;border:1px solid #f3d2af;border-radius:6px;background:#fff8f0;color:#56647d;font-size:11px;line-height:1.5}
.public-register-note strong{color:var(--navy)}
.public-register-card{overflow:hidden}
.public-register-heading{padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#fff,#f8fafd)}
.public-register-heading h2{margin:0;color:var(--navy);font-size:15px}
.public-register-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}
.public-register-body{padding:14px}
.public-register-form{margin:0}
.public-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.public-register-field{display:grid;align-content:start;gap:5px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.public-register-field.full,.public-register-submit.full,.public-register-duplicate.full{grid-column:1/-1}
.public-register-field label{color:var(--navy);font-size:10px;font-weight:850}
.public-register-field input,.public-register-field select{box-sizing:border-box;width:100%;min-width:0;height:38px;padding:8px 10px;border:1px solid #cbd7e8;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:11px}
.public-register-field small{color:var(--muted);font-size:9px;line-height:1.4}
.public-phone-row{display:grid;grid-template-columns:minmax(100px,132px) minmax(0,1fr);gap:7px}
.public-country-city{grid-template-columns:minmax(82px,112px) minmax(0,1fr)}
.public-register-duplicate{display:grid;gap:6px;padding:10px;border:1px solid #f0c4c4;border-radius:6px;background:#fff5f5;color:#8b2931;font-size:10px}
.public-register-duplicate label{display:flex;align-items:flex-start;gap:6px;color:var(--ink);font-weight:700;line-height:1.45}
.public-register-duplicate input{margin:1px 0 0;accent-color:var(--orange)}
.public-register-submit{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}
.public-register-submit button:disabled{opacity:.55;cursor:not-allowed}
.public-register-page .auth-error,.public-register-page .auth-success{margin:0 0 10px;padding:10px;border-radius:6px;font-size:11px}
@media(max-width:760px){.public-register-layout{grid-template-columns:1fr}.public-register-intro{position:static;padding:18px}.public-register-intro h1{font-size:27px}.public-admin-grid{grid-template-columns:1fr}}
@media(max-width:480px){.player-profile-card{grid-template-columns:minmax(0,1fr) 112px}.player-profile-image{width:112px;height:112px}.public-register-page{padding-top:8px}.public-register-layout{gap:9px;margin-top:9px}.public-register-body{padding:10px}.public-register-grid{grid-template-columns:1fr;gap:7px}.public-register-field{padding:8px}.public-phone-row{grid-template-columns:94px minmax(0,1fr);gap:5px}.public-country-city{grid-template-columns:76px minmax(0,1fr)}.public-admin-card{grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px}.public-admin-card>img{width:92px;height:92px}.public-admin-copy h3{font-size:14px}.public-admin-copy a{font-size:10px}}

.public-home{min-height:100vh;padding:18px clamp(12px,3vw,28px) 42px;background:linear-gradient(145deg,#edf2f8 0%,#f7f9fc 58%,#e6eef7 100%);color:var(--ink)}
.public-home a{text-decoration:none}
.public-home-shell{width:min(1180px,100%);margin:0 auto}
.public-home-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 6px 18px #101f3c0c}
.public-brand{display:flex;align-items:center;gap:12px;min-width:0}
.public-brand img{width:54px;height:54px;object-fit:contain;border-radius:6px}
.public-brand-copy{display:grid;gap:3px}
.public-brand-copy strong{font-size:16px;font-weight:900;color:var(--navy)}
.public-brand-copy small{font-size:10px;font-weight:800;letter-spacing:1.2px;color:var(--orange-dark)}
.public-home-links{display:flex;align-items:center;gap:8px}
.public-home-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:11px;font-weight:850;white-space:nowrap}
.public-home-link.primary{border-color:var(--orange);background:var(--orange);color:#18243a}
.public-home-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.75fr);gap:14px;margin-top:14px}
.public-hero-copy,.public-login-options,.public-feature-card,.public-stats-card,.public-contact-card{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 6px 18px #101f3c0b}
.public-hero-copy{position:relative;overflow:hidden;min-height:280px;padding:clamp(22px,5vw,48px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(120deg,#fff 0%,#f8faff 68%,#fff2e7 100%)}
.public-hero-copy:after{content:"";position:absolute;right:-50px;bottom:-110px;width:230px;height:230px;border:32px solid #ff8a1c18;border-radius:50%;pointer-events:none}
.public-eyebrow{position:relative;z-index:1;color:var(--orange-dark);font-size:11px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}
.public-hero-copy h1{position:relative;z-index:1;margin:9px 0 10px;color:var(--navy);font-size:clamp(32px,5.5vw,60px);line-height:1.02;letter-spacing:-1.5px}
.public-hero-copy h1 span{color:var(--orange-dark)}
.public-hero-copy h2{position:relative;z-index:1;margin:0 0 10px;color:#26466f;font-size:clamp(16px,2.2vw,24px)}
.public-hero-copy p{position:relative;z-index:1;max-width:650px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.public-hero-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.public-hero-actions .public-home-link{min-height:42px;padding:9px 16px}
.public-login-options{display:grid;align-content:center;gap:10px;padding:20px}
.public-login-options h2{margin:0 0 4px;color:var(--navy);font-size:16px}
.public-login-options p{margin:0 0 5px;color:var(--muted);font-size:11px;line-height:1.5}
.public-login-choice{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:64px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f8fafd;color:var(--navy)}
.public-login-choice:hover{border-color:#f3a145;background:#fff8ef}
.public-login-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:6px;background:#fff0df;color:#d87510}
.public-login-symbol svg{width:20px;height:20px}
.public-login-choice strong{display:block;font-size:12px}
.public-login-choice small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.public-home-section{margin-top:14px}
.public-section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:0 0 9px}
.public-section-heading h2{margin:0;color:var(--navy);font-size:17px}
.public-organization-nav-card .public-section-heading h2{font-size:15px}
.public-section-heading p{margin:0;color:var(--muted);font-size:10px}
.public-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.public-feature-card{padding:14px;min-height:116px}
.public-feature-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:9px;border:1px solid #f8d7ae;border-radius:6px;background:#fff8ef;color:#d87510}
.public-feature-icon svg{width:19px;height:19px}
.public-feature-card h3{margin:0 0 5px;color:var(--navy);font-size:12px}
.public-feature-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.public-stats-card{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}
.public-stat{padding:14px 12px;text-align:center;border-right:1px solid var(--line)}
.public-stat:last-child{border-right:0}
.public-stat strong{display:block;color:var(--orange-dark);font-size:22px;line-height:1.1}
.public-stat span{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:750}
.public-contact-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px}
.public-contact-card h2{margin:0 0 4px;color:var(--navy);font-size:14px}
.public-contact-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.public-footer{padding:18px 0 0;text-align:center;color:#7e8ba1;font-size:10px}
@media(max-width:760px){.public-home-hero{grid-template-columns:1fr}.public-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-stats-card{grid-template-columns:repeat(3,minmax(0,1fr))}.public-stat:nth-child(3){border-right:0}.public-stat:nth-child(n+4){border-top:1px solid var(--line)}}
@media(max-width:480px){.public-home{padding:10px 10px 28px}.public-home-header{padding:9px 10px}.public-brand{gap:8px}.public-brand img{width:44px;height:44px}.public-brand-copy strong{font-size:13px}.public-brand-copy small{font-size:8px;letter-spacing:.8px}.public-home-links{gap:5px}.public-home-link{min-height:34px;padding:7px 8px;font-size:9px}.public-home-hero{gap:9px;margin-top:9px}.public-hero-copy{min-height:0;padding:22px 17px}.public-login-options{padding:15px}.public-home-section{margin-top:10px}.public-feature-grid{gap:7px}.public-feature-card{padding:11px;min-height:105px}.public-stats-card{grid-template-columns:repeat(2,minmax(0,1fr))}.public-stat{border-top:1px solid var(--line)}.public-stat:nth-child(odd){border-right:1px solid var(--line)}.public-stat:nth-child(even){border-right:0}.public-stat:last-child{grid-column:1/-1;border-right:0}.public-contact-card{align-items:flex-start;flex-direction:column}}
.public-ranking-card{min-height:0}
.public-ranking-card>h3{margin-bottom:5px}
.public-ranking-list{margin-top:8px}
.public-ranking-heading{margin-bottom:6px;color:var(--orange-dark);font-size:9px;font-weight:900;letter-spacing:.08em}
.public-ranking-row{display:grid;grid-template-columns:25px 30px minmax(0,1fr) 40px;align-items:center;gap:6px;margin-bottom:5px;padding:5px;border:1px solid var(--line);border-radius:6px;background:#f8fafd}
.public-ranking-row img{display:block;width:30px;height:30px;object-fit:cover;border:1px solid #e2e8f0;border-radius:50%;background:#fff}
.public-ranking-position{font-size:10px;font-weight:850;text-align:center;color:var(--navy)}
.public-ranking-name{min-width:0;overflow:hidden;color:var(--navy);font-size:9px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.public-ranking-row strong{color:#16845b;font-size:10px;text-align:right;white-space:nowrap}
.public-ranking-empty{margin:0;padding:11px 8px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:10px;text-align:center}
.public-system-stat-list{display:grid;gap:4px;margin-top:8px}
.public-system-stat-list>div{display:flex;justify-content:space-between;gap:8px;padding:5px 7px;border-bottom:1px solid var(--line);font-size:10px}
.public-system-stat-list>div span{color:var(--muted)}
.public-system-stat-list>div strong{color:var(--navy)}
.public-latest-player{display:grid;gap:3px;margin-top:8px;padding:8px;border-radius:6px;background:linear-gradient(120deg,#fff2e4,#fff);text-align:center}
.public-latest-player small{color:var(--orange-dark);font-size:8px;font-weight:900;letter-spacing:.08em}
.public-latest-player strong{color:var(--navy);font-size:10px}
@media(max-width:430px){
  .notebook-section-heading{align-items:stretch;flex-direction:column}
  .notebook-search{flex:1 1 auto}
  .notebook-player{grid-template-columns:46px minmax(0,1fr) auto 26px;gap:7px;padding:7px}
  .notebook-player>img{width:46px;height:46px}
}

/* Public homepage organization cards */
.public-organization-nav-card{margin:0 0 10px;padding:5px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 5px 16px rgba(16,31,60,.05)}
.public-organization-nav-card .public-section-heading{margin:0;padding:6px 8px 9px;border-bottom:1px solid #e4eaf2}
.public-organization-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0;padding:5px 0 0}
.public-organization-tab{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:10px 12px;border:1px solid transparent;border-radius:6px;color:var(--navy);font-size:11px;font-weight:850;text-decoration:none}
.public-organization-tab small{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:12px;background:#eef2f8;color:#405574;font-size:10px}
.public-organization-tab:hover{background:#f7f9fc}
.public-organization-tab.is-active{border-color:#ffb35a;background:#fff5e9;color:#9b4a00}
.public-organization-tab.is-active small{background:var(--orange);color:#18243a}
.public-organization-status-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:0 0 12px}
.public-organization-status-filter{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#405574;font-size:10px;font-weight:800;text-decoration:none}
.public-organization-status-filter:hover{border-color:#ffbd79;background:#fffaf4}
.public-organization-status-filter.is-active{border-color:var(--orange);background:#fff3e5;color:#934800}
.public-organization-list{position:relative;display:grid;gap:14px}
.public-organization-list:before{position:absolute;top:0;bottom:0;left:127px;width:1px;background:#cbd7e8;content:""}
.public-organization-card{position:relative;display:grid;grid-template-columns:112px 30px minmax(0,1fr);align-items:center;gap:0;min-width:0}
.public-organization-date{z-index:1;display:grid;justify-items:center;gap:4px;padding:10px 6px;border:1px solid #9be5b7;border-radius:6px;background:#e1f9e9;color:#11804a;text-align:center}
.public-organization-date-line{display:grid;justify-items:center;gap:2px;white-space:nowrap}
.public-organization-date-line strong{font-size:21px;font-weight:900;line-height:1}
.public-organization-date-line small{font-size:9px;font-weight:750;line-height:1}
.public-organization-date>span{font-size:9px;font-weight:750;letter-spacing:.03em}
.public-organization-date.is-closed{border-color:#f4b5b9;background:#fff0f0;color:#c33b43}
.public-organization-timeline-dot{z-index:1;justify-self:center;width:14px;height:14px;border:4px solid #c9f2d6;border-radius:50%;background:#20b965}
.public-organization-timeline-dot.is-closed{border-color:#ffdddd;background:#df4a50}
.public-organization-content{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 18px #101f3c0a}
.public-organization-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}
.public-organization-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffd2a2;border-radius:8px;background:#fff7ed;font-size:22px}
.public-organization-title{min-width:0}
.public-organization-title h3{overflow:hidden;margin:0;color:var(--navy);font-size:18px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.public-organization-title p{overflow:hidden;margin:3px 0 0;color:#586d8c;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.public-organization-status{padding:6px 9px;border:1px solid #9be5b7;border-radius:6px;background:#e1f9e9;color:#11804a;font-size:9px;font-weight:900;white-space:nowrap}
.public-organization-status.is-closed{border-color:#f4b5b9;background:#fff0f0;color:#c33b43}
.public-organization-metrics{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0 52px}
.public-organization-metrics>span{display:grid;gap:2px;padding:5px 8px;border:1px solid #e0e8f2;border-radius:6px;background:#f7f9fc}
.public-organization-metrics small{color:var(--muted);font-size:9px}
.public-organization-metrics strong{color:var(--navy);font-size:10px}
.public-organization-progress{display:grid;grid-template-columns:auto minmax(50px,150px) auto;align-items:center;gap:8px;margin:9px 0 0 52px;color:var(--navy);font-size:10px}
.public-organization-progress-track{height:7px;overflow:hidden;border-radius:5px;background:#e5ebf4}
.public-organization-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8a23,#ff5b20)}
.public-organization-progress b{color:var(--orange-dark);font-size:10px}
.public-organization-empty{margin:0;padding:20px;border:1px dashed var(--line);border-radius:8px;background:#fff;color:var(--muted);font-size:12px;text-align:right}
.public-organization-pagination{display:flex;justify-content:center;gap:6px;margin-top:12px}
.public-organization-pagination a{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:11px;font-weight:800;text-decoration:none}
.public-organization-pagination a.is-active{border-color:var(--orange);background:var(--orange);color:#18243a}
@media(max-width:760px){.public-organization-content{padding:12px}.public-organization-title h3{font-size:15px}.public-organization-tabs{gap:4px}.public-organization-tab{padding:8px 7px;font-size:10px}}
@media(max-width:480px){.public-organization-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.public-organization-status-filters{gap:5px;margin:0 0 9px}.public-organization-status-filter{min-height:28px;padding:5px 9px;font-size:9px}.public-organization-card{grid-template-columns:42px 10px minmax(0,1fr)}.public-organization-list:before{left:47px}.public-organization-date{padding:8px 3px}.public-organization-date-line{gap:2px}.public-organization-date-line strong{font-size:18px}.public-organization-date-line small{font-size:7px}.public-organization-date>span{font-size:8px}.public-organization-timeline-dot{width:12px;height:12px;border-width:3px}.public-organization-content{padding:9px;border-radius:9px}.public-organization-main{grid-template-columns:30px minmax(0,1fr);gap:7px}.public-organization-icon{width:30px;height:30px;font-size:17px}.public-organization-title h3{font-size:12px}.public-organization-title p{font-size:9px}.public-organization-status{grid-column:2;justify-self:start;padding:4px 6px;font-size:8px}.public-organization-metrics{gap:4px;margin:7px 0 0 37px}.public-organization-metrics>span{padding:4px 6px}.public-organization-metrics small{font-size:8px}.public-organization-metrics strong{font-size:9px}.public-organization-progress{grid-template-columns:auto minmax(32px,1fr) auto;gap:5px;margin:7px 0 0 37px;font-size:9px}.public-organization-progress-track{height:6px}.public-organization-progress b{font-size:9px}}
.public-organization-progress{grid-template-columns:auto minmax(0,150px) auto;justify-content:start;gap:5px;width:min(100%,250px)}
@media(max-width:480px){.public-organization-progress{grid-template-columns:auto minmax(0,150px) auto;gap:5px;width:min(100%,250px);margin:7px 0 0 37px}}
@media(max-width:480px){.public-organization-progress{grid-template-columns:auto minmax(0,100px) auto;width:min(100%,205px);gap:5px}.public-organization-progress-track{width:100%;min-width:0}}
@media(max-width:480px){.public-ranking-card{grid-column:1/-1}}
.league-candidate-form.has-selection{padding-bottom:56px}
.league-candidate-form.has-selection .league-add-players{position:fixed;z-index:30;bottom:calc(12px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);box-shadow:0 8px 24px #101f3c45,0 2px 7px #101f3c20}

/* Player dashboard: upcoming tournament-style matches */
body.player-next-match-open{overflow:hidden}
.player-next-match-overlay{position:fixed;inset:0;z-index:1200;display:flex;justify-content:center;align-items:center;overflow:auto;padding:12px 12px max(12px,env(safe-area-inset-bottom));background:rgba(9,22,44,.62);overscroll-behavior:contain}
.player-next-match-dialog{display:flex;flex-direction:column;width:min(620px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:0 auto;border:1px solid #cdd8e8;border-radius:8px;background:#fff;box-shadow:0 18px 55px #06152e55;overflow:hidden;transform:translateY(-110%);animation:player-next-match-enter .42s cubic-bezier(.2,.8,.2,1) forwards}
.player-next-match-overlay.is-closing .player-next-match-dialog{animation:player-next-match-exit .18s ease-in forwards}
.player-next-match-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);background:#f7f9fc}
.player-next-match-header h2{margin:0;color:var(--navy);font-size:15px;font-weight:900}
.player-next-match-header p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.player-next-match-close{flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:23px;line-height:1;cursor:pointer}
.player-next-match-close:hover{border-color:var(--orange);background:#fff6eb}
.player-next-match-list{display:grid;gap:8px;min-height:0;padding:10px;overflow:auto;overscroll-behavior:contain}
.player-next-match-card{min-width:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff}
.player-next-match-card-head{display:flex;align-items:center;gap:7px;min-width:0}
.player-next-match-type{flex:0 0 auto;padding:4px 6px;border:1px solid #ffd09b;border-radius:4px;background:#fff5e8;color:#9b4a00;font-size:9px;font-weight:850}
.player-next-match-card-head>strong{min-width:0;overflow:hidden;color:var(--navy);font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.player-next-match-score-link{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;margin-left:auto;padding:6px 9px;border:1px solid #17835b;border-radius:5px;background:#17835b;color:#fff;font-size:10px;font-weight:850;text-decoration:none;white-space:nowrap}
.player-next-match-score-link svg{width:13px;height:13px;flex:0 0 13px}
.player-next-match-score-link:hover,.player-next-match-score-link:focus{border-color:#116b49;background:#116b49;color:#fff;text-decoration:none}
.admin-organization-status-filters{justify-content:flex-end;margin:10px 0 8px}
.player-score-page{width:100%;margin:0 0 14px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 5px 16px rgba(16,31,60,.06);overflow:hidden}
.player-score-page-header{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:11px 14px;border-bottom:1px solid var(--line);background:#fbfcfe}
.player-score-page-header h2{margin:0;color:var(--navy);font-size:15px;font-weight:900}
.player-score-page-header p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.player-score-page-body{display:grid;gap:10px;padding:12px}
.player-score-alert{padding:9px 11px;border:1px solid;border-radius:6px;font-size:11px;line-height:1.45}
.player-score-alert.is-success{border-color:#b6e3c7;background:#edf9f1;color:#16764d}
.player-score-alert.is-error{border-color:#ffc7c7;background:#fff3f3;color:#b4232d}
.player-score-organization-select{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.player-score-organization-select label,.player-score-field>span{color:var(--navy);font-size:10px;font-weight:850}
.player-score-organization-select select,.player-score-event-heading input,.player-score-field select,.player-score-field input{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:11px}
.player-score-event-heading{display:grid;gap:8px}
.player-score-event-heading>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.player-score-event-heading strong{color:var(--navy);font-size:12px;font-weight:900}
.player-score-event-heading span{color:var(--muted);font-size:10px}
.player-score-event-heading input{height:36px}
.player-score-help{margin:0;padding:8px 10px;border:1px solid #dbe4f0;border-radius:6px;background:#f7f9fc;color:#526987;font-size:10px;line-height:1.5}
.player-score-match-list{display:grid;gap:8px}
.player-score-match{min-width:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:#fff}
.player-score-match[hidden]{display:none}
.player-score-match-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.player-score-match-head>strong{color:#a95800;font-size:11px;font-weight:900}
.player-score-state{padding:4px 6px;border:1px solid #d8e1ee;border-radius:4px;background:#f5f7fb;color:#687a94;font-size:8px;font-weight:850;white-space:nowrap}
.player-score-state.is-complete{border-color:#b6e3c7;background:#edf9f1;color:#16764d}
.player-score-match-sides{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:stretch;gap:5px}
.player-score-team{display:grid;align-content:center;gap:4px;min-width:0;padding:5px;border:1px solid #e0e7f0;border-radius:5px;background:#f7f9fc}
.player-score-team.is-current{border-color:#ffc982;background:#fff8ee}
.player-score-person{display:flex;align-items:center;gap:5px;min-width:0}
.player-score-person img{flex:0 0 26px;width:26px;height:26px;object-fit:cover;border:1px solid #dbe3ed;border-radius:5px;background:#fff}
.player-score-person strong{min-width:0;overflow:hidden;color:var(--ink);font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.player-score-versus{align-self:center;color:#7b8aa1;font-size:9px;font-weight:900;text-align:center}
.player-score-inputs{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:end;gap:5px;margin-top:7px;padding:7px;border:1px solid #e2e9f2;border-radius:5px;background:#fbfcfe}
.player-score-field{display:grid;gap:4px;min-width:0}
.player-score-field input:disabled,.player-score-field select:disabled{border-color:#d7dee8;background:#edf1f6;color:#66758a;font-weight:850;opacity:1;text-align:center}
.player-score-field select{border-color:#ffc3c3;background:#fff6f6;color:#a6242c;text-align:center;font-weight:850}
.player-score-field.opponent-score-field select:valid{border-color:#a8d7b8;background:#eaf6ee;color:#176b43}
.player-score-colon{align-self:end;padding-bottom:10px;color:#63748e;font-weight:900;text-align:center}
.player-score-final{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;margin-top:7px;padding:7px 9px;border:1px solid #e0e7f0;border-radius:5px;background:#f7f9fc;color:#657690;font-size:9px}
.player-score-final strong{color:var(--navy);font-size:12px;font-weight:850;white-space:nowrap}
.player-score-final>span:last-child{text-align:right}
.player-score-audit{margin:6px 0 0;color:var(--muted);font-size:9px;text-align:right}
.player-score-empty,.player-score-no-search-results{margin:0;padding:14px 10px;border:1px dashed #d8e2ef;border-radius:6px;color:var(--muted);font-size:11px;text-align:center}
@media(min-width:900px){.player-score-page{max-width:100%}.player-score-page-body{padding:15px}.player-score-match-list{grid-template-columns:repeat(2,minmax(0,1fr))}.player-score-organization-select{grid-template-columns:150px minmax(0,1fr);align-items:center}.player-score-organization-select label{margin:0}}
.player-next-match-round{margin:5px 0 7px;color:var(--muted);font-size:10px}
.player-next-match-sides{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:5px}
.player-next-match-side{display:grid;gap:4px;min-width:0;padding:5px;border:1px solid #e1e8f1;border-radius:5px;background:#f7f9fc}
.player-next-match-side.is-current-player{border-color:#f6b75c;background:#fff8ed}
.player-next-match-person{display:flex;align-items:center;gap:6px;min-width:0}
.player-next-match-person img{flex:0 0 28px;width:28px;height:28px;object-fit:cover;border:1px solid #dce5ef;border-radius:5px;background:#fff}
.player-next-match-person strong{min-width:0;overflow:hidden;color:var(--ink);font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.player-next-match-versus{color:#7888a0;font-size:9px;font-weight:900;text-align:center}
@keyframes player-next-match-enter{to{transform:translateY(0)}}
@keyframes player-next-match-exit{to{opacity:0;transform:translateY(-30px)}}
@media(max-width:430px){.player-next-match-overlay{padding:8px 8px max(8px,env(safe-area-inset-bottom))}.player-next-match-dialog{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.player-next-match-header{padding:11px 12px}.player-next-match-list{padding:8px}.player-next-match-sides{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:3px}.player-next-match-side{padding:4px}.player-next-match-person{gap:4px}.player-next-match-person img{flex-basis:24px;width:24px;height:24px}.player-next-match-person strong{font-size:8px}}
@media(prefers-reduced-motion:reduce){.player-next-match-dialog{animation:none;transform:none}.player-next-match-overlay.is-closing .player-next-match-dialog{animation:none}}

/* Player messages */
.player-messages-page{width:100%;margin:0 0 14px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 5px 16px rgba(16,31,60,.06)}
.player-messages-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcfe}
.player-messages-heading h2{margin:0;color:var(--navy);font-size:15px;font-weight:900}
.player-messages-heading p,.player-received-heading p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.player-messages-body{display:grid;gap:12px;padding:12px}
.player-message-compose{display:grid;gap:9px;padding:11px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.player-message-compose h3,.player-received-heading h3{margin:0;color:var(--navy);font-size:12px;font-weight:900}
.player-message-field{display:grid;gap:5px;min-width:0}
.player-message-field label{color:var(--navy);font-size:10px;font-weight:850}
.player-message-field label span{color:var(--muted);font-weight:600}
.player-message-field input,.player-message-field textarea{width:100%;min-width:0;padding:9px 10px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:11px;line-height:1.45}
.player-message-field input{height:38px}
.player-message-field textarea{min-height:108px;resize:vertical}
.player-message-field small{color:var(--muted);font-size:9px;line-height:1.4}
.player-message-counter{text-align:right}
.player-message-submit{min-height:39px;padding:0 13px;border:1px solid #128653;border-radius:6px;background:#128653;color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.player-message-submit:hover:not(:disabled){background:#0d7447}
.player-message-submit:disabled{border-color:#d7dee8;background:#e9edf3;color:#7b8798;cursor:not-allowed}
.player-messages-alert{margin:0;padding:9px 11px;border:1px solid;border-radius:6px;font-size:10px;line-height:1.45}
.player-messages-alert.is-success{border-color:#a9dfbb;background:#edf9f1;color:#16764d}
.player-messages-alert.is-error{border-color:#ffc1c1;background:#fff2f2;color:#b4232d}
.player-received-messages{display:grid;gap:8px;min-width:0}
.player-received-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 1px}
.player-unread-total{padding:4px 7px;border:1px solid #d8323f;border-radius:5px;background:#d8323f;color:#fff;font-size:9px;font-weight:900}
.player-unread-total[hidden]{display:none}
.player-message-list{display:grid;gap:7px}
.player-message-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;padding:8px;border:1px solid #dbe4ef;border-radius:6px;background:#f8fafd;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.player-message-card:hover{border-color:#bdcce0;background:#f3f6fa}
.player-message-card.is-unread{border-color:#edc3a0;background:#fff9f2}
.player-message-card.is-unread:hover{border-color:#f3a451;background:#fff4e8}
.player-message-card.is-read{opacity:.78}
.player-message-card-actions{display:grid;justify-items:center;gap:4px;min-width:38px}
.player-message-delete{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid #f0b7bb;border-radius:5px;background:#fff3f4;color:#c52e39;font:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer}
.player-message-delete:hover,.player-message-delete:focus-visible{border-color:#c52e39;background:#c52e39;color:#fff}
.player-message-avatar{display:block;width:38px;height:38px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}
.player-message-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.player-message-summary{display:grid;gap:3px;min-width:0}
.player-message-summary-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.player-message-summary-top strong{overflow:hidden;color:var(--navy);font-size:10px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.player-message-summary-top time{flex:0 0 auto;color:var(--muted);font-size:8px}
.player-message-subject{overflow:hidden;color:#394d6a;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.player-message-preview{overflow:hidden;color:#657693;font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.player-message-state{padding:4px 5px;border:1px solid #dce3ec;border-radius:4px;background:#eef1f5;color:#7c899b;font-size:8px;font-weight:850;white-space:nowrap}
.player-message-card.is-unread .player-message-state{border-color:#f3c18e;background:#ffeedc;color:#9b4a00}
.player-message-empty{margin:0;padding:13px;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:10px;text-align:center}
body.player-message-modal-open{overflow:hidden}
.player-message-modal{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px;background:rgba(9,22,44,.62);overscroll-behavior:contain}
.player-message-modal[hidden]{display:none}
.player-message-dialog{display:flex;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;border:1px solid #ccd8e8;border-radius:8px;background:#fff;box-shadow:0 18px 55px rgba(6,21,46,.4);animation:player-edit-enter .2s ease-out}
.player-message-confirm-dialog{width:min(380px,100%)}
.player-message-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px}
.player-message-confirm-actions button{min-height:35px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.player-message-confirm-actions [data-confirm-delete]{border-color:#c52e39;background:#c52e39;color:#fff}
.player-message-modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f7f9fc}
.player-message-modal-head h2{margin:0;color:var(--navy);font-size:14px;font-weight:900;overflow-wrap:anywhere}
.player-message-modal-head p{margin:4px 0 0;color:var(--muted);font-size:9px}
.player-message-modal-close{width:32px;height:32px;flex:0 0 32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:21px;line-height:1;cursor:pointer}
.player-message-modal-body{min-height:80px;padding:14px;overflow:auto;color:var(--ink);font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:480px){.player-messages-heading{padding:10px 11px}.player-messages-body{gap:10px;padding:9px}.player-message-compose{gap:8px;padding:9px}.player-message-field textarea{min-height:94px}.player-message-card{grid-template-columns:34px minmax(0,1fr) auto;gap:6px;padding:7px}.player-message-avatar{width:34px;height:34px}.player-message-summary-top time{font-size:7px}.player-message-state{font-size:7px;padding:4px}.player-message-modal{padding:8px}.player-message-dialog{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}}

/* Player profile actions, profile editor, and player wallet tools */
.player-profile-image{width:128px;height:128px;border:3px solid #ff8612;border-radius:50%;object-fit:cover;object-position:center;background:#f1f4f8}
.player-profile-photo-trigger{display:block;width:128px;height:128px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.player-profile-photo-trigger:disabled{cursor:default}
.player-photo-pending-note{max-width:128px;padding:5px 6px;border:1px solid #f3c18e;border-radius:5px;background:#fff4e7;color:#96500b;font-size:8px;font-weight:850;line-height:1.25;text-align:center}
@media(max-width:480px){.player-profile-card{grid-template-columns:minmax(0,1fr) 118px}.player-profile-image,.player-profile-photo-trigger{width:118px;height:118px}.player-profile-aside{width:118px;min-width:0}.player-photo-pending-note{width:100%;max-width:100%;box-sizing:border-box}}
.player-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:0 0 14px}
.player-action-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:78px;padding:10px 6px;border:1px solid transparent;border-radius:8px;color:#fff;font:inherit;font-size:11px;font-weight:850;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 4px 10px rgba(16,31,60,.12);transition:filter .15s ease,transform .15s ease}
.player-action-button svg{display:block;width:23px;height:23px;flex:0 0 23px}
.player-action-button:hover,.player-action-button:focus-visible{color:#fff;text-decoration:none;filter:brightness(1.06);transform:translateY(-1px)}
.player-action-button.is-edit{border-color:#2259d8;background:linear-gradient(145deg,#3478f6,#2457d7)}
.player-action-button.is-send{border-color:#0a9855;background:linear-gradient(145deg,#19b96b,#07874c)}
.player-action-button.is-wallet{border-color:#c62631;background:linear-gradient(145deg,#ef4149,#c9202d)}
.player-home-profile-layout{display:contents}
@media(min-width:1000px){.player-home-profile-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:stretch;gap:12px}.player-home-profile-layout .player-profile-card{grid-column:1;grid-row:1;margin-bottom:0}.player-home-profile-layout .player-profile-flash{grid-column:1/-1}.player-home-profile-layout .player-action-grid{grid-column:2;grid-row:1;grid-template-columns:1fr;align-content:center;gap:8px;margin:0}.player-home-profile-layout .player-action-button{min-height:58px;padding:8px 10px;gap:5px}.player-home-profile-layout .player-action-button svg{width:21px;height:21px;flex-basis:21px}}
.player-profile-flash{margin:0 0 10px;padding:9px 11px;border:1px solid #a9dfbb;border-radius:6px;background:#edf9f1;color:#16764d;font-size:11px;line-height:1.45}
.player-profile-flash.is-error{border-color:#ffc1c1;background:#fff2f2;color:#b4232d}
body.player-edit-open{overflow:hidden}
.player-edit-overlay{position:fixed;inset:0;z-index:1300;display:none;align-items:center;justify-content:center;overflow:auto;padding:14px;background:rgba(9,22,44,.62);overscroll-behavior:contain}
.player-edit-overlay.is-open{display:flex}
.player-edit-dialog{display:flex;flex-direction:column;width:min(640px,100%);max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);overflow:hidden;border:1px solid #ccd8e8;border-radius:9px;background:#fff;box-shadow:0 18px 55px rgba(6,21,46,.4);animation:player-edit-enter .2s ease-out}
.player-edit-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);background:#f7f9fc}
.player-edit-header h2{margin:0;color:var(--navy);font-size:15px;font-weight:900}
.player-edit-header p{margin:4px 0 0;color:var(--muted);font-size:10px}
.player-edit-close{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:22px;line-height:1;cursor:pointer}
.player-edit-form{display:grid;gap:10px;min-height:0;padding:12px;overflow:auto}
.player-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.player-edit-field{display:grid;align-content:start;gap:5px;min-width:0;padding:9px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}
.player-edit-field.full{grid-column:1/-1}
.player-edit-field label{color:var(--navy);font-size:10px;font-weight:850}
.player-edit-field input,.player-edit-field select{width:100%;min-width:0;height:37px;padding:0 9px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:11px}
.player-edit-field small{color:var(--muted);font-size:9px;line-height:1.4}
.player-edit-phone{display:grid;grid-template-columns:82px minmax(0,1fr);gap:5px}
.player-edit-error{margin:0;padding:8px 10px;border:1px solid #ffc1c1;border-radius:6px;background:#fff2f2;color:#b4232d;font-size:10px;line-height:1.45}
.player-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}
.player-edit-actions button{min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.player-edit-actions .player-edit-save{border-color:#128653;background:#128653;color:#fff}
.player-photo-overlay{position:fixed;inset:0;z-index:1350;display:flex;align-items:center;justify-content:center;overflow:auto;padding:12px;background:rgba(9,22,44,.64);overscroll-behavior:contain}
.player-photo-overlay[hidden]{display:none}
.player-photo-dialog{width:min(460px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #ccd8e8;border-radius:9px;background:#fff;box-shadow:0 18px 55px rgba(6,21,46,.4)}
.player-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f7f9fc}
.player-photo-heading h2{margin:0;color:var(--navy);font-size:14px;font-weight:900}
.player-photo-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}
.player-photo-heading>button{width:32px;height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:21px;line-height:1;cursor:pointer}
.player-photo-editor{display:grid;justify-items:center;gap:10px;padding:12px}
.player-photo-file{display:grid;place-items:center;width:100%;min-height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font-size:10px;font-weight:850;cursor:pointer}
.player-photo-file input{position:absolute;width:1px;height:1px;opacity:0}
.player-photo-canvas-wrap{width:min(320px,78vw);aspect-ratio:1;border:1px solid var(--line);border-radius:7px;background:#f1f4f8;overflow:hidden}
.player-photo-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}
.player-photo-zoom{display:grid;gap:5px;width:100%;color:var(--navy);font-size:10px;font-weight:850}
.player-photo-zoom input{width:100%;accent-color:var(--orange)}
.player-photo-feedback{min-height:16px;margin:0;color:#b4232d;font-size:10px;text-align:center}
.player-photo-actions{display:flex;justify-content:flex-end;gap:8px;width:100%}
.player-photo-actions button{min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.player-photo-actions #savePlayerPhoto{border-color:#128653;background:#128653;color:#fff}
.player-photo-actions #savePlayerPhoto:disabled{border-color:#d7dee8;background:#e9edf3;color:#7b8798;cursor:not-allowed}
@keyframes player-edit-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.player-wallet-panel{width:100%;margin:0 0 14px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 5px 16px rgba(16,31,60,.06)}
.player-wallet-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcfe}
.player-wallet-heading h1{margin:0;color:var(--navy);font-size:15px;font-weight:900}
.player-wallet-heading p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.4}
.player-wallet-history-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:var(--navy);font-size:10px;font-weight:850;text-decoration:none;white-space:nowrap}
.player-wallet-history-link:hover,.player-wallet-history-link:focus{border-color:var(--orange);color:var(--navy);text-decoration:none}
.player-wallet-history-search{padding:10px 12px 0}
.player-wallet-history-search input{display:block;width:100%;min-width:0;height:39px;padding:0 11px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:11px;outline:none}
.player-wallet-history-search input:focus{border-color:var(--orange);box-shadow:0 0 0 2px rgba(255,138,0,.14)}
.player-wallet-recipient-picker,.player-wallet-transfer-form{display:grid;gap:10px;padding:12px}
.player-wallet-field{display:grid;gap:5px;min-width:0}
.player-wallet-field label{color:var(--navy);font-size:10px;font-weight:850}
.player-wallet-field input,.player-wallet-field select{width:100%;min-width:0;height:39px;padding:0 10px;border:1px solid #cbd8e8;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:11px}
.player-wallet-transfer-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;font-size:10px}
.player-wallet-transfer-summary span{color:var(--muted)}
.player-wallet-transfer-summary strong{color:var(--navy);text-align:right}
.player-wallet-submit{min-height:40px;padding:0 14px;border:1px solid #128653;border-radius:6px;background:#128653;color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer}
.player-wallet-submit:hover{background:#0d7447}
.player-wallet-alert,.player-wallet-empty{margin:12px;padding:10px 12px;border:1px dashed #d4deeb;border-radius:6px;background:#f8fafd;color:var(--muted);font-size:11px;line-height:1.5}
.player-wallet-alert.is-success{border-style:solid;border-color:#a9dfbb;background:#edf9f1;color:#16764d}
.player-wallet-alert.is-error{border-style:solid;border-color:#ffc1c1;background:#fff2f2;color:#b4232d}
.player-wallet-history-list{display:grid;gap:8px;padding:12px}
.player-wallet-history-item{min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}
.player-wallet-history-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.player-wallet-history-top>div{display:grid;gap:3px;min-width:0}
.player-wallet-history-top strong{color:var(--navy);font-size:11px;font-weight:850}
.player-wallet-history-top span,.player-wallet-history-item p{color:var(--muted);font-size:9px;line-height:1.45}
.player-wallet-history-item p{margin:7px 0 0;color:#526987}
.player-wallet-history-top>b{flex:0 0 auto;font-size:11px;font-weight:900;white-space:nowrap}
.player-wallet-history-top>b.is-positive{color:#11804a}
.player-wallet-history-top>b.is-negative{color:#c52e39}
.player-wallet-history-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid #edf1f6;color:#667891;font-size:9px}
.player-wallet-history-bottom i{font-style:normal;color:#97a5b8}
.player-wallet-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;padding:0 12px 12px}
.player-wallet-pagination a{display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--navy);font-size:10px;font-weight:850;text-decoration:none}
.player-wallet-pagination a.is-active{border-color:var(--orange);background:#fff3e6;color:#9b4a00}
.admin-photo-review-panel{width:100%;margin:0 0 14px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 5px 16px rgba(16,31,60,.06)}
.admin-photo-review-heading{padding:12px 14px;border-bottom:1px solid var(--line);background:#fbfcfe}
.admin-photo-review-heading h2{margin:0;color:var(--navy);font-size:14px;font-weight:900}
.admin-photo-review-heading p{margin:4px 0 0;color:var(--muted);font-size:10px}
.admin-photo-review-flash,.admin-photo-review-empty{margin:12px;padding:10px 12px;border:1px solid #d6e1ef;border-radius:6px;background:#f7f9fc;color:#526987;font-size:11px;line-height:1.5}
.admin-photo-review-flash.is-success{border-color:#a9dfbb;background:#edf9f1;color:#16764d}
.admin-photo-review-flash.is-error{border-color:#ffc1c1;background:#fff2f2;color:#b4232d}
.admin-photo-review-list{display:grid;gap:8px;padding:12px}
.admin-photo-review-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fff}
.admin-photo-review-preview{display:block;width:76px;height:76px;object-fit:cover;border:1px solid #dce4ef;border-radius:6px;background:#f4f7fb}
.admin-photo-review-details{display:grid;gap:4px;min-width:0}
.admin-photo-review-details strong{overflow:hidden;color:var(--navy);font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.admin-photo-review-details span,.admin-photo-review-details time{color:var(--muted);font-size:10px}
.admin-photo-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.admin-photo-review-actions form{margin:0}
.admin-photo-review-actions button{min-height:34px;padding:0 12px;border:1px solid;border-radius:6px;font:inherit;font-size:10px;font-weight:850;cursor:pointer}
.admin-photo-review-approve{border-color:#128653!important;background:#128653;color:#fff}
.admin-photo-review-reject{border-color:#c94248!important;background:#c94248;color:#fff}
@media(max-width:520px){.admin-photo-review-card{grid-template-columns:58px minmax(0,1fr);gap:8px;padding:8px}.admin-photo-review-preview{width:58px;height:58px}.admin-photo-review-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.admin-photo-review-actions button{width:100%}}
@media(max-width:480px){.player-action-grid{gap:7px;margin-bottom:11px}.player-action-button{min-height:72px;gap:6px;padding:8px 4px;font-size:10px}.player-action-button svg{width:21px;height:21px;flex-basis:21px}.player-edit-overlay{padding:8px}.player-edit-dialog{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.player-edit-grid{grid-template-columns:1fr;gap:6px}.player-edit-field.full{grid-column:auto}.player-edit-field{padding:8px}.player-wallet-heading{padding:10px}.player-wallet-heading h1{font-size:14px}.player-wallet-recipient-picker,.player-wallet-transfer-form,.player-wallet-history-list{padding:9px}.player-wallet-history-search{padding:9px 9px 0}.player-wallet-history-bottom{align-items:flex-start;flex-direction:column}}

/* Expandable player performance summary above public organization listings */
.player-stats-section{margin:0 0 20px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 5px 16px rgba(16,31,60,.06)}
@media(min-width:761px){.player-stats-section{margin-top:20px}}
.player-stats-summary{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:10px;padding:12px;list-style:none;cursor:pointer}
.player-stats-summary::-webkit-details-marker{display:none}
.player-stats-summary-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;grid-column:1/-1;min-width:0}
.player-stats-summary-copy>span:first-child{display:grid;gap:3px;min-width:0}
.player-stats-summary-copy strong{color:var(--navy);font-size:15px;font-weight:900}
.player-stats-summary-copy small{color:var(--muted);font-size:10px}
.player-stats-toggle{display:flex;align-items:center;gap:5px;flex:0 0 auto;padding:4px 7px;border:1px solid #f49a24;border-radius:6px;background:#fff4e4;color:#b95800;font-size:10px;font-weight:900}
.player-stats-chevron{display:block;width:17px;height:17px;color:#d76500;transition:transform .18s ease}
.player-stats-section[open] .player-stats-chevron{transform:rotate(180deg)}
.player-stats-overview{display:contents}
.player-stats-total-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0}
.player-stats-total{display:grid;gap:3px;min-width:0;padding:7px;border:1px solid #e0e8f2;border-radius:6px;background:#f7f9fc}
.player-stats-total small{overflow:hidden;color:#586d8c;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.player-stats-total strong{color:var(--navy);font-size:12px;font-weight:800}
.player-stats-ring{display:grid;place-items:center;width:68px;height:68px;align-self:center;border-radius:50%;background:conic-gradient(#11865e 0 var(--player-win-rate),#e8edf5 var(--player-win-rate) 100%)}
.player-stats-ring>span{display:grid;align-content:center;justify-items:center;width:54px;height:54px;border-radius:50%;background:#fff}
.player-stats-ring strong{color:#11865e;font-size:13px;font-weight:900;line-height:1.1}
.player-stats-ring small{margin-top:2px;color:var(--muted);font-size:8px}
.player-stats-breakdown{padding:0 12px 12px;border-top:1px solid #e4eaf2}
.player-stats-breakdown>h3{margin:10px 0 8px;color:var(--navy);font-size:12px;font-weight:900}
.player-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.player-stat-card{display:grid;align-content:start;gap:8px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}
.player-stat-title{display:flex;align-items:center;gap:7px;min-width:0}
.player-stat-title>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border:1px solid #ffd2a2;border-radius:6px;background:#fff7ed;font-size:15px}
.player-stat-title h3{overflow:hidden;margin:0;color:var(--navy);font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.player-stat-results{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.player-stat-results>span{display:flex;align-items:center;justify-content:space-between;gap:3px;padding:5px;border:1px solid #e0e8f2;border-radius:5px;background:#f7f9fc;color:#586d8c;font-size:8px}
.player-stat-results strong{color:var(--navy);font-size:10px}
.player-stat-rate{display:grid;gap:4px}
.player-stat-rate>div{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#586d8c;font-size:8px}
.player-stat-rate>div strong{color:#0b8b58;font-size:9px}
.player-stat-track{display:block;height:6px;overflow:hidden;border-radius:5px;background:#e8edf5}
.player-stat-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20bd70,#078751)}
.player-stat-achievements{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-top:6px;border-top:1px solid #e4eaf2;color:#586d8c;font-size:8px}
.player-stat-achievements span{white-space:nowrap}
.player-stat-achievements strong{color:var(--navy);font-size:9px}
@media(max-width:1100px){.player-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.public-organization-nav-card .public-section-heading h2{font-size:13px}.player-stats-section{margin-bottom:15px}.player-stats-summary{grid-template-columns:minmax(0,1fr) 62px;gap:8px;padding:9px}.player-stats-summary-copy strong{font-size:13px}.player-stats-summary-copy small{font-size:9px}.player-stats-total-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.player-stats-total{padding:6px}.player-stats-ring{width:56px;height:56px}.player-stats-ring>span{width:44px;height:44px}.player-stats-ring strong{font-size:11px}.player-stats-ring small{font-size:7px}.player-stats-breakdown{padding:0 9px 9px}.player-stats-grid{grid-template-columns:1fr;gap:7px}.player-stat-card{gap:7px;padding:8px}.player-stat-title h3{font-size:11px}.player-stat-results>span,.player-stat-rate>div,.player-stat-achievements{font-size:9px}}
.admin-organization-status-filters{justify-content:flex-end;margin:10px 0 8px}
html{scrollbar-gutter:stable}
.player-action-button{min-height:66px;gap:5px;padding:6px 5px}
.player-wallet-action-word{color:#c52e39}
@media(max-width:480px){.player-action-button{min-height:62px;gap:4px;padding:5px 4px}}
