/* 索跃工作台 v4：协作文档、排班与考勤助手 */
.view-documents{min-height:calc(100vh - 138px)}
.docs-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px;min-height:calc(100vh - 156px);background:rgba(255,255,255,.54);border:1px solid rgba(255,255,255,.84);border-radius:28px;padding:14px;box-shadow:0 24px 70px rgba(121,72,41,.08)}
.docs-categories{border-radius:22px;background:rgba(250,248,246,.9);padding:14px;display:flex;flex-direction:column;gap:7px}
.docs-category-head{display:flex;align-items:center;gap:10px;padding:8px 10px 14px;color:#6f5a4f}.docs-category-head span{font-size:22px}.docs-category-head b{font-size:15px}
.docs-category{border:0;background:transparent;border-radius:16px;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:left;color:#5f514a;cursor:pointer;font-size:14px}.docs-category:hover{background:#fff}.docs-category.active{background:#fff;color:#db6d31;box-shadow:0 9px 24px rgba(99,65,45,.09)}.docs-category i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e9e5e1;color:#8a7c75;font-size:11px;font-style:normal}.docs-category.active i{background:#fff0e5;color:#e47031}
.docs-main{background:#fff;border-radius:22px;padding:20px;min-width:0;display:flex;flex-direction:column}.docs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid #ece7e3}.docs-toolbar h2{margin:3px 0 0;font-size:24px}.docs-toolbar>div:last-child{display:flex;gap:9px;flex-wrap:wrap}
.docs-table-head,.document-row{display:grid;grid-template-columns:minmax(260px,2fr) minmax(100px,.7fr) minmax(145px,.9fr) 90px 70px;gap:14px;align-items:center}.docs-table-head{padding:14px 14px 9px;color:#998b83;font-size:12px}.docs-list{overflow:auto;min-height:260px}.document-row{width:100%;border:0;border-top:1px solid #f0ece8;background:transparent;padding:13px 14px;text-align:left;color:#554841;cursor:pointer}.document-row:hover{background:#fff8f2;border-radius:14px}.document-row>span{min-width:0}.document-name{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px}.document-name>.doc-type{grid-row:1/3}.document-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-name small{color:#9b8c84;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-type{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;font-weight:800;font-style:normal}.doc-type.word{background:#4d7ed9}.doc-type.sheet{background:#4f9a69}.doc-type.slides{background:#db7442}.document-permission{font-style:normal;font-size:12px;color:#8e7669;background:#f4efeb;padding:5px 9px;border-radius:999px}.document-actions i{font-style:normal;color:#dc6b31}.docs-empty{padding:70px 20px;text-align:center;color:#988a82}.docs-empty b{display:block;color:#65574f;font-size:18px;margin-bottom:7px}
.document-type-label{display:block;color:#6c5d55;font-size:13px}.document-type-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:9px}.document-type-picker label{border:1px solid #e6ddd7;border-radius:15px;padding:14px;display:flex;align-items:center;gap:10px;cursor:pointer}.document-type-picker label:has(input:checked){border-color:#ed8751;background:#fff8f3}.document-type-picker input{position:absolute;opacity:0}.document-type-picker .doc-type{width:34px;height:34px}.document-type-picker b{font-size:14px}
.document-editor-shell{height:calc(100vh - 154px);min-height:590px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(255,255,255,.83);border-radius:27px;border:1px solid rgba(255,255,255,.9);overflow:hidden;box-shadow:0 24px 75px rgba(99,67,48,.08)}.document-editor-head{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid #e9e3df;background:rgba(255,255,255,.9)}.document-title-edit{min-width:170px;flex:1}.document-title-edit input{border:0;background:transparent;font-weight:750;font-size:18px;color:#4b4039;width:100%;outline:none}.document-title-edit span{display:block;color:#a1938b;font-size:11px;margin-top:2px}.document-category-select{display:flex;align-items:center;gap:6px;color:#8c7b72;font-size:12px}.document-category-select select{border:1px solid #e6ddd7;background:#fff;border-radius:10px;padding:7px 9px}.document-editor-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.document-editor-actions a{text-decoration:none}.document-editor-workspace{min-height:0;overflow:hidden;background:#e7e5e4}.document-status{display:flex;gap:22px;padding:8px 17px;background:#fff;color:#9b8d85;font-size:11px;border-top:1px solid #ece6e2}
.word-toolbar{height:48px;background:#fbfaf9;border-bottom:1px solid #ddd6d1;display:flex;align-items:center;gap:5px;padding:0 15px;overflow:auto}.word-toolbar button{border:1px solid #e2dbd6;background:#fff;border-radius:8px;min-width:34px;height:31px;padding:0 9px;color:#5e5149;cursor:pointer}.word-toolbar button:hover{background:#fff2e8;border-color:#edb18c}.word-editor{width:min(860px,calc(100% - 70px));min-height:calc(100% - 90px);height:calc(100% - 90px);overflow:auto;margin:22px auto;background:#fff;padding:60px 72px;box-sizing:border-box;box-shadow:0 8px 30px rgba(54,45,39,.14);outline:none;line-height:1.8;color:#342d29}.word-editor h1{font-size:30px}.word-editor h2{font-size:23px}.word-editor p{min-height:1.4em}
.sheet-toolbar{height:48px;display:flex;align-items:center;gap:9px;padding:0 14px;background:#faf9f8;border-bottom:1px solid #d9d3cf}.sheet-toolbar span{font-size:12px;color:#91837b}.sheet-scroll{height:calc(100% - 49px);overflow:auto;background:#fff}.sheet-grid{border-collapse:collapse;table-layout:fixed;min-width:max-content}.sheet-grid th,.sheet-grid td{border:1px solid #d9ddda;height:30px}.sheet-grid th{position:sticky;top:0;z-index:2;background:#f0f2f0;color:#69736c;font-size:11px;min-width:86px;text-align:center}.sheet-grid thead th:first-child{left:0;z-index:4;min-width:42px}.sheet-grid tbody th{position:sticky;left:0;z-index:3;min-width:42px;background:#f0f2f0}.sheet-grid td{min-width:110px}.sheet-cell-input{border:0;width:100%;height:100%;box-sizing:border-box;padding:4px 7px;outline:none;background:#fff;color:#383c39}.sheet-cell-input:focus{box-shadow:inset 0 0 0 2px #5e9ff5;background:#f7fbff}
.slides-shell{display:grid;grid-template-columns:230px minmax(0,1fr);height:100%}.slide-list{background:#f4f2f1;border-right:1px solid #d6cfca;padding:12px;overflow:auto}.slide-list-actions{position:sticky;top:0;background:#f4f2f1;padding-bottom:9px;z-index:2}.slide-thumb{width:100%;display:grid;grid-template-columns:25px 1fr;gap:9px;border:1px solid transparent;background:transparent;border-radius:13px;padding:8px;text-align:left;margin-bottom:7px;cursor:pointer}.slide-thumb:hover{background:#fff}.slide-thumb.active{border-color:#ea824d;background:#fff;box-shadow:0 6px 18px rgba(93,63,46,.08)}.slide-thumb>b{color:#8c7e76}.slide-thumb span{display:block;min-width:0;background:#fff;border:1px solid #e5dfdb;border-radius:8px;padding:9px;aspect-ratio:16/9}.slide-thumb strong,.slide-thumb small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-thumb strong{font-size:12px}.slide-thumb small{color:#9a8c84;font-size:10px;margin-top:7px}.slide-canvas{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:24px 30px;background:#d3d0ce}.slide-page{width:min(920px,100%);aspect-ratio:16/9;max-height:100%;margin:auto;background:#fff;border-radius:6px;box-shadow:0 12px 38px rgba(45,39,35,.18);display:flex;flex-direction:column;justify-content:center;padding:8% 9%;box-sizing:border-box}.slide-page input,.slide-page textarea{border:1px dashed transparent;background:transparent;outline:none;color:#302a27;width:100%;box-sizing:border-box}.slide-page input:focus,.slide-page textarea:focus{border-color:#e3b091}.slide-page input{font-size:clamp(26px,3vw,48px);font-weight:800;margin-bottom:5%}.slide-page textarea{font-size:clamp(16px,1.8vw,27px);line-height:1.6;min-height:42%;resize:none}.slide-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:14px;color:#786b64;font-size:12px}
.share-document-note{background:#fff6ed;color:#80685a;border-radius:13px;padding:12px 14px;margin-bottom:12px}.document-share-list{max-height:430px;overflow:auto}.document-share-person{display:grid;grid-template-columns:24px 42px minmax(0,1fr) 96px;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #eee8e4}.document-share-person img{width:38px;height:38px;border-radius:11px;object-fit:cover}.document-share-person span b,.document-share-person span small{display:block}.document-share-person span small{color:#9b8d85}.document-share-person select{border:1px solid #e2dad4;background:#fff;border-radius:9px;padding:7px}
.conversation-avatar.assistant,.chat-message-assistant-avatar{background:linear-gradient(145deg,#ff9a57,#f27737)!important;color:#fff;display:grid;place-items:center;font-weight:700}.chat-conversation.assistant{background:#fff9f3}.chat-message-assistant-avatar{width:38px;height:38px;border-radius:12px;flex:0 0 auto}.assistant-message>div:last-child{max-width:min(620px,80%)}.assistant-compose-note{padding:16px 20px;color:#8d7f77;text-align:center;background:#fbf9f7;border-top:1px solid #ebe5e0}.chat-schedule-button{border:0;border-radius:12px;padding:0 13px;background:#fff1e7;color:#d86b32;font-weight:700;white-space:nowrap;cursor:pointer}.chat-card{margin-top:9px;border:1px solid #e6ded8;background:#fff;border-radius:17px;padding:13px;min-width:min(340px,72vw);box-shadow:0 8px 25px rgba(70,53,43,.06)}.chat-card-head{display:flex;gap:10px;align-items:center}.chat-card-head>span{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#fff0e5;color:#dd6c31;font-size:20px}.chat-card-head b,.chat-card-head small{display:block}.chat-card-head small{color:#9a8c84;margin-top:2px}.chat-card>button{border:0;border-radius:11px;width:100%;padding:9px;margin-top:11px;background:#eee9e5;color:#5e5149;font-weight:700;cursor:pointer}.chat-card>button:hover{background:#f08a50;color:#fff}.report-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:11px}.report-card-stats span{background:#f8f5f3;border-radius:9px;padding:8px 5px;text-align:center;font-size:11px}.report-card-stats b{display:block;font-size:16px;margin-top:3px}.schedule-card-range{display:flex;align-items:center;justify-content:space-between;gap:6px;background:#f7f3f0;border-radius:11px;padding:10px;margin-top:10px}.schedule-card-range i{font-style:normal;color:#aa9a91}.schedule-card>p{font-size:11px;color:#96887f;margin:8px 0 0}
.canvas-share-card{overflow:hidden}.canvas-share-card>img,.canvas-share-placeholder{width:100%;height:132px;margin-bottom:12px;border-radius:12px;background:#f4f1ee;object-fit:cover}.canvas-share-placeholder{display:grid;place-items:center;color:#d9783d;font-size:28px;font-weight:800}.canvas-share-card .chat-card-head>div{min-width:0}.canvas-share-card .chat-card-head b,.canvas-share-card .chat-card-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.schedule-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:11px}.schedule-detail-meta span{background:#f4efeb;border-radius:999px;padding:6px 10px;color:#74655d;font-size:12px}.schedule-chooser h3,.schedule-summary h3{margin:12px 0}.schedule-chooser h3 small{color:#9a8c84;font-weight:400}.schedule-week{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.schedule-day{border:1px solid #e3dbd5;background:#fff;border-radius:13px;padding:9px 4px;color:#665950;cursor:pointer}.schedule-day span,.schedule-day b,.schedule-day small{display:block}.schedule-day span,.schedule-day small{font-size:10px;color:#9d8f86}.schedule-day b{font-size:15px;margin:5px 0}.schedule-day.selected{border-color:#ed8650;background:#fff1e8;color:#d96930}.schedule-day.selected small{color:#d96930}.schedule-chooser>label{display:block;margin-top:12px}.schedule-chooser textarea{width:100%;box-sizing:border-box;border:1px solid #e2dad4;border-radius:12px;padding:10px;min-height:68px;margin-top:6px}.schedule-summary{margin-top:15px}.schedule-summary-head{display:flex;align-items:center;justify-content:space-between}.schedule-summary-head span{color:#9a8c84;font-size:12px}.schedule-response-list{max-height:260px;overflow:auto}.schedule-response-list>div{display:grid;grid-template-columns:38px minmax(0,1fr) 64px;gap:10px;align-items:center;padding:9px 4px;border-top:1px solid #eee8e4}.schedule-response-list img{width:36px;height:36px;border-radius:10px;object-fit:cover}.schedule-response-list b,.schedule-response-list small{display:block}.schedule-response-list small{color:#93857d;margin-top:2px}.schedule-response-list em{font-style:normal;color:#a1948c;font-size:11px}.schedule-response-list em.done{color:#4f9a69}.schedule-member-picker{max-height:250px;overflow:auto}
.attendance-report-summary{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:8px;margin-bottom:13px}.attendance-report-summary>div{background:#f6f2ef;border-radius:12px;padding:10px}.attendance-report-summary span,.attendance-report-summary b{display:block}.attendance-report-summary span{font-size:11px;color:#95877f}.attendance-report-summary b{margin-top:4px}.attendance-report-table{max-height:480px;overflow:auto;border:1px solid #e6ded8;border-radius:13px}.attendance-report-table table{border-collapse:collapse;width:100%;min-width:760px}.attendance-report-table th,.attendance-report-table td{padding:9px 10px;border-bottom:1px solid #eee8e4;text-align:left;font-size:12px}.attendance-report-table th{position:sticky;top:0;background:#f6f2ef;z-index:2}.report-empty{text-align:center!important;color:#9a8c84;padding:40px!important}.attendance-generated{display:block;color:#a09289;margin-top:8px}

@media(max-width:1050px){.docs-shell{grid-template-columns:170px minmax(0,1fr)}.docs-table-head,.document-row{grid-template-columns:minmax(220px,2fr) 90px 120px 75px 55px}.document-editor-head{align-items:flex-start;flex-wrap:wrap}.document-title-edit{min-width:250px}.document-editor-actions{width:100%;justify-content:flex-end}.slides-shell{grid-template-columns:185px minmax(0,1fr)}}
@media(max-width:760px){.view-documents{min-height:auto}.docs-shell{display:block;padding:8px;min-height:auto}.docs-categories{display:flex;flex-direction:row;overflow:auto;border-radius:17px;margin-bottom:8px;padding:8px}.docs-category-head{display:none}.docs-category{white-space:nowrap;padding:9px}.docs-main{padding:12px;border-radius:17px}.docs-toolbar{align-items:flex-start}.docs-toolbar h2{font-size:20px}.docs-toolbar>div:last-child{justify-content:flex-end}.docs-table-head{display:none}.document-row{grid-template-columns:minmax(0,1fr) auto;padding:12px 4px}.document-row>span:nth-child(2),.document-row>span:nth-child(3),.document-row>span:nth-child(4){display:none}.document-editor-shell{height:calc(100vh - 155px);min-height:560px;border-radius:17px}.document-editor-head{padding:9px}.document-editor-head>#documentBack{order:1}.document-title-edit{order:2;min-width:calc(100% - 110px)}.document-category-select{order:3}.document-editor-actions{order:4;justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.document-editor-actions button,.document-editor-actions a{white-space:nowrap}.document-status{overflow:auto;white-space:nowrap}.word-editor{width:calc(100% - 18px);height:calc(100% - 68px);min-height:0;margin:9px;padding:30px 22px}.slides-shell{grid-template-columns:105px minmax(0,1fr)}.slide-list{padding:6px}.slide-thumb{grid-template-columns:1fr;padding:4px}.slide-thumb>b{display:none}.slide-thumb span{padding:5px}.slide-canvas{padding:10px}.slide-page{padding:8%}.sheet-grid td{min-width:95px}.document-type-picker{grid-template-columns:1fr}.schedule-week{grid-template-columns:repeat(4,1fr)}.attendance-report-summary{grid-template-columns:repeat(2,1fr)}.attendance-report-summary>div:first-child{grid-column:1/3}.chat-card{min-width:260px}.report-card-stats{grid-template-columns:1fr 1fr}.report-card-stats span:last-child{grid-column:1/3}}

/* v5 design scheduling */
.design-invite-card{border-color:#eadfd4}.design-invite-card .chat-card-head>span{background:#fff0e2}.design-submission-card .chat-card-head>span{background:#e9f7ef;color:#3a9761}.design-submission-stats{display:flex;gap:8px;margin-top:10px}.design-submission-stats span{flex:1;text-align:center;background:#f6f3f0;border-radius:10px;padding:8px;font-size:12px}.design-submission-stats b{font-size:17px;margin-left:4px}.design-send-options{display:grid;gap:8px;background:#f8f5f2;border-radius:13px;padding:12px}.design-send-options label{font-weight:600}.design-picker-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.design-picker-head small{color:#988980}.design-member-picker{max-height:300px;overflow:auto;border:1px solid #e7dfd9;border-radius:14px}.design-picker-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid #eee8e3}.design-picker-row:last-child{border-bottom:0}.design-picker-row>label:first-child{display:grid;grid-template-columns:18px 38px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.design-picker-row img{width:36px;height:36px;border-radius:10px;object-fit:cover}.design-picker-row b,.design-picker-row small{display:block}.design-picker-row small{color:#9b8d84;font-size:11px;margin-top:2px}.balance-input{display:flex;align-items:center;gap:4px;color:#7b6c63;font-size:12px;white-space:nowrap}.balance-input input{width:42px;border:1px solid #e0d6cf;border-radius:8px;padding:5px;text-align:center}.design-calendar-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:#f8f4f1;color:#71625a}.design-calendar-meta b{color:#d96b34;font-size:18px}.personal-calendar{margin-top:14px}.calendar-week-labels,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-week-labels{padding:9px 4px;background:#eee8e4;border-radius:11px;text-align:center;color:#62544c}.calendar-month-grid{margin-top:9px}.month-empty{min-height:68px}.month-day{border:1px solid transparent;border-radius:12px;min-height:68px;background:#f6f3f1;color:#a59b95;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.month-day b{font-size:18px}.month-day small{font-size:11px}.month-day.selectable{background:#fff;border-color:#e3dad4;color:#4d423c;cursor:pointer}.month-day.selectable:hover{border-color:#e88653;background:#fff8f3}.month-day.rest{background:#fff1e8;border-color:#ec986d;color:#d9662f}.month-day.leave{background:#f2eaf7;border-color:#bd98cf;color:#805c91}.calendar-tip{font-size:12px;color:#9d8e85;margin:10px 0}.leave-notes{background:#fbf8f6;border:1px solid #eee6e1;border-radius:12px;padding:10px;margin-top:8px}.leave-notes h3{font-size:14px;margin:0 0 7px}.leave-notes label{display:grid;grid-template-columns:80px 1fr;gap:8px;align-items:center;margin-top:7px;font-size:12px}.leave-notes input{border:1px solid #e1d8d2;border-radius:8px;padding:8px}.design-schedule-head{display:flex;align-items:center;gap:15px;justify-content:space-between;margin-bottom:14px}.design-schedule-head h2{margin:3px 0}.design-schedule-head p{margin:0;color:#8f8179}.design-schedule-head label{color:#76665d;font-size:12px}.design-schedule-head input{border:1px solid #ded5cf;border-radius:9px;padding:8px;margin-left:5px}.design-overview{padding:0;overflow:hidden}.design-overview-title{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee8e3}.design-overview-title span{color:#998a81;font-size:12px}.design-overview-row{display:grid;grid-template-columns:70px 1fr;border-bottom:1px solid #f0ebe7;min-height:68px}.design-overview-row time{display:flex;align-items:center;justify-content:center;gap:6px;background:#fbf9f7;color:#6b5a51}.design-overview-row time b{font-size:24px}.design-overview-row time small{font-size:11px}.design-overview-row>div{padding:9px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.schedule-avatar-chip{position:relative;display:flex;align-items:center;gap:6px;border:0;background:#f8f2ed;border-radius:10px;padding:5px 8px 5px 5px;color:#5b4b42;cursor:pointer}.schedule-avatar-chip img{width:31px;height:31px;border-radius:8px;object-fit:cover}.schedule-avatar-chip span{font-size:12px}.schedule-avatar-chip em{font-size:10px;font-style:normal;border-radius:99px;padding:2px 4px;background:#f4b087;color:#753517}.schedule-avatar-chip.leave{background:#f1e9f5}.schedule-avatar-chip.leave em{background:#d7c0e2;color:#604069}.schedule-no-entry{font-size:12px;color:#b1a69f}.manager-calendar .month-day{cursor:pointer}
@media(max-width:760px){.design-picker-head,.design-schedule-head{align-items:flex-start;flex-direction:column}.design-picker-row{align-items:flex-start;flex-direction:column}.calendar-month-grid{gap:4px}.month-day{min-height:52px}.month-day b{font-size:15px}.month-day small{font-size:10px}.design-overview-row{grid-template-columns:56px 1fr}.design-overview-row time b{font-size:20px}.schedule-avatar-chip span{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.schedule-avatar-chip.work{background:#f1f7f3}.schedule-avatar-chip.work em{background:#cfe7d6;color:#306d45}

/* v5 message composer: four controls must remain on one responsive row. */
.chat-compose{display:flex!important;align-items:flex-end;gap:9px;padding:13px 16px;background:linear-gradient(180deg,#fffdfb,#fff7f1);border-top:1px solid #f1e3da}.chat-compose .chat-attach,.chat-compose .chat-schedule-button{width:42px;height:42px;flex:0 0 42px;box-sizing:border-box;display:grid;place-items:center;margin:0}.chat-compose .chat-schedule-button{padding:0;border:1px solid #f1c6aa;background:#fff6ef;color:#d96c35;font-size:18px}.chat-compose .chat-schedule-button:hover{background:#f08a50;color:#fff}.chat-compose textarea{flex:1;min-width:0;min-height:42px!important;height:42px;max-height:120px;box-sizing:border-box;resize:vertical;border:1px solid #f0dfd4;border-radius:13px;background:#fff;padding:11px 13px;line-height:18px}.chat-compose .orange-btn{height:42px!important;flex:0 0 74px;padding:0 10px;border-radius:12px;white-space:nowrap}.chat-compose:focus-within{box-shadow:inset 0 0 0 1px #f5d6c0}@media(max-width:760px){.chat-compose{gap:7px;padding:10px}.chat-compose .chat-attach,.chat-compose .chat-schedule-button{width:38px;height:38px;flex-basis:38px}.chat-compose textarea{min-height:38px!important;height:38px;padding:9px}.chat-compose .orange-btn{height:38px!important;flex-basis:56px;font-size:12px}}

/* WeChat inspired neutral conversation surface. */
.chat-shell{background:#f7f7f7!important;border-color:#e7e7e7!important;box-shadow:none!important}.chat-sidebar{background:#f2f2f2!important;border-right-color:#e4e4e4!important}.chat-main{background:#f5f5f5!important}.chat-main-head{background:#f7f7f7;border-bottom-color:#e7e7e7!important}.chat-sidebar-head h2{color:#202020}.chat-list-title{color:#8d8d8d}.chat-conversation{border-radius:7px;color:#202020}.chat-conversation:hover,.chat-conversation.active{background:#dedede!important;border-color:transparent!important;box-shadow:none!important}.chat-conversations{gap:2px}.chat-messages{background:#f5f5f5!important;background-image:none!important}.chat-bubble>div{border:0!important;border-radius:5px!important;background:#fff!important;box-shadow:none!important}.chat-bubble.mine>div{background:#95ec69!important;border-color:#95ec69!important;border-radius:5px!important}.chat-bubble p{color:#191919}.chat-bubble small{color:#9b9b9b}.chat-compose{position:relative;background:#fff!important;border-top-color:#e4e4e4!important;box-shadow:none!important}.chat-compose .chat-attach{border-color:#d5d5d5;background:#fff;color:#606060}.chat-compose .chat-schedule-button{border-color:#d5d5d5;background:#fff;color:#606060}.chat-compose .chat-schedule-button:hover{background:#f1f1f1;color:#202020}.chat-compose textarea{border-color:#e2e2e2;background:#fff;color:#191919}.chat-compose .orange-btn{background:#07c160!important;color:#fff!important;box-shadow:none!important}.chat-compose .orange-btn:hover{background:#06ad56!important}.chat-compose:focus-within{box-shadow:none!important}.chat-paste-preview{position:absolute;z-index:4;bottom:62px;left:16px;display:flex;gap:8px;padding:8px;border:1px solid #dedede;border-radius:8px;background:#fff;box-shadow:0 6px 18px #0002}.chat-paste-preview span{position:relative;display:block}.chat-paste-preview img{display:block;width:52px;height:52px;object-fit:cover;border-radius:5px}.chat-paste-preview button{position:absolute;right:-6px;top:-6px;width:18px;height:18px;border:0;border-radius:50%;background:#555;color:#fff;line-height:16px;cursor:pointer}@media(max-width:760px){.chat-paste-preview{left:10px;bottom:54px}.chat-paste-preview img{width:42px;height:42px}}

/* Responsive message workspace. The application frame owns the viewport; the
   message list is the only chat scroller. */
@media (min-width:651px){.app{display:grid;grid-template-columns:clamp(210px,16vw,230px) minmax(0,1fr);gap:18px;height:100vh;min-height:0;overflow:hidden}.app>aside{width:auto;min-width:0;flex:initial}.app>main{width:auto;max-width:none;min-width:0;min-height:0;height:calc(100vh - 36px);margin:0;padding-bottom:0;overflow:hidden;display:flex;flex-direction:column}.app>main>header{flex:0 0 auto}#content.view-chat{display:block;flex:1 1 auto;min-height:0;overflow:hidden;padding-bottom:0}.view-chat .chat-shell{height:100%;min-height:0;max-height:none;grid-template-columns:clamp(240px,20vw,280px) minmax(0,1fr);overflow:hidden}.view-chat .chat-sidebar{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.view-chat .chat-conversations{min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;padding-bottom:8px;scrollbar-gutter:stable}.view-chat .chat-main{height:100%;min-height:0;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}.view-chat .chat-messages{min-height:0;height:auto;max-height:none;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;padding:clamp(16px,2vw,28px);gap:16px}.view-chat .chat-compose{min-width:0;flex:0 0 auto}}
.chat-bubble{max-width:min(70%,680px);min-width:0;gap:9px}.chat-bubble>div{min-width:0;max-width:100%;padding:9px 12px}.chat-bubble small{line-height:1.35}.chat-bubble p{overflow-wrap:anywhere;word-break:normal}.chat-card{width:min(440px,100%);min-width:0;max-width:100%}.chat-card *{min-width:0}.chat-compose{min-width:0;align-items:flex-end}.chat-compose textarea{min-width:0;min-height:46px!important;height:46px;max-height:120px;overflow-y:auto;resize:none}.chat-compose .chat-attach,.chat-compose .chat-schedule-button,.chat-compose .orange-btn{align-self:flex-end}
@media (max-height:820px) and (min-width:651px){.app>main>header{margin-bottom:13px}.view-chat .chat-sidebar{padding:12px}.view-chat .chat-main-head{padding:12px 16px}.view-chat .chat-messages{padding:14px 18px;gap:12px}.view-chat .chat-compose{padding:10px 12px}}
@media (max-width:1000px) and (min-width:651px){.app{grid-template-columns:210px minmax(0,1fr);gap:10px;padding:10px}.app>main{height:calc(100vh - 20px);padding:14px 0 0}.view-chat .chat-shell{grid-template-columns:minmax(220px,250px) minmax(0,1fr)}}

/* Scheduling progress stays compact and wraps inside the existing panel. */
.schedule-request-summary{margin-bottom:14px}.schedule-request-summary #requests{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:12px}.schedule-request-card{min-width:0;display:grid;gap:5px;padding:12px;border:1px solid #f0ded2;border-radius:13px;background:#fffaf6;color:#614f45;text-align:left;cursor:pointer}.schedule-request-card:hover{border-color:#ebaa80;background:#fff5ed}.schedule-request-card b{font-size:13px}.schedule-request-card span,.schedule-request-card em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#957e70;font-size:11px;font-style:normal}.schedule-manager-actions,.schedule-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.schedule-quick-actions button{height:34px;border:1px solid #efd6c5;border-radius:9px;background:#fff8f3;color:#bc6437;padding:0 10px;font:700 12px inherit;cursor:pointer}.schedule-quick-actions button:hover{background:#fff0e5}.schedule-summary{margin-top:16px}.schedule-manager-actions .ghost{height:36px;padding:0 10px;font-size:12px}
@media(max-width:760px){.schedule-request-summary #requests{grid-template-columns:1fr}.schedule-quick-actions{gap:6px}.schedule-quick-actions button{font-size:11px;padding:0 8px}}

/* Structured business messages: card and time sit beside the avatar instead
   of being nested inside the standard green/white text bubble. */
.chat-bubble.business-message{width:min(420px,calc(100% - 46px));max-width:min(420px,calc(100% - 46px));gap:10px;align-items:flex-start}.chat-bubble.business-message.mine{align-self:flex-end}.chat-bubble.business-message>.business-card-stack{width:100%;min-width:0;display:grid;gap:5px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.business-message-time{display:block;padding:0 2px;color:#a99d96;font-size:10px;line-height:1.35}.chat-bubble.business-message.mine .business-message-time{text-align:right}.chat-bubble.business-message>img{width:34px;height:34px;border-radius:11px}.chat-card.business-card{width:100%;max-width:100%;min-width:0;margin:0;padding:14px;border:1px solid #eadfd7!important;border-radius:15px!important;background:#fffdfb!important;box-shadow:0 2px 10px rgba(89,64,47,.045)!important;color:#493b34}.chat-card.business-card:hover{border-color:#e8b691!important;box-shadow:0 4px 14px rgba(133,82,49,.08)!important}.business-card-head{display:flex;align-items:center;gap:9px;min-width:0}.business-card-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#fff0e3;color:#dc783d;font-size:18px}.business-card-head>div{min-width:0;display:grid;gap:2px}.business-card-head b{font-size:14px;line-height:1.2}.business-card-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#998981;font-size:11px}.business-status{margin-left:auto;flex:0 0 auto;border-radius:99px;background:#fff0e5;color:#c76a37;padding:4px 8px;font-size:10px;font-style:normal;font-weight:800;line-height:1.2}.business-date-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:11px 12px;border-radius:10px;background:#f8f4f1;color:#4e4038}.business-date-line strong{font-size:13px;line-height:1.35;white-space:nowrap}.business-date-line i{color:#bd9f8e;font-style:normal;font-size:15px}.business-deadline,.business-task,.business-submitted{margin:10px 1px 0;color:#8f8077;font-size:11px;line-height:1.45}.business-deadline span{margin-right:4px;color:#bc8c72}.business-deadline b{color:#6f5e55;font-weight:700}.business-deadline.deadline-alert,.business-deadline.deadline-alert b{color:#cf773e}.business-task{color:#9c8d84}.business-submitted{color:#6d9b76}.business-action{width:100%;height:42px;margin-top:13px;border:1px solid #ee8c51;border-radius:11px;background:linear-gradient(105deg,#ffae6c,#f27a3d);box-shadow:0 5px 11px rgba(224,112,54,.16);color:#fff;font:700 13px inherit;cursor:pointer}.business-action:hover{background:linear-gradient(105deg,#f89b59,#e96b31)}.schedule-invite-card.is-submitted .business-action,.schedule-invite-card.is-confirmed .business-action,.schedule-invite-card.is-locked .business-action,.schedule-invite-card.is-expired .business-action{border-color:#ead7ca;background:#fffaf6;box-shadow:none;color:#a06445}.schedule-invite-card.is-submitted .business-status,.schedule-invite-card.is-confirmed .business-status,.schedule-invite-card.is-locked .business-status{background:#eaf5ed;color:#4b8c62}.schedule-invite-card.is-expired .business-status{background:#f9ece9;color:#bc6f60}.schedule-invite-card.is-urgent .business-status{background:#fff0e2;color:#d2743a}
@media(max-width:760px){.chat-bubble.business-message{width:min(420px,calc(100% - 38px));max-width:min(420px,calc(100% - 38px));gap:8px}.chat-bubble.business-message>img{width:30px;height:30px;border-radius:9px}.chat-card.business-card{padding:12px}.business-date-line{padding:10px;gap:5px}.business-date-line strong{font-size:12px}.business-status{padding:4px 6px;font-size:9px}}

/* Desktop IM refinement: familiar chat mechanics in the existing warm brand. */
.view-chat .chat-messages{background:#f6f5f3!important;padding:clamp(20px,2.5vw,38px);gap:13px}.chat-time-divider{align-self:stretch;margin:3px 0 1px;text-align:center;color:#aaa19b;font-size:11px;line-height:18px}.chat-bubble:not(.business-message){width:fit-content;max-width:min(60%,520px);gap:9px;align-items:flex-start}.chat-bubble:not(.business-message).mine{align-self:flex-end}.chat-bubble:not(.business-message)>div{width:fit-content!important;min-width:0!important;max-width:100%!important;padding:9px 12px!important;border:0!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important}.chat-bubble:not(.business-message).mine>div{background:#b9dca2!important;border-color:#b9dca2!important}.chat-bubble:not(.business-message)>div:before{content:"";position:absolute;left:-5px;top:10px;width:10px;height:10px;background:#fff;transform:rotate(45deg);z-index:0}.chat-bubble:not(.business-message).mine>div:before{left:auto;right:-5px;background:#b9dca2}.chat-bubble:not(.business-message)>div>*{position:relative;z-index:1}.chat-bubble:not(.business-message) p{margin:0!important;color:#28231f!important;font-size:14px!important;font-weight:400;line-height:1.6!important;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble:not(.business-message)>img{width:36px;height:36px;border-radius:11px}.chat-bubble.chat-same-sender{margin-top:-7px}.chat-bubble.chat-same-sender>img{visibility:hidden}.chat-bubble.business-message{width:min(340px,calc(100% - 46px));max-width:min(340px,calc(100% - 46px));margin-top:2px}.business-card-stack{gap:0!important}.chat-card.business-card{padding:14px!important;background:#fffdfc!important}.business-message-time{display:none!important}.business-action{height:40px!important;border-radius:9px!important;margin-top:12px!important}.business-date-line{margin-top:12px!important;padding:0!important;border-radius:0!important;background:transparent!important}.business-date-line strong{font-size:14px!important}.business-deadline{margin-top:10px!important}.business-task{margin-top:5px!important}.chat-conversation{position:relative;padding-right:46px!important}.chat-conversation.active{background:#eeeae6!important}.chat-conversation:hover{background:#ebe8e5!important}.chat-conversation .conversation-time{position:absolute;right:9px;top:10px;color:#a59b94;font-size:10px;line-height:1;white-space:nowrap}.chat-conversation span small{padding-right:3px}
.chat-compose{position:relative!important;display:grid!important;grid-template-columns:44px 54px minmax(0,1fr)!important;grid-template-rows:40px minmax(88px,auto)!important;gap:0 8px!important;padding:8px 14px 10px!important;background:#fff!important;border-top:1px solid #e7e2de!important}.chat-compose .chat-attach,.chat-compose .chat-schedule-button{width:auto!important;height:34px!important;min-width:0!important;grid-row:1;align-self:center;border:0!important;border-radius:7px!important;background:transparent!important;color:#756960!important;font-size:0!important}.chat-compose .chat-attach{grid-column:1}.chat-compose .chat-schedule-button{grid-column:2}.chat-compose .chat-attach:before{content:"＋";font-size:21px;font-weight:400}.chat-compose .chat-attach:after{content:"附件";margin-left:3px;font-size:11px;font-weight:600}.chat-compose .chat-schedule-button:before{content:"▦";font-size:17px}.chat-compose .chat-schedule-button:after{content:"排班";margin-left:3px;font-size:11px;font-weight:600}.chat-compose textarea{grid-column:1/-1!important;grid-row:2!important;min-height:88px!important;height:96px;max-height:160px!important;margin:0!important;padding:8px 84px 8px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#2a2521;font-size:14px;line-height:1.6;resize:none}.chat-compose textarea:focus{box-shadow:none!important}.chat-compose .orange-btn{position:absolute;right:14px;bottom:16px;width:64px;height:34px!important;min-height:34px!important;padding:0!important;border-radius:8px!important;background:linear-gradient(105deg,#ffad6a,#f1783a)!important;box-shadow:none!important;font-size:12px}.chat-compose .orange-btn:hover{background:linear-gradient(105deg,#f89a58,#e76a2f)!important}
@media(max-width:1000px) and (min-width:651px){.view-chat .chat-messages{padding-inline:22px}.chat-bubble:not(.business-message){max-width:66%}}
@media(max-width:760px){.view-chat .chat-messages{padding:16px 14px;gap:12px}.chat-bubble:not(.business-message){max-width:72%;gap:8px}.chat-bubble:not(.business-message)>img{width:32px;height:32px;border-radius:10px}.chat-bubble.business-message{width:min(340px,calc(100% - 40px));max-width:min(340px,calc(100% - 40px))}.chat-compose{padding:7px 10px 9px!important}.chat-compose .orange-btn{right:10px;bottom:14px}.chat-compose textarea{padding-right:76px!important}.business-date-line strong{font-size:12px!important}}

/* Corrective pass: each flow item keeps only its intrinsic height. */
.view-chat .chat-messages{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-content:flex-start!important;gap:10px!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}.view-chat .chat-messages>.chat-bubble,.view-chat .chat-messages>.chat-time-divider{flex:0 0 auto!important;min-height:0!important;height:auto!important}.chat-time-divider{align-self:stretch!important;min-height:0!important;height:auto!important;margin:6px 0 2px!important;padding:0!important;line-height:16px!important}.chat-bubble{margin:0!important;min-height:0!important;height:auto!important}.chat-bubble.chat-same-sender{margin-top:-3px!important}.chat-bubble:not(.business-message){gap:9px!important}.chat-bubble:not(.business-message)>img,.chat-bubble.business-message>img{width:34px!important;height:34px!important;align-self:flex-start!important}.chat-bubble:not(.business-message)>div{padding:8px 11px!important;border-radius:9px!important}.chat-bubble:not(.business-message) p{font-size:14px!important;line-height:1.5!important}.chat-bubble:not(.business-message).mine>div{background:#b2d795!important}.chat-bubble:not(.business-message).mine>div:before{background:#b2d795!important}.chat-bubble.business-message{width:min(330px,calc(100% - 44px))!important;max-width:min(330px,calc(100% - 44px))!important}.chat-card.business-card{padding:14px!important}.business-card-head b{font-size:15px!important}.business-card-head small{font-size:12px!important}.business-date-line strong{font-size:14px!important;font-weight:600}.business-deadline{font-size:12px!important}.business-task{font-size:12px!important}.business-action{height:38px!important;border-color:#e77d3f!important;background:linear-gradient(105deg,#fca062,#ef7438)!important;color:#fff!important;font-size:13px!important;font-weight:600!important}.schedule-invite-card.is-submitted .business-action,.schedule-invite-card.is-confirmed .business-action,.schedule-invite-card.is-locked .business-action,.schedule-invite-card.is-expired .business-action{background:#fffaf6!important;color:#b26337!important;border-color:#eac9b4!important}
.chat-compose{display:grid!important;grid-template-columns:44px 62px minmax(0,1fr) 64px!important;grid-template-rows:34px 70px!important;gap:0 7px!important;height:122px!important;min-height:122px!important;max-height:122px!important;padding:7px 14px 10px!important;overflow:hidden!important}.chat-compose .chat-attach,.chat-compose .chat-schedule-button{grid-row:1!important;align-self:center!important;justify-self:start!important;height:32px!important;position:static!important}.chat-compose .chat-attach{grid-column:1!important}.chat-compose .chat-schedule-button{grid-column:2!important}.chat-compose textarea{grid-column:1/4!important;grid-row:2!important;width:100%!important;height:70px!important;min-height:70px!important;max-height:78px!important;padding:8px 3px!important;align-self:stretch!important;overflow-y:auto!important}.chat-compose .orange-btn{position:static!important;grid-column:4!important;grid-row:2!important;align-self:end!important;justify-self:end!important;width:64px!important;height:34px!important;min-height:34px!important;margin:0 0 7px!important}.chat-compose .chat-attach:after,.chat-compose .chat-schedule-button:after{vertical-align:middle}.chat-paste-preview{bottom:126px!important}
@media(max-width:760px){.view-chat .chat-messages{padding:14px!important;gap:9px!important}.chat-bubble.business-message{width:min(330px,calc(100% - 40px))!important;max-width:min(330px,calc(100% - 40px))!important}.chat-compose{grid-template-columns:42px 58px minmax(0,1fr) 58px!important;height:118px!important;min-height:118px!important;max-height:118px!important;padding:6px 10px 8px!important}.chat-compose textarea{height:68px!important;min-height:68px!important}.chat-compose .orange-btn{width:58px!important;margin-bottom:6px!important}}

/* Message interaction finishing pass: list metadata and composer own their layout. */
.chat-conversation{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;column-gap:10px!important;align-items:center!important;padding:8px!important;padding-right:8px!important;min-width:0!important}
.chat-conversation>.conversation-avatar{grid-column:1;grid-row:1 / span 2}.chat-conversation>.conversation-main{grid-column:2;min-width:0;display:grid;gap:3px}.conversation-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;min-width:0}.conversation-top>b,.conversation-main>small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-top>b{font-size:12px}.conversation-main>small{margin:0!important;font-size:11px!important}.chat-conversation>.conversation-time{position:static!important;inset:auto!important;display:block;white-space:nowrap;font-size:10px!important;line-height:1.2;color:#a59b94!important}.chat-conversation>i{position:static!important;grid-column:3;grid-row:1 / span 2;margin:0!important;align-self:center}

.chat-compose.chat-composer{display:flex!important;flex-direction:column!important;gap:0!important;height:auto!important;min-height:112px!important;max-height:170px!important;padding:6px 14px 10px!important;overflow:visible!important;background:#fff!important}
.chat-composer .composer-toolbar{height:36px;flex:0 0 36px;display:flex;align-items:center;gap:14px;padding:0 0 0 2px}.chat-composer .composer-toolbar .chat-attach,.chat-composer .composer-toolbar .chat-schedule-button{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:auto!important;height:32px!important;min-width:32px!important;margin:0!important;padding:0 6px!important;grid-column:auto!important;grid-row:auto!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#756960!important;font-size:13px!important;line-height:1!important;white-space:nowrap}.chat-composer .composer-toolbar .chat-attach:before,.chat-composer .composer-toolbar .chat-attach:after,.chat-composer .composer-toolbar .chat-schedule-button:before,.chat-composer .composer-toolbar .chat-schedule-button:after{content:none!important}.chat-composer .composer-toolbar .chat-attach:hover,.chat-composer .composer-toolbar .chat-schedule-button:hover{background:#fff3ea!important;color:#d96c35!important}
.chat-composer .composer-editor{position:relative;flex:1 1 auto;min-height:64px}.chat-composer textarea{display:block!important;grid-column:auto!important;grid-row:auto!important;width:100%!important;min-height:64px!important;max-height:120px!important;margin:0!important;padding:8px 82px 12px 14px!important;border:0!important;border-radius:0!important;outline:0!important;box-sizing:border-box!important;background:transparent!important;box-shadow:none!important;color:#2a2521!important;font-size:14px!important;line-height:1.55!important;resize:none!important}.chat-composer textarea:focus{box-shadow:none!important}.chat-composer .orange-btn{position:absolute!important;right:14px!important;bottom:12px!important;display:block!important;grid-column:auto!important;grid-row:auto!important;width:60px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border-radius:8px!important;z-index:1}.chat-composer .orange-btn:disabled{background:#eadfd8!important;color:#a79890!important;cursor:not-allowed}.chat-composer .orange-btn:not(:disabled){background:linear-gradient(105deg,#fca062,#ef7438)!important;color:#fff!important}.chat-composer .chat-paste-preview{bottom:calc(100% + 8px)!important;left:14px!important}

.chat-bubble.recalled-notice{align-self:center!important;display:block!important;width:auto!important;max-width:100%!important;margin:6px 0!important}.chat-bubble.recalled-notice>p{margin:0!important;padding:0!important;color:#a49a94!important;background:transparent!important;font-size:12px!important;line-height:18px!important;text-align:center!important}.chat-bubble.recalled-notice>p:before{display:none!important}.recall-message{display:none!important}.local-delete-note{margin:10px 0 0;color:#75675f;line-height:1.6}
.message-context-menu{position:fixed;z-index:9999;min-width:138px;padding:6px;box-sizing:border-box;border:1px solid #eadfd7;border-radius:9px;background:#fffdfb;box-shadow:0 8px 24px rgba(71,52,40,.12)}.message-context-menu button{display:flex;width:100%;height:36px;align-items:center;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#433833;font:13px/1.2 inherit;text-align:left;cursor:pointer}.message-context-menu button:hover{background:#fff1e7}.message-context-menu button.danger{color:#b85a53}.message-context-menu button.danger:hover{background:#fdf0ed}.message-context-divider{height:1px;margin:5px 4px;background:#eee4de}
@media(max-width:760px){.chat-compose.chat-composer{padding:6px 10px 8px!important}.chat-composer .orange-btn{right:10px!important;bottom:10px!important;width:56px!important}.chat-composer textarea{padding-right:76px!important}.chat-conversation{column-gap:8px!important}}

/* Message page: make the existing desktop IM frame continuous, without a
   second blank column or the global workbench header. */
@media (min-width:651px){
  main.message-page{height:100%!important;min-height:0!important;max-width:none!important;align-self:stretch!important;margin:0!important;padding:0!important;overflow:hidden!important}
  main.message-page>header{display:none!important}
  main.message-page>#content.view-chat{display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
  main.message-page .chat-shell{display:grid!important;grid-template-columns:clamp(240px,20vw,280px) minmax(0,1fr)!important;gap:0!important;column-gap:0!important;row-gap:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:20px!important}
  main.message-page .chat-sidebar{min-width:0!important;margin:0!important;border-right:1px solid #e8e1dc!important;border-radius:0!important}
  main.message-page .chat-main{min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border-left:0!important;border-radius:0!important}
  main.message-page .chat-main-head{height:52px!important;min-height:52px!important;padding:0 16px!important}
  main.message-page .chat-main-head .conversation-avatar{width:32px!important;height:32px!important;border-radius:10px!important}
  main.message-page .chat-sidebar-head{min-height:52px!important;padding:0 14px!important;align-items:center!important}
  main.message-page .chat-sidebar-head h2{margin:0!important;font-size:18px!important}
  main.message-page .chat-list-title{margin:7px 10px 6px!important}
  main.message-page .chat-messages{padding:24px 28px!important}
}

/* Runtime-safe IM layout: the content route, not a navigation side effect,
   owns the two-column frame and the composer flow. */
@media (min-width:651px){
  #content.view-chat{display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
  #content.view-chat .message-workspace{display:grid!important;grid-template-columns:clamp(220px,18vw,240px) minmax(0,1fr)!important;gap:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
  #content.view-chat .conversation-panel{display:grid!important;grid-template-rows:52px auto minmax(0,1fr)!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border-right:1px solid #e5ded9!important}
  #content.view-chat .chat-window{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important}
  #content.view-chat .chat-header{display:flex!important;flex:0 0 52px!important;min-height:52px!important;height:52px!important;margin:0!important;padding:0 18px!important}
  #content.view-chat .chat-body{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:16px 24px 12px!important;overflow-x:hidden!important;overflow-y:auto!important}
  #content.view-chat .chat-composer{display:flex!important;flex:0 0 auto!important;flex-direction:column!important;min-width:0!important;min-height:124px!important;max-height:166px!important;margin:0!important;padding:0!important;overflow:visible!important;border-top:1px solid #e6e1dd!important}
  #content.view-chat .chat-composer .composer-toolbar{display:flex!important;flex:0 0 36px!important;align-items:center!important;gap:12px!important;height:36px!important;margin:0!important;padding:0 14px!important}
  #content.view-chat .chat-composer .composer-editor{position:relative!important;flex:1 1 auto!important;min-width:0!important;min-height:88px!important;margin:0!important;padding:0!important}
  #content.view-chat .chat-composer textarea{display:block!important;width:100%!important;min-height:88px!important;max-height:130px!important;height:88px!important;margin:0!important;padding:10px 84px 14px 14px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;outline:0!important;resize:none!important;background:transparent!important}
  #content.view-chat .chat-composer .orange-btn{position:absolute!important;right:14px!important;bottom:12px!important;width:56px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important}
}

/* Submitted schedules are a single structured message, never a green text
   bubble containing another card. */
.schedule-submission-card .business-card-icon{background:#e9f6ed!important;color:#41895d!important}.schedule-submission-card .business-status{background:#eaf5ed!important;color:#3f865a!important}.submission-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.submission-stats span{min-width:0;padding:8px 4px;border-radius:9px;background:#f8f4f1;color:#88776d;text-align:center;font-size:11px}.submission-stats b{display:block;margin-top:3px;color:#51443c;font-size:16px}
.chat-bubble>.chat-message-assistant-avatar{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;border:0!important;border-radius:10px!important;background:linear-gradient(145deg,#ff9a57,#f27737)!important;color:#fff!important;box-shadow:none!important;font-size:17px!important;line-height:1!important}
.chat-bubble>img.chat-message-assistant-avatar{display:block!important;object-fit:cover!important;background:#fff2e8!important}

/* Composer actions are one visual family: emoji, media and scheduling. */
.message-page .chat-composer,#content.view-chat .chat-composer{position:relative!important}.message-page .chat-composer .composer-toolbar .composer-action,#content.view-chat .chat-composer .composer-toolbar .composer-action{display:inline-flex!important;position:static!important;align-items:center!important;justify-content:center!important;gap:5px!important;width:auto!important;min-width:32px!important;height:30px!important;margin:0!important;padding:0 6px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#73675f!important;font:13px/1 inherit!important;white-space:nowrap!important;cursor:pointer!important}.message-page .chat-composer .composer-toolbar .composer-action:hover,#content.view-chat .chat-composer .composer-toolbar .composer-action:hover{background:#fff1e7!important;color:#d76d36!important}.message-page .chat-composer .media-action{font-size:12px!important}.message-page .chat-composer .chat-emoji-button{font-size:20px!important;padding:0 4px!important}.message-page .chat-composer .chat-attach input{display:none!important}
.chat-upload-preview{position:absolute;z-index:8;left:14px;bottom:calc(100% + 8px);display:flex;max-width:min(600px,calc(100% - 28px));gap:8px;padding:9px;border:1px solid #e8ded7;border-radius:12px;background:#fffdfb;box-shadow:0 9px 26px rgba(74,55,43,.13);overflow-x:auto}.chat-upload-item{position:relative;display:grid;grid-template-rows:58px auto;gap:4px;flex:0 0 78px;min-width:0}.chat-upload-item img,.chat-upload-item video{width:78px;height:58px;object-fit:cover;border-radius:7px;background:#eee8e3}.chat-upload-item i{position:absolute;left:5px;bottom:21px;border-radius:4px;background:#0009;color:#fff;padding:2px 4px;font-size:10px;font-style:normal}.chat-upload-item small{overflow:hidden;color:#776a62;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.chat-upload-item button{position:absolute;top:-5px;right:-5px;z-index:1;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#635850;color:#fff;font-size:14px;line-height:17px;cursor:pointer}.chat-window.chat-drop-active{position:relative}.chat-window.chat-drop-active:after{content:'松开即可添加图片或视频';position:absolute;z-index:9;inset:52px 0 0;display:grid;place-items:center;border:2px dashed #e68651;background:rgba(255,248,242,.9);color:#c85e2f;font-size:15px;pointer-events:none}
.chat-emoji-picker{position:absolute;z-index:10;bottom:calc(100% + 8px);left:14px;width:min(520px,calc(100vw - 56px));padding:14px;border:1px solid #e6ddd7;border-radius:14px;background:#fffdfb;box-shadow:0 10px 28px rgba(74,55,43,.15)}.emoji-picker-title{margin:0 0 9px;color:#8d7e75;font-size:13px}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-height:300px;overflow:auto}.emoji-picker-grid button{width:100%;height:44px;border:0;border-radius:9px;background:transparent;font-size:28px;line-height:1;cursor:pointer}.emoji-picker-grid button:hover{background:#fff0e5}

/* Group chat: lightweight WeChat-style composite avatars and member controls. */
.conversation-avatar.group-avatar,.group-info-avatar.group-avatar{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:1px;padding:2px;overflow:hidden;background:#ece7e2;color:#fff}.conversation-avatar.group-avatar img,.group-info-avatar.group-avatar img{display:block!important;width:100%!important;height:100%!important;min-width:0;object-fit:cover;border-radius:2px}.conversation-avatar.assistant-avatar{object-fit:cover;background:#fff}.chat-main-head .group-member-count{display:block;margin-top:2px;color:#9c8d83;font-size:12px;font-weight:400}.group-info-btn{margin-left:auto;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#796d65;font-size:19px;line-height:1;letter-spacing:1px;cursor:pointer}.group-info-btn:hover{background:#fff0e5;color:#e98242}.group-info-summary{display:flex;align-items:center;gap:12px;margin-bottom:16px}.group-info-avatar{width:54px!important;height:54px!important;flex:0 0 54px;border-radius:13px!important}.group-info-summary b{display:block;color:#40362f;font-size:16px}.group-info-summary small{display:block;margin-top:4px;color:#9c8d83}.group-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:13px 10px}.group-member-tile{min-width:0;text-align:center}.group-member-tile img{width:42px;height:42px;border-radius:10px;object-fit:cover}.group-member-tile span{display:block;overflow:hidden;margin-top:4px;color:#665a52;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.group-info-divider{height:1px;margin:18px 0;background:#f0e7e1}.group-action-title{margin-bottom:9px;color:#6e6057;font-weight:700;font-size:13px}.group-invite-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.group-invite-list label{display:flex;align-items:center;gap:7px;min-width:0;padding:8px;border:1px solid #f0e4dc;border-radius:10px;background:#fffaf7;cursor:pointer}.group-invite-list input{accent-color:#ef8b48}.group-invite-list img{width:28px;height:28px;border-radius:8px;object-fit:cover}.group-invite-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#544940;font-size:13px}.group-empty-note{margin:0;color:#9c8d83;font-size:13px}.modal-foot-spacer{flex:1}.group-mention-picker{position:absolute;z-index:12;bottom:calc(100% + 7px);left:12px;display:grid;min-width:210px;max-width:min(310px,calc(100vw - 48px));padding:7px;border:1px solid #e9dfd9;border-radius:11px;background:#fffdfb;box-shadow:0 10px 26px rgba(75,56,44,.16)}.group-mention-picker>small{padding:3px 7px 5px;color:#9c8d83;font-size:12px}.group-mention-picker button{display:flex;align-items:center;gap:8px;width:100%;min-width:0;padding:6px 7px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.group-mention-picker button:hover{background:#fff1e7}.group-mention-picker img{width:28px;height:28px;border-radius:8px;object-fit:cover}.group-mention-picker span{overflow:hidden;color:#50453e;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
@media(max-width:640px){.chat-emoji-picker{left:8px;width:calc(100vw - 28px)}.emoji-picker-grid{gap:4px}.emoji-picker-grid button{height:40px;font-size:25px}.group-member-grid{grid-template-columns:repeat(4,1fr)}}

/* Current schedule flow does not use an individual leave-day allowance. */
.design-picker-row .balance-input{display:none!important}

/* Keep the emoji set consistent even when the main UI typeface has no color glyphs. */
.chat-emoji-picker,.chat-emoji-picker button{font-family:"Segoe UI Emoji","Segoe UI Symbol","Apple Color Emoji","Noto Color Emoji",sans-serif!important;font-variant-emoji:emoji}.emoji-picker-grid button{font-size:30px!important}

/* Media messages deliberately sit outside text bubbles, like desktop IM attachments. */
.chat-bubble.media-message>div,.chat-bubble.emoji-message>div{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.chat-bubble.media-message>div>small,.chat-bubble.emoji-message>div>small{display:none!important}.chat-bubble.media-message .chat-media{display:flex;flex-wrap:wrap;gap:8px}.chat-bubble.media-message .media-preview-trigger{position:relative;display:block;overflow:hidden;max-width:min(360px,70vw);padding:0;border:0;border-radius:7px;background:transparent;cursor:zoom-in}.chat-bubble.media-message .media-preview-trigger img,.chat-bubble.media-message .media-preview-trigger video{display:block;max-width:min(360px,70vw);max-height:280px;width:auto;height:auto;object-fit:contain;border-radius:7px;background:#e9e5e1}.chat-bubble.media-message .media-preview-trigger i{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:42px;height:42px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(27,24,22,.62);color:#fff;font-style:normal;font-size:18px}.chat-bubble.emoji-message .emoji-only{margin:0!important;padding:0!important;background:transparent!important;font-size:44px!important;line-height:1.14!important;letter-spacing:2px}.chat-bubble.emoji-message .emoji-only:before{display:none!important}
.message-page .chat-composer .composer-toolbar .icon-control,#content.view-chat .chat-composer .composer-toolbar .icon-control{width:38px!important;min-width:38px!important;height:34px!important;padding:0!important;border-radius:8px!important}.message-page .chat-composer .composer-toolbar .icon-control svg,#content.view-chat .chat-composer .composer-toolbar .icon-control svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}.message-page .chat-composer .composer-toolbar .chat-emoji-button svg{stroke-width:1.8!important}.message-page .chat-composer .composer-toolbar .icon-control:hover{background:#f0f0f0!important;color:#3f3a36!important}
.group-invite-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.group-invite-list label{display:grid!important;grid-template-columns:18px 30px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;min-height:48px!important;padding:8px 10px!important}.group-invite-list input{width:16px!important;height:16px!important;margin:0!important}.group-invite-list img{width:30px!important;height:30px!important}.group-invite-list span{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;word-break:break-all!important;line-height:1.35!important}
.media-viewer{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:30px;box-sizing:border-box}.media-viewer-mask{position:absolute;inset:0;background:rgba(31,28,25,.7);backdrop-filter:blur(4px)}.media-viewer-panel{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:min(720px,90vw);max-width:min(1200px,94vw);width:max-content;max-height:92vh;min-height:300px;overflow:hidden;border-radius:14px;background:#22201e;box-shadow:0 24px 70px rgba(0,0,0,.35)}.media-viewer-panel header{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:0 14px 0 18px;background:#2c2927;color:#f5f1ed}.media-viewer-panel header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.media-viewer-panel header div{display:flex;align-items:center;gap:4px}.media-viewer-panel header button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:#eee7e2;font-size:18px;cursor:pointer}.media-viewer-panel header button:hover{background:#494440}.media-viewer-stage{display:grid;min-width:min(680px,86vw);min-height:260px;place-items:center;overflow:auto;background:#1c1a19}.media-viewer-stage img,.media-viewer-stage video{display:block;max-width:88vw;max-height:72vh;object-fit:contain;transform-origin:center;transition:transform .12s ease}.media-viewer-stage video{width:min(900px,88vw)}.media-editor-tools{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#2c2927}.media-editor-tools button{height:32px;padding:0 11px;border:1px solid #524c47;border-radius:7px;background:#393532;color:#f7eee9;font-size:12px;cursor:pointer}.media-editor-tools button:hover{border-color:#f19b61;background:#4b4039}.media-forward-list{display:grid;gap:7px;max-height:390px;overflow:auto}.media-forward-list label{display:flex;align-items:center;gap:9px;min-width:0;padding:8px;border:1px solid #eee4de;border-radius:10px;cursor:pointer}.media-forward-list label:hover{background:#fff6f0}.media-forward-list input{accent-color:#ef8b48}.media-forward-list .forward-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:9px}.media-forward-list span{display:grid;min-width:0;gap:2px}.media-forward-list b{overflow:hidden;color:#483d36;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.media-forward-list small{color:#9a8d84;font-size:11px}
@media(max-width:760px){.group-invite-list{grid-template-columns:1fr!important}.chat-bubble.media-message .media-preview-trigger img,.chat-bubble.media-message .media-preview-trigger video{max-width:68vw}.media-viewer{padding:12px}.media-viewer-panel{min-width:0;width:100%;max-width:100%;max-height:96vh}.media-viewer-stage{min-width:0}.media-viewer-stage img,.media-viewer-stage video{max-width:94vw;max-height:70vh}.media-viewer-panel header{padding-left:12px}.media-editor-tools{flex-wrap:wrap}}

/* Keep a captioned attachment readable; only attachment-only messages lose the bubble. */
.chat-bubble.media-only>div{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.chat-bubble.media-only>div>small{display:none!important}.chat-bubble.media-message .chat-media{margin-top:7px}.chat-bubble.media-only .chat-media{margin-top:0}
.chat-bubble.media-message:not(.media-only)>div{padding:8px 11px!important;background:#fff!important}.chat-bubble.mine.media-message:not(.media-only)>div{background:#95ec69!important}

/* Final media pass: preserve the original picture ratio and use a clean white viewer. */
.message-page .chat-bubble>img{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;border-radius:11px!important}.chat-bubble.media-message .media-preview-trigger,.chat-bubble.media-message .media-preview-trigger.compact{width:fit-content!important;height:fit-content!important;max-width:min(300px,62vw)!important;max-height:230px!important;overflow:visible!important;border:0!important;background:transparent!important}.chat-bubble.media-message .media-preview-trigger img,.chat-bubble.media-message .media-preview-trigger video{width:auto!important;height:auto!important;max-width:min(300px,62vw)!important;max-height:230px!important;object-fit:contain!important;border-radius:7px!important;background:transparent!important}
.chat-bubble.emoji-message>div{display:grid!important;place-items:center!important;width:52px!important;min-width:52px!important;height:46px!important;min-height:46px!important;padding:0!important;border-radius:6px!important;background:#fff!important}.chat-bubble.mine.emoji-message>div{background:#95ec69!important}.chat-bubble.emoji-message .emoji-only{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;font-size:29px!important;line-height:1!important;letter-spacing:0!important}
#modal{z-index:10040!important}.media-context-menu{position:fixed;z-index:10060;min-width:132px;padding:6px;border:1px solid #e5ded8;border-radius:9px;background:#fff;box-shadow:0 10px 28px rgba(49,41,35,.18)}.media-context-menu button{display:block;width:100%;height:34px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#463b35;text-align:left;font:13px/1 inherit;cursor:pointer}.media-context-menu button:hover{background:#fff1e7;color:#d86c36}
.media-viewer{z-index:10020!important}.media-viewer-mask{background:rgba(28,27,25,.52)!important}.media-viewer-panel{width:min(1120px,92vw)!important;min-width:0!important;max-width:92vw!important;max-height:92vh!important;border:1px solid #ebe6e1!important;border-radius:14px!important;background:#fff!important;box-shadow:0 24px 70px rgba(0,0,0,.25)!important}.media-viewer-panel header{min-height:50px!important;padding:0 12px 0 16px!important;background:#fff!important;color:#3e3530!important;border-bottom:1px solid #eee9e5}.media-viewer-panel header button{margin-left:auto!important;color:#716760!important}.media-viewer-panel header button:hover{background:#f4f1ef!important}.media-viewer-stage{min-width:0!important;min-height:240px!important;max-height:calc(92vh - 100px)!important;background:#f6f5f3!important}.media-viewer-stage img,.media-viewer-stage video{max-width:86vw!important;max-height:72vh!important;object-fit:contain!important}.media-zoom-tools{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:7px;background:#fff;border-top:1px solid #eee9e5}.media-zoom-tools button{display:grid;place-items:center;width:30px;height:28px;border:1px solid #e4ddd8;border-radius:6px;background:#fff;color:#625750;font-size:18px;line-height:1;cursor:pointer}.media-zoom-tools button:hover{border-color:#e69a6a;background:#fff4ec;color:#d96d36}.media-zoom-tools span{min-width:48px;color:#7f736c;font-size:12px;text-align:center}
.media-forward-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;max-height:390px!important;padding:2px!important;overflow:auto!important}.media-forward-list label{display:grid!important;grid-template-columns:18px 36px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;min-height:52px!important;padding:8px 10px!important}.media-forward-list input{width:16px!important;height:16px!important;margin:0!important}.media-forward-list .forward-avatar{width:36px!important;height:36px!important;min-width:36px!important;margin:0!important}.media-forward-list span{min-width:0!important}.media-forward-list b,.media-forward-list small{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;word-break:break-all!important;line-height:1.3!important}
@media(max-width:760px){.message-page .chat-bubble>img{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}.chat-bubble.media-message .media-preview-trigger,.chat-bubble.media-message .media-preview-trigger.compact{max-width:68vw!important}.chat-bubble.media-message .media-preview-trigger img,.chat-bubble.media-message .media-preview-trigger video{max-width:68vw!important}.media-forward-list{grid-template-columns:1fr!important}.media-viewer-panel{width:96vw!important;max-width:96vw!important}.media-viewer-stage img,.media-viewer-stage video{max-width:92vw!important}}

/* One compact media frame; the image itself owns the available width. */
.media-viewer-panel{width:fit-content!important;max-width:90vw!important;min-height:0!important;grid-template-rows:auto auto auto!important}.media-viewer-panel header{justify-content:space-between!important}.media-viewer-panel header>div{display:flex!important;align-items:center!important;gap:3px!important}.media-viewer-panel header>div button{margin-left:0!important}.media-viewer-stage{display:grid!important;width:fit-content!important;max-width:90vw!important;min-width:0!important;min-height:0!important;max-height:calc(88vh - 94px)!important;overflow:hidden!important;cursor:default!important}.media-viewer-stage img{display:block!important;width:auto!important;height:auto!important;max-width:88vw!important;max-height:calc(88vh - 102px)!important;transform-origin:center!important;will-change:transform}.media-viewer-stage img.is-draggable{cursor:grab}.media-viewer-stage img.is-draggable:active{cursor:grabbing}.media-zoom-tools button.active{border-color:#e58b56!important;background:#fff0e5!important;color:#c95e2d!important}
.message-page .chat-bubble:not(.business-message).mine>div{background:#95ec69!important;border-color:#95ec69!important}.message-page .chat-bubble:not(.business-message).mine>div:before{background:#95ec69!important}.message-page .chat-bubble.mine.emoji-message>div{background:#95ec69!important}
@media(max-width:760px){.media-viewer-panel{width:fit-content!important;max-width:96vw!important}.media-viewer-stage{max-width:96vw!important}.media-viewer-stage img{max-width:94vw!important;max-height:calc(90vh - 102px)!important}}

/* Message workspace v2: the render tree is intentionally just two columns
   and one full-height IM window.  These rules replace old card/grid styling. */
@media (min-width:651px){
  main.message-page{height:100%!important;min-height:0!important;align-self:stretch!important;padding:0!important;margin:0!important;overflow:hidden!important}
  main.message-page>header{display:none!important}
  main.message-page>#content.view-chat{display:block!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
  .message-page .message-workspace{display:grid!important;grid-template-columns:clamp(220px,18vw,240px) minmax(0,1fr)!important;gap:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid #e8e1dc!important;border-radius:18px!important;background:#f6f3f0!important}
  .message-page .conversation-panel{display:grid!important;grid-template-rows:52px auto minmax(0,1fr)!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-right:1px solid #e5ded9!important;border-radius:0!important;background:#f5f1ee!important}
  .message-page .conversation-header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-height:52px!important;height:52px!important;margin:0!important;padding:0 14px!important;border:0!important;background:transparent!important}
  .message-page .conversation-header h2{margin:0!important;font-size:18px!important;line-height:1!important;color:#362f2a!important}
  .message-page .conversation-header .round{width:30px!important;height:30px!important;border-radius:7px!important}
  .message-page .chat-sidebar-actions{display:flex!important;align-items:center!important;gap:5px!important}
  .message-page .chat-list-title{display:flex!important;justify-content:space-between!important;margin:0!important;padding:8px 14px 6px!important;font-size:11px!important;line-height:16px!important;color:#90847c!important}
  .message-page .conversation-list{display:grid!important;align-content:start!important;gap:2px!important;min-width:0!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0 8px 8px!important;overflow-x:hidden!important;overflow-y:auto!important}
  .message-page .chat-window{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;background:#f5f5f3!important}
  .message-page .chat-header{display:flex!important;flex:0 0 52px!important;align-items:center!important;min-height:52px!important;height:52px!important;gap:10px!important;margin:0!important;padding:0 18px!important;border:0!important;border-bottom:1px solid #e6e1dd!important;border-radius:0!important;background:#fffdfb!important}
  .message-page .chat-header .conversation-avatar{width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:9px!important}
  .message-page .chat-header h3{margin:0!important;color:#302923!important;font-size:15px!important;font-weight:650!important;line-height:1.3!important}
  .message-page .chat-header .soft-btn{margin-left:auto!important}
  .message-page .chat-body{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;justify-content:flex-start!important;min-width:0!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:16px 24px 12px!important;overflow-x:hidden!important;overflow-y:auto!important;background:#f5f5f3!important}
  .message-page .chat-empty-state{display:grid!important;place-content:center!important;flex:1 1 auto!important;min-height:0!important;text-align:center!important;color:#a29993!important}
  .message-page .chat-empty-state p{margin:0!important;font-size:14px!important}.message-page .chat-empty-state small{margin-top:5px!important;font-size:12px!important;color:#b3aaa4!important}
  .message-page .chat-composer{display:flex!important;flex:0 0 auto!important;flex-direction:column!important;min-width:0!important;min-height:124px!important;max-height:166px!important;height:auto!important;gap:0!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-top:1px solid #e6e1dd!important;border-radius:0!important;background:#fffdfb!important;box-shadow:none!important}
  .message-page .chat-composer .composer-toolbar{display:flex!important;flex:0 0 36px!important;align-items:center!important;gap:12px!important;height:36px!important;margin:0!important;padding:0 14px!important;border:0!important;background:transparent!important}
  .message-page .chat-composer .composer-toolbar .chat-attach,.message-page .chat-composer .composer-toolbar .chat-schedule-button{display:inline-flex!important;position:static!important;align-items:center!important;justify-content:center!important;gap:4px!important;align-self:center!important;width:auto!important;min-width:30px!important;height:30px!important;margin:0!important;padding:0 5px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:#73675f!important;font-size:13px!important;line-height:1!important;white-space:nowrap!important}
  .message-page .chat-composer .composer-toolbar .chat-attach:hover,.message-page .chat-composer .composer-toolbar .chat-schedule-button:hover{background:#fff1e7!important;color:#d76d36!important}
  .message-page .chat-composer .composer-editor{position:relative!important;flex:1 1 auto!important;min-width:0!important;min-height:88px!important;margin:0!important;padding:0!important}
  .message-page .chat-composer textarea{display:block!important;width:100%!important;min-height:88px!important;max-height:130px!important;height:88px!important;margin:0!important;padding:10px 84px 14px 14px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;outline:0!important;resize:none!important;background:transparent!important;box-shadow:none!important;color:#302923!important;font-size:14px!important;line-height:1.6!important}
  .message-page .chat-composer .orange-btn{position:absolute!important;right:14px!important;bottom:12px!important;display:block!important;width:56px!important;height:32px!important;min-height:32px!important;margin:0!important;padding:0!important;border-radius:7px!important;box-shadow:none!important;font-size:12px!important}
  .message-page .chat-composer .orange-btn:disabled{background:#e9e2dc!important;color:#a49a93!important}.message-page .chat-composer .orange-btn:not(:disabled){background:#ef8749!important;color:#fff!important}
  .message-page .chat-paste-preview{left:14px!important;bottom:calc(100% + 8px)!important}
  .message-page .chat-bubble.business-message{width:min(420px,calc(100% - 44px))!important;max-width:min(420px,calc(100% - 44px))!important}
}

/* Desktop image viewer: a generous white canvas, not a small card. */
.message-page .chat-bubble.media-message>div,.message-page .chat-bubble.media-message.mine>div{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.message-page .chat-bubble.media-message>div:before{display:none!important}
.media-viewer{padding:3vh 4vw!important}
.media-viewer-panel{display:grid!important;width:min(1320px,92vw)!important;height:min(920px,90vh)!important;min-width:0!important;min-height:0!important;max-width:92vw!important;max-height:90vh!important;grid-template-rows:50px minmax(0,1fr) 43px!important;border-radius:12px!important;background:#fff!important}
.media-viewer-panel header{min-height:50px!important;height:50px!important;padding:0 14px 0 18px!important;background:#fff!important}
.media-viewer-panel header div{margin-left:auto!important}
.media-viewer-panel header button{width:32px!important;height:32px!important;margin:0!important}
.media-viewer-stage{display:grid!important;width:100%!important;min-width:0!important;min-height:0!important;height:100%!important;max-width:none!important;max-height:none!important;place-items:center!important;overflow:hidden!important;background:#fff!important;touch-action:none!important}
.media-viewer-stage img{display:block!important;width:auto!important;height:auto!important;max-width:calc(100% - 44px)!important;max-height:calc(100% - 18px)!important;object-fit:contain!important;transform-origin:center!important;transition:transform .08s linear!important;will-change:transform!important}
.media-viewer-stage img.is-draggable{cursor:grab!important}.media-viewer-stage img.is-draggable:active{cursor:grabbing!important}
.media-zoom-tools{min-height:43px!important;height:43px!important;padding:7px!important;background:#fff!important}
.media-viewer-mask{background:rgba(34,31,29,.48)!important}

/* Full screen deliberately opens the whole white image canvas. */
.media-viewer:fullscreen,.media-viewer.is-fullscreen{width:100vw!important;height:100vh!important;inset:0!important;padding:0!important;background:#fff!important}
.media-viewer:fullscreen .media-viewer-mask,.media-viewer.is-fullscreen .media-viewer-mask{background:#fff!important;backdrop-filter:none!important}
.media-viewer:fullscreen .media-viewer-panel,.media-viewer.is-fullscreen .media-viewer-panel{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;grid-template-rows:50px minmax(0,1fr) 43px!important}
.media-viewer:fullscreen .media-viewer-stage,.media-viewer.is-fullscreen .media-viewer-stage{width:100vw!important;height:100%!important;max-width:none!important;max-height:none!important}
.media-viewer:fullscreen .media-viewer-stage img,.media-viewer.is-fullscreen .media-viewer-stage img{max-width:calc(100vw - 72px)!important;max-height:calc(100vh - 112px)!important}

@media(max-width:760px){
  .media-viewer{padding:0!important}.media-viewer-panel{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0!important}.media-viewer-stage img{max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 110px)!important}
}

/* V5 stabilization: personal dashboard, predictable page scrolling and a
   vertical organization console.  Chat owns its existing local scroll areas. */
main:not(.message-page){min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
#content.view-logs{min-height:0;padding-bottom:12px}.view-logs .table-wrap{max-height:none;overflow:auto;overscroll-behavior:contain}.view-logs .data-table{min-width:760px}
.personal-desktop-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px;padding:24px 26px;border:1px solid #fff;border-radius:22px;background:linear-gradient(115deg,#fffaf5,#fff0e1);box-shadow:0 10px 28px rgba(202,122,71,.09)}.personal-desktop-head h2{margin:4px 0 5px;font-size:25px}.personal-desktop-head p:not(.eyebrow){margin:0;color:#947b6d}.personal-desktop-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;align-items:start}.personal-card{grid-column:span 4;min-width:0;padding:18px;border:1px solid #f2e4da;border-radius:18px;background:#fffdfa;box-shadow:0 7px 20px rgba(139,92,58,.07);transition:border-color .15s ease,box-shadow .15s ease}.personal-card:hover{border-color:#efc4a8;box-shadow:0 10px 24px rgba(139,92,58,.11)}.personal-card.is-dragging{opacity:.46}.work-status-card,.week-card{grid-column:span 6}.profile-card{grid-column:span 4}.personal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.personal-card-head h3{margin:4px 0 0;font-size:17px}.card-drag{color:#b49b8c;font-size:18px;line-height:1;cursor:grab;user-select:none}.work-status-main{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 14px}.work-status-main b{font-size:30px;letter-spacing:-.05em;color:#51392f}.work-status-main span,.status-next{color:#987d6e;font-size:12px}.status-next{padding-top:12px;border-top:1px solid #f1e5dc}.personal-timeline{display:grid;gap:13px;margin:20px 0}.personal-timeline>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px}.personal-timeline i{width:8px;height:8px;border-radius:50%;background:#ef9857}.personal-timeline span{color:#8f796b}.personal-timeline b{font-size:13px}.personal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0}.personal-week>div{min-width:0;padding:9px 3px;border-radius:10px;background:#faf5f1;text-align:center}.personal-week>div.is-today{background:#fff0e3;box-shadow:inset 0 0 0 1px #f4b27f}.personal-week small,.personal-week span{display:block;overflow:hidden;color:#9b8476;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.personal-week b{display:block;margin:3px 0;color:#513c32;font-size:17px}.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.dashboard-shortcuts button{min-width:0;padding:14px 7px;border:1px solid #f0e2d8;border-radius:12px;background:#fff8f3;color:#704f3f;cursor:pointer}.dashboard-shortcuts button:hover{border-color:#eda46d;background:#fff2e7}.dashboard-shortcuts i{display:block;margin-bottom:5px;font-size:18px;font-style:normal}.dashboard-profile{display:flex;align-items:center;gap:12px;margin:20px 0}.dashboard-profile img{width:54px;height:54px;border-radius:15px;object-fit:cover;background:#fff1e5}.dashboard-profile b,.dashboard-profile span{display:block}.dashboard-profile span{margin-top:4px;color:#977d6e;font-size:12px}.text-link{margin-top:6px;padding:0;border:0;background:transparent;color:#d9783c;font:inherit;cursor:pointer}.dashboard-setting-tip{margin-top:0;color:#937b6d}.dashboard-setting-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-setting-list label{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid #f0e3da;border-radius:10px;background:#fffaf7}.dashboard-setting-list input{width:16px;height:16px}
.organization-tree-wrap{max-height:min(66vh,680px);padding:14px 0 0;overflow:auto}.org-department-list{display:grid;gap:10px}.org-department{border:1px solid #f0e3da;border-radius:13px;background:#fffdfb;overflow:hidden}.org-department summary{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;list-style:none}.org-department summary::-webkit-details-marker{display:none}.org-department summary span{font-weight:800}.org-department summary small{color:#9a8376}.org-department summary i{font-style:normal;color:#b18d75;transition:transform .15s ease}.org-department:not([open]) summary i{transform:rotate(-90deg)}.org-department>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:0 12px 12px}.org-department .org-member-card{width:auto;min-width:0;cursor:pointer}.org-member-card em{margin-left:auto;color:#59a173;font-size:11px;font-style:normal}.organization-layout{min-height:0}.organization-panel,.member-directory{min-height:min(560px,calc(100vh - 270px))}.member-directory>div{max-height:min(60vh,620px)}
.avatar-upload{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:12px;border:1px dashed #efb98f;border-radius:10px;background:#fff9f4;color:#c8733e;cursor:pointer}.avatar-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.avatar-custom-preview{display:flex;align-items:center;gap:9px;margin-top:10px;padding:9px 11px;border:1px solid #f1e3d8;border-radius:10px;background:#fffaf6;color:#846f62;font-size:12px}.avatar-custom-preview img{width:34px;height:34px;border-radius:10px;object-fit:cover}
.help-shell{display:grid;gap:16px}.help-shell>.panel{padding:26px}.help-shell h2{margin:5px 0}.help-shell p{color:#8d7567}.help-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.help-guide-grid .panel{padding:20px}.help-guide-grid h3{margin-top:0}.help-guide-grid ol{display:grid;gap:10px;margin:0;padding-left:20px;color:#715d51}.help-guide-grid li::marker{color:#ed8a4a;font-weight:800}
@media(max-width:980px){.personal-card,.work-status-card,.week-card,.profile-card{grid-column:span 6}.organization-layout{grid-template-columns:1fr}.organization-panel,.member-directory{min-height:0}.member-directory>div{max-height:440px}}@media(max-width:620px){.personal-desktop-head{align-items:flex-start;flex-direction:column;padding:19px}.personal-desktop-grid{grid-template-columns:1fr}.personal-card,.work-status-card,.week-card,.profile-card{grid-column:1}.work-status-main{align-items:flex-start;flex-direction:column;margin-top:16px}.personal-week{gap:4px}.personal-week>div{padding:7px 1px}.personal-week b{font-size:15px}.dashboard-shortcuts{gap:6px}.dashboard-shortcuts button{font-size:11px}.dashboard-setting-list,.help-guide-grid{grid-template-columns:1fr}.org-department>div{grid-template-columns:1fr}.view-logs .table-wrap{margin:0 -4px}.personal-desktop-head h2{font-size:22px}}

/* Reply, unread, and pinning controls stay compact inside the established chat layout. */
.chat-reply-preview{display:grid!important;gap:2px!important;min-width:0!important;max-width:100%!important;margin:0 0 7px!important;padding:6px 8px!important;border:0!important;border-left:2px solid #ef9b62!important;border-radius:4px!important;background:rgba(244,239,235,.88)!important;color:#6e625a!important;text-align:left!important;cursor:pointer!important}
.chat-reply-preview b,.chat-reply-preview span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.chat-reply-preview b{font-size:11px!important;font-weight:650!important;color:#b46131!important}.chat-reply-preview span{font-size:12px!important;line-height:1.35!important}.chat-bubble.mine .chat-reply-preview{border-left-color:#62ad41!important;background:rgba(244,255,238,.82)!important}.chat-bubble.reply-target-flash>div{animation:replyFlash 1.2s ease!important}@keyframes replyFlash{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px rgba(239,139,72,.23)}}
.message-page .chat-composer.has-reply{min-height:154px!important;max-height:198px!important}.chat-reply-composer{display:flex!important;flex:0 0 30px!important;align-items:center!important;gap:10px!important;min-width:0!important;height:30px!important;padding:0 14px!important;border-bottom:1px solid #eee7e2!important;background:#fffaf7!important}.chat-reply-composer span{display:flex!important;gap:7px!important;min-width:0!important;overflow:hidden!important;color:#8c7f76!important;font-size:12px!important}.chat-reply-composer b{flex:0 0 auto!important;color:#ba6333!important;font-weight:650!important}.chat-reply-composer small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#8c7f76!important;font-size:12px!important}.chat-reply-composer button{margin-left:auto!important;width:24px!important;height:24px!important;border:0!important;border-radius:5px!important;background:transparent!important;color:#8c7f76!important;font-size:18px!important;line-height:1!important;cursor:pointer!important}.chat-reply-composer button:hover{background:#f4ece6!important;color:#bd6332!important}
.chat-new-message-notice{position:absolute!important;z-index:5!important;left:18px!important;bottom:calc(var(--composer-height, 124px) + 12px)!important;height:31px!important;padding:0 12px!important;border:1px solid #f0c9b1!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 16px rgba(70,51,39,.14)!important;color:#cf6a35!important;font-size:12px!important;font-weight:650!important;cursor:pointer!important}.chat-new-message-notice:hover{background:#fff5ef!important}.message-page .chat-window{--composer-height:124px}.message-page .chat-window:has(.chat-composer.has-reply){--composer-height:154px}
.chat-conversation>i{display:grid!important;place-items:center!important;width:8px!important;height:8px!important;min-width:8px!important;margin:0!important;padding:0!important;border-radius:999px!important;background:#ef6b5d!important;color:transparent!important;font-size:0!important;box-shadow:0 0 0 2px #f7f4f1!important}
.chat-flow-menu{z-index:10060!important}

/* Quoted content follows the message, like a compact IM reference rather than
   being inserted before the new bubble. */
.chat-bubble .chat-reply-preview{margin:7px 0 0!important;order:9!important;width:100%!important;background:#f1f2f4!important;border-left:0!important;border-radius:5px!important;padding:6px 9px!important}.chat-bubble.mine .chat-reply-preview{background:rgba(255,255,255,.38)!important;border-left:0!important}.chat-bubble .chat-reply-preview:before{content:'回复';font-size:11px;color:#8b8e94;margin-right:6px}.chat-bubble .chat-reply-preview b{display:inline!important;color:#777b82!important;font-weight:500!important}.chat-bubble .chat-reply-preview span{display:inline!important;margin-left:4px;color:#8b8e94!important}.chat-bubble>div{display:flex;flex-direction:column}.chat-bubble>div>.chat-reply-preview{align-self:stretch}

.permission-role-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.permission-role-guide span{display:grid;gap:4px;padding:12px;border-radius:10px;background:#fffaf7;border:1px solid #f0e4dc}.permission-role-guide small{color:var(--muted);font-size:12px}.permission-matrix{display:grid;border:1px solid #f0e5dd;border-radius:10px;overflow:hidden}.permission-matrix-head,.permission-matrix-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 64px;align-items:center;gap:8px;padding:9px 12px}.permission-matrix-head{background:#fff8f3;color:#967763;font-size:12px}.permission-matrix-row{border-top:1px solid #f7eee9;font-size:13px}.permission-matrix-row input{justify-self:center}.permission-help{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}@media(max-width:900px){.permission-role-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.permission-role-guide{grid-template-columns:1fr}.permission-matrix-head,.permission-matrix-row{grid-template-columns:minmax(0,1fr) 52px 52px;padding:8px}}

/* The former confirm/lock/modify strip is intentionally removed from detail. */
.schedule-manager-actions{display:none!important}

/* Monthly attendance: one row per calendar day, showing only exceptions. */
.schedule-head-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.schedule-head-actions label{display:grid;gap:6px;color:var(--muted);font-size:12px}.schedule-head-actions input{min-height:40px}.design-schedule-head small{display:block;margin-top:5px;color:var(--muted)}.schedule-monthly-overview{padding:10px 0;max-height:calc(100vh - 300px);overflow:auto}.design-overview-row.monthly{min-height:54px}.design-overview-row.monthly>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}.schedule-day-members{min-height:32px}.schedule-empty-day{display:block;height:28px;width:100%}.schedule-progress-list{display:grid;gap:14px;max-height:min(58vh,620px);overflow:auto;padding-right:4px}.schedule-progress-item{border:1px solid #f0e3d8;border-radius:13px;padding:13px;background:#fffdfb}.schedule-progress-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.schedule-progress-item header div{display:grid;gap:4px}.schedule-progress-item header small{color:var(--muted)}.schedule-progress-item header span{font-size:12px;white-space:nowrap;color:var(--muted)}.schedule-progress-item header strong{font-size:17px;color:#e78440}.schedule-progress-people{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.schedule-progress-people button{display:flex;align-items:center;gap:6px;max-width:166px;padding:6px 8px;border:1px solid #f2e6de;border-radius:9px;background:#fff;color:#47372d;text-align:left}.schedule-progress-people img{width:28px;height:28px;border-radius:8px;object-fit:cover}.schedule-progress-people span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.schedule-progress-people em{font-style:normal;font-size:11px;color:#b39a87;white-space:nowrap}.schedule-progress-people em.submitted,.schedule-progress-people em.confirmed,.schedule-progress-people em.locked{color:#55a77e}.schedule-detail-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:10px;border-bottom:1px solid #f0e8e1}.schedule-state{font-style:normal;font-size:12px;padding:4px 8px;border-radius:99px;background:#fff1e5;color:#d47832}.schedule-state.submitted,.schedule-state.confirmed,.schedule-state.locked{background:#eff8f1;color:#4d9871}.schedule-detail-deadline{color:#967763;font-size:13px}.schedule-detail-days,.member-month-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}.schedule-detail-days>div,.member-month-list>div{display:grid;gap:3px;padding:10px;border-radius:10px;background:#fff8f2;border:1px solid #f3e6da}.schedule-detail-days>div.rest,.member-month-list>div.rest{background:#f5f7fa}.schedule-detail-days>div.leave,.member-month-list>div.leave{background:#fff3eb}.schedule-detail-days small,.member-month-list small{color:#987563;font-size:12px}.schedule-response-list.compact{margin-top:16px}.schedule-response-list.compact h3{margin:0 0 8px;font-size:14px}
@media(max-width:720px){.schedule-head-actions{align-items:stretch}.schedule-head-actions>*{width:100%}.schedule-progress-item header{display:block}.schedule-progress-item header span{display:block;margin-top:6px}.schedule-monthly-overview{max-height:none}.design-overview-row.monthly{align-items:flex-start}.schedule-avatar-chip{max-width:150px}}

.member-month-list>button{display:grid;gap:3px;padding:10px;border:1px solid #f3e6da;border-radius:10px;background:#fff8f2;color:inherit;text-align:left;cursor:pointer}.member-month-list>button.rest{background:#f5f7fa}.member-month-list>button.leave{background:#fff3eb}.member-month-list>button:hover{border-color:#e8a377}

/* Attendance overview uses a compact date rail and allows member chips to
   naturally wrap without leaving unused space below the table. */
.schedule-monthly-overview{max-height:none!important;overflow:visible!important;padding:0!important}.design-overview-row.monthly{grid-template-columns:92px minmax(0,1fr)!important;min-height:60px!important}.design-overview-row.monthly time{justify-content:flex-start!important;padding-left:18px!important;gap:7px!important}.design-overview-row.monthly>div{align-content:center!important;padding:8px 16px!important}.schedule-day-members{min-height:42px!important;align-content:center!important}.schedule-empty-day{height:42px!important}.design-overview-row.monthly:has(.schedule-avatar-chip){min-height:64px!important}.design-overview-row.monthly>div:has(.schedule-avatar-chip){align-items:flex-start!important}.assistant-schedule-open{margin-left:auto;border:1px solid #f0cdb8;border-radius:10px;background:#fffaf7;color:#c56b39;padding:8px 11px;font:650 12px inherit;cursor:pointer}.assistant-schedule-open:hover{background:#fff1e8}.my-schedule-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.my-schedule-toolbar label{display:flex;align-items:center;gap:8px;color:#7d6d64;font-size:13px}.my-schedule-toolbar input{border:1px solid #e2d9d3;border-radius:9px;padding:8px}.my-schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.my-schedule-grid>div{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px;background:#f7f4f2;color:#9e948e}.my-schedule-grid>div b{font-size:17px}.my-schedule-grid>div span,.my-schedule-grid>div small{font-size:11px}.my-schedule-grid>div.rest{background:#fff1e8;color:#d36b35}.my-schedule-grid>div.leave{background:#f3eaf7;color:#79548c}
@media(max-width:720px){.design-overview-row.monthly{grid-template-columns:70px minmax(0,1fr)!important}.design-overview-row.monthly time{padding-left:10px!important}.design-overview-row.monthly>div{padding:8px!important}.my-schedule-grid{gap:4px}.my-schedule-grid>div{min-height:48px}}
/* 2026-08 scheduling and organization console */
.view-attendance{min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.view-attendance>.design-schedule-head{flex:none}.view-attendance>.schedule-monthly-overview{min-height:0;flex:1 1 auto;overflow:hidden!important;border-radius:18px!important;padding:0!important}.schedule-month-scroll{height:100%;overflow:auto;border-radius:inherit;padding:10px 18px 18px;scrollbar-gutter:stable}.schedule-month-scroll::-webkit-scrollbar{width:10px}.schedule-month-scroll::-webkit-scrollbar-thumb{background:#ead9cc;border-radius:9px}.schedule-monthly-overview .design-overview-row.monthly{grid-template-columns:104px minmax(0,1fr);min-height:68px}.schedule-monthly-overview .design-overview-row.monthly:first-child{border-top-left-radius:14px;border-top-right-radius:14px}.schedule-monthly-overview .design-overview-row.monthly:last-child{border-bottom-left-radius:14px;border-bottom-right-radius:14px}.schedule-monthly-overview .design-overview-row.monthly time{padding-left:26px;background:linear-gradient(90deg,#fffaf6 0%,#fffdfb 100%)}.schedule-head-actions{flex-wrap:wrap;justify-content:flex-end}.schedule-head-actions button{white-space:nowrap}
.schedule-editor-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:#fff7ef;color:#906d55;font-size:13px}.schedule-week-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:16px;padding:9px 0;text-align:center;border-radius:10px;background:#f7f2ed;color:#6d625b;font-weight:700;letter-spacing:2px}.schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:8px}.schedule-calendar-empty{min-height:62px}.schedule-calendar-day{min-height:62px;border:1px solid transparent;border-radius:12px;background:#f8f6f4;color:#aaa;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center}.schedule-calendar-day.is-active{background:#fff;border-color:#ead8ca;color:#5b463a;cursor:pointer}.schedule-calendar-day.is-active:hover,.schedule-calendar-day.is-selected{border-color:#f29a54;box-shadow:0 5px 12px rgba(202,112,49,.1)}.schedule-calendar-day small{font-size:10px}.schedule-calendar-day.status-rest,.schedule-calendar-day.status-rest_am,.schedule-calendar-day.status-rest_pm{background:#fff3e7}.schedule-calendar-day.status-leave,.schedule-calendar-day.status-leave_am,.schedule-calendar-day.status-leave_pm,.schedule-calendar-day[class*="status-leave_"]{background:#fff0ee}.schedule-selection{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(180px,1fr) minmax(0,1.5fr);gap:10px;align-items:center;margin-top:14px;padding:12px;border:1px solid #f0ded1;border-radius:13px;background:#fffaf7}.schedule-selection>b{display:block}.schedule-selection small{display:block;color:#aa9b91;margin-top:3px}.schedule-selection select,.schedule-selection input{height:38px;width:100%;border:1px solid #eadcd3;border-radius:9px;padding:0 10px;background:#fff}.schedule-editor-tip{margin:10px 2px 0;font-size:12px;color:#a89588}.schedule-detail-list{display:grid;gap:8px;margin-top:14px}.schedule-detail-list>div{display:grid;grid-template-columns:120px 1fr;gap:9px;align-items:center;padding:11px;border-radius:10px;background:#fff9f5}.schedule-detail-list small{grid-column:2;color:#a48a7b}.progress-invites{display:grid;gap:12px;max-height:min(58vh,580px);overflow:auto;padding-right:4px}.progress-invites section{border:1px solid #f0e1d7;border-radius:13px;padding:12px}.progress-invites header{display:flex;justify-content:space-between;gap:10px}.progress-invites header span{font-size:12px;color:#a78d7c}.progress-invites>section>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.progress-invites button,.adjust-member-grid button{border:1px solid #eee0d6;background:#fffaf7;border-radius:10px;display:flex;align-items:center;gap:7px;padding:7px 9px;min-width:150px;cursor:pointer}.progress-invites button img,.adjust-member-grid button img{width:28px;height:28px;border-radius:8px;object-fit:cover}.progress-invites button em{margin-left:auto;font-size:11px;color:#d67c39;font-style:normal}.adjustment-history{max-height:150px;overflow:auto;border:1px solid #f1e5dc;border-radius:11px;padding:4px 10px;background:#fffaf7}.adjustment-history p{padding:8px 0;margin:0;border-bottom:1px solid #f1e7df;font-size:12px}.adjustment-history p:last-child{border-bottom:0}.adjustment-history small{display:block;color:#a18676;margin-top:3px}.adjust-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:14px;max-height:270px;overflow:auto;padding-right:4px}.adjust-member-grid button{min-width:0;text-align:left}.adjust-member-grid span{font-weight:700}.adjust-member-grid small{color:#a58f81}.adjustment-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:12px 0}.adjustment-week button{min-height:54px;border:1px solid #ebdfd7;border-radius:10px;background:#fffaf7;cursor:pointer}.adjustment-week button small{display:block;color:#a58674;font-size:10px;margin-top:3px}.adjustment-week .is-selected{border-color:#f29a54;background:#fff2e7}
.organization-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px}.organization-panel,.member-directory{min-height:520px;padding:20px}.organization-panel>header,.member-directory>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #f1e6de;padding-bottom:13px}.organization-panel h3,.member-directory h3{margin:3px 0 0}.organization-tree-wrap{overflow:auto;max-height:620px;padding:22px 4px 12px}.organization-tree,.organization-tree ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;justify-content:center}.organization-tree ul{margin-top:22px;position:relative}.organization-tree li{position:relative;display:grid;justify-items:center}.organization-tree ul:before{content:"";position:absolute;top:-12px;left:50%;height:12px;border-left:1px solid #e9c9b0}.organization-tree li:has(ul):after{content:"";position:absolute;top:100%;height:11px;border-left:1px solid #e9c9b0}.org-member-card{width:150px;border:1px solid #f1ded1;border-radius:13px;background:#fffdfb;padding:10px;display:flex;align-items:center;gap:9px;text-align:left;cursor:grab}.org-member-card img{width:42px;height:42px;border-radius:11px;object-fit:cover}.org-member-card b,.org-member-card small{display:block}.org-member-card small{margin-top:4px;color:#9e8676;font-size:11px}.org-member-card.is-drop-target{border-color:#ef9149;box-shadow:0 0 0 3px rgba(242,154,84,.17)}.member-directory>div{display:grid;gap:8px;margin-top:14px;max-height:550px;overflow:auto}.organization-account-row{width:100%;border:1px solid #f0e4dc;background:#fffdfb;border-radius:11px;padding:9px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.organization-account-row:hover{border-color:#efae7a}.organization-account-row img{width:34px;height:34px;border-radius:9px;object-fit:cover}.organization-account-row span{min-width:0;flex:1}.organization-account-row b,.organization-account-row small{display:block}.organization-account-row small{font-size:11px;color:#9e887b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.organization-account-row em{font-size:11px;font-style:normal;color:#59a173}.member-editor-identity{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;background:#fff7f0}.member-editor-identity img{width:54px;height:54px;border-radius:13px;object-fit:cover}.member-editor-identity b,.member-editor-identity small{display:block}.member-editor-identity small{color:#998276;margin-top:4px}.permission-sections h3{margin:10px 0}.permission-sections>label{display:grid;grid-template-columns:minmax(150px,1fr) 70px 70px;gap:8px;padding:8px;border-bottom:1px solid #f3e9e2}.action-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.action-permission-grid label{padding:7px 9px;border:1px solid #f0e1d6;border-radius:9px}.permission-sections p{font-size:12px;color:#a38a7b}
@media(max-width:980px){.organization-layout{grid-template-columns:1fr}.organization-tree,.organization-tree ul{justify-content:flex-start}.schedule-selection{grid-template-columns:1fr}.schedule-monthly-overview .design-overview-row.monthly{grid-template-columns:86px minmax(0,1fr)}.schedule-monthly-overview .design-overview-row.monthly time{padding-left:16px}}@media(max-width:640px){.schedule-head-actions{justify-content:flex-start}.schedule-head-actions>*{flex:1 1 auto}.schedule-calendar-grid{gap:4px}.schedule-calendar-day{min-height:52px}.schedule-week-header{font-size:12px}.adjustment-week{grid-template-columns:repeat(4,1fr)}.action-permission-grid{grid-template-columns:1fr}}

/* Conversation grouping and member identity. */
.chat-conversation.assistant{background:transparent!important}.chat-conversation.assistant:hover,.chat-conversation.assistant.active{background:#dedede!important}.chat-conversation .conversation-avatar{width:44px!important;height:44px!important;border-radius:11px!important;flex:0 0 44px}.chat-conversation>.conversation-main b,.chat-conversation>span b{font-size:14px!important}.chat-conversation>.conversation-main small,.chat-conversation>span small{font-size:12px!important}.conversation-group{display:grid;gap:4px;margin:2px 0 9px}.conversation-group>h3{margin:7px 9px 2px;color:#999;font-size:11px;font-weight:700;letter-spacing:.08em}.conversation-group-items{display:grid;gap:2px}.conversation-group .chat-conversation{width:100%}.member-profile-avatar{cursor:pointer!important}.group-message-sender{align-self:flex-start;border:0;background:transparent;padding:3px 2px 0;color:#8b8b8b;font-size:11px;line-height:1;cursor:pointer;white-space:nowrap}.chat-bubble.mine .group-message-sender{order:-1}.member-profile-card{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #f0e3da;border-radius:14px;background:#fffaf7}.member-profile-card>img{width:66px;height:66px;border-radius:16px;object-fit:cover}.member-profile-card b,.member-profile-card small{display:block}.member-profile-card b{font-size:18px}.member-profile-card small{margin-top:5px;color:#947f70;font-size:12px}.member-profile-attendance{margin-top:15px}.member-profile-attendance h3{font-size:14px;margin:0 0 9px}.member-profile-attendance>div{display:flex;flex-wrap:wrap;gap:7px}.member-profile-attendance span{display:flex;gap:6px;align-items:center;padding:7px 9px;border-radius:9px;background:#fff2e8;color:#b75f30;font-size:12px}.member-profile-attendance span.leave{background:#f1e8f6;color:#76528d}.member-profile-attendance span b{font-size:12px}.schedule-week-header span{display:block;min-width:0}.schedule-avatar-chip[class*="leave"]{background:#f1e9f5!important}.schedule-avatar-chip[class*="leave"] em{background:#d7c0e2!important;color:#604069!important}.schedule-detail-days>div[class*="leave"],.member-month-list>button[class*="leave"]{background:#f1e9f5!important;color:#604069!important}.schedule-calendar-day.status-leave,.schedule-calendar-day.status-leave_am,.schedule-calendar-day.status-leave_pm,.schedule-calendar-day[class*="status-leave_"]{background:#f1e9f5!important;border-color:#c7a6d7!important;color:#76528d!important}

/* Conversation tabs keep the default list clean while exposing a dedicated,
   sortable category view. */
.conversation-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:2px 10px 9px;padding:3px;border-radius:9px;background:#f3efec}.conversation-mode-switch button{height:28px;border:0;border-radius:7px;background:transparent;color:#927f72;font:650 12px inherit;cursor:pointer}.conversation-mode-switch button.active{background:#fff;color:#c86e3b;box-shadow:0 1px 3px rgba(80,54,39,.1)}.category-create-row{padding:1px 8px 8px}.category-create-row .soft-btn{width:100%;min-height:32px;border-style:dashed}.category-section{margin:0 0 12px}.category-section>header{display:flex;align-items:center;justify-content:space-between;margin:0 9px 4px}.category-section>header h3{margin:0;color:#8f8177;font-size:12px;font-weight:700}.category-edit{border:0;background:transparent;color:#c77442;font:600 12px inherit;cursor:pointer}.category-section .chat-conversation{position:relative}.category-remove{position:absolute;right:7px;top:50%;z-index:2;width:20px;height:20px;transform:translateY(-50%);border:0;border-radius:99px;background:#fff0e8;color:#ca6d3a;font-size:16px;line-height:18px;cursor:pointer}.chat-conversation[draggable=true]{cursor:grab}.chat-conversation.is-dragging{opacity:.48;cursor:grabbing}.category-editor>label{display:grid;gap:7px;color:#735d4d;font-size:13px;font-weight:650}.category-editor input[type=text],.category-editor>label input{height:39px;border:1px solid #eadbd1;border-radius:9px;padding:0 10px;background:#fff}.category-editor>p{margin:16px 0 8px;color:#987f70;font-size:13px}.category-member-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:285px;overflow:auto;padding-right:3px}.category-member-picker label{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid #efe3db;border-radius:10px;background:#fffaf7;cursor:pointer}.category-member-picker input{accent-color:#eb8844}.category-member-picker img{width:32px;height:32px;border-radius:9px;object-fit:cover}.category-member-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#483a31;font-size:13px}.member-profile-attendance span{align-items:flex-start;flex-wrap:wrap}.member-profile-attendance span small{flex-basis:100%;margin:0;color:inherit;font-size:11px;opacity:.85}@media(max-width:650px){.category-member-picker{grid-template-columns:1fr}}

/* The list switch is a first-class top control.  Keep exactly two sidebar
   rows above the scrolling list, so no sections are forced to its bottom. */
.message-page .conversation-panel{grid-template-rows:52px 44px 43px minmax(0,1fr)!important}.message-page .chat-list-title{display:none!important}.message-page .conversation-mode-switch{flex:none!important;display:grid!important;align-self:stretch!important;grid-column:auto!important;grid-row:3!important;height:34px!important;margin:4px 10px 5px!important;padding:3px!important;position:relative!important;z-index:2!important}.message-page .conversation-list{grid-row:4!important;align-self:stretch!important;display:grid!important;align-content:start!important;justify-items:stretch!important;min-height:0!important;height:auto!important;margin:0!important;padding:0 8px 10px!important}.message-page .conversation-list>.chat-conversation,.message-page .conversation-list .conversation-group,.message-page .conversation-list .category-create-row{align-self:start!important}.message-page .conversation-list .conversation-group-items{align-content:start!important}.message-page .conversation-list .chat-conversation{margin:0!important}.message-page .conversation-list .category-section{margin-top:0!important}@media(max-width:760px){.message-page .conversation-panel{grid-template-rows:auto 44px 43px minmax(190px,48vh)!important}.message-page .conversation-list{grid-row:4!important}}
.message-page .conversation-search{grid-row:2!important}
.conversation-search-result{display:grid;gap:4px;width:100%;min-width:0;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#342d29;text-align:left;cursor:pointer}
.conversation-search-result:hover,.conversation-search-result:focus-visible{background:#f9e9dc;outline:none}
.conversation-search-result b,.conversation-search-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conversation-search-result b{font-size:13px}.conversation-search-result span{font-size:12px;color:#6f655f}.conversation-search-result time{font-size:11px;color:#9d918a}

/* Instant reordering and roomy member selectors.  These deliberately override
   the early compact two-column rule so a long employee name is never clipped. */
.chat-conversation[draggable=true]{transition:transform .08s ease,opacity .08s ease}.chat-conversation.is-dragging{opacity:.42!important;box-shadow:0 5px 14px rgba(113,75,51,.12)}
.category-member-search,.chat-member-search-wrap input{box-sizing:border-box;width:100%;height:40px;margin:0 0 9px;padding:0 12px;border:1px solid #eadbd1;border-radius:10px;background:#fff;color:#4c3b31;font:14px inherit;outline:0}.category-member-search:focus,.chat-member-search-wrap input:focus{border-color:#eb8b4a;box-shadow:0 0 0 3px rgba(235,139,74,.12)}
.category-member-picker{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;max-height:286px!important;padding:1px 4px 2px 0!important}.category-member-picker .category-member-option{display:grid!important;grid-template-columns:18px 38px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;min-height:56px!important;padding:8px 11px!important}.category-member-picker .category-member-option input{width:17px!important;height:17px!important;margin:0!important;accent-color:#eb8844!important}.category-member-picker .category-member-option img{width:38px!important;height:38px!important;border-radius:10px!important}.category-member-picker .category-member-option span{display:block!important;min-width:0!important;overflow:visible!important;white-space:normal!important}.category-member-picker .category-member-option b,.category-member-picker .category-member-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-member-picker .category-member-option b{color:#49382e;font-size:14px}.category-member-picker .category-member-option small{margin-top:3px;color:#9a8171;font-size:11px}.category-member-picker .category-member-option:hover{border-color:#edb185;background:#fff6ef}.category-member-count{margin:10px 0 0!important;color:#9a8171!important}.category-member-count b{color:#d2743a}
.chat-member-search-wrap{position:sticky;top:0;z-index:2;padding:1px 1px 0;background:#fffdfb}.chat-member-search-wrap input{margin-bottom:10px}.chat-member-modal{max-height:min(54vh,490px)!important}

/* Desktop notification control and an in-app fallback share the workbench's
   warm, restrained visual language. */
.chat-desktop-notify{margin-left:auto;width:34px;height:34px;border:1px solid #efded2;border-radius:9px;background:#fffaf7;color:#b9754c;font-size:16px;cursor:pointer}.chat-desktop-notify:hover,.chat-desktop-notify.enabled{border-color:#ed9a5c;background:#fff0e6;color:#c86d35}.desktop-notice-prompt{position:absolute;z-index:8;right:18px;bottom:calc(var(--composer-height, 136px) + 16px);display:flex;align-items:center;gap:10px;max-width:min(390px,calc(100% - 36px));padding:11px 12px 11px 14px;border:1px solid #eed9c8;border-radius:13px;background:#fffdfb;box-shadow:0 12px 28px rgba(84,56,37,.15);color:#5b4639}.desktop-notice-prompt>span{display:grid;gap:2px;min-width:0}.desktop-notice-prompt b{font-size:13px}.desktop-notice-prompt small{color:#967f70;font-size:11px;line-height:1.35}.desktop-notice-prompt button{flex:none;border:0;border-radius:8px;padding:7px 10px;background:#ef8d49;color:#fff;font:650 12px inherit;cursor:pointer}.desktop-notice-prompt .desktop-notice-dismiss{padding:3px 5px;background:transparent;color:#a08a7b;font-size:16px}@media(max-width:700px){.desktop-notice-prompt{right:10px;bottom:calc(var(--composer-height, 136px) + 10px)}.category-member-picker .category-member-option{min-height:52px!important}}

/* Stable local emoji renderer.  Assets keep the same look on Windows, macOS,
   Chrome and Edge; every message still keeps its own normal flex row. */
.workbench-emoji-picker .emoji-picker-grid{grid-template-columns:repeat(auto-fit,minmax(42px,1fr))!important;gap:8px!important;width:100%!important}.workbench-emoji-picker .emoji-picker-grid button{display:grid!important;place-items:center;width:100%!important;min-width:42px!important;height:42px!important;font-size:0!important}.workbench-emoji-picker .emoji-picker-grid button img{display:block;width:30px;height:30px;object-fit:contain}.workbench-emoji-asset{display:inline-block;width:23px;height:23px;vertical-align:-.22em;object-fit:contain}.chat-bubble.workbench-emoji-message{position:relative!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-self:flex-start!important;width:max-content!important;min-width:0!important;max-width:min(70%,680px)!important;min-height:42px!important;height:auto!important;margin-block:6px!important;overflow:visible!important;transform:none!important}.chat-bubble.mine.workbench-emoji-message{flex-direction:row-reverse!important;align-self:flex-end!important}.chat-bubble.workbench-emoji-message>div{display:flex!important;flex:0 1 auto!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:42px!important;padding:5px 8px!important}.chat-bubble.workbench-emoji-message p{display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:3px!important;width:auto!important;min-width:32px!important;max-width:100%!important;min-height:32px!important;margin:0!important;line-height:1!important}.chat-bubble.workbench-emoji-message .workbench-emoji-asset{flex:0 0 auto!important;width:32px!important;height:32px!important;vertical-align:middle}.chat-bubble.workbench-emoji-message>img:first-child{align-self:flex-start!important}.chat-bubble.workbench-emoji-message+.chat-bubble.workbench-emoji-message{margin-top:5px!important}


/* AI Canvas workspace integration — immersive rounded surface */
main.ai-canvas-page{height:100%!important;min-height:0!important;max-width:none!important;align-self:stretch!important;padding:0!important;margin:0!important;overflow:hidden!important}
main.ai-canvas-page>header{display:none!important}
main.ai-canvas-page>#content.view-aiCanvas{display:block!important;width:100%!important;height:100%!important;min-height:0!important;padding:0!important;margin:0!important;overflow:visible!important}
.ai-canvas-workspace{position:relative;width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.94);border-radius:24px;background:#fff;box-shadow:0 15px 40px rgba(216,145,99,.16),0 0 0 1px rgba(226,205,191,.22);isolation:isolate}
.ai-canvas-frame{display:block;width:100%;height:100%;min-height:0;border:0;border-radius:inherit;background:#f7f8fa}
@media(max-width:1000px){.ai-canvas-workspace{border-radius:20px}}
@media(max-width:820px){main.ai-canvas-page{overflow:hidden!important}.ai-canvas-frame{min-width:760px}.ai-canvas-workspace{overflow:auto}}
body.ai-canvas-expanded,body.ai-canvas-immersive{overflow:hidden!important}
body.ai-canvas-expanded>.app,body.ai-canvas-immersive>.app{width:100vw!important;height:100vh!important;min-height:0!important;margin:0!important;padding:0!important;gap:0!important;overflow:hidden!important}
body.ai-canvas-expanded>.app>aside,body.ai-canvas-immersive>.app>aside{display:none!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important}
body.ai-canvas-expanded>.app>main,body.ai-canvas-immersive>.app>main{width:100%!important;height:100vh!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important}
body.ai-canvas-expanded .ai-canvas-workspace.is-expanded,body.ai-canvas-immersive .ai-canvas-workspace.is-immersive{position:fixed!important;inset:0!important;z-index:9000!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;box-shadow:none!important;isolation:isolate}
body.ai-canvas-expanded .ai-canvas-workspace.is-expanded .ai-canvas-frame,body.ai-canvas-immersive .ai-canvas-workspace.is-immersive .ai-canvas-frame{display:block!important;width:100%!important;height:100%!important;min-width:0!important;border-radius:0!important}

/* Message identity and canvas-share cards: every message owns an avatar, while
   a canvas share is itself the message body instead of a bubble-within-a-card. */
.message-page .chat-bubble>img:first-child{display:block!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;flex:0 0 38px!important;align-self:flex-start!important;visibility:visible!important;opacity:1!important;border-radius:11px!important;object-fit:cover!important}
.message-page .chat-bubble{align-items:flex-start!important;column-gap:9px!important}
.message-page .chat-bubble.chat-same-sender{margin-top:-2px!important}
.message-page .chat-bubble.canvas-share-message.business-message{width:min(368px,calc(100% - 44px))!important;max-width:min(368px,calc(100% - 44px))!important}
.message-page .chat-bubble.canvas-share-message>.business-card-stack{width:min(320px,100%)!important;max-width:320px!important}
.message-page .canvas-share-card.chat-card.business-card{display:block;width:100%!important;max-width:320px!important;margin:0!important;padding:0!important;overflow:hidden;border:1px solid rgba(91,72,59,.1)!important;border-radius:16px!important;outline:0;background:#fffdfa!important;box-shadow:0 3px 12px rgba(67,51,40,.055)!important;color:#352c27;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.message-page .canvas-share-card:hover{transform:translateY(-2px);border-color:rgba(221,124,65,.2)!important;box-shadow:0 8px 22px rgba(67,51,40,.1)!important}
.message-page .canvas-share-card:focus-visible{box-shadow:0 0 0 3px rgba(239,135,73,.16),0 8px 22px rgba(67,51,40,.1)!important}
.canvas-share-preview{width:100%;height:148px;overflow:hidden;background:linear-gradient(145deg,#f8f4f0,#eee8e2)}
.canvas-share-preview>img{display:block;width:100%;height:100%;object-fit:cover}
.canvas-share-preview>.canvas-share-placeholder{display:grid;width:100%;height:100%;margin:0;border-radius:0;place-items:center;background:linear-gradient(145deg,#fbf6f1,#eee7e0);color:#e48143;font-size:24px;font-weight:750;letter-spacing:-.04em}
.canvas-share-info{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:13px 14px 14px}
.canvas-share-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#fff0e4;color:#df783a;font-size:15px;line-height:1}
.canvas-share-copy{display:block;min-width:0}
.canvas-share-copy b,.canvas-share-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.canvas-share-copy b{color:#342c27;font-size:15px;font-weight:650;line-height:1.35}
.canvas-share-copy small{margin-top:3px;color:#9b918b;font-size:11px;line-height:1.35}
.canvas-share-arrow{color:#9c8e85;font-size:18px;line-height:1;transition:transform .18s ease,color .18s ease}
.canvas-share-card:hover .canvas-share-arrow{transform:translateX(2px);color:#d97237}
@media(max-width:760px){.message-page .chat-bubble>img:first-child{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;flex-basis:34px!important;border-radius:10px!important}.message-page .chat-bubble.canvas-share-message.business-message{width:min(362px,calc(100% - 40px))!important;max-width:min(362px,calc(100% - 40px))!important}.message-page .chat-bubble.canvas-share-message>.business-card-stack{width:min(320px,100%)!important}.canvas-share-preview{height:140px}.canvas-share-info{padding:12px 13px 13px}}

/* Shared structured-message shell.  Business objects are the message body,
   never a second card nested inside a text bubble. */
.message-page .chat-bubble.business-message{
  width:min(342px,calc(100% - 44px))!important;
  max-width:min(342px,calc(100% - 44px))!important;
  margin-top:1px!important;
}
.message-page .chat-bubble.business-message>.business-card-stack{
  width:min(288px,100%)!important;
  max-width:288px!important;
}
.message-page .chat-card.business-card:not(.canvas-share-card){
  width:100%!important;
  min-width:0!important;
  max-width:288px!important;
  padding:12px 16px!important;
  border:1px solid rgba(91,72,59,.1)!important;
  border-radius:12px!important;
  background:#fffdfa!important;
  box-shadow:0 2px 9px rgba(67,51,40,.045)!important;
}
.message-page .chat-card.business-card:not(.canvas-share-card):hover{
  border-color:rgba(221,124,65,.2)!important;
  box-shadow:0 5px 15px rgba(67,51,40,.075)!important;
}
.message-page .chat-bubble.canvas-share-message.business-message{
  width:min(358px,calc(100% - 44px))!important;
  max-width:min(358px,calc(100% - 44px))!important;
}
.message-page .chat-bubble.canvas-share-message>.business-card-stack{
  width:min(304px,100%)!important;
  max-width:304px!important;
}
.message-page .canvas-share-card.chat-card.business-card{max-width:304px!important}
.message-page .chat-bubble.chat-same-sender>img:first-child{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:760px){
  .message-page .chat-bubble.business-message{width:min(338px,calc(100% - 40px))!important;max-width:min(338px,calc(100% - 40px))!important}
  .message-page .chat-bubble.business-message>.business-card-stack{width:min(288px,100%)!important}
  .message-page .chat-bubble.canvas-share-message.business-message{width:min(346px,calc(100% - 40px))!important;max-width:min(346px,calc(100% - 40px))!important}
  .message-page .chat-bubble.canvas-share-message>.business-card-stack{width:min(304px,100%)!important}
}

/* The legacy global `aside` rule assigns every aside a navigation-sized
   viewport height. Notification prompts are small overlays, not sidebars. */
.view-chat .chat-window{position:relative}
.view-chat .desktop-notice-prompt{
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:none!important;
  flex-direction:row!important;
  overflow:visible!important;
}

/* Document rows own their action menu; the title area stays the primary opener. */
.document-row{position:relative;box-sizing:border-box}
.document-actions{position:relative;display:flex;justify-content:flex-end}
.document-more{display:grid;width:36px;height:36px;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:#7e7068;cursor:pointer}
.document-more:hover,.document-more:focus-visible{background:#fff0e6;color:#ca6631;outline:none}
.document-row-menu{position:absolute;z-index:18;top:calc(100% + 5px);right:0;display:none;min-width:126px;padding:5px;border:1px solid #eadfd8;border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(64,45,33,.14)}
.document-row.menu-open .document-row-menu{display:grid}
.document-row-menu button{display:flex;min-height:38px;align-items:center;gap:8px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#594d46;font:inherit;font-size:13px;text-align:left;cursor:pointer}
.document-row-menu button:hover,.document-row-menu button:focus-visible{background:#fff3eb;color:#c96632;outline:none}

/* Chat V2: compact local draft, delivery and connection feedback. */
.chat-draft-label{font-style:normal;color:#d66a32;font-weight:650}
.chat-delivery{align-self:flex-end;margin-top:3px;color:#77736f!important;font-size:11px!important}
.chat-delivery-failed{color:#c74d42!important}
.chat-delivery button{border:0;background:transparent;color:#c74d42;font:inherit;font-weight:650;text-decoration:underline;cursor:pointer}
.chat-connection-status{margin-left:auto;color:#6c8d74;font-size:11px;white-space:nowrap}
.chat-connection-status[data-connection="reconnecting"]{color:#a67631}
.chat-connection-status[data-connection="offline"]{color:#bb5550}
.chat-history-loading::before{content:"正在读取更早消息…";display:block;padding:8px;text-align:center;color:#8b8078;font-size:12px}
.chat-window{position:relative}
.chat-history-trigger,.chat-latest-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 9px;border:1px solid #e8ddd5;border-radius:8px;background:#fffaf6;color:#7b6254;font-size:12px;cursor:pointer}
.chat-history-trigger{margin-left:auto}.chat-history-trigger:hover,.chat-latest-trigger:hover{background:#fff0e5;color:#cc682e}.chat-connection-status{margin-left:4px}
.chat-history-panel{position:absolute;z-index:20;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(390px,100%);min-height:0;border-left:1px solid #eadfd8;background:#fffdfa;box-shadow:-12px 0 26px rgba(75,49,32,.09)}
.chat-history-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid #eee3dc}.chat-history-panel>header b,.chat-history-panel>header small{display:block}.chat-history-panel>header small{margin-top:2px;color:#95877d;font-size:12px}.chat-history-panel>header button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:8px;background:transparent;color:#75685f;cursor:pointer}
.chat-history-controls{display:grid;gap:10px;padding:12px 14px;border-bottom:1px solid #eee3dc}.chat-history-controls input,.chat-history-controls select{min-width:0;min-height:36px;padding:6px 8px;border:1px solid #e8ddd5;border-radius:8px;background:#fff;color:#3f3834;font:inherit;font-size:13px}.chat-history-filters{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chat-history-filters select{grid-column:span 2}.chat-history-tabs{display:flex;gap:5px;overflow-x:auto}.chat-history-tabs button{flex:0 0 auto;min-height:30px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:#786c64;font-size:12px;cursor:pointer}.chat-history-tabs button.active{background:#fff0e5;color:#c8652e;font-weight:650}
.chat-history-results{flex:1;min-height:0;overflow-y:auto;padding:6px 10px}.chat-history-results>button{display:grid;width:100%;grid-template-columns:1fr auto;gap:4px;padding:11px 8px;border:0;border-bottom:1px solid #f2eae4;background:transparent;color:#2c2927;text-align:left;cursor:pointer}.chat-history-results>button:hover{background:#fff4eb}.chat-history-results b{font-size:13px}.chat-history-results time{color:#9d9189;font-size:11px}.chat-history-results span{grid-column:1/-1;overflow:hidden;color:#6d625b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.chat-history-empty{padding:20px;color:#8f8279;font-size:13px;text-align:center}
@media(max-width:1023px){.chat-history-panel{width:100%;border-left:0}.chat-history-trigger{width:34px;padding:0}.chat-history-trigger span{display:none}}
.chat-file-card{display:flex;align-items:center;gap:9px;max-width:min(320px,100%);min-height:48px;padding:9px 11px;border:1px solid #eadfd7;border-radius:9px;background:#fffdfb;color:#54483f;text-decoration:none}.chat-file-card:hover{border-color:#e7a77d;background:#fff8f2}.chat-file-card>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.chat-file-card .sy-icon{flex:none;color:#d2763c}
.chat-upload-file{display:flex;width:78px;height:58px;align-items:center;justify-content:center;gap:3px;border-radius:7px;background:#fff2e8;color:#a45d33}.chat-upload-file b{font-size:11px}.chat-window.chat-drop-active:after{content:'松开即可添加附件'}
.chat-muted-indicator{display:inline-block;margin-left:6px;color:#8c8078;font-size:10px;font-style:normal;font-weight:500;vertical-align:middle}.chat-mute-control{justify-self:start;min-height:32px;padding:0 10px;border:1px solid #eadfd8;border-radius:8px;background:#fffaf6;color:#6b5d53;font-size:12px;cursor:pointer}.chat-mute-control:hover{background:#fff0e5;color:#c8652e}

/* Message row V2: content, time and delivery remain separate visual layers. */
.message-page #chatMessages{gap:12px!important;padding:22px 26px!important;background:#f6f6f4!important}
.message-page #chatMessages>.chat-time-divider{margin:5px 0 1px!important;color:#969b98!important;font-size:11px!important;font-weight:400;line-height:17px!important;text-align:center}
.message-page #chatMessages>.chat-bubble{position:relative!important;display:flex!important;align-items:flex-start!important;overflow:visible!important;gap:9px!important;max-width:100%;margin:0!important}
.message-page #chatMessages>.chat-bubble.chat-same-sender{margin-top:-6px!important}
.message-page #chatMessages>.chat-bubble.mine{flex-direction:row-reverse!important;align-self:flex-end!important}
.message-page #chatMessages>.chat-bubble:not(.business-message){width:max-content!important;max-width:min(calc(65% + 45px),680px)!important}
.message-page #chatMessages>.chat-bubble.mine:not(.business-message):not(.recalled){padding-bottom:20px!important}
.message-page #chatMessages>.chat-bubble>img:first-child,.message-page #chatMessages>.chat-bubble.chat-same-sender>img:first-child{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex:0 0 36px!important;visibility:visible!important;opacity:1!important;object-fit:cover!important;align-self:flex-start!important}
.message-page #chatMessages>.chat-bubble:not(.business-message)>div{position:relative!important;box-sizing:border-box!important;flex:0 1 auto!important;width:fit-content!important;min-width:0!important;max-width:100%!important;min-height:36px!important;padding:9px 12px!important;border:1px solid #edeeeb!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important}
.message-page #chatMessages>.chat-bubble:not(.business-message).mine>div{border-color:#a9dc8e!important;background:#a9dc8e!important}
.message-page #chatMessages>.chat-bubble:not(.business-message)>div:before{content:""!important;position:absolute!important;top:13px!important;left:-4px!important;right:auto!important;width:8px!important;height:8px!important;border:0!important;background:#fff!important;transform:rotate(45deg)!important;z-index:0!important}
.message-page #chatMessages>.chat-bubble:not(.business-message).mine>div:before{left:auto!important;right:-4px!important;background:#a9dc8e!important}
.message-page #chatMessages>.chat-bubble:not(.business-message)>div>p{margin:0!important;color:#242724!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:normal!important}
.message-page #chatMessages>.chat-bubble>.chat-delivery{position:absolute!important;right:45px!important;bottom:0!important;display:block!important;max-width:calc(100% - 45px)!important;margin:0!important;color:#929891!important;font-size:11px!important;line-height:16px!important;text-align:right!important;white-space:nowrap!important}
.message-page #chatMessages>.chat-bubble>.chat-delivery-sent{color:#a6aaa5!important}
.message-page #chatMessages>.chat-bubble>.chat-delivery-failed{color:#bd5147!important}
.message-page #chatMessages>.chat-bubble>.chat-delivery button{min-height:22px;padding:0 2px;color:#bd5147!important}
.message-page #chatMessages>.chat-bubble>.chat-delivery time{margin-right:5px;color:inherit}
.message-page #chatMessages>.chat-bubble>.chat-delivery .chat-read-count{min-height:18px;padding:0 2px;color:#929891!important;font-size:11px!important;font-weight:400;text-decoration:none;vertical-align:baseline}
.message-page #chatMessages>.chat-bubble>.chat-delivery .chat-read-count:hover{color:#d36d39!important;text-decoration:underline}
.message-page #chatMessages>.chat-bubble>.chat-delivery .chat-read-count:focus-visible{outline:2px solid #d8d5d1;outline-offset:2px;border-radius:3px}
.chat-read-popover{position:fixed;z-index:10010;box-sizing:border-box;width:264px;max-height:min(320px,calc(100vh - 24px));overflow:hidden;border:1px solid #e7e1dc;border-radius:12px;background:#fffdfb;box-shadow:0 12px 36px rgba(42,34,27,.13);color:#33312f;font-size:12px}
.chat-read-popover-head{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 12px;border-bottom:1px solid #f0ece8}
.chat-read-popover-head button{width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:#85807b;font-size:20px;cursor:pointer}
.chat-read-popover-head button:hover{background:#f6f3f0}
.chat-read-popover-body{max-height:278px;overflow-y:auto;padding:8px 12px;scrollbar-width:thin;scrollbar-color:#d8d3ce transparent}
.chat-read-popover-body section+section{margin-top:10px;padding-top:9px;border-top:1px solid #f0ece8}
.chat-read-popover-body section>b{display:block;margin-bottom:6px;color:#706d69;font-size:11px;font-weight:600}
.chat-read-member{display:flex;align-items:center;gap:7px;min-height:30px}
.chat-read-member img{width:22px;height:22px;flex:0 0 22px;border-radius:6px;object-fit:cover}
.chat-read-popover [data-read-more]{display:block;width:100%;margin-top:3px;padding:4px;border:0;background:transparent;color:#bc6e47;font-size:11px;cursor:pointer}
.chat-read-popover [data-read-more][hidden]{display:none}
.message-page #chatMessages>.chat-bubble.chat-has-sender>img:first-child,.message-page #chatMessages>.chat-bubble.chat-has-sender>.business-card-stack,.message-page #chatMessages>.chat-bubble.chat-has-sender>div:not(.business-card-stack){margin-top:17px!important}
.message-page #chatMessages>.chat-bubble .group-message-sender{position:absolute!important;top:0!important;left:45px!important;z-index:2!important;padding:0!important;color:#707a74!important;font-size:12px!important;font-weight:500!important;line-height:16px!important;background:transparent!important;border:0!important}
.message-page #chatMessages>.chat-bubble.mine .group-message-sender{display:none!important}
.message-page #chatMessages>.chat-bubble.media-only:not(.business-message)>div{min-height:0!important;padding:0!important;border:0!important;background:transparent!important}
.message-page #chatMessages>.chat-bubble.media-only:not(.business-message)>div:before,.message-page #chatMessages>.chat-bubble.business-message>.business-card-stack:before{display:none!important}
.message-page #chatMessages>.chat-bubble.media-message:not(.media-only):not(.business-message).mine>div,.message-page #chatMessages>.chat-bubble.emoji-message.mine>div{background:#a9dc8e!important;border-color:#a9dc8e!important}
.message-page #chatMessages>.chat-bubble.media-message:not(.media-only):not(.business-message)>div{padding:9px 12px!important;border:1px solid #edeeeb!important}
.message-page #chatMessages>.chat-bubble.emoji-message:not(.business-message)>div{min-width:0!important;width:fit-content!important;height:auto!important;min-height:36px!important;padding:6px 9px!important}
.message-page #chatMessages>.chat-bubble.workbench-emoji-message{min-height:0!important;margin-block:0!important}
.message-page #chatMessages>.chat-bubble.workbench-emoji-message>div{height:auto!important;min-height:36px!important;padding:6px 9px!important}
.message-page #chatMessages>.chat-bubble .chat-reply-preview{order:-1!important;margin:0 0 7px!important;padding:6px 8px!important;border-left:2px solid #d3d9d2!important;border-radius:4px!important;background:#f3f5f2!important;color:#636b63!important;font-size:12px!important}
.message-page #chatMessages>.chat-bubble.mine .chat-reply-preview{border-left-color:#6aaa52!important;background:rgba(255,255,255,.42)!important}
.message-page #chatMessages>.chat-bubble.media-message .media-preview-trigger img,.message-page #chatMessages>.chat-bubble.media-message .media-preview-trigger video{max-width:min(300px,62vw)!important;border-radius:9px!important}
@media(max-width:1023px){.message-page #chatMessages{padding:14px!important}.message-page #chatMessages>.chat-bubble:not(.business-message){max-width:calc(80% + 45px)!important}}
.message-page #chatMessages>.chat-bubble>.chat-message-tools{position:absolute;z-index:5;top:0;left:calc(100% + 6px);display:flex;gap:1px;padding:2px;border:1px solid #e7e9e5;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(35,40,33,.08);opacity:0;pointer-events:none;transform:translateY(3px);transition:opacity 150ms ease,transform 150ms ease}
.message-page #chatMessages>.chat-bubble.mine>.chat-message-tools{left:auto;right:calc(100% + 6px)}
.message-page #chatMessages>.chat-bubble:hover>.chat-message-tools,.message-page #chatMessages>.chat-bubble:focus-within>.chat-message-tools{opacity:1;pointer-events:auto;transform:none}
.message-page #chatMessages>.chat-bubble>.chat-message-tools button{display:grid;min-width:32px;height:32px;place-items:center;padding:0 5px;border:0;border-radius:6px;background:transparent;color:#667069;font-size:11px;cursor:pointer;white-space:nowrap}
.message-page #chatMessages>.chat-bubble>.chat-message-tools button:hover,.message-page #chatMessages>.chat-bubble>.chat-message-tools button:focus-visible{background:#f1f3ef;color:#2b332c;outline:2px solid transparent}
@media(hover:none){.message-page #chatMessages>.chat-bubble>.chat-message-tools{display:none}}
@media(max-width:1023px){.message-page #chatMessages>.chat-bubble>.chat-message-tools{display:none!important}}
@media(prefers-reduced-motion:reduce){.message-page #chatMessages>.chat-bubble>.chat-message-tools{transition:none}}

/* Message header and category controls: layout only; keep existing button IDs/events. */
.chat-sidebar .chat-sidebar-head{justify-content:space-between!important;gap:8px!important}
.chat-sidebar .chat-sidebar-head h2{flex:1;min-width:0;margin:0!important;font-size:15px!important;font-weight:600!important;line-height:1.3!important}
.chat-sidebar .chat-sidebar-actions{flex:none;justify-content:flex-end;gap:5px!important}
.chat-sidebar .chat-sidebar-actions .round{display:inline-flex!important;flex:none;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;min-width:30px!important;padding:0!important}
.chat-sidebar .chat-sidebar-actions .round .sy-icon{display:block;width:17px;height:17px;flex:none}
.chat-sidebar .category-create-row{min-width:0;padding:2px 4px 7px}
.chat-sidebar .category-create-row .category-create-button{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0 12px!important;border:1px dashed #e9c9b6!important;border-radius:8px!important;background:#fffaf7!important;color:#c66b3c!important;font-size:13px!important;font-weight:500!important;line-height:1!important;white-space:nowrap}
.chat-sidebar .category-create-row .category-create-button:hover{background:#fff0e6!important;border-color:#df9f79!important}
.chat-sidebar .category-create-row .category-create-button:focus-visible{outline:2px solid #d98752;outline-offset:2px}
.chat-sidebar .category-create-row .category-create-button .sy-icon{position:static!important;display:block!important;width:16px!important;height:16px!important;flex:0 0 16px!important;margin:0!important;transform:none!important}
.chat-sidebar .category-create-row .category-create-button span{display:block;flex:none;line-height:1!important}
.chat-sidebar .conversation-category-note{padding:0 9px 12px;line-height:1.45}
.schedule-month-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent}
.schedule-month-scroll::-webkit-scrollbar{width:6px;height:6px}
.schedule-month-scroll::-webkit-scrollbar-thumb{background:transparent}
.schedule-month-scroll:hover,.schedule-month-scroll.is-scrolling{scrollbar-color:#b9ada580 transparent}
.schedule-month-scroll:hover::-webkit-scrollbar-thumb,.schedule-month-scroll.is-scrolling::-webkit-scrollbar-thumb{background:#b9ada580}
.message-page .chat-main-head{justify-content:flex-start!important;gap:9px!important}
.message-page .chat-header-identity{flex:0 1 auto!important;min-width:0;overflow:hidden}
.message-page .chat-header-identity h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-page .chat-header-tools{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:5px;min-width:0;margin-left:auto}
.message-page .chat-header-tools .chat-history-trigger{display:inline-flex;flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#706b66}
.message-page .chat-header-tools .chat-history-trigger:hover,.message-page .chat-header-tools .chat-history-trigger:focus-visible{background:#fff0e6;color:#cc682e}
.message-page .chat-header-tools .chat-header-tool-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.message-page .chat-header-tools .chat-desktop-notify{display:inline-flex;flex:0 0 32px;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:0;background:transparent}
.message-page .chat-header-tools .soft-btn{margin-left:0!important;white-space:nowrap}
.message-page .chat-header-tools .chat-connection-status{display:inline-flex;flex:none;align-items:center;gap:5px;margin:0 0 0 5px;color:#718476;font-size:11px;font-weight:500;white-space:nowrap}
.message-page .chat-header-tools .chat-connection-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
@media(min-width:1024px){.message-page .mobile-chat-back{display:none!important}}
@media(max-width:1023px){.message-page .chat-header-tools .chat-connection-status{display:none}.message-page .chat-header-tools .soft-btn{max-width:90px;overflow:hidden;text-overflow:ellipsis}.chat-sidebar .category-create-row .category-create-button{height:44px!important;min-height:44px!important}}
