.layout{min-height:100vh;display:flex;flex-direction:column}.layout .header{display:flex;align-items:center}.layout .header .logo{min-width:120px;min-height:64px;color:var(--primary-color);font-weight:700;display:flex;align-items:center;background-image:url(/wdyllogo-transparent.svg);background-repeat:no-repeat;background-position:left center;background-size:120px auto}.layout .header .logo h1{display:none}.layout .header .logo span{margin-left:128px;font-size:20px}.layout .header .ant-menu{margin-left:2rem;font-size:1.2rem;flex:1}.layout .header .header-fix{flex:1}.layout .header .header-actions{float:right;display:flex;gap:10px;align-items:center}.layout .header .theme-switch-btn{margin:0}@media (max-width: 768px){.layout .header{gap:16px;text-align:center;height:inherit!important;padding:0 30px}.layout .header .ant-menu{flex-direction:column}.layout .header .logo{background-size:110px auto}.layout .header .logo span{margin-left:120px;font-size:18px}}.layout .content{display:flex;flex-direction:column;padding:24px;background-color:var(--component-background)!important}.layout .content.dark{background-color:var(--component-background)}.layout .footer{background-color:var(--component-background);color:var(--text-color-secondary);display:flex;justify-content:space-between;align-items:center}@media (max-width: 768px){.layout .footer{flex-direction:column-reverse;gap:16px;text-align:center}}.layout .footer .footer-links{display:flex;gap:24px}.layout .footer .footer-links a{color:var(--text-color-secondary);transition:color .3s}.layout .footer .footer-links a:hover{color:var(--primary-color)}@media (max-width: 768px){.layout .footer .footer-links{justify-content:center}}.admin-layout{min-height:100vh}.admin-layout .admin-sider{transition:all .2s}.admin-layout .admin-sider.ant-layout-sider-collapsed{width:0!important;min-width:0!important;max-width:0!important;flex:0 0 0!important;overflow:hidden}.admin-layout .admin-sider .admin-logo{height:64px;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:18px;font-weight:700;border-bottom:1px solid var(--border-color);background-image:url(/wdyllogo-transparent.svg);background-size:contain;background-repeat:no-repeat;background-position:center;background-size:120px auto}.admin-layout .admin-sider .admin-logo.collapsed{background-image:url(/wdyl-pro-icon.svg);background-size:64px auto}.admin-layout .admin-sider .admin-logo h1{display:none}.admin-layout .admin-sider .ant-menu{border:none!important}.admin-layout>.ant-layout{transition:all .2s}.admin-layout>.ant-layout.admin-layout-collapsed-sider{margin-left:0}.admin-layout .admin-header{padding:0 24px;display:flex;align-items:center;justify-content:space-between}.admin-layout .admin-header .header-logo{height:40px;margin-right:16px}.admin-layout .admin-header .header-logo img{height:100%}.admin-layout .admin-header .trigger-button{font-size:18px}.admin-layout .admin-header .logout-section{display:flex;align-items:center}.admin-layout .admin-header .logout-section .welcome-text{margin-right:12px}.admin-layout .admin-content{margin:10px 0 0 10px;padding:24px;min-height:280px;background-color:var(--component-background)!important}.role-tag.admin{color:#fff;background-color:#722ed1}.role-tag.user{color:#fff;background-color:#13c2c2}.status-tag.active{color:#fff;background-color:#52c41a}.status-tag.inactive{color:#fff;background-color:#f5222d}.protected-route-loading{display:flex;justify-content:center;align-items:center;height:100vh}.qrcode-box-status-expired{color:red}.qrcode-box-status-scanned{color:green}.subscribe-qrcode-wrapper{display:flex;flex-direction:column;align-items:center}.wx-login-button{margin-top:60px;width:80%;padding:30px 0;font-size:1.5em}.subscribe-qrcode-container{display:flex;flex-direction:column;align-items:center;margin-top:16px}.subscribe-qrcode-image{width:200px;height:200px}.subscribe-qrcode-tip{margin-top:12px;color:#666}.login-form-container{margin:0 auto;padding:0 40px;background:var(--component-background);box-shadow:var(--shadow);min-height:320px;min-width:320px;display:flex;align-items:center;justify-content:start;flex-direction:column}.login-form-container-success{text-align:center}.login-form-container-success-icon{font-size:48px;color:#52c41a}.login-form-container-success-title{margin-top:16px}.login-form-container-success-text,.login-form-container .login-alert,.login-form-container .ant-tabs{margin-bottom:24px}.login-form-container .ant-tabs .ant-tabs-nav{margin-bottom:0}.login-form-container .ant-tabs .ant-tabs-nav:before{border-bottom:none}.login-form-container .ant-tabs .ant-tabs-tab{padding:12px 16px;font-size:16px}.login-form-container .login-form-header{text-align:center}.login-form-container .login-form-button{margin-top:10px}.login-form-container.info{justify-content:center}.login-form-container .login-form-content{text-align:center;display:flex;flex-direction:column;align-items:center}.login-form-container .login-form-content p{margin:24px 0;color:var(--text-color-secondary)}.login-form-container .login-form-forgot{float:right}.login-form-container input:-webkit-autofill,.login-form-container input:-webkit-autofill:hover,.login-form-container input:-webkit-autofill:focus,.login-form-container input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-color)!important;-webkit-box-shadow:0 0 0 30px var(--component-background) inset!important;transition:background-color 5000s ease-in-out 0s}.login-form-container .ant-input-affix-wrapper .ant-input:-webkit-autofill{-webkit-text-fill-color:var(--text-color)!important}.login-form-container .ant-input-affix-wrapper,.login-form-container .ant-input-affix-wrapper .ant-input{background-color:transparent}.login-form-container .ant-input-affix-wrapper .ant-input[value]:not([value=""]){background-color:transparent!important}.login-form-container .ant-input-affix-wrapper:focus,.login-form-container .ant-input-affix-wrapper.ant-input-affix-wrapper-focused{background-color:transparent!important}@media (max-width: 480px){.login-form-container{padding:20px;box-shadow:none;border:1px solid #f0f0f0}}.home-container{min-height:100%;display:flex;flex-direction:column}.hero-section{display:flex;align-items:center;justify-content:space-between;padding:0 0 2rem}.hero-content{max-width:50%;padding:2rem}.hero-subtitle{font-size:1.2rem;margin-bottom:2rem}.hero-image{width:45%;display:flex;justify-content:center;align-items:center}.placeholder-image{width:100%;height:360px;background-color:var(--border-color);border-radius:8px}.features-section{flex-grow:1;padding:0 2rem 1rem;background-color:var(--background-color)}.section-title{text-align:center;margin-bottom:2rem}.feature-card{height:100%;text-align:center;transition:all .3s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px var(--border-color)}.feature-icon{font-size:2.5rem;margin-bottom:1rem;color:var(--primary-color)}@media (max-width: 768px){.hero-section{flex-direction:column;text-align:center}.hero-content{max-width:100%;margin-bottom:2rem}.hero-image{width:100%}}.wx-login-flex-container{min-height:100vh;width:100%;background-color:var(--background-color);padding-top:60px}.account-login-form{margin:2rem auto}.about-page{padding:24px}@media (max-width: 768px){.about-page{padding:16px}}.about-page .ant-card{margin-bottom:16px}.not-found-page{display:flex;height:100vh;margin:auto;align-items:center}.wechat-admin-page .wechat-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.wechat-admin-page .wechat-page-header h2{margin-bottom:8px;color:var(--heading-color)}.wechat-admin-page .wechat-account-switcher{display:grid;gap:8px}.wechat-admin-page .wechat-page-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.wechat-admin-page .wechat-content-column{display:grid;gap:24px;min-width:0}.wechat-admin-page .wechat-card,.wechat-admin-page .accounts-panel,.wechat-admin-page .menu-card,.wechat-admin-page .json-preview-card,.wechat-admin-page .menu-empty-card,.wechat-admin-page .conversation-card,.wechat-admin-page .message-detail-card{background-color:var(--component-background);border:1px solid var(--border-color);box-shadow:var(--shadow)}.wechat-admin-page .wechat-card .ant-card-head-title,.wechat-admin-page .wechat-card .ant-typography{color:var(--text-color)}.wechat-admin-page .wechat-overview-grid,.wechat-admin-page .menu-grid,.wechat-admin-page .menu-preview-grid{display:grid;gap:16px;margin-top:16px}.wechat-admin-page .wechat-overview-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.wechat-admin-page .wechat-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.wechat-admin-page .wechat-note-card{margin-bottom:16px;background-color:var(--component-background);color:var(--text-color-secondary)}.wechat-admin-page .wechat-section-stack{display:grid;gap:16px}.wechat-admin-page .wechat-section-form .ant-form-item:last-child{margin-bottom:0}.wechat-admin-page .wechat-copy-text{margin-bottom:0}.wechat-admin-page .accounts-panel{border-radius:8px}.wechat-admin-page .panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 0}.wechat-admin-page .panel-heading .ant-typography{margin-bottom:0}.wechat-admin-page .account-list-item{display:block;margin:12px 16px;padding:16px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .2s ease}.wechat-admin-page .account-list-item:hover,.wechat-admin-page .account-list-item.is-selected{box-shadow:var(--shadow);border-width:0}.wechat-admin-page .account-list-main{display:grid;gap:8px}.wechat-admin-page .account-list-title,.wechat-admin-page .menu-card-title,.wechat-admin-page .submenu-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.wechat-admin-page .account-appid,.wechat-admin-page .account-time{display:block;color:var(--text-color-secondary)}.wechat-admin-page .account-actions{margin-top:12px}.wechat-admin-page .workspace-toolbar,.wechat-admin-page .reply-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.wechat-admin-page .workspace-toolbar{margin-bottom:20px}.wechat-admin-page .status-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.wechat-admin-page .menu-editor,.wechat-admin-page .message-center{min-width:0}.wechat-admin-page .menu-summary{color:var(--text-color-secondary)}.wechat-admin-page .menu-editor-tip{margin-bottom:16px;color:var(--text-color-secondary)}.wechat-admin-page .menu-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.wechat-admin-page .submenu-list{display:grid;gap:12px}.wechat-admin-page .submenu-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--component-background)}.wechat-admin-page .submenu-content{min-width:0}.wechat-admin-page .json-preview{margin:0;padding:12px;overflow:auto;max-height:320px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--background-color);color:var(--text-color);font-size:12px;line-height:1.6}.wechat-admin-page .message-center{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px}.wechat-admin-page .conversation-card,.wechat-admin-page .message-detail-card{min-width:0}.wechat-admin-page .conversation-card .ant-card-body,.wechat-admin-page .message-detail-card .ant-card-body{padding:16px}.wechat-admin-page .conversation-list{max-height:760px;overflow:auto}.wechat-admin-page .conversation-item-inner{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;width:100%}.wechat-admin-page .conversation-avatar{background-color:var(--background-color);color:var(--text-color)}.wechat-admin-page .conversation-item{padding:16px 20px;cursor:pointer;transition:background-color .2s ease}.wechat-admin-page .conversation-card .ant-list-item{border-block-end:1px solid var(--border-color)}.wechat-admin-page .conversation-item.is-active,.wechat-admin-page .conversation-item:hover{background-color:var(--background-color)}.wechat-admin-page .conversation-meta{display:grid;gap:4px}.wechat-admin-page .conversation-content{min-width:0;display:grid;gap:6px}.wechat-admin-page .conversation-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.wechat-admin-page .conversation-preview{color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wechat-admin-page .message-column{display:grid;grid-template-rows:auto minmax(320px,1fr) auto}.wechat-admin-page .message-thread{max-height:620px;overflow:auto;padding:0}.wechat-admin-page .message-list{display:grid;gap:16px}.wechat-admin-page .message-row{display:flex;gap:12px}.wechat-admin-page .message-row.is-outbound{flex-direction:row-reverse}.wechat-admin-page .message-meta-side{width:148px;display:grid;align-content:start;gap:8px;text-align:right}.wechat-admin-page .message-row.is-outbound .message-meta-side{text-align:left}.wechat-admin-page .message-card{flex:1;min-width:0;padding:16px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--component-background)}.wechat-admin-page .message-card.is-inbound{border-left:3px solid var(--info-color)}.wechat-admin-page .message-card.is-outbound{border-left:3px solid var(--success-color)}.wechat-admin-page .message-card-head{display:flex;align-items:center}.wechat-admin-page .message-card-body{margin:12px 0 0;color:var(--text-color);line-height:1.7;white-space:pre-wrap;word-break:break-word}.wechat-admin-page .message-card-body.ant-typography{margin-bottom:0}.wechat-admin-page .reply-box{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.wechat-admin-page .reply-actions{margin-top:12px}.wechat-admin-page .reply-box-head{margin-bottom:12px}.wechat-admin-page .reply-box-head .ant-typography{margin-bottom:0}@media (max-width: 1200px){.wechat-admin-page .message-center{grid-template-columns:1fr}}@media (max-width: 900px){.wechat-admin-page .wechat-page-header,.wechat-admin-page .panel-heading,.wechat-admin-page .workspace-toolbar,.wechat-admin-page .reply-actions{flex-direction:column;align-items:flex-start}.wechat-admin-page .wechat-form-grid{grid-template-columns:1fr}}@media (max-width: 768px){.wechat-admin-page .conversation-item,.wechat-admin-page .message-thread,.wechat-admin-page .reply-box{padding-left:12px;padding-right:12px}.wechat-admin-page .message-row,.wechat-admin-page .message-row.is-outbound{flex-direction:column}.wechat-admin-page .message-meta-side,.wechat-admin-page .message-row.is-outbound .message-meta-side{width:auto;text-align:left}}.apikey-management-page .desktop-view{display:block}.apikey-management-page .mobile-view{display:none}@media (max-width: 768px){.apikey-management-page .desktop-view{display:none}.apikey-management-page .mobile-view{display:block}.apikey-management-page .apikey-card{border:1px solid #f0f0f0;border-radius:8px;margin-bottom:16px;padding:16px;background-color:#fff}.apikey-management-page .apikey-card .card-header{display:flex;justify-content:space-between;margin-bottom:8px}.apikey-management-page .apikey-card .card-header .apikey-name{font-weight:700}.apikey-management-page .apikey-card .card-header .app-id{color:#888;font-size:.9em}.apikey-management-page .apikey-card .card-body .created-at{font-size:.9em;color:#555;margin-bottom:8px}.apikey-management-page .apikey-card .card-body .actions{text-align:right}.apikey-management-page .mobile-button{padding:4px 8px;font-size:.9em}.apikey-management-page .mobile-button .mobile-text{display:inline}.apikey-management-page .ant-btn:not(.mobile-button) .mobile-text{display:none}}.docs-container h1,.docs-container h2,.docs-container h3,.docs-container h4,.docs-container h5,.docs-container h6{margin-top:1em;margin-bottom:.5em;color:var(--heading-color)}.docs-container p{margin-bottom:1em}.docs-container ul,.docs-container ol{margin-bottom:1em;padding-left:2em}.docs-container li{margin-bottom:.5em}.docs-container blockquote{margin:1em 0;padding:.5em 1em;border-left:4px solid var(--primary-color);background-color:var(--component-background);color:var(--text-color);font-style:italic}.docs-container img{max-width:100%;height:auto;display:block;margin:1em auto}.docs-container a{color:var(--primary-color);text-decoration:underline}.docs-container a:hover{color:#c00b}.docs-container hr{margin:2em 0;border:none;border-top:1px solid var(--border-color)}.docs-container table{border-collapse:collapse;width:100%;margin:20px 0;border:1px solid var(--border-color)}.docs-container th,.docs-container td{border:1px solid var(--border-color);padding:8px;text-align:left}.docs-container th{background-color:var(--component-background)}.docs-container pre{margin:1em 0;overflow-x:auto}.docs-container code.inline-code{background-color:var(--component-background);padding:.2em .4em;border-radius:3px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;transition:all .3s}body{--primary-color: #990000bb;--background-color: #f0f2f5;--component-background: #ffffff;--text-color: rgba(0, 0, 0, .85);--text-color-secondary: rgba(0, 0, 0, .45);--border-color: #d9d9d9;--heading-color: rgba(0, 0, 0, .85);--disabled-color: rgba(0, 0, 0, .25);--shadow: 0 2px 8px rgba(0, 0, 0, .15);--info-color: #1890ff;--success-color: #52c41a;--error-color: #ff4d4f;background-color:var(--background-color);color:var(--text-color)}body.dark-theme{--primary-color: #ff3333bb;--background-color: #2a2a2a;--component-background: #303030;--text-color: rgba(255, 255, 255, .85);--text-color-secondary: rgba(255, 255, 255, .55);--border-color: #5a5a5a;--heading-color: rgba(255, 255, 255, .95);--disabled-color: rgba(255, 255, 255, .35);--shadow: 0 2px 8px rgba(0, 0, 0, .35);--info-color: #40a9ff;--success-color: #73d13d;--error-color: #ff7875;background-color:var(--background-color);color:var(--text-color)}h1,h2,h3,h4,h5,h6{color:var(--heading-color)}a{color:var(--primary-color)}a:hover{color:#c00b}body.dark-theme a:hover{color:#f66b}.ant-layout{background-color:var(--background-color)}.ant-layout .ant-layout-header{background-color:var(--component-background);color:var(--text-color);border-bottom:1px solid var(--border-color)}.ant-layout .ant-layout-header .ant-menu{background-color:transparent;border-bottom:none}.ant-layout .ant-layout-header .ant-menu .ant-menu-item,.ant-layout .ant-layout-header .ant-menu .ant-menu-submenu{color:var(--text-color)}.ant-layout .ant-layout-header .ant-menu .ant-menu-item:hover,.ant-layout .ant-layout-header .ant-menu .ant-menu-submenu:hover,.ant-layout .ant-layout-header .ant-menu .ant-menu-item-selected,.ant-layout .ant-layout-header .ant-menu .ant-menu-submenu-selected,.ant-layout .ant-layout-header .ant-menu .ant-menu-item-active,.ant-layout .ant-layout-header .ant-menu .ant-menu-submenu-active{color:var(--primary-color)}.ant-layout .ant-layout-sider{background-color:var(--component-background);border-right:1px solid var(--border-color)}.ant-layout .ant-layout-sider .ant-menu{background-color:transparent}.ant-layout .ant-layout-content{background-color:var(--background-color)}.ant-layout .ant-layout-footer{background-color:var(--component-background);color:var(--text-color-secondary);border-top:1px solid var(--border-color)}.ant-card{background-color:var(--component-background);border-color:var(--border-color)}.ant-card .ant-card-head{color:var(--heading-color);border-bottom-color:var(--border-color)}.ant-form-item-label>label{color:var(--text-color)}.ant-input,.ant-input-number,.ant-input-affix-wrapper{background-color:var(--component-background);border-color:var(--border-color);color:var(--text-color)}.ant-input:hover,.ant-input-number:hover,.ant-input-affix-wrapper:hover,.ant-input:focus,.ant-input-number:focus,.ant-input-affix-wrapper:focus{border-color:var(--primary-color)}.ant-btn:not(.ant-btn-primary){background-color:var(--component-background);border-color:var(--border-color);color:var(--text-color)}.ant-table{background-color:var(--component-background);color:var(--text-color)}.ant-table .ant-table-thead>tr>th{background-color:var(--component-background);color:var(--heading-color);border-bottom-color:var(--border-color)}.ant-table .ant-table-tbody>tr>td{border-bottom-color:var(--border-color)}.ant-table .ant-table-tbody>tr:hover>td{background-color:#0000000d}body.dark-theme .ant-table .ant-table-tbody>tr:hover>td{background-color:#ffffff0d}.ant-menu{background-color:var(--component-background);color:var(--text-color)}.ant-menu .ant-menu-item{color:var(--text-color)}.ant-menu .ant-menu-item:hover,.ant-menu .ant-menu-item-selected{color:var(--primary-color)}.ant-tag{background-color:var(--component-background);border-color:var(--border-color)}.ant-modal-content{background-color:var(--component-background)}.ant-modal-content .ant-modal-header{background-color:var(--component-background);border-bottom-color:var(--border-color)}.ant-modal-content .ant-modal-header .ant-modal-title{color:var(--heading-color)}.ant-modal-content .ant-modal-footer{border-top-color:var(--border-color)}.ant-layout{max-width:1200px;margin:0 auto;width:100%}@media (min-width: 1600px){.ant-layout{max-width:1400px}}@media (max-width: 575px){.ant-layout{max-width:100%}}
