/* Activity lives outside the animated dashboard so fixed positioning stays stable. */
.agent-activity{position:fixed;z-index:45;left:max(16px,env(safe-area-inset-left));bottom:16px;width:340px;max-width:calc(100vw - 32px);color:#13292c;background:#fff;border:1px solid #d9e4e3;border-radius:20px;box-shadow:0 12px 40px -12px rgba(11,59,60,.28);font:400 13px/1.5 var(--body);overflow:hidden}
.activity-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:68px;padding:12px;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}
.activity-mark{position:relative;flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#eaf2f1}
.activity-mark img{object-fit:contain}
.activity-mark::after{content:"";position:absolute;width:8px;height:8px;right:0;bottom:0;border:2px solid #fff;border-radius:50%;background:#38766a;box-sizing:content-box}
.is-busy .activity-mark::after{animation:activity-pulse 1.8s ease-in-out infinite}
.agent-activity[data-tone=attention] .activity-mark::after{background:#a86725}
.agent-activity[data-tone=action] .activity-mark::after{background:#536da2}
.activity-heading{display:grid;gap:3px;flex:1;min-width:0}
.activity-heading strong{font:600 15px/1.25 var(--head);overflow-wrap:anywhere}
.activity-summary{color:#5b6987;font-size:11.5px}
.activity-chevron{font-size:21px;padding:0 4px;transform:rotate(180deg)}
.is-collapsed .activity-chevron{transform:none}
#activity-details{padding:0 15px 14px;max-height:min(360px,50svh);overflow-y:auto;overscroll-behavior:contain}
.activity-message{margin:2px 0 14px;color:#4a5c67;overflow-wrap:anywhere}
.activity-steps{display:flex;list-style:none;gap:5px;margin:0 0 14px;padding:0}
.activity-steps li{flex:1;min-width:0;border-top:3px solid #e5ebed;padding-top:5px;color:#647184;font-size:10px;text-align:center}
.activity-steps .done{border-color:#7ba49b;color:#396357}.activity-steps .current{border-color:#0b3b3c;color:#0b3b3c;font-weight:700}
.activity-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.activity-link{display:inline-flex;align-items:center;min-height:36px;text-decoration:none;font-weight:600;color:#0b3b3c}
.activity-dismiss{border:0;background:#eff3f5;color:#4a5c67;border-radius:10px;padding:8px 12px;min-height:36px;font:inherit;cursor:pointer}
.activity-connection{margin:8px 0 0;color:#627478;font-size:10px}
.activity-others{display:grid;gap:6px}.activity-others:empty{display:none}
.activity-others a{padding:8px 0;border-top:1px solid #e5ebed;text-decoration:none;color:#4e5f86;font-size:12px;overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.has-activity .main{padding-bottom:calc(36px + var(--activity-reserve,92px))}
@keyframes activity-pulse{50%{box-shadow:0 0 0 4px rgba(56,118,106,.14)}}
/* Flexible children prevent long filenames, addresses and actions from widening a screen. */
.grid>*{min-width:0}.card,.hero,.sec,.job,.orow,.ord,.pcard{overflow-wrap:anywhere}
.orow .acts,.cvbar .acts{flex-wrap:wrap}.ord{min-width:0}.ord .t{min-width:0}
.custom{flex-wrap:wrap}.custom input{max-width:100%}
.pgrid>*{min-width:0}
@media(min-width:821px) and (max-width:1100px){
  .main{padding-left:22px;padding-right:22px}
  .grid.two,.grid.three{grid-template-columns:minmax(0,1fr)}
  .orow{grid-template-columns:minmax(0,1fr)}.orow .acts{grid-column:1;grid-row:auto}
  .inbox{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
  .agent-activity{left:max(12px,env(safe-area-inset-left));width:320px;max-width:calc(100vw - 24px);border-radius:16px}
  .activity-toggle{min-height:60px;padding:10px 12px}.activity-heading strong{font-size:14px}
  .activity-mark{width:34px;height:34px;border-radius:11px}
  .agent-activity.keyboard-open{display:none}
  .nav{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));padding:5px 3px;border-radius:20px}
  .nav a{min-width:0;min-height:48px;line-height:1.25;font-size:10px;gap:5px;padding:8px 1px}
  .nav a>span:not(.n){font-size:0}.nav a>span:not(.n)::after{content:attr(data-short);font-size:10px}
  .nav svg{width:19px;height:19px}
  body.demo .nav{bottom:calc(54px + env(safe-area-inset-bottom))}
  .shell{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .cvbar,.selbar{bottom:calc(82px + env(safe-area-inset-bottom))}
  body.demo .cvbar,body.demo .selbar{bottom:calc(128px + env(safe-area-inset-bottom))}
  .card,.sec{padding:18px}.reader{padding:20px 16px}
  .board{grid-auto-columns:minmax(230px,85%)}
  .has-activity .main{padding-bottom:calc(24px + var(--activity-reserve,84px))}
  .ord{flex-wrap:wrap;gap:10px}.ord .t{flex-basis:100%}
}
@media(max-width:360px){.main{padding-left:12px;padding-right:12px}.card,.sec,.hero{padding:16px}.salary-range{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.is-busy .activity-mark::after{animation:none}}
