:root {
    --st-body-margin-bottom: 60px;
    --st-main-container-top: 70px;
    --st-main-container-min-height: 640px;
}

[page-logo=big] {
    --st-logo-height: 75px;
    --st-main-container-top: 20px;
    --st-logo-border-color: #0dcaf0;
}

[page-header=hide] {
    --st-main-container-top: 10px;
}

[page-footer=hide] {
    --st-body-margin-bottom: 10px;
}

:root {
    --st-color-light-cyan: #f1fafa; /* #e0ffff; */
    --st-color-light-cyan-hover: #e0ffff;
    --st-color-checkup-tool-background: rgba(255, 255, 255, 0.25);
    --st-color-alert-amending-background: rgba(244, 210, 211, 0.5);
}

.bg-light-cyan {
    background-color: var(--st-color-light-cyan);
}

html {
    font-size: 14px;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: var(--st-body-margin-bottom);
    /*background-color: #f5f5f5;
    background-color: #eef4fa;*/
}

.fw-thin {
    font-weight: 200 !important;
}

.navbar-brand {
    padding: 0 !important;
}

.navbar-brand img {
    max-width: calc(100vw - 85px);
}

#logo-container {
    margin-top: var(--st-logo-height);
    padding-bottom: 5px;
    margin-bottom: 20px;
    border-bottom: var(--st-logo-border-color) 1px solid;
}

#logo-container .site-logo {
    margin-bottom: 15px;
    max-width: calc(100vw - 20px);
}

@media (min-width: 768px) {
    #logo-container .site-logo {
        height: var(--st-logo-height);
        width: auto;
    }
}

@media (min-width: 475px) {
    .navbar-brand img {
        height: 48px;
        width: auto;;
    }
}

#main-container {
    margin-top: var(--st-main-container-top);
    min-height: var(--st-main-container-min-height);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
}

#main-container main {
    flex: 1;
}

/* 完全隐藏滚动条但保持滚动功能 */
.hide-scrollbar {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

.hide-scrollbar::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
}

#footer-content {
    /* border-top: #0dcaf0 1px solid; */
    border-top: rgba(13, 202, 240, .25) 1px solid;
}

/* Workspace 布局*/
.ws-container {
    display: flex;
}

.ws-menu {
    flex-shrink: 0;
    border: #f5f5f5 1px solid;
    border-radius: 2px;
    box-shadow: 1px 1px 4px rgb(0 0 0 / 8%);
}

.ws-content {
    flex: 1;
    position: relative;
    margin-top: 0.75rem;
    margin-left: 1rem;
    overflow-x: hidden;
}

.ws-menu {
    z-index: 777;
    border-top: none;
    overflow: hidden;
    background-color: #ffffff;
}

.ws-content.no-side-menu {
    margin-left: 0;
}

.ws-content .data-form-container,
.ws-content .data-table-container {
    margin-top: 0.875rem;
}

@media (min-width: 576px) {
    #main-container {
        max-width: calc(100vw - 32px);
    }
}

@media (min-width: 768px) {
    .ws-menu {
        width: 180px;
    }
}

@media (min-width: 1200px) {
    #main-container {
        max-width: calc(100vw - 60px);
    }
}

@media (min-width: 1900px) {
    #main-container {
        max-width: calc(100vw - 80px);
    }

    .ws-menu {
        width: 265px;
        padding-left: 15px;
    }
}

.popup #main-container {
    max-width: calc(100vw - 32px) !important;
}

/* 跳转菜单项 */
.layui-menu li.layui-menu-item-group.portal .layui-menu-body-title,
    .layui-menu li.layui-menu-item-group.warning .layui-menu-body-title {
    margin-left: -17px;
}
.layui-menu li.layui-menu-item-group.portal a {
    color: var(--bs-primary);
}
.layui-menu li.layui-menu-item-group.warning a {
    color: var(--bs-warning);
}
.layui-menu li.layui-menu-item-group.portal:hover {
    background-color: var(--bs-primary);
}
.layui-menu li.layui-menu-item-group.warning:hover {
    background-color: var(--bs-warning);
}
.layui-menu li.layui-menu-item-group.portal:hover a,
.layui-menu li.layui-menu-item-group.warning:hover a {
    color: #FFFFFF;
}
.layui-menu li.layui-menu-item-group.portal i:before,
.layui-menu li.layui-menu-item-group.warning i:before {
    padding-top: 3px;
}

