/* ========================================
   Teal Modern Admin Theme - 预约管家
   Modern Enterprise Admin Panel Design
   ======================================== */

/* ----- Global ----- */
body {
    background: #f5f5f5;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
    -webkit-font-smoothing: antialiased;
    height:100vh;
}
/* 全局清除聚焦轮廓边框 */
a:focus,
input:focus,
select:focus,
button:focus,
a:focus-visible,
input:focus-visible,
select:focus-visible,
button:focus-visible {
    outline: none !important;
    outline-width: 0 !important;
}
.layui-layer-btn .layui-layer-btn0:focus,
.layui-layer-btn .layui-layer-btn1:focus {
    outline: none !important;
    box-shadow: 0 0 0 transparent !important;
}
/* 弹窗按钮外层a + 内层button 同时拦截聚焦 */
/* 弹窗按钮外层a + 内层button 全部覆盖三种状态 */
.layui-layer-btn0:focus,
.layui-layer-btn0:focus-visible,
.layui-layer-btn0:active,
.layui-layer-btn0 .layui-layer-confirm:focus,
.layui-layer-btn0 .layui-layer-confirm:focus-visible,
.layui-layer-btn0 .layui-layer-confirm:active,
.layui-layer-btn1:focus,
.layui-layer-btn1:focus-visible,
.layui-layer-btn1:active,
.layui-layer-btn1 button:active {
    outline: none !important;
    outline-width: 0 !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}
/* 清除移动端/微信端点击高亮边框 */
a,
input,
select,
button {
    -webkit-tap-highlight-color: transparent;
}
/* ----- Main Sidebar (Dark Style) ----- */
.main-sidebar {
    background: #1f2937 !important;
    border-right: 1px solid #0f172a;
    box-shadow: 2px 0 8px rgba(0,0,0,0.15);
}
.main-sidebar .sidebar > .user-panel {
    border-bottom: 1px solid #334155;
}
.sidebar-menu > li > a {
    color: #cbd5e1 !important;
    border-left: 3px solid transparent;
    font-size: 14px;
    padding: 12px 20px;
    transition: all 0.2s ease;
    margin: 2px 8px;
    border-radius: 6px;
}
.sidebar-menu > li > a:hover {
    color: #f8fafc !important;
    background: #334155 !important;
    border-left-color: transparent;
}
.sidebar-menu > li > a > .fa,
.sidebar-menu > li > a > .glyphicon,
.sidebar-menu > li > a > .ion {
    color: #94a3b8;
}
.sidebar-menu > li.active > a,
.sidebar-menu > li.active > a:hover {
    color: #ffffff !important;
    background: #0d9488 !important;
    border-left-color: #2dd4bf !important;
    font-weight: 500;
}
.sidebar-menu > li.active > a > .fa,
.sidebar-menu > li.active > a > .glyphicon,
.sidebar-menu > li.active > a > .ion {
    color: #ffffff !important;
}
.sidebar-menu > li .treeview-menu {
    background: #172033 !important;
    padding: 4px 0;
}
.sidebar-menu > li .treeview-menu > li > a {
    color: #94a3b8 !important;
    font-size: 14px;
    padding: 6px 0px 6px 42px;
    transition: all 0.2s ease;
    border-radius: 4px;
    margin: 1px 12px;
}
.sidebar-menu > li .treeview-menu > li > a:hover {
    color: #f8fafc !important;
    background: #334155;
}
.sidebar-menu > li .treeview-menu > li.active > a {
    color: #2dd4bf !important;
    background: rgba(45, 212, 191, 0.12);
    font-weight: 500;
}

