/*
 * UltraDarts responsive system
 * Shared, final-loaded guardrails for Play, Pro, Control, Auth and public pages.
 * Page-specific styles keep their visual identity; this layer guarantees that
 * every surface remains readable and operable across viewport sizes.
 */

:root{
    --ud-rs-touch:44px;
    --ud-rs-gutter:clamp(14px,3vw,40px);
    --ud-rs-safe-bottom:max(0px,env(safe-area-inset-bottom));
    --ud-rs-safe-left:max(0px,env(safe-area-inset-left));
    --ud-rs-safe-right:max(0px,env(safe-area-inset-right));
}

html{
    min-width:0;
    max-width:100%;
    min-height:100%;
    overflow-x:clip;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body{
    min-width:0;
    max-width:100%;
    min-height:100vh;
    min-height:100dvh;
    overflow-x:clip;
}

*,*::before,*::after{box-sizing:border-box}

:is(main,section,article,aside,header,footer,nav,form,fieldset,div){min-width:0}
:is(img,svg,video,canvas,iframe){max-width:100%;height:auto}
:is(h1,h2,h3,h4,p,li,strong,small,span,a,button,label,td,th){
    overflow-wrap:break-word;
    word-break:normal;
}
:is(code,pre,.terminal-technical-id,[data-break-anywhere]){overflow-wrap:anywhere}
:is(input,select,textarea,button){max-width:100%;font:inherit}
:is(input,select,textarea){min-width:0}

/* Accessible touch and keyboard interaction without enlarging compact desktop UIs. */
@media (pointer:coarse){
    :is(button,[role="button"],input,select,.button,.bb-button,.ud-button,.udp-primary,.udp-primary-link,.udp-secondary-link,.counter-action){
        min-height:var(--ud-rs-touch);
    }
}

:focus-visible{
    outline:3px solid rgba(229,168,18,.5);
    outline-offset:2px;
}

/* Tables are allowed to scroll inside their own region, never the whole page. */
:is(.table-wrap,.stats-table-wrap,.udp-standings-wrap,.cc-table-wrap,.cc-data-table,.udp-panel):has(table){
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
}
table{max-width:100%}

/* PLAY ------------------------------------------------------------------ */
.ud-app-play .bb-workspace,
.ud-app-play .bb-main,
.ud-app-play .bb-main-inner{min-width:0;max-width:100%}

.ud-app-play .bb-main-inner{
    width:min(1440px,100%)!important;
    padding:clamp(24px,3vw,48px) clamp(20px,3.5vw,56px) calc(104px + var(--ud-rs-safe-bottom))!important;
}

.ud-app-play :is(.bb-page-header,.pagehead,.ops-head,.context-header,.profile-head,.stats-header,.ms-header,.location-command-head){
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}

.ud-app-play :is(.actions,.bb-page-actions,.profile-actions,.ms-header-actions,.ud-location-card-actions){
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.ud-app-play :is(.stats-table-wrap,.table-wrap){
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
}

.ud-app-play :is(.remote-grid,.ud-location-grid,.ops-summary-grid,.device-explanation-grid,.stats-grid,.location-module-grid,.game-start-grid,.equipment-grid,.people-actions-grid,.location-terminal-grid,.display-device-list,.form-grid,.display-form-grid,.settings-grid)>*{
    min-width:0;
}

.ud-app-play :is(.button,.bb-button,.ud-button,.ms-button){
    min-height:44px;
    white-space:normal;
}

.ud-app-play .bb-bottom-nav{
    padding-bottom:var(--ud-rs-safe-bottom);
    padding-left:var(--ud-rs-safe-left);
    padding-right:var(--ud-rs-safe-right);
}

.ud-app-play :is(.bb-toast,.ud-remote-global){
    max-width:calc(100vw - 2 * var(--ud-rs-gutter));
}

/* PRO ------------------------------------------------------------------- */
.udp-body .udp-shell,.udp-body .udp-workspace,.udp-body .udp-main{min-width:0;max-width:100%}
.udp-body .udp-main{padding-bottom:calc(70px + var(--ud-rs-safe-bottom))}
.udp-body :is(.udp-pagehead,.udp-page-head,.udp-panel-head,.udp-club-row,.udp-request-row,.udp-form-actions,.udp-card-actions){
    min-width:0;
}
.udp-body :is(input,select,textarea){min-width:0;max-width:100%}
.udp-body .udp-mobile-nav-toggle,
.udp-body .udp-mobile-nav-backdrop{display:none}
.udp-body .udp-sidebar{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(217,165,32,.42) transparent;
}
.udp-body .udp-sidebar::-webkit-scrollbar{width:6px}
.udp-body .udp-sidebar::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(217,165,32,.42);
}
.udp-body .udp-nav-more:not([open])>div{display:none!important}
.udp-body .udp-nav a,
.udp-body .udp-nav-more summary,
.udp-body .udp-nav-more>div a,
.udp-body .udp-pro-command-trigger,
.udp-body .udp-sidebar-account-link,
.udp-body .udp-sidebar-foot button{
    min-height:var(--ud-rs-touch)!important;
}
.udp-body .udp-sidebar-foot button{min-width:var(--ud-rs-touch)!important}

/* CONTROL --------------------------------------------------------------- */
.cc-body .cc-shell,.cc-body .cc-workspace,.cc-body .cc-main{min-width:0;max-width:100%}
.cc-body :is(.cc-panel,.cc-card,.cc-data-row,.cc-page-head,.cc-page-toolbar,.cc-command-grid)>*{min-width:0}
.cc-body :is(input,select,textarea){min-width:0;max-width:100%}
.cc-sidebar-backdrop{display:none}
.cc-body .cc-nav a,
.cc-body .cc-nav-group-links a,
.cc-body .cc-sidebar-foot button{
    min-height:var(--ud-rs-touch)!important;
}
.cc-body .cc-nav-group:not([open]) .cc-nav-group-links{display:none!important}
.cc-body .cc-global-search input,
.cc-body .cc-topbar-search input{
    min-height:var(--ud-rs-touch);
}

/* AUTH + PUBLIC --------------------------------------------------------- */
.ud-auth-body .ud-auth-shell,.ud-auth-body .ud-auth-form-panel,.ud-auth-body .ud-auth-card{min-width:0;max-width:100%}
.ud-auth-body .ud-auth-form-panel{min-height:100vh;min-height:100dvh}
.pub-head,.pub-hero,.pub-article,.faq-wrap,.stream-grid,.contact-grid,footer{max-width:100%}
.pub-head nav{scrollbar-width:thin}

/* Legal access belongs to every shell, including narrow phones. */
.ud-app-play .ud-sidebar-legal-links,
.udp-body .udp-legal-links{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:5px;
    margin:0 0 7px;
    padding:8px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:11px;
    background:rgba(255,255,255,.035);
}
.ud-app-play .ud-sidebar-legal-label,
.udp-body .ud-sidebar-legal-label{
    grid-column:1/-1;
    color:#7f8b97;
    font-size:7px;
    font-weight:900;
    letter-spacing:.16em;
}
.ud-app-play .ud-sidebar-legal-links a,
.udp-body .udp-legal-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:28px;
    padding:0 6px;
    overflow:hidden;
    border-radius:7px;
    background:rgba(255,255,255,.055);
    color:#c8d0d8;
    font-size:8px;
    font-weight:800;
    line-height:1.15;
    text-align:center;
    text-decoration:none;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.ud-app-play .ud-sidebar-legal-links a:hover,
.udp-body .udp-legal-links a:hover{background:rgba(255,255,255,.1);color:#fff}
.ud-app-play .ud-sidebar-legal-links a.is-wide,
.udp-body .udp-legal-links a.is-wide{
    grid-column:1/-1;
    justify-content:space-between;
    padding-inline:9px;
    border:1px solid rgba(217,165,32,.27);
    color:#e8c45a;
}
.udp-body .udp-nav-legal{display:none}
.ud-app-play .bb-sidebar{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) transparent;
}
.ud-app-play .bb-sidebar::-webkit-scrollbar{width:6px}
.ud-app-play .bb-sidebar::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(255,255,255,.18);
}
.ud-app-play .bb-sidebar-nav{
    min-height:auto;
    flex:0 0 auto;
    overflow:visible!important;
}
.ud-app-play .bb-nav-item{width:100%;min-width:0;max-width:100%;overflow:hidden}
.ud-app-play .bb-nav-item>span{min-width:0}

