@charset "utf-8";


/* ========== keep-bootstrap，keep-bootstrap- 样式控制，解决common覆盖 ========== */

    /* 字体字号 */
    .keep-bootstrap-font input, 
    .keep-bootstrap-font button, 
    .keep-bootstrap-font optgroup, 
    .keep-bootstrap-font select, 
    .keep-bootstrap-font textarea, 
    .keep-bootstrap-font a{
      font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
      /* font-size: 1rem; */
    }

    /* 标题 */
    /* 失效 */
    .keep-bootstrap h1,
    .keep-bootstrap h2,
    .keep-bootstrap h3,
    .keep-bootstrap h4,
    .keep-bootstrap h5,
    .keep-bootstrap h6 {
      margin: initial; 
      padding: initial; 
    }
    .keep-bootstrap h1,
    .keep-bootstrap h2,
    .keep-bootstrap h3,
    .keep-bootstrap h4,
    .keep-bootstrap h5,
    .keep-bootstrap h6 {
      font-size: inherit; 
    }
    /* 生效 */
    .keep-bootstrap h1,
    .keep-bootstrap h2,
    .keep-bootstrap h3,
    .keep-bootstrap h4,
    .keep-bootstrap h5,
    .keep-bootstrap h6 {
      margin-top: 0;
      margin-bottom: .5rem;
    }
    .keep-bootstrap h1,
    .keep-bootstrap h2,
    .keep-bootstrap h3,
    .keep-bootstrap h4,
    .keep-bootstrap h5,
    .keep-bootstrap h6 {
      margin-bottom: .5rem;
      font-weight: 500;
      line-height: 1.2;
    }
    .keep-bootstrap h1 {
      font-size: 2.5rem;
    }
    .keep-bootstrap h2 {
      font-size: 2rem;
    }
    .keep-bootstrap h3 {
      font-size: 1.75rem;
    }
    .keep-bootstrap h4 {
      font-size: 1.5rem;
    }
    .keep-bootstrap h5 {
      font-size: 1.25rem;
    }
    .keep-bootstrap h6 {
      font-size: 1rem;
    }


/* ========== deep-bootstrap-，复制bootstrap的外围样式，替换外围相应类========== */

    /* card */
    .deep-bootstrap-card {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      min-width: 0;
      word-wrap: break-word;
      background-color: #fff;
      background-clip: border-box;
      border: 1px solid rgba(0, 0, 0, .125);
      border-radius: .25rem;
    }
    /* 内部<hr>样式（父级为.deep-bootstrap-card，内部保持原生hr） */
    .deep-bootstrap-card > hr {
      margin-right: 0;
      margin-left: 0;
    }
    /* 内部.list-group样式（父级为.deep-bootstrap-card，内部保持原生.list-group） */
    .deep-bootstrap-card > .list-group {
      border-top: inherit;
      border-bottom: inherit;
    }
    /* 第一个.list-group特殊处理 */
    .deep-bootstrap-card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: .25rem;
      border-top-right-radius: .25rem;
    }
    /* 最后一个.list-group特殊处理 */
    .deep-bootstrap-card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: .25rem;
      border-bottom-left-radius: .25rem;
    }
    /* header/list-group、list-group/footer相邻样式（内部保持原生类名） */
    .deep-bootstrap-card > .card-header + .list-group,
    .deep-bootstrap-card > .list-group + .card-footer {
      border-top: 0;
    }



    /* nav-tabs 右侧按钮 */
    .deep-nav-tabs-reply {
        margin-left: auto;
        align-self: center;
        padding-left: 2rem;
        list-style: none;
    }
    .deep-nav-tabs-reply .btn-outline-info {
        padding: 5px 16px;
        font-size: 14px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
    }


