/* 2026-09 integrated administration, authentication and advertising upgrades */
.admin-shell{align-items:start}
.admin-side{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}
.admin-help-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}
.admin-help-tools button{display:flex!important;justify-content:center!important;align-items:center!important;padding:9px 6px!important;border:1px solid #5b6471!important;border-radius:8px!important;background:#253140!important;color:#fff!important;font-size:12px!important}
.auth-assist{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.auth-assist-options{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.auth-assist label{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--ink2)}
.auth-assist-actions{display:flex;gap:8px;justify-content:space-between;margin-top:10px}
.auth-assist-note{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5}
.training-entry,.command-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.training-entry h3,.command-entry h3{margin:0 0 5px}.training-entry p,.command-entry p{margin:0;color:var(--muted)}
.training-frame{width:100%;min-height:74vh;border:1px solid var(--line);border-radius:14px;background:#fff}
.training-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.banner-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.banner-kpi{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.banner-kpi span{display:block;color:var(--muted);font-size:12px}.banner-kpi b{display:block;margin-top:5px;font-size:22px}
.banner-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.banner-toolbar input,.banner-toolbar select{width:auto;min-width:150px}
.banner-board{display:grid;gap:9px}
.banner-row{display:grid;grid-template-columns:34px minmax(190px,1.4fr) minmax(140px,1fr) minmax(150px,1fr) 120px 110px 190px;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.banner-row.dragging{opacity:.4}.banner-row.drag-over{border-color:var(--orange);box-shadow:0 0 0 2px color-mix(in srgb,var(--orange) 22%,transparent)}
.banner-grip{cursor:grab;border:0;background:transparent;font-size:20px;color:var(--muted);padding:7px}.banner-grip:active{cursor:grabbing}
.banner-name b,.banner-name small,.banner-meta b,.banner-meta small{display:block}.banner-name small,.banner-meta small{color:var(--muted);margin-top:3px;font-size:11px}
.banner-price{font-size:12px}.banner-price strong{display:block;color:var(--orange);margin-top:3px}
.banner-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.banner-history-list{display:grid;gap:10px;max-height:62vh;overflow:auto}
.banner-history-item{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.banner-history-item header{display:flex;justify-content:space-between;gap:12px}.banner-history-item p{margin:8px 0 0;line-height:1.65;color:var(--ink2);font-size:13px}
.empty-banner-toggle{position:absolute;right:8px;bottom:6px;z-index:4;border:1px solid currentColor;border-radius:999px;padding:4px 10px;background:var(--card);color:var(--ink);font-size:11px;font-weight:700}
.admin-live-on .rev-ad.is-hidden{height:42px!important;min-height:42px!important;max-height:42px!important;aspect-ratio:auto!important;overflow:hidden!important;padding:5px 72px 5px 8px!important}
.admin-live-on .rev-ad.is-hidden .rev-ad-empty{min-height:28px!important;padding:0!important;display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;overflow:hidden!important}
.admin-live-on .rev-ad.is-hidden .rev-ad-empty b,.admin-live-on .rev-ad.is-hidden .rev-ad-empty span{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.admin-live-on .rev-ad.is-hidden.ad-preview-open{height:var(--ad-preview-height,260px)!important;min-height:120px!important;max-height:65vh!important;padding:14px!important}
.admin-live-on .rev-ad.is-hidden.ad-preview-open .rev-ad-empty{min-height:100%!important;display:grid!important;place-content:center!important;white-space:normal!important}
.advanced-top-slot{max-width:1180px;margin:12px auto 18px;padding:0 16px}
.advanced-footer-slot{max-width:1180px;margin:18px auto 0;padding:0 16px}
.admin-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-guide-card{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.admin-guide-card h4{margin:0 0 6px}.admin-guide-card p{margin:0;line-height:1.65;color:var(--ink2);font-size:13px}
.shop-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.shop-admin-head h2{margin:0 0 5px}.shop-admin-head p{margin:0;color:var(--muted)}
.shop-admin-alerts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.shop-admin-alerts button{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.shop-admin-alerts button.warn{border-color:#efb252;background:#fff8e8}.shop-admin-alerts b{font-size:20px;color:var(--orange)}
.shop-admin-tabs{display:flex;gap:6px;overflow-x:auto;padding:5px;margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.shop-admin-tabs button{flex:none;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink2);font-weight:700}.shop-admin-tabs button.on{background:var(--ink);color:#fff}
.shop-admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shop-admin-kpis article{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.shop-admin-kpis span{display:block;color:var(--muted);font-size:12px}.shop-admin-kpis b{display:block;margin-top:6px;font-size:22px}
.shop-admin-note{margin:14px 0;padding:13px;border:1px solid #f0d69a;border-radius:12px;background:#fff9e9;color:#6a4a13}.shop-admin-note p{margin:5px 0 0;line-height:1.65}
.shop-admin-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:4px 0 12px}.shop-admin-title h3{margin:0}.shop-admin-title span{color:var(--muted);font-size:12px}
.shop-admin-row{display:grid;grid-template-columns:minmax(250px,1fr) 110px minmax(240px,auto);gap:12px;align-items:center;padding:13px;margin-bottom:8px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.shop-admin-row b,.shop-admin-row small{display:block}.shop-admin-row small{margin-top:4px;line-height:1.55;color:var(--muted)}.shop-state{justify-self:start;padding:5px 9px;border-radius:999px;background:var(--soft);font-size:12px;font-weight:800}.shop-admin-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.shop-fee-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.shop-fee-form label{font-weight:700}.shop-fee-form input{width:110px;margin-left:8px}
.shop-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shop-category-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.shop-category-grid b,.shop-category-grid small{display:block}.shop-category-grid small{margin-top:4px;color:var(--muted)}
.shop-order-detail{line-height:1.65}.shop-order-detail p{padding:9px 0;border-bottom:1px solid var(--line)}
@media(max-width:1180px){.banner-row{grid-template-columns:34px 1.4fr 1fr 1fr 150px}.banner-size,.banner-price{display:none}}
@media(max-width:800px){.admin-side{overflow-x:auto!important}.admin-help-tools{display:flex;min-width:max-content}.banner-kpis{grid-template-columns:1fr 1fr}.banner-row{grid-template-columns:28px 1fr 120px}.banner-advertiser,.banner-period,.banner-size,.banner-price{display:none}.training-entry,.command-entry{align-items:flex-start;flex-direction:column}.admin-guide-grid{grid-template-columns:1fr}.advanced-top-slot,.advanced-footer-slot{padding:0 10px}.shop-admin-alerts{grid-template-columns:1fr 1fr}.shop-admin-kpis{grid-template-columns:1fr 1fr}.shop-admin-row{grid-template-columns:1fr}.shop-admin-actions{justify-content:flex-start}.shop-category-grid{grid-template-columns:1fr}.shop-admin-head{flex-direction:column}}
