:root{--bg: #f0f2f5;--card: #ffffff;--border: #dddfe2;--fb: #1877f2;--fb-dark: #166fe5;--text: #1c1e21;--muted: #65676b;--green: #31a24c;--red: #e41e3f;--amber: #f5a623}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Sarabun,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:960px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;justify-content:space-between;background:var(--fb);color:#fff;padding:12px 16px;border-radius:8px;margin-bottom:16px}.topbar h1{font-size:18px;margin:0}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab{padding:8px 14px;border:1px solid var(--border);background:var(--card);border-radius:20px;cursor:pointer;font-size:14px;color:var(--text);font-weight:400}.tab:hover{background:#e7f3ff}.tab.active{background:var(--fb);color:#fff;border-color:var(--fb)}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.card.compact{padding:10px}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}textarea,input[type=text],input[type=url],input[type=datetime-local],input[type=email],input[type=password],select{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;background:#fff}textarea{min-height:90px;resize:vertical}select{cursor:pointer}button{background:var(--fb);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600}button:hover{background:var(--fb-dark)}button.secondary{background:#e4e6eb;color:var(--text)}button.danger{background:var(--red)}button.ghost{background:transparent;color:var(--fb)}button.icon-button{padding:4px 10px;font-size:18px;line-height:1}button:disabled{opacity:.5;cursor:not-allowed}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.page-pill{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:20px;cursor:pointer;font-size:13px;background:var(--card);color:var(--text);font-weight:400}.page-pill:hover{background:#e7f3ff}.page-pill.selected{background:#e7f3ff;border-color:var(--fb);color:var(--fb)}.badge{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.badge.draft{background:#e4e6eb;color:var(--muted)}.badge.pending_review{background:#fff3cd;color:#8a6d00}.badge.approved{background:#d1e7ff;color:#0a558c}.badge.published,.badge.scheduled{background:#e3f5e9;color:var(--green)}.badge.failed{background:#fde2e6;color:var(--red)}.badge.publishing,.badge.pending{background:#fff3cd;color:#8a6d00}.muted{color:var(--muted);font-size:13px}.err{color:var(--red);font-size:13px;margin-top:8px}.ok{color:var(--green);font-size:13px;margin-top:8px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}.thumb{width:60px;height:60px;object-fit:cover;border-radius:6px}.login-wrap{max-width:360px;margin:80px auto}.spacer{flex:1}small.hint{color:var(--muted);display:block;margin-top:4px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.search-input{max-width:360px}.pagination{justify-content:center;margin:16px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#0000006b}.modal-card{width:min(640px,100%);max-height:min(720px,calc(100vh - 32px));overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:0 18px 60px #00000038}.page-select-list{display:grid;gap:8px;margin-top:12px}.page-select-row{display:flex;align-items:center;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:#fff;cursor:pointer}.page-select-row.selected{border-color:var(--fb);background:#e7f3ff}.page-select-row input{width:auto;margin:0}.page-select-row span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}@media (max-width: 700px){.topbar{align-items:flex-start;flex-direction:column;gap:8px}.grid-2{grid-template-columns:1fr}.search-input{max-width:none}table{display:block;overflow-x:auto}}
