/* Wrap controls into the available width; tables become labelled cards on smaller screens. */
*,*::before,*::after{box-sizing:border-box}
.admin-shell,.admin-content,#manageBody,#editor{min-width:0;max-width:100%}
.admin-menu{min-width:0}.admin-menu button,.admin-menu a{white-space:normal;overflow-wrap:anywhere}
.table-scroll{overflow:visible!important}.admin-content .table{min-width:0!important;width:100%;table-layout:fixed}
.admin-content .table td,.admin-content .table th{white-space:normal!important;overflow-wrap:anywhere;padding:12px 7px}
.admin-content .table .btn{white-space:normal!important;max-width:100%}
.admin-content input,.admin-content select,.admin-content textarea,.admin-content pre{max-width:100%;min-width:0}
.admin-content pre{white-space:pre-wrap;overflow-wrap:anywhere}
.qr-row-result,.qr-downloads{flex-wrap:wrap!important;white-space:normal!important;min-width:0;max-width:100%}
.qr-row-result img{width:96px;height:96px;flex-basis:96px}.qr-downloads{flex:1 1 230px}.qr-downloads a:last-child{white-space:normal!important}
.qr-table th:first-child{width:18%}.qr-table th:nth-child(2){width:17%}.qr-table th:last-child{width:65%}
.service-table th:first-child{width:21%}.service-table .btn{font-size:12px;padding:8px 10px}
.edition-picker select{min-width:0;max-width:100%}.hours-time-row input{max-width:100%}
#routeInfoMap.live-map-widget,.ruta-map-wrap.live-map-widget{height:auto!important;min-height:0!important;overflow:visible!important}
.admin-menu{display:flex;flex-direction:column;gap:8px}.admin-menu button{min-height:42px}
.game-board-art{width:100%;max-width:780px;margin:auto}.game-board-art svg{display:block;width:100%;height:auto;max-height:75vh}
.game-board-caption{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:10px 0;text-align:center}
.game-stars{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.game-star{font-size:27px;color:#8b7263}.game-star.earned{color:#ffb332}
#participaBoard{height:auto!important;min-height:580px;flex-direction:column;position:relative;padding:15px 5px}
#participaBoard .board-close{z-index:3;min-width:38px;min-height:38px}
#boardProgress{width:100%;min-width:0}.game-floor{fill:#f59c32!important;fill-opacity:.72;stroke:#f7f1eb;stroke-width:1}
body.route-account main{display:block}
body.route-account .account-legacy-card{margin-left:auto;margin-right:auto}
.participant-account.account-legacy-card{width:100%!important;max-width:1220px!important;margin:20px auto;background:transparent!important;color:#fff;padding:0!important;box-shadow:none;border-radius:0!important}
.participant-medals-panel{background:#eee;color:#171717;border-radius:30px;padding:30px;max-width:800px;margin:0 auto 42px;text-align:center}
.participant-medals-panel h1{font-size:30px;font-style:italic;color:#111;margin:0 0 24px}
.participant-medals-panel>.btn{width:100%;margin-top:24px;min-height:44px}
.participant-medals{display:flex;justify-content:center;align-items:start;gap:22px;flex-wrap:wrap}
.participant-medal{display:flex;flex-direction:column;align-items:center;width:100px;text-decoration:none;position:relative;color:#111;min-width:0}
.medal-ribbon{height:23px;width:42px;background:linear-gradient(65deg,transparent 25%,#eee 26%,#111 28%,#fff 31%,#111 34%,#eee 36%,#111 39%,transparent 40%),linear-gradient(-65deg,transparent 25%,#eee 26%,#111 28%,#fff 31%,#111 34%,#eee 36%,#111 39%,transparent 40%)}
.medal-face{border:4px double #111;border-radius:50%;width:67px;height:67px;background:#100e0b;display:flex;align-items:center;justify-content:center;position:relative}
.medal-face::before,.medal-face::after{content:'❧';font-size:32px;color:#111;position:absolute;top:12px}.medal-face::before{left:-23px;transform:rotate(60deg)}.medal-face::after{right:-23px;transform:rotate(-60deg) scaleX(-1)}
.medal-face img{width:50px;height:50px;object-fit:contain;border-radius:50%;background:#111}.medal-face b{color:#ff9829;font-size:18px}.participant-medal small{font-size:11px;line-height:1.35;margin-top:7px;overflow-wrap:anywhere}
.participant-account-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:start}
.participant-account-menu{display:grid;gap:8px;background:#eee;border-radius:28px;padding:25px;color:#d96700;min-width:0}.participant-account-menu>strong{text-align:center;margin:12px 0;overflow-wrap:anywhere;line-height:1.5;min-width:0}
.participant-account-menu .btn{padding:10px;border:0;white-space:normal;text-align:left;background:transparent;color:#c45c00}
#participantSettings{min-width:0;text-align:left}#participantSettings h2{font-size:25px;color:#ff992d}#participantSettings label{display:block;margin:15px 0;font-size:14px}#participantSettings .legacy-input{width:100%;max-width:100%;margin:6px 0 0!important;color:#111}
#participantSettings button{max-width:100%;white-space:normal}#participantSettings form{min-width:0}
@media(max-width:1239px){
 .admin-shell{grid-template-columns:1fr!important;gap:18px}.admin-menu{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important;white-space:normal!important;position:static!important}
 .admin-menu>*{min-width:0;margin:0!important}.admin-menu button{width:100%;padding:10px;font-size:13px}
 .site-header{flex-wrap:wrap}#menuToggle{display:block!important}#nav{display:none!important;min-width:0;width:100%;height:auto;flex-wrap:wrap;position:static!important}#nav.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important}#nav>a{min-width:0;margin:0!important;white-space:normal!important}
 .admin-content .table,.admin-content .table tbody{display:block!important}.admin-content .table tr[data-header-row]{display:none!important}
 .admin-content .table tr:not([data-header-row]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:18px 12px;margin:14px 0;border:1px solid #ddd;border-radius:10px;background:#fff}
 .admin-content .table td{display:block;padding:5px;min-width:0;border:0}.admin-content .table td::before{content:attr(data-label);display:block;font-weight:bold;font-size:12px;color:#665343;margin-bottom:6px}
 .admin-content .qr-table td:last-child{grid-column:1/-1}.participant-account-grid{gap:24px;grid-template-columns:220px minmax(0,1fr)}
}
@media(max-width:600px){
 .admin-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content{padding:18px 12px!important}.admin-content .table tr:not([data-header-row]){grid-template-columns:minmax(0,1fr);padding:12px}.admin-content .qr-table td:last-child{grid-column:auto}
 .participant-account-grid{grid-template-columns:minmax(0,1fr);gap:20px}.participant-account-menu{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;border-radius:18px}.participant-account-menu>strong{grid-column:1/-1}.participant-account-menu>*{min-width:0}
 .participant-medals-panel{padding:24px 14px;border-radius:24px}.participant-medals-panel h1{font-size:26px}.participant-medals{gap:15px}.participant-medal{width:85px}.calendar-date{flex-wrap:wrap}
 #participaBoard{min-height:0}#participaBoard.open{height:auto!important;max-height:none!important}.game-board-art svg{max-height:none}.allergens-edit-item{grid-template-columns:24px minmax(0,1fr)}.allergens-edit-item select{grid-column:1/-1;width:100%}
}
