:root {
    --tech-bg: #07111f;
    --tech-bg-deep: #030914;
    --tech-panel: rgba(10, 25, 47, 0.82);
    --tech-panel-strong: rgba(8, 20, 38, 0.94);
    --tech-panel-soft: rgba(19, 43, 76, 0.72);
    --tech-line: rgba(88, 197, 255, 0.14);
    --tech-line-strong: rgba(110, 226, 255, 0.52);
    --tech-select-border: rgba(88, 197, 255, 0.2);
    --tech-select-border-active: rgba(46, 230, 255, 0.58);
    --tech-select-bg: rgba(5, 19, 37, 0.86);
    --tech-text: #d8f6ff;
    --tech-text-soft: #85abc0;
    --tech-primary: #2ee6ff;
    --tech-primary-strong: #1db7ff;
    --tech-accent: #78ffbd;
    --tech-selected-bg: #0a3048;
    --tech-danger: #ff667f;
    --tech-warning: #ffb35c;
    --tech-shadow: 0 0 0 1px rgba(88, 197, 255, 0.12), 0 18px 60px rgba(0, 0, 0, 0.34);
    --tech-dropdown-shadow: 0 18px 36px rgba(0, 0, 0, 0.32);
    --tech-glow: 0 0 18px rgba(46, 230, 255, 0.18);
    --tech-radius: 12px;
    --tech-radius-sm: 8px;
    --tech-dropdown-radius: 5px;
    --tech-dropdown-gap: 3px;
    --tech-toolbar-gap: 8px;
}

html {
    background-color: transparent !important;
}

body.tech-theme {
    background:
        radial-gradient(circle at 20% 20%, rgba(45, 214, 255, 0.14), transparent 28%),
        radial-gradient(circle at 80% 0%, rgba(120, 255, 189, 0.11), transparent 26%),
        radial-gradient(circle at 50% 100%, rgba(29, 183, 255, 0.14), transparent 35%),
        linear-gradient(160deg, #030914 0%, #07111f 38%, #06182b 100%);
    position: relative;
    color: var(--tech-text);
    font-family: "Segoe UI", "Microsoft YaHei", sans-serif;
    isolation: isolate;

    /* 统一面板边框与圆角设置 */
    border: 1px solid var(--tech-line);
    border-radius: var(--tech-radius);
    box-sizing: border-box;
    overflow: hidden;

    /* 全局禁止选中文本 */
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* 允许输入框和文本域选中文本 */
body.tech-theme input,
body.tech-theme textarea,
body.tech-theme [contenteditable="true"] {
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

/* 禁止表格拖动选中文本 */
body.tech-theme .layui-table,
body.tech-theme .layui-table tbody,
body.tech-theme .layui-table tr,
body.tech-theme .layui-table td,
body.tech-theme .layui-table th {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

body.tech-theme::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(152, 214, 255, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(152, 214, 255, 0.05) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(circle at center, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.25) 72%, transparent 100%);
    border-radius: inherit;
}

body.tech-theme::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(120deg, transparent 0%, rgba(120, 255, 189, 0.04) 35%, transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 35%);
    border-radius: inherit;
}

body.tech-theme * {
    scrollbar-width: thin;
    scrollbar-color: rgba(55, 183, 255, 0.65) rgba(5, 15, 29, 0.55);
}

body.tech-theme *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body.tech-theme *::-webkit-scrollbar-track {
    background: rgba(5, 15, 29, 0.7);
}

body.tech-theme *::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(46, 230, 255, 0.72), rgba(29, 183, 255, 0.58));
    border-radius: 999px;
    border: 2px solid rgba(5, 15, 29, 0.7);
}

