/* ─── SocialFarma · estilos aislados dentro de .sf-modal ─── */
.sf-modal /* SocialFarma — Estilos */
*,.sf-modal *::before,.sf-modal *::after{box-sizing:border-box;margin:0;padding:0}
:root{--border:#e0e0d8;--bg:#f5f5f0;--surf:#fff;--text:#1a1a1a;--t2:#444;--t3:#777;--t4:#aaa;
  --r:10px;--rl:12px;
  --cedu:#1D9E75;--cedul:#e8f5ef;--cedd:#1a6b45;--cedum:#a3d9be;
  --ccon:#EF9F27;--cconl:#fef3e2;--ccond:#8a5c0a;--cconm:#f5c87a;
  --cpro:#378ADD;--cprol:#e8f0fb;--cprod:#1a4390;--cprom:#93b8ee;
  --ccla:#7c4dff;--cclal:#f3effc;--cclam:#c9b8f0;--cclad:#5333a5;}
.sf-modal /* Header */
.hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--border);margin-bottom:1rem}
.sf-modal /* Bottom nav */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surf);border-top:1px solid var(--border);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom);overflow-x:auto;-webkit-overflow-scrolling:touch}
.sf-modal /* Calendar */
.obj-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1rem}
.sf-modal .obj-pill{padding:8px 10px;border-radius:var(--r);text-align:center;border:1px solid transparent}
.sf-modal .obj-pill .d{font-size:10px;font-weight:600;letter-spacing:.04em;margin-bottom:2px}
.sf-modal .obj-pill .t{font-size:12px;font-weight:600}
.sf-modal .og{background:var(--cedul);border-color:var(--cedum)}
.sf-modal .og .d,.sf-modal .og .t{color:var(--cedd)}
.sf-modal .oa{background:var(--cconl);border-color:var(--cconm)}
.sf-modal .oa .d,.sf-modal .oa .t{color:var(--ccond)}
.sf-modal .ob{background:var(--cprol);border-color:var(--cprom)}
.sf-modal .ob .d,.sf-modal .ob .t{color:var(--cprod)}
.sf-modal .seasonal{font-size:12px;color:var(--t2);background:var(--surf);border-radius:var(--r);padding:8px 14px;margin-bottom:1rem;border:1px solid var(--border)}
.sf-modal .cal-hdr{display:grid;grid-template-columns:repeat(7,1fr) 1.8fr;margin-bottom:4px}
.sf-modal .cal-dow{text-align:center;font-size:11px;color:var(--t4);padding:3px 0;font-weight:600}
.sf-modal .cal-dow.p{color:var(--cedu)}
.sf-modal .wrow{border-radius:var(--r);padding:3px 3px 0;margin-bottom:4px;cursor:pointer;border:1px solid transparent;background:var(--surf);transition:all .15s}
.sf-modal .wrow:hover{background:#f0f5f2;border-color:var(--cedum)}
.sf-modal .wrow.saved{border-color:var(--cedum);background:var(--cedul)}
.sf-modal .wdays{display:grid;grid-template-columns:repeat(7,1fr) 1.8fr;align-items:center}
.sf-modal .cd{text-align:center;padding:5px 0;font-size:13px;border-radius:6px;position:relative;cursor:default}
.sf-modal .cd.out{color:#ccc}
.sf-modal .cd.tday{font-weight:700}
.sf-modal .cd.tday::after{content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--cedu);margin:1px auto 0}
.sf-modal .cd.pd{color:var(--cedu);font-weight:600}
.sf-modal .cd.has-acts{cursor:pointer}
.sf-modal .day-check{position:absolute;top:1px;right:2px;font-size:9px;color:var(--cedu);font-weight:700}
.sf-modal .week-check-badge{font-size:10px;color:var(--cedu);background:var(--cedul);border-radius:20px;padding:1px 6px;font-weight:700;margin-left:4px}
.sf-modal .wsug{font-size:11px;color:var(--t4);padding:2px 8px;display:flex;align-items:center;overflow:hidden}
.sf-modal .wsug span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-modal .sug-sec{margin-top:1rem}
.sf-modal .sec-lbl{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--t4);margin-bottom:7px}
.sf-modal .chips{display:flex;flex-wrap:wrap;gap:6px}
.sf-modal .chip{padding:5px 12px;font-size:12px;border:1px solid var(--border);border-radius:20px;color:var(--t2);background:var(--surf)}
.sf-modal .camp-entry{margin-top:1.25rem}
.sf-modal .btn-camp{width:100%;padding:12px;font-size:14px;font-weight:600;border:1px dashed var(--cclam);border-radius:var(--r);background:var(--cclal);color:var(--cclad);cursor:pointer;transition:all .15s}
.sf-modal .btn-camp:hover{background:var(--ccla);color:#fff;border-style:solid}
.sf-modal /* Day detail panel */
.day-detail{background:var(--surf);border:1px solid var(--cedum);border-radius:var(--rl);margin-top:.875rem;overflow:hidden}
.sf-modal .day-detail-hd{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--cedul);font-size:13px;font-weight:600;color:var(--cedd)}
.sf-modal .day-detail-close{background:none;border:none;cursor:pointer;font-size:18px;color:var(--cedd);line-height:1;padding:0 2px}
.sf-modal .day-detail-body{padding:10px 14px;display:flex;flex-direction:column;gap:8px}
.sf-modal .day-act-item{display:flex;align-items:flex-start;gap:10px}
.sf-modal .day-act-check{width:20px;height:20px;background:var(--cedu);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}
.sf-modal .day-act-label{font-size:13px;color:var(--text)}
.sf-modal .day-act-time{font-size:11px;color:var(--t3);margin-top:2px}
.sf-modal /* Week view */
.week-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}
.sf-modal .week-hd-right{display:flex;align-items:center;gap:6px}
.sf-modal .back-btn{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--t3);cursor:pointer;border:none;background:none;padding:0;transition:color .15s}
.sf-modal .back-btn:hover{color:var(--text)}
.sf-modal .btn-camp-sm{padding:6px 12px;font-size:12px;border:1px solid var(--cclam);border-radius:8px;background:var(--cclal);color:var(--cclad);cursor:pointer;font-weight:600;transition:all .15s}
.sf-modal .btn-camp-sm:hover{background:var(--ccla);color:#fff;border-color:var(--ccla)}
.sf-modal .btn-copy-all{padding:6px 12px;font-size:12px;border:1px solid var(--cedum);border-radius:8px;background:var(--cedul);color:var(--cedd);cursor:pointer;font-weight:600;transition:all .15s}
.sf-modal .btn-copy-all:hover{background:var(--cedu);color:#fff;border-color:var(--cedu)}
.sf-modal .wbadge{display:inline-block;font-size:12px;padding:4px 12px;border-radius:20px;background:var(--surf);border:1px solid var(--border);color:var(--t3);margin-bottom:1rem}
.sf-modal .dcard{border:1px solid var(--border);border-radius:var(--rl);margin-bottom:12px;overflow:hidden;background:var(--surf);transition:border-color .2s}
.sf-modal .dcard.accepted{border-color:var(--cedum)}
.sf-modal .dhd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:var(--bg);border-bottom:1px solid var(--border)}
.sf-modal .dhd-info{flex:1;min-width:0}
.sf-modal .dtl{font-size:13px;font-weight:600;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.sf-modal .day-type-lbl{font-size:11px;font-weight:500}
.sf-modal .type-sel{display:flex;gap:3px;flex-shrink:0}
.sf-modal .tpill{padding:4px 9px;font-size:11px;border-radius:20px;cursor:pointer;border:1px solid var(--border);background:var(--surf);color:var(--t3);font-weight:500;transition:all .12s;white-space:nowrap}
.sf-modal .tpill:hover{border-color:var(--t3);color:var(--text)}
.sf-modal .tpill.active-educacion{background:var(--cedul);border-color:var(--cedum);color:var(--cedd);font-weight:700}
.sf-modal .tpill.active-consejo{background:var(--cconl);border-color:var(--cconm);color:var(--ccond);font-weight:700}
.sf-modal .tpill.active-producto{background:var(--cprol);border-color:var(--cprom);color:var(--cprod);font-weight:700}
.sf-modal .opt-nav{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--border)}
.sf-modal .opt-btn{border:1px solid var(--border);background:var(--surf);color:var(--t2);width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}
.sf-modal .opt-btn:hover{background:var(--bg);border-color:var(--t3)}
.sf-modal .opt-lbl{font-size:11px;color:var(--t3)}
.sf-modal .dpost{padding:14px}
.sf-modal .post-title{font-size:14px;font-weight:600;margin-bottom:10px;line-height:1.4}
.sf-modal .post-body{font-size:13px;color:var(--t2);line-height:1.7;white-space:pre-wrap;margin-bottom:12px}
.sf-modal .post-meta{display:flex;flex-direction:column;gap:4px}
.sf-modal .post-cta{font-size:13px;font-style:italic}
.sf-modal .post-fmt{font-size:11px;color:var(--t4)}
.sf-modal .post-body-accepted{font-size:12px;color:var(--t2);line-height:1.65;white-space:pre-wrap;padding:12px 14px}
.sf-modal .dft{display:flex;align-items:center;gap:7px;padding:8px 12px;border-top:1px solid var(--border);flex-wrap:wrap}
.sf-modal .btn-accept{flex:1;padding:9px 14px;font-size:13px;font-weight:700;border:none;border-radius:8px;background:var(--cedu);color:#fff;cursor:pointer;transition:opacity .15s;text-align:center}
.sf-modal .btn-accept:hover{opacity:.88}
.sf-modal .cpbtn{padding:6px 14px;font-size:12px;border:1px solid var(--cedum);border-radius:8px;background:var(--cedul);color:var(--cedd);cursor:pointer;font-weight:600;transition:all .15s}
.sf-modal .cpbtn:hover,.sf-modal .cpbtn.ok{background:var(--cedu);color:#fff;border-color:var(--cedu)}
.sf-modal .btn-edit{padding:6px 12px;font-size:12px;border:1px solid var(--border);border-radius:8px;background:var(--surf);color:var(--t3);cursor:pointer;transition:all .15s}
.sf-modal .btn-edit:hover{background:var(--bg);color:var(--text)}
.sf-modal .accepted-banner{display:flex;align-items:center;gap:7px;padding:7px 12px;background:var(--cedul);border-bottom:1px solid var(--cedum)}
.sf-modal .acc-icon{width:18px;height:18px;background:var(--cedu);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.sf-modal .acc-label{font-size:12px;font-weight:500;color:var(--cedd)}
.sf-modal .btn-claude{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:12px;border:1px solid var(--cclam);border-radius:8px;background:var(--cclal);color:var(--cclad);cursor:pointer;font-weight:600;transition:all .15s;text-decoration:none;margin-left:auto}
.sf-modal .btn-claude:hover{background:var(--ccla);color:#fff;border-color:var(--ccla)}
.sf-modal .claude-icon{font-size:13px}
.sf-modal .dedit{padding:14px}
.sf-modal .edit-ta{width:100%;min-height:260px;padding:10px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--r);background:var(--surf);color:var(--text);font-family:inherit;line-height:1.7;resize:vertical}
.sf-modal .edit-ta:focus{outline:none;border-color:var(--cedu)}
.sf-modal .edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.sf-modal .btn-cancel{padding:6px 14px;font-size:12px;border:1px solid var(--border);border-radius:8px;background:var(--surf);color:var(--t3);cursor:pointer}
.sf-modal .btn-save-edit{padding:6px 14px;font-size:12px;font-weight:600;border:none;border-radius:8px;background:var(--cedu);color:#fff;cursor:pointer}
.sf-modal /* Campaign */
.camp-header{margin-bottom:1.25rem}
.sf-modal .camp-title{font-size:16px;font-weight:700;margin-bottom:4px}
.sf-modal .camp-sub{font-size:13px;color:var(--t3)}
.sf-modal .camp-section{margin-bottom:1.25rem}
.sf-modal .dur-grid{display:flex;flex-wrap:wrap;gap:6px}
.sf-modal .dur-btn{padding:7px 14px;font-size:13px;border:1px solid var(--border);border-radius:20px;background:var(--surf);color:var(--t2);cursor:pointer;transition:all .15s;font-weight:500}
.sf-modal .dur-btn:hover{border-color:var(--t3);color:var(--text)}
.sf-modal .dur-btn.active{background:var(--cclal);border-color:var(--cclam);color:var(--cclad);font-weight:700}
.sf-modal .camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.sf-modal .camp-tile{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surf);cursor:pointer;transition:all .15s}
.sf-modal .camp-tile:hover{border-color:var(--t3);background:var(--bg)}
.sf-modal .camp-tile.active{border-color:var(--cclam);background:var(--cclal)}
.sf-modal .camp-icon{font-size:20px;line-height:1}
.sf-modal .camp-lbl{font-size:13px;font-weight:600}
.sf-modal .camp-desc{font-size:11px;color:var(--t3);line-height:1.4}
.sf-modal .camp-tile.active .camp-lbl{color:var(--cclad)}
.sf-modal .camp-tile.active .camp-desc{color:var(--cclad);opacity:.75}
.sf-modal .camp-result{background:var(--cclal);border:1px solid var(--cclam);border-radius:var(--rl);padding:16px;margin-top:1rem}
.sf-modal .camp-result-hd{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px}
.sf-modal .camp-result-icon{font-size:20px}
.sf-modal .camp-result-body{font-size:13px;color:var(--t2);line-height:1.6;margin-bottom:14px}
.sf-modal .camp-result-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sf-modal .btn-claude-lg{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:700;border:none;border-radius:8px;background:var(--ccla);color:#fff;cursor:pointer;transition:all .15s;text-decoration:none}
.sf-modal .btn-claude-lg:hover{background:#5a35cc}
.sf-modal .camp-hint{font-size:13px;color:var(--t4);text-align:center;padding:2rem 1rem;background:var(--surf);border:1px dashed var(--border);border-radius:var(--r);margin-top:1rem}
.sf-modal /* Reels / Carrusel */
.view-hd{margin-bottom:1rem}
.sf-modal .view-title{font-size:16px;font-weight:700;margin-bottom:3px}
.sf-modal .view-sub{font-size:12px;color:var(--t3)}
.sf-modal .filter-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:1rem}
.sf-modal .ftab{padding:5px 12px;font-size:12px;border:1px solid var(--border);border-radius:20px;background:var(--surf);color:var(--t2);cursor:pointer;transition:all .15s;font-weight:500}
.sf-modal .ftab:hover{border-color:var(--t3);color:var(--text)}
.sf-modal .ftab.active{background:var(--cedul);border-color:var(--cedum);color:var(--cedd);font-weight:700}
.sf-modal /* Frases */
.frases-tabs .ftab{padding:6px 10px;font-size:11px}
.sf-modal .frases-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem;flex-wrap:wrap;gap:8px}
.sf-modal .frases-cat-title{font-size:14px;font-weight:600}
.sf-modal .btn-gen-frases{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:600;border:1px solid var(--cclam);border-radius:8px;background:var(--cclal);color:var(--cclad);text-decoration:none;transition:all .15s}
.sf-modal .btn-gen-frases:hover{background:var(--ccla);color:#fff;border-color:var(--ccla)}
.sf-modal .frases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.sf-modal .frase-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;display:flex;align-items:flex-start;gap:10px}
.sf-modal .frase-text{flex:1;font-size:13px;line-height:1.55;color:var(--text)}
.sf-modal .frase-copy{padding:5px 11px;font-size:11px;font-weight:600;border:1px solid var(--cedum);border-radius:7px;background:var(--cedul);color:var(--cedd);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}
.sf-modal .frase-copy:hover,.sf-modal .frase-copy.ok{background:var(--cedu);color:#fff;border-color:var(--cedu)}
.sf-modal /* Responsive */
@media(max-width:580px){body{padding:1rem .75rem 5rem}
  .img-main{grid-template-columns:1fr;grid-template-rows:auto auto}
  .img-tools{border-left:none;border-top:1px solid var(--border);max-height:380px;overflow-y:auto}
  .img-canvas-area{padding:10px;min-height:auto}
  .img-canvas-wrap canvas{max-width:100%}
  .obj-pill .t{font-size:11px}
  .type-sel{flex-wrap:wrap}
  .tpill{font-size:10px;padding:3px 7px}
  .camp-grid{grid-template-columns:1fr 1fr}
  .frases-grid{grid-template-columns:1fr}
  .mnav-lbl{min-width:110px}
  
  .dft{gap:5px}
  .btn-claude{margin-left:0}
  .fmt-tab{min-width:48px;padding:4px 6px}
  .txt-ed-controls{gap:6px}}
.sf-modal /* ── Pipeline ─────────────────────────────────────────────── */
.pl-empty{text-align:center;padding:3rem 1rem;color:var(--t3)}
.sf-modal .pl-empty-icon{font-size:40px;margin-bottom:.75rem}
.sf-modal .pl-empty-title{font-size:15px;font-weight:600;color:var(--t2);margin-bottom:4px}
.sf-modal .pl-empty-sub{font-size:13px}
.sf-modal .pl-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1.25rem}
.sf-modal .pl-sum-item{border:1px solid;border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.sf-modal .pl-sum-n{font-size:22px;font-weight:800;line-height:1}
.sf-modal .pl-sum-lbl{font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--t3)}
.sf-modal .pl-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:start}
.sf-modal .pl-col{display:flex;flex-direction:column;gap:8px}
.sf-modal .pl-col-hd{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px;background:var(--bg);border:1px solid}
.sf-modal .pl-col-count{font-size:16px;font-weight:800}
.sf-modal .pl-col-empty{font-size:12px;color:var(--t4);text-align:center;padding:16px 8px;background:var(--surf);border:1px dashed var(--border);border-radius:var(--r)}
.sf-modal .pl-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;display:flex;flex-direction:column;gap:5px}
.sf-modal .pl-card-tipo{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.sf-modal .pl-card-title{font-size:12px;font-weight:600;line-height:1.4;color:var(--text)}
.sf-modal .pl-card-date{font-size:11px;color:var(--t3)}
.sf-modal .pl-card-actions{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.sf-modal .pl-card-right{display:flex;gap:5px;align-items:center}
.sf-modal .pl-btn-next{padding:5px 10px;font-size:11px;font-weight:700;border:none;border-radius:7px;color:#fff;cursor:pointer;transition:opacity .15s;text-align:center}
.sf-modal .pl-btn-next:hover{opacity:.85}
.sf-modal .pl-btn-prev{padding:4px 8px;font-size:10px;border:1px solid var(--border);border-radius:6px;background:var(--surf);color:var(--t3);cursor:pointer;transition:all .15s}
.sf-modal .pl-btn-prev:hover{border-color:var(--t3);color:var(--text)}
.sf-modal .pl-btn-copy{padding:4px 10px!important;font-size:11px!important}
.sf-modal .pl-btn-del{border:none;background:none;cursor:pointer;color:var(--t4);font-size:16px;line-height:1;padding:0 3px}
.sf-modal .pl-btn-del:hover{color:#e53935}
.sf-modal .pl-done-badge{font-size:11px;font-weight:700;color:var(--cedu);background:var(--cedul);border-radius:20px;padding:4px 10px;text-align:center}
.sf-modal /* ── Hashtags ─────────────────────────────────────────────── */
.hash-plat-row{display:flex;gap:8px;margin-bottom:.875rem}
.sf-modal .hash-plat-btn{padding:8px 18px;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:20px;background:var(--surf);color:var(--t2);cursor:pointer;transition:all .15s}
.sf-modal .hash-plat-btn:hover{border-color:var(--t3)}
.sf-modal .hash-plat-btn.active{background:var(--text);color:#fff;border-color:var(--text)}
.sf-modal .hash-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem;flex-wrap:wrap;gap:8px}
.sf-modal .hash-count{font-size:12px;color:var(--t3)}
.sf-modal .btn-hash-copy{padding:6px 14px!important;font-size:12px!important}
.sf-modal .hash-cloud{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1rem}
.sf-modal .hash-chip{display:flex;align-items:center;border:1px solid var(--border);border-radius:20px;overflow:hidden;background:var(--surf)}
.sf-modal .hash-tag{padding:5px 10px 5px 12px;font-size:12px;color:var(--t2)}
.sf-modal .hash-copy1{border:none;background:var(--bg);color:var(--t3);padding:5px 8px;cursor:pointer;font-size:11px;font-weight:700;border-left:1px solid var(--border);transition:all .15s}
.sf-modal .hash-copy1:hover{background:var(--cedu);color:#fff}
.sf-modal .hash-tip{font-size:12px;color:var(--t2);background:var(--cedul);border:1px solid var(--cedum);border-radius:var(--r);padding:10px 14px;line-height:1.6}
.sf-modal /* ── Stories ─────────────────────────────────────────────── */

/* ── Pipeline responsive ──────────────────────────────────── */
@media(max-width:600px){.pl-board{grid-template-columns:1fr}
  .pl-summary{grid-template-columns:repeat(3,1fr)}}
.sf-modal /* ── Custom Product ───────────────────────────────────────── */
.cp-block{margin-top: 1rem; border-radius: var(--rl); overflow: hidden;}
.sf-modal /* Empty state — CTA button */
.cp-empty{border: 1.5px dashed var(--cprom);}
.sf-modal .cp-add-btn{width: 100%; display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--cprol); border: none; cursor: pointer; text-align: left; transition: background .15s;}
.sf-modal .cp-add-btn:hover{background: #dde8f8;}
.sf-modal .cp-add-icon{font-size: 24px; flex-shrink: 0;}
.sf-modal .cp-add-title{font-size: 13px; font-weight: 700; color: var(--cprod); margin-bottom: 2px;}
.sf-modal .cp-add-sub{font-size: 12px; color: var(--t3); line-height: 1.45;}
.sf-modal .cp-add-arrow{font-size: 22px; color: var(--cprom); margin-left: auto; flex-shrink: 0;}
.sf-modal /* Set state — product saved */
.cp-set{border: 1px solid var(--cprom); background: var(--cprol); padding: 14px 16px;}
.sf-modal .cp-block-hd{display: flex; align-items: center; gap: 8px; margin-bottom: 8px;}
.sf-modal .cp-icon{font-size: 18px;}
.sf-modal .cp-title{font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--cprod); flex: 1;}
.sf-modal .cp-block-actions{display: flex; gap: 6px;}
.sf-modal .cp-btn-edit{padding: 3px 10px; font-size: 11px; border: 1px solid var(--cprom); border-radius: 20px; background: var(--surf); color: var(--cprod); cursor: pointer; font-weight: 600; transition: all .15s;}
.sf-modal .cp-btn-edit:hover{background: var(--cpro); color: #fff; border-color: var(--cpro);}
.sf-modal .cp-btn-clear{border: none; background: none; cursor: pointer; color: var(--t4); font-size: 18px; line-height: 1; padding: 0 2px;}
.sf-modal .cp-btn-clear:hover{color: #e53935;}
.sf-modal .cp-product-name{font-size: 15px; font-weight: 700; color: var(--cprod); margin-bottom: 4px;}
.sf-modal .cp-product-desc{font-size: 12px; color: var(--t2); line-height: 1.5; margin-bottom: 6px;}
.sf-modal .cp-hint{font-size: 11px; color: var(--cprod); opacity: .7;}
.sf-modal /* Editing state — form */
.cp-editing{border: 1.5px solid var(--cprom); background: var(--cprol); padding: 14px 16px;}
.sf-modal .cp-editing .cp-block-hd{margin-bottom: 12px;}
.sf-modal .cp-form{display: flex; flex-direction: column; gap: 10px;}
.sf-modal .cp-field{display: flex; flex-direction: column; gap: 4px;}
.sf-modal .cp-label{font-size: 11px; font-weight: 600; color: var(--cprod); text-transform: uppercase; letter-spacing: .04em;}
.sf-modal .cp-input{padding: 8px 12px; font-size: 13px; border: 1px solid var(--cprom); border-radius: 8px; background: var(--surf); color: var(--text); font-family: inherit;}
.sf-modal .cp-input:focus{outline: none; border-color: var(--cpro);}
.sf-modal .cp-textarea{padding: 8px 12px; font-size: 13px; border: 1px solid var(--cprom); border-radius: 8px; background: var(--surf); color: var(--text); font-family: inherit; min-height: 80px; resize: vertical; line-height: 1.5;}
.sf-modal .cp-textarea:focus{outline: none; border-color: var(--cpro);}
.sf-modal .cp-form-actions{display: flex; justify-content: flex-end; gap: 8px;}
.sf-modal /* Week view banner */
.cp-week-banner{margin: 0 12px 12px; border: 1px solid var(--cprom); border-radius: var(--r); background: var(--cprol); padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;}
.sf-modal .cp-week-banner-hd{display: flex; align-items: center; gap: 10px;}
.sf-modal .cp-week-icon{font-size: 22px; flex-shrink: 0;}
.sf-modal .cp-week-title{font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--cprod); margin-bottom: 2px;}
.sf-modal .cp-week-name{font-size: 13px; font-weight: 600; color: var(--cprod);}
.sf-modal .btn-claude-cp{margin-left: 0 !important; border-color: var(--cprom) !important; background: var(--surf) !important; color: var(--cprod) !important;}
.sf-modal .btn-claude-cp:hover{background: var(--cpro) !important; color: #fff !important; border-color: var(--cpro) !important;}
.sf-modal /* ── Generador de campañas ────────────────────────────────── */
.gc-form{display: flex; flex-direction: column; gap: 14px; margin-bottom: 1.25rem;}
.sf-modal .gc-section{display: flex; flex-direction: column; gap: 6px;}
.sf-modal .gc-section-label{font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--t3); display: flex; align-items: center; gap: 6px;}
.sf-modal .gc-required{color: #e53935; font-size: 13px;}
.sf-modal .gc-clear-usados{font-size: 10px; padding: 2px 8px; border: 1px solid var(--border); border-radius: 20px; background: var(--surf); color: var(--t3); cursor: pointer; margin-left: auto; transition: all .15s;}
.sf-modal .gc-clear-usados:hover{background: #fdecea; border-color: #e53935; color: #e53935;}
.sf-modal .gc-pills{display: flex; flex-wrap: wrap; gap: 6px;}
.sf-modal .gc-pill{padding: 7px 14px; font-size: 13px; font-weight: 500; border: 1.5px solid var(--border); border-radius: 20px; background: var(--surf); color: var(--t2); cursor: pointer; transition: all .15s;}
.sf-modal .gc-pill:hover{border-color: var(--t3); color: var(--text);}
.sf-modal .gc-pill.active{background: var(--cedul); border-color: var(--cedum); color: var(--cedd); font-weight: 700;}
.sf-modal .gc-pill-obj.active{background: var(--cconl); border-color: var(--cconm); color: var(--ccond);}
.sf-modal .gc-input{padding: 9px 12px; font-size: 13px; border: 1.5px solid var(--border); border-radius: 8px; background: var(--surf); color: var(--text); font-family: inherit; transition: border-color .15s; width: 100%;}
.sf-modal .gc-input:focus{outline: none; border-color: var(--cedu);}
.sf-modal .gc-input-sm{width: 80px; text-align: center;}
.sf-modal .gc-textarea{padding: 9px 12px; font-size: 13px; border: 1.5px solid var(--border); border-radius: 8px; background: var(--surf); color: var(--text); font-family: inherit; resize: vertical; line-height: 1.55; transition: border-color .15s; width: 100%;}
.sf-modal .gc-textarea:focus{outline: none; border-color: var(--cedu);}
.sf-modal .gc-textarea-usados{font-size: 11px; color: var(--t3);}
.sf-modal .gc-row2{display: flex; gap: 10px; align-items: flex-start;}
.sf-modal .gc-row2 .gc-section{flex: 1;}
.sf-modal .gc-cta-row{display: flex; flex-direction: column; gap: 10px; margin-bottom: 1rem;}
.sf-modal .gc-preview{display: flex; flex-wrap: wrap; gap: 5px;}
.sf-modal .gc-prev-item{font-size: 11px; font-weight: 600; padding: 4px 10px; border-radius: 20px;}
.sf-modal .btn-gc-gen{display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 14px; font-size: 15px; font-weight: 700; border: none; border-radius: var(--r); background: var(--ccla); color: #fff; cursor: pointer; text-decoration: none; transition: opacity .15s;}
.sf-modal .btn-gc-gen:hover{opacity: .88;}
.sf-modal .btn-gc-gen .claude-icon{font-size: 16px;}
.sf-modal .gc-footer-note{font-size: 12px; color: var(--t3); line-height: 1.65; background: var(--bg); border-radius: var(--r); padding: 10px 14px; border: 1px solid var(--border);}
.sf-modal .gc-footer-note strong{color: var(--text);}
.sf-modal /* ── Gencamp fixes ───────────────────────────────────────── */
.gc-pills-sm{gap: 4px;}
.sf-modal .gc-pill-dur{padding: 6px 10px; font-size: 12px; font-weight: 700; min-width: 38px; text-align: center;}
.sf-modal .gc-btn-row{display: flex; gap: 8px; align-items: center; flex-wrap: wrap;}
.sf-modal .gc-btn-copy{font-size: 12px; padding: 8px 14px;}
.sf-modal .btn-gc-gen{flex: 1; min-width: 180px;}
.sf-modal .gc-label-hint{font-size: 10px; font-weight: 400; color: var(--t4); text-transform: none; letter-spacing: 0; margin-left: 4px;}
.sf-modal .gc-usados-tip{font-size: 10px; color: var(--cpro); font-weight: 600; text-transform: none; letter-spacing: 0; margin-left: 2px;}
.sf-modal .gc-usados-count{font-size: 10px; background: var(--cedul); color: var(--cedd); border-radius: 20px; padding: 1px 7px; font-weight: 700; margin-left: auto;}
.sf-modal .gc-clear-usados{margin-left: 4px;}
.sf-modal /* ── Campana: custom product indicator ───────────────────── */
.camp-prod-badge{display:flex;align-items:center;gap:10px;background:var(--cprol);border:1px solid var(--cprom);border-radius:var(--r);padding:10px 14px;margin-bottom:1rem}
.sf-modal .camp-prod-icon{font-size:20px;flex-shrink:0}
.sf-modal .camp-prod-name{font-size:13px;font-weight:700;color:var(--cprod)}
.sf-modal .camp-prod-sub{font-size:11px;color:var(--t3);margin-top:1px}
.sf-modal .camp-prod-empty{font-size:12px;color:var(--t3);background:var(--bg);border:1px dashed var(--border);border-radius:var(--r);padding:9px 14px;margin-bottom:1rem}
.sf-modal .camp-prod-link{font-size:12px;font-weight:600;color:var(--cpro);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}
.sf-modal .camp-result-prod{font-size:11px;background:var(--cprol);color:var(--cprod);border-radius:20px;padding:2px 8px;font-weight:600;margin-left:4px}
.sf-modal /* Canva external link in nav */
.bnav-external{text-decoration:none;border-left:1px solid var(--border)}

/* ═══ Chrome del modal SocialFarma (nuevo, integración BoticaFlash) ═══ */
.sf-overlay{
  position:fixed; inset:0; z-index:9000;
  background:rgba(20,30,22,0.55);
  display:flex; align-items:center; justify-content:center;
  padding:16px;
}
.sf-modal{
  width:96vw; max-width:760px; height:90vh;
  background:var(--bg,#f5f5f0); color:var(--text,#1a1a1a);
  border-radius:12px; overflow:hidden;
  display:flex; flex-direction:column;
  box-shadow:0 24px 80px rgba(0,0,0,0.5);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.5;
}
.sf-head{
  display:flex; align-items:center; gap:12px;
  padding:14px 18px; background:var(--surf,#fff);
  border-bottom:1px solid var(--border,#e0e0d8); flex-shrink:0;
}
.sf-head-left{display:flex; align-items:center; gap:10px; flex:1; min-width:0}
.sf-logo{width:36px;height:36px;background:var(--cedul,#e8f5ef);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.sf-head-title{font-size:16px;font-weight:700;letter-spacing:-.01em}
.sf-head-sub{font-size:11px;color:var(--t3,#777)}
.sf-mnav{display:none;align-items:center;gap:6px}
.sf-mnav.show{display:flex}
.sf-mnav-btn{border:1px solid var(--border,#e0e0d8);background:var(--surf,#fff);color:var(--text,#1a1a1a);padding:4px 11px;border-radius:8px;cursor:pointer;font-size:15px}
.sf-mnav-btn:hover{background:var(--bg,#f5f5f0)}
.sf-mnav-lbl{font-size:13px;font-weight:600;min-width:130px;text-align:center}
.sf-close{width:34px;height:34px;border:1px solid var(--border,#e0e0d8);background:var(--surf,#fff);border-radius:8px;font-size:20px;cursor:pointer;color:var(--t2,#444);flex-shrink:0;line-height:1}
.sf-close:hover{background:var(--bg,#f5f5f0)}

.sf-tabs{
  display:flex; gap:4px; padding:8px 12px; flex-shrink:0;
  background:var(--surf,#fff); border-bottom:1px solid var(--border,#e0e0d8);
  overflow-x:auto;
}
.sf-tabs::-webkit-scrollbar{display:none}
.sf-tab{
  flex:0 0 auto; display:flex; align-items:center; gap:5px;
  padding:7px 14px; border:1px solid transparent; border-radius:8px;
  background:transparent; color:var(--t3,#777); cursor:pointer;
  font-size:13px; font-weight:600; white-space:nowrap; transition:all .15s;
}
.sf-tab:hover{background:var(--bg,#f5f5f0)}
.sf-tab.active{background:var(--cedul,#e8f5ef); color:var(--cedd,#1a6b45); border-color:var(--cedum,#a3d9be)}

.sf-root{
  flex:1; overflow-y:auto; padding:18px;
  background:var(--bg,#f5f5f0);
}
