/* SBAY AI Social — trang Tạo bài viết (viết tay, không phụ thuộc Tailwind). Cỡ chữ tối thiểu 14px. */
:root{
  --bg:#f5f7fc;--card:#fff;--line:#e3e8f3;--line2:#cfd8ea;--ink:#131b2e;--ink2:#3f4a5e;--mute:#5b6679;
  --pri:#0a5fd6;--pri2:#0047b3;--pri-soft:#e8f0ff;--ok:#0f7a4a;--ok-soft:#e5f6ee;--warn:#9a5b00;--warn-soft:#fff4e0;
  --err:#b42318;--err-soft:#fdecea;--r:12px;--sh:0 1px 2px rgba(19,27,46,.05),0 2px 10px rgba(19,27,46,.04);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:400 15px/1.55 var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
a{color:var(--pri)}
:focus-visible{outline:3px solid #7fb0ff;outline-offset:2px}
.ms{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:20px;line-height:1;display:inline-block;
  white-space:nowrap;direction:ltr;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';vertical-align:middle;flex-shrink:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- khung: sidebar + đầu trang ---------- */
.side{position:fixed;inset:0 auto 0 0;width:256px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 16px;z-index:50;overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px}
.brand img{height:32px;width:auto}
.brand span{font-size:14px;font-weight:600;color:var(--mute);white-space:nowrap;padding-left:10px;border-left:1px solid var(--line)}
.side nav{display:flex;flex-direction:column;gap:2px}
.side nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink2);text-decoration:none;font-weight:600;font-size:14px}
.side nav a:hover{background:var(--pri-soft);color:var(--ink)}
.side nav a[aria-current]{background:var(--pri);color:#fff}
.top{position:sticky;top:0;z-index:40;height:64px;display:flex;align-items:center;gap:12px;padding:0 24px;background:rgba(245,247,252,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top h1{font-size:20px;line-height:1.3;margin:0;font-weight:800;flex:1;min-width:0}
.top h1 small{display:block;font-size:14px;font-weight:500;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main{margin-left:256px;min-height:100vh;padding-bottom:96px}
.wrap{max-width:1440px;margin:0 auto;padding:20px 24px}

/* ---------- nút & thẻ ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:10px;border:1px solid var(--line2);background:#fff;font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap}
.btn:hover:not(:disabled){background:#f3f6fd}
.btn.pri{background:var(--pri);border-color:var(--pri);color:#fff}
.btn.pri:hover:not(:disabled){background:var(--pri2)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.danger{color:var(--err);border-color:#f3c4bf}
.btn.ghost{border-color:transparent;background:transparent}
.btn.sm{min-height:36px;padding:6px 12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:20px}
.card+.card{margin-top:16px}
.card h2{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:17px;line-height:1.3;font-weight:800}
.card h2 .ms{color:var(--pri)}
.card h2 .num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--pri-soft);color:var(--pri);font-size:14px}
.card h2 .aside{margin-left:auto;font-size:14px;font-weight:600;color:var(--mute)}
.hint{font-size:14px;color:var(--mute);margin:6px 0 0}
.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:14px;font-weight:700;line-height:22px;white-space:nowrap}
.tag.ok{background:var(--ok-soft);color:var(--ok)}
.tag.warn{background:var(--warn-soft);color:var(--warn)}
.tag.err{background:var(--err-soft);color:var(--err)}
.tag.info{background:var(--pri-soft);color:var(--pri2)}
.tag.mute{background:#eef1f6;color:var(--ink2)}

/* ---------- form ---------- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld.full{grid-column:1/-1}
.fld label,.lbl{font-size:14px;font-weight:700;color:var(--ink2)}
.fld label em{color:var(--err);font-style:normal}
.in{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line2);border-radius:10px;background:#fff;font-size:15px}
.in:focus{border-color:var(--pri);outline:none;box-shadow:0 0 0 3px rgba(10,95,214,.15)}
.chk{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink2);min-height:40px}
.chk input{width:18px;height:18px;accent-color:var(--pri)}

/* ---------- bố cục 2 cột ---------- */
.cols{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.right{position:sticky;top:84px;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 180px);overflow-y:auto;padding-bottom:4px}
.right .card+.card{margin-top:0}

/* ---------- kênh ---------- */
.chs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ch{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;text-align:left;min-height:60px}
.ch:hover{border-color:var(--line2)}
.ch[aria-pressed="true"]{border-color:var(--pri);background:#f4f8ff;box-shadow:0 0 0 1px var(--pri) inset}
.ch .lg{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px;flex-shrink:0}
.ch b{display:block;font-size:14px;line-height:1.25}
.ch small{display:block;font-size:14px;line-height:1.3;color:var(--mute)}
.ch small.live{color:var(--ok);font-weight:700}
.ch small.paused{color:var(--warn);font-weight:700}
.ch .tick{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--pri);color:#fff;display:none;place-items:center}
.ch .tick .ms{font-size:16px}
.ch[aria-pressed="true"] .tick{display:grid}

/* ---------- soạn nội dung ---------- */
.tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-bottom:12px;scrollbar-width:thin}
.tab{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:14px;white-space:nowrap;color:var(--ink2)}
.tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.tab .dot{width:8px;height:8px;border-radius:50%;background:var(--pri)}
.tab .dot.over{background:#ff6b5e}
.tab .dot.same{background:#b8c2d6}
.ed{border:1px solid var(--line2);border-radius:12px;background:#fff;overflow:hidden}
.ed:focus-within{border-color:var(--pri);box-shadow:0 0 0 3px rgba(10,95,214,.15)}
.ed-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:#fafbfe}
.ed-bar select{min-height:36px;padding:4px 8px;border:1px solid var(--line2);border-radius:8px;background:#fff;font-size:14px}
.ed textarea{display:block;width:100%;min-height:220px;border:0;outline:0;padding:14px;resize:vertical;font-size:15px;line-height:1.6;background:transparent}
.ed-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--line);background:#fafbfe}
.count{margin-left:auto;font-size:14px;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums}
.count.over{color:var(--err)}
.ai-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ai{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 12px;border-radius:10px;border:1px solid #cddcf7;background:var(--pri-soft);color:var(--pri2);font-weight:700;font-size:14px}
.ai:hover:not(:disabled){background:#dbe7ff}
.ai.busy .ms{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.tags-sug{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tags-sug button{min-height:36px;padding:4px 12px;border-radius:999px;border:1px dashed var(--pri);background:#fff;color:var(--pri2);font-weight:700;font-size:14px}
.note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.5;margin-top:10px}
.note.info{background:var(--pri-soft);color:#12306b}
.note.warn{background:var(--warn-soft);color:#6b3f00}
.note.err{background:var(--err-soft);color:#7a1a12}

/* ---------- ảnh ---------- */
.media{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.mi{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;background:#eef1f6}
.mi img{width:100%;height:100%;object-fit:cover;display:block}
.mi[aria-pressed="true"]{border-color:var(--pri);box-shadow:0 0 0 2px #fff inset}
.mi .tick{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--pri);color:#fff;display:none;place-items:center}
.mi[aria-pressed="true"] .tick{display:grid}
.mi.none,.mi.up{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:700;font-size:14px;color:var(--ink2);border:1.5px dashed var(--line2);background:#fff;text-align:center;padding:6px}
.mi.none[aria-pressed="true"]{border:2px solid var(--pri)}

/* ---------- lịch ---------- */
.when{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;min-height:44px}
.opt:has(input:checked){border-color:var(--pri);background:#f4f8ff}
.opt input{margin-top:3px;width:18px;height:18px;accent-color:var(--pri)}
.opt b{display:block;font-size:14px}
.opt span{font-size:14px;color:var(--mute)}

/* ---------- xem trước ---------- */
.pv-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.pv-stage{display:flex;justify-content:center}
.phone{width:280px;max-width:100%;aspect-ratio:9/16;border-radius:28px;background:#0d1117;padding:8px;box-shadow:0 12px 32px rgba(19,27,46,.25)}
.screen{position:relative;width:100%;height:100%;border-radius:22px;overflow:hidden;background:#1d2430;color:#fff}
.screen>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.screen .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,transparent 25%,transparent 45%,rgba(0,0,0,.85) 100%)}
.screen .noimg{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:#aeb8c9;font-size:14px}
.vbar{position:absolute;right:8px;bottom:120px;display:flex;flex-direction:column;gap:14px;align-items:center}
.vbar .ms{font-size:28px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.vcap{position:absolute;left:0;right:48px;bottom:0;padding:12px 12px 16px;font-size:14px;line-height:1.45}
.vcap b{display:block;margin-bottom:4px}
.vcap p{margin:0;white-space:pre-wrap;word-break:break-word;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.vcap .more{color:#cfd6e4;font-weight:700}
.feed{width:100%;max-width:340px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.feed-h{display:flex;align-items:center;gap:10px;padding:12px}
.feed-h .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;flex-shrink:0}
.feed-h b{display:block;font-size:14px;line-height:1.3}
.feed-h span{font-size:14px;color:var(--mute)}
.feed-t{padding:0 12px 12px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.feed-t .more{color:var(--mute);font-weight:700}
.feed-img{width:100%;display:block;object-fit:cover;background:#eef1f6}
.feed-f{display:flex;justify-content:space-around;padding:8px;border-top:1px solid var(--line);color:var(--mute);font-size:14px;font-weight:700}
.feed-f span{display:inline-flex;align-items:center;gap:4px}
.pv-note{font-size:14px;color:var(--mute);text-align:center;margin:10px 0 0}

/* ---------- kiểm tra ---------- */
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.checks li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.45}
.checks li .ms{font-size:20px;margin-top:0}
.checks li.pass .ms{color:var(--ok)}
.checks li.warn .ms{color:var(--warn)}
.checks li.fail .ms{color:var(--err)}
.score{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.score b{font-size:28px;line-height:1;font-weight:800}
.score span{font-size:14px;color:var(--mute)}

/* ---------- thanh hành động ---------- */
.bar{position:fixed;left:256px;right:0;bottom:0;z-index:45;display:flex;align-items:center;gap:12px;padding:12px 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(19,27,46,.06)}
.bar .st{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font-size:14px;color:var(--ink2)}
.bar .st span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .acts{display:flex;gap:10px}

/* ---------- ngăn kéo danh sách bài ---------- */
.drawer{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end;background:rgba(19,27,46,.35)}
.drawer>div{width:min(560px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:-8px 0 24px rgba(19,27,46,.15)}
.drawer header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}
.drawer header h2{margin:0;font-size:17px;flex:1}
.drawer .filters{display:flex;gap:6px;overflow-x:auto;padding:12px 16px 0}
.drawer .list{flex:1;overflow-y:auto;padding:12px 16px 24px;display:flex;flex-direction:column;gap:10px}
.post{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.post h3{margin:0 0 4px;font-size:15px;line-height:1.35}
.post .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;color:var(--mute)}
.post .ex{margin:8px 0 0;font-size:14px;color:var(--ink2);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post .dl{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.post .dl div{display:flex;align-items:center;gap:8px;font-size:14px;flex-wrap:wrap}
.post .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.empty{text-align:center;color:var(--mute);font-size:14px;padding:32px 12px}

/* ---------- hộp thoại khoá ---------- */
dialog{border:0;border-radius:16px;padding:0;width:min(440px,calc(100% - 32px));box-shadow:0 20px 48px rgba(19,27,46,.3)}
dialog::backdrop{background:rgba(19,27,46,.4)}
dialog form{padding:20px;display:flex;flex-direction:column;gap:12px}
dialog h2{margin:0;font-size:18px}
dialog p{margin:0;font-size:14px;color:var(--ink2)}
dialog .row{display:flex;gap:10px;justify-content:flex-end}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:90;max-width:calc(100% - 32px);padding:12px 16px;border-radius:12px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;box-shadow:0 8px 24px rgba(19,27,46,.3)}
.toast.err{background:var(--err)}
.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;margin-bottom:16px;font-size:14px;line-height:1.5}
.banner.warn{background:var(--warn-soft);color:#6b3f00;border:1px solid #f5d9a8}
.banner.info{background:var(--pri-soft);color:#12306b;border:1px solid #cddcf7}
.who{display:flex;align-items:center;gap:8px}

/* ---------- thanh dưới (điện thoại) ---------- */
.bnav{display:none}
@media (max-width:1180px){
  /* 1 cột: xem trước + kiểm tra đứng ngay sau phần Nội dung, gần nút Gửi duyệt */
  .cols{display:flex;flex-direction:column;align-items:stretch;gap:16px;max-width:820px;margin:0 auto}
  .cols>div,.right{display:contents}
  .card+.card{margin-top:0}
  .cols>div:first-child>section:nth-child(1){order:1}
  .cols>div:first-child>section:nth-child(2){order:2}
  .cols>div:first-child>section:nth-child(3){order:3}
  .right>section:nth-child(1){order:4}
  .cols>div:first-child>section:nth-child(4){order:5}
  .cols>div:first-child>section:nth-child(5){order:6}
  .right>section:nth-child(2){order:7}
}
@media (max-width:1023px){
  .side{display:none}
  .main{margin-left:0;padding-bottom:150px}
  .bar{left:0;bottom:64px;padding:10px 16px}
  .bnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;height:64px;justify-content:space-around;align-items:center;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .bnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:64px;min-height:48px;color:var(--ink2);text-decoration:none;font-weight:600;font-size:14px}
  .bnav a[aria-current]{color:var(--pri)}
  .toast{bottom:150px}
}
@media (max-width:640px){
  .top{padding:0 16px;height:60px}
  .top{gap:8px}
  .top h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top h1 small{display:none}
  .top .btn{padding:6px 10px}
  .media{grid-template-columns:repeat(3,1fr);gap:8px}
  .wrap{padding:16px}
  .card{padding:16px}
  .grid2,.when{grid-template-columns:1fr}
  .chs{grid-template-columns:1fr 1fr}
  .btn,.btn.sm,.tab,.ai,.tags-sug button,.ed-bar select,.in{min-height:44px}
  .btn,.btn.sm{min-width:44px}
  .bar .st{display:none}
  .bar .acts{flex:1;min-width:0;gap:8px}
  .bar .acts .btn{flex:1 1 0;min-width:0;padding:8px 10px}
  .bar .acts #btnNew{flex:0 0 44px;padding:0}
  .bar .acts #btnNew .lbl-t{display:none}
  .top .btn .lbl-t{display:none}
}
@media (max-width:380px){ .chs{grid-template-columns:1fr} }
