body.portal-page .portal-wrap{padding-top:clamp(28px,5vw,54px);padding-bottom:clamp(42px,7vw,76px)}
body.portal-page .portal-wrap>.hero{display:block;margin:0 0 22px;padding:clamp(26px,5vw,42px);border:1px solid rgba(220,230,245,.92);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,251,255,.9));box-shadow:var(--shadow-sm);overflow:hidden}
body.portal-page .h-title{margin:0 0 10px;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;letter-spacing:-.03em;color:var(--text-strong)}
body.portal-page .h-sub{max-width:760px;margin:0;color:var(--text-soft);font-size:1.05rem;line-height:1.65}
body.portal-page .badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
body.portal-page .badge{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:rgba(18,103,248,.08);border:1px solid rgba(18,103,248,.16);color:var(--text-strong);font-weight:800;font-size:.86rem}
body.portal-page .portal-wrap>.grid,body.portal-page .portal-wrap .card>.grid{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:22px;align-items:stretch;margin:22px 0;width:100%}
body.portal-page .portal-wrap>.grid:first-child{margin-top:0}
body.portal-page .portal-wrap .card{min-width:0}
body.portal-page .portal-wrap>.grid>.card--4,body.portal-page .portal-wrap .card>.grid>.card--4{grid-column:span 4!important}
body.portal-page .portal-wrap>.grid>.card--6,body.portal-page .portal-wrap .card>.grid>.card--6{grid-column:span 6!important}
body.portal-page .portal-wrap>.grid>.card,body.portal-page .portal-wrap .card>.grid>.card{height:100%;display:flex;flex-direction:column}
body.portal-page .card__title{margin:0 0 10px;color:var(--text-strong);font-weight:850;line-height:1.2}
body.portal-page h2.card__title{font-size:clamp(1.14rem,2vw,1.35rem)}
body.portal-page h3.card__title{font-size:1.05rem}
body.portal-page .card__text{margin:0 0 14px;color:var(--text-soft);line-height:1.65}
body.portal-page .card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:10px}
body.portal-page .small{margin:12px 0 0;color:var(--muted);font-size:.92rem;line-height:1.55}
body.portal-page .notice{margin:16px 0;padding:14px 16px;border-radius:16px;border:1px solid rgba(220,230,245,.92);background:rgba(255,255,255,.88);color:var(--text-soft)}
body.portal-page .choice{display:block;margin:10px 0;padding:14px 16px;border:1px solid rgba(220,230,245,.96);border-radius:16px;background:#fff;cursor:pointer}
body.portal-page .choice:hover,body.portal-page .choice:focus-within{border-color:rgba(18,103,248,.32);box-shadow:0 10px 28px rgba(25,43,84,.08)}
body.portal-page .portal-input{width:100%;max-width:520px;min-height:44px;border:1px solid rgba(220,230,245,.96);border-radius:14px;padding:10px 12px;font:inherit;color:var(--text);background:#fff}
body.portal-page .portal-input--wide{max-width:760px}
body.portal-page .portal-input--max{max-width:none}
body.portal-page .portal-consent{display:flex;gap:10px;align-items:flex-start;margin:12px 0;color:var(--muted)}
body.portal-page .portal-actions-inline,body.portal-page .portal-actions-spaced{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body.portal-page .portal-actions-spaced{margin-top:14px}
body.portal-page .portal-mt-6{margin-top:6px}.portal-mt-8{margin-top:8px}.portal-mt-10{margin-top:10px}.portal-mt-12{margin-top:12px}.portal-mt-14{margin-top:14px}.portal-mb-0{margin-bottom:0!important}
body.portal-page .portal-list-compact{margin:8px 0 0;padding-left:1.2rem;color:var(--text-soft)}
body.portal-page .good{color:#047857;font-weight:850}body.portal-page .bad{color:#b91c1c;font-weight:850}
body.portal-page .infobox{display:grid;grid-template-columns:auto 1fr;gap:12px;margin:16px 0;padding:16px;border:1px solid rgba(18,103,248,.16);border-radius:16px;background:rgba(18,103,248,.06)}
body.portal-page .infobox__title{font-weight:850;color:var(--text-strong);margin:0 0 4px}.infobox__text{margin:0;color:var(--text-soft)}
body.portal-page .portal-progress{height:12px;border-radius:999px;background:rgba(18,103,248,.12);overflow:hidden}.portal-progress>div{height:100%;width:var(--inline-width,0%);border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--violet))}
body.portal-page main .progress:not([aria-hidden]){position:static;height:12px;border-radius:999px;background:rgba(18,103,248,.12);overflow:hidden;margin:14px 0 18px}.portal-page main .progress:not([aria-hidden])>div{height:100%;width:var(--inline-width,0%);border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--violet))}
body.portal-page .q-title{font-size:clamp(1.25rem,3vw,1.7rem);line-height:1.25;margin:0 0 18px;color:var(--text-strong)}
body.portal-page .kpi{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0 12px;padding:8px 12px;border-radius:16px;background:#fff;border:1px solid rgba(220,230,245,.96);box-shadow:none}
body.portal-page .portal-cert-title{margin:0 0 8px;font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.15;color:var(--text-strong)}
body.portal-page .portal-cert-name{font-size:clamp(1.25rem,3vw,1.7rem);font-weight:850;color:var(--text-strong)}
body.portal-page .portal-cert-name--normal{font-weight:700}.portal-muted{color:var(--muted)}
body.portal-page .portal-flex-head{display:flex;align-items:center;gap:14px}.portal-logo{width:70px;height:auto}.portal-brand-name{font-weight:900;color:var(--text-strong)}.portal-brand-smallcaps{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
@media (max-width:980px){body.portal-page .portal-wrap>.grid>.card--4,body.portal-page .portal-wrap>.grid>.card--6,body.portal-page .portal-wrap .card>.grid>.card--4,body.portal-page .portal-wrap .card>.grid>.card--6{grid-column:span 6!important}}
@media (max-width:640px){body.portal-page .portal-wrap{padding-top:22px}body.portal-page .portal-wrap>.hero{padding:22px;border-radius:18px}body.portal-page .portal-wrap>.grid,body.portal-page .portal-wrap .card>.grid{grid-template-columns:1fr!important;gap:16px}body.portal-page .portal-wrap>.grid>.card--4,body.portal-page .portal-wrap>.grid>.card--6,body.portal-page .portal-wrap .card>.grid>.card--4,body.portal-page .portal-wrap .card>.grid>.card--6{grid-column:auto!important}body.portal-page .card__actions .btn{width:100%}body.portal-page .portal-flex-head{align-items:flex-start}body.portal-page .kpi{display:block}}
