/* Copyright (c) 2026 Zovanta Software Co. <sales@zovanta.dev> — https://zovanta.dev */
.fvam{--fvam-primary:#2563eb;--fvam-accent:#06b6d4;font-size:.9rem}.fvam-heading{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.fvam-heading h1{font-size:1.7rem;margin:.4rem 0}.fvam-heading nav,.fvam-actions,.fvam-pager{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}.fvam-badge{font-size:.65rem;font-weight:800;letter-spacing:.1em;color:#fff;background:var(--fvam-primary);padding:.3rem .5rem;border-radius:6px}.fvam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.fvam .card{padding:1rem;border:1px solid var(--border,#64748b);border-radius:14px;min-width:0;background:var(--card-bg,transparent)}.fvam .button,.fvam button{font-size:.8rem;padding:.45rem .7rem;white-space:normal;border-radius:8px;text-decoration:none}.fvam label{display:grid;gap:.25rem;margin:.5rem 0}.fvam input:not([type=checkbox]),.fvam select{max-width:100%;width:100%;box-sizing:border-box;padding:.5rem}.fvam label:has(input[type=checkbox]){display:flex;align-items:center}.fvam-form{max-width:820px;margin:0 auto}.fvam-inline{margin:.2rem 0}.fvam-price{font-size:1.8rem;font-weight:800;color:var(--fvam-accent)}.fvam-alert{padding:1rem;background:#7f1d1d;color:#fff;border-radius:8px}.fvam-preview{min-height:90px;display:flex;align-items:center;justify-content:center;background:#0f172a;border-radius:8px;overflow:hidden}.fvam-preview img{max-width:100%;max-height:250px;object-fit:contain;height:auto}.fvam-rules{border-left:3px solid var(--fvam-accent);padding-left:1rem}.fvam-map>div,.fvam-map-columns>div{padding:1rem;border:1px dashed var(--fvam-accent);text-align:center;border-radius:8px;margin:.5rem}.fvam-map-columns{display:grid;grid-template-columns:1fr 3fr 1fr}.fvam-placement{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:.6rem;margin:.65rem auto;max-width:100%;min-width:0;box-sizing:border-box;padding:0 .4rem}.fvam-banner{max-width:100%;min-width:0;text-align:center}.fvam-banner small{display:block;font-size:10px;opacity:.8;margin-bottom:3px}.fvam-banner a{display:block;max-width:100%}.fvam-banner img{display:block;max-width:100%;height:auto;object-fit:contain;margin:auto}.fvam-overlay{position:fixed;z-index:9990;background:var(--card-bg,#101827);color:var(--text,#fff);box-shadow:0 8px 40px #0008;padding:1rem 2.5rem 1rem 1rem;overflow:auto}.fvam-top_bar{top:0;left:0;right:0;margin:0}.fvam-bottom_bar{bottom:0;left:0;right:0;margin:0}.fvam-modal{top:50%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border:1px solid #64748b;border-radius:12px}.fvam-close{position:absolute;right:4px;top:4px;font-size:22px;line-height:1;padding:5px 8px;background:#1e293b;color:#fff;border:1px solid #64748b;border-radius:6px;cursor:pointer}.app-sidebar .fvam-placement,.rail .fvam-placement{padding:0;width:100%}@media(max-width:767px){.fvam-heading nav{width:100%}.fvam-map-columns{grid-template-columns:1fr}.fvam-overlay{padding:1rem 2rem .5rem .5rem}}@media(prefers-reduced-motion:reduce){.fvam *{scroll-behavior:auto!important}}

/* Keep native checkbox controls compact when the board sizes all form inputs. */
.fvam input[type="checkbox"]{appearance:auto!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;padding:0!important;margin:0!important;flex:0 0 16px!important;transform:none!important;vertical-align:middle;accent-color:var(--fvam-primary)}
.fvam label:has(>input[type="checkbox"]){display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:.5rem!important}
.fvam-report-filter{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;margin-bottom:.7rem}.fvam-report-filter label{flex:1 1 150px;max-width:240px}.fvam-metrics{margin:1rem 0}.fvam-metrics strong{display:block;font-size:1.6rem;color:var(--fvam-accent)}.fvam-table-wrap{overflow-x:auto;margin:.8rem 0 1.5rem}.fvam-report{border-collapse:collapse;width:100%;font-size:.85rem}.fvam-report th,.fvam-report td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border,#64748b);white-space:nowrap}.fvam-report th a{text-decoration:none;color:var(--fvam-accent)}.fvam-report td:last-child{min-width:120px}.fvam-trend{display:block;height:10px;border-radius:6px;background:var(--fvam-primary)}
/* Match native action buttons to the addon's selected primary colour. */
.fvam button,.fvam .button{background:var(--fvam-primary)!important;color:#fff!important;border:1px solid var(--fvam-primary)!important;box-shadow:none;cursor:pointer;text-decoration:none!important;line-height:1.35}
.fvam button:hover,.fvam .button:hover{filter:brightness(.9)}
.fvam button:focus-visible,.fvam .button:focus-visible{outline:2px solid var(--fvam-accent);outline-offset:3px}
.fvam button:disabled{opacity:.55;cursor:not-allowed}
.fvam-checklist,.fvam-upload-slot{border:1px solid var(--border,#64748b);border-radius:8px;padding:.7rem;margin:.8rem 0;min-width:0}.fvam-checklist legend,.fvam-upload-slot legend{padding:0 .3rem;font-weight:700}.fvam-checklist label{font-size:.85rem;white-space:normal}.fvam-price-summary{display:flex;gap:1rem;flex-wrap:wrap;margin:.7rem 0;padding:.8rem;border:1px solid var(--fvam-primary);border-radius:8px}.fvam-price-summary span{display:block}.fvam-price-summary strong{display:block;color:var(--fvam-accent)}

/* Compact control-panel presentation; all rules remain inside the addon. */
.fvam{color:var(--text,#e8eef7);line-height:1.5;--fvam-panel:var(--surface,#182233);--fvam-field-bg:var(--bg,#111827)}
.fvam .fvam-heading{display:block;padding:1.15rem 1.25rem 0;background:var(--fvam-panel);border:1px solid var(--border,#334155);border-radius:12px;margin-bottom:1.25rem;overflow:hidden;box-shadow:0 4px 16px #0000000a}
.fvam-heading h1{font-size:1.45rem;font-weight:650;letter-spacing:-.025em}.fvam-heading p{margin:.25rem 0 1rem;font-size:.85rem;color:var(--text,#e8eef7)}
.fvam-heading nav{margin:0 -1.25rem;padding:.65rem 1.25rem;background:var(--surface-2,#202d40);border-top:1px solid var(--border,#334155);gap:.35rem}
.fvam-heading nav .button{background:transparent!important;border-color:transparent!important;color:var(--text,#e8eef7)!important;padding:.45rem .65rem;border-radius:6px;font-weight:500}
.fvam-heading nav .button[aria-current=page]{background:var(--fvam-primary)!important;color:white!important}.fvam-heading nav .button:hover{border-color:var(--fvam-primary)!important;filter:none}
.fvam .card{background:var(--fvam-panel);border-color:var(--border,#334155);border-radius:10px;padding:1.1rem;box-shadow:0 3px 12px #00000008}.fvam .card h2,.fvam .card h3{margin-top:0;font-size:1.05rem;font-weight:650}
.fvam-page-title{font-size:1.3rem;margin:1rem 0 .3rem;letter-spacing:-.02em}.fvam-page-intro{margin:0 0 1rem;font-size:.85rem}
.fvam-form{max-width:960px;margin:0;background:var(--fvam-panel);border:1px solid var(--border,#334155);border-radius:10px;padding:1.15rem}
.fvam .fvam-form-section{border:0;border-bottom:1px solid var(--border,#334155);padding:0 0 1rem;margin:0 0 1rem;min-width:0}.fvam-form-section legend{font-size:.82rem;font-weight:750;letter-spacing:.025em;color:var(--fvam-accent);padding:0 0 .6rem}
.fvam .fvam-form .fvam-field{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:1rem;margin:.65rem 0}.fvam-field-label{font-size:.83rem;font-weight:550}.fvam-form .fvam-field-label{text-align:right}
.fvam input:not([type=checkbox]):not([type=hidden]),.fvam select,.fvam textarea{background:var(--fvam-field-bg);color:var(--text,#e8eef7);border:1px solid var(--input,var(--border,#334155));border-radius:6px;font:inherit;min-height:36px;padding:.5rem .65rem;max-width:100%;box-sizing:border-box}
.fvam input:focus-visible,.fvam select:focus-visible,.fvam textarea:focus-visible{outline:2px solid var(--fvam-primary);outline-offset:1px}.fvam input[type=file]{font-size:.8rem}.fvam input[type=file]::file-selector-button{background:var(--surface-2,#243247);color:var(--text,#e8eef7);border:1px solid var(--border,#475569);border-radius:4px;margin-right:.65rem;padding:.3rem .6rem;cursor:pointer}
.fvam .fvam-form .fvam-grid .fvam-field{grid-template-columns:1fr;gap:.3rem;align-items:start}.fvam-form .fvam-grid .fvam-field-label{text-align:left}
.fvam .fvam-rules{max-height:220px;overflow:auto;background:var(--fvam-field-bg);border:1px solid var(--border,#334155);border-left:3px solid var(--fvam-accent);border-radius:6px;padding:.5rem .8rem;margin:.8rem 0}.fvam-rules p{margin:.4rem 0;font-size:.78rem}
.fvam details{border:1px solid var(--border,#334155);border-radius:6px;padding:.65rem .8rem;margin:1rem 0}.fvam summary{cursor:pointer;font-size:.85rem;font-weight:650}.fvam details[open] summary{margin-bottom:.7rem}
.fvam-submit-row{border-top:1px solid var(--border,#334155);padding-top:1rem;margin-top:1rem;display:flex;justify-content:flex-end}.fvam button{font-weight:650;min-height:34px}
.fvam-checklist{background:var(--fvam-field-bg)}.fvam-checklist label{padding:.2rem 0}.fvam-price-summary{background:var(--fvam-field-bg);border-color:var(--border,#334155);justify-content:space-between}.fvam-price-summary strong{font-size:1.1rem}
@media(max-width:640px){.fvam .fvam-form .fvam-field{grid-template-columns:1fr;gap:.3rem}.fvam-form .fvam-field-label{text-align:left}.fvam-form{padding:.85rem}.fvam-heading nav{padding:.5rem .85rem}.fvam-submit-row button{width:100%}.fvam-price-summary{gap:.7rem}}
.fvam-local-preview{margin:.6rem 0 1rem;padding:.7rem;background:var(--fvam-field-bg);border:1px solid var(--border,#334155);border-radius:6px}.fvam-local-preview img{display:block;max-width:100%;max-height:220px;object-fit:contain}.fvam-local-preview p{font-size:.78rem;margin:.5rem 0 0;overflow-wrap:anywhere}.fvam-rejection{display:block;width:100%;padding:.7rem;border-left:3px solid var(--fvam-accent);background:var(--fvam-field-bg);overflow-wrap:anywhere}.fvam textarea{width:100%;min-height:80px}
/* Give analytics sections consistent breathing room without enlarging the type. */
.fvam .fvam-metrics{margin-block:1.25rem 1.5rem;gap:1rem}
.fvam #fvam-daily-trends{margin-block:.9rem 1.75rem;scroll-margin-top:90px}
.fvam #fvam-daily-trends>.fvam-actions{gap:.8rem;padding-block:.5rem;margin-top:.75rem}
.fvam .fvam-table-wrap{margin-block:1rem 1.5rem}
.fvam .fvam-report th,.fvam .fvam-report td{padding:.65rem .75rem}
.fvam .fvam-report th:first-child,.fvam .fvam-report td:first-child{padding-left:.5rem}
.fvam .fvam-table-wrap+h3{margin-top:1.75rem}
.fvam #fvam-daily-trends+h3{margin-top:1.75rem;margin-bottom:.75rem}
.fvam>h3{margin-bottom:.75rem}
.fvam .fvam-report-filter{gap:.8rem;margin-block:1rem}
.fvam .fvam-table-wrap+p{margin-block:1rem;line-height:1.65}
@media(max-width:640px){.fvam .fvam-report th,.fvam .fvam-report td{padding:.6rem}.fvam #fvam-daily-trends>.fvam-actions{gap:.65rem}}

.fvam-form [data-fvam-code] textarea{width:100%;box-sizing:border-box;font-family:monospace;min-height:160px}.fvam-form [hidden]{display:none!important}.fvam-banner iframe{background:transparent}

.fvam-embed{width:100%;min-width:0}.fvam-embed-creative img{max-width:none}.fvam-written-ad{display:contents}

.fvam-banner[hidden]{display:none!important}.fvam-embed-creative{position:relative;display:flow-root}

/* Campaign cards and controls must not inherit stacked-card offsets from themes. */
.fvam .fvam-campaign-grid{align-items:stretch;gap:1rem;margin-block:1rem}
.fvam .fvam-campaign-grid>article.card{margin:0!important;display:flex;flex-direction:column;gap:.65rem}
.fvam .fvam-campaign-grid>article.card>h3,.fvam .fvam-campaign-grid>article.card>p{margin:0}
.fvam .fvam-campaign-grid .fvam-actions{margin-top:auto;gap:.55rem;align-items:center}
.fvam .fvam-campaign-grid .fvam-actions>form{margin:0;padding:0;display:inline-flex;flex:0 1 auto}
.fvam .fvam-campaign-grid .fvam-reject-panel{order:10;flex-basis:100%;box-sizing:border-box;margin:.25rem 0 0;padding:.65rem}
.fvam .fvam-campaign-grid .fvam-reject-panel form{display:block;margin:0}
.fvam .fvam-campaign-grid .fvam-reject-panel textarea{box-sizing:border-box;min-height:90px;max-width:100%}
.fvam>h2{margin-top:1.5rem;margin-bottom:.75rem}
