:root{--sidebar-width:260px;--sidebar-collapsed-width:76px;--app-bg:#f4f6f9;--card-radius:1rem;--table-head:#f8f9fb;--muted:#667085}html,body{min-height:100%}body{background:var(--app-bg);font-size:.875rem}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar-width)!important;background:var(--bs-body-bg)}@media(min-width:992px){.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);transition:grid-template-columns .18s ease}.sidebar{position:sticky;top:0;height:100vh;visibility:visible!important;transform:none!important;width:var(--sidebar-width)!important;transition:width .18s ease}.main-column{min-width:0}.offcanvas-lg .offcanvas-body{height:100vh;overflow-y:auto}html[data-sidebar="collapsed"] .app-shell{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}html[data-sidebar="collapsed"] .sidebar{width:var(--sidebar-collapsed-width)!important}html[data-sidebar="collapsed"] .sidebar .brand-copy,html[data-sidebar="collapsed"] .sidebar .nav-link span,html[data-sidebar="collapsed"] .sidebar .section-label,html[data-sidebar="collapsed"] .sidebar .sidebar-user-copy{display:none!important}html[data-sidebar="collapsed"] .sidebar .offcanvas-header{justify-content:center;padding-left:.65rem;padding-right:.65rem}html[data-sidebar="collapsed"] .sidebar .brand{justify-content:center}html[data-sidebar="collapsed"] .sidebar .offcanvas-body nav{padding-left:.45rem!important;padding-right:.45rem!important}html[data-sidebar="collapsed"] .sidebar .nav-link{justify-content:center;padding:.68rem .45rem}html[data-sidebar="collapsed"] .sidebar .nav-link i{width:auto;font-size:1.08rem}html[data-sidebar="collapsed"] .sidebar .sidebar-footer{padding:.65rem!important}html[data-sidebar="collapsed"] .sidebar .sidebar-footer .d-flex{justify-content:center}html[data-sidebar="collapsed"] .sidebar .avatar{width:38px;height:38px;flex-basis:38px}}.brand{display:flex;align-items:center;gap:.75rem;color:var(--bs-emphasis-color)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--bs-primary);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{font-size:.68rem;color:var(--bs-secondary-color);letter-spacing:.06em;text-transform:uppercase}.sidebar .nav-link{display:flex;align-items:center;gap:.75rem;padding:.58rem .75rem;border-radius:.65rem;color:var(--bs-body-color);font-weight:500}.sidebar .nav-link i{width:1.15rem;text-align:center;color:var(--bs-secondary-color)}.sidebar .nav-link:hover{background:var(--bs-tertiary-bg)}.sidebar .nav-link.active{background:rgba(var(--bs-primary-rgb),.12);color:var(--bs-primary);font-weight:650}.sidebar .nav-link.active i{color:var(--bs-primary)}.section-label{font-size:.65rem;letter-spacing:.08em}.avatar{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:var(--bs-tertiary-bg);font-weight:700}.min-w-0{min-width:0}.topbar{z-index:1020}.card{border-radius:var(--card-radius)}.form-label{font-size:.74rem;font-weight:650;color:var(--muted);margin-bottom:.35rem}.kpi-card .kpi-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bs-secondary-color);font-weight:700}.kpi-card .kpi-value{font-size:1.35rem;font-weight:750;line-height:1.15;margin-top:.35rem;font-variant-numeric:tabular-nums}.kpi-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--bs-tertiary-bg)}.chart-area{height:390px}.metric-menu{width:min(470px,92vw);max-height:72vh;overflow:auto}.metric-options{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem}.metric-options .form-check-input{border-radius:.3rem}.tablewrap{max-height:72vh;overflow:auto;scrollbar-width:thin}.compact-table{max-height:430px;overflow:auto}.table{font-variant-numeric:tabular-nums}.table>:not(caption)>*>*{padding:.52rem .65rem;white-space:nowrap;border-color:var(--bs-border-color-translucent)}.table thead th{position:sticky;top:0;z-index:4;background:var(--table-head)!important;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.025em;vertical-align:middle}.table th:not(.left),.table td:not(.left){text-align:right}.table th.left,.table td.left{text-align:left}.table tbody td.left{max-width:460px;overflow:hidden;text-overflow:ellipsis}.table tbody tr{transition:background-color .12s ease}.table tbody tr:hover>td{background:var(--bs-tertiary-bg)}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-top:1px solid var(--bs-border-color);border-bottom:1px solid var(--bs-border-color);background:var(--bs-body-bg);position:relative;z-index:6}.table-toolbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.table-search-wrap{position:relative;min-width:250px;max-width:440px;width:100%}.table-search-wrap i{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);opacity:.55}.table-search{padding-left:2rem}.sortable{cursor:pointer;user-select:none}.sortable:hover{background:var(--bs-secondary-bg)!important;color:var(--bs-emphasis-color)}.sort-icon{font-size:.62rem;margin-left:.3rem;opacity:.45}.select-col{position:sticky!important;left:0!important;z-index:5!important;width:40px;min-width:40px;max-width:40px;text-align:center!important;background:var(--bs-body-bg)!important}.table thead .select-col{z-index:7!important;background:var(--table-head)!important}.table tbody tr.row-selected>td{background:rgba(var(--bs-primary-rgb),.12)!important}.table tbody tr.row-selected:hover>td{background:rgba(var(--bs-primary-rgb),.18)!important}.table-total-row td{position:sticky;bottom:0;z-index:3;background:var(--bs-tertiary-bg)!important;border-top:2px solid var(--bs-border-color)!important;font-weight:750;box-shadow:0 -2px 8px rgba(0,0,0,.05)}.table-total-row .select-col{z-index:6!important}.output{min-height:44px;padding:.75rem .85rem;border:1px solid var(--bs-border-color);border-radius:.7rem;background:var(--bs-tertiary-bg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}.drop{padding:1.2rem;border:2px dashed var(--bs-border-color);border-radius:.9rem;background:var(--bs-tertiary-bg)}pre{white-space:pre-wrap;word-break:break-word}.auth-body{background:radial-gradient(circle at 20% 0,rgba(var(--bs-primary-rgb),.12),transparent 36%),var(--app-bg)}.auth-card{width:min(100%,520px);border-radius:1.25rem}.badge{font-weight:650}.settings-grid{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:.4rem 1rem}.settings-grid>div:nth-child(odd){color:var(--bs-secondary-color);font-weight:600}.settings-grid>div:nth-child(even){word-break:break-word}.comparison-highlight{background:rgba(var(--bs-success-rgb),.08)}[data-bs-theme="dark"]{--app-bg:#0f1115;--table-head:#171a20;--muted:#9aa3b2}[data-bs-theme="dark"] .table tbody tr.row-selected>td{background:rgba(var(--bs-primary-rgb),.22)!important}[data-bs-theme="dark"] .table tbody tr.row-selected:hover>td{background:rgba(var(--bs-primary-rgb),.28)!important}[data-bs-theme="dark"] .table-total-row td{box-shadow:0 -2px 8px rgba(0,0,0,.28)}@media(max-width:767.98px){body{font-size:.82rem}.chart-area{height:320px}.metric-options{grid-template-columns:1fr}.table-toolbar{align-items:stretch;flex-direction:column}.table-toolbar-right{width:100%;justify-content:space-between}.table-search-wrap{max-width:none}.table>:not(caption)>*>*{padding:.45rem .5rem}.settings-grid{grid-template-columns:1fr}.settings-grid>div:nth-child(even){margin-bottom:.5rem}}
.creative-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.creative-card{min-width:0}.creative-preview{position:relative;aspect-ratio:4/3;overflow:hidden}.creative-preview img,.creative-preview video{display:block;width:100%;height:100%;object-fit:contain;background:#090b0f}.creative-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;color:var(--bs-secondary-color)}.creative-placeholder i{font-size:2.2rem}.creative-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.creative-comment{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.creative-link-table{max-height:62vh;overflow:auto}.creative-link-table .table td.left{max-width:420px;overflow:hidden;text-overflow:ellipsis}.creative-link-table select{min-width:230px}.nav-pills .badge{color:inherit!important}.creative-card .badge{max-width:130px;overflow:hidden;text-overflow:ellipsis}.creative-preview .badge{backdrop-filter:blur(4px)}@media(max-width:575.98px){.creative-grid{grid-template-columns:1fr}.creative-preview{aspect-ratio:1/1}}
.creative-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--bs-border-color);border-radius:.7rem;overflow:hidden}.creative-kpis>div{padding:.5rem .55rem;min-width:0}.creative-kpis>div+div{border-left:1px solid var(--bs-border-color)}.creative-kpis span,.creative-kpis strong{display:block}.creative-kpis span{font-size:.62rem;color:var(--bs-secondary-color);text-transform:uppercase;letter-spacing:.035em}.creative-kpis strong{font-size:.82rem;margin-top:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulk-preview-list{display:grid;gap:.45rem;max-height:260px;overflow:auto}.bulk-preview-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.5rem .65rem;border:1px solid var(--bs-border-color);border-radius:.6rem;background:var(--bs-body-bg)}.bulk-preview-row strong{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-logo{width:64px;height:64px;display:grid;place-items:center;overflow:hidden;flex:0 0 64px}.service-logo img{width:100%;height:100%;object-fit:contain}.resource-status-dot{width:.6rem;height:.6rem;border-radius:.2rem;display:inline-block}.table td .font-monospace{font-size:.8rem}@media(max-width:575.98px){.bulk-preview-row{grid-template-columns:1fr}.bulk-preview-row i{transform:rotate(90deg);justify-self:center}.service-logo{width:52px;height:52px;flex-basis:52px}}
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-top:1px solid var(--bs-border-color);background:var(--bs-body-bg)}.table-page-buttons{flex-wrap:wrap}.table-page-size{width:auto;min-width:76px}.service-card .service-logo{width:54px;height:54px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 54px}.service-card .service-logo img{width:100%;height:100%;object-fit:cover}@media(max-width:767.98px){.table-pagination{align-items:flex-start;flex-direction:column}.table-toolbar-right{flex-wrap:wrap}}
/* v15: keep monetary values fully readable in wide analytics tables. */
.tablewrap>.table,.table-responsive>.table{width:max-content;min-width:100%}
.table td[data-col="spend"],.table th[data-col="spend"],
.table td[data-col="meta_spend"],.table th[data-col="meta_spend"],
.table td[data-col="revenue"],.table th[data-col="revenue"],
.table td[data-col="kei_revenue"],.table th[data-col="kei_revenue"]{min-width:92px;font-size:.76rem;white-space:nowrap;overflow:visible;text-overflow:clip;font-variant-numeric:tabular-nums}
.table td[data-col="spend"],.table td[data-col="meta_spend"],.table td[data-col="revenue"],.table td[data-col="kei_revenue"]{font-weight:650}
@media(max-width:767.98px){.table td[data-col="spend"],.table td[data-col="meta_spend"],.table td[data-col="revenue"],.table td[data-col="kei_revenue"]{font-size:.7rem}}

