:root{--yellow:#ffd200;--yellow2:#f4b400;--black:#050505;--charcoal:#111417;--panel:#171b20;--panel2:#20252b;--line:#333a42;--muted:#aab2bd;--white:#fff;--ink:#0b1220;--green:#39d353;--blue:#3b82f6;--danger:#ef4444}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#20252b,#08090b 45%,#040404);color:#f6f7fb;font-family:Inter,Segoe UI,Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:265px;background:linear-gradient(180deg,#050505,#121416 55%,#080808);border-right:1px solid #2a2d32;padding:18px 14px;overflow:auto}.brand-block{display:flex;gap:12px;align-items:center;margin-bottom:22px}.logo,.logo-fallback{width:58px;height:58px;border-radius:50%;border:2px solid var(--yellow);object-fit:cover;background:#000;display:grid;place-items:center;color:var(--yellow);font-weight:900}.brand{font-weight:900;letter-spacing:.7px;line-height:1.05}.subbrand{font-size:11px;color:var(--yellow);font-weight:700;text-transform:uppercase;margin-top:4px}nav a{display:block;color:#fff;text-decoration:none;padding:12px 12px;border-radius:12px;margin:4px 0;font-weight:700;font-size:13px}nav a:hover{background:#20242a;color:var(--yellow)}.mission-card{margin-top:24px;padding:18px;border:1px solid #2e333a;border-radius:18px;background:linear-gradient(180deg,#191d22,#0d0f12);color:#ddd}.mission-card b{color:var(--yellow);display:block;margin-bottom:8px}.mission-card span{font-size:13px;line-height:1.5}.main{margin-left:265px;min-height:100vh;padding:22px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding:18px 20px;border:1px solid #2a2f36;border-radius:20px;background:linear-gradient(90deg,#090909,#171b20)}.topbar strong{display:block;font-size:24px;letter-spacing:.8px}.topbar span{color:var(--yellow);font-weight:700}.season-pill{border:1px solid var(--yellow);color:var(--yellow);border-radius:999px;padding:10px 16px;font-weight:900}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:10px 0 16px}.page-head h1{margin:0;color:var(--yellow);font-size:28px}.page-head p{margin:6px 0 0;color:var(--muted)}.panel,.card,.report-preview{background:rgba(23,27,32,.95);border:1px solid #30353d;border-radius:18px;padding:16px;box-shadow:0 20px 35px rgba(0,0,0,.22)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.card b{display:block;font-size:28px;color:#fff}.card span{font-size:13px;color:var(--muted)}.card .icon{font-size:24px;color:var(--yellow)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.layout-2{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.mini{padding:13px;border:1px solid #30363e;border-radius:14px;background:#111418}.mini b{color:var(--yellow);display:block}.mini span{color:#d8dde5;font-size:13px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #30363e;padding:10px;text-align:left;vertical-align:middle}th{color:var(--yellow);font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:#14181d}tbody tr:hover{background:rgba(255,210,0,.04)}.actions{display:flex;gap:10px;align-items:center;margin:12px 0}.button,button{background:linear-gradient(180deg,var(--yellow),var(--yellow2));color:#111;border:0;border-radius:11px;padding:10px 14px;font-weight:900;text-decoration:none;cursor:pointer}.button.secondary,button.secondary{background:#242a31;color:#fff;border:1px solid #3c444e}.status{font-size:11px;font-weight:900;border-radius:999px;padding:5px 9px;text-transform:uppercase}.completed{color:#041;background:#48ff7b}.planned{color:#222;background:#ffd200}.open{color:#fff;background:#3b82f6}.locked{color:#fff;background:#7c3aed}.cancelled{color:#fff;background:#ef4444}.inline-form{display:flex;gap:8px}input,select,textarea{background:#0c0f12;color:#fff;border:1px solid #3b424b;border-radius:10px;padding:10px;min-height:38px}textarea{min-height:100px}.member-form,.event-form,.settings-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.settings-form textarea,.settings-form .full,.event-form textarea{grid-column:1/-1}.capture-wrap{overflow:auto;max-height:70vh}.capture-table{min-width:1850px}.capture-table input,.capture-table select{width:100%;min-width:72px}.capture-table .name{min-width:210px}.xs{width:72px}.sticky-actions{position:sticky;bottom:0;margin-top:12px;background:#070707cc;backdrop-filter:blur(8px);border:1px solid #333;border-radius:14px;padding:12px;display:flex;gap:10px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tab{padding:10px 14px;border:1px solid #363e47;border-radius:10px;background:#11151a;color:#fff;font-weight:800}.tab.active{background:var(--yellow);color:#111}.leader-card{display:flex;gap:14px;align-items:center}.avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--yellow),#111);display:grid;place-items:center;color:#111;font-weight:900}.flash{padding:12px 14px;border-radius:12px;margin-bottom:12px}.success{background:#063b1e;color:#c7ffd8}.error{background:#4a1010;color:#ffd1d1}.print-report{background:#fff;color:#111;border-radius:18px;padding:22px}.official-title{text-align:center;margin-bottom:12px}.official-title h1{margin:0;font-size:26px;letter-spacing:1px}.official-title h2{font-family:Georgia,serif;font-style:italic;font-weight:500;margin:3px 0;color:#111}.report-meta,.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border:1px solid #d6dbe1;border-radius:12px;padding:10px;margin:12px 0}.report-meta div,.summary-strip div{border-right:1px solid #e4e7eb;padding:6px}.report-meta div:last-child,.summary-strip div:last-child{border-right:0}.summary-strip b{display:block;font-size:18px}.category-title{background:#111;color:#ffd200;padding:8px 10px;border-radius:8px;margin:18px 0 6px}.report-table th{background:#111;color:#ffd200}.report-table th,.report-table td{border:1px solid #dfe3e8;color:#111;padding:6px;font-size:11px}.species-boxes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.species-box{border:1px solid #d6dbe1;border-radius:12px;overflow:hidden}.species-box h3{background:#111;color:#ffd200;margin:0;padding:8px 10px;font-size:13px}.species-box table th{background:#f4f5f7;color:#111}.cert{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:28px;color:#111}.destea-doc{background:#fff;color:#111;max-width:850px;margin:auto;padding:26px;border:1px solid #ccc}.destea-doc h1{text-align:center;font-size:20px;border:2px solid #111;padding:6px}.destea-doc table th,.destea-doc table td{border:1px solid #555;color:#111;padding:7px}.destea-doc th{background:#f4f4f4;color:#111}.notice{font-style:italic;text-align:center;font-weight:800;margin-top:16px}.footer-slogan{margin-top:18px;text-align:center;color:var(--yellow);font-family:Georgia,serif;font-size:24px}@media(max-width:1000px){.sidebar{position:static;width:auto}.main{margin-left:0}.cards,.grid-2,.grid-3,.layout-2{grid-template-columns:1fr}.member-form,.event-form,.settings-form{grid-template-columns:1fr}}@media print{body{background:#fff;color:#111}.no-print,.sidebar,.topbar{display:none!important}.main{margin:0;padding:0}.panel,.print-report,.destea-doc{box-shadow:none;border:none;border-radius:0}.print-report{padding:6mm}.page-break{page-break-before:always}table{font-size:10px}th,td{padding:5px}.species-boxes{grid-template-columns:1fr 1fr}.category-title{break-after:avoid}.report-table{break-inside:auto}tr{break-inside:avoid}.destea-doc{max-width:none;padding:0}}
.badge{display:inline-block;background:#242a31;border:1px solid #3b424b;color:#ffd200;border-radius:999px;padding:4px 8px;font-weight:800;font-size:11px}.muted{color:var(--muted);font-size:11px;margin-top:3px}.toolbar-form{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;align-items:end}.inline-delete{display:inline}.danger{background:#5b1010!important;color:#fff!important;border:1px solid #ef4444!important}.form-panel{max-width:1100px}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-form label{display:flex;flex-direction:column;gap:6px;color:#d6dce5;font-weight:800;font-size:12px}.grid-form .full,.grid-form textarea{grid-column:1/-1}.grid-form .section-title{grid-column:1/-1;color:#ffd200;font-weight:900;text-transform:uppercase;border-bottom:1px solid #333a42;padding:6px 0}.check{flex-direction:row!important;align-items:center}.check input{min-height:auto;width:auto}.form-actions{grid-column:1/-1;display:flex;gap:10px}.inline-form select{min-width:130px}@media(max-width:1000px){.toolbar-form,.grid-form{grid-template-columns:1fr}}


/* v10 readable event/category tabs fix */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.tab,.tabs a,.tabs button{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 14px;border:1px solid #4b5563;border-radius:999px;
  background:#151a20;color:#f8fafc!important;font-weight:900;text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.tab:hover,.tabs a:hover,.tabs button:hover{border-color:var(--yellow);color:var(--yellow)!important;background:#0b0d10}
.tab.active,.tabs a.active,.tabs button.active{
  background:linear-gradient(180deg,var(--yellow),var(--yellow2));
  color:#050505!important;border-color:var(--yellow);
}
select option{background:#111417;color:#fff}
select:focus,input:focus,textarea:focus{outline:2px solid rgba(255,210,0,.45);border-color:var(--yellow)}
.event-tab-note{color:#d6dce5;font-size:12px;margin-top:4px}
/* v10 season-members toolbar */
.toolbar-form{grid-template-columns:1fr 2fr 1fr 1fr auto auto}
@media(max-width:1000px){.toolbar-form{grid-template-columns:1fr}}

/* v12 premium Option A print/report redesign */
.option-a-report{padding:0!important;overflow:hidden;border-radius:14px;background:#fff;color:#101418;border:1px solid #d7dbe0}
.report-hero{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#050505 0%,#14171b 72%,#2d2500 100%);color:#fff;padding:22px 26px;border-bottom:5px solid var(--yellow)}
.report-logo-wrap{width:92px;height:92px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.report-logo{width:86px;height:86px;object-fit:contain;border-radius:14px;background:#fff;padding:6px;border:2px solid rgba(255,210,0,.95)}.report-logo.small,.report-logo-placeholder.small{width:60px;height:60px}.report-logo-placeholder{width:86px;height:86px;border-radius:14px;border:2px solid var(--yellow);display:grid;place-items:center;color:var(--yellow);font-size:26px;font-weight:1000;background:#0b0b0b}.report-hero-copy{min-width:0}.report-kicker{text-transform:uppercase;letter-spacing:1.6px;font-size:11px;color:var(--yellow);font-weight:1000;margin-bottom:5px}.report-hero h1{margin:0;color:#fff;font-size:30px;line-height:1;letter-spacing:1.1px}.report-hero h2{margin:7px 0 0;color:#f3f4f6;font-size:18px;font-weight:700}.compact-hero{margin-top:0;padding:16px 22px}.compact-hero h1{font-size:22px}.compact-hero h2{font-size:16px}.premium-meta,.premium-summary{margin:16px 20px!important;border:1px solid #d5d9df!important;background:#fff;border-radius:12px!important}.premium-meta b{color:#101418;text-transform:uppercase;font-size:10px;letter-spacing:.7px}.premium-summary{background:#f6f7f9!important}.premium-summary div{text-align:center}.premium-summary b{font-size:20px;color:#101418}.category-section{margin:14px 20px}.premium-title{border-radius:0!important;background:#121417!important;color:#ffd200!important;padding:9px 12px!important;text-transform:uppercase;letter-spacing:.8px;border-left:7px solid #ffd200}.premium-table{border-collapse:collapse;background:#fff}.premium-table th{background:#1a1d21!important;color:#fff!important;border:1px solid #1a1d21!important;font-weight:900;text-transform:uppercase;letter-spacing:.45px}.premium-table td{color:#111!important;border:1px solid #dfe3e8!important;background:#fff}.premium-table tbody tr:nth-child(even) td{background:#fafbfc}.premium-species-boxes{margin:18px 20px 10px}.premium-box{border:1px solid #d5d9df!important;border-radius:12px!important;background:#fff;overflow:hidden;box-shadow:none}.premium-box h3{background:#121417!important;color:#ffd200!important;margin:0!important;padding:10px 12px!important;font-size:13px;text-transform:uppercase;letter-spacing:.7px;border-bottom:3px solid #ffd200}.premium-box td{color:#111!important;border-bottom:1px solid #e2e6eb}.premium-cert{margin:24px 20px 20px;color:#111;border-top:2px solid #15181c;padding-top:18px}.report-footer{background:#111417;color:#d9dde3;text-align:center;padding:10px 14px;font-size:10px;letter-spacing:.4px}.detail-intro{margin:16px 20px;padding:12px 14px;background:#f5f6f8;border-left:5px solid #ffd200;color:#111}.detail-intro span{display:block;color:#555;margin-top:3px;font-size:12px}.angler-breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 20px 22px}.angler-card-print{border:1px solid #d7dce2;border-radius:12px;overflow:hidden;background:#fff;break-inside:avoid}.angler-card-head{display:flex;justify-content:space-between;gap:12px;background:#111417;color:#fff;padding:10px 12px;border-bottom:4px solid #ffd200}.angler-card-head h3{margin:0;font-size:15px}.angler-card-head p{margin:4px 0 0;color:#c9ced6;font-size:11px}.angler-total{display:grid;grid-template-columns:auto auto;gap:0 6px;text-align:right;min-width:88px}.angler-total b{color:#ffd200;font-size:15px}.angler-total span{font-size:10px;color:#d1d5db;text-transform:uppercase}.detail-species-table th{background:#f0f2f5!important;color:#111!important;border:1px solid #dfe3e8!important}.detail-species-table td{color:#111!important;border:1px solid #e3e7ec!important;padding:6px 8px}.detail-species-table .total-row td{font-weight:900;background:#fff8d7!important}.biggest-grid-print{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 20px}.species-ranking-card{break-inside:avoid}.capture-table th, .panel table th{background:#ffd200!important;color:#111!important;border-bottom:2px solid #111!important}.capture-table thead tr:first-child th{background:#111417!important;color:#ffd200!important}.capture-table thead tr:nth-child(2) th{background:#ffd200!important;color:#111!important}
@media print{.option-a-report{border:0;border-radius:0}.report-hero{padding:12mm 10mm 8mm}.report-logo-wrap{width:72px;height:72px}.report-logo,.report-logo-placeholder{width:68px;height:68px}.report-hero h1{font-size:22px}.report-hero h2{font-size:14px}.premium-meta,.premium-summary{margin:4mm 6mm!important}.category-section{margin:4mm 6mm}.premium-species-boxes{margin:5mm 6mm}.premium-cert{margin:8mm 6mm 6mm}.angler-breakdown-grid{grid-template-columns:1fr 1fr;margin:0 6mm 6mm;gap:4mm}.detail-intro{margin:4mm 6mm}.report-footer{position:fixed;bottom:0;left:0;right:0}.biggest-grid-print{margin:5mm 6mm}.page-break{page-break-before:always}}

/* v13 unified premium report template + member photos */
.avatar.photo{object-fit:cover;background:#111;border:2px solid var(--yellow);color:transparent}
.leader-mini{display:flex!important;align-items:center;gap:12px}
.mini-avatar,.member-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--yellow);background:#111;display:inline-grid;place-items:center;color:#111;font-weight:1000;flex:0 0 auto}
.mini-avatar.initials,.member-avatar.initials{background:linear-gradient(135deg,var(--yellow),#6f5f00);color:#101010}
.member-cell{display:flex;align-items:center;gap:10px}.member-cell.compact{gap:8px}.member-cell.compact .member-avatar{width:30px;height:30px}.photo-editor{grid-column:1/-1;display:grid;grid-template-columns:100px minmax(200px,1fr) auto;gap:14px;align-items:center;background:#101418;border:1px solid #303741;border-radius:14px;padding:14px}.profile-preview{width:88px;height:88px;border-radius:18px;border:2px solid var(--yellow);object-fit:cover;background:#070707}.profile-preview.fallback{display:grid;place-items:center;font-weight:1000;font-size:28px;background:linear-gradient(135deg,var(--yellow),#7b6700);color:#111}.report-only{display:none}.option-a-report{max-width:980px;margin:0 auto 28px}.report-hero{min-height:126px;background:linear-gradient(135deg,#020202 0%,#0b0d10 58%,#252009 100%)!important;border-bottom:7px solid #ffd200!important}.report-hero h1{color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.35)}.report-hero h2{color:#ffd200!important}.report-kicker{color:#ffd200!important}.report-logo-wrap{width:105px!important;height:105px!important}.report-logo,.report-logo-placeholder{width:98px!important;height:98px!important;border-radius:16px!important;background:#fff!important}.compact-hero .report-logo,.compact-hero .report-logo-placeholder{width:66px!important;height:66px!important}.compact-hero .report-logo-wrap{width:72px!important;height:72px!important}.report-context{margin:16px 20px 8px;padding:12px 14px;border-left:6px solid #ffd200;background:#f3f5f7;color:#111;display:flex;justify-content:space-between;gap:12px}.report-context span{color:#444}.premium-title{background:#0b0d10!important;color:#ffd200!important;border-left:8px solid #ffd200!important;border-radius:8px 8px 0 0!important}.premium-table{width:100%;border-collapse:separate!important;border-spacing:0}.premium-table th{background:#0b0d10!important;color:#fff!important;border-color:#0b0d10!important}.premium-table th:first-child{border-radius:6px 0 0 0}.premium-table th:last-child{border-radius:0 6px 0 0}.premium-table td{font-size:12px}.premium-box{box-shadow:0 6px 16px rgba(0,0,0,.08)!important}.premium-box h3{background:#0b0d10!important;color:#ffd200!important}.report-footer{background:#0b0d10!important;color:#fff!important;border-top:4px solid #ffd200}.angler-card-print{page-break-inside:avoid;break-inside:avoid;border:1px solid #cfd5dd!important}.angler-card-head{page-break-after:avoid}.detail-species-table{page-break-inside:avoid}.standings-print-table td,.standings-print-table th{font-size:12px!important}.summary-strip b,.premium-summary b{font-variant-numeric:tabular-nums}.report-section,.category-section,.species-ranking-card,.premium-box{page-break-inside:avoid;break-inside:avoid}.screen-panel{display:block}
@media print{.report-only{display:block!important}.screen-panel.no-print{display:none!important}.option-a-report{max-width:none;margin:0}.main{padding:0!important}.report-hero{min-height:auto!important;padding:11mm 10mm 8mm!important}.report-logo-wrap{width:24mm!important;height:24mm!important}.report-logo,.report-logo-placeholder{width:22mm!important;height:22mm!important}.report-hero h1{font-size:24px!important}.report-hero h2{font-size:15px!important}.premium-table th,.premium-table td{font-size:10px!important;padding:5px 6px!important}.angler-breakdown-grid{grid-template-columns:1fr 1fr!important}.angler-card-print{break-inside:avoid!important;page-break-inside:avoid!important}.report-footer{position:fixed;bottom:0;left:0;right:0}.category-section,.report-section,.species-ranking-card,.premium-box{break-inside:avoid!important;page-break-inside:avoid!important}.report-context{margin:4mm 6mm!important}.print-report{padding-bottom:14mm!important}}


/* v14 print pagination hardening: avoid clipped sections/cards and footer overlap */
@media print {
  @page { size: A4 portrait; margin: 10mm 8mm 12mm 8mm; }
  html, body { width: 210mm; min-height: 297mm; overflow: visible !important; }
  .main, .print-report, .option-a-report { overflow: visible !important; }
  .option-a-report { border: 0 !important; border-radius: 0 !important; }

  /* Footer must flow with content, not overlay it. */
  .report-footer { position: static !important; left: auto !important; right: auto !important; bottom: auto !important; margin-top: 6mm !important; }
  .print-report { padding-bottom: 0 !important; }

  /* Hard page break utility. */
  .page-break { display: block !important; break-before: page !important; page-break-before: always !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

  /* Keep important blocks intact. */
  .keep-together,
  .report-section,
  .category-section,
  .species-ranking-card,
  .premium-box,
  .premium-meta,
  .premium-summary,
  .premium-species-boxes,
  .premium-cert,
  .cert,
  .angler-card-print,
  .report-context {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
    overflow: visible !important;
  }

  .premium-title,
  .category-title,
  .premium-box h3,
  .report-table thead,
  .premium-table thead,
  .detail-species-table thead {
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }

  /* Biggest Species: one section per block, never start at bottom. */
  .biggest-grid-print { display: block !important; margin: 5mm 6mm !important; }
  .species-ranking-card { display: block !important; margin: 0 0 7mm 0 !important; min-height: 33mm !important; }
  .species-ranking-card table { page-break-inside: avoid !important; break-inside: avoid-page !important; }

  /* Detailed angler pages are intentionally four cards per page via template page-breaks. */
  .paged-angler-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4mm !important; margin: 0 6mm 6mm !important; align-items: start !important; }
  .angler-card-print { display: block !important; min-height: 69mm !important; margin: 0 !important; }
  .angler-card-head { min-height: 18mm !important; }
  .detail-species-table { page-break-inside: avoid !important; break-inside: avoid-page !important; }
  .detail-species-table th, .detail-species-table td { padding: 4px 6px !important; }

  /* Repeated compact headers on continuation pages. */
  .repeat-hero { margin-top: 0 !important; }
  .compact-hero { break-after: avoid-page !important; page-break-after: avoid !important; }
}

/* v15 angler stats and comparison */
.angler-filter-form select{min-width:190px}.stats-hero{display:grid;grid-template-columns:1fr 2fr;gap:18px;align-items:center}.stats-hero h2{margin:0;color:#fff;font-size:26px}.stats-hero p{margin:5px 0 0;color:var(--muted)}.stats-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats-sections{margin-top:14px}.compare-panel{margin-top:14px}.compare-grid{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #30363e;border-radius:14px;overflow:hidden;margin-bottom:16px}.compare-grid>div{padding:10px;border-bottom:1px solid #30363e;border-right:1px solid #30363e}.compare-grid>div:nth-child(3n){border-right:0}.compare-name{background:#ffd200!important;color:#111!important;font-weight:900}.compare-grid>div:nth-last-child(-n+3){border-bottom:0}@media(max-width:1000px){.stats-hero,.stats-cards,.compare-grid{grid-template-columns:1fr}.compare-grid>div{border-right:0}.angler-filter-form{flex-direction:column;align-items:stretch}.angler-filter-form select{width:100%}}

/* v16 login / access control additions */
.login-body{min-height:100vh;background:radial-gradient(circle at top left,#2a2a2a,#050505 55%,#000);display:flex;align-items:center;justify-content:center;color:#fff}
.login-shell{width:100%;max-width:460px;padding:24px}
.login-card{background:linear-gradient(180deg,#171717,#0d0d0d);border:1px solid rgba(255,208,0,.35);border-radius:24px;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.55)}
.login-mark{width:72px;height:72px;border-radius:18px;background:var(--yellow,#ffd000);color:#111;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px;margin-bottom:18px}.login-logo{object-fit:contain;background:#fff;padding:6px}
.login-card h1{margin:0;color:#fff;font-size:26px;letter-spacing:.04em}.login-card p{color:var(--muted,#aaa);margin:8px 0 20px}.login-form{display:grid;gap:10px}.login-form input{width:100%}.button.full{width:100%;text-align:center;margin-top:10px}.topbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.user-pill{background:#1c1c1c;border:1px solid rgba(255,208,0,.3);border-radius:999px;padding:8px 12px;color:#eee;font-size:13px}.user-pill a{color:var(--yellow,#ffd000);font-weight:800}.grid-form.compact-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.check{display:flex!important;align-items:center;gap:8px}.check input{width:auto}.compact td,.compact th{padding:6px 8px}
/* v17 cleanup */
.settings-form .section-title.full{grid-column:1/-1;margin-top:10px}
.photo-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center}.photo-modal.open{display:flex}.photo-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);backdrop-filter:blur(4px)}.photo-modal-card{position:relative;z-index:1;background:#11161b;border:1px solid #ffd200;border-radius:22px;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.65);max-width:min(94vw,1040px);max-height:92vh;text-align:left}.photo-modal-layout{display:grid;grid-template-columns:minmax(320px,680px) 320px;gap:18px;align-items:stretch}.photo-modal-card img{width:100%;max-height:76vh;border-radius:16px;object-fit:contain;background:#050505}.photo-modal-close{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:999px;padding:0;font-size:24px;line-height:1;z-index:2}.photo-modal-name{margin:8px 0 12px;color:#fff;font-weight:900;font-size:20px}.photo-modal-info{padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.photo-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-stat-grid div{background:#0b0f13;border:1px solid #2e3844;border-radius:12px;padding:10px}.photo-stat-grid b{display:block;color:#ffd200;font-size:18px}.photo-stat-grid span{display:block;color:#b9c6d6;font-size:12px}.photo-stat-grid .wide{grid-column:1/-1}@media(max-width:820px){.photo-modal-layout{grid-template-columns:1fr}.photo-modal-info{max-height:35vh;overflow:auto}}.clickable-photo{cursor:pointer;transition:transform .15s ease, box-shadow .15s ease}.clickable-photo:hover{transform:scale(1.04);box-shadow:0 0 0 3px rgba(255,210,0,.25)}.reset-form{display:flex;gap:6px;align-items:center}.reset-form input{min-width:150px;padding:7px 9px;min-height:32px}.sidebar nav{margin-bottom:20px}

/* v18 member filters, age check and birthdays */
input[readonly]{opacity:.9;background:#14191f;color:#ffd200;font-weight:900}.section-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.birthday-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.birthday-item{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;border:1px solid #30363e;background:#111418;border-radius:14px;padding:12px}.birthday-item.birthday-today{border-color:#ffd200;box-shadow:0 0 0 2px rgba(255,210,0,.16);background:linear-gradient(90deg,rgba(255,210,0,.12),#111418)}.birthday-main b{display:block;color:#fff}.birthday-main span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.birthday-badge{display:inline-block!important;background:#ffd200!important;color:#111!important;border-radius:999px;padding:4px 8px;margin-top:6px!important;font-weight:900;text-transform:uppercase;font-size:10px!important}.birthday-message{grid-column:1/-1;border-top:1px solid #30363e;margin-top:6px;padding-top:8px}.birthday-message summary{cursor:pointer;color:#ffd200;font-weight:800}.birthday-message p{margin:8px 0 0;color:#dce2eb;font-size:13px;line-height:1.5}
.labeled-form label { display:flex; flex-direction:column; gap:6px; font-weight:700; color:#f5f7fb; }
.labeled-form label span { color:#ffd000; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.checkbox-row { flex-direction:row !important; align-items:center; color:#f5f7fb !important; text-transform:none !important; letter-spacing:0 !important; }
.checkbox-row input { width:auto; }

/* v21 event capture fixes */
.capture-toolbar{margin-bottom:12px}.capture-add-grid{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;align-items:end}.capture-add-grid label{display:block;color:var(--yellow);font-weight:900;margin-bottom:6px}.muted-note{color:var(--muted);font-size:13px;margin:10px 0 0}.empty-state{padding:22px;text-align:center;color:#d8dde5;border:1px dashed #4a515c;border-radius:14px;margin-top:12px;background:#101418}.capture-wrap{position:relative;max-height:68vh}.capture-table thead th{position:sticky;z-index:6}.capture-table thead tr:first-child th{top:0}.capture-table thead tr:nth-child(2) th{top:40px}.capture-table th.select-col{min-width:70px}.capture-input{background:#050708!important;color:#fff!important;border:1px solid #4b5563!important}.capture-input:focus{outline:2px solid var(--yellow);border-color:var(--yellow)!important}.capture-table tbody td{background:#11161b}.capture-table tbody tr:hover td{background:#1b2027}.capture-table input[type="checkbox"]{width:28px;height:28px;accent-color:var(--yellow)}
@media(max-width:1000px){.capture-add-grid{grid-template-columns:1fr}.capture-table thead tr:nth-child(2) th{top:38px}}
/* v22 Attendance & Peg Draw */
.peg-form h3{margin-top:18px;color:#ffd21f}.peg-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.peg-slot{background:#121212;border:1px solid rgba(255,210,31,.25);border-radius:16px;padding:14px}.peg-slot strong{display:block;color:#ffd21f;margin-bottom:8px}.or-line{text-align:center;color:#aaa;font-size:12px;margin:6px 0}.badge.member{background:#1e3a1e;color:#b7ffb7}.badge.guest{background:#3a2a12;color:#ffd98a}.badge.warn{background:#5a241e;color:#ffd1cc;margin-left:8px}.peg-person{margin:4px 0}.rule-list{display:grid;gap:8px}.rule-list div{background:#111;border-left:4px solid #ffd21f;border-radius:10px;padding:10px 12px}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.section-head .actions{display:flex;gap:8px;align-items:center}.section-head form{margin:0}.check-row{display:flex;gap:8px;align-items:center;margin-top:24px}.check-row input{width:auto}.button[disabled]{opacity:.45;cursor:not-allowed}
/* v23 cleanup: event action dropdown, peg draw, weather and bait combos */
.button.compact{padding:.55rem .8rem;font-size:.9rem;min-width:auto;}
.primary-compact{background:#ffd000;color:#111;border-color:#ffd000;}
.event-actions{display:flex;align-items:center;gap:.35rem;white-space:nowrap;min-width:128px;width:128px;}
.action-menu{position:relative;display:inline-block;}
.action-menu summary{list-style:none;cursor:pointer;background:#202832;border:1px solid #384352;border-radius:10px;padding:.55rem .8rem;font-weight:800;color:#fff;}
.action-menu summary::-webkit-details-marker{display:none;}
.action-menu[open] summary{background:#ffd000;color:#111;border-color:#ffd000;}
.action-menu-list{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:#12171d;border:1px solid #34404d;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.45);z-index:30;overflow:hidden;}
.action-menu-list a,.action-menu-list button{display:block;width:100%;padding:.75rem .9rem;text-align:left;color:#fff;background:transparent;border:0;text-decoration:none;font-weight:700;}
.action-menu-list a:hover,.action-menu-list button:hover{background:#232b35;color:#ffd000;}
.action-menu-list .menu-danger{color:#ffb3b3;}
.weather-mini{font-size:.85rem;color:#ffd000;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.field-card{background:#0f1318;border:1px solid #313b47;border-radius:16px;padding:1rem;}
.multi-select{width:100%;min-height:260px;background:#080b0f;color:#fff;border:1px solid #34404d;border-radius:12px;padding:.5rem;}
.modern-peg-form textarea{width:100%;}
.combo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem;}
.combo-card{background:#151a20;border:1px solid #2f3945;border-radius:18px;padding:1rem;box-shadow:0 12px 25px rgba(0,0,0,.18);}
.combo-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid #303946;padding-bottom:.7rem;margin-bottom:.7rem;}
.combo-card h3{margin:0;color:#fff;}
.combo-card p{margin:.25rem 0;}
.combo-meta{color:#dfe6ef;margin:.5rem 0 .8rem 0;}
.combo-thumb{display:block;margin:.65rem 0;border:1px solid #303741;border-radius:12px;overflow:hidden;background:#07090c}
.combo-thumb img{display:block;width:100%;height:180px;object-fit:contain}
.rod-preview{background:#0b0f14;border-left:4px solid #ffd000;border-radius:12px;padding:.75rem;margin-top:.6rem;}
.rod-preview h4{margin:0 0 .35rem;color:#ffd000;}
.rod-card label{display:block;margin-bottom:.65rem;}
.top-bait-combo-panel h3{margin:.2rem 0;color:#fff;}
.top-combo-meta{margin:1rem 0;}
.top-combo-rods{margin-top:1rem;}
.featured-rod-preview{border-left-color:#39d353;background:#0d1712;}
@media(max-width:900px){.two-col{grid-template-columns:1fr}.event-actions{flex-wrap:wrap}.action-menu-list{left:0;right:auto}.combo-grid{grid-template-columns:1fr}}


/* v25 photo modal consistency + backdrop fix */
body.photo-modal-open .sidebar,
body.photo-modal-open .main{filter:blur(5px) brightness(.55); transition:filter .15s ease;}
.photo-modal{background:transparent!important;}
.photo-modal-backdrop{background:rgba(0,0,0,.38)!important; backdrop-filter:none!important;}
.photo-modal-card{background:#11161b!important;border:1px solid #ffd200!important;}
.photo-modal-layout{grid-template-columns:minmax(360px,760px) 360px;}
@media(max-width:900px){.photo-modal-layout{grid-template-columns:1fr}.photo-modal-card{max-width:94vw}.photo-modal-card img{max-height:55vh}}
/* v26 event/weather/attendance cleanup */
.events-clean{table-layout:auto}.events-clean th,.events-clean td{vertical-align:middle}.events-clean th:nth-child(1),.events-clean td:nth-child(1),.events-clean th:nth-child(3),.events-clean td:nth-child(3),.events-clean th:nth-child(4),.events-clean td:nth-child(4),.events-clean th:nth-child(6),.events-clean td:nth-child(6),.events-clean th:nth-child(7),.events-clean td:nth-child(7),.events-clean th:nth-child(8),.events-clean td:nth-child(8){white-space:nowrap}.events-clean th:last-child,.events-clean td:last-child{min-width:128px;width:128px}.event-row-tall td{padding-top:14px;padding-bottom:14px}.weather-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:260px;max-width:430px;line-height:1.2}.weather-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(255,210,0,.28);background:#14181d;color:#f5f7fa;border-radius:999px;padding:4px 8px;font-size:11px;white-space:nowrap;max-width:100%}.weather-chip.condition{background:#0b0d10;color:#ffd200;border-color:#ffd200}.members-table-panel{overflow-x:auto}.members-table th,.members-table td{vertical-align:middle}.member-actions{display:flex;align-items:center;gap:8px;min-width:150px;white-space:nowrap}.member-actions .inline-delete{display:inline-flex;margin:0}.member-actions .button,.member-actions button{padding:6px 10px;font-size:12px}.weather-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}.weather-card{background:linear-gradient(145deg,#0c1015,#171c22);border:1px solid #2c333d;border-radius:16px;padding:14px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.weather-card span{display:block;color:#9fa7b2;font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.weather-card strong{color:#fff;font-size:18px}.weather-card small{display:block;color:#aeb6bf;margin-top:6px}.admin-private{border-left:5px solid #ffd200;background:#16191e;padding:12px;border-radius:12px;margin:12px 0}.admin-add-box{background:#101418;border:1px solid #303741;border-radius:14px;padding:12px;margin-top:12px}.admin-add-box summary{cursor:pointer;font-weight:800;color:#ffd200}.badge.member{background:#16351f;color:#8effa8}.badge.guest{background:#372512;color:#ffd58c}.badge.warn{background:#41251a;color:#ffc9ad}.compact{padding:6px 10px;font-size:12px}.empty-state{text-align:center;color:#aeb6bf;padding:22px}.photo-modal.open{backdrop-filter:blur(5px)}.photo-modal-backdrop{background:rgba(0,0,0,.62)!important;backdrop-filter:blur(5px)}.photo-modal-card{background:linear-gradient(145deg,#0b0d10,#171c22)!important;border:1px solid rgba(255,210,0,.35)!important;box-shadow:0 30px 80px rgba(0,0,0,.55)!important}.clickable-photo{cursor:pointer}

.nav-group{margin:8px 0 14px;border:1px solid #2f353d;border-radius:14px;background:rgba(255,255,255,.03);padding:6px}
.nav-group summary{cursor:pointer;color:var(--yellow);font-weight:900;padding:10px 10px;list-style:none}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group a{margin:3px 0 3px 14px;padding:9px 10px;font-size:12px;background:rgba(0,0,0,.16)}
.nav-group a:hover{background:#20242a;color:var(--yellow)}
.member-avatar.initials,.mini-avatar.initials,.avatar.initials{cursor:pointer}
.permission-group{margin-top:14px}.permission-table td:first-child{min-width:260px}.permission-table select{min-width:170px}.permission-table .muted-note{margin-top:3px}
.wide-login-card{max-width:520px;width:min(92vw,520px)}.request-login-form .button.secondary{text-align:center}.snapshot-visual{display:grid;place-items:center;min-height:320px}.snapshot-visual img{width:100%;max-height:72vh;object-fit:contain;border-radius:16px;background:#050505}.snapshot-initials{width:min(70vw,360px);height:min(70vw,360px);max-width:360px;max-height:360px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(135deg,var(--yellow),#6f5f00);color:#111;font-size:74px;font-weight:1000;border:2px solid var(--yellow)}.member-snapshot-card .photo-stat-grid{grid-template-columns:1fr 1fr}.muted-note{color:var(--muted);font-size:13px;line-height:1.5}
.combo-actions{display:flex;justify-content:flex-end;margin-top:.8rem;padding-top:.7rem;border-top:1px solid #303946}.combo-dashboard-card{background:#151a20;border:1px solid #2f3945;border-radius:18px;padding:1rem;box-shadow:0 12px 25px rgba(0,0,0,.18)}.combo-dashboard-card h3{margin:0;color:#fff}.combo-dashboard-card p{margin:.25rem 0;color:var(--muted)}.combo-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}.combo-dashboard-grid div{background:#0b0f14;border:1px solid #303946;border-radius:14px;padding:10px}.combo-dashboard-grid div.wide{grid-column:span 2}.combo-dashboard-grid b{display:block;color:#ffd000}.combo-dashboard-grid span{display:block;color:var(--muted);font-size:11px;margin-top:3px}@media(max-width:700px){.combo-dashboard-grid div.wide{grid-column:span 1}}

/* v28 Weigh-In Sheet print layout */
.print-doc-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin:8px 0 14px; }
.print-doc-head h1 { margin:0; color:#0f2748; }
.print-meta { text-align:right; font-size:12px; color:#475569; }
.print-event-grid { display:grid; grid-template-columns:2fr 2fr 1fr 1fr; gap:8px; margin:10px 0; }
.print-event-grid div { border:1px solid #d7deea; border-radius:10px; padding:8px; background:#f8fafc; }
.print-event-grid span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:#64748b; }
.print-weather-box { border:1px solid #cbd5e1; background:#eff6ff; border-radius:12px; padding:10px; margin:10px 0 14px; font-size:13px; }
.weigh-angler-block { border:1px solid #0f2748; border-radius:12px; padding:10px; margin:0 0 12px; break-inside:avoid; page-break-inside:avoid; background:white; }
.weigh-angler-head { display:grid; grid-template-columns:70px 1.6fr 1fr 110px 90px 90px; gap:8px; align-items:center; margin-bottom:8px; font-size:13px; }
.weigh-angler-head .angler-name { font-size:16px; font-weight:800; color:#0f2748; }
.write-box { display:inline-block; min-width:32px; min-height:22px; border-bottom:1px solid #0f2748; text-align:center; }
.check-print { font-size:18px; }
.weigh-species-table { width:100%; border-collapse:collapse; font-size:12px; }
.weigh-species-table th, .weigh-species-table td { border:1px solid #94a3b8; padding:7px; height:28px; }
.weigh-species-table th { background:#eaf1fb; color:#0f2748; }
.weigh-notes-row { margin-top:8px; font-size:12px; }
.weigh-notes-row span { display:inline-block; width:70%; border-bottom:1px solid #0f2748; min-height:18px; }

/* v29 Attendance Register print layout */
.attendance-print-table { width:100%; border-collapse:collapse; font-size:12px; margin-top:12px; }
.attendance-print-table th, .attendance-print-table td { border:1px solid #94a3b8; padding:7px; height:32px; vertical-align:middle; }
.attendance-print-table th { background:#eaf1fb; color:#0f2748; font-size:11px; text-transform:uppercase; letter-spacing:.035em; }
.attendance-print-table .peg-cell { text-align:center; font-weight:900; color:#0f2748; width:55px; }
.attendance-print-table .tick-cell { text-align:center; font-size:20px; width:92px; }
.print-mini-note { display:inline-block; margin-left:6px; padding:2px 6px; border:1px solid #94a3b8; border-radius:999px; font-size:10px; color:#475569; }
@media print {
  .attendance-print-sheet { box-shadow:none; border:none; padding:0; }
  .attendance-print-table { font-size:11px; }
  .attendance-print-table th, .attendance-print-table td { padding:5px; height:28px; }
}

@media print {
  body { background:white; }
  .sidebar, .topbar, .no-print, .flash-stack { display:none !important; }
  .app-shell, .main-content { display:block; margin:0; padding:0; }
  .panel, .weigh-sheet { box-shadow:none; border:none; padding:0; }
  .print-doc-head, .print-event-grid, .print-weather-box { break-inside:avoid; page-break-inside:avoid; }
.weigh-angler-block { margin-bottom:9mm; }
  @page { size:A4 portrait; margin:10mm; }
}

/* Table alignment cleanup: Club Events + Members */
.table-panel{padding:0;overflow:visible}
.table-scroll{width:100%;overflow-x:auto;overflow-y:visible;border-radius:18px}
.data-table{width:100%;border-collapse:collapse;table-layout:fixed}
.data-table th,.data-table td{vertical-align:middle;border-bottom:1px solid #30363e;padding:10px 12px;line-height:1.25}
.data-table tbody tr{height:58px}
.data-table tbody tr:hover{background:rgba(255,210,0,.04)}
.nowrap{white-space:nowrap}
.actions-cell{width:132px;min-width:132px;text-align:left;white-space:nowrap}
.actions-cell .action-menu{display:inline-block;width:104px}
.actions-cell .action-menu summary{width:104px;text-align:center;padding:8px 10px;border-radius:10px}
.actions-cell .action-menu-list{right:0;left:auto;min-width:205px;text-align:left}
.actions-cell form{margin:0}
.events-table{min-width:1280px}
.events-table .col-date{width:118px}
.events-table .col-venue,.events-table .venue-cell{width:260px}
.events-table .col-time{width:130px}
.events-table .col-status{width:105px}
.events-table .col-weather,.events-table .weather-cell{width:360px}
.events-table .col-small{width:70px}
.events-table .col-weight{width:110px}
.venue-cell b{display:block;line-height:1.25;overflow-wrap:break-word}
.weather-cell{padding-top:8px!important;padding-bottom:8px!important}
.weather-chip-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-height:54px;overflow:hidden}
.weather-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;line-height:1;border-radius:999px;padding:4px 7px;font-size:11px}
.members-table{min-width:1450px}
.members-table .member-col{width:260px}
.members-table .contact-col{width:175px;overflow-wrap:anywhere}
.members-table .portfolio-col{width:210px;overflow-wrap:break-word}
.members-table th:nth-child(2),.members-table td:nth-child(2){width:110px}
.members-table th:nth-child(3),.members-table td:nth-child(3){width:80px}
.members-table th:nth-child(4),.members-table td:nth-child(4){width:112px}
.members-table th:nth-child(5),.members-table td:nth-child(5){width:66px}
.members-table th:nth-child(9),.members-table td:nth-child(9),.members-table th:nth-child(10),.members-table td:nth-child(10),.members-table th:nth-child(11),.members-table td:nth-child(11){width:72px}
.members-table .member-cell{min-width:0;gap:10px}
.members-table .member-avatar{width:38px;height:38px;flex:0 0 38px}
.members-table .member-cell b{display:block;line-height:1.2}
@media(max-width:900px){
  .table-panel{margin-left:-4px;margin-right:-4px}
  .table-scroll{border-radius:12px}
  .actions-cell .action-menu-list{right:auto;left:0}
}

/* Fit primary list tables to desktop width */
.table-scroll{overflow-x:visible}
.events-table,.members-table{min-width:0;width:100%;table-layout:fixed}
.events-table .col-date{width:112px}
.events-table .col-venue,.events-table .venue-cell{width:26%}
.events-table .col-time{width:124px}
.events-table .col-status{width:104px}
.events-table .col-weather,.events-table .weather-cell{width:auto}
.members-table .member-col{width:44%}
.members-table .contact-col{width:24%;overflow-wrap:anywhere}
.members-table th:nth-child(2),.members-table td:nth-child(2){width:128px}
.members-table th:nth-child(4),.members-table td:nth-child(4){width:76px}
.members-table th:nth-child(3),.members-table td:nth-child(3),.members-table th:nth-child(5),.members-table td:nth-child(5){width:auto}
.data-table tbody tr{height:54px}
.weather-chip-row{max-height:46px}
@media(max-width:900px){
  .table-scroll{overflow-x:auto}
  .events-table{min-width:860px}
  .members-table{min-width:720px}
}
/* v31 Storage cleanup refinements */
.compact-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.danger-zone{border-color:rgba(239,68,68,.35);box-shadow:0 0 0 1px rgba(239,68,68,.08) inset}
.backup-list{margin:10px 0 0 0;padding-left:18px;color:var(--muted)}
.backup-list li{margin:4px 0}

/* v32.4 Attendance Register Foundation */
.attendance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px}
.attendance-summary .card{min-height:94px}
.attendance-add-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}
.attendance-add-form label{display:flex;flex-direction:column;gap:6px;color:#d6dce5;font-weight:800;font-size:12px}
.attendance-table{min-width:980px}
.attendance-draw-table{min-width:820px}
.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){width:72px}
.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){width:52px}
.attendance-table th:nth-child(4),.attendance-table td:nth-child(4){width:120px}
.attendance-table th:nth-child(5),.attendance-table td:nth-child(5){width:95px}
.attendance-table th:nth-child(6),.attendance-table td:nth-child(6){width:130px}
.attendance-table th:nth-child(7),.attendance-table td:nth-child(7),.attendance-table th:nth-child(8),.attendance-table td:nth-child(8),.attendance-table th:nth-child(9),.attendance-table td:nth-child(9){width:90px}
.attendance-table th:nth-child(10),.attendance-table td:nth-child(10){width:100px}
.attendance-table input[type="checkbox"]{width:22px;height:22px;accent-color:var(--yellow)}
@media(max-width:900px){.attendance-summary{grid-template-columns:1fr 1fr}.attendance-add-form{grid-template-columns:1fr}.attendance-table,.attendance-draw-table{min-width:820px}}

/* v32.7 Results Capture Foundation */
.result-capture-grid{display:grid;gap:14px}
.result-capture-card{background:#101418;border:1px solid #303741;border-radius:14px;padding:14px;break-inside:avoid}
.result-capture-head{display:grid;grid-template-columns:90px minmax(220px,1fr) 150px 120px 100px 100px;gap:10px;align-items:end;margin-bottom:10px}
.result-capture-head span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.result-capture-head strong{display:block;color:#fff;font-size:16px}
.result-capture-head label,.result-notes{display:flex;flex-direction:column;gap:5px;color:#d6dce5;font-weight:800;font-size:12px}
.result-capture-head .check{flex-direction:row!important;align-items:center;margin-bottom:8px}
.result-capture-head .check input{width:auto;min-height:auto}
.result-notes textarea{min-height:54px}
.result-species-table input{width:100%;min-width:90px}
.result-species-table th:first-child,.result-species-table td:first-child{width:150px}
@media(max-width:1000px){.result-capture-head{grid-template-columns:1fr 1fr}.result-angler{grid-column:1/-1}.result-species-table{min-width:680px}}

/* v32.8 Scoring Engine Foundation */
.scoring-summary strong{font-size:1.1rem}
.scoring-table th,.scoring-table td{white-space:nowrap}

/* v32.9 Leaderboards + Angler Stats Foundation */
.leaderboard-tabs{flex-wrap:wrap}
.leaderboard-table{min-width:980px}
.leaderboard-table th,.leaderboard-table td{white-space:nowrap}
.compact-button{padding:7px 10px;font-size:12px}
.leaderboard-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.stats-hero h2{margin:0;color:#fff}
.stats-sections{margin-top:14px}

/* v32.10 Dashboard Foundation */
.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.dashboard-layout{margin-top:16px}
.category-mini-grid,.leader-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.dashboard-table{min-width:760px}
.biggest-fish-card{display:grid;gap:6px;background:#101418;border:1px solid #303741;border-radius:14px;padding:16px}
.biggest-fish-card b{font-size:30px;color:var(--yellow)}
.biggest-fish-card span{color:#d8dde5;line-height:1.5}
.compact-birthdays{display:grid;gap:8px}
@media(max-width:1000px){.dashboard-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.dashboard-cards{grid-template-columns:1fr}}

/* v32.16 profile photos */
.avatar-link{display:inline-flex;text-decoration:none;color:inherit}
.member-avatar,.mini-avatar,.avatar.photo{object-fit:cover}
.profile-preview.large{width:160px;height:160px;border-radius:20px}
.member-photo-preview{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.member-photo-panel .settings-form{max-width:720px}

/* v33.4 mobile and print stabilization */
html,body{max-width:100%;overflow-x:hidden}
.panel table{min-width:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.filters label{display:flex;flex-direction:column;gap:6px}
pre.log-view{white-space:pre-wrap;overflow:auto;max-height:70vh;background:#080b0f;border:1px solid #303741;border-radius:12px;padding:12px;color:#e5e7eb}
@media(max-width:760px){
  .main{padding:14px}
  .topbar{display:block;padding:14px;border-radius:14px}
  .topbar strong{font-size:18px}
  .page-head{display:block}
  .page-head .actions,.actions{width:100%;flex-wrap:wrap;align-items:stretch}
  .actions .button,.actions button,.actions form{flex:1 1 150px}
  .actions form button{width:100%}
  .panel,.card,.report-preview{border-radius:12px;padding:12px}
  .cards{grid-template-columns:1fr}
  .card b{font-size:20px}
  .grid-form,.member-form,.event-form,.settings-form{grid-template-columns:1fr}
  input,select,textarea,.button,button{width:100%;font-size:16px}
  .mini{min-width:0}
  .table-scroll,.capture-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .data-table,.capture-table,.result-species-table{min-width:680px}
  .photo-modal-card{max-width:96vw;max-height:92vh;overflow:auto}
  .action-menu-list{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0}
}
@media print{
  .table-scroll,.capture-wrap{overflow:visible!important}
  .data-table,.events-table,.members-table,.attendance-table,.leaderboard-table{min-width:0!important;width:100%!important}
  th,td{overflow-wrap:anywhere}
}
.members-table .member-cell .avatar-link{flex:0 0 auto}

/* v33.6 premium UI/refinement layer */
.dashboard-head .inline-form,.report-filter-bar{align-items:center;flex-wrap:wrap}.dashboard-cards .card{min-height:104px;display:flex;flex-direction:column;justify-content:space-between}.panel h2,.panel h3{letter-spacing:0}.leader-profile-card{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;min-height:88px}.leader-profile-card.is-empty{grid-template-columns:1fr}.leader-avatar-button{appearance:none;border:0!important;background:transparent!important;padding:0!important;margin:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:999px;width:auto!important;min-height:0!important}.leader-avatar-button:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.leader-profile-main{min-width:0}.leader-profile-main b{font-size:15px;line-height:1.2;white-space:normal;cursor:pointer}.leader-profile-main span{display:block;margin-top:3px}.leader-profile-main strong{display:block;color:var(--yellow);font-size:18px;margin-top:4px}.premium-leader-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.birthday-item{display:flex;align-items:center;gap:10px}
.action-menu-list form{margin:0}.action-menu-list button{border-radius:0}.actions-cell .action-menu[open]{z-index:60}.action-menu[open] .action-menu-list{animation:menuIn .12s ease-out}@keyframes menuIn{from{opacity:.4;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.table-panel:has(.events-foundation-table),.table-panel:has(.events-foundation-table) .table-scroll{overflow:visible}.data-table{table-layout:auto}.rank-col{width:52px;min-width:46px;text-align:center}.angler-col{min-width:220px}.leaderboard-table th,.leaderboard-table td,.premium-report-table th,.premium-report-table td{white-space:nowrap}.leaderboard-table .angler-col,.premium-report-table .angler-col{white-space:normal}.leaderboard-name-stack{display:flex;flex-direction:column;gap:2px;min-width:0}.leaderboard-name-stack strong{line-height:1.15}.leaderboard-name-stack small{color:var(--muted);font-size:11px}.leader-avatar-button,.avatar-link{position:relative;border:0;background:transparent;padding:0;display:inline-grid;place-items:center;border-radius:999px;flex:0 0 auto}.leader-avatar-button.is-online .member-avatar,.avatar-link.is-online .member-avatar,.snapshot-visual .is-online{box-shadow:0 0 0 2px rgba(57,211,83,.85),0 0 16px rgba(57,211,83,.45)}.leader-avatar-button.is-online:after,.avatar-link.is-online:after{content:"";position:absolute;right:1px;bottom:1px;width:10px;height:10px;border-radius:50%;background:#39d353;border:2px solid #111417;box-shadow:0 0 8px rgba(57,211,83,.8)}.photo-modal-card{width:min(980px,94vw);max-height:90vh;overflow:auto}.photo-modal-layout{align-items:center}.photo-stat-grid{gap:10px}.action-menu-list.open-up{top:auto;bottom:calc(100% + 6px)}.current-club-leader-card{background:linear-gradient(135deg,rgba(255,210,0,.12),rgba(23,27,32,.96));border-color:rgba(255,210,0,.45)}.club-leader-button{width:100%;display:flex;align-items:center;gap:14px;background:transparent;color:#fff;border:0;text-align:left;padding:0}.club-leader-button .member-avatar{width:54px;height:54px}.club-leader-button strong{color:var(--yellow);font-size:20px}.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.results-report-panel{padding:18px}.result-category-section{margin-top:18px;border:1px solid #303741;border-radius:14px;overflow:hidden;background:#101418}.result-category-title{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 14px;background:#0b0d10;border-bottom:3px solid var(--yellow)}.result-category-title h3{margin:0;color:var(--yellow)}.result-category-title span{color:#cfd6df;font-size:12px}.results-premium-table th,.results-premium-table td{white-space:nowrap}.species-detail-row td{background:#0c1015!important;padding:8px 12px}.species-detail-strip{display:flex;flex-wrap:wrap;gap:8px}.species-detail-strip span{display:inline-flex;gap:6px;border:1px solid #33404d;background:#151b22;border-radius:999px;padding:5px 9px;color:#dce3ec}.species-detail-strip b{color:var(--yellow)}
.reports-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:16px;align-items:center;margin-bottom:16px}.reports-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.premium-report-card{text-decoration:none!important;display:flex;flex-direction:column;gap:8px;min-height:172px;transition:transform .15s ease,border-color .15s ease,background .15s ease}.premium-report-card:hover{transform:translateY(-2px);border-color:rgba(255,210,0,.7);background:#1a2027}.report-card-kicker{color:var(--yellow)!important;text-transform:uppercase;font-size:11px!important;font-weight:1000;letter-spacing:.07em}.premium-report-card em{margin-top:auto;color:#fff;font-style:normal;font-weight:900}.report-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.report-kpi-grid div{background:#0d1116;border:1px solid #303741;border-radius:12px;padding:12px}.report-kpi-grid span{display:block;color:#9da8b5;font-size:11px;text-transform:uppercase;font-weight:800}.report-kpi-grid b{display:block;color:#fff;font-size:20px;margin-top:4px}.report-kpi-large{margin:16px 0}.premium-report-screen .report-title,.premium-report-sheet .report-title{border-bottom:4px solid var(--yellow);padding-bottom:10px;margin-bottom:14px}.report-meta-line{color:#9da8b5}.premium-leader-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.premium-leader-strip div{background:#0d1116;border:1px solid #303741;border-radius:12px;padding:14px}.premium-leader-strip span{display:block;color:#9da8b5;font-size:11px;text-transform:uppercase}.premium-leader-strip b{display:block;color:#fff;margin-top:5px}.premium-leader-strip small{display:block;color:var(--yellow);margin-top:5px}.premium-report-table th{background:#ffd200!important;color:#111!important}.premium-report-table td{vertical-align:middle}.report-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.biggest-species-grid{display:grid;grid-template-columns:1fr;gap:16px}.species-record-panel{overflow:hidden}.species-record-panel .section-head{margin-bottom:10px}
@media(max-width:1000px){.reports-hero,.report-two-columns,.premium-leader-strip{grid-template-columns:1fr}.leader-snapshot-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head .inline-form,.page-head .actions{width:100%}.page-head select,.page-head .button{max-width:100%}.actions{flex-wrap:wrap}.actions .button,.actions button{min-height:40px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.results-premium-table,.premium-report-table{min-width:860px}.report-filter-bar select,.report-filter-bar button{flex:1 1 180px}.member-cell.compact{min-width:190px}}
@media(max-width:640px){.main{padding:14px}.topbar{border-radius:14px;padding:14px}.topbar strong{font-size:19px}.cards{gap:10px}.card,.panel{border-radius:14px;padding:14px}.page-head h1{font-size:24px}.leader-profile-card{grid-template-columns:42px 1fr}.actions-cell .action-menu{width:100%}.actions-cell .action-menu summary{width:100%}.action-menu-list{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;max-height:72vh;overflow:auto}.photo-modal-card{padding:14px}.photo-stat-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.leaderboard-table,.premium-report-table,.members-table{font-size:12px}.leaderboard-table th,.leaderboard-table td,.premium-report-table th,.premium-report-table td,.members-table th,.members-table td{padding:8px 6px}.rank-col{width:42px;min-width:38px}.angler-col{min-width:176px}.member-cell{gap:8px}.member-avatar{width:34px;height:34px}.compact-button{padding:8px 9px}.photo-modal-layout{grid-template-columns:1fr}.snapshot-visual{min-height:220px}.snapshot-visual img{max-height:42vh}.club-leader-button strong{font-size:17px}}
@media print{.results-report-panel,.result-category-section{border:0;background:#fff}.result-category-title{background:#111!important;color:#ffd200!important;break-after:avoid}.species-detail-row td{background:#fff!important}.species-detail-strip span{border:0;border-radius:0;padding:0 8px 0 0;color:#111}.premium-report-table th,.results-premium-table th{background:#111!important;color:#fff!important}.premium-report-card,.reports-hero,.report-kpi-grid div,.premium-leader-strip div{box-shadow:none}}

/* Report readability and leaderboard name layout */
.report-readable-panel{padding:16px;overflow:hidden}
.report-readable-panel h1{margin:0 0 6px;color:var(--yellow)}
.report-readable-table{min-width:980px;border-collapse:separate!important;border-spacing:0}
.report-readable-table th{background:#ffd200!important;color:#111!important;border-bottom:2px solid #050505!important;font-weight:1000}
.report-readable-table td{background:#12171d;color:#f2f5f8!important;border-bottom:1px solid #39424d!important;border-right:1px solid #252d36;line-height:1.35}
.report-readable-table tbody tr:nth-child(even) td{background:#171d24}
.report-readable-table tbody tr:hover td{background:#202832}
.report-readable-table td strong{color:#fff}
.report-readable-table .actions{margin:0;gap:6px;flex-wrap:wrap}
.report-readable-table .button.secondary{background:#2d3540;color:#fff;border-color:#596473}
.attendance-report-table{min-width:1180px}
.check-cell{width:76px;min-width:76px;height:30px;background:#0f141a!important}
.leaderboard-member-cell{display:flex;align-items:center;gap:10px;min-width:220px;max-width:100%;white-space:normal}
.leaderboard-name-stack{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.15}
.leaderboard-name-stack strong{white-space:normal;overflow-wrap:anywhere;line-height:1.2}
.leaderboard-name-stack small{color:var(--muted);font-size:11px;font-weight:800}
@media(max-width:900px){.leaderboard-member-cell{min-width:190px}.leaderboard-table{min-width:1040px}}
@media print{
  .report-readable-panel{padding:0;overflow:visible}
  .report-readable-table{min-width:0!important;width:100%;border-collapse:collapse!important}
  .report-readable-table th{background:#111!important;color:#fff!important;border:1px solid #94a3b8!important}
  .report-readable-table td{background:#fff!important;color:#111!important;border:1px solid #94a3b8!important}
  .report-readable-table tbody tr:nth-child(even) td{background:#f8fafc!important}
  .report-readable-table td strong{color:#111!important}
  .check-cell{background:#fff!important}
}

/* v33.7 global modal, dropdown and responsive hardening */
.photo-modal{padding:18px;overflow-y:auto}
.member-snapshot-card{width:min(1040px,96vw)!important;max-height:none!important;margin:auto;overflow:visible!important}
.member-snapshot-card .photo-modal-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,390px);gap:18px;align-items:start}
.snapshot-visual{min-height:260px;display:grid;place-items:center;overflow:visible}
.snapshot-visual .snapshot-photo{width:100%;max-width:680px;max-height:min(72vh,720px);object-fit:contain;border-radius:16px;background:#050505;border:1px solid rgba(255,210,0,.28)}
.snapshot-initials{aspect-ratio:1;width:min(66vw,360px);height:auto}
.photo-modal-info{min-width:0;overflow:visible}
.photo-modal-name{font-size:22px;line-height:1.15;margin-right:34px;overflow-wrap:anywhere}
.photo-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px}
.photo-stat-grid div{min-width:0}
.photo-stat-grid b{font-size:16px;line-height:1.2;overflow-wrap:anywhere}
.photo-stat-grid span{line-height:1.25}
.photo-stat-grid .wide{grid-column:1/-1}
.action-menu-list.is-portal{position:fixed!important;z-index:10050!important;background:#12171d;border:1px solid #425064;border-radius:12px;box-shadow:0 18px 46px rgba(0,0,0,.58);overflow:auto!important}
.action-menu-list.is-portal a,.action-menu-list.is-portal button{min-height:42px}
.action-menu-list.is-portal.open-up{transform-origin:bottom right}
.table-panel,.table-scroll{min-width:0}
.actions-cell,.action-menu,.leader-avatar-button,.avatar-link{overflow:visible!important}
.leader-avatar-button.is-online,.avatar-link.is-online{isolation:isolate}
.leader-avatar-button.is-online .member-avatar,.avatar-link.is-online .member-avatar,.snapshot-visual .is-online{box-shadow:0 0 0 2px #111417,0 0 0 4px rgba(57,211,83,.72),0 0 15px rgba(57,211,83,.38)!important}
.leader-avatar-button.is-online:after,.avatar-link.is-online:after{right:-1px;bottom:-1px;width:9px;height:9px;background:#39d353;border:2px solid #111417;z-index:2;animation:onlinePulse 2.4s ease-in-out infinite}
@keyframes onlinePulse{0%,100%{box-shadow:0 0 0 0 rgba(57,211,83,.35)}50%{box-shadow:0 0 0 4px rgba(57,211,83,0)}}
.leaderboard-table{min-width:900px;table-layout:fixed}
.leaderboard-table .rank-col{width:46px}
.leaderboard-table .angler-col{width:238px;min-width:238px}
.leaderboard-table th:not(.angler-col),.leaderboard-table td:not(.angler-col){text-align:right;font-variant-numeric:tabular-nums}
.leaderboard-table th.rank-col,.leaderboard-table td.rank-col,.leaderboard-table th:last-child,.leaderboard-table td:last-child{text-align:center}
.leaderboard-member-cell{min-width:0!important}
.leaderboard-name-stack strong{overflow-wrap:anywhere;word-break:normal}
.premium-report-table{min-width:760px;table-layout:fixed}
.premium-report-table .rank-col{width:42px}
.premium-report-table .angler-col{width:240px;min-width:220px}
.premium-report-table th:not(.angler-col),.premium-report-table td:not(.angler-col){font-variant-numeric:tabular-nums}
.premium-report-table td:nth-child(3){white-space:nowrap}
.members-foundation-table{min-width:560px;table-layout:fixed}
.members-foundation-table .member-col{width:auto}
.members-foundation-table .contact-col{width:150px}
.members-foundation-table .actions-cell{width:116px}
.members-foundation-table .member-cell{min-width:0}
.members-foundation-table .member-cell b{overflow-wrap:anywhere}
.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.current-club-leader-card{min-height:170px;display:flex;flex-direction:column;justify-content:space-between}
.club-leader-button{border-radius:14px!important;padding:12px!important;background:rgba(255,210,0,.04)!important;border:1px solid rgba(255,210,0,.2)!important}
.club-leader-button:hover{border-color:rgba(255,210,0,.55)!important;background:rgba(255,210,0,.08)!important}
@media(max-width:1000px){
  .member-snapshot-card .photo-modal-layout{grid-template-columns:1fr}
  .snapshot-visual .snapshot-photo{max-height:48vh}
  .leaderboard-table{min-width:860px}
  .premium-report-table{min-width:720px}
}
@media(max-width:760px){
  .photo-modal{align-items:flex-start;padding:10px}
  .member-snapshot-card{width:100%!important;padding:12px!important;border-radius:16px!important}
  .snapshot-visual{min-height:180px}
  .snapshot-visual .snapshot-photo{max-height:38vh;border-radius:12px}
  .photo-modal-info{padding:12px}
  .photo-modal-name{font-size:19px}
  .photo-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .photo-stat-grid b{font-size:14px}
  .photo-stat-grid span{font-size:11px}
  .action-menu-list.is-portal{left:10px!important;right:10px!important;top:auto!important;bottom:10px!important;width:auto!important;max-height:72vh!important}
  .leaderboard-table{min-width:820px;font-size:12px}
  .leaderboard-table .rank-col{width:40px}
  .leaderboard-table .angler-col{width:190px;min-width:190px}
  .premium-report-table{min-width:680px;font-size:12px}
  .premium-report-table .angler-col{width:190px;min-width:190px}
  .members-foundation-table{min-width:500px}
  .dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .current-club-leader-card{min-height:0}
}
@media(max-width:430px){
  .photo-stat-grid{grid-template-columns:1fr}
  .leaderboard-table{min-width:780px}
  .premium-report-table{min-width:640px}
  .members-foundation-table{min-width:460px}
}

/* v33.8 mobile shell polish */
@media(max-width:1000px){
  .sidebar{padding:12px 12px 10px;overflow:hidden}
  .brand-block{margin-bottom:10px;gap:10px}
  .logo,.logo-fallback{width:44px;height:44px}
  .brand{font-size:15px;line-height:1.05}
  .subbrand{font-size:10px}
  .sidebar nav{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0;padding-bottom:4px}
  .sidebar nav a{flex:0 0 auto;margin:0;padding:9px 11px;border:1px solid #252b33;background:#101418;border-radius:999px;white-space:nowrap;font-size:12px}
  .mission-card{display:none}
  .main{padding-top:12px}
}
.audit-filter-form{align-items:center;flex-wrap:wrap;margin:0}
.audit-table{min-width:780px}
.audit-table th:nth-child(1),.audit-table td:nth-child(1){width:160px}
.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:120px}
.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:190px}
.audit-table th:nth-child(4),.audit-table td:nth-child(4){width:120px}
.audit-details{overflow-wrap:anywhere;color:#cfd6df;font-size:12px}
.sidebar nav{scrollbar-width:none}
.sidebar nav::-webkit-scrollbar{display:none}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.section-head .button,.section-head button{flex:0 0 auto}
.flash{overflow-wrap:anywhere;line-height:1.4}
.attendance-summary .card{min-width:0}
.attendance-summary .card b{font-size:clamp(18px,5vw,28px);line-height:1.15;overflow-wrap:anywhere}
.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.leaderboard-table{table-layout:auto!important;min-width:980px!important}
.leaderboard-table th,.leaderboard-table td{white-space:nowrap!important;vertical-align:middle}
.leaderboard-table .angler-col{white-space:normal!important;width:260px!important;min-width:260px!important}
.leaderboard-table th:nth-child(1),.leaderboard-table td:nth-child(1){width:46px!important;min-width:46px!important}
.leaderboard-table th:nth-child(3),.leaderboard-table td:nth-child(3){width:70px!important;min-width:70px!important}
.leaderboard-table th:nth-child(n+4),.leaderboard-table td:nth-child(n+4){min-width:108px!important}
.leaderboard-table th:last-child,.leaderboard-table td:last-child{min-width:88px!important}
.premium-report-table{table-layout:auto!important;min-width:920px!important}
.premium-report-table th,.premium-report-table td{white-space:nowrap!important;vertical-align:middle}
.premium-report-table .angler-col{white-space:normal!important;width:260px!important;min-width:260px!important}
.premium-report-table th.rank-col,.premium-report-table td.rank-col{width:44px!important;min-width:44px!important;text-align:center}
.premium-report-table th:nth-child(3),.premium-report-table td:nth-child(3){width:95px!important;min-width:95px!important}
.premium-report-table th:nth-child(n+4),.premium-report-table td:nth-child(n+4){min-width:95px!important}
.competition-points-table{min-width:760px!important}
.competition-points-table .angler-col{width:280px!important;min-width:260px!important}
.catch-points-table{min-width:920px!important}
.biggest-fish-report-panel .biggest-fish-mobile-list{display:none}
.biggest-fish-table .angler-col{width:270px!important;min-width:250px!important}
.mobile-record-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
@media(max-width:760px){
  .section-head{display:block}
  .section-head .button,.section-head button,.section-head form{width:100%;margin-top:8px}
  .season-create-form{display:grid!important;grid-template-columns:1fr!important}
  .leaderboard-table{min-width:940px!important}
  .leaderboard-table .angler-col{width:230px!important;min-width:230px!important}
  .competition-points-table{min-width:720px!important}
  .catch-points-table{min-width:880px!important}
  .premium-report-table{min-width:860px!important}
  .premium-report-table .angler-col{width:220px!important;min-width:220px!important}
  .biggest-fish-report-panel .biggest-fish-table-wrap{display:none}
  .biggest-fish-report-panel .biggest-fish-mobile-list{display:grid;gap:12px}
}

/* v33.9 final mobile overflow hardening */
html,body{max-width:100%;overflow-x:hidden}
.main,.panel,.card,.flash{max-width:100%}
.flash{white-space:normal;overflow-wrap:anywhere;word-break:normal}
.report-kpi-grid div{min-width:0}
.report-kpi-grid b{overflow-wrap:anywhere;word-break:normal;line-height:1.15}
@media(max-width:640px){
  .main{overflow-x:hidden;width:100%;min-width:0}
  .topbar,.page-head,.section-head,.section-head-row{min-width:0;max-width:100%;flex-wrap:wrap}
  .page-head>div{min-width:0;max-width:100%;width:100%}
  .topbar,.panel,.flash{max-width:calc(100vw - 28px)}
  .topbar{display:block}
  .topbar strong,.page-head h1,.panel h1,.panel h2,.panel h3{overflow-wrap:anywhere}
  .season-pill{display:block;width:100%;margin-top:10px;white-space:normal;overflow-wrap:anywhere}
  .inline-form,.actions,.tabs{max-width:100%;min-width:0}
  .inline-form{display:grid;grid-template-columns:1fr;gap:8px}
  .inline-form select,.inline-form input,.inline-form button,.inline-form .button,.actions .button,.actions button,.tabs .tab,.tabs a{width:100%;max-width:100%;min-width:0}
  .tabs a{display:block;text-align:center;white-space:normal}
  .page-head p{max-width:100%;width:100%;white-space:normal;overflow-wrap:anywhere}
  .dashboard-head .inline-form,.report-filter-bar{display:grid;grid-template-columns:1fr}
  .report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reports-hero .report-kpi-grid{width:100%;max-width:100%}
  .report-kpi-grid div{padding:10px}
  .report-kpi-grid span{font-size:10px;line-height:1.2}
  .report-kpi-grid b{font-size:clamp(16px,5vw,20px)}
  .flash{font-size:14px;line-height:1.45;width:330px!important;max-width:100%!important}
  .card span{white-space:normal;overflow-wrap:anywhere}
  .table-scroll{max-width:100%;overflow-x:auto}
}

/* Hardening pass: mobile report and permissions ergonomics */
.permission-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}.permission-tools input{min-width:220px}.permission-group summary{display:flex;align-items:center;cursor:pointer}.permission-group summary h2{margin:0}.rig-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.rig-media-grid img{width:100%;max-height:360px;object-fit:contain;background:#07090c;border:1px solid #303741;border-radius:12px}.rig-lightbox-trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}.rig-lightbox-trigger img{transition:transform .15s ease,box-shadow .15s ease}.rig-lightbox-trigger:hover img{transform:scale(1.02);box-shadow:0 0 0 3px rgba(255,210,0,.25)}.rig-lightbox .photo-modal-card{width:min(980px,94vw)}.rig-lightbox .photo-modal-card img{width:100%;max-height:76vh;object-fit:contain;background:#050505;border-radius:12px}.weather-icon{display:inline-grid;place-items:center;width:16px;min-width:16px;font-size:13px;line-height:1}.mobile-record-list{display:none}
.grid-form .section-title.subtle{color:#d6dce5;text-transform:none;border-bottom-color:#252b33;padding-top:12px}.unit-lock{color:#ffd200;font-size:11px;font-weight:900}.legacy-field{opacity:.82}.supporting-report-panel{margin-top:16px}.supporting-report-panel summary{cursor:pointer;color:#ffd200}.snapshot-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.presence-pill{display:inline-flex;align-items:center;border:1px solid #3b424b;background:#171c22;color:#b9c6d6;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.presence-pill.online{border-color:rgba(57,211,83,.7);color:#8effa8;background:#102117}.rig-lightbox .photo-modal-card{width:min(1180px,96vw);padding:16px}.rig-lightbox .photo-modal-card img{max-height:82vh;background:#08090b;image-rendering:auto}.rig-lightbox .actions{justify-content:flex-end;margin-top:10px}
.combo-intelligence-panel{margin:14px 0}.combo-intelligence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.intelligence-mini small{display:block;color:#8f9aaa;margin-top:5px;font-size:11px}.category-chip{display:inline-flex;align-items:center;border:1px solid rgba(255,210,0,.35);border-radius:999px;padding:3px 8px;color:var(--yellow);font-size:11px;font-weight:900}
@media(max-width:760px){
  .permission-tools{display:grid;grid-template-columns:1fr}.permission-tools input,.permission-tools select,.permission-tools button{width:100%}
  .species-record-panel .table-scroll{display:none}
  .mobile-record-list{display:grid;gap:10px}
  .mobile-record-card{background:#10161c;border:1px solid #303741;border-radius:14px;padding:12px;display:grid;gap:10px}
  .mobile-record-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
  .mobile-record-head strong{color:#fff;font-size:18px}
  .mobile-record-card dl{display:grid;grid-template-columns:1fr;gap:7px;margin:0}
  .mobile-record-card dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #28313b;padding-top:7px}
  .mobile-record-card dt{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900}
  .mobile-record-card dd{margin:0;text-align:right;color:#fff}
  .rig-media-grid{grid-template-columns:1fr}.rig-media-grid img{max-height:62vh}
}

/* v33.7 mobile table/card responsiveness and member snapshot refinement */
.has-mobile-cards .mobile-record-list{display:none}
.mobile-record-card{min-width:0}
.mobile-record-head>div{min-width:0}
.mobile-record-head span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.mobile-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.mobile-card-actions .action-menu{width:100%}
.mobile-card-actions .action-menu summary{width:100%;min-height:42px}
.mobile-weather-row{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
.mobile-weather-row dd{text-align:left!important}
.mobile-weather-row .weather-chip-row{justify-content:flex-start;max-height:none;overflow:visible}
.mobile-weather-row .weather-chip{white-space:normal;line-height:1.2}
.event-mobile-card .status,.dashboard-event-card .status{white-space:nowrap}
.presence-pill{max-width:100%;white-space:normal;line-height:1.2}
@media(max-width:760px){
  .has-mobile-cards>.table-scroll{display:none}
  .has-mobile-cards>.mobile-record-list{display:grid;gap:12px}
  .event-mobile-list,.dashboard-mobile-list{margin-top:0}
  .mobile-record-card{background:#10161c;border:1px solid #303741;border-radius:14px;padding:12px;display:grid;gap:10px;box-shadow:0 10px 22px rgba(0,0,0,.16)}
  .mobile-record-card dl{display:grid;grid-template-columns:1fr;gap:7px;margin:0}
  .mobile-record-card dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #28313b;padding-top:7px}
  .mobile-record-card dt{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:900}
  .mobile-record-card dd{margin:0;text-align:right;color:#fff;min-width:0}
  .mobile-record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .mobile-record-head strong{display:block;color:#fff;font-size:17px;line-height:1.18;overflow-wrap:anywhere}
  .mobile-card-actions .button,.mobile-card-actions button{min-height:42px}
  .mobile-card-actions .button{width:100%;text-align:center}
  .weather-chip-row{max-height:none;overflow:visible}
  .weather-chip{white-space:normal;line-height:1.2}
  .member-snapshot-card{max-height:calc(100vh - 20px)!important;overflow:auto!important}
  .member-snapshot-card .photo-modal-layout{gap:10px}
  .snapshot-title-row{align-items:flex-start}
  .snapshot-visual{min-height:130px}
  .snapshot-visual .snapshot-photo{max-height:30vh}
  .snapshot-initials{width:min(52vw,180px);font-size:48px;border-radius:20px}
  .photo-modal-close{position:sticky;top:0;margin-left:auto;display:grid;place-items:center}
  .combo-grid{grid-template-columns:minmax(0,1fr)!important}
  .combo-card,.rod-preview,.rod-card,.field-card{min-width:0;overflow-wrap:anywhere}
  .combo-card-head{display:grid;grid-template-columns:1fr;gap:8px}
  .combo-card-head .status{justify-self:start}
  .combo-meta{overflow-wrap:anywhere;line-height:1.45}
  .combo-thumb img{width:100%;height:auto;max-height:260px;object-fit:contain}
  .rod-preview p,.rod-card p{overflow-wrap:anywhere}
  .rig-lightbox .photo-modal-card{max-height:calc(100vh - 20px)!important;overflow:auto!important}
  .rig-lightbox .photo-modal-card img{max-height:68vh}
}
@media(min-width:761px){
  .has-mobile-cards>.table-scroll{display:block}
}

/* v34.0 club finance foundation */
.finance-tabs{margin-bottom:14px}.finance-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:14px}.finance-table{min-width:900px}.finance-table td,.finance-table th{vertical-align:middle}.finance-table input,.finance-table select,.finance-table textarea{min-width:90px;padding:7px 8px;font-size:12px}.payment-register-table{min-width:1180px}.payment-register-table textarea{min-height:34px}.finance-category-fees{border:1px solid #303741;border-radius:12px;padding:12px;background:#101418}.finance-category-fees h3{margin-top:0}.finance-category-row{display:grid;grid-template-columns:minmax(150px,1fr) 140px;gap:8px;margin-bottom:8px}.finance-category-row input{width:100%}.status.draft{background:#322b12;color:#ffe38a}.status.posted,.status.paid{background:#12351d;color:#91f7a8}.status.unpaid{background:#3b1717;color:#ffb8b8}.status.partial{background:#342412;color:#ffd79b}.status.waived{background:#1c2733;color:#b9d9ff}.status.reversed{background:#2a2a2a;color:#cfcfcf}
@media(max-width:760px){.finance-table{min-width:0}.finance-category-row{grid-template-columns:1fr}.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-tabs a{width:100%;text-align:center}.payment-register-table input,.payment-register-table select,.payment-register-table textarea{width:100%}}

/* v34.1 attendance peg draw group order */
.peg-pair-preview{border:1px solid #30363e;background:#101418;border-radius:12px;padding:9px;margin:6px 0}.peg-pair-preview b{display:block;color:#ffd200;margin-bottom:5px}.group-order-actions{display:inline-flex;gap:5px;align-items:center;margin-left:8px;flex-wrap:wrap}.group-order-actions form{display:inline}.group-order-actions button{padding:5px 8px;min-height:28px;border-radius:8px;font-size:11px}

/* Cashbook monthly accordion */
.cashbook-accordion{display:grid;gap:10px;padding-bottom:12px}.cashbook-month{border-top:1px solid #29313b}.cashbook-month:first-of-type{border-top:0}.cashbook-month-header{width:100%;border:0;background:#10161c;color:#eef2f7;display:grid;grid-template-columns:auto minmax(140px,1.2fr) auto repeat(4,minmax(130px,1fr));gap:10px;align-items:center;text-align:left;padding:12px 14px;cursor:pointer}.cashbook-month-header:hover,.cashbook-month-header:focus{background:#141b22;outline:2px solid rgba(255,210,0,.35);outline-offset:-2px}.cashbook-month-header strong{color:#fff}.cashbook-toggle{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid rgba(255,210,0,.45);border-radius:6px;color:#ffd200;font-weight:900}.cashbook-month-title{font-weight:900;color:#ffd200}.cashbook-month-count{color:var(--muted);font-weight:800}.cashbook-month-body{padding:0 0 12px}.cashbook-month-balances{display:flex;flex-wrap:wrap;gap:14px;padding:10px 14px;color:#cfd6df;background:#0d1217;border-top:1px solid #252d36}.cashbook-month-balances strong{color:#fff}
@media(max-width:900px){.cashbook-month-header{grid-template-columns:auto 1fr;gap:7px}.cashbook-month-header span:not(.cashbook-toggle):not(.cashbook-month-title){grid-column:2;color:#cfd6df}.cashbook-month-count{font-size:12px}}
@media(max-width:760px){.cashbook-month .table-scroll{display:none}.cashbook-month .mobile-record-list{display:grid;gap:12px;padding:0 12px 12px}}
@media print{.cashbook-month-body[hidden]{display:block!important}.cashbook-month-header{display:block;background:#fff;color:#000;border-bottom:1px solid #aaa;padding:8px 0}.cashbook-month-title,.cashbook-month-header strong{color:#000}.cashbook-month-header span{display:inline-block;margin-right:12px}.cashbook-month-balances{background:#fff;color:#000;border-top:0;padding:6px 0}.cashbook-month-balances strong{color:#000}.cashbook-toggle{display:none!important}}
