.aaa-signup,.aaa-portal{--aaa-ink:#172a3a;--aaa-blue:#165d83;--aaa-pale:#ecf5f8;--aaa-line:#d9e5e9;--aaa-green:#26734d;color:var(--aaa-ink);font-family:inherit;max-width:1100px;margin:2rem auto 3rem;padding:2rem;background:#fff;border:1px solid var(--aaa-line);border-radius:18px;box-shadow:0 18px 45px rgba(20,54,72,.07)}
.aaa-signup{max-width:900px}
.aaa-signup *,.aaa-portal *{box-sizing:border-box}
.aaa-intro h2,.aaa-portal h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;margin:.35rem 0 .65rem;color:var(--aaa-ink)}
.aaa-intro p,.aaa-portal-head p{font-size:1.05rem;color:#526774;margin:0 0 1.5rem}
.aaa-eyebrow,.aaa-progress{display:block;font-size:.75rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--aaa-blue)}
.aaa-progress{border-top:1px solid var(--aaa-line);padding:1.3rem 0 1.5rem}
.aaa-step[hidden],.aaa-signup [hidden],.aaa-portal [hidden]{display:none!important}
.aaa-signup fieldset{border:0;padding:0;margin:0 0 1.3rem}
.aaa-signup legend{font-size:1.25rem;font-weight:750;margin:0 0 .1rem}
.aaa-hint{font-size:.87rem;color:#586d78;line-height:1.55;margin:.35rem 0 1.25rem}
.aaa-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.aaa-tiles label{cursor:pointer}
.aaa-tiles input{position:absolute;opacity:0;width:1px;height:1px}
.aaa-tiles span{display:flex;flex-direction:column;min-height:76px;padding:1rem;border:1.5px solid var(--aaa-line);border-radius:12px;transition:.15s}
.aaa-tiles small{font-size:.85rem;color:#677b86;margin-top:.15rem}
.aaa-tiles input:checked+span{border-color:var(--aaa-blue);background:var(--aaa-pale);box-shadow:inset 0 0 0 1px var(--aaa-blue)}
.aaa-tiles input:focus-visible+span{outline:3px solid #78b8d5;outline-offset:2px}
.aaa-field{display:block;font-weight:700;font-size:.94rem;margin:0 0 1rem}
.aaa-field select,.aaa-field input,.aaa-field textarea,.aaa-portal input[type="text"],.aaa-portal input[type="password"]{display:block;width:100%;margin-top:.45rem;padding:.55rem .75rem;color:var(--aaa-ink);background:#fff;border:1px solid #bccdd5;border-radius:9px;font:inherit;font-weight:400}
.aaa-field select,.aaa-field input,.aaa-portal input[type="text"],.aaa-portal input[type="password"]{height:48px}
.aaa-field textarea{min-height:92px;line-height:1.45;resize:vertical}
.aaa-field small{display:block;margin-top:.35rem;color:#657984;font-weight:400;line-height:1.45}
.aaa-field select:focus,.aaa-field input:focus,.aaa-portal input:focus{outline:2px solid #75b5cf;outline-offset:1px}
.aaa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.aaa-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}
.aaa-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--aaa-blue)!important;color:white!important;border:0!important;border-radius:9px!important;padding:.85rem 1.35rem!important;min-height:48px;font:inherit!important;font-weight:750!important;cursor:pointer;text-decoration:none!important}
.aaa-primary:hover{background:#0b476a!important}
.aaa-primary:disabled{opacity:.55;cursor:not-allowed}
.aaa-back{border:0;background:transparent;color:var(--aaa-blue);font:inherit;font-weight:700;cursor:pointer;padding:.7rem}
.aaa-result{background:var(--aaa-pale);border-radius:14px;padding:1.4rem;margin-bottom:1rem}
.aaa-result-label{font-weight:700;margin:0 0 .2rem}
.aaa-result>strong{font-size:2.65rem;line-height:1.2;color:var(--aaa-blue)}
.aaa-result>span{margin-left:.4rem}
.aaa-result p{margin:.3rem 0 .8rem}
.aaa-result ul{list-style:none;padding:0;margin:1rem 0 0;border-top:1px solid #cbdee6}
.aaa-result li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid #cbdee6}
.aaa-note,.aaa-portal-notice{padding:1rem;background:#fff6e8;border-left:4px solid #d99635;border-radius:5px;font-size:.9rem;line-height:1.5}
.aaa-portal-notice.aaa-success{background:#edf8f2;border-left-color:var(--aaa-green)}
.aaa-portal-notice.aaa-error,#aaa-error{padding:.8rem 1rem;background:#ffeded;color:#8b1925;border-left:4px solid #b42332;border-radius:8px;margin-top:1rem}
.aaa-declaration{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;line-height:1.55;margin-top:.5rem}
.aaa-declaration input{flex:0 0 auto;margin:.25rem 0 0;accent-color:var(--aaa-blue)}
.aaa-optional{font-weight:400;color:#697d88}
.aaa-secure-note{font-size:.82rem;color:#60727c;margin:.8rem 0 0}
.aaa-finish{padding:2rem}

.aaa-portal h3{font-size:1.35rem;color:var(--aaa-ink);margin:2rem 0 .8rem}
.aaa-portal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--aaa-line);padding-bottom:1rem}
.aaa-portal-head a{font-weight:700;white-space:nowrap}
.aaa-portal-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.aaa-portal-stats div{display:flex;flex-direction:column;padding:1rem;background:var(--aaa-pale);border-radius:12px}
.aaa-portal-stats strong{font-size:1.75rem;color:var(--aaa-blue)}
.aaa-portal-stats span{font-size:.82rem;color:#58707c}
.aaa-test-mode{display:inline-block;margin:0 0 1rem;padding:.35rem .65rem;background:#f2ecfa;color:#5c3982;border-radius:999px;font-size:.78rem}
.aaa-programmes{display:grid;gap:1rem}
.aaa-programme-card{border:1px solid var(--aaa-line);border-radius:14px;padding:1.2rem;background:#fff}
.aaa-programme-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.aaa-programme-title h4{font-size:1.3rem;margin:.2rem 0 .8rem;color:var(--aaa-ink)}
.aaa-programme-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:0 0 1rem}
.aaa-programme-card dl div{padding:.8rem;background:#f6f9fa;border-radius:9px}
.aaa-programme-card dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#607681}
.aaa-programme-card dd{margin:.25rem 0 0;font-weight:750;color:var(--aaa-ink)}
.aaa-programme-scope{font-size:.9rem;line-height:1.55;color:#536b77}
.aaa-audit-plan,.aaa-onboarding{margin-top:1.2rem;padding:1rem;border:1px solid var(--aaa-line);border-radius:12px;background:#fbfdfe}
.aaa-onboarding fieldset{border:0;padding:0;margin:1rem 0 0;min-width:0}
.aaa-onboarding fieldset:disabled{opacity:.8}
.aaa-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.aaa-section-heading h4,.aaa-section-heading h5{margin:.2rem 0 .8rem;color:var(--aaa-ink)}
.aaa-section-heading h4{font-size:1.2rem}.aaa-section-heading h5{font-size:1.05rem}
.aaa-audit-plan dl{margin-top:.6rem!important}
.aaa-evidence-list{display:grid;gap:1rem}
.aaa-evidence-card{padding:1.2rem;border:1px solid var(--aaa-line);border-radius:14px;background:#fff}
.aaa-evidence-card>p{color:#526b77;line-height:1.55}
.aaa-evidence-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--aaa-line)}
.aaa-secure-documents{margin-top:1rem;padding:1rem;background:#f6f9fa;border-radius:9px}
.aaa-secure-documents ul{list-style:none;padding:0;margin:.55rem 0 0}
.aaa-secure-documents li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--aaa-line)}
.aaa-secure-documents a{font-weight:750}
.aaa-secure-documents span{color:#687c86;font-size:.85rem;white-space:nowrap}
.aaa-client-response{margin-top:1rem;padding:1rem;background:var(--aaa-pale);border-radius:9px}
.aaa-client-response p{margin:.35rem 0 0;line-height:1.55}
.aaa-findings-list{display:grid;gap:1rem}
.aaa-finding-card{padding:1.2rem;border:1px solid var(--aaa-line);border-left-width:5px;border-radius:14px;background:#fff}
.aaa-finding-card>p{color:#526b77;line-height:1.55}
.aaa-finding-major{border-left-color:#a32632}.aaa-finding-minor{border-left-color:#d17922}.aaa-finding-observation{border-left-color:#2f6f9f}.aaa-finding-opportunity{border-left-color:#5b4b8a}
.aaa-finding-badges{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
.aaa-severity{display:inline-block;padding:.28rem .5rem;border-radius:999px;font-size:.76rem;font-weight:750;white-space:nowrap}
.aaa-severity-major{background:#ffeded;color:#8b1925}.aaa-severity-minor{background:#fff0e7;color:#8a4a17}.aaa-severity-observation{background:#eaf2fb;color:#205c8d}.aaa-severity-opportunity{background:#f2ecfa;color:#5c3982}
.aaa-finding-due{padding:.55rem .75rem;background:#fff8ea;border-radius:7px}
.aaa-finding-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--aaa-line)}
.aaa-finding-response,.aaa-review-message{margin-top:1rem;padding:1rem;background:var(--aaa-pale);border-radius:9px}
.aaa-finding-response p,.aaa-review-message p{margin:.45rem 0 0;line-height:1.55}
.aaa-status-open,.aaa-status-changes_requested{background:#ffeded;color:#8b1925}
.aaa-status-response_submitted{background:#eaf2fb;color:#205c8d}
.aaa-status-accepted,.aaa-status-closed{background:#e8f6ee;color:#17633e}
.aaa-status-withdrawn{background:#edf1f3;color:#475a65}
.aaa-reviews-list{display:grid;gap:1rem}
.aaa-review-card{padding:1.2rem;border:1px solid var(--aaa-line);border-radius:14px;background:#fff}
.aaa-review-card>p{color:#526b77;line-height:1.55}
.aaa-review-panel,.aaa-decision-panel{margin-top:1rem;padding:1rem;border-radius:9px;background:#f6f9fa}
.aaa-review-panel span,.aaa-decision-panel>span{display:block;margin-top:.3rem;color:#687c86;font-size:.85rem}
.aaa-review-panel p,.aaa-decision-panel p{margin:.45rem 0 0;line-height:1.55;color:#425d6b}
.aaa-decision-panel{background:var(--aaa-pale);border-left:4px solid var(--aaa-blue)}
.aaa-decision-panel h5{margin:.2rem 0;color:var(--aaa-ink);font-size:1.15rem}
.aaa-certificate-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1rem 0 0}
.aaa-certificate-details div{padding:.8rem;background:#f6f9fa;border-radius:9px}
.aaa-certificate-details dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#607681}
.aaa-certificate-details dd{margin:.25rem 0 0;font-weight:750;color:var(--aaa-ink)}
.aaa-status-report_preparation,.aaa-status-technical_review,.aaa-status-decision_pending{background:#eaf2fb;color:#205c8d}
.aaa-status-changes_required{background:#ffeded;color:#8b1925}
.aaa-status-outcome_issued{background:#e8f6ee;color:#17633e}
.aaa-form-result{font-size:.88rem;line-height:1.45}
.aaa-result-success{color:#17633e;font-weight:700}
.aaa-result-error{color:#8b1925;font-weight:700}
.aaa-next-step{display:flex;flex-direction:column;gap:.2rem;margin-top:1rem;padding:1rem;background:var(--aaa-pale);border-left:4px solid var(--aaa-blue);border-radius:7px}
.aaa-next-step span{font-size:.9rem;line-height:1.5;color:#425d6b}
.aaa-status-onboarding,.aaa-status-audit_planning,.aaa-status-evidence_requested{background:#fff5df;color:#7f5617}
.aaa-status-audit_in_progress,.aaa-status-technical_review,.aaa-status-certification_decision{background:#eaf2fb;color:#205c8d}
.aaa-status-certified{background:#e8f6ee;color:#17633e}
.aaa-status-surveillance_due{background:#fff0e7;color:#8a4a17}
.aaa-status-suspended,.aaa-status-closed{background:#ffeded;color:#8b1925}
.aaa-status-awaiting_client,.aaa-status-requested,.aaa-status-in_progress,.aaa-status-not_started,.aaa-status-proposed{background:#fff5df;color:#7f5617}
.aaa-status-submitted,.aaa-status-confirmed{background:#eaf2fb;color:#205c8d}
.aaa-status-approved,.aaa-status-accepted,.aaa-status-completed{background:#e8f6ee;color:#17633e}
.aaa-status-changes_requested,.aaa-status-needs_update{background:#ffeded;color:#8b1925}
.aaa-status-not_required{background:#edf1f3;color:#475a65}
.aaa-payment-table{border:1px solid var(--aaa-line);border-radius:12px;overflow:hidden}
.aaa-payment-row{display:grid;grid-template-columns:1.35fr .9fr .85fr .8fr .8fr .65fr;gap:.7rem;align-items:center;padding:.85rem 1rem;border-top:1px solid var(--aaa-line);font-size:.9rem}
.aaa-payment-row:first-child{border-top:0}
.aaa-payment-header{background:#f6f9fa;color:#526774;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.aaa-payment-row small{display:block;margin-top:.2rem;color:#687c86;line-height:1.35}
.aaa-payment-row .aaa-primary{min-height:38px;padding:.55rem .8rem!important;font-size:.86rem!important;white-space:nowrap}
.aaa-status{display:inline-block;padding:.28rem .5rem;border-radius:999px;background:#edf1f3;color:#475a65;font-size:.76rem;font-weight:750;white-space:nowrap}
.aaa-status-paid{background:#e8f6ee;color:#17633e}
.aaa-status-failed,.aaa-status-checkout_error{background:#ffeded;color:#8b1925}
.aaa-status-pending,.aaa-status-approved,.aaa-status-checkout_started{background:#fff5df;color:#7f5617}
.aaa-status-refunded,.aaa-status-partially_refunded{background:#f2ecfa;color:#5c3982}
.aaa-onboarding .aaa-status-approved{background:#e8f6ee;color:#17633e}
.aaa-empty{padding:1rem;background:#f7fafb;border-radius:10px;color:#617580}
.aaa-portal .login-username,.aaa-portal .login-password,.aaa-portal .login-remember{max-width:520px}
.aaa-portal .login-submit input{background:var(--aaa-blue);color:#fff;border:0;border-radius:9px;padding:.8rem 1.25rem;font:inherit;font-weight:750;cursor:pointer}

@media(max-width:900px){
  .aaa-portal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aaa-payment-header{display:none}
  .aaa-payment-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem}
  .aaa-payment-row>span:first-child{grid-column:1/-1}
}
@media(max-width:650px){
  .aaa-signup,.aaa-portal{padding:1.2rem;margin:1rem auto 2rem;border-radius:12px}
  .aaa-grid,.aaa-tiles,.aaa-portal-stats,.aaa-programme-card dl,.aaa-certificate-details{grid-template-columns:1fr}
  .aaa-tiles span{min-height:60px}
  .aaa-result>strong{font-size:2.2rem}
  .aaa-portal-head{flex-direction:column}
  .aaa-programme-title{flex-direction:column}
  .aaa-section-heading{flex-direction:column}
  .aaa-payment-row{grid-template-columns:1fr}
  .aaa-payment-row>span:first-child{grid-column:auto}
}
