/* OceanPay 统一视觉系统：仅视觉层，不改变支付业务 */
:root{--op-ink:#eef7ff;--op-muted:#8da4bd;--op-line:rgba(148,180,220,.18);--op-panel:rgba(13,27,49,.78);--op-cyan:#67e8f9;--op-green:#45e0a1;--op-blue:#8ca7ff}
html{background:#050914}body{font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,a,input,select,textarea{transition:all .2s cubic-bezier(.2,.75,.2,1)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(103,232,249,.4);outline-offset:3px}
/* 测试下单页 */
.hero{isolation:isolate}.hero:before{content:"";position:absolute;inset:90px 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(103,232,249,.3),transparent);pointer-events:none}.brand{background:linear-gradient(100deg,#fff 15%,#b9d7ff 50%,#67e8f9 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.card{border-color:var(--op-line)!important;background:linear-gradient(145deg,rgba(19,36,63,.9),rgba(7,16,31,.94))!important;box-shadow:0 24px 80px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.045)!important}.card:hover{border-color:rgba(103,232,249,.3)!important;transform:translateY(-2px)}.ch span{border-color:rgba(124,164,215,.22)!important}.ch span:hover{border-color:rgba(103,232,249,.65)!important;box-shadow:0 14px 28px rgba(34,211,238,.12)}.field{background:rgba(4,12,25,.72)!important;border-color:rgba(124,164,215,.28)!important}.btn{box-shadow:0 14px 30px rgba(69,224,161,.16)}
/* 支付页 */
.t1,.t2,.t3,.t4{position:relative;isolation:isolate}.t1:before,.t2:before,.t3:before,.t4:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% -12%,rgba(103,232,249,.16),transparent 35%),radial-gradient(circle at 0 100%,rgba(69,224,161,.1),transparent 30%)}.t4 .panel{backdrop-filter:blur(18px)}.t4 .card,.t1 .panel{box-shadow:0 30px 90px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}.paybtn{letter-spacing:.2px}.paybtn:active{transform:scale(.98)}.announceModal .announceBox{animation:opModalIn .35s cubic-bezier(.16,1,.3,1)!important}.announceModal .announceBox:after{background:linear-gradient(100deg,#11a77e,#36d9ae)!important}@keyframes opModalIn{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
/* 后台登录与管理页 */
.login{border:1px solid rgba(148,180,220,.2)!important;background:linear-gradient(145deg,rgba(18,36,62,.9),rgba(6,14,29,.95))!important;box-shadow:0 30px 100px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)!important;backdrop-filter:blur(22px)}.login .logo,.brandMark{background:linear-gradient(145deg,#45e0a1,#67b7ff)!important;box-shadow:0 12px 28px rgba(69,224,161,.2)}.login h1{letter-spacing:-.8px}.login input,.login button{border-radius:14px!important}.layout{background:radial-gradient(circle at 80% 0,rgba(33,103,130,.12),transparent 28%),#06101f!important}.side{background:rgba(5,15,29,.82)!important;border-right-color:rgba(148,180,220,.12)!important;backdrop-filter:blur(18px)}.main{background:transparent!important}.card{border-radius:24px!important}.nav a{border:1px solid transparent}.nav a.active{border-color:rgba(103,232,249,.16)!important;box-shadow:0 10px 25px rgba(0,0,0,.12)}.btn,.mini{border-radius:13px!important}.tableWrap{border-radius:18px!important;border-color:rgba(148,180,220,.14)!important}.tableWrap th{color:#9fc1df!important}.tableWrap tr:hover td{background:rgba(103,232,249,.045)!important}
@media(max-width:700px){.hero{padding-left:14px!important;padding-right:14px!important}.card{padding:20px!important;border-radius:20px!important}.brand{font-size:32px}.t4{padding:12px 8px}.t4 .panel{padding:22px 15px;border-radius:24px}.side{position:sticky!important;top:0;z-index:10}.layout{display:block!important}.main{padding:18px 12px!important}.login{width:min(92vw,390px)!important;padding:28px 22px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.verifyGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.verifyActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.verifyActions .btn{width:auto;margin-top:0}.verifyActions .mini{min-width:130px}.verifyForm label{display:block}@media(max-width:620px){.verifyGrid{grid-template-columns:1fr}.verifyActions>*{width:100%!important}}

/* Keep custom payment-channel radios keyboard accessible. */
.ch{position:relative}.ch input[type="radio"]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none}.ch input[type="radio"]:focus-visible+span{outline:3px solid rgba(103,232,249,.65);outline-offset:3px}
