:root{--paper:#f5efe3;--card:#fffcf6;--panel:#f9f3e8;--ink:#302d27;--muted:#766e5e;--line:#dfd0b6;--red:#a84135;--red2:#94392f;--blue:#326b88;--green:#397558;--gold:#c49a33;--shadow:0 8px 24px #4c382015}*{box-sizing:border-box}html{background:#25231f}body{margin:0;color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper);min-height:100vh}.topline{height:8px;background:linear-gradient(90deg,var(--red) 0 25%,var(--blue) 25% 50%,var(--gold) 50% 75%,var(--green) 75%)}.masthead{min-height:78px;padding:14px max(24px,calc((100vw - 1480px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffaf1}.brand{display:flex;align-items:center;gap:13px;letter-spacing:.09em}.brand b{font-size:17px;display:block}.brand small{font-size:10px;color:var(--muted);font-weight:700}.marbles{display:flex;gap:5px}.marbles i{width:14px;height:14px;border-radius:50%;box-shadow:inset -2px -2px 3px #0003}.marbles i:nth-child(1){background:#c84e40}.marbles i:nth-child(2){background:#3980a1}.marbles i:nth-child(3){background:#d0a537}.marbles i:nth-child(4){background:#4e805f}.who{color:var(--muted);font-size:13px}.wrap{width:min(1480px,calc(100% - 48px));margin:30px auto 46px}.authPanel{display:grid;grid-template-columns:1.2fr minmax(320px,.7fr);gap:42px;align-items:center;min-height:490px;padding:54px clamp(25px,6vw,90px);border:1px solid var(--line);border-radius:22px;background:linear-gradient(125deg,#f0e5d0,#fffaf0 58%,#eee2cc);box-shadow:var(--shadow)}.eyebrow{color:var(--green);font-weight:800;font-size:12px;letter-spacing:.13em}.heroCopy h1,.appHeader h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,62px);line-height:1.06;margin:13px 0 16px}.heroCopy h1 em{font-weight:500;color:var(--red)}.heroCopy p{max-width:570px;color:#625a4d;font-size:19px}.features{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.features span{border:1px solid var(--line);border-radius:999px;background:#fffaf2;padding:8px 13px;font-size:13px;font-weight:650}.authCard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 10px 24px #4c38201a}.tabs{display:flex;padding:4px;background:#f1e9da;border-radius:12px;margin-bottom:20px}.tabs button{flex:1;border:0;background:transparent;padding:10px;border-radius:9px;color:var(--muted);font-weight:750;cursor:pointer}.tabs button.selected{background:#fffaf2;color:var(--red);box-shadow:0 1px 5px #0001}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#665b49}input,textarea{width:100%;border:1px solid #cdbb9d;border-radius:10px;padding:11px 12px;font:inherit;color:var(--ink);background:#fffefa;outline:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #326b881c}textarea{resize:vertical}.authCard label{margin:14px 0}.btn{border:1px solid var(--line);border-radius:12px;padding:11px 16px;background:#f2e9d9;color:#514939;font:inherit;font-weight:750;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #38271118}.btn.primary{color:white;background:var(--red);border-color:var(--red)}.btn.primary:hover{background:var(--red2)}.btn.ghost{background:transparent}.btn.outline{background:#fffaf2;border-color:#ccb997}.btn.danger{background:#fbece9;color:#9d382c;border-color:#e3b9b1}.btn.full{width:100%;margin-top:8px}.small{font-size:12px}.muted{color:var(--muted)}.message{color:var(--red);font-size:13px;margin-top:10px}.foot{display:flex;justify-content:space-between;color:#8a806e;font-size:12px;padding:18px max(24px,calc((100vw - 1480px)/2));border-top:1px solid var(--line);background:#fffaf1}.appHeader{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}.appHeader h1{font-size:40px;margin:5px 0}.appHeader p{margin:0}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.7fr);gap:20px}.panel{border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow);overflow:hidden}.panel>h2{padding:20px 23px 0}.panelHead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;border-bottom:1px solid var(--line);background:#f8f2e7}.panelHead h2,.panelHead h3{margin:0;font-size:22px}.panelHead p{margin:3px 0 0;color:var(--muted);font-size:13px}.tournamentList{padding:16px;display:grid;gap:10px}.tournamentItem{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fffdf8}.tournamentItem h3{margin:0 0 3px}.tournamentItem p{margin:0;color:var(--muted);font-size:13px}.sidePanel{padding:0 20px 20px}.sidePanel h2{margin:0 -20px 14px;padding:20px;background:#f8f2e7;border-bottom:1px solid var(--line)}.miniFeature{display:grid;gap:2px;padding:12px 0;border-bottom:1px solid #eee4d4}.miniFeature span{font-size:13px;color:var(--muted)}.billingNote{margin-top:18px;padding:14px;border-radius:12px;background:#f5ecd7;color:#715a2f;font-size:13px}.billingNote p{margin:5px 0 0}.editor{margin-top:0}.editor>.panelHead{align-items:center}.actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.back{border:0;padding:0;background:transparent;color:var(--blue);font:inherit;font-weight:700;cursor:pointer;margin-bottom:5px}.editorGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px}.sectionBox{border:1px solid var(--line);border-radius:14px;background:#fffdf8;padding:17px;margin:18px}.editorGrid .sectionBox{margin:0}.sectionBox h3{margin:0 0 12px;font-size:19px}.sectionBox>p{margin:0 0 12px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.groups{grid-template-columns:1fr 1fr}.groupA{color:var(--red)}.groupB{color:var(--blue)}.sectionBox #makeSchedule{margin-top:13px}.games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gameCard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fffaf1}.gameCard .team{font-weight:700}.gameCard input{width:62px;text-align:center;padding:8px}.rankings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rankingGroup{border:1px solid var(--line);border-radius:12px;overflow:hidden}.rankingGroup h4{margin:0;padding:9px 12px;background:#f3e7d3}.rankingGroup table,.beamerTable table{width:100%;border-collapse:collapse}.rankingGroup th,.rankingGroup td,.beamerTable th,.beamerTable td{text-align:left;padding:8px;border-bottom:1px solid #eee4d4;font-size:13px}.finals{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.finals h4{margin:0 0 8px}.finalRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 0}.finalRow input{width:65px}.editorFooter{padding:4px 20px 20px;display:flex;justify-content:space-between;align-items:center}.toast{position:fixed;right:24px;bottom:24px;padding:13px 18px;border-radius:12px;background:#302d27;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:none}[hidden]{display:none!important}body.stage{background:#f4ecdb}.stage .topline{height:8px}.beamerShell{max-width:1500px;margin:24px auto;padding:20px}.beamerTitle{text-align:center;font-family:Georgia,serif;font-size:46px;margin:10px}.beamerMeta{text-align:center;color:var(--muted);font-size:18px}.clockPanel{max-width:980px;margin:20px auto;padding:12px 22px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:18px;background:#fffaf0;display:flex;align-items:center;justify-content:space-between;gap:15px}.clockTime{font-family:Georgia,serif;font-size:54px;font-weight:700;letter-spacing:.06em}.clockButtons{display:flex;gap:8px}.beamerGroups{display:grid;grid-template-columns:1fr 1fr;gap:22px}.beamerTable{overflow:hidden;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:16px;background:#fffdf8}.beamerTable:nth-child(2){border-top-color:var(--blue)}.beamerTable h2{margin:0;padding:10px 16px;background:#f0e3ca;font-family:Georgia,serif;font-size:28px}.beamerTable th{background:#faf4e9;color:#735c3d;text-transform:uppercase}.beamerTable td{font-size:17px}.beamerTable td:nth-child(2){font-weight:700}.beamerTable tr:first-child td:first-child{font-weight:800;color:var(--red)}
@media(max-width:900px){.authPanel{grid-template-columns:1fr;gap:20px;padding:32px}.columns{grid-template-columns:1fr}.editorGrid{grid-template-columns:1fr}.beamerGroups{grid-template-columns:1fr}.clockPanel{flex-wrap:wrap}.beamerTitle{font-size:36px}}
@media(max-width:620px){.wrap{width:calc(100% - 24px);margin:16px auto 30px}.masthead{padding:12px}.who{max-width:50%;text-align:right;font-size:11px}.authPanel{padding:24px 18px;border-radius:16px}.heroCopy h1{font-size:38px}.heroCopy p{font-size:16px}.features{gap:7px}.features span{font-size:11px}.authCard{padding:17px}.appHeader{align-items:flex-start}.appHeader h1{font-size:30px}.panelHead{align-items:flex-start;flex-direction:column}.actions{justify-content:flex-start}.editorGrid{padding:12px}.sectionBox{margin:12px;padding:13px}.formGrid,.groups,.rankings,.games{grid-template-columns:1fr}.tournamentItem{align-items:flex-start;flex-direction:column}.editorFooter,.foot{gap:10px;flex-direction:column}.clockTime{font-size:42px}.clockPanel{margin:12px 0;padding:12px}.beamerShell{padding:10px}.beamerTitle{font-size:29px}.beamerTable td{font-size:14px;padding:6px 4px}.beamerTable th{font-size:11px;padding:6px 4px}}
@media print{body{background:white}.masthead,.foot,.topline,.wrap>*:not(#editor),.editor>.panelHead,.editorGrid,.editorFooter,.sectionBox:not(:has(#games)){display:none!important}#editor{display:block!important;border:0;box-shadow:none}.sectionBox:has(#games){border:0;margin:0;padding:0}.gameCard{break-inside:avoid}}
.empty{padding:24px;color:var(--muted);text-align:center}.tournament{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fffdf8}.tournament h3{margin:0 0 3px}.tournament p{margin:0;color:var(--muted);font-size:13px}.right{display:flex;align-items:center;gap:10px}.pill{padding:5px 10px;border-radius:999px;background:#e8efdf;color:#476340;font-size:12px;font-weight:750}.game{display:grid;grid-template-columns:90px minmax(120px,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;padding:11px;background:#fffaf1}.gameTitle{font-size:12px;color:var(--muted);font-weight:700}.gameVersus{font-weight:700}.gameScore{display:flex;align-items:center;gap:5px}.gameScore input{width:58px;text-align:center;padding:8px}.rankingGroup{border:1px solid var(--line);border-radius:12px;overflow:auto}.rankingGroup h4{margin:0;padding:9px 12px;background:#f3e7d3}.rankingGroup table{width:100%;border-collapse:collapse}.rankingGroup th,.rankingGroup td{padding:8px;border-bottom:1px solid #eee4d4;text-align:left;font-size:13px}.finalRow{border-bottom:1px solid #eee4d4}.beamer{max-width:1800px;margin:0 auto;padding:18px 28px 34px}.beamerHead{text-align:center}.beamerHead h1{font:700 clamp(34px,4vw,56px) Georgia,serif;margin:8px 0}.beamerHead>p{margin:0;color:var(--muted);font-size:18px}.countdown{max-width:1060px;margin:18px auto 14px;padding:12px 18px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:18px;background:#fffaf0;display:flex;align-items:center;justify-content:space-around;gap:12px;flex-wrap:wrap}.countdown>b{font-size:13px;color:#846b43;letter-spacing:.08em}.clock{font:700 48px Georgia,serif;letter-spacing:.04em}.beamer .beamerGroups{max-width:1600px;margin:14px auto}.beamerTable{border-top-color:var(--red)}.beamerTable:nth-child(2){border-top-color:var(--blue)}
@media(max-width:620px){.tournament,.right{align-items:flex-start;flex-direction:column}.game{grid-template-columns:70px 1fr}.gameScore{grid-column:2}.beamer{padding:12px}.countdown{justify-content:center}.clock{font-size:40px}}
.adminArea{margin-top:18px}.adminMessage{padding:10px 18px;color:var(--green);font-weight:700}.tableScroll{overflow-x:auto;padding:0 16px 18px}.adminTable{width:100%;min-width:1050px;border-collapse:collapse}.adminTable th,.adminTable td{padding:10px 9px;border-bottom:1px solid #e9dfce;text-align:left;vertical-align:middle}.adminTable th{background:#f8f2e7;color:#705d3d;font-size:12px;white-space:nowrap}.adminTable td small{display:block;color:var(--muted);font-size:11px}.adminTable select,.adminTable input{min-width:120px;padding:8px 9px;border-radius:8px;font-size:13px}.adminTable td:first-child{min-width:210px}.adminTable button{white-space:nowrap}
.nav{display:flex;align-items:center;gap:12px}.nav a{color:#635844;text-decoration:none;font-weight:700}.directory{padding-bottom:28px}.publicHero{padding:48px clamp(22px,5vw,72px);border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,#f0e5d0,#fffaf0 58%,#ede0c8);box-shadow:var(--shadow)}.publicHero h1{font:700 clamp(40px,6vw,68px)/1.04 Georgia,serif;margin:12px 0}.publicHero h1 em{color:var(--red);font-weight:500}.publicHero>p{font-size:19px;color:var(--muted)}.searchBar{display:grid;grid-template-columns:1.3fr 1fr auto;gap:10px;max-width:1000px;margin-top:27px}.searchBar input,.searchBar select{min-height:48px}.sectionTitle{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}.sectionTitle h2{margin:3px 0;font:700 29px Georgia,serif}.eventGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.eventCard{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}.eventCardTop,.eventMeta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px}.eventCard h3{margin:5px 0 0;font:700 23px Georgia,serif}.eventCard p{margin:0;color:var(--muted)}.eventPlace{font-weight:700;color:#514939!important}.formatPill{display:inline-block;border-radius:999px;padding:5px 10px;background:#e7efe2;color:#416348;font-size:12px;font-weight:800}.eventCard .btn{margin-top:auto}.center{text-align:center}.eventDetail{padding:22px}.eventDetailHead{margin-top:15px}.eventDetailHead h1{font:700 clamp(30px,5vw,48px) Georgia,serif;margin:10px 0}.eventDetailHead p{color:var(--muted)}.eventDescription{margin:22px 0;line-height:1.75}.registerBox{max-width:800px;margin:25px auto 5px;padding:22px;border-radius:16px;border:1px solid var(--line);background:#faf4e9}.registerBox h2{margin-top:0}.registerBox form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.registerBox form label:nth-child(6){grid-column:1/-1}.registerBox button{justify-self:start}.authPanel.single{display:flex;justify-content:center;min-height:auto;padding:45px 16px;background:none;border:0;box-shadow:none}.authPanel.single .authCard{width:min(520px,100%)}.linkButton{display:block;border:0;background:transparent;color:var(--blue);font:inherit;font-size:13px;font-weight:750;text-decoration:underline;cursor:pointer;margin:10px auto}.authCard .back{margin-top:14px}.checkLabel{display:flex;align-items:center;gap:10px;margin:12px 0}.checkLabel input{width:18px;height:18px}.notice{margin:14px;padding:13px 16px;border:1px solid #e3c46d;border-radius:12px;background:#fbf1d3;color:#6e5829}.editorGrid>.sectionBox>label{margin:11px 0}.adminBlock{padding:18px 20px;border-top:1px solid var(--line)}.adminBlock h3{margin:0 0 8px}.priceGrid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:10px}.adminStats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;padding:18px}.statCard{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffaf2}.statCard span{display:block;font-size:12px;color:var(--muted)}.statCard b{display:block;margin-top:5px;font-size:23px}.eventDescription p{margin:0}.back{border:0;padding:0;background:transparent;color:var(--blue);font:inherit;font-weight:700;cursor:pointer;margin-bottom:5px}
@media(max-width:1000px){.eventGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.adminStats{grid-template-columns:repeat(3,minmax(110px,1fr))}.priceGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.nav{gap:6px}.nav a{display:none}.nav .btn{padding:8px 10px;font-size:12px}.publicHero{padding:28px 18px}.publicHero h1{font-size:40px}.publicHero>p{font-size:16px}.searchBar{grid-template-columns:1fr}.eventGrid{grid-template-columns:1fr}.sectionTitle{align-items:flex-start}.registerBox{padding:15px}.registerBox form{grid-template-columns:1fr}.registerBox form label:nth-child(6){grid-column:auto}.adminStats{grid-template-columns:repeat(2,1fr)}.priceGrid{grid-template-columns:1fr}.authPanel.single{padding:24px 10px}}

/* Flexible group assignment board */
.groupOptions{grid-template-columns:repeat(3,minmax(0,1fr));margin:12px 0 18px}
.groupOptions label{align-content:start}
.teamSetup>label{margin:12px 0}
.participantActions{justify-content:flex-start;margin:12px 0 18px}
.assignmentBoard{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,2fr);gap:14px;margin:14px 0 18px;align-items:start}
.assignmentBoard:not(.is-grouped){grid-template-columns:1fr}
.assignmentBoard:not(.is-grouped) .unassignedColumn{display:none}
.groupCells{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}
.assignmentColumn{min-width:0;border:1px solid var(--line);border-radius:13px;background:#faf5eb;padding:12px}
.assignmentColumn h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;color:#5e503d}
.countPill{display:inline-flex;min-width:26px;height:25px;align-items:center;justify-content:center;border-radius:99px;background:#eee3d0;color:#5b513f;font-size:12px;padding:0 7px}
.teamCellGrid{min-height:92px;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;align-content:start;border:1px dashed #d4c4a7;border-radius:10px;padding:9px;transition:background .15s,border-color .15s}
.teamCellGrid.dragOver{background:#e9f2ec;border-color:var(--green)}
.teamCell{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 10px;border:1px solid #d8c7a9;border-radius:10px;background:#fffdf8;box-shadow:0 2px 6px #4c38200c;cursor:grab;user-select:none}
.teamCell:active{cursor:grabbing}.teamCell.dragging{opacity:.4}.teamCell b{overflow-wrap:anywhere;font-size:13px}.dragGrip{font-size:18px;color:#99896e;line-height:1}
.emptyCell{color:#9b907d;font-size:12px;padding:8px;align-self:center}
@media(max-width:900px){.assignmentBoard{grid-template-columns:1fr}.groupOptions{grid-template-columns:repeat(2,minmax(0,1fr))}.groupCells{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media(max-width:620px){.groupOptions{grid-template-columns:1fr}.groupCells{grid-template-columns:1fr}.teamCellGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.participantActions .btn{width:100%}}

/* Tournament form refinements: matched controls, canton arms and flyer cards */
select{width:100%;min-height:46px;border:1px solid #cdbb9d;border-radius:10px;padding:10px 42px 10px 12px;font:inherit;color:var(--ink);font-weight:650;background-color:#fffefa;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23766e5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;appearance:none;cursor:pointer;box-shadow:0 2px 4px #4c38200a}
select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #326b881c}
.formGrid>label select{background-color:#fffdf8;border-color:#d5c4a6}
.cantonSelectWrap{display:flex;align-items:center;gap:9px}.cantonSelectWrap select{flex:1;min-width:0}.cantonSelectWrap img{width:34px;height:34px;object-fit:contain;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}
.flyerUploadBox{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:18px;padding:16px;border:1px dashed #cdbb9d;border-radius:13px;background:#faf5eb}.flyerUploadBox h3{margin:0 0 3px}.flyerUploadBox p{margin:0 0 9px;font-size:13px}.flyerUploadBox input[type=file]{max-width:100%;padding:8px;background:#fffdf8}.flyerPreview{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;background:#fffdf8;color:var(--muted);overflow-wrap:anywhere}.flyerPreview img{width:110px;height:78px;object-fit:cover;border:1px solid var(--line);border-radius:7px}.flyerPreview a{color:var(--blue);font-weight:700}.flyerUploadBox>#flyerMessage{grid-column:1/-1}
.eventCard .flyerCardLink{display:block;max-height:180px;overflow:hidden;border-radius:10px;background:#f3eadb;text-align:center;color:var(--blue);font-weight:750}.flyerCardLink img{display:block;width:100%;height:180px;object-fit:cover}.eventAddress{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.eventFlyer{display:block;width:min(520px,100%);margin:16px 0}.eventFlyer img{display:block;width:100%;max-height:560px;object-fit:contain;object-position:left;border:1px solid var(--line);border-radius:12px;background:#fff}
.cantonBadge{display:inline-flex;vertical-align:middle;align-items:center;gap:5px;white-space:nowrap}.cantonBadge img{width:21px;height:21px;object-fit:contain;vertical-align:middle}
.gameScore{display:grid;justify-items:center;gap:6px}.scoreValues{display:flex;align-items:center;gap:5px}.manualGameTime{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.manualGameTime input{width:82px!important;text-align:center;padding:6px 7px!important;font-variant-numeric:tabular-nums}
@media(max-width:620px){.gameScore{grid-column:2;justify-items:start}.manualGameTime{font-size:12px}.manualGameTime input{width:90px!important}}
.signupPricing{margin-top:26px;padding:18px;border:1px solid #dfd0b6;border-radius:16px;background:#fffaf2}.signupPricing h2{margin:4px 0;font:700 25px Georgia,serif}.signupPricing>p{margin:3px 0 12px}.packageCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.packageCard{display:flex;min-width:0;flex-direction:column;gap:9px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fffdf8;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.packageCard:hover{border-color:#bda780;box-shadow:0 4px 12px #4c382010}.packageCard.selected{border:2px solid var(--green);padding:13px;background:#f3f8ef;box-shadow:0 3px 10px #39755818}.packageCard.unpriced{opacity:.72;cursor:not-allowed}.packageCardTop{display:flex;align-items:center;justify-content:space-between;gap:7px}.packageCardTop b{font-size:14px;line-height:1.25}.packageCardTop input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--green)}.packageCard strong{font-size:20px;line-height:1.15;color:var(--red)}.packageCard small{color:var(--muted);font-size:12px}.signupPricing .packageCard{padding:11px;gap:7px}.signupPricing .packageCard.selected{padding:10px}.signupPricing .packageCardTop b{font-size:12px}.signupPricing .packageCard strong{font-size:17px}.signupPricing .packageCard small{font-size:11px}.packageWelcome{margin:16px 0 24px}.packageWelcomeBody{padding:20px 22px 22px}.packageWelcomeBody .actions{justify-content:flex-end}.packageWelcomeMessage{margin:8px 0}
@media(max-width:900px){.packageCards{grid-template-columns:1fr 1fr}.signupPricing .packageCards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.signupPricing{margin-top:18px;padding:13px}.signupPricing .packageCards,.packageCards{grid-template-columns:1fr}.packageCard{flex-direction:row;align-items:center;justify-content:space-between}.packageCardTop{flex:1}.packageCard strong{font-size:17px}.packageCard small{min-width:80px;text-align:right}.packageWelcomeBody{padding:14px}.packageWelcomeBody .actions{flex-direction:column-reverse}.packageWelcomeBody .actions .btn{width:100%}}
.editorFooter{gap:12px;flex-wrap:wrap}.editorFooter #saveMessage{flex:1;text-align:center}
@media(max-width:620px){.flyerUploadBox{grid-template-columns:1fr}.flyerUploadBox>.btn{width:100%}.flyerPreview{grid-column:1}.editorFooter #saveMessage{flex-basis:100%;order:2}.editorFooter #saveTournamentBottom{order:3;width:100%}}

/* Tournament editor sections and shareable registration */
.editorTabs{display:flex;gap:8px;padding:14px 18px 0;border-bottom:1px solid var(--line);overflow-x:auto;background:#fffaf1}
.editorTab{flex:1;min-width:max-content;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:12px 16px;background:#f2e9d9;color:#635844;font:inherit;font-weight:750;cursor:pointer}
.editorTab.active{background:var(--green);border-color:var(--green);color:white}
.editorTabPanel{display:block}.editorTabPanel[hidden]{display:none!important}
.editorTabPanel>.sectionBox{margin:18px}
.shareTools{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:22px;margin-top:20px;padding:18px;border:1px solid #c8d9c8;border-radius:14px;background:#f1f7ef}
.shareTools h3{margin:4px 0 10px}.shareTools label{margin:8px 0 12px}.qrDownload{display:grid;justify-items:center;gap:8px}.shareTools img{width:150px;height:150px;object-fit:contain;padding:8px;border-radius:10px;background:white;border:1px solid var(--line)}
.eventActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:18px 0 0;border-top:1px solid var(--line)}
.publicRoster{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#faf5eb}
.publicRoster h2{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:19px}.publicRoster ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px 20px;margin:0;padding-left:20px}.publicRoster li{padding:4px 0}.publicRoster small{color:var(--muted);margin-left:5px}.registerBox .consent{grid-column:1/-1;display:flex;align-items:flex-start;font-weight:500}.registerBox .consent input{flex:0 0 18px;margin-top:2px}
@media(max-width:620px){.editorTabs{padding:10px 10px 0}.editorTab{padding:10px 12px;font-size:13px}.editorTabPanel>.sectionBox{margin:12px}.shareTools{grid-template-columns:1fr;text-align:left}.shareTools img{width:132px;height:132px}.publicRoster ul{grid-template-columns:1fr}}

/* Shared mobile/tablet match screen */
.tableDevice{background:linear-gradient(145deg,#efe4d1,#faf6ed 58%,#eadfc9)}
.tableShell{width:min(760px,calc(100% - 24px));margin:18px auto 36px}
.tableBrand{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 18px}.tableBrand .brand{color:var(--ink)}.tableBrand .brand b{font-size:16px}.tableBrand .brand small{display:block}.connection{font-size:13px;color:var(--green);font-weight:700}
.tableCard{padding:clamp(20px,5vw,38px);border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}
.tableCard h1{font:700 clamp(30px,6vw,46px)/1.1 Georgia,serif;margin:8px 0}.tableCard>p{margin:0 0 18px}
.tableTimer{display:grid;justify-items:center;gap:8px;margin:18px 0;padding:18px 10px;border:1px solid #b8ceb9;border-top:5px solid var(--green);border-radius:17px;background:#f0f6ec;text-align:center}
.tableTimer>span{font-size:12px;font-weight:800;letter-spacing:.12em;color:#58724e}.tableTimer strong{font:700 clamp(56px,14vw,88px)/1 Georgia,serif;letter-spacing:.06em;font-variant-numeric:tabular-nums}.tableTimer p{margin:0;color:var(--muted);min-height:24px}.tableTimer .btn{min-height:54px;padding:12px 24px;font-size:18px}
.tableVersus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#faf4e8;text-align:center}.tableVersus>div{display:grid;gap:8px;min-width:0}.tableVersus small{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted)}.tableVersus b{font-size:clamp(18px,4.4vw,30px);overflow-wrap:anywhere}.versusMark{font:700 14px Georgia,serif;color:var(--red)}
.tableResult{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fffaf1}.tableResult h2{margin:0 0 14px}.scoreInputs{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;margin-bottom:16px}.scoreInputs label{font-size:15px;text-align:center}.scoreInputs input{height:74px;text-align:center;font:700 34px Georgia,serif}.scoreInputs>b{padding-bottom:21px;font-size:24px}.tableResult .btn{min-height:56px;font-size:17px}.tableSyncNote{text-align:center;margin:20px 0 0!important;font-size:12px}.tableError{padding:24px;margin-top:16px}.tableError h1{font:700 27px Georgia,serif}.tableError p{color:var(--muted)}
.gameTools{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #eee4d4}.gameTools .btn{padding:7px 10px;font-size:13px}.tableQr{width:66px;height:66px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:white;padding:3px;margin-left:auto}
.rankingCriteria{display:grid;gap:6px;margin-top:14px}.rankingCriterion{display:grid;grid-template-columns:34px minmax(150px,1fr) auto auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:#fffaf1}.rankPosition{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e5eddf;color:#486446;font-weight:800}.rankCheck{display:flex;align-items:center;gap:6px;white-space:nowrap;font-weight:600}.rankCheck input{width:17px;height:17px}.rankMoves{display:flex;gap:2px}.rankMoves .btn{padding:4px 10px}.rankMoves .btn:disabled{opacity:.35;cursor:default}
.rankingCriterion.rankingDisplayOnly{grid-template-columns:34px minmax(150px,1fr) auto minmax(170px,auto);color:var(--muted)}
.beamerSettingsGrid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:2px 18px;margin:10px 0 18px}.beamerSettingsGrid .checkLabel{margin:7px 0}
.settingsDisclosure{padding:0;overflow:hidden}.settingsDisclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;list-style:none;cursor:pointer;font-size:21px;font-weight:800}.settingsDisclosure>summary::-webkit-details-marker{display:none}.disclosureIcon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:24px;line-height:1;transition:transform .15s}.settingsDisclosure[open] .disclosureIcon{transform:rotate(180deg)}.settingsDisclosureContent{display:grid;gap:14px;padding:0 20px 20px}.settingsPane h3{margin:0 0 6px}.settingsPane h4{margin:12px 0 5px}.settingsPane+.settingsPane{border-top:1px solid var(--line);padding-top:15px}
@media(max-width:900px){.beamerSettingsGrid{grid-template-columns:repeat(2,minmax(170px,1fr))}}@media(max-width:620px){.beamerSettingsGrid{grid-template-columns:1fr}}
@media(max-width:620px){.tableShell{width:calc(100% - 16px);margin:8px auto 20px}.tableBrand{padding:8px 4px 12px}.tableCard{padding:18px 14px;border-radius:17px}.tableVersus{padding:13px 7px;gap:5px}.scoreInputs{gap:7px}.scoreInputs input{height:68px}.gameTools .muted{font-size:12px}.tableQr{width:54px;height:54px}.rankingCriterion{grid-template-columns:28px 1fr auto;gap:7px}.rankingCriterion .rankCheck{font-size:12px}.rankingCriterion .rankMoves{grid-column:2/-1;justify-self:end}.rankingCriterion.rankingDisplayOnly{grid-template-columns:28px 1fr auto}.rankingCriterion.rankingDisplayOnly .muted{grid-column:2/-1}}

/* Flexible offers and promotional pricing */
.offerBadge{display:inline-flex;align-self:flex-start;padding:4px 9px;border-radius:999px;background:#fae8df;color:#a84135;font-size:11px;font-weight:800;font-style:normal}.packageCard del{color:#8c8374;font-size:13px}.packageCard small{line-height:1.35}.offerAdminGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.offerAdminCard{min-width:0;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fffaf2}.offerAdminCardTop{display:flex;align-items:center;gap:12px;margin-bottom:12px}.offerAdminCardTop>b{margin-right:auto}.offerToggle{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px}.offerToggle input{width:17px;height:17px}.removeOffer{border:1px solid #e5b1a9;border-radius:8px;padding:6px 9px;color:var(--red);background:#fff4f1;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.offerAdminFields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offerAdminFields label{font-size:12px}.offerAdminFields input,.offerAdminFields select{font-size:13px;min-height:40px;padding:8px 10px}.offerAdminHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.offerAdminHeading h4{margin:0}.offerAdminHeading p{margin:3px 0}.offerAdminSave{display:flex;justify-content:flex-end;margin-top:14px}.packageWelcome .packageCards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media(max-width:900px){.offerAdminGrid{grid-template-columns:1fr}}
@media(max-width:620px){.offerAdminCardTop{flex-wrap:wrap}.offerToggle{order:3;width:100%}.offerAdminFields{grid-template-columns:1fr}.offerAdminHeading{align-items:flex-start;flex-direction:column}.offerAdminHeading .btn,.offerAdminSave .btn{width:100%}.packageWelcome .packageCards{grid-template-columns:1fr}}

/* Individual team and player entry cells */
.participantEntry{margin:12px 0 0}.participantEntryHead{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.participantEntryHead>label{font-size:13px}.participantInputGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.participantInputCell{display:grid;grid-template-columns:30px minmax(0,1fr) 34px;align-items:center;gap:7px;padding:6px;border:1px solid #d8c7a9;border-radius:11px;background:#fffdf8}.participantInputCell input{min-width:0;min-height:40px;border:0;background:transparent;padding:7px 5px;font-weight:650}.participantInputCell input:focus{border:0;box-shadow:none;outline:0}.participantIndex{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#efe5d4;color:#73634b;font-size:12px;font-weight:800}.removeParticipant{width:32px;height:32px;border:1px solid #ead8d1;border-radius:9px;background:#fff7f4;color:var(--red);font-size:21px;line-height:1;cursor:pointer}.removeParticipant:hover{background:#f9e6e0}.addParticipant{margin-top:9px}.participantActions{margin-top:12px}
@media(max-width:1000px){.participantInputGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.participantInputGrid{grid-template-columns:1fr}.participantEntryHead{align-items:flex-start;flex-direction:column;gap:2px}.addParticipant{width:100%}}

/* Table result flow and scan-to-enlarge QR */
.tableTimer .tableStop{background:var(--red);border-color:var(--red);color:#fff}.tableTimer .tableStop:hover{background:var(--red2)}.tableTimer .tableStop:disabled{opacity:.6;cursor:wait}.tableQrButton{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:10px;background:transparent;cursor:zoom-in;margin-left:auto}.tableQrButton:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.tableQrButton .tableQr{display:block;margin:0;transition:transform .15s ease}.tableQrButton:hover .tableQr{transform:scale(1.06)}.qrDialog{position:fixed;width:min(440px,calc(100% - 28px));max-width:none;max-height:calc(100% - 28px);padding:34px 28px 22px;border:1px solid var(--line);border-radius:20px;background:#fffdf8;color:var(--ink);box-shadow:0 18px 64px #1b191555;text-align:center}.qrDialog::backdrop{background:#171612b8}.qrDialog img{display:block;width:min(330px,72vw);height:auto;aspect-ratio:1;margin:0 auto;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.qrDialog p{margin:12px 0 0;color:var(--muted);font-weight:700}.qrDialogClose{position:absolute;top:8px;right:10px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#f7efe1;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.tableLoading{display:block;margin:16px 0;padding:22px;text-align:center}.tableLoading p{margin:4px 0 0;color:var(--muted)}

/* Persistent assignment of mobile table devices to individual boards */
.boardDevices{margin:14px 0 18px;padding:0;border:1px solid #c8d9c8;border-radius:14px;background:#f1f7ef}.boardDevicesAccordion>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;cursor:pointer;list-style:none}.boardDevicesAccordion>summary::-webkit-details-marker{display:none}.boardDevicesAccordion>summary::before{content:'›';order:2;margin-left:4px;color:#486446;font-size:24px;font-weight:700;transform:rotate(0);transition:transform .15s}.boardDevicesAccordion[open]>summary::before{transform:rotate(90deg)}.boardDevicesSummaryText{display:grid;gap:2px}.boardDevicesSummaryText>b{font-size:15px}.boardDevicesSummaryText>small{color:var(--muted);font-size:12px}.boardDevicesSummaryCount{margin-left:auto;padding:5px 10px;border-radius:999px;background:#e4eddf;color:#486446;font-size:12px;font-weight:800}.boardDevicesBody{padding:0 15px 15px}.boardDevicesHint{margin:0;color:var(--muted);font-size:13px}.boardDevicesIntro{display:flex;align-items:center;justify-content:space-between;gap:14px}.boardDevicesIntro>b,.boardDevicesIntro>div>b{font-size:15px}.boardDevicesIntro p{margin:3px 0 0;color:var(--muted);font-size:13px}.boardDeviceGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}.boardDeviceCard{display:grid;justify-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.boardDeviceCard>b{font-size:14px}.boardDeviceCard .tableQrButton{margin:0}.boardDeviceCard .tableQr{width:104px;height:104px}.boardDeviceCard .btn{width:100%;padding:8px 10px;font-size:12px}.tableBoardBadge{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:6px 11px;border-radius:999px;background:#e5eddf;color:#486446;font-weight:800}
@media(max-width:620px){.boardDevicesIntro{align-items:stretch;flex-direction:column}.boardDevicesIntro .btn{width:100%}.boardDeviceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.boardDeviceCard .tableQr{width:86px;height:86px}}
.gameRoundTabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.gameRoundTab{min-height:42px;padding:8px 15px;border:1px solid var(--line);border-radius:12px;background:#f1e8d7;color:#514939;font:inherit;font-size:14px;font-weight:750;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.gameRoundTab:hover{border-color:var(--blue);color:var(--blue)}.gameRoundTab.active{border-color:var(--blue);background:var(--blue);color:#fff}.gameRoundTab:focus-visible{outline:3px solid #326b8838;outline-offset:2px}
.gameStatus{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border-radius:999px;background:#f1e8d7;font-size:13px;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums}.gameStatus.isRunning{background:#e4f0e5;color:#286241}.gameStatus.isExpired{background:#fae5e1;color:#9b332b}.gameStatus.isStopped{background:#e8edf0;color:#3d5965}
.resumeTimerButton{border-color:#b6cfb5;background:#edf5ea;color:#355d3a}.resumeTimerButton:hover{border-color:#7fa77b;background:#e2efdf}

.adminTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 20px 0;border-top:1px solid var(--line)}.adminTab{min-height:54px;padding:11px 14px;border:1px solid var(--line);border-radius:13px 13px 0 0;background:#f1e8d7;color:#62543d;font:inherit;font-weight:800;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.adminTab:hover{border-color:var(--green);color:var(--green)}.adminTab.active{border-color:var(--green);background:var(--green);color:#fff}.adminTab:focus-visible{outline:3px solid #326b8838;outline-offset:2px}.adminTabPanels{padding:0 20px 20px}.adminTabPanel{margin:0;padding:20px;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;background:var(--card)}.adminTabPanel[hidden]{display:none}.adminTabPanel h3{margin:0 0 8px}.adminSubheading{margin:25px 0 8px!important;padding-top:18px;border-top:1px solid var(--line)}@media(max-width:1000px){.adminTabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.adminTabs{grid-template-columns:1fr;padding:12px 12px 0}.adminTabPanels{padding:0 12px 12px}.adminTab{min-height:48px;border-radius:11px}.adminTabPanel{padding:15px}}

.organizerActions{display:flex;align-items:center;gap:8px}.organizerActions .btn{padding:9px 12px}.organizerActions .btn:disabled{cursor:not-allowed;opacity:.48;transform:none;box-shadow:none}
.adminSupportDialog{width:min(1180px,calc(100% - 30px));max-width:none;max-height:90vh;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--card);color:var(--ink);box-shadow:0 18px 64px #1b191555}.adminSupportDialog::backdrop{background:#171612b8}.adminSupportHeader{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);background:#f8f2e7}.adminSupportHeader h2{margin:2px 0;font:700 27px Georgia,serif}.adminSupportHeader p{margin:0;font-size:13px}.adminSupportBody{max-height:calc(90vh - 108px);overflow:auto;padding:20px}.supportTournament{margin:0 0 12px;border:1px solid var(--line);border-radius:13px;background:#fffdf8;overflow:hidden}.supportTournament>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;background:#f8f2e7}.supportTournament>summary b{font-size:17px}.supportTournament>summary span{color:var(--muted);font-size:13px}.supportTournamentBody{padding:16px}.supportTournamentBody h4{margin:20px 0 9px}.supportInfoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.supportInfoGrid>div{min-width:0;padding:10px 12px;border:1px solid #eee3d1;border-radius:10px;background:#fffaf2}.supportInfoGrid small,.supportInfoGrid b{display:block}.supportInfoGrid small{color:var(--muted);font-size:11px}.supportInfoGrid b{overflow-wrap:anywhere;font-size:13px}.supportInfoGrid .supportWide{grid-column:1/-1}.supportGroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.supportGroup{padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf4e9}.supportGroup p{margin:5px 0 0;color:var(--muted);overflow-wrap:anywhere}.supportGames{min-width:740px}.supportRaw{margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#faf4e9}.supportRaw summary{font-weight:750;cursor:pointer}.supportRaw pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.supportDescription{white-space:pre-wrap;overflow-wrap:anywhere}
.adminSupportBanner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;border-bottom:1px solid #c9dec7;background:#eff7ed;color:#315a3c}.adminSupportBanner>div{display:grid;gap:3px}.adminSupportBanner span{font-size:14px}.supportEditActions{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:12px;border:1px solid #c9dec7;border-radius:11px;background:#f2f8f0}.supportEditActions .muted{font-size:13px}
@media(max-width:760px){.adminSupportHeader{align-items:flex-start;flex-direction:column}.adminSupportHeader .btn{align-self:flex-end}.adminSupportBody{max-height:calc(90vh - 145px);padding:12px}.supportTournament>summary{align-items:flex-start;flex-direction:column}.supportInfoGrid,.supportGroups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.adminSupportBanner{align-items:flex-start;flex-direction:column;padding:14px}.supportEditActions{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.supportInfoGrid,.supportGroups{grid-template-columns:1fr}.supportInfoGrid .supportWide{grid-column:auto}.adminSupportHeader{padding:14px}}
.eventDetailHero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:30px;align-items:stretch;margin-top:14px}.eventDetailInfo{min-width:0}.eventDetailHead{margin:0}.eventDetailHead h1{overflow-wrap:anywhere}.eventFlyerPane{display:grid;align-items:center;justify-items:stretch;min-height:340px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#faf4e9}.eventFlyerButton{position:relative;display:grid;place-items:center;width:100%;height:100%;min-height:320px;max-height:570px;padding:0;overflow:hidden;border:0;border-radius:10px;background:#eee5d6;cursor:zoom-in}.eventFlyerButton img{display:block;width:100%;height:100%;max-height:570px;object-fit:contain}.eventFlyerButton span{position:absolute;right:9px;bottom:9px;padding:6px 10px;border-radius:999px;background:#302d27d9;color:white;font-size:12px;font-weight:750}.eventFlyerPdf{justify-self:center}.eventFlyerPlaceholder{display:grid;place-items:center;min-height:320px;padding:24px;border:1px dashed #cdbb9d;border-radius:10px;color:var(--muted);text-align:center}.eventActions{align-items:center;justify-content:space-between}.eventShareButtons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eventShareButtons>b{margin-right:4px}.shareWhatsApp{background:#eaf6ed!important;border-color:#b9d8c0!important;color:#286b39!important}.flyerZoomDialog{position:relative;width:min(94vw,1400px);max-width:94vw;max-height:94vh;padding:48px 16px 12px;border:1px solid #ffffff40;border-radius:16px;background:#26241f;color:#fff;box-shadow:0 18px 64px #0008;text-align:center}.flyerZoomDialog::backdrop{background:#171612d9}.flyerZoomDialog img{display:block;max-width:100%;max-height:calc(94vh - 95px);margin:0 auto;object-fit:contain}.flyerZoomDialog p{margin:8px 0 0}.flyerZoomClose{position:absolute;top:8px;right:10px;width:38px;height:38px;border:1px solid #ffffff66;border-radius:50%;background:#ffffff18;color:#fff;font-size:28px;line-height:1;cursor:pointer}
@media(max-width:760px){.eventDetailHero{grid-template-columns:1fr;gap:16px}.eventFlyerPane{min-height:260px}.eventFlyerButton,.eventFlyerPlaceholder{min-height:260px}.eventActions{align-items:stretch;flex-direction:column}.eventShareButtons{justify-content:flex-start}.eventActions>.btn{align-self:flex-start}}
@media(max-width:480px){.eventShareButtons{display:grid;grid-template-columns:1fr 1fr;width:100%}.eventShareButtons>b{grid-column:1/-1}.eventShareButtons .btn{width:100%;text-align:center;padding:9px 8px;font-size:13px}.eventActions>.btn{width:100%}.eventFlyerPane{min-height:230px;padding:7px}.eventFlyerButton,.eventFlyerPlaceholder{min-height:230px}}
.eventShareButtons .btn,.eventActions>.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.shareIcon{display:block;width:19px;height:19px;flex:0 0 19px}.lineIcon{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.whatsappIcon,.facebookIcon{border-radius:50%}.eventShareButtons .btn:hover .shareIcon,.eventActions>.btn:hover .shareIcon{transform:scale(1.06)}
.bankTransferDetails{margin:14px 0;padding:20px;border:1px solid #c9dec7;border-radius:15px;background:#f2f8f0}.bankTransferDetails h3{margin:0 0 8px;color:#315a3c}.bankTransferDetails dl{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:7px 15px;margin:16px 0}.bankTransferDetails dt{color:var(--muted);font-weight:700}.bankTransferDetails dd{margin:0;overflow-wrap:anywhere}.paymentIban,.paymentReference{font-family:ui-monospace,Consolas,monospace;font-size:1.05em;letter-spacing:.035em}.bankSettingsForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;margin:12px 0;border:1px solid var(--line);border-radius:14px;background:#fffaf2}.bankSettingsForm .bankInstructions{grid-column:1/-1}.bankSettingsForm button{align-self:end;justify-self:start}.bankSettingsForm textarea{min-height:70px}
@media(max-width:600px){.bankTransferDetails{padding:14px}.bankTransferDetails dl{grid-template-columns:1fr;gap:3px}.bankTransferDetails dd{margin-bottom:8px}.bankSettingsForm{grid-template-columns:1fr}.bankSettingsForm .bankInstructions{grid-column:auto}.packageWelcomeBody>.actions{align-items:stretch;flex-direction:column}.packageWelcomeBody>.actions .btn{width:100%}}
/* Email confirmation and clear post-registration instructions. */
.confirmationPage{max-width:760px;margin:70px auto;padding:0 18px}
.confirmationBody{padding:28px;line-height:1.65}
.confirmationPage h1{font-size:clamp(26px,5vw,40px)}
.registrationConfirmationNotice{background:#edf5eb;color:#285c3d;border:1px solid #b9d2b4;border-radius:14px;padding:20px;margin-top:20px;font-weight:600;line-height:1.6}

.paymentSlipDetails h3{margin-top:0}.paymentSlipSummary{display:flex;flex-wrap:wrap;gap:18px 44px;margin:22px 0}.paymentSlipSummary span{display:block;color:var(--muted);font-size:14px}.paymentSlipSummary strong{display:block;font-size:21px}.paymentSlipPreview{display:block;max-width:1050px;margin:24px auto;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.paymentSlipPreview img{display:block;width:100%;height:auto}.paymentSlipDetails .actions{gap:12px;flex-wrap:wrap}.paymentSlipDetails .actions a{text-decoration:none;text-align:center}.paymentSlipDetails .muted{margin-bottom:0}@media(max-width:600px){.paymentSlipDetails .actions a{width:100%}.paymentSlipSummary strong{font-size:18px}}

.profileDialog{width:min(620px,calc(100vw - 32px));padding:0;border:1px solid var(--border,#d9c5a5);border-radius:22px;background:#fffaf1;color:#332f26}.profileDialog::backdrop{background:rgba(35,31,25,.55)}.profileBody{padding:24px}.profileNotification{display:flex;gap:12px;align-items:flex-start;font-weight:700}.profileNotification input{width:22px;height:22px;flex:0 0 22px;accent-color:#39765a}.profileDialog .actions{margin-top:20px}.profileDialog #profileIdentity{overflow-wrap:anywhere}

/* Per-tournament reminder settings. */
.reminderSettings{margin:20px 0;padding:20px;border:1px solid var(--line,#dfc9a9);border-radius:16px;background:#f5f8f0}.reminderSettings h3{margin:0 0 14px}.reminderSettings fieldset{padding:0;border:0;margin:18px 0 0;min-width:0}.reminderSettings legend{font-weight:700;padding:0;margin-bottom:12px}.reminderOptions{display:flex;flex-wrap:wrap;gap:10px}.reminderOptions .checkLabel{margin:0;padding:12px 16px;border:1px solid var(--line,#dfc9a9);border-radius:12px;background:#fffaf2;cursor:pointer}.reminderOptions .checkLabel:has(input:checked){border-color:#39765a;background:#e6f0e5}.reminderSettings input{accent-color:#39765a}.reminderSettings fieldset:disabled{opacity:.55}.reminderSettings fieldset:disabled label{cursor:default}.reminderSettings .muted{margin:14px 0 0;line-height:1.55}@media(max-width:600px){.reminderSettings{padding:16px}.reminderOptions .checkLabel{flex:1 1 140px}}

/* Expanded account profile, matching the tournament tabs. */
.profileDialog{width:min(900px,calc(100vw - 32px));max-height:90vh;overflow:auto}.profileDialog>.panelHead{position:sticky;top:0;z-index:2;background:#f7f1e6}.profileDialog h2{margin:4px 0}.profileTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0 24px}.profileTabs button{padding:14px 10px;border:1px solid var(--line,#dfc9a9);border-radius:12px;background:#f2e9d8;color:#5d5443;font:inherit;font-weight:700;cursor:pointer}.profileTabs button[aria-selected=true]{background:#39765a;border-color:#39765a;color:white}.profileTabs button:focus-visible{outline:3px solid #326c86;outline-offset:2px}.profileContactGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profileContactGrid .profileWide{grid-column:1/-1}.profileContactGrid label,.profilePasswordForm label{display:flex;flex-direction:column;gap:7px}.profileContactGrid input,.profilePasswordForm input{width:100%;box-sizing:border-box}.profileContactGrid input[readonly]{background:#f2eee5;color:#625b4e}.profileContactGrid small{font-weight:400;line-height:1.5}.profilePasswordForm{display:grid;gap:16px;max-width:580px}.profilePasswordForm .muted{margin:0}.profileAccountInfo{margin-bottom:20px;line-height:1.7}.profileSubscriptionCard{padding:18px;margin:14px 0;border:1px solid var(--line,#dfc9a9);border-radius:14px;background:#fffaf2}.profileSubscriptionCard h4{margin:0;font-size:19px}.profileSubscriptionCard header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.profileSubscriptionCard dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 0}.profileSubscriptionCard dt{color:var(--muted,#7b7466);font-size:14px}.profileSubscriptionCard dd{margin:4px 0 0;font-weight:700}.profileStatus{padding:6px 12px;border-radius:30px;background:#ece4d5;font-weight:700;font-size:14px}.profileStatus.active{background:#e3efdf;color:#2d674a}.profileStatus.expired{background:#f7e1db;color:#a13c31}.profileBody>p:first-child{overflow-wrap:anywhere}.profileDialog [role=tabpanel]>h3{margin-top:0}.profileBody [role=status]:empty{display:none}@media(max-width:620px){.profileBody{padding:18px}.profileTabs{grid-template-columns:1fr 1fr}.profileTabs button{font-size:14px;padding:12px 8px}.profileContactGrid{grid-template-columns:1fr}.profileContactGrid .profileWide{grid-column:auto}.profileSubscriptionCard dl{grid-template-columns:1fr}.profileDialog .panelHead{padding:18px}}

/* Runden: uses the existing form and button design. */
#roundCountField small{font-weight:400;line-height:1.5;color:var(--muted);margin-top:8px} .roundProgress{margin:16px 20px} #nextSwissRound:disabled{opacity:.55;cursor:not-allowed}

/* Dog Arena: one recognisable identity across the portal and table devices. */
.brandLogo{color:var(--ink);text-decoration:none;letter-spacing:normal;min-width:0;flex-shrink:0}
.brandLogo:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:10px}
.dogArenaLogo{display:block;width:156px;height:auto;aspect-ratio:3/2;object-fit:contain;flex-shrink:0}
.brandDescriptor{font-size:12px;font-weight:750;line-height:1.5;color:var(--green);letter-spacing:.02em}
.masthead{gap:18px;padding-top:8px;padding-bottom:8px}
.masthead .nav{flex-wrap:wrap;justify-content:flex-end}
.masthead .who{overflow-wrap:anywhere;min-width:0}
.beamerBrand{justify-content:center;gap:18px}
.beamerBrand .dogArenaLogo{width:126px}
.beamerBrand .brandDescriptor{font-size:15px}
.tableBrand{gap:16px}
.tableBrand .dogArenaLogo{width:108px}
.tableBrand .connection{text-align:right;overflow-wrap:anywhere}
.confirmationHead{justify-content:flex-start;gap:24px}
.confirmationHead .dogArenaLogo{width:132px}
.confirmationHead h1{margin:8px 0 0}
@media(max-width:760px){.masthead .brandDescriptor{display:none}.masthead .dogArenaLogo{width:132px}.masthead .nav{gap:8px}.masthead .nav .btn{padding:10px 12px}.masthead .nav a,.masthead .nav .btn{font-size:14px}}
@media(max-width:480px){.masthead{flex-wrap:wrap;justify-content:center;gap:8px 12px}.masthead .brandLogo{margin-inline:auto}.masthead .nav{width:100%;justify-content:center}.masthead .who{max-width:100%;text-align:center}.tableBrand .brandLogo{gap:8px}.tableBrand .dogArenaLogo{width:90px}.tableBrand .brandDescriptor{font-size:11px}.beamerBrand{gap:10px}.beamerBrand .dogArenaLogo{width:102px}.beamerBrand .brandDescriptor{font-size:13px}.confirmationHead{gap:12px}}

.confirmationScreen{display:flow-root}
