:root{--bg:#f6f7f9;--panel:#fff;--text:#1d2330;--muted:#626b7a;--line:#e2e5ea;--accent:#2f5bd3;--ok:#17803d;--warn:#a15c00;--bad:#b42318;--info:#3657a8;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 16px;font-size:22px}h2{margin:24px 0 8px;font-size:16px}h3{margin:16px 0 8px;font-size:14px}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.shell{grid-template-columns:210px 1fr;min-height:100vh;display:grid}.nav{color:#c9d1e3;background:#151b2c;padding:16px 12px}.nav .brand{color:#fff;margin:4px 8px 16px;font-size:16px;font-weight:700}.nav a{color:#c9d1e3;border-radius:6px;padding:7px 8px;display:block}.nav a:hover{background:#222b42;text-decoration:none}.nav .count{float:right;background:var(--bad);color:#fff;border-radius:9px;padding:0 7px;font-size:12px}.nav form{margin-top:24px}.main{min-width:0;padding:20px 28px 60px}.envbar{margin:-20px -28px 20px;padding:6px 28px;font-size:12.5px;font-weight:600}.envbar.development,.envbar.test{color:#7a4b00;background:#fff4d6}.envbar.production{color:#165c2f;background:#e6f4ea}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:16px;padding:16px}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.stat .n{font-size:24px;font-weight:700}.stat .l{color:var(--muted);font-size:12.5px}.stat.alert .n{color:var(--bad)}table{border-collapse:collapse;background:var(--panel);width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.tablewrap{border:1px solid var(--line);border-radius:8px;margin-bottom:16px;overflow-x:auto}.tablewrap table tr:last-child td{border-bottom:0}.badge{color:var(--muted);white-space:nowrap;background:#eef0f4;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{color:var(--ok);background:#e3f4e8}.badge.warn{color:var(--warn);background:#fff1d6}.badge.bad{color:var(--bad);background:#fde7e5}.badge.info{color:var(--info);background:#e6ecfa}.badge.mode-production{color:var(--ok);background:#e3f4e8}.badge.mode-sandbox{color:var(--info);background:#e6ecfa}.badge.mode-simulator{color:var(--warn);background:#fff1d6}.flash{border-radius:8px;margin-bottom:16px;padding:10px 14px}.flash.ok{color:#124d27;background:#e3f4e8}.flash.error{color:#7a1610;background:#fde7e5}.flash.secret{background:#fff8e1;border:1px solid #f0d58a}.flash.secret code{word-break:break-all;-webkit-user-select:all;user-select:all;background:#fff;border-radius:6px;margin-top:6px;padding:8px;display:block}.warnlist{background:#fff8e6;border:1px solid #f2dca5;border-radius:8px;margin:0 0 16px;padding:10px 14px 10px 30px}form.inline{display:inline}form.stack{gap:8px;max-width:520px;display:grid}form.row{flex-wrap:wrap;align-items:end;gap:8px;display:flex}label{color:var(--muted);gap:3px;font-size:12.5px;display:grid}input,select,textarea{font:inherit;color:var(--text);background:#fff;border:1px solid #c9ced8;border-radius:6px;padding:6px 8px}textarea{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}button{font:inherit;cursor:pointer;background:#fff;border:1px solid #c9ced8;border-radius:6px;padding:6px 12px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--bad)}button.small{padding:2px 8px;font-size:12.5px}dl.kv{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}dl.kv dt{color:var(--muted)}dl.kv dd{word-break:break-word;margin:0}.muted{color:var(--muted)}.filters{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:12px;display:flex}pre{background:#f2f4f7;border-radius:6px;margin:0;padding:10px;font-size:12px;overflow-x:auto}.login{max-width:360px;margin:12vh auto}.sim{max-width:520px;margin:6vh auto}.simbanner{color:#3d2a00;text-align:center;background:#ffd666;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-weight:700}.simbuttons{gap:8px;display:grid}.simbuttons button{text-align:left;padding:10px}
