:root{--bg: #0f1115;--surface: #171a21;--surface-2: #1f2430;--border: #2a3040;--text: #e6e9ef;--muted: #8b93a7;--accent: #1d9bf0;--accent-press: #1a8cd8;--green: #2bb673;--red: #e0556b;--radius: 12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-weight:700}.tabs{display:flex;gap:4px;flex:1}.tab{background:transparent;border:none;color:var(--muted);padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px}.tab.active{color:var(--text);background:var(--surface-2);font-weight:600}.content{flex:1;width:100%;max-width:640px;margin:0 auto;padding:18px 16px calc(60px + env(safe-area-inset-bottom))}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.chip{background:var(--surface);border:1px solid var(--border);color:var(--muted);padding:7px 14px;border-radius:999px;cursor:pointer;font-size:13px}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.chip.ghost{margin-left:auto}.cards{display:flex;flex-direction:column;gap:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 8px;border-radius:6px;background:var(--surface-2);color:var(--muted)}.badge-approved{color:#bcd9ff;background:#1d9bf029}.badge-post_requested{color:#f0d49a;background:#d8a23a29}.badge-posted{color:#b6ecd0;background:#2bb67329}.badge-failed{color:#f5b3bf;background:#e0556b29}.pillar{font-size:12px;color:var(--muted);text-transform:capitalize}.count{margin-left:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.count.over{color:var(--red);font-weight:700}.card-text{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:15px;line-height:1.5;resize:vertical}.card-text.readonly{white-space:pre-wrap;margin:0}.target,.posted-link{display:inline-block;margin-top:8px;color:var(--accent);text-decoration:none;font-size:13px}.target{color:var(--muted);word-break:break-all}.error{color:var(--red);font-size:13px;margin:8px 0 0}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:9px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:active:not(:disabled){background:var(--accent-press)}.btn.danger{margin-left:auto;color:var(--red)}.btn.big{padding:12px 22px}.hint{color:var(--muted);font-size:13px;line-height:1.5}.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:inherit}.empty{color:var(--muted);text-align:center;margin-top:60px}h2{font-size:20px;margin:0 0 14px}h3{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:24px 0 12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:13px;color:var(--muted)}.field.inline{flex-direction:row;align-items:center;justify-content:space-between}.field.inline input{width:110px}input,select,textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:11px 12px;font-family:inherit;font-size:16px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;line-height:1.5}.save-row{display:flex;align-items:center;gap:14px;margin-top:18px}.signin{max-width:360px;margin:60px auto;display:flex;flex-direction:column;gap:12px;padding:0 20px}.signin h1{margin:0;font-size:26px}.kv{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:11px 14px;margin-bottom:10px}.kv>span{color:var(--muted);font-size:13px;width:80px}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;word-break:break-all;color:var(--accent)}