body.tech-theme .layui-btn,
body.tech-theme button.layui-btn,
body.tech-theme .layui-layer-btn a {
    height: 38px;
    line-height: 38px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid rgba(65, 214, 255, 0.44);
    background: linear-gradient(135deg, rgba(10, 110, 180, 0.92), rgba(34, 233, 255, 0.82));
    color: #f4fdff;
    box-shadow: 0 10px 28px rgba(7, 97, 166, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.15);
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

body.tech-theme .layui-btn:hover,
body.tech-theme .layui-layer-btn a:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
    box-shadow: 0 16px 32px rgba(6, 124, 214, 0.3), 0 0 20px rgba(46, 230, 255, 0.24);
}

body.tech-theme .layui-btn-primary,
body.tech-theme .layui-layer-btn .layui-layer-btn1 {
    background: rgba(7, 24, 43, 0.86);
    color: var(--tech-text);
    border-color: rgba(88, 197, 255, 0.24);
    box-shadow: inset 0 0 0 1px rgba(88, 197, 255, 0.08);
}

body.tech-theme .layui-input,
body.tech-theme .layui-textarea,
body.tech-theme .layui-select-title input,
body.tech-theme .xm-input.xm-select,
body.tech-theme .xm-select-parent .xm-form-select {
    background: var(--tech-select-bg) !important;
    border: 1px solid var(--tech-select-border) !important;
    border-radius: 10px !important;
    color: var(--tech-text) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

body.tech-theme .toolbar-group {
    gap: var(--tech-toolbar-gap) !important;
}

body.tech-theme .layui-input::placeholder,
body.tech-theme .layui-textarea::placeholder,
body.tech-theme .layui-select-title input::placeholder,
body.tech-theme .xm-input.xm-select::placeholder {
    color: rgba(133, 171, 192, 0.72) !important;
}

body.tech-theme .layui-input:focus,
body.tech-theme .layui-textarea:focus,
body.tech-theme .layui-form-selected .layui-select-title input,
body.tech-theme .xm-select-parent .xm-form-selected,
body.tech-theme .xm-select-parent .xm-input.xm-select:focus {
    border-color: var(--tech-select-border-active) !important;
    box-shadow: 0 0 0 3px rgba(46, 230, 255, 0.12), 0 0 20px rgba(46, 230, 255, 0.12) !important;
}

body.tech-theme .layui-form-label,
body.tech-theme .layui-form-mid,
body.tech-theme .layui-input-suffix,
body.tech-theme .layui-form-select dl dd,
body.tech-theme .layui-form-select dl dt,
body.tech-theme .layui-form-select dl dd.layui-this,
body.tech-theme .xm-option-content,
body.tech-theme .xm-select-label,
body.tech-theme .xm-select-label div {
    color: var(--tech-text);
}

body.tech-theme .layui-input-wrap .layui-input-suffix .layui-icon-date {
    color: #8ff3ff !important;
    font-size: 17px;
    text-shadow: 0 0 12px rgba(34, 233, 255, 0.32);
    opacity: 1;
}

body.tech-theme .layui-laydate {
    border: 1px solid rgba(88, 197, 255, 0.24);
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(9, 24, 44, 0.98), rgba(6, 18, 34, 0.96));
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.32);
    color: var(--tech-text);
}

body.tech-theme .layui-laydate-header,
body.tech-theme .layui-laydate-footer {
    border-color: rgba(88, 197, 255, 0.18);
    background: rgba(10, 32, 54, 0.88);
}

body.tech-theme .layui-laydate-range .layui-laydate-main:nth-child(2) .layui-laydate-header,
body.tech-theme .layui-laydate-range .layui-laydate-main + .layui-laydate-main .layui-laydate-header {
    border-left: 2px solid rgba(88, 197, 255, 0.1) !important;
    box-shadow: none !important;
}

body.tech-theme .layui-laydate-main,
body.tech-theme .layui-laydate-content,
body.tech-theme .layui-laydate-content table {
    overflow: hidden !important;
}

body.tech-theme .layui-laydate-footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    min-height: 44px;
    padding: 8px 10px;
    box-sizing: border-box;
}

body.tech-theme .layui-laydate-header i,
body.tech-theme .layui-laydate-header span,
body.tech-theme .layui-laydate-footer span {
    color: var(--tech-text) !important;
}

