﻿/* ============================================================
   登录页 V5 · 成人高考站补充样式（2026-10-28，照湖北研考考务站 ykkw 的 LoginV5.Yjs.css）
   ------------------------------------------------------------
   Skin/LoginV5.css 是从研考站原样拷来的共享文件（研考站又是从武汉高考站拷的），
   禁止就地改动（以后几站要能一起升级）。本站独有的差异——WebForms 控件渲染出来的
   <input type="submit">、原生 <select> 兜底、卡内微信二维码——一律写在这里，
   加载顺序必须排在 LoginV5.css 之后。

   依赖（必须在本文件之前引入，顺序 tokens → bg → 本页样式）：
     /front/yt-sharedwebtokens/yt-tokens.css   ← 本站同源的羊驼共享产品，不像研考那样拷一份到本地
     /front/yt-sharedwebbg/yt-bg.css
     /Skin/LoginV5.css
   ============================================================ */

/* ---------- WebForms 控件适配 ---------- */

/* asp:Button 渲染成 <input type="submit">，要抹掉浏览器原生外观，
   不然 WebKit 会把圆角和阴影按系统按钮重画 */
input.yt-btn,
input.yt-btn:focus {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
}

/* asp:TextBox 渲染成 <input type="password">，只补一条盒模型保险 */
.v5-form input.ipt {
    box-sizing: border-box;
}

/* 没有 .lbl 标签的字段（沿用原页面「靠 placeholder 提示」的写法），
   去掉 .yt-field 预留的标签行间距。用显式类不用 :has()——360 安全浏览器
   的老 Chromium 内核不认 :has() */
.v5-form .yt-field.no-lbl {
    gap: 0;
}

/* ---------- 账号密码区（默认隐藏，见 Default.aspx） ---------- */
/* 外面多包了一层 div 才好整块显隐，拿不到 .v5-stack 的纵向间距，这里补上；
   隐藏时服务端写的行内 display:none 优先级更高，不受这条影响 */
.v5-mima {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ---------- 主操作区 ---------- */
.v5-actions .grid {
    gap: 12px;
}

/* ---------- 卡内辅助链接（找回密码 / 推荐浏览器） ---------- */
.v5-links.v5-links-sm {
    font-size: var(--fs-label);
}

/* ---------- 玻璃下拉：只给选中项显示对勾 ---------- */
/* 共享的 LoginV5.css 只写了 .yt-sel-check 的颜色，没写未选中时隐藏。
   用 visibility 不用 display：.yt-sel-opt 是 space-between 布局，撤掉盒子会让文字跳位 */
.yt-sel-opt .yt-sel-check {
    visibility: hidden;
}

.yt-sel-opt.sel-opt-active .yt-sel-check {
    visibility: visible;
}

/* ---------- 微信扫码（只在账号密码区显示时出现，见 Default.aspx） ---------- */
.v5-qr {
    text-align: center;
    font-size: var(--fs-label);
    color: var(--text-muted);
}

.v5-qr img {
    display: block;
    margin: 0 auto 6px;
    width: 150px;
    height: 150px;
}

/* ---------- 卡外备案区：公网安备图标 ---------- */
/* 原页面用的是外链小图标（不是内联 svg），给它对齐一下基线 */
.v5-beian img {
    display: block;
    width: 14px;
    height: 14px;
}

/* ============================================================
   登录后「登录日志 · 安全检查」双栏（YangTuoDengLu.aspx / Default2.aspx 共用）
   照研考 YangTuoDengLu.aspx 页内 <style> 原样搬来（研考那边写在页面里，本站两页共用所以放这里）；
   列表 HTML 由 App_Code/Common/YtDengLuRiZhi.cs 生成
   ============================================================ */
/* ---------- 左右两栏：左 登录 / 确认（主），右 登录日志（辅） ---------- */
.ytdl-grid {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 980px;
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
}

.ytdl-grid .v5-cardwrap {
    max-width: none;
}

/* 左卡与右栏等高，内容在卡内垂直居中 */
.ytdl-grid .v5-cardwrap > .yt-card {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* 辅助面板：比主卡片更轻 —— 玻璃底、细边、弱阴影 */
.ytdl-log {
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-sizing: border-box;
    padding: var(--space-6) var(--space-6) var(--space-5);
    border-radius: var(--radius-2xl);
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow-sm);
    -webkit-backdrop-filter: blur(var(--glass-blur-sm));
    backdrop-filter: blur(var(--glass-blur-sm));
    font-family: var(--font-zh);
}

.ytdl-log-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--glass-border);
}

