/* Hamrah 4.10.2 — Group 11.7B Dev1 R1 Calls primary surface */
.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
#g115fMobileCallsButton .nav-icon{position:relative}
.g115f-nav-badge{position:absolute;inset-block-start:-4px;inset-inline-start:1px;min-inline-size:18px;block-size:18px;display:grid;place-items:center;padding-inline:4px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-weight:900;line-height:1;box-shadow:0 4px 12px color-mix(in srgb,var(--danger) 42%,transparent)}
.g115f-nav-badge.hidden{display:none!important}
.g115f-calls-layer,.g115f-call-details-layer{z-index:calc(var(--g10-z-dialog,900) + 38)}
.g115f-calls-sheet{width:min(100%,620px);max-height:min(88vh,860px);display:flex;flex-direction:column;overflow:hidden}
.g115f-call-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 16px 12px}
.g115f-call-filters button{border:1px solid var(--border);background:var(--surface-alt);color:var(--muted);border-radius:13px;padding:10px 6px;font:inherit;font-size:12px;font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.g115f-call-filters button:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}.g115f-call-filters button:active{transform:scale(.97)}
.g115f-call-filters button.active{background:color-mix(in srgb,var(--primary) 16%,var(--surface));border-color:color-mix(in srgb,var(--primary) 55%,var(--border));color:var(--primary)}
.g115f-call-filters button:focus-visible,.g115f-call-row button:focus-visible,.pc-call-history-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.g115f-calls-summary{padding:0 18px 9px;color:var(--muted);font-size:12px}
.g115f-calls-list{overflow:auto;padding:0 12px 14px;scrollbar-width:thin;overscroll-behavior:contain}
.g115f-date-heading{font-size:12px;color:var(--muted);margin:14px 5px 7px}
.g115f-call-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--border);background:var(--surface-alt);border-radius:18px;margin-bottom:8px;overflow:hidden;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.g115f-call-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 22%,var(--border))}
.g115f-call-row.missed{border-color:color-mix(in srgb,var(--danger) 38%,var(--border));background:color-mix(in srgb,var(--danger) 6%,var(--surface-alt))}
.g115f-call-row.unviewed::before{content:"";position:absolute;inset-inline-start:7px;inset-block-start:50%;inline-size:7px;block-size:7px;border-radius:50%;background:var(--danger);transform:translateY(-50%)}
.g115f-call-main{border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;text-align:start;padding:11px 12px;font:inherit;min-width:0}
.g115f-call-avatar{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 60%,#32d2a2));color:#fff;font-weight:900}
.g115f-call-copy{display:grid;min-width:0}.g115f-call-copy b,.g115f-call-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g115f-call-copy small{color:var(--muted);font-size:12px;margin-top:2px}.g115f-call-copy small i{font-style:normal;color:var(--primary)}.g115f-call-copy time{font-size:11px;color:var(--muted);margin-top:3px}
.g115f-row-actions{display:flex;align-items:center;gap:5px;margin-inline-end:9px}.g115f-row-actions button{width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:13px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary)}.g115f-row-actions button:hover{background:color-mix(in srgb,var(--primary) 20%,var(--surface))}.g115f-row-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}
.g115f-load-more,.g115f-retry{margin:0 16px 14px;border:1px solid var(--border);background:var(--surface-alt);color:var(--text);padding:11px;border-radius:15px;font:inherit;font-weight:800}.g115f-retry{margin:8px 0 0}
.g115f-empty,.g115f-loading{display:grid;justify-items:center;text-align:center;gap:7px;padding:30px 16px;color:var(--muted)}.g115f-empty span{font-size:28px}.g115f-empty b{color:var(--text)}.g115f-empty.error b{color:var(--danger)}
.g115f-call-details-sheet{width:min(100%,470px)}.g115f-detail-content{display:grid;gap:8px;padding:0 16px 14px}.g115f-detail-row{display:flex;justify-content:space-between;gap:20px;padding:12px 13px;border-radius:14px;background:var(--surface-alt);border:1px solid var(--border)}.g115f-detail-row span{color:var(--muted);font-size:12px}.g115f-detail-row b{font-size:13px;text-align:end}.g115f-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 16px 16px}.g115f-detail-actions button{border:1px solid var(--border);background:var(--surface-alt);color:var(--text);padding:12px;border-radius:15px;font:inherit;font-weight:800}.g115f-detail-actions button.primary{background:var(--primary);color:#fff;border-color:transparent}
.g115f-call-event-card{min-width:min(270px,80vw)!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:9px!important}.g115f-call-event-card.unviewed{box-shadow:inset 3px 0 0 var(--danger)}.g115f-inline-call-main{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;text-align:start;font:inherit;min-width:0}.g115f-inline-call-main>span:last-child{display:grid;min-width:0}.g115f-inline-call-main b,.g115f-inline-call-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g115f-inline-call-main b{font-size:13px}.g115f-inline-call-main small{color:var(--muted);font-size:11px;margin-top:2px}.g115f-inline-icon{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary);font-size:18px}.g115f-inline-callback{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:12px;background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary)}.g115f-inline-callback svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.g115f-call-event-card>.message-time{grid-column:1/-1;justify-self:end;font-size:10px;color:var(--muted)}
/* R9_CHAT_CALL_CARD_GRID_LOCK_HF17: explicit logical grid placement keeps a
   call bubble two-row from its first composite. Generic button enhancement
   must never auto-place either action onto a temporary third row. */
