/* ==========================================================================
 * 邻里喜乐多 · 城市系统总后台 · 界面重排版
 * --------------------------------------------------------------------------
 * 说明：
 *   1. 本文件只做「覆盖」，不修改 bootstrap / common / common_v2 / style.min；
 *   2. 作用于 weliam_smartcity 后台两套外壳：
 *        - .head / .app-sidebar / .second-sidebar / .app-container（城市系统业务页）
 *        - .skin-2__left（平台 / 用户 / 设置 / 云服务页，只改配色不改几何）
 *      以及登录页 .system-login-new；
 *   3. 不改动任何菜单 URL、权限判断与 JS 交互逻辑；
 *   4. 侧栏由 100px 放宽到 208px，二级菜单由 110px 放宽到 188px，
 *      内容区 padding-left 由 210px 改为 396px（208 + 188）。
 * ========================================================================== */

/* --------------------------------------------------------------------------
 * 0. 基础
 * -------------------------------------------------------------------------- */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
        "Microsoft YaHei", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #344054;
    background: #f3f5f9;
}

a {
    color: #4f6ef7;
}

a:hover,
a:focus {
    color: #3d5ae8;
    text-decoration: none;
}

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-thumb {
    background: #d0d5dd;
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
    background: #98a2b3;
    background-clip: content-box;
}

::-webkit-scrollbar-track {
    background: transparent;
}

/* --------------------------------------------------------------------------
 * 1. 左侧主导航（100px → 208px）
 *    body > .head 限定：登录页里的 .head 位于 .system-login-new 内，不受影响
 * -------------------------------------------------------------------------- */
body > .head {
    width: 208px;
    background: #fff;
    border-right: 1px solid #e9edf3;
    border-bottom: 0;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

.head .app-sidebar {
    width: 208px;
}

.head .head-before {
    height: 56px;
    padding: 0 18px;
    justify-content: center;
}

.head .head-logo {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background-color: #f4f6fb;
    background-size: cover;
    box-shadow: 0 0 0 1px rgba(16, 24, 40, .06);
}

.head .app-sidebar-list {
    padding: 4px 12px;
}

.head .app-sidebar-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.head .app-sidebar-list li {
    margin-bottom: 4px;
}

.head .app-sidebar-list li a {
    height: 42px;
    line-height: 42px;
    margin-bottom: 0;
    padding: 0 14px;
    border-radius: 10px;
    color: #475467;
    font-size: 14px;
    font-weight: 500;
    transition: background-color .15s ease, color .15s ease;
}

.head .app-sidebar-list li a:hover {
    background-color: #f4f6fb;
    color: #4f6ef7 !important;
}

.head .app-sidebar-list .active a,
.head .app-sidebar-list .active a:hover {
    background-color: #eef2ff;
    color: #4f6ef7 !important;
    font-weight: 600;
}

/* 左下角账号区 */
.head .app-login-info-name {
    padding: 14px 16px;
    background-color: #fff;
    border-top: 1px solid #eef1f5;
}

.head .app-login-info-name-d {
    height: auto;
    align-items: center;
}

.head .app-login-info-name .face {
    width: 30px;
    height: 30px;
    line-height: 28px;
    margin-top: 0;
    border: 1px solid #e4e7ec;
    background-color: #f4f6fb;
}

.head .app-login-info-name .face i {
    color: #4f6ef7;
    font-size: 15px;
}

.head .app-login-info-name .name {
    height: auto;
    line-height: 20px;
    padding-left: 10px;
    color: #344054;
    font-size: 14px;
    font-weight: 600;
}

.head .app-login-info-sel {
    width: 186px;
    left: 11px;
    border: 1px solid #eef1f5;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, .12);
}

.head .app-login-info-sel .sel-p {
    padding: 13px 15px;
    color: #344054;
    font-size: 13.5px;
}

.head .app-login-info-sel .sel-p .h3 {
    margin: 0;
    font-size: 13.5px;
    font-weight: 500;
}

.head .app-login-info-sel .sel-p:hover {
    background-color: #f4f6fb;
}

/* --------------------------------------------------------------------------
 * 2. 二级菜单（110px → 188px）
 * -------------------------------------------------------------------------- */
.second-sidebar {
    left: 208px;
    width: 188px;
    background: #fff;
    border-right: 1px solid #e9edf3;
    box-shadow: none;
}

.second-sidebar-t {
    height: 56px;
    line-height: 56px;
    padding: 0 18px;
    border: 0;
    border-bottom: 1px solid #eef1f5;
    color: #101828;
    font-size: 15px;
    font-weight: 600;
}

.second-sidebar .panel {
    padding: 12px 10px 0;
    margin-bottom: 0;
}

.second-sidebar .panel .panel-heading {
    padding: 0 8px;
    background: transparent;
    border-bottom: 0;
}

.second-sidebar .panel .panel-heading:before {
    display: none;
}

.second-sidebar .panel-title {
    height: auto;
    line-height: 18px;
    margin: 0 0 8px;
    color: #98a2b3;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
}

.second-sidebar .list-group-item {
    height: 38px;
    line-height: 38px;
    margin: 0 0 2px;
    padding: 0 12px !important;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #475467;
    font-size: 13.5px;
}

.second-sidebar .list-group-item:hover {
    background-color: #f4f6fb;
    color: #4f6ef7;
}

.second-sidebar .list-group .list-group-item.active,
.second-sidebar .list-group .list-group-item.active:hover {
    background-color: #eef2ff;
    color: #4f6ef7 !important;
    font-weight: 600;
}

/* --------------------------------------------------------------------------
 * 3. 整体几何：内容区让位给 208 + 188
 * -------------------------------------------------------------------------- */
.app-container {
    padding-left: 396px;
}

.app-container.empty-big-menu {
    padding-left: 208px;
}

#page-loading {
    left: 208px;
}

