*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0e0e10;--s1:#18181c;--s2:#222228;--b1:rgba(255,255,255,.08);
  --tx:#f0eff5;--muted:#6e6d7a;--accent:#7c6cfa;--accent2:#a599ff;--red:#f5564a;--green:#2ecc8a;
}
body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--tx);line-height:1.5;min-height:100vh}
a{color:var(--accent2)}
.wrap{max-width:960px;margin:0 auto;padding:24px 20px}
.card{background:var(--s1);border:1px solid var(--b1);border-radius:12px;padding:24px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--b1);background:var(--s1)}
.logo{font-weight:700;letter-spacing:.04em}
.logo span{color:var(--accent2)}
.btn{display:inline-block;padding:10px 18px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff}
.btn-outline{background:transparent;color:var(--tx);border:1px solid var(--b1)}
.btn-outline:hover{border-color:var(--accent2);color:var(--accent2)}
.btn-block{display:block;width:100%;text-align:center;margin-top:8px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.field input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--b1);background:var(--s2);color:var(--tx)}
.hint{font-size:11px;color:var(--muted);margin-top:4px}
.error{color:var(--red);font-size:13px;margin:12px 0;padding:10px;background:rgba(245,86,74,.1);border-radius:8px}
.success{color:var(--green);font-size:13px;margin:12px 0;padding:10px;background:rgba(46,204,138,.1);border-radius:8px}
.key-box{font-family:ui-monospace,monospace;font-size:18px;color:var(--accent2);padding:12px;background:var(--s2);border-radius:8px;word-break:break-all;margin:12px 0}
.auth-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.report-grid{display:grid;gap:12px;margin-top:20px}
.report-card{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:14px 16px}
.report-card h3{font-size:14px;margin-bottom:6px;word-break:break-all}
.report-meta{font-size:12px;color:var(--muted)}
.badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:4px;background:var(--s1);margin-right:6px}
.empty{text-align:center;color:var(--muted);padding:40px 20px}
.sync-note{font-size:12px;color:var(--muted);margin-top:16px;padding:12px;background:var(--s2);border-radius:8px}
