:root{
  /* 🤎 베이지 라이트 테마 — 깔끔하고 밝게 */
  --bg:#f6f1e6; --card:#fffefa; --card2:#f3ecdd; --line:#e8e0cf;
  --txt:#44403a; --mut:#a89f8d; --pink:#e87a9b; --ok:#2fae6b; --warn:#c9962c; --err:#dd5a55;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);
  font-family:"Malgun Gothic","맑은 고딕",system-ui,sans-serif;font-size:14px}

/* ── 왼쪽 사이드바 레이아웃 ── */
.layout{display:flex;min-height:100vh;align-items:stretch}
.sidebar{width:212px;flex-shrink:0;background:linear-gradient(180deg,#fffefa,#f4eee0);
  border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh}
.sidebar .brand{font-size:16px;font-weight:800;color:#3a362f;line-height:1.35;margin-bottom:20px}
.sidebar .brand span{vertical-align:middle}
.snav{display:flex;flex-direction:column;gap:5px}
.snav a{color:var(--txt);text-decoration:none;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:600}
.snav a:hover{background:var(--card2)}
.snav a.on{background:var(--pink);color:#fff;box-shadow:0 3px 8px rgba(232,122,155,.3)}
.sfoot{margin-top:auto;color:var(--mut);font-size:11px;padding:10px 4px;line-height:1.6}
.snav-sub{margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,0,0,.07);display:flex;flex-direction:column;gap:5px}
.snav-sub a{color:var(--mut);text-decoration:none;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:600}
.snav-sub a:hover{background:var(--card2)}
.snav-sub a.on{background:var(--pink);color:#fff}
.page-title{font-size:22px;font-weight:800;color:#3a362f;margin:4px 0 18px}
.muted-sm{color:var(--mut);font-size:12px;font-weight:500}

/* ── 👥 계정관리 탭 ── */
.acc-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.acc-summary .chip{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:700}
.acc-summary .total{background:#efe6d3;color:#6b5f45}
.acc-summary .preg{background:#e3ecf5;color:#3f5670}
.acc-summary .post{background:#fbe6d8;color:#a5623a}
.acc-summary .near{background:#fdf0d2;color:#9a7212}
.acc-summary .warn{background:#f6dede;color:#b5443c}
.acc-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden;
  box-shadow:0 2px 10px rgba(140,120,80,.06)}
.acc-table th{background:#f4eee0;color:#6b5f45;font-size:12px;text-align:left;padding:10px 14px;font-weight:700}
.acc-table td{padding:9px 14px;border-top:1px solid var(--line);font-size:13.5px}
.acc-table .td-baby{font-weight:800;color:#3a362f}
.acc-table .td-posts{text-align:center;color:var(--mut)}
.acc-table tr.row-post{background:#fdf6f1}
.acc-table tr.row-near{background:#fdfaf0}
.acc-table tr.off{opacity:.5}
.badge{padding:3px 9px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
.b-preg{background:#e3ecf5;color:#3f5670}
.b-near{background:#fdf0d2;color:#9a7212}
.b-post{background:#fbe6d8;color:#a5623a}
.b-unk{background:#eee;color:#999}
.tgl{border:0;border-radius:8px;padding:5px 14px;font-size:12px;font-weight:800;cursor:pointer}
.tgl.on{background:var(--ok);color:#fff}
.tgl.off{background:#ddd;color:#888}

/* ── ✍️ 원고작성 탭 ── */
.wr-compose{display:flex;flex-wrap:wrap;gap:8px;background:var(--card);border-radius:12px;padding:12px 14px;
  margin-bottom:16px;box-shadow:0 2px 10px rgba(140,120,80,.06)}
.wr-in{border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13px;background:#fff;color:var(--txt);font-family:inherit}
.wr-in[name=topic]{flex:1;min-width:120px}
.b-gen{background:var(--pink);color:#fff;border:0;border-radius:9px;padding:8px 16px;font-weight:700;cursor:pointer}
.b-gen:disabled{opacity:.6}
.wr-sec{margin-bottom:22px}
.wr-h{font-size:15px;font-weight:800;color:#3a362f;margin:0 0 10px;display:flex;align-items:center;gap:6px}
.wr-cnt{background:var(--pink);color:#fff;border-radius:20px;font-size:12px;padding:1px 9px}
.wr-empty{color:var(--mut);font-size:13px;padding:12px;background:var(--card);border-radius:10px}
.wr-item{background:var(--card);border:1px solid var(--line);border-radius:11px;margin-bottom:8px;overflow:hidden}
.wr-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:11px 14px}
.wr-item>summary::-webkit-details-marker{display:none}
.wr-item>summary::before{content:'▸';color:var(--mut);font-size:12px;transition:transform .15s}
.wr-item[open]>summary::before{transform:rotate(90deg)}
.wr-item[open]>summary{background:#faf6ee}
.wr-badge{font-size:11px;font-weight:800;padding:3px 8px;border-radius:20px;white-space:nowrap}
.wr-badge.wait{background:#fdf0d2;color:#9a7212}
.wr-badge.ok{background:#e0f0e6;color:#2c7a52}
.wr-badge.done{background:#e3ecf5;color:#3f5670}
.wr-badge.fail{background:#f6dede;color:#b5443c}
.wr-badge.no{background:#eee;color:#999}
.wr-baby{font-weight:800;color:#3a362f;font-size:13px;white-space:nowrap}
.wr-title{flex:1;font-size:13.5px;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wr-board{white-space:nowrap}
.wr-open{padding:4px 16px 14px 34px}
.wr-body{white-space:pre-wrap;font-size:13.5px;line-height:1.7;color:var(--txt);background:#faf6ee;border-radius:8px;padding:12px 14px}
.wr-actions{display:flex;gap:8px;margin-top:10px}
.wr-actions button{border:0;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer}
.wr-note{margin-top:8px;font-size:12.5px;color:#9a7212;background:#fdf7e6;border-radius:8px;padding:8px 12px}
.wr-form{display:flex;flex-direction:column;gap:8px}
.wr-edit-hint{font-size:12px;color:var(--mut)}
.wr-edit-title{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:700;background:#fffdf8;box-sizing:border-box}
.wr-edit-body{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13.5px;line-height:1.7;background:#fffdf8;resize:vertical;font-family:inherit;box-sizing:border-box}
.wr-edit-title:focus,.wr-edit-body:focus{outline:2px solid #e8b4c8;border-color:transparent}
.stub-card{background:var(--card);border-radius:14px;padding:28px;line-height:1.7;box-shadow:0 2px 10px rgba(0,0,0,.05);max-width:680px}
.stub-card .muted{color:var(--mut);font-size:13px;margin-top:8px}
@media(max-width:760px){
  .layout{flex-direction:column}
  .sidebar{width:auto;height:auto;position:static;flex-direction:row;align-items:center;gap:10px;padding:12px}
  .sidebar .brand{margin-bottom:0;font-size:14px;white-space:nowrap}
  .snav{flex-direction:row;flex-wrap:wrap;flex:1}
  .sfoot{display:none}
}

.topbar{display:flex;justify-content:space-between;align-items:center;
  padding:14px 22px;background:linear-gradient(90deg,#fffefa,#f8f2e7);
  border-bottom:1px solid var(--line);box-shadow:0 1px 4px rgba(120,100,60,.05)}
.brand{font-size:18px;font-weight:700;color:#3a362f}
.phase{font-size:11px;color:#fff;background:var(--pink);padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}
.clock{color:var(--mut)}

main{flex:1;min-width:0;padding:20px 30px;display:flex;flex-direction:column;gap:16px}

/* ── 📊 모니터링 탭 ── */
.mon-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.muted-sm{color:var(--mut);font-size:12px;font-weight:500}
.mon-actions{display:flex;align-items:center;gap:10px}
.btn-scrape{background:var(--pink);color:#fff;border:0;border-radius:10px;padding:10px 16px;
  font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 3px 8px rgba(232,122,155,.3)}
.btn-scrape:disabled{opacity:.6;cursor:default}
.mon-summary{margin:2px 0 6px}
.mon-card{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--card);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(140,120,80,.06);margin-bottom:14px}
.mon-card.s-approved,.mon-card.s-posted{border-color:#a6ddbf}
.mon-card.s-rejected,.mon-card.s-skipped{opacity:.6}
.mon-left{padding:16px 18px;border-right:1px dashed var(--line)}
.mon-right{padding:16px 18px;background:#fbf7ef;display:flex;flex-direction:column;gap:10px}
.mon-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px;font-size:12px}
.mon-meta .kw{background:#efe6d3;color:#6b5f45;padding:2px 8px;border-radius:20px;font-weight:700}
.mon-meta .prod{background:var(--pink);color:#fff;padding:2px 8px;border-radius:20px;font-weight:700}
.mon-meta .brd{background:#e3ecf5;color:#4a6076;padding:2px 8px;border-radius:20px}
.mon-title{font-size:15px;font-weight:800;color:#3a362f;margin-bottom:6px;line-height:1.4}
.mon-body{font-size:13.5px;color:var(--txt);line-height:1.6;white-space:pre-wrap;
  background:#faf6ee;border-radius:8px;padding:10px 12px}
.mon-comments{margin-top:10px}
.mon-comments .cm-h{font-size:12px;color:var(--mut);font-weight:700;margin-bottom:4px}
.mon-comments .cm{font-size:12.5px;color:#6f6759;padding:4px 0;border-top:1px solid var(--line);line-height:1.5}
.mon-right-head{font-size:13px;font-weight:700;color:#3a362f}
.mon-right-head .asg{color:var(--pink)}
.our-form{display:flex;flex-direction:column;gap:10px}
.our-text{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13.5px;
  line-height:1.6;resize:vertical;font-family:inherit;background:#fff;color:var(--txt)}
.our-btns{display:flex;flex-wrap:wrap;gap:7px}
.our-btns button{border:0;border-radius:9px;padding:8px 12px;font-size:12.5px;font-weight:700;cursor:pointer}
.b-save{background:#e3ecf5;color:#3f5670}
.b-regen{background:#efe6d3;color:#6b5f45}
.b-ok{background:var(--ok);color:#fff}
.b-no{background:#f3ded9;color:#b5544c}
.b-preview{background:var(--pink);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}
.b-preview:disabled{opacity:.6}
.mon-badge{font-size:13px;font-weight:800;padding:6px 0}
.mon-badge.ok{color:var(--ok)} .mon-badge.no{color:var(--err)}
.our-final{font-size:13.5px;line-height:1.6;background:#fff;border-radius:8px;padding:10px 12px;border:1px solid var(--line)}
.our-final.muted{color:var(--mut)}
@media(max-width:820px){.mon-card{grid-template-columns:1fr}.mon-left{border-right:0;border-bottom:1px dashed var(--line)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;
  box-shadow:0 2px 10px rgba(140,120,80,.06)}
h2{margin:0;font-size:16px} h3{margin:0 0 12px;font-size:14px;color:var(--mut)}

.op-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.op-inst{font-size:18px;font-weight:600;margin-bottom:6px}
.op-meta{color:var(--mut);line-height:1.6}
.badge{font-size:12px;padding:5px 12px;border-radius:20px;font-weight:600}
.badge-warn{background:rgba(255,204,77,.16);color:var(--warn)}
.badge-ok{background:rgba(61,220,132,.14);color:var(--ok)}

.agents{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.agent .agent-name{font-weight:700;margin-bottom:8px}
.agent .agent-stat{color:var(--mut)}
.err{color:var(--err)}

.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;color:var(--mut);font-weight:500;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--line)}
.tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.cell-body{max-width:430px;line-height:1.5}
.acts{white-space:nowrap}
.acts button{border:0;border-radius:8px;padding:6px 12px;font-weight:600;cursor:pointer;margin-left:6px}
.acts .ok{background:var(--ok);color:#06210f}
.acts .no{background:var(--card2);color:var(--err);border:1px solid var(--err)}
/* 🛑 결재 대기(좌) + ✅ 작업 결과(우) 2단 */
.review-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;align-items:start}
.scroll-list{max-height:460px;overflow-y:auto;padding-right:6px;margin-top:2px}
.scroll-list::-webkit-scrollbar{width:9px}
.scroll-list::-webkit-scrollbar-thumb{background:#dccfb4;border-radius:8px}
.scroll-list::-webkit-scrollbar-thumb:hover{background:#cdbe9c}
.scroll-list::-webkit-scrollbar-track{background:#f0e9da;border-radius:8px}
.cnt{background:var(--pink);color:#fff;font-size:12px;padding:1px 9px;border-radius:10px;margin-left:4px}
.pend-item{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:12px 13px;margin-bottom:10px}
.pend-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:12px;margin-bottom:6px}
.pend-meta b{font-size:13.5px}
.pend-kind{background:#eef0ee;color:#6b7280;padding:1px 8px;border-radius:8px;font-size:11px}
.pend-title{font-weight:700;line-height:1.4;margin-bottom:3px}
.pend-body{color:var(--mut);line-height:1.55;font-size:13px;white-space:pre-wrap}
.tgt{font-size:12px;margin-top:4px}
.done-list{list-style:none;margin:0;padding:0}
.done-list li{border-bottom:1px solid var(--line);padding:9px 0}
.done-list li:last-child{border-bottom:none}
.done-top{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:12px}
.done-top b{font-size:13px}
.done-when{margin-left:auto;color:var(--mut);font-size:11px}
.done-title{font-weight:700;font-size:13.5px;line-height:1.4;margin-top:5px;color:#1d1d1f}
.done-body{color:var(--mut);font-size:13px;line-height:1.55;margin-top:3px;white-space:pre-wrap}
.more{display:inline-block;margin-top:8px;color:var(--pink);text-decoration:none;font-size:13px;font-weight:600}
.approved-row{background:rgba(47,174,107,.12)!important;color:var(--ok);text-align:center;font-weight:700;padding:14px}
.rejected-row{background:rgba(221,90,85,.1)!important;color:var(--err);text-align:center;font-weight:700;padding:14px}
@media(max-width:880px){.review-grid{grid-template-columns:1fr}}

.rej-wrap{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.rej-note{background:#fff;border:1px solid var(--line);color:var(--txt);border-radius:8px;
  padding:7px 9px;font-size:12px;font-family:inherit;width:100%}
.rej-note:focus{outline:none;border-color:var(--pink)}
.rej-btns{display:flex;gap:6px;justify-content:flex-end}
.rej-btns button{margin-left:0}
.rejected-row{color:var(--err);background:rgba(255,91,110,.08);text-align:center;padding:10px;font-weight:600}
.approved-row{color:var(--ok);background:rgba(61,220,132,.08);text-align:center;padding:10px;font-weight:600}
.feedlog{list-style:none;margin:0;padding:0;line-height:1.9}
.feedlog li{display:flex;gap:10px;align-items:baseline;border-bottom:1px solid var(--line);padding:5px 0;font-size:13px}
.fb-when{color:var(--mut);font-size:11px;white-space:nowrap}
.fb-tt{color:var(--txt);font-weight:600;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.fb-why{color:var(--warn);font-style:italic}
.hint,.foot{color:var(--mut);font-size:12px}
.hint{margin-top:10px}

.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.acc{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.acc.red{border-color:var(--err)} .acc.yellow{border-color:var(--warn)}
.acc-top{display:flex;align-items:center;gap:6px}
.acc-top .wk{margin-left:auto;color:var(--mut);font-size:12px}
.acc-sub{color:var(--mut);font-size:12px;margin-top:4px}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.trend{margin:0;padding-left:20px;line-height:2}
.trend .n{color:var(--pink);font-weight:700;margin-left:6px}
.log{list-style:none;margin:0;padding:0;line-height:1.9;font-size:13px}
.log .t{color:var(--mut);margin-right:8px}
.log .k{color:var(--pink);margin-right:8px}
.log .s{font-size:11px;padding:1px 7px;border-radius:8px;margin-right:8px}
.s-sent{background:rgba(61,220,132,.16);color:var(--ok)}
.s-preview{background:rgba(139,149,166,.16);color:var(--mut)}
.s-failed{background:rgba(255,91,110,.16);color:var(--err)}

.nav{display:flex;gap:6px;margin-left:24px;flex:1}
.nav a{color:var(--mut);text-decoration:none;padding:6px 12px;border-radius:8px;font-size:13px}
.nav a:hover{background:var(--card2);color:var(--txt)}
.nav a.on{background:var(--card2);color:var(--pink);font-weight:700}

.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.chip{text-decoration:none;font-size:12px;color:var(--mut);background:var(--card2);
  border:1px solid var(--line);padding:5px 12px;border-radius:16px}
.chip.on{background:var(--pink);color:#1a0d13;border-color:var(--pink);font-weight:700}
.tag{font-size:11px;background:rgba(255,107,157,.16);color:var(--pink);padding:2px 8px;border-radius:8px}
.arch td{font-size:13px}
.mut{color:var(--mut)}
.panel-ctl{display:flex;align-items:center;gap:12px;margin:8px 2px 4px}
.ar-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);cursor:pointer;user-select:none}
.ar-toggle input{accent-color:var(--pink);cursor:pointer}
#rf-status{font-size:12px;color:var(--pink)}
.operator-bar{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:10px 14px;box-shadow:0 2px 10px rgba(140,120,80,.06)}
.op-label{font-weight:700;font-size:14px}
.opbtn{appearance:none;border:1px solid var(--line);background:var(--card2);color:var(--mut);cursor:pointer;
  font-size:14px;font-weight:700;padding:6px 16px;border-radius:20px;transition:.12s}
.opbtn:hover{color:var(--txt)}
.opbtn.active{background:var(--pink);color:#fff;border-color:var(--pink);box-shadow:0 3px 8px rgba(232,122,155,.3)}
.op-hint{font-size:12px}
.back{display:inline-block;margin:6px 2px;color:var(--mut);text-decoration:none}
.back:hover{color:var(--pink)}

.empty{color:var(--mut);padding:10px 0;font-style:italic;line-height:1.7}
.foot{text-align:center;padding:18px}
@media(max-width:760px){.agents,.two-col{grid-template-columns:1fr}}

/* 📊 모니터링 지표 카드 */
.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.metric{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:center}
.metric.warn{border-color:var(--warn)} .metric.bad{border-color:var(--err)}
.metric .m-num{font-size:30px;font-weight:800}
.metric.warn .m-num{color:var(--warn)} .metric.bad .m-num{color:var(--err)}
.metric .m-lbl{color:var(--mut);font-size:12px;margin-top:4px}
.issuelist{list-style:none;margin:0;padding:0}
.issuelist .iss{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.iss.error{color:var(--err)} .iss.warn{color:var(--warn)}
.iss-msg{flex:1;color:var(--txt)} .iss-time{white-space:nowrap;font-size:11px}
.iss-notif{font-size:11px;color:var(--mut);white-space:nowrap}
.agent-stat{padding:7px 0;border-bottom:1px solid var(--line);color:var(--txt)}
.flow{font-size:15px;line-height:2}
.flow .fl{background:var(--card2);padding:3px 10px;border-radius:8px;margin:0 2px}
.flow .fl.ok{color:var(--ok)} .flow .fl.warn{color:var(--warn)} .flow .fl.err{color:var(--err)}
@media(max-width:760px){.metrics{grid-template-columns:repeat(2,1fr)}}

/* 📋 작업 결과 — 계정 한눈에 그리드 */
.sumbar{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 16px;
  margin-bottom:14px;font-size:14px;box-shadow:0 2px 10px rgba(140,120,80,.06)}
.sumbar b{color:var(--pink);font-size:16px}
.acc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}
.acc-card{display:block;text-decoration:none;color:var(--txt);background:var(--card);
  border:1px solid var(--line);border-radius:14px;padding:15px 16px;
  box-shadow:0 2px 10px rgba(140,120,80,.06);transition:transform .12s,box-shadow .12s}
.acc-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(140,120,80,.13);border-color:var(--pink)}
.ac-head{display:flex;align-items:center;gap:7px;font-size:15px}
.ac-head b{font-size:16px}
.ac-head .ac-wk{color:var(--mut);font-size:12px;font-weight:600}
.ac-count{color:var(--txt);font-size:13px;margin:7px 0 9px}
.ac-count b{color:var(--pink);font-size:15px}
.ac-prev{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);padding-top:8px}
.ac-prev li{font-size:12.5px;color:var(--mut);padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-kind{display:inline-block;background:#eef0ee;color:#6b7280;font-size:10.5px;padding:0 6px;border-radius:7px;margin-right:5px}
.ac-more{display:inline-block;margin-top:9px;color:var(--pink);font-size:12.5px;font-weight:700}

/* 작업 결과 — 좌(목록) + 우(상세) 분할 */
.rsplit{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}
.rlist{display:flex;flex-direction:column;gap:11px;max-height:80vh;overflow-y:auto;padding-right:5px}
.rlist::-webkit-scrollbar{width:8px}
.rlist::-webkit-scrollbar-thumb{background:#dccfb4;border-radius:8px}
.rlist .acc-card{cursor:pointer}
.rlist .acc-card.on{border-color:var(--pink);background:#fff;box-shadow:0 4px 16px rgba(232,122,155,.22)}
.rlist .acc-card.on:hover{transform:none}
.rdetail{position:sticky;top:18px}
.rdetail-empty{color:var(--mut);text-align:center;padding:70px 20px;font-style:italic}
@media(max-width:880px){.rsplit{grid-template-columns:1fr}.rdetail{position:static}}

/* (상세) 마미톡 '내 글' 스타일 */
.acc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.acc-chip{text-decoration:none;color:var(--mut);background:var(--card2);border:1px solid var(--line);
  padding:7px 14px;border-radius:18px;font-size:13px;font-weight:600}
.acc-chip.on{background:var(--pink);color:#1a0d13;border-color:var(--pink)}
.acc-chip .dot{font-size:10px;margin-right:3px}
.acc-chip i{font-style:normal;font-size:11px;opacity:.7;margin-left:5px}
.myposts{width:390px;max-width:94vw;margin:0 auto;background:#fff;border-radius:26px;overflow:hidden;
  color:#222;box-shadow:0 10px 34px rgba(120,100,60,.16);border:1px solid var(--line)}
.mp-top{background:#fff;text-align:center;font-weight:700;padding:12px;color:#1c1c1c;position:relative;border-bottom:1px solid #eef0f2}
.mp-top span{font-size:15px}
.mp-profile{background:#fff;text-align:center;padding:18px 16px 14px}
.mp-avatar{width:72px;height:72px;border-radius:50%;background:#eef6f5;display:flex;align-items:center;
  justify-content:center;font-size:38px;margin:0 auto 10px}
.mp-name{font-size:17px;font-weight:800;color:#1c1c1c}
.mp-name .mp-wk{font-weight:500;color:#7a8290;font-size:14px}
.mp-sub{color:#9aa3af;font-size:12px;margin-top:4px}
.mp-tabs{display:flex;background:#fff;border-bottom:1px solid #eef0f2}
.mp-tab{flex:1;text-align:center;padding:11px;font-size:13px;color:#9aa3af;font-weight:600}
.mp-tab b{color:#7a8290}
.mp-tab{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit}
.mp-tab.on{color:var(--mami,#22c3b6);border-bottom:2px solid var(--mami,#22c3b6)}
/* 작성글 아코디언(제목 클릭→내용) */
.mp-acc{background:#fff;border-bottom:1px solid #eef0f2}
.mp-acc summary{list-style:none;cursor:pointer;padding:13px 16px}
.mp-acc summary::-webkit-details-marker{display:none}
.mp-accsum .mp-title{display:flex;justify-content:space-between;align-items:center}
.mp-cmtn{color:#bcc3cc;font-weight:400;transition:transform .15s}
.mp-acc[open] .mp-cmtn{transform:rotate(90deg)}
.mp-acc[open] summary{background:#fafdfc}
.mp-accbody{padding:2px 16px 15px;color:#444c57;line-height:1.6;font-size:13.5px;
  white-space:pre-wrap;background:#fafdfc;border-top:1px dashed #e7eaee}
.mp-list{background:#f4f6f8;max-height:560px;overflow-y:auto;padding:6px 0}
.mp-sech{font-size:11px;color:#8a93a0;font-weight:700;padding:10px 16px 4px}
.mp-item{background:#fff;padding:13px 16px;border-bottom:1px solid #eef0f2}
.mp-title{font-weight:700;font-size:14.5px;color:#1d1d1f;line-height:1.45}
.mp-body{color:#55606e;font-size:13px;margin-top:5px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mp-target{color:#9aa3af;font-size:12px;margin-top:5px}
.mp-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:9px;font-size:11.5px;color:#9aa3af}
.mp-board{background:#eafaf8;color:#16a99d;padding:1px 8px;border-radius:8px;font-weight:600}
.mp-ang{background:#fdeef4;color:#e25b94;padding:1px 8px;border-radius:8px}
.mp-when{margin-left:auto}
.mp-st{padding:1px 8px;border-radius:8px;font-weight:600}
.st-posted{background:#eafaf3;color:#1f9e6b}
.st-pending_approval{background:#fff6e0;color:#b8860b}
.st-approved{background:#eafaf3;color:#1f9e6b}
.st-rejected,.st-review_rejected{background:#fdeaea;color:#d14343}
.st-post_failed{background:#fdeaea;color:#d14343}

/* ── 📱 마미톡 앱 피드 목업 (다크 대시보드 안의 라이트 폰) ── */
.lead{color:var(--txt);margin:2px 0 16px}
:root{--mami:#22c3b6;--mami-d:#16a99d}
.phone{width:390px;max-width:94vw;margin:0 auto;background:#f4f6f8;border-radius:26px;
  border:1px solid var(--line);box-shadow:0 10px 34px rgba(120,100,60,.16);overflow:hidden;
  color:#222;font-size:14px;position:relative;height:760px;display:flex;flex-direction:column}
.m-status{display:flex;justify-content:space-between;align-items:center;background:#fff;
  color:#333;font-size:11px;padding:7px 16px 3px}
.m-top{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:6px 16px 12px}
.m-title{font-size:20px;font-weight:800;color:#1c1c1c}
.m-icons{font-size:14px;opacity:.85;letter-spacing:1px}
.m-chips{display:flex;gap:7px;overflow-x:auto;background:#fff;padding:0 14px 12px;
  border-bottom:1px solid #eef0f2;scrollbar-width:none}
.m-chips::-webkit-scrollbar{display:none}
.m-chip{flex:0 0 auto;text-decoration:none;color:#7a8290;font-size:13px;font-weight:600;
  padding:6px 13px;border-radius:18px;background:#f1f3f5;white-space:nowrap}
.m-chip i{font-style:normal;font-size:11px;opacity:.7;margin-left:4px}
.m-chip.on{background:var(--mami);color:#fff}
.m-feed{flex:1;overflow-y:auto;background:#f4f6f8;padding:10px 10px 70px}
.m-post{background:#fff;border-radius:14px;padding:13px 15px;margin-bottom:9px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.m-post-tt{font-weight:700;font-size:15px;color:#1d1d1f;line-height:1.4}
.m-post-bd{color:#55606e;margin-top:6px;line-height:1.55;font-size:13.5px;white-space:pre-wrap;
  display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.m-post-mt{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:10px;font-size:11.5px;color:#9aa3af}
.m-who{color:#6b7280;font-weight:600}
.m-bd{background:#eafaf8;color:var(--mami-d);padding:1px 8px;border-radius:8px;font-weight:600}
.m-tp{background:#fdeef4;color:#e25b94;padding:1px 8px;border-radius:8px}
.m-to{background:#f1f3f5;color:#7a8290;padding:1px 7px;border-radius:8px}
.m-rt{margin-left:auto}
.m-st{color:#c2c8d0}
.m-cmt{background:#eef6f5;border-left:3px solid var(--mami);border-radius:0 12px 12px 0;
  padding:9px 13px;margin:0 0 9px 22px}
.m-cmt-by{font-size:11px;color:#6b7280;font-weight:600;margin-bottom:3px}
.m-cmt-by i{font-style:normal;color:var(--mami-d)}
.m-cmt-tx{color:#404a57;line-height:1.5;font-size:13px;white-space:pre-wrap}
.m-empty{color:#8a93a0;text-align:center;padding:50px 16px;line-height:2;font-size:13px}
.m-empty code{background:#fff;color:#e25b94;padding:2px 6px;border-radius:6px;font-size:11.5px}
.m-nav{position:absolute;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid #eef0f2;
  padding:8px 0 10px}
.m-nav span{flex:1;text-align:center;font-size:18px;color:#aab2bd}
.m-nav span i{display:block;font-style:normal;font-size:10px;margin-top:2px}
.m-nav span.on{color:var(--mami)}
.m-fab{position:absolute;right:18px;bottom:62px;width:48px;height:48px;border-radius:50%;
  background:var(--mami);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:20px;box-shadow:0 6px 16px rgba(34,195,182,.5)}
@media(max-width:760px){.phone{height:88vh}}

/* 🤖 에이전트 상태 바 (1분마다 자동 갱신) */
.agentbar{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;margin-bottom:16px;box-shadow:0 2px 10px rgba(120,100,60,.06)}
.agentbar .ab-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.agentbar .ab-head h2{margin:0;font-size:16px}
.ab-auto{font-size:12px;color:var(--mut);background:var(--card2);border:1px solid var(--line);
  border-radius:20px;padding:3px 11px}
.ag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ag-card{border:1px solid var(--line);border-radius:11px;padding:11px 13px;background:var(--card2);
  border-left:4px solid var(--mut)}
.ag-card.st-ok,.ag-card.st-work{border-left-color:var(--ok)}
.ag-card.st-wait{border-left-color:var(--warn)}
.ag-card.st-error{border-left-color:var(--err)}
.ag-card.st-off{border-left-color:#c3bbab}
.ag-top{display:flex;align-items:center;gap:6px}
.ag-dot{font-size:11px}
.ag-name{font-weight:800;color:var(--txt);font-size:14px}
.ag-live{margin-left:auto;font-size:9.5px;font-weight:800;color:#fff;background:var(--ok);
  border-radius:5px;padding:1px 6px;letter-spacing:.5px}
.ag-note{color:var(--txt);font-size:12.5px;margin:7px 0 9px;min-height:17px;line-height:1.4}
.ag-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--mut)}
.ag-line{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1px 8px}
.ag-card.st-work .ag-dot{animation:agpulse 1.4s ease-in-out infinite}
@keyframes agpulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(max-width:760px){.ag-grid{grid-template-columns:1fr 1fr}}

/* 🎯 튼살 탭 — 보이스 점수 칩 */
.vnote{font-size:10.5px;color:#7a6a3a;background:#fbf3da;border:1px solid #e8dcb4;
  border-radius:9px;padding:1px 7px;margin-left:6px}
.sumbar .ok{color:var(--ok);font-weight:700}
.sumbar .warn{color:var(--warn);font-weight:700}

/* 🧴 제품군 칩·뱃지 */
.prod-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.prod-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--txt);
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:5px 13px;text-decoration:none}
.prod-chip b{color:var(--pink)}
.prod-chip.on{background:var(--pink);color:#fff;border-color:var(--pink)}
.prod-chip.on b,.prod-chip.on .warn,.prod-chip.on .ok{color:#fff}
.prod-chip .warn{color:var(--warn)} .prod-chip .ok{color:var(--ok)}
.prod-badge{display:inline-block;font-size:10.5px;font-weight:800;color:#fff;background:var(--pink);
  border-radius:6px;padding:1px 7px;margin-right:5px}

/* 🧴 제품군 캠페인 보드 */
.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;align-items:flex-start}
.bcol{flex:1 1 0;min-width:230px;background:var(--card2);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;max-height:64vh}
.bcol-head{padding:10px 12px;border-bottom:1px solid var(--line)}
.bcol-name{font-weight:800;font-size:15px;color:var(--txt)}
.bcol-cnt{float:right;font-size:11px;color:var(--mut)}
.bcol-cnt .warn{color:var(--warn);font-weight:700}.bcol-cnt .ok{color:var(--ok);font-weight:700}
.bcol-desc{font-size:10.5px;color:var(--mut);margin-top:2px}
.bcol-list{padding:9px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.wcard{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:9px 11px;cursor:pointer}
.wcard:hover{box-shadow:0 2px 10px rgba(120,100,60,.12)}
.wcard.on{outline:2px solid var(--pink);outline-offset:-1px}
.wcard.st-ok{border-left-color:var(--ok)} .wcard.st-wait{border-left-color:var(--warn)} .wcard.st-err{border-left-color:var(--err)}
.wc-top{display:flex;align-items:center;gap:5px;font-size:12.5px}
.wc-dot{font-size:9px}.wc-board{margin-left:auto}.wc-link{margin-left:6px}
.wc-title{font-size:13px;font-weight:700;color:var(--txt);margin:5px 0 3px;line-height:1.35}
.wc-prev{font-size:11.5px;color:var(--mut);line-height:1.4}
.wc-foot{display:flex;justify-content:space-between;font-size:10.5px;color:var(--mut);margin-top:6px}
.empty.sm{padding:14px;font-size:12px;text-align:center}
/* 상세 패널 */
.pdetail{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.pdetail.empty{color:var(--mut);text-align:center;padding:28px}
.pd-head{display:flex;align-items:center;gap:7px;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:12px}
.pd-status{margin-left:auto;font-weight:800;font-size:12.5px}
.pd-status.st-ok{color:var(--ok)}.pd-status.st-wait{color:var(--warn)}.pd-status.st-err{color:var(--err)}
.pd-block{margin:11px 0}
.pd-label{font-size:12px;font-weight:800;color:var(--mut);margin-bottom:5px}
.pd-comment{font-size:14px;color:var(--txt);background:var(--card2);border-radius:8px;padding:9px 12px;line-height:1.5}
.pd-target{font-size:13px;color:var(--txt)}
.pd-kind{font-size:12px;color:var(--mut);background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:2px 9px}
.pd-url{margin-left:auto;font-size:12.5px;color:var(--pink);text-decoration:none;font-weight:600}
.pd-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0;align-items:start}
.pd-col{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.pd-ptitle{font-weight:700;font-size:14px;line-height:1.4;margin-top:4px}
.pd-pbody{font-size:13px;color:var(--txt);line-height:1.55;margin-top:6px;white-space:pre-wrap}
@media(max-width:760px){.pd-two{grid-template-columns:1fr}}
.pd-live{display:inline-block;background:var(--pink);color:#fff;font-weight:700;font-size:13px;text-decoration:none;border-radius:8px;padding:7px 14px}
.pd-react{font-size:12.5px;color:var(--txt);background:var(--card2);border-radius:8px;padding:8px 11px}
.pd-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.pd-actions .ghost{background:var(--card2);border:1px solid var(--line);color:var(--txt);border-radius:8px;padding:7px 12px;cursor:pointer}
@media(max-width:760px){.board{flex-direction:column}.bcol{max-height:none}}

/* 반응 스냅샷 */
.react-nums{font-size:13px;margin-bottom:7px}
.react-nums .err{color:var(--err);font-weight:700}
.react-neg{margin:5px 0}
.rn-item{font-size:12px;color:#9b3b36;background:#fdeceb;border:1px solid #f4cfcc;border-radius:7px;padding:5px 9px;margin:4px 0;line-height:1.4}
.rc-item{font-size:12px;color:var(--txt);background:var(--card);border:1px solid var(--line);border-radius:7px;padding:5px 9px;margin:4px 0;line-height:1.4}

/* 💬 부장 대화 */
.chief-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chief-head .ghost{background:var(--card2);border:1px solid var(--line);color:var(--mut);border-radius:8px;padding:6px 11px;cursor:pointer;font-size:12px}
.chief-tips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}
.chief-tips .tip{font-size:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:5px 12px;cursor:pointer;color:var(--txt)}
.chief-tips .tip:hover{border-color:var(--pink);color:var(--pink)}
.chiefmsgs{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:16px;height:54vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}
.chief-empty{color:var(--mut);text-align:center;margin:auto;font-size:13px}
.cmsg{display:flex;flex-direction:column;max-width:78%}
.cmsg.user{align-self:flex-end;align-items:flex-end}
.cmsg.chief{align-self:flex-start}
.cmsg .who{font-size:11px;color:var(--mut);margin:0 0 3px 4px}
.cmsg .bub{padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;white-space:pre-wrap}
.cmsg.user .bub{background:var(--pink);color:#fff;border-bottom-right-radius:4px}
.cmsg.chief .bub{background:var(--card);border:1px solid var(--line);color:var(--txt);border-bottom-left-radius:4px;white-space:normal}
.cmsg.chief .bub p{margin:6px 0}.cmsg.chief .bub ul{margin:6px 0;padding-left:18px}.cmsg.chief .bub b,.cmsg.chief .bub strong{color:#0f172a}
.chief-form{display:flex;gap:8px;align-items:center;margin-top:12px}
.chief-form input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font-size:14px;background:var(--card)}
.chief-form button{background:var(--pink);color:#fff;border:none;border-radius:10px;padding:11px 20px;font-weight:700;cursor:pointer}
.chief-load{display:none;color:var(--mut);font-size:12px}
.chief-load.htmx-request{display:inline}
.htmx-request.chief-form .chief-load{display:inline}

/* 현황에 끼운 부장 카드 — 컴팩트 */
.chief-card{margin-bottom:16px}
.chief-card .chief-head h2{font-size:16px;margin:0}
.chiefmsgs.short{height:32vh}

/* ── 현황 작업자 탭 (오유리 / 배진주) ── */
.status-tabs{margin-top:4px}
.tabbar{display:flex;gap:8px;margin-bottom:14px;border-bottom:2px solid var(--line)}
.tabbtn{appearance:none;border:none;background:transparent;cursor:pointer;
  font-size:15px;font-weight:700;color:var(--mut);padding:9px 18px 11px;
  border-bottom:3px solid transparent;margin-bottom:-2px;border-radius:8px 8px 0 0;transition:.15s}
.tabbtn:hover{color:var(--txt);background:var(--card2)}
.tabbtn.active{color:var(--pink);border-bottom-color:var(--pink)}
.tabcnt{background:var(--pink);color:#fff;font-size:11px;font-weight:700;
  padding:1px 8px;border-radius:10px;margin-left:5px;vertical-align:middle}
.tabpane{animation:fadein .15s ease}
@keyframes fadein{from{opacity:.4}to{opacity:1}}