/* 顶部页签（fixed 全宽，左侧留出侧栏） */
.app-container-right .nav-tabs {
    height: 56px;
    line-height: 56px;
    padding-left: 401px;
    background: #fff;
    border-bottom: 1px solid #eef1f5;
    box-shadow: none;
}

.empty-big-menu .nav-tabs {
    padding-left: 213px;
}

.app-container-right .nav-tabs a {
    height: 56px;
    line-height: 56px;
    padding: 0 18px;
    color: #667085;
    font-size: 14px;
    border: 0;
}

.app-container-right .nav-tabs a:hover {
    background: #f9fafb;
    border: 0;
}

.app-container-right .nav-tabs .active a,
.app-container-right .nav-tabs > li.active > a,
.app-container-right .nav-tabs > li.active > a:hover,
.app-container-right .nav-tabs > li.active > a:focus {
    position: relative;
    color: #101828;
    font-weight: 600;
    background: #fff;
    border: 0;
}

.app-container-right .nav-tabs .label {
    float: none !important;
    display: inline-block;
    margin: 0 0 0 6px !important;
    position: relative;
    top: -1px;
    font-size: 12px;
    font-weight: 600;
    vertical-align: middle;
}

.app-container-right .nav-tabs .active a:after,
.app-container-right .nav-tabs > li.active > a:after {
    content: "";
    width: calc(100% - 36px);
    height: 2px;
    background: #4f6ef7;
    position: absolute;
    left: 18px;
    bottom: 0;
    border-radius: 2px;
}

.app-container-right .nav-tabs .active:nth-last-child(1):first-child a:after {
    height: 0;
}

/* --------------------------------------------------------------------------
 * 4. 内容卡片
 * -------------------------------------------------------------------------- */
