.portal-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.portal-hero{background:linear-gradient(125deg,#082544,#245173);padding:26px;color:white;border-radius:18px;margin:15px 0}.portal-hero h2{color:white}.portal-hero .muted{color:#d1deea}.portal-cardgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.portal-cardgrid .card{margin:0}.portal-step{font-size:12px;letter-spacing:2px;color:#a4854b;font-weight:800}.portal-title{display:flex;justify-content:space-between;align-items:center;gap:15px}.portal-banner{border:1px solid #aebcce;background:#edf5fc;padding:15px;border-radius:12px;margin:15px 0}.portal-banner.warning{border-color:#d6b56a;background:#fff8e4}.portal-payid{border:2px solid #c3a167;background:#fff9e8;padding:20px;border-radius:14px}.portal-payid strong{font-size:27px}.portal-phone{font-size:25px;font-weight:850}.portal-status{display:inline-block;background:#fff0ce;color:#6b4700;padding:6px 12px;border-radius:20px;font-size:14px}.portal-status.sent{background:#e9f5ed;color:#155f3c}.portal-label{font-size:13px;color:#5a6a79}.portal-actions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.portal-progress{display:block;width:100%;height:12px;accent-color:#c3a167}.portal-tabs{display:flex;gap:8px;margin:14px 0}.portal-small{font-size:12px;color:#637384}.portal-readonly{font-weight:700;background:#f4f7fa;border:1px solid #d9e2eb;padding:11px;border-radius:10px}.portal-scroll{overflow:auto}input[type=file]{font-size:14px}#receiptModal img{display:block;max-width:100%;max-height:70vh;margin:auto}#globalError{white-space:pre-line}.portal-log{border-left:4px solid #c3a167;padding:15px 18px;background:white;border-radius:10px;border-bottom:1px solid #dde2e7;margin:13px 0}.portal-big{font-size:29px;font-weight:800}.portal-danger{color:#a32418}.portal-hide{display:none!important}@media(max-width:700px){.portal-cardgrid{grid-template-columns:1fr}.portal-title{align-items:flex-start}.portal-title h1{font-size:25px}header{display:block}header .portal-actions{margin-bottom:0}h1{font-size:26px}.portal-hero{padding:20px}.portal-payid{padding:16px}.portal-big{font-size:26px}.portal-nav button{font-size:13px;padding:9px}.meta{grid-template-columns:125px minmax(0,1fr)}.meta>div{overflow-wrap:anywhere}}@media print{.portal-nav,#account,#topupForm,#security,.no-print{display:none!important}}

.recovery-code{display:block;padding:20px;margin:18px 0;background:#f2f6f9;border:2px solid #c6a365;border-radius:12px;font-size:clamp(17px,4vw,25px);font-weight:800;letter-spacing:1.5px;overflow-wrap:anywhere;user-select:all}.modal input[type=password]{font-size:18px}#linkTicket code{overflow-wrap:anywhere}#codeModal{z-index:120}

/* V18 mobile-first registration, separate from recharge. */
#registration{scroll-margin-top:18px}#registration .portal-title{align-items:flex-start}#registerBtn{width:100%;font-size:17px}#registrationSuccess{border-left:4px solid #168153}#registration input[readonly]{background:#f5f7fa}#account #signupBtn{font-weight:800}#registrationBack{white-space:nowrap}#registrationIntro{line-height:1.8}#registerHeading:focus{outline:none}@media(max-width:600px){#account .portal-actions{display:grid;grid-template-columns:1fr 1fr}#forgotBtn{grid-column:1/-1}#registration .portal-title{display:block}#registrationBack{margin-bottom:12px}}

/* Explicit hidden behavior for retry/status controls. */
[hidden]{display:none!important}

/* V33: bilingual delivery guidance; scoped, accessible and presentation-only. */
.v33-card-help{border:1px solid #cbb68e;background:#faf7ef;border-radius:14px;padding:20px;margin:18px 0;overflow-wrap:anywhere}
.v33-card-help h3,.v33-card-help h4{margin:0 0 12px;line-height:1.45}
.v33-card-help h3 span,.v33-card-help h4 span{display:block;font-size:.7em;letter-spacing:.04em;font-weight:600;color:#66737f;margin-top:4px}
.v33-card-help p,.v33-card-record p,.v33-card-email-hint p{margin:8px 0;line-height:1.65}
.v33-card-help .v33-card-en,.v33-card-record .v33-card-en,.v33-card-email-hint .v33-card-en{font-size:.86em;color:#536374;margin-top:3px}
.v33-card-compact{padding:15px}
.v33-card-email strong{display:block;overflow-wrap:anywhere}
.v33-card-instructions{margin-top:12px}
.v33-card-instructions summary{cursor:pointer;font-weight:700;line-height:1.6}
.v33-card-instructions summary span{display:inline;font-size:.85em;color:#536374}
.v33-balance{padding:12px 0 0;margin:12px 0 0;border-top:1px solid #e1dfd7;line-height:1.6}
.v33-balance strong,.v33-balance span{display:block}.v33-balance span{font-size:.85em;color:#536374;margin-top:4px}
.v33-card-record{border-top:1px solid #e1e5e8;margin-top:12px;padding-top:6px;overflow-wrap:anywhere}
.v33-card-email-hint{font-size:.83em;line-height:1.5;margin-top:7px}
.v33-staff-card{overflow-wrap:anywhere}.v33-staff-card p{margin:8px 0}
@media(max-width:600px){.v33-card-help{padding:15px}.v33-card-instructions summary span{display:block}}
