:root{--bg:#0b1120;--surface:#111a2e;--surface-raised:#18233c;--surface-subtle:#1e2b48;--border:#263554;--border-focus:#38bdf8;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--accent:#0284c7;--accent-hover:#0369a1;--accent-contrast:#fff;--accent-dim:#0284c71f;--critical:#f43f5e;--critical-dim:#f43f5e1f;--critical-border:#f43f5e59;--warning:#f59e0b;--warning-dim:#f59e0b1f;--success:#10b981;--success-dim:#10b9811f;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}.recover-shell{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:680px;margin:0 auto;padding:32px 16px}@media (min-width:640px){.container{padding:48px 24px}}.card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:0 4px 20px #00000059}@media (min-width:640px){.card{padding:32px}}.portal-badge{letter-spacing:.04em;text-transform:uppercase;background-color:var(--accent-dim);color:#38bdf8;border:1px solid #38bdf840;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.portal-title{color:var(--text-primary);margin-top:12px;margin-bottom:6px;font-size:1.35rem;font-weight:700;line-height:1.3}@media (min-width:640px){.portal-title{font-size:1.5rem}}.portal-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:.925rem;line-height:1.55}.form-group{margin-bottom:20px}.form-label{color:var(--text-primary);margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.input-wrapper{align-items:center;display:flex;position:relative}.input-field{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--surface-raised);width:100%;min-height:48px;color:var(--text-primary);padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #38bdf833}.input-field::placeholder{color:var(--text-muted)}.input-field:disabled{opacity:.6;cursor:not-allowed}.input-toggle-btn{min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:color .15s;display:inline-flex;position:absolute;right:8px}.input-toggle-btn:hover,.input-toggle-btn:focus-visible{color:var(--text-primary);outline:2px solid var(--border-focus)}.form-hint{color:var(--text-muted);margin-top:6px;font-size:.8rem;line-height:1.4;display:block}.btn{border-radius:var(--radius-md);cursor:pointer;text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn-primary{background-color:var(--accent);color:var(--accent-contrast);width:100%}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-danger{background-color:var(--critical-dim);color:#fecdd3;border-color:var(--critical-border)}.btn-danger:hover:not(:disabled){border-color:var(--critical);background-color:#f43f5e33}.btn-secondary{background-color:var(--surface-subtle);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--surface-raised);border-color:#3b4e75}.btn-sm{min-height:38px;padding:6px 12px;font-size:.85rem}.alert-error{background-color:var(--critical-dim);border:1px solid var(--critical-border);color:#fecdd3;border-radius:var(--radius-md);align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:.9rem;line-height:1.45;display:flex}.security-callout{border-top:1px solid var(--border);color:var(--text-muted);align-items:flex-start;gap:10px;margin-top:24px;padding-top:20px;font-size:.825rem;line-height:1.5;display:flex}.data-card{background-color:var(--surface-raised);border-radius:var(--radius-md);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s;display:flex}.data-card:hover{border-color:#3b4e75}.data-label{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.data-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);border:1px solid var(--border);padding:2px 6px;font-size:.7rem}.data-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);word-break:break-all;margin-top:3px;font-size:1.05rem}@media print{body{color:#000!important;background:#fff!important}.container{max-width:100%!important;padding:0!important}.card{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.data-card{page-break-inside:avoid;color:#000!important;background:#fff!important;border:1px solid #cbd5e1!important}.data-value{color:#000!important}.no-print,.btn,.top-bar,.sticky-session-header,.security-callout,.env-status-banner{display:none!important}.print-only{display:block!important}}@keyframes urgencyPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.urgency-pulse{animation:1.5s ease-in-out infinite urgencyPulse}.env-status-banner{color:#e6f4ea;background:#064848;border-bottom:1px solid #ffffff26;width:100%;padding:8px 16px;font-size:.8rem}.env-status-inner{flex-wrap:wrap;align-items:center;gap:12px;max-width:1160px;margin:0 auto;line-height:1.4;display:flex}.env-status-badge{text-transform:uppercase;letter-spacing:.04em;color:#fff;white-space:nowrap;background:#fff3;border:1px solid #ffffff59;border-radius:9999px;align-items:center;gap:6px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.env-status-text{color:#f0fdf4}
