/* ============================================================
   多赚点科技 · 登录/注册页 企业级双栏（升级版 v2）
   - 悬浮圆角卡片 + 科技感动态背景
   - 输入框 / 按钮精致交互 · 入场动画
   - 结构 class 完全兼容旧版（login / register 共用）
   ============================================================ */
:root{
    --au-primary:#2563eb;
    --au-indigo:#4f46e5;
    --au-violet:#7c3aed;
    --au-grad:linear-gradient(135deg,#2563eb 0%,#4f46e5 55%,#7c3aed 100%);
    --au-grad-btn:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);
    --au-text:#0f172a;
    --au-text2:#475569;
    --au-muted:#94a3b8;
    --au-border:#e6eaf1;
    --au-danger:#ef4444;
    --au-success:#10b981;
    --au-card-radius:24px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{font-family:"Manrope","PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,sans-serif;}

/* 页面背景：浅色科技底 + 柔和光斑 */
body{
    min-height:100vh;
    background:
        radial-gradient(1100px 680px at 12% -8%, #e0e7ff 0%, rgba(224,231,255,0) 60%),
        radial-gradient(900px 620px at 108% 112%, #ede9fe 0%, rgba(237,233,254,0) 58%),
        linear-gradient(135deg,#f3f6fc 0%,#eef2f9 100%);
    display:flex;align-items:center;justify-content:center;
    padding:32px 20px;color:var(--au-text);
}

/* 悬浮主卡片：双栏容器 */
.au-wrap{
    display:flex;width:100%;max-width:1040px;min-height:640px;
    background:#fff;border-radius:var(--au-card-radius);overflow:hidden;
    box-shadow:0 40px 90px -30px rgba(30,41,90,.32),0 8px 24px -12px rgba(30,41,90,.18);
    border:1px solid rgba(255,255,255,.7);
    animation:auCardIn .7s cubic-bezier(.16,1,.3,1) both;
}
@keyframes auCardIn{from{opacity:0;transform:translateY(24px) scale(.985);}to{opacity:1;transform:none;}}

/* ============ 左侧品牌区 ============ */
.au-brand{
    flex:1.05;background:var(--au-grad);color:#fff;
    display:flex;flex-direction:column;justify-content:center;
    padding:56px 52px;position:relative;overflow:hidden;
}
/* 网格质感 */
.au-brand::before{
    content:'';position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
    background-size:34px 34px;
    mask-image:radial-gradient(circle at 30% 20%,#000 0%,transparent 75%);
    -webkit-mask-image:radial-gradient(circle at 30% 20%,#000 0%,transparent 75%);
}
/* 漂浮光晕 */
.au-brand::after{
    content:'';position:absolute;width:460px;height:460px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 68%);
    top:-150px;right:-120px;animation:auFloat 9s ease-in-out infinite;
}
@keyframes auFloat{0%,100%{transform:translate(0,0);}50%{transform:translate(-24px,30px);}}

.au-brand__inner{position:relative;z-index:1;max-width:430px;}
.au-brand__logo{display:flex;align-items:center;gap:14px;margin-bottom:40px;}
.au-brand__logo .ico{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:9px;display:flex;backdrop-filter:blur(6px);}
.au-brand__logo .name{font-size:23px;font-weight:800;letter-spacing:.5px;}
.au-brand__title{font-size:36px;font-weight:800;line-height:1.24;margin-bottom:18px;letter-spacing:.5px;}
.au-brand__desc{font-size:15.5px;opacity:.9;line-height:1.85;margin-bottom:40px;}
.au-brand__features{display:flex;flex-direction:column;gap:14px;}
.au-brand__feat{
    display:flex;align-items:center;gap:13px;font-size:15px;opacity:.97;font-weight:500;
    padding:11px 14px;border-radius:14px;background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(4px);
    transition:transform .25s ease,background .25s ease;
}
.au-brand__feat:hover{transform:translateX(5px);background:rgba(255,255,255,.16);}
.au-brand__feat i{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}

/* ============ 右侧表单区 ============ */
.au-panel{
    width:46%;max-width:520px;background:#fff;
    display:flex;align-items:center;justify-content:center;padding:48px 52px;
}
.au-form{width:100%;max-width:370px;animation:auFormIn .8s cubic-bezier(.16,1,.3,1) .12s both;}
@keyframes auFormIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.au-form__head{margin-bottom:30px;}
.au-form__head .m-logo{display:none;}
.au-form__head h1{font-size:27px;font-weight:800;margin-bottom:9px;letter-spacing:.3px;}
.au-form__head p{color:var(--au-muted);font-size:14.5px;}

.au-field{margin-bottom:19px;}
.au-field label{display:block;font-size:13.5px;font-weight:700;color:var(--au-text2);margin-bottom:8px;}
.au-input-wrap{position:relative;}
.au-input-wrap > i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--au-muted);font-size:15px;transition:color .2s ease;pointer-events:none;}
.au-input{
    width:100%;padding:13.5px 15px 13.5px 44px;
    border:1.5px solid var(--au-border);border-radius:13px;
    font-size:15px;outline:none;background:#f8fafc;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;font-family:inherit;
}
.au-input::placeholder{color:#aab4c4;}
.au-input:hover{border-color:#cbd5e1;}
.au-input:focus{border-color:var(--au-primary);background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.12);}
.au-input-wrap:focus-within > i{color:var(--au-primary);}
.au-toggle{position:absolute;right:13px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--au-muted);cursor:pointer;padding:5px;border-radius:8px;transition:color .2s ease,background .2s ease;}
.au-toggle:hover{color:var(--au-primary);background:rgba(37,99,235,.08);}

.au-btn{
    width:100%;padding:14.5px;background:var(--au-grad-btn);border:none;border-radius:13px;
    color:#fff;font-size:16px;font-weight:700;cursor:pointer;letter-spacing:1px;
    transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
    box-shadow:0 12px 26px -8px rgba(37,99,235,.55);
    display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;margin-top:4px;
}
.au-btn::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transition:left .6s ease;}
.au-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -8px rgba(37,99,235,.6);filter:brightness(1.04);}
.au-btn:hover::after{left:130%;}
.au-btn:active{transform:translateY(0);}

.au-alert{border-radius:12px;padding:12px 15px;margin-bottom:20px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;animation:auShake .4s ease;}
.au-alert.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;}
.au-alert.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;}
@keyframes auShake{0%,100%{transform:translateX(0);}20%{transform:translateX(-5px);}40%{transform:translateX(5px);}60%{transform:translateX(-3px);}80%{transform:translateX(3px);}}

