/* Administrator UI only. No advertiser/publisher visual or billing changes. */
body.platform-ui{--radius:12px;--shadow-card:0 1px 3px rgba(24,29,47,.035);background:#f5f6fa}
.platform-ui .content{max-width:1700px;width:100%;margin:0 auto;padding:28px}
.platform-ui .sidebar{width:230px;background:#171923;border-right:1px solid #222531}
.platform-ui .sidebar-brand{height:78px;padding:20px 24px}.platform-ui .sidebar-logo-img{max-width:152px;max-height:36px;object-fit:contain}
.platform-ui .sidebar-nav{padding:14px 12px}.platform-ui .sidebar-nav a{min-height:43px;padding:11px 13px;margin-bottom:4px;transition:background .15s,color .15s}
.platform-ui .sidebar-nav a.active{background:#49b5aa;color:#102e2b}.platform-ui .sidebar-nav a:hover:not(.active){background:#242836}
.platform-ui .topbar{min-height:66px;padding:16px 28px;gap:16px;box-shadow:0 1px 0 rgba(20,21,31,.025)}
.platform-ui .topbar-crumb{font-size:13px}.platform-ui .topbar-crumb b{font-weight:650}.platform-ui .topbar-user{font-size:12px;font-weight:500;color:#535c6c}
.platform-ui .page-title{font-size:23px;font-weight:700;letter-spacing:-.3px}.platform-ui .page-sub{line-height:1.7}
.platform-ui .card{border:1px solid #e8ebf2;padding:22px;border-radius:12px;box-shadow:var(--shadow-card)}
.platform-ui .card-head{gap:12px;flex-wrap:wrap}.platform-ui .card-head h3,.platform-ui .card>h3{font-size:15px;font-weight:650}
.platform-ui .kpi-card{border:1px solid #e8ebf2;border-top:3px solid #49b5aa;border-radius:12px;padding:19px;box-shadow:var(--shadow-card)}
.platform-ui .kpi-card.violet{border-top-color:#8065e6}.platform-ui .kpi-value{font-size:25px;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.platform-ui .kpi-label{font-size:12px;margin-top:6px}
.platform-ui .btn{min-height:38px;padding:9px 15px;border-radius:8px;line-height:1.35;white-space:nowrap}.platform-ui .btn-sm{min-height:31px;padding:6px 10px;font-size:12px}
.platform-ui .btn-primary{background:#7559e8}.platform-ui .btn-primary:hover{background:#6244d4;color:#fff}.platform-ui .btn-outline{border-color:#e0e4ed}.platform-ui .btn-teal{background:#49b5aa;color:#10342f}
.platform-ui .form-control{border-color:#dfe4ed;border-radius:8px;min-height:39px;padding:9px 12px;font-size:13px}.platform-ui textarea.form-control{line-height:1.7}.platform-ui .form-group label{color:#384152;font-weight:600;font-size:13px}
.platform-ui input[type=checkbox],.platform-ui input[type=radio]{accent-color:#7559e8}.platform-ui .form-hint{line-height:1.6}.platform-ui .badge{white-space:nowrap;padding:4px 9px;font-size:11px;font-weight:600}
.platform-ui .admin-table-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-radius:8px}
.platform-ui table.data-table{font-size:13px}.platform-ui table.data-table th{background:#f7f8fb;color:#70798c;font-size:11.5px;letter-spacing:0;padding:12px;border-bottom:1px solid #e7ebf2;white-space:nowrap}
.platform-ui table.data-table td{padding:13px 12px;border-color:#edf0f5;line-height:1.5}.platform-ui table.data-table td.admin-money{white-space:nowrap;font-variant-numeric:tabular-nums}
.platform-ui .admin-table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.platform-ui .admin-table-tools .form-control{width:280px;max-width:100%}.platform-ui .admin-table-count{font-size:12px;color:#7c8596}
.platform-ui .admin-table-empty td{padding:32px;text-align:center;color:#7c8596}.platform-ui .alert{border:1px solid transparent;border-radius:9px;line-height:1.7}
.platform-ui .flex-between{gap:12px;flex-wrap:wrap}.platform-ui .empty-state{padding:38px 18px}.platform-ui a:focus-visible,.platform-ui button:focus-visible{outline:3px solid #c5b8ff;outline-offset:3px}.platform-ui .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.admin-nav-toggle,.admin-nav-backdrop{display:none}.platform-ui .content img{max-width:100%}.platform-ui .content pre,.platform-ui .content code{overflow-wrap:anywhere}
@media(max-width:1100px){.platform-ui .content{padding:22px}.platform-ui .sidebar{width:214px}.platform-ui .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:880px){.platform-ui .content{padding:18px}.platform-ui .topbar{padding:12px 18px;min-height:60px}.platform-ui .sidebar{display:flex;position:fixed;left:0;top:0;width:238px;z-index:50;transform:translateX(-100%);visibility:hidden;transition:transform .18s,visibility .18s}.platform-ui.admin-nav-open .sidebar{transform:translateX(0);visibility:visible}.platform-ui.admin-nav-open{overflow:hidden}.platform-ui .admin-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid #e0e4ed;background:#fff;border-radius:8px;color:#384152;font-size:20px;cursor:pointer}.platform-ui .topbar-crumb{flex:1}.platform-ui .topbar-right{gap:8px}.platform-ui .topbar-user .text-muted{display:none}.platform-ui .admin-nav-backdrop{position:fixed;inset:0;z-index:40;background:rgba(12,17,29,.4);border:0;width:100%;height:100%;cursor:pointer}.platform-ui.admin-nav-open .admin-nav-backdrop{display:block}.platform-ui .card{padding:18px}.platform-ui .admin-table-scroll table{min-width:740px}.platform-ui .form-row{flex-direction:column}.platform-ui .admin-inline-form{flex-wrap:wrap!important;gap:8px!important}.platform-ui .card-head{align-items:flex-start}}
@media(max-width:560px){.platform-ui .content{padding:14px}.platform-ui .topbar{padding:10px 14px;gap:10px}.platform-ui .topbar-user{font-size:11px;max-width:110px;overflow:hidden;white-space:nowrap}.platform-ui .page-title{font-size:21px}.platform-ui .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platform-ui .kpi-card{padding:14px}.platform-ui .kpi-value{font-size:21px}.platform-ui .card{padding:15px;margin-bottom:15px}.platform-ui .admin-table-tools{align-items:stretch}.platform-ui .admin-table-tools .form-control{width:100%}.platform-ui .admin-table-tools label{width:100%}.platform-ui .content form[style*="display:flex"]{flex-wrap:wrap}.platform-ui .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.platform-ui *{transition:none!important;scroll-behavior:auto!important}}

.platform-ui .sidebar-logo-img{max-width:176px;width:176px;height:auto}.auth-wrap{min-height:100vh;background:radial-gradient(ellipse at 20% 0%,#d8efeb,transparent 55%),#f4f5fa;padding:40px 18px}.auth-card{border:1px solid #e5e7ee;border-radius:20px;box-shadow:0 20px 60px #172b3d12;padding:32px;max-width:420px;width:100%}.auth-logo-img{width:200px;max-height:55px;object-fit:contain}.auth-card .btn-primary{background:#574bce;border-color:#574bce;border-radius:9px}.auth-card input{border-radius:9px}.auth-sub{color:#68748b}

.platform-ui summary{cursor:pointer;font-weight:650}.platform-ui details.card[open]>summary{margin-bottom:18px}@media(max-width:880px){.platform-ui .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.platform-ui .qs-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.platform-ui .qs-grid{grid-template-columns:1fr!important}.platform-ui .flex-between{flex-wrap:wrap;gap:12px}.platform-ui .content input,.platform-ui .content select,.platform-ui .content textarea{max-width:100%}}

/* UI regression fixes: AL identity, keyboard focus, mobile readable header/forms. */
.platform-ui .sidebar-brand{background:#fff}.platform-ui .sidebar-logo-img{width:160px;max-width:100%;height:auto;object-fit:contain}
.platform-ui .topbar-crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.platform-ui .card{min-width:0}.platform-ui .content a{overflow-wrap:anywhere}
.platform-ui button:disabled,.auth-card button:disabled{opacity:.55;cursor:not-allowed}
.platform-ui :is(a,button,input,select,textarea):focus-visible,.auth-card :is(a,button,input):focus-visible{outline:3px solid #7a63ee;outline-offset:2px}
@media(max-width:560px){.auth-wrap{padding:24px 16px}.auth-card{padding:26px 22px}.auth-card input{font-size:16px;min-height:44px}.auth-card .btn{min-height:44px}.auth-logo-img{width:200px;max-width:100%;height:auto}.platform-ui .topbar-crumb{flex:1;font-size:12px}.platform-ui .topbar-right{font-size:11px;gap:6px;max-width:52%}.platform-ui .content form .form-row{flex-wrap:wrap}.platform-ui .content form :is(input,select,textarea){min-width:0;max-width:100%}}
@media(prefers-reduced-motion:reduce){.platform-ui *,.auth-wrap *{transition:none!important;scroll-behavior:auto!important}}

.platform-ui [hidden],.auth-wrap [hidden]{display:none!important}

/* Admin mobile table readability: scroll locally, never squeeze labels into vertical columns. */
@media(max-width:760px){.role-admin .content table{min-width:760px}.role-admin .content .card:has(>table){overflow-x:auto}.role-admin .content th{white-space:nowrap}.role-admin .content .card form label{display:block;margin:12px 0 6px}.role-admin .content .card form :is(select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea){max-width:100%;min-height:42px}.role-admin .content .card form button{min-height:42px}}

/* admin-layout-v2: compact operational workspace */
.role-admin{--workspace-accent:#6550cf;--workspace-border:#e5e8ef;color:#253046;font-size:14px;line-height:1.55}
.role-admin .content{max-width:1600px;margin-right:auto;padding:26px 30px 48px}
.role-admin .content h1{font-size:25px;letter-spacing:-.6px;margin:0 0 20px}
.role-admin .content h2{font-size:17px;line-height:1.4;margin:0 0 16px}
.role-admin .content .card{border:1px solid var(--workspace-border);border-radius:10px;padding:22px;box-shadow:0 2px 5px #18264004;margin-bottom:20px}
.role-admin .content table{width:100%;border-collapse:collapse;font-size:13px}
.role-admin .content th{padding:12px 14px;background:#f7f8fb;color:#657087;font-weight:600;text-align:left;border-bottom:1px solid #e5e8ef;white-space:nowrap}
.role-admin .content td{padding:14px;border-bottom:1px solid #edf0f5;vertical-align:middle;line-height:1.55;font-variant-numeric:tabular-nums}
.role-admin .content tbody tr:last-child td{border-bottom:0}
.role-admin .content tbody tr:hover{background:#fafaff}
.role-admin .content .btn{border-radius:7px;min-height:36px;padding:8px 14px;font-size:13px;line-height:1.4;box-shadow:none}
.role-admin .content .btn-outline{border-color:#dfe3eb;color:#46516a;background:white}
.role-admin .content .form-control{border-radius:7px;border:1px solid #dfe3eb;min-height:40px;padding:9px 12px;font-size:14px;background:#fff;color:#263249}
.role-admin .sidebar a.active{background:#6550cf!important;color:#fff!important}
.role-admin .sidebar a{font-size:13px}
.role-admin .ssp-muted{font-size:12px;color:#7a8496;line-height:1.6}
.role-admin .workspace-tabs{display:flex;gap:4px;background:white;border:1px solid #e5e8ef;padding:5px;border-radius:9px;margin:18px 0 22px;overflow-x:auto}
.role-admin .workspace-tabs button{border:0;background:transparent;padding:11px 18px;border-radius:6px;color:#68738b;white-space:nowrap;cursor:pointer;font:inherit;font-weight:600}
.role-admin .workspace-tabs button[aria-selected=true]{color:#6550cf;background:#f0edff}
.role-admin .workspace-panel[hidden]{display:none!important}
.role-admin .workspace-ssp .ssp-grid{display:block!important}
.role-admin .workspace-ssp .workspace-panel{max-width:1120px}
.role-admin .workspace-ssp .ssp-section{margin-bottom:18px}
.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field){display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px 20px;align-items:center}
.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field)>.ssp-field{margin:0!important;font-weight:600;font-size:13px}
.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field)>input[type=hidden]{display:none}
.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field)>p{grid-column:2;margin:-10px 0 0}
.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field)>div:has(button){grid-column:1/-1;border-top:1px solid #edf0f5;padding-top:16px;display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:12px;background:white;z-index:2}
.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field)>button{grid-column:2;justify-self:start}
.role-admin .workspace-ssp .ssp-status{display:flex;gap:8px;flex-wrap:wrap}
.role-admin .workspace-ssp .ssp-status label{border-radius:6px!important;padding:8px 14px!important}
.role-admin .workspace-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}
.role-admin .workspace-kpi{background:white;border:1px solid #e5e8ef;border-radius:10px;padding:18px 20px}
.role-admin .workspace-kpi span{display:block;color:#748097;font-size:12px;margin-bottom:8px}
.role-admin .workspace-kpi strong{font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.role-admin .workspace-ops .card p{color:#748097;font-size:13px;margin:10px 0}
.role-admin .workspace-ops .workspace-todo{padding:16px 22px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.role-admin .workspace-ops .workspace-todo h2{margin:0;font-size:15px}
.role-admin .workspace-ops .workspace-todo p{margin:0!important;display:flex;gap:18px;flex-wrap:wrap}
.role-admin .workspace-ops .workspace-todo a{background:#f3f0ff;border-radius:5px;padding:6px 10px;text-decoration:none}
@media(max-width:1000px){.role-admin .workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.role-admin .content{padding:20px 15px 36px}.role-admin .content .card{padding:18px 16px}.role-admin .content h1{font-size:22px}.role-admin .workspace-tabs button{padding:10px 14px}.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field){display:block}.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field)>.ssp-field{display:block;margin:16px 0 7px!important}.role-admin .workspace-ssp .ssp-section form:has(>.ssp-field)>p{margin:7px 0}.role-admin .workspace-kpis{gap:10px}.role-admin .workspace-kpi{padding:15px}.role-admin .workspace-kpi strong{font-size:24px}.role-admin .workspace-todo{gap:12px!important}.role-admin .content table{min-width:760px}.role-admin .workspace-panel{min-width:0}}

.role-admin .workspace-toolbar{display:flex;gap:8px;align-items:center;margin:4px 0 18px;flex-wrap:wrap}.role-admin .workspace-more{margin-left:auto;position:relative}.role-admin .workspace-more summary{cursor:pointer;color:#7b8496;padding:8px 12px;font-size:13px}.role-admin .workspace-more[open] form{position:absolute;right:0;top:38px;background:white;border:1px solid #e5e8ef;border-radius:8px;padding:10px;z-index:5;min-width:125px}.role-admin .workspace-ssp>.flex-between{margin-bottom:4px!important}.role-admin .workspace-ssp>.workspace-tabs{margin-top:0}.role-admin .workspace-ssp .workspace-panel{max-width:none}

.platform-ui .sr-only{left:0;top:0}
