*{box-sizing:border-box}
html,body{min-height:100%}
body.home-view,body.pl-page{margin:0;font-family:"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;color:#fff;background:radial-gradient(circle at 15% 10%,rgba(52,211,153,.35),transparent 38%),radial-gradient(circle at 90% 35%,rgba(56,189,248,.25),transparent 40%),linear-gradient(165deg,#04211d 0%,#073b33 45%,#0a2a3a 100%);background-attachment:fixed;position:relative;min-height:100svh;display:flex;flex-direction:column}
body.home-view>header,body.home-view>footer,body.pl-page>header,body.pl-page>footer{display:none!important}
body.home-view main,body.pl-page main{width:100%;max-width:none;flex:1;padding:0;margin:0;display:block}
body.home-view #notice:empty,body.pl-page #notice:empty{display:none}
.grid{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;z-index:0}
.wrap{position:relative;z-index:1;max-width:440px;margin:0 auto;padding:calc(44px + env(safe-area-inset-top)) 26px calc(24px + env(safe-area-inset-bottom))}
.logo{width:62px;height:62px;border-radius:18px;margin:0 auto 18px;background:linear-gradient(135deg,#34d399,#0ea5e9);box-shadow:0 0 30px rgba(52,211,153,.55);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px}
#home h1,.wrap>h1{margin:0;text-align:center;font-size:27px;letter-spacing:1px;font-weight:800;color:#fff}
#home h1 sup,.wrap>h1 sup{font-size:11px;opacity:.8}
#home h1 span,.wrap>h1 span{background:linear-gradient(90deg,#6ee7b7,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.l2{text-align:center;margin:10px 0 0;font-size:15.5px;color:#d1fae5;letter-spacing:2px}
.l3{text-align:center;margin:12px auto 0;font-size:12px;color:#a7f3d0;padding:6px 12px;border:1px solid rgba(110,231,183,.35);border-radius:20px;width:fit-content;max-width:100%;background:rgba(16,185,129,.08)}
.card{margin-top:22px;border-radius:22px;padding:24px 22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.card h2{margin:0 0 6px;font-size:18px;color:#fff}.sub{font-size:12px;color:#94b8b0;margin:0 0 10px}
.card>label{font-size:12.5px;color:#b6d4cd;display:block;margin:14px 0 7px;font-weight:500}
.card input:not([type=checkbox]){width:100%;height:46px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.14);padding:0 14px;color:#fff;font-size:16px;outline:none;min-height:46px}
.card input::placeholder{color:#7f9e97;font-size:14px}.card input:focus{border-color:#6ee7b7}
.row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6ee7b7;margin:13px 0 18px}
.remember{display:flex;align-items:center;gap:6px;font-weight:400}.remember input{accent-color:#10b981;margin:0;width:auto;min-height:0}
.link{background:none;border:0;color:#6ee7b7;font-size:12px;padding:0;cursor:pointer;min-height:0}
#pl-notice{font-size:13px;color:#fde68a;margin:-6px 0 10px;line-height:1.5}#pl-notice:empty{display:none}#pl-notice a{color:#7dd3fc}
.btn{display:block;width:100%;height:48px;border:0;border-radius:12px;color:#fff;text-align:center;font-weight:700;font-size:16px;letter-spacing:4px;background:linear-gradient(90deg,#10b981,#0ea5e9);box-shadow:0 8px 24px rgba(16,185,129,.4);cursor:pointer;min-height:48px;padding:0}
.btn:disabled{opacity:.6}
.btn2{display:block;height:46px;border-radius:12px;line-height:44px;text-align:center;font-size:15px;margin-top:12px;border:1px solid rgba(110,231,183,.6);color:#a7f3d0;text-decoration:none;background:transparent;font-weight:500}
.tip{text-align:center;font-size:11.5px;color:#8fb0a9;margin:16px 0 0}
.foot{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;margin-top:18px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:linear-gradient(90deg,rgba(251,191,36,.18),rgba(16,185,129,.15));border:1px solid rgba(251,191,36,.55);box-shadow:0 0 22px rgba(251,191,36,.25);min-height:0}
.foot .ic{flex:none;width:40px;height:40px;border-radius:11px;background:#fbbf24;color:#073b33;font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center}
.foot b{font-size:15.5px;color:#fde68a;display:block}.foot small{font-size:11.5px;color:#cfe3dd}
.foot .go{margin-left:auto;flex:none;font-size:13px;color:#073b33;background:#fbbf24;border-radius:14px;padding:6px 12px;font-weight:700}
.icp{text-align:center;font-size:11px;color:#6f8f88;margin:18px 0 0}.icp a{color:#6f8f88}
dialog{border:1px solid rgba(251,191,36,.55);border-radius:18px;background:#073b33;color:#fff;max-width:340px;padding:20px}
dialog::backdrop{background:rgba(0,0,0,.6)}dialog h3{margin:0 0 10px;color:#fde68a}dialog p{font-size:14px;line-height:1.6;margin:8px 0;color:#fff}dialog .small{font-size:12px;color:#a7c7c0}dialog .btn{margin-top:14px}
/* staff-login.1：总部／后台人员登录入口（银色玻璃） */
.staff{margin:14px auto 0;width:fit-content;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:12.5px;letter-spacing:1px;color:#e2e8f0;text-decoration:none;background:rgba(255,255,255,.06);border:1px solid rgba(203,213,225,.35);backdrop-filter:blur(10px)}
.staff i{font-style:normal;width:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,#94a3b8,#e2e8f0);color:#0a2a3a;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.staff em{font-style:normal;color:#7dd3fc}

/* === 1.2.87-login1：桌面提示缩至约2/3；总部入口约1.5倍；合伙人卡上下收约1/5（电脑+手机） === */
/* 合伙人登录大模块：上下高度约收 1/5 */
.card{
  margin-top:18px;
  padding:19px 20px;
}
.card h2{margin:0 0 4px;font-size:17px}
.sub{margin:0 0 8px}
.card>label{margin:11px 0 5px}
.card input:not([type=checkbox]){height:42px;min-height:42px;padding:0 12px}
.row{margin:10px 0 14px}
.btn{height:44px;min-height:44px}
.btn2{height:42px;line-height:40px;margin-top:10px}
.tip{margin:12px 0 0}

/* 品牌区略收，给下方总部入口腾屏 */
.wrap{padding:calc(32px + env(safe-area-inset-top)) 22px calc(18px + env(safe-area-inset-bottom))}
.logo{width:52px;height:52px;border-radius:15px;margin:0 auto 12px;font-size:24px}
#home h1,.wrap>h1{font-size:24px}
.l2{margin:8px 0 0;font-size:14px}
.l3{margin:8px auto 0;padding:5px 10px;font-size:11.5px}

/* 添加到手机桌面：整体约原来 2/3 */
.foot{
  margin-top:12px;
  gap:8px;
  padding:9px 11px;
  border-radius:12px;
  box-shadow:0 0 14px rgba(251,191,36,.18);
}
.foot .ic{width:27px;height:27px;border-radius:8px;font-size:16px}
.foot b{font-size:10.5px}
.foot small{font-size:8px}
.foot .go{font-size:9px;border-radius:10px;padding:4px 8px}

/* 总部／后台人员登录：约原来 1.5 倍，更醒目、少翻页 */
.staff{
  margin:16px auto 0;
  width:100%;
  max-width:100%;
  justify-content:center;
  gap:12px;
  padding:12px 22px;
  border-radius:16px;
  font-size:19px;
  font-weight:700;
  letter-spacing:1.2px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(226,232,240,.55);
  box-shadow:0 8px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
}
.staff i{
  width:30px;height:30px;border-radius:9px;font-size:16px;
}
.staff em{font-size:1.1em;margin-left:2px}

.icp{margin:14px 0 0}

@media(max-width:760px){
  .wrap{padding:calc(24px + env(safe-area-inset-top)) 18px calc(16px + env(safe-area-inset-bottom))}
  .logo{width:46px;height:46px;margin:0 auto 10px;font-size:22px}
  #home h1,.wrap>h1{font-size:22px}
  .l2{margin:6px 0 0;font-size:13px}
  .l3{margin:6px auto 0;font-size:11px;padding:4px 9px}
  .card{margin-top:14px;padding:16px 16px}
  .card h2{font-size:16px}
  .card input:not([type=checkbox]){height:40px;min-height:40px}
  .btn{height:42px;min-height:42px}
  .btn2{height:40px;line-height:38px}
  .foot{margin-top:10px;padding:8px 10px;gap:7px}
  .foot .ic{width:24px;height:24px;font-size:14px}
  .foot b{font-size:10px}
  .foot small{font-size:7.5px}
  .foot .go{font-size:8.5px;padding:3px 7px}
  .staff{
    margin:14px auto 0;
    padding:14px 18px;
    font-size:18px;
    border-radius:14px;
  }
  .staff i{width:28px;height:28px;font-size:15px}
}

/* === 1.2.88-login2：添加到手机桌面 两行并一行；字号对齐「登录」按钮 16px；塞不下则主文案大、说明略小 === */
.foot{
  margin-top:12px;
  gap:8px;
  padding:10px 12px;
  align-items:center;
}
.foot .ic{width:28px;height:28px;border-radius:8px;font-size:16px}
.foot-txt{
  display:flex;
  align-items:baseline;
  flex-wrap:nowrap;
  gap:6px;
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
}
.foot b{
  display:inline !important;
  font-size:16px; /* 与 .btn「登录」同字号 */
  font-weight:800;
  color:#fde68a;
  line-height:1.2;
  white-space:nowrap;
}
.foot small{
  display:inline !important;
  font-size:16px; /* 同行同字号；窄屏略缩小 */
  font-weight:500;
  color:#cfe3dd;
  line-height:1.2;
  white-space:nowrap;
}
.foot .go{font-size:12px;border-radius:10px;padding:5px 10px;flex:none}
@media(max-width:760px){
  .foot{margin-top:10px;padding:9px 10px;gap:7px}
  .foot .ic{width:26px;height:26px;font-size:15px}
  .foot-txt{gap:5px}
  .foot b{font-size:15px} /* 仍贴近登录键 */
  .foot small{font-size:12px} /* 一行塞不下：说明略小 */
  .foot .go{font-size:11px;padding:4px 8px}
}
@media(max-width:380px){
  .foot b{font-size:14px}
  .foot small{font-size:11px}
}