.layui-layer-title {
    height: 39px !important;
    line-height: 39px !important;
}
.layui-layer.layui-layer-iframe {
    box-shadow: 3px 6px 3px green;
}
.layui-layer-content > iframe {
    border-top: 3px solid var(--bs-gray-300);
}

.layui-layer-prompt textarea.layui-layer-input {
    width: 100% !important;
    min-width: 300px;
}

/* 提示信息样式 */
.layer-primary {
    border: var(--bs-primary) 1px solid;
    color: var(--bs-primary);
}

.layer-primary .layui-layer-btn a.layui-layer-btn0 {
    background-color: var(--bs-primary);
}

.layer-success {
    border: var(--bs-success) 1px solid;
    color: var(--bs-success);
}

.layer-success .layui-layer-btn a.layui-layer-btn0 {
    background-color: var(--bs-success);
}

.layer-info {
    color: var(--bs-info);
}
.layer-info.layui-layer-msg {
    border: var(--bs-info) 2px solid;
    box-shadow: 3px 3px;
}
.layer-info.layui-layer-dialog .layui-layer-content {
    font-size: 16px;
}

.layer-info .layui-layer-btn a.layui-layer-btn0 {
    background-color: var(--bs-info);
}

.layer-secondary {
    border: var(--bs-gray-300) 1px solid;
    color: var(--bs-gray-800);
}

.layer-secondary .layui-layer-btn a.layui-layer-btn0 {
    background-color: var(--bs-gray-300);
    color: var(--bs-gray-800);
}

.layer-warning {
    border: var(--bs-warning) 1px solid;
    color: var(--bs-warning);
}

.layer-warning .layui-layer-btn a.layui-layer-btn0 {
    background-color: var(--bs-warning);
}

.layer-failed {
    border: var(--bs-danger) 1px solid;
    color: var(--bs-danger);
}

.layer-failed .layui-layer-btn a.layui-layer-btn0 {
    background-color: var(--bs-danger);
}

/* form */

.form-floating > .form-control ~ label {
    color: rgba(var(--bs-info-rgb), .35);
}

/* Require Mark */
label.require-mark::after,
.form-floating label.require-mark::after,
.form-floating > .form-control-plaintext ~ label.require-mark::after,
.form-floating > .form-control:focus ~ label.require-mark::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label.require-mark::after,
.form-floating > .form-select ~ label.require-mark::after {
    content: " *";
    color: #FF0000;
    inset: initial;
    position: relative;
    background-color: transparent;
}

