/* 门户页完整样式(2026-10-24 三次改版:小清新)
 * 粉白蓝淡彩底 + 白色磨砂卡片 + iOS 式分段滑块 + 柔和品红按钮;去科技装饰,动画仅保留过渡。
 * 不依赖 core.min.css / login.css(留档);.none 与 toast 自包含;老 WebView 带 -webkit- 前缀。
 */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html,
body {
    height: 100%;
}

body.body-bg {
    background-color: #f7f6fb;
    background-image:
        radial-gradient(ellipse 62% 34% at 12% -4%, rgba(255, 182, 214, 0.4), rgba(255, 182, 214, 0) 62%),
        radial-gradient(ellipse 56% 36% at 96% 12%, rgba(198, 219, 255, 0.42), rgba(198, 219, 255, 0) 60%),
        radial-gradient(ellipse 70% 40% at 50% 112%, rgba(226, 205, 255, 0.35), rgba(226, 205, 255, 0) 58%),
        linear-gradient(165deg, #fdf4f8 0%, #f5f6fc 52%, #eff6fd 100%);
    color: #3d4252;
    font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', 'Microsoft YaHei', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* ---------- 页面布局 ---------- */

.m-page {
    min-height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -webkit-justify-content: center;
    align-items: center;
    justify-content: center;
    padding: 34px 20px;
}

/* ---------- 卡片 ---------- */

.m-form.company {
    position: relative;
    width: 100%;
    max-width: 380px;
    padding: 38px 26px 30px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.9);
    box-shadow: 0 20px 48px rgba(190, 120, 165, 0.16);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

/* ---------- 品牌区 ---------- */

.portal-brand {
    text-align: center;
    margin-bottom: 30px;
}

.portal-logo {
    display: block;
    width: 84px;
    height: 84px;
    margin: 0 auto 16px;
    -webkit-filter: drop-shadow(0 8px 18px rgba(236, 9, 116, 0.22));
    filter: drop-shadow(0 8px 18px rgba(236, 9, 116, 0.22));
}

.portal-title {
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 0.34em;
    padding-left: 0.34em;
    color: #3d4252;
}

.portal-sub {
    margin-top: 9px;
    font-size: 12px;
    letter-spacing: 0.24em;
    padding-left: 0.24em;
    color: #a8b0c4;
}

/* ---------- 表单行 ---------- */

.form-item {
    margin-bottom: 18px;
}

.form-item .item-left {
    display: block;
    float: none;
    width: auto;
    height: auto;
    margin-bottom: 9px;
    font-size: 13px;
    font-family: inherit;
    color: #98a1b3;
    letter-spacing: 0.1em;
    text-align: left;
}

.form-item .item-left span {
    display: none;
}

.form-item .item-right {
    margin-left: 0;
    height: auto;
    line-height: normal;
}

/* ---------- 输入框 ---------- */

.m-input {
    display: block;
    width: 100%;
    height: 46px;
    padding: 0 15px;
    font-size: 15px;
    font-family: inherit;
    color: #3a4150;
    line-height: 46px;
    text-align: left;
    background: #f6f7fb;
    border: 1px solid #e7eaf3;
    border-radius: 13px;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
}

.m-input::-webkit-input-placeholder {
    color: #bcc3d2;
}

.m-input::placeholder {
    color: #bcc3d2;
}

.m-input:focus {
    border-color: #f0619f;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(240, 97, 159, 0.14);
}

/* ---------- 分段选项(服务器二选一 / 登录端三选一) ---------- */

.m-seg {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    padding: 3px;
    border-radius: 13px;
    background: #f1f2f8;
    border: 1px solid #e9ecf4;
}

.m-seg .seg-item {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    height: 38px;
    line-height: 38px;
    font-size: 14px;
    color: #9aa3b5;
    text-align: center;
    border-radius: 10px;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}

.m-seg .seg-item.active {
    color: #e20974;
    font-weight: 600;
    background: #fff;
    box-shadow: 0 3px 12px rgba(190, 120, 165, 0.28);
}

/* ---------- 提交按钮 ---------- */

.m-btn {
    margin-top: 26px;
    height: 48px;
    line-height: 48px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.4em;
    padding-left: 0.4em;
    text-align: center;
    color: #fff;
    background: linear-gradient(135deg, #ff6fa9 0%, #e20974 100%);
    box-shadow: 0 10px 24px rgba(226, 9, 116, 0.26);
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.2s;
}

.m-btn:active {
    transform: scale(0.97);
    box-shadow: 0 6px 16px rgba(226, 9, 116, 0.22);
}

/* ---------- 工具 / toast ---------- */

.none {
    display: none;
}

#portalToast {
    position: fixed;
    left: 50%;
    bottom: 12%;
    transform: translateX(-50%);
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(240, 97, 159, 0.35);
    box-shadow: 0 10px 28px rgba(120, 90, 130, 0.18);
    color: #4a5160;
    font-size: 14px;
    padding: 10px 18px;
    border-radius: 12px;
    max-width: 80vw;
    word-break: break-all;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
    z-index: 99;
}

#portalToast.show {
    opacity: 1;
}
