/* Layout */
body { margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#0f172a;color:#f1f5f9;line-height:1.6; }
a { color:#38bdf8;text-decoration:none; }
a:hover { text-decoration:underline; }

/* Nav */
.nav { position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(15,23,42,.85);backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.06); }
.nav-inner { max-width:1100px;margin:0 auto;padding:.7rem 1.5rem;display:flex;align-items:center;justify-content:space-between; }
.nav-logo { display:flex;align-items:center;gap:.6rem;color:#f1f5f9;font-weight:700;font-size:1.05rem;text-decoration:none; }
.nav-links { display:flex;gap:2rem; }
.nav-links a { color:#94a3b8;font-size:.9rem;font-weight:500;text-decoration:none; }
.nav-links a:hover { color:#f1f5f9; }

/* Hero */
.hero { display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 4rem;position:relative;background:#0f172a; }
.hero-content { max-width:620px;position:relative; }
.hero h1 { font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;margin-bottom:.75rem;color:#f1f5f9;line-height:1.2; }
.hero-sub { color:#94a3b8;margin-bottom:.75rem; }

/* Card */
.card { background:#1e293b;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1.5rem;margin-bottom:1.5rem; }

/* Form */
.form { max-width:560px;margin:0 auto; }
.form-row { display:flex;gap:1rem;margin-bottom:1rem;flex-direction:column; }
.form-input { flex:1;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04);color:#f1f5f9;font-size:.95rem;font-family:inherit;outline:none; }
.form-input::placeholder { color:#475569; }
.form-input:focus { border-color:#38bdf8;background:rgba(56,189,248,.05);box-shadow:0 0 0 3px rgba(56,189,248,.12); }

/* Buttons */
.btn-primary { display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2rem;background:linear-gradient(135deg,#38bdf8,#818cf8);color:#fff;border-radius:10px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;text-decoration:none; }
.btn-primary:hover { opacity:.92;transform:translateY(-1px);box-shadow:0 4px 20px rgba(56,189,248,.25); }
.btn-submit { width:100%;margin-top:1.25rem;padding:.9rem; }
.btn-submit:disabled { opacity:.4;cursor:not-allowed;transform:none;box-shadow:none; }

/* Status */
.form-status { margin-top:1rem;font-size:.9rem;text-align:center;line-height:1.5; }
.form-status.ok { color:#4ade80; }
.form-status.error { color:#f87171; }

/* Section desc */
.section-desc { text-align:center;color:#94a3b8;margin-bottom:3rem;font-size:1rem;max-width:560px;margin-left:auto;margin-right:auto; }

/* Portal specific */
.pill { display:inline-block;padding:0.15rem 0.5rem;border-radius:100px;font-size:0.75rem;font-weight:600;background:#334155;color:#94a3b8; }
.pill.idle { background:#1b5e3a;color:#4ade80; }
.hidden { display:none !important; }
.hint { color:#64748b;font-size:0.85rem; }
#portal-dashboard table { width:100%;border-collapse:collapse;font-size:0.85rem; }
#portal-dashboard th { padding:0.5rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06);color:#64748b; }
#portal-dashboard td { padding:0.4rem;border-bottom:1px solid rgba(255,255,255,.04); }