/* v21 messaging, phase 0: sign-in drawer and header button */
.msgbtn{display:flex;align-items:center;gap:7px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(243,239,230,.75);padding:8px 11px;border:1px solid rgba(200,165,102,.35);border-radius:2px;transition:border-color .3s,color .3s}
.msgbtn:hover{color:var(--brassL);border-color:var(--brassL)}
.msgbtn svg{width:15px;height:15px}
.msgbtn[hidden]{display:none}
@media (max-width:1600px){.msgbtn span{display:none}.msgbtn{padding:7px}}
.msg{display:grid;gap:0}
.msg-lede{margin:0 0 22px;color:var(--ink);font-size:14.5px;line-height:1.62}
.msg-to{margin:-6px 0 20px;font:500 13px/1.4 var(--sans);color:var(--sage);word-break:break-all}
.msg-form{display:grid;gap:14px}
.msg-f{display:grid;gap:8px}
.msg-f span{font:500 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.msg-f input{width:100%;font:400 16px/1.2 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:2px;padding:14px 14px;transition:border-color .25s}
.msg-f input:focus{outline:none;border-color:var(--brass)}
.msg-code{font:400 26px/1 var(--serif)!important;letter-spacing:.32em;text-align:center;padding:16px 10px!important}
.msg-go{background:var(--holly);color:var(--parch);font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:16px 18px;border-radius:2px;transition:background .25s}
.msg-go:hover{background:var(--holly2)}
.msg-go:disabled{opacity:.6;cursor:default}
.msg-err{margin:0;color:#8E3B2A;font-size:13px;line-height:1.5}
.msg-err[hidden]{display:none}
.msg-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.msg-link,.msg-lang{font:500 10.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);padding:4px 0}
.msg-link:disabled{color:var(--sage);opacity:.7;cursor:default}
.msg-lang{margin-left:auto;color:var(--sage)}
.msg-role{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 18px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:2px}
.msg-role span{font-size:13px;color:var(--sage)}
.msg-role b{font:400 19px/1.2 var(--serif)}
.msg-warn{margin:0 0 18px;padding:14px 16px;border-left:2px solid var(--amber);background:rgba(192,138,46,.08);font-size:13.5px;line-height:1.55}
.msg-next{margin:0 0 22px;color:var(--sage);font-size:13.5px;line-height:1.6}
.msg-h{margin-top:0}
.msg-asg{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.msg-asg li{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid var(--line)}
.msg-asg li b{font-weight:500;font-size:14px}
.msg-asg li span{font-size:12.5px;color:var(--sage)}
.msg-asg li.here b::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brass);margin-left:8px;vertical-align:middle}
.msg-none{color:var(--sage);font-size:13.5px}
.msg-kept{margin:10px 0 0;color:var(--sage);font-size:12px}

