body{background:#F5F8FC}
.office-page{max-width:1080px;margin:0 auto;padding:26px 22px 56px}
.office-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.office-brand{display:flex;align-items:center;gap:11px}
.office-mark{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FF6A1A,#FF4D00);color:#fff;font-size:18px;font-weight:800;box-shadow:0 8px 18px rgba(255,77,0,.18)}
.office-brand b{display:block;color:#172033;font-size:17px;letter-spacing:-.02em}
.office-brand small{display:block;margin-top:2px;color:#98A2B3;font-size:10.5px}
.office-top-actions{display:flex;align-items:center;gap:8px}
.chat-badge{padding:5px 9px;border-radius:999px;background:#FFF2E9;color:#C2410C;font-size:9px;font-weight:700}
.manual-toggle{height:31px;padding:0 11px;border:1px solid #E3E9F1;border-radius:8px;background:#fff;color:#6B7686;font-size:10.5px;font-weight:600;cursor:pointer;font-family:inherit}
.manual-toggle:hover{border-color:#FFD9C7;color:#FF4D00}
.office-lite-note{margin:0 0 12px;padding:9px 12px;border:1px solid #FFE3D2;border-radius:9px;background:#FFF9F5;color:#9A5B3D;font-size:10.5px;line-height:1.7}
.office-lite-note a{color:#FF4D00;font-weight:800;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px;background:#FFE7D8;padding:1px 4px;border-radius:4px;white-space:nowrap}
.office-lite-note a:hover{background:#FFD9C7;color:#C2410C}
.office-chat{display:flex;flex-direction:column;height:min(680px,calc(100vh - 190px));min-height:520px;background:#fff;border:1px solid #E7EDF5;border-radius:17px;box-shadow:0 14px 38px rgba(31,41,55,.06);overflow:hidden}
.chat-head{padding:19px 24px 15px;border-bottom:1px solid #F0F3F8}
.chat-head h2{margin:0 0 4px;color:#172033;font-size:18px;letter-spacing:-.02em}
.chat-head p{margin:0;color:#98A2B3;font-size:11px}
.chat-log{flex:1;overflow:auto;padding:20px 24px 12px;background:#FBFDFF}
.chat-message{display:flex;gap:9px;margin:0 0 14px;align-items:flex-start}
.chat-message--user{flex-direction:row-reverse}
.chat-avatar{width:28px;height:28px;flex:none;border-radius:9px;background:#FFF2E9;color:#C2410C;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800}
.chat-message--user .chat-avatar{background:#EAF2FF;color:#2F6BFF}
.chat-bubble{max-width:78%;padding:11px 13px;border-radius:11px;background:#fff;border:1px solid #EDF1F6;color:#4B5563;font-size:12.5px;line-height:1.8;white-space:pre-wrap;word-break:break-word;box-shadow:0 2px 8px rgba(31,41,55,.025)}
.chat-message--user .chat-bubble{background:#FF4D00;border-color:#FF4D00;color:#fff;box-shadow:0 5px 14px rgba(255,77,0,.16)}
.chat-starters{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:640px;margin:2px 0 0 37px}
.chat-starters button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 13px;border:1px solid #E8EDF3;border-radius:10px;background:#fff;text-align:left;cursor:pointer;font-family:inherit}
.chat-starters button:hover{border-color:#FFD0BB;background:#FFF9F5}
.chat-starters b{color:#374151;font-size:11.5px}.chat-starters small{color:#A0A9B5;font-size:9.5px}
.chat-files{display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 7px}
.chat-file{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #E5EAF1;border-radius:7px;background:#F8FAFD;color:#6B7686;font-size:10px}
.chat-file button{border:0;background:transparent;color:#B42318;cursor:pointer;font-size:13px;line-height:1;padding:0}
.chat-quick{display:flex;gap:6px;flex-wrap:wrap;padding:0 24px 10px}
.chat-quick button{border:1px solid #E5EAF1;border-radius:999px;background:#fff;color:#6B7686;font-size:10px;padding:6px 10px;cursor:pointer;font-family:inherit}
.chat-quick button:hover{border-color:#FFD9C7;background:#FFF9F5;color:#FF4D00}
.chat-composer{margin:0 16px 14px;border:1px solid #E1E8F1;border-radius:12px;padding:7px 9px 6px;background:#fff;box-shadow:0 7px 20px rgba(31,41,55,.05)}
.chat-composer:focus-within{border-color:#FFC9B0;box-shadow:0 0 0 3px rgba(255,77,0,.06),0 7px 20px rgba(31,41,55,.05)}
.chat-composer textarea{width:100%;border:0;outline:0;resize:none;min-height:54px;font-family:inherit;font-size:12.5px;line-height:1.7;color:#1F2937;padding:4px;box-sizing:border-box;background:transparent}
.chat-toolbar{display:flex;align-items:center;gap:8px;padding-top:5px;border-top:1px solid #F3F6FA}
.chat-attach{border:0;background:transparent;color:#FF4D00;font-size:10.5px;font-weight:700;cursor:pointer;font-family:inherit;padding:3px 2px}
.chat-support{color:#A0A9B5;font-size:9.5px;margin-right:auto}
.chat-send{height:30px;padding:0 16px;border:0;border-radius:8px;background:#FF4D00;color:#fff;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.chat-send:disabled{opacity:.45;cursor:wait}
.chat-note{margin:0;padding:0 24px 12px;color:#A0A9B5;font-size:9.5px}
.chat-thinking{color:#8B95A5;font-size:11px}
.chat-actions{display:flex;gap:6px;margin-top:8px;padding-top:7px;border-top:1px solid #EEF2F7}
.chat-actions button{border:1px solid #E5EAF1;border-radius:6px;background:#fff;color:#6B7686;font-size:9.5px;padding:4px 7px;cursor:pointer;font-family:inherit}
.chat-actions button:hover{color:#FF4D00;border-color:#FFD9C7}
.chat-download{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:7px;background:#FFF2E9;color:#C2410C;font-size:10.5px;font-weight:700;text-decoration:none}
.chat-download:hover{background:#FFE7D8}
.office-chat.is-dragover{outline:2px dashed #FF4D00;outline-offset:-3px}
.history-drawer{position:fixed;top:78px;right:calc((100vw - 1080px)/2 + 16px);z-index:80;width:300px;max-height:calc(100vh - 110px);display:flex;flex-direction:column;padding:13px;background:#fff;border:1px solid #E5EBF3;border-radius:13px;box-shadow:0 20px 50px rgba(15,23,42,.16)}
.history-drawer[hidden]{display:none!important}
.history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#1F2937;font-size:13px}
.history-head button{width:26px;height:26px;border:0;border-radius:7px;background:#F5F8FC;color:#7B8797;font-size:17px;cursor:pointer}
.history-new{height:32px;border:1px solid #E5EAF1;border-radius:8px;background:#FFF9F5;color:#FF4D00;font-size:10.5px;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:9px}
.history-list{overflow:auto;display:flex;flex-direction:column;gap:5px}
.history-item{padding:8px 9px;border:1px solid #EEF2F7;border-radius:8px;background:#FAFCFE;text-align:left;cursor:pointer;font-family:inherit}
.history-item:hover{border-color:#FFD9C7;background:#FFF9F5}
.history-item b{display:block;color:#4B5563;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.history-item small{display:block;margin-top:2px;color:#A0A9B5;font-size:9px}
.history-empty{color:#A0A9B5;font-size:10px;margin:8px 3px}
.office-manual{margin-top:24px}
.office-manual.is-precision .office-tabs{display:none}
.office-manual.is-precision .office-panel:not([data-panel="reconcile"]){display:none!important}
.office-tools-title{display:flex;align-items:baseline;gap:9px;margin:0 0 9px;color:#1F2937;font-size:13px;font-weight:700}
.office-tools-title small{color:#A0A9B5;font-size:10px;font-weight:400}
.office-tabs{display:flex;gap:4px;overflow:auto;padding:5px;margin-bottom:16px;background:#F3F7FC;border:1px solid #E7EDF5;border-radius:11px}
.office-tabs button{flex:1;min-width:110px;height:34px;border:0;border-radius:8px;background:transparent;color:#7B8797;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}
.office-tabs button.is-active{background:#fff;color:#FF4D00;box-shadow:0 3px 10px rgba(31,41,55,.08)}
.office-panel{display:none}.office-panel.is-active{display:block}
.office-grid{display:grid;gap:13px;margin-bottom:13px}.office-grid--two{grid-template-columns:1fr 1fr}
.office-card{background:#fff;border:1px solid #E8EDF3;border-radius:13px;padding:18px;margin-bottom:13px;box-shadow:0 5px 16px rgba(31,41,55,.03)}
.office-card-head h2{margin:0 0 4px;color:#1F2937;font-size:15px}.office-card-head p{margin:0 0 13px;color:#8B95A5;font-size:10.5px}
.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:104px;border:1px dashed #D8E1EC;border-radius:10px;background:#FAFCFE;cursor:pointer}
.file-drop:hover{border-color:#FF4D00;background:#FFF9F5}
.file-drop input{display:none}.file-drop b{color:#4B5563;font-size:11.5px}.file-drop small{color:#A0A9B5;font-size:9.5px}
.file-name{margin:8px 0 0;color:#8B95A5;font-size:10px}
.office-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.office-fields label,.office-textarea{display:flex;flex-direction:column;gap:5px;color:#6B7686;font-size:10.5px;font-weight:600}
.office-fields input,.office-fields select,.office-textarea textarea,.edit-table input{height:35px;border:1px solid #E5EAF1;border-radius:8px;padding:0 10px;background:#fff;font-size:11.5px;outline:0;font-family:inherit}
.office-textarea textarea{height:auto;padding:10px;line-height:1.8;resize:vertical}
.office-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.office-btn{height:34px;padding:0 13px;border:1px solid #E3E9F1;border-radius:8px;background:#F8FAFD;color:#4B5563;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
.office-btn:hover{border-color:#FFD9C7;color:#FF4D00}.office-btn--primary{background:#FF4D00;border-color:#FF4D00;color:#fff}.office-btn--primary:hover{color:#fff;background:#E64500}.office-btn:disabled{opacity:.45;cursor:not-allowed}
.office-message{min-height:17px;margin:8px 0 0;color:#15803D;font-size:10.5px}
.reconcile-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:13px}
.reconcile-summary div{padding:12px 13px;border:1px solid #E8EDF3;border-radius:11px;background:#fff}
.reconcile-summary span{display:block;color:#8B95A5;font-size:9.5px}.reconcile-summary b{display:block;margin-top:5px;color:#1F2937;font-size:19px}
.table-wrap{overflow:auto;border:1px solid #EEF2F7;border-radius:9px}
table.edit-table,.table-wrap table{width:100%;border-collapse:collapse;font-size:10.5px}
.edit-table th,.table-wrap th{padding:8px;background:#F8FAFD;color:#7B8797;text-align:left;white-space:nowrap;border-bottom:1px solid #EEF2F7;font-weight:600}
.edit-table td,.table-wrap td{padding:7px 8px;border-bottom:1px solid #F1F4F8;color:#4B5563;white-space:nowrap}
.edit-table input{width:100%;height:29px;min-width:70px}
.edit-table .amount-cell{color:#1F2937;font-weight:600}
.edit-table .remove-row{width:25px;height:25px;border:0;border-radius:6px;background:#FFF3F2;color:#D92D20;cursor:pointer}
.office-note{margin:15px 0 0;color:#A0A9B5;font-size:11px}
/* 2026-11 typography：正文和辅助文字整体上调一档 */
.office-brand b{font-size:18px}
.office-brand small{font-size:12px}
.chat-head h2{font-size:20px}
.chat-head p{font-size:13.5px;line-height:1.7}
.chat-bubble{font-size:15px;line-height:1.8}
.chat-starters b{font-size:13px}
.chat-starters small{font-size:12px}
.chat-quick button{font-size:11.5px}
.chat-file{font-size:11.5px}
.chat-support{font-size:11px}
.chat-send{font-size:12px}
.chat-note,.office-lite-note{font-size:12px;line-height:1.75}
.office-tools-title{font-size:14px}
.office-tools-title small{font-size:11px}
.office-tabs button{font-size:12px}
.office-card-head h2{font-size:16px}
.office-card-head p,.office-fields label,.office-textarea,.office-message,.file-name{font-size:13px}
.office-fields input,.office-fields select,.office-textarea textarea,.edit-table input,.office-btn{font-size:13.5px}
.chat-actions button{font-size:10.5px}
.chat-download{font-size:11.5px}
.history-head{font-size:14px}
.history-item b{font-size:12px}
.history-item small,.history-empty{font-size:10.5px}
@media(max-width:760px){.office-page{padding:18px 13px 40px}.office-top{margin-bottom:12px}.office-chat{height:calc(100vh - 170px);min-height:520px;border-radius:14px}.chat-head{padding:15px 17px 12px}.chat-log{padding:16px 17px 10px}.chat-quick,.chat-files{padding-left:17px;padding-right:17px}.chat-composer{margin:0 10px 10px}.chat-note{padding:0 17px 10px}.chat-bubble{max-width:84%}.office-grid--two{grid-template-columns:1fr}.office-fields{grid-template-columns:1fr 1fr}.reconcile-summary{grid-template-columns:1fr 1fr}.office-tabs button{min-width:96px}}
