*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f2f5;--card: #ffffff;--border: #d1d5db;--primary: #0066cc;--primary-hover: #0052a3;--danger: #dc2626;--success: #16a34a;--text: #111827;--muted: #6b7280;--radius: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:420px;box-shadow:0 1px 3px #00000014}.card h1{font-size:1.4rem;margin-bottom:.25rem}.card p.subtitle{color:var(--muted);font-size:.9rem;margin-bottom:1.5rem}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field label{font-size:.85rem;font-weight:500}input[type=email],input[type=password],input[type=text]{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;width:100%;outline:none;transition:border-color .15s}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0066cc26}.btn{display:block;width:100%;padding:.6rem 1rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary{background:var(--primary);color:#fff;margin-top:.5rem}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--primary);border:1px solid var(--border);margin-top:.5rem}.btn-ghost:hover{background:var(--bg)}.error{background:#fef2f2;border:1px solid #fecaca;color:var(--danger);border-radius:var(--radius);padding:.6rem .75rem;font-size:.875rem;margin-bottom:1rem}.hint{color:var(--muted);font-size:.8rem;margin-top:.25rem}.dashboard{max-width:640px;width:100%}.dashboard header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.dashboard header h1{font-size:1.2rem}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem}.info-item{background:var(--bg);border-radius:var(--radius);padding:.75rem}.info-item .label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.info-item .value{font-size:.95rem;font-weight:500;margin-top:.2rem;word-break:break-all}.api-section h2{font-size:1rem;margin-bottom:.75rem}.response-box{background:#1a1a1a;color:#a8ff78;font-family:Menlo,Monaco,monospace;font-size:.8rem;padding:1rem;border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;min-height:80px;margin-top:.75rem}.token-timer{font-size:.8rem;color:var(--muted);margin-top:.5rem}.token-timer.expiring{color:var(--danger);font-weight:500}.qr-container{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:1.25rem 0;padding:1.25rem;background:var(--bg);border-radius:var(--radius)}.secret-code{font-family:monospace;font-size:.85rem;background:#fff;border:1px solid var(--border);padding:.4rem .6rem;border-radius:4px;word-break:break-all;text-align:center;color:var(--muted)}.divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.sign-out-btn{background:transparent;border:none;color:var(--danger);font-size:.875rem;cursor:pointer;padding:.4rem .6rem;border-radius:var(--radius)}.sign-out-btn:hover{background:#fef2f2}