/* v16: global footer and full-height content column. */
.main-column{min-width:0;min-height:100vh;display:flex;flex-direction:column}
.app-main{flex:1 0 auto;width:100%}
.app-footer{flex:0 0 auto;color:var(--bs-secondary-color);box-shadow:0 -1px 0 rgba(0,0,0,.015)}
.app-footer .footer-link{color:var(--bs-secondary-color);text-decoration:none;padding:.15rem .25rem;border-radius:.35rem}
.app-footer .footer-link:hover{color:var(--bs-primary);background:var(--bs-tertiary-bg)}
.app-footer .footer-separator{opacity:.45}
.auth-body>.app-footer{width:100%;margin-top:auto}
@media(max-width:575.98px){.app-footer .container-fluid{align-items:flex-start!important}.app-footer .footer-separator{display:none}}

/* v17: source reconciliation, comparison deltas and quick periods. */
.source-main{display:block;font-weight:650;line-height:1.05}.source-pair{display:block;margin-top:.12rem;font-size:.64rem;line-height:1.05;color:var(--bs-secondary-color);white-space:nowrap}.kpi-delta{display:block;margin-top:.32rem;font-size:.66rem;white-space:nowrap}.kpi-source{margin-top:.16rem;font-size:.64rem;color:var(--bs-secondary-color);white-space:nowrap}.period-menu{min-width:220px;max-height:420px;overflow:auto}.period-menu .dropdown-item{font-size:.82rem;padding:.42rem .6rem}.filter-card .dropdown-toggle{white-space:nowrap}
.table td[data-col="traffic_back_bots"],.table td[data-col="redeposits"],.table td[data-col="spendy_bots"],.table td[data-col="spendy_redeps"]{font-variant-numeric:tabular-nums}
@media(max-width:575.98px){.kpi-source,.kpi-delta{font-size:.6rem}.period-menu{min-width:200px}}

