#pageIklan{gap:16px}
.pira-iklan-row-button{width:100%;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text);font-family:inherit}.pira-iklan-row-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pira-iklan-row-button:hover{background:var(--bg2)}
.pira-iklan-warning{color:var(--gold)}
.pira-iklan-score.down{color:var(--down)}.pira-iklan-score.up{color:var(--up)}
/* Dropdown IKLAN (iklanDropdown di iklan.js): ikon arah urutan / platform di tombol & opsi. */
.pira-iklan-dropdown .lbl{display:inline-flex;align-items:center;gap:6px;flex:none}
.pira-iklan-sort-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pira-iklan-opt-icon{display:inline-flex;flex:0 0 16px}.pira-iklan-opt-icon svg{width:16px;height:16px}
.pira-iklan-dropdown .dd-opt .pira-iklan-sort-icon,.pira-iklan-opt-icon[data-publisher=instagram]{color:var(--muted)}
.pira-iklan-opt-icon[data-publisher=facebook]{color:var(--accent)}
.pira-iklan-dropdown .dd-opt[aria-selected=true] .pira-iklan-sort-icon{color:var(--accent)}
.pira-iklan-sorter .dd-list{max-height:min(400px,60vh)}
.pira-iklan-sorter .dd-panel{width:310px}
.pira-iklan-sales-signal{font-variant-numeric:tabular-nums;max-width:100%;white-space:normal;overflow-wrap:anywhere}.pira-iklan-overview-copy{min-width:0}
.pira-iklan-tags .pira-iklan-tag,.pira-iklan-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:650;border:1px solid var(--line2);border-radius:6px;padding:3px 8px;background:var(--bg2)}
.pira-iklan-tag.active{color:var(--up);background:var(--up-soft);border-color:color-mix(in srgb,var(--up) 40%,transparent)}
.pira-iklan-tag.paused{color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:color-mix(in srgb,var(--gold) 40%,transparent)}
.pira-iklan-tag.ended{color:var(--muted);background:var(--card2)}
.pira-iklan-tag.none{color:var(--down);background:var(--down-soft);border-color:color-mix(in srgb,var(--down) 40%,transparent)}
.pira-iklan-tag.other{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
body.pira-iklan-modal-open{overflow:hidden}
.pira-iklan-modal{margin:auto;width:min(1120px,calc(100vw - 40px));max-width:none;max-height:92dvh;border:1px solid var(--line2);border-radius:20px;background:var(--card);color:var(--text);padding:0;box-shadow:var(--shadow-pop);overflow:auto;overscroll-behavior:contain}
.pira-iklan-modal::backdrop{background:rgba(5,8,13,.76);backdrop-filter:blur(4px)}
.pira-iklan-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 16px;position:sticky;top:0;background:var(--card);border-bottom:1px solid var(--line);z-index:3}
.pira-iklan-modal-head h2{font-size:22px;overflow-wrap:anywhere}.pira-iklan-modal-head .card-sub{max-width:none}.pira-iklan-modal-head button{flex-shrink:0;min-height:44px;min-width:44px}.pira-iklan-eyebrow{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:1px;margin-bottom:7px}
#adsModalBody{padding:24px 28px;display:flex;flex-direction:column;gap:22px}.pira-iklan-modal-tabs{display:flex;gap:8px;overflow:auto;padding:14px 28px 0}.pira-iklan-modal-tabs:empty{display:none}.pira-iklan-modal-tabs button{flex-shrink:0;min-height:44px}.pira-iklan-modal-tabs .selected{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.pira-iklan-overview{display:flex;align-items:center;gap:24px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--bg2)}.pira-iklan-overview-copy{display:flex;flex-direction:column;gap:10px}.pira-iklan-overview-copy .pira-iklan-score{font-size:20px}.pira-iklan-overview-copy .pira-iklan-score small{font-size:16px;color:inherit}.pira-iklan-overview-copy p{color:var(--muted);font-size:13px;line-height:1.6}
.pira-iklan-gauge{width:140px;height:140px;position:relative;flex-shrink:0}.pira-iklan-gauge svg{width:100%;height:100%;transform:rotate(-90deg)}.pira-iklan-gauge circle{fill:none;stroke-width:8}.pira-iklan-gauge-track{stroke:var(--line2)}.pira-iklan-gauge-value{stroke:var(--score-color);stroke-linecap:round}.pira-iklan-gauge>div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.pira-iklan-gauge strong{font-size:36px;color:var(--score-color);line-height:1.2}.pira-iklan-gauge small{color:var(--muted);font-size:12px}
.pira-iklan-modal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pira-iklan-modal-stats>div{padding:16px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:7px;min-width:0}.pira-iklan-modal-stats small{font-size:12px;color:var(--muted)}.pira-iklan-modal-stats strong{font-size:20px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pira-iklan-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pira-iklan-panel{border:1px solid var(--line);background:var(--bg2);border-radius:14px;padding:20px;min-width:0}.pira-iklan-panel h3,.pira-iklan-recommendations>h3{font-size:16px;margin-bottom:7px}.pira-iklan-panel p,.pira-iklan-recommendations>p{font-size:12.5px;line-height:1.6;color:var(--muted)}.pira-iklan-panel h4{font-size:14px;margin:18px 0 10px}
.pira-iklan-target{margin-top:22px}.pira-iklan-target-label,.pira-iklan-target-foot{display:flex;justify-content:space-between;gap:10px;font-size:13px}.pira-iklan-target-label b{font-weight:600}.pira-iklan-target-label>span{font-size:17px;font-weight:700}.pira-iklan-track{height:12px;background:var(--line);border-radius:4px;position:relative;margin:10px 0}.pira-iklan-bar{display:block;height:100%;border-radius:4px;background:var(--accent)}.pira-iklan-bar.good{background:var(--up)}.pira-iklan-bar.bad{background:var(--down)}.pira-iklan-track>i{position:absolute;height:22px;width:2px;top:-5px;background:var(--text)}.pira-iklan-target-foot{color:var(--muted);font-size:12px}
.pira-iklan-volume{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.pira-iklan-volume>div{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:6px}.pira-iklan-volume small{color:var(--muted)}.pira-iklan-volume strong{font-size:22px}
.pira-iklan-gmv-bar{display:flex;height:18px;border-radius:5px;overflow:hidden;background:var(--gold);margin:14px 0}.pira-iklan-gmv-bar span{display:block;height:100%;background:var(--accent)}.pira-iklan-gmv-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-bottom:10px}.pira-iklan-gmv-legend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px;background:var(--gold)}.pira-iklan-gmv-legend i.direct{background:var(--accent)}
.pira-iklan-rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.pira-iklan-rec{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;background:var(--bg2)}.pira-iklan-rec.active{border-left-color:var(--up)}.pira-iklan-rec.paused{border-left-color:var(--gold)}.pira-iklan-rec.none{border-left-color:var(--down)}.pira-iklan-rec-number{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--card);border:1px solid var(--line2);font-size:12px;font-weight:700}.pira-iklan-rec h4{font-size:14px;margin:2px 0 7px}.pira-iklan-rec p{font-size:13px;color:var(--muted);line-height:1.65}.pira-iklan-modal-note{font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:700px){.pira-iklan-modal{width:calc(100vw - 16px);max-height:95dvh;border-radius:14px}.pira-iklan-modal-head{padding:16px;gap:10px}.pira-iklan-modal-head h2{font-size:18px}#adsModalBody{padding:16px;gap:16px}.pira-iklan-modal-tabs{padding:12px 16px 0}.pira-iklan-overview{padding:14px;gap:14px;align-items:flex-start}.pira-iklan-gauge{width:90px;height:90px}.pira-iklan-gauge strong{font-size:27px}.pira-iklan-overview-copy .pira-iklan-score{font-size:16px}.pira-iklan-overview-copy .pira-iklan-score small{font-size:13px}.pira-iklan-modal-stats{grid-template-columns:1fr 1fr}.pira-iklan-modal-stats>div{padding:12px}.pira-iklan-modal-stats strong{font-size:17px}.pira-iklan-visual-grid,.pira-iklan-rec-grid{grid-template-columns:1fr}.pira-iklan-panel{padding:16px}.pira-iklan-raw>summary{overflow-wrap:anywhere}}
.pira-iklan-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.pira-iklan-header h2{font-size:18px}.pira-iklan-header .pira-iklan-wide{width:100%;flex:0 0 100%;max-width:none}.pira-iklan-actions{display:flex;gap:8px;flex-wrap:wrap}
.pira-iklan-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pira-iklan-stat{padding:18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.pira-iklan-stat>span,.pira-iklan-stat small{color:var(--muted);font-size:12.5px}.pira-iklan-stat strong{font-size:24px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.pira-iklan-controls{position:relative;z-index:3;display:flex;flex-direction:column;gap:18px}.pira-iklan-controls .seg{align-self:flex-start;flex-wrap:wrap}
.pira-iklan-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.pira-iklan-filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12.5px;flex:1 1 145px;min-width:0}
.pira-iklan-dropdown{flex:1 1 210px;min-width:0}.pira-iklan-dropdown .dd,.pira-iklan-dropdown .dd-btn{width:100%;max-width:none}.pira-iklan-dropdown .dd-btn{justify-content:space-between}.pira-iklan-dropdown .lbl{color:var(--text);font-weight:700}.pira-iklan-dropdown .val{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pira-iklan-dropdown .dd-panel{max-width:calc(100vw - 48px)}
/* Meta & TikTok memakai tata letak yang sama lewat kelas: cari (2 kolom) · urutkan · reset di baris 1, dropdown mengalir di bawahnya. */
.pira-iklan-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.pira-iklan-filter-search{grid-column:1/3;grid-row:1}.pira-iklan-filter-sort{grid-column:3;grid-row:1}.pira-iklan-filter-reset{grid-column:4;grid-row:1;justify-self:end}
#adsFilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}#adsFilters>label{grid-column:1/3;grid-row:1}#adsSortMount{grid-column:3;grid-row:1}#adsReset{grid-column:4;grid-row:1;justify-self:end}#adsCategoryMount{grid-column:1;grid-row:2}#adsStatusMount{grid-column:2;grid-row:2}#adsSignalMount{grid-column:3;grid-row:2}#adsScoreMount{grid-column:4;grid-row:2}
.pira-iklan-filters input,.pira-iklan-filters select{border:1px solid var(--field-line);background:var(--field);color:var(--text);border-radius:8px;min-height:44px;padding:10px;width:100%;font:inherit}
#pageIklan button{min-height:44px}#pageIklan [hidden]{display:none!important}
.pira-iklan-result-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.pira-iklan-results{padding:20px}.pira-iklan-results h3{font-size:16px}#adsList{margin-top:18px}
.pira-iklan-row{border-top:1px solid var(--line)}.pira-iklan-row>.pira-iklan-row-button{display:grid;grid-template-columns:minmax(210px,2.1fr) repeat(4,minmax(90px,1fr)) minmax(130px,1.2fr) 16px;align-items:center;gap:14px;cursor:pointer;padding:18px 4px;list-style:none;font-size:13px}
.pira-iklan-row>.pira-iklan-no-ads{grid-template-columns:minmax(220px,2.1fr) repeat(2,minmax(110px,1fr)) minmax(140px,1.2fr) 16px}
.pira-iklan-row>.pira-iklan-row-button::-webkit-details-marker{display:none}.pira-iklan-row>.pira-iklan-row-button:hover{background:var(--card2)}
.pira-iklan-product,.pira-iklan-metric{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}.pira-iklan-product b{font-size:14px}
.pira-iklan-product small,.pira-iklan-metric>small,.pira-iklan-score small,.pira-iklan-detail small{font-size:12.5px;color:var(--muted)}.pira-iklan-metric{font-variant-numeric:tabular-nums}.pira-iklan-score{font-weight:700;display:flex;flex-direction:column;gap:4px}
.pira-iklan-tags{display:flex;gap:5px;flex-wrap:wrap}.pira-iklan-tags span{font-size:12px;border:1px solid var(--line2);padding:2px 6px;border-radius:5px}
.pira-iklan-expand{font-size:20px}
.pira-iklan-detail{padding:8px 16px 24px;background:var(--bg2);border-radius:10px}.pira-iklan-detail h4{font-size:14px;margin:16px 0 10px}
.pira-iklan-ad{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.pira-iklan-advice{padding:12px;background:var(--card);border-left:3px solid var(--accent);margin:12px 0;font-size:13px;line-height:1.65}
.pira-iklan-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:14px 0}.pira-iklan-metrics div{min-width:0}.pira-iklan-metrics dt{color:var(--muted);font-size:12.5px}.pira-iklan-metrics dd{margin-top:4px;font-size:13px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pira-iklan-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pira-iklan-variants>div{display:flex;flex-direction:column;gap:5px;font-size:13px;padding:10px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}
.pira-iklan-raw summary,.pira-iklan-method summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:14px;font-weight:600}
.pira-iklan-method p{font-size:13px;line-height:1.7;color:var(--muted);margin:12px 0}.pira-iklan-method a{color:var(--accent)}.pira-iklan-empty{text-align:center;padding:48px 16px;color:var(--muted)}.pira-iklan-empty h3{color:var(--text);margin-bottom:8px}
.pira-iklan-preview p{margin:10px 0}.pira-iklan-preview .pira-iklan-actions{margin-top:16px}#adsMore{margin-top:16px}
@media(max-width:1200px){.pira-iklan-row>.pira-iklan-row-button{grid-template-columns:minmax(170px,2fr) repeat(3,minmax(78px,1fr)) minmax(120px,1.2fr) 16px;gap:12px}.pira-iklan-row>.pira-iklan-no-ads{grid-template-columns:minmax(170px,2fr) repeat(2,minmax(90px,1fr)) minmax(120px,1.2fr) 16px}.pira-iklan-row>.pira-iklan-row-button>.pira-iklan-ad-gmv{display:none}.pira-iklan-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pira-iklan-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pira-iklan-stat{padding:12px}.pira-iklan-stat strong{font-size:19px}.pira-iklan-results{padding:12px}.pira-iklan-row>.pira-iklan-row-button{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px;gap:12px}.pira-iklan-product{grid-column:1/3}.pira-iklan-expand{grid-column:3;grid-row:1}.pira-iklan-row>.pira-iklan-row-button>.pira-iklan-ad-gmv{display:flex}.pira-iklan-metric{grid-column:auto}.pira-iklan-row>.pira-iklan-row-button>.pira-iklan-ad-score{grid-column:1/3}.pira-iklan-detail{padding:4px 10px 16px}.pira-iklan-metrics,.pira-iklan-variants{grid-template-columns:repeat(2,minmax(0,1fr))}.pira-iklan-filters label{flex-basis:140px}.pira-iklan-filters input,.pira-iklan-filters select{font-size:16px}.pira-iklan-method{padding:14px}.pira-iklan-header{padding:14px}.pira-iklan-header h2{display:block}.pira-iklan-controls{padding:12px}.pira-iklan-controls .seg button{font-size:12px;padding:8px}.pira-iklan-wide{overflow-wrap:anywhere}.mobile-tabbar button{font-size:10px}.pira-iklan-variants>div{grid-column:1/-1}}
@media(max-width:700px){.pira-iklan-row>.pira-iklan-row-button>.pira-iklan-metric:not(.pira-iklan-ad-score){grid-column:1/2}.pira-iklan-row>.pira-iklan-row-button>.pira-iklan-metric:not(.pira-iklan-ad-score):nth-of-type(odd){grid-column:2/3}}
@media(max-width:1000px){#adsFilters{grid-template-columns:repeat(2,minmax(0,1fr))}#adsFilters>label{grid-column:1;grid-row:1}#adsSortMount{grid-column:2;grid-row:1}#adsReset{grid-column:1/-1;grid-row:auto;order:9;justify-self:end}#adsCategoryMount{grid-column:1;grid-row:2}#adsStatusMount{grid-column:2;grid-row:2}#adsSignalMount{grid-column:1;grid-row:3}#adsScoreMount{grid-column:2;grid-row:3}}
@media(max-width:1000px){.pira-iklan-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pira-iklan-filter-search{grid-column:1}.pira-iklan-filter-sort{grid-column:2}.pira-iklan-filter-reset{grid-column:1/-1;grid-row:auto;order:9}}
/* Ponsel: urutkan = tombol ikon di kanan kotak cari (opsi tetap berikon di panel); filter lain satu kolom penuh. */
@media(max-width:480px){.pira-iklan-filter-grid,#adsFilters{grid-template-columns:minmax(0,1fr) auto}.pira-iklan-filter-grid>*,#adsFilters>*{grid-column:1/-1!important;grid-row:auto!important}.pira-iklan-filter-search,#adsFilters>label{grid-column:1!important;grid-row:1!important}.pira-iklan-sorter,#adsFilters>.pira-iklan-sorter{grid-column:2!important;grid-row:1!important}.pira-iklan-sorter .dd-btn{width:44px;padding:0;justify-content:center}.pira-iklan-sorter .dd-btn .lbl{font-size:0;gap:0}.pira-iklan-sorter .dd-btn .val,.pira-iklan-sorter .dd-btn .car{display:none}.pira-iklan-filter-reset,#adsReset{order:9;justify-self:stretch}}

/* Navigasi platform tetap terpisah dari bagian/filter laporan Shopee. */
.pira-iklan-header{position:relative;z-index:5;padding:16px 20px}
.pira-iklan-platforms{display:flex;gap:8px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--bg2)}
.pira-iklan-platforms button{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 18px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.pira-iklan-platforms button[aria-selected=true]{background:var(--card2);border-color:var(--line2);color:var(--text);box-shadow:inset 0 -2px var(--accent)}
.pira-iklan-platforms button:hover{color:var(--text);background:var(--card)}
.pira-iklan-platforms button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pira-iklan-platforms img{object-fit:contain;flex:none}
.pira-iklan-platforms svg{flex:none}
#iklanProductsActions{align-items:center;margin-left:auto}
.pira-iklan-tiktok-logo{background:#000;border-radius:6px;padding:4px;object-fit:contain}
#iklanShopeeActions{align-items:center;margin-left:auto}
#iklanInfoBtn{width:44px;height:44px}
#adsMeta{left:auto;right:0;display:flex;flex-direction:column;gap:10px;text-align:left}
#adsMeta p{margin:0;line-height:1.6}
#iklanMetaHelp:not(.open) #adsMeta{opacity:0;visibility:hidden;pointer-events:none}
.pira-iklan-platform-panel{display:flex;flex-direction:column;gap:16px;min-width:0}
#adsMessage:empty{display:none}
.pira-iklan-identity{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-variant-numeric:tabular-nums}
.pira-iklan-identity>span{overflow-wrap:anywhere;min-width:0}
.pira-iklan-copy{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;padding:3px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}
.pira-iklan-copy:hover{color:var(--text);background:var(--card2)}.pira-iklan-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pira-iklan-variant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pira-iklan-variant-head>b{min-width:0;padding-top:4px}
.pira-iklan-variants>.pira-iklan-variant-missing{border-style:dashed;color:var(--muted)}.pira-iklan-variant-missing b{color:var(--text)}
.pira-iklan-stock-link{flex:none;margin:0;padding:5px 8px;min-height:28px;font-size:11px;white-space:nowrap}
@media(max-width:700px){.pira-iklan-header{gap:12px;padding:12px}.pira-iklan-platforms{width:100%}.pira-iklan-platforms button{flex:1;padding:10px 12px}#iklanShopeeActions{width:100%;margin-left:0}#adsMeta{left:0;right:auto;width:min(360px,calc(100vw - 64px))}#adsReload{margin-left:auto}}

@media(max-width:480px){.pira-iklan-platforms{gap:4px}.pira-iklan-platforms button{flex:1 1 0;min-width:0;flex-direction:column;gap:5px;padding:9px 4px;font-size:12px;white-space:nowrap}}
@media(max-width:480px){#iklanPlatforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#iklanPlatforms button{flex-direction:row;gap:8px;white-space:normal;min-height:48px}#iklanProductsActions{width:100%;justify-content:flex-end}}

.pira-iklan-controls-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#adsSettingsOpen{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-left:auto}
body.pira-iklan-settings-open{overflow:hidden}
.pira-iklan-settings-modal{width:min(860px,calc(100vw - 40px))}
.pira-iklan-settings-body{padding:24px 28px}
#adsSettingsMessage{margin-bottom:16px;font-size:13px;line-height:1.6}#adsSettingsMessage:empty{display:none}
#adsSettings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px;align-items:start}
#adsSettings label{font-size:13px}#adsSettings input{width:100%;min-height:44px}
.pira-iklan-settings-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.pira-iklan-settings-actions button{min-height:44px}
.pira-iklan-settings-body>.pira-iklan-method{border-top:1px solid var(--line);margin-top:24px;padding-top:10px}
@media(max-width:700px){.pira-iklan-settings-modal{width:calc(100vw - 16px)}.pira-iklan-settings-body{padding:16px}#adsSettings{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.pira-iklan-controls-head{align-items:flex-start}#adsSettingsOpen{margin-left:0}}
@media(max-width:380px){#adsSettings{grid-template-columns:1fr}}
/* Produk push (tabel push DB katalog; tanda sama dgn badge STOCK ALERT) */
.pira-iklan-tag.push{color:#fb923c;background:rgba(251,146,60,.12);border-color:rgba(251,146,60,.45)}
:root[data-theme="light"] .pira-iklan-tag.push{color:#c2410c;background:#fff7ed}
.pira-iklan-push-hint{color:#fb923c;font-weight:600}
:root[data-theme="light"] .pira-iklan-push-hint{color:#c2410c}

/* Switcher toko: satu pilihan memengaruhi seluruh laporan Shopee. */
.pira-iklan-stores{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);width:216px;max-width:100%;flex-shrink:0}
.pira-iklan-store-thumb{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border:1px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 16%,var(--card));transition:transform .18s ease-out}
.pira-iklan-stores[data-brand=prodesign] .pira-iklan-store-thumb{transform:translateX(100%)}
.pira-iklan-stores button{min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.pira-iklan-stores button[aria-pressed=true]{color:var(--text)}
.pira-iklan-stores button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.pira-iklan-stores button:disabled{opacity:.55;cursor:wait}
body.pira-iklan-upload-open{overflow:hidden}
.pira-iklan-upload-modal{width:min(540px,calc(100vw - 24px))}
.pira-iklan-upload-options{display:flex;flex-direction:column;gap:12px;padding:24px}
.pira-iklan-upload-options p{color:var(--muted);font-size:14px;line-height:1.6}
.pira-iklan-upload-options button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;text-align:left;min-height:72px}
.pira-iklan-upload-options strong{font-size:16px;color:var(--text)}
.pira-iklan-upload-options span{font-size:13px;color:var(--muted)}
@media(max-width:700px){.pira-iklan-controls-head .pira-iklan-stores{flex:1 1 150px;width:auto}#adsSettingsOpen{margin-left:auto;font-size:12px;padding:8px 10px}}
@media(max-width:480px){.pira-iklan-upload-options{padding:16px}}
@media(prefers-reduced-motion:reduce){.pira-iklan-store-thumb{transition:none}}
/* Semua produk: filter dasar LIST ECOMMERCE + iklan/platform; baris Iklan · Stok · Rata jual · Platform. */
#adsPSortMount{grid-column:3;grid-row:1}#adsPStatusMount{grid-column:1;grid-row:2}#adsPCatMount{grid-column:2;grid-row:2}#adsPCat2Mount{grid-column:3;grid-row:2}#adsPBrandMount{grid-column:4;grid-row:2}#adsPRmkMount{grid-column:1;grid-row:3}#adsPIklanMount{grid-column:2;grid-row:3}#adsPPlatformMount{grid-column:3;grid-row:3}
.pira-iklan-row>.pira-iklan-produk-row{grid-template-columns:minmax(220px,2.1fr) repeat(4,minmax(100px,1fr)) 16px}
.pira-iklan-produk-iklan .pira-iklan-tag{align-self:flex-start}
.pira-iklan-platform-list{display:flex;flex-wrap:wrap;gap:6px}.pira-iklan-platform-chip{display:inline-flex;align-items:center;gap:6px;font-weight:650;border:1px solid var(--line2);border-radius:6px;padding:3px 8px;background:var(--bg2)}.pira-iklan-platform-chip img{width:16px;height:16px;flex:none}
@media(max-width:1200px){.pira-iklan-row>.pira-iklan-produk-row{grid-template-columns:minmax(170px,2fr) repeat(4,minmax(78px,1fr)) 16px;gap:12px}}
@media(max-width:1000px){#adsPSortMount{grid-column:2;grid-row:1}#adsPStatusMount{grid-column:1;grid-row:2}#adsPCatMount{grid-column:2;grid-row:2}#adsPCat2Mount{grid-column:1;grid-row:3}#adsPBrandMount{grid-column:2;grid-row:3}#adsPRmkMount{grid-column:1;grid-row:4}#adsPIklanMount{grid-column:2;grid-row:4}#adsPPlatformMount{grid-column:1;grid-row:5}}
@media(max-width:700px){.pira-iklan-row>.pira-iklan-produk-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 22px}}

/* Meta memakai komponen visual IKLAN; semua selector tambahan dibatasi Meta. */
.pira-meta-heading{font-size:17px;margin:0}
/* Status access token Meta: satu baris; warna pinggir & ikon mengikuti level dari server (token_view). Rincian = tooltip. */
.pira-meta-token{flex:1 1 0;min-width:280px;display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 4px 4px 12px;border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:10px;background:var(--bg2);color:var(--muted)}
.pira-meta-token[data-level=ok]{border-left-color:var(--up);color:var(--up)}.pira-meta-token[data-level=warn]{border-left-color:var(--gold);color:var(--gold)}
.pira-meta-token[data-level=urgent],.pira-meta-token[data-level=expired],.pira-meta-token[data-level=invalid]{border-left-color:var(--down);color:var(--down);background:color-mix(in srgb,var(--down) 7%,var(--bg2))}
.pira-meta-token-icon{flex:none;width:17px;height:17px}
.pira-meta-token h2{flex:none;font-size:14px;margin:0;color:var(--text);white-space:nowrap}.pira-meta-token .pira-iklan-tag{flex:none;white-space:nowrap}
.pira-meta-token-renew{flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pageIklan #metaTokenCheck{flex:none;display:grid;place-items:center;width:34px;min-height:34px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}#pageIklan #metaTokenCheck:hover{color:var(--text);border-color:var(--line2)}#metaTokenCheck svg{width:15px;height:15px}#metaTokenCheck:disabled svg{animation:pira-meta-spin 1s linear infinite}@keyframes pira-meta-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#metaTokenCheck:disabled svg{animation:none}}
.pira-meta-setting-fields label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:var(--muted);min-width:0}
.pira-meta-setting-fields input{width:100%;min-height:44px;border:1px solid var(--field-line);background:var(--field);color:var(--text);border-radius:8px;padding:10px;font:inherit}
.pira-meta-setting-fields input:focus-visible,.pira-iklan-filters input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pira-meta-message{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.pira-meta-message:empty{display:none}#metaInfo{max-width:none;overflow-wrap:anywhere}
#metaFetch{min-height:44px}
.pira-meta-platform svg{width:14px;height:14px;flex:none}.pira-meta-platform[data-publisher=facebook]{color:var(--accent)}.pira-meta-platform[data-publisher=instagram]{color:var(--text)}.pira-meta-platform-pending{color:var(--muted)}
#metaList{margin-top:18px}#metaMore{margin-top:16px}#metaStores{margin-left:auto}
.pira-meta-modal-body{padding:24px 28px;display:flex;flex-direction:column;gap:22px}.pira-meta-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pira-meta-identity dt{color:var(--muted);font-size:12px}.pira-meta-identity dd{margin-top:5px;font-size:13px;overflow-wrap:anywhere}
.pira-meta-settings{width:min(760px,calc(100vw - 32px))}.pira-meta-setting-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pira-meta-settings .btn-primary{align-self:flex-start;min-height:44px}
@media(max-width:700px){.pira-meta-heading,.pira-meta-token{width:100%;flex-basis:100%;min-width:0}#metaStores{margin-left:0;flex:1 1 180px}.pira-meta-modal-body{padding:16px}.pira-meta-identity{grid-template-columns:1fr}.pira-meta-setting-fields input{font-size:16px}}
@media(max-width:480px){.pira-meta-setting-fields{grid-template-columns:1fr}}

/* TikTok Ads memakai komponen IKLAN/Meta; selector tambahan dibatasi pira-tt / #tt*. */
/* Filter kampanye & materi: panel lipat di bawah baris filter produk (tiktok_ads.js syncFilters). */
.pira-tt-adv{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg2) 55%,transparent);animation:pop .18s cubic-bezier(.2,.9,.3,1.1)}
.pira-tt-adv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pira-tt-adv-head p{margin:0;font-size:12.5px;color:var(--muted)}.pira-tt-adv-head b{color:var(--text)}
#pageIklan .pira-tt-adv-head button{min-height:34px;padding:6px 12px;font-size:12.5px}
.pira-tt-adv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pira-tt-adv-open .dd-btn .car{transform:rotate(180deg)}.pira-tt-adv-open .dd-btn{border-color:var(--accent2)}
#ttStores{margin-left:auto}#ttList{margin-top:18px}#ttMore{margin-top:16px}#ttInfo{max-width:none;overflow-wrap:anywhere}
.pira-tt-creative{border-top:1px solid var(--line);padding:14px 0;display:flex;flex-direction:column;gap:6px}.pira-tt-creative .pira-iklan-metrics{margin:6px 0}
.pira-tt-creative-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pira-tt-creative-head>div{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.pira-tt-creative-head small{color:var(--muted);font-size:12px}.pira-tt-creative-head .pira-iklan-tags{flex:none;justify-content:flex-end}
.pira-tt-modal-seg{margin:12px 0 4px;flex-wrap:wrap}.pira-tt-creative .pira-iklan-identity{font-size:12.5px;color:var(--muted)}
.pira-tt-table{border-collapse:collapse;font-size:13px;margin:8px 0}.pira-tt-table th,.pira-tt-table td{padding:6px 12px 6px 0;text-align:left;font-variant-numeric:tabular-nums}.pira-tt-table th{color:var(--muted);font-weight:600}
@media(max-width:1000px){.pira-tt-adv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#ttStores{margin-left:0;flex:1 1 180px}.pira-tt-creative-head{flex-direction:column}.pira-tt-creative-head .pira-iklan-tags{justify-content:flex-start}}
@media(max-width:480px){.pira-tt-adv-grid{grid-template-columns:1fr}.pira-tt-adv{padding:10px}}
/* 📸 Bulan lalu di bagian Produk sales drop (iklan_bulan.js) */
.pira-iklan-result-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pira-iklan-bulan .dd-panel{width:300px}
.pira-iklan-snap-note{border-left:3px solid var(--snap);padding-left:10px}
.pira-iklan-snap-note b{color:var(--snap)}
/* Ponsel: batas perbarui turun ke baris kedua agar tanggal tidak terpotong. */
@media(max-width:480px){.pira-meta-token{flex-wrap:wrap;row-gap:2px;padding:6px 4px 6px 12px}.pira-meta-token-renew{order:9;flex-basis:100%;white-space:normal;padding-left:27px}}
