/* AP Catalog v0.11: approved light workspace / charcoal navigation. */
body.catalog{color-scheme:light;background:#f5f6fa;color:#13152b;font-family:Inter,Arial,sans-serif}body.catalog p,body.catalog .hint{color:#6b7087}body.catalog a{color:#cc0085}body.catalog input,body.catalog select,body.catalog textarea{background:#fff;color:#202139;border:1px solid #cbd0dd}body.catalog button{background:#fff;color:#27263b;border:1px solid #d6d8e3;border-radius:9px;min-height:42px}body.catalog button:hover{border-color:#d50091;background:#fff6fc}body.catalog .primary,body.catalog .primary-actions button:first-child{background:#d00087;color:white;border:1px solid #d00087;text-decoration:none;padding:12px 20px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}body.catalog button:disabled{opacity:.5}body.catalog :focus-visible{outline:3px solid #b30081;outline-offset:3px}body.catalog #notice{color:#ac0062;margin:0 0 16px}body.catalog #notice:empty{display:none}body.catalog h1{font-size:clamp(27px,2.8vw,38px);letter-spacing:-1px}body.catalog h2{font-size:23px;letter-spacing:-.4px}body.catalog small{color:#84889c}body.catalog.signed-in>main{margin:0 0 0 235px;padding:28px 30px;max-width:none;min-height:calc(100dvh - 76px)}
.app-sidebar{width:235px;background:#191d22;color:#d4d5df;position:fixed;inset:0 auto 0 0;z-index:80;display:flex;flex-direction:column}.brand{display:block;padding:25px 24px 26px;text-decoration:none!important}.brand img{width:187px;height:auto;display:block}.brand span{display:block;color:#a8aebd;font-size:14px;margin:10px 5px 0}.app-sidebar nav{display:flex;flex-direction:column;align-items:stretch;margin:0;gap:3px;overflow-y:auto}.app-sidebar nav a{display:flex;gap:17px;align-items:center;color:#bfc3d1!important;padding:17px 26px;text-decoration:none;border-left:5px solid transparent;min-height:54px;font-size:15px}.app-sidebar nav a:hover{background:#ffffff08}.app-sidebar nav a.selected{border-left-color:#ed009b;background:linear-gradient(90deg,#701549,#381b2e);color:#fff!important}.app-sidebar nav a.favourites-nav,.app-sidebar nav a.operations-nav{margin-top:22px;border-top:1px solid #ffffff20}.nav-icon{font-size:23px;width:24px;text-align:center}.sidebar-foot{margin-top:auto;padding:24px 30px;display:flex;justify-content:space-between;color:#8d94a8;font-size:12px}.app-topbar{margin-left:235px;min-height:76px;display:flex;gap:24px;align-items:center;padding:12px 30px!important;border-bottom:1px solid #e7e9f0;background:#fff!important;position:relative;z-index:90;flex-wrap:nowrap!important}.global-search{margin:0;flex:1;max-width:700px}.global-search input{width:100%;background:#f6f7fa!important;border:1px solid #e2e5ec!important;padding:13px 18px}.avatar-menu{margin-left:auto;position:relative;flex-shrink:0}.avatar-menu>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:0 3px;min-height:46px;font-weight:600}.avatar-menu>summary::-webkit-details-marker{display:none}.avatar{display:grid;place-items:center;background:#cf008b;color:white;border-radius:50%;width:44px;height:44px;font-size:16px}.avatar-panel{position:absolute;right:0;top:55px;width:235px;padding:16px 12px 10px;background:#fff;border:1px solid #e3e6ee;box-shadow:0 16px 35px #1c234520;border-radius:12px;z-index:100}.avatar-panel strong,.avatar-panel small{display:block;padding:0 10px;margin-bottom:7px;overflow-wrap:anywhere}.avatar-panel small{padding-bottom:13px;border-bottom:1px solid #e9eaf0}.avatar-panel a,.avatar-panel button{display:block;text-decoration:none;color:#27283e!important;padding:13px 10px;width:100%;text-align:left;border:0!important;font-size:14px}.avatar-panel a:hover{background:#f8f0f7;border-radius:6px}.avatar-panel button{border-top:1px solid #eee!important;border-radius:0!important}.mobile-menu{display:none}.eyebrow{letter-spacing:1.6px;font-weight:700;font-size:12px;color:#d00087!important}.page-heading{margin-bottom:18px}.page-heading h1{margin:0 0 8px}.page-heading p{margin:6px 0}.section-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:23px 0 15px}.section-heading h2{margin:0}.section-heading a{font-size:14px;font-weight:600;text-decoration:none}.catalog-hero{isolation:isolate;position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 30%,#7432b0 0,transparent 60%),linear-gradient(125deg,#181737,#2e1545);border-radius:17px;padding:34px 40px;min-height:300px;color:white;margin:0;box-shadow:0 8px 22px #26244912}.catalog-hero h2{font-size:clamp(28px,3.3vw,46px)!important;line-height:1.07;max-width:650px;margin:14px 0;letter-spacing:-1px}.catalog-hero p{color:#e8e3f5!important;max-width:570px}.catalog-hero .eyebrow{color:#ff8ed6!important}.hero-orbit{position:absolute;right:7%;top:4%;font-size:240px;line-height:1;color:#ed57d1;z-index:-1;text-shadow:0 0 80px #db48db;transform:rotate(15deg);opacity:.55}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:20px}.hero-actions a{color:white!important;text-decoration:none}.session-card{padding:20px 22px;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e2e5ee;border-radius:12px;margin-bottom:12px;box-shadow:0 3px 10px #26244906}.session-card>div{flex:1;min-width:0}.session-card h3{margin:0}.session-card p{margin:8px 0 0;font-size:13px;overflow-wrap:anywhere}.cards-grid,#cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid #e1e4ec;box-shadow:0 3px 12px #222c4606;border-radius:13px}.card .tag{color:#68718a;border-color:#e1e4ec;background:#f7f8fb}.card .readiness{font-size:10px}.card-details summary{color:#a90079}.card-artwork{border-bottom:0}.card .tile-image.contain{padding:12px;background:#f1f3f7}.card-body{gap:9px}.card h3{color:#191a31}.card .favourite{color:#d00087}.toolbar{margin:12px 0 18px}#sections{gap:18px;margin:12px 0}#sections a{text-decoration:none;font-size:13px}#search{display:none}#count{margin-right:auto;color:#767e90;font-size:13px}body.catalog dialog{color:#191a31;background:white;border:1px solid #d7c2d5}body.catalog #launchError,body.catalog #verifyError{color:#b50059}.workspace-content section,.surface{background:#fff;border:1px solid #e1e4ec;border-radius:14px;padding:24px;margin-bottom:22px}.side-nav{background:#fff;border-color:#e1e4ec}.side-nav a{color:#515971!important}.side-nav a.selected{background:#f9e9f3;color:#b50078!important}.overview-links{margin:0 0 26px;gap:14px}.overview-links a{background:white;padding:22px;border-color:#e1e4ec;text-decoration:none;color:#a80074}.setup-app,.detail-panel,.ops-kpi,.ops-row{background:#fff;border-color:#e1e4ec}.setup-preview{background:#f2f2f8}#setupContent section{border-color:#e1e4ec}.row,th,td{border-color:#e8eaf1}th{color:#6b7284}.row a{color:#bd0084}.email-preview{background:#fbf7fa;color:#26223b;border-color:#e2d5e3}.email-preview h2{color:#b90084}.preference-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.preference-grid label{min-width:0}.preference-grid input,.preference-grid select{width:100%}.workspace form:has(.preference-grid){max-width:800px}
/* Approved artwork retained verbatim; CSS exposes its left-hand image panel. */
.login-screen{display:grid;grid-template-columns:63fr 37fr;min-height:100dvh;background:white}.login-art{background-image:url('assets/login-approved.png');background-size:159.44% 100%;background-position:left top;min-height:100dvh}.login-panel{padding:45px clamp(26px,4.3vw,72px) 24px;display:flex;flex-direction:column;min-width:0}.login-brand img{display:block;width:min(100%,285px);height:auto}.login-brand span{display:block;color:#83859b;margin-top:8px}.login-content{margin:auto 0;padding:44px 0}.login-content h1{font-size:clamp(32px,3.5vw,54px)!important;line-height:1.07;margin:14px 0 20px;letter-spacing:-1.6px}.login-content>p{font-size:16px}.login-content #login{max-width:none;margin:30px 0 0}.login-content label{font-size:13px;font-weight:600;margin:20px 0}.login-content input{padding:15px 13px;font-size:14px}.password-field{display:flex;align-items:center;margin-top:8px;border:1px solid #cbd0dd;border-radius:9px;overflow:hidden}.password-field input{border:0!important;margin:0;min-width:0}.password-field button{border:0!important;padding:10px;font-size:12px}.forgot{display:block;text-align:right;font-size:13px;font-weight:600}#signIn{width:100%;margin-top:25px;min-height:54px;background:#d00087}.login-footer{font-size:12px}.access-note{font-size:13px!important;margin-top:32px}.login-content #loginError{color:#b30057}.home-page:not(.signed-in)>header{display:none}.signed-in .login-screen{display:none}body.catalog:not(.signed-in):not(.home-page)>header{background:#191d22;color:white}body.catalog:not(.signed-in)>header img{max-width:180px}body.catalog:not(.signed-in)>main{max-width:1000px}.login-panel #loginError:empty{display:none}
@media(min-width:1650px){#cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1200px){.cards-grid,#cards{grid-template-columns:repeat(3,minmax(0,1fr))}.login-panel{padding:28px}.login-content{padding:30px 0}.login-content h1{font-size:38px!important}}
@media(max-width:950px){.app-sidebar{width:200px}.brand{padding:25px 18px}.brand img{width:164px}.app-sidebar nav a{padding-left:18px}.app-topbar{margin-left:200px;padding:12px 20px!important}body.catalog.signed-in>main{margin-left:200px;padding:24px 20px}.cards-grid,#cards{grid-template-columns:repeat(2,minmax(0,1fr))}.login-screen{grid-template-columns:1fr 1fr}.login-content h1{font-size:34px!important}.login-art{background-size:auto 100%;background-position:left top}.catalog-hero{padding:27px}.session-card{flex-wrap:wrap}.session-card>div{flex-basis:100%}}
@media(max-width:700px){.app-sidebar{transform:translateX(-100%);width:235px;transition:transform .18s;top:70px;z-index:95}.menu-open .app-sidebar{transform:translateX(0);box-shadow:15px 0 50px #0005}.brand img{width:187px}.app-topbar{margin:0;padding:12px!important;gap:10px;min-height:70px}.mobile-menu{display:block}.avatar-name{display:none}.avatar-menu summary{gap:6px}.avatar{width:38px;height:38px;font-size:13px}.global-search input{padding:11px 9px;font-size:12px}.avatar-panel{top:48px}body.catalog.signed-in>main{margin:0;padding:20px 14px}.login-screen{display:block}.login-art{display:none}.login-panel{min-height:100dvh;padding:30px 28px}.login-content{padding:35px 0}.login-content h1{font-size:42px!important}.login-brand img{width:240px}.preference-grid{grid-template-columns:1fr}.catalog-hero{min-height:250px;padding:24px}.hero-orbit{right:-15%;opacity:.2}.hero-actions{gap:12px}.catalog-hero h2{font-size:32px!important}.section-heading a{font-size:12px}.section-heading h2{font-size:20px}.cards-grid,#cards{gap:12px}.card h3{font-size:16px}.card-body{padding:11px}.card footer{padding:0 11px 11px}.card .primary-actions{grid-template-columns:minmax(0,1fr) 38px}.card footer button{font-size:12px}.workspace{grid-template-columns:1fr}.page-heading p{font-size:14px}}
@media(max-width:380px){.cards-grid,#cards{grid-template-columns:1fr}.avatar-panel{width:220px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.catalog-hero{background:linear-gradient(90deg,#111627dd 0%,#11162799 38%,#11162708 75%),url('assets/catalog-racing.png') center/cover}.hero-orbit{display:none}
/* r2: approved homepage composition, with live account data. */
.portal-icon{width:24px;height:24px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.app-sidebar{width:228px}.app-topbar{margin-left:228px;min-height:68px;padding:10px 30px!important}.brand{padding:20px 23px 27px}.brand img{width:182px}.brand span{margin-top:6px}.app-sidebar nav{gap:0}.app-sidebar nav a{min-height:51px;padding-top:13px;padding-bottom:13px}.sidebar-foot{display:none}
body.catalog.signed-in>main{margin-left:228px;padding:26px 30px}.page-heading{margin-bottom:18px}.page-heading h1{font-size:36px!important}.page-heading p{font-size:19px;color:#202233!important}.global-search{position:relative;max-width:628px}.global-search>.portal-icon{position:absolute;left:14px;top:12px;width:20px;height:20px;color:#6b7087}.global-search input{padding-left:44px}.avatar-panel a,.avatar-panel button{display:flex;align-items:center;gap:12px}.avatar-panel .portal-icon{width:20px;height:20px}
.catalog-hero{border-radius:11px;min-height:290px;display:flex;flex-direction:column;justify-content:center;padding:35px 44px;background:linear-gradient(90deg,#0005,transparent 65%),url('assets/catalog-racing.png') center/cover}.catalog-hero h2{font-size:40px!important;max-width:560px;margin:0 0 4px}.catalog-hero p{font-size:21px;margin:0}.hero-actions{margin-top:24px;gap:15px}.hero-actions .primary{min-width:160px}.hero-actions .hero-details{background:#15151b66;color:#fff;border:1px solid white;min-width:146px}.hero-actions .hero-details:hover{background:#202028aa;color:#fff}
.home-card{min-width:0}.home-card-media{position:relative;aspect-ratio:1.8}.home-card-open{display:block;width:100%;height:100%;padding:0!important;border:0!important;overflow:hidden;position:relative;background:#242932!important;border-radius:10px!important}.home-card-image{display:block;width:100%;height:100%;object-fit:cover}.home-card-fallback{color:white;display:grid;height:100%;place-items:center}.home-platform{position:absolute;left:0;right:0;bottom:0;text-align:left;padding:20px 12px 10px;background:linear-gradient(transparent,#000b);color:white;font-size:13px}.home-heart{position:absolute;right:10px;top:10px;border:0!important;border-radius:50%!important;padding:7px!important;min-height:36px!important;width:36px;height:36px;color:#242638!important}.home-heart .portal-icon{width:22px;height:22px}.home-heart[aria-pressed=true]{color:#d00087!important}.home-heart[aria-pressed=true] .portal-icon{fill:currentColor}.home-card-title{display:block;border:0!important;background:transparent!important;padding:9px 0 2px!important;min-height:0!important;font-weight:700;text-align:left}.home-card p{font-size:14px;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-browse{display:inline-flex;align-items:center;gap:16px;text-decoration:none;font-weight:600;margin:22px 0 0}.home-browse span{font-size:26px}.section-heading h2{font-size:20px}.session-card{padding:5px;gap:20px;min-height:92px}.session-thumbnail{width:215px;height:82px;object-fit:cover;border-radius:8px}.session-card h3{font-size:17px}.session-card .primary{font-size:14px;padding:10px 18px}.session-menu{position:relative;margin-right:10px}.session-menu summary{cursor:pointer;list-style:none;padding:10px;font-size:25px}.session-menu summary::-webkit-details-marker{display:none}.session-menu button{position:absolute;right:0;top:100%;z-index:2;white-space:nowrap;box-shadow:0 6px 16px #0002}#gameDetails{width:min(520px,95vw);max-height:90dvh;overflow:auto;border-radius:14px}#closeGameDetails{display:block;margin:0 0 12px auto}#gameDetails .card{box-shadow:none}.home-page #sessionSection .section-heading a,.home-page #favouriteSection .section-heading a{display:none}
@media(max-width:1200px){#homeFavourites{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-hero h2{font-size:34px!important;max-width:440px}.session-thumbnail{width:160px}}
@media(max-width:950px){.app-sidebar{width:200px}.brand img{width:154px}.app-topbar{margin-left:200px}body.catalog.signed-in>main{margin-left:200px;padding:24px 20px}.session-card{flex-wrap:wrap}.session-card>div{flex-basis:auto}.session-thumbnail{width:120px;height:76px}#homeFavourites{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-hero{padding:25px;background-position:60% center}.catalog-hero h2{max-width:350px}}
@media(max-width:700px){.app-sidebar{width:228px}.brand img{width:182px}.app-topbar{margin-left:0;padding:12px!important}body.catalog.signed-in>main{margin:0;padding:20px 14px}.global-search>.portal-icon{display:none}.global-search input{padding-left:9px}.page-heading h1{font-size:29px!important}.page-heading p{font-size:16px}.catalog-hero{padding:24px;min-height:275px;background-position:62% center}.catalog-hero h2{font-size:29px!important;max-width:280px;text-shadow:0 2px 8px #000}.catalog-hero p{font-size:17px;text-shadow:0 2px 8px #000}.hero-actions .primary,.hero-actions .hero-details{min-width:0;padding:11px 17px}.session-card{gap:10px;padding:8px}.session-thumbnail{width:95px;height:65px}.session-card>div{flex:1}.session-card .primary{margin-left:auto}.section-heading{margin-top:22px}.home-card p{font-size:12px}}
@media(max-width:380px){#homeFavourites{grid-template-columns:1fr}}
.brand-wordmark{font-size:34px;font-weight:800;letter-spacing:-1px;color:#191d22}.app-sidebar .brand-wordmark{font-size:29px;color:white}.powered-credit{padding:18px 0;font-size:13px;color:#6b7087}.powered-credit strong{color:#d00087}.app-sidebar .powered-credit{margin-top:auto;padding:22px;color:#c3c7d0}.app-sidebar .powered-credit strong{color:#ef67c0}.brand-asset-preview{display:block;max-width:100%;max-height:140px;background:#ddd;border-radius:8px;margin:8px 0}.brand-image-field{padding:12px;border:1px solid #ddd;border-radius:10px;margin:12px 0}.brand-preview-notice{position:sticky;top:0;background:#fff0d6;color:#633c00;padding:10px 20px;z-index:110;font-size:13px}.login-content h1{max-width:430px}

.brand-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:20px}.brand-library-card{border:1px solid #d8dce5;padding:14px;border-radius:12px;min-width:0}.brand-library-card img{width:100%;height:145px;object-fit:contain;background:#32353c;border-radius:6px}.brand-library-card h3{font-size:15px;overflow-wrap:anywhere}.brand-library-card p{font-size:12px}.brand-library-card select,.brand-library-card button{width:100%;margin-top:8px}

.brand-symbol-name{display:flex!important;align-items:center;gap:12px;flex-wrap:wrap}.brand-symbol-name img{width:55px!important;height:53px;object-fit:contain;order:-1}.brand-symbol-name>span{flex-basis:100%;margin-top:0}.brand-symbol-name .brand-wordmark{font-size:34px}.app-sidebar .brand-symbol-name{gap:8px;padding-left:16px;padding-right:12px}.app-sidebar .brand-symbol-name img{width:34px!important;height:34px}.app-sidebar .brand-symbol-name .brand-wordmark{font-size:25px}

/* r4: larger login branding, constrained to the available panel width. */
.login-brand img{width:min(100%,400px)}
.login-brand.brand-symbol-name{gap:14px;column-gap:14px}
.login-brand.brand-symbol-name img{width:76px!important;height:76px;flex-shrink:0}
.login-brand.brand-symbol-name .brand-wordmark{font-size:48px;line-height:1.1}
.login-panel>.powered-credit{font-size:19px;line-height:1.5;padding:22px 0}
.login-panel>.powered-credit strong{font-size:24px}
@media(min-width:701px) and (max-width:1200px), (max-width:380px){
.login-brand.brand-symbol-name{column-gap:10px}
.login-brand.brand-symbol-name img{width:58px!important;height:58px}
.login-brand.brand-symbol-name .brand-wordmark{font-size:36px}
.login-panel>.powered-credit{font-size:17px}
.login-panel>.powered-credit strong{font-size:21px}
}

.catalog-startup{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;box-sizing:border-box;text-align:center}

.catalog-pagination{margin-top:24px;justify-content:flex-end}.catalog-pagination span{margin-right:auto}
.session-list-head,.session-list-row{display:grid;grid-template-columns:minmax(180px,1.6fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(110px,.8fr) minmax(220px,1.4fr);gap:18px;align-items:center}.session-list-head{padding:12px 0;color:var(--muted,#6c7284);font-size:12px;border-bottom:1px solid #dce0ea}.session-list-row{padding:18px 0;border-bottom:1px solid #e8eaf0}.session-game,.session-state{min-width:0;overflow-wrap:anywhere}.session-game details{font-size:12px;margin-top:6px}.session-game details p{white-space:normal}.session-state small{display:block;margin-top:5px;font-size:11px}.session-list-row time{font-size:12px}.session-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-start}.session-actions a,.session-actions button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:8px 12px;text-decoration:none;border-radius:8px;font-size:13px}.status-pill{display:inline-block;border-radius:20px;padding:5px 10px;font-size:12px;background:#eef0f5;color:#4d5263}.status-pill.running{background:#e4f5ed;color:#1e6a47}.status-pill.stopped{background:#fff1d9;color:#82590a}.status-pill.failed{background:#fde8ed;color:#98344d}.session-actions .danger{color:#ac2452;border:1px solid #e6b4c5;background:transparent}.session-card .session-actions{margin-top:12px}.session-list{min-width:0}@media(max-width:1200px){.session-list-head{display:none}.session-list-row{grid-template-columns:minmax(180px,1fr) minmax(140px,1fr)}.session-list-row .session-actions{grid-column:1/-1}.session-list-row [data-label]::before{content:attr(data-label) ': ';font-size:11px;color:#737989}}@media(max-width:640px){.session-list-row{grid-template-columns:1fr;gap:10px}.session-list-row .session-actions{grid-column:auto}.session-list-row{padding:20px 0}}

#policyForm{max-width:650px}#serverPolicy details{margin:16px 0}#serverPolicy p{overflow-wrap:anywhere}
.session-list{container-type:inline-size}.session-list-head{display:none}.session-list-row{grid-template-columns:minmax(150px,1fr) minmax(130px,1fr)}.session-list-row .session-actions{grid-column:1/-1}.session-list-row [data-label]::before{content:attr(data-label) ': ';font-size:11px;color:#737989}@container(min-width:1000px){.session-list-head{display:grid}.session-list-head,.session-list-row{grid-template-columns:minmax(180px,1.6fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(110px,.8fr) minmax(220px,1.4fr)}.session-list-row .session-actions{grid-column:auto}.session-list-row [data-label]::before{content:none}}@media(max-width:640px){.session-list-row{grid-template-columns:1fr}.session-list-row .session-actions{grid-column:auto}}
.session-actions button[aria-busy=true]::before{content:'';width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:7px;animation:session-wait 1s linear infinite}@keyframes session-wait{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.session-actions button[aria-busy=true]::before{animation:none}}


/* Setup shares the main menu's icon/text columns. */
.app-sidebar .main-setup{margin:0;flex-shrink:0}
.app-sidebar .main-setup>summary{display:flex;align-items:center;gap:17px;padding:13px 26px;border-left:5px solid transparent;cursor:pointer;list-style:none;min-height:51px;font-size:15px}
.app-sidebar .main-setup>summary::-webkit-details-marker{display:none}
.app-sidebar .main-setup>summary::after{content:'›';margin-left:auto}
.app-sidebar .main-setup[open]>summary{border-left-color:#ed009b;background:#381b2e;color:#fff}
.app-sidebar .main-setup[open]>summary::after{transform:rotate(90deg)}
.app-sidebar .main-setup>summary:hover{background:#ffffff0d}
.app-sidebar .main-setup>summary:focus-visible{outline:2px solid #ed009b;outline-offset:-2px}
.app-sidebar .main-setup-items{margin:0;padding:12px 0;background:#20242b}
.app-sidebar .main-setup-items a{min-height:44px;font-size:13px;padding:10px 16px}
.app-sidebar>nav{overflow-y:auto;min-height:0}
@media(min-width:1000px){
 body.catalog.signed-in{--setup-column:228px;--setup-secondary:220px}
 body.catalog.signed-in.setup-menu-open>.app-topbar,
 body.catalog.signed-in.setup-menu-open>main{margin-left:calc(var(--setup-column) + var(--setup-secondary))}
 .app-sidebar .main-setup[open]>.main-setup-items{position:fixed;left:228px;top:0;bottom:0;width:220px;overflow-y:auto;border-left:1px solid #ffffff18;padding-top:24px}
}
/* With less room use one navigation column; content still owns its space. */
@media(max-width:700px){
 body.catalog.signed-in.menu-open>.app-sidebar{width:180px;box-shadow:none}
 body.catalog.signed-in.menu-open>main{margin-left:180px;padding:16px 10px;min-width:0}
 .app-sidebar .main-setup>summary{padding-left:26px}
 .app-sidebar .main-setup-items a{overflow-wrap:anywhere}
}
/* Prevent flex wrapping from placing Setup in an accidental extra column. */
.app-sidebar>nav{flex-wrap:nowrap;flex-direction:column;align-items:stretch}
.app-sidebar>nav>a,.app-sidebar .main-setup>summary{padding-left:26px;padding-right:26px;gap:17px;border-left-width:5px}
.app-sidebar>nav>a{flex-shrink:0}
@media(max-width:700px){body.menu-open .app-sidebar .brand img{max-width:100%;height:auto}}


html{scrollbar-gutter:stable}
/* Keep one shell while each content document owns its scripts and forms. */
html.catalog-content-frame .app-sidebar,html.catalog-content-frame .app-topbar{display:none!important}
html.catalog-content-frame body.catalog.signed-in>main{margin:0!important;padding:26px 30px;max-width:none}
body.catalog.signed-in>main.catalog-content-host{padding:0!important;height:calc(100dvh - 68px);max-width:none;overflow:hidden}
.catalog-content-host iframe{display:block;width:100%;height:100%;border:0;background:#f4f6fb}
@media(max-width:700px){html.catalog-content-frame body.catalog.signed-in>main{padding:20px 14px}body.catalog.signed-in>main.catalog-content-host{height:calc(100dvh - 70px)}}

.app-sidebar .main-operations>summary{margin-top:22px;border-top:1px solid #ffffff20}
body.signed-in #opsContent>.workspace{display:block}
body.signed-in #opsContent>.workspace>.side-nav{display:none}

.secondary-menu-section{padding:8px 0;border-top:1px solid #ffffff1c}
.app-sidebar .secondary-menu-heading{font-size:11px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;font-weight:600;opacity:.7;padding:8px 16px 4px;margin:0}

/* Content documents may retain a legacy header without .app-topbar. */
html.catalog-content-frame body>header{display:none!important}
.ops-session-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ops-session-toolbar input[type=search]{flex:1 1 300px;min-width:180px}
.ops-session-toolbar select{flex:0 1 165px;width:auto}
.ops-sessions-table{font-size:13px;min-width:900px}
.ops-sessions-table th,.ops-sessions-table td{padding:10px 12px;line-height:1.35;vertical-align:middle}
.ops-sessions-table td small{display:block;margin-top:4px;font-size:11px;white-space:nowrap}
.ops-sessions-table td strong{font-size:13px}
.ops-sessions-table select{font-size:12px;width:150px;min-height:38px}
#opsSessionDialog{width:min(920px,calc(100vw - 32px));background:white;color:#202139;border-color:#dce1eb}
#opsSessionDialog .page-heading{align-items:center}
#opsSessionDialog .page-heading h2{margin:0}
#opsSessionDialog .toolbar button[aria-pressed=true]{background:var(--brand-accent,#d00087);color:var(--brand-foreground,#fff);border-color:var(--brand-accent,#d00087)}
.ops-session-facts{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:12px 20px}
.ops-session-facts dd{margin:0;overflow-wrap:anywhere}
@media(max-width:700px){.ops-session-toolbar input[type=search]{flex-basis:100%}.ops-sessions-table select{min-height:44px}.ops-session-facts{grid-template-columns:1fr;gap:6px}.ops-session-facts dd{margin-bottom:12px}}
/* Keep row-end options visible at ordinary desktop content widths. */
.ops-sessions-table{min-width:780px}
.ops-sessions-table th,.ops-sessions-table td{padding-left:8px;padding-right:8px}
.ops-sessions-table select{width:130px}

/* Shared label rhythm for forms and filters on every catalogue page. */
:is(body.catalog,#acceptForm,#recoverForm,#resetForm) label:has(> :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]))){display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;line-height:1.4}
body.catalog label> :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])){margin-top:0;margin-bottom:0;max-width:100%;box-sizing:border-box}
body.catalog label[for]+:is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){margin-top:8px}
body.catalog .toolbar:has(>label){align-items:flex-end;column-gap:16px;row-gap:16px}

/* Landscape tablets: fit the browser's visible height, including Safari chrome. */
@media (min-width:701px) and (orientation:landscape) and (max-height:1050px){
 body.catalog.signed-in{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 body.catalog.signed-in>.app-topbar{flex:0 0 auto;min-width:0}
 body.catalog.signed-in>main,
 body.catalog.signed-in>main.catalog-content-host{flex:1 1 0;min-height:0;height:auto;min-width:0;overflow:auto}
 body.catalog.signed-in>main.catalog-content-host{overflow:hidden}
 .app-sidebar{height:100dvh;bottom:auto;min-height:0}
 .app-sidebar>.brand,.app-sidebar>.powered-credit{flex-shrink:0}
 .app-sidebar>nav{flex:1 1 auto;min-height:0;overflow:auto}
 .app-sidebar .sidebar-foot{display:block;flex:0 0 auto;margin:0;padding:8px 18px;overflow-wrap:anywhere}
 .sidebar-foot small{display:block;font-size:10px}
 html.catalog-content-frame body.catalog.signed-in{height:auto;min-height:100dvh;overflow:auto;display:block}
 html.catalog-content-frame body.catalog.signed-in>main{height:auto;overflow:visible}
 .login-screen{height:100dvh;min-height:0;grid-template-columns:55fr 45fr}
 .login-art{min-height:0;height:100%}
 .login-panel{min-height:0;padding:16px clamp(22px,3vw,48px) 10px;overflow:auto}
 .login-brand{flex:0 0 auto}
 .login-brand img{width:auto;max-width:100%;max-height:44px}
 .login-brand span{font-size:12px;margin-top:3px}
 .login-brand.brand-symbol-name img{width:40px!important;height:40px!important}
 .login-brand.brand-symbol-name .brand-wordmark{font-size:30px}
 .login-content{flex:1 0 auto;margin:0;padding:8px 0}
 .login-content .eyebrow{margin:4px 0;font-size:10px}
 .login-content h1{font-size:26px!important;line-height:1.06;margin:6px 0;letter-spacing:-.6px}
 .login-content>p{font-size:12px;margin:6px 0;line-height:1.35}
 .login-content #login{margin:10px 0 0}
 .login-content label{font-size:12px;margin:8px 0}
 .login-content input{padding:9px 11px;font-size:16px;min-height:40px}
 .password-field{margin-top:4px}
 .password-field button{min-height:40px}
 .login-content .forgot{font-size:12px}
 .login-content #signIn{min-height:42px;margin-top:10px;padding:9px 16px}
 .login-content .access-note{font-size:11px!important;margin-top:8px}
 .login-panel>.powered-credit{flex:0 0 auto;padding:4px 0;font-size:12px;line-height:1.2}
 .login-panel>.powered-credit strong{font-size:14px}
 .login-footer{flex:0 0 auto;margin:4px 0 0;font-size:10px;line-height:1.3;overflow-wrap:anywhere}
}
/* Consistent ActivePort Gaming lockup on login and every shell page. */
body[data-catalog-theme=activeport] .gaming-wordmark,.gaming-wordmark{font-family:inherit;font-weight:500;letter-spacing:.12em;color:#e500a5!important;font-size:20px!important;line-height:1.25;margin-top:8px;display:block}
.login-brand .gaming-wordmark{font-size:26px!important}
/* Page-specific setup field styles must not override the persistent search bar. */
body.catalog header.app-topbar .global-search input{padding-left:44px!important;box-sizing:border-box}
body.catalog header.app-topbar .global-search>.portal-icon{pointer-events:none;left:14px;top:50%;transform:translateY(-50%)}
@media(max-width:700px){body.catalog header.app-topbar .global-search input{padding-left:10px!important}}