.ytdl-log-title {
    margin: 0;
    font-size: var(--fs-body);
    font-weight: 700;
    color: var(--text);
}

.ytdl-log-title small {
    margin-left: 8px;
    font-size: var(--fs-label);
    font-weight: 600;
    color: var(--gold-dark);
    letter-spacing: 0.04em;
}

.ytdl-log-sub {
    font-size: var(--fs-label);
    color: var(--text-muted);
    white-space: nowrap;
}

/* 时间线列表 */
.ytdl-log-list {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ytdl-log-list::before {
    content: '';
    position: absolute;
    left: 5px;
    top: 14px;
    bottom: 14px;
    width: 1px;
    background: linear-gradient(180deg, var(--gold-mid), transparent);
    opacity: 0.55;
}

.ytdl-log-item {
    position: relative;
    display: grid;
    grid-template-columns: 11px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
    padding: 8px 0;
}

.ytdl-dot {
    width: 11px;
    height: 11px;
    margin-top: 4px;
    box-sizing: border-box;
    border-radius: 50%;
    border: 2px solid var(--gold-mid);
    background: var(--gold-cream);
}

.ytdl-log-item.s-dai .ytdl-dot { border-color: var(--warning-dim); background: var(--warning); }
.ytdl-log-item.s-ben .ytdl-dot { border-color: var(--success-dim); background: var(--success); }
.ytdl-log-item.s-fei .ytdl-dot { border-color: var(--primary-dark); background: var(--primary); }

.ytdl-log-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.ytdl-log-row1 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ytdl-time {
    font-family: var(--font-mono);
    font-size: var(--fs-body-sm);
    font-weight: 600;
    color: var(--text);
}

.ytdl-tag {
    padding: 1px 8px;
    border-radius: var(--radius-pill);
    font-size: var(--fs-micro);
    font-weight: 700;
    line-height: 1.7;
}

.s-dai .ytdl-tag { background: rgba(212, 178, 64, 0.20); color: var(--warning-text); }
.s-ben .ytdl-tag { background: rgba(42, 140, 96, 0.13); color: var(--success-text); }
.s-fei .ytdl-tag { background: var(--primary-light); color: var(--primary-dark); }

.ytdl-log-row2 {
    display: flex;
    gap: 6px;
    min-width: 0;
    font-size: var(--fs-label);
    color: var(--text-muted);
}

.ytdl-log-row2 .v5-num {
    flex: none;
}

.ytdl-ua {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 「非本人？」：次要的描边小胶囊，不和左侧主按钮抢视觉 */
.ytdl-fbr {
    margin-top: 1px;
    padding: 3px 10px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--control-subtle-border);
    background: var(--control-subtle-bg);
    font-family: var(--font-zh);
    font-size: var(--fs-label);
    color: var(--text-dim);
    cursor: pointer;
    white-space: nowrap;
    transition: transform var(--dur-fast) var(--ease-spring), color var(--dur-base), border-color var(--dur-base);
}

.ytdl-fbr:hover {
    color: var(--primary);
    border-color: var(--primary);
}

.ytdl-fbr:active {
    transform: scale(0.95);
}

.ytdl-fbr:disabled {
    opacity: 0.5;
    cursor: default;
}

.ytdl-empty {
    margin: 12px 0;
    font-size: var(--fs-body-sm);
    color: var(--text-muted);
    text-align: center;
}

.ytdl-log-foot {
    margin: auto 0 0;
    padding-top: 10px;
    border-top: 1px dashed var(--glass-border);
    font-size: var(--fs-label);
    line-height: 1.8;
    color: var(--text-muted);
}

@media (max-width: 880px) {
    .ytdl-grid {
        max-width: 480px;
        grid-template-columns: minmax(0, 1fr);
    }
}

/* 身份没校验过（右栏日志不显示）时只剩左卡：居中，不留空右栏 */
.ytdl-grid.ytdl-single {
    max-width: 480px;
    grid-template-columns: minmax(0, 1fr);
}

/* 落地页错误提示（登录信息失效、未开通本系统权限等） */
.v5-note.ytdl-err {
    color: var(--danger-text);
    font-weight: 600;
}
