/* Scoped rules: existing article/ad styles remain untouched. */
.sn-campaign-slot:empty { display:none; }
.sn-campaign-card { margin:32px 0; padding:24px; border:1px solid #d9c5af; border-left:4px solid #94704b; border-radius:10px; background:#faf8f5; color:#24221f; overflow-wrap:anywhere; }
.sn-campaign-card .sn-campaign-label { display:block; color:#775631; font-size:12px; font-weight:700; margin-bottom:10px; }
.sn-campaign-card .sn-campaign-title { margin:0 0 10px; font-size:20px; line-height:1.5; font-weight:700; }
.sn-campaign-card .sn-campaign-description { margin:0 0 16px; font-size:15px; line-height:1.8; }
.sn-campaign-card .sn-campaign-image { display:block; max-width:100%; width:auto; height:auto; margin:0 auto 16px; border-radius:6px; }
.sn-campaign-card .sn-campaign-cta { display:inline-flex; justify-content:center; padding:12px 20px; background:#704a2e; color:#fff!important; border-radius:6px; text-decoration:none; font-weight:700; font-size:15px; line-height:1.5; }
.sn-campaign-card .sn-campaign-notice { margin:0 0 14px; font-size:12px; line-height:1.7; color:#5d564f; }
.sn-campaign-card .sn-campaign-notice, #tp-campaigns .sc-preview .sc-note { white-space:pre-line; }
#tp-campaigns .sc-overview { margin-top:20px; }
#tp-campaigns .sc-campaign-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-top:1px solid #e8e1d9; overflow-wrap:anywhere; }
#tp-campaigns .sc-campaign-row>div { min-width:0; }
#tp-campaigns .sc-campaign-row small { color:#645d56; }
#tp-campaigns #sc-list { max-height:420px; overflow:auto; }
@media(max-width:768px) { #tp-campaigns .sc-campaign-row { flex-direction:column; align-items:stretch; } }
#tp-campaigns .sc-layout { display:grid; grid-template-columns:minmax(300px,420px) minmax(0,1fr); gap:24px; margin-top:20px; }
#tp-campaigns .sc-panel { min-width:0; background:#fff; border:1px solid #ddd3c6; padding:20px; border-radius:8px; }
#tp-campaigns label { display:block; margin:12px 0; font-size:13px; line-height:1.6; color:#292725; }
#tp-campaigns input:not([type=checkbox]), #tp-campaigns select, #tp-campaigns textarea { display:block; width:100%; box-sizing:border-box; border:1px solid #b9b0a6; border-radius:4px; padding:10px; margin-top:5px; font:inherit; color:#24221f; background:white; }
#tp-campaigns .sc-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#tp-campaigns .sc-check { display:flex; gap:10px; align-items:flex-start; }
#tp-campaigns input[type=checkbox] { flex-shrink:0; width:18px; height:18px; accent-color:#704a2e; margin-top:3px; }
#tp-campaigns button { padding:10px 14px; border:1px solid #b6a28e; border-radius:4px; color:#302a24; background:#faf8f5; cursor:pointer; font:inherit; font-size:13px; }
#tp-campaigns button.sc-primary { color:white; background:#704a2e; }
#tp-campaigns button:disabled { opacity:.5; cursor:default; }
#tp-campaigns .sc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0; }
#tp-campaigns .sc-note { color:#645d56; font-size:12px; line-height:1.8; margin:10px 0; }
#tp-campaigns #sc-message { padding:12px; background:#edf7f0; white-space:pre-wrap; overflow-wrap:anywhere; }
#tp-campaigns #sc-message.sc-error { color:#8d2020; background:#ffefed; }
#tp-campaigns .sc-row { display:grid; grid-template-columns:20px minmax(0,1fr) 40px; gap:12px; margin:0; padding:14px 4px; border-bottom:1px solid #e8e1d9; cursor:pointer; }
#tp-campaigns .sc-row:has(input:checked) { background:#edf3ff; }
#tp-campaigns .sc-row small { display:block; margin-top:5px; color:#70665c; }
#tp-campaigns .sc-row a { color:#76512b; }
#tp-campaigns .sc-preview { padding:18px; margin-top:24px; background:#faf8f5; border:1px dashed #c7b092; overflow-wrap:anywhere; }
#tp-campaigns .sc-preview-cta { display:inline-block; background:#704a2e; color:#fff; padding:10px 15px; margin-top:12px; border-radius:4px; }
@media(max-width:1100px) { #tp-campaigns .sc-layout { grid-template-columns:1fr; } }
@media(max-width:480px) { #tp-campaigns .sc-grid { grid-template-columns:1fr; gap:0; } .sn-campaign-card { padding:18px; } .sn-campaign-card .sn-campaign-cta { display:flex; } }