.au-link{text-align:center;margin-top:22px;font-size:14px;color:var(--au-muted);}
.au-link a{color:var(--au-primary);font-weight:700;text-decoration:none;transition:color .2s ease;}
.au-link a:hover{color:var(--au-indigo);text-decoration:underline;}
.au-foot{text-align:center;margin-top:28px;color:var(--au-muted);font-size:12px;}

/* 免责声明同意区 */
.au-agree{margin:-4px 0 18px;}
.au-agree__label{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--au-text2);font-weight:500;cursor:pointer;line-height:1.5;}
.au-agree__label input{margin-top:2px;width:16px;height:16px;accent-color:var(--au-primary);flex-shrink:0;}
.au-agree__label a{color:var(--au-primary);font-weight:700;}
.au-agree__box{display:none;margin-top:10px;padding:10px 12px;background:#f8fafc;border:1px solid var(--au-border);border-radius:10px;font-size:12px;line-height:1.6;color:var(--au-text2);}
.au-agree__box.show{display:block;}

/* ============ 响应式 ============ */
@media(max-width:980px){
    .au-wrap{max-width:520px;min-height:auto;}
    .au-brand{display:none;}
    .au-panel{width:100%;max-width:none;padding:42px 38px;}
}
@media(max-width:560px){
    body{padding:0;background:linear-gradient(135deg,#f3f6fc 0%,#eef2f9 100%);}
    .au-wrap{border-radius:0;min-height:100vh;box-shadow:none;border:none;}
    .au-panel{padding:32px 24px;align-items:flex-start;padding-top:7vh;}
    .au-form__head{text-align:center;}
    .au-form__head .m-logo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;text-align:center;}
    .au-form__head .m-logo .ico{background:var(--au-grad-btn);border-radius:18px;padding:11px;display:flex;box-shadow:0 12px 26px -8px rgba(37,99,235,.5);}
    .au-form__head .m-logo .name{font-size:20px;font-weight:800;}
    .au-form__head h1{font-size:24px;}
}
