/* Shared auth-service styles. Served at /static/auth.css */
* { box-sizing: border-box; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
    background: #1a1a1a; color: #e0e0e0; margin: 0; padding: 0;
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
}
.box {
    background: #2a2a2a; border: 1px solid #3a3a3a; border-radius: 8px;
    padding: 2rem; width: 100%; max-width: 380px; box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.box.box-wide { max-width: 480px; }
.box.box-wider { max-width: 420px; }
h1 { font-size: 1.25rem; margin: 0 0 1.5rem; font-weight: 500; }
h1.with-hint { margin: 0 0 0.5rem; }
label { display: block; font-size: 0.875rem; margin-bottom: 0.5rem; color: #b0b0b0; }
input[type=text], input[type=password] {
    width: 100%; padding: 0.625rem 0.75rem; font-size: 1rem;
    background: #1a1a1a; color: #e0e0e0; border: 1px solid #3a3a3a; border-radius: 4px;
    margin-bottom: 1rem; font-family: inherit;
}
input.code {
    width: 100%; padding: 0.625rem 0.75rem; font-size: 1.5rem;
    background: #1a1a1a; color: #e0e0e0; border: 1px solid #3a3a3a; border-radius: 4px;
    margin-bottom: 1rem; font-family: ui-monospace, "SF Mono", Menlo, monospace;
    text-align: center; letter-spacing: 0.5em;
}
input:focus { outline: none; border-color: #5a9fd4; }
button {
    width: 100%; padding: 0.625rem; font-size: 1rem; cursor: pointer;
    background: #5a9fd4; color: white; border: none; border-radius: 4px;
    font-family: inherit; font-weight: 500;
}
button:hover { background: #4a8fc4; }
.error { color: #ff6b6b; font-size: 0.875rem; margin: -0.5rem 0 1rem; }
.success { color: #6bcf7f; font-size: 0.875rem; margin: -0.5rem 0 1rem; }
.hint { font-size: 0.875rem; color: #b0b0b0; margin: 0 0 1.5rem; }
ol { font-size: 0.875rem; color: #c0c0c0; margin: 0 0 1.5rem; padding-left: 1.25rem; }
ol li { margin-bottom: 0.5rem; }
.qr {
    display: flex; justify-content: center; padding: 1rem; margin-bottom: 1rem;
    background: white; border-radius: 4px;
}
.qr img { width: 200px; height: 200px; display: block; image-rendering: pixelated; }
.secret {
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
    font-size: 0.75rem; color: #888; text-align: center; word-break: break-all;
    padding: 0.5rem; background: #1a1a1a; border-radius: 4px; margin-bottom: 1.5rem;
}
.footer { margin-top: 1.5rem; font-size: 0.75rem; color: #666; text-align: center; }
