:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;color:#111;background:#f6f6f6}
*{box-sizing:border-box}body{margin:0}.shell{max-width:780px;margin:auto;padding:18px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}h1{margin:0;font-size:34px}h2,h3{margin-top:0}p{line-height:1.65}.card{background:#fff;border:1px solid #e5e5e5;border-radius:18px;padding:16px;margin-bottom:14px}.compact{padding:10px 12px}.muted{color:#6d6d6d;font-size:14px}.small{font-size:12px;display:block}.hidden{display:none!important}.row{display:flex;gap:8px}.top{margin-top:8px}.row>*{min-width:0}.row input,.row select{flex:1}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:13px;border:1px solid #d9d9d9;border-radius:12px;background:#fff;margin:6px 0;font-size:16px}textarea{min-height:82px;resize:vertical}button{border:0;border-radius:12px;padding:12px 16px;background:#111;color:#fff;min-height:44px;cursor:pointer}.secondary,.ghost{background:#ededed;color:#111}.ghost{padding:8px 12px}.wide{width:100%}.mini{min-height:34px;padding:6px 10px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.tab{background:#e8e8e8;color:#111;padding:10px 5px}.tab.active{background:#111;color:#fff}.request,.place,.member,.conversation,.groupItem{border-top:1px solid #eee;padding:12px 0}.request:first-child,.place:first-child,.member:first-child,.conversation:first-child,.groupItem:first-child{border-top:0}.requestHead,.titleRow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.badge{font-size:12px;background:#eee;border-radius:999px;padding:5px 9px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.actions button{padding:9px 12px}.check{display:flex;align-items:center;gap:8px;margin:8px 0}.check input{width:auto}.status{font-size:13px;color:#666}.claimedBy,.privateInfo{margin-top:9px;padding:9px 11px;border-radius:12px;background:#f4f4f4;font-size:14px}.privateInfo{border:1px dashed #d5d5d5}.headerActions{display:flex;gap:6px;align-items:center}.groupBar{display:flex;justify-content:space-between;gap:10px;align-items:end}.groupBar>div{flex:1}.nearBanner{background:#111;color:#fff;padding:11px 14px;border-radius:14px;margin-bottom:10px}.messages{height:360px;overflow-y:auto;padding:6px 0;display:flex;flex-direction:column;gap:8px}.bubble{max-width:82%;padding:10px 12px;border-radius:15px;background:#eee;align-self:flex-start;white-space:pre-wrap;word-break:break-word}.bubble.mine{background:#111;color:#fff;align-self:flex-end}.bubbleMeta{font-size:11px;opacity:.65;margin-top:4px}.composer{display:flex;gap:8px;align-items:center;border-top:1px solid #eee;padding-top:10px}.composer input{margin:0}.composer button{flex:0 0 auto}.conversation button{width:100%;text-align:right;background:#f3f3f3;color:#111}.qr{display:flex;justify-content:center;padding:10px}.qr img,.qr canvas{border-radius:10px}.smartItem{border-top:1px solid #eee;padding:12px 0}.smartItem:first-child{border-top:0}.privacy{font-size:12px;color:#666}.greenDot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2eb85c;margin-left:5px}
@media(max-width:520px){.shell{padding:12px}.tabs{grid-template-columns:repeat(2,1fr)}.row{flex-direction:column}.groupBar{align-items:stretch;flex-direction:column}.groupBar button{width:100%}.headerActions{gap:4px}.headerActions button{padding:8px 9px;font-size:13px}.messages{height:330px}}

/* صور الأعضاء والقروبات */
.avatar,.groupAvatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#ececec}.groupAvatar{width:44px;height:44px}.avatarFallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700}.memberRow,.conversationRow,.groupWithImage{display:flex;align-items:center;gap:10px}.memberMain{flex:1;min-width:0}.conversationRow button{flex:1}.messageLine{display:flex;align-items:flex-end;gap:7px;max-width:92%}.messageLine.mineLine{align-self:flex-end;flex-direction:row-reverse}.messageLine .avatar{width:30px;height:30px;font-size:12px}.messageLine .bubble{align-self:auto}.currentGroupBox{display:flex;align-items:center;gap:9px;flex:1}.currentGroupBox>div:last-child{flex:1}.currentGroupBox select{margin:2px 0 0}.groupBar>div.currentGroupBox{flex:1}.card input[type=file]{padding:10px;background:#fafafa}
.messageTime{opacity:.72;font-size:.78em;margin-inline-start:6px;white-space:nowrap}
.mediaComposer{flex-wrap:nowrap}.mediaIconBtn{padding:8px 10px;min-width:44px;font-size:18px}.attachmentPreview{margin:8px 0;padding:9px 11px;border-radius:12px;background:#f5f5f5;border:1px solid #e4e4e4;display:flex;align-items:center;justify-content:space-between;gap:10px}.attachmentPreview .previewInfo{min-width:0;display:flex;align-items:center;gap:8px}.attachmentPreview .previewName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:330px}.attachmentPreview button{min-height:34px;padding:6px 10px}.messageMedia{display:block;max-width:100%;margin-bottom:7px;border-radius:11px;overflow:hidden}.messageMedia img{display:block;max-width:100%;max-height:340px;border-radius:11px;object-fit:contain;background:#000}.messageMedia video{display:block;width:min(100%,360px);max-height:360px;border-radius:11px;background:#000}.uploading{opacity:.65;pointer-events:none}
@media(max-width:520px){.mediaComposer{gap:5px}.mediaIconBtn{padding:7px 8px;min-width:39px}.attachmentPreview .previewName{max-width:180px}}

/* الملف الشخصي */
.profileHero{display:flex;align-items:center;gap:14px;margin-bottom:12px}.profileAvatarWrap .avatar{width:76px;height:76px;font-size:26px}.fieldLabel{display:block;font-size:13px;color:#666;margin-top:8px}.danger{background:#b42318;color:#fff}.profileGroupRow{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #eee}.profileGroupRow:first-child{border-top:0}.profileGroupRow>div:last-child{min-width:0}.profileGroupRow strong{display:block}.profileGroupRow .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* عارض الصور والفيديو */
.messageMedia{appearance:none;border:0;padding:0;background:transparent;color:inherit;text-align:inherit;cursor:pointer;position:relative;width:auto;min-height:0}.messageMedia:after{content:'⤢';position:absolute;left:7px;top:7px;background:rgba(0,0,0,.58);color:#fff;border-radius:999px;padding:3px 7px;font-size:13px;line-height:1}.messageMedia video{pointer-events:none}.mediaViewer{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.96);display:flex;flex-direction:column;color:#fff}.mediaViewerTop{height:58px;display:flex;align-items:center;gap:9px;padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top));background:rgba(0,0,0,.58);position:relative;z-index:2}.mediaViewerTitle{flex:1;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.viewerBtn{min-height:38px;min-width:38px;padding:7px 10px;background:rgba(255,255,255,.15);color:#fff;border-radius:10px}.viewerZoom{display:flex;gap:5px}.mediaViewerBody{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:8px;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.mediaViewerBody img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;transition:transform .12s ease;user-select:none;-webkit-user-drag:none}.mediaViewerBody video{width:min(100%,900px);max-height:calc(100vh - 85px);background:#000;border-radius:12px}.mediaViewerOpen{overflow:hidden}
@media(max-width:520px){.profileHero{align-items:flex-start}.viewerZoom{gap:3px}.viewerBtn{padding:6px 8px}.mediaViewerTitle{display:none}}

/* المظهر */
:root{--bg:#f6f6f6;--surface:#fff;--text:#111;--muted:#6d6d6d;--border:#e5e5e5;--soft:#ededed;--accent:#111;--accent-text:#fff;--field:#fff}
html[data-theme="dark"]{--bg:#101114;--surface:#191b20;--text:#f7f7f8;--muted:#a9adb5;--border:#2c2f36;--soft:#292c33;--field:#202329}
html[data-theme="gray"]{--bg:#e8eaed;--surface:#f6f7f8;--text:#1d1f22;--muted:#666b72;--border:#d2d5d9;--soft:#dde0e4;--field:#fff}
html,body{background:var(--bg);color:var(--text)}
:root{color:var(--text);background:var(--bg)}
.card{background:var(--surface);border-color:var(--border)}
.muted,.fieldLabel,.status,.privacy{color:var(--muted)}
input,select,textarea{background:var(--field);color:var(--text);border-color:var(--border)}
button{background:var(--accent);color:var(--accent-text)}
.secondary,.ghost,.tab{background:var(--soft);color:var(--text)}
.tab.active,.bubble.mine,.nearBanner{background:var(--accent);color:var(--accent-text)}
.badge,.claimedBy,.privateInfo,.conversation button,.attachmentPreview{background:var(--soft);color:var(--text);border-color:var(--border)}
.request,.place,.member,.conversation,.groupItem,.profileGroupRow,.smartItem{border-color:var(--border)}
.themeOptions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 14px}.themeChoice{background:var(--soft);color:var(--text);border:2px solid transparent}.themeChoice.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.accentRow{display:flex;align-items:center;gap:10px;margin-top:8px}.accentSwatches{display:flex;gap:8px;flex-wrap:wrap}.accentSwatch{width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;border:3px solid var(--surface);outline:1px solid var(--border)}.accentSwatch.selected{outline:3px solid var(--text)}.accentCustom{width:46px;height:40px;padding:3px;border-radius:10px;margin:0}.themePreview{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:10px}.themePreview button{min-height:36px;padding:7px 12px}

.inviteActions{display:grid;gap:9px;margin-top:12px}.inviteCard .qr{margin:12px auto}.inviteCard #inviteCode{letter-spacing:1.5px;font-size:1.08em}

/* ===== مرّني 2026 — الواجهة الشاملة النظيفة ===== */
:root{--brand:#6d28d9;--brand2:#f3b21b;--brandSoft:#f4efff}
body{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--bg)) 0,var(--bg) 240px)}
.brandHeader{padding:2px 2px 8px}.brandLockup{display:flex;align-items:center;gap:10px}.brandLogo{width:54px;height:54px;border-radius:16px;object-fit:cover}.brandLockup h1{font-size:28px}.brandLockup p{margin:1px 0 0;color:var(--muted);font-weight:700}
.authWelcome{overflow:hidden}.welcomeMini{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;background:var(--brandSoft);margin-bottom:14px}.welcomeMini img{width:64px;height:64px;border-radius:16px;object-fit:cover}.welcomeMini strong,.welcomeMini span{display:block}.welcomeMini span{font-size:13px;color:#645b73;margin-top:4px}
.primaryTabs{grid-template-columns:repeat(4,1fr);position:sticky;top:0;z-index:30;padding:6px 0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px)}.primaryTabs .tab{border-radius:14px;font-size:14px}.navCount{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;border-radius:999px;background:#e11d48;color:#fff;padding:0 6px;font-size:11px;margin-inline-start:3px}
.groupQuick{display:flex;gap:6px}.groupQuick button{white-space:nowrap}.targetHint{margin:5px 0 10px;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:13px}.smartInline{margin:10px 0;padding:11px 12px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface));border:1px solid var(--border)}
.chatTopActions{display:flex;gap:6px;flex-wrap:wrap}.stickerTray{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:9px;margin:8px 0;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.stickerBtn{min-height:72px;padding:7px;background:var(--surface);color:var(--text);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.stickerBtn span{font-size:24px}.stickerBtn small{font-size:11px;text-align:center}.reactionBar{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.reactionChip{background:color-mix(in srgb,var(--surface) 75%,transparent);color:inherit;border:1px solid color-mix(in srgb,currentColor 15%,transparent);padding:2px 7px;min-height:26px;border-radius:999px;font-size:12px}
.roadHero{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 88%,#32115c),color-mix(in srgb,var(--accent) 70%,#000));color:#fff;overflow:hidden;position:relative}.roadHero:after{content:'↗';position:absolute;font-size:140px;opacity:.08;left:10px;bottom:-48px}.roadHero .eyebrow{font-size:12px;opacity:.8}.roadHero h2{margin:5px 0 4px;font-size:30px}.roadHero p{margin:0;opacity:.9}.roadMinutes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:7px 0}.roadMinutes button{background:var(--soft);color:var(--text)}.roadMinutes button.selected{background:var(--accent);color:var(--accent-text)}.roadActive{padding:12px;border-radius:14px;background:rgba(255,255,255,.14);margin-top:12px}.roadActive strong{display:block;font-size:18px}.roadProgress{height:7px;background:rgba(255,255,255,.22);border-radius:999px;overflow:hidden;margin-top:9px}.roadProgress span{display:block;height:100%;background:#f4c044;border-radius:999px}
.moreGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.moreTile{background:var(--surface);color:var(--text);border:1px solid var(--border);text-align:right;padding:16px;min-height:116px;display:flex;flex-direction:column;align-items:flex-start}.moreTile>span{font-size:28px}.moreTile strong{font-size:16px;margin-top:7px}.moreTile small{color:var(--muted);margin-top:3px}
.profileAvatarButton{border:0;background:transparent;color:var(--text);padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0}.profileAvatarButton span{font-size:11px;color:var(--muted)}.profileAvatarButton .avatar{width:82px;height:82px}.languageOptions{grid-template-columns:repeat(2,1fr)}.languageChoice{background:var(--soft);color:var(--text)}.languageChoice.selected{outline:2px solid var(--accent)}
.statusItem{padding:12px 0;border-top:1px solid var(--border)}.statusItem:first-child{border-top:0}.statusHead{display:flex;align-items:center;gap:9px;margin-bottom:7px}.statusMedia img,.statusMedia video{max-width:100%;max-height:360px;border-radius:14px;background:#000}.statusBubble{padding:12px;border-radius:14px;background:var(--soft);font-size:17px}.potCard{border-top:1px solid var(--border);padding:13px 0}.potCard:first-child{border-top:0}.potStats{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.potStat{background:var(--soft);padding:6px 9px;border-radius:999px;font-size:12px}.assistantHistory{display:flex;flex-direction:column;gap:8px;min-height:180px;max-height:420px;overflow:auto;margin-bottom:10px}.assistantBubble{max-width:88%;padding:11px 13px;border-radius:15px;background:var(--soft);align-self:flex-start}.assistantBubble.mine{background:var(--accent);color:var(--accent-text);align-self:flex-end}
.memberBadge{font-size:11px;border-radius:999px;padding:3px 7px;margin-inline-start:4px;background:var(--soft)}.memberBadge.owner{background:#fff3c4;color:#745500}.memberBadge.admin{background:#eee7ff;color:#5b21b6}.memberBio{font-size:12px;color:var(--muted);margin-top:2px}.memberActions{display:flex;gap:5px;flex-wrap:wrap}.memberActions button{min-height:34px;padding:6px 9px;font-size:12px}
.inviteNotice{padding:12px;border:1px solid var(--border);border-radius:14px;margin:9px 0;background:var(--surface)}.inviteNotice .actions{margin-top:8px}.groupUnreadDot{display:inline-flex;min-width:19px;height:19px;align-items:center;justify-content:center;border-radius:999px;background:#e11d48;color:#fff;font-size:10px;padding:0 5px}
@media(max-width:520px){.brandLogo{width:48px;height:48px}.primaryTabs{gap:4px}.primaryTabs .tab{font-size:12px;padding:9px 3px}.groupQuick{width:100%}.groupQuick button{flex:1}.stickerTray{grid-template-columns:repeat(3,1fr)}.moreGrid{grid-template-columns:repeat(2,1fr)}.moreTile{min-height:105px;padding:13px}.roadHero h2{font-size:26px}}
.sentSticker{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:120px;min-height:105px;padding:10px;border-radius:18px;background:color-mix(in srgb,var(--surface) 80%,transparent)}.sentSticker span{font-size:48px;line-height:1}.sentSticker strong{margin-top:7px;font-size:15px}.groupSwitchItem{width:100%;background:transparent;color:var(--text);text-align:right;border-radius:0;padding:12px 0;min-height:0}.groupSwitchItem>div{min-width:0}.groupSwitchItem span{display:block}.profileCard .row button{flex:0 0 auto}
.moneyCard{padding:10px 12px;border:1px dashed currentColor;border-radius:14px;display:flex;flex-direction:column;gap:3px}.moneyCard strong{font-size:18px}.snapshotModal{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:18px}.snapshotCard{width:min(100%,480px);background:var(--surface);color:var(--text);border-radius:20px;padding:16px}.snapshotCanvasLink{display:block;margin-top:10px;text-align:center}.snapshotCanvasLink img{max-width:100%;border-radius:14px;border:1px solid var(--border)}


/* Marni unified UX patch */
.targetTypeRow{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:6px 0 8px}.targetType{background:var(--soft);color:var(--text);border:1px solid var(--border)}.targetType.selected{background:var(--accent);color:var(--accent-text)}
#currentGroupVisual{cursor:pointer}.groupStatusStrip{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:4px 0 10px;margin-bottom:4px}.statusStripLabel{font-weight:700;flex:0 0 auto}.statusStripPerson{background:transparent;color:var(--text);padding:2px;min-height:auto;display:flex;flex-direction:column;align-items:center;gap:2px}.statusStripPerson .avatar{width:42px;height:42px;border:2px solid var(--accent);padding:2px}.statusStripPerson small{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusStripEmpty{background:var(--soft);color:var(--muted);padding:8px 12px;min-height:36px}
.membersModalCard{max-height:78vh;overflow:auto}.membersModalCard .memberRow{padding:11px 0}
.sentSticker{display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent!important}.sentSticker span{font-size:58px;line-height:1}.sentSticker strong{font-size:16px}.bubble.stickerBubble{background:transparent!important;color:var(--text)!important;padding:4px 6px;box-shadow:none;max-width:230px}.bubble.stickerBubble .bubbleMeta{font-size:10px;opacity:.5;text-align:center}.bubble.stickerBubble .reactionBar{justify-content:center}.bubble.emojiBubble{background:transparent!important;color:var(--text)!important;font-size:42px;line-height:1.15;padding:4px 8px;max-width:260px}.bubble.emojiBubble .bubbleMeta{font-size:10px;opacity:.45}
.reactionBar{position:relative}.reactionPicker{position:absolute;bottom:30px;inset-inline-end:0;display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.12)}.reactionPicker button{background:transparent;color:var(--text);padding:3px 5px;min-height:30px;font-size:20px}.reactionPlus{font-weight:700}
.snapshotActions{display:flex;gap:8px;margin-top:10px}.snapshotActions>*{flex:1;text-align:center}.snapshotActionBtn{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;background:var(--accent);color:var(--accent-text);text-decoration:none;padding:10px}
.profileStatusCard{border-inline-start:4px solid var(--accent)}
@media(max-width:520px){.targetTypeRow{grid-template-columns:repeat(3,1fr)}.targetType{font-size:13px;padding:8px 5px}.chatTopActions{gap:4px}.chatTopActions button{font-size:11px;padding:6px 8px}}

.snapshotPreviewImage{max-width:100%;border-radius:14px;border:1px solid var(--border);margin-top:10px}

.chatMembersInline{margin:12px 0;padding:14px;border:1px solid #e5e7eb;border-radius:18px;background:var(--card,#fff)}
.chatMembersInline .memberRow{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee}
.chatMembersInline .memberRow:last-child{border-bottom:0}
.chatMembersInline .memberMain{flex:1;min-width:0}


/* ===== Marni Chat Final ===== */
.chatTools{margin:6px 0}.chatSearch{padding:9px 12px!important;font-size:14px!important;background:var(--soft)!important}
.replyPreview{padding:9px 11px;margin:6px 0;border-inline-start:4px solid var(--accent);border-radius:10px;background:var(--soft);font-size:13px;position:relative}.replyPreview button{position:absolute;inset-inline-end:6px;top:5px;min-height:28px;padding:2px 8px;background:transparent;color:var(--text)}
.smartSuggestions{display:flex;gap:6px;overflow-x:auto;padding:7px 2px 2px}.smartSuggestion{min-height:34px;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--text);white-space:nowrap;border:1px solid var(--border)}
.messageShell{position:relative;min-width:0}.messageActionsBtn{position:absolute;top:-4px;inset-inline-end:-28px;background:transparent;color:var(--muted);padding:2px 5px;min-height:28px;font-size:18px}.mineLine .messageActionsBtn{inset-inline-end:auto;inset-inline-start:-28px}
.messageActionMenu{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 22px rgba(0,0,0,.10)}.messageActionMenu button{min-height:32px;padding:5px 8px;background:var(--soft);color:var(--text);font-size:12px}
.replyQuote{padding:6px 8px;border-inline-start:3px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--soft) 85%,transparent);font-size:12px;margin-bottom:6px;opacity:.86}.replyQuote strong{display:block;font-size:11px}
.messageDeleted{font-style:italic;color:var(--muted)}.editedMark{font-size:10px;opacity:.65}.receipt{font-size:11px;margin-inline-start:4px;letter-spacing:-1px}.receipt.read{color:#3b82f6;font-weight:700}.pinnedMark{font-size:10px;margin-inline-start:4px}.voiceRecording{background:#b42318!important;color:#fff!important;animation:pulseRec 1s infinite}@keyframes pulseRec{50%{opacity:.65}}
.messageMedia audio{width:min(260px,70vw);height:38px}.audioBubble{min-width:220px}.forwardModal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:18px}.forwardCard{width:min(100%,420px);background:var(--surface);border-radius:18px;padding:16px;color:var(--text)}
@media(max-width:520px){.messageActionsBtn{inset-inline-end:-22px}.mineLine .messageActionsBtn{inset-inline-start:-22px}.messageActionMenu{max-width:260px}.composer.mediaComposer{gap:4px}.composer.mediaComposer input{min-width:100px}}

/* Marni chat actions v2 */
.messageActionMenu{display:none!important}
.messageActionsBtn{z-index:4}
.messageActionSheetBackdrop{position:fixed;inset:0;z-index:20000;background:rgba(0,0,0,.38);display:flex;align-items:flex-end;justify-content:center;padding:12px;animation:fadeIn .12s ease}
.messageActionSheet{width:min(100%,520px);background:var(--surface,#fff);border-radius:22px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -14px 40px rgba(0,0,0,.2);color:var(--text,#111)}
.actionSheetHandle{width:42px;height:5px;border-radius:99px;background:var(--border,#ddd);margin:2px auto 10px}
.actionSheetPreview{background:var(--soft,#f2f2f2);border-radius:12px;padding:9px 11px;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:var(--muted,#666)}
.actionSheetGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.actionSheetGrid button{min-height:50px;border-radius:13px;padding:8px 5px;background:var(--soft,#f1f1f1);color:var(--text,#111);font-size:13px}
.actionSheetGrid button.danger{color:#b42318}
.actionSheetCancel{width:100%;margin-top:9px;min-height:46px;border-radius:13px}
.chatToast{position:fixed;z-index:22000;left:50%;bottom:calc(92px + env(safe-area-inset-bottom));transform:translate(-50%,16px);opacity:0;pointer-events:none;background:#111;color:#fff;padding:9px 14px;border-radius:999px;font-size:13px;transition:.18s ease}.chatToast.show{opacity:1;transform:translate(-50%,0)}
.replyPreview{position:sticky;bottom:74px;z-index:9;box-shadow:0 6px 18px rgba(0,0,0,.08)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:390px){.actionSheetGrid{grid-template-columns:repeat(2,1fr)}}

/* ===== MARNI CHAT LOCK V5 ===== */
.messages{align-items:stretch;overflow-x:hidden}
.messageLine{width:100%!important;max-width:100%!important;display:flex!important;align-items:flex-end!important;gap:7px!important;justify-content:flex-start!important;direction:rtl}
.messageLine.mineLine{align-self:stretch!important;flex-direction:row!important;justify-content:flex-end!important}
.messageLine .messageShell{max-width:78%;display:flex;flex-direction:column;align-items:flex-start}
.messageLine.mineLine .messageShell{align-items:flex-end}
.messageLine .bubble{align-self:auto!important;max-width:100%;width:fit-content;background:var(--soft);color:var(--text);padding:8px 10px;border-radius:14px;box-shadow:none;border:0}
.messageLine.mineLine .bubble{background:var(--accent);color:var(--accent-text)}
.bubble.stickerBubble,.bubble.emojiBubble,.bubble.mediaOnlyBubble{background:transparent!important;color:var(--text)!important;padding:2px!important;box-shadow:none!important}
.bubble.stickerBubble .bubbleMeta,.bubble.emojiBubble .bubbleMeta,.bubble.mediaOnlyBubble .bubbleMeta{opacity:.52;color:var(--text);padding-inline:3px}
.messageMedia{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important}
.messageMedia img,.messageMedia video{border-radius:14px;display:block;max-width:min(270px,68vw)}
.replyQuote{max-width:100%;padding:5px 8px!important;margin:0 0 5px!important;border-radius:7px!important;border-inline-start:3px solid currentColor!important;background:rgba(127,127,127,.12)!important;font-size:11px!important;line-height:1.35;opacity:.82}
.replyQuote strong{display:inline;margin-inline-end:5px}
.messageActionsBtn{position:static!important;display:inline-flex!important;align-items:center;justify-content:center;min-height:24px!important;padding:0 5px!important;font-size:17px!important;margin-top:2px!important;background:transparent!important;color:var(--muted)!important}
.reactionBar{position:relative;min-height:24px}
.reactionPicker{position:absolute;z-index:30;bottom:30px;inset-inline-start:0;display:flex;gap:4px;padding:7px;border-radius:999px;background:var(--surface);box-shadow:0 8px 24px rgba(0,0,0,.16);border:1px solid var(--border)}
.reactionPicker button{min-width:36px;min-height:36px;padding:3px;background:transparent;color:var(--text);font-size:22px}
.messageActionSheetBackdrop{background:rgba(0,0,0,.22)}
.messageActionSheet{padding-top:12px}
.actionSheetGrid{grid-template-columns:repeat(4,1fr)}
.actionSheetGrid button{min-height:58px}
.replyPreview{position:sticky!important;bottom:72px!important;z-index:50!important;margin:0 0 6px!important;background:var(--surface)!important;border:1px solid var(--border)!important;box-shadow:0 8px 24px rgba(0,0,0,.12)!important}
.typingLine{font-size:12px;color:var(--muted);padding:2px 8px 6px;min-height:20px}
.inlinePot{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:6px;align-items:center;padding:8px;background:var(--soft);border-radius:12px;margin-bottom:7px}
.inlinePot input{margin:0!important;padding:9px!important}.inlinePot button{min-height:38px;padding:7px 10px}
.moneyCard{background:transparent!important;border:1px solid currentColor;border-radius:12px;padding:9px 11px;display:grid;gap:3px}.moneyCard strong{font-size:18px}
.mediaActionRow{display:flex;gap:5px;margin-top:4px}.mediaActionRow button{min-height:30px;padding:4px 8px;font-size:11px;background:var(--soft);color:var(--text)}
@media(max-width:520px){.actionSheetGrid{grid-template-columns:repeat(3,1fr)}.inlinePot{grid-template-columns:1fr 1fr}.inlinePot button{width:100%}}


/* ===== MARNI CHAT LOCK V6: mobile composer stays fully on-screen ===== */
@media (max-width: 700px){
  .composer.mediaComposer{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
    width:100%;
    max-width:100%;
    padding-top:10px;
    overflow:visible;
  }
  .composer.mediaComposer > input{
    grid-column:1 / 6;
    grid-row:1;
    width:100%;
    min-width:0;
    margin:0;
  }
  .composer.mediaComposer > button:last-child{
    grid-column:6;
    grid-row:1;
    width:100%;
    min-width:0;
    padding:8px 5px;
    font-size:13px;
  }
  .composer.mediaComposer > button:nth-child(1){grid-column:1;grid-row:2}
  .composer.mediaComposer > button:nth-child(2){grid-column:2;grid-row:2}
  .composer.mediaComposer > button:nth-child(3){grid-column:3;grid-row:2}
  .composer.mediaComposer > button:nth-child(4){grid-column:4;grid-row:2}
  .composer.mediaComposer > button:nth-child(5){grid-column:5;grid-row:2}
  .composer.mediaComposer > button:nth-child(7){grid-column:6;grid-row:2}
  .composer.mediaComposer > .mediaIconBtn{
    width:100%;
    min-width:0;
    padding:7px 4px;
  }
  .chatCard,.card{max-width:100%;overflow-x:hidden}
}

/* ===== MARNI CHAT FINAL V7 ===== */
.messages{overflow-anchor:none;overscroll-behavior:contain}
.messageLine{box-sizing:border-box;flex:0 0 auto;min-height:max-content}
.messageShell{position:relative;contain:layout style;}
.messageLine .bubble{transform:none!important;transition:none!important}
.messageLine.mineLine{direction:rtl!important}
.messageLine:not(.mineLine){direction:rtl!important}
.reactionPicker{position:absolute!important;transform:none!important;max-width:calc(100vw - 36px);white-space:nowrap}
.replyPreview{position:relative!important;bottom:auto!important;z-index:15!important;margin:6px 0!important;box-shadow:none!important;border:1px solid var(--border)!important;background:var(--surface)!important}
.replyQuote span{display:block;margin-top:2px}
.mediaComposer{display:grid!important;grid-template-columns:repeat(6,36px) minmax(0,1fr) auto!important;gap:6px!important;width:100%!important;box-sizing:border-box!important;align-items:center!important}
.mediaComposer input[type="text"],.mediaComposer input:not([type]){min-width:0!important;width:100%!important;grid-column:1 / -2;grid-row:2}
.mediaComposer #sendGroupMessageBtn,.mediaComposer #sendDirectMessageBtn{grid-column:-2 / -1;grid-row:2;max-width:86px!important;padding-inline:12px!important}
.mediaComposer .mediaIconBtn{width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;display:flex;align-items:center;justify-content:center}
.inlinePot{border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--surface);margin:7px 0}.potMessageCard span{font-weight:700}.potMessageCard strong{font-size:18px}.snapshotReady{font-weight:700;margin:8px 0}.snapshotPreviewImage{display:block;width:100%;height:auto;max-height:52vh;object-fit:contain}.snapshotActions{position:sticky;bottom:0;background:var(--surface);padding-top:8px}.typingLine{min-height:22px!important;transition:none!important}
@media(max-width:520px){.messageLine .messageShell{max-width:82%!important}.mediaComposer{grid-template-columns:repeat(6,34px) minmax(0,1fr) auto!important}.mediaComposer .mediaIconBtn{width:34px!important;min-width:34px!important;height:34px!important}.snapshotCard{max-height:88vh;overflow:auto}}

/* ===== MARNI CHAT FINAL V8: mobile composer tools restored ===== */
@media (max-width:700px){
  .composer.mediaComposer{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    align-items:center!important;
    overflow:visible!important;
  }
  .composer.mediaComposer > input{
    grid-column:1 / 6!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
  }
  .composer.mediaComposer > button:last-child{
    grid-column:6!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:8px 5px!important;
    font-size:13px!important;
  }
  .composer.mediaComposer > button:nth-child(1){grid-column:1!important;grid-row:2!important}
  .composer.mediaComposer > button:nth-child(2){grid-column:2!important;grid-row:2!important}
  .composer.mediaComposer > button:nth-child(3){grid-column:3!important;grid-row:2!important}
  .composer.mediaComposer > button:nth-child(4){grid-column:4!important;grid-row:2!important}
  .composer.mediaComposer > button:nth-child(5){grid-column:5!important;grid-row:2!important}
  .composer.mediaComposer > button:nth-child(7){grid-column:6!important;grid-row:2!important}
  .composer.mediaComposer > .mediaIconBtn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    padding:6px 3px!important;
  }
}


/* ===== MARNI CHAT FINAL V9: Ask Marni voice + text ===== */
.chatTools{display:flex;gap:7px;align-items:center}.chatTools .chatSearch{flex:1;min-width:0}.marniAskLaunch{white-space:nowrap;flex:0 0 auto}
.marniAskPanel{margin:7px 0 9px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-sizing:border-box}
.marniAskHead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.marniAskHead strong{font-size:14px}.marniAskAnswer{padding:9px 10px;margin-bottom:8px;border-radius:11px;background:var(--soft);line-height:1.55}.marniAskAnswer small{display:block;margin-top:5px;color:var(--muted)}
.marniAskComposer{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:6px;align-items:center}.marniAskComposer input{min-width:0;width:100%;margin:0!important}.marniAskComposer button{min-height:40px}.marniVoiceAsk{padding:0!important;font-size:19px}.marniVoiceAsk.listening,#assistantVoiceBtn.listening{animation:marniPulse 1s infinite}.marniAskClose{margin-top:7px}.assistantComposer{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:7px!important}.assistantComposer input{min-width:0!important}.assistantComposer #assistantVoiceBtn{padding:0!important;font-size:19px!important}
@keyframes marniPulse{50%{transform:scale(.9);opacity:.65}}
@media(max-width:520px){.chatTools{align-items:stretch}.marniAskLaunch{font-size:12px;padding:7px 8px}.marniAskHead{align-items:flex-start;flex-direction:column;gap:2px}.marniAskComposer{grid-template-columns:38px minmax(0,1fr) 58px}.marniAskComposer button{padding-inline:5px}}

/* ===== MARNI CHAT FINAL V10: stable viewport + clean message renderer ===== */
/* Ask Marni is an overlay so opening/closing it never pushes the conversation. */
.marniAskPanel:not(.hidden){
  position:fixed!important;
  z-index:24500!important;
  left:12px!important;
  right:12px!important;
  bottom:calc(86px + env(safe-area-inset-bottom))!important;
  width:auto!important;
  max-width:560px!important;
  margin:0 auto!important;
  max-height:min(64vh,520px)!important;
  overflow:auto!important;
  box-shadow:0 18px 50px rgba(0,0,0,.22)!important;
  border:1px solid var(--border)!important;
  background:var(--surface)!important;
}
/* Reply strip is lightweight; no box-inside-box look. */
.replyQuote{
  border:0!important;
  border-inline-start:3px solid currentColor!important;
  border-radius:2px!important;
  background:transparent!important;
  padding:2px 7px!important;
  margin:0 0 5px!important;
  box-shadow:none!important;
}
.replyPreview{
  border:0!important;
  border-inline-start:3px solid var(--accent)!important;
  border-radius:2px!important;
  background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)!important;
  box-shadow:none!important;
}
/* Do not draw extra cards inside a normal message. */
.bubble .moneyCard,.bubble .potMessageCard{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
}
.bubble .moneyCard:before,.bubble .moneyCard:after{display:none!important}
.messageLine .bubble{border:0!important;outline:0!important;box-shadow:none!important}
.messageActionMenu,.reactionPicker{will-change:auto!important}
.messages{scroll-behavior:auto!important;overflow-anchor:none!important}
@media(max-width:520px){
  .marniAskPanel:not(.hidden){bottom:calc(78px + env(safe-area-inset-bottom))!important;left:8px!important;right:8px!important;max-height:58vh!important}
}

/* ===== MARNI CHAT FINAL V11: visual lock — no heavy frames ===== */
/* Normal text messages: compact, borderless bubbles with no nested card effect. */
.messageLine .messageShell{max-width:74%!important}
.messageLine .bubble{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  padding:7px 10px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--soft) 88%,transparent)!important;
}
.messageLine.mineLine .bubble{
  background:var(--accent)!important;
  color:var(--accent-text)!important;
}
/* Reply preview inside a message is a slim quote strip, never a second box. */
.messageLine .replyQuote{
  display:block!important;
  width:100%!important;
  padding:1px 7px!important;
  margin:0 0 6px!important;
  border:0!important;
  border-inline-start:2px solid currentColor!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.72!important;
}
.messageLine .replyQuote strong{font-size:10px!important;font-weight:700!important;opacity:.9!important}
.messageLine .replyQuote span{font-size:11px!important;line-height:1.3!important}
/* Stickers / emoji-only / media: free-standing content, no purple/gray container. */
.messageLine .bubble.stickerBubble,
.messageLine .bubble.emojiBubble,
.messageLine .bubble.mediaOnlyBubble{
  background:transparent!important;
  color:var(--text)!important;
  padding:2px 3px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.messageLine .bubble.stickerBubble .replyQuote,
.messageLine .bubble.emojiBubble .replyQuote,
.messageLine .bubble.mediaOnlyBubble .replyQuote{color:var(--text)!important}
.messageLine .bubble.mediaOnlyBubble .messageMedia,
.messageLine .messageMedia{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 4px!important}
.messageLine .messageMedia img,.messageLine .messageMedia video{border:0!important;box-shadow:none!important}
/* Metadata stays subtle and never creates a visual frame. */
.messageLine .bubbleMeta{margin-top:3px!important;font-size:10px!important;opacity:.58!important;background:transparent!important;border:0!important;padding:0!important}
.messageLine .reactionBar{margin-top:4px!important}
.messageLine .reactionChip{box-shadow:none!important;background:rgba(127,127,127,.10)!important}
/* Money/pot content inside a message must not draw another outlined card. */
.messageLine .moneyCard,.messageLine .potMessageCard,
.messageLine .bubble .moneyCard,.messageLine .bubble .potMessageCard{
  border:0!important;outline:0!important;box-shadow:none!important;
  background:transparent!important;border-radius:0!important;padding:0!important;margin:0!important;
}
/* Keep message rows visually stable; no animation/transform on renderer pieces. */
.messageLine,.messageShell,.bubble,.replyQuote,.bubbleMeta{transition:none!important;transform:none!important}
@media(max-width:520px){
  .messageLine .messageShell{max-width:76%!important}
  .messageLine .bubble{padding:6px 9px!important;border-radius:12px!important}
}


/* ===== MARNI CHAT FINAL V12: final bubble cleanup ===== */
/* The old solid purple message card was the remaining heavy frame.
   Keep alignment and metadata, but make text messages lightweight. */
.messageLine .bubble,
.messageLine.mineLine .bubble{
  background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)!important;
  color:var(--text)!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:10px!important;
  padding:6px 9px!important;
}
.messageLine:not(.mineLine) .bubble{
  background:color-mix(in srgb,var(--surface) 96%,var(--text) 4%)!important;
}
/* Reply is only a slim marker and text; no nested rectangle. */
.messageLine .replyQuote{
  background:transparent!important;
  border:0!important;
  border-inline-start:2px solid color-mix(in srgb,var(--accent) 58%,transparent)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:1px 6px!important;
  margin:0 0 5px!important;
  color:inherit!important;
}
/* Emoji, stickers and media remain completely free-standing. */
.messageLine .bubble.stickerBubble,
.messageLine .bubble.emojiBubble,
.messageLine .bubble.mediaOnlyBubble{
  background:transparent!important;
  padding:1px 2px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
/* Never let money/pot components create another visible card inside a message. */
.messageLine .bubble .moneyCard,
.messageLine .bubble .potMessageCard,
.messageLine .moneyCard,
.messageLine .potMessageCard{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.messageLine .bubbleMeta{color:var(--muted)!important;opacity:.72!important}
@media(max-width:520px){
  .messageLine .bubble,.messageLine.mineLine .bubble{padding:6px 8px!important;border-radius:9px!important}
}
.ownerWaiting{display:inline-flex;align-items:center;padding:10px 12px;border-radius:14px;background:#f1f2f4;color:#6b6f76;font-size:.9rem}
#moneyRequestWrap.hidden{display:none!important}

.requestTargetBadge{display:inline-flex;align-items:center;gap:6px;margin:8px 0 4px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,transparent);font-size:12px;font-weight:700}.roadActive{gap:8px;flex-wrap:wrap}.roadActive>div:first-child{display:flex;flex-direction:column;gap:2px;flex:1;min-width:180px}.roadActive [data-ask-road-user]{white-space:nowrap}.roadProgress{flex-basis:100%}

/* ===== مرّني أعمال V16 ===== */
.businessTile{position:relative;overflow:hidden}.businessTile:after{content:'جديد';position:absolute;top:8px;inset-inline-end:8px;font-size:10px;padding:3px 7px;border-radius:999px;background:var(--accent);color:var(--accent-text)}
.businessHero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--card)),var(--card));}
.businessPlanBadge{white-space:nowrap;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:800;font-size:12px}
.businessStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.businessStat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.businessStat strong{display:block;font-size:24px;margin-top:5px}.businessStat span{font-size:12px;color:var(--muted)}
.businessCodeBox{padding:12px;border-radius:14px;background:var(--soft);margin:10px 0;font-size:14px}.businessCodeBox strong{font-size:17px;letter-spacing:.5px}
.businessMember,.departmentRow,.joinRequestRow,.attendanceRow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.businessMember:last-child,.departmentRow:last-child,.joinRequestRow:last-child{border-bottom:0}.businessMemberMain{min-width:0;flex:1}.businessMemberMain strong,.businessMemberMain span{display:block}.rolePill{display:inline-flex!important;width:max-content!important;margin-top:4px;padding:3px 7px;border-radius:999px;background:var(--soft);font-size:11px!important}.businessActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.attendanceCard .row>button{min-width:0}.attendanceLive{background:color-mix(in srgb,#16a34a 12%,var(--card));border-color:color-mix(in srgb,#16a34a 30%,var(--line))}.dividerText{text-align:center;color:var(--muted);font-size:12px;margin:16px 0;position:relative}.dividerText:before,.dividerText:after{content:'';display:inline-block;width:25%;height:1px;background:var(--line);vertical-align:middle;margin:0 8px}.weeklyReport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.weeklyMetric{padding:12px;border-radius:14px;background:var(--soft)}.weeklyMetric strong{display:block;font-size:20px}.weeklyMetric span{font-size:11px;color:var(--muted)}
@media(max-width:520px){.businessHero{display:block}.businessPlanBadge{display:inline-block;margin-top:10px}.businessMember,.joinRequestRow{align-items:flex-start}.businessActions{max-width:48%}}


/* V18 تشغيل الطلبات والمناديب */
.businessOrderRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(120,120,140,.12)}
.businessOrderRow:last-child{border-bottom:0}.businessOrderMain{display:flex;flex-direction:column;gap:5px;min-width:0}.businessOrderMain strong{overflow-wrap:anywhere}.businessOrderRow .businessActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:55%}
@media(max-width:640px){.businessOrderRow{flex-direction:column}.businessOrderRow .businessActions{max-width:none;width:100%;justify-content:flex-start}}

/* ===== مرّني أعمال V19 ===== */
.businessCodeV19{display:grid;gap:10px}.businessCodeActions{display:flex;gap:8px;flex-wrap:wrap}.businessQrBox{background:#fff;border-radius:18px;padding:14px;text-align:center}.businessQrBox>div{display:inline-block;background:#fff;padding:8px}.businessOrderLegend{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}.businessOrderLegend span{background:#f3f4f6;border-radius:999px;padding:6px 10px;font-size:12px}.businessOrderV19{display:grid;gap:12px}.businessOrderTitle{display:flex;align-items:center;justify-content:space-between;gap:10px}.businessOrderMeta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:7px}.businessOrderMeta span{font-size:12px;color:#6b7280}.stage-on_the_way{background:#fff7cc}.stage-arrived{background:#dcfce7}.stage-done{background:#dcfce7}.stage-open_pool{background:#ede9fe}.stage-assigned{background:#e0f2fe}.stage-accepted{background:#dbeafe}.weeklyReportV19{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:760px){.weeklyReportV19{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* V20 requests + map */
.requestV20{position:relative}.requestDateV20{font-size:12px;color:var(--muted);margin-top:6px}.requestLiveStage{margin-top:5px;font-size:13px;color:var(--muted)}.requestStageV20{white-space:nowrap}.stage-on_the_way{background:#fff4d6}.stage-arrived{background:#e7f8ee}.stage-done{background:#e5e7eb}.businessTestTools{margin:12px 0 14px}.requestV20 .actions{gap:8px;flex-wrap:wrap}.requestV20 .actions button{min-height:42px}
/* V22 — مسار اليوم والأولوية */
.priorityPill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(127,127,127,.10)}
.priority-critical{font-weight:800}.priority-urgent{font-weight:750}.routeDayCardV22{margin:12px 0;padding:12px;border:1px solid rgba(127,127,127,.16);border-radius:16px;background:rgba(127,127,127,.045)}
.routeCourier{padding:10px 0;border-bottom:1px solid rgba(127,127,127,.12)}.routeCourier:last-child{border-bottom:0}.routeStops{display:flex;flex-direction:column;gap:5px;margin-top:6px}.routeStops span{font-size:12px;opacity:.86}.businessOrderV22 .businessOrderTitle{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.businessOrderV22 .businessOrderMeta{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
