html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}:root{--ink: #172018;--ink-soft: #3d493f;--muted: #6f776c;--paper: #f3efe7;--paper-2: #e8dfd0;--panel: #fffaf2;--line: #ddd2bf;--green: #24513a;--green-soft: #eef5ee;--gold: #a77a2a;--blue: #426d86;--red: #a24c3e;--app-header-height: 104px;--sidebar-header-extra: 0px;--content-top-gap: 24px;--serif: "Noto Serif SC", "Songti SC", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "JetBrains Mono", "SF Mono", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);overflow:hidden}button,input,textarea{font-family:inherit}.app-shell{height:100vh;min-height:0;width:100%;overflow:hidden}.app-sider{height:100vh;min-height:0;padding:0 14px 24px;overflow:hidden;border-right:1px solid var(--line)}.app-sider .ant-layout-sider-children{height:100%;min-height:0;display:flex;flex-direction:column}.brand{height:calc(var(--app-header-height) + var(--sidebar-header-extra));display:flex;gap:12px;align-items:center;padding:28px 8px 22px;border-bottom:1px solid var(--line)}.brand-mark{width:42px;height:42px;border-radius:6px;overflow:hidden;background:transparent;flex:0 0 auto}.brand-mark img{width:100%;height:100%;display:block;object-fit:contain;filter:brightness(0) saturate(100%)}.brand strong{display:block;font:700 17px var(--serif);line-height:1.35}.brand span{display:block;margin-top:3px;color:var(--muted);font:12px var(--mono)}.nav-menu{margin-top:var(--content-top-gap)}.nav-menu.ant-menu{border-radius:8px;overflow:hidden}.nav-menu .ant-menu-item{position:relative}.nav-label-with-dot{display:inline-flex;align-items:center}.nav-unread-dot{position:absolute;top:8px;right:14px;z-index:2;width:8px;height:8px;border:1px solid #fffdf8;border-radius:999px;background:var(--red)}.settings-button.ant-btn{width:44px;height:44px;margin:auto auto 0;display:inline-grid;place-items:center;border-color:#24513a57;color:var(--green);background:#fffdf8;box-shadow:none}.settings-button.ant-btn:not(:disabled):hover,.settings-button.ant-btn:not(:disabled):focus-visible{border-color:var(--green);color:#fff;background:var(--green)}.auth-screen{height:100vh;min-height:100vh;display:grid;place-items:center;padding:16px;overflow:auto;background:var(--paper)}.auth-card{width:min(100%,480px);margin:auto 0;padding:20px 24px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.auth-brand{height:auto;padding:0 0 14px;margin-bottom:16px}.auth-brand .brand-mark{width:48px;height:48px}.auth-form-block{display:grid;gap:10px}.auth-form-block h2.ant-typography{margin:0;font:700 22px var(--serif)}.admin-login-card{width:min(100%,520px)}.admin-login-heading{display:flex;gap:10px;align-items:flex-end}.admin-login-heading h2.ant-typography{line-height:24px}.admin-login-heading>.anticon{display:inline-flex;align-items:center;justify-content:center;color:var(--red);font-size:22px;line-height:1}.admin-login-block .ant-alert-info{border-color:#e6d6bd;background:#fff8ed}.admin-login-block .ant-alert-info .ant-alert-icon{color:var(--gold)}.auth-form-block .ant-form-item{margin-bottom:12px}.auth-form-block .ant-form-item-label{padding-bottom:4px}.auth-form-block .ant-form-item-extra{min-height:18px;margin-top:4px;font-size:12px;line-height:18px}.auth-form-block .ant-form-item-explain{font-size:12px;line-height:18px}.auth-link-button{justify-self:center;padding:0;border:0;color:var(--green);background:transparent;font:600 14px var(--sans);cursor:pointer}.auth-link-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 20px}.auth-code-form-item .ant-form-item-control-input-content{width:100%}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:stretch;width:100%}.auth-code-row .auth-code-input.ant-input{height:32px;border-top-right-radius:0;border-bottom-right-radius:0}.auth-code-row .auth-code-button.ant-btn{min-width:128px;height:32px;padding:0 14px;border:1px solid var(--line);border-left:0;border-radius:0 6px 6px 0;box-shadow:none;color:var(--green);background:var(--surface);white-space:nowrap}.auth-code-row .auth-code-button.ant-btn:hover,.auth-code-row .auth-code-button.ant-btn:focus-visible{color:var(--green-dark);border-color:var(--line);border-left:0;background:var(--surface)}.auth-code-row .auth-code-button.ant-btn[disabled],.auth-code-row .auth-code-button.ant-btn[disabled]:hover{color:var(--muted);border-color:var(--line);border-left:0;background:var(--surface)}.auth-link-button:hover,.auth-link-button:focus-visible{text-decoration:underline}.auth-error{position:fixed;top:16px;left:50%;z-index:10;width:min(calc(100% - 32px),520px);transform:translate(-50%)}.settings-dropdown .ant-dropdown-menu{width:180px;padding:8px}.settings-dropdown .ant-dropdown-menu-item,.settings-dropdown .ant-dropdown-menu-submenu-title{min-height:40px;border-radius:6px}.settings-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.settings-menu-account-item{cursor:default!important;pointer-events:none}.settings-dropdown .settings-menu-account-item *{cursor:default!important}.settings-dropdown .settings-menu-account-item:hover,.settings-dropdown .settings-menu-account-item.ant-dropdown-menu-item-active{background:transparent}.settings-dropdown .settings-menu-account-item .ant-dropdown-menu-title-content{opacity:1}.settings-menu-account{min-width:0;display:grid;gap:2px;line-height:1.35}.settings-menu-account-label{color:var(--muted);font:600 12px var(--sans)}.settings-menu-email{display:-webkit-box;max-width:136px;overflow:hidden;color:var(--ink);font:10px var(--mono);overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.settings-modal-content{display:grid;gap:16px}.notification-settings-content{gap:16px;padding-top:16px}.notification-settings-row,.notification-permission-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.notification-settings-row span,.notification-permission-row span{color:var(--muted);font-size:13px}.notification-permission-controls{display:flex;align-items:center;gap:8px}.binding-list{display:grid;gap:8px}.binding-list-row,.binding-result-row{min-width:0;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #eadfcd;border-radius:8px;background:#fffdf8}.binding-list-row span,.binding-result-row span{min-width:0;overflow-wrap:anywhere}.binding-list-row small{display:block;margin-top:2px;color:var(--muted);font-family:var(--mono)}.binding-result-list{display:grid;gap:16px}.binding-result-list section{display:grid;gap:8px}.binding-result-list strong{font:700 16px var(--serif)}.app-main{min-width:0;min-height:0;height:100vh;display:flex;flex-direction:column;overflow:hidden}.topbar{min-height:0;flex:0 0 var(--app-header-height);display:flex;align-items:end;padding:28px 36px 22px;border-bottom:1px solid #eadfcd;background:var(--paper)}.topbar h1.ant-typography{margin:4px 0 0;font:700 30px var(--serif)}.eyebrow{color:var(--muted);font:12px var(--mono)}.page-body{flex:1 1 auto;min-width:0;min-height:0;padding:var(--content-top-gap) 28px 36px;overflow:hidden}.page-keepalive{height:100%;min-width:0;min-height:0}.page-keepalive[hidden]{display:none!important}.page-lazy-loading{height:100%;min-height:240px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-weight:600}.work-panel,.preview-panel,.dashboard-placeholder{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.work-panel{min-width:0;padding:18px}.panel-head{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head strong{display:block;font:700 18px var(--serif)}.panel-head span{display:block;color:var(--muted)}.create-material-button,.save-material-button,.create-material-button span,.save-material-button span,.create-material-button .ant-btn-icon,.save-material-button .ant-btn-icon,.create-material-button .anticon,.save-material-button .anticon{color:#fff!important}.create-material-button.ant-btn,.save-material-button.ant-btn{box-shadow:none!important;white-space:nowrap}.moments-header-actions{flex:0 0 auto}.filter-material-button.ant-btn{color:var(--green);border-color:var(--green-faint);box-shadow:none;white-space:nowrap}.filter-material-button.ant-btn:hover,.filter-material-button.ant-btn:focus{color:var(--green);border-color:var(--green)}.moments-filter-panel{width:360px;max-width:calc(100vw - 48px);display:grid;gap:12px}.moments-filter-field{display:grid;gap:6px}.moments-filter-field>span{color:var(--ink);font-weight:600}.moments-filter-date-fields{display:grid;gap:8px}.moments-filter-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.moments-filter-summary{display:flex;gap:8px;align-items:center;justify-content:space-between;min-height:32px;padding:6px 10px;margin:-4px 0 12px;border:1px solid #eadfcd;border-radius:8px;background:#fffdf8}.moments-filter-summary span{min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moments-filter-summary .ant-btn{flex:0 0 auto;height:auto;padding:0;color:var(--green)}.material-upload-list .ant-upload-list-item-container,.material-upload-list .ant-upload.ant-upload-select{width:112px!important;height:112px!important}.material-upload-trigger{width:100%;height:100%;padding:0;border:0;background:transparent;color:var(--green);display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;font:600 14px var(--sans)}.material-upload-trigger .anticon{font-size:22px}.dashboard-placeholder{height:100%;min-height:420px;display:grid;place-items:center}.moments-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:18px;align-items:stretch;height:100%;min-height:0}.moments-table-panel{--moments-table-header-height: 42px;--moments-table-row-height: 40px;--moments-table-visible-rows: 10;--moments-table-body-height: calc( var(--moments-table-row-height) * var(--moments-table-visible-rows) );--moments-table-frame-height: calc( var(--moments-table-header-height) + var(--moments-table-body-height) );min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.moments-table-frame{position:relative;flex:1 1 auto;min-width:0;min-height:var(--moments-table-frame-height);height:auto;display:flex;flex-direction:column}.moments-table-panel .ant-table-wrapper,.moments-table-panel .ant-spin,.moments-table-panel .ant-spin-nested-loading,.moments-table-panel .ant-spin-container{flex:1 1 auto;min-width:0;min-height:0;height:100%}.moments-table-panel .ant-table-wrapper,.moments-table-panel .ant-spin,.moments-table-panel .ant-spin-container{display:flex;flex-direction:column}.moments-table-panel .ant-table{flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;border-radius:8px;background:#fffdf8;overflow:hidden}.moments-table-panel .ant-table-container{position:relative;flex:1 1 auto;min-height:0;height:100%;display:flex;flex-direction:column;border-radius:8px;background:#fffdf8;overflow:hidden}.moments-table-panel .ant-table-content{flex:1 1 auto;min-height:0;height:100%;overflow-x:auto;overflow-y:hidden;background:#fffdf8}.moments-table-panel .ant-table-content>table{height:auto;min-height:0}.moments-table-panel .ant-table-thead>tr>th{height:var(--moments-table-header-height);padding-top:0!important;padding-bottom:0!important;background:#fff}.moments-table-panel .ant-table-tbody{height:auto;background:#fffdf8}.moments-table-panel .ant-table-tbody>tr:not(.ant-table-placeholder)>td{height:var(--moments-table-row-height);padding-top:0!important;padding-bottom:0!important;border-bottom-color:#eee6d8;background:#fff}.moments-table-panel .ant-table-tbody>tr.ant-table-placeholder{height:var(--moments-table-body-height)}.moments-table-panel .ant-table-tbody>tr.ant-table-placeholder>td{height:var(--moments-table-body-height);padding:0;border-bottom:0;background:#fffdf8;vertical-align:middle}.moments-empty-overlay{position:absolute;inset:var(--moments-table-header-height) 0 0;z-index:1;display:grid;place-items:center;pointer-events:none}.moments-empty-overlay .ant-empty{margin:0}.moments-table-panel .ant-table-cell{white-space:nowrap}.moments-date-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.moments-table-footer{flex:0 0 auto;min-height:44px;display:flex;gap:8px;align-items:end;justify-content:flex-end;padding-top:8px}.moments-page-number-group{display:inline-flex;gap:8px;align-items:center}.moments-page-nav.ant-btn,.moments-page-number.ant-btn{min-width:34px;height:34px;padding-inline:10px;border-color:transparent;box-shadow:none}.moments-page-nav.ant-btn{min-width:30px;padding-inline:6px;font-family:var(--mono);font-size:13px;font-weight:700;line-height:1}.moments-page-number.ant-btn-primary{border-color:var(--green);color:#fff}.moments-page-jumper{display:inline-flex;gap:6px;align-items:center;min-height:34px;margin-left:8px;white-space:nowrap}.moments-page-jumper span{color:var(--ink)}.moments-page-jumper .ant-input{width:52px;height:34px;text-align:center}.moments-side{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:18px;align-content:stretch;height:100%;min-height:0;overflow:hidden;padding-right:4px}.moments-detail-panel,.moments-side>.preview-panel{min-height:0;overflow-y:auto}.moments-side>.preview-panel{max-height:min(360px,42vh)}.moments-side>.empty-preview-panel{min-height:180px}.selected-row td{background:var(--green-soft)!important}.material-detail-meta{display:grid;gap:10px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #eadfcd}.material-detail-meta div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:start}.material-detail-meta span{color:var(--muted)}.material-detail-meta strong{min-width:0;color:var(--ink);font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.material-detail-copy strong{max-height:96px;overflow-y:auto;padding-right:4px}.publish-status-tag{margin-inline-end:0}.asset-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px}.asset-toolbar>strong{font:700 15px var(--serif)}.asset-list{display:grid;gap:10px;max-height:340px;overflow-y:auto;padding-right:4px;margin-right:-4px}.asset-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid #eadfcd;border-radius:8px;background:#fffdf8}.asset-item img,.asset-item video{width:88px;height:88px;object-fit:cover;border-radius:6px;background:#efe7d8}.local-upload-card{border-style:dashed;background:#fffaf1}.local-upload-card-failed{border-color:#d68b7d}.local-upload-thumb{position:relative;width:100%;height:auto;aspect-ratio:1;container-type:inline-size;overflow:hidden;border-radius:6px;background:#efe7d8}.local-upload-thumb img,.local-upload-thumb video{display:block;width:100%;height:100%;object-fit:cover}.local-upload-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font:600 13px var(--sans)}.local-upload-mask{position:absolute;inset:0;display:grid;place-items:center;box-sizing:border-box;padding:clamp(3px,4.5cqi,6px);background:#141f1bbd;color:#fff;text-align:center;font-family:var(--sans);font-size:clamp(9px,13cqi,12px);font-weight:800;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.55)}.local-upload-mask>span{min-width:0;max-width:100%;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:3px clamp(3px,4cqi,6px);border-radius:999px;background:#0000005c;line-height:inherit;overflow-wrap:anywhere;text-wrap:balance}.local-upload-card-failed .local-upload-mask{background:#84362ad1}.asset-item strong,.asset-item span{display:block}.asset-item span{margin:2px 0 8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-item .local-upload-mask>span{margin:0;color:#fff;overflow:hidden;text-overflow:clip;white-space:normal}.asset-item .local-upload-help{margin-top:-4px;color:var(--green);font-weight:600;white-space:normal}.local-upload-progress{height:6px;overflow:hidden;margin:-2px 0 8px;border-radius:999px;background:#eadfcd}.local-upload-progress>i{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .2s ease}.local-upload-card-failed .local-upload-help{color:#a44d3f}.asset-actions{display:flex;gap:7px;align-items:center}.asset-action-button{min-width:54px;height:32px;display:inline-grid;place-items:center;padding:0 12px;border:1px solid #cfd9ce;border-radius:999px;color:#4f665d;background:#fbfdf9;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1;cursor:pointer;appearance:none}.asset-action-button:hover:not(:disabled){border-color:#8fa992;color:var(--green);background:#eef6ed}.asset-action-button:disabled{color:#00000040;background:#0000000a;border-color:#d9d9d9;font-weight:400;opacity:1;cursor:not-allowed}.asset-action-button-danger{border-color:#e2b2a9;color:#a44837;background:snow}.asset-action-button-danger:hover:not(:disabled){border-color:#c7796b;color:#87392e;background:#fff0ed}.asset-action-button .asset-action-label{display:inline-block;margin:0;color:inherit;font-weight:inherit;line-height:1;overflow:visible;text-overflow:clip;white-space:nowrap}.preview-panel{padding:18px;display:flex;flex-direction:column;min-height:120px}.empty-preview-panel{min-height:180px}.preview-panel-title{display:block;margin-bottom:14px;color:var(--ink);font:700 18px var(--serif)}.empty-preview{min-height:240px;display:grid;place-items:center;color:var(--muted)}.text-only-preview{justify-content:flex-start}.empty-preview-inline{display:grid;place-items:center;color:var(--muted);flex:1}.wechat-post{display:flex;gap:12px;align-items:flex-start}.wechat-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:6px;color:#fff;background:var(--green);font:700 20px var(--serif)}.wechat-body{min-width:0;flex:1}.wechat-name{display:block;color:#536987;font-weight:700}.preview-copy{margin:6px 0 10px;white-space:pre-wrap}.asset-grid{display:grid;gap:4px;width:fit-content;max-width:100%}.asset-grid-single{grid-template-columns:minmax(100px,150px)}.asset-grid-two{grid-template-columns:repeat(2,minmax(0,120px))}.asset-grid-three{grid-template-columns:repeat(3,minmax(0,88px))}.asset-grid img,.asset-grid video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px;background:#efe7d8}.video-tile{position:relative;min-width:0}.preview-video-frame{position:relative;width:100%}.clickable-video{cursor:pointer}.clickable-video:focus-visible{outline:2px solid var(--green);outline-offset:2px}.video-progress-slider{position:absolute;right:8px;bottom:8px;left:8px;height:3px;width:calc(100% - 16px);padding:8px 0;margin:0;cursor:pointer;appearance:none;background:transparent;accent-color:#fff}.video-progress-slider::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#fff 0 var(--video-progress),rgb(255 255 255 / .45) var(--video-progress) 100%);border-radius:999px}.video-progress-slider::-webkit-slider-thumb{width:10px;height:10px;margin-top:-3.5px;appearance:none;background:#fff;border-radius:999px;box-shadow:0 1px 4px #00000040}.video-progress-slider::-moz-range-track{height:3px;background:linear-gradient(to right,#fff 0 var(--video-progress),rgb(255 255 255 / .45) var(--video-progress) 100%);border-radius:999px}.video-progress-slider::-moz-range-thumb{width:10px;height:10px;background:#fff;border:0;border-radius:999px;box-shadow:0 1px 4px #00000040}.video-progress-slider:focus-visible{outline:2px solid #fff;outline-offset:4px}.preview-time{margin-top:12px;color:#b6b6b6;font-size:14px}.preview-warning{margin:0}.preview-warning-slot{margin-top:12px}.assist-grid{display:grid;grid-template-columns:320px minmax(0,1fr) minmax(340px,420px);gap:18px;height:100%;min-height:0}.customer-stack-panel,.chat-panel-card,.reply-panel{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.assist-grid{--followup-scroll-panel-height: 416px}.reply-panel{gap:12px}.followup-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:12px 0}.followup-initial-loading{flex:1 1 auto;min-height:var(--followup-scroll-panel-height);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-weight:600}.followup-list-notice{flex:1 1 auto;width:100%;min-height:var(--followup-scroll-panel-height);border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:600;text-align:center}.followup-list-notice .anticon{color:#a8544f;font-size:24px}.followup-list-notice.action{cursor:pointer}.followup-list-notice.action:hover,.followup-list-notice.action:focus-visible{color:var(--green)}.customer-stack>.followup-list-notice,.customer-stack>.customer-empty-state.ant-empty{width:100%;height:var(--followup-scroll-panel-height);min-height:var(--followup-scroll-panel-height);margin:0}.customer-stack>.customer-empty-state.ant-empty{display:flex;flex-direction:column;align-items:center;justify-content:center}.followup-account-select,.followup-search{grid-column:1 / -1}.followup-action-button.ant-btn{min-height:40px;padding-inline:14px;border-color:var(--green);color:#fff!important;background:var(--green);box-shadow:none!important;font-weight:600;white-space:nowrap}.followup-action-button.ant-btn span,.followup-action-button.ant-btn .ant-btn-icon,.followup-action-button.ant-btn .anticon{color:#fff!important}.followup-action-button.ant-btn:not(:disabled):hover,.followup-action-button.ant-btn:not(:disabled):focus-visible{border-color:#1d4230;color:#fff;background:#1d4230}.followup-action-button.ant-btn:disabled,.followup-action-button.ant-btn.ant-btn-disabled{border-color:#ded5c7!important;color:#b6ada2!important;background:#f3eee6!important;cursor:not-allowed;opacity:1}.customer-stack{flex:0 0 var(--followup-scroll-panel-height);height:var(--followup-scroll-panel-height);max-height:var(--followup-scroll-panel-height);min-height:0;display:grid;gap:10px;align-content:start;overflow-y:scroll;scrollbar-gutter:stable;padding-right:4px}.customer-card{position:relative;display:grid;gap:6px;width:100%;padding:12px;border:1px solid #eadfcd;border-radius:8px;color:var(--ink);text-align:left;background:#fffdf8;cursor:pointer}.customer-card:hover,.customer-card.active{border-color:var(--green);background:var(--green-soft)}.customer-card-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding-right:4px;min-width:0}.customer-card-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:max-content;text-align:right;white-space:nowrap}.customer-card-meta small{max-width:132px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.customer-card strong{display:block;font:700 16px var(--serif);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-card span{color:var(--muted);font-size:13px;line-height:1.5}.customer-card small{color:var(--muted);font-size:12px}.customer-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:24px}.customer-pill{min-height:24px;padding:2px 8px;display:inline-flex;align-items:center;border:1px solid rgba(190,129,36,.32);border-radius:999px;background:#fff4dc;color:#8b5200;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}.customer-card .wechat-unread-badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e64340;color:#fff;font:700 12px/1 var(--sans);box-shadow:0 1px 2px #7b1c182e}.chat-panel{flex:1 1 auto;height:auto;min-height:var(--followup-scroll-panel-height);display:grid;gap:10px;align-content:start;overflow-y:scroll;scrollbar-gutter:stable;padding:12px;border:1px solid #eadfcd;border-radius:8px;background:#fffdf8}.chat-panel.empty{align-content:stretch}.customer-stack::-webkit-scrollbar,.chat-panel::-webkit-scrollbar{width:8px}.customer-stack::-webkit-scrollbar-track,.chat-panel::-webkit-scrollbar-track{background:#e8dfd073;border-radius:999px}.customer-stack::-webkit-scrollbar-thumb,.chat-panel::-webkit-scrollbar-thumb{background:#6f776c61;border-radius:999px}.chat-empty-state{min-height:100%;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);text-align:center}.chat-empty-state p{margin:0;font-size:14px}.chat-empty-illustration{position:relative;width:84px;height:58px}.chat-empty-illustration span{position:absolute;border:2px solid #d9d3cc;border-radius:14px;background:#fffdf8;box-shadow:0 10px 18px #222c250f}.chat-empty-illustration span:after{content:"";position:absolute;width:12px;height:12px;border-right:2px solid #d9d3cc;border-bottom:2px solid #d9d3cc;background:inherit;transform:rotate(45deg)}.chat-empty-illustration span:first-child{left:8px;top:8px;width:46px;height:30px}.chat-empty-illustration span:first-child:after{left:7px;bottom:-7px}.chat-empty-illustration span:last-child{right:8px;bottom:8px;width:42px;height:28px;border-color:#24513a38;background:var(--green-soft)}.chat-empty-illustration span:last-child:after{right:7px;bottom:-7px;border-color:#24513a38}.chat-message{display:grid;gap:6px}.chat-message.customer{justify-items:start}.chat-message.agent{justify-items:end}.chat-message time{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px;line-height:1;white-space:nowrap}.bubble{max-width:82%;padding:10px 12px;border-radius:8px}.bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.media-bubble,.bubble.voice-message-bubble{padding:0;border:0;background:transparent}.chat-message.customer .bubble{border:1px solid rgba(167,122,42,.55);border-left-width:3px;background:#fff}.chat-message.agent .bubble{border:1px solid rgba(36,81,58,.2);background:var(--green-soft)}.chat-message.customer .bubble.media-bubble,.chat-message.agent .bubble.media-bubble,.chat-message.customer .bubble.voice-message-bubble,.chat-message.agent .bubble.voice-message-bubble{padding:0;border:0;background:transparent}.chat-image-thumb{display:block;max-width:110px;max-height:110px;border:1px solid rgba(36,81,58,.14);border-radius:6px;object-fit:cover}.chat-image-button{padding:0;border:0;border-radius:6px;background:transparent;cursor:zoom-in}.image-preview-layer{position:fixed;inset:0;z-index:1100;width:100vw;height:100vh;box-sizing:border-box;padding:52px 16px 24px;display:grid;place-items:center;background:#101512d1;cursor:zoom-out;overflow:hidden}.image-preview-original{max-width:min(calc(100vw - 32px),1280px);max-height:calc(100vh - 84px);border-radius:6px;object-fit:contain;box-shadow:0 18px 52px #00000057;cursor:default}.image-preview-close{position:fixed;top:12px;right:12px;width:30px;height:30px;padding:0;display:grid;place-items:center;border:1px solid rgba(20,24,22,.42);border-radius:999px;background:#f2f4f3e6;cursor:pointer;box-shadow:0 2px 8px #0000002e}.image-preview-close:before,.image-preview-close:after{content:"";grid-area:1 / 1;width:14px;height:2px;border-radius:999px;background:#111;transform-origin:center}.image-preview-close:before{transform:rotate(45deg)}.image-preview-close:after{transform:rotate(-45deg)}.voice-bubble{min-width:86px;min-height:40px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:flex-end;gap:9px;border:1px solid rgba(167,122,42,.55);border-left-width:3px;border-radius:8px;background:#fff;color:var(--ink);font:600 15px/1 var(--sans);cursor:pointer}.voice-bubble:not(.agent){flex-direction:row-reverse}.voice-bubble.agent{border-color:#33d28f;background:#33d28f;color:#0d2519}.voice-bubble audio{display:none}.voice-wave{width:20px;height:14px;display:inline-flex;align-items:center;justify-content:flex-start;gap:3px}.voice-wave i{width:3px;border-radius:999px;background:currentColor;opacity:.72}.voice-wave i:nth-child(1){height:5px}.voice-wave i:nth-child(2){height:9px}.voice-wave i:nth-child(3){height:13px}.voice-wave.playing i{animation:voice-wave-pulse .85s ease-in-out infinite}.voice-wave.playing i:nth-child(2){animation-delay:.12s}.voice-wave.playing i:nth-child(3){animation-delay:.24s}@keyframes voice-wave-pulse{0%,to{opacity:.36;transform:scaleY(.58)}50%{opacity:.95;transform:scaleY(1)}}.strategy{display:grid;gap:8px;padding:12px;border:1px solid #eadfcd;border-radius:8px;background:#fffdf8}.strategy h3,.strategy p{margin:0}.strategy h3{font:700 18px var(--serif)}.strategy p{color:var(--ink-soft)}.strategy-label-row{display:flex;align-items:center;gap:12px}.strategy-label-row p{min-width:0;flex:1 1 auto}.strategy-label-edit{flex:0 0 auto;height:28px;padding:0 10px;border-color:#d8cbb7;color:var(--ink-soft);background:#fffdf8}.strategy-label-edit:not(:disabled):hover{border-color:var(--green);color:var(--green)}.reply-list{flex:1 1 auto;min-height:170px;display:flex;flex-direction:column;gap:12px;margin-top:0}.reply-list article{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #eadfcd;border-radius:8px;background:#fff7e9}.reply-list p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.reply-composer{display:grid;gap:12px}.reply-editor{margin-top:0}.reply-actions{display:flex;justify-content:end;gap:10px;min-height:40px}.full-width{width:100%}.material-drawer .ant-drawer-body{max-height:calc(100vh - 112px);overflow-y:auto}.material-drawer .ant-upload-list{max-height:260px;overflow-y:auto;padding-right:4px}.mono-text{font-family:var(--mono);overflow-wrap:anywhere}.admin-console-shell{min-height:100vh;height:100vh;color:var(--ink);background:var(--paper);overflow:auto}.admin-console-header{position:sticky;top:0;z-index:5;display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:92px;padding:18px 32px;border-bottom:1px solid var(--line);background:#f3efe7f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-console-brand{min-width:0;display:flex;gap:12px;align-items:center}.admin-console-brand h1.ant-typography{margin:2px 0 0;font:700 28px var(--serif)}.admin-console-actions{min-width:0;display:flex;gap:10px;align-items:center}.admin-console-actions .ant-btn{width:38px;height:38px;box-shadow:none}.admin-console-user{min-width:0;max-width:min(420px,34vw);display:inline-flex;gap:8px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fffdf8}.admin-console-user>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px var(--mono)}.admin-console-main{width:min(100%,1540px);display:grid;gap:18px;padding:24px 28px 40px;margin:0 auto}.admin-error-banner{border-radius:8px}.admin-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-metric{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.admin-metric-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;color:var(--green);background:#eef5ee;font-size:18px}.admin-metric span,.admin-panel-head span{display:block;color:var(--muted)}.admin-metric strong{display:block;min-width:0;margin-top:2px;overflow:hidden;color:var(--ink);font:700 24px var(--sans);text-overflow:ellipsis;white-space:nowrap}.admin-metric small{display:block;margin-top:4px;color:var(--muted)}.admin-metric-ok .admin-metric-icon{color:var(--green);background:#e9f4ed}.admin-metric-warn .admin-metric-icon{color:var(--gold);background:#fbf0da}.admin-metric-danger .admin-metric-icon{color:var(--red);background:#fae9e5}.admin-panel{min-width:0;display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}.admin-panel-head{min-width:0;display:flex;gap:12px;align-items:center;justify-content:space-between}.admin-panel-head strong{display:block;color:var(--ink);font:700 18px var(--serif)}.admin-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:stretch}.admin-table-stack{min-width:0;display:grid;gap:12px}.admin-risk-sections{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:stretch}.admin-risk-section{min-width:0;display:grid;grid-template-rows:auto minmax(224px,auto) auto;gap:10px}.admin-risk-section-head{min-width:0;display:flex;gap:10px;align-items:end;justify-content:space-between}.admin-risk-section-head strong{color:var(--ink);font:700 15px var(--sans)}.admin-risk-section-head span{color:var(--muted)}.admin-table-frame{min-width:0;display:grid;gap:8px}.admin-grid .admin-table-frame{min-height:224px}.admin-panel .ant-table-wrapper,.admin-panel .ant-spin-nested-loading,.admin-panel .ant-spin-container{min-width:0;width:100%;max-width:100%}.admin-panel .ant-table{border-radius:8px;overflow:hidden}.admin-panel .ant-table-content{overflow-x:auto!important;overflow-y:hidden;scrollbar-width:none}.admin-panel .ant-table-content::-webkit-scrollbar{display:none}.admin-panel .ant-table-thead>tr>th{background:#fff}.admin-table-scrollbar{position:relative;height:12px;border:1px solid #eadbc5;border-radius:999px;background:#fff7eb;cursor:pointer;touch-action:none}.admin-table-scrollbar[data-overflow=false]{display:none}.admin-table-scrollbar:focus-visible{outline:2px solid rgba(36,94,64,.42);outline-offset:2px}.admin-table-scrollbar-thumb{position:absolute;inset-block:2px;left:0;display:block;min-width:44px;border-radius:999px;background:#c9bda8}.admin-table-scrollbar:hover .admin-table-scrollbar-thumb,.admin-table-scrollbar:focus-visible .admin-table-scrollbar-thumb{background:#aa9c84}.admin-panel .ant-table-tbody>tr>td{background:#fffdf8}.admin-panel-pagination{min-height:36px;display:flex;gap:8px;align-items:center;justify-content:flex-end;color:var(--muted)}.admin-page-number-group{display:inline-flex;gap:8px;align-items:center}.admin-page-nav.ant-btn,.admin-page-number.ant-btn{min-width:34px;height:34px;padding-inline:10px;border-color:transparent;box-shadow:none}.admin-page-number.ant-btn-primary{border-color:var(--green);color:#fff}.admin-page-jumper{display:inline-flex;gap:6px;align-items:center;min-height:34px;margin-left:8px;white-space:nowrap}.admin-page-jumper span{color:var(--ink)}.admin-page-jumper .ant-input{width:52px;height:34px;text-align:center}.admin-loading{display:inline-flex;gap:10px;align-items:center;justify-self:start;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#fffdf8;font-weight:600}@media(max-width:1440px){body{overflow-x:hidden;overflow-y:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.app-sider{height:auto;min-height:100vh}.app-main{height:auto;min-height:100vh;overflow:visible}.page-body{overflow:visible}.assist-grid{grid-template-columns:1fr;height:auto}.customer-stack-panel,.chat-panel-card,.reply-panel{height:auto}.chat-panel{flex:0 0 auto;height:var(--followup-scroll-panel-height);max-height:var(--followup-scroll-panel-height);min-height:0}.moments-layout{grid-template-columns:1fr;height:auto;align-items:start}.moments-table-panel{height:auto;min-height:620px}.moments-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:18px;align-content:start;align-items:start;height:auto;min-height:0;overflow:visible;padding-right:0}.customer-stack{flex:0 0 auto;height:var(--followup-scroll-panel-height);max-height:var(--followup-scroll-panel-height);overflow-y:scroll}.admin-console-shell{height:auto;min-height:100vh}.admin-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.admin-risk-sections{grid-template-columns:1fr}}@media(max-width:1180px){.assist-grid{grid-template-columns:1fr;height:auto}.moments-side,.assist-grid{grid-template-columns:1fr}.chat-panel{height:var(--followup-scroll-panel-height);max-height:var(--followup-scroll-panel-height);min-height:0}.customer-stack{flex:0 0 auto;height:var(--followup-scroll-panel-height);max-height:var(--followup-scroll-panel-height);overflow-y:scroll}}@media(max-width:980px){body{overflow-y:auto}.app-shell.ant-layout{height:auto;min-height:100vh;display:block!important;overflow:visible}.app-sider.ant-layout-sider{flex:none!important;min-width:0!important;height:auto;min-height:auto;padding:12px 16px 14px;overflow:visible;width:100%!important;max-width:none!important;border-right:0;border-bottom:1px solid var(--line)}.app-sider .ant-layout-sider-children{display:grid;grid-template-columns:minmax(260px,max-content) minmax(0,1fr) auto;gap:12px;align-items:center}.app-shell.ant-layout-has-sider>.app-main.ant-layout,.app-main.ant-layout{display:block;height:auto;width:100%!important;min-width:0!important;overflow:visible}.brand{height:auto;padding:0;border-bottom:0}.nav-menu.ant-menu{display:flex;gap:6px;width:100%;min-width:0;margin-top:0;border-inline-end:0!important;background:transparent}.nav-menu.ant-menu-inline .ant-menu-item{flex:1 1 0;min-width:0;height:44px;line-height:44px;margin:0;padding-inline:14px!important}.nav-menu.ant-menu-inline .ant-menu-item:after{display:none}.nav-menu .ant-menu-title-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-button.ant-btn{margin:0}.topbar{min-height:86px;padding:18px 20px}.page-body{padding:16px;overflow:visible}.admin-console-header{position:static;flex-direction:column;align-items:stretch;padding:16px}.admin-console-actions{justify-content:space-between}.admin-console-user{max-width:none;flex:1 1 auto}.admin-console-main{padding:16px}.admin-metrics-grid{grid-template-columns:1fr}.dashboard-placeholder{height:auto;min-height:calc(100dvh - 194px)}.moments-layout,.moments-table-panel{height:auto}.moments-side{grid-template-rows:auto;height:auto;overflow:visible;padding-right:0}}@media(max-width:560px){.app-sider .ant-layout-sider-children{grid-template-columns:1fr auto}.brand{grid-column:1 / -1}.nav-menu.ant-menu{grid-column:1}.settings-button.ant-btn{grid-column:2}.brand span{font-size:11px}.nav-menu.ant-menu-inline .ant-menu-item{padding-inline:10px!important}.topbar h1.ant-typography{font-size:26px}.admin-panel,.admin-metric{padding:14px}.admin-panel-head,.admin-panel-pagination{align-items:flex-start;flex-direction:column}.work-panel,.preview-panel{padding:14px}.panel-head{align-items:flex-start;flex-direction:column}.asset-item{grid-template-columns:72px minmax(0,1fr)}.asset-item img,.asset-item video{width:72px;height:72px}}
