:root{
  --bg:#0a0a1a; --card:#12122a; --card2:#181838; --accent:#4466ff; --accent-soft:rgba(68,102,255,.14);
  --text:#eef0ff; --muted:#8a90b8; --line:#23234a; --ok:#34d399; --warn:#fbbf24; --danger:#f87171; --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box;} html,body{margin:0;padding:0;}
body{
  background:radial-gradient(1200px 600px at 80% -10%,rgba(68,102,255,.10),transparent 60%),var(--bg);
  color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  min-height:100vh;
}
a{color:var(--accent);text-decoration:none;} button{font-family:inherit;cursor:pointer;}
.hidden{display:none !important;}

/* login overlay */
.login{position:fixed;inset:0;display:grid;place-items:center;padding:24px;z-index:100;
  background:radial-gradient(1000px 500px at 50% -10%,rgba(68,102,255,.12),transparent 60%),var(--bg);}
.login-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:44px 40px;
  width:100%;max-width:380px;text-align:center;box-shadow:var(--shadow);}
.logo{width:64px;height:64px;margin:0 auto 18px;border-radius:16px;display:grid;place-items:center;
  font-weight:800;font-size:22px;letter-spacing:1px;background:linear-gradient(135deg,var(--accent),#7a3bff);color:#fff;}
.login-card h1{margin:0 0 6px;font-size:24px;} .login-sub{color:var(--muted);margin:0 0 28px;font-size:14px;line-height:1.5;}
.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1a1a1a;
  font-weight:600;font-size:15px;border:none;border-radius:10px;padding:12px 16px;width:100%;transition:transform .08s,box-shadow .2s;}
.google-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.3);}
.login-err{margin-top:16px;color:var(--danger);font-size:13px;}

/* top bar */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);background:rgba(10,10,26,.72);}
.brand{display:flex;align-items:center;gap:12px;}
.brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:14px;
  background:linear-gradient(135deg,var(--accent),#7a3bff);color:#fff;}
.brand-name{font-weight:700;font-size:16px;}
.topbar-right{display:flex;align-items:center;gap:12px;}
.user-chip{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);
  padding:5px 10px;border-radius:999px;font-size:13px;color:var(--muted);}
.user-chip img{width:22px;height:22px;border-radius:50%;}
.logout{background:none;border:none;color:var(--muted);font-size:15px;} .logout:hover{color:var(--danger);}
.badge{font-size:11px;padding:4px 9px;border-radius:999px;font-weight:600;background:var(--accent-soft);color:var(--accent);border:1px solid rgba(68,102,255,.3);}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:18px 22px 4px;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;}
.stat .num{font-size:26px;font-weight:800;} .stat .lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;}
.stat.ok .num{color:var(--ok);} .stat.warn .num{color:var(--warn);} .stat.accent .num{color:var(--accent);}

/* toolbar */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px 22px 6px;}
.batch-prog{font-size:13px;color:var(--accent);font-weight:600;white-space:nowrap;
  background:var(--accent-soft);padding:6px 12px;border-radius:999px;}
.carousel-ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;
  padding:10px 12px;background:var(--accent-soft);border-radius:10px;}
.carousel-ctl select{padding:6px 8px;}
.logo-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;}
.logo-preview{max-height:46px;max-width:170px;background:#0a0a1a;border:1px solid var(--line);
  border-radius:8px;padding:5px;object-fit:contain;}
