*{box-sizing:border-box}html,body{margin:0;min-height:100%;}body.portal{background:#f7f8fa;color:#111827;font-family:Arial,sans-serif;font-size:14px}.wrap{max-width:430px;min-height:100vh;background:#fff;margin:auto;padding:22px 15px 8px;display:flex;flex-direction:column;border-radius:10px}.heading{margin:auto auto 18px;text-align:center;max-width:320px;width:100%}.heading.compact{margin:8px auto 14px}.logo{display:block;width:92px;height:92px;object-fit:contain;margin:0 auto 6px}h1{font-size:20px;line-height:1.1;margin:0 0 5px;color:#2563eb}.sub{font-size:11px;font-weight:bold;margin-bottom:10px}.menu{width:100%;max-width:320px;margin:0 auto auto;display:grid;gap:7px}.btn{width:100%;border:0;border-radius:6px;min-height:42px;padding:9px;font-size:12px;font-weight:700;cursor:pointer}.primary,.button{background:#2563eb;color:#fff}.trial-entry{background:#eff6ff;border:1px solid #2563eb;color:#2563eb;font-size:11px}.back{background:#eef2f7;color:#111827;min-height:28px;width:auto;display:block;margin:0 auto 7px;font-size:10px;padding:5px 18px}.section{width:100%;max-width:320px;margin:4px auto auto}.hidden{display:none!important}.card{border:1px solid #e5e7eb;border-radius:6px;padding:9px}label{font-size:11px;font-weight:700;display:block;margin-bottom:8px;text-align:center}.input-container{width:100%;display:flex;background:#fff;border:1px solid #e2e8f0;border-radius:5px;align-items:center}.input{width:100%;border:0;background:transparent;outline:none;color:#111827;font-size:15px;font-weight:bold}.oper-section-item{height:42px;border-radius:5px}#voucherCode{text-transform:uppercase;text-align:center;padding:9px}.oper-section-outer,.oper-section-inner{width:100%;max-width:320px}.oper-section-inner{display:flex;flex-direction:column;gap:7px}#login-form{display:flex;flex-direction:column;gap:7px}#button-area{display:block}.button{border:0;cursor:pointer;font-size:13px;font-weight:700;width:100%;border-radius:5px}#button-login{display:block;margin-top:1px}#hotspot-other-login{font-size:10px;color:#2563eb;text-align:center;text-decoration:none;display:none}.note{font-size:10px;line-height:1.5;color:#64748b;text-align:center;margin:9px 0}.notice{background:#fff7ed;color:#9a3412;padding:10px;border-radius:6px}.package{display:flex;justify-content:space-between;gap:8px;padding:11px;border:1px solid #e5e7eb;border-radius:5px;margin-bottom:5px;font-size:12px}.package span{font-weight:bold;color:#2563eb}.trial-card{text-align:center;border:1px solid #dbeafe;border-radius:8px;padding:18px}.trial-card h2{font-size:13px;color:#2563eb}.trial-clock{font-size:39px;font-weight:800;color:#2563eb;margin:12px 0}footer{text-align:center;font-size:10px;color:#6b7280;line-height:1.5;margin-top:auto;padding:18px 0 3px}#oper-hint{display:none;color:#b91c1c;background:#fff7ed;border-radius:8px;padding:10px;margin:4px auto 12px;font-size:11px;max-width:320px;text-align:center}#hotspot-selector{display:none;position:fixed;bottom:-1000px;left:50%;z-index:100;width:100%;max-width:520px;background:#fff;box-shadow:0 0 0 100vmax #0004;border-radius:18px;padding:24px 18px}.title{position:relative;text-align:center;font-size:14px;color:#111827}.title .icon{position:absolute;right:0;top:0;cursor:pointer}.title .icon:after{content:'✕'}.hotspot-item{padding:13px;margin:8px 0;background:#eff6ff;border-radius:6px;color:#111827;cursor:pointer}#form-auth-msg{display:none;position:fixed;inset:0;z-index:200;background:#0005}#form-auth-outer{margin:10vh auto;background:white;padding:20px;max-width:380px;border-radius:12px;color:#111827}#form-auth-close{float:right;cursor:pointer}#form-auth-close:after{content:'✕'}#form-auth-footer{padding:15px;text-align:center}#form-auth-submit{color:#2563eb}#input-phone-num input,#input-verify-code input,#input-user input,#input-password input,#input-simple input{width:100%;min-width:0;padding:9px}#get-code{font-size:10px;width:100px}
/* SALAMA NET TEST V2: compact, mobile-first Omada captive portal */
body.portal{background:#f2f6fd} .wrap{border-top:5px solid #2563eb;box-shadow:0 12px 44px rgba(15,23,42,.08)}
.heading{margin:30px auto 24px}.heading.compact{margin:12px auto 16px}
.logo{height:108px;width:108px;object-fit:contain;margin-bottom:10px}h1{font-size:26px;letter-spacing:-.5px}
.sub{color:#64748b;font-size:12px;font-weight:500}.menu{gap:10px}.btn{min-height:49px;border-radius:11px;font-size:13px}
.primary{box-shadow:0 5px 13px rgba(37,99,235,.14)}.trial-entry{border-radius:11px} .section{max-width:340px}
.card,.package,.trial-card{border-radius:11px}.package{padding:14px}.note{font-size:11px}footer{padding-bottom:18px}
@media(max-width:520px){.wrap{min-height:100dvh;border-radius:0;box-shadow:none}.heading{margin:22px auto 25px}}
