.chatShell{max-width:720px;margin:32px auto;padding:0 20px}.chatListHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.chatHeaderActions{display:flex;gap:8px}.chatListHeader h1{margin:0;font-size:22px}.chatNewButton{background:var(--green);color:var(--white);border:none;border-radius:8px;padding:8px 16px;font-weight:600}.chatError{color:#b3261e;background:#fdecea;border-radius:8px;padding:8px 12px;margin-bottom:12px}.chatEmptyHint,.chatEmptyState{text-align:center;color:var(--muted);padding:40px 0}.chatEmptyState button{margin-top:12px;background:var(--green);color:var(--white);border:none;border-radius:8px;padding:8px 16px}.conversationList{list-style:none;margin:0;padding:0;background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden}.conversationRow{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;border-bottom:1px solid var(--line);background:none;text-align:left}.conversationRow:last-child{border-bottom:none}.conversationRow:hover{background:var(--mint)}.conversationAvatar{width:40px;height:40px;border-radius:50%;background:var(--green-2);color:var(--white);display:grid;place-items:center;font-weight:700;flex-shrink:0;overflow:hidden}.conversationAvatar img{width:100%;height:100%;object-fit:cover}.conversationInfo{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.conversationInfo strong{color:var(--ink)}.conversationInfo small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversationUnread{background:var(--gold);color:var(--white);font-size:12px;font-weight:700;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px}.chatPickerOverlay{position:fixed;inset:0;background:rgba(25,35,30,.4);display:grid;place-items:center;z-index:40}.chatPickerPanel{width:min(420px,90vw);max-height:70vh;background:var(--white);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.chatPickerPanel header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line)}.chatPickerPanel header button{border:none;background:none;font-size:20px}.contactPickerList{list-style:none;margin:0;padding:0}.contactPickerList>li>button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:none;text-align:left}.contactPickerList>li>button:hover{background:var(--mint)}.chatThreadShell{min-width:0;min-height:0;overflow:hidden;padding:0;display:flex;flex-direction:column;height:100%;background:#f5f5f5}.chatThreadHeader{flex-shrink:0;min-height:48px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid #e7e7e7;background:#fafafa;gap:18px}.chatThreadHeader strong{font-size:15px;color:var(--ink)}.chatBackButton>svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chatMoreButton>svg{width:25px;height:25px;fill:currentColor}.chatBackButton{display:none;border:none;background:none;color:var(--green);font-weight:600;padding:4px 0}.chatMessageList{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px 22px}.chatBubbleRow{display:flex;align-items:flex-start;gap:8px}.chatBubbleRow.isMine{justify-content:flex-start;flex-direction:row-reverse}.chatMoreWrap{position:relative;margin-left:auto}.chatMoreButton{min-width:38px;height:30px;border:0;border-radius:5px;background:transparent;color:#4f5652;font-size:18px;letter-spacing:2px;cursor:pointer}.chatMoreButton:hover,.chatMoreButton[aria-expanded=true]{background:#e7e7e7}.chatMoreMenu{position:absolute;top:calc(100% + 6px);right:0;z-index:10;min-width:140px;padding:6px;border:1px solid #dedede;border-radius:7px;background:white;box-shadow:0 8px 24px rgba(0,0,0,.14)}.chatMoreMenu button{width:100%;padding:9px 12px;border:0;border-radius:5px;background:transparent;text-align:left;cursor:pointer}.chatMoreMenu button:hover{background:#f4f4f4}.chatMoreMenu button.isDanger{color:#c7352c}.chatMoreMenu button:disabled{opacity:.5;cursor:wait}.chatMenuCheck{display:inline-grid;width:18px;height:18px;margin-right:7px;place-items:center;border:1px solid #bbb;border-radius:4px;color:white}.chatMenuCheck.isOn{border-color:var(--green);background:var(--green)}.chatBubbleAvatar{width:36px;height:36px;border-radius:50%;background:var(--green-2);color:var(--white);display:grid;place-items:center;font-weight:700;flex-shrink:0;overflow:hidden}.chatBubbleAvatar img{width:100%;height:100%;object-fit:cover}.chatBubble{max-width:70%;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.chatBubbleRow.isMine .chatBubble{background:var(--mint);border-color:var(--green-2)}.chatSenderName{display:block;color:var(--muted);margin-bottom:2px}.chatBubble p{margin:0;white-space:pre-wrap;word-break:break-word}.chatTranslateHint{display:block;margin-top:4px;color:var(--muted);font-style:italic}.chatTranslateToggle{display:block;margin-top:4px;border:none;background:none;padding:0;color:var(--green-2);text-decoration:underline;font-size:12px;cursor:pointer}.chatBubbleActions{display:flex;justify-content:flex-end;margin-top:5px}.chatBubbleActions button{border:0;background:transparent;padding:0;color:#5c8d78;font-size:11px;cursor:pointer}.chatBubbleActions button:hover{text-decoration:underline}.chatBubbleActions button:disabled{opacity:.55;cursor:wait}.profileField select{min-width:0;height:40px;padding:0 11px;color:var(--ink);background:white;border:1px solid #dce5df;border-radius:8px;font:inherit}.profileField select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(53,139,96,.1);outline:none}.chatComposer{display:block;border-top:1px solid var(--line);min-height:174px;padding:12px;background:#f5f5f5}.chatComposerSurface{position:relative;height:100%;min-height:150px;display:grid;grid-template-rows:minmax(88px,1fr) auto;overflow:visible;border:1px solid #dfe3e1;border-radius:10px;background:white;box-shadow:inset 0 1px 2px rgba(31,47,39,.025)}.chatMentionWrap{position:relative}.chatMentionMenu{position:absolute;left:10px;bottom:48px;z-index:12;width:min(280px,calc(100% - 20px));max-height:260px;overflow-y:auto;padding:6px;border:1px solid #d9dfdc;border-radius:9px;background:white;box-shadow:0 8px 24px rgba(0,0,0,.14)}.chatMentionMenu button{display:flex;align-items:center;gap:9px;width:100%;border:0!important;background:transparent!important;color:var(--ink)!important;padding:8px!important;text-align:left}.chatMentionMenu button:hover{background:#f2f2f2!important}.chatMentionMenu button>span:last-child{display:grid;gap:1px}.chatMentionMenu strong{font-size:13px}.chatMentionMenu small{color:var(--muted);font-size:11px}.chatMentionAllAvatar,.chatMentionAvatar{width:30px;height:30px;display:grid;flex:0 0 auto;place-items:center;border-radius:6px;color:white;background:#6c8f7e;font-size:12px;font-weight:700}.chatMentionAllAvatar{background:var(--green)}.chatMentionEmpty{display:block;padding:8px;color:var(--muted);font-size:13px}.profileToggleField{grid-template-columns:1fr auto;align-items:center}.profileToggleField input[type=checkbox]{width:18px;height:18px}.profileToggleField small{grid-column:1/-1}.chatComposer textarea{width:100%;min-height:88px;resize:none;border:none;border-radius:10px 10px 0 0;padding:12px 13px 4px;color:var(--ink);background:transparent;font:inherit;line-height:1.55;outline:none}.chatComposerSurface:focus-within{border-color:#9fc9b5;box-shadow:0 0 0 2px rgba(45,137,91,.08)}.chatComposerToolbar{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 9px 8px}.chatComposerTools{min-width:0;display:flex;align-items:center;gap:10px;color:#959c98;font-size:10px}.chatComposer .chatToolButton{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:#4e5752;background:transparent;font-size:20px;font-weight:400;cursor:pointer}.chatComposer .chatToolButton:hover{background:#f0f3f1}.chatComposer .chatToolButton:disabled{opacity:.45;cursor:wait}.chatComposer .chatToolButton svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chatHiddenInput{display:none}.chatComposer .chatSendButton{min-width:64px;min-height:34px;padding:0 15px;border:0;border-radius:7px;color:white;background:var(--green);font-weight:600;cursor:pointer}.chatImageAttachment{width:min(320px,48vw);display:grid;gap:5px;color:var(--muted);text-decoration:none;font-size:10px}.chatImageAttachment img{width:100%;max-height:260px;display:block;border-radius:8px;object-fit:contain;background:#f1f3f2}.chatImageAttachment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatFileAttachment{width:min(300px,58vw);display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 2px;color:var(--ink);text-decoration:none}.chatFileAttachment>span:nth-child(2){min-width:0;display:grid;gap:3px}.chatFileAttachment strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.chatFileIcon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chatVoiceMessage{min-width:78px;height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 3px;border:0;color:#202421;background:transparent;cursor:pointer}.chatVoiceMessage audio{display:none}.chatVoiceMessage strong{min-width:34px;font-size:18px;font-weight:400;text-align:left}.chatVoiceMessage.isMine{flex-direction:row-reverse}.chatVoiceMessage.isMine strong{text-align:right}.chatVoiceGlyph{width:28px;height:28px;flex:0 0 28px;fill:currentColor;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;fill-rule:evenodd;transform:rotate(180deg)}.chatVoiceMessage.isMine .chatVoiceGlyph{transform:none}.chatVoiceGlyph path{fill:none}.chatVoiceGlyph circle{stroke:none}.chatVoiceMessage.isPlaying .chatVoiceGlyph path:first-of-type{animation:chatVoiceWave .9s steps(1) infinite}.chatVoiceMessage.isPlaying .chatVoiceGlyph path:last-of-type{animation:chatVoiceWave .9s steps(1) .25s infinite}@keyframes chatVoiceWave{0%,to{opacity:1}50%{opacity:.18}}.chatVoiceHold{min-height:40px;border:1px solid #dcdedc;border-radius:7px;color:#242725;background:white;font-size:15px;font-weight:600;touch-action:none;user-select:none;-webkit-user-select:none}.chatVoiceHold.isRecording{color:#086c39;background:#dff5e8}.chatVoiceHold.isCancel{color:#b22d28;background:#fde8e7}.chatEmojiPanel,.chatPlusPanel{border-top:1px solid #dedede;background:#f5f5f5}.chatEmojiPanel{height:330px;overflow:hidden}.chatPlusPanel{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:18px 14px;padding:22px 18px calc(24px + env(safe-area-inset-bottom))}.chatPlusPanel>button{min-width:0;display:grid;justify-items:center;gap:8px;border:0;color:#5f6561;background:transparent;font-size:12px}.chatPlusPanel>button:disabled{opacity:.38}.chatPlusPanel i{width:58px;height:58px;display:grid;place-items:center;border-radius:12px;color:#424743;background:white;font-style:normal}.chatPlusPanel svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chatFileAttachment small{color:var(--muted);font-size:10px}.chatFileAttachment b{color:var(--green);font-size:11px}.chatFileIcon{width:38px;height:42px;display:grid;place-items:center;border-radius:6px;color:var(--green);background:#edf5f0;font-size:23px}.chatBubble p:not(:first-child){margin-top:7px}.chatDesktopShell{width:min(1180px,calc(100vw - 32px));height:clamp(600px,calc(100vh - 112px),820px);min-height:520px;margin:16px auto;display:grid;grid-template-columns:336px minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden;border:1px solid #dfe3e1;border-radius:10px;background:#f5f5f5;box-shadow:0 12px 32px rgba(31,47,39,.08)}.chatSidebar{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);background:#f2f2f2;border-right:1px solid #dedede}.chatRail{padding:18px 9px;display:flex;flex-direction:column;gap:12px;background:#303335}.chatRail button{width:40px;height:40px;border:0;border-radius:7px;color:#bfc3c4;background:transparent;font-size:20px;cursor:pointer}.chatConversationSearch,.chatMobileHeaderMore,.chatRail button small{display:none}.chatConversationTime{margin-left:auto;color:#a4aaa7;font-size:10px;white-space:nowrap}.chatRail button.isActive,.chatRail button:hover{color:#1ec870;background:rgba(255,255,255,.08)}.chatRailSpacer{flex:1 1}.chatLanguageWrap{position:relative}.chatRailSettingsButton{width:40px;height:40px;border:0;border-radius:7px;color:#bfc3c4;background:transparent;font-size:18px;cursor:pointer}.chatRailSettingsButton:hover{color:#1ec870;background:rgba(255,255,255,.08)}.chatLanguagePopup{position:absolute;bottom:0;left:54px;width:200px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:4px;z-index:30}.chatLanguagePopup strong{font-size:13px}.chatLanguagePopup p{margin:0 0 6px;font-size:12px;color:var(--muted)}.chatLanguagePopup button{display:flex;align-items:center;gap:6px;border:none;background:none;border-radius:6px;padding:8px 10px;text-align:left;font-size:14px;color:var(--ink);cursor:pointer;white-space:nowrap}.chatLanguagePopup button:hover{background:var(--mint)}.chatLanguagePopup button.isActive{background:var(--mint);font-weight:600}.chatLanguageCheck{color:var(--green)}.chatSidebarPane{min-width:0;display:flex;flex-direction:column;overflow:hidden}.chatSidebarHeader{min-height:62px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e4e4}.chatSidebarHeader strong{font-size:16px}.chatSidebarHeader button{width:30px;height:30px;border:0;border-radius:5px;background:#dedede;font-size:18px;cursor:pointer}.chatStartWrap{position:relative}.chatStartMenu{position:absolute;top:calc(100% + 7px);right:0;z-index:25;width:136px;padding:6px;border:1px solid #d8d8d8;border-radius:7px;background:white;box-shadow:0 8px 24px rgba(0,0,0,.14)}.chatSidebarHeader .chatStartMenu button{width:100%;height:auto;padding:8px 10px;border-radius:5px;background:transparent;font-size:14px;text-align:left;white-space:nowrap}.chatSidebarHeader .chatStartMenu button:hover{background:var(--mint)}.chatSidebarError{margin:8px;padding:7px;border-radius:5px;color:#a12721;background:#fdecea;font-size:12px}.chatSidebarList{flex:1 1;overflow-y:auto;border:0;border-radius:0;background:transparent}.chatSidebarList .conversationRow{min-height:64px;padding:10px 12px;gap:10px}.chatSidebarList .conversationRow:hover{background:#e7e7e7}.chatSidebarList .conversationRow.isSelected{background:#d9d9d9}.chatSidebarList .conversationAvatar{width:42px;height:42px;border-radius:5px}.chatSidebarList .conversationInfo strong{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatSidebarList .conversationInfo small{font-size:12px}.chatSidebarEmpty{padding:28px 16px;color:var(--muted);text-align:center;font-size:13px}.chatContactsPane{min-height:0;display:flex;flex:1 1;flex-direction:column}.chatSidebarSearch{margin:10px 12px;padding:8px 10px;border:0;border-radius:5px;background:#e3e3e3;outline:none}.chatDepartmentTree{max-height:42%;overflow-y:auto;border-bottom:1px solid #ddd;padding-bottom:6px}.chatContactList{min-height:0}.chatContactSectionTitle{display:none}.chatWelcomePane{display:grid;place-content:center;justify-items:center;color:#8d9490;text-align:center}.chatWelcomePane h1{margin:10px 0 4px;color:#4d5551;font-size:22px}.chatWelcomePane p{margin:0 0 18px}.chatWelcomeMark{font-size:52px;filter:grayscale(1);opacity:.35}@media (max-width:760px){body.chatViewportLockedBody,html.chatViewportLocked{width:100%;height:var(--chat-viewport-height,100dvh);min-height:var(--chat-viewport-height,100dvh);overflow:hidden;overscroll-behavior:none;background:#ededed}html.chatViewportLocked{position:static}body.chatViewportLockedBody{position:static;touch-action:manipulation}body:has(.chatDesktopShell)>.globalLanguageFallback,main:has(>.chatDesktopShell)>.siteHeader{display:none}.chatDesktopShell{position:fixed;inset:0 0 auto;width:auto;height:var(--chat-viewport-height,100dvh);min-height:0;margin:0;border:0;border-radius:0;grid-template-columns:1fr;box-shadow:none}.chatDesktopShell>.chatSidebar{display:none}.chatDesktopShell:has(.chatWelcomePane)>.chatSidebar{display:grid}.chatDesktopShell:has(.chatWelcomePane)>.chatWelcomePane{display:none}.chatSidebar{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;border:0}.chatSidebarPane{grid-row:1}.chatRail{grid-row:2;min-height:calc(54px + env(safe-area-inset-bottom));padding:5px 18px max(5px,env(safe-area-inset-bottom));flex-direction:row;align-items:center;justify-content:space-around;gap:0;background:#fafafa;border-top:1px solid #dedede}.chatRailSpacer{display:none}.chatRail>button,.chatRailSettingsButton{width:72px!important;height:49px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#303432;font-size:23px!important}.chatRail button small{display:block;font-size:10px;font-weight:400}.chatRail button.isActive,.chatRail button:hover{color:#07c160;background:transparent}.chatRail button>span{display:grid;place-items:center}.chatRail button>span svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chatLanguageWrap{display:flex;justify-content:center}.chatLanguagePopup{right:0;bottom:calc(100% + 8px);left:auto}.chatSidebarHeader{position:relative;min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;justify-content:flex-end;background:#ededed}.chatSidebarHeader>strong{position:absolute;right:64px;left:64px;color:#171918;text-align:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,sans-serif;font-size:17px;font-weight:600;line-height:22px}.chatSidebarHeader svg{display:block;width:25px;height:25px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.chatSidebarHeader svg circle{fill:currentColor;stroke:none}.chatSidebarHeader svg circle.isOutline{fill:none;stroke:currentColor;stroke-width:1.8}.chatSidebarHeader .chatMobileHeaderMore{position:absolute;left:14px;display:grid;width:34px;place-items:center;color:#171918;background:transparent}.chatSidebarHeader .chatMobileHeaderMore svg{width:24px}.chatSidebarHeader>.chatStartWrap>button{display:grid;width:34px;place-items:center;color:#171918;background:transparent}.chatSidebarHeader>.chatStartWrap>button svg{width:28px;height:28px}.chatConversationSearch{height:52px;display:flex;align-items:center;gap:8px;margin:0;padding:7px 12px;background:#ededed}.chatConversationSearch span{position:absolute;margin-left:calc(50% - 42px);color:#a8adaa;font-size:23px;pointer-events:none}.chatConversationSearch input{width:100%;height:38px;padding:0 14px;border:0;border-radius:7px;background:white;outline:none;text-align:center;font-size:16px}.chatConversationSearch input:focus{text-align:left}.chatConversationSearch:focus-within span{display:none}.chatSidebarList{background:white;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.chatSidebarList .conversationRow{position:relative;min-height:76px;padding:10px 15px;background:white;border-bottom-color:#e8e8e8}.chatSidebarList .conversationRow.isSelected,.chatSidebarList .conversationRow:hover{background:#f3f3f3}.chatSidebarList .conversationAvatar{width:48px;height:48px;border-radius:6px}.chatSidebarList .conversationInfo{padding-right:48px}.chatSidebarList .conversationInfo strong{font-size:16px;color:#171918}.chatSidebarList .conversationInfo small{margin-top:3px;font-size:13px}.chatConversationTime{position:absolute;top:11px;right:15px;font-size:11px}.conversationUnread{position:absolute;right:15px;bottom:10px;min-width:18px;height:18px;padding:0 5px;background:#fa5151;font-size:10px}.chatContactsPane{background:#f5f5f5}.chatContactsPane .chatSidebarSearch{height:38px;margin:8px 12px;padding:0 14px;border-radius:7px;background:white;font-size:16px;text-align:center}.chatDepartmentTree{max-height:36%;margin-bottom:10px;padding:0;border:0;background:white}.chatDepartmentTree .deptTreeNode{min-height:50px;padding:0 18px!important;border-bottom:1px solid #ededed;color:#242725;background:white;font-size:15px;font-weight:400}.chatDepartmentTree .deptTreeNode:before{content:"";width:24px;height:24px;flex:0 0 24px;border-radius:6px;background:#5ba8df;box-shadow:inset 0 0 0 7px rgba(255,255,255,.86)}.chatDepartmentTree .deptTreeNode span{flex:1 1}.chatDepartmentTree .deptTreeNode small{color:#9aa09c;font-size:13px}.chatDepartmentTree .deptTreeNode.deptTreeActive{color:#087d42;background:#f3fbf6}.chatDepartmentTree .deptTreeUnassigned{margin:0;border-top:0}.chatContactSectionTitle{min-height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:#8a918d;background:#f5f5f5;font-size:12px}.chatContactSectionTitle small{font-size:11px}.chatContactList{background:white}.chatContactList .conversationRow{min-height:66px;padding:8px 14px;gap:12px;border-bottom:0}.chatContactList li:not(:last-child) .conversationRow:after{content:"";position:absolute;right:0;bottom:0;left:74px;height:1px;background:#ededed}.chatContactList .conversationAvatar{width:46px;height:46px;border-radius:6px}.chatContactList .conversationInfo strong{font-size:16px;font-weight:500}.chatContactList .conversationInfo small{margin-top:2px;color:#989e9a;font-size:12px}.chatThreadHeader{position:relative;min-height:calc(50px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;justify-content:center;background:#ededed}.chatThreadHeader>strong{max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.chatBackButton{position:absolute;left:12px;display:flex;align-items:center;gap:4px;color:#1f2321}.chatBackButton>svg{width:27px;height:27px}.chatBackButton small{max-width:42px;overflow:hidden;font-size:12px;text-overflow:ellipsis}.chatMoreWrap{position:absolute;right:10px}.chatMoreButton{font-size:20px}.chatMessageList,.chatThreadShell{background:#ededed;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.chatMessageList{gap:13px;padding:16px}.chatBubbleAvatar{width:40px;height:40px;border-radius:5px}.chatBubble{max-width:78%;padding:9px 12px;border:0;border-radius:5px;font-size:16px;line-height:1.45}.chatBubbleRow.isMine .chatBubble{background:#95ec69;border:0}.chatSenderName{margin-bottom:4px;font-size:11px}.chatComposer{min-height:calc(58px + env(safe-area-inset-bottom));max-height:52dvh;display:flex;flex:0 0 auto;flex-direction:column;padding:7px 8px calc(7px + env(safe-area-inset-bottom));overflow:hidden;background:#f7f7f7}.chatComposerSurface{width:100%;height:44px;min-height:44px;display:grid;flex:0 0 44px;grid-template-columns:40px minmax(0,1fr) 40px 40px;grid-template-rows:44px;align-items:center;gap:5px;border:0;border-radius:0;background:transparent;box-shadow:none}.chatComposerSurface:focus-within{border:0;box-shadow:none}.chatComposer textarea,.chatVoiceHold{grid-column:2;grid-row:1;min-height:40px;height:40px;padding:8px 10px;overflow-y:auto;border-radius:7px;background:white;font-size:16px;line-height:24px}.chatComposerToolbar,.chatComposerTools{display:contents}.chatComposerTools>span{display:none}.chatComposer .chatToolButton{grid-row:1;width:40px;height:40px;display:grid;place-items:center;color:#191c1a;font-size:29px}.chatComposer .chatToolButton.isVoice{grid-column:1}.chatComposer .chatToolButton.isEmoji{grid-column:3}.chatComposer .chatToolButton.isFile{grid-column:4}.chatComposer .chatSendButton{grid-column:4;grid-row:1;min-width:0;width:40px;min-height:36px;padding:0 5px;font-size:12px}.chatComposer .chatSendButton:disabled{display:none}.chatComposerSurface:has(.chatSendButton:not(:disabled)) .chatToolButton.isFile{display:none}.chatComposerSurface:has(.chatSendButton:not(:disabled)){grid-template-columns:40px minmax(0,1fr) 40px auto}.chatMentionMenu{bottom:50px}.chatComposer textarea,.chatPickerPanel input,.chatPickerPanel select,.chatPickerPanel textarea,.chatSidebar input{font-size:16px!important}.chatImageAttachment{width:min(260px,62vw)}.chatFileAttachment{width:min(270px,68vw)}.chatBubble:has(.chatVoiceMessage){position:relative;padding:0 12px;border-radius:6px}.chatBubble:has(.chatVoiceMessage):before{content:"";position:absolute;top:16px;left:-4px;width:8px;height:8px;background:white;transform:rotate(45deg)}.chatBubbleRow.isMine .chatBubble:has(.chatVoiceMessage):before{right:-4px;left:auto;background:#95ec69}.chatVoiceMessage{max-width:56vw;height:42px}.chatEmojiPanel{height:min(330px,40dvh);flex:0 0 min(330px,40dvh);padding-bottom:env(safe-area-inset-bottom)}.chatEmojiPanel,.chatPlusPanel{width:calc(100% + 16px);margin:7px -8px calc(-7px - env(safe-area-inset-bottom))}.chatPlusPanel{flex:0 0 auto}.chatProfilePane{flex:1 1;min-height:0;overflow-y:auto;padding:12px 0 28px;background:#ededed;overscroll-behavior-y:contain}.chatProfileIdentity{min-height:126px;display:grid;grid-template-columns:68px minmax(0,1fr) 24px;align-items:center;gap:14px;padding:20px 22px;background:white}.chatProfileIdentity .conversationAvatar{width:68px;height:68px;border-radius:7px;font-size:25px}.chatProfileIdentity>span{min-width:0;display:grid;gap:8px}.chatProfileIdentity strong{color:#171918;font-size:21px;font-weight:600}.chatProfileIdentity small{overflow:hidden;color:#7d8580;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.chatProfileIdentity>svg{width:22px;fill:none;stroke:#b0b5b2;stroke-width:1.8}.chatProfileGroup{margin-top:10px;background:white}.chatProfileGroup>button{width:100%;min-height:68px;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:9px 18px;border:0;border-bottom:1px solid #ededed;background:white;text-align:left}.chatProfileGroup i{display:grid;width:28px;height:28px;place-items:center;color:#17b977;font-style:normal}.chatProfileGroup i.isReview{color:#368fe0}.chatProfileGroup i svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.chatProfileGroup button>span,.chatProfileSettingTitle>span{min-width:0;display:grid;gap:3px}.chatProfileGroup button strong,.chatProfileSettingTitle strong{color:#202421;font-size:16px;font-weight:500}.chatProfileGroup button small,.chatProfileSettingTitle small{color:#939995;font-size:12px}.chatProfileGroup button>b{color:#b0b5b2;font-size:27px;font-weight:300}.chatProfileSettings{padding:14px 18px 16px}.chatProfileSettingTitle{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px}.chatProfileLanguages{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0 46px}.chatProfileLanguages button{min-height:36px;border:1px solid #dce2de;border-radius:8px;color:#59615c;background:#f7f8f7;font-size:13px}.chatProfileLanguages button.isActive{border-color:#07c160;color:#087a3d;background:#eaf8f0}}.iosInstallHint{position:fixed;right:12px;bottom:calc(66px + env(safe-area-inset-bottom));left:12px;z-index:80;display:grid;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(0,0,0,.18);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.iosInstallHint img{width:42px;height:42px;border-radius:10px;object-fit:cover}.iosInstallHint span{min-width:0;display:grid;gap:3px}.iosInstallHint strong{font-size:13px}.iosInstallHint small{color:var(--muted);font-size:11px;line-height:1.35}.iosInstallHint button{width:30px;height:30px;border:0;border-radius:50%;color:#747b77;background:#eef0ef;font-size:18px}.chatComposer>button{background:var(--green);color:var(--white);border:none;border-radius:8px;padding:10px 18px;font-weight:600}.chatComposer button:disabled{opacity:.5}.contactsShell{max-width:960px;margin:32px auto;padding:0 20px}.contactsHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.contactsHeader h1{margin:0;font-size:22px}.contactsSearch{width:100%;margin-bottom:16px}.contactsBody{display:grid;grid-template-columns:240px 1fr;gap:16px}.contactsTreePane{padding:12px 0;align-self:start}.contactsMemberPane,.contactsTreePane{background:var(--white);border:1px solid var(--line);border-radius:12px}.contactsMemberPane{padding:16px;min-height:200px}.deptManageActions{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.deptManageActions button:not(.chatNewButton){border:1px solid var(--line);background:var(--white);border-radius:8px;padding:6px 12px}.contactsMemberList{border:none}.contactsMemberRow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.contactsMemberRow:last-child{border-bottom:none}.contactsMemberRow button{margin-left:auto;border:1px solid var(--line);background:var(--white);border-radius:8px;padding:6px 12px}.deptTree{display:flex;flex-direction:column}.deptTreeLevel{list-style:none;margin:0;padding:0}.deptTreeNode{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:none;background:none;text-align:left}.deptTreeNode:hover{background:var(--mint)}.deptTreeNode small{color:var(--muted)}.deptTreeActive{background:var(--mint);font-weight:600}.deptTreeUnassigned{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.contactPickerPanel{width:min(560px,92vw);max-height:80vh}.contactPickerSearch{width:calc(100% - 32px);margin:0 16px 8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px}.contactPickerChips{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 8px}.contactChip{display:inline-flex;align-items:center;gap:4px;background:var(--mint);border-radius:999px;padding:4px 8px 4px 12px;font-size:13px}.contactChip button{border:none;background:none;cursor:pointer;color:var(--muted)}.contactPickerBody{display:flex;gap:12px;padding:0 16px;overflow:hidden;flex:1 1}.contactPickerTree{width:200px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--line)}.contactPickerList{flex:1 1;overflow-y:auto}.contactPickerList>li>button{position:relative}.contactPickerSelected{background:var(--mint)}.contactPickerCheck{color:var(--green);font-weight:700}.contactPickerEmpty{color:var(--muted);text-align:center;padding:24px 0}.contactPickerFooter{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.contactPickerFooter button:first-child{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:8px 16px}.deptEditorPanel{width:min(420px,92vw)}.deptEditorBody{padding:0 16px;display:flex;flex-direction:column;gap:12px}.deptEditorPanel footer{display:flex;justify-content:flex-end;gap:8px;padding:16px}.chatRecalledRow{display:flex;justify-content:center;padding:4px 0}.chatRecalledRow span{font-size:12px;color:var(--muted);background:#f0f0f0;border-radius:999px;padding:3px 12px}.chatContextMenu{position:fixed;z-index:40;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:4px;min-width:96px}.chatContextMenu button{display:block;width:100%;border:none;background:none;border-radius:6px;padding:8px 12px;text-align:left;font-size:14px;color:var(--ink);cursor:pointer}.chatContextMenu button:hover:not(:disabled){background:var(--mint)}.chatContextMenu button:disabled{color:var(--muted);cursor:not-allowed}.chatForwardOverlay{position:fixed;inset:0;background:rgba(25,35,30,.4);display:grid;place-items:center;z-index:50}.chatForwardModal{width:min(420px,90vw);max-height:70vh;background:var(--white);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.chatForwardHeader{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line);font-weight:600}.chatForwardClose{border:none;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--muted)}.chatForwardList{list-style:none;margin:0;padding:8px;overflow-y:auto}.chatForwardEmpty{padding:16px;text-align:center;color:var(--muted);font-size:14px}.chatForwardItem{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:8px;cursor:pointer}.chatForwardItem:hover{background:var(--mint)}.chatForwardFooter{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}.deptEditorPanel footer button:first-child{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:8px 16px}.laborPage .laborPrimary{background:#215c40;color:#fff;border-color:#215c40;font-weight:700}.laborPage .laborRemove{color:#9d3933;border-color:#ecd3cf;background:#fff8f7}.laborTabs button[aria-pressed=true]{background:#215c40;color:#fff;border-color:#215c40}.laborDone{background:#eaf4ed;color:#1f5a3d;padding:12px;border-radius:8px}.laborToolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin-bottom:16px}.laborToolbar label{display:grid;gap:7px;font-size:13px;width:190px}.laborToolbar>p{flex:1 1 320px;margin:0;color:#52685c;font-size:13px}.laborToolbar .projectActions span{color:#617468;font-size:13px}.laborPage .laborCheck{display:flex;align-items:center;gap:8px;width:auto;padding-bottom:9px}.laborPage .laborCheck input{width:auto}.laborState{display:inline-block;padding:5px 10px;border-radius:20px;font-size:12px;white-space:nowrap;background:#eef1ef;color:#5d6b63}.laborStateOPEN{background:#fff5d6;color:#7d6119}.laborStateCONFIRMED{background:#e3f2e8;color:#1f6a44}.laborTable td,.laborTable th{white-space:nowrap}.laborTable td:last-child{white-space:normal}.laborSub{font-size:16px;margin:22px 0 8px}.laborDays{display:flex;flex-wrap:wrap;gap:6px;min-width:320px}.laborDays span{padding:4px 8px;border-radius:6px;background:#f1f6f3;font-size:12px;white-space:nowrap}.laborDays .laborDayDraft{background:#fff5d6}.laborPicker{display:flex;flex-wrap:wrap;gap:14px;align-items:end}.laborPicker label{display:grid;gap:7px;font-size:13px;flex:1 1 260px}.laborDateNav{display:flex;gap:8px;align-items:center}.laborPage .laborDateNav input{width:160px}.laborPage .laborDateNav button{min-width:44px;min-height:40px}.laborSheetHead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.laborSheetHead h2{margin:4px 0 0;font-size:20px}.laborSheetHead small{color:#46785d;letter-spacing:.06em;overflow-wrap:anywhere}.laborLock{margin-top:14px;padding:14px;border:1px solid #cfe3d6;border-radius:10px;background:#f3f9f5}.laborLock p{margin:0 0 10px;color:#1f5a3d}.laborLock label{display:grid;gap:7px;font-size:13px}.laborHint{color:#52685c;font-size:13px}.laborSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:16px 0}.laborSummary div{padding:12px;border:1px solid #dce7e0;border-radius:10px;background:#f8fbf9}.laborSummary dt{font-size:12px;color:#617468}.laborSummary dd{margin:6px 0 0;font-size:20px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#183e2d}.laborPick,.laborRoster{list-style:none;margin:0;padding:0}.laborRow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e4ece7}.laborRowConflict{background:#fff7f5;margin:0 -10px;padding:12px 10px;border-radius:8px}.laborWho{display:grid;gap:3px;min-width:0;flex:1 1 200px}.laborWho strong{font-size:15px;overflow-wrap:anywhere}.laborPick i,.laborWho i{font-style:normal;font-weight:400;color:#617468}.laborWho small{color:#617468}.laborWho em{font-style:normal;font-size:12px;color:#b3261e}.laborNote{overflow-wrap:anywhere}.laborRowActions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.laborOt{padding:5px 9px;border-radius:20px;background:#fff5d6;color:#7d6119;font-size:12px;white-space:nowrap}.laborSeg{display:inline-flex;border:1px solid #cbded1;border-radius:8px;overflow:hidden}.laborPage .laborSeg button{border:0;border-radius:0;min-width:52px;min-height:40px;background:#fff;font-weight:700}.laborPage .laborSeg button+button{border-left:1px solid #cbded1}.laborPage .laborSeg button[aria-pressed=true]{background:#215c40;color:#fff}.laborPage .laborSeg button:disabled{opacity:1;cursor:default}.laborEdit{flex:1 1 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;border-radius:10px;background:#f6f9f7}.laborEdit label{display:grid;gap:7px;font-size:13px}.laborEdit .laborWide,.laborEdit .projectActions{grid-column:1/-1}.laborEdit .projectActions{justify-content:flex-end}.laborEmpty{padding:22px 0;color:#617468}.laborBar{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;position:sticky;bottom:0;padding:12px 0;background:#fff;border-top:1px solid #e4ece7}.laborPage .laborBar button{min-height:44px}.laborPage .laborConfirm{margin-left:auto}.laborChanges{margin-top:16px}.laborChanges summary{cursor:pointer;color:#246245}.laborPanel{width:min(560px,100%);display:flex;flex-direction:column;gap:12px}.laborPanel h2{margin:0}.laborHours{display:grid;gap:10px}.laborHours label{display:grid;gap:7px;font-size:13px}.laborHours small{color:#617468}.laborChips{display:flex;flex-wrap:wrap;gap:8px}.laborPage .laborChips button{min-width:52px;min-height:40px}.laborPage .laborChips button[aria-pressed=true]{background:#215c40;color:#fff;border-color:#215c40}.laborPickHead{display:flex;gap:8px;align-items:center}.laborPickHead span{margin-right:auto;font-size:13px;color:#52685c}.laborPick{overflow:auto;min-height:120px;max-height:46vh;border:1px solid #e4ece7;border-radius:10px}.laborPick li+li{border-top:1px solid #eef3f0}.laborPick .laborEmpty{padding:22px 14px}.laborPick label{display:flex;gap:12px;align-items:center;padding:12px 14px;cursor:pointer}.laborPage .laborPick input{width:20px;height:20px;flex:none}.laborPick label>span:last-child{display:grid;gap:3px;min-width:0}.laborPick small{color:#617468}.laborPanelActions{justify-content:flex-end}.laborImport{width:min(1180px,100%)}.laborImportTable{max-height:46vh;margin:12px 0}.laborImportBad{background:#fff7f5}.laborImportTable td:nth-child(2){white-space:normal;min-width:160px}.laborPay{display:grid;gap:6px;padding:14px;border:1px solid #dce7e0;border-radius:10px;background:#f8fbf9}.laborPay small{color:#617468}.laborPay .projectFields{margin:8px 0 0}.laborTable tfoot td{font-weight:700;border-top:2px solid #b8d1c0;background:#f4f8f5}.laborHours>span{font-size:13px}.laborOt b,.laborPhoto{font-weight:700}.laborPhoto{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;background:#e3eee7;color:#2f6a4c;font-size:16px}.laborPhoto img{width:100%;height:100%;object-fit:cover}.laborPhotoLarge{width:96px;height:96px;border-radius:14px;font-size:34px}.laborPhotoField{display:flex;gap:16px;align-items:center;margin:14px 0 4px}.laborPhotoField small{flex-basis:100%;color:#617468}.laborPage .laborUpload{position:relative;display:inline-block;border:1px solid #cbded1;border-radius:7px;padding:9px 13px;background:#f7faf8;color:#24533a;cursor:pointer;overflow:hidden}.laborPage .laborUpload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}@media(max-width:780px){.laborSitePage .projectHeading p{display:none}.laborSitePage .projectHeading h1{font-size:22px;margin:4px 0}.laborSitePage .projectHeading{margin-bottom:14px}.laborPage .orderReview{padding:14px}.laborToolbar label{width:calc(50% - 7px)}.laborDateNav{width:100%}.laborPage .laborDateNav input{flex:1 1;width:auto}.laborSummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.laborSummary div{padding:10px}.laborSummary dd{font-size:17px}.laborRowActions{width:100%;justify-content:flex-end}.laborEdit{grid-template-columns:1fr 1fr}.laborBar{margin:16px -14px -14px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(20,48,35,.08)}.laborPage .laborBar button{flex:1 1 auto}.laborPage .laborConfirm{flex:1 1 100%;margin-left:0;order:9;min-height:50px}.laborOverlay{align-items:flex-end;padding:0}.laborPanel{width:100%;max-height:88vh;border-radius:16px 16px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom))}.laborPanelActions button{flex:1 1;min-height:48px}}.laborWelfare{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:10px}.laborWelfare label{display:grid;gap:7px;font-size:13px}.laborPayrollTable table{font-size:12px}.laborPayrollTable th{text-align:center;white-space:nowrap}.laborPayrollTable td{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;vertical-align:middle;padding:6px}.laborPayrollTable td:first-child,.laborPayrollTable td:nth-child(2){text-align:left;position:sticky;background:#fff;z-index:1}.laborPayrollTable td:first-child{left:0;min-width:150px}.laborPayrollTable td:nth-child(2){left:150px;min-width:120px}.laborPayrollTable thead th:first-child,.laborPayrollTable thead th:nth-child(2){position:sticky;background:#fff;z-index:2}.laborPayrollTable thead th:first-child{left:0}.laborPayrollTable thead tr:first-child th:nth-child(2){left:150px}.laborPage .laborCell input{width:64px;padding:6px;text-align:right;background:#fffbe0;border-color:#e6d98a}.laborPage .laborCell input:disabled{background:#f3f5f4;border-color:#e1e7e3;color:#52685c}.laborPage .laborCellNote input{width:140px;text-align:left}.laborPayrollIssued td{background:#f8fbf9}.laborPayrollTable .projectActions{flex-wrap:nowrap;justify-content:flex-end}.laborPayrollTable .projectActions a,.laborPayrollTable .projectActions button{padding:5px 9px}@media(max-width:780px){.laborWelfare{grid-template-columns:repeat(3,minmax(0,1fr))}}.laborDoc{min-height:100vh;padding:20px 12px 60px;background:#e9edea;color:#1c2a22;font-family:Arial,Microsoft YaHei UI,Noto Sans Thai,Noto Sans SC,sans-serif}.laborDocBar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-bottom:16px}.laborDocBar a{color:#246245}.laborDocBar button,.laborDocPanel button{border:1px solid #215c40;border-radius:7px;padding:9px 16px;background:#215c40;color:#fff;font:inherit;cursor:pointer}.laborA4{position:relative;box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto 18px;padding:14mm 15mm 12mm;background:#fff;box-shadow:0 8px 28px rgba(20,48,35,.16);font-size:10.5pt;line-height:1.35;display:flex;flex-direction:column;gap:4mm;overflow:hidden}.laborDocHead{display:flex;align-items:center;gap:5mm;padding-bottom:4mm;border-bottom:2px solid #1f3864}.laborDocHead img{height:16mm;width:auto}.laborDocHead div{display:grid;gap:1mm}.laborDocHead strong{font-size:12.5pt}.laborDocHead span{font-size:9pt;color:#4b5a52}.laborDocTitle{margin-left:auto;text-align:right}.laborDocTitle strong{font-size:15pt;color:#1f3864}.laborDocTitle span{font-size:10pt;letter-spacing:.04em}.laborA4 h2{margin:1mm 0 -2mm;font-size:10.5pt;color:#1f3864}.laborA4 h2 small{font-weight:400;color:#6a776f}.laborDocGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5mm 6mm;margin:0}.laborDocGrid dt{font-size:8pt;color:#6a776f}.laborDocGrid dd{margin:0;font-weight:700;overflow-wrap:anywhere;min-height:5mm}.laborDocPerson{display:flex;gap:6mm}.laborDocPerson .laborDocGrid{flex:1 1}.laborDocPhoto{flex:none;width:32mm;height:40mm;border:1px solid #b7c4cf;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8pt;color:#8a968f;overflow:hidden}.laborDocPhoto img{width:100%;height:100%;object-fit:cover}.laborDocTable{width:100%;border-collapse:collapse;font-size:9.5pt}.laborDocTable td,.laborDocTable th{border:1px solid #b7c4cf;padding:1.6mm 2mm;text-align:left;vertical-align:top}.laborDocTable th{background:#eef3f7;font-weight:700;font-size:8.5pt}.laborDocTable td:last-child,.laborDocTable tfoot td:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.laborDocTable tfoot td{font-weight:700;background:#f6f8fa}.laborDocAttendance td,.laborDocAttendance td:last-child,.laborDocAttendance th{text-align:center}.laborDocDetail{font-size:8pt;color:#5d6b63}.laborDocLeaves td:last-child{text-align:left;white-space:normal}.laborDocOver{color:#b3261e}.laborDocColumns{display:grid;grid-template-columns:1.45fr 1fr;gap:5mm;align-items:start}.laborDocNet{display:flex;justify-content:space-between;align-items:center;padding:3.5mm 5mm;background:#1f3864;color:#fff}.laborDocNet span{font-size:10.5pt}.laborDocNet strong{font-size:17pt;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.laborDocSmall{margin:0;font-size:8.5pt;color:#4b5a52}.laborDocSign{display:flex;gap:8mm;margin-top:auto;padding-top:12mm}.laborDocSign div{flex:1 1;text-align:center;font-size:8.5pt;color:#4b5a52}.laborDocSign i{display:block;border-bottom:1px solid #1c2a22;margin-bottom:1.5mm}.laborDocFoot{display:flex;justify-content:space-between;gap:6mm;padding-top:2mm;border-top:1px solid #d5dde2;font-size:7.5pt;color:#7b8780}.laborDocDraft{position:absolute;top:95mm;left:0;right:0;text-align:center;font-size:54pt;font-weight:700;color:rgba(179,38,30,.1);transform:rotate(-24deg);pointer-events:none}.laborDocPanel{box-sizing:border-box;width:210mm;max-width:100%;margin:0 auto;padding:18px;border-radius:12px;background:#fff}.laborDocPanel h2{margin:0 0 12px;font-size:16px}.laborDocPanel p{color:#52685c;font-size:13px}.laborDocPanel input,.laborDocPanel select{font:inherit;box-sizing:border-box;width:100%;padding:9px;border:1px solid #cfddd4;border-radius:6px}.laborDocPanel .laborCheck{display:flex;align-items:center;gap:8px;width:auto;padding-bottom:9px}.laborDocPanel .laborCheck input{width:auto}.laborDocTable .laborScreen button{border:1px solid #ecd3cf;border-radius:6px;background:#fff8f7;color:#9d3933;padding:2px 8px;font:inherit;font-size:8.5pt;cursor:pointer}@media(max-width:820px){.laborA4{zoom:.46}}@media print{@page{size:A4;margin:0}body{background:#fff!important}.laborDoc{padding:0;background:#fff;min-height:0}.globalLanguageFallback,.laborDocBar,.laborScreen,nextjs-portal{display:none!important}.laborA4{margin:0;box-shadow:none;zoom:1;height:297mm;min-height:0;page-break-after:always;break-after:page}.laborA4:last-of-type{page-break-after:auto;break-after:auto}.laborA4,.laborDocNet,.laborDocTable tfoot td,.laborDocTable th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.laborDocTable td.laborDocWelfare{text-align:left;white-space:normal}.laborDocWelfare span{display:inline-block;margin-right:6mm}body:has(.portalPage) .globalLanguageFallback{display:none}.portalPage{min-height:100vh;box-sizing:border-box;padding:16px 16px 40px;background:#f2f5f2;color:#1c2a22;font-family:Arial,Microsoft YaHei UI,Noto Sans Myanmar,Myanmar Text,Padauk,Noto Sans Thai,Noto Sans SC,sans-serif;line-height:1.5}.portalHead{max-width:520px;margin:0 auto 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.portalHead img{height:40px;width:auto}.portalHead>div:not(.portalLangs){display:grid}.portalHead strong{font-size:20px}.portalHead span{font-size:11px;color:#5d6b63;letter-spacing:.04em}.portalLangs{margin-left:auto;display:inline-flex;border:1px solid #cbded1;border-radius:9px;overflow:hidden;background:#fff}.portalLangs button{border:0;background:none;padding:8px 11px;font:inherit;font-size:14px;color:#24533a;cursor:pointer;min-height:40px}.portalLangs button+button{border-left:1px solid #cbded1}.portalLangs button[aria-pressed=true]{background:#215c40;color:#fff}.portalCard{max-width:520px;margin:0 auto;box-sizing:border-box;padding:20px;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(20,48,35,.08);display:grid;gap:14px}.portalCard h2{margin:0;font-size:19px}.portalCard h3{margin:6px 0 -4px;font-size:14px;color:#46785d}.portalCard label{display:grid;gap:6px;font-size:14px;color:#3d5246}.portalCard input{font:inherit;font-size:17px;padding:12px;border:1px solid #cfddd4;border-radius:10px;min-width:0}.portalPrimary{border:0;border-radius:12px;padding:14px;background:#215c40;color:#fff;font:inherit;font-size:17px;font-weight:700;cursor:pointer}.portalPrimary:disabled{opacity:.6}.portalLink{justify-self:start;border:0;background:none;padding:6px 0;color:#246245;font:inherit;font-size:14px;cursor:pointer;text-decoration:underline}.portalMuted{margin:0;font-size:13px;color:#5d6b63}.portalWho{margin:0;color:#3d5246;overflow-wrap:anywhere}.portalError{background:#fff0ee;color:#9d3933}.portalError,.portalNotice{margin:0;padding:10px 12px;border-radius:10px}.portalNotice{background:#eaf4ed;color:#1f5a3d}.portalTop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px}.portalTop div{display:flex;gap:14px}.portalList{list-style:none;margin:0;padding:0;display:grid;gap:8px}.portalList button{width:100%;display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #dce7e0;border-radius:12px;background:#f8fbf9;font:inherit;color:inherit;cursor:pointer;text-align:left}.portalList span{flex:1 1}.portalList b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portalList i{font-style:normal;color:#8a968f;font-size:20px}.portalNet{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:12px;background:#1f3864;color:#fff}.portalNet strong{font-size:24px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portalStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.portalStats div{display:grid;gap:2px;padding:8px;border-radius:10px;background:#f4f8f5;text-align:center}.portalStats span{font-size:11px;color:#5d6b63}.portalStats b{font-size:17px}.portalRow{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #eef3f0}.portalRow span{display:grid}.portalRow small{font-size:12px;color:#7b8780}.portalRow b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.portalTotal{border-bottom:0;border-top:2px solid #b8d1c0;font-weight:700}@media(max-width:420px){.portalStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.portalPage{background:#fff;padding:0}.portalLangs,.portalLink{display:none!important}.portalCard{box-shadow:none}}.laborPayrollTable thead{position:sticky;top:0;z-index:3;background:#fff}.laborPayrollTable thead th{background:#fff;border-bottom:1px solid #dce5df}.laborPayrollTable tfoot{position:sticky;bottom:0;z-index:3}.laborPayrollTable tfoot td{background:#f4f8f5;border-top:2px solid #b8d1c0;font-weight:700}@media(min-width:781px){.laborFullHeight{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.laborFullHeight>.siteHeader{flex:none;position:relative}.laborFullHeight .projectContent{flex:1 1;min-height:0;width:100%;max-width:none;box-sizing:border-box;display:flex;flex-direction:column;padding:14px 20px 16px}.laborFullHeight .projectContent>*{flex:none}.laborFullHeight .projectHeading{margin-bottom:10px}.laborFullHeight .projectHeading h1{margin:4px 0}.laborFullHeight .projectHeading p{margin:0}.laborFullHeight .laborTabs{margin-bottom:10px}.laborFullHeight .projectContent>.laborPayrollPanel{flex:1 1;min-height:0;display:flex;flex-direction:column;margin-bottom:0;padding:14px 16px}.laborFullHeight .laborPayrollPanel>*{flex:none}.laborFullHeight .laborPayrollPanel .laborToolbar{margin-bottom:8px}.laborFullHeight .laborPayrollPanel .laborHint{margin:0 0 8px}.laborFullHeight .laborPayrollPanel>.laborPayrollTable{flex:1 1;min-height:0;overflow:auto;border:1px solid #e4ece7;border-radius:10px}}.laborFullHeight .laborPayrollTable td{padding:4px 5px}.laborFullHeight .laborPayrollTable th{padding:7px 5px}.laborFullHeight.laborPage .laborCell input{width:54px;padding:5px 4px}.laborPhoto{width:52px;height:52px;font-size:19px}.laborPhoto:has(img){cursor:zoom-in}.laborPhoto img.laborPhotoZoom{position:fixed;z-index:3000;width:240px;height:240px;object-fit:cover;border:4px solid #fff;border-radius:16px;box-shadow:0 18px 48px rgba(20,48,35,.28);pointer-events:none}.stdPage{min-height:100vh;background:var(--paper)}.stdIntro{max-width:1440px;margin:0 auto;padding:28px 28px 8px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.stdIntro h1{margin:6px 0;font-size:28px;letter-spacing:-.01em}.stdIntro p:last-child{margin:0;color:var(--muted);font-size:14px;max-width:640px}.stdIntroStats{display:flex;gap:24px;margin:0}.stdIntroStats div{display:grid;gap:2px;text-align:right}.stdIntroStats dt{color:var(--muted);font-size:12px}.stdIntroStats dd{margin:0;font-size:20px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stdToolbar{max-width:1440px;margin:0 auto;padding:14px 28px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.stdSearch{flex:1 1 280px;max-width:420px;height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);font:inherit;font-size:14px}.stdSearch:focus{outline:2px solid color-mix(in srgb,var(--green-2) 35%,transparent);border-color:var(--green-2)}.stdChips{display:flex;flex-wrap:wrap;gap:6px}.stdChips button{height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--ink);font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.stdChips button b{font-weight:500}.stdChips button span{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stdChips button:hover{border-color:#c4d3ca}.stdChips button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.stdChips button[aria-pressed=true] span{color:rgba(255,255,255,.75)}.stdToggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.stdToggle input{width:15px;height:15px;accent-color:var(--green-2);margin:0}.stdWorkspace{max-width:1440px;margin:0 auto;padding:4px 28px 32px;display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.stdList{margin:0;padding:6px;list-style:none;background:var(--white);border:1px solid var(--line);border-radius:14px;position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto}.stdList li+li{margin-top:2px}.stdList button{width:100%;padding:10px 12px;display:grid;gap:4px;border:0;border-radius:10px;background:transparent;text-align:left;color:var(--ink);cursor:pointer;transition:background .15s ease}.stdList button:hover{background:#f3f6f4}.stdList button[aria-current=true]{background:var(--mint)}.stdListTop{display:flex;align-items:center;gap:6px}.stdListTop code{color:var(--green-2);font-size:12px;font-weight:600}.stdListTop small{color:var(--muted);font-size:11px}.stdList strong{font-size:14px;font-weight:600;line-height:1.35}.stdListMeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:12px}.stdIssueDot{width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--gold)}.stdBadge{padding:1px 7px;border-radius:6px;background:#eef2ef;color:#4c5a52;font-size:11px;font-weight:600}.stdBadge.sub{background:#efeafa;color:#6a47a6}.stdBadge.status-uncalibrated{background:#fbf2e2;color:#93621a}.stdBadge.status-calibrated{background:var(--mint);color:var(--green)}.stdBadge.status-retired{background:#f1f1f1;color:#8a8a8a}.stdEmpty{padding:28px 12px;color:var(--muted);text-align:center;font-size:14px}.stdDetail{min-width:0;padding:24px 28px 28px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.stdDetailHead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.stdDetailHead p{margin:0;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.stdDetailHead code{color:var(--green-2);font-weight:600}.stdDetailHead h2{margin:8px 0 4px;font-size:22px;line-height:1.3}.stdDetailSub{margin:0}.stdLabor{display:flex;gap:10px;margin:0}.stdLabor div{min-width:104px;padding:10px 14px;display:grid;gap:2px;border-radius:12px;background:var(--paper)}.stdLabor dt{color:var(--muted);font-size:12px}.stdLabor dd{margin:0;font-size:20px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stdLabor small{color:var(--muted);font-size:11px}.stdNote{margin:14px 0 0;display:flex;gap:10px;color:var(--muted);font-size:13px}.stdNote b{flex:0 0 auto;color:var(--ink);font-weight:600}.stdIssues{margin-top:16px;padding:12px 14px;border-radius:12px;background:#fdf6e9;border:1px solid #f1dfb8}.stdIssues h3{margin:0 0 4px;color:#8a5c12;font-size:13px}.stdIssues p{margin:0;color:#5d4512;font-size:14px;line-height:1.6;white-space:pre-wrap}.stdBlock{margin-top:18px;min-width:0}.stdBlock h3{margin:0 0 6px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em}.stdBlock p{margin:0;font-size:14px;line-height:1.65;white-space:pre-wrap}.stdPre{padding:12px 14px;border-radius:10px;background:var(--paper)}.stdTwoCol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.stdTable{width:100%;border-collapse:collapse;font-size:13px}.stdTable th{padding:8px 10px;text-align:left;color:var(--muted);font-size:12px;font-weight:600;border-bottom:1px solid var(--line)}.stdTable td{padding:9px 10px;vertical-align:top;border-bottom:1px solid #edf1ee}.stdTable tr:last-child td{border-bottom:0}.stdTable .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.stdTable td strong{display:block;font-weight:600}.stdTable td small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.stdSource{padding:1px 6px;border-radius:5px;background:#eef2ef;color:#4c5a52;font-size:11px}.stdMissing{color:#a5432f}.stdVersions{display:flex;flex-wrap:wrap;gap:6px}.stdVersions button{height:30px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--white);cursor:pointer;font-size:13px}.stdVersions button[aria-current=true]{border-color:var(--green-2);color:var(--green);font-weight:600}@media (max-width:900px){.stdIntro,.stdToolbar,.stdWorkspace{padding-left:16px;padding-right:16px}.stdIntro{flex-direction:column;align-items:flex-start}.stdIntroStats div{text-align:left}.stdWorkspace{grid-template-columns:1fr}.stdList{position:static;max-height:46vh}.stdDetail{padding:18px 16px 22px}.stdDetailHead{flex-direction:column}.stdTwoCol{grid-template-columns:1fr}.stdTable{display:block;overflow-x:auto}}.developerSettings.developerSettingsWide{grid-template-columns:minmax(0,1fr);margin-top:16px}.businessSettingList{display:grid;gap:2px}.businessSettingRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4px;border-bottom:1px solid #edf1ee}.businessSettingRow:last-child{border-bottom:0}.businessSettingRow>span{display:grid;gap:2px;min-width:0}.businessSettingRow strong{font-size:14px;font-weight:600}.businessSettingRow small{color:var(--muted);font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.businessSettingRow select{height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--white);font:inherit;font-size:13px}.developerSettingCard .businessSwitch{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px 0 6px;border:1px solid var(--line);border-radius:999px;background:var(--white);color:var(--muted);font-size:13px;cursor:pointer}.businessSwitch i{width:34px;height:20px;border-radius:999px;background:#d5ddd8;position:relative;transition:background .16s ease}.businessSwitch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .16s ease}.businessSwitch[aria-checked=true]{color:var(--green);border-color:#bcd5c7}.businessSwitch[aria-checked=true] i{background:var(--green-2)}.businessSwitch[aria-checked=true] i:after{transform:translateX(14px)}.businessNumber{display:inline-flex;align-items:center;gap:8px}.businessNumber input{width:110px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;text-align:right}.businessNumber span{color:var(--muted);font-size:12px;white-space:nowrap}@media (max-width:700px){.businessSettingRow{flex-direction:column;align-items:flex-start}}.costMatLink{display:inline;padding:0;border:0;background:none;color:var(--green);font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#b9cbc1;text-underline-offset:3px}.costMatLink:hover{text-decoration-color:currentColor}.costMatLink:focus-visible,.costNumLink:focus-visible{outline:2px solid var(--green-2);outline-offset:2px;border-radius:3px}.costNumLink{padding:0;border:0;border-bottom:1px dashed #b9cbc1;background:none;color:inherit;font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.costTagWarn{background:#fbeee0;color:#8a5a12}.costAddMaterial{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}.costAddMaterial small{color:var(--muted);font-size:12px}.costFreight input{width:60px;height:26px;padding:0 6px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:12px;text-align:right}.costFreight small{color:var(--muted);font-size:12px;font-weight:400}.stdNewBtn{margin-left:auto}.stdEditBtn{flex:none}.stdSegment{display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:#eef2ef}.stdSegment button{height:28px;padding:0 12px;border:0;border-radius:7px;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.stdSegment button[aria-checked=true]{background:white;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.1)}.stdPicked{display:grid;gap:2px;margin:0;padding:8px 10px;border-radius:8px;background:var(--mint);font-size:13px}.stdPicked b{color:var(--muted);font-size:12px;font-weight:600}.stdPickList{display:grid;gap:4px;max-height:260px;margin:0;padding:0;overflow:auto;list-style:none}.stdPickList button{display:grid;gap:2px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit;text-align:left;cursor:pointer}.stdPickList button:hover{border-color:#b9cbc1;background:#f7faf8}.stdPickList strong{font-size:13px;font-weight:600}.stdPickList small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.stdFormRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stdFormRow label{min-width:0}.stdEditor.lsDrawer{width:min(720px,100vw)}.stdEditorBlock{display:grid;gap:8px}.stdEditorBlock h3{margin:6px 0 0;font-size:13px;font-weight:600}.stdEditorRow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:6px;align-items:center}.stdEditorRow input,.stdEditorRow select{width:100%;min-width:0;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:white;font:inherit;font-size:13px}.stdDanger{margin-right:auto;color:#a23838;border-color:#e2b9b9}.stdHistory{display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:13px}.stdHistory li{display:flex;flex-wrap:wrap;gap:2px 10px;padding:6px 0;border-bottom:1px solid #edf1ee}.stdHistory li:last-child{border-bottom:0}.stdHistory b{font-weight:600}.stdHistory small,.stdHistory span{color:var(--muted);font-size:12px}.stdHistory small{flex-basis:100%}@media (max-width:700px){.stdEditorRow{grid-template-columns:1fr 1fr}}