/* ----- Main Header ----- */
.main-header {
    background: #fff !important;
    border-bottom: 0 solid #ebedf0; 
}
.main-header .logo {
    background: #1f2937 !important;
    color: #f8fafc !important;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #334155;
    border-right: 1px solid #0f172a;
}
.main-header .logo:hover {
    background: #27354a !important;
}
.main-header .logo {
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.main-header .logo .logo-icon {
    width: 28px;
    height: 28px;
    margin-right: 10px;
    flex-shrink: 0;
}
.main-header .logo .logo-mini {
    display: none !important;
}
.main-header .logo .logo-lg {
    font-size: 15px;
    font-weight: 600;
}
.sidebar-collapse .main-header .logo .logo-icon {
    margin-right: 0;
}
.main-header .navbar {
    background: #fff !important;
}
.main-header .navbar .nav > li > a {
    color: #595959 !important;
    font-size: 14px;
    transition: all 0.2s;
}
.main-header .navbar .nav > li > a:hover {
    color: #0d9488 !important;
    background: rgba(13, 148, 136,0.04) !important;
}
.main-header .navbar .sidebar-toggle {
    color: #8c8c8c !important;
    font-size: 16px;
    padding: 15px;
}
.main-header .navbar .sidebar-toggle:hover {
    color: #0d9488 !important;
    background: rgba(13, 148, 136,0.06) !important;
}

/* ----- Content Area ----- */
.content-wrapper {
    background: #f4f5f7 !important;
}
.content-header {
    padding: 16px 20px 0 !important;
}
.content-header h1 {
    font-weight: 600;
    color: #262626;
    font-size: 18px;
    margin: 0;
}
.content-header .breadcrumb {
    background: transparent;
    padding: 8px 0 0;
    margin: 0;
    font-size: 13px;
}
.content-header .breadcrumb > li + li:before {
    content: '/';
    color: #bfbfbf;
    padding: 0 6px;
}
.content-header .breadcrumb > li > a {
    color: #8c8c8c;
}
.content-header .breadcrumb > .active {
    color: #595959;
}

/* ----- Panel / Card ----- */
.panel {
    border-radius: 6px !important;
    border: 0 solid #d9d9d9  !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    margin-bottom: 20px;
    background: #fff;
} 
.note-editor{
    border: 1px solid #d9d9d9  !important;
}
.panel-heading {
    border-top-left-radius: 6px !important;
    border-top-right-radius: 6px !important;
    background: #fff !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 12px 16px;
}

.panel-intro > .panel-heading{
    padding:5px 15px !important;
}

.wc-right-panel .panel-body {
    padding: 16px;
    overflow-y: scroll;
    height:calc(100vh - 20px);
}

/* ----- Box ----- */
.box {
    border: 0 solid #ebedf0 !important;
    border-radius: 6px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    margin-bottom: 20px;
}
.box-header {
    background: #fff !important;
    border-top-left-radius: 6px !important;
    border-top-right-radius: 6px !important;
    border-bottom: 1px solid #f0f0f0;
    padding: 12px 16px;
}
.box-header .box-title {
    font-size: 15px;
    font-weight: 600;
    color: #262626;
}
.box-body {
    padding: 16px;
}

/* ----- Info Box (Dashboard Stats) ----- */
.info-box {
    border: 1px solid #ebedf0 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    transition: all 0.25s ease;
    min-height: 96px;
    background: #fff;
}
.info-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    border-color: #d9d9d9 !important;
}
.dashbord-cont i.fa{
    color:#fff !important;
    font-size:28px;
}
.info-box-icon {
    border-radius: 50% !important;
    font-size: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
}
.info-box-content {
    padding: 12px 16px;
} 
.info-box-text {
    font-size: 13px;
    color: #8c8c8c;
    text-transform: none;
    font-weight: 400;
}
.info-box-number {
    font-size: 24px;
    font-weight: 600;
    color: #262626;
}
/* ----- Buttons ----- */
.btn {
    border-radius: 4px !important;
    transition: all 0.2s ease;
    font-size: 12px;
    padding: 4px 9px;
    border: 1px solid transparent;
    font-weight: 400;
}
.btn-xs, .btn-group-xs > .btn{
    line-height:unset !important;
}
.btn:active, .btn.active {
    box-shadow: none !important;
}
.btn-primary {
    background: #0d9488 !important;
    border-color: #0d9488 !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: #2dd4bf !important;
    border-color: #2dd4bf !important;
    box-shadow: 0 2px 6px rgba(13, 148, 136,0.25);
}
a.layui-layer-btn0 ,a.layui-layer-btn0:visited,a.layui-layer-btn0:hover,a.layui-layer-btn0:active{
    background: #16a34a !important;
    border-color: #16a34a !important;
    border:1px solid #16a34a !important;
}
.btn-success {
    background: #16a34a !important;
    border-color: #16a34a !important;
}
.btn-success:hover {
    background: #4ade80 !important;
    border-color: #4ade80 !important;
    box-shadow: 0 2px 6px rgba(103,194,58,0.25);
}
.btn-warning {
    background: #d97706 !important;
    border-color: #d97706 !important;
}
.btn-warning:hover {
    background: #fbbf24 !important;
    border-color: #fbbf24 !important;
    box-shadow: 0 2px 6px rgba(230,162,60,0.25);
}
.btn-purple {
    background: #ad6cf5 !important;
    border-color: #ad6cf5 !important;
    color:#fff;
}
.btn-purple:hover {
    background: #c08df9 !important;
    border-color: #c08df9 !important;
    box-shadow: 0 2px 6px rgba(245,108,108,0.25);
    color:#fff;
}
.btn-danger {
    background: #e11d48 !important;
    border-color: #e11d48 !important;
}
.btn-danger:hover {
    background: #fb7185 !important;
    border-color: #fb7185 !important;
    box-shadow: 0 2px 6px rgba(245,108,108,0.25);
}

