/* Shared layout, accessible navigation and support queues. */
:root{--cms-header-height:110px}
html{scroll-padding-top:calc(var(--cms-header-height) + 16px)}
body{min-width:280px}
button,input,select,textarea{font-family:inherit}
input,select,textarea{min-width:0;max-width:100%}
textarea{font-size:1rem}
button,.btn{max-width:100%;min-height:44px}
.btn{white-space:normal;text-align:center;overflow-wrap:anywhere}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.cms-skip-link{position:fixed;left:16px;top:12px;z-index:1000;padding:12px 18px;border-radius:10px;background:var(--gold);color:#111;font-weight:800;transform:translateY(-180%)}
.cms-skip-link:focus{transform:none}
.cms-menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.05);color:var(--text);font-size:.85rem;font-weight:800;cursor:pointer}
.cms-menu-toggle[aria-expanded="true"]{border-color:rgba(255,216,77,.4);color:var(--gold)}
.cms-menu-icon{font-size:1.2rem;line-height:1}
.nav{min-width:0}
.nav a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.container,.panel,.card,.stat-card,.table-wrap{min-width:0}
.grid>*,.hero-grid>*,.split-card>*,.form-row>*,.play-platform-grid>*,.class-grid>*,.admin-shop-grid>*,.social-page>*,.social-profile-workspace>*,.dm-page>*{min-width:0}
.hero-title,.section-title,h1,h2,h3,.notice,.empty,.error,.success,.footer,.admin-section-title{overflow-wrap:anywhere}
.form-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#75623c #151515}
.table-wrap table{min-width:560px}
.table-wrap input:not([type="hidden"]):not([type="checkbox"]){min-width:100px}
.table-wrap .btn{padding:10px 14px;white-space:nowrap}
.table-scroll-note{display:flex;align-items:center;gap:7px;margin:8px 0;color:var(--muted);font-size:.75rem}
.table-scroll-note[hidden]{display:none}
.notice code,.tiny,.mono{overflow-wrap:anywhere}
.notice .btn{margin:6px 4px 0 0}
.cta-row>form{min-width:0}
.footer{line-height:1.7;padding-inline:12px}
dialog{max-width:calc(100vw - 24px)}

