/* ============================================================
   今小朗网络验证 - 全局美化样式（自适应电脑 / 手机端）
   ============================================================ */

/* ---------- 基础 ---------- */
body{
    font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
    background:#f4f6f9;
    color:#333;
}

a{transition:all .2s ease;}

/* ---------- 顶部导航 ---------- */
.navbar-inverse{
    background:-webkit-linear-gradient(90deg,#3577b5,#4a90d9);
    background:linear-gradient(90deg,#3577b5,#4a90d9);
    border:none;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.navbar-inverse .navbar-brand{
    color:#fff !important;
    font-weight:700;
    letter-spacing:1px;
}
.navbar-inverse .navbar-brand:hover{color:#eaf3fb !important;}
.navbar-inverse .navbar-nav>li>a{
    color:#eaf3fb !important;
    font-size:14px;
}
.navbar-inverse .navbar-nav>li>a:hover,
.navbar-inverse .navbar-nav>li>a:focus{
    background-color:rgba(0,0,0,.12) !important;
    color:#fff !important;
}

/* ---------- 左侧导航 ---------- */
.side-nav{
    background:-webkit-linear-gradient(180deg,#4d9be0,#3577b5);
    background:linear-gradient(180deg,#4d9be0,#3577b5);
}
.side-nav>li>a{
    color:#eaf3fb !important;
    border-bottom:1px solid rgba(255,255,255,.06);
    padding:13px 15px;
}
.side-nav>li>a:hover,
.side-nav>li>a:focus,
.side-nav>li.dropdown.open>a{
    background:rgba(0,0,0,.18) !important;
    color:#fff !important;
    border-left:3px solid #8fc6ff;
}

/* ---------- 内容区域 ---------- */
.content-panel{
    padding:10px;
}
#page-wrapper,
.content-panel{
    background:transparent;
}
.breadcrumb{
    background:#fff;
    border-radius:4px;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
}

/* ---------- 面板 ---------- */
.panel{
    border:none;
    border-radius:6px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    overflow:hidden;
}
.panel-heading{border-bottom:none;}
.panel-primary>.panel-heading{
    background:-webkit-linear-gradient(90deg,#4a90d9,#6cb2e8);
    background:linear-gradient(90deg,#4a90d9,#6cb2e8);
    border-color:transparent;
}

/* ---------- 按钮 ---------- */
.btn{border-radius:4px;transition:all .2s ease;}
.btn-lg{border-radius:5px;}
.btn-primary{
    background:#4a90d9;
    border-color:#4a90d9;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active{
    background:#3577b5;
    border-color:#3577b5;
}
.btn-success{
    background:#1c84c6;
    border-color:#1c84c6;
}
.btn-success:hover{background:#176ba3;border-color:#176ba3;}
.btn-danger{
    background:#ed5565;
    border-color:#ed5565;
}
.btn-danger:hover{background:#d9454f;border-color:#d9454f;}
.btn-block{font-weight:600;}

/* ---------- 表单控件 / 搜索框 ---------- */
.form-control{
    border-radius:4px;
    border:1px solid #dcdfe6;
    box-shadow:none;
    height:38px;
}
.form-control:focus{
    border-color:#4a90d9;
    box-shadow:0 0 0 3px rgba(74,144,217,.15);
}
.input-lg{height:46px;font-size:16px;}
.form-group label{font-weight:600;color:#555;margin-bottom:6px;}

/* 筛选表单 */
.filter-form{
    background:#fff;
    padding:14px 14px 4px;
    border-radius:6px;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    margin-bottom:14px;
}
.tool-row{margin:0 0 14px;}

/* ---------- 表格 ---------- */
.table-responsive{
    border:none;
    background:#fff;
    border-radius:6px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.jhmtab>thead>tr>th{
    background:#f7f9fb;
    border-bottom:2px solid #e6e9ed;
    color:#555;
    font-size:13px;
    white-space:nowrap;
}
.jhmtab>tbody>tr>td{
    vertical-align:middle;
    font-size:13px;
}
.jhmtab .codecell{
    font-family:Consolas,Menlo,monospace;
    color:#4a90d9;
    font-weight:600;
    letter-spacing:.5px;
}
.col-chk{
    width:36px;
    text-align:center;
}
.chk-cell{display:block;text-align:center;margin:0;}
.chk-cell input[type=checkbox],
.col-chk input[type=checkbox]{
    width:16px;height:16px;cursor:pointer;
}
.jhmtab .label{
    font-size:12px;
    font-weight:500;
    padding:4px 8px;
    border-radius:3px;
}

/* 生成结果弹窗 */
.code-area{
    font-family:Consolas,Menlo,monospace;
    font-size:14px;
    line-height:1.7;
    background:#f6f8fa;
}

/* ---------- 登录页 ---------- */
body.login-body{
    background:-webkit-linear-gradient(135deg,#3577b5 0%,#4a90d9 60%,#6cb2e8 100%);
    background:linear-gradient(135deg,#3577b5 0%,#4a90d9 60%,#6cb2e8 100%);
    overflow:hidden;
}
.login-wrap{
    position:relative;
    z-index:2;
    min-height:100vh;
    display:-webkit-flex;
    display:flex;
    -webkit-align-items:center;
    align-items:center;
    -webkit-justify-content:center;
    justify-content:center;
    padding:20px;
}
.login-card{
    width:360px;
    max-width:100%;
    background:#fff;
    border-radius:10px;
    box-shadow:0 18px 50px rgba(0,0,0,.28);
    padding:34px 34px 26px;
    box-sizing:border-box;
}
.login-card .brand{
    text-align:center;
    margin-bottom:24px;
}
.login-card .brand .logo{
    display:inline-block;
    width:58px;height:58px;
    line-height:58px;
    border-radius:14px;
    background:-webkit-linear-gradient(135deg,#4a90d9,#6cb2e8);
    background:linear-gradient(135deg,#4a90d9,#6cb2e8);
    color:#fff;
    font-size:28px;
    margin-bottom:12px;
    box-shadow:0 8px 18px rgba(74,144,217,.4);
}
.login-card .brand h1{
    font-size:20px;
    margin:0;
    color:#333;
    font-weight:700;
}
.login-card .brand p{
    font-size:12px;
    color:#999;
    margin:6px 0 0;
}
.login-card .form-control{
    height:44px;
    padding-left:40px;
}
.login-field{position:relative;margin-bottom:16px;}
.login-field .fa{
    position:absolute;
    left:14px;top:14px;
    color:#b6bcc4;
    z-index:3;
}
.login-btn{
    width:100%;height:46px;
    font-size:16px;font-weight:700;
    letter-spacing:2px;
    background:-webkit-linear-gradient(90deg,#4a90d9,#6cb2e8);
    background:linear-gradient(90deg,#4a90d9,#6cb2e8);
    border:none;
    border-radius:5px;
    color:#fff;
    cursor:pointer;
    transition:all .2s ease;
}
.login-btn:hover{
    box-shadow:0 8px 18px rgba(74,144,217,.4);
    -webkit-transform:translateY(-1px);
    transform:translateY(-1px);
}
.login-foot{
    text-align:center;
    margin-top:18px;
    font-size:12px;
    color:#bbb;
}

/* ---------- 响应式 ---------- */
@media (max-width:768px){
    body{margin-top:50px;}
    .navbar-fixed-top{min-height:50px;}
    .navbar-inverse .navbar-brand{font-size:15px;padding-left:10px;}
    .content-panel{padding:6px;}
    .panel-body{padding:12px;}
    .breadcrumb{padding:8px 10px;font-size:13px;}
    .jhmtab{font-size:12px;}
    .jhmtab .codecell{font-size:11px;word-break:break-all;}
    .filter-form{padding:10px 8px 2px;}
    .login-card{padding:26px 22px 20px;}
    .announcement-heading{font-size:34px;}
}

/* ---------- 首页统计卡片 ---------- */
.stat-card{
    display:flex;
    align-items:center;
    background:#fff;
    border-radius:10px;
    padding:18px 16px;
    margin-bottom:16px;
    box-shadow:0 2px 12px rgba(53,119,181,.08);
    border:1px solid #eef2f7;
    text-decoration:none;
    color:#333;
    position:relative;
    overflow:hidden;
    transition:all .25s ease;
}
.stat-card:hover{
    box-shadow:0 10px 26px rgba(53,119,181,.18);
    -webkit-transform:translateY(-4px);
    transform:translateY(-4px);
    text-decoration:none;
    color:#333;
}
.stat-card:focus{text-decoration:none;color:#333;}
.stat-card::after{
    content:"";
    position:absolute;
    top:0;left:0;
    width:5px;height:100%;
}
.stat-icon{
    width:54px;height:54px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    color:#fff;
    flex:0 0 54px;
    margin-right:14px;
}
.stat-info{flex:1;min-width:0;}
.stat-num{
    font-size:26px;
    font-weight:700;
    line-height:1.1;
    color:#333;
}
.stat-label{
    font-size:13px;
    color:#8a97a6;
    margin-top:3px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.stat-arrow{
    color:#c6cfd9;
    font-size:18px;
    transition:all .25s ease;
}
.stat-card:hover .stat-arrow{
    color:#4a90d9;
    -webkit-transform:translateX(3px);
    transform:translateX(3px);
}
.stat-blue .stat-icon{background:linear-gradient(135deg,#4a90d9,#6cb2e8);}
.stat-blue::after{background:#4a90d9;}
.stat-cyan .stat-icon{background:linear-gradient(135deg,#35b5d9,#5fd0e8);}
.stat-cyan::after{background:#35b5d9;}
.stat-indigo .stat-icon{background:linear-gradient(135deg,#5a6fd6,#7b8ee8);}
.stat-indigo::after{background:#5a6fd6;}
.stat-sky .stat-icon{background:linear-gradient(135deg,#4aa3e0,#7cc0ee);}
.stat-sky::after{background:#4aa3e0;}
.stat-green .stat-icon{background:linear-gradient(135deg,#3cbf8f,#6dd5ae);}
.stat-green::after{background:#3cbf8f;}
.stat-red .stat-icon{background:linear-gradient(135deg,#e55b6c,#f08a97);}
.stat-red::after{background:#e55b6c;}
.stat-orange .stat-icon{background:linear-gradient(135deg,#f0a24a,#f7c27e);}
.stat-orange::after{background:#f0a24a;}
.stat-violet .stat-icon{background:linear-gradient(135deg,#7a6fd6,#a197ec);}
.stat-violet::after{background:#7a6fd6;}

@media (max-width:768px){
    .stat-num{font-size:22px;}
    .stat-icon{width:46px;height:46px;flex:0 0 46px;font-size:20px;border-radius:10px;}
    .stat-card{padding:14px 12px;}
}