body.tech-theme .layui-laydate-header i:hover,
body.tech-theme .layui-laydate-header span:hover,
body.tech-theme .layui-laydate-footer span:hover {
    color: var(--tech-primary) !important;
}

body.tech-theme .layui-laydate-content th {
    color: #8fc8de;
}

body.tech-theme .layui-laydate-content td,
body.tech-theme .layui-laydate-content td span {
    color: var(--tech-text);
}

body.tech-theme .layui-laydate-content td:hover,
body.tech-theme .layui-laydate-list li:hover {
    background: rgba(46, 230, 255, 0.12);
}

body.tech-theme .layui-laydate-list {
    background: linear-gradient(180deg, rgba(9, 24, 44, 0.98), rgba(6, 18, 34, 0.96)) !important;
}

body.tech-theme .layui-laydate-list > li {
    background: transparent !important;
}

body.tech-theme .layui-laydate-list li {
    color: var(--tech-text) !important;
}

body.tech-theme .layui-laydate-list li.layui-this,
body.tech-theme .layui-laydate .layui-this,
body.tech-theme .layui-laydate .layui-this > div {
    background: linear-gradient(135deg, rgba(10, 110, 180, 0.92), rgba(34, 233, 255, 0.82)) !important;
    color: #f4fdff !important;
}

body.tech-theme .layui-laydate td.laydate-day-next,
body.tech-theme .layui-laydate td.laydate-day-prev,
body.tech-theme .layui-laydate td.layui-disabled,
body.tech-theme .layui-laydate td.laydate-day-next span,
body.tech-theme .layui-laydate td.laydate-day-prev span,
body.tech-theme .layui-laydate td.layui-disabled span {
    color: rgba(143, 200, 222, 0.38) !important;
}

body.tech-theme .layui-laydate-footer span {
    border-color: rgba(88, 197, 255, 0.22) !important;
    background: rgba(9, 24, 44, 0.92) !important;
}

body.tech-theme .layui-laydate-footer span:hover {
    background: rgba(18, 54, 86, 0.96) !important;
}

body.tech-theme .layui-laydate-footer .layui-laydate-preview {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 90px;
    min-width: 90px;
    height: 28px;
    margin: 0 15px 0 0;
    padding: 0;
    text-align: center !important;
    text-indent: 0 !important;
    line-height: 28px;
    box-sizing: border-box;
    border: 1px solid rgba(88, 197, 255, 0.28) !important;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(11, 34, 58, 0.96), rgba(7, 24, 42, 0.94)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    color: var(--tech-text) !important;
    font-size: 14px;
}