/* v22 messaging, phase 1: conversation panel */
.msgbtn{position:relative}
.msg-badge{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--brass);color:#fff;font:600 10px/17px var(--sans);letter-spacing:0;text-align:center;box-shadow:0 0 0 2px var(--holly)}
.msg-badge[hidden]{display:none}
.msg-badge.urgent{background:#B5523B}
.mp{position:fixed;z-index:46;right:16px;top:calc(var(--top) + 14px);bottom:calc(var(--clockh) + 14px);width:min(452px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--alab);border:1px solid var(--line);border-radius:4px;box-shadow:0 30px 80px -30px rgba(21,32,25,.45),0 2px 10px rgba(21,32,25,.06);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(10px) scale(.985);transform-origin:100% 0;transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),visibility 0s .38s}
.mp.open{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1)}
.mp .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mp-h{display:flex;align-items:center;gap:10px;padding:14px 12px 14px 18px;background:var(--holly);color:var(--parch)}
.mp-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:inherit;opacity:.8;transition:opacity .2s,background .2s;flex:none}
.mp-ic:hover{opacity:1;background:rgba(243,239,230,.08)}
.mp-ic svg{width:20px;height:20px}
.mp-ic[hidden]{display:none}
.mp-back{margin-left:-8px}
.mp-ti{display:grid;gap:4px;min-width:0;flex:1}
.mp-ey{font:500 10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brassL);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-tt{font:400 21px/1.1 var(--serif);font-weight:400}
.mp-me{width:32px;height:32px;border-radius:50%;border:1px solid rgba(200,165,102,.5);color:var(--brassL);font:500 11px/1 var(--sans);letter-spacing:.06em;flex:none;transition:background .2s}
.mp-me:hover{background:rgba(200,165,102,.12)}
.mp-tabs{display:flex;gap:0;padding:0 14px;background:var(--holly);border-top:1px solid rgba(243,239,230,.08)}
.mp-tabs[hidden],.mp-strip[hidden],.mp-off[hidden],.mp-ctx[hidden],.mp-len[hidden],.mp-c[hidden]{display:none}
.mp-tab{position:relative;display:flex;align-items:baseline;gap:7px;padding:12px 6px 13px;margin-right:18px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(243,239,230,.55);transition:color .2s}
.mp-tab small{font-size:9.5px;letter-spacing:.1em;color:rgba(200,165,102,.7);text-transform:none;letter-spacing:.02em}
.mp-tab:hover{color:var(--parch)}
.mp-tab.on{color:var(--parch)}
.mp-tab.on::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;background:var(--brass)}
.mp-dot{display:inline-block;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--brass);color:#fff;font:600 9.5px/16px var(--sans);font-style:normal;letter-spacing:0;text-align:center;align-self:center}
.mp-strip{display:flex;align-items:center;gap:8px;padding:8px 18px;background:#E9E1CF;color:#6B5320;font:500 10.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #DCCFB2}
.mp-strip svg{width:14px;height:14px}
.mp-off{padding:9px 18px;background:rgba(192,138,46,.12);color:#6B5320;font-size:12.5px;line-height:1.45;border-bottom:1px solid var(--line)}
.mp-b{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 10px;scroll-behavior:auto;-webkit-overflow-scrolling:touch}
.mp.mp-int .mp-b{background:#F4EEE1}
.mp-skel{display:grid;gap:14px;padding:10px 4px}
.mp-skel i{display:block;height:42px;border-radius:14px;background:linear-gradient(90deg,#EFE9DD,#F7F3EA,#EFE9DD);background-size:200% 100%;animation:mpSk 1.4s infinite linear;width:68%}
.mp-skel i:nth-child(2){margin-left:auto;width:52%}
@keyframes mpSk{to{background-position:-200% 0}}
.mp-about{margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.55)}
.mp-about p{margin:0;color:var(--sage);font-size:12.5px;line-height:1.6}
.mp-ah{margin:12px 0 8px!important;font:500 9.5px/1 var(--sans)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.mp-who{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:0;padding:0}
.mp-who li{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink)}
.mp-who li i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#E6EAE3;color:var(--holly);font:600 9px/1 var(--sans);font-style:normal}
.mp-who li.client i{background:#EFE3C8;color:#6B5320}
.mp-who li small{color:var(--sage);font-size:11px}
.mp-who li.more{color:var(--sage)}
.mp-earlier{display:block;margin:0 auto 14px;font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);padding:8px 10px}
.mp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mp-day,.mp-new,.mp-sys{display:flex;justify-content:center;margin:14px 0 10px}
.mp-day span{font:500 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage);padding:5px 10px;background:var(--alab);border:1px solid var(--line);border-radius:20px}
.mp.mp-int .mp-day span{background:#F4EEE1}
.mp-new{position:relative}
.mp-new::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--brass);opacity:.55}
.mp-new span{position:relative;padding:0 10px;background:var(--alab);color:var(--brass);font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.mp.mp-int .mp-new span{background:#F4EEE1}
.mp-sys span{font-size:12px;color:var(--sage);font-style:italic}
.mp-m{position:relative;display:flex;align-items:flex-end;gap:8px;margin-top:12px;max-width:100%}
.mp-m.in{animation:mpIn .32s cubic-bezier(.2,.8,.2,1) both}
.mp-m.menu-on{z-index:5}
.mp-m.cont{margin-top:3px}
@keyframes mpIn{from{opacity:0;transform:translateY(6px)}}
.mp-m.mine{justify-content:flex-end}
.mp-av{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#E6EAE3;color:var(--holly);font:600 10px/1 var(--sans);font-style:normal;flex:none}

.mp-m.client .mp-av{background:#EFE3C8;color:#6B5320}
.mp-m.staff .mp-av{background:var(--holly);color:var(--brassL)}
.mp-m.cont .mp-av{background:none}
.mp-bw{position:relative;display:flex;flex-direction:column;align-items:flex-start;max-width:min(80%,340px);min-width:0}
.mp-m.mine .mp-bw{align-items:flex-end}
.mp-who1{display:flex;gap:7px;align-items:baseline;margin:0 0 4px 2px;font:500 11.5px/1.2 var(--sans);color:var(--ink)}
.mp-who1 small{font-weight:400;color:var(--sage);font-size:11px}
.mp-bb{position:relative;padding:9px 13px 7px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid #E7E1D5;color:var(--ink);font-size:14.5px;line-height:1.5;overflow-wrap:anywhere;transition:transform .18s ease;touch-action:pan-y;outline:none}
.mp-m.cont:not(.mine) .mp-bb{border-radius:5px 16px 16px 5px}
.mp-m.mine .mp-bb{background:var(--holly);border-color:var(--holly);color:var(--parch);border-radius:16px 16px 5px 16px}
.mp-m.mine.cont .mp-bb{border-radius:16px 5px 5px 16px}
.mp-bb:focus-visible{box-shadow:0 0 0 2px var(--brass)}
.mp-bb p{margin:0;white-space:normal}
.mp-bb a{color:inherit;text-decoration:underline;text-decoration-color:rgba(154,115,40,.6);text-underline-offset:2px;word-break:break-all}
.mp-m.mine .mp-bb a{text-decoration-color:rgba(200,165,102,.8)}
.mp-del{font-style:italic;opacity:.65}
.mp-meta{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:2px;font-size:10.5px;color:var(--sage);line-height:1.2}
.mp-m.mine .mp-meta{color:rgba(243,239,230,.6)}
.mp-meta em{font-style:normal}
.mp-st svg{width:12px;height:12px;display:block}
.mp-st.q{display:flex;align-items:center;gap:4px;color:var(--brassL)}
.mp-retry{font:500 10.5px/1.2 var(--sans);color:#F3C9BD;text-decoration:underline}
.mp-m.failed .mp-bb{background:#4A2A22;border-color:#4A2A22}
.mp-m.urg .mp-bb{box-shadow:inset 3px 0 0 #B5523B}
.mp-q{display:grid;gap:2px;margin:0 0 6px;padding:6px 10px;border-left:2px solid var(--brass);background:rgba(154,115,40,.07);border-radius:2px 6px 6px 2px;font-size:12.5px;line-height:1.4}
.mp-m.mine .mp-q{background:rgba(243,239,230,.08);border-color:var(--brassL)}
.mp-q b{font-weight:500;font-size:11.5px;color:var(--brass)}
.mp-m.mine .mp-q b{color:var(--brassL)}
.mp-q span{opacity:.8;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mp-more{position:absolute;top:50%;right:-30px;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;color:var(--sage);font-size:16px;line-height:1;opacity:0;transition:opacity .2s,background .2s}
.mp-m.mine .mp-more{right:auto;left:-30px}
.mp-m:hover .mp-more,.mp-more:focus-visible,.mp-m.menu-on .mp-more{opacity:1}
.mp-more:hover{background:rgba(21,32,25,.06)}
@media (pointer:coarse){.mp-more{display:none}.mp-bb{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}
.mp-menu{position:absolute;z-index:3;top:calc(100% + 6px);left:0;min-width:168px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 16px 40px -14px rgba(21,32,25,.35);animation:mpIn .2s ease both}
.mp-m.mine .mp-menu{left:auto;right:0}
.mp-menu.up{top:auto;bottom:calc(100% + 6px)}
.mp-menu>button,.mp-mrow button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:4px;font-size:13.5px;color:var(--ink)}
.mp-menu>button:hover,.mp-menu>button:focus-visible,.mp-mrow button:hover{background:var(--parch);outline:none}
.mp-menu .danger{color:#8E3B2A}
.mp-menu p{margin:4px 8px 8px;font-size:13px;line-height:1.45;color:var(--ink);max-width:220px}
.mp-mrow{display:flex;gap:4px}
.mp-mrow button{text-align:center}
.mp-first{margin:26px 0 8px;text-align:center;font:400 italic 16px/1.4 var(--serif);color:var(--sage)}
.mp-c{border-top:1px solid var(--line);background:var(--alab);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.mp-ctx{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.mp-ctx .mp-q{flex:1;margin:0}
.mp-ctx .mp-ic{width:30px;height:30px;color:var(--sage)}
.mp-q.edit b{color:var(--sage)}
.mp-f{display:flex;align-items:flex-end;gap:8px}
.mp-ta{flex:1;display:block}
.mp-ta textarea{display:block;width:100%;resize:none;min-height:44px;max-height:168px;padding:11px 14px;font:400 15px/1.45 var(--sans);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:22px;transition:border-color .2s}
.mp-ta textarea:focus{outline:none;border-color:var(--brass)}
.mp-ta textarea::placeholder{color:#8A8D84}
.mp-send{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--holly);color:var(--parch);flex:none;transition:background .2s,opacity .2s,transform .15s}
.mp-send:hover:not(:disabled){background:var(--holly2)}
.mp-send:active:not(:disabled){transform:scale(.94)}
.mp-send:disabled{opacity:.35;cursor:default}
.mp-send svg{width:20px;height:20px}
.mp-len{margin:6px 6px 0;text-align:right;font-size:11px;color:var(--sage)}
.mp-ro{margin:4px 6px;font-size:12.5px;line-height:1.5;color:var(--sage);text-align:center}
.mp-toast{position:absolute;left:50%;bottom:86px;transform:translate(-50%,8px);padding:8px 14px;border-radius:20px;background:var(--holly);color:var(--parch);font-size:12.5px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.mp-toast.on{opacity:1;transform:translate(-50%,0)}
.mp-inbox{display:grid;gap:4px}
.mp-note{margin:0 0 12px;padding:12px 14px;border-left:2px solid var(--amber);background:rgba(192,138,46,.08);font-size:13px;line-height:1.55}
.mp-empty{margin:30px 8px;text-align:center;color:var(--sage);font-size:13.5px;line-height:1.6}
.mp-il{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.mp-ig{border:1px solid var(--line);border-radius:4px;background:#fff;overflow:hidden}
.mp-ig.here{border-color:rgba(154,115,40,.55)}
.mp-ih{display:grid;gap:3px;padding:12px 14px 10px;border-bottom:1px solid var(--line)}
.mp-ih b{font:400 17px/1.25 var(--serif)}
.mp-ih span{font-size:11.5px;color:var(--sage)}
.mp-it{display:grid;grid-template-columns:1fr auto;grid-template-areas:"k w" "p n";gap:4px 10px;width:100%;text-align:left;padding:11px 14px;transition:background .2s}
.mp-it+.mp-it{border-top:1px solid #F0EBE1}
.mp-it:hover{background:var(--parch)}
.mp-it.internal{background:#FAF6EC}
.mp-it.internal:hover{background:#F4EEE1}
.mp-ik{grid-area:k;font:500 10px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.mp-it.internal .mp-ik{color:#6B5320}
.mp-ip{grid-area:p;font-size:13.5px;line-height:1.4;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mp-ip em{font-style:normal;color:var(--sage)}
.mp-it.un .mp-ip{font-weight:500}
.mp-iw{grid-area:w;font-size:11px;color:var(--sage);white-space:nowrap}
.mp-it .mp-n{grid-area:n;justify-self:end;align-self:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brass);color:#fff;font:600 10px/18px var(--sans);text-align:center}
.mp-it.urg .mp-n{background:#B5523B}
.mp-acc{padding:4px 4px 0}
.mp-acc .mp-ah{margin-top:0!important}
.mp-an{margin:0;font:400 24px/1.2 var(--serif)}
.mp-ae{margin:4px 0 18px;color:var(--sage);font-size:13px;word-break:break-all}
.mp-ar{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid var(--line)}
.mp-ar li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.mp-ar li span{color:var(--sage);font-size:12.5px;text-align:right}
.mp-arow{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.mp-kept{margin:10px 0 0;color:var(--sage);font-size:12px}
@media (max-width:860px){
  .mp{inset:0;top:0;bottom:0;right:0;width:100%;height:100dvh;border:0;border-radius:0;transform:translateY(24px);transform-origin:50% 100%}
  .mp-h{padding-top:calc(12px + env(safe-area-inset-top))}
  body.mp-on{overflow:hidden}
  .mp-bw{max-width:84%}
  .mp-b{padding:16px 12px 10px}
}
@media (prefers-reduced-motion:reduce){.mp,.mp.open,.mp-m.in,.mp-menu{transition:none;animation:none}}

/* v23 phase 2a: photos, files and camera */
.mp-tools{display:flex;align-items:center;gap:2px;flex:none;margin-bottom:2px}
.mp-tool{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--sage);transition:color .2s,background .2s}
.mp-tool:hover{color:var(--holly);background:rgba(21,32,25,.05)}
.mp-tool svg{width:21px;height:21px}
.mp-cam{display:none}
@media (pointer:coarse){.mp-cam{display:grid}}
.mp-tray{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 2px;scrollbar-width:none}
.mp-tray[hidden]{display:none}
.mp-tray::-webkit-scrollbar{display:none}
.mp-ti2{position:relative;flex:none;display:flex;align-items:center;gap:9px;height:64px;border-radius:10px;background:#fff;border:1px solid var(--line);overflow:hidden;animation:mpUp .24s ease}
@keyframes mpUp{from{transform:translateY(6px) scale(.96)}}
.mp-ti2.image{width:64px}
.mp-ti2.image img{width:100%;height:100%;object-fit:cover;display:block}
.mp-ti2.image .mp-tn{position:absolute;left:0;right:0;bottom:0;padding:10px 6px 4px;background:linear-gradient(transparent,rgba(21,32,25,.6));color:#fff}
.mp-ti2.file{max-width:220px;padding:0 34px 0 8px}
.mp-tn{display:grid;gap:2px;min-width:0}
.mp-tn b{font:500 12.5px/1.25 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-tn small{font-size:10.5px;color:inherit;opacity:.75;white-space:nowrap}
.mp-ti2.file .mp-tn small{color:var(--sage);opacity:1}
.mp-pg{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brass);transform:scaleX(0);transform-origin:0 50%;transition:transform .2s,opacity .4s;opacity:0}
.mp-ti2.up .mp-pg{opacity:1}
.mp-ti2.bad{border-color:#B4543A}
.mp-tx{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(21,32,25,.72);color:#fff}
.mp-tx svg{width:13px;height:13px}
.mp-fi{position:relative;display:grid;place-items:center;flex:none;width:38px;height:46px;color:var(--sage)}
.mp-fi svg{position:absolute;inset:0;width:100%;height:100%}
.mp-fi b{position:relative;margin-top:12px;font:600 8.5px/1 var(--sans);letter-spacing:.08em;color:var(--brass)}

.mp-bb.has-att{padding:3px 3px 6px}
.mp-bb.has-att>p,.mp-bb.has-att>.mp-q{margin-left:10px;margin-right:10px}
.mp-bb.has-att>p{margin-top:6px}
.mp-bb.has-att>.mp-q{margin-top:7px}
.mp-bb.has-att .mp-meta{padding:0 10px}
.mp-bb.only-att.img .mp-meta{position:absolute;right:9px;bottom:9px;padding:2px 7px;border-radius:9px;background:rgba(21,32,25,.55);color:#fff}
.mp-ph{display:grid;gap:2px;width:min(268px,62vw);border-radius:13px;overflow:hidden;background:#E9E4DA}
.mp-ph.n1{aspect-ratio:var(--ar,1)}
.mp-ph.n2{grid-template-columns:1fr 1fr;aspect-ratio:2/1.05}
.mp-ph.n3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1}
.mp-ph.n3 .mp-pi:first-child{grid-row:span 2}
.mp-ph.n4{grid-template-columns:1fr 1fr;aspect-ratio:1}
.mp-pi{position:relative;display:block;padding:0;min-height:0;overflow:hidden;cursor:zoom-in;background:#E1DBCF}
.mp-pi img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.mp-pi img:not([src]){visibility:hidden}
.mp-pi:hover img{transform:scale(1.03)}
.mp-pm{position:absolute;inset:0;display:grid;place-items:center;background:rgba(21,32,25,.5);color:#fff;font:400 22px/1 var(--serif)}
.mp-pl{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 10px 0;font-size:11px;color:var(--sage)}
.mp-m.mine .mp-pl{color:rgba(243,239,230,.7)}
.mp-pl a{display:inline-flex;align-items:center;gap:4px;color:var(--brass);text-decoration:none;font-weight:500}
.mp-m.mine .mp-pl a{color:var(--brassL)}
.mp-pl a svg{width:13px;height:13px}
.mp-fl{display:flex;align-items:center;gap:10px;width:min(268px,62vw);padding:8px 12px 8px 8px;border-radius:12px;background:rgba(21,32,25,.04);border:1px solid rgba(21,32,25,.08);text-align:left;color:inherit;transition:background .2s}
.mp-fl+.mp-fl{margin-top:3px}
.mp-m.mine .mp-fl{background:rgba(243,239,230,.08);border-color:rgba(243,239,230,.14)}
.mp-m.mine .mp-fi{color:rgba(243,239,230,.6)}
.mp-m.mine .mp-fi b{color:var(--brassL)}
.mp-fl:hover{background:rgba(154,115,40,.09)}
.mp-fn{display:grid;gap:2px;min-width:0;flex:1}
.mp-fn b{font:500 13px/1.3 var(--sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-fn small{font-size:11px;opacity:.7}
.mp-dl{width:18px;height:18px;flex:none;opacity:.6}
.mp-fl.blocked{opacity:.6;cursor:default}

.mp-dropv{position:absolute;inset:8px;z-index:5;display:grid;place-items:center;border:1.5px dashed var(--brass);border-radius:6px;background:rgba(247,244,238,.92);font:400 22px/1.2 var(--serif);color:var(--holly);opacity:0;pointer-events:none;transition:opacity .2s}
.mp.drop .mp-dropv{opacity:1}

.mp-lb{position:fixed;inset:0;z-index:80;display:grid;grid-template-rows:auto 1fr auto;background:#0B110D;color:var(--parch);opacity:0;transition:opacity .2s;touch-action:pan-y}
.mp-lb.on{opacity:1}
.mp-lbh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 10px 20px;padding-top:calc(14px + env(safe-area-inset-top))}
.mp-lbh div{display:grid;gap:3px}
.mp-lbh b{font:400 18px/1.15 var(--serif)}
.mp-lbh span{font-size:11.5px;letter-spacing:.04em;color:rgba(243,239,230,.6)}
.mp-lb .mp-ic{color:var(--parch)}
.mp-lbf{position:relative;margin:0;min-height:0;height:100%;overflow:hidden;display:grid;place-items:center;padding:0 12px}
.mp-lbf img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:3px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.mp-lbn{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;display:grid;place-items:center;border-radius:50%;background:rgba(243,239,230,.1);color:var(--parch);transition:background .2s}
.mp-lbn:hover:not(:disabled){background:rgba(243,239,230,.2)}
.mp-lbn:disabled{opacity:.25}
.mp-lbn svg{width:22px;height:22px}
.mp-lbn.p{left:16px}.mp-lbn.n{right:16px}
.mp-lbm{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 20px calc(18px + env(safe-area-inset-bottom));border-top:1px solid rgba(243,239,230,.08)}
.mp-lbm dl{display:flex;gap:28px;flex-wrap:wrap;margin:0}
.mp-lbm dl div{display:grid;gap:4px}
.mp-lbm dt{font:500 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brassL)}
.mp-lbm dd{margin:0;display:grid;gap:3px;font-size:13.5px}
.mp-lbm dd a{color:var(--parch);text-decoration:underline;text-decoration-color:rgba(200,165,102,.6);text-underline-offset:3px;font-variant-numeric:tabular-nums}
.mp-lbm dd small{font-size:11px;color:rgba(243,239,230,.55)}
.mp-lbm .mute{color:rgba(243,239,230,.5)}
.mp-lbd{font:500 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brassL);padding:11px 14px;border:1px solid rgba(200,165,102,.4);border-radius:2px}
.mp-lbd:hover{border-color:var(--brassL)}
@media (max-width:860px){
  .mp-lbn{display:none}
  .mp-lbm dl{gap:18px}
  .mp-tool{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){.mp-lb,.mp-pi img,.mp-ti2{transition:none;animation:none}}
.mp-ti2.prep{width:64px;background:#EFEBE3}
.mp-sh{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);background-size:200% 100%;animation:mpSh 1.1s linear infinite}
@keyframes mpSh{from{background-position:150% 0}to{background-position:-50% 0}}
.mp-tn small{display:flex;align-items:center;gap:3px}
.mp-tl{display:inline-flex}.mp-tl svg{width:11px;height:11px}

/* v37 (queue 47): urgent option, urgent label, and a pulse on the Messages button when something new arrives */
.mp-opts{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 4px 0 52px}
.mp-opts .mp-len{margin:0}
.mp-urg{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 11px 0 8px;border:1px solid var(--line);border-radius:16px;font:500 11.5px/1 var(--sans);letter-spacing:.04em;color:var(--sage);cursor:pointer;user-select:none;transition:border-color .2s,color .2s,background .2s}
.mp-urg input{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;border:1.4px solid currentColor;border-radius:3px;display:grid;place-items:center;cursor:pointer}
.mp-urg input:checked{background:#B5523B;border-color:#B5523B}
.mp-urg input:checked::after{content:"";width:7px;height:4px;border:solid #fff;border-width:0 0 1.6px 1.6px;transform:translateY(-1px) rotate(-45deg)}
.mp-urg input:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.mp-urg:hover{color:var(--ink)}
.mp-urg.on{color:#8E3B2A;border-color:rgba(181,82,59,.55);background:rgba(181,82,59,.07)}
.mp-ug{margin-right:6px;font:600 9.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#B5523B}
.mp-m.mine .mp-ug{color:#F2C6B8}
@keyframes msgRing{0%{box-shadow:0 0 0 0 rgba(200,165,102,.55)}70%{box-shadow:0 0 0 10px rgba(200,165,102,0)}100%{box-shadow:0 0 0 0 rgba(200,165,102,0)}}
@keyframes msgRingU{0%{box-shadow:0 0 0 0 rgba(181,82,59,.6)}70%{box-shadow:0 0 0 12px rgba(181,82,59,0)}100%{box-shadow:0 0 0 0 rgba(181,82,59,0)}}
.msgbtn.pulse{animation:msgRing 1.3s ease-out 3;border-color:var(--brassL);color:var(--brassL)}
.msgbtn.pulse-u{animation-name:msgRingU;border-color:#D27A62;color:#F2C6B8}
@media (prefers-reduced-motion:reduce){.msgbtn.pulse,.msgbtn.pulse-u{animation:none}}
@media (max-width:600px){.mp-opts{margin-left:0}}
