:root{--brand:var(--brand-primary,#1b73e8);--navy:#071a2f;--soft:#f4f7fb}*{box-sizing:border-box}.site-main{max-width:1180px;margin:auto;padding:24px 16px;min-height:60vh}.brand-row{padding:20px max(16px,calc((100% - 1180px)/2))}.portal-brand img{width:72px;height:72px}.main-nav-links.show{display:flex}.page-head{padding:34px;border-radius:22px;background:linear-gradient(135deg,#071a2f,#124b82);color:#fff;margin-bottom:24px}.page-head h1{margin:0;font-size:clamp(28px,5vw,46px)}.page-head p{margin:8px 0 0;opacity:.8}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.public-card{background:#fff;border:1px solid #e5eaf1;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px #0b25451a}.public-card img{width:100%;height:190px;object-fit:cover}.public-card .card-body{padding:20px}.public-card h2,.public-card h3{margin:5px 0 10px}.badge{display:inline-flex;padding:6px 10px;border-radius:30px;background:#e8f2ff;color:#1765c1;font-size:12px;font-weight:800}.btn{display:inline-flex;align-items:center;gap:8px;background:#1b73e8;color:#fff!important;border:0;border-radius:11px;padding:12px 18px;font-weight:700;cursor:pointer;text-decoration:none}.portal-form{max-width:760px;background:#fff;border:1px solid #e5eaf1;padding:26px;border-radius:18px;display:grid;gap:16px}.portal-form label{display:grid;gap:7px;font-weight:700}.portal-form input,.portal-form textarea,.portal-form select{padding:13px;border:1px solid #ccd5e1;border-radius:10px;font:inherit}.alert{padding:15px;border-radius:10px;margin:15px 0}.success{background:#e8fff2;color:#137443}.article-page{max-width:850px;margin:auto}.article-page img{width:100%;max-height:480px;object-fit:cover;border-radius:18px}.article-content{font-size:18px;line-height:1.8}.footer-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid a{display:block;color:#d8e5f3;margin:8px 0}@media(max-width:700px){.footer-grid{grid-template-columns:1fr}.main-nav-links{display:none;flex-direction:column}.brand-row{padding:14px}.page-head{padding:24px}}
