:root{
  --navy:#0F2A3F; --navy-2:#0c2233; --cream:#F5EFE4; --gold:#E5C067; --gold-soft:#f0d690;
  --brass:#B8864B; --rose:#8a1f24; --rose-bright:#c0282f; --page:#171310; --ink:#16202b;
  --accent:#E5C067; --accent-line:#E5C0678c; --accent-tint:#E5C0672b; --accent-faint:#E5C06714;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;color:var(--cream);background:var(--navy);}
a{color:inherit;}

/* ============================= PATRON (mobile) ============================= */
body.patron{background:radial-gradient(120% 80% at 50% -10%,#16344b 0%,var(--navy) 55%,var(--navy-2) 100%);min-height:100vh;}
.wrap{width:100%;max-width:480px;margin:0 auto;padding:26px 18px 44px;}
.wrap.narrow{max-width:560px;}
.ph-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.ph-head.center{justify-content:center;}
.m-lg{width:52px;height:52px;flex:0 0 auto;}
.ph-sos{font-family:Lora,serif;font-weight:700;font-size:20px;color:var(--cream);line-height:1;}
.ph-venue{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-top:3px;}
.card{background:rgba(8,20,32,.5);border:1px solid rgba(245,239,228,.1);border-radius:16px;padding:24px 22px;}
.card h1{font-family:Lora,serif;font-weight:700;font-size:27px;margin:0 0 8px;color:#fff;}
.card>p{margin:0 0 16px;color:rgba(245,239,228,.8);line-height:1.5;font-size:15px;}
.card>p b{color:var(--gold);}
.err{background:rgba(192,40,47,.18);border:1px solid rgba(192,40,47,.5);color:#ffd9d9;padding:10px 12px;border-radius:10px;font-size:14px;margin-bottom:14px;}
.ok{background:rgba(46,120,80,.2);border:1px solid rgba(80,170,120,.5);color:#cdeed8;padding:10px 12px;border-radius:10px;font-size:14px;margin-bottom:14px;}
body.patron form label{display:block;font-size:13px;color:rgba(245,239,228,.7);margin:14px 0 6px;font-weight:600;}
body.patron form label span{color:rgba(245,239,228,.45);font-weight:400;}
body.patron input:not([type=checkbox]):not([type=radio]){
  width:100%;background:rgba(245,239,228,.06);border:1px solid rgba(245,239,228,.18);border-radius:10px;padding:13px 14px;color:#fff;font-size:16px;font-family:inherit;}
body.patron input:focus{outline:none;border-color:var(--gold);}
.codeform input{letter-spacing:.18em;text-transform:uppercase;font-weight:700;text-align:center;font-size:20px;}
body.patron button{margin-top:16px;width:100%;background:var(--gold);color:var(--navy);border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:800;font-family:inherit;cursor:pointer;}
body.patron button:hover{background:var(--gold-soft);}
.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:rgba(245,239,228,.78);font-weight:400;margin-top:16px;line-height:1.45;}
.check input{width:auto;margin-top:3px;flex:0 0 auto;}
.ph-foot{text-align:center;margin-top:18px;font-size:12px;color:rgba(245,239,228,.45);}
.ph-foot a{color:rgba(245,239,228,.7);}
.standing{text-align:center;}
.standing .hi{font-size:14px;color:rgba(245,239,228,.7);}
.standing .big{font-family:Lora,serif;font-weight:700;font-size:30px;color:var(--gold);margin:4px 0 10px;}
.standing .streak{font-size:13px;color:var(--gold-soft);font-weight:600;margin:-4px 0 10px;}
.standing .big span{color:rgba(245,239,228,.5);font-size:16px;}
.link{color:var(--gold);font-weight:600;font-size:14px;text-decoration:none;}
.sec{font-family:Lora,serif;color:var(--cream);font-size:18px;margin:22px 2px 12px;}
.pick-hint{font-size:13px;color:rgba(245,239,228,.6);margin:-6px 2px 14px;line-height:1.45;}
.matchday{background:rgba(8,20,32,.32);border:1px solid rgba(245,239,228,.08);border-radius:14px;margin-bottom:10px;overflow:hidden;}
.matchday>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 16px;font-family:Lora,serif;font-weight:700;color:var(--cream);user-select:none;}
.matchday>summary::-webkit-details-marker{display:none;}
.matchday>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);transition:transform .15s;flex:0 0 auto;opacity:.85;}
.matchday[open]>summary::after{transform:rotate(45deg);}
.md-date{font-size:16px;margin-right:auto;}
.md-count{font-family:Inter;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.matchday>.match-card{margin:0 12px 12px;}
.matchday.is-past{opacity:.72;}
.matchday.is-past>summary{color:rgba(245,239,228,.55);}
.props-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.props-head .sec{margin:0;}
.props-tag{font-family:Inter;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:3px 9px;border-radius:20px;font-weight:800;}
.prop{padding:12px 0;border-top:1px solid rgba(245,239,228,.08);}
.prop:first-of-type{border-top:none;padding-top:4px;}
.prop-q{font-family:Lora,serif;font-weight:700;font-size:15px;color:var(--cream);margin-bottom:9px;}
.prop-form{display:flex;gap:8px;align-items:center;}
.prop-form select{flex:1 1 auto;min-width:0;background:rgba(245,239,228,.06);border:1px solid rgba(245,239,228,.18);border-radius:10px;padding:11px 12px;color:#fff;font-size:15px;font-family:inherit;}
.prop-form select:focus{outline:none;border-color:var(--gold);}
.prop-form option{color:#16202b;}
.prop-form button{margin:0;width:auto;flex:0 0 auto;padding:11px 16px;font-size:14px;}
.prop-state{font-size:14px;color:rgba(245,239,228,.75);}
.prop-state b{color:var(--cream);}
.prop-state .flag{width:21px;height:14px;vertical-align:-2px;box-shadow:0 1px 2px rgba(0,0,0,.35);}
.prop-win{color:var(--gold-soft);}
.prop-note{font-size:13px;color:var(--gold-soft);margin:-4px 0 10px;}
.match-card{background:rgba(8,20,32,.5);border:1px solid rgba(245,239,228,.1);border-radius:14px;padding:14px 16px;margin-bottom:10px;}
.match-card.is-locked{opacity:.6;}
.mc-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
.mc-teams{font-family:Lora,serif;font-weight:700;font-size:17px;color:#fff;}
.mc-teams i{font-style:normal;color:rgba(245,239,228,.4);font-size:13px;}
.mc-teams .flag{width:21px;height:14px;vertical-align:-2px;box-shadow:0 1px 2px rgba(0,0,0,.35);}
.mc-teams .flag.h{margin-right:8px;}
.mc-teams .flag.a{margin-left:8px;}
.mc-note{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;white-space:nowrap;}
.mc-when{font-size:12px;color:rgba(245,239,228,.55);margin-top:3px;}
.mc-result{margin-top:10px;font-size:14px;color:rgba(245,239,228,.7);}
.mc-result b{color:var(--cream);}
.mc-form{display:flex;align-items:center;gap:8px;margin-top:12px;}
.mc-form input[type=number]{width:58px;text-align:center;font-weight:700;font-size:18px;padding:10px 6px;}
.mc-form .dash{color:rgba(245,239,228,.5);font-weight:700;}
.mc-form button{margin:0 0 0 auto;width:auto;padding:10px 18px;font-size:14px;}
.venue-list{list-style:none;padding:0;margin:6px 0 0;}
.venue-list li{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid rgba(245,239,228,.1);}
.venue-list .vn{flex:1;text-decoration:none;min-width:0;}
.venue-list .vn .nm{display:block;font-family:Lora,serif;font-weight:700;font-size:17px;color:#fff;}
.venue-list .vn:hover .nm{text-decoration:underline;}
.venue-list .vn .vt{display:block;font-size:12px;color:rgba(245,239,228,.5);margin-top:2px;}
.venue-list .play{flex:0 0 auto;font-family:Inter;font-size:13px;font-weight:800;color:var(--navy);background:var(--gold);padding:9px 15px;border-radius:22px;text-decoration:none;white-space:nowrap;}
.venue-list .play:hover{background:var(--gold-soft);}
.venue-list .bd{flex:0 0 auto;font-size:12px;color:var(--gold);text-decoration:none;border:1px solid rgba(229,192,103,.4);padding:6px 10px;border-radius:20px;white-space:nowrap;}
.venue-list .empty{color:rgba(245,239,228,.5);}
.venue-filter{margin:0 0 14px;}
.venue-filter select{width:100%;background:rgba(245,239,228,.06);border:1px solid rgba(245,239,228,.18);border-radius:10px;padding:11px 12px;color:#fff;font-size:15px;font-family:inherit;}
.venue-filter select:focus{outline:none;border-color:var(--gold);}
.venue-filter option{color:#16202b;}

/* ===================== SOUTH SHORE STANDINGS (cross-venue) ===================== */
.ss-link{margin-top:-4px;}
.ss-link a{color:var(--gold);font-weight:700;font-size:14px;text-decoration:none;}
.ss-h{font-family:Lora,serif;color:var(--cream);font-size:19px;margin:0 0 12px;}
.ss-h span{display:block;font-family:Inter;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-top:3px;}
.ss-rank,.ss-rooms{list-style:none;margin:0;padding:0;}
.ss-rank li,.ss-rooms li{display:flex;align-items:center;gap:12px;padding:11px 4px;border-top:1px solid rgba(245,239,228,.08);}
.ss-rank li:first-child,.ss-rooms li:first-child{border-top:none;}
.ss-pos{flex:0 0 24px;text-align:center;font-family:Lora,serif;font-weight:700;font-size:16px;color:rgba(245,239,228,.5);}
.ss-who,.ss-roomname{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;text-decoration:none;}
.ss-name,.ss-roomname .nm{font-size:16px;font-weight:600;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ss-bar,.ss-roomname .vt{font-size:12px;color:rgba(245,239,228,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ss-pts{flex:0 0 auto;font-family:Lora,serif;font-weight:700;font-size:18px;color:var(--gold-soft);}
.ss-rank li.lead .ss-pos,.ss-rank li.lead .ss-pts{color:var(--gold);}
.ss-rank li.lead .ss-name{color:#fff;}
.ss-count{flex:0 0 auto;font-family:Lora,serif;font-weight:700;font-size:18px;color:var(--gold-soft);display:flex;align-items:baseline;gap:5px;}
.ss-count small{font-family:Inter;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,239,228,.45);font-weight:700;}
.ss-empty{font-size:14px;color:rgba(245,239,228,.6);line-height:1.5;margin:0;}
.ss-empty a,.ph-foot.center .link{color:var(--gold);}

/* ===================== BAR-OWNER DEMO (/demo) ===================== */
.demo-hero h1{font-family:Lora,serif;font-weight:700;font-size:27px;line-height:1.2;color:var(--cream);margin:0 0 12px;}
.demo-hero p{margin:0 0 16px;}
.demo-cta{display:inline-block;background:var(--gold);color:var(--navy);font-weight:800;font-size:16px;text-decoration:none;padding:13px 22px;border-radius:11px;}
.demo-cta:hover{background:var(--gold-soft);}
.demo-castline{font-size:12px;color:rgba(245,239,228,.5);margin:12px 0 0;}
.demo-gets{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.demo-gets li{position:relative;padding-left:20px;font-size:14.5px;color:rgba(245,239,228,.82);line-height:1.45;}
.demo-gets li b{color:var(--cream);}
.demo-gets li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(229,192,103,.18);}
.demo-sub{font-size:14px;color:rgba(245,239,228,.7);line-height:1.5;margin:16px 0 0;}
.demo-sub b{color:var(--gold-soft);}
.demo-tiers{display:grid;gap:12px;}
.demo-tier{background:rgba(245,239,228,.05);border:1px solid rgba(245,239,228,.1);border-radius:12px;padding:14px 16px;}
.demo-tier .tnum{font-family:Lora,serif;font-weight:700;font-size:13px;color:var(--gold);letter-spacing:.1em;margin-bottom:5px;}
.demo-tier h3{font-family:Lora,serif;color:var(--cream);font-size:16px;margin:0 0 6px;}
.demo-tier p{margin:0;color:rgba(245,239,228,.72);font-size:13.5px;line-height:1.5;}
.demo-contact{margin-top:16px;padding:18px 20px;background:rgba(229,192,103,.1);border:1px solid rgba(229,192,103,.3);border-radius:12px;display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;align-items:center;}
.dc-k{font-family:Lora,serif;font-weight:700;font-size:18px;color:var(--cream);}
.dc-s{font-size:13px;color:rgba(245,239,228,.72);margin-top:5px;max-width:42ch;line-height:1.45;}
.dc-card{text-align:right;}
.dc-name{font-weight:700;color:var(--gold);font-size:14px;}
.dc-co{font-size:12px;color:rgba(245,239,228,.6);margin-bottom:6px;}
.dc-card a{display:block;color:var(--cream);font-size:13px;text-decoration:none;border-bottom:1px solid rgba(229,192,103,.4);width:-moz-fit-content;width:fit-content;margin-left:auto;padding:1px 0;}
.dc-card a:hover{color:var(--gold);}
@media (max-width:520px){.demo-contact{flex-direction:column;align-items:flex-start;}.dc-card{text-align:left;}.dc-card a{margin-left:0;}}

/* ============================= TV BOARD ============================= */
body.boardpage{background:var(--page);}
.board-wrap{position:fixed;inset:0;overflow:hidden;background:var(--page);}
.board{position:absolute;top:0;left:0;transform-origin:top left;}
.crest{display:block;height:auto;}
.crest-board{width:118px;}
.crest-head{width:86px;}
.ph-head.crested{flex-direction:column;align-items:center;text-align:center;gap:6px;}
.ph-head.crested .ph-venue.cap{letter-spacing:.16em;}
.board{width:1200px;height:675px;flex:0 0 auto;background:radial-gradient(120% 90% at 50% -10%,#16344b 0%,var(--navy) 46%,var(--navy-2) 100%);border-radius:16px;border:1px solid rgba(229,192,103,.28);box-shadow:0 30px 70px rgba(0,0,0,.5),inset 0 0 0 6px rgba(12,28,44,.6);position:relative;overflow:hidden;display:flex;flex-direction:column;padding:30px 36px 22px;}
.board::before{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;background:radial-gradient(circle at 50% 120%,rgba(245,239,228,.9) 0 1px,transparent 2px);background-size:auto;}
.board-head{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;}
.sos-lockup{display:flex;align-items:center;gap:14px;}
.sos-mark{width:62px;height:62px;flex:0 0 auto;}
.sos-words .k{font-family:Lora,Georgia,serif;font-weight:700;font-size:26px;letter-spacing:.5px;color:var(--cream);line-height:1;}
.sos-words .s{display:block;margin-top:4px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:700;}
.pub-chip{display:flex;align-items:center;gap:14px;background:var(--cream);border-radius:12px;padding:10px 16px;box-shadow:0 8px 22px rgba(0,0,0,.35);}
.pub-chip img{height:54px;width:auto;display:block;}
.pub-chip.word{padding:12px 20px;}
.pub-meta{line-height:1.15;text-align:right;}
.pub-meta .t{font-family:Lora,serif;font-weight:700;color:var(--ink);font-size:15px;}
.pub-chip.word .pub-meta .t{font-size:21px;}
.pub-meta .d{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6b5836;font-weight:700;margin-top:3px;}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--accent-line),transparent);margin:18px 0 16px;position:relative;z-index:2;}
.board-body{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;flex:1;position:relative;z-index:2;min-height:0;}
.lb-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;}
.lb-title h2{font-family:Lora,serif;font-weight:700;font-size:23px;margin:0;color:var(--cream);}
.lb-title h2 span{color:var(--gold);}
.lb-title .sub{font-size:11px;color:rgba(245,239,228,.5);letter-spacing:.04em;}
.lb{display:flex;flex-direction:column;gap:7px;}
.row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:9px 16px;border-radius:10px;background:rgba(245,239,228,.045);border:1px solid rgba(245,239,228,.06);}
.row .rank{font-family:Lora,serif;font-weight:700;font-size:18px;color:rgba(245,239,228,.55);text-align:center;}
.row .who{font-size:17px;font-weight:600;color:var(--cream);}
.row .pts{font-family:Lora,serif;font-weight:700;font-size:18px;color:var(--gold-soft);}
.row .pts small{font-size:10px;font-weight:600;color:rgba(245,239,228,.45);letter-spacing:.1em;text-transform:uppercase;margin-left:3px;}
.row.lead{background:linear-gradient(90deg,var(--accent-tint),var(--accent-faint));border-color:var(--accent-line);}
.row.lead .rank{color:var(--gold);}
.row.lead .who{color:#fff;}
.row.lead .crown{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:2px 7px;border-radius:20px;font-weight:800;margin-left:10px;vertical-align:middle;}
.lb-empty{color:rgba(245,239,228,.55);font-style:italic;padding:26px 6px;font-size:15px;}
.side{display:flex;flex-direction:column;gap:14px;min-height:0;}
.panel{background:rgba(8,20,32,.55);border:1px solid rgba(245,239,228,.09);border-radius:12px;padding:15px 17px;}
.panel .eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:800;margin-bottom:9px;}
.match{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.team{display:flex;align-items:center;gap:9px;}
.flag{width:26px;height:18px;border-radius:3px;flex:0 0 auto;box-shadow:0 1px 3px rgba(0,0,0,.4);overflow:hidden;display:inline-block;object-fit:cover;background:#33485c;}
.team .nm{font-family:Lora,serif;font-weight:700;font-size:18px;color:var(--cream);}
.vs{font-size:11px;letter-spacing:.16em;color:rgba(245,239,228,.45);font-weight:700;}
.match-time{margin-top:8px;font-size:12px;color:rgba(245,239,228,.6);}
.match-time b{color:var(--cream);}
.f-haiti{background:linear-gradient(180deg,#00209f 50%,#d21034 50%);}
.f-scot{background:#0065bf;position:relative;}
.f-scot::before,.f-scot::after{content:"";position:absolute;inset:0;}
.f-scot::before{background:linear-gradient(45deg,transparent 43%,#fff 43% 57%,transparent 57%);}
.f-scot::after{background:linear-gradient(-45deg,transparent 43%,#fff 43% 57%,transparent 57%);}
.f-eng{background:#fff;position:relative;}
.f-eng::before{content:"";position:absolute;inset:0;background:linear-gradient(#cf142b,#cf142b) center/100% 32% no-repeat,linear-gradient(#cf142b,#cf142b) center/32% 100% no-repeat;}
.f-gha{background:linear-gradient(180deg,#ce1126 33.3%,#fcd116 33.3% 66.6%,#006b3f 66.6%);}
.f-mor{background:#c1272d;}
.f-nor{background:#ba0c2f;position:relative;}
.f-nor::before{content:"";position:absolute;inset:0;background:linear-gradient(#fff,#fff) 9px 0/4px 100% no-repeat,linear-gradient(#fff,#fff) 0 6px/100% 6px no-repeat;}
.f-nor::after{content:"";position:absolute;inset:0;background:linear-gradient(#00205b,#00205b) 10px 0/2px 100% no-repeat,linear-gradient(#00205b,#00205b) 0 7px/100% 4px no-repeat;}
.prize{background:linear-gradient(120deg,rgba(138,31,36,.5),rgba(8,20,32,.4));border-color:rgba(192,40,47,.4);}
.prize .cup{font-family:Lora,serif;font-weight:700;font-size:19px;color:var(--cream);margin:0 0 3px;}
.prize .cup b{color:var(--gold);}
.prize p{margin:0;font-size:12.5px;line-height:1.45;color:rgba(245,239,228,.78);}
.join{display:flex;align-items:center;gap:15px;}
.join .qr{width:96px;height:96px;flex:0 0 auto;background:var(--cream);border-radius:10px;padding:9px;}
.join .how{flex:1;}
.join .how .big{font-family:Lora,serif;font-weight:700;font-size:16px;color:var(--cream);line-height:1.25;}
.join .how .code{margin-top:7px;font-size:12px;color:rgba(245,239,228,.6);}
.join .how .code b{font-family:Inter;font-weight:800;letter-spacing:.12em;color:var(--gold);background:rgba(229,192,103,.12);padding:2px 8px;border-radius:6px;}
.board-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;position:relative;z-index:2;}
.board-foot .by{font-size:11px;color:rgba(245,239,228,.45);}
.board-foot .by b{color:rgba(245,239,228,.7);font-weight:600;}
.board-foot .legal{font-size:10px;color:rgba(245,239,228,.33);letter-spacing:.03em;}
/* Phones: drop the fixed-TV scaling and lay the board out full-width, single column. */
@media (max-width:820px){
  .board-wrap{position:static;overflow:visible;}
  .board{position:static;width:100%;height:auto;min-height:100vh;transform:none !important;border-radius:0;border:0;box-shadow:none;padding:22px 16px 30px;}
  .board-head{flex-wrap:wrap;gap:12px;}
  .board-body{grid-template-columns:1fr;gap:18px;}
  .crest-board{width:96px;}
}

/* ============================= ADMIN + RECAP (light) ============================= */
body.adminpage{background:#eef0ee;color:#1c2530;}
.admin{max-width:1000px;margin:0 auto;padding:28px 20px 60px;}
.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.admin-head h1{font-family:Lora,serif;font-size:24px;margin:0;color:var(--navy);}
.admin-head h1 span,.admin h2 span{color:#8a96a4;font-weight:400;font-size:.7em;}
.admin-head a.ghost{text-decoration:none;}
.ghost{background:transparent;border:1px solid #c4ccd4;color:var(--navy);width:auto;margin:0;padding:8px 14px;border-radius:8px;font-size:13px;font-family:inherit;cursor:pointer;}
.admin section{background:#fff;border:1px solid #dfe4e8;border-radius:14px;padding:18px 20px;margin-bottom:18px;}
.admin h2{font-family:Lora,serif;color:var(--navy);margin:0 0 12px;font-size:19px;}
.admin h3{color:var(--navy);margin:18px 0 8px;font-size:14px;}
.admin td .ok{display:inline-block;background:#e3f3e9;border:1px solid #bfe3cc;color:#1c6b3a;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:800;letter-spacing:.04em;margin:0;vertical-align:1px;}
.flash{margin:0 0 16px;padding:11px 15px;border-radius:9px;font-size:14px;font-weight:600;background:#eef1f4;color:var(--navy);border:1px solid #dde2e6;}
.flash.ok-flash{background:#e3f3e9;border:1px solid #bfe3cc;color:#1c6b3a;}
table{width:100%;border-collapse:collapse;font-size:14px;}
th{text-align:left;color:#6b7783;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #e6eaee;padding:8px 10px;}
td{padding:9px 10px;border-bottom:1px solid #eef1f4;vertical-align:middle;color:#1c2530;}
td i{font-style:normal;color:#9aa6b2;}
td code{background:#f1f4f6;padding:2px 6px;border-radius:5px;font-size:13px;}
.sub{color:#8a96a4;font-size:12px;}
tr.done td{background:#f4faf5;}
.links a{color:var(--brass);text-decoration:none;}
.ix{display:inline;margin:0;}
.ix button{background:none;border:none;color:var(--brass);padding:0;margin:0;width:auto;font:inherit;cursor:pointer;text-decoration:underline;}
.inline{display:flex;align-items:center;gap:6px;margin:0;}
.inline input{width:54px;margin:0;background:#fff;border:1px solid #cfd6dc;color:#1c2530;padding:7px;border-radius:7px;text-align:center;font-family:inherit;font-size:14px;}
.inline button{margin:0;width:auto;padding:7px 12px;font-size:13px;background:var(--navy);color:#fff;border:none;border-radius:7px;cursor:pointer;font-family:inherit;}
.inline .ok{display:inline;background:none;border:none;color:#2e7d50;padding:0;margin:0;font-weight:700;font-size:13px;}
.inline .dash{color:#8a96a4;}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:4px;}
.grid input{width:100%;margin:0;background:#fff;border:1px solid #cfd6dc;color:#1c2530;padding:10px;border-radius:8px;font-family:inherit;font-size:14px;}
.grid button{grid-column:1/-1;margin:4px 0 0;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:11px;font-weight:700;cursor:pointer;font-family:inherit;}
.stats{display:flex;gap:14px;margin-bottom:16px;flex-wrap:wrap;}
.stat{background:#fff;border:1px solid #dfe4e8;border-radius:14px;padding:18px 24px;flex:1;min-width:150px;text-align:center;}
.stat .n{font-family:Lora,serif;font-weight:700;font-size:34px;color:var(--navy);}
.stat .l{font-size:12px;color:#6b7783;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;}
.lead-note{background:#fbf4e3;border:1px solid #ecdcb0;border-radius:12px;padding:14px 16px;color:#5b4a2a;font-size:14px;line-height:1.5;margin-bottom:18px;}

/* ============================= RULES (light) ============================= */
body.rulespage{background:#eef0ee;color:#1c2530;}
.card.light{background:#fff;border:1px solid #dfe4e8;color:#1c2530;}
.card.light h1{color:var(--navy);font-size:23px;}
.card.light p{color:#3a4652;font-size:14px;line-height:1.6;margin:0 0 14px;}
.card.light p b{color:var(--navy);}
.npn{background:#fbf4e3;border:1px solid #ecdcb0;border-radius:10px;padding:12px 14px;color:#5b4a2a !important;}
.amoe{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.amoe input{flex:1;min-width:150px;width:auto;background:#fff;border:1px solid #cfd6dc;color:#1c2530;padding:11px;border-radius:8px;font-family:inherit;font-size:15px;}
.amoe button{width:auto;margin:0;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:11px 18px;font-weight:700;cursor:pointer;font-family:inherit;}
.amoe .age{flex:1 1 100%;display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:#5b4a30;}
.amoe .age input{flex:0 0 auto;width:16px;min-width:0;padding:0;margin:0;}
.card.light .fine{font-size:12px;color:#8a96a4;}
.card.light a{color:var(--brass);}