.btn-default {
    background: #fff;  
    border:none;
}
.btn-default:hover { 
    background: #fff; 
    border:none;
} 
a.btn-default {
    background: #eee;  
    border:1px solid #eee;
}
a.btn-default:hover { 
    background: #efefef; 
    border:1px solid #efefef;
} 

/* ----- Table ----- */
.table {
    background: #fff;
}
.table > thead > tr > th {
    background: #fafafa !important;
    color: #000 !important;
    font-weight: bold;
    border-bottom: 1px solid #f0f0f0;
    padding: 12px 16px;
    font-size: 13px;
    white-space: nowrap;
}
.table > tbody > tr > td { 
    font-size: 14px;
    color: #333;
    border-bottom: 1px solid #f5f5f5;
    vertical-align: middle;
}
.table > tbody > tr:hover > td {
    background: #fafbfd !important;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background: #fcfcfd !important;
}
.table-bordered {
    border: 1px solid #f0f0f0 !important;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > td {
    border: 1px solid #f0f0f0 !important;
}
 
/* ----- Form Controls ----- */
.form-control {
    border-radius: 4px !important;
    border: 1px solid #d9d9d9 !important;
    transition: all 0.25s ease;
    box-shadow: none !important;
    font-size: 13px; 
    height: unset;
    color: #262626;
}
.form-control:focus {
    border-color: #0d9488 !important;
    box-shadow: 0 0 0 3px rgba(13, 148, 136,0.1) !important;
    outline: none;
}
textarea.form-control {
    height: auto;
    min-height: 300px;
}
#c-digest{
    min-height:100px;
}
.input-group .form-control {
    border-radius: 4px 0 0 4px !important;
}
.input-group-addon {
    border-radius: 4px 0 0 4px !important;
    border: 1px solid #d9d9d9;
    background: #fafafa;
    color: #8c8c8c;
    font-size: 13px;
}

/* ----- Labels / Badges ----- */
.label {
    border-radius: 3px !important;
    font-weight: 400;
    padding: 3px 8px;
    font-size: 12px;
}
.label-success {
    background: #f0fdf4 !important;
    color: #16a34a !important;
    border: 1px solid #e1f3d8;
}
.label-warning {
    background: #fffbeb !important;
    color: #d97706 !important;
    border: 1px solid #faecd8;
}
.label-danger {
    background: #fff1f2 !important;
    color: #e11d48 !important;
    border: 1px solid #fde2e2;
}
.label-info {
    background: #f8fafc !important;
    color: #64748b !important;
    border: 1px solid #e9e9eb;
}
.label-primary {
    background: #f0fdfa !important;
    color: #0d9488 !important;
    border: 1px solid #d9ecff;
}

/* ----- Pagination ----- */
.pagination {
    margin: 16px 0 0;
}
.pagination > li > a,
.pagination > li > span {
    border-radius: 4px !important;
    margin: 0 2px;
    border: 1px solid #d9d9d9;
    color: #595959;
    font-size: 13px;
    padding: 5px 12px;
    transition: all 0.2s;
}
.pagination > li > a:hover {
    color: #0d9488;
    border-color: #0d9488;
    background: #fff;
}
.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > span {
    background: #0d9488 !important;
    border-color: #0d9488 !important;
    color: #fff !important;
}

