
	:root { --bg-color: #f3f4f6; --text-color: #333; --card-bg: #ffffff; --card-border: #e5e7eb; --input-bg: #fff; --input-border: #cbd5e1; --select-text: #334155; --header-bg: linear-gradient(135deg, #1e3a8a 0%, #172554 100%); --header-text: #fff; --btn-light-bg: #fff; --btn-light-text: #334155; --panel-title-color: #1e3a8a; --panel-deco-color: #2563eb; --sub-bg: #f8fafc }
[data-theme="dark"] { --bg-color: #121212; --text-color: #e0e0e0; --card-bg: #1e1e1e; --card-border: #333; --input-bg: #2d2d2d; --input-border: #444; --select-text: #e0e0e0; --header-bg: linear-gradient(135deg, #0f172a 0%, #000000 100%); --header-text: #e0e0e0; --btn-light-bg: #2d2d2d; --btn-light-text: #e0e0e0; --panel-title-color: #93c5fd; --panel-deco-color: #60a5fa; --sub-bg: #262626 }
[data-theme="dark"] * {
            text-shadow: none !important;
        }
body { background-color: var(--bg-color); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; padding: 0; color: var(--text-color); -webkit-tap-highlight-color: transparent; transition: background-color 0.3s, color 0.3s }
#xiangyi, #qmzj { position: absolute }
#header { background-image: var(--header-bg) !important; background-color: transparent !important; border-bottom: none !important; box-shadow: 0 2px 10px rgba(0,0,0,0.4); position: relative; display: flex; align-items: center; justify-content: center; height: 41px;}
#header .ui-title { color: var(--header-text) !important; text-shadow: none !important; font-weight: 600; margin: 0; flex-grow: 1; text-align: center }
#theme-toggle-btn { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.3); color: #fff; border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; z-index: 20 }
.modern-container { padding: 5px 12px 20px 12px; max-width: 600px; margin: 0 auto; }
.panel-card { background: var(--card-bg); border-radius: 12px; padding: 20px 15px; margin-bottom: 15px; margin-top: 31px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); border: 1px solid var(--card-border); transition: background 0.3s }
.panel-title { font-size: 16px; color: var(--panel-title-color); margin-bottom: 15px; border-bottom: 2px solid var(--bg-color); padding-bottom: 8px; font-weight: 700; display: flex; align-items: center }
.panel-title:before { content: ''; display: inline-block; width: 4px; height: 16px; background: var(--panel-deco-color); margin-right: 8px; border-radius: 2px }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(65px, 1fr)); gap: 10px; align-items: center }
.form-item { display: flex; flex-direction: column }
.form-item label { font-size: 13px; color: #64748b; margin-bottom: 4px; font-weight: 500 }
select.modern-select { appearance: none; -webkit-appearance: none; background-color: var(--input-bg); border: 1px solid var(--input-border); border-radius: 6px; padding: 8px; font-size: 15px; color: var(--select-text); width: 100%; text-align: center; font-weight: 500; transition: border 0.2s, background 0.3s }
select.modern-select:focus { border-color: #2563eb; outline: none }
.checkbox-group { display: flex; flex-wrap: wrap; margin: 15px 0; align-items: center; color: var(--select-text); font-size: 14px; background: var(--sub-bg); padding: 10px; border-radius: 8px; border: 1px solid var(--card-border) }
.checkbox-group label { display: flex; align-items: center; cursor: pointer }
.checkbox-group input[type="checkbox"], 
                                .checkbox-group input[type="radio"] { margin-right: 6px; accent-color: #1e3a8a }
.btn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px }
.btn-grid-4 { grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 8px;}
.modern-btn { border: none; border-radius: 8px; padding: 10px 0; font-size: 14px; font-weight: 600; color: #fff; cursor: pointer; text-align: center; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); text-shadow: none }
.modern-btn:active { transform: translateY(1px); box-shadow: none }
.modern-btn .ui-icon { margin-left: 5px; opacity: 0.9 }
.btn-default { background: var(--btn-light-bg); color: var(--btn-light-text) !important; border: 1px solid var(--card-border) }
.btn-primary { background: #1e3a8a; color: #fff }
.btn-action { background: #07C160; color: #fff }
.btn-light { background: var(--btn-light-bg); color: var(--btn-light-text) !important; border: 1px solid var(--card-border) }
.ui-input-text { background-color: var(--input-bg) !important; border: 1px solid var(--input-border) !important; border-radius: 6px !important; padding: 10px !important; color: var(--text-color) !important; box-shadow: none !important }
.ui-input-text:focus { border-color: #1e3a8a !important }

.ai-dialog-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 10000 !important; display: flex; justify-content: center; align-items: center; padding: 20px 10px; box-sizing: border-box }
#wechat-chat-window, .ai-dialog-box, #aiDialog .ui-body-a { background: var(--btn-light-bg) !important; border-radius: 12px !important; box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important; width: 100%; max-width: 550px; display: flex; flex-direction: column; overflow: hidden; max-height: 85vh; border: 1px solid var(--card-border) !important }
.ui-body-a { background: var(--bg-color) !important; color: var(--text-color) !important; text-shadow:none !important }
.chat-header { color: #fff !important; padding: 12px 15px; font-size: 16px; display: flex; justify-content: space-between; align-items: center }
.chat-close-btn { color: #fff !important; font-size: 24px; background: none; border: none; padding: 0; line-height: 1 }
.chat-messages-container { background: var(--sub-bg); flex: 1; padding: 15px; overflow-y: auto }
.message-bubble.user .message-content { background: #bfdbfe; color: #1e3a8a; border-radius: 8px 0 8px 8px }
.message-bubble.ai .message-content { background: var(--card-bg); color: var(--text-color); box-shadow: 0 1px 2px rgba(0,0,0,0.1); border-radius: 0 8px 8px 8px }
#custom-toast { visibility: hidden; min-width: 200px; margin-left: -100px; background-color: #333; color: #fff; text-align: center; border-radius: 4px; padding: 12px; position: fixed; z-index: 20000; left: 50%; top: 20px; font-size: 14px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); opacity: 0; transition: opacity 0.3s, visibility 0.3s }
#custom-toast.show { visibility: visible; opacity: 1 }
.xy_basic a:active, .xy_basic a:hover { background-color: #FFFF00; font-weight: bold }
.xy_basic a { color: red; background-color: #FFF; border-radius: 8px }
.xy_basic span { float: left }
::-webkit-scrollbar { width: 5px; height: 5px }
::-webkit-scrollbar-thumb { background-color: #cbd5e1; border-radius: 10px }
::-webkit-scrollbar-track { background-color: transparent }
.b0, .b1, .b2, .b3, .b4, .b5, .b6, .b7, .b8, .b9, .b10, .b11 { display: none; background-color: #FFFFCC; padding: 5px; color: #990000 }
.s0, .s1, .s2, .s3, .s4, .s5, .s6, .s7, .s8, .s9, .s10, .s11 { text-decoration:none }
.s0:hover + .b0, .s1:hover + .b1, .s2:hover + .b2, .s3:hover + .b3, .s4:hover + .b4, .s5:hover + .b5, .s6:hover + .b6, .s7:hover + .b7, .s8:hover + .b8, .s9:hover + .b9, .s10:hover + .b10, .s11:hover + .b11 { display: block }
#ai-chat-toggle-icon { bottom: 70px; background: #fff !important; border: 1px solid #ddd }
#ai-chat-toggle-icon { position: fixed; bottom: 60px; right: 20px; width: 40px; height: 40px; background-color: #fff; border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,0.15); cursor: pointer; z-index: 999; transition: transform 0.2s ease; display: none; justify-content: center; align-items: center }
#ai-chat-toggle-icon:hover { transform: scale(1.1) }
#ai-chat-toggle-icon img { width: 28px; height: auto }
#wechat-chat-window { display: flex; flex-direction: column; width: 100%; max-width: 600px; background-color: var(--bg-color); border-radius: 8px; box-shadow: 0 5px 25px rgba(0,0,0,0.2); overflow: hidden; z-index: 10000; height: 95%; max-height: 700px }
.chat-header { background-color: #333; color: white; padding: 10px 15px; font-size: 16px; text-align: center; position: relative; border-top-left-radius: 8px; border-top-right-radius: 8px }
.chat-close-btn { position: absolute; top: 50%; right: 15px; transform: translateY(-50%); background: none; border: none; color: white; font-size: 24px; cursor: pointer; line-height: 1 }
.chat-messages-container { flex-grow: 1; overflow-y: auto; padding: 15px }
.chat-load-more { text-align: center; margin-bottom: 15px }
.chat-load-more button { background: none; border: none; color: #007bff; cursor: pointer; font-size: 14px }
.message-bubble { display: flex; margin-bottom: 15px; max-width: 85% }
.message-content { padding: 10px 12px; border-radius: 8px; font-size: 15px; line-height: 1.4; word-wrap: break-word }
.message-bubble.user { margin-left: auto; flex-direction: row-reverse }
.message-bubble.user .message-content { background-color: #95EC69; color: #000 }
.message-bubble.ai { margin-right: auto }
.message-bubble.ai .message-content { background-color: var(--card-bg); color: var(--text-color); box-shadow: 0 1px 1px rgba(0,0,0,0.05) }
.lds-ellipsis { display: inline-block; position: relative; width: 60px; height: 20px }
.lds-ellipsis div { position: absolute; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: #888; animation-timing-function: cubic-bezier(0, 1, 1, 0) }
.lds-ellipsis div:nth-child(1) { left: 8px; animation: lds-ellipsis1 0.6s infinite }
.lds-ellipsis div:nth-child(2) { left: 8px; animation: lds-ellipsis2 0.6s infinite }
.lds-ellipsis div:nth-child(3) { left: 32px; animation: lds-ellipsis2 0.6s infinite }
.lds-ellipsis div:nth-child(4) { left: 56px; animation: lds-ellipsis3 0.6s infinite }
@keyframes lds-ellipsis1 {
    0% { transform: scale(0) }
    100% { transform: scale(1) }
}

@keyframes lds-ellipsis3 {
    0% { transform: scale(1) }
    100% { transform: scale(0) }
}

@keyframes lds-ellipsis2 {
    0% { transform: translate(0, 0) }
    100% { transform: translate(24px, 0) }
}

.chat-footer { display: flex; align-items: center; padding: 8px; background-color: var(--sub-bg); border-top: 1px solid var(--card-border) }
#chat-input { flex-grow: 1; border: 1px solid var(--input-border); background: var(--input-bg); color: var(--text-color); border-radius: 5px; padding: 8px; font-size: 15px; resize: none; height: 38px; max-height: 100px; overflow-y: auto; margin-right: 8px }
#chat-send-btn { background-color: #07C160; color: white; border: none; border-radius: 5px; padding: 0 15px; height: 38px; font-size: 15px; cursor: pointer; flex-shrink: 0 }
#chat-send-btn:disabled { background-color: #a0e7b7; cursor: not-allowed }
.message-bubble.user { position: relative }
.delete-msg-btn { position: absolute; left: -25px; top: 50%; transform: translateY(-50%); background: #e0e0e0; border: none; border-radius: 50%; width: 20px; height: 20px; line-height: 20px; text-align: center; font-size: 14px; cursor: pointer; opacity: 0; transition: opacity 0.2s }
.message-bubble.user:hover .delete-msg-btn { opacity: 1 }
.message-bubble.ai .message-content { position: relative; padding-right: 35px }
.copy-ai-msg-btn { position: absolute; bottom: 5px; right: 8px; background: #e0e0e0; border: none; border-radius: 5px; width: 24px; height: 24px; line-height: 24px; text-align: center; font-size: 14px; cursor: pointer; opacity: 0; transition: opacity 0.2s; color: #555; padding: 0 }
.message-bubble.ai:hover .copy-ai-msg-btn { opacity: 1 }
.copy-ai-msg-btn:hover { background: #d0d0d0 }
.message-content ul { padding: 0px }
.message-content ul li { list-style: none }
.message-content ol { padding-left: 10px }
.message-content p { margin: 0px }
p em { color: #009688 }
.chat-header { position: relative }
.chat-header-btn { position: absolute; top: 50%; left: 15px; transform: translateY(-50%); background: none; border: none; color: white; font-size: 22px; cursor: pointer; padding: 0 5px; line-height: 1 }
#chat-history-dates-panel { display: none; position: absolute; top: 45px; left: 0; width: 180px; background: #444; border-radius: 0 0 8px 8px; box-shadow: 0 8px 15px rgba(0,0,0,0.3); z-index: 10001; color: #fff; border-top: 1px solid #555 }

#xiangyi { background:var(--card-bg); color:var(--text-color); z-index:9999; border:1px solid var(--card-border); border-radius:8px; box-shadow:0 10px 20px rgba(0,0,0,0.1) }
#xiangyi h2 { background-color: #1e3a8a; background-image: linear-gradient(135deg, #1e3a8a 0%, #172554 100%); color:#fff; padding:10px; font-size:16px; border-radius: 8px 8px 0 0; margin: 0px; text-align: center;}
.xy_basic { background: var(--sub-bg); padding:10px }
#outboard, #outboard1 { background: var(--card-bg) !important; border: 1px solid var(--card-border) !important; color: var(--text-color) }
[data-theme="dark"] .tpt-bar { color: #1e3a8a !important }
[data-theme="dark"] a { color: #e0e0e0 !important }
[data-theme="dark"] #chat-input,
[data-theme="dark"] .chat-messages-container { background: #6c6c6c !important }
[data-theme="dark"] .chat-header { background-image: var(--header-bg) !important; background-color: transparent !important }
[data-theme="dark"] .xy_basic a { color: #795548 !important }
#xiangyi ul { padding: 5px 23px; margin: 0px; list-style: none; [data-theme="dark"] .xy_basic a {
    color: #795548 !important; } }
#xiangyi p { margin: 9px }
#xiangyi ul li { border-bottom-style: solid; border-bottom-color: #dddddd; border-bottom-width: 1px; padding: 11px 0px }
.item_header.expand { background-color: #f2f2f2; padding: 7px 11px }



.ui-mobile, .ui-mobile .ui-page { min-height: 100% }
.ui-mobile-viewport { margin: 0; overflow-x: hidden; -webkit-tap-highlight-color: rgba(0,0,0,0) }
.ui-page { display: none; position: absolute; top: 0; left: 0; width: 100%; min-height: 100%; border: 0 }
.ui-page-active { display: block; overflow: visible }
.ui-content { border-width: 0; overflow: visible; overflow-x: hidden; padding: 15px }
.ui-header-fixed { z-index: 1000; position: fixed !important; top: 0; left: 0; right: 0; width: 100% }
.ui-fixed-top { padding-top: 21px }
.ui-fixed-bottom { padding-bottom: 50px }
.ui-header { border: none; overflow: hidden; position: relative }
.ui-header .ui-title { min-height: 1.1em; text-align: center; font-size: 18px; display: block; margin: 0.6em 60px 0.8em; padding: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; outline: 0 }
.ui-header .ui-btn-left { position: absolute; left: 10px }
.ui-header .ui-btn-right { position: absolute; right: 10px }
.ui-bar-glass { background-color: rgba(255, 255, 255, 0); border: none }
.ui-bar-a { background: #007979; color: #fff; font-weight: bold; text-shadow: 0 1px 1px #111 }
.ui-body-a { background: transparent; color: inherit; text-shadow: none; font-family: Helvetica, Arial, sans-serif }
.ui-btn { display: block; text-align: center; cursor: pointer; position: relative; margin: .5em 0; padding: 0 }
.ui-btn-inner { font-size: 14px; padding: .6em 20px; min-width: .75em; display: block; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; position: relative }
.ui-btn-corner-all { border-radius: 0.3em }
.ui-shadow { box-shadow: 0 1px 3px rgba(0,0,0,.15) }
.ui-btn-inline { display: inline-block; width: auto }
.ui-btn-a { border: 1px solid #1e3a8a; background: #1e3a8a; font-weight: bold; color: #fff; text-shadow: none }
.ui-btn-b { background: #2567ab; color: #fff; text-shadow: 0 1px 0 #111 }
.ui-bar-d, .ui-body-d { border: 1px solid #ccc; background: #fff; color: #333 }
.ui-icon { display: block; width: 18px; height: 18px; background-color: rgba(0,0,0,.4); background-repeat: no-repeat; border-radius: 9px }
.ui-icon-shadow { box-shadow: 0 1px 0 rgba(255,255,255,.4); background-color: #666 }
.ui-btn-icon-left .ui-btn-inner { padding-left: 40px }
.ui-btn-icon-left .ui-icon { position: absolute; top: 50%; margin-top: -9px; left: 10px }
.ui-btn-icon-right .ui-btn-inner { padding-right: 40px }
.ui-btn-icon-right .ui-icon { position: absolute; top: 50%; margin-top: -9px; right: 10px }
.ui-icon-arrow-r { background-image: url(images/icons-18-white_07.png) }
.ui-icon-arrow-l { background-image: url(images/icons-18-white_09.png) }
.ui-collapsible-contain { margin: .5em 0 }
.ui-collapsible-heading { font-size: 16px; display: block; margin: 0 -15px; padding: 0; border-width: 0 0 1px 0; position: relative }
.ui-collapsible-heading .ui-btn { border-left-width: 0; border-right-width: 0; margin: 0 }
.ui-collapsible-content { display: block; padding: 10px 15px }
.ui-collapsible-content-collapsed { display: none }
.ui-collapsible-icon { background-color: #666 }
.ui-input-text { border: 1px solid #ccc; padding: .4em; width: 100%; display: block; box-sizing: border-box; background: #fff; border-radius: 4px }
.ui-body-null { background: transparent }
.ui-shadow-inset { box-shadow: inset 0 1px 3px rgba(0,0,0,.2) }
.ui-hide { display: none !important }
.ui-corner-all { border-radius: .6em }
.ui-corner-top { border-top-left-radius: .6em; border-top-right-radius: .6em }
.ui-corner-bottom { border-bottom-left-radius: .6em; border-bottom-right-radius: .6em }
#xiangyi, #qmzj { position: absolute; left: 0; width: 100%; z-index: 9999 }
.style2 { color: #d97706; font-family: Arial, Helvetica, sans-serif; font-size: 16px; text-align: center }
.style3 { font-family: Arial, Helvetica, sans-serif; font-size: 18px }
.style4 { font-family: Arial, Helvetica, sans-serif; font-size: 14px; text-align: center }
.style5 { color: #FF00FF; font-family: Arial, Helvetica, sans-serif; font-size: 14px; text-align: center }
.headst { font-size: 14px; text-align: center; line-height: 1.6 }
.gridst { font-size: 12px; text-align: center; background-image: url(pan_bg2.png); background-repeat: no-repeat; background-position: center; cursor: zoom-in; background-size: contain }
.gridst font { background-color: yellow; font-weight: bold; border-radius: 3px }
.girdleft, .gridleft { border: 1px solid #000033; border-right: none; border-bottom: none; text-align: center; padding: 1px }
.girdnone, .gridnone { text-align: center; padding: 1px }
.girdbott, .gridbott { border: 1px solid #000000; border-right: none; padding: 1px; text-align: center }
.girdright, .gridright { border: 1px solid #000000; border-bottom: none; padding: 1px; text-align: center }
.girdall, .gridall { border: 1px solid #000000; padding: 1px; text-align: center }
.caltabwidthst { width: 70px }
.lablestyle { vertical-align: middle !important; display: inline !important }
.checkbo { width: 60px; height: 60px }
html { font-size: 16px }
@media screen and (max-width: 360px) {
    html { font-size: 14px }
}

@media screen and (min-width: 480px) {
    html { font-size: 18px }
    .ui-block-auto { width: 33.333% }
}

@media screen and (min-width: 768px) {
    html { font-size: 20px }
    .ui-block-auto { width: 25% }
}

[data-theme="dark"] .ui-bar-d, 
[data-theme="dark"] .ui-body-d { background: var(--card-bg); border-color: var(--card-border); color: var(--text-color) }
[data-theme="dark"] .gridst font { background-color: #b45309; color: #fff }
#xiangyi .item_header { background-image: none !important; display: flex; justify-content: space-between; color: #333; }
#xiangyi .item_header::after { content: '▼'; font-size: 10px; color: #999; transition: transform 0.2s }
#xiangyi .item_header.expand::after { transform: rotate(180deg) }

div.pai_da_yun { font-size: 13px; font-weight: normal; margin: 10px 0; overflow-x: auto }
div.pai_da_yun table { width: 100%; max-width: 400px; margin: 0 auto; border-collapse: collapse; border: 1px solid #d4d4d4; cursor: pointer; background-color: var(--card-bg, #fff) }
div.pai_da_yun table td { margin: 0; padding: 6px 2px; border-right: 1px solid #d4d4d4; border-bottom: 1px solid #d4d4d4; text-align: center; color: var(--text-color, #333) }
div.pai_da_yun table td:last-child { border-right: none }
tr.dayun_list td, 
tr.age_list td { color: #1e3a8a; font-weight: 600 }
tr.liunian_list td { color: #991b1b }
tr.liunian_tr td { background-color: rgba(0,0,0,0.02); font-size: 12px }
[data-theme="dark"] div.pai_da_yun table { border-color: #444; background-color: var(--card-bg) }
[data-theme="dark"] div.pai_da_yun table td { border-color: #444; color: #e0e0e0 }
[data-theme="dark"] tr.dayun_list td, 
[data-theme="dark"] tr.age_list td { color: #93c5fd }
[data-theme="dark"] tr.liunian_list td { color: #fca5a5 }
[data-theme="dark"] tr.liunian_tr td { background-color: rgba(255,255,255,0.05) }