/* DOTMENT People · phone version. Every rule is scoped to body.mobile, so desktop never sees it. */
body.mobile{background:var(--ground);-webkit-tap-highlight-color:transparent}
body.mobile .mob{min-height:100vh;padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.mob .mscr{padding:calc(10px + env(safe-area-inset-top)) 18px 20px}
.mob .lbl{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.mob button,.mob a{font-family:inherit;color:inherit;text-decoration:none;-webkit-appearance:none;appearance:none;border:0;background:none;cursor:pointer;text-align:left;padding:0}
.mob .mi svg,.mtab svg,.mob .mbell svg,.mob .mback svg,.mob .cb svg,.mob .mprof .cta svg,.mob .mlist svg,.mob .macts svg,.mfab svg,.mob .msearch svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* top */
.mob .mtop{display:flex;justify-content:space-between;align-items:center;margin:6px 0 14px}
.mob .mtop h1{font-size:28px;font-weight:800;line-height:1.05;letter-spacing:-.01em;margin:2px 0 0}
.mob .mbell{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;position:relative;flex:none;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.mob .mbell svg{width:21px;height:21px}
.mob .mbell em{position:absolute;top:-2px;right:-2px;background:var(--blue);color:#000;font-style:normal;font-size:10px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.mob .mback{display:flex;align-items:center;gap:12px;margin:6px 0 16px}
.mob .mback button{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center}.mob .mback svg{width:20px;height:20px}
.mob .mback b{font-size:17px;font-weight:800}
/* greeting */
.mob .mgreet{background:#000;border-radius:26px;height:212px;position:relative;overflow:hidden;color:#fff}
.mob .mgreet .disc{position:absolute;right:-18px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:var(--blue)}
.mob .mgreet img{position:absolute;right:-6px;bottom:0;height:206px;animation:mwave 900ms var(--ease) both}
@keyframes mwave{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.mob .mgreet .bub{position:absolute;left:16px;top:18px;width:58%;max-width:220px;background:#fff;color:#000;border-radius:18px 18px 18px 4px;padding:12px 14px;font-weight:800;font-size:15px;line-height:1.25}
.mob .mgreet.nofig .bub{width:auto;max-width:none;right:16px}
.mob .mgreet .bub small{display:block;font-weight:400;font-size:11.5px;color:var(--ink2);margin-top:6px}
.mob .mgreet .pills{position:absolute;left:16px;bottom:16px;display:flex;gap:8px}
.mob .mgreet .pills span{background:rgba(255,255,255,.14);border-radius:999px;padding:7px 12px;font-size:12px;backdrop-filter:blur(4px)}
.mob .mgreet .pills b{font-weight:800}
/* quick actions */
.mob .macts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 6px}
.mob .macts button{background:#fff;border-radius:18px;padding:14px 12px;height:96px;display:flex;flex-direction:column;justify-content:space-between;font-weight:600;font-size:13.5px;line-height:1.2;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:transform 200ms var(--ease)}
.mob .macts button:active{transform:scale(.96)}
.mob .macts .ic{width:32px;height:32px;border-radius:50%;background:#000;color:var(--blue);display:grid;place-items:center}.mob .macts .ic svg{width:17px;height:17px;stroke-width:2.2}
.mob .macts button.hi{background:var(--blue)}
/* sections */
.mob .msec{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 10px}.mob .msec button{font-size:13px;color:var(--ink2)}
.mob .mmom{display:flex;gap:10px;overflow-x:auto;margin:0;padding:0 0 4px;scroll-snap-type:x mandatory;scrollbar-width:none}.mob .mmom::-webkit-scrollbar{display:none}
.mob .mmom button{flex:none;width:236px;height:132px;border-radius:20px;background:#fff;display:flex;overflow:hidden;scroll-snap-align:start}
.mob .mmom .pz{width:92px;background:var(--blue);position:relative;overflow:hidden;flex:none}.mob .mmom .pz img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:128px;max-width:none}
.mob .mmom .pz i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:30px;font-weight:800;color:rgba(0,0,0,.55)}
.mob .mmom .tx{padding:14px 12px;display:flex;flex-direction:column;gap:4px}.mob .mmom .tx b{font-size:15px;font-weight:800;line-height:1.15}.mob .mmom .tx small{font-size:12px;color:var(--ink2);margin-top:auto}
.mob .moff{background:#fff;border-radius:20px;padding:14px;display:flex;align-items:center;gap:12px}.mob .moff p{font-size:13px;color:var(--ink2);line-height:1.35;margin:0}.mob .moff p b{color:var(--ink);font-weight:600}
.mob .stack{display:flex}.mob .stack .mf{margin-left:-10px;border:2px solid #fff}.mob .stack .mf:first-child{margin-left:0}
/* faces */
.mob .mf{width:44px;height:44px;border-radius:50%;background:var(--blue);overflow:hidden;flex:none;display:grid;place-items:center}.mob .mf img{width:100%;height:100%;object-fit:cover;display:block}
.mob .mf.ini{background:#EEF0F1;font-family:var(--mono);font-size:12px;color:var(--ink2)}
.mob .mf.lg{width:66px;height:66px}
/* waiting + stats */
.mob .mwait{width:100%;background:var(--blue);border-radius:22px;padding:16px;margin-top:12px;display:flex;justify-content:space-between;align-items:center}
.mob .mwait b{font-size:34px;font-weight:800;line-height:1;display:block}.mob .mwait span{font-size:13px;font-weight:600;display:block;margin-top:4px}
.mob .mwait i{font-style:normal;background:#000;color:#fff;border-radius:14px;padding:11px 14px;font-weight:800;font-size:13.5px}
.mob .mwait.calm{background:#fff}
.mob .mstats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.mob .mstats>div{background:#fff;border-radius:20px;padding:14px;min-width:0}.mob .mstats b{font-size:28px;font-weight:800;display:block;line-height:1.1;margin-top:6px}.mob .mstats small{font-size:12px;color:var(--ink2);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mob .mstats .dk{background:#000;color:#fff}.mob .mstats .dk small,.mob .mstats .dk .lbl{color:#8A9095}.mob .mstats .bl{background:var(--blue)}.mob .mstats .bl .lbl,.mob .mstats .bl small{color:#0E1113}
/* team */
.mob .mteam{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mob .mteam button{background:#fff;border-radius:18px;padding:12px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}
.mob .mteam .mf{width:56px;height:56px;margin-bottom:4px}.mob .mteam b{font-size:13.5px;font-weight:800}.mob .mteam span{font-size:11px;color:var(--ink2)}
.mob .mteam .off{opacity:.5}.mob .mteam .off .mf{filter:grayscale(1)}
.mob em.moffc,.mob .mteam em{font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.1em;background:#000;color:var(--blue);border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:2px}
/* cards */
.mob .mcard{display:block;width:100%;background:#fff;border-radius:22px;padding:16px;margin-bottom:10px}
.mob .mrq{display:flex;justify-content:space-between;align-items:center;gap:10px}.mob .mrq b{font-size:16px;font-weight:800;display:block}.mob .mrq span{font-size:12.5px;color:var(--ink2)}
.mob .mrq .row1{display:flex;align-items:center;gap:12px}
.mob .mst{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:7px;background:#F1F2F3;color:var(--ink2);white-space:nowrap;flex:none}
.mob .mst.ok{background:#000;color:var(--blue)}.mob .mst.wait{background:#EAF9FE;color:#000}
.mob .map .hd{display:flex;gap:12px;align-items:center;margin-bottom:12px}.mob .map .hd .mf{width:48px;height:48px}
.mob .map .hd b{font-size:16.5px;font-weight:800;display:block}.mob .map .hd span{font-size:12.5px;color:var(--ink2)}
.mob .map .what{display:flex;gap:8px;margin-bottom:10px}.mob .map .what div{flex:1;background:var(--ground);border-radius:14px;padding:10px 12px}.mob .map .what b{font-size:15px;font-weight:800;display:block;margin-top:3px}
.mob .mwarn{font-size:12.5px;background:#EAF9FE;border-radius:12px;padding:8px 12px;margin-bottom:12px;display:flex;gap:8px;align-items:center}.mob .mwarn .mf{width:22px;height:22px}
.mob .btns{display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.mob .btns button{height:50px;border-radius:15px;display:grid;place-items:center;font-weight:800;font-size:15px;background:#F1F2F3;text-align:center}
.mob .btns .yes{background:#000;color:#fff}
.mob .mseg{display:flex;background:#E7E9EB;border-radius:999px;padding:4px;margin-bottom:14px}.mob .mseg button{flex:1;text-align:center;padding:9px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink2)}.mob .mseg .on{background:#fff;color:#000}
.mob .mempty{text-align:center;padding:40px 20px;color:var(--ink2);font-size:14px}.mob .mempty img{height:170px;display:block;margin:0 auto 10px}.mob .mempty b{display:block;color:var(--ink);font-size:17px;font-weight:800;margin-bottom:4px}
.mfab{position:fixed;right:20px;bottom:calc(108px + env(safe-area-inset-bottom));width:62px;height:62px;border-radius:50%;background:#000;color:var(--blue);display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);z-index:30;border:0}.mfab svg{width:28px;height:28px;stroke-width:2.2}
/* people */
.mob .msearch{background:#fff;border-radius:16px;height:50px;display:flex;align-items:center;padding:0 14px;gap:10px;margin-bottom:12px}.mob .msearch svg{width:20px;height:20px;color:var(--ink3);flex:none}
.mob .msearch input{border:0;outline:0;font:inherit;font-size:16px;flex:1;min-width:0;background:none;padding:0;height:auto}
.mob .mchips{display:flex;gap:8px;overflow-x:auto;margin:0 -18px 14px;padding:0 18px;scrollbar-width:none}.mob .mchips::-webkit-scrollbar{display:none}
.mob .mchips button{flex:none;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;background:#fff}.mob .mchips .on{background:#000;color:#fff}
.mob .mpr{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 12px;border-radius:18px;margin-bottom:8px}
.mob .mpr .who{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.mob .mpr .mf{width:50px;height:50px}
.mob .mpr .nm{flex:1;min-width:0;display:block}.mob .mpr .nm b{font-size:15.5px;font-weight:800;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mob .mpr .nm span{font-size:12.5px;color:var(--ink2);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mob .cb{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#F1F2F3;flex:none}.mob .cb.wa{background:var(--blue)}.mob .cb svg{width:19px;height:19px}
/* person */
.mob .mprof{background:#000;color:#fff;border-radius:26px;padding:0 0 16px;overflow:hidden;text-align:center;margin-bottom:12px}
.mob .mprof .bg{height:170px;position:relative;overflow:hidden}.mob .mprof .disc{position:absolute;left:50%;bottom:-80px;transform:translateX(-50%);width:220px;height:220px;border-radius:50%;background:var(--blue)}
.mob .mprof .bg img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:166px;max-width:none}.mob .mprof .bg i{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);font-style:normal;font-size:44px;font-weight:800;color:#000}
.mob .mprof h2{font-size:24px;font-weight:800;margin:14px 0 0}.mob .mprof p{font-size:13px;color:#AEB4B8;margin:2px 0 0}
.mob .mprof .cta{display:flex;gap:8px;padding:14px 16px 0}.mob .mprof .cta a{flex:1;background:rgba(255,255,255,.1);border-radius:16px;padding:12px 6px;font-size:12.5px;font-weight:600;color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.mob .mprof .cta a.b{background:var(--blue);color:#000}.mob .mprof .cta svg{width:20px;height:20px}
.mob .mkv{background:#fff;border-radius:20px;padding:4px 16px;margin-bottom:12px}.mob .mkv div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #EEF0F1;font-size:14px}.mob .mkv div:last-child{border:0}.mob .mkv span{color:var(--ink2)}.mob .mkv b{font-weight:600;text-align:right}
.mob .mbig{display:flex;width:100%;height:56px;border-radius:18px;background:#000;color:#fff;align-items:center;justify-content:center;font-weight:800;font-size:16px;margin-bottom:10px;text-align:center}
.mob .mbig.light{background:#fff;color:#000}
/* me */
.mob .mmehd{display:flex;align-items:center;gap:14px;margin:0 0 4px}.mob .mmehd b{font-size:22px;font-weight:800;display:block}.mob .mmehd span{font-size:13px;color:var(--ink2)}
.mob .mlist{background:#fff;border-radius:20px;padding:2px 16px;margin-bottom:12px}
.mob .mlist button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #EEF0F1;font-size:15px;font-weight:600}.mob .mlist button:last-child{border:0}
.mob .mlist svg{width:18px;height:18px;color:var(--ink3)}.mob .mlist .out{color:#C0392B}
/* pay */
.mob .mslip{background:#fff;border-radius:24px;padding:16px;margin-bottom:12px}
.mob .mslip .net{background:#000;color:#fff;border-radius:18px;padding:16px}.mob .mslip .net .lbl{color:#8A9095}.mob .mslip .net b{font-size:30px;font-weight:800;display:block;margin-top:4px}.mob .mslip .net small{font-size:12px;color:#AEB4B8}
.mob .mslip .lns{margin-top:8px}.mob .mslip .lns div{display:flex;justify-content:space-between;padding:10px 2px;font-size:14px;border-bottom:1px solid #EEF0F1}.mob .mslip .lns div:last-child{border:0}.mob .mslip .lns span{color:var(--ink2)}.mob .mslip .lns b{font-weight:600}.mob .mslip .lns b.m{color:var(--ink2)}
.mob .msteps{display:flex;gap:6px;margin:4px 0 14px}.mob .msteps div{flex:1;text-align:center;font-size:12px;color:var(--ink3)}.mob .msteps i{display:block;height:6px;border-radius:3px;background:#E7E9EB;margin-bottom:6px}.mob .msteps .d i{background:#000}.mob .msteps .c i{background:var(--blue)}.mob .msteps .c,.mob .msteps .d{color:#000;font-weight:600}
/* notifications */
.mob .mnotes{padding:4px 16px}.mob .mnotes .ni{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #EEF0F1;font-size:14px;line-height:1.35}.mob .mnotes .ni:last-child{border:0}
.mob .mnotes .ni i{width:8px;height:8px;border-radius:50%;background:#D5D8DB;margin-top:6px;flex:none}.mob .mnotes .ni i.todo{background:var(--blue)}.mob .mnotes b{font-weight:800}.mob .mnotes small{display:block;font-size:11.5px;color:var(--ink3);margin-top:3px}
/* desktop only */
.mob .mdesk{text-align:center;padding:10px 10px 0}.mob .mdesk .pzw{width:210px;height:210px;border-radius:50%;background:var(--blue);position:relative;overflow:hidden;margin:0 auto 22px}.mob .mdesk .pzw img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:206px;max-width:none}
.mob .mdesk h2{font-size:25px;font-weight:800;line-height:1.1;margin:0 0 10px}.mob .mdesk p{font-size:14.5px;color:var(--ink2);line-height:1.45;margin:0 0 22px}
/* desktop pages shown inside the phone */
.mob .mpage .ph{flex-wrap:wrap;gap:10px}.mob .mpage .ph h1{font-size:24px}
.mob .mpage .card,.mob .mpage .tblw{overflow-x:auto}
.mob .mpage table{min-width:100%}
/* tab bar */
.mtab{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid #E6E8EA;display:flex;justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom))}
.mtab button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font:600 11px/1 var(--sans);color:var(--ink3);background:none;border:0;padding:6px 0;position:relative;cursor:pointer}
.mtab svg{width:24px;height:24px}
.mtab button.on{color:#000}.mtab button.on::before{content:"";position:absolute;top:-9px;width:28px;height:4px;border-radius:2px;background:var(--blue)}
.mtab em{position:absolute;top:0;left:calc(50% + 6px);background:#C0392B;color:#fff;font-style:normal;font-size:10px;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
/* modals become bottom sheets */
body.mobile .scrim{padding:0;align-items:end;place-items:end stretch}
body.mobile .modal{width:100%;max-width:100%;height:auto;max-height:92vh;border-radius:28px 28px 0 0;animation:msheet 280ms var(--ease) both;padding-bottom:env(safe-area-inset-bottom)}
body.mobile .modal::before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:#D5D8DB;margin:10px auto 0;flex:none}
body.mobile .modal .tabs{overflow-x:auto;scrollbar-width:none}
body.mobile .modal .fgrid,body.mobile .modal .kv{grid-template-columns:1fr}
body.mobile .modal .mf .btn{height:48px;border-radius:14px;padding:0 18px}
body.mobile .modal input,body.mobile .modal select,body.mobile .modal textarea{font-size:16px}
@keyframes msheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
body.mobile .toasts{bottom:calc(100px + env(safe-area-inset-bottom))}
/* thumbs up success */
.mcheer{position:fixed;left:14px;right:14px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:95;background:#000;color:#fff;border-radius:22px;height:84px;display:flex;align-items:center;gap:12px;padding-right:16px;overflow:hidden;box-shadow:0 16px 36px -12px rgba(0,0,0,.5);animation:mcin 380ms var(--ease) both}
.mcheer.out{transition:transform 400ms var(--ease),opacity 400ms;transform:translateY(30px);opacity:0}
.mcheer .pz{width:86px;height:84px;background:var(--blue);position:relative;flex:none;border-radius:0 44px 44px 0;overflow:hidden}.mcheer .pz img{position:absolute;bottom:-6px;left:2px;height:98px;animation:mwave 600ms 120ms var(--ease) both}
.mcheer b{font-weight:800;font-size:15px;display:block}.mcheer small{font-size:12.5px;color:#AEB4B8}.mcheer>span:last-child{padding-left:4px}
@keyframes mcin{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}

.mob .mgreet.nofig{height:auto;min-height:150px;padding-bottom:64px}
body.mobile .mfab{position:fixed;background:#000;color:var(--blue);border:0;padding:0}
.mcheer.nopz{padding-left:20px}
.mob .msearch input:focus{outline:none;box-shadow:none;border:0}
.mob .mpage .segc{flex-wrap:nowrap}.mob .mpage .segc button{white-space:nowrap;padding:7px 12px}

.mtab .tav{display:block;width:26px;height:26px;border-radius:50%;overflow:hidden;background:var(--blue);box-shadow:0 0 0 2px #fff,0 0 0 3.5px #C9CCCF}
.mtab .tav img{width:100%;height:100%;object-fit:cover;display:block}.mtab .tav i{font-style:normal;font-family:var(--mono);font-size:9px;color:#000;display:grid;place-items:center;height:100%}
.mtab button.on .tav{box-shadow:0 0 0 2px #fff,0 0 0 4px #000}

.mob .mpr .cb{width:38px;height:38px}.mob .mpr .cb svg{width:18px;height:18px}.mob .mpr{gap:6px}
.mob .mprof .cta{gap:6px}.mob .mprof .cta a{font-size:11.5px;padding:12px 4px}

/* important links on the phone */
.mob .mlinks{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.mob .mlinks::-webkit-scrollbar{display:none}
.mob .mlc{flex:none;width:150px;height:160px;background:#0E1113;color:#fff;border-radius:20px;padding:14px;display:flex;flex-direction:column;position:relative;scroll-snap-align:start}
.mob .mlc .lki,.mob .mll .lki{width:46px;height:46px;border-radius:15px;background:#1E2226;display:grid;place-items:center;flex:none}.mob .lki svg{width:30px;height:30px}.mob .lki b{font-size:20px;font-weight:800;color:#fff}
.mob .mlc b{font-size:17px;font-weight:800;margin-top:auto}.mob .mlc span{font-size:11.5px;color:#AEB4B8;line-height:1.3;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mob .mlc i,.mob .mll i{width:30px;height:30px;border-radius:50%;background:#1E2226;color:var(--blue);display:grid;place-items:center}.mob .mlc i{position:absolute;right:12px;top:12px}.mob .mlc i svg,.mob .mll i svg{width:15px;height:15px}
.mob .mlc.lead,.mob .mll.lead{background:var(--blue);color:#000}.mob .mlc.lead span,.mob .mll.lead .tx span{color:#0E1113}.mob .mlc.lead .lki,.mob .mlc.lead i,.mob .mll.lead .lki,.mob .mll.lead i{background:#000}
.mob .mll{display:flex;align-items:center;gap:12px;background:#0E1113;color:#fff;border-radius:20px;padding:12px;margin-bottom:8px}
.mob .mll .tx{flex:1;min-width:0;display:block}.mob .mll .tx b{font-size:16px;font-weight:800;display:block}.mob .mll .tx span{font-size:12px;color:#AEB4B8;display:block}
.mob .mll .tx em{font-style:normal;font-family:var(--mono);font-size:10px;color:#6B7176;display:block;margin-top:2px}.mob .mll.lead .tx em{color:rgba(14,17,19,.55)}.mob .mll i{width:34px;height:34px;flex:none}