/* ========== 自定义类 ========== */

    /* 
        bootstrap颜色参考：

        --primary: #007bff;
        --secondary: #6c757d;
        --success: #28a745;
        --info: #17a2b8;
        --warning: #ffc107;
        --danger: #dc3545;
        --light: #f8f9fa;
        --dark: #343a40;
    */



    /* 字号 */
    .deep-fs-9{ font-size: 0.6rem !important; }
    .deep-fs-8{ font-size: 0.7rem !important; }
    .deep-fs-7{ font-size: 0.8rem !important; }
    .deep-fs-6{ font-size: 0.9rem !important; }
    .deep-fs-5{ font-size: 1.25rem !important; }
    .deep-fs-4{ font-size: calc(1.275rem + .3vw) !important; }
    .deep-fs-3{ font-size: calc(1.3rem + .6vw) !important; }
    .deep-fs-2{ font-size: calc(1.325rem + .9vw) !important; }
    .deep-fs-1{ font-size: calc(1.375rem + 1.5vw) !important; }

    /* 边框 */
    .deep-b-solid { border: 1px solid #dee2e6 !important;}
    .deep-b-solid-radius { border: 1px solid #dee2e6 !important; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}
    .deep-b-dotted { border: 1px dotted #dee2e6  !important;}
    .deep-b-dotted-radius { border: 1px dotted #dee2e6 !important; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}
    .deep-b-dashed { border: 1px dashed #dee2e6  !important;}
    .deep-b-dashed-radius { border: 1px dashed #dee2e6 !important; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}

    /* tab */
    .deep-nav-tabs-primary {
        border-bottom: 1px solid var(--primary) !important;
    }
    .deep-nav-tabs-primary .nav-item.show .nav-link, .deep-nav-tabs-primary .nav-link.active {
        border-color: var(--primary) var(--primary) #fff !important;
    }
    .deep-nav-tabs-secondary {
        border-bottom: 1px solid var(--secondary) !important;
    }
    .deep-nav-tabs-secondary .nav-item.show .nav-link, .deep-nav-tabs-secondary .nav-link.active {
        border-color: var(--secondary) var(--secondary) #fff !important;
    }
    .deep-nav-tabs-success {
        border-bottom: 1px solid var(--success) !important;
    }
    .deep-nav-tabs-success .nav-item.show .nav-link, .deep-nav-tabs-success .nav-link.active {
        border-color: var(--success) var(--success) #fff !important;
    }
    .deep-nav-tabs-warning {
        border-bottom: 1px solid var(--warning) !important;
    }
    .deep-nav-tabs-warning .nav-item.show .nav-link, .deep-nav-tabs-warning .nav-link.active {
        border-color: var(--warning) var(--warning) #fff !important;
    }
    .deep-nav-tabs-danger {
        border-bottom: 1px solid var(--danger) !important;
    }
    .deep-nav-tabs-danger .nav-item.show .nav-link, .deep-nav-tabs-danger .nav-link.active {
        border-color: var(--danger) var(--danger) #fff !important;
    }


    /* 按钮 */

    .deep-btn-info {
        padding: 8px 16px;
        border: 1px solid #17a2b8;
        color: #17a2b8;
        background: white;
        border-radius: 20px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .deep-btn-info:hover {
        background: #17a2b8;
        color: white;
        border-color: #17a2b8;
    }
    .deep-btn-danger {
        padding: 8px 16px;
        border: 1px solid #dc3545;
        color: #dc3545;
        background: white;
        border-radius: 20px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .deep-btn-danger:hover {
        background: #dc3545;
        color: white;
        border-color: #dc3545;
    }
    .deep-btn-success {
        padding: 8px 16px;
        border: 1px solid #28a745;
        color: #28a745;
        background: white;
        border-radius: 20px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .deep-btn-success:hover {
        background: #28a745;
        color: white;
        border-color: #28a745;
    }
    .deep-btn-warning {
        padding: 8px 16px;
        border: 1px solid #ffc107;
        color: #ffc107;
        background: white;
        border-radius: 20px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .deep-btn-warning:hover {
        background: #ffc107;
        color: white;
        border-color: #ffc107;
    }
    .deep-btn-secondary {
        padding: 8px 16px;
        border: 1px solid #6c757d;
        color: #6c757d;
        background: white;
        border-radius: 20px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .deep-btn-secondary:hover {
        background: #6c757d;
        color: white;
        border-color: #6c757d;
    }
    .deep-btn-primary {
        padding: 8px 16px;
        border: 1px solid #007bff;
        color: #007bff;
        background: white;
        border-radius: 20px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .deep-btn-primary:hover {
        background: #007bff;
        color: white;
        border-color: #007bff;
    }

    /* 表格 */
    /* 基础样式 --fixed-col-width可自定义，默认为110px */
    .deep-table-fixed {
      table-layout: fixed !important; 
      width: 100% !important;        
      border-collapse: collapse;     
      --fixed-col-width: 110px; /* 固定列默认宽度（可通过行内覆盖） */
    }
    /* 所有单元格统一文本换行处理 */
    .deep-table-fixed th,
    .deep-table-fixed td {
      white-space: normal;
      overflow-wrap: break-word; /* 等价于word-wrap: break-word */
      word-break: break-all;     /* 增强中英文混排换行兼容性 */
    }
    /* 表格中：1组（奇数列=固定，偶数列=自适应） */
    .deep-table-2cols {
      --group-count: 1; /* 分组数=列数/2 */
    }
    .deep-table-4cols {
      --group-count: 2;
    }
    .deep-table-6cols {
      --group-count: 3;
    }
    .deep-table-8cols {
      --group-count: 4;
    }
    /* 通用列宽规则（deep-col-fixed、deep-col-auto为一组） */
    .deep-table-fixed .deep-col-fixed {
      width: var(--fixed-col-width) !important;
      min-width: var(--fixed-col-width) !important;
    }
    .deep-table-fixed .deep-col-auto {
      width: calc((100% / var(--group-count)) - var(--fixed-col-width)) !important;
    }

    /* 表格其他 */
    .deep-no-border-t,
    .deep-no-border-t tr,
    .deep-no-border-t td,
    .deep-no-border-t th,
    tr.deep-no-border-t, 
    td.deep-no-border-t, 
    th.deep-no-border-t {
      border-top: 0;
    }
    .deep-no-border-b,
    .deep-no-border-b tr,
    .deep-no-border-b td,
    .deep-no-border-b th,
    tr.deep-no-border-b, 
    td.deep-no-border-b, 
    th.deep-no-border-b  {
      border-bottom: 0;
    }

    /* 悬浮提示框 */
    .deeptp-tag-tooltip {
        position: fixed;
        background: #1e293b;
        color: #ffffff;
        padding: 10px 15px;
        border-radius: 6px;
        font-size: 13px;
        box-shadow: 0 4px 8px rgba(0,0,0,0.15);
        z-index: 99999 !important;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s, visibility 0.2s;
        pointer-events: none;
        max-width: 400px;
        width: max-content;
        min-width: 150px;
        white-space: normal;
        text-align: left;
        line-height: 1.4;
        box-sizing: border-box;
        border: 1px solid rgba(0,0,0,0.05);
    }

    .deeptp-tag-tooltip::after {
        content: '';
        position: absolute;
        border-width: 6px;
        border-style: solid;
        transition: all 0.2s;
    }

    .deeptp-tag-tooltip.top::after {
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-color: #1e293b transparent transparent transparent;
    }

    .deeptp-tag-tooltip.bottom::after {
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-color: transparent transparent #1e293b transparent;
    }

    .deeptp-custom-tag:hover .deeptp-tag-tooltip {
        opacity: 1;
        visibility: visible;
    }



    /*页码*/
    .deep-page-bar {
        padding: 10px;
        background: white;
        border-radius: 5px;
        /* border: 1px solid var(--deep-border-color); */
        text-align: center;
    }
    .deep-custom-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        flex-wrap: wrap;
    }
    .deep-page-btn {
        min-width: 40px;
        height: 40px;
        padding: 8px 12px;
        border: 1px solid #ddd;
        background: white;
        color: #333;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 4px;
        transition: all 0.3s;
        cursor: pointer;
        font-size: 14px;
    }
    .deep-page-btn:hover {
        background: #f0f0f0;
        border-color: #ccc;
        color: #333;
    }
    .deep-page-btn.active {
        background: #007bff;
        color: white;
        border-color: #007bff;
        font-weight: bold;
    }
    .deep-page-info {
        display: flex;
        align-items: center;
        gap: 15px;
        margin-left: 15px;
        font-size: 14px;
        color: #666;
    }
    .deep-page-select {
        padding: 6px 10px;
        border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 14px;
        cursor: pointer;
    }
    .deep-total-count {
        color: #007bff;
        font-weight: bold;
    }
    @media (max-width: 768px) {
        .deep-custom-pagination {
            flex-direction: column;
            gap: 10px;
        }
        .deep-page-info {
            margin-left: 0;
            flex-direction: column;
            gap: 10px;
        }
    }
    

    /*卡片*/
    .deep-select-card {
        padding: 10px 20px;
        background: white;
        border-radius: 10px;
        /* border: 1px solid #e9ecef; */
        transition: all 0.3s;
        height: 100% !important;
        width: 100% !important;
    }


/*plupload上传插件*/

    /* 上传按钮 */
    .plupload-wraper .btn-wraper {
        text-align: center;
    }
    .btn-wraper .upload-add-btn {
        display: flex;
        justify-content: center;
        align-items: center; 
        width: 100px; 
        height: 100px; 
        border: 2px dashed #ccc;
        border-radius: 8px; 
        background-color: #f9f9f9;
        color: #999;
        text-decoration: none;
        font-size: 0;
        transition: all 0.3s ease;  
        flex-shrink: 0; 
    }
    .btn-wraper .upload-add-btn::before {
        content: "+";
        font-size: 50px;
        line-height: 1;
        font-weight: 300; 
        font-family: Arial, sans-serif; 
    }
    .btn-wraper .upload-add-btn:hover {
        border-color: #1890ff; 
        color: #1890ff; 
        background-color: #e6f7ff; 
        transform: scale(1.05); 
        cursor: pointer;  
    }
    .btn-wraper .upload-add-btn:hover::before {
        transform: rotate(90deg);
        transition: transform 0.3s ease;
    }

    /* 错误信息容器 */
    .plupload-wraper .error-text{ 
        line-height: 20px; 
        font-size:12px; 
        color:#999; 
        margin-top:10px;
    }	    

    /* 上传文件项容器 */
    .plupload-wraper .file-item {
        position: relative;
        margin: 10px 0;
        padding: 10px;
        border: 1px solid #eee;
        border-radius: 4px;
    }
    .file-item .preview-box {
        display: flex;
        align-items: center;
        font-size: 0.9rem;
        color: #95a5a6;
        margin-bottom: 10px;
    }

    /* 信息容器 */
    .preview-box .preview-info {
        flex: 1;
        line-height: 2rem;
    }
    
    .preview-info .info {
        font-weight: 600;
        font-size: 0.9rem;
        color:#888;
    }

    .preview-info .other {
        font-size: 0.7rem;
        color:#888;
    }

    .preview-info .mr {
        margin-right: 15px;
    }

    .preview-info .ossbt {
        display: flex; 
        align-items: center; 
        width: 100%;
    }
    .preview-info .form-control {
        flex: 1; 
        border: 1px solid #ddd;
        border-radius: 4px;
        font-size: 0.9rem;
        transition: border-color 0.2s;
        padding: 6px 10px;
        margin: 0; 
    }
    .preview-info .form-control:focus {
        outline: none;
        border-color: var(--deepexp-primary-color);
        box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
    }   
    .preview-info .file-ext {
        margin-left: 8px; 
        color: #666; 
        font-size: 0.9rem;
        white-space: nowrap; 
    }

    
    /* 操作按钮 */
    .preview-info .preview-actions{
        display: flex; 
        align-items: center;
        gap: 10px;
    }
    .preview-info .preview-actions a{
        margin: 0 5px;
        border-radius: 3px;
        display: inline-block;
        height: 28px;
        line-height: 28px;
        text-align: center;
        width: 72px;
        transition: background-color 0.2s linear 0s;
        border: none;
        text-decoration: none;
        cursor: pointer;
        font-size: 0.8rem;
    }
    .preview-actions .del_file {
        background-color: #e74c3c;
        color: #fff;
    }

    .preview-actions .del_file:hover {
        background-color: #c0392b;
    }   

    .preview-actions .up_file {
        background-color: #e0e0e0;
        color: #333;
    }

    .preview-actions .up_file:hover {
        background-color: #2980b9;
        color: #fff;
    }

    .preview-actions .post-btn-disabled {
        color: #a0a0a0 !important;
        cursor: not-allowed;
        pointer-events: none;
        opacity: 0.8;
        box-shadow: none;
        transition: none;
    }

    /* 预览图容器 */
    .preview-box .preview-container {
        width: 120px;
        height: 120px;
        margin-right: 10px;
        border: 1px dashed #ddd;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 2rem;
    }
    .preview-container img {
        max-width: 100%;
        max-height: 100%;
        object-fit: cover;
    }

    /* 清除浮动 */
    .file-item:after {
        content: "";
        display: block;
        clear: both;
    }

    /* 进度条 */
    .plupload-wraper .progress {
        margin: 3px auto 10px;
        width: 100%;
        height: 10px;
        overflow: hidden;
        background-color: #f5f5f5;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px;
        border-radius: 3px;
        -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
        box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
    }
    .plupload-wraper .progress-bar {
        background-color: rgb(92, 184, 92);
        background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.14902) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.14902) 50%, rgba(255, 255, 255, 0.14902) 75%, transparent 75%, transparent);
        background-size: 40px 40px;
        box-shadow: rgba(0, 0, 0, 0.14902) 0px -1px 0px 0px inset;
        box-sizing: border-box;
        color: rgb(255, 255, 255);
        display: block;
        float: left;
        font-size: 10px;
        height: 10px;
        line-height: 10px;
        text-align: center;
        transition-delay: 0s;
        transition-duration: 0.6s;
        transition-property: width;
        transition-timing-function: ease;
    }




    /* form控制 */
    .select-control {
        padding: 5px 8px;
        color: #555;
        border-radius: 3px;
    }
    .input-control {
        display: block;
        width:calc(100% - 18px);
        width:-moz-calc(100% - 18px);
        width:-webkit-calc(100% - 18px);
        padding: 5px 8px;
        color: #555;
        background-color: #fff;
        background-image: none;
        border: 1px solid #ccc;
        border-radius: 3px;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
        -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
        -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
        transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    }