/* Play sidebar: core actions stay visible, secondary information stays one tap away. */
.ud-app-play .ud-active-location{display:block!important}
.ud-app-play .ud-active-location-compact{
    margin-block:4px 8px!important;
    padding:10px 11px!important;
}
.ud-app-play .ud-active-location-compact .ud-active-location-label{
    margin-bottom:6px;
}
.ud-app-play .ud-active-location-play{
    min-height:33px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:8px;
    border-radius:8px;
    background:var(--ud-color-gold);
    color:#111923;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
}
.ud-app-play .ud-active-location-play:hover{background:var(--ud-color-gold-hover)}
.ud-app-play .ud-active-location-name>span:nth-child(2){
    min-width:0;
    flex:1;
}
.ud-app-play .ud-location-manage-arrow{
    flex:0 0 auto;
    margin-left:auto;
    color:#d9a520;
    font-size:18px;
    line-height:1;
}
.ud-app-play .ud-sidebar-more{
    margin:0 0 7px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:11px;
    background:rgba(255,255,255,.025);
    color:#aab4be;
}
.ud-app-play .ud-sidebar-more summary{
    min-height:39px;
    display:grid;
    grid-template-columns:26px minmax(0,1fr) auto;
    align-items:center;
    padding:0 11px;
    list-style:none;
    border-radius:10px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.ud-app-play .ud-sidebar-more summary::-webkit-details-marker{display:none}
.ud-app-play .ud-sidebar-more summary:hover,
.ud-app-play .ud-sidebar-more.is-active summary{color:#fff;background:rgba(255,255,255,.05)}
.ud-app-play .ud-sidebar-more.is-active{box-shadow:inset 3px 0 0 var(--ud-color-gold)}
.ud-app-play .ud-sidebar-more-chevron{
    color:#70808d;
    font-size:15px;
    transition:transform .16s ease;
}
.ud-app-play .ud-sidebar-more[open] .ud-sidebar-more-chevron{transform:rotate(180deg)}
.ud-app-play .ud-sidebar-more-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    padding:2px 8px 8px;
}
.ud-app-play .ud-sidebar-more:not([open]) .ud-sidebar-more-links{display:none}
.ud-app-play .ud-sidebar-more-links a{
    min-height:29px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    padding:5px 7px;
    border-radius:7px;
    background:rgba(255,255,255,.055);
    color:#c8d0d8;
    font-size:8px;
    font-weight:800;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
}
.ud-app-play .ud-sidebar-more-links a:hover{background:rgba(255,255,255,.1);color:#fff}
.ud-app-play .ud-sidebar-more-links a.is-wide{grid-column:1/-1;color:#e8c45a}
.ud-app-play .bb-sidebar-foot{
    padding-top:8px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    background:transparent!important;
    box-shadow:none!important;
}
.ud-app-play .bb-account{
    border:1px solid rgba(255,255,255,.08)!important;
    background:rgba(255,255,255,.035)!important;
}
.ud-app-play .bb-account-main,
.ud-app-play .bb-account-main strong{color:#f5f7f9!important}
.ud-app-play .bb-account-main small{color:#82909d!important}
.ud-app-play .bb-avatar{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
}
.ud-app-play .bb-account-logout{
    border-color:rgba(255,255,255,.13)!important;
    background:rgba(255,255,255,.045)!important;
    color:#dce3ea!important;
}

/* The Play navigation is also used on touch laptops and wide tablets. */
.ud-app-play .ud-account-tier,
.ud-app-play .bb-nav-item,
.ud-app-play .ud-active-location-play,
.ud-app-play .ud-location-qr-mini,
.ud-app-play .ud-sidebar-more summary,
.ud-app-play .bb-account-main,
.ud-app-play .bb-account-logout{
    min-height:var(--ud-rs-touch)!important;
}
.ud-app-play .ud-location-qr-mini,
.ud-app-play .bb-account-logout{
    min-width:var(--ud-rs-touch)!important;
}

@media(max-height:760px) and (min-width:1001px){
    .ud-app-play .ud-active-location-compact{padding:8px 9px!important}
    .ud-app-play .ud-active-location-play{min-height:29px;margin-top:6px}
    .ud-app-play .ud-sidebar-more summary{min-height:35px}
}

@media (max-width:1100px), (pointer:coarse){
    .ud-app-play .bb-nav-item,
    .ud-app-play .ud-active-location-play,
    .ud-app-play .ud-sidebar-more summary,
    .ud-app-play .ud-sidebar-more-links a,
    .ud-app-play .bb-account-main,
    .ud-app-play .bb-account-logout{
        min-height:var(--ud-rs-touch)!important;
    }
    .ud-app-play .ud-location-qr-mini{
        width:var(--ud-rs-touch);
        height:var(--ud-rs-touch);
    }
}

/* TABLET AND COMPACT LAPTOP -------------------------------------------- */
@media (max-width:1180px){
    .ud-app-play .remote-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr)}
    .ud-app-play .ud-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:1000px){
    .ud-app-play.is-bb-sidebar-locked{overflow:hidden}
    .ud-app-play .bb-sidebar{
        position:fixed!important;
        inset:0 auto 0 0!important;
        z-index:80;
        width:min(286px,88vw)!important;
        height:100dvh!important;
        transform:translateX(-105%);
        transition:transform .2s ease;
        box-shadow:25px 0 70px rgba(0,0,0,.42);
    }
    .ud-app-play .bb-app-shell.is-sidebar-open .bb-sidebar{transform:translateX(0)}
    .ud-app-play .bb-sidebar-head{position:relative}
    .ud-app-play .bb-sidebar-close{
        position:absolute;
        z-index:2;
        top:12px;
        right:10px;
        width:44px;
        height:44px;
        display:grid!important;
        place-items:center;
        border:1px solid rgba(255,255,255,.14);
        border-radius:12px;
        background:rgba(7,10,14,.78);
        color:#fff;
        font-size:24px;
        cursor:pointer;
    }
    .ud-app-play .bb-workspace{margin-left:0!important}
    .ud-app-play .bb-mobile-header{
        position:sticky;
        top:0;
        z-index:60;
        min-height:60px;
        display:grid!important;
        grid-template-columns:44px minmax(0,1fr) 44px;
        align-items:center;
        gap:8px;
        padding:0 12px;
        border-bottom:1px solid rgba(255,255,255,.08)!important;
        background:rgba(9,12,16,.96)!important;
        box-shadow:0 3px 14px rgba(24,33,42,.12);
        backdrop-filter:blur(14px);
    }
    .ud-app-play .bb-mobile-header [data-bb-sidebar-open]{
        width:44px;
        height:44px;
        display:grid;
        place-items:center;
        visibility:visible!important;
        border:1px solid rgba(255,255,255,.12);
        border-radius:11px;
        background:rgba(255,255,255,.06);
        color:#fff;
        font-size:20px;
        cursor:pointer;
    }
    .ud-app-play .bb-mobile-logo{
        min-width:0;
        min-height:44px;
        display:flex;
        align-items:center;
        justify-self:center;
        color:#fff;
        text-decoration:none;
    }
    .ud-app-play .bb-mobile-logo img{
        display:block;
        width:min(164px,100%);
        height:40px;
        margin:auto;
        object-fit:contain;
    }
    .ud-app-play .bb-mobile-avatar{
        width:44px;
        height:44px;
        justify-self:end;
        background:#d9a520;
        color:#111923;
        text-decoration:none;
    }
    .ud-app-play .bb-sidebar-backdrop{
        position:fixed;
        z-index:70;
        inset:0;
        display:none;
        background:rgba(7,12,17,.58)!important;
        backdrop-filter:blur(2px);
    }
    .ud-app-play .bb-app-shell.is-sidebar-open .bb-sidebar-backdrop{display:block}
    .ud-app-play .bb-bottom-nav{
        position:fixed;
        z-index:65;
        left:0;
        right:0;
        bottom:0;
        height:calc(68px + var(--ud-rs-safe-bottom));
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        border-top:1px solid #dfe4e8!important;
        background:rgba(255,255,255,.98)!important;
        box-shadow:0 -5px 22px rgba(24,33,42,.08);
    }
    .ud-app-play .bb-bottom-nav a,
    .ud-app-play .bb-bottom-nav button{
        min-width:0;
        display:flex;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:3px;
        border:0;
        background:transparent;
        color:#5f6c78!important;
        text-decoration:none;
        font:inherit;
    }
    .ud-app-play .bb-bottom-nav span{font-size:16px}
    .ud-app-play .bb-bottom-nav small{font-size:9px;font-weight:800}
    .ud-app-play .bb-bottom-nav .is-active{color:#875800!important}
    .ud-app-play .bb-mobile-menu-button{position:relative;padding:0!important;line-height:0}
    .ud-app-play .bb-mobile-menu-glyph{display:grid;width:20px;gap:4px;place-items:stretch}
    .ud-app-play .bb-mobile-menu-glyph i{display:block;width:20px;height:2px;border-radius:99px;background:currentColor}
    .ud-app-play .bb-mobile-menu-notice{position:absolute;top:5px;right:5px;width:9px;height:9px;border:2px solid #111820;border-radius:50%;background:#efad00;box-sizing:content-box}
    .ud-app-play .bb-main-inner{padding:24px 20px calc(106px + var(--ud-rs-safe-bottom))!important}
    .ud-app-play .remote-grid{grid-template-columns:1fr}

    .udp-body .udp-sidebar{
        position:sticky!important;
        z-index:83;
        top:0;
        width:100%!important;
        height:auto!important;
        max-height:none;
        padding:8px 14px 10px!important;
        overflow:visible!important;
    }
    .udp-body .udp-brand{width:calc(100% - 58px);min-height:56px;padding:0!important}
    .udp-body .udp-brand-image{width:190px!important;height:48px!important}
    .udp-body .udp-mobile-nav-toggle{
        position:absolute;
        top:12px;
        right:14px;
        width:44px;
        height:44px;
        display:grid;
        place-items:center;
        border:1px solid rgba(255,255,255,.16);
        border-radius:12px;
        background:rgba(255,255,255,.07);
        color:#fff;
        font-size:22px;
        cursor:pointer;
    }
    .udp-body .udp-nav{
        position:fixed;
        z-index:84;
        inset:0 0 0 auto;
        width:min(340px,88vw);
        height:100dvh;
        display:flex!important;
        flex-direction:column;
        align-items:stretch;
        gap:4px!important;
        padding:72px 16px calc(24px + var(--ud-rs-safe-bottom))!important;
        overflow-y:auto!important;
        background:linear-gradient(180deg,#07090c,#111820);
        box-shadow:-20px 0 60px rgba(0,0,0,.35);
        transform:translateX(105%);
        transition:transform .2s ease;
    }
    .udp-body .udp-nav a{flex:0 0 auto!important;min-height:46px!important;padding:0 14px!important}
    .udp-body .udp-nav-label{display:block!important;margin:16px 10px 5px!important}
    .udp-body .udp-nav-legal{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:7px;
        margin-top:18px;
        padding-top:16px;
        border-top:1px solid rgba(255,255,255,.1);
    }
    .udp-body .udp-nav-legal>span{grid-column:1/-1;margin:0 4px;color:#8e99a4;font-size:8px;font-weight:900;letter-spacing:.16em}
    .udp-body .udp-nav-legal a{
        display:flex!important;
        justify-content:center;
        min-height:44px!important;
        padding:0 8px!important;
        border:1px solid rgba(255,255,255,.1);
        font-size:10px!important;
        text-align:center;
    }
    .udp-body .udp-nav-legal a:last-child{grid-column:1/-1;color:#e8c45a}
    .udp-body .udp-shell.is-nav-open .udp-nav{transform:translateX(0)}
    .udp-body .udp-mobile-nav-backdrop{
        position:fixed;
        z-index:82;
        inset:0;
        border:0;
        background:rgba(2,6,10,.64);
        backdrop-filter:blur(3px);
    }
    .udp-body .udp-shell.is-nav-open .udp-mobile-nav-backdrop{display:block}
    .udp-body .udp-main{padding:28px 20px calc(70px + var(--ud-rs-safe-bottom))!important}

    .cc-sidebar-backdrop{
        position:fixed;
        z-index:59;
        inset:0;
        border:0;
        background:rgba(2,6,10,.58);
        backdrop-filter:blur(3px);
    }
    .cc-body.is-menu-open .cc-sidebar-backdrop{display:block}
    .cc-body.is-menu-open{overflow:hidden}
    .cc-body .cc-sidebar{height:100dvh}
}

/* PHONES --------------------------------------------------------------- */
@media (max-width:700px){
    :root{--ud-rs-gutter:14px}

    .ud-app-play .bb-main-inner{padding:20px 14px calc(96px + var(--ud-rs-safe-bottom))!important}
    .ud-app-play :is(.bb-page-header,.pagehead,.ops-head,.context-header,.profile-head,.stats-header,.ms-header,.location-command-head){
        align-items:stretch;
        flex-direction:column;
        gap:14px;
    }
    .ud-app-play :is(.bb-page-header,.pagehead,.ops-head,.context-header,.profile-head,.stats-header,.ms-header,.location-command-head) h1{
        font-size:clamp(2.15rem,11vw,3.3rem);
        line-height:1;
    }
    .ud-app-play :is(.actions,.bb-page-actions,.profile-actions,.ms-header-actions){width:100%;justify-content:stretch}
    .ud-app-play :is(.actions,.bb-page-actions,.profile-actions,.ms-header-actions)>*{flex:1 1 150px}
    .ud-app-play :is(.actions,.bb-page-actions,.profile-actions,.ms-header-actions) :is(a,button){width:100%}
    .ud-app-play :is(.remote-side,.ud-location-grid,.ops-summary-grid,.device-explanation-grid,.stats-grid,.location-module-grid,.game-start-grid,.equipment-grid,.people-actions-grid,.location-terminal-grid,.display-device-list,.form-grid,.display-form-grid,.settings-grid){
        grid-template-columns:1fr!important;
    }
    .ud-app-play :is(.ops-panel,.card,.remote-panel,.ud-location-card){padding:clamp(16px,5vw,20px)!important}
    .ud-app-play :is(.ops-panel-head,.cardhead,.section-heading,.remote-panel-head){align-items:flex-start;flex-direction:column}
    .ud-app-play .bb-bottom-nav a{min-width:0;padding-inline:2px}
    .ud-app-play .bb-bottom-nav small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .ud-app-play .ud-location-qr-dialog{padding:10px}
    .ud-app-play .ud-location-qr-dialog-inner{max-height:calc(100dvh - 20px);overflow:auto}

    .udp-body .udp-main{padding:24px 14px calc(60px + var(--ud-rs-safe-bottom))!important}
    .udp-body :is(.udp-pagehead,.udp-page-head,.udp-panel-head,.udp-club-row,.udp-request-row,.udp-form-actions,.udp-card-actions){
        align-items:stretch!important;
        flex-direction:column!important;
        gap:12px!important;
    }
    .udp-body :is(.udp-summary,.udp-live-summary,.udp-choice-grid,.udp-action-grid,.udp-fields,.udp-control-grid,.udp-assignment-modes){
        grid-template-columns:1fr!important;
    }
    .udp-body .udp-summary.udp-location-summary{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .udp-body .udp-location-summary article{min-width:0;padding:14px 10px!important}
    .udp-body .udp-location-summary strong{font-size:clamp(1.25rem,7vw,1.7rem)}
    .udp-body .udp-location-summary span{font-size:.65rem;line-height:1.25;overflow-wrap:anywhere}
    .udp-body :is(.udp-panel-head,.udp-club-row,.udp-request-row,.udp-form-section,.udp-card,.udp-subpanel,.udp-league-group){
        padding:18px!important;
    }
    .udp-body :is(.udp-primary,.udp-primary-link,.udp-secondary-link,.udp-form-actions button,.udp-form-actions a){
        width:100%;
    }
    .udp-body .udp-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
    .udp-body .udp-card-grid{grid-template-columns:1fr}
    .udp-body .udp-match-row{grid-template-columns:1fr!important}
    .udp-body .udp-match-row>*{grid-column:auto!important;width:100%}

    .cc-body .cc-main{padding:18px 12px calc(48px + var(--ud-rs-safe-bottom))!important}
    .cc-body .cc-topbar{min-height:60px;height:auto;padding:9px 12px}
    .cc-body :is(.cc-admin-kpis,.cc-kpi-grid,.cc-command-kpis,.cc-command-grid,.cc-system-grid,.cc-simulator-grid){
        grid-template-columns:1fr!important;
    }
    .cc-body :is(.cc-page-head,.cc-page-toolbar,.cc-head-actions,.cc-panel-head){
        align-items:stretch;
        flex-direction:column;
        gap:12px;
    }
    .cc-body :is(.cc-head-actions,.cc-page-toolbar) :is(a,button){width:100%}
    .cc-body :is(.cc-panel,.cc-card,.cc-command-panel){padding:16px!important}

    .ud-auth-body .ud-auth-form-panel{padding:12px}
    .ud-auth-body .ud-auth-card{padding:24px 18px;border-radius:18px}
    .ud-auth-body .ud-auth-card h2{font-size:clamp(2.05rem,11vw,2.7rem)}
    .ud-auth-body :is(input,select,textarea){font-size:16px!important}

    .pub-head{gap:10px;padding:12px 14px}
    .pub-brand span{display:none}
    .pub-actions{gap:6px}
    .pub-actions a{padding:9px 10px}
    .pub-hero{padding-inline:18px}
    .pub-article,.faq-wrap,.stream-grid,.contact-grid{width:calc(100% - 24px)}
    footer{padding-inline:18px}
}

@media (max-width:380px){
    .ud-app-play .bb-main-inner{padding-inline:10px!important}
    .ud-app-play .bb-mobile-logo img{max-width:140px}
    .ud-app-play .bb-bottom-nav small{font-size:9px}
    .udp-body .udp-main,.cc-body .cc-main{padding-inline:10px!important}
    .udp-body .udp-panel,.udp-body .udp-form-shell{border-radius:14px}
    .ud-auth-body .ud-auth-form-panel{padding:0}
    .ud-auth-body .ud-auth-card{min-height:100dvh;border:0;border-radius:0;padding:22px 16px}
}

/* Short screens and landscape phones need compact chrome and full scrollability. */
@media (max-height:520px) and (orientation:landscape){
    .ud-app-play .bb-mobile-header{position:relative}
    .ud-app-play .bb-main-inner{padding-top:14px}
    .ud-app-play .bb-bottom-nav{position:relative}
    .ud-app-play .ud-ai-support{display:none}
    .udp-body .udp-sidebar{position:relative!important}
    .ud-auth-body .ud-auth-form-panel{place-items:start center;padding-block:12px}
}

/* Short mouse-operated desktop windows keep the full Pro navigation in view. */
@media (min-width:1001px) and (max-height:820px) and (pointer:fine){
    .udp-body .udp-brand{padding-bottom:8px}
    .udp-body .udp-plan-badge{margin:4px 8px 6px;padding-block:6px}
    .udp-body .udp-pro-command-trigger{
        min-height:38px!important;
        margin-top:4px;
        padding-block:4px;
    }
    .udp-body .udp-pro-command-trigger__icon{width:30px;height:30px}
    .udp-body .udp-nav{padding-top:3px}
    .udp-body .udp-nav-label{margin-top:5px;margin-bottom:2px}
    .udp-body .udp-nav a{min-height:32px!important}
    .udp-body .udp-nav-more{margin-block:2px}
    .udp-body .udp-nav-more summary{min-height:32px!important;padding:6px 10px}
    .udp-body .udp-sidebar-foot{padding-top:5px}
    .udp-body .udp-sidebar-account-link{min-height:40px!important;padding:7px 8px}
    .udp-body .udp-sidebar-account-link small{display:none}
    .udp-body .udp-sidebar-account-link span{margin-top:1px}
    .udp-body .udp-sidebar-foot button{min-height:32px!important;margin-top:3px}
}

/* Verlässliche Touchflächen für die letzten kompakten Textaktionen. */
.ud-matchday-pass-list footer a,
.ud-tf-tournament>a,
.ud-td-join>a,
.ud-td-join button,
.ud-auth-forgot,
.ud-auth-footer-links a,
.cc-command-card-head>a{
    min-height:44px!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}

@media print{
    .bb-sidebar,.bb-mobile-header,.bb-bottom-nav,.udp-sidebar,.cc-sidebar,.cc-topbar{display:none!important}
    .bb-workspace,.udp-workspace,.cc-workspace{display:block!important;margin:0!important}
    .bb-main-inner,.udp-main,.cc-main{width:100%!important;max-width:none!important;padding:0!important}
}

/* Shared touch and long-content hardening for Play and Professional. */
@media (max-width:1280px){
    .udp-body .udp-command-section-head>a,
    .udp-body .udp-location-ops-grid a,
    .udp-body .udp-command-onboarding>a,
    .udp-body .udp-club-footer-nav a{display:inline-flex;align-items:center;min-height:44px}
}
.udp-body .ud-op-member-grid article span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.udp-body .udp-account-filter button{min-height:42px}
.ud-app-play .ud-start-action-copy em{overflow:visible;text-overflow:clip;white-space:normal}
@media (max-width:1280px){
    .ud-app-play .ud-start-empty a{display:inline-flex;align-items:center;min-height:44px}
}
