:root{--bg: #f6f7f9;--card: #ffffff;--fg: #1a1f2b;--muted: #6b7280;--border: #e4e7ec;--accent: #2f6df6;--accent-fg: #ffffff;--warn: #c2410c;--ok: #047857;--err: #b42318}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}.app{max-width:1100px;margin:0 auto;padding:0 16px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px}.brand .logo{font-size:28px;color:var(--accent)}.brand h1{font-size:20px;margin:0}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}.authbar{display:flex;align-items:center;gap:10px;font-size:14px}.authbar.devauth input{width:220px}.btn{background:var(--accent);color:var(--accent-fg);border:none;border-radius:8px;padding:9px 14px;font-size:14px;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}.btn.warn{background:var(--warn)}.btn.sm{padding:6px 10px;font-size:13px}input,select{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--fg)}.banner{padding:10px 14px;border-radius:8px;margin:8px 0;font-size:14px}.banner.error{background:#fef3f2;color:var(--err);border:1px solid #fecdca}.banner.ok{background:#ecfdf3;color:var(--ok);border:1px solid #a6f4c5}.layout{display:grid;grid-template-columns:320px 1fr;gap:20px}@media (max-width: 760px){.layout{grid-template-columns:1fr}}.sidebar-head,.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sidebar h2,.detail h2{font-size:16px}.applist{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.appcard{width:100%;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.appcard.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.appcard .slug{color:var(--muted);font-size:12px}.appcard .counts{color:var(--muted);font-size:12px;margin-top:4px}.detail .panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px}.slug{color:var(--muted);font-size:13px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:12px 0}@media (max-width: 760px){.cols{grid-template-columns:1fr}}.col h3{font-size:14px;margin:14px 0 8px}.channel{border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:8px;font-size:14px}.channel .inline{display:flex;gap:8px;margin-top:8px}.inline select{flex:1;min-width:0}.branches{list-style:none;padding:0;margin:0;font-size:14px;display:flex;flex-direction:column;gap:4px}.form{border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px}.form h3{margin:0 0 10px;font-size:14px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;margin-bottom:10px}.form input,.form select{width:100%}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--muted);font-weight:600}.tag{background:#eef2ff;color:#3730a3;border-radius:6px;padding:2px 8px;font-size:12px}.tag.warn{background:#fff7ed;color:var(--warn)}code{background:#f1f3f5;border-radius:4px;padding:1px 5px;font-size:.92em}.muted{color:var(--muted)}.muted.big{font-size:15px;padding:24px 0}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--muted)}.dot.ok{background:var(--ok)}.empty{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px}.empty h2{margin-top:0}.foot{margin-top:28px;color:var(--muted);font-size:12px;text-align:center}