.form-control.form-check {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.form-control.form-check .form-check-input {
    margin-left: -1em;
    padding-left: 0.2rem;
}

.form-control.form-check.form-switch .form-check-input {
    margin-left: -1.675em;
}

.form-control.form-check .form-check-label {
    padding-left: 0.675rem;
}

.form-check.form-floating {
    padding-left: 0;
}

.form-check.form-floating .form-check-input {
    margin-left: 0;
}

.form-floating input {
    color: #2D2D2D;
}

.form-floating span.field-validation-error {
    padding-top: 0.125rem !important;
}

.collapsible-highlight {
    border: lightgray 1px dashed;
    background-color: lightyellow;
}

span.field-validation-error {
    margin-top: 0.15rem;
    margin-left: 0.25rem;
    display: inline-block;
}

span.field-validation-error.top {
    margin-top: 0;
    margin-bottom: 0.15rem;
}

.p-rb-1 {
    padding-right: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

.form-select:disabled,
.form-control:disabled {
    background-color: #f5f5f5;
}

/* 多个按钮之间自动边距 */
.btn + .btn {
    margin-left: 0.5rem;
}

/* xs 按钮（比 sm 更小按钮），主要用于表格内的操作按钮 */
.btn-xs, .btn-group-xs > .btn {
    --bs-btn-padding-y: 0.15rem;
    --bs-btn-padding-x: 0.5rem;
    --bs-btn-font-size: 0.875rem;
    --bs-btn-border-radius: var(--bs-border-radius-sm);
}

/* img button */
.btn.btn-link img:hover {
    border: navy 1px dashed;
}

.layui-table-box {
    min-height: 490px;
}

.popup .layui-table-box {
    min-height: initial;
}

/* 在没有工具栏是字段隐藏工具栏容器 */
.layui-table-tool:has(.layui-table-tool-temp:empty) {
    display: none;
}

.layui-table-tool-temp {
    padding-right: 0 !important;
}

.online-actions {
    display: inline-block;
}

.online-actions .btn:first-child {
    margin-left: 0.5rem;
}

.layui-table-tool-temp .layui-btn-container .btn {
    margin-bottom: 5px !important;
}

.layui-table-tool-self .layui-icon {
    color: var(--bs-link-color);
}

.layui-table-view .layui-table-header .layui-table th {
    border-top: 1px darkgrey solid;
    border-bottom: 2px darkgrey solid;
}

/* 缩小单元 边距*/
.data-table-container .layui-table-cell {
    padding: 6px 9px;
}

/* 表头文字居中 */
.data-table-container.text-center .layui-table-header th {
    text-align: center;
}

.layui-btn-container .layui-input-affix {
    line-height: 30px;
}

/* 表格单元 按钮偏移调整 */
.clear-cell-space {
    margin-top: -3px;
    word-spacing: -5px;
}

.layui-table-link {
    cursor: pointer;
}

.layui-table-link:hover {
    outline: dashed 1px var(--bs-primary);
    outline-offset: 2px;
}

/* 常用宽度（方便对齐） */
.w-rem-1 {
    width: 1rem;
}

.w-rem-2 {
    width: 2rem;
}

.w-rem-3 {
    width: 3rem;
}

.w-rem-4 {
    width: 4rem;
}

.w-rem-5 {
    width: 5rem;
}

.w-rem-6 {
    width: 6rem;
}

.w-rem-7 {
    width: 7rem;
}

.w-rem-8 {
    width: 8rem;
}

.w-rem-9 {
    width: 9rem;
}

.w-rem-10 {
    width: 10rem;
}

.w-rem-15 {
    width: 15rem;
}

.w-rem-20 {
    width: 20rem;
}

/* 水平边距（百分比）*/
.ms-12 {
    margin-left: 12.5%;
}

.ms-25 {
    margin-left: 25%;
}

.ms-50 {
    margin-left: 50%;
}

.me-12 {
    margin-right: 12.5%;
}

.me-25 {
    margin-right: 25%;
}

.me-50 {
    margin-right: 50%;
}

.layui-tree {
    --tree-highlight-color: var(--bs-primary);
    --tree-btn-icon-color: #0b5ed7;
    --tree-btn-icon-hover-color: #0d6efd;
}

/* layui 树形定制 */
.layui-tree-txt.has-required:after,
.layui-tree-txt.required:after {
    content: "*";
    padding: 5px 3px;
    display: inline-block;
    color: rgba(221, 86, 0, .87);
}

.layui-tree-line .layui-tree-entry:hover .layui-tree-txt {
    font-size: 1.05em;
    color: var(--tree-highlight-color);
    text-decoration: underline;
    transition: 0.3s;
}

.layui-tree-txt.text-highlight {
    font-size: 1.05em;
    color: var(--tree-highlight-color) !important;
}

.layui-tree-btnGroup .layui-icon {
    color: var(--tree-btn-icon-color);
}

.layui-tree-btnGroup .layui-icon:hover {
    color: var(--tree-btn-icon-hover-color);
}

/* layui 颜色适配：使用与 bootstrap 一致的颜色 */
.layui-btn {
    background-color: var(--bs-gray-100);
}

.layui-bg-red { /*赤*/
    background-color: var(--bs-red) !important;
}

.layui-bg-orange { /*橙*/
    background-color: var(--bs-orange) !important;
}

.layui-bg-green { /*绿*/
    background-color: var(--bs-green) !important;
}

.layui-bg-cyan { /*藏青*/
    background-color: var(--bs-cyan) !important;
}

.layui-bg-blue { /*蓝*/
    background-color: var(--bs-blue) !important;
}

.layui-bg-purple { /*紫*/
    background-color: var(--bs-purple) !important;
}

.layui-bg-black { /*深*/
    background-color: var(--bs-black) !important;
    color: #fff !important;
}

.layui-bg-gray { /*浅*/
    background-color: var(--bs-gray) !important;
}

.layui-border {
    color: var(--bs-gray);
}

.layui-border-red {
    border-color: var(--bs-red) !important;
    color: var(--bs-red) !important;
}

.layui-border-orange {
    border-color: var(--bs-orange) !important;
    color: var(--bs-orange) !important;
}

.layui-border-green {
    border-color: var(--bs-green) !important;
    color: var(--bs-green) !important;
}

.layui-border-cyan {
    border-color: var(--bs-cyan) !important;
    color: var(--bs-cyan) !important;
}

.layui-border-blue {
    border-color: var(--bs-blue) !important;
    color: var(--bs-blue) !important;
}

.layui-border-purple {
    border-color: var(--bs-purple) !important;
    color: var(--bs-purple) !important;
}

.layui-border-black {
    border-color: var(--bs-black) !important;
    color: var(--bs-black) !important;
}

.layui-btn-normal {
    background-color: var(--bs-primary) !important;
}

.layui-btn-warm {
    background-color: var(--bs-warning) !important;
}

.layui-btn-danger {
    background-color: var(--bs-danger) !important;
}

.layui-btn-checked {
    background-color: var(--bs-success) !important;
}

/* 弹出窗口 - 显示优化 */

/* 铺满弹窗 */
.popup #main-container {
    height: 100vh;
    min-height: 100px;
}

/* 填充弹出框底部空白 */
.popup #main-container main {
    display: flex;
    flex-direction: column;
}

