:root{--bg:#fbfaf9;--panel:#fff;--ink:#1c1b19;--muted:#78716c;--line:#e7e5e4;--accent:#1c1b19;--ok:#15803d;--ok-bg:#f0fdf4;--warn:#b45309;--warn-bg:#fffbeb;--bad:#b91c1c;--bad-bg:#fef2f2;--radius:8px;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font:15px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}a{color:inherit}.shell{min-height:100vh;display:flex}.side{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;flex:0 0 216px;gap:4px;width:216px;padding:22px 14px;display:flex}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:5px;padding:0 10px 18px;font-size:15px;font-weight:640;display:flex}.brand span{color:var(--muted);text-overflow:ellipsis;min-width:0;font-weight:450;overflow:hidden}.nav{color:var(--muted);border-radius:6px;padding:8px 10px;font-size:14px;text-decoration:none;display:block}.nav:hover{color:var(--ink);background:#f5f5f4}.nav.on{color:var(--ink);background:#f5f5f4;font-weight:550}.nav-num{color:#a8a29e;font-variant-numeric:tabular-nums;width:17px;display:inline-block}.side-foot-email{text-overflow:ellipsis;white-space:nowrap;margin-bottom:6px;overflow:hidden}.side-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:auto;padding:12px 10px 0;font-size:12.5px}.main{flex:1;min-width:0;padding:30px 34px 70px}.wrap{max-width:1080px}h1{letter-spacing:-.015em;margin:0 0 4px;font-size:21px;font-weight:640}h2{margin:0 0 12px;font-size:15px;font-weight:600}.lede{color:var(--muted);max-width:62ch;margin:0 0 24px;font-size:14px}.hint{color:var(--muted);margin:6px 0 0;font-size:12.5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;padding:20px}.card-tight{padding:0;overflow:hidden}.card-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 20px;display:flex}.card-head>h2{line-height:1.8}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);white-space:nowrap;background:#fcfcfb;padding:10px 14px;font-size:12px;font-weight:550}td{vertical-align:top;border-bottom:1px solid #f3f2f1;padding:11px 14px}tbody tr:last-child td{border-bottom:none}td.mono,.mono{font-family:var(--mono);font-size:12.5px}.empty{text-align:center;color:var(--muted);padding:34px 20px;font-size:14px}.pill{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:550;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-warn{background:var(--warn-bg);color:var(--warn)}.pill-bad{background:var(--bad-bg);color:var(--bad)}.pill-idle{color:var(--muted);background:#f5f5f4}label{margin-bottom:5px;font-size:13px;font-weight:550;display:block}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:6px;padding:8px 10px;font-size:14px}textarea{resize:vertical;min-height:130px;line-height:1.6}input:focus,select:focus,textarea:focus{outline-offset:-1px;border-color:#a8a29e;outline:2px solid #d6d3d1}input:disabled,select:disabled,textarea:disabled{color:var(--muted);background:#fafaf9}.field{margin-bottom:14px}.row{flex-wrap:wrap;gap:12px;display:flex}.row>*{flex:1;min-width:165px}button{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:8px 14px;font-size:13.5px;font-weight:550}button:hover:not(:disabled){background:#fafaf9}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover:not(:disabled){background:#33302c}button.danger{color:var(--bad);border-color:#fecaca}button.danger:hover:not(:disabled){background:var(--bad-bg)}button.link{color:var(--muted);background:0 0;border:none;padding:2px 4px;text-decoration:underline}button.small{padding:5px 10px;font-size:12.5px}.actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}td .actions{flex-wrap:nowrap}td:has(.actions){white-space:nowrap;width:1%}.notice{white-space:pre-wrap;border:1px solid;border-radius:6px;margin-bottom:16px;padding:11px 14px;font-size:13.5px}.notice-bad{background:var(--bad-bg);color:#991b1b;border-color:#fecaca}.notice-ok{background:var(--ok-bg);color:#166534;border-color:#bbf7d0}.notice-warn{background:var(--warn-bg);color:#92400e;border-color:#fde68a}.stats{flex-wrap:wrap;gap:26px;display:flex}.stat-n{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:25px;font-weight:620}.stat-l{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.tag{font-family:var(--mono);border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#f5f5f4;border-radius:4px;padding:2px 6px;font-size:12px}.tag:hover{background:#e7e5e4}.drop{border-radius:var(--radius);text-align:center;cursor:pointer;background:#fdfdfc;border:1.5px dashed #d6d3d1;padding:40px 20px;transition:background .12s,border-color .12s}.drop:hover,.drop.over{background:#f5f5f4;border-color:#a8a29e}.drop strong{margin-bottom:4px;font-size:15px;display:block}.step{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:14px;padding:16px}.step-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.step-n{font-size:14px;font-weight:620}.preview{border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;background:#fcfcfb;border-radius:6px;padding:15px;font-size:13.5px;line-height:1.65}.center{place-items:center;min-height:100vh;padding:20px;display:grid}.auth{width:100%;max-width:372px}.spin{color:var(--muted);padding:30px 0;font-size:14px}@media (max-width:760px){.shell{flex-direction:column}.side{flex-flow:wrap;flex:none;width:auto;padding:12px}.brand{width:100%;padding:0 10px}.side-foot{display:none}.main{padding:20px 16px 60px}}