.avatar-preview{width:46px;height:46px;max-width:46px;border-radius:50%;padding:0;object-fit:cover;}
.crop-modal{max-width:380px;}
.crop-stage{position:relative;width:320px;height:320px;margin:10px auto;border-radius:12px;
  overflow:hidden;background:#0a0a1a;touch-action:none;cursor:grab;}
.crop-stage:active{cursor:grabbing;}
.crop-stage canvas{display:block;width:320px;height:320px;}
.crop-ring{position:absolute;left:10px;top:10px;width:300px;height:300px;border-radius:50%;
  box-shadow:0 0 0 9999px rgba(4,6,16,.6);border:2px solid rgba(255,255,255,.85);pointer-events:none;}
.crop-zoom{width:300px;display:block;margin:4px auto 8px;}
.rsch-suggest{margin:8px 0;}
.rsch-adjust{display:flex;gap:12px;align-items:center;justify-content:space-between;
  background:var(--accent-soft);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:6px 0;}
.rsch-adjust-txt{font-size:14px;min-width:0;}
.rsch-cur{color:var(--muted);text-decoration:line-through;}
.rsch-rec{color:var(--accent);font-weight:700;}
.rsch-reason{font-size:12px;color:var(--muted);margin-top:3px;white-space:normal;}
select,input[type=text],input[type=search],textarea{background:var(--card);border:1px solid var(--line);color:var(--text);
  padding:10px 12px;border-radius:10px;font-size:14px;outline:none;}
textarea{resize:vertical;min-height:80px;}
#f_body{min-height:160px;}
select:focus,input:focus,textarea:focus{border-color:var(--accent);}
#search{flex:1;min-width:180px;}
.btn{border:1px solid var(--line);background:var(--card);color:var(--text);padding:9px 14px;border-radius:10px;
  font-size:13.5px;font-weight:600;transition:all .12s;}
.btn:hover{border-color:var(--accent);} .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn-primary:hover{filter:brightness(1.08);} .btn[disabled]{opacity:.5;cursor:progress;}
.btn-sm{padding:7px 11px;font-size:12.5px;} .btn-danger:hover{border-color:var(--danger);color:var(--danger);}

/* grid + cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;padding:16px 22px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,transform .15s;}
.card:hover{border-color:rgba(68,102,255,.5);transform:translateY(-2px);}
.card.approved{border-color:rgba(52,211,153,.45);}
.card-head{display:flex;align-items:center;gap:8px;padding:12px 14px 0;flex-wrap:wrap;}
.pf{font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;}
.pf-facebook{background:rgba(24,119,242,.18);color:#5b9dff;} .pf-instagram{background:rgba(225,48,108,.18);color:#ff7eb3;}
.pillar{font-size:11px;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:6px;}
.status{font-size:11px;padding:3px 9px;border-radius:999px;font-weight:600;margin-left:auto;}
.s-draft,.s-pending{background:rgba(251,191,36,.16);color:var(--warn);}
.s-approved,.s-scheduled{background:rgba(52,211,153,.16);color:var(--ok);}
.s-posted{background:rgba(138,144,184,.18);color:var(--muted);} .s-rejected,.s-failed{background:rgba(248,113,113,.16);color:var(--danger);}
.card-body{padding:10px 14px;flex:1;}
.card-h{font-weight:700;font-size:15.5px;margin:0 0 6px;line-height:1.3;}
.card-copy{color:#c7cbeb;font-size:13.5px;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.card-foot{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--line);}
.toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-left:auto;}
.switch{position:relative;width:42px;height:24px;} .switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;inset:0;background:var(--card2);border:1px solid var(--line);border-radius:999px;transition:.2s;}
.slider::before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:var(--muted);border-radius:50%;transition:.2s;}
.switch input:checked + .slider{background:var(--ok);border-color:var(--ok);}
.switch input:checked + .slider::before{transform:translateX(18px);background:#fff;}
.empty{text-align:center;color:var(--muted);padding:50px;}
/* full-size image/video viewer */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:grid;place-items:center;z-index:200;padding:30px;}
.lightbox-inner{position:relative;max-width:94vw;max-height:92vh;}
.lightbox-inner img,.lightbox-inner video{max-width:94vw;max-height:92vh;border-radius:10px;display:block;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.lightbox-close{position:absolute;top:-16px;right:-16px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--text);font-size:16px;cursor:pointer;}
.lightbox-close:hover{border-color:var(--accent);}

