* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background:#0f172a; color:#e2e8f0; min-height:100vh; }
.login-container { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; padding:2rem; }
.login-card { background:#1e293b; border-radius:16px; padding:3rem; width:100%; max-width:420px; box-shadow:0 25px 50px rgba(0,0,0,0.3); }
.logo h1 { font-size:2.2rem; color:#38bdf8; text-align:center; margin-bottom:0.3rem; }
.subtitle { text-align:center; color:#94a3b8; margin-bottom:2rem; font-size:0.95rem; }
.form-group { margin-bottom:1.5rem; }
.form-group label { display:block; margin-bottom:0.5rem; color:#cbd5e1; font-weight:500; }
.form-group input { width:100%; padding:0.8rem 1rem; border:2px solid #334155; border-radius:8px; background:#0f172a; color:#e2e8f0; font-size:1rem; transition:border-color 0.2s; }
.form-group input:focus { outline:none; border-color:#38bdf8; }
.btn-primary { width:100%; padding:0.9rem; background:#2563eb; color:white; border:none; border-radius:8px; font-size:1.05rem; font-weight:600; cursor:pointer; transition:background 0.2s; }
.btn-primary:hover { background:#1d4ed8; }
.btn-primary:disabled { background:#334155; cursor:not-allowed; }
.info-text { text-align:center; color:#64748b; margin-top:1.5rem; font-size:0.85rem; line-height:1.5; }
.navbar { display:flex; justify-content:space-between; align-items:center; padding:1rem 2rem; background:#1e293b; border-bottom:1px solid #334155; }
.nav-brand { font-size:1.4rem; font-weight:700; color:#38bdf8; }
.btn-logout { color:#94a3b8; text-decoration:none; padding:0.5rem 1rem; border:1px solid #475569; border-radius:6px; transition:all 0.2s; }
.btn-logout:hover { color:#e2e8f0; border-color:#e2e8f0; }
.dashboard-container { max-width:900px; margin:2rem auto; padding:0 2rem; }
.dashboard-container h2 { font-size:1.6rem; margin-bottom:0.5rem; }
.dashboard-info { color:#94a3b8; margin-bottom:2rem; }
.steps { display:flex; flex-direction:column; gap:1.5rem; }
.step-card { background:#1e293b; border-radius:12px; padding:1.5rem 2rem; border:1px solid #334155; position:relative; }
.step-number { position:absolute; top:-12px; left:20px; background:#2563eb; color:white; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:0.85rem; }
.step-card h3 { color:#f1f5f9; margin-bottom:0.4rem; }
.step-card p { color:#94a3b8; font-size:0.9rem; margin-bottom:1rem; }
.upload-area { border:2px dashed #475569; border-radius:8px; padding:1.5rem; text-align:center; cursor:pointer; transition:all 0.2s; color:#64748b; }
.upload-area:hover { border-color:#38bdf8; color:#38bdf8; }
.upload-icon { display:block; font-size:1.5rem; margin-bottom:0.5rem; }
.step-final { border-color:#2563eb; text-align:center; }
.btn-generate { margin-top:0.5rem; width:auto; padding:0.9rem 3rem; }
footer,.dashboard-footer { text-align:center; padding:2rem; color:#475569; font-size:0.8rem; }
@media(max-width:600px) { .login-card{padding:2rem 1.5rem;} .dashboard-container{padding:0 1rem;} .step-card{padding:1.2rem 1.5rem;} }
