/* ============================================================
   SCG Social — content management dashboard (cream, app area)
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#efe7d8; --app:#f7f3ea; --card:#fff; --ink:#211e17; --dim:#6f6859; --muted:#938c7d;
  --accent:#a9772a; --bright:#c2871f; --line:#e7dfce; --line2:#ded3bd;
  --ig:#E1306C; --fb:#1877F2; --li:#0A66C2; --x:#111111; --gb:#1a8a4a; --ok:#3b6d11;
  --font-d:'Fraunces',Georgia,serif; --font-b:'IBM Plex Sans',system-ui,sans-serif; --font-m:'JetBrains Mono',monospace;
}
body{background:var(--bg);color:var(--ink);font-family:var(--font-b);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
.mono{font-family:var(--font-m)}
button{font-family:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
::selection{background:rgba(169,119,42,.25)}

/* shell */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.side{background:#1c1813;color:#f4efe3;display:flex;flex-direction:column;padding:22px 16px;position:sticky;top:0;height:100vh}
.brand{font-family:var(--font-d);font-weight:600;font-size:1.4rem;letter-spacing:-.01em;padding:4px 8px 18px}
.brand span{color:var(--bright)}
.brand small{display:block;font-family:var(--font-m);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,227,.5);font-weight:500;margin-top:2px}
.acct{background:rgba(255,255,255,.06);border:1px solid rgba(244,239,227,.12);border-radius:12px;padding:10px 12px;margin-bottom:16px}
.acct label{font-family:var(--font-m);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,239,227,.5);display:block;margin-bottom:5px}
.acct select{width:100%;background:#2a241a;border:1px solid rgba(244,239,227,.16);color:#f4efe3;border-radius:8px;padding:8px 9px;font-family:inherit;font-size:.9rem}
.snav{display:flex;flex-direction:column;gap:2px;flex:1}
.snav button{display:flex;align-items:center;gap:11px;background:none;border:none;color:rgba(244,239,227,.74);padding:11px 12px;border-radius:9px;font-size:.92rem;text-align:left;transition:.15s}
.snav button:hover{background:rgba(255,255,255,.05);color:#fff}
.snav button.on{background:var(--accent);color:#fff}
.snav .ico{width:19px;height:19px;flex:none;color:var(--bright);stroke-width:2px}
.snav button.on .ico{color:#fff}
.snav button:hover .ico{color:var(--bright)}
.snav .badge{margin-left:auto;font-family:var(--font-m);font-size:.62rem;background:var(--bright);color:#1c1813;border-radius:100px;padding:1px 7px;font-weight:600}
.sback{margin-top:14px;padding-top:14px;border-top:1px solid rgba(244,239,227,.12);font-size:.8rem;color:rgba(244,239,227,.6)}
.sback a:hover{color:var(--bright)}

/* main */
.main{display:flex;flex-direction:column;min-width:0}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;background:rgba(247,243,234,.86);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar h1{font-family:var(--font-d);font-weight:400;font-size:1.35rem}
.topbar .chips{display:flex;gap:6px;flex-wrap:wrap}
.netchip{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:100px;border:1px solid var(--line2);background:#fff;color:var(--dim)}
.netchip .dot{width:7px;height:7px;border-radius:50%;background:#c9bfa9}
.netchip.on .dot{background:var(--ok)}
.tnew{background:linear-gradient(100deg,var(--accent),var(--bright));color:#241f15;border:none;border-radius:100px;padding:10px 18px;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.tnew:hover{filter:brightness(1.05)}
.view{padding:26px 28px 60px;overflow-y:auto}

/* generic */
.eye{font-family:var(--font-m);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.h2{font-family:var(--font-d);font-weight:400;font-size:1.7rem;line-height:1.1;margin-bottom:4px}
.sub{color:var(--dim);margin-bottom:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.78rem;font-weight:600;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;font-family:inherit;font-size:.92rem;padding:11px 13px;border:1px solid var(--line2);border-radius:10px;background:#fff;color:var(--ink)}
.field textarea{resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(169,119,42,.14)}
.btn{border:none;border-radius:100px;padding:11px 18px;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.15s}
.btn-gold{background:linear-gradient(100deg,var(--accent),var(--bright));color:#241f15}
.btn-gold:hover{filter:brightness(1.05)}.btn-gold:disabled{opacity:.5;cursor:not-allowed}
.btn-dark{background:var(--ink);color:var(--app)}.btn-dark:hover{background:#000}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line2)}.btn-ghost:hover{border-color:var(--ink)}
.btn-ok{background:var(--ok);color:#fff}

/* composer */
.composer{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.netpick{display:flex;flex-wrap:wrap;gap:9px}
.np{display:inline-flex;align-items:center;gap:12px;padding:10px 18px;border:1px solid var(--line2);border-radius:11px;background:#fff;font-weight:500;font-size:.88rem;color:var(--ink);user-select:none;transition:border-color .15s,background .15s}
.np:hover{border-color:var(--muted)}
.np .nico{width:18px;height:18px;flex:none;color:var(--c)}
.np.on{border-color:var(--c);background:color-mix(in srgb, var(--c) 7%, #fff)}
.np.off{opacity:.45;cursor:not-allowed;border-style:dashed}
.np.off .nico{filter:grayscale(1)}
.np-icon{padding:11px 13px;gap:0}
.np-icon .nico{width:20px;height:20px}
.genbar{display:flex;gap:10px;margin:6px 0 4px}
.genbar .btn{flex:1}
.spin{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.hashtags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hashtags span{font-size:.78rem;color:var(--accent);background:#fbf3e2;border:1px solid rgba(169,119,42,.25);border-radius:100px;padding:3px 9px}
.creative{margin-top:6px}
.creative-prev{aspect-ratio:1/1;border-radius:12px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;color:#fff;border:1px solid var(--line)}
.creative-prev .ov{position:relative;z-index:2}
.creative-prev .ck{font-family:var(--font-m);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:8px}
.creative-prev .ct{font-family:var(--font-d);font-weight:600;font-size:1.5rem;line-height:1.1}
.creative-actions{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.creative-actions .btn{flex:0 0 auto;font-size:.78rem;font-weight:500;padding:7px 12px;border-radius:8px;line-height:1;box-shadow:none;white-space:nowrap}
.creative-actions .btn-gold{background:var(--accent);border-color:var(--accent)}
.creative-actions .btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.creative-actions .btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:transparent}
.creative-actions .btn.on{border-color:var(--accent);background:#fbf3e2;color:var(--accent)}
.prompt-box{margin-top:9px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}
.prompt-ta{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:.85rem;line-height:1.4;resize:vertical;font-family:inherit;color:var(--ink);box-sizing:border-box}
.prompt-ta:focus{outline:none;border-color:var(--accent)}
.prompt-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}
.prompt-hint{font-size:.7rem;color:var(--muted);line-height:1.3}
.st-overlay{position:fixed;inset:0;z-index:200;background:rgba(20,17,12,.62);display:flex;align-items:center;justify-content:center;padding:20px}
.st-modal{background:var(--card,#fff);color:var(--ink);width:min(680px,96vw);max-height:92vh;overflow:auto;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.4);display:flex;flex-direction:column}
.st-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);font-size:1.05rem}
.st-x{border:none;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--muted)}
.st-key{padding:11px 18px;background:var(--bg);border-bottom:1px solid var(--line);font-size:.82rem}
.st-key-ok{color:#1a8a4a}
.st-key-row{display:flex;gap:8px}
.st-key-in{flex:1;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:.82rem;font-family:var(--font-m,monospace)}
.st-help{margin-top:8px;font-size:.78rem;color:var(--muted)}
.st-help summary{cursor:pointer;color:var(--accent)}
.st-help ol{margin:7px 0 4px;padding-left:18px;line-height:1.55}
.st-help a{color:var(--accent)}
.st-help code{background:var(--bg);padding:1px 4px;border-radius:4px;font-family:var(--font-m,monospace)}
.st-help-note{display:block;margin-top:5px;font-style:italic;opacity:.85}
.lnk{border:none;background:none;color:var(--accent);cursor:pointer;text-decoration:underline;font-size:.82rem}
.st-body{padding:16px 18px}
.st-stage{position:relative;width:100%;aspect-ratio:1/1;max-height:46vh;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg);display:flex;align-items:center;justify-content:center}
.st-stage img{width:100%;height:100%;object-fit:contain}
.st-empty{padding:24px;text-align:center;color:var(--muted);font-size:.88rem;line-height:1.5}
.st-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.5)}
.st-hist{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
.st-hist img{width:52px;height:52px;object-fit:cover;border-radius:7px;border:1px solid var(--line);cursor:pointer}
.st-controls{padding:0 18px 16px;display:flex;flex-direction:column;gap:10px}
.st-row{display:flex;gap:8px;align-items:stretch}
.st-ta{flex:1;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:.85rem;line-height:1.4;resize:vertical;font-family:inherit;color:var(--ink)}
.st-ta:focus{outline:none;border-color:var(--accent)}
.st-row .btn{align-self:stretch;white-space:nowrap}
.st-tip{font-size:.74rem;color:var(--muted);line-height:1.4;background:var(--bg);border-radius:8px;padding:8px 10px}
.st-foot{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}
.st-foot .btn-gold{margin-left:auto}
.uploaded{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}

/* preview mockups */
.previews{display:flex;flex-direction:column;gap:16px}
.pvtitle{font-family:var(--font-m);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.mock{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;font-size:.86rem}
.mock-h{display:flex;align-items:center;gap:9px;padding:11px 13px}
.mock-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--bright));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:600;font-size:.9rem}
.mock-name{font-weight:700;font-size:.85rem;line-height:1.1}
.mock-name small{display:block;font-weight:400;color:var(--muted);font-size:.74rem}
.mock-net{margin-left:auto;width:22px;height:22px}
.mock-img{aspect-ratio:1/1;background:var(--bg)}
.mock-img.wide{aspect-ratio:16/9}
.mock-img img{width:100%;height:100%;object-fit:cover;display:block}
.mock-body{padding:11px 13px;white-space:pre-wrap;line-height:1.5}
.mock-tags{color:var(--li);padding:0 13px 12px;font-size:.84rem}
.mock-actions{display:flex;gap:18px;padding:8px 13px 12px;color:var(--muted)}
.mock-actions svg{width:19px;height:19px}

/* schedule + status bar */
.postbar{margin-top:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.postbar .field{margin:0}
.postbar .grow{flex:1;min-width:160px}
.statusflow{display:flex;align-items:center;gap:6px;font-size:.72rem;font-family:var(--font-m);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.statusflow .st{padding:3px 8px;border-radius:100px;border:1px solid var(--line2)}
.statusflow .st.on{background:var(--ink);color:var(--app);border-color:var(--ink)}
.actrow{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--app);padding:12px 20px;border-radius:100px;font-size:.88rem;font-weight:500;z-index:90;box-shadow:0 16px 40px rgba(0,0,0,.25);display:flex;align-items:center;gap:9px}

/* calendar */
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.calhead .navb{display:flex;align-items:center;gap:8px}
.calhead button{background:#fff;border:1px solid var(--line2);border-radius:9px;width:34px;height:34px;font-size:1rem}
.calhead h3{font-family:var(--font-d);font-size:1.3rem;min-width:190px;text-align:center;text-transform:capitalize}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.caldow{font-family:var(--font-m);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0}
.calcell{background:#fff;border:1px solid var(--line);border-radius:10px;min-height:96px;padding:7px 7px;display:flex;flex-direction:column;gap:4px}
.calcell.out{background:transparent;border-color:transparent}
.calcell .cd{font-size:.74rem;color:var(--muted);font-weight:600}
.calcell.today .cd{color:var(--accent)}
.cpost{font-size:.68rem;border-radius:6px;padding:3px 6px;color:#fff;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.cpost.borrador{background:#9b8e72}
.cpost.aprobado{background:#c2871f}
.cpost.programado{background:#2a6fdb}
.cpost.publicado{background:#3b6d11}
.cpost.error{background:#c0392b}
.cpost.mc{background:transparent;color:var(--ink);border:1px dashed var(--line2);font-style:italic}
.cpost.mc.publicado{border-color:#3b6d11;color:#3b6d11}
.cpost.mc.programado{border-color:#2a6fdb;color:#2a6fdb}
.callegend{display:flex;gap:16px;margin:0 0 14px;font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.callegend span{display:inline-flex;align-items:center;gap:6px}
.callegend .lg{width:14px;height:10px;border-radius:3px;display:inline-block}
.callegend .lg-rrss{background:#2a6fdb}
.callegend .lg-mc{background:transparent;border:1px dashed var(--line2)}

/* lists / inbox / metrics */
.queue{display:flex;flex-direction:column;gap:10px}
.qitem{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px}
.qitem .qd{font-family:var(--font-m);font-size:.72rem;color:var(--muted);min-width:120px}
.qitem .qt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill{font-size:.64rem;font-family:var(--font-m);text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:100px;color:#fff}
.pill.borrador{background:#9b8e72}.pill.aprobado{background:#c2871f}.pill.programado{background:#2a6fdb}.pill.publicado{background:#3b6d11}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.metric .mk{font-size:.78rem;color:var(--dim)}
.metric .mv{font-family:var(--font-d);font-size:2.1rem;line-height:1;margin-top:6px}
.metric .mt{font-size:.74rem;color:var(--ok);margin-top:6px}
.chart{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}
.bars{display:flex;align-items:flex-end;gap:14px;height:180px;margin-top:16px}
.bars .bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:flex-end;height:100%}
.bars .bcol{width:100%;max-width:46px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--bright),var(--accent))}
.bars .blab{font-size:.72rem;color:var(--muted)}
.inbox{display:flex;flex-direction:column;gap:12px}
.msg{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.msg-h{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.msg-h .who{font-weight:700}.msg-h .net{margin-left:auto;width:18px;height:18px}
.msg-h .tm{color:var(--muted);font-size:.78rem}
.msg p{color:var(--ink)}
.msg .reply{display:flex;gap:8px;margin-top:10px}
.msg .reply input{flex:1;border:1px solid var(--line2);border-radius:100px;padding:8px 14px;font-family:inherit}
.acc-list{display:flex;flex-direction:column;gap:10px;max-width:560px}
.acc-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.acc-row .nico{width:26px;height:26px;flex:none}
.acc-row .an{font-weight:600;flex:1}
.acc-row .as{font-size:.78rem;color:var(--muted)}
.note{font-size:.78rem;color:var(--muted);background:#fbf6ec;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:16px;line-height:1.5}
.empty{text-align:center;color:var(--muted);padding:50px 20px}

/* post type + carrusel */
.ptype{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.ptbtn{border:1px solid var(--line2);background:#fff;color:var(--dim);border-radius:9px;padding:7px 14px;font-size:.84rem;font-weight:500;cursor:pointer;transition:.15s}
.ptbtn:hover{border-color:var(--muted)}
.ptbtn.on{border-color:var(--accent);background:#fbf3e2;color:var(--accent)}
.carstrip{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.carthumb{position:relative;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--line);cursor:pointer;flex:none}
.carthumb.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}
.carthumb img{width:100%;height:100%;object-fit:cover;display:block}
.carthumb-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--bg);color:var(--muted);font-family:var(--font-m,monospace);font-size:1.1rem}
.carthumb-num{position:absolute;bottom:2px;left:3px;font-family:var(--font-m,monospace);font-size:.58rem;color:#fff;background:rgba(0,0,0,.55);border-radius:4px;padding:1px 4px;line-height:1.3}
.carthumb-x{position:absolute;top:2px;right:2px;width:18px;height:18px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.carthumb-add{width:64px;height:64px;border:1.5px dashed var(--line2,#cdbf9f);border-radius:8px;background:#fff;color:var(--accent);font-size:1.5rem;cursor:pointer;flex:none}
.carthumb-add:hover{border-color:var(--accent);background:#fbf3e2}

/* creative text overlay editor */
.creative-stage{position:relative;width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg);container-type:inline-size}
.creative-logo-wrap{position:absolute;transform:translate(-50%,-50%);cursor:grab;user-select:none;touch-action:none;max-width:75%;outline:1.5px dashed transparent;outline-offset:4px}
.creative-logo-wrap:hover{outline-color:rgba(194,135,31,.7)}
.creative-logo-wrap:active{cursor:grabbing}
.creative-logo-wrap img{width:100%;display:block;pointer-events:none}
.logo-handle{position:absolute;right:-11px;bottom:-11px;width:24px;height:24px;background:var(--accent);border:2px solid #fff;border-radius:50%;cursor:nwse-resize;box-shadow:0 2px 6px rgba(0,0,0,.4);touch-action:none}
.ptbtn.fmt.on{border-color:var(--ink);background:var(--ink);color:#fff}
.ov-select{flex:1;min-width:150px;border:1px solid var(--line2);border-radius:8px;padding:8px 11px;font-family:inherit;font-size:.86rem;background:#fff;cursor:pointer}
.ov-range{flex:1;min-width:140px;accent-color:var(--accent);cursor:pointer}
.ov-mini{padding:7px 13px;font-size:.8rem}
.creative-stage img{width:100%;height:100%;object-fit:cover;display:block}
.creative-stage .grad{width:100%;height:100%}
.creative-text{position:absolute;transform:translate(-50%,-50%);max-width:92%;text-align:center;line-height:1.04;cursor:grab;user-select:none;padding:4px 8px;font-size:clamp(20px,4.6vw,36px);text-shadow:0 2px 16px rgba(0,0,0,.4)}ow:0 2px 16px rgba(0,0,0,.4);touch-action:none;white-space:pre-wrap}
.creative-text:active{cursor:grabbing}
.creative-text{outline:1.5px dashed transparent;outline-offset:6px}
.creative-text:hover{outline-color:rgba(255,255,255,.5)}
.text-handle{position:absolute;right:-12px;bottom:-12px;width:24px;height:24px;background:var(--accent);border:2px solid #fff;border-radius:50%;cursor:nwse-resize;box-shadow:0 2px 6px rgba(0,0,0,.4);touch-action:none;opacity:0;transition:opacity .15s}
.text-handle.wide{right:-12px;bottom:auto;top:50%;margin-top:-12px;cursor:ew-resize;background:#fff;border-color:var(--accent)}
.creative-text:hover .text-handle{opacity:1}
.ov-controls{margin-top:10px;display:flex;flex-direction:column;gap:9px}
.ov-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ov-row .lbl{font-size:.72rem;color:var(--muted);min-width:50px;font-weight:600}
.ovfont{border:1px solid var(--line2);background:#fff;border-radius:8px;padding:7px 12px;font-size:.88rem;cursor:pointer;line-height:1;transition:.15s}
.ovfont.on{border-color:var(--accent);background:#fbf3e2;color:var(--accent)}
.ovcolor{width:26px;height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line2);cursor:pointer;padding:0}
.ovcolor.on{box-shadow:0 0 0 2px var(--accent)}
.ovcolor.bg-none{background:#fff;color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:.9rem}
.ovpick{width:30px;height:30px;border:1px solid var(--line2);border-radius:7px;padding:0;background:#fff;cursor:pointer}
.ovhex{width:90px;border:1px solid var(--line2);border-radius:8px;padding:7px 9px;font-family:var(--font-m);font-size:.8rem;text-transform:uppercase}
.ideas-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sector-row{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.sector-lbl{font-family:var(--font-m,monospace);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.sector-input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.9rem;background:#fff;color:var(--ink)}
.sector-input:focus{outline:none;border-color:var(--accent)}
.idea{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.idea-rec{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:6px;color:var(--muted)}
.idea-rec-nets{display:flex;gap:4px}
.idea-rec-ni{width:14px;height:14px;opacity:.85}
.idea-rec-txt{display:flex;align-items:baseline;gap:5px}
.idea-rec-txt b{font-size:.66rem;font-weight:600;color:var(--dim)}
.idea-rec-txt span{font-family:var(--font-m,monospace);font-size:.56rem;color:var(--muted);letter-spacing:.04em}
.idea-top{display:flex;justify-content:space-between;font-size:.66rem;color:var(--muted);letter-spacing:.06em;padding-right:120px}
.idea-topic{font-family:var(--font-d);font-weight:600;font-size:1rem;line-height:1.15}
.idea-cap{font-size:.86rem;color:var(--dim);flex:1;line-height:1.5}
.idea-use{margin-top:6px;align-self:flex-start}
.idea-img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.idea-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;align-items:center}
.idea-discard{margin-left:auto;border:none;background:none;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 4px;border-radius:6px}
.idea-discard:hover{color:#c0392b;background:rgba(192,57,43,.08)}
@media(max-width:1080px){.ideas-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.ideas-grid{grid-template-columns:1fr}}
.arch-group{margin-bottom:26px}
.arch-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px;margin-bottom:13px}
.arch-month{font-family:var(--font-d);font-weight:600;font-size:1.15rem}
.arch-count{font-size:.7rem;color:var(--muted);letter-spacing:.05em}
.arch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.arch-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;display:flex;flex-direction:column}
.arch-thumb{position:relative;aspect-ratio:1/1;background:var(--bg)}
.arch-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.arch-nets{position:absolute;top:7px;right:7px;display:flex;gap:4px}
.arch-ni{width:18px;height:18px;background:rgba(255,255,255,.92);border-radius:5px;padding:2px}
.arch-cap{font-size:.78rem;line-height:1.35;padding:9px 10px 4px;flex:1;color:var(--ink)}
.arch-date{font-size:.6rem;letter-spacing:.03em;color:var(--muted);padding:0 10px 2px}
.arch-date.prog{color:var(--accent)}
.arch-actions{display:flex;gap:6px;padding:0 10px 10px}
.arch-del:hover{color:#c0392b}
.arch-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-size:.78rem;line-height:1.4;color:var(--muted);background:var(--bg);font-style:italic}
.arch-badge{position:absolute;top:7px;left:7px;font-family:var(--font-m,monospace);font-size:.56rem;letter-spacing:.05em;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:rgba(33,30,23,.82);color:#fff}
.arch-badge.programado{background:rgba(169,119,42,.92)}
.pub-err{position:relative;margin-top:12px;background:#fbeaea;border:1px solid #e3b0b0;border-radius:10px;padding:12px 34px 12px 14px;color:#8a2020;font-size:.85rem;line-height:1.45;word-break:break-word}
.pub-err strong{font-family:var(--font-m);font-size:.8rem}
.pub-err-x{position:absolute;top:8px;right:10px;border:none;background:none;font-size:1.3rem;color:#8a2020;cursor:pointer;line-height:1}
.calcell.drop{outline:2px dashed var(--accent);outline-offset:-3px}
.cpost{position:relative}
.cpost[draggable]{cursor:grab}
.cpost-x{position:absolute;top:1px;right:2px;opacity:0;font-size:.95rem;line-height:1;padding:0 3px;border-radius:4px;background:rgba(0,0,0,.25);color:#fff}
.cpost:hover .cpost-x{opacity:1}
.diag{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px;margin-bottom:18px;font-size:.88rem}
.brands-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 14px}
.brands-count{font-size:.85rem;color:var(--ink)}
.besttimes{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:12px}
.bt-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.bt-eye{font-weight:600;font-size:.9rem;color:var(--ink)}
.bt-sub{font-size:.74rem;color:var(--muted)}
.bt-days{display:flex;gap:6px;flex-wrap:wrap}
.bt-day{position:relative;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 11px;font-size:.8rem;cursor:pointer;color:var(--ink);min-width:46px}
.bt-day:hover{border-color:var(--muted)}
.bt-day.rec{border-color:var(--accent);color:var(--accent);font-weight:600}
.bt-day.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.bt-dot{position:absolute;top:5px;right:6px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.bt-day.on .bt-dot{background:#fff}
.bt-rec{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:11px;padding-top:11px;border-top:1px solid var(--line)}
.bt-rec-times{display:flex;gap:8px;flex-wrap:wrap}
.bt-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:5px 9px;font-size:.8rem;font-family:var(--font-m,monospace)}
.bt-ni{width:14px;height:14px}
.bt-hint{margin-top:9px;font-size:.72rem;color:var(--muted)}
.diag-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}
.diag-row:last-of-type{border-bottom:none}
.diag-row b.ok{color:#1a8a4a}
.diag-row b.bad{color:#c0392b}
.diag-note{margin-top:8px;background:#fbeaea;border:1px solid #e3b0b0;border-radius:8px;padding:9px 11px;color:#8a2020;font-size:.82rem;line-height:1.45}
@media(max-width:980px){.arch-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.arch-grid{grid-template-columns:1fr 1fr}}
.ov-text-input{flex:1;min-width:150px;border:1px solid var(--line2);border-radius:8px;padding:8px 11px;font-family:inherit;font-size:.86rem}
.mock-img{position:relative;container-type:inline-size}
.mock-img img.mock-logo{position:absolute;transform:translate(-50%,-50%);pointer-events:none;height:auto;max-width:80%;max-height:80%;object-fit:contain}
.mock-ovtext{position:absolute;transform:translate(-50%,-50%);max-width:92%;text-align:center;line-height:1.04;text-shadow:0 2px 16px rgba(0,0,0,.4);pointer-events:none;white-space:pre-wrap}

/* login */
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(120% 100% at 50% 0%,#f7f3ea,#e7dcc6)}
.login-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px 30px;box-shadow:0 30px 70px -30px rgba(33,30,23,.4)}
.login-brand{font-family:var(--font-d);font-weight:600;font-size:1.8rem;letter-spacing:-.01em}
.login-brand span{color:var(--bright)}
.login-sub{color:var(--dim);margin:4px 0 22px;font-size:.92rem}
.login-users{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.luser{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1.5px solid var(--line2);border-radius:12px;padding:10px 12px;transition:.15s}
.luser:hover{border-color:var(--accent)}
.luser.on{border-color:var(--accent);background:#fbf6ec;box-shadow:0 0 0 3px rgba(169,119,42,.13)}
.luser-av{width:38px;height:38px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:600;font-size:.92rem;flex:none}
.luser-info{flex:1;min-width:0}
.luser-info b{display:block;font-size:.95rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.luser-info small{display:block;color:var(--muted);font-size:.76rem;text-transform:capitalize;line-height:1.2}
.login-err{color:#c0492f;font-size:.85rem;margin:4px 0 8px;font-weight:500}
.login-back{display:block;text-align:center;margin-top:16px;color:var(--muted);font-size:.78rem}
.login-back:hover{color:var(--accent)}

/* sidebar user footer */
.me{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(244,239,227,.12);border-radius:12px;padding:9px 10px;margin-top:8px}
.me-av{width:34px;height:34px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:600;font-size:.84rem;flex:none}
.me-info{flex:1;min-width:0}
.me-info b{display:block;font-size:.86rem;color:#f4efe3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-info small{color:rgba(244,239,227,.55);font-size:.72rem;text-transform:capitalize}
.me-out{background:rgba(255,255,255,.08);border:none;color:rgba(244,239,227,.7);width:30px;height:30px;border-radius:8px;font-size:.95rem;flex:none}
.me-out:hover{background:var(--bright);color:#1c1813}

/* byline in composer */
.byline{font-family:var(--font-m);font-size:.66rem;color:var(--accent);background:#fbf3e2;border:1px solid rgba(169,119,42,.25);border-radius:100px;padding:3px 9px;text-transform:none;letter-spacing:0;margin-right:4px}

/* calendar author chip */
.cpost{display:flex;align-items:center;gap:4px}
.cpost-au{width:14px;height:14px;border-radius:50%;color:#fff;font-size:.5rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:none;font-family:var(--font-b)}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:26px}
.team-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}
.team-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.team-av{width:42px;height:42px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:600;font-size:1rem;flex:none}
.team-av.sm{width:30px;height:30px;font-size:.74rem}
.team-head>div:nth-child(2){flex:1;min-width:0}
.team-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.team-role{font-size:.78rem;color:var(--muted);text-transform:capitalize}
.team-total{margin-left:auto;text-align:right}
.team-total b{font-family:var(--font-d);font-size:1.5rem;line-height:1}
.team-total small{display:block;font-size:.7rem;color:var(--muted)}
.team-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid var(--line);padding-top:14px}
.team-stats .ts{display:flex;flex-direction:column;align-items:center;gap:5px}
.team-stats .ts small{font-size:.66rem;color:var(--muted);text-transform:capitalize}
.team-sub{font-family:var(--font-d);font-weight:400;font-size:1.2rem;margin:0 0 12px}

@media(max-width:1080px){.composer{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr}}
@media(max-width:860px){
  .shell{grid-template-columns:1fr}
  .side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
  .brand{padding:0 8px 0 0}.acct{margin:0;flex:1;min-width:160px}
  .snav{flex-direction:row;flex-wrap:wrap;flex:1 0 100%;gap:4px}
  .snav button{padding:8px 11px}.sback{flex:1 0 100%;margin:0;padding:8px 0 0}
  .calgrid .calcell{min-height:72px}
}
@media(max-width:560px){.metrics{grid-template-columns:1fr 1fr}.topbar{flex-wrap:wrap}.view{padding:18px 14px 50px}}


/* ---- reply composer mejorado ---- */
.reply2{margin-top:10px;border:1px solid var(--line2);border-radius:14px;background:#fff;padding:6px 8px 8px}
.reply2:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(169,119,42,.14)}
.reply2-tb{display:flex;gap:2px;padding:2px 2px 6px;border-bottom:1px solid var(--line)}
.reply2-tb button{background:transparent;border:0;color:var(--muted);cursor:pointer;width:30px;height:28px;border-radius:7px;font-size:13px;line-height:1}
.reply2-tb button:hover{background:var(--bg);color:var(--ink)}
.reply2-ed{min-height:40px;max-height:220px;overflow-y:auto;padding:8px 6px;color:var(--ink);font-size:.92rem;line-height:1.5;outline:none;white-space:pre-wrap;word-wrap:break-word}
.reply2-ed.is-empty:before{content:attr(data-ph);color:var(--muted)}
.reply2-ed b,.reply2-ed strong{font-weight:700}
.reply2-ed ul{margin:6px 0 6px 20px}
.reply2-att{display:flex;flex-wrap:wrap;gap:8px;padding:8px 4px 0}
.reply2-chip{display:inline-flex;align-items:center;gap:7px;background:var(--app);border:1px solid var(--line2);border-radius:9px;padding:5px 8px;font-size:.78rem;color:var(--ink);max-width:220px}
.reply2-chip .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reply2-chip .sz{color:var(--muted);font-size:.7rem;white-space:nowrap}
.reply2-chip .rm{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0}
.reply2-chip .rm:hover{color:var(--ink)}
.reply2-row{display:flex;align-items:center;gap:8px;padding-top:8px}
.reply2-clip{background:transparent;border:0;color:var(--muted);cursor:pointer;width:30px;height:30px;border-radius:7px;font-size:15px;line-height:1}
.reply2-clip:hover{background:var(--bg);color:var(--ink)}
.reply2-hint{color:var(--muted);font-size:.7rem;margin-right:auto}
.reply2-row .btn{padding:8px 16px;font-size:.85rem}
