:root{--bg-app:#1e1f22;--bg-surface:#2b2d31;--bg-surface-hover:#35373c;--bg-elevated:#313338;--border:#3f4147;--text-normal:#dbdee1;--text-muted:#949ba4;--text-faint:#80848e;--blurple:#5865f2;--blurple-hover:#4752c4;--green:#23a55a;--red:#f23f43;--link:#00a8fc}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg-app);color:var(--text-normal);font-family:gg sans,Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.topbar{justify-content:space-between;gap:16px;padding:14px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{gap:12px;font-weight:700;font-size:18px;color:#fff}.topbar .brand-badge{width:32px;height:32px;border-radius:8px;background:var(--blurple);display:grid;place-items:center;font-size:16px}.topbar .user{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted)}.topbar .user img{width:28px;height:28px;border-radius:50%}.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background-color .15s ease;color:#fff}.btn-blurple{background:var(--blurple)}.btn-blurple:hover{background:var(--blurple-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-surface-hover);color:var(--text-normal)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:420px;background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;padding:36px 32px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.35)}.login-card h1{margin:18px 0 6px;font-size:22px;color:#fff}.login-card p{margin:0 0 26px;color:var(--text-muted);font-size:15px}.login-card .badge{width:56px;height:56px;border-radius:14px;background:var(--blurple);display:grid;place-items:center;margin:0 auto;font-size:28px}.login-card .btn{width:100%;justify-content:center;padding:12px;font-size:15px}.alert{margin:0 0 22px;padding:12px 14px;border-radius:8px;font-size:14px;text-align:left}.alert-error{background:rgba(242,63,67,.12);border:1px solid rgba(242,63,67,.4);color:#f5a9ab}.page-head{margin-bottom:20px}.page-head h1{font-size:24px;color:#fff;margin:0 0 4px}.page-head .sub{color:var(--text-muted);font-size:14px}.search{display:flex;gap:10px;margin:18px 0 24px}.search input{flex:1 1;background:var(--bg-app);border:1px solid var(--border);border-radius:8px;padding:11px 14px;color:var(--text-normal);font-size:15px;font-family:inherit}.search input:focus{outline:none;border-color:var(--blurple)}.ticket-grid{display:grid;grid-gap:10px;gap:10px}.ticket-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;transition:background-color .12s ease,border-color .12s ease}.ticket-card:hover{background:var(--bg-surface-hover);border-color:#4b4d52;text-decoration:none}.ticket-card .name{font-weight:600;color:#fff;font-size:15px;display:flex;align-items:center;gap:8px}.ticket-card .hash{color:var(--text-faint);font-weight:700}.ticket-card .meta{color:var(--text-muted);font-size:13px;margin-top:4px}.ticket-card .right{text-align:right;color:var(--text-muted);font-size:13px;white-space:nowrap}.ticket-card .pill{display:inline-block;background:var(--bg-app);border:1px solid var(--border);border-radius:20px;padding:3px 10px;font-size:12px;color:var(--text-muted)}.empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.pagination{display:flex;justify-content:center;gap:10px;margin-top:28px}.pagination .btn[aria-disabled=true]{opacity:.4;pointer-events:none}.transcript-head{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:18px 22px;margin-bottom:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.transcript-head h1{margin:0;font-size:20px;color:#fff;display:flex;align-items:center;gap:8px}.transcript-head .meta{color:var(--text-muted);font-size:13px;margin-top:6px}