.app-container-right .app-content {
    min-height: calc(100vh - 112px);
    margin: 72px 20px 20px;
    padding: 22px 24px;
    background: #fff;
    border: 1px solid #eef1f5;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

.app-content .app-filter .filter-list {
    padding: 16px 18px 2px;
    background: #f8f9fb;
    border-radius: 12px;
    margin-bottom: 20px;
}

.app-content .app-filter .filter-list .form-group {
    margin-bottom: 16px;
}

.app-content .app-filter .filter-action {
    margin-bottom: 16px;
}

.app-container-right .foot {
    padding-bottom: 8px;
}

.app-container-right .foot .copyright {
    color: #98a2b3;
    font-size: 12.5px;
}

/* --------------------------------------------------------------------------
 * 5. 表格
 * -------------------------------------------------------------------------- */
.table {
    margin-bottom: 0;
}

.table > thead > tr > th {
    padding: 12px 14px;
    background: #f8fafc;
    border-bottom: 1px solid #e9edf3;
    color: #667085;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.table > tbody > tr > td,
.table > tbody > tr > th {
    padding: 13px 14px;
    border-top: 1px solid #eef1f5;
    color: #344054;
    font-size: 13.5px;
    vertical-align: middle;
}

.table > tbody > tr:hover {
    background: #f9fbfe;
}

.table-bordered {
    border-color: #eef1f5;
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
    border-color: #eef1f5;
}

/* --------------------------------------------------------------------------
 * 6. 表单
 * -------------------------------------------------------------------------- */
.form-control {
    height: 38px;
    padding: 6px 12px;
    border: 1px solid #dfe4ec;
    border-radius: 8px;
    box-shadow: none;
    color: #344054;
    font-size: 13.5px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

textarea.form-control {
    height: auto;
    min-height: 90px;
}

.form-control:focus {
    border-color: #4f6ef7;
    box-shadow: 0 0 0 3px rgba(79, 110, 247, .14);
    outline: 0;
}

.form-control[disabled],
.form-control[readonly],
.form-control.disabled {
    background-color: #f8fafc;
    color: #98a2b3;
}

.form-control::-webkit-input-placeholder {
    color: #a6b0bf;
}

.form-group {
    margin-bottom: 20px;
}

.form-horizontal .control-label,
.form-horizontal label,
form label {
    padding-top: 8px;
    color: #344054;
    font-size: 13.5px;
    font-weight: 500;
}

.help-block {
    padding-top: 6px;
    margin-bottom: 0;
    font-size: 12.5px;
    color: #98a2b3;
}

/* --------------------------------------------------------------------------
 * 7. 按钮 / 下拉 / 分页
 * -------------------------------------------------------------------------- */
.btn {
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 500;
    padding: 7px 16px;
    line-height: 1.45;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.btn-sm {
    padding: 4px 10px;
    font-size: 12.5px;
    border-radius: 7px;
}

.btn-primary {
    background-color: #4f6ef7;
    border-color: #4f6ef7;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 10px rgba(79, 110, 247, .18);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    background-color: #3d5ae8;
    border-color: #3d5ae8;
}

.btn-primary[disabled],
.btn-primary.disabled {
    background-color: #a3b2fb;
    border-color: #a3b2fb;
    box-shadow: none;
}

.btn-default {
    background-color: #fff;
    border-color: #dfe4ec;
    color: #344054;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
    background-color: #f5f7ff;
    border-color: #c7d0fd;
    color: #4f6ef7;
}

.btn-link {
    color: #4f6ef7;
    font-weight: 500;
}

.btn-danger {
    background-color: #ef4444;
    border-color: #ef4444;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: #dc2626;
    border-color: #dc2626;
}

.btn-success {
    background-color: #12b76a;
    border-color: #12b76a;
}

.btn-success:hover,
.btn-success:focus {
    background-color: #039855;
    border-color: #039855;
}

.dropdown-menu {
    padding: 6px;
    border: 1px solid #e9edf3;
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(16, 24, 40, .12);
}

.dropdown-menu > li > a {
    padding: 8px 12px;
    border-radius: 6px;
    color: #344054;
    font-size: 13.5px;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
    background-color: #f4f6fb;
    color: #4f6ef7;
}

.dropdown-menu .divider {
    margin: 5px 0;
    background-color: #eef1f5;
}

.pagination > li > a,
.pagination > li > span {
    margin-right: 4px;
    padding: 6px 12px;
    border-color: #e4e7ec;
    border-radius: 8px;
    color: #475467;
    font-size: 13px;
}

.pagination > li > a:hover {
    background: #f5f7ff;
    border-color: #c7d0fd;
    color: #4f6ef7;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover {
    background: #4f6ef7;
    border-color: #4f6ef7;
    color: #fff;
}

.pagination > .disabled > a,
.pagination > .disabled > span {
    color: #c4cbd6;
    border-color: #eef1f5;
}

/* --------------------------------------------------------------------------
 * 8. 弹窗 / 提示 / 标签
 * -------------------------------------------------------------------------- */
.modal-content {
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 64px rgba(16, 24, 40, .18);
}

.modal-header {
    padding: 18px 22px;
    border-bottom: 1px solid #eef1f5;
}

.modal-title {
    font-size: 16px;
    font-weight: 700;
    color: #101828;
}

.modal-body {
    padding: 20px 22px;
}

.modal-footer {
    padding: 14px 22px;
    border-top: 1px solid #eef1f5;
}

.modal .close {
    color: #98a2b3;
    opacity: 1;
    text-shadow: none;
}

.modal .close:hover {
    color: #475467;
}

.alert {
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 13.5px;
}

.label {
    border-radius: 6px;
    font-weight: 500;
    padding: .25em .6em;
}

.badge {
    border-radius: 999px;
}

/* --------------------------------------------------------------------------
 * 9. 平台 / 用户 / 设置 / 云服务页（.skin-2__left 外壳）
 *    只改配色与字号，不改 100px 几何，避免与各页硬编码偏移冲突
 * -------------------------------------------------------------------------- */
.skin-2__left {
    background-color: #fff;
    border-right: 1px solid #e9edf3;
}

.skin-2__left .logoimga img {
    border-radius: 12px !important;
}

.skin-2__left .main-nav {
    color: #475467;
}

.skin-2__left .main-nav li {
    border-radius: 10px;
    margin: 0 8px 4px;
}

.skin-2__left .main-nav li a {
    color: #475467;
    font-size: 13.5px;
}

.skin-2__left .main-nav li i {
    color: #98a2b3;
}

.skin-2__left .main-nav li:hover {
    background-color: #f4f6fb !important;
    color: #4f6ef7 !important;
}

.skin-2__left .main-nav li:hover i {
    color: #4f6ef7;
}

.skin-2__left .main-nav li.active {
    background-color: #eef2ff !important;
    color: #4f6ef7 !important;
}

.skin-2__left .main-nav li.active a,
.skin-2__left .main-nav li.active i {
    color: #4f6ef7 !important;
}

.skin-2__left .main-nav li a:hover {
    color: #4f6ef7 !important;
}

.systemsettings {
    border-right: 1px solid #e9edf3;
}

.systemsettings-top {
    color: #101828;
    font-weight: 600;
    border-color: #eef1f5;
}

.systemsettings-heading {
    color: #98a2b3;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .04em;
}

.systemsettings-ul .list-group-item {
    border: 0;
    border-radius: 8px;
    padding: 0 10px !important;
    color: #475467;
    font-size: 13px;
}

.systemsettings-ul .list-group-item:hover {
    background-color: #f4f6fb;
}

.systemsettings-ul .list-group-item.systemsettings-active {
    background-color: #eef2ff;
}

.systemsettings-ul .list-group-item.systemsettings-active a {
    color: #4f6ef7 !important;
    font-weight: 600;
}

/* --------------------------------------------------------------------------
 * 10. 登录页
 * -------------------------------------------------------------------------- */
.system-login-new--half {
    background-color: #eef1f7;
}

.system-login-new .head {
    padding: 26px 34px;
}

.system-login-new .head .logo {
    height: 38px;
    border-radius: 8px;
}

.system-login-new .login-panel {
    top: 50%;
    right: auto;
    width: 420px;
    padding: 44px 40px 34px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 24px 64px rgba(16, 24, 40, .22);
    transform: translate(-50%, -50%);
}

.system-login-new .login-panel .title {
    margin-bottom: 26px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.3px;
    color: #101828;
}

.system-login-new .login-panel input.form-control {
    height: 46px;
    padding: 0 14px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #f8fafc;
    font-size: 14px;
    font-weight: 400;
    line-height: 44px;
    box-shadow: none;
}

.system-login-new .login-panel input.form-control:focus {
    background: #fff;
    border-color: #4f6ef7;
    box-shadow: 0 0 0 3px rgba(79, 110, 247, .14);
}

.system-login-new .login-panel .form-group .input-group {
    position: relative;
    display: block;
}

.system-login-new .login-panel .form-group .input-group .form-control {
    width: 100%;
    padding-right: 52px;
}

.system-login-new .login-panel .form-group .input-group-addon {
    position: absolute;
    right: 4px;
    top: 4px;
    z-index: 3;
    width: 38px;
    height: 38px;
    padding: 0;
    line-height: 38px;
    text-align: center;
    background: transparent;
    border: 0;
    color: #98a2b3;
    cursor: pointer;
}

.system-login-new .login-panel .form-group .input-group-btn.imgverify {
    position: absolute;
    right: 4px;
    top: 4px;
    z-index: 3;
    display: block;
    width: auto;
    height: 38px;
    padding: 0;
}

.system-login-new .login-panel .form-group .input-group-btn.imgverify img {
    height: 38px;
    border-radius: 7px;
    cursor: pointer;
}

.system-login-new .login-panel .form-group .help-block {
    opacity: 0;
    margin: 5px 0 8px;
    padding-top: 0;
    font-size: 12.5px;
}

.system-login-new .login-panel .form-group.error .help-block {
    opacity: 1;
}

.system-login-new .login-panel .checkbox label {
    font-size: 13.5px;
    color: #667085;
}

.system-login-new .login-panel .login-submit {
    margin-top: 6px;
}

.system-login-new .login-panel .login-submit .btn {
    height: 46px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(79, 110, 247, .28);
}

@media (max-width: 1280px) {
    .system-login-new--half .login-panel {
        margin-left: 0;
    }
}

@media (max-width: 920px) {
    .system-login-new--half {
        background-image: none !important;
    }

    .system-login-new--half .login-bg-box {
        display: none;
    }

    .system-login-new .login-panel {
        width: calc(100% - 40px);
        max-width: 420px;
    }
}

/* --------------------------------------------------------------------------
 * 11. 其他细节
 * -------------------------------------------------------------------------- */
.text-muted {
    color: #98a2b3;
}

.content img {
    max-width: 100%;
}