/* ── view toolbar + calendar ─────────────────────────────── */
.view-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 22px 6px;}
.seg{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.seg-btn{background:transparent;border:none;color:var(--muted);padding:8px 14px;font-size:13px;font-weight:600;}
.seg-btn.active{background:var(--accent);color:#fff;}
.cal-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cal-label{font-weight:700;font-size:14px;margin-left:6px;}
.cal-legend{display:flex;gap:12px;margin-left:auto;flex-wrap:wrap;}
.lg{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;}
.lg::before{content:"";width:10px;height:10px;border-radius:3px;display:inline-block;}
.lg-draft::before{background:var(--warn);} .lg-scheduled::before{background:var(--accent);}
.lg-posted::before{background:var(--ok);} .lg-failed::before{background:var(--danger);}

.calendar{padding:8px 22px 24px;}
/* week view — always 7 equal columns that fit the width (no horizontal scroll) */
.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;}
.cal-col{background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:0;min-height:150px;display:flex;flex-direction:column;}
.cal-col-head{padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;cursor:pointer;}
.cal-col-head:hover{color:var(--text);}
.cal-col-head .dnum{font-weight:800;font-size:15px;color:var(--text);}
.cal-col.today{border-color:var(--accent);} .cal-col.today .dnum{color:var(--accent);}
.cal-col-body{padding:6px;display:flex;flex-direction:column;gap:5px;overflow:auto;max-height:360px;}
/* month view */
.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;}
.cal-dow{font-size:11px;color:var(--muted);text-align:center;font-weight:600;padding-bottom:2px;}
.cal-cell{background:var(--card);border:1px solid var(--line);border-radius:9px;min-width:0;aspect-ratio:1/1;padding:5px;display:flex;flex-direction:column;gap:3px;cursor:pointer;overflow:hidden;}
.cal-cell:hover{border-color:var(--accent);}
.cal-cell.dim{opacity:.4;} .cal-cell.today{border-color:var(--accent);}
.cal-cell .dnum{font-size:12px;font-weight:700;color:var(--muted);}
.cal-cell.today .dnum{color:var(--accent);}
.cal-more{font-size:11px;color:var(--muted);}
/* post chip */
.chip-post{display:flex;align-items:center;gap:6px;min-width:0;background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:7px;padding:4px 6px;cursor:pointer;overflow:hidden;}
.chip-post:hover{border-color:var(--accent);}
/* STATUS = background color (matches legend); platform shown via a small badge */
.chip-post.st-draft{border-left-color:var(--warn);background:rgba(251,191,36,.16);}
.chip-post.st-scheduled{border-left-color:var(--accent);background:rgba(68,102,255,.18);}
.chip-post.st-posted{border-left-color:var(--ok);background:rgba(52,211,153,.16);}
.chip-post.st-failed{border-left-color:var(--danger);background:rgba(248,113,113,.16);}
.pf-tag{flex-shrink:0;font-size:9px;font-weight:800;padding:1px 5px;border-radius:4px;color:#fff;letter-spacing:.3px;}
.pf-tag-fb{background:#1877f2;} .pf-tag-ig{background:linear-gradient(135deg,#833ab4,#e1306c,#fd5949);} .pf-tag-both{background:var(--muted);}
.chip-thumb{width:26px;height:26px;border-radius:4px;object-fit:cover;flex-shrink:0;background:var(--bg);}
.chip-title{flex:1;min-width:0;font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chip-mini{font-size:10.5px;padding:2px 4px 2px 6px;border-radius:4px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;color:#dfe2f5;background:var(--card2);border-left:3px solid var(--muted);}
.chip-mini.st-draft{border-left-color:var(--warn);background:rgba(251,191,36,.18);}
.chip-mini.st-scheduled{border-left-color:var(--accent);background:rgba(68,102,255,.2);}
.chip-mini.st-posted{border-left-color:var(--ok);background:rgba(52,211,153,.18);}
.chip-mini.st-failed{border-left-color:var(--danger);background:rgba(248,113,113,.18);}
/* day modal list */
.day-list{display:flex;flex-direction:column;gap:8px;max-height:70vh;overflow:auto;}
.day-time{flex-shrink:0;text-align:right;padding-left:8px;}
.day-time-h{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;}
.day-time-l{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
.chip-mini{min-width:0;}
@media (max-width:560px){.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));} .cal-legend{margin-left:0;}}

/* modal */
.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:50;padding:20px;}
.modal{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;width:100%;max-width:540px;box-shadow:var(--shadow);max-height:90vh;overflow:auto;}
.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;} .modal-head h2{margin:0;font-size:18px;}
.modal label{display:block;font-size:12.5px;color:var(--muted);margin:14px 0 6px;}
.modal input,.modal textarea,.modal select{width:100%;} .icon-btn{background:none;border:none;color:var(--muted);font-size:18px;}
.chips{display:flex;gap:8px;} .chip{flex:1;text-align:center;padding:9px;border:1px solid var(--line);border-radius:10px;font-size:13px;cursor:pointer;user-select:none;}
.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}
.ai-gen{background:linear-gradient(90deg,var(--accent-soft),transparent);border:1px solid rgba(68,102,255,.28);border-radius:12px;padding:12px;margin:6px 0 4px;}
.ai-gen-row{display:flex;gap:8px;flex-wrap:wrap;} .ai-gen-row input{flex:1;min-width:160px;}
.tpl-select{flex:0 0 auto;max-width:150px;}
.ai-hint{font-size:12px;color:var(--muted);margin:8px 0 0;}
.flux-badge{font-size:12.5px;padding:8px 11px;border-radius:9px;margin:8px 0 4px;border:1px solid var(--line);background:var(--card2);color:var(--muted);}
.flux-badge.flux-on{border-color:#1f7a4d;background:rgba(31,160,90,.12);color:#46d98a;}
.flux-badge.flux-off{border-color:#9a6a1c;background:rgba(220,150,40,.12);color:#f0b450;}
/* ── research ── */
.rsch-badge{font-size:12.5px;padding:8px 11px;border-radius:9px;margin:6px 0 14px;border:1px solid var(--line);background:var(--card2);color:var(--muted);}
.rsch-badge.rsch-on{border-color:#1f7a4d;background:rgba(31,160,90,.12);color:#46d98a;}
.rsch-badge.rsch-off{border-color:#9a6a1c;background:rgba(220,150,40,.12);color:#f0b450;}
.rsch-targets{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin:6px 0 2px;}
.rsch-targets input[type=number]{background:var(--card);border:1px solid var(--line);color:var(--text);padding:9px 11px;border-radius:10px;width:130px;}
.rsch-targets input[type=number]:focus{border-color:var(--accent);}
.rsch-auto{margin-left:auto;}
.rsch-actions{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;}
.rsch-note{font-size:12px;color:var(--muted);}
.rsch-digest{margin:4px 0 8px;}
.rsch-summary{font-size:14.5px;line-height:1.5;color:var(--text);background:var(--accent-soft);border:1px solid rgba(68,102,255,.3);border-radius:10px;padding:11px 13px;}
.rsch-meta{font-size:11px;color:var(--muted);margin:6px 0 2px;text-transform:uppercase;letter-spacing:.4px;}
.rsch-h{font-size:13px;margin:14px 0 6px;color:var(--text);}
.rsch-ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;}
.rsch-ul li{font-size:13px;line-height:1.45;color:var(--muted);}
.rsch-ul li b{color:var(--text);}
.rsch-impact{color:var(--accent);}
.rsch-src{font-size:11.5px;white-space:nowrap;}
.rsch-pri{display:inline-block;font-size:11px;font-weight:800;padding:1px 7px;border-radius:6px;background:var(--card2);border:1px solid var(--line);color:var(--muted);}
.rsch-pri.p1{background:rgba(248,113,113,.16);border-color:rgba(248,113,113,.4);color:#f87171;}
.rsch-pri.p2{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.4);color:#fbbf24;}
.rsch-eff{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 7px;}
.lbl-note{color:var(--muted);font-weight:400;text-transform:none;font-size:11px;}
/* card media */
.card-media{position:relative;aspect-ratio:16/9;background:var(--card2);overflow:hidden;}
.card-media img,.card-media video{width:100%;height:100%;object-fit:cover;display:block;}
.card-media .play{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;color:rgba(255,255,255,.85);pointer-events:none;}
.carousel-badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;}
.card-date{font-size:12px;color:var(--muted);margin-left:auto;}
.card-head .status{margin-left:8px;}
/* media editor strip */
.media-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.media-empty{color:var(--muted);font-size:13px;padding:10px 0;}
.media-thumb{position:relative;width:74px;height:74px;border-radius:8px;overflow:hidden;border:1px solid var(--line);cursor:grab;}
.media-thumb:active{cursor:grabbing;}
.media-thumb.dragging{opacity:.35;}
.media-thumb.drag-over{outline:2px dashed var(--accent);outline-offset:2px;}
.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;pointer-events:none;}
.media-order{position:absolute;bottom:2px;left:2px;background:rgba(0,0,0,.7);color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:5px;}
.media-del{position:absolute;top:2px;right:2px;width:20px;height:20px;border:none;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:11px;line-height:1;cursor:pointer;}
.media-actions{display:flex;align-items:center;gap:10px;margin-top:10px;}
.media-actions label.btn{cursor:pointer;} .media-note{font-size:12px;color:var(--muted);}
/* templates manager */
.tpl-list{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.tpl-row{display:flex;align-items:center;gap:10px;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.tpl-meta{flex:1;min-width:0;} .tpl-meta b{font-size:14px;}
.tpl-theme{font-size:11px;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:6px;margin-left:8px;}
.tpl-guide{font-size:12px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tpl-acts{display:flex;gap:6px;flex-shrink:0;}
.tpl-hr{border:none;border-top:1px solid var(--line);margin:18px 0 6px;}
.tpl-form-title{font-size:14px;margin:6px 0 0;color:var(--muted);}
.suggest-bar{display:flex;gap:8px;margin:8px 0 12px;} .suggest-bar select{flex:1;}
/* publish controls */
.publish-box{margin-top:6px;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:12px;}
.publish-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.publish-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.publish-row input[type=datetime-local]{flex:1;min-width:180px;color-scheme:dark;}
/* admin error log */
.err-head{display:flex;align-items:center;justify-content:space-between;margin-top:4px;}
.err-list{max-height:220px;overflow:auto;}
.err-row{background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:8px;padding:8px 10px;}
.err-when{font-size:11px;color:var(--muted);}
.err-ctx{font-size:12.5px;color:var(--warn);font-weight:600;}
.err-msg{font-size:12.5px;color:#c7cbeb;word-break:break-word;}

/* toasts */
.toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:60;}
.toast{background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--accent);padding:12px 16px;border-radius:10px;font-size:13.5px;box-shadow:var(--shadow);min-width:220px;animation:slide .2s ease;}
.toast.ok{border-left-color:var(--ok);} .toast.err{border-left-color:var(--danger);}
@keyframes slide{from{transform:translateX(20px);opacity:0;}to{transform:translateX(0);opacity:1;}}
@media (max-width:600px){#userEmail{display:none;}}

/* Canva template manager (profile) + queue control (post modal) */
.prof-sep{border:none;border-top:1px solid var(--line);margin:18px 0 4px;}
.canva-tpl-list{display:flex;flex-direction:column;gap:10px;margin:8px 0;}
.canva-tpl-row{border:1px solid var(--line);border-radius:9px;padding:8px;background:var(--card2);}
.canva-tpl-row input{padding:7px 9px;font-size:12.5px;background:var(--card);border:1px solid var(--line);border-radius:7px;color:var(--ink);min-width:0;}
.ct-main{display:grid;grid-template-columns:1fr 150px auto auto;gap:6px;align-items:center;}
.ct-main .ct-link{width:100%;}
.ct-adv{background:none;border:none;color:var(--muted);font-size:11.5px;cursor:pointer;white-space:nowrap;padding:4px 6px;}
.ct-adv:hover{color:var(--ink);}
.ct-adv-panel{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);}
.ct-adv-panel label{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);}
.ct-adv-panel .ct-hf,.ct-adv-panel .ct-sf{width:150px;}
.ct-adv-panel .ct-w,.ct-adv-panel .ct-h{width:64px;}
.canva-tpl-row .ct-del{padding:6px 9px;}
@media (max-width:600px){.ct-main{grid-template-columns:1fr auto;}}

/* Design engine bar — the single primary image action in the post editor */
.design-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 8px;
  padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card2);}
.design-bar select{flex:1;min-width:150px;padding:9px 10px;font-size:13px;background:var(--card);
  border:1px solid var(--line);border-radius:8px;color:var(--text);}
.design-bar .btn-primary{white-space:nowrap;}
.design-bar .media-note{flex-basis:100%;font-size:11.5px;}
@media (max-width:600px){.design-bar select{min-width:100%;}}

/* ── performance / stats ─────────────────────────────────────────────── */
.modal-wide{max-width:1080px;}
.st-head-right{display:flex;align-items:center;gap:10px;}
.st-refreshed{font-size:11.5px;color:var(--muted);}
.st-filters{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 12px;}
.st-banner{background:var(--accent-soft);border:1px solid rgba(68,102,255,.3);border-radius:10px;
  padding:10px 13px;font-size:12.5px;color:var(--text);line-height:1.5;margin-bottom:12px;}
.st-banner b{color:var(--accent);}
.st-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:16px;}
.st-card{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.st-card.dim .n{color:var(--muted);font-weight:600;}
.st-card .n{font-size:22px;font-weight:800;} .st-card .l{font-size:11px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.5px;margin-top:2px;}
.st-pane{min-height:120px;}
.st-cal-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.st-month{font-weight:700;font-size:14px;}
.st-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.st-dow{font-size:11px;color:var(--muted);text-align:center;padding:4px 0;font-weight:600;}
.st-day{background:var(--card2);border:1px solid var(--line);border-radius:10px;min-height:132px;
  padding:6px;display:flex;flex-direction:column;gap:5px;}
.st-day.empty{background:transparent;border-color:transparent;}
.st-day .dnum{font-size:11px;color:var(--muted);font-weight:600;}
.st-item{display:flex;gap:7px;align-items:center;background:var(--card);border:1px solid var(--line);
  border-radius:8px;padding:4px;color:var(--text);transition:.15s;width:100%;text-align:left;
  font:inherit;cursor:pointer;}
.st-item:hover{border-color:var(--accent);transform:translateY(-1px);}
.st-item.top{border-color:var(--ok);box-shadow:0 0 0 1px rgba(52,211,153,.25);}
.st-item img{width:46px;height:46px;object-fit:cover;border-radius:6px;flex:none;background:var(--bg);}
.st-item .meta{min-width:0;flex:1;}
.st-item .eng{font-size:11.5px;font-weight:700;line-height:1.25;}
.st-item .tm{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.st-row{display:flex;gap:12px;align-items:center;background:var(--card2);border:1px solid var(--line);
  border-radius:10px;padding:9px 12px;margin-bottom:7px;color:var(--text);width:100%;
  text-align:left;font:inherit;cursor:pointer;}
.st-row:hover{border-color:var(--accent);}
.st-row img{width:46px;height:46px;object-fit:cover;border-radius:7px;flex:none;background:var(--bg);}
.st-row .t{flex:1;min-width:0;}
.st-row .h{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.st-row .s{font-size:11px;color:var(--muted);margin-top:2px;}
.st-row .v{text-align:right;flex:none;}
.st-row .v .n{font-size:17px;font-weight:800;} .st-row .v .l{font-size:10px;color:var(--muted);}
.st-mult{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;
  background:var(--accent-soft);color:var(--accent);}
.st-mult.hot{background:rgba(52,211,153,.16);color:var(--ok);}
.st-heat{display:grid;grid-template-columns:auto repeat(4,1fr);gap:5px;margin-top:8px;}
.st-heat .hh{font-size:10.5px;color:var(--muted);text-align:center;padding:3px;font-weight:600;}
.st-heat .hd{font-size:11px;color:var(--muted);padding:6px 8px 6px 0;text-align:right;font-weight:600;}
.st-cell{border-radius:7px;padding:8px 4px;text-align:center;font-size:12px;font-weight:700;
  background:var(--card2);border:1px solid var(--line);}
.st-cell .sn{display:block;font-size:9px;font-weight:500;color:var(--muted);margin-top:1px;}
.st-sec{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.5px;margin:18px 0 8px;}
.st-bar{display:flex;align-items:center;gap:9px;margin-bottom:6px;font-size:12.5px;}
.st-bar .bl{width:110px;flex:none;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.st-bar .bt{flex:1;height:8px;background:var(--card2);border-radius:999px;overflow:hidden;}
.st-bar .bf{height:100%;background:linear-gradient(90deg,var(--accent),#7a3bff);border-radius:999px;}
.st-bar .bv{width:64px;text-align:right;flex:none;font-weight:700;font-size:12px;}
@media (max-width:760px){
  .st-grid{grid-template-columns:repeat(2,1fr);} .st-dow{display:none;}
  .st-day{min-height:auto;}
}
.st-cell.thin{opacity:.55;border-style:dashed;}
.st-cell.thin .sn{font-style:italic;}

/* ── single-post insight detail ──────────────────────────────────────── */
.ps-body{display:grid;grid-template-columns:300px 1fr;gap:20px;margin-top:12px;}
.ps-left{display:flex;flex-direction:column;gap:10px;}
.ps-left>img{width:100%;border-radius:12px;border:1px solid var(--line);background:var(--bg);display:block;}
.ps-slides{display:flex;gap:6px;flex-wrap:wrap;}
.ps-slides img{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--line);
  cursor:pointer;opacity:.6;transition:.15s;}
.ps-slides img:hover,.ps-slides img.on{opacity:1;border-color:var(--accent);}
.ps-left .btn{text-align:center;text-decoration:none;}
.ps-right{min-width:0;}
.ps-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-bottom:14px;}
.ps-k{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:9px 11px;}
.ps-k .n{font-size:19px;font-weight:800;} .ps-k .l{font-size:10.5px;color:var(--muted);
  text-transform:uppercase;letter-spacing:.4px;margin-top:1px;}
.ps-k.dim .n{color:var(--muted);font-weight:600;}
.ps-meta{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:12px;}
.ps-body-txt{font-size:12.5px;line-height:1.55;color:var(--text);opacity:.85;max-height:150px;
  overflow:auto;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;}
.ps-split{display:flex;height:9px;border-radius:999px;overflow:hidden;margin:6px 0 4px;background:var(--card2);}
.ps-split i{display:block;height:100%;}
.ps-lock{background:var(--accent-soft);border:1px solid rgba(68,102,255,.3);border-radius:10px;
  padding:9px 12px;font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:12px;}
@media (max-width:760px){.ps-body{grid-template-columns:1fr;}}