/* v18: fixed table chrome, column manager and dense analytics UX. */
.table-shell{display:flex;flex-direction:column;min-width:0;background:var(--bs-body-bg);border-radius:0 0 var(--card-radius) var(--card-radius);overflow:hidden}
.table-shell>.table-viewport{max-height:62vh;overflow:auto;min-height:0;scrollbar-width:thin;margin:0!important;border:0!important;border-radius:0!important}
.compact-table .table-shell>.table-viewport{max-height:360px}
.table-shell>.table-toolbar{flex:0 0 auto;position:relative;top:auto;z-index:9}
.table-shell>.table-pagination{flex:0 0 auto;position:relative;bottom:auto;z-index:9;box-shadow:0 -1px 0 var(--bs-border-color-translucent)}
.table-pagination-controls{display:flex;align-items:center;gap:.65rem;justify-content:flex-end;flex-wrap:wrap}
.table-page-buttons{flex-wrap:nowrap}
.table-page-size{width:74px!important;min-width:74px}
.column-manager-list{display:grid;gap:.5rem}
.column-manager-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .7rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-body-bg)}
.column-manager-row .form-check{margin:0}
.table thead th{top:0!important;z-index:8!important}
.table-total-row td{bottom:0!important;z-index:6!important}
.score-metric{display:block;margin:-.52rem -.65rem;padding:.52rem .65rem;min-height:100%;font-weight:700}
.scoring-profile-select{width:auto;min-width:190px;max-width:270px}
.scoring-color{width:54px;height:31px;padding:.12rem}
.team-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
.team-stats-grid>div{border:1px solid var(--bs-border-color-translucent);background:var(--bs-tertiary-bg);border-radius:.65rem;padding:.48rem .55rem;min-width:0}
.team-stats-grid span,.team-stats-grid strong{display:block}.team-stats-grid span{font-size:.62rem;color:var(--bs-secondary-color);text-transform:uppercase;letter-spacing:.025em}.team-stats-grid strong{font-size:.82rem;margin-top:.08rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.finance-big{border:1px solid var(--bs-border-color);border-radius:.8rem;padding:1rem;background:var(--bs-tertiary-bg)}.finance-big span,.finance-big strong{display:block}.finance-big span{font-size:.72rem;color:var(--bs-secondary-color)}.finance-big strong{font-size:1.25rem;margin-top:.25rem}
/* Active pill counts: white badge must retain visible blue text. */
.nav-pills .nav-link.active .badge.bg-body,.nav-pills .nav-link.active .badge.text-bg-light,.nav-pills .nav-link.active .badge.bg-white{background:#fff!important;color:var(--bs-primary)!important;border-color:rgba(255,255,255,.75)!important}
.nav-pills .nav-link:not(.active) .badge{color:var(--bs-body-color)!important}
/* v18 overrides the old inherited badge colour that made white badges unreadable. */
.nav-pills .badge{color:var(--bs-body-color)!important}.nav-pills .nav-link.active .badge{color:var(--bs-primary)!important}
@media(max-width:767.98px){.table-shell>.table-viewport{max-height:68vh}.table-pagination{align-items:stretch!important}.table-pagination-controls{width:100%;justify-content:space-between}.score-metric{margin:-.45rem -.5rem;padding:.45rem .5rem}.team-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scoring-profile-select{width:100%;max-width:none}}
.compact-table{max-height:none!important;overflow:visible!important}

/* v19: contextual workflow, Kanban and direct service credentials. */
.access-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1rem}.access-card{min-width:0}.credential-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.credential-cell{border:1px solid var(--bs-border-color);border-radius:.7rem;padding:.6rem;background:var(--bs-tertiary-bg);min-width:0}.credential-cell>span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color);margin-bottom:.35rem}.credential-value{min-height:1.45rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;margin-bottom:.45rem}.credential-cell .btn-group{width:100%}.credential-cell .btn{flex:1 1 auto}
.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(250px,1fr));gap:.85rem;overflow-x:auto;padding-bottom:.75rem}.kanban-column{background:var(--bs-tertiary-bg);border:1px solid var(--bs-border-color);border-radius:.8rem;min-width:250px;display:flex;flex-direction:column;max-height:72vh}.kanban-column-head{padding:.7rem .75rem;border-bottom:1px solid var(--bs-border-color);background:var(--bs-body-bg);border-radius:.8rem .8rem 0 0;position:sticky;top:0;z-index:2}.kanban-dropzone{padding:.65rem;display:grid;align-content:start;gap:.65rem;overflow-y:auto;min-height:180px;flex:1}.kanban-dropzone.drag-over{outline:2px dashed var(--bs-primary);outline-offset:-5px;background:rgba(var(--bs-primary-rgb),.07)}.task-card{cursor:grab;background:var(--bs-body-bg);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.task-card:hover{box-shadow:0 .35rem 1rem rgba(0,0,0,.08);transform:translateY(-1px)}.task-card.dragging{opacity:.48;cursor:grabbing}.task-title{line-height:1.25}.task-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-period{font-size:.68rem;color:var(--bs-secondary-color)}.task-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.task-stats-grid>div{padding:.38rem .42rem;border-radius:.5rem;background:var(--bs-tertiary-bg);min-width:0}.task-stats-grid span,.task-stats-grid strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-stats-grid span{font-size:.55rem;color:var(--bs-secondary-color);text-transform:uppercase}.task-stats-grid strong{font-size:.72rem;margin-top:.08rem}
.creative-relation-select{min-height:130px}.creative-period-note{font-size:.68rem;color:var(--bs-secondary-color)}
.finance-auto-expense{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem}.period-filter-inline{display:flex;align-items:end;gap:.5rem;flex-wrap:wrap}
@media(max-width:991.98px){.credential-grid{grid-template-columns:1fr}.kanban-board{grid-template-columns:repeat(5,minmax(230px,1fr))}}
@media(max-width:575.98px){.access-card-grid{grid-template-columns:1fr}.task-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v20: large creative batches + creative library pagination. */
.bulk-preview-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto}.bulk-preview-row .bulk-remove-file{justify-self:end}.bulk-preview-list{max-height:340px}.creative-page-size{min-width:76px}.creative-grid+.card .pagination{flex-wrap:wrap}
@media(max-width:575.98px){.bulk-preview-row{grid-template-columns:1fr auto}.bulk-preview-row>i{display:none}.bulk-preview-row strong{grid-column:1/2}.bulk-preview-row .bulk-remove-file{grid-column:2/3;grid-row:1/3;align-self:center}}
/* v21 KPI target + creative detail polish */
.kpi-target-card{transition:background-color .15s,border-color .15s}.kpi-target-good{background:rgba(var(--bs-success-rgb),.10)!important;border-color:rgba(var(--bs-success-rgb),.45)!important}.kpi-target-warn{background:rgba(var(--bs-warning-rgb),.12)!important;border-color:rgba(var(--bs-warning-rgb),.55)!important}.kpi-target-bad{background:rgba(var(--bs-danger-rgb),.10)!important;border-color:rgba(var(--bs-danger-rgb),.45)!important}.creative-detail-preview{max-height:340px;object-fit:contain}.creative-card .creative-kpis strong{font-variant-numeric:tabular-nums}.creative-card .creative-kpis{font-size:.92rem}

/* v22 creative library workflow */
.creative-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.creative-card-selected{outline:2px solid rgba(var(--bs-primary-rgb),.6);box-shadow:0 .5rem 1.25rem rgba(var(--bs-primary-rgb),.16)!important;transform:translateY(-1px)}
.creative-select-wrap{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.65rem;background:rgba(var(--bs-body-bg-rgb),.9);backdrop-filter:blur(6px);box-shadow:0 2px 9px rgba(0,0,0,.16)}.creative-select-wrap .form-check-input{margin:0;width:1.1rem;height:1.1rem;cursor:pointer}
.creative-bulk-toolbar{position:sticky;top:66px;z-index:1010}.creative-relations{border-top:1px dashed var(--bs-border-color);padding-top:.6rem}.creative-relation-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-top:.35rem}.creative-relation-row:first-child{margin-top:0}.creative-relation-chip{max-width:108px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-xs{--bs-btn-padding-y:.12rem;--bs-btn-padding-x:.38rem;--bs-btn-font-size:.68rem;--bs-btn-border-radius:.38rem}
.creative-compare-thumb{width:54px;height:54px;object-fit:cover;border:1px solid var(--bs-border-color);border-radius:.55rem;background:var(--bs-tertiary-bg)}.creative-compare-head{display:flex;align-items:center;gap:.55rem;min-width:150px}.creative-compare-head>div{min-width:0}.creative-compare-table th,.creative-compare-table td{white-space:nowrap}.creative-compare-table tbody th{position:sticky;left:0;background:var(--bs-body-bg);z-index:2}.creative-compare-table thead th{position:sticky;top:0;background:var(--bs-body-bg);z-index:3}
@media(max-width:767.98px){.creative-bulk-toolbar{top:58px}.creative-relation-row{display:block}.creative-relation-row>span{display:block;margin-bottom:.25rem}}

/* v23: spreadsheet-like sticky table navigation. The header stays visible vertically;
   the first currently visible data column stays visible horizontally. */
.table-shell>.table-viewport{position:relative}
.table-shell>.table-viewport .table thead th{position:sticky!important;top:0!important;z-index:10!important;background:var(--table-head)!important;box-shadow:0 1px 0 var(--bs-border-color-translucent)}
.table .table-sticky-first{position:sticky!important;left:var(--sticky-first-left,0px)!important;z-index:6!important;background:var(--bs-body-bg)!important;box-shadow:1px 0 0 var(--bs-border-color-translucent)}
.table thead .table-sticky-first{z-index:12!important;background:var(--table-head)!important}
.table .table-total-row .table-sticky-first{z-index:9!important;background:var(--bs-tertiary-bg)!important}
.table tbody tr:hover>.table-sticky-first{background:var(--bs-tertiary-bg)!important}
.table tbody tr.row-selected>.table-sticky-first{background:rgba(var(--bs-primary-rgb),.12)!important}
.table tbody tr.row-selected:hover>.table-sticky-first{background:rgba(var(--bs-primary-rgb),.18)!important}
[data-bs-theme="dark"] .table tbody tr.row-selected>.table-sticky-first{background:rgba(var(--bs-primary-rgb),.22)!important}
[data-bs-theme="dark"] .table tbody tr.row-selected:hover>.table-sticky-first{background:rgba(var(--bs-primary-rgb),.28)!important}
.creative-compare-table thead th:first-child{left:0;z-index:13!important}
.creative-compare-table tbody th{position:sticky!important;left:0!important;z-index:7!important;background:var(--bs-body-bg)!important;box-shadow:1px 0 0 var(--bs-border-color-translucent)}

/* v24: team/head performance comparison */
.performance-chart-wrap{height:360px;min-height:280px}
.performance-entity-menu{min-width:280px;max-height:360px;overflow:auto}
.performance-matrix-wrap{max-height:620px}
.performance-matrix-wrap table th:first-child,.performance-matrix-wrap table td:first-child{min-width:260px;max-width:360px}
@media (max-width: 767.98px){.performance-chart-wrap{height:300px}.performance-entity-menu{min-width:240px}}

/* v26: configurable creative-card density + Creative Library footer containment. */
.creative-grid.creative-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.creative-grid.creative-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.creative-grid.creative-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.creative-grid.creative-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.creative-grid.creative-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.creative-row-size{min-width:72px}
.main-column{overflow-x:hidden}
.app-main{min-width:0;max-width:100%;overflow-x:clip}
.app-footer{position:relative;z-index:3;width:100%;max-width:100%;min-width:0;overflow:hidden}
.app-footer>.container-fluid{min-width:0;max-width:100%}.app-footer .footer-link{white-space:nowrap}
body[data-page="creative-library"] .app-footer{margin-top:1rem}

/* Experimental Video Lab preset engine. Entire UI disappears when the config flag is off. */
.experimental-uniqueizer-box{border:1px solid var(--bs-border-color);border-radius:.85rem;padding:1rem;background:var(--bs-tertiary-bg)}
.uniqueizer-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.uniqueizer-preset{display:flex;align-items:flex-start;gap:.55rem;margin:0;padding:.65rem;border:1px solid var(--bs-border-color);border-radius:.65rem;background:var(--bs-body-bg)}
.uniqueizer-preset .form-check-input{margin-top:.18rem;flex:0 0 auto}.uniqueizer-preset span{min-width:0}.uniqueizer-preset strong,.uniqueizer-preset small{display:block}.uniqueizer-preset small{color:var(--bs-secondary-color);font-size:.66rem;margin-top:.12rem}
@media(max-width:991.98px){.creative-grid.creative-grid-cols-5,.creative-grid.creative-grid-cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.creative-grid.creative-grid-cols-3,.creative-grid.creative-grid-cols-4,.creative-grid.creative-grid-cols-5,.creative-grid.creative-grid-cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}.uniqueizer-preset-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.creative-grid[class*="creative-grid-cols-"]{grid-template-columns:1fr}}
/* v28 collapsible navigation groups */
.sidebar-group{margin:.18rem .45rem}.sidebar-group-toggle{width:100%;border:0;background:transparent;color:var(--bs-secondary-color);display:flex;align-items:center;justify-content:space-between;padding:.48rem .55rem;border-radius:.65rem;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.sidebar-group-toggle:hover{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}.sidebar-group-title{display:flex;align-items:center;gap:.6rem;min-width:0}.sidebar-group-title>i{width:1.15rem;text-align:center;font-size:.9rem}.sidebar-group-chevron{transition:transform .16s ease}.sidebar-group:not(.is-open) .sidebar-group-links{display:none}.sidebar-group.is-open .sidebar-group-chevron{transform:rotate(180deg)}@media(min-width:992px){html[data-sidebar="collapsed"] .sidebar-group{margin:.18rem .35rem}html[data-sidebar="collapsed"] .sidebar-group-toggle{justify-content:center;padding:.58rem .35rem}html[data-sidebar="collapsed"] .sidebar-group-title>span,html[data-sidebar="collapsed"] .sidebar-group-chevron{display:none}html[data-sidebar="collapsed"] .sidebar-group:not(.is-open) .sidebar-group-links{display:flex}html[data-sidebar="collapsed"] .sidebar-group-links{padding-left:0!important;padding-right:0!important}}
