.asset-library-section { margin-top:24px; padding:24px; }
.asset-library-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; flex-wrap:wrap; }
.asset-library-heading h3 { margin:0 0 6px; font-size:18px; }
.asset-library-heading p { margin:0; font-size:13px; color:var(--muted); line-height:1.6; }
.asset-toolbar,.asset-filters,.asset-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.asset-toolbar { justify-content:space-between; margin-bottom:18px; }
.asset-filters .btn { font-size:12px; min-height:34px; }
.asset-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; }
.asset-card { padding:20px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.asset-card h3 { margin:7px 0 10px; font-size:16px; overflow-wrap:anywhere; }
.asset-category { color:var(--muted); font-size:11px; }
.asset-copy { margin:0 0 20px; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink); font-size:13px; line-height:1.7; max-height:240px; overflow:auto; width:100%; }
.asset-image { height:140px; width:100%; margin-bottom:18px; display:grid; place-items:center; border:1px solid var(--line); background:#f7faf8; border-radius:6px; }
.asset-image img { max-width:90%; max-height:120px; object-fit:contain; }
.asset-card-actions { margin-top:auto; }
.asset-card-actions .btn { font-size:12px; text-decoration:none; min-height:34px; }
.asset-empty { text-align:center; padding:32px 16px; color:var(--muted); font-size:13px; border:1px dashed var(--line); border-radius:7px; }
#assetForm [hidden] { display:none !important; }
.asset-file-picker { position:relative; display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:6px; min-width:0; }
.asset-file-input { position:absolute; width:1px; height:1px; opacity:0; }
.asset-file-picker .btn { flex-shrink:0; }
#assetFileName { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:13px; }
.nav .nav-campaign-group { display:grid; gap:4px; }
.nav .nav-group-heading { display:grid; grid-template-columns:minmax(0,1fr); align-items:stretch; }
.nav .nav-group-heading>[data-nav] { min-width:0; width:100%; }
.nav .nav-campaign-submenu { display:grid; gap:3px; padding-left:27px; }
.nav .nav-campaign-submenu[hidden] { display:none; }
.nav .nav-campaign-submenu button { font-size:12px; padding:10px 8px 10px 14px; }