.ticket-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.ticket-tabs{display:flex;flex:1 1 620px;flex-wrap:wrap;gap:6px;min-width:0;padding:6px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.ticket-tab{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:var(--muted);font-size:.77rem;font-weight:800;white-space:nowrap;transition:background .15s,border-color .15s}
.ticket-tab b{display:grid;place-items:center;min-width:23px;min-height:23px;padding:2px 6px;border-radius:7px;background:rgba(255,255,255,.06);font-size:.68rem;font-variant-numeric:tabular-nums}
.ticket-tab:hover{background:rgba(255,255,255,.05);color:var(--text)}
.ticket-tab.active{border-color:rgba(255,216,77,.32);background:rgba(255,216,77,.1);color:#ffe892}
.ticket-tab.active b{background:rgba(255,216,77,.15)}
.ticket-search{display:flex;flex:1 1 300px;align-items:center;gap:8px;min-width:0}
.ticket-search input{flex:1;min-width:0;padding:12px 13px}
.ticket-search .btn{flex:0 0 auto;padding:11px 15px;font-size:.8rem}
.ticket-search .text-link{font-size:.77rem}
.ticket-view-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.ticket-view-heading h2,.ticket-view-heading h3{font-family:'Cinzel',serif;font-size:1.15rem}
.ticket-view-heading p{max-width:75ch;margin-top:6px;color:var(--muted);font-size:.8rem;line-height:1.6}
.ticket-view-heading>span{flex-shrink:0;color:var(--muted);font-size:.75rem}
.ticket-empty{display:grid;justify-items:center;align-content:center;gap:10px;min-height:230px;padding:26px 18px;text-align:center}
.ticket-empty>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,216,77,.18);border-radius:14px;background:rgba(255,216,77,.06);color:var(--gold);font-size:1.4rem}
.ticket-empty strong{font-size:.9rem}
.ticket-empty p{max-width:32ch;color:var(--muted);font-size:.78rem;line-height:1.6}
.ticket-handler{font-size:.65rem;color:var(--muted);overflow-wrap:anywhere}
.ticket-flags{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.support-status.priority{border-color:rgba(255,149,98,.4);background:rgba(255,149,98,.12);color:#ffba91}
.support-status.archived{border-color:rgba(174,159,214,.3);background:rgba(174,159,214,.08);color:#c6b7e4}
.admin-ticket-item.is-priority{border-left:3px solid #f49b67;padding-left:12px}
.admin-ticket-actions{flex-wrap:wrap}
.ticket-management-actions{justify-content:flex-start;padding:12px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.015)}
.ticket-management-actions .ticket-priority-button{border-color:rgba(255,149,98,.4);background:rgba(255,149,98,.12);color:#ffba91}
.ticket-archive-note{margin:0;padding:12px 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.75rem;line-height:1.6}
.ticket-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:14px 10px;border-top:1px solid var(--line);background:#121211}
.ticket-pagination>span{color:var(--muted);font-size:.7rem}
.ticket-pagination .btn{padding:9px 11px;border-radius:10px;font-size:.72rem}
.ticket-mobile-back{display:none;padding:13px 15px;border-bottom:1px solid var(--line);font-size:.78rem}
.support-ticket-list{max-height:880px;overflow-y:auto}
.support-ticket-list.panel{border:0;border-right:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.012)}
.support-conversation.panel{border:0;border-radius:0;background:transparent}
.support-ticket-link>span{min-width:0;width:100%}
.support-ticket-link-top{flex-wrap:nowrap!important}
.support-ticket-link-top strong{flex:1 1 0;min-width:0}
.support-ticket-link-top b{flex-shrink:0}
.admin-ticket-queue,.support-ticket-list{min-width:0;overscroll-behavior-y:contain;scrollbar-color:#75623c transparent}
.admin-ticket-item,.support-ticket-link{min-width:0;min-height:80px}
.admin-ticket-item p{line-height:1.5}
.admin-ticket-item footer,.support-ticket-link>span{flex-wrap:wrap}
.support-conversation-header>div{min-width:0}
.support-conversation-header h2,.support-conversation-header p{overflow-wrap:anywhere}
.support-conversation-header{flex-wrap:wrap}
.support-thread{min-width:0}
.support-message{min-width:0}
.support-message-card{max-width:100%}
.support-upload{max-width:100%}
.support-upload:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
.support-ticket-list-header{gap:12px}
.support-welcome{min-height:420px}
.admin-section-summary-meta{flex-wrap:wrap}
.social-body,.social-comment-body,.dm-message-body,.dm-chat-person,.social-profile-identity{overflow-wrap:anywhere;min-width:0}
.social-notification-item>*,.social-panel-heading>*,.dm-chat-header>*{min-width:0}
.dm-message-list{overscroll-behavior-y:contain}

@media(min-width:901px) and (max-width:1180px){
  .grid.cols-4,.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.cols-3,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .class-card{grid-template-columns:170px minmax(0,1fr)}
}
@media(min-width:981px){
  body .admin-shop-sidebar{top:calc(var(--cms-header-height) + 16px);max-height:calc(100dvh - var(--cms-header-height) - 32px)}
}
@media(max-width:980px){
  .admin-quick-actions{width:100%}
  body .stats-editor{grid-template-columns:repeat(auto-fit,minmax(min(100%,110px),1fr))}
  body .check-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}
}
@media(max-width:900px){
  .topbar .inner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0}
  .topbar .brand{grid-column:1;grid-row:1}
  .topbar .userbox{display:none}
  html.cms-enhanced .cms-menu-toggle{display:inline-flex;grid-column:2;grid-row:1}
  .topbar .nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;max-height:65dvh;overflow:auto;padding:5px 0 10px;overscroll-behavior:contain}
  html.cms-enhanced .topbar .nav:not(.is-open){display:none}
  .topbar .nav a{min-width:0;justify-content:flex-start;white-space:normal;overflow-wrap:anywhere;padding:12px;background:rgba(255,255,255,.025);border-color:var(--line)}
  .topbar .nav a.active{border-color:rgba(255,216,77,.3);background:rgba(255,216,77,.08)}
  .brand img{width:44px;height:44px;flex-shrink:0}
  .brand h1{font-size:1.05rem}
  .brand .version{font-size:.75rem}
  .support-layout,.admin-support-layout{grid-template-columns:minmax(0,1fr);min-height:0}
  .support-ticket-list,.admin-ticket-queue{max-height:360px;max-height:min(42dvh,360px);border-right:0;border-bottom:1px solid var(--line)}
  .support-ticket-list.panel{border-right:0;border-bottom:1px solid var(--line)}
  .admin-ticket-workspace.is-empty,.support-conversation.is-empty{display:none}
  .ticket-mobile-back{display:block}
  .support-welcome{min-height:280px}
  .support-thread,.admin-ticket-workspace>.support-thread{min-height:260px;max-height:60dvh}
  .support-conversation,.admin-ticket-workspace{scroll-margin-top:calc(var(--cms-header-height) + 12px)}
  .admin-section-summary-meta{display:none}
  .admin-section>summary{align-items:flex-start}
}
@media(max-width:640px){
  .container{width:calc(100% - 24px)}
  .hero{padding-top:24px}
  .panel.pad,.card,.stat-card{padding:18px;border-radius:17px}
  .hero-title{font-size:clamp(1.7rem,8vw,2.45rem)!important;line-height:1.15}
  .section-title{font-size:1.4rem}
  .hero-copy{font-size:.94rem;line-height:1.65}
  .hero-grid,.grid.cols-2,.grid.cols-3,.grid.cols-4,.class-grid,.gallery,.split-card,.play-platform-grid{grid-template-columns:minmax(0,1fr)}
  .inventory-grid,.meta-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .class-card{padding:0}
  .class-body{padding:18px}
  .gallery-item img{height:230px}
  .cta-row{gap:10px}
  .cta-row>.btn,.cta-row>form{flex:1 1 160px}
  .cta-row>form>.btn{width:100%}
  .btn{padding:12px 16px}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px}
  .input-group label{font-size:.9rem}
  .table-wrap th,.table-wrap td{padding:11px 12px;font-size:.83rem}
  .login-wrap{margin-top:24px}
  .support-page{padding:24px 0 48px}
  .support-layout{margin:0;border:1px solid var(--line);border-radius:17px}
  .support-conversation.panel{padding:0;border-radius:0}
  .support-page-header>.btn{width:100%}
  .ticket-toolbar{gap:12px}
  .ticket-tabs{flex-basis:100%;flex-wrap:nowrap;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#75623c transparent}
  .ticket-tab{flex:0 0 auto;padding:10px}
  .ticket-search{flex-basis:100%}
  .ticket-view-heading p{font-size:.78rem}
  .support-conversation-header{padding:16px}
  .support-conversation-header h2{font-size:1.1rem}
  .support-thread{padding:16px 12px}
  .support-message{max-width:96%;gap:7px}
  .support-message>.social-avatar{width:28px;height:28px}
  .support-message-card{padding:11px}
  .support-message-card header{row-gap:5px}
  .support-message-card time{flex-basis:100%;margin-left:0}
  .support-reply-form{padding:14px}
  .support-reply-actions .btn{width:100%;margin:0}
  .support-ticket-form>.btn,.support-ticket-command>.btn,.admin-ticket-actions form,.admin-ticket-actions .btn{width:100%}
  .support-closed-box form,.support-closed-box .btn{width:100%}
  .admin-hero-title{font-size:1.7rem}
  .admin-hero .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .admin-hero .stat-card{padding:14px}
  .admin-hero .stat-value{font-size:1.6rem}
  .admin-quick-actions .btn{flex:1 1 140px}
  .admin-section-body{padding:12px}
  .admin-section-title span{line-height:1.5}
  .admin-section>summary{gap:10px;padding:15px}
  .social-profile-panel{padding:15px}
  .social-profile-identity h1{font-size:1.5rem}
  .social-notifications-header,.social-panel-heading{gap:12px}
  .social-friend-grid{grid-template-columns:1fr}
  .social-customize-dialog{width:calc(100vw - 20px);max-height:92dvh}
  .social-settings-scroll{max-height:calc(92dvh - 150px)}
  .dm-page{width:calc(100% - 24px);margin:24px auto 48px}
  .dm-chat{height:clamp(440px,75dvh,700px)}
  .dm-sidebar{max-height:300px}
  .dm-chat-header{position:static;flex-wrap:wrap}
  .dm-message{max-width:94%}
  .dm-player-search{min-width:0}
}
@media(max-width:380px){
  .brand{gap:8px}
  .brand h1{font-size:.86rem;letter-spacing:0}
  .brand img{width:36px;height:36px}
  .cms-menu-toggle{padding:8px 10px;font-size:.78rem}
  .inventory-grid,.meta-list,.social-game-stats,.social-inventory-grid,.social-loadout-vitals{grid-template-columns:minmax(0,1fr)}
  body .provider-button{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  body .provider-logo{grid-column:1/-1;width:100px}
  body .provider-price{font-size:1rem;white-space:normal}
  .dm-composer-row{grid-template-columns:minmax(0,1fr) 44px}
  .dm-composer-row .btn{grid-column:1/-1;min-height:44px}
  .dm-upload{width:44px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important}
}
