/* ============================================================
   工作台门户 · 企业级样式
   ============================================================ */
:root{
  --cp-red:#e01e3b;
  --cp-red-dark:#c21633;
  --cp-ink:#16181d;
  --cp-sub:#6b7280;
  --cp-faint:#9aa1ab;
  --cp-line:#e6e8ec;
  --cp-bg:#f4f5f7;
  --cp-card:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:"PingFang SC","Microsoft YaHei",-apple-system,"Segoe UI",sans-serif;
  color:var(--cp-ink);
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(224,30,59,.06), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(224,30,59,.05), transparent 55%),
    var(--cp-bg);
  -webkit-font-smoothing:antialiased;
}
/* 细网格背景 */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(22,24,29,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(22,24,29,.028) 1px,transparent 1px);
  background-size:44px 44px;
}

.portal-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}

/* ---------- 顶栏 ---------- */
.portal-top{border-bottom:1px solid var(--cp-line);background:rgba(255,255,255,.86);backdrop-filter:blur(8px)}
.portal-top .inner{max-width:1120px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}
.brand-row{display:flex;align-items:center;gap:12px}
.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#ff5c74,#e01e3b);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;box-shadow:0 4px 12px rgba(224,30,59,.28)}
.brand-name{font-size:16px;font-weight:800;letter-spacing:.5px}
.brand-name small{display:block;font-size:11px;color:var(--cp-faint);font-weight:500;letter-spacing:1.5px;margin-top:1px}
.top-links{display:flex;gap:22px;align-items:center}
.top-links a{font-size:13px;color:var(--cp-sub);text-decoration:none}
.top-links a:hover{color:var(--cp-red)}
.top-links .sep{width:1px;height:14px;background:var(--cp-line)}

/* ---------- 主体 ---------- */
.portal-main{flex:1;display:flex;align-items:center;justify-content:center;padding:56px 24px 40px}
.portal-grid{width:100%;max-width:1080px;display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}

/* 左：品牌区 */
.brand-panel .eyebrow{font-size:12px;letter-spacing:3px;color:var(--cp-red);font-weight:700;margin-bottom:18px}
.brand-panel h1{font-size:40px;line-height:1.25;font-weight:800;letter-spacing:.5px}
.brand-panel h1 em{font-style:normal;color:var(--cp-red)}
.brand-panel .lead{font-size:15.5px;color:var(--cp-sub);line-height:1.8;margin:20px 0 34px;max-width:440px}
.value-list{display:flex;flex-direction:column;gap:18px;max-width:460px}
.value-item{display:flex;gap:14px;align-items:flex-start}
.value-item .vi-ico{width:40px;height:40px;flex:none;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;background:#fff;border:1px solid var(--cp-line);box-shadow:0 2px 8px rgba(22,24,29,.05)}
.value-item b{font-size:14.5px;display:block;margin-bottom:3px}
.value-item span{font-size:12.5px;color:var(--cp-sub);line-height:1.6}
.trust-row{display:flex;gap:26px;margin-top:38px;padding-top:24px;border-top:1px solid var(--cp-line);max-width:460px}
.trust-item{font-size:12px;color:var(--cp-faint);display:flex;flex-direction:column;gap:4px}
.trust-item b{font-size:14px;color:var(--cp-ink)}

/* 右：登录卡 */
.auth-card{background:var(--cp-card);border:1px solid var(--cp-line);border-radius:20px;box-shadow:0 24px 60px rgba(22,24,29,.09);padding:38px 36px 30px}
.auth-card .ac-title{font-size:21px;font-weight:800}
.auth-card .ac-sub{font-size:13px;color:var(--cp-sub);margin:8px 0 22px;line-height:1.6}
.role-tabs{display:flex;background:#f1f2f5;border-radius:11px;padding:4px;margin-bottom:20px}
.role-tab{flex:1;text-align:center;padding:9px 6px;font-size:13px;font-weight:600;color:var(--cp-sub);border-radius:8px;cursor:pointer;transition:.18s;border:0;background:transparent;font-family:inherit}
.role-tab.active{background:#fff;color:var(--cp-red);box-shadow:0 2px 8px rgba(22,24,29,.08);font-weight:700}
.role-desc{font-size:12.5px;color:var(--cp-sub);line-height:1.7;margin:-8px 0 16px;min-height:38px}
.auth-form label{display:block;font-size:12.5px;font-weight:600;color:#4b5563;margin:0 0 6px}
.auth-form input{width:100%;height:46px;border:1.5px solid var(--cp-line);border-radius:11px;padding:0 14px;font-size:14.5px;background:#fbfbfc;transition:.18s;font-family:inherit}
.auth-form input:focus{outline:none;border-color:var(--cp-red);background:#fff;box-shadow:0 0 0 3px rgba(224,30,59,.1)}
.auth-form .btn-main{width:100%;height:46px;margin-top:16px;border:0;border-radius:11px;background:linear-gradient(135deg,#ff5c74,#e01e3b);color:#fff;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:2px;box-shadow:0 6px 18px rgba(224,30,59,.3);transition:.18s}
.auth-form .btn-main:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(224,30,59,.38)}
.auth-form .form-err{color:var(--cp-red);font-size:12.5px;margin-top:10px}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--cp-faint);font-size:12px;margin:22px 0 6px}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--cp-line)}
.alt-links{display:flex;flex-direction:column;gap:2px}
.alt-link{display:flex;align-items:center;gap:9px;padding:10px 4px;font-size:13.5px;color:#4b5563;text-decoration:none;border-radius:8px;transition:.15s}
.alt-link:hover{color:var(--cp-red);background:#faf5f6}
.alt-link .al-ico{font-size:16px;width:20px;text-align:center}
.alt-link .al-go{margin-left:auto;color:var(--cp-faint);font-size:12px}
.secure-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11.5px;color:var(--cp-faint);margin-top:18px}

/* ---------- 底栏 ---------- */
.portal-foot{border-top:1px solid var(--cp-line);background:rgba(255,255,255,.7)}
.portal-foot .inner{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;font-size:12px;color:var(--cp-faint)}

@media(max-width:900px){
  .portal-grid{grid-template-columns:1fr;gap:34px}
  .brand-panel h1{font-size:30px}
  .portal-main{padding-top:34px}
}
