:root{
  --bg:#EEF1F6;
  --card:#FFFFFF;
  --navy:#0F2A4A;
  --ink:#5B6B82;
  --ink-light:#8A98AC;
  --blue:#2C7BE5;
  --blue-grad:linear-gradient(135deg,#3D8BF0 0%,#1E63D4 100%);
  --red:#E63E2E;
  --green:#22B07A;
  --amber:#F5A524;
  --chat-in:#EDF1F7;
  --chat-out:#16365C;
}
.fs2-scan *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.fs2-scan{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--navy);-webkit-font-smoothing:antialiased}
.fs2-scan .page{max-width:620px;margin:0 auto;padding:14px 14px 0}

@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.fs2-scan .rv{opacity:0;animation:rise .6s cubic-bezier(.22,.61,.36,1) forwards}
.fs2-scan .r1{animation-delay:.04s}.fs2-scan .r2{animation-delay:.09s}.fs2-scan .r3{animation-delay:.14s}.fs2-scan .r4{animation-delay:.19s}
.fs2-scan .r5{animation-delay:.24s}.fs2-scan .r6{animation-delay:.29s}.fs2-scan .r7{animation-delay:.34s}.fs2-scan .r8{animation-delay:.39s}


.fs2-scan .lost-banner{position:relative;background:linear-gradient(135deg,#FF6B5E,#E1322A);border-radius:22px;padding:18px 22px;display:flex;align-items:center;gap:16px;color:#fff;overflow:hidden;box-shadow:0 14px 34px -12px rgba(225,50,42,.55);margin-bottom:14px}
.fs2-scan .lost-banner::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);animation:sheen 4s ease-in-out infinite}
@keyframes sheen{0%{left:-60%}20%,100%{left:150%}}
.fs2-scan .lost-banner .lb-ic{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.2);display:grid;place-items:center;flex-shrink:0}
.fs2-scan .lost-banner .lb-ic svg{width:25px;height:25px}
.fs2-scan .lost-banner .lb-tx{flex:1}
.fs2-scan .lost-banner .lb-tx .t1{font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;opacity:.9}
.fs2-scan .lost-banner .lb-tx .t2{font-size:18px;font-weight:700;margin-top:2px;letter-spacing:-.2px}


.fs2-scan .header{background:var(--card);border-radius:26px;padding:26px 28px 0;box-shadow:0 1px 2px rgba(15,42,74,.04),0 18px 40px -22px rgba(15,42,74,.18)}
.fs2-scan .header-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.fs2-scan .logo{display:flex;align-items:center;font-weight:800;font-size:28px;letter-spacing:-1px;white-space:nowrap}
.fs2-scan .logo .wifi{display:inline-block;margin-right:10px;line-height:0;margin-top:4px}
.fs2-scan .logo .wifi svg{width:28px;height:28px}
.fs2-scan .logo .f{color:var(--navy)}.fs2-scan .logo .s{color:var(--red)}
.fs2-scan .protected{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #E4E9F0;border-radius:100px;padding:8px 14px;font-size:13px;color:var(--ink);font-weight:500;box-shadow:0 4px 12px -6px rgba(15,42,74,.12);white-space:nowrap;flex-shrink:0}
.fs2-scan .protected svg{width:15px;height:15px;color:var(--blue);flex-shrink:0}
.fs2-scan .protected b{color:var(--navy);font-weight:700}

.fs2-scan .divider{height:1px;background:#EDF0F4;margin:24px -28px 0}
.fs2-scan .item{display:flex;gap:26px;padding:26px 0 30px;align-items:center}
.fs2-scan .item-img{width:222px;height:222px;border-radius:22px;flex-shrink:0;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(15,42,74,.05),0 10px 30px -14px rgba(15,42,74,.2)}
.fs2-scan .item-img img{width:100%;height:100%;object-fit:cover;display:block}
.fs2-scan .item-body{flex:1;min-width:0}
.fs2-scan .item-label{font-size:15px;font-weight:700;letter-spacing:2px;color:var(--blue);text-transform:uppercase}
.fs2-scan .item-name{font-size:44px;font-weight:800;letter-spacing:-1.5px;color:var(--navy);line-height:1.05;margin-top:8px}
.fs2-scan .item-loc{display:flex;align-items:center;gap:8px;font-size:22px;color:var(--ink);margin-top:16px;font-weight:500}
.fs2-scan .item-loc svg{width:21px;height:21px;color:var(--blue)}
.fs2-scan .status{display:inline-flex;align-items:center;gap:8px;margin-top:16px;background:rgba(34,176,122,.12);color:#0E8A56;font-size:16px;font-weight:700;padding:7px 16px;border-radius:100px}
.fs2-scan .status .d{width:9px;height:9px;border-radius:50%;background:var(--green);position:relative}
.fs2-scan .status .d::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--green);opacity:.5;animation:pulse 2s infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.6}100%{transform:scale(1.7);opacity:0}}


.fs2-scan .pubmsg{background:transparent;border-radius:0;margin-top:22px;padding:0 6px 0 18px;display:block;box-shadow:none;border-left:3px solid #DCE3EC}
.fs2-scan .pubmsg .q{display:none}
.fs2-scan .pubmsg .pm-body .pm-lbl{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-light)}
.fs2-scan .pubmsg .pm-body .pm-tx{font-size:21px;font-weight:600;color:var(--navy);margin-top:6px;line-height:1.4;font-style:italic}


