:root {
    --primary: #1d4ed8;
    --dark: #0f172a;
    --soft: #f5f7fb;
    --border: #e5e7eb;
}
body { background: var(--soft); color: #172033; }
.portal-navbar { background: linear-gradient(135deg, #0f172a, #1d4ed8); }
.brand-mark { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 12px; background: white; color: var(--primary); margin-right: 8px; }
.hero { background: radial-gradient(circle at top left, rgba(219,234,254,.45), transparent 35%), linear-gradient(135deg, #0f172a, #1d4ed8); color: white; border-radius: 0 0 42px 42px; }
.hero-card { background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25); backdrop-filter: blur(14px); }
.portal-card { background: white; border: 1px solid var(--border); border-radius: 24px; box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07); }
.stat-card { background: white; border: 1px solid var(--border); border-radius: 22px; }
.auth-card { max-width: 520px; margin: auto; }
.icon-box { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 16px; background: #dbeafe; color: var(--primary); font-size: 1.4rem; }
.resume-preview { background: white; border-radius: 18px; padding: 42px; border: 1px solid var(--border); }
.resume-preview h1 { font-size: 2rem; font-weight: 800; }
.resume-preview.classic { font-family: Georgia, serif; }
.resume-preview.student .resume-section-title { color: #047857; }
.resume-section-title { font-size: .82rem; text-transform: uppercase; letter-spacing: 1.2px; color: var(--primary); font-weight: 800; border-bottom: 2px solid #e5e7eb; margin-top: 28px; padding-bottom: 7px; }
.grade-badge { font-size: 1.5rem; padding: 14px 20px; border-radius: 16px; }
.template-card { cursor: pointer; transition: .2s ease; }
.template-card:hover { transform: translateY(-4px); }
textarea { min-height: 125px; }
.form-control, .form-select { border-radius: 14px; padding: 12px 14px; }
.btn { border-radius: 999px; }
@media print { nav, footer, .no-print { display: none !important; } body { background: white; } .resume-preview { border: none; box-shadow: none; padding: 0; } }