/* ----- Dropdown Menu ----- */
.dropdown-menu {
    border-radius: 4px !important;
    /* border: 1px solid #e9e9eb !important; */
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    padding: 4px 0;
}
.dropdown-menu > li > a {
    padding: 8px 16px;
    color: #595959;
    font-size: 13px;
    transition: all 0.15s;
}
.dropdown-menu > li > a:hover {
    background: #f5f7fa;
    color: #0d9488;
}

/* ----- Modal ----- */
.modal-content {
    border-radius: 6px !important;
    border: none !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
}
.modal-header {
    border-bottom: 1px solid #f0f0f0;
    border-radius: 6px 6px 0 0;
    padding: 16px 20px;
    background: #fff;
}
.modal-header .modal-title {
    font-weight: 600;
    font-size: 15px;
    color: #262626;
}
.modal-body {
    padding: 20px;
}
.modal-footer {
    border-top: 1px solid #f0f0f0;
    padding: 12px 20px;
}

/* ----- Nav Tabs ----- */
.nav-tabs {
    border-bottom: 0 solid #ebedf0;
    margin-bottom: 0;
}
.nav-tabs > li {
    margin-bottom: -1px;
}
.nav-tabs > li > a {
    border: none !important;
    color: #000;
    border-radius: 0 !important; 
    font-size: 13px;
    transition: all 0.2s;
    position: relative;
}
 
.bs-select-all,.bs-select-all:hover,
.bs-deselect-all,.bs-deselect-all:hover{
    color:#0d9488;
    font-weight:bold;

}

/* ----- bootstrap-select（含多选）按钮修正 -----
 * 结构：.bootstrap-select（包裹层，继承 select 的 .form-control 类）> button.dropdown-toggle
 * 问题：包裹层被 `.form-control{border:1px solid #d9d9d9 !important}` 描了边框并定高，
 *       而按钮被 `.btn-default{border:none}` 去掉了边框、高度 33px 且从 1px 顶格排布，
 *       正好压住包裹层的下边框 → 视觉上"下边框消失"。
 * 方案：包裹层去掉一切外观（透明、auto 高），由按钮自己承担完整边框外观，
 *       尺寸/颜色与主题 .form-control 口径一致（1px #d9d9d9、focus 青绿）。 */
.bootstrap-select.form-control {
    border: none !important;
    height: auto !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
.bootstrap-select > .dropdown-toggle,
.bootstrap-select.open > .dropdown-toggle,
.bootstrap-select > .dropdown-toggle:hover,
.bootstrap-select > .dropdown-toggle:focus,
.bootstrap-select > .dropdown-toggle:active {
    width: 100% !important;
    height: 34px;
    box-sizing: border-box;
    line-height: 20px;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px;
    background: #fff;
    box-shadow: none;
}
.bootstrap-select > .dropdown-toggle:hover,
.bootstrap-select > .dropdown-toggle:focus,
.bootstrap-select.open > .dropdown-toggle {
    border-color: #0d9488 !important;
}

.nav-tabs > li > a:hover {
    color: #0d9488;
    background: transparent !important;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    color: #0f85ff !important;
    border: none !important;
    border-bottom: 2px solid #0d9488 !important;
    background: transparent !important;
    font-weight: 500;
}

/* ----- Toolbar ----- */
.toolbar {
    margin-bottom: 12px;
}
.toolbar .btn {
    margin-right: 6px;
}
.toolbar .btn-default {
    background: #fff;
    color: #595959;
    border: 1px solid #d9d9d9;
}
.toolbar .btn-default:hover {
    color: #0d9488;
    border-color: #99f6e4;
    background: #f0fdfa;
}

/* ----- Fixed-table Toolbar ----- */
.fixed-table-toolbar {
    margin-bottom: 12px;
}
.fixed-table-toolbar .columns-right {
    margin-right: 0;
}
.columns-right .btn{
    padding:7px 12px;
    background-color: #efefef;
}

/* ----- Alert / Callout ----- */
.callout {
    border-radius: 6px !important;
    border-left-width: 4px;
    padding: 12px 16px;
    margin-bottom: 16px;
}
.callout-warning {
    background: #fffbeb;
    border-left-color: #d97706;
    color: #8c6d1f;
}

/* ----- Progress Bar ----- */
.progress {
    border-radius: 10px;
    height: 8px;
    background: #f0f0f0;
    box-shadow: none;
}
.progress-bar {
    border-radius: 10px;
}

/* ----- Scrollbar (Webkit) ----- */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #d9d9d9;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: #bfbfbf;
}