.fs2-scan .reward{background:transparent;border:none;border-radius:0;margin-top:16px;padding:0 6px;display:flex;align-items:center;gap:11px;box-shadow:none}
.fs2-scan .reward .rw-ic{width:34px;height:34px;border-radius:10px;background:rgba(245,165,36,.14);display:grid;place-items:center;flex-shrink:0;box-shadow:none}
.fs2-scan .reward .rw-ic svg{width:19px;height:19px;color:#E0900F}
.fs2-scan .reward .rw-tx{display:flex;align-items:baseline;gap:8px}
.fs2-scan .reward .rw-tx .t1{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:0;text-transform:none}
.fs2-scan .reward .rw-tx .t2{font-size:18px;font-weight:800;color:#B8801A;margin-top:0;letter-spacing:-.2px}


.fs2-scan .callbar{position:relative;margin-top:14px;background:var(--blue-grad);border-radius:22px;padding:0 28px;min-height:80px;display:flex;align-items:center;gap:20px;color:#fff;cursor:pointer;box-shadow:0 14px 34px -12px rgba(46,119,229,.6),inset 0 1px 0 rgba(255,255,255,.25);overflow:hidden;transition:transform .18s cubic-bezier(.22,.61,.36,1)}
.fs2-scan .callbar:active{transform:scale(.985)}
.fs2-scan .callbar::after{content:"";position:absolute;top:0;left:-60%;width:42%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);animation:sheen2 5s ease-in-out 1.4s infinite}
@keyframes sheen2{0%{left:-60%}16%,100%{left:150%}}
.fs2-scan .callbar .ph{width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex-shrink:0}
.fs2-scan .callbar .ph svg{width:25px;height:25px}
.fs2-scan .callbar .big{flex:1;font-size:23px;font-weight:700;letter-spacing:-.3px}
.fs2-scan .callbar .chev svg{width:22px;height:22px;opacity:.9}


.fs2-scan .sec-label{font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-light);margin:24px 6px 12px}
.fs2-scan .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fs2-scan .tile{position:relative;background:#fff;border-radius:24px;padding:22px;cursor:pointer;border:none;font-family:inherit;text-align:left;overflow:hidden;display:block;box-shadow:0 1px 1px rgba(15,42,74,.04),0 2px 6px rgba(15,42,74,.04),0 14px 30px -18px rgba(15,42,74,.3);transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s}
.fs2-scan .tile:active{transform:scale(.97)}
.fs2-scan .tile:hover{transform:translateY(-3px);box-shadow:0 1px 1px rgba(15,42,74,.04),0 4px 10px rgba(15,42,74,.05),0 22px 40px -18px rgba(15,42,74,.4)}
.fs2-scan .tile .glow{position:absolute;top:-30px;left:-30px;width:120px;height:120px;border-radius:50%;filter:blur(30px);opacity:.16;pointer-events:none}
.fs2-scan .tile .icon{position:relative;width:56px;height:56px;border-radius:17px;display:grid;place-items:center;box-shadow:0 8px 18px -6px rgba(15,42,74,.3),inset 0 1px 0 rgba(255,255,255,.4)}
.fs2-scan .tile .icon svg{width:27px;height:27px;color:#fff}
.fs2-scan .tile .label{display:block;font-size:20px;font-weight:700;color:var(--navy);letter-spacing:-.3px;margin-top:18px;line-height:1.15}
.fs2-scan .tile .sub{display:block;font-size:14px;font-weight:500;color:var(--ink-light);margin-top:4px}
.fs2-scan .tile .corner{position:absolute;top:24px;right:24px;width:30px;height:30px;border-radius:50%;background:#F3F6FA;display:grid;place-items:center;color:#AEBBCC;transition:background .2s,color .2s}
.fs2-scan .tile:hover .corner{background:#EAF0F8;color:var(--blue)}
.fs2-scan .tile .corner svg{width:15px;height:15px}
.fs2-scan .g-wa{background:linear-gradient(140deg,#42D366,#22A84A)}.fs2-scan .gl-wa{background:#25D366}
.fs2-scan .g-loc{background:linear-gradient(140deg,#FF7468,#E6392B)}.fs2-scan .gl-loc{background:#E6392B}
.fs2-scan .g-msg{background:linear-gradient(140deg,#4C97F5,#1E63D4)}.fs2-scan .gl-msg{background:#2C7BE5}
.fs2-scan .g-anon{background:linear-gradient(140deg,#A98BF5,#6A4FE0)}.fs2-scan .gl-anon{background:#6A4FE0}
.fs2-scan .g-mail{background:linear-gradient(140deg,#5BC0DE,#2E97C4)}.fs2-scan .gl-mail{background:#2E97C4}
.fs2-scan .g-form{background:linear-gradient(140deg,#4FD1A8,#16A085)}.fs2-scan .gl-form{background:#16A085}


.fs2-scan .medinfo{background:var(--card);border:1px solid #FBD9D5;border-radius:20px;margin-top:14px;padding:20px 24px;display:flex;align-items:flex-start;gap:16px;box-shadow:0 10px 24px -16px rgba(230,62,46,.3)}
.fs2-scan .medinfo .mi-ic{width:50px;height:50px;border-radius:15px;background:rgba(230,62,46,.1);display:grid;place-items:center;flex-shrink:0;color:var(--red)}
.fs2-scan .medinfo .mi-ic svg{width:26px;height:26px}
.fs2-scan .medinfo .mi-tx h4{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--red)}
.fs2-scan .medinfo .mi-tx p{font-size:18px;color:var(--navy);margin-top:5px;line-height:1.4;font-weight:500}


.fs2-scan .privacy{background:var(--card);border-radius:20px;margin-top:14px;padding:24px 26px;display:flex;align-items:flex-start;gap:20px;box-shadow:0 1px 2px rgba(15,42,74,.04),0 10px 24px -16px rgba(15,42,74,.15)}
.fs2-scan .privacy .lock{width:64px;height:64px;border-radius:18px;background:#E8F1FC;display:grid;place-items:center;flex-shrink:0;color:var(--blue)}
.fs2-scan .privacy .lock svg{width:30px;height:30px}
.fs2-scan .privacy .pbody{flex:1}
.fs2-scan .privacy h3{font-size:21px;font-weight:700;color:var(--navy)}
.fs2-scan .privacy p{font-size:18px;color:var(--ink);margin-top:6px;line-height:1.45;font-weight:400}
.fs2-scan .privacy .info{width:30px;height:30px;border-radius:50%;border:2px solid #C9D4E2;color:#9AA8BC;display:grid;place-items:center;flex-shrink:0;font-size:17px;font-weight:700;font-style:italic;font-family:Georgia,serif}


.fs2-scan .footer{text-align:center;padding:26px 0 34px;font-size:17px;letter-spacing:2px;font-weight:600;color:#A3AFC0;text-transform:uppercase}
.fs2-scan .footer .fs{font-weight:800;letter-spacing:-.3px}
.fs2-scan .footer .fs .f{color:var(--navy)}.fs2-scan .footer .fs .s{color:var(--red)}


.fs2-scan .form-modal{position:fixed;left:0;right:0;bottom:0;max-width:620px;margin:0 auto;z-index:51;background:var(--card);border-radius:28px 28px 0 0;box-shadow:0 -12px 50px rgba(15,42,74,.22);transform:translateY(102%);transition:transform .42s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;max-height:92vh}
.fs2-scan .form-modal.on{transform:translateY(0)}
.fs2-scan .fm-grab{width:44px;height:5px;border-radius:100px;background:#DDE3EC;margin:12px auto 4px;flex-shrink:0}
.fs2-scan .fm-head{display:flex;align-items:center;gap:14px;padding:12px 22px 18px;border-bottom:1px solid #EDF0F4}
.fs2-scan .fm-head .fm-ic{width:50px;height:50px;border-radius:15px;background:linear-gradient(140deg,#4FD1A8,#16A085);display:grid;place-items:center;flex-shrink:0;box-shadow:0 8px 16px -6px rgba(22,160,133,.5)}
.fs2-scan .fm-head .fm-ic svg{width:25px;height:25px;color:#fff}
.fs2-scan .fm-head .fm-ti{flex:1;min-width:0}
.fs2-scan .fm-head .fm-ti .t1{font-size:21px;font-weight:700;color:var(--navy)}
.fs2-scan .fm-head .fm-ti .t2{font-size:14px;color:var(--ink-light);margin-top:2px;font-weight:500}
.fs2-scan .fm-head .fm-x{width:42px;height:42px;border-radius:50%;background:#F1F4F8;border:none;display:grid;place-items:center;cursor:pointer;color:var(--ink);flex-shrink:0;transition:background .2s}
.fs2-scan .fm-head .fm-x:active{background:#E4E9F0}
.fs2-scan .fm-head .fm-x svg{width:20px;height:20px}
.fs2-scan .fm-body{overflow-y:auto;padding:20px 22px 8px}
.fs2-scan .fm-body::-webkit-scrollbar{width:0}
.fs2-scan .fg{margin-bottom:16px}
.fs2-scan .fg label{display:block;font-size:14px;font-weight:700;color:var(--navy);margin-bottom:8px;letter-spacing:-.1px}
.fs2-scan .fg label .opt{font-weight:500;color:var(--ink-light);font-size:13px}
.fs2-scan .fg .in{position:relative;display:flex;align-items:center}
.fs2-scan .fg .in svg{position:absolute;left:16px;width:20px;height:20px;color:#9AA8BC;pointer-events:none}
.fs2-scan .fg input, .fs2-scan .fg textarea{width:100%;border:1.5px solid #E4E9F0;background:#FAFBFD;border-radius:15px;padding:15px 16px 15px 46px;font-family:inherit;font-size:17px;color:var(--navy);outline:none;transition:border-color .2s,background .2s}
.fs2-scan .fg textarea{padding-left:16px;min-height:96px;resize:none;line-height:1.45}
.fs2-scan .fg input:focus, .fs2-scan .fg textarea:focus{border-color:#9FD4C5;background:#fff}
.fs2-scan .fg input::placeholder, .fs2-scan .fg textarea::placeholder{color:#9AA8BC}

.fs2-scan .loc-attach{display:flex;align-items:center;gap:14px;border:1.5px dashed #C9D9CF;background:rgba(22,160,133,.05);border-radius:15px;padding:15px 16px;cursor:pointer;transition:background .2s,border-color .2s}
.fs2-scan .loc-attach:active{background:rgba(22,160,133,.1)}
.fs2-scan .loc-attach.added{border-style:solid;border-color:rgba(22,160,133,.4);background:rgba(22,160,133,.08)}
.fs2-scan .loc-attach .la-ic{width:44px;height:44px;border-radius:13px;background:rgba(22,160,133,.12);display:grid;place-items:center;flex-shrink:0;color:#16A085;transition:background .2s,color .2s}
.fs2-scan .loc-attach.added .la-ic{background:linear-gradient(140deg,#4FD1A8,#16A085);color:#fff}
.fs2-scan .loc-attach .la-ic svg{width:22px;height:22px}
.fs2-scan .loc-attach .la-tx{flex:1}
.fs2-scan .loc-attach .la-tx .l1{font-size:16px;font-weight:700;color:var(--navy)}
.fs2-scan .loc-attach .la-tx .l2{font-size:13px;color:var(--ink-light);margin-top:2px;font-weight:500}
.fs2-scan .loc-attach .la-check{width:26px;height:26px;border-radius:50%;border:2px solid #D2DCE8;flex-shrink:0;display:grid;place-items:center;color:#fff;transition:background .2s,border-color .2s}
.fs2-scan .loc-attach.added .la-check{background:#16A085;border-color:#16A085}
.fs2-scan .loc-attach .la-check svg{width:15px;height:15px;opacity:0;transition:opacity .2s}
.fs2-scan .loc-attach.added .la-check svg{opacity:1}
.fs2-scan .fm-foot{padding:14px 22px calc(24px + env(safe-area-inset-bottom));border-top:1px solid #EDF0F4}
.fs2-scan .fm-submit{width:100%;background:linear-gradient(135deg,#22C58A,#13A268);color:#fff;border:none;border-radius:17px;padding:18px;font-family:inherit;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 26px -10px rgba(19,162,104,.55);transition:transform .15s}
.fs2-scan .fm-submit:active{transform:scale(.98)}
.fs2-scan .fm-submit svg{width:20px;height:20px}
.fs2-scan .fm-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--ink-light);margin-top:12px;font-weight:500}
.fs2-scan .fm-note svg{width:15px;height:15px;color:#16A085}

.fs2-scan .fm-success{padding:40px 24px;text-align:center;display:none}
.fs2-scan .fm-success.on{display:block;animation:pop .4s cubic-bezier(.22,.61,.36,1)}
.fs2-scan .fm-success .fs-ic{width:80px;height:80px;border-radius:26px;background:linear-gradient(140deg,#4FD1A8,#16A085);display:grid;place-items:center;margin:0 auto 20px;box-shadow:0 14px 30px -10px rgba(19,162,104,.6);animation:popico .5s cubic-bezier(.22,.61,.36,1)}
@keyframes popico{0%{transform:scale(0) rotate(-25deg)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
.fs2-scan .fm-success .fs-ic svg{width:40px;height:40px;color:#fff}
.fs2-scan .fm-success h2{font-size:24px;font-weight:800;color:var(--navy);letter-spacing:-.4px}
.fs2-scan .fm-success p{font-size:16px;color:var(--ink);margin-top:10px;line-height:1.5;padding:0 8px}
.fs2-scan .fm-success .fs-btn{width:100%;background:#F1F4F8;color:var(--navy);border:none;border-radius:16px;padding:16px;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;margin-top:24px}


.fs2-scan .scrim.on{opacity:1;pointer-events:auto}
.fs2-scan .chat-modal{position:fixed;left:0;right:0;bottom:0;max-width:620px;margin:0 auto;z-index:51;background:var(--card);border-radius:28px 28px 0 0;box-shadow:0 -12px 50px rgba(15,42,74,.22);transform:translateY(102%);transition:transform .42s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;max-height:88vh}
.fs2-scan .chat-modal.on{transform:translateY(0)}
.fs2-scan .cm-grab{width:44px;height:5px;border-radius:100px;background:#DDE3EC;margin:12px auto 4px;flex-shrink:0}
.fs2-scan .cm-head{display:flex;align-items:center;gap:14px;padding:12px 20px 18px;border-bottom:1px solid #EDF0F4}
.fs2-scan .cm-av{width:54px;height:54px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#fff;box-shadow:0 2px 8px rgba(15,42,74,.12);position:relative}
.fs2-scan .cm-av img{width:100%;height:100%;object-fit:cover}
.fs2-scan .cm-av .on-dot{position:absolute;bottom:0;right:0;width:15px;height:15px;border-radius:50%;background:var(--green);border:3px solid #fff}
.fs2-scan .cm-who{flex:1;min-width:0}
.fs2-scan .cm-who .nm{font-size:21px;font-weight:700;color:var(--navy)}
.fs2-scan .cm-who .st{font-size:15px;font-weight:600;color:var(--green);margin-top:2px}
.fs2-scan .cm-close{width:42px;height:42px;border-radius:50%;background:#F1F4F8;border:none;display:grid;place-items:center;cursor:pointer;color:var(--ink);flex-shrink:0;transition:background .2s}
.fs2-scan .cm-close:active{background:#E4E9F0}
.fs2-scan .cm-close svg{width:20px;height:20px}
.fs2-scan .msgs{flex:1;overflow-y:auto;padding:22px 20px 8px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.fs2-scan .msgs::-webkit-scrollbar{width:0}
.fs2-scan .daysep{align-self:center;background:#E9EFF7;color:#6B7B91;font-size:15px;font-weight:600;padding:6px 18px;border-radius:100px}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.fs2-scan .row{display:flex;gap:12px;align-items:flex-end;animation:pop .35s cubic-bezier(.22,.61,.36,1)}
.fs2-scan .row.out{justify-content:flex-end}
.fs2-scan .av{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#fff;box-shadow:0 2px 8px rgba(15,42,74,.12)}
.fs2-scan .av img{width:100%;height:100%;object-fit:cover}
.fs2-scan .bub-in{background:var(--chat-in);border-radius:18px;padding:14px 18px;max-width:76%}
.fs2-scan .bub-in .who{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:5px}
.fs2-scan .bub-in .line{font-size:18px;color:var(--navy);line-height:1.4}
.fs2-scan .bub-in .t{font-size:13px;color:#8A98AC;text-align:right;margin-top:6px;font-weight:500}
.fs2-scan .bub-out{background:var(--chat-out);color:#fff;border-radius:18px;padding:14px 18px;display:flex;align-items:flex-end;gap:14px;max-width:82%}
.fs2-scan .bub-out .line{font-size:18px;line-height:1.4}
.fs2-scan .bub-out .meta{display:flex;align-items:center;gap:6px;flex-shrink:0}
.fs2-scan .bub-out .meta .t{font-size:13px;color:rgba(255,255,255,.7);font-weight:500}
.fs2-scan .bub-out .meta svg{width:18px;height:14px;color:#5FB0F5}
.fs2-scan .bub-photo{padding:6px;background:var(--chat-out);border-radius:18px;max-width:70%}
.fs2-scan .bub-photo img{width:100%;border-radius:13px;display:block}
.fs2-scan .bub-photo .meta{display:flex;align-items:center;gap:6px;justify-content:flex-end;padding:6px 6px 2px}
.fs2-scan .bub-photo .meta .t{font-size:13px;color:rgba(255,255,255,.7);font-weight:500}
.fs2-scan .bub-photo .meta svg{width:18px;height:14px;color:#5FB0F5}
.fs2-scan .bub-locmsg{padding:0;overflow:hidden;background:var(--chat-out);border-radius:18px;max-width:74%}
.fs2-scan .bub-locmsg .map{height:130px;background:linear-gradient(135deg,#CFE0F5,#A9C6EC);position:relative}
.fs2-scan .bub-locmsg .map .lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:24px 24px}
.fs2-scan .bub-locmsg .map .road1{position:absolute;top:46%;left:0;right:0;height:8px;background:rgba(255,255,255,.6)}
.fs2-scan .bub-locmsg .map .road2{position:absolute;left:60%;top:0;bottom:0;width:8px;background:rgba(255,255,255,.6)}
.fs2-scan .bub-locmsg .map .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}
.fs2-scan .bub-locmsg .minfo{padding:11px 14px;color:#fff}
.fs2-scan .bub-locmsg .minfo .t1{font-size:16px;font-weight:700}
.fs2-scan .bub-locmsg .minfo .t2{font-size:14px;color:rgba(255,255,255,.75);margin-top:2px;display:flex;align-items:center;gap:6px;justify-content:space-between}
.fs2-scan .typing{align-self:flex-start;background:var(--chat-in);padding:15px 18px;border-radius:18px;display:flex;gap:5px}
.fs2-scan .typing span{width:8px;height:8px;border-radius:50%;background:#B4C0D4;animation:ty 1.2s infinite}
.fs2-scan .typing span:nth-child(2){animation-delay:.2s}.fs2-scan .typing span:nth-child(3){animation-delay:.4s}
@keyframes ty{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.fs2-scan .loc-row{padding:12px 18px;border-top:1px solid #EDF0F4}
.fs2-scan .loc-send-btn{width:100%;display:flex;align-items:center;gap:14px;background:rgba(44,123,229,.07);border:1.5px solid rgba(44,123,229,.18);border-radius:16px;padding:14px 16px;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s}
.fs2-scan .loc-send-btn:active{transform:scale(.985);background:rgba(44,123,229,.13)}
.fs2-scan .loc-send-btn .lsb-ic{width:42px;height:42px;border-radius:13px;background:var(--blue-grad);display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 14px -6px rgba(46,119,229,.5)}
.fs2-scan .loc-send-btn .lsb-ic svg{width:22px;height:22px;color:#fff}
.fs2-scan .loc-send-btn .lsb-txt{flex:1;text-align:left;font-size:18px;font-weight:700;color:var(--navy);letter-spacing:-.2px}
.fs2-scan .loc-send-btn .lsb-arrow{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 6px rgba(15,42,74,.1)}
.fs2-scan .loc-send-btn .lsb-arrow svg{width:17px;height:17px;color:var(--blue)}
.fs2-scan .input{display:flex;align-items:center;gap:14px;padding:14px 18px calc(22px + env(safe-area-inset-bottom));border-top:1px solid #EDF0F4}
.fs2-scan .photo-btn{width:48px;height:48px;border-radius:14px;background:#F1F4F8;border:none;display:grid;place-items:center;color:#7A889C;flex-shrink:0;cursor:pointer;transition:background .2s}
.fs2-scan .photo-btn:active{background:#E4E9F0}
.fs2-scan .photo-btn svg{width:24px;height:24px}
.fs2-scan .field{flex:1;background:#F4F6FA;border:1.5px solid transparent;border-radius:100px;padding:15px 22px;transition:border-color .2s,background .2s}
.fs2-scan .field:focus-within{border-color:#B8D2F5;background:#fff}
.fs2-scan .field input{width:100%;border:none;outline:none;font-family:inherit;font-size:18px;color:var(--navy);background:none}
.fs2-scan .field input::placeholder{color:#9AA8BC}
.fs2-scan .send{position:relative;width:54px;height:54px;border-radius:50%;background:#D4DCE7;border:none;display:grid;place-items:center;cursor:pointer;flex-shrink:0;box-shadow:none;transition:background .3s,box-shadow .3s,transform .2s cubic-bezier(.34,1.56,.64,1)}
.fs2-scan .send svg{width:22px;height:22px;color:#fff;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.fs2-scan .send:disabled{cursor:default;transform:scale(.9)}
.fs2-scan .send.ready{background:var(--blue-grad);box-shadow:0 8px 18px -6px rgba(46,119,229,.5);transform:scale(1)}
.fs2-scan .send.ready svg{transform:translateX(1px)}
.fs2-scan .send.ready::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--blue);opacity:0;animation:sendPulse 1.8s ease-out infinite}
@keyframes sendPulse{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.5);opacity:0}}
.fs2-scan .send.ready:active{transform:scale(.88)}
@keyframes sendPop{0%{transform:scale(.9)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
.fs2-scan .send.pop{animation:sendPop .4s cubic-bezier(.34,1.56,.64,1)}


.fs2-scan .toast{position:fixed;top:18px;left:50%;transform:translate(-50%,-130px);background:var(--navy);color:#fff;padding:15px 24px;border-radius:16px;font-size:17px;font-weight:600;z-index:60;display:flex;align-items:center;gap:11px;box-shadow:0 14px 40px -8px rgba(15,42,74,.45);transition:transform .4s cubic-bezier(.22,.61,.36,1);max-width:90%}
.fs2-scan .toast.on{transform:translate(-50%,0)}
.fs2-scan .toast svg{width:20px;height:20px;color:#5FD0A0}

@media(max-width:560px){
  .fs2-scan .page{padding:10px 10px 0}
  .fs2-scan .lost-banner{padding:14px 16px;gap:12px;border-radius:18px;margin-bottom:11px}
  .fs2-scan .lost-banner .lb-ic{width:40px;height:40px;border-radius:12px}.fs2-scan .lost-banner .lb-ic svg{width:21px;height:21px}
  .fs2-scan .lost-banner .lb-tx .t1{font-size:11px}.fs2-scan .lost-banner .lb-tx .t2{font-size:15px}
  .fs2-scan .header{padding:20px 18px 0;border-radius:22px}
  .fs2-scan .divider{margin:18px -18px 0}
  .fs2-scan .logo{font-size:20px}.fs2-scan .logo .wifi{margin-right:6px}.fs2-scan .logo .wifi svg{width:20px;height:20px}
  .fs2-scan .protected{font-size:11px;padding:6px 10px;gap:5px}.fs2-scan .protected svg{width:12px;height:12px}
  .fs2-scan .header-top{gap:10px}

  .fs2-scan .item{gap:16px;padding:18px 0 20px}
  .fs2-scan .item-img{width:128px;height:128px;border-radius:16px}
  .fs2-scan .item-label{font-size:11px;letter-spacing:1.4px}
  .fs2-scan .item-name{font-size:29px;letter-spacing:-1px;margin-top:5px}
  .fs2-scan .item-loc{font-size:15px;margin-top:11px}.fs2-scan .item-loc svg{width:15px;height:15px}
  .fs2-scan .status{font-size:12.5px;padding:5px 12px;margin-top:11px}.fs2-scan .status .d{width:7px;height:7px}
  .fs2-scan .pubmsg{padding:0 6px 0 14px;margin-top:18px}
  .fs2-scan .pubmsg .pm-body .pm-lbl{font-size:11px}.fs2-scan .pubmsg .pm-body .pm-tx{font-size:17px}
  .fs2-scan .reward{padding:0 6px;gap:10px;margin-top:13px}
  .fs2-scan .reward .rw-ic{width:30px;height:30px;border-radius:9px}.fs2-scan .reward .rw-ic svg{width:17px;height:17px}
  .fs2-scan .reward .rw-tx .t1{font-size:13px}.fs2-scan .reward .rw-tx .t2{font-size:16px}
  .fs2-scan .callbar{min-height:64px;padding:0 18px;gap:14px;border-radius:18px}
  .fs2-scan .callbar .ph{width:40px;height:40px;border-radius:12px}.fs2-scan .callbar .ph svg{width:20px;height:20px}
  .fs2-scan .callbar .big{font-size:17px}.fs2-scan .callbar .chev svg{width:18px;height:18px}
  .fs2-scan .sec-label{font-size:11px;margin:18px 6px 10px}
  .fs2-scan .grid{gap:11px}
  .fs2-scan .tile{padding:17px;border-radius:20px}
  .fs2-scan .tile .icon{width:48px;height:48px;border-radius:15px}.fs2-scan .tile .icon svg{width:23px;height:23px}
  .fs2-scan .tile .label{font-size:16.5px;margin-top:14px}.fs2-scan .tile .sub{font-size:12.5px;margin-top:3px}
  .fs2-scan .tile .corner{top:18px;right:18px;width:26px;height:26px}.fs2-scan .tile .corner svg{width:13px;height:13px}
  .fs2-scan .medinfo{padding:15px 18px;gap:13px;border-radius:16px}
  .fs2-scan .medinfo .mi-ic{width:42px;height:42px;border-radius:13px}.fs2-scan .medinfo .mi-ic svg{width:22px;height:22px}
  .fs2-scan .medinfo .mi-tx h4{font-size:11px}.fs2-scan .medinfo .mi-tx p{font-size:15px}
  .fs2-scan .privacy{padding:18px;gap:14px;border-radius:16px}
  .fs2-scan .privacy .lock{width:48px;height:48px;border-radius:14px}.fs2-scan .privacy .lock svg{width:23px;height:23px}
  .fs2-scan .privacy h3{font-size:16px}.fs2-scan .privacy p{font-size:13.5px}
  .fs2-scan .privacy .info{width:24px;height:24px;font-size:13px}
  .fs2-scan .footer{font-size:12px;padding:20px 0 24px}
  .fs2-scan .chat-modal{border-radius:24px 24px 0 0}
  .fs2-scan .form-modal{border-radius:24px 24px 0 0}
  .fs2-scan .fm-head{padding:10px 18px 14px;gap:11px}
  .fs2-scan .fm-head .fm-ic{width:44px;height:44px;border-radius:13px}.fs2-scan .fm-head .fm-ic svg{width:22px;height:22px}
  .fs2-scan .fm-head .fm-ti .t1{font-size:18px}.fs2-scan .fm-head .fm-ti .t2{font-size:12.5px}
  .fs2-scan .fm-head .fm-x{width:38px;height:38px}.fs2-scan .fm-head .fm-x svg{width:18px;height:18px}
  .fs2-scan .fm-body{padding:16px 18px 6px}
  .fs2-scan .fg{margin-bottom:14px}
  .fs2-scan .fg label{font-size:13px}
  .fs2-scan .fg input, .fs2-scan .fg textarea{font-size:15.5px;padding:13px 14px 13px 44px}
  .fs2-scan .fg textarea{padding-left:14px;min-height:84px}
  .fs2-scan .fg .in svg{width:18px;height:18px;left:15px}
  .fs2-scan .loc-attach{padding:13px 14px;gap:12px}
  .fs2-scan .loc-attach .la-ic{width:40px;height:40px;border-radius:12px}.fs2-scan .loc-attach .la-ic svg{width:20px;height:20px}
  .fs2-scan .loc-attach .la-tx .l1{font-size:14.5px}.fs2-scan .loc-attach .la-tx .l2{font-size:12px}
  .fs2-scan .loc-attach .la-check{width:24px;height:24px}.fs2-scan .loc-attach .la-check svg{width:13px;height:13px}
  .fs2-scan .fm-foot{padding:12px 18px 20px}
  .fs2-scan .fm-submit{padding:16px;font-size:16px}.fs2-scan .fm-submit svg{width:18px;height:18px}
  .fs2-scan .fm-note{font-size:12px}
  .fs2-scan .fm-success{padding:32px 20px}
  .fs2-scan .fm-success .fs-ic{width:70px;height:70px;border-radius:22px}.fs2-scan .fm-success .fs-ic svg{width:34px;height:34px}
  .fs2-scan .fm-success h2{font-size:21px}.fs2-scan .fm-success p{font-size:14.5px}
  .fs2-scan .cm-head{padding:10px 16px 14px;gap:11px}
  .fs2-scan .cm-av{width:46px;height:46px}.fs2-scan .cm-who .nm{font-size:18px}.fs2-scan .cm-who .st{font-size:13px}
  .fs2-scan .cm-close{width:38px;height:38px}.fs2-scan .cm-close svg{width:18px;height:18px}
  .fs2-scan .msgs{padding:18px 16px 6px;gap:12px}
  .fs2-scan .daysep{font-size:12px;padding:5px 14px}
  .fs2-scan .av{width:40px;height:40px}
  .fs2-scan .bub-in{padding:12px 15px}.fs2-scan .bub-in .who{font-size:14px}.fs2-scan .bub-in .line{font-size:15px}.fs2-scan .bub-in .t{font-size:11px}
  .fs2-scan .bub-out{padding:12px 15px;gap:10px}.fs2-scan .bub-out .line{font-size:15px}.fs2-scan .bub-out .meta .t{font-size:11px}.fs2-scan .bub-out .meta svg{width:15px;height:12px}
  .fs2-scan .loc-row{padding:10px 16px}
  .fs2-scan .loc-send-btn{padding:12px 14px;gap:12px;border-radius:14px}
  .fs2-scan .loc-send-btn .lsb-ic{width:38px;height:38px;border-radius:12px}.fs2-scan .loc-send-btn .lsb-ic svg{width:19px;height:19px}
  .fs2-scan .loc-send-btn .lsb-txt{font-size:15.5px}
  .fs2-scan .loc-send-btn .lsb-arrow{width:30px;height:30px}.fs2-scan .loc-send-btn .lsb-arrow svg{width:15px;height:15px}
  .fs2-scan .input{padding:12px 14px 18px;gap:10px}
  .fs2-scan .photo-btn{width:44px;height:44px}.fs2-scan .photo-btn svg{width:21px;height:21px}
  .fs2-scan .field{padding:12px 18px}.fs2-scan .field input{font-size:15px}
  .fs2-scan .send{width:46px;height:46px}.fs2-scan .send svg{width:19px;height:19px}
  .fs2-scan .toast{font-size:14px;padding:12px 18px}
}
@media(prefers-reduced-motion:reduce){.fs2-scan *{animation:none!important;transition:none!important}}

/* ---- Owner Panel (owner-only) ---- */
.fs2-scan .owner-panel{background:linear-gradient(135deg,#0f1f3d,#1a3566);color:#fff;border-radius:20px;padding:18px 18px 14px;margin:16px 14px 0;box-shadow:0 12px 32px rgba(15,31,61,.25);position:relative;overflow:hidden}
.fs2-scan .owner-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 200px at 0% 0%,rgba(255,200,80,.18),transparent 60%);pointer-events:none}
.fs2-scan .op-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative}
.fs2-scan .op-badge{font-weight:800;font-size:14px;letter-spacing:.3px}
.fs2-scan .op-hide{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer}
.fs2-scan .op-hide:hover{background:rgba(255,255,255,.22)}
.fs2-scan .op-sub{font-size:12.5px;opacity:.78;margin-top:4px;position:relative}
.fs2-scan .op-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;position:relative}
.fs2-scan .op-btn{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:14px;padding:11px 12px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;text-align:left;transition:transform .15s ease,background .2s ease}
.fs2-scan .op-btn:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.fs2-scan .op-btn:disabled{opacity:.55;cursor:wait}
.fs2-scan .op-btn .ic{font-size:18px;line-height:1}
.fs2-scan .op-btn.danger{background:linear-gradient(135deg,#e64a3b,#c43224);border-color:transparent}
.fs2-scan .op-btn.warn{background:linear-gradient(135deg,#f4a93a,#d98a1a);border-color:transparent}
.fs2-scan .op-toast{margin-top:10px;background:rgba(255,255,255,.16);border-radius:10px;padding:8px 12px;font-size:12.5px;text-align:center;position:relative}
.fs2-scan .owner-restore{display:block;margin:14px 14px 0;background:#0f1f3d;color:#fff;border:0;border-radius:999px;padding:10px 16px;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 6px 18px rgba(15,31,61,.25)}
.fs2-scan .owner-signin{display:block;margin:14px 14px 0;text-align:center;padding:10px 14px;border-radius:12px;background:#eef3fb;color:#2C7BE5;font-weight:600;font-size:13px;text-decoration:none;border:1px solid #dce6f5}
.fs2-scan .owner-signin:hover{background:#e3ecf8}
@media(max-width:380px){.fs2-scan .op-grid{grid-template-columns:1fr}}

/* === Emergency SOS panel (owner-only) === */
.fs2-scan .sos-panel{margin-top:14px;padding:14px;border-radius:16px;background:linear-gradient(180deg,#fff5f5,#ffecec);border:1px solid #f5b8b8;box-shadow:0 8px 22px rgba(220,53,69,.12);position:relative}
.fs2-scan .sos-head{display:flex;align-items:center;gap:10px;color:#9b1c2c;font-size:15px;letter-spacing:.2px}
.fs2-scan .sos-pulse{width:10px;height:10px;border-radius:50%;background:#e53935;box-shadow:0 0 0 0 rgba(229,57,53,.6);animation:sosPulse 1.6s infinite}
@keyframes sosPulse{0%{box-shadow:0 0 0 0 rgba(229,57,53,.55)}70%{box-shadow:0 0 0 12px rgba(229,57,53,0)}100%{box-shadow:0 0 0 0 rgba(229,57,53,0)}}
.fs2-scan .sos-primary-info{margin-top:8px;font-size:13px;color:#5a1b22}
.fs2-scan .sos-primary-info .sos-phone{color:#7a4a4f}
.fs2-scan .sos-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fs2-scan .sos-btn{display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:14px 14px;border-radius:12px;border:0;cursor:pointer;font-weight:700;font-size:14px;color:#fff;text-align:left;line-height:1.15;min-height:56px;transition:transform .08s ease, filter .15s ease;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.fs2-scan .sos-btn:active{transform:scale(.97)}
.fs2-scan .sos-btn[disabled]{opacity:.65;cursor:wait}
.fs2-scan .sos-btn .ic{font-size:20px}
.fs2-scan .sos-btn-call{background:linear-gradient(135deg,#2C7BE5,#1a5fbf)}
.fs2-scan .sos-btn-sms{background:linear-gradient(135deg,#8c52ff,#6b32d9)}
.fs2-scan .sos-btn-wa{background:linear-gradient(135deg,#25D366,#128c4a)}
.fs2-scan .sos-btn-911{background:linear-gradient(135deg,#e53935,#b71c1c)}
.fs2-scan .sos-btn-share{background:linear-gradient(135deg,#ff8a00,#e54f00);grid-column:1 / -1}
.fs2-scan .sos-warn{margin-top:10px;font-size:12.5px;color:#7a3a44;background:#fff;border:1px dashed #f0b3b3;padding:8px 10px;border-radius:10px}
.fs2-scan .sos-toast{margin-top:10px;background:#0f1f3d;color:#fff;border-radius:10px;padding:8px 12px;font-size:12.5px;text-align:center}
@media(max-width:380px){.fs2-scan .sos-grid{grid-template-columns:1fr}.fs2-scan .sos-btn-share{grid-column:auto}}

/* === SOS editor (dashboard) === */
.sos-editor{display:flex;flex-direction:column;gap:10px}
.sos-editor .sos-h{margin:14px 0 4px;font-size:13px;color:#0F2A4A;text-transform:uppercase;letter-spacing:.4px}
.sos-editor .ds-row{display:flex;align-items:center;gap:8px}
.sos-editor .sos-contact-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center}
.sos-editor .sos-primary{display:flex;align-items:center;gap:6px;font-size:12px;color:#4a5b73;white-space:nowrap}
.sos-editor .sos-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:640px){.sos-editor .sos-contact-row{grid-template-columns:1fr 1fr;}.sos-editor .sos-actions-grid{grid-template-columns:1fr}}