body.tech-theme .layui-laydate-range .layui-laydate-main,
body.tech-theme .layui-laydate-range .layui-laydate-main + .layui-laydate-main {
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

body.tech-theme .layui-laydate-range .layui-laydate-content {
    border-left: 2px solid rgba(88, 197, 255, 0.1) !important;
    border-right: 0 !important;
}

body.tech-theme .layui-laydate-range .layui-laydate-footer .layui-laydate-preview {
    justify-content: flex-start !important;
    width: auto;
    min-width: 0;
    max-width: calc(100% - 130px);
    height: 34px;
    margin-right: 18px;
    padding: 0 14px;
    border-color: rgba(88, 197, 255, 0.18) !important;
    background: rgba(9, 24, 44, 0.7) !important;
    font-size: 16px;
    line-height: 34px;
    letter-spacing: 0.2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.tech-theme .layui-laydate-footer .laydate-footer-btns {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 28px;
    gap: 4px;
    margin: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

body.tech-theme .layui-laydate-footer .laydate-footer-btns span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px;
    height: 28px !important;
    line-height: 28px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border-radius: 8px !important;
    box-sizing: border-box;
    font-size: 11px !important;
    position: static;
    transform: none;
}

body.tech-theme .layui-laydate-footer .laydate-footer-btns span + span {
    margin-left: 0 !important;
}

body.tech-theme .layui-laydate-footer .laydate-footer-btns span:first-child,
body.tech-theme .layui-laydate-footer .laydate-footer-btns span:nth-child(2) {
    background: rgba(9, 24, 44, 0.92) !important;
}

body.tech-theme .layui-laydate-footer .laydate-footer-btns span:last-child {
    border-color: rgba(65, 214, 255, 0.4) !important;
    background: linear-gradient(135deg, rgba(10, 110, 180, 0.9), rgba(34, 233, 255, 0.76)) !important;
    color: #f4fdff !important;
    box-shadow: 0 8px 20px rgba(7, 97, 166, 0.24);
}

body.tech-theme .layui-laydate-footer .laydate-footer-btns span:last-child:hover {
    filter: brightness(1.06);
}

body.tech-theme .layui-laydate-hint {
    background: linear-gradient(145deg, rgba(18, 42, 68, 0.96), rgba(8, 20, 36, 0.96)) !important;
    border: 1px solid rgba(88, 197, 255, 0.3) !important;
    border-radius: 12px !important;
    color: var(--tech-danger) !important;
    line-height: 1.8 !important;
    box-sizing: border-box !important;
    box-shadow: 
        0 24px 48px rgba(0, 0, 0, 0.6), 
        0 0 15px rgba(88, 197, 255, 0.08),
        inset 0 1px 2px rgba(255, 255, 255, 0.15), 
        inset 0 -1px 2px rgba(0, 0, 0, 0.3) !important;
    backdrop-filter: blur(10px);
    font-weight: 500 !important;
}

body.tech-theme .layui-form-select dl,
body.tech-theme .xm-select-parent .xm-body,
body.tech-theme .xm-select-parent .xm-form-select dl {
    background: rgb(5, 18, 34) !important;
    background-color: rgb(5, 18, 34) !important;
    border: 1px solid var(--tech-select-border);
    border-radius: var(--tech-dropdown-radius);
    box-shadow: var(--tech-dropdown-shadow);
    opacity: 1 !important;
}

body.tech-theme .layui-form-select dl,
body.tech-theme .xm-form-select dl {
    top: 100% !important;
    margin-top: var(--tech-dropdown-gap) !important;
    background: rgb(5, 18, 34) !important;
    background-color: rgb(5, 18, 34) !important;
    opacity: 1 !important;
}

body.tech-theme .xm-form-select dl,
body.tech-theme .xm-body {
    border-radius: var(--tech-dropdown-radius) !important;
    background: rgb(5, 18, 34) !important;
    background-color: rgb(5, 18, 34) !important;
    opacity: 1 !important;
}

body.tech-theme .layui-form-select dl .layui-select-none,
body.tech-theme .layui-form-select dl p,
body.tech-theme .layui-form-select dl dd.layui-disabled,
body.tech-theme .layui-form-select dl dd[lay-value=""],
body.tech-theme .xm-form-select dl dd.xm-dis-disabled,
body.tech-theme .xm-select-none:hover {
    background: rgb(5, 18, 34) !important;
    background-color: rgb(5, 18, 34) !important;
    color: rgba(133, 171, 192, 0.72) !important;
}

body.tech-theme .layui-form-select dl dd:hover,
body.tech-theme .layui-form-select dl dt:hover,
body.tech-theme .xm-option:hover,
body.tech-theme .xm-select-parent .xm-form-select dl dd:hover {
    background: rgba(46, 230, 255, 0.12) !important;
    background-color: rgba(46, 230, 255, 0.12) !important;
}

body.tech-theme .layui-form-select dl dd.layui-this,
body.tech-theme .xm-select-parent .xm-form-select dl dd.xm-select-this,
body.tech-theme .xm-select-parent .xm-form-select dl dd.xm-select-this:hover,
body.tech-theme .xm-select-parent .xm-option.xm-select-this,
body.tech-theme .xm-select-parent .xm-option.xm-select-this:hover,
body.tech-theme .xm-form-select dl dd.xm-select-this,
body.tech-theme .xm-form-select dl dd.xm-select-this:hover,
body.tech-theme .xm-option.xm-select-this,
body.tech-theme .xm-option.xm-select-this:hover {
    background: var(--tech-selected-bg) !important;
}

body.tech-theme .xm-select-parent .xm-form-select dl dd.xm-select-this .xm-option-content,
body.tech-theme .xm-select-parent .xm-form-select dl dd.xm-select-this .xm-form-checkbox > span,
body.tech-theme .xm-select-parent .xm-option.xm-select-this .xm-option-content,
body.tech-theme .xm-form-select dl dd.xm-select-this .xm-option-content,
body.tech-theme .xm-form-select dl dd.xm-select-this .xm-form-checkbox > span,
body.tech-theme .xm-option.xm-select-this .xm-option-content {
    color: inherit !important;
}

body.tech-theme .xm-select-parent .xm-form-select dl dd.xm-select-this .xm-form-checkbox > i,
body.tech-theme .xm-select-parent .xm-option.xm-select-this .xm-form-checkbox > i,
body.tech-theme .xm-form-select dl dd.xm-select-this .xm-form-checkbox > i,
body.tech-theme .xm-option.xm-select-this .xm-form-checkbox > i {
    border: none !important;
    color: var(--tech-primary-strong) !important;
    font-size: 16px !important;
}

body.tech-theme .layui-form-checkbox[lay-skin=primary] span,
body.tech-theme .layui-form-checked[lay-skin=primary] span {
    color: var(--tech-text-soft);
}

body.tech-theme .layui-form-checkbox[lay-skin=primary] i {
    border-color: rgba(88, 197, 255, 0.3);
    background: rgba(5, 19, 37, 0.9);
}

body.tech-theme .layui-form-checked[lay-skin=primary] i {
    background-color: var(--tech-primary-strong);
    border-color: var(--tech-primary);
}

body.tech-theme .layui-table,
body.tech-theme .layui-table-view,
body.tech-theme .layui-table-box {
    background: #0c1826;
    color: var(--tech-text);
}

body.tech-theme .layui-table {
    border: none;
    box-shadow: none;
}

body.tech-theme .layui-table-header,
body.tech-theme .layui-table-body,
body.tech-theme .layui-table-page,
body.tech-theme .layui-table-main,
body.tech-theme .layui-table-tool,
body.tech-theme .layui-table-total {
    background: #0c1826;
}

body.tech-theme .layui-table th,
body.tech-theme .layui-table td,
body.tech-theme .layui-table-view,
body.tech-theme .layui-table-header,
body.tech-theme .layui-table-page,
body.tech-theme .layui-table-tool,
body.tech-theme .layui-table-total,
body.tech-theme .layui-table-main {
    border-color: rgba(88, 197, 255, 0.1) !important;
}

body.tech-theme .layui-table thead tr,
body.tech-theme .layui-table-header tr {
    background: #12263a !important;
}

body.tech-theme .layui-table thead th,
body.tech-theme .layui-table-header th {
    color: #9bb5c4 !important;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-shadow: none;
}

body.tech-theme .layui-table tbody tr,
body.tech-theme .layui-table-body tr {
    background: #0f1d2e;
    color: #c5d2da;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

body.tech-theme .layui-table tbody tr:nth-child(even),
body.tech-theme .layui-table-body .layui-table tr:nth-child(even) {
    background: #102132;
}

body.tech-theme .layui-table tbody td,
body.tech-theme .layui-table-body td {
    background: transparent;
    color: #c5d2da;
}

body.tech-theme .layui-table tbody tr:hover,
body.tech-theme .layui-table tbody tr:hover td,
body.tech-theme .layui-table-body tr:hover,
body.tech-theme .layui-table-body tr:hover td {
    background: #163044 !important;
    color: #dde7ec !important;
}

body.tech-theme .layui-laypage a,
body.tech-theme .layui-laypage span {
    background: rgba(5, 19, 37, 0.86);
    color: var(--tech-text);
    border-color: rgba(88, 197, 255, 0.18);
    border-radius: 8px;
    margin-right: 6px;
}

body.tech-theme .layui-laypage .layui-laypage-count {
    margin-right: 16px !important;
    padding: 0 14px !important;
    width: auto !important;
    display: inline-block !important;
}

body.tech-theme .layui-laypage .layui-laypage-curr .layui-laypage-em {
    background: linear-gradient(135deg, rgba(29, 183, 255, 0.92), rgba(46, 230, 255, 0.92));
    border-radius: 8px;
}

body.tech-theme .layui-layer,
body.tech-theme .layui-layer-page .layui-layer-content,
body.tech-theme .layui-layer-content {
    background: rgba(5, 18, 34, 0.96);
    color: var(--tech-text);
}

body.tech-theme .layui-layer-msg {
    background: rgba(18, 38, 62, 0.9) !important;
    border: 1px solid rgba(88, 197, 255, 0.25) !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6), 0 0 15px rgba(46, 230, 255, 0.15) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    padding: 10px 16px !important;
    min-width: 0 !important;
    max-width: 600px !important;
    width: auto !important;
    box-sizing: border-box !important;
}

body.tech-theme .layui-layer-msg .layui-layer-content {
    padding: 0 !important;
    background: transparent !important;
    color: #eefbff !important;
    font-size: 16px;
    line-height: 1.5;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
}

body.tech-theme .layui-layer-msg .layui-layer-content.layui-layer-padding {
    padding: 0 !important;
}

/* 隐藏 Layui 默认图标 */
body.tech-theme .layui-layer-msg .layui-layer-content .layui-layer-ico,
body.tech-theme .layui-layer-msg .layui-layer-content .layui-layer-face {
    display: none !important;
}

/* 保留自定义 HTML 格式的样式 */
body.tech-theme .layui-layer-msg.tech-toast-message .layui-layer-content {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body.tech-theme .layui-layer-msg .tech-toast-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    border-radius: 50% !important;
    border: 2px solid var(--tech-warning) !important;
    color: var(--tech-warning) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
    box-shadow: 0 0 12px rgba(255, 179, 71, 0.18) !important;
}

body.tech-theme .layui-layer-msg.tech-toast-success .tech-toast-icon {
    border-color: var(--tech-accent) !important;
    color: var(--tech-accent) !important;
    box-shadow: 0 0 12px rgba(120, 255, 189, 0.2) !important;
}

body.tech-theme .layui-layer-msg.tech-toast-warn .tech-toast-icon,
body.tech-theme .layui-layer-msg.tech-toast-info .tech-toast-icon {
    border-color: var(--tech-warning) !important;
    color: var(--tech-warning) !important;
    box-shadow: 0 0 12px rgba(255, 179, 92, 0.18) !important;
}

body.tech-theme .layui-layer-msg.tech-toast-error .tech-toast-icon {
    border-color: var(--tech-danger) !important;
    color: var(--tech-danger) !important;
    box-shadow: 0 0 12px rgba(255, 102, 127, 0.2) !important;
}

body.tech-theme .layui-layer-msg .tech-toast-text {
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
    flex: 0 1 auto !important;
}

body.tech-theme .layui-layer-title {
    background: linear-gradient(90deg, rgba(10, 33, 58, 0.98), rgba(6, 24, 46, 0.98));
    color: #8ff3ff;
    border-bottom: 1px solid rgba(88, 197, 255, 0.16);
    font-weight: normal !important;
}

body.tech-theme .layui-layer-setwin .layui-layer-close2,
body.tech-theme .layui-layer-setwin a {
    filter: brightness(1.35);
}

/*单日期快速切换箭头全局样式*/
body.tech-theme .date-arrow-wrap #laydate,
body.tech-theme .date-arrow-wrap .layui-input {
    padding-left: 38px !important;
    padding-right: 38px !important;
    text-align: center !important;
}

body.tech-theme .date-arrow-wrap .date-arrow {
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s;
    user-select: none;
    height: 14px;
    position: absolute;
    top: 50%;
    z-index: 10;
}

body.tech-theme .date-arrow-wrap .date-arrow:hover {
    opacity: 1;
}

body.tech-theme .date-arrow-wrap .date-arrow-left {
    left: 50%;
    margin-left: -62px;
    transform: translateY(-50%) rotate(180deg);
}

body.tech-theme .date-arrow-wrap .date-arrow-right {
    left: 50%;
    margin-left: 48px;
    transform: translateY(-50%);
}

@keyframes tech-loading-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

body.tech-theme .layui-layer-loading.tech-layer-loading {
    background: transparent !important;
    box-shadow: none !important;
}

body.tech-theme .layui-layer-loading.tech-layer-loading.layui-layer-load {
    background: transparent !important;
}

body.tech-theme .layui-layer-loading.tech-layer-loading .layui-layer-content {
    position: relative;
    width: 92px !important;
    height: 92px !important;
    line-height: normal !important;
    font-size: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(88, 197, 255, 0.26);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(10, 28, 49, 0.94), rgba(5, 16, 31, 0.92)) !important;
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.34),
        inset 0 0 0 1px rgba(255, 255, 255, 0.04),
        0 0 24px rgba(46, 230, 255, 0.12);
}