.g115f-call-event-card>.g115f-inline-call-main{grid-column:1;grid-row:1}
.g115f-call-event-card>.g115f-inline-callback{grid-column:2;grid-row:1}
.g115f-call-event-card>.message-time{grid-column:1/-1;grid-row:2}
.g115f-call-event-card.g9-system-call-bubble::before{content:none!important;display:none!important}
/* Profile-specific recent calls */
.pc-call-history-list{display:grid;gap:7px}.pc-call-history-item{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--pc-line,var(--border));border-radius:15px;background:var(--pc-raised,var(--surface-alt));color:var(--text);font:inherit;text-align:start}.pc-call-history-item.unviewed{border-color:color-mix(in srgb,var(--danger) 42%,var(--pc-line,var(--border)));background:color-mix(in srgb,var(--danger) 6%,var(--pc-raised,var(--surface-alt)))}.pc-call-history-item>span:nth-child(2){display:grid;min-width:0}.pc-call-history-item b,.pc-call-history-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-call-history-item b{font-size:.75rem}.pc-call-history-item small{margin-top:3px;color:var(--pc-muted,var(--muted));font-size:.6rem}.pc-call-history-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--primary) 14%,var(--pc-surface,var(--surface)));color:var(--primary);font-weight:900}.pc-call-history-item .pc-chevron{width:17px;height:17px;color:var(--pc-muted,var(--muted))}.pc-call-history-empty{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:12px;border:1px dashed var(--pc-line,var(--border));border-radius:15px;color:var(--pc-muted,var(--muted))}.pc-call-history-empty svg{width:20px;height:20px;justify-self:center;fill:none;stroke:currentColor}.pc-call-history-empty span{display:grid}.pc-call-history-empty b{color:var(--text);font-size:.72rem}.pc-call-history-empty small{font-size:.6rem;margin-top:2px}.pc-call-history-loading,.pc-call-history-error{padding:14px;text-align:center;color:var(--pc-muted,var(--muted));font-size:.65rem}.pc-call-history-error{display:grid;gap:8px}.pc-call-history-error b{color:var(--danger)}.pc-call-history-error button,.pc-call-history-all{border:0;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,var(--pc-surface,var(--surface)));color:var(--primary);padding:9px 12px;font:inherit;font-size:.65rem;font-weight:800}.pc-call-history-all{margin-top:8px;width:100%}
@media(min-width:900px){html[data-hamrah-desktop="windows"] .desktop-drawer-nav #desktopCallsButton{position:relative}.desktop-drawer-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:44px}.desktop-calls-badge{min-inline-size:20px;block-size:20px;display:grid;place-items:center;padding-inline:5px;border-radius:999px;background:var(--danger);color:#fff!important;font-size:.58rem!important;font-weight:900;line-height:1}.desktop-calls-badge.hidden{display:none!important}}
@media(max-width:560px){.bottom-nav button small{font-size:.55rem}.g115f-calls-sheet{max-height:92vh}.g115f-call-filters{padding-inline:10px}.g115f-call-filters button{font-size:11px;padding-inline:3px}.g115f-detail-actions{grid-template-columns:1fr}.g115f-row-actions{gap:2px;margin-inline-end:5px}.g115f-row-actions button{width:36px;height:36px}.g115f-call-main{padding-inline:9px}.g115f-call-avatar{width:40px;height:40px}}
@media(max-width:380px){.bottom-nav button small{font-size:.49rem}.nav-icon{width:38px}.g115f-call-row{grid-template-columns:minmax(0,1fr) auto}.g115f-open-chat{display:none!important}}

/* Dev2 R2 motion polish — transform/opacity only, driven by HamrahMotion WAAPI */
.g115f-calls-sheet,.g115f-call-details-sheet{transform-origin:center bottom}
.g115f-call-row,.pc-call-history-item,.g115f-detail-row,.g115f-call-event-card{backface-visibility:hidden;transform:translateZ(0)}
.g115f-call-avatar,.pc-call-history-icon,.g115f-inline-icon{transition:transform var(--hm-duration-fast,140ms) var(--hm-ease-standard,cubic-bezier(.2,.72,.24,1)),box-shadow var(--hm-duration-fast,140ms) ease}
.g115f-call-row:active .g115f-call-avatar,.pc-call-history-item:active .pc-call-history-icon,.g115f-call-event-card:active .g115f-inline-icon{transform:scale(.94)}
.g115f-row-actions button,.g115f-detail-actions button,.pc-call-history-all,.g115f-inline-callback{transition:transform var(--hm-duration-fast,140ms) var(--hm-ease-standard,cubic-bezier(.2,.72,.24,1)),background-color var(--hm-duration-fast,140ms) ease,border-color var(--hm-duration-fast,140ms) ease,opacity var(--hm-duration-fast,140ms) ease}
.g115f-row-actions button:active,.g115f-detail-actions button:active,.pc-call-history-all:active,.g115f-inline-callback:active{transform:scale(.95)}
.g115f-nav-badge,.desktop-calls-badge{transform-origin:center;will-change:transform,opacity}
.g115f-empty span{display:inline-grid;place-items:center;transform-origin:center}
.g115f-call-row.unviewed::before{box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 36%,transparent)}
html[data-g115-motion-mode="full"] .g115f-call-row.unviewed::before{animation:g115fMissedDotPulse 1.9s ease-out 1}
@keyframes g115fMissedDotPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--danger) 42%,transparent)}60%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media(hover:hover) and (pointer:fine){
  .g115f-row-actions button{opacity:.62;transform:translateX(-3px) scale(.96)}
  .g115f-call-row:hover .g115f-row-actions button,.g115f-call-row:focus-within .g115f-row-actions button{opacity:1;transform:translateX(0) scale(1)}
  .g115f-call-row:hover .g115f-call-avatar,.pc-call-history-item:hover .pc-call-history-icon{transform:translateY(-1px) scale(1.025);box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 20%,transparent)}
  .pc-call-history-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 25%,var(--pc-line,var(--border)))}
}
html[data-g115-motion-mode="reduced"] .g115f-call-row:hover,html[data-g115-motion-mode="reduced"] .pc-call-history-item:hover{transform:none}
@media(prefers-reduced-motion:reduce){.g115f-calls-layer *,.g115f-call-details-layer *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){.g115f-call-row.unviewed::before{animation:none!important}.g115f-row-actions button{opacity:1!important;transform:none!important}}