/* ----- Layer / Modal 弹出框 60%宽 95%高 ----- */
.layui-layer {
    border-radius: 8px !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
}
.layui-layer-page {
    max-width: 95vw !important;
}
.layui-layer-content {
    overflow: auto !important;
}
/* 强制弹出框 60% 宽 95% 高（覆盖内联样式） */
.layui-layer-dialog,
.layui-layer-page {
    
    max-width: 95vw !important;
    max-height: 95vh !important;
}
/* 弹出框标题栏 */
.layui-layer-title { 
    font-weight: normal;
    font-size: 15px;
    background: #fff !important;
    color: #262626 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
/* 侧边栏暗色主题（覆盖 skin-black-blue 最高优先级） */
html body.skin-black-blue .wrapper,
html body.skin-black-blue .main-sidebar {
    background-color: #1f2937 !important;
}
html body.skin-black-blue .main-sidebar .sidebar > .user-panel {
    border-bottom-color: #334155 !important;
}
html body.skin-black-blue .sidebar-menu > li.header {
    color: #94a3b8 !important;
    background: #172033 !important;
}
html body.skin-black-blue .sidebar-menu > li > a {
    color: #cbd5e1 !important;
}
html body.skin-black-blue .sidebar-menu > li > a:hover {
    background: #334155 !important;
    color: #f8fafc !important;
}
html body.skin-black-blue .sidebar-menu > li.active > a,
html body.skin-black-blue .sidebar-menu > li.active > a:hover {
    background: #0d9488 !important;
    color: #ffffff !important;
    border-left-color: #2dd4bf !important;
}
/* 一级(可展开)菜单 - 仅展开未选中：与收缩态一致的暗色（透明透出侧栏 #1f2937），不白不青绿 */
html body.skin-black-blue .sidebar-menu li.treeview.treeview-open > a {
    background-color: transparent !important;
    color: #cbd5e1 !important;
    border-left-color: transparent !important;
}
/* 一级(可展开)菜单 - hover 暗色 */
html body.skin-black-blue .sidebar-menu li.treeview:hover > a {
    background-color: #334155 !important;
    color: #f8fafc !important;
}
/* 一级(可展开)菜单 - 选中态保持青绿（覆盖 skin-black-blue 的 #f7f7f7 白底，放在最后以优先于展开/hover） */
html body.skin-black-blue .sidebar-menu li.treeview.active > a {
    background-color: #0d9488 !important;
    color: #ffffff !important;
    border-left-color: #2dd4bf !important;
}
html body.skin-black-blue .sidebar-menu > li .treeview-menu {
    background: #172033 !important;
}
html body.skin-black-blue .sidebar-menu > li .treeview-menu > li > a {
    color: #94a3b8 !important;
}
html body.skin-black-blue .sidebar-menu > li .treeview-menu > li > a:hover {
    color: #f8fafc !important;
    background: #334155 !important;
}
html body.skin-black-blue .sidebar-menu > li .treeview-menu > li.active > a {
    color: #2dd4bf !important;
    background: rgba(45, 212, 191, 0.12) !important;
}
/* 顶部 Logo 区（覆盖 skin-black-blue） */
html body.skin-black-blue .main-header .logo {
    background-color: #1f2937 !important;
    color: #f8fafc !important;
    border-right: 1px solid #0f172a !important;
    border-bottom: 1px solid #334155 !important;
}
html body.skin-black-blue .main-header .logo:hover {
    background-color: #27354a !important;
}
/* 移动端 Logo 区 */
@media (max-width: 767px) {
    html body.skin-black-blue .main-header .logo {
        background-color: #1f2937 !important;
        color: #f8fafc !important;
    }
}

/* ----- Select2 ----- */
.select2-container .select2-selection {
    border-radius: 4px !important;
    border-color: #d9d9d9 !important;
    height: 34px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 34px;
    color: #262626;
    font-size: 13px;
}
.select2-dropdown {
    border-radius: 4px !important;
    border-color: #e9e9eb !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* ----- Responsive adjustments ----- */
@media (max-width: 767px) {
    .content-header {
        padding: 12px 15px 0 !important;
    }
    .content-header h1 {
        font-size: 16px;
    }
    .panel-body {
        padding: 12px;
    }
}
.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"]{
    position: unset;
    margin-left: 0;
}

.radio-inline, .checkbox-inline{
    padding-left:0;
} 
.pic_btn {
    width:100px;
    height:90px; 
    border:1px solid #efefef !important;
}
.pic_div{ 
    float:left;
    margin-right: 10px;
} 
.pic_div ul li{
    width:150px !important;
}
.pic_div ul a.thumbnail{
    border: 1px solid #efefef;
}
.btn-gray-efefef{
    background-color: #efefef;
}
.plupload-preview li, .faupload-preview li{
    margin-top:0px !important;
}
.intro{
    margin-bottom:10px;
    display: block;
}
.plupload-preview .thumbnail, .faupload-preview .thumbnail{
    margin-bottom:5px;
}
.faupload{
    width:100%;
    height:100%;
}

.upimg-div{
    float:left;width:100%;margin-bottom:5px
}

/*医生排班**/
/* ========== Tab 切换 ========== */
.schedule-tabs {
    display: flex;
    border-bottom: 2px solid #e0e0e0;
    margin-bottom: 15px;
}
.schedule-tabs > div {
    padding: 10px 24px;
    cursor: pointer;
    font-size: 14px;
    color: #666;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 0.2s;
}
.schedule-tabs > div:hover { color: #333; }
.schedule-tabs > div.active {
    color: #1890ff;
    border-bottom-color: #1890ff;
    font-weight: 600;
}
.schedule-tab-content { display: none; }
.schedule-tab-content.active { display: block; }

/* ========== 按周排班表格 ========== */
#week-schedule-table {
    width: 100%;
    border-collapse: collapse;
}
#week-schedule-table th,
#week-schedule-table td {
    text-align: center;
    vertical-align: middle;
    padding: 8px 6px;
    border: 1px solid #e8e8e8;
}
#week-schedule-table th {
    background: #fafafa;
    font-weight: 600;
}
#week-schedule-table .doctor-name {
    font-weight: 600;
    white-space: nowrap;
}
.order-num-input {
    width: 70px;
    text-align: center;
    margin: 2px 0;
    padding: 3px 5px;
    border: 1px solid #dcdfe6;
    border-radius: 3px;
}
.order-num-input:focus {
    border-color: #1890ff;
    outline: none;
}