body.tech-theme .layui-layer-loading.tech-layer-loading .layui-layer-loading-icon,
body.tech-theme .layui-layer-loading.tech-layer-loading .layui-layer-loading-2 {
    display: none !important;
}

body.tech-theme .layui-layer-loading.tech-layer-loading .layui-layer-content::before {
    content: "";
    position: absolute;
    top: 18px;
    left: 50%;
    width: 36px;
    height: 36px;
    margin-left: -18px;
    border: 3px solid rgba(143, 243, 255, 0.18);
    border-top-color: #2ee6ff;
    border-right-color: rgba(120, 255, 189, 0.9);
    border-radius: 50%;
    box-sizing: border-box;
    animation: tech-loading-spin 0.9s linear infinite;
}

body.tech-theme .layui-layer-loading.tech-layer-loading .layui-layer-content::after {
    content: "加载中";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 15px;
    text-align: center;
    color: #d8f6ff;
    font-size: 13px;
    letter-spacing: 2px;
    text-indent: 2px;
}

/* 确保普通弹窗的遮罩层半透明显示 */
body.tech-theme .layui-layer-shade,
.layui-layer-shade {
	opacity: 0.3 !important;
	background: #000 !important;
	pointer-events: auto !important;
	transition: none !important; /* 立即消失，无过渡效果 */
}