/* Group 11.7B: Calls is a real app destination, not a modal sheet. */
body.g117b-calls-main-page .app>.topbar{display:none}
body.g117b-calls-main-page .app>.view:not(#g115fCallsLayer),body.g117b-calls-main-page .app>.chat-screen,body.g117b-calls-main-page .app>.g10-desktop-placeholder,body.g117b-calls-main-page .app>[data-fab="new-conversation"]{display:none!important}
#g115fCallsLayer.g115f-calls-layer{height:100%;padding:0;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,var(--bg)),var(--bg) 180px);border:0}
#g115fCallsLayer.g115f-calls-layer.active{display:flex;justify-content:center}
.g115f-calls-sheet{inline-size:min(100%,780px);block-size:100%;max-block-size:none;display:flex;flex-direction:column;background:var(--surface);overflow:hidden}
.g115f-calls-header{min-block-size:76px;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);z-index:2}
.g115f-calls-header>div{min-inline-size:0}.g115f-calls-header h2{margin:0;color:var(--text);font-size:1.15rem}.g115f-calls-header p{margin:3px 0 0;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g115f-calls-header .icon-btn{min-inline-size:44px;min-block-size:44px;color:var(--text);border-radius:14px}.g115f-calls-header .icon-btn:hover{background:var(--surface-alt)}.g115f-calls-header svg{inline-size:21px;block-size:21px;fill:none;stroke:currentColor;stroke-width:1.9}
.g115f-call-filters{padding:12px 14px 10px;background:var(--surface)}
.g115f-call-filters button{min-block-size:44px}
.g115f-calls-summary{min-block-size:28px;padding:1px 18px 8px;background:var(--surface)}
.g115f-calls-list{flex:1;min-block-size:0;padding:0 14px 18px;background:var(--surface);scrollbar-gutter:stable}
.g115f-call-row{min-block-size:72px;border-radius:20px;background:color-mix(in srgb,var(--surface-alt) 78%,var(--surface))}
.g115f-call-main{min-block-size:70px}.g115f-call-avatar{border-radius:50%}.g115f-call-copy em{color:var(--primary);font-size:11px;font-style:normal;direction:ltr;justify-self:end;margin-top:1px}.g115f-call-copy small{margin-top:3px}
.g115f-row-actions button{min-inline-size:44px;min-block-size:44px}.g115f-row-actions .g115f-row-more{background:transparent;color:var(--muted)}
.g115f-load-more{flex:0 0 auto;min-block-size:44px}
.g117b-call-actions-layer,.g117b-call-confirm-layer{z-index:calc(var(--g10-z-dialog,900) + 52)}
.g117b-call-actions{inline-size:min(100%,480px);padding:8px 12px calc(12px + env(safe-area-inset-bottom));display:grid;gap:6px}
.g117b-call-actions>button{min-block-size:58px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:16px;background:transparent;color:var(--text);font:inherit;text-align:start}.g117b-call-actions>button:hover,.g117b-call-actions>button:focus-visible{background:var(--surface-alt)}.g117b-call-actions>button>svg{inline-size:21px;block-size:21px;justify-self:center;fill:none;stroke:currentColor;stroke-width:1.9}.g117b-call-actions>button>span{display:grid}.g117b-call-actions>button b{font-size:.78rem}.g117b-call-actions>button small{margin-top:2px;color:var(--muted);font-size:.63rem}.g117b-call-actions>button.danger{color:var(--danger)}.g117b-call-actions>button.danger small{color:color-mix(in srgb,var(--danger) 68%,var(--muted))}.g117b-call-actions>button:last-child{display:block;text-align:center;border-top:1px solid var(--border);border-radius:0;margin-top:4px}
.g117b-call-confirm{inline-size:min(calc(100% - 28px),420px);padding:22px;text-align:center;border-radius:24px!important}.g117b-confirm-icon{inline-size:56px;block-size:56px;margin:0 auto 12px;display:grid;place-items:center;border-radius:18px;background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.g117b-confirm-icon svg{inline-size:25px;block-size:25px;fill:none;stroke:currentColor;stroke-width:1.9}.g117b-call-confirm h2{margin:0;font-size:1.02rem}.g117b-call-confirm p{margin:9px 0 18px;color:var(--muted);font-size:.72rem;line-height:1.85}.g117b-call-confirm>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:9px}.g117b-call-confirm button{min-block-size:46px;border:1px solid var(--border);border-radius:15px;background:var(--surface-alt);color:var(--text);font:inherit;font-weight:850}.g117b-call-confirm .g117b-confirm-delete{background:var(--danger);border-color:transparent;color:#fff}.g117b-call-confirm button:disabled{opacity:.55}
.g117b-call-actions button:focus-visible,.g117b-call-confirm button:focus-visible,.g115f-calls-header button:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 70%,#fff);outline-offset:2px}
@media(max-width:560px){#g115fCallsLayer.g115f-calls-layer{height:100%}.g115f-calls-sheet{inline-size:100%;border-radius:0}.g115f-call-filters{padding-inline:10px;overflow-x:auto;grid-template-columns:repeat(4,minmax(82px,1fr));scrollbar-width:none}.g115f-call-row{grid-template-columns:minmax(0,1fr) auto}.g115f-open-chat{display:none!important}.g115f-row-actions{margin-inline-end:4px}.g115f-row-actions button{inline-size:42px;min-inline-size:42px}.g115f-call-main{padding-inline:9px}.g115f-calls-list{padding-inline:9px}.g117b-call-confirm-layer{align-items:center!important}}
@media(max-width:390px){.g115f-call-main{grid-template-columns:38px minmax(0,1fr);gap:8px}.g115f-call-avatar{inline-size:38px;block-size:38px}.g115f-call-copy small{font-size:11px}}
@media(prefers-reduced-motion:reduce){#g115fCallsLayer *,#g117bCallActionsLayer *,#g117bCallDeleteConfirm *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