/* 填满弹窗空白 */
.popup #main-container main .fill-height {
    flex: 1;
    overflow: auto;
}

/* 将 card-footer 置于 card 底部 */
.card-put-footer-to-bottom {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.card-put-footer-to-bottom .card-body {
    flex: 1 1 auto;
}

/* 整改提示显示 */
/* Form */
.amending-commit-mode input,
.amending-commit-mode textarea,
.amending-commit-mode select,
.checkup-commit-mode input,
.checkup-commit-mode textarea,
.checkup-commit-mode select {
    border: var(--bs-danger) 2px solid;
}

form .alert-amending {
    position: relative;
    margin-top: 0.125rem;
    margin-left: 0.25rem;
    margin-bottom: 0;
    padding: 0;
    color: var(--bs-warning);
    border-bottom: #dddddd 1px dashed;
}

.close-alert-message {
    position: absolute;
    top: -3px;
    right: 0;
    font-size: 0.85rem;
}

.close-alert-message:hover {
    color: var(--bs-warning);
    cursor: pointer;
}

td.alert-amending {
    background-color: var(--st-color-alert-amending-background);
}

.amending-popover {
    --bs-popover-max-width: 300px;
    --bs-popover-border-color: var(--bs-warning);
    --bs-popover-body-color: var(--bs-warning);
    --bs-popover-header-bg: var(--bs-white);
    --bs-popover-header-color: var(--bs-white);
    --bs-popover-body-padding-x: 1rem;
    --bs-popover-body-padding-y: .5rem;
}

.checkup-tool {
    position: absolute;
    left: 5px;
    top: 5px;
    opacity: 0;
    transition: opacity 0.3s ease;
    background: var(--st-color-checkup-tool-background);
    border: 1px solid #d05100;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.form-floating:not(.ignore):hover .checkup-tool,
.layui-table td:not(.ignore):hover .checkup-tool,
.layui-table th:not(.ignore):hover .checkup-tool {
    opacity: 1;
}

.checkup-tool span {
    position: absolute;
    left: 0;
    top: 0;
    background: white;
    box-shadow: 2px 2px 2px #c3c2c2;
    width: 1.5em;
    height: 1.5em;
}

.checkup-tool .tool-icon {
    top: 3px;
    left: 3px;
    position: absolute;
}

/* 报表表单容器 */
.edit-report {
    max-width: 1180px;
}

.reminder-link {
    color: var(--bs-primary);
    padding-left: 10px;
    padding-right: 10px;
    text-decoration: underline;
}

/* 证书查询界面 */
.search-container {
    min-width: 800px;
    max-width: 1600px;
    margin: 20px auto;
}

/* ws-content 水印背景 */
.ws-content.watermark {
    position: relative;
}

.ws-content.watermark::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("../img/watermark.png");
    background-repeat: no-repeat;
    background-position: center 180px;
    background-size: 180px;
    opacity: 0.15;
    pointer-events: none;
    z-index: 2;
}

.ws-content.watermark > * {
    position: relative;
    z-index: 1;
}