/* 只隐藏带有 no-shade-loading 类的加载动画遮罩层 */
body.tech-theme .layui-layer.no-shade-loading + .layui-layer-shade,
.layui-layer.no-shade-loading + .layui-layer-shade {
	display: none !important;
}

/* 移除无遮罩加载框本身的背景和阴影，避免影响 tech-layer-loading */
body.tech-theme .layui-layer-loading.no-shade-loading,
body.tech-theme .layui-layer-loading.no-shade-loading .layui-layer-loading0,
body.tech-theme .layui-layer-loading.no-shade-loading .layui-layer-content.layui-layer-loading0,
.layui-layer-loading.no-shade-loading,
.layui-layer-loading.no-shade-loading .layui-layer-loading0,
.layui-layer-loading.no-shade-loading .layui-layer-content.layui-layer-loading0 {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
}

/* 自定义水滴动画颜色 - 科技蓝主题 */
body.tech-theme .layui-layer-loading.no-shade-loading .layui-layer-loading-icon,
.layui-layer-loading.no-shade-loading .layui-layer-loading-icon {
	color: #2ee6ff !important;
}

/* 如果是旋转圈动画 */
body.tech-theme .layui-layer-loading.no-shade-loading .layui-icon-loading::before,
.layui-layer-loading.no-shade-loading .layui-icon-loading::before {
	color: #2ee6ff !important;
}
