:root{--bg:#f6f6f4;--card:#fff;--ink:#1d1d1b;--muted:#6b6b66;--line:#e2e1dc;--accent:#1f4e79;--ok:#1e7a46;--warn:#9a6700;--err:#b42318;--soft:#eef3f8;--radius:10px}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent)}
header.top{background:var(--ink);color:#fff;padding:.6rem 1rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}
header.top .brand{font-weight:700;color:#fff;text-decoration:none;margin-right:.5rem}
header.top nav{display:flex;flex-wrap:wrap;gap:.2rem .9rem;flex:1}
header.top nav a{color:#ddd;text-decoration:none;padding:.2rem 0}
header.top nav a.active,header.top nav a:hover{color:#fff;border-bottom:2px solid #fff}
header.top form{margin:0}
header.top button{background:none;border:1px solid #777;color:#ddd;padding:.2rem .6rem;border-radius:6px;cursor:pointer}
main{max-width:1100px;margin:0 auto;padding:1rem}
h1{font-size:1.4rem;margin:.4rem 0 1rem}
h2{font-size:1.1rem;margin:1.2rem 0 .6rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}
.muted{color:var(--muted)}.small{font-size:.85rem}
.msg{padding:.6rem .8rem;border-radius:8px;margin-bottom:.6rem;border:1px solid}
.msg.success{background:#ecf7f0;border-color:#b7dfc6;color:var(--ok)}
.msg.error{background:#fdf0ef;border-color:#f3c2bd;color:var(--err)}
.msg.warning,.banner-audit{background:#fff8e6;border-color:#f0d58c;color:var(--warn)}
.msg.info{background:var(--soft);border-color:#c9d9ea;color:var(--accent)}
.banner-audit{padding:.4rem .6rem;border:1px solid;border-radius:8px;font-size:.9rem;margin:.4rem 0}
label{display:block;font-weight:600;margin:.6rem 0 .2rem}
label.inline{display:inline-flex;align-items:center;gap:.4rem;font-weight:400;margin:.2rem 1rem .2rem 0}
input[type=text],input[type=password],input[type=email],input[type=url],input[type=datetime-local],input[type=number],select,textarea{width:100%;padding:.55rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
textarea{min-height:7rem;resize:vertical}
.btn,button.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:.55rem 1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn.secondary{background:#fff;color:var(--accent);border:1px solid var(--accent)}
.btn.danger{background:var(--err)}
.btn.small{padding:.3rem .6rem;font-size:.85rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:760px){.grid2{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.85rem;color:var(--muted);font-weight:600}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#eee;white-space:nowrap}
.badge.scheduled{background:var(--soft);color:var(--accent)}
.badge.processing{background:#fff3d6;color:var(--warn)}
.badge.published{background:#e3f4ea;color:var(--ok)}
.badge.failed{background:#fde6e4;color:var(--err)}
.badge.cancelled{background:#eee;color:var(--muted)}
.net{font-weight:600}
.error-text{color:var(--err);font-size:.9rem}
.accounts-list .acc{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;padding:.6rem 0;border-top:1px solid var(--line)}
.acc img,.avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;vertical-align:middle;background:#ddd}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;margin-bottom:1rem}
.filters select{width:auto}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal .head{font-weight:600;font-size:.8rem;color:var(--muted);text-align:center}
.cal .day{background:#fff;border:1px solid var(--line);min-height:90px;padding:.25rem;font-size:.8rem;border-radius:6px;overflow:hidden}
.cal .day.out{opacity:.45}.cal .day.today{border-color:var(--accent);border-width:2px}
.cal .day a{display:block;text-decoration:none;margin-top:2px;padding:1px 3px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){.cal{grid-template-columns:1fr}.cal .head{display:none}.cal .day{min-height:0}.cal .day.out{display:none}}
.media-list{display:flex;flex-wrap:wrap;gap:.6rem}
.media-item{border:1px solid var(--line);border-radius:8px;padding:.4rem;width:150px;font-size:.8rem;background:#fff}
.media-item img,.media-item video{width:100%;height:110px;object-fit:cover;border-radius:6px;background:#111}
.preview{border:1px solid var(--line);border-radius:10px;padding:.7rem;background:#fff;margin-bottom:.6rem}
.preview .who{font-weight:600;font-size:.9rem;margin-bottom:.3rem}
.preview .txt{white-space:pre-wrap;font-size:.9rem}
.counter{font-size:.8rem;color:var(--muted);text-align:right}
.counter.over{color:var(--err);font-weight:600}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:.6rem 1rem;margin:0 0 1rem;background:#fff}
legend{font-weight:700;padding:0 .3rem}
.tiktok-box [aria-disabled=true]{opacity:.5}
.key{font-family:ui-monospace,monospace;background:#f1f1ee;padding:.4rem .6rem;border-radius:6px;word-break:break-all}
.legal{max-width:780px}.legal h2{margin-top:1.6rem}
footer{max-width:1100px;margin:1rem auto;padding:0 1rem 2rem;color:var(--muted);font-size:.85rem}
.login-box{max-width:380px;margin:3rem auto}
