/* Account-local appearance, loaded after every feature stylesheet. */
:root{color-scheme:light;--admin-font:13px;--bg:#f5f6f8;--surface:#fff;--soft:#f0f2f5;--text:#243042;--muted:#647186;--line:#dce1e8;--accent:#826130}
:root[data-admin-theme=dark]{color-scheme:dark;--bg:#12171e;--surface:#1b232e;--soft:#242e3b;--text:#e1e7ef;--muted:#a5b2c4;--line:#354254;--accent:#e2bb7c}
body{background:var(--bg);color:var(--text);font-size:var(--admin-font);line-height:1.65}
h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}p,small{color:var(--muted)}a{color:var(--accent)}
#adminSidebar,.workspace-toolbar,#adminWorkspace section,.standalone-panel,body section{background:var(--surface);border-color:var(--line);color:var(--text)}
#adminSidebar{width:224px;padding:24px 12px}body:has(#adminPanel:not([hidden]))>main{padding-left:224px}
.brand{font-size:22px;color:var(--accent)}.brand small,#adminNav summary,#adminBreadcrumb,.sidebar-back{color:var(--muted)}
#adminNav button{color:var(--text);font-size:13px;padding:10px 16px 10px 24px}#adminNav button:hover,#adminNav button.selected{background:var(--soft);color:var(--accent)}
#adminWorkspace{max-width:1320px;padding:24px 36px 64px}.workspace-toolbar{gap:16px;margin-bottom:24px;padding:12px 0}.admin-heading{margin-bottom:28px}
#adminWorkspace section{padding:28px}.admin-feature-host{background:none!important}
#adminWorkspace input,#adminWorkspace select,#adminWorkspace textarea,#loginPanel input{background:var(--bg);color:var(--text);border-color:var(--line);font-size:inherit;min-width:0}
#adminWorkspace label{color:var(--text)}#adminWorkspace fieldset{border-color:var(--line)}
#adminWorkspace .admin-icon-grid,#overviewLinks.admin-icon-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:22px}
#adminWorkspace .admin-icon-tile,#overviewLinks .admin-icon-tile{background:var(--surface);color:var(--text);border-color:var(--line);border-radius:14px;padding:20px;gap:12px}
#adminWorkspace .admin-icon-tile:hover{background:var(--soft);border-color:var(--accent)}#adminWorkspace .admin-icon-tile strong{font-size:13px}.admin-tile-symbol{color:var(--accent)}
#operatorListPanel{min-height:calc(100dvh - 155px)}#operatorRows.admin-account-grid{grid-template-columns:repeat(auto-fill,minmax(156px,1fr));gap:24px;align-content:start;margin-top:28px;padding:8px}
#operatorRows.admin-account-grid .operator-card{position:relative;overflow:hidden;background:var(--surface);border-color:var(--line);padding:30px 14px 16px;gap:10px;color:var(--text);border-radius:14px;box-shadow:0 3px 12px #00000006}
#operatorRows.admin-account-grid .operator-card strong{font-size:13px}#operatorRows.admin-account-grid .operator-card small{color:var(--muted);font-size:11px}#operatorRows.admin-account-grid .operator-card::before{font-size:26px;color:var(--accent)}
.operator-card .status-badge{position:absolute;top:14px;right:-29px;width:110px;height:23px;padding:0;text-align:center;line-height:23px;font-size:10px;font-weight:600;border-radius:0;transform:rotate(45deg);background:linear-gradient(#36a775,#228454);color:white;box-shadow:0 2px 4px #0003}
.operator-card .status-badge.disabled{background:linear-gradient(#df5c5c,#b63131);color:white}.operator-card .status-badge::before,.operator-card .status-badge::after{content:'';position:absolute;bottom:-5px;border-top:5px solid #165339;border-left:5px solid transparent;border-right:5px solid transparent}.operator-card .status-badge::before{left:7px}.operator-card .status-badge::after{right:7px}.operator-card .status-badge.disabled::before,.operator-card .status-badge.disabled::after{border-top-color:#7c2424}
#adminWorkspace .admin-add-square{color:var(--accent);border-color:var(--line)}.profile-grid dt,.detail-tabs button{color:var(--muted)}.detail-tabs [aria-selected=true]{background:var(--soft);color:var(--accent)}
#adminWorkspace details,#adminWorkspace summary,#adminWorkspace .admin-row,#adminWorkspace .game-row{border-color:var(--line);color:var(--text);background:var(--surface)}
#adminWorkspace table,#adminWorkspace th,#adminWorkspace td{background:var(--surface);color:var(--text);border-color:var(--line)}
#adminAppearanceForm{max-width:440px;display:grid;gap:18px}#adminAppearanceNotice{min-height:24px;margin:0}#adminWorkspace button{font-size:inherit}#adminWorkspace .list-filters{gap:24px;margin:24px 0}
@media(max-width:760px){body:has(#adminPanel:not([hidden]))>main{padding-left:0}#adminSidebar{width:224px}#adminWorkspace{padding:0 16px 40px}.workspace-toolbar{margin-bottom:22px;min-height:62px;gap:10px}#adminWorkspace section{padding:22px 16px}#adminWorkspace .admin-icon-grid,#overviewLinks.admin-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#operatorRows.admin-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:4px}#operatorListPanel{min-height:calc(100dvh - 120px)}#adminWorkspace .list-filters{gap:16px}.admin-heading{flex-wrap:wrap;gap:14px}}
#adminWorkspace .player-tile,#adminWorkspace .player-ledger-card,#adminWorkspace .player-history,#adminWorkspace .player-ranking,#adminWorkspace .finance-tile,#adminWorkspace .finance-details,#adminWorkspace .finance-ledger-row,#adminWorkspace .channel-card,#adminWorkspace .virtual-channel-card,#adminWorkspace .admin-record-grid>details{background:var(--surface);color:var(--text);border-color:var(--line)}
#adminWorkspace small,#adminWorkspace dt,#adminWorkspace [role=status],#adminWorkspace .finance-field-hint{color:var(--muted)}
#operatorRows.admin-account-grid .operator-card{padding:24px 10px 10px;gap:4px;line-height:1.4}#operatorRows.admin-account-grid .operator-card::before{font-size:20px}#operatorRows.admin-account-grid .operator-card small{line-height:1.4}#operatorRows .operator-card>span:last-child:not(.status-badge){font-size:11px}
@media(max-width:760px){#adminSidebar:not(.open){box-shadow:none}}
body:has(#adminPanel:not([hidden])) #notice{background:var(--surface);color:var(--text);border:1px solid var(--line)}

/* Independent touch targets for catalog filters and paging. */
#gameSearchForm{display:flex;flex-wrap:wrap;align-items:end;gap:12px}
#gameSearchForm label{flex:1 1 180px;min-width:0;margin:0}
#gameSearchForm button{margin:0;min-height:40px}
#gamePrevious{margin-right:12px;margin-bottom:12px}#gameNext{margin-bottom:12px}
.workspace-toolbar{flex-wrap:wrap;gap:10px;padding:10px 0}
#adminWorkspace :is(.detail-tabs,.admin-row,.panel-title){flex-wrap:wrap;gap:12px}
@media(max-width:760px){#gameSearchForm label{flex-basis:100%}.workspace-toolbar #adminBreadcrumb{flex-basis:100%}}

/* Shared admin action spacing, including dynamically inserted controls. */
#adminWorkspace :is(.actions,.detail-actions,#readinessActions){display:flex;flex-wrap:wrap;align-items:center;gap:12px}
#adminWorkspace button{max-width:100%;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}
#adminWorkspace button+button{margin:0}
#adminWorkspace :is(.actions,.detail-actions,.detail-tabs,.workspace-toolbar,#readinessActions)>button{margin:0}
#adminWorkspace form>button{margin-block:6px}
#adminWorkspace .game-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
#adminWorkspace .game-row>:is(input,select,label,p,small){min-width:0;max-width:100%;flex:1 1 180px}
#adminWorkspace .game-row>label{flex-basis:100%}
@media(max-width:760px){#adminWorkspace .game-row>:is(input,select){flex-basis:100%;width:100%}}


/* Owner-authorized mobile admin: aligned three-column tiles with 15px gutters. */
@media(max-width:760px){
 #adminWorkspace .admin-icon-grid,#overviewLinks.admin-icon-grid,#operatorRows.admin-account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
 #adminWorkspace .admin-icon-tile,#overviewLinks .admin-icon-tile{padding:12px 5px;gap:8px;min-width:0}
 #adminWorkspace .admin-icon-tile strong{font-size:14px;line-height:1.4}
 #adminWorkspace .admin-tile-symbol{font-size:32px}
 #operatorRows.admin-account-grid .operator-card{min-width:0;padding:28px 5px 10px}
 #operatorRows.admin-account-grid .operator-card strong{font-size:14px}
}


/* 2026-10-16: one compact layout across all authorized admin views.
   Spacing belongs to a row/grid, never to an adjacent button: sibling margins
   previously shifted the second and third tile down and out of their columns. */
:root{--admin-gutter:20px;--admin-tile-gap:12px;--admin-toolbar-height:84px}
#adminWorkspace{padding:16px var(--admin-gutter) 40px;min-width:0}
#adminWorkspace :is(section,form,fieldset,.panel-title,.admin-heading,.list-filters){min-width:0;max-width:100%}
#adminWorkspace section{padding:18px}
#adminWorkspace h2{margin-bottom:10px;line-height:1.4}
#adminWorkspace p{margin-block:8px}
#adminWorkspace button{min-height:44px;touch-action:manipulation;line-height:1.35}
#adminWorkspace :is(button,input,select,textarea){max-width:100%}
#adminWorkspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-height:44px}
#adminWorkspace :is(button+button,form>button){margin:0}
#adminWorkspace :is(.actions,.detail-actions,.detail-tabs,.channel-toolbar,.rc-actions,.rc-reorder,.cm-toolbar,.finance-toolbar,#readinessActions){gap:10px;align-items:center}
#adminWorkspace :is(.actions,.detail-actions,.channel-toolbar,.rc-actions,.cm-toolbar,.finance-toolbar,#readinessActions){display:flex;flex-wrap:wrap}
#adminWorkspace :is(.actions,.detail-actions,.channel-toolbar,.rc-actions,.rc-reorder,.cm-toolbar,.finance-toolbar,#readinessActions)>button{margin:0}
#adminWorkspace :is(.panel-title,.admin-heading){align-items:center;gap:10px}
#adminWorkspace .panel-title h2{margin:0}
#adminWorkspace .admin-heading{margin:10px 0 16px;flex-wrap:nowrap}
#adminWorkspace .admin-heading p{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}
#adminWorkspace .admin-heading button{padding:8px 12px}
#adminWorkspace .workspace-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:8px 0;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent}
#adminWorkspace .workspace-toolbar>button{padding:8px 12px;margin:0;white-space:nowrap}
#adminBreadcrumb{flex:1;margin:0!important;font-size:12px;line-height:1.5;min-width:0}
#adminBack{min-height:44px}
#overviewGreeting{margin:0 0 12px!important;line-height:1.5}
#adminWorkspace :is(.admin-icon-grid,.admin-record-grid,.admin-account-grid,.cm-grid,.gu-grid,.rc-grid,.finance-tiles,#playerResults),#overviewLinks.admin-icon-grid,#operatorRows.admin-account-grid{
 display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,120px));gap:var(--admin-tile-gap);align-items:stretch;align-content:start;justify-content:start;margin:12px 0 0;padding:0
}
#adminWorkspace :is(.admin-icon-tile,.operator-card,.player-tile,.finance-tile,.cm-tile,.gu-tile,.rc-tile,.admin-add-square){margin:0;min-width:0;width:100%;max-width:none;min-height:0;aspect-ratio:1;border-radius:12px}
#adminWorkspace :is(.admin-icon-tile,.player-tile,.finance-tile,.cm-tile,.gu-tile,.rc-tile){padding:8px 5px;gap:6px;background:var(--surface);color:var(--text);border-color:var(--line)}
#adminWorkspace :is(.admin-icon-tile,.player-tile,.finance-tile,.cm-tile,.gu-tile,.rc-tile):hover{background:var(--soft);border-color:var(--accent)}
#adminWorkspace :is(.admin-icon-tile,.player-tile,.finance-tile,.cm-tile,.gu-tile,.rc-tile) strong{font-size:max(13px,var(--admin-font));line-height:1.3;max-width:100%;overflow-wrap:anywhere}
#adminWorkspace .admin-tile-symbol{width:40px;height:40px;font-family:system-ui,-apple-system,sans-serif;font-size:30px;line-height:1;color:var(--accent);flex:none}
#adminWorkspace :is(.player-tile-icon,.cm-icon,.gu-logo){width:38px;height:38px;flex:none}
#adminWorkspace .finance-tile>span{width:36px;height:36px;font-size:30px}
#adminWorkspace .rc-tile :is(.rc-logo,.rc-icon){width:40px;height:40px;max-width:40px}
#adminWorkspace .rc-tile .rc-logo img{width:100%;height:100%}
#adminWorkspace .rc-tile-label{font-size:max(13px,var(--admin-font));line-height:1.3}
#adminWorkspace :is(.rc-tile-meta,.cm-tile small,.finance-tile small,.player-tile small){color:var(--muted);font-size:11px;line-height:1.3}
#adminWorkspace .admin-add-square{font-size:48px;min-height:0;color:var(--accent);background:transparent;border-color:var(--line)}
#operatorListPanel{min-height:0}
#operatorRows.admin-account-grid .operator-card{padding:22px 5px 8px;gap:3px;line-height:1.3}
#operatorRows.admin-account-grid .operator-card::before{font-size:20px}
#operatorRows.admin-account-grid .operator-card strong{font-size:max(13px,var(--admin-font));line-height:1.3}
#operatorRows.admin-account-grid .operator-card small{font-size:11px;line-height:1.25}
#adminWorkspace .admin-record-grid>details{border-radius:12px}
#adminWorkspace .admin-record-grid>details:not([open])>summary{padding:8px 5px;gap:5px;font-size:max(12px,var(--admin-font));line-height:1.3}
#adminWorkspace .admin-record-grid:has(>details[open]){display:block}
#adminWorkspace .admin-record-grid>details[open]{padding:12px}
#adminWorkspace .admin-record-back{margin:10px 0 12px}
#adminWorkspace .admin-order-grid>.admin-record-date{margin:8px 0 0}
#adminWorkspace .admin-order-grid>button.admin-order-summary{margin:0;background:var(--surface);color:var(--text);border-color:var(--line)}
#adminWorkspace .admin-order-summary>.admin-order-id,#adminWorkspace .admin-order-summary>.admin-order-status{color:var(--muted)}
#gameRows .admin-game-cover{width:52px;height:52px}
#gameRows .admin-game-badges{gap:3px}
#gameRows .admin-game-badge{padding:2px 4px}
#gameRows>.admin-game-card:not([open])>.admin-game-summary{justify-content:center}
#gameRows>.admin-game-card:not([open])>.admin-game-summary>strong{font-size:max(12px,var(--admin-font));line-height:1.25}
#gameSearchForm{display:grid;grid-template-columns:minmax(160px,2fr) repeat(2,minmax(100px,1fr));gap:10px;margin:12px 0}
#gameSearchForm label{margin:0;min-width:0;gap:5px}
#gameSearchForm .admin-field-note{display:none}
#gameSearchForm :is(input,select){width:100%}
#gameSearchForm .admin-filter-actions{grid-column:1/-1;margin:0}
#gameSearchForm button{min-height:44px}
#gameListPanel .admin-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}
#gameListPanel .admin-pagination p{margin:0 auto 0 0;font-size:12px}
#gamePrevious,#gameNext{margin:0;padding:8px 12px}
#adminWorkspace .list-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(100px,1fr);gap:12px;margin:14px 0;align-items:end}
#adminWorkspace .list-filters label{margin:0;gap:5px;min-width:0}
#adminWorkspace :is(.grid,.rc-fields){align-items:start;gap:12px}
#adminWorkspace .grid>label{margin:0;min-width:0}
#adminWorkspace :is(.rc-detail,.cm-preview,.gu-detail,.profit-asset,.rc-history,.rc-advanced,.rc-order,.finance-details,.finance-ledger-row,.player-history,.player-ledger-card,.player-ranking-row){background:var(--surface);color:var(--text);border-color:var(--line)}
#adminWorkspace :is(.rc-muted,.rc-status,.rc-value,.cm-hint,.cm-field-help,.finance-field-hint,.rc-tile-meta,.wallet-conversion,.profit-coverage){color:var(--muted)}
#adminWorkspace :is(.rc-link,.profit-asset h3,.profit-recorded-net,.finance-toolbar){color:var(--accent)}
#adminWorkspace :is(.rc-reorder button,.rc-limits-button){background:var(--soft);color:var(--text);border-color:var(--line);min-height:44px}
#adminWorkspace :is(.rc-advanced,.rc-history,.rc-order)>summary{color:var(--text)}
#adminWorkspace :is(#paymentChannelsPanel,#virtualChannelsPanel,#virtualWithdrawalPanel){--rc-muted:var(--muted);--rc-border:var(--line);--rc-gold:var(--accent);--rc-surface:var(--surface);color:var(--text)}
#paymentChannelsPanel.rc-empty>[data-content]>.rc-grid{grid-template-columns:112px;justify-content:start;margin:12px 0}
#paymentChannelsPanel.rc-empty .rc-add-tile{min-height:0;width:112px;height:112px}
#paymentChannelsPanel.rc-empty .rc-add-tile .rc-logo-add{width:48px;height:48px;max-width:48px;font-size:52px}
#adminWorkspace .rc-tile-wrap{min-width:0;gap:6px}
#adminWorkspace .rc-reorder{flex-wrap:nowrap;gap:4px}
#adminWorkspace .rc-reorder button{flex:1;min-width:0;padding:6px 2px;font-size:11px}
#adminWorkspace :is(.detail-tabs,.profile-grid,#operatorDetailGrants){margin-block:14px}
#adminWorkspace .detail-tabs{display:flex;flex-wrap:wrap;gap:8px}
#adminWorkspace .detail-tabs button{margin:0}
#adminWorkspace .game-row{gap:10px;padding:12px 0}
#adminWorkspace .game-row>:is(input,select,label,p,small){min-width:0;max-width:100%}
#adminWorkspace .game-row>label{flex-basis:100%}
#adminWorkspace .game-row>:is(input,select){flex:1 1 180px}
#adminWorkspace .admin-row{align-items:center;gap:10px;flex-wrap:wrap}
#adminWorkspace .admin-row>strong{min-width:0;overflow-wrap:anywhere}
#adminWorkspace :is(.profit-filters,.rc-toolbar,.gu-toolbar){gap:10px}
#adminWorkspace .profit-filters label{min-width:0}
#adminWorkspace .profit-table-scroll{max-width:100%;overflow:auto}
#adminWorkspace :is(.cm-editor,.rc-detail,.gu-detail){max-width:100%}
#adminWorkspace :is(.cm-toolbar,.rc-toolbar,.gu-toolbar) h2{margin:0}
#adminWorkspace :is(.rc-fields,.rc-actions,.cm-editor,.gu-rate-form)>button{margin:0}
#adminWorkspace .admin-feature-host [role=status]:empty{display:none}
body:has(#adminPanel:not([hidden])) #notice{bottom:calc(14px + env(safe-area-inset-bottom,0px));right:14px;font-size:13px;max-width:calc(100vw - 28px)}
@media(max-width:1000px){
 :root{--admin-gutter:14px;--admin-toolbar-height:calc(84px + env(safe-area-inset-top,0px))}
 body:has(#adminPanel:not([hidden]))>main{padding:0}
 #adminWorkspace{padding:0 max(var(--admin-gutter),env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(var(--admin-gutter),env(safe-area-inset-left,0px))}
 #adminWorkspace .workspace-toolbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:max-content max-content max-content 1fr;gap:6px 8px;min-height:var(--admin-toolbar-height);margin:0 calc(-1 * var(--admin-gutter)) 10px;padding:calc(8px + env(safe-area-inset-top,0px)) var(--admin-gutter) 8px;background:var(--bg)}
 #adminWorkspace .workspace-toolbar #adminBreadcrumb{grid-column:1/-1;min-height:18px;margin:0}
 #navToggle{display:block}
 #adminSidebar{width:min(260px,85vw);top:var(--admin-toolbar-height);padding:14px 10px calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-100%);transition:transform .15s;box-shadow:none}
 #adminSidebar.open{transform:none;box-shadow:10px 0 30px #0008}
 #adminSidebar .brand{padding-bottom:12px}
 #adminSidebarBackdrop{position:fixed;inset:var(--admin-toolbar-height) 0 0;z-index:19;width:100%;height:auto;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.45)}
 #adminPanel:has(#adminSidebar.open) #adminSidebarBackdrop{display:block}
 #adminWorkspace section{padding:14px}
 #adminWorkspace .admin-heading{font-size:12px;margin:8px 0 14px}
 #adminWorkspace .admin-heading button{font-size:13px}
 #adminWorkspace :is(.admin-icon-grid,.admin-record-grid,.admin-account-grid,.cm-grid,.gu-grid,.rc-grid,.finance-tiles,#playerResults),#overviewLinks.admin-icon-grid,#operatorRows.admin-account-grid{grid-template-columns:repeat(auto-fill,minmax(104px,120px));gap:12px}
 #adminWorkspace .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #operatorRows.admin-account-grid{padding:0}
 #operatorListPanel{min-height:0}
}
@media(max-width:600px){
 #adminWorkspace :is(.admin-icon-grid,.admin-record-grid,.admin-account-grid,.cm-grid,.gu-grid,.rc-grid,.finance-tiles,#playerResults),#overviewLinks.admin-icon-grid,#operatorRows.admin-account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:320px;margin-inline:auto}
 #adminWorkspace .admin-record-grid:has(>details[open]){max-width:none}
 #adminWorkspace :is(.admin-icon-tile,.player-tile,.finance-tile,.cm-tile,.gu-tile,.rc-tile){padding:7px 4px;gap:5px}
 #adminWorkspace .admin-tile-symbol{width:clamp(32px,10vw,40px);height:clamp(32px,10vw,40px);font-size:28px}
 #adminWorkspace :is(.player-tile-icon,.cm-icon,.gu-logo){width:34px;height:34px}
 #adminWorkspace .rc-tile :is(.rc-logo,.rc-icon){width:36px;height:36px;max-width:36px}
 #adminWorkspace .grid{grid-template-columns:minmax(0,1fr)}
 #gameSearchForm{grid-template-columns:repeat(2,minmax(0,1fr))}
 #gameSearchForm>label:first-child{grid-column:1/-1}
 #gameListPanel .admin-pagination{gap:8px}
 #gameListPanel .admin-pagination p{width:100%}
 #adminWorkspace .list-filters{grid-template-columns:minmax(0,1.35fr) minmax(96px,1fr)}
 #adminWorkspace .rc-fields{grid-template-columns:minmax(0,1fr)}
 #adminWorkspace .game-row>:is(input,select){width:100%;flex-basis:100%}
 #adminWorkspace .profile-grid{grid-template-columns:1fr;gap:4px}
 #adminWorkspace .profile-grid dd{margin-bottom:8px}
 #paymentChannelsPanel.rc-empty>[data-content]>.rc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
 #paymentChannelsPanel.rc-empty .rc-add-tile{width:100%;height:auto}
 #gameRows .admin-game-cover{width:44px;height:44px}
}
@media(max-width:360px){
 :root{--admin-gutter:10px}
 #adminWorkspace section{padding:10px}
 #adminWorkspace :is(.admin-icon-grid,.admin-record-grid,.admin-account-grid,.cm-grid,.gu-grid,.rc-grid,.finance-tiles,#playerResults),#overviewLinks.admin-icon-grid,#operatorRows.admin-account-grid{gap:8px}
 #adminWorkspace :is(.admin-icon-tile,.player-tile,.finance-tile,.cm-tile,.gu-tile,.rc-tile) strong{font-size:13px}
 #adminWorkspace .admin-heading{gap:8px}
 #adminWorkspace .admin-heading button{padding:8px}
 #gameRows .admin-game-cover{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){#adminSidebar{transition:none}}

/* Password inputs must shrink beside their independent visibility control. */
#adminWorkspace .password-field{display:flex;min-width:0;width:100%;max-width:100%;gap:6px}
#adminWorkspace .password-field input{flex:1 1 0;min-width:0;width:0}
#adminWorkspace .password-field button{flex:0 0 44px;padding:6px;min-width:44px;min-height:44px;margin:0}

/* Directory cards expose the full account details through their existing drill-in. */
#operatorRows.admin-account-grid .operator-card{padding:26px 6px 8px;gap:4px}
#operatorRows.admin-account-grid .operator-card strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#operatorRows.admin-account-grid .operator-card small{display:none}
#operatorRows.admin-account-grid .operator-card .status-badge{top:5px;right:5px;width:auto;height:auto;min-height:16px;padding:1px 5px;border-radius:4px;line-height:1.3;transform:none;font-size:10px;box-shadow:none}
#operatorRows.admin-account-grid .operator-card .status-badge::before,#operatorRows.admin-account-grid .operator-card .status-badge::after{display:none}
#adminWorkspace :is(#paymentChannelsPanel,#virtualChannelsPanel,#virtualWithdrawalPanel) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--bg);color:var(--text);border-color:var(--line)}

#adminWorkspace #readinessActions{margin-top:10px}
#adminWorkspace #supportNext{margin-inline-start:10px}
#adminWorkspace :is(#setupTelegramBot,#checkTelegramBot){margin:0 8px 8px 0}
#adminWorkspace #backOperators{margin-bottom:12px}
#adminWorkspace #winratePanel form{margin-bottom:18px}
/* Keep the eight overview entrances compact while using the available width. */
@media(max-width:600px){
 #adminWorkspace #overviewLinks.admin-icon-grid{width:100%;max-width:none;margin-inline:0;grid-template-columns:repeat(3,minmax(0,100px));justify-content:space-between;gap:20px}
}

/* Game catalog only: expanded records must escape the compact tile grid. */
#adminWorkspace #gameRows.admin-record-grid:has(>.admin-game-card[open]){
 display:block;width:100%;max-width:none;margin-inline:0
}
#adminWorkspace #gameRows>.admin-game-card[open]{
 width:100%;min-width:0;max-width:100%;padding:16px;box-sizing:border-box
}
#adminWorkspace #gameRows>.admin-game-card[open]>.admin-game-summary{
 display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 14px;align-items:center;text-align:left
}
#adminWorkspace #gameRows>.admin-game-card[open]>.admin-game-summary .admin-game-cover{
 grid-row:1/3;width:80px;height:80px;object-fit:contain
}
#adminWorkspace #gameRows>.admin-game-card[open]>.admin-game-summary>strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
#adminWorkspace #gameRows>.admin-game-card[open] .admin-game-badges{justify-content:flex-start}
#adminWorkspace #gameRows>.admin-game-card[open]>.admin-record-back{margin:14px 0}
#adminWorkspace #gameRows>.admin-game-card[open]>.game-row{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;margin:0;padding:16px 0 0
}
#adminWorkspace #gameRows>.admin-game-card[open]>.game-row>*{min-width:0;max-width:100%;margin:0}
#adminWorkspace #gameRows>.admin-game-card[open]>.game-row>:is(p,small,label){
 grid-column:1/-1;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.7
}
#adminWorkspace #gameRows>.admin-game-card[open]>.game-row>small{font-family:ui-monospace,monospace;font-size:12px}
#adminWorkspace #gameRows>.admin-game-card[open]>.game-row>button{justify-self:start;padding:10px 16px}
@media(max-width:600px){
 #adminWorkspace #gameRows>.admin-game-card[open]{padding:14px}
 #adminWorkspace #gameRows>.admin-game-card[open]>.game-row{grid-template-columns:minmax(0,1fr)}
 #adminWorkspace #gameRows>.admin-game-card[open]>.game-row>:is(input,select,button){width:100%}
}

/* Owner-requested compact centered notices; no backdrop or click interception. */
:root{--admin-notice-bg:rgba(255,255,255,.5);--admin-notice-text:#000;--admin-notice-border:rgba(0,0,0,.35)}
:root[data-admin-theme=dark]{--admin-notice-bg:rgba(0,0,0,.5);--admin-notice-text:#fff;--admin-notice-border:rgba(255,255,255,.35)}
html body #notice,html body:has(#adminPanel:not([hidden])) #notice{
 position:fixed;inset:auto;top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);
 z-index:10000;width:max-content;max-width:min(360px,calc(100vw - 40px));min-height:0;
 margin:0;padding:12px 16px;border:1px solid var(--admin-notice-border);border-radius:12px;
 background:var(--admin-notice-bg);color:var(--admin-notice-text);font-size:14px;line-height:1.65;
 text-align:center;overflow-wrap:anywhere;box-shadow:0 8px 28px #0003;
 -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none
}
html body #notice:empty{display:none}
#adminLastApiError{overflow-wrap:anywhere}

/* Agent review details must escape the compact three-column directory. */
#adminWorkspace #agentRows.admin-record-grid:has(>details[open]){display:block;width:100%;max-width:none;margin-inline:0}
#adminWorkspace #agentRows>details[open]{width:100%;min-width:0;max-width:none;aspect-ratio:auto}
#adminWorkspace #agentRows>details[open]>.admin-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;width:100%;min-width:0}
#adminWorkspace #agentRows>details[open]>.admin-row>strong{flex:1 1 100%;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
#adminWorkspace #agentRows>details[open]>.admin-row>button{flex:0 0 auto;min-width:88px;white-space:nowrap;overflow-wrap:normal}


/* 订单展开独占可用宽度，覆盖紧凑目录网格的高优先级规则。 */
#adminWorkspace :is(#adminDeposits,#virtualOrdersList).admin-order-grid:has(>details[open]){display:block;width:100%;max-width:none;margin-inline:0}
#adminWorkspace :is(#adminDeposits,#virtualOrdersList)>.admin-order-record[open]{width:100%;max-width:760px;min-width:0;box-sizing:border-box;margin-inline:auto!important;padding:16px;aspect-ratio:auto}
#adminWorkspace :is(#adminDeposits,#virtualOrdersList)>.admin-order-record[open] :is(p,form,label,input,textarea,select){min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
#adminWorkspace :is(#adminDeposits,#virtualOrdersList)>.admin-order-record[open]>form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#adminWorkspace :is(#adminDeposits,#virtualOrdersList) [data-record-status="已提交"] .admin-order-status,#adminWorkspace :is(#adminDeposits,#virtualOrdersList) [data-record-status="待审核"] .admin-order-status{color:#ffc940;background:#4b390c}
#adminWorkspace :is(#adminDeposits,#virtualOrdersList) [data-record-status="已入账"] .admin-order-status{color:#65eea2;background:#143c29}
#adminWorkspace :is(#adminDeposits,#virtualOrdersList) [data-record-status="已拒绝"] .admin-order-status{color:#ff8e8e;background:#4b2025}
#adminWorkspace :is(#adminDeposits,#virtualOrdersList) .admin-order-status{border-radius:5px;padding:3px 6px;font-weight:700;width:auto;justify-self:center}


/* 2026-10-26: owner-authorized admin alignment; player/game layouts are separate. */
#adminWorkspace #playersPanel,#adminWorkspace #adminAuditPanel{min-width:0}
#adminWorkspace #playerResults{width:100%;max-width:none;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(170px,auto);gap:12px;align-items:stretch}
#adminWorkspace #playerResults .player-tile{aspect-ratio:auto;min-height:170px;display:grid;grid-template-rows:32px minmax(36px,auto) auto auto;align-content:start;justify-items:center;gap:7px;padding:12px 8px;overflow:hidden;position:relative}
#adminWorkspace #playerResults .player-tile-icon{position:static;margin:0;transform:none;translate:none;width:32px;height:32px;border-radius:50%;font-size:17px;line-height:1}
#adminWorkspace #playerResults .player-tile strong{font-size:13px;line-height:1.35;min-width:0;width:100%;margin:0;overflow-wrap:anywhere;text-align:center}
#adminWorkspace #playerResults .player-tile small{font-size:11px;line-height:1.4;width:100%;margin:0;overflow-wrap:anywhere;text-align:center}
#adminWorkspace #playerSearchForm{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
#adminWorkspace #playerSearchForm input{grid-column:1/-1;width:100%;min-width:0}
#adminWorkspace #playerSearchForm select{width:100%;min-width:0}
#adminWorkspace #playersPanel :is(.grid,#playerLeaderboard>.player-board-filters){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
#adminWorkspace #playersPanel :is(label,input,select){min-width:0;max-width:100%;width:100%;box-sizing:border-box}
#adminWorkspace #playersPanel :is(.grid>p,.grid>button){grid-column:1/-1;margin:0}
#adminWorkspace #playersPanel :is(input[type=month],input[type=date]){min-inline-size:0;appearance:none;-webkit-appearance:none}
#adminWorkspace #playersPanel .player-mode-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
#adminWorkspace #playersPanel .player-mode-nav button{min-height:44px;padding:9px 6px;line-height:1.4;font-size:13px;background:var(--soft);color:var(--text);border:1px solid var(--line)}
#adminWorkspace #playersPanel .player-mode-nav [aria-pressed=true]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
#adminWorkspace #playerModeHelp{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#adminWorkspace #playerLeaderboard{min-width:0}
#adminWorkspace #playerLeaderboard>label{display:grid;width:100%;margin:8px 0;gap:6px}
#adminWorkspace #playerLeaderboard>#leaderboardLoad{width:100%;margin:10px 0}
#adminWorkspace #leaderboardResults{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
#adminWorkspace #playersPanel :is(.player-ranking,.player-ranking-row){min-width:0;margin:0;padding:12px}
#adminWorkspace #playersPanel .player-ranking-row{margin-top:10px}
#adminWorkspace #playersPanel :is(.player-ranking .actions,.player-ranking-row>button){width:100%}
#adminWorkspace #playersPanel :is(.player-ranking .actions>button){flex:1;font-size:12px;padding:8px 5px}
#adminWorkspace #adminAuditPanel .audit-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
#adminWorkspace #adminAuditPanel .audit-filters label{margin:0;min-width:0}
#adminWorkspace #adminAuditPanel input{width:100%;min-width:0}
#adminWorkspace #adminAuditPanel .audit-row{overflow-wrap:anywhere}
#adminWorkspace .admin-icon-tile{display:grid;grid-template-rows:34px minmax(38px,auto);align-content:center;justify-items:center;gap:8px;padding:12px 6px;min-height:108px;overflow:hidden}
#adminWorkspace .admin-icon-tile .admin-tile-symbol{position:static;margin:0;width:32px;height:32px;font-size:27px;line-height:1}
#adminWorkspace .admin-icon-tile strong{font-size:13px;line-height:1.4;min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:center}
@media(min-width:760px){#adminWorkspace #playerResults{grid-template-columns:repeat(auto-fill,minmax(156px,1fr))}#adminWorkspace #playersPanel .player-mode-nav{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:600px){#adminWorkspace #leaderboardResults{grid-template-columns:minmax(0,1fr)}}
@media(max-width:359px){#adminWorkspace #playersPanel .grid{grid-template-columns:minmax(0,1fr)}#adminWorkspace #adminAuditPanel .audit-filters{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){#adminWorkspace :is(input,select,textarea){font-size:16px}}


/* Administrator cards: icon above owner-editable nickname. */
#operatorRows.admin-account-grid .operator-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 6px 8px;gap:5px;text-align:center}
#operatorRows.admin-account-grid .operator-card::before{display:none}
#operatorRows.admin-account-grid .operator-account-icon{display:block;flex:0 0 28px;width:28px;height:28px;font-size:25px;line-height:28px;color:var(--accent)}
#operatorRows.admin-account-grid .operator-card strong{width:100%;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.35}
#operatorRows.admin-account-grid .operator-account-name{width:100%;font-size:11px;line-height:1.3;overflow-wrap:anywhere;color:var(--muted)}
#operatorRows.admin-account-grid .operator-card{aspect-ratio:auto;min-height:132px}
#operatorProfileForm{max-width:520px;display:grid;gap:12px}
#operatorProfileForm[hidden]{display:none}
#operatorProfileForm label{display:grid;gap:6px;min-width:0}
#operatorProfileForm input{width:100%;min-width:0;box-sizing:border-box}


/* Player identity cards and permission-aware function search. */
#adminWorkspace #playerResults .player-tile{grid-template-rows:24px repeat(6,auto);min-height:226px;gap:6px;padding:10px 8px}
#adminWorkspace #playerResults .player-tile-icon{width:24px;height:24px;font-size:13px}
.admin-function-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0;align-items:end}
.admin-function-search label{min-width:0;margin:0}.admin-function-search input{width:100%;min-width:0}
.admin-function-search [data-search-results]{grid-column:1/-1;display:grid;gap:8px}
.admin-function-search [data-search-results] button{white-space:normal;overflow-wrap:anywhere}
@media(max-width:400px){.admin-function-search{grid-template-columns:minmax(0,1fr)}}
.workspace-toolbar:has(.admin-function-search){flex-wrap:wrap}
.workspace-toolbar .admin-function-search{flex:0 0 100%;width:100%;box-sizing:border-box;min-width:0;order:10}
#adminWorkspace .workspace-toolbar .admin-function-search{grid-column:1/-1}