/* ========== 按天排班工具栏 ========== */
.daterange-toolbar {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
    flex-wrap: wrap;
}
.daterange-toolbar .form-group {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}
.daterange-toolbar label {
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
}
.dr-separator { color: #999; }
.date-input {
    width: 140px !important;
    display: inline-block;
}
.doctor-select {
    width: 160px !important;
}
.btn-batch-set {
    padding: 5px 14px;
    background: #1890ff;
    color: #fff;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    font-size: 13px;
}
.btn-batch-set:hover { background: #40a9ff; }
.btn-date-query {
    padding: 5px 14px;
    background: #52c41a;
    color: #fff;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    font-size: 13px;
}
.btn-date-query:hover { background: #73d13d; }

/* ========== 日历表格 ========== */
.calendar-table-wrap { overflow-x: auto; }
.calendar-table {
    width: 100%;
    border-collapse: collapse; 
}
.calendar-table th,
.calendar-table td {
    text-align: center;
    vertical-align: middle;
    padding: 6px 4px;
    border: 1px solid #e8e8e8;
}
.calendar-table th {
    background: #fafafa;
    font-weight: 600;
    position: sticky;
    top: 0;
    z-index: 1;
}
.calendar-table .col-doctor {
    min-width: 80px;
    position: sticky;
    left: 0;
    background: #fafafa;
    z-index: 2;
}
.calendar-table .col-date { min-width: 100px; }
.calendar-table .col-weekend { background: #e6f7ff !important; }
.calendar-table .col-weekend div{
    color:red;
}
.calendar-table .today .cal-date {
    color: #f5222d;
    font-weight: 700;
}
.cal-date {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 2px;
}
.cal-weekday {
    font-size: 11px;
    color: #999;
    margin-bottom: 4px;
}

/* ========== 单元格 ========== */
.cell-wrap {
    padding: 4px 2px;
    border-radius: 4px;
    transition: background 0.2s;
}
.cell-wrap.inactive { opacity: 0.45; }
.cell-active {
    margin-bottom: 3px;
    font-size: 12px;
}
.cell-active label {
    margin: 0 0 0 3px;
    cursor: pointer;
    font-weight: normal;
}
.cell-input-wrap {
    margin: 2px 0;
}
.cell-input-wrap input {
    width: 70px;
    text-align: center;
    padding: 2px 4px;
    border: 1px solid #dcdfe6;
    border-radius: 3px;
    font-size: 12px;
}
.cell-input-wrap input:focus {
    border-color: #1890ff;
    outline: none;
}
.cell-wrap.inactive input { background: #f5f5f5; }

/* ========== 排班时段（动态时段号数） ========== */
.period-row { display: flex; align-items: center; gap: 4px; margin: 2px 0; }
.period-row .period-name { display: inline-block; min-width: 64px; font-size: 12px; color: #333; }
.period-row .period-input { width: 64px; height: 26px; padding: 1px 4px; }
.schedule-cell { padding: 4px; }
.week-row-op { text-align: center; vertical-align: middle !important; }
.week-row-op .btn-save-week-row { white-space: nowrap; }

/* ========== 表头固定（按周 / 按天共用） ==========
   表格放入可纵向滚动的容器，表头 position:sticky 固定；
   容器高度优先由 JS 按可视区域自适应（见 scheduling.js 的 fitTableScroll），
   下面的 max-height 仅作为 JS 不可用时的兜底，保证仍能出现内部滚动。 */
.schedule-table-scroll {
    overflow: auto;
    /* 只限高、不设 min-height：内容少时容器自然收缩，不会留白 */
    max-height: calc(100vh - 260px);
}
/* --- 按周排班：表头固定 --- */
#week-schedule-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #fafafa;
    /* 表头下沿分割线（border-collapse 下 sticky 单元格边框不跟随，用阴影补齐） */
    box-shadow: inset 0 -1px 0 #dcdcdc;
}
/* --- 按天排班：表头固定 --- */
.calendar-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    box-shadow: inset 0 -1px 0 #dcdcdc;
}
/* 左上角「医生」单元格需同时 sticky 顶部+左侧，层级最高，避免被行内单元格盖住 */
.calendar-table thead th.col-doctor {
    z-index: 4;
}
.calendar-table tbody .col-doctor {
    z-index: 2;
}

/* ========== 空状态 ========== */
.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #999;
}
.empty-icon {
    font-size: 48px;
    color: #d9d9d9;
    margin-bottom: 15px;
}

.account-list .label-success{
    float:right;
}

/* ========== 提示消息层级 ==========
   layer 弹层基准 z-index 为 19891014（且逐层 +1），toastr 默认只有 999999，
   导致在 Layer 弹窗（含批量设置弹窗）打开时，Toastr 提示被遮罩/弹窗盖在下面看不见。
   这里把 toast 容器提到最高层，保证提示始终浮在弹窗之上。 */
#toast-container,
#toast-container.toast-top-full-width,
#toast-container.toast-bottom-full-width,
#toast-container.toast-top-center,
#toast-container.toast-bottom-center {
    z-index: 19999999 !important;
}
/* ========================================
   V2 全站排版差异化（青绿主题 · 参考新版控制台）
   ======================================== */

/* ----- 内容区底色：冷调浅青灰 ----- */
body,
.wrapper,
.content-wrapper {
    background: #eef4f6 !important;
}

/* ----- 顶部多标签导航：统一高度平角页签（覆盖全部交互状态） ----- */
.nav-addtabs { 
    border-bottom: 1px solid #e5edf0 !important;
}
.nav-addtabs > li > a,
.nav-addtabs > li > a:hover,
.nav-addtabs > li > a:focus,
.nav-addtabs > li > a:active,
.nav-addtabs > li.active > a,
.nav-addtabs > li.active > a:hover,
.nav-addtabs > li.active > a:focus,
.nav-addtabs > li.active > a:active {
    height: 50px !important;
    line-height: 50px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 13px;
    outline: none !important;
    overflow: hidden;
    color: #64748b !important;
    background: transparent !important;
}
.nav-addtabs > li > a:hover,
.nav-addtabs > li > a:focus {
    color: #0d9488 !important;
    background: rgba(13, 148, 136, 0.06) !important;
}
.nav-addtabs > li.active > a,
.nav-addtabs > li.active > a:hover,
.nav-addtabs > li.active > a:focus,
.nav-addtabs > li.active > a:active {
    color: #0d9488 !important;
    background: #fff !important;
    font-weight: 600;
    box-shadow: inset 0 -2px 0 #0d9488 !important;
	font-size:14px;
}
.nav-addtabs > li.active > a .close-tab {
    color: #94a3b8;
}
.nav-addtabs > li.active > a .close-tab:hover {
    color: #e11d48;
}

/* ----- 侧边栏：去掉左边框，改为圆点标记 ----- */
.sidebar-menu > li > a {
    border-left: none !important;
}
.sidebar-menu > li.active > a,
.sidebar-menu > li.active > a:hover {
    background: linear-gradient(90deg, #f0fdfa 0%, rgba(240, 253, 250, 0.35) 100%) !important;
    border-radius: 8px;
}
.sidebar-menu > li .treeview-menu > li.active > a {
    background: transparent !important;
    position: relative;
}
.sidebar-menu > li .treeview-menu > li.active > a::before {
    content: '';
    position: absolute;
    left: 30px;
    top: 50%;
    margin-top: -3px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #0d9488;
}

/* ----- 面板/卡片：大圆角 + 细边框 ----- */
.panel,
.box {
    border-radius: 10px !important;
    border: 1px solid #e8eff2 !important;
    box-shadow: 0 1px 4px rgba(15, 40, 60, 0.05) !important;
}
.panel .panel-heading,
.box .box-header {
    border-bottom: 1px solid #eef4f6;
    border-radius: 10px 10px 0 0 !important;
}

/* ----- 表格：浅青灰表头 ----- */
.bootstrap-table .table thead > tr > th,
.table > thead > tr > th {
    background: #f6fafb;
    color: #475569;
    font-weight: 600;
    border-bottom: 1px solid #e8eff2 !important;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background: #fbfdfd;
}
.table-hover > tbody > tr:hover {
    background: #f0fdfa;
}

/* ----- 分页激活：青绿实底圆角 ----- */
.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span {
    background-color: #0d9488 !important;
    border-color: #0d9488 !important;
    border-radius: 6px;
}

/* ----- 内容标题区：弱化面包屑 ----- */
.content-header h1 {
    font-size: 17px;
    letter-spacing: 0.3px;
}

/* ----- 青绿描边按钮（仪表盘等） ----- */
.btn-teal-outline {
    color: #0d9488 !important;
    background: #fff !important;
    border: 1px solid #0d9488 !important;
}
.btn-teal-outline:hover,
.btn-teal-outline:focus {
    color: #fff !important;
    background: #0d9488 !important;
}

/* ----- 滚动条更细更淡 ----- */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

/* ----- 右上角个人中心下拉：白底黑字 ----- */
.navbar-nav > .user-menu > .dropdown-menu {
    background: #fff !important;
    border: 1px solid #e8eff2 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 32px rgba(15, 60, 55, 0.14) !important;
    padding: 0 !important;
    overflow: hidden;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-header {
    background: #fff !important;
    height: auto !important;
    padding: 26px 20px 20px !important;
    text-align: center;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-header > .img-circle {
    width: 92px;
    height: 92px;
    border: 3px solid rgba(13, 148, 136, 0.25);
    box-shadow: 0 4px 14px rgba(13, 148, 136, 0.18);
}
.navbar-nav > .user-menu > .dropdown-menu > .user-header > p {
    color: #1f2937 !important;
    font-weight: 600;
    margin: 12px 0 0;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-header > p > small {
    color: #64748b !important;
    font-weight: 400;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-body {
    background: #fff !important;
    border-top: 1px solid #f0f4f6;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-body a {
    color: #334155 !important;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-body a:hover {
    color: #0d9488 !important;
}
.navbar-nav > .user-menu > .dropdown-menu > .user-footer {
    background: #fff !important;
    padding: 12px 14px !important;
}
/* ----- 右上角个人中心下拉：白底黑字（结束） ----- */
