/* Plan de Contenido · app */
body{background:var(--off)}
.app-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--line)}
.head-right{display:flex;align-items:center;gap:12px;font-size:14px}
.pro-status{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pro-mail{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
html.is-pro .only-free{display:none!important}
.toolbar{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 20px;background:rgba(255,245,243,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.month-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.month-title{font-size:22px;margin:0;min-width:170px;text-align:center}
.nav-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ink);background:#fff;font-size:22px;line-height:1;cursor:pointer}
.nav-btn:hover{background:var(--ink);color:#fff}
.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.quota{font-size:13px;color:var(--muted)}
.layout{display:grid;grid-template-columns:330px 1fr;gap:20px;padding:20px;max-width:1440px;margin:0 auto;align-items:start}
@media (max-width:1000px){.layout{grid-template-columns:1fr}.side{order:2}}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:16px}
.h3{font-size:17px;margin-bottom:12px}
.lbl{font:600 13px/1.3 var(--font-head);display:block;margin:0 0 6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.row3{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:0 10px}
@media (max-width:520px){.row3{grid-template-columns:1fr 1fr}.row3 .field:first-child{grid-column:1/-1}}
.seg{display:flex;gap:6px}
.seg label{margin:0;flex:1}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:block;text-align:center;padding:9px;border:1.5px solid var(--line-strong);border-radius:10px;cursor:pointer;font:600 15px var(--font-head)}
.seg input:checked+span{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.seg input:focus-visible+span{outline:3px solid var(--brand-text);outline-offset:2px}
.bank-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.filters button{border:1.5px solid var(--line-strong);background:#fff;border-radius:999px;padding:6px 12px;font:600 13px var(--font-head);cursor:pointer;min-height:34px}
.filters button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.bank{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto;padding-right:4px}
.idea{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.idea b{display:block;font:600 14px/1.35 var(--font-head)}
.idea small{font-size:12px;color:var(--muted)}
.idea .add{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);background:#fff;font-size:18px;cursor:pointer}
.idea .add:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.idea.locked{background:var(--off);opacity:.75}
.idea.locked .add{border-style:dashed}
.bank-more{text-align:center;padding:12px;border:1.5px dashed var(--line-strong);border-radius:12px;font-size:14px}

.legend-row{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:10px}
.legend-row span{display:flex;align-items:center;gap:6px}
.f{display:inline-block;width:12px;height:12px;border-radius:3px}
.f-reel{background:var(--brand)}.f-carrusel{background:var(--ink)}.f-post{background:#fff;border:1.5px solid var(--ink)}.f-historia{background:#FFD6DE}
.weekdays,.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.weekdays span{font:700 12px var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 6px 4px}
.day{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:122px;padding:6px;display:flex;flex-direction:column;gap:4px;cursor:pointer;position:relative;text-align:left;font:inherit;color:inherit}
.day:hover{border-color:var(--ink)}
.day.out{background:transparent;border-style:dashed;cursor:default}
.day.today{box-shadow:inset 0 0 0 2px var(--brand)}
.day .dn{font:700 14px var(--font-head);display:flex;justify-content:space-between;align-items:center;gap:4px}
.day .dn .wd{display:none;font-weight:500;color:var(--muted)}
.special{font:600 10.5px/1.25 var(--font-body);color:var(--brand-text);background:var(--soft);border-radius:6px;padding:2px 5px}
.post{display:block;width:100%;text-align:left;border:0;border-radius:8px;padding:5px 6px;font:600 11.5px/1.3 var(--font-body);cursor:pointer;overflow:hidden}
.post .t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post .m{display:flex;justify-content:space-between;gap:4px;font-weight:500;font-size:10.5px;opacity:.9;margin-top:2px}
.post.Reel{background:var(--brand);color:#fff}
.post.Carrusel{background:var(--ink);color:#fff}
.post.Post{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.post.Historia{background:#FFD6DE;color:var(--ink)}
.post.s-publicado{opacity:.55;text-decoration:line-through}
.st{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.4}
.st.s-listo,.st.s-publicado{opacity:1}
.add-hint{margin-top:auto;font-size:11px;color:var(--muted);opacity:0}
.day:hover .add-hint{opacity:1}
@media (max-width:700px){
  .weekdays{display:none}
  .grid{grid-template-columns:1fr}
  .day{min-height:0}
  .day.out,.day.empty:not(.today){display:none}
  .day .dn .wd{display:inline}
  .add-hint{opacity:1}
}

.editor{border:0;border-radius:var(--r-lg);padding:0;width:min(640px,calc(100% - 24px));max-height:calc(100vh - 24px);box-shadow:0 30px 80px rgba(0,0,0,.3)}
.editor::backdrop{background:rgba(10,14,30,.55)}
.editor form{padding:22px}
.ed-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ed-head .pro-close{position:static}
.cap-head{display:flex;justify-content:space-between;align-items:center}
.cap-head label{margin:0}
.ed-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
#eDel{margin-right:auto;border-color:var(--danger);color:var(--danger)}
#eDel:hover{background:var(--danger);color:#fff}
.app-foot{text-align:center;padding:24px;font-size:14px;color:var(--muted)}

/* Ajustes móviles */
fieldset{min-width:0}
.layout>*{min-width:0}
@media (max-width:560px){
  .app-head{padding:10px 16px}
  .toolbar,.layout{padding-left:16px;padding-right:16px}
  .pro-mail{display:none}
  .app-head .brand .wm{font-size:16px}
  .app-head .brand img{width:32px;height:32px}
  .pro-status>span:first-child{display:none}
  .head-right{gap:6px}
  .pro-status .link-btn{white-space:nowrap}
  .head-right .install-btn span{display:none}
    .head-right .btn{padding:8px 12px}
}

/* v2: progreso, exportar, arrastrar, accesibilidad */
.head-right .lang-link{min-height:38px;min-width:38px}
.quota-wrap{display:flex;flex-direction:column;gap:4px;min-width:160px}
.progress{display:block;height:6px;border-radius:999px;background:var(--line);overflow:hidden;max-width:220px}
.progress i{display:block;height:100%;width:0;background:var(--green);transition:width .3s}
.nav-btn{width:44px;height:44px}
.filters button{min-height:40px}
.idea .add{width:44px;height:44px}
.day:focus-within .add-hint,.add-hint:focus-visible{opacity:1}
.day.drop{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand);background:var(--soft)}
.post.dragging{opacity:.4}
.post[draggable=true]{cursor:grab}
.day.has-special{background:#FFFBFA}
.empty-month{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1.5px dashed var(--line-strong);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}
.empty-month p{margin:0;max-width:62ch}
#eCharsWrap.over{color:var(--danger);font-weight:700}
.warn-txt{color:var(--danger);min-height:0;margin:4px 0 0}
.warn-txt:empty{display:none}
#ePub{border-color:var(--green);color:var(--green)}
#ePub:hover{background:var(--green);color:#fff}
.export{width:min(720px,calc(100% - 24px))}
.x-body{padding:22px}
.x-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.x-item{border:1px solid var(--line);border-radius:var(--r);padding:14px}
.x-item:first-child{grid-column:1/-1;background:var(--off)}
.x-item b{font-family:var(--font-head)}
.x-item .hint{margin:4px 0 10px}
.x-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.x-row select{width:auto;flex:1 1 200px}
@media (max-width:600px){.x-grid{grid-template-columns:1fr}.actions{width:100%}.actions .btn{flex:1 1 auto}}
@media (pointer:coarse){.add-hint{opacity:1}.filters button{min-height:44px}}
@media (max-width:700px){.day{min-height:0}}

/* v3 Pro: resultados, resumen del mes, plantillas y «hoy toca» */
.met-box{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px 2px;margin:0 0 14px}
.met-box legend{font:700 15px var(--font-head);padding:0 6px;margin-left:-6px}
.met-box .hint{margin:0 0 8px}
.met-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 10px}
@media (max-width:560px){.met-grid{grid-template-columns:1fr 1fr}}
.met-grid input:disabled{background:var(--off);cursor:not-allowed}
.met-lock{font-size:14px;margin:0 0 10px}
.cap-head{gap:8px;flex-wrap:wrap}
.cap-head label{margin-right:auto}
.tpl-sel{width:auto;max-width:210px;min-height:38px;padding:6px 10px;font:600 13px var(--font-head)}
@media (pointer:coarse){.tpl-sel{min-height:44px}}
.today-bar{display:flex;flex-direction:column;gap:8px;background:#fff;border:1.5px solid var(--brand);border-radius:var(--r);padding:12px 14px;margin-bottom:12px}
.tb-lbl{font:700 13px var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text)}
.tb-item{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tb-item>span:first-child{min-width:0;overflow-wrap:anywhere;font-weight:600}
.tb-f{display:inline-block;font-size:12px;font-weight:700;color:var(--muted);margin-right:4px}
.tb-acts{display:flex;gap:6px;flex-wrap:wrap}
.stats{width:min(760px,calc(100% - 24px))}
.s-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:6px 0 14px}
@media (max-width:640px){.s-kpis{grid-template-columns:repeat(2,1fr)}.s-kpis div:first-child{grid-column:1/-1}}
.s-kpis div{background:var(--off);border-radius:10px;padding:10px;min-width:0}
.s-kpis span{display:block;font-size:13px;color:var(--muted)}
.s-kpis b{display:block;font:700 22px var(--font-head);overflow-wrap:anywhere}
.s-kpis small{font-size:12px;color:var(--muted)}
.s-best{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
@media (max-width:640px){.s-best{grid-template-columns:1fr}}
.s-best div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.s-best small{display:block;font:700 11px var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-text)}
.s-best b{display:block;overflow-wrap:anywhere}
.s-best span{font-size:13px;color:var(--muted)}
.s-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.s-cols{grid-template-columns:1fr}}
.s-cols h3,.s-tips h3{font-size:15px;margin:0 0 8px}
.bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bars li{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:4px 8px;font-size:13px}
.bars .bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bars .bt{height:10px;background:var(--off);border-radius:99px;overflow:hidden}
.bars .bt i{display:block;height:100%;background:var(--brand);border-radius:99px}
.bars small{grid-column:2/-1;color:var(--muted);font-size:12px;margin-top:-4px}
.s-tips{margin:14px 0}
.s-tips ul{margin:0;padding-left:20px}
.s-tips li{margin:4px 0}
@media print{
  body.print-stats>*:not(#statsDlg){display:none!important}
  body.print-stats #statsDlg{position:static;display:block;box-shadow:none;max-height:none;width:100%;border:0;overflow:visible}
  body.print-stats #statsDlg::backdrop{display:none}
  body.print-stats .ed-actions,body.print-stats .pro-close{display:none!important}
  body.print-stats .bars .bt,body.print-stats .bars .bt i,body.print-stats .s-kpis div{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
