/* RMS theme on top of Bootstrap 5 */
:root {
  --rms-ink: #1d2320;
  --rms-side: #18211d;
  --rms-side-2: #222d28;
  --rms-side-text: #aab7b0;
  --rms-accent: #e08a1e;
  --rms-accent-soft: #fdf1e1;
  --rms-bg: #f4f2ee;
  --rms-card: #ffffff;
  --rms-line: #e5e1d9;
  --bs-primary: #c9731a;
  --bs-primary-rgb: 201, 115, 26;
  --bs-link-color: #b0620f;
  --bs-link-hover-color: #8c4c08;
  --bs-body-font-family: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --bs-body-bg: var(--rms-bg);
  --bs-body-color: var(--rms-ink);
  --bs-border-color: var(--rms-line);
}
.btn-primary { --bs-btn-bg: #c9731a; --bs-btn-border-color: #c9731a; --bs-btn-hover-bg: #b0620f; --bs-btn-hover-border-color: #b0620f; --bs-btn-active-bg: #9a5509; --bs-btn-active-border-color: #9a5509; --bs-btn-disabled-bg: #d9a46a; --bs-btn-disabled-border-color: #d9a46a; }
.btn-outline-primary { --bs-btn-color: #b0620f; --bs-btn-border-color: #c9731a; --bs-btn-hover-bg: #c9731a; --bs-btn-hover-border-color: #c9731a; --bs-btn-active-bg: #b0620f; }
.form-control:focus, .form-select:focus { border-color: #e7b67b; box-shadow: 0 0 0 .2rem rgba(224,138,30,.18); }
.text-bg-primary { background-color: #c9731a !important; }

body { min-height: 100vh; }
.app { display: flex; min-height: 100vh; }
@media (min-width: 992px) { .app { background: linear-gradient(to right, var(--rms-side) 236px, transparent 236px); } }

/* Sidebar */
.sidebar { width: 236px; flex: 0 0 236px; background: var(--rms-side); color: var(--rms-side-text); position: sticky; top: 0; height: 100vh; overflow-y: auto; padding-bottom: 1.5rem; }
.brand { display: flex; align-items: center; gap: .6rem; padding: 1.1rem 1.1rem 1rem; border-bottom: 1px solid rgba(255,255,255,.06); }
.brand-mark { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: var(--rms-accent); color: #fff; font-size: 1.05rem; }
.brand-name { color: #fff; font-weight: 600; line-height: 1.2; font-size: .98rem; }
.sidebar nav { padding: .5rem .6rem; }
.nav-group { text-transform: uppercase; font-size: .68rem; letter-spacing: .08em; color: #6f7f77; padding: 1rem .6rem .35rem; }
.sidebar .nav-link { display: flex; align-items: center; gap: .7rem; color: var(--rms-side-text); padding: .5rem .65rem; border-radius: 8px; font-size: .9rem; }
.sidebar .nav-link i { font-size: 1.02rem; width: 1.1rem; text-align: center; }
.sidebar .nav-link:hover { background: var(--rms-side-2); color: #fff; }
.sidebar .nav-link.active { background: rgba(224,138,30,.16); color: #ffc27a; }

.main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar { display: flex; align-items: center; gap: .75rem; padding: .8rem 1.5rem; background: var(--rms-card); border-bottom: 1px solid var(--rms-line); position: sticky; top: 0; z-index: 20; }
.page-title { font-size: 1.15rem; font-weight: 600; margin: 0; color: var(--rms-ink); }
.btn-icon { border: 0; font-size: 1.4rem; padding: 0 .3rem; }
.btn-user { border: 1px solid var(--rms-line); background: #fff; }
.content { padding: 1.5rem; max-width: 1500px; width: 100%; }

/* Cards / panels */
.card { border: 1px solid var(--rms-line); border-radius: 12px; box-shadow: 0 1px 2px rgba(30,25,15,.04); }
.card-header { background: transparent; border-bottom: 1px solid var(--rms-line); font-weight: 600; padding: .85rem 1.1rem; }
.card-body { padding: 1.1rem; }
.kpi { padding: 1rem 1.1rem; }
.kpi .label { font-size: .78rem; color: #6c6a64; text-transform: uppercase; letter-spacing: .04em; }
.kpi .value { font-size: 1.45rem; font-weight: 650; margin-top: .15rem; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kpi .sub { font-size: .8rem; color: #7a776f; }
.kpi .icon { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--rms-accent-soft); color: var(--rms-accent); font-size: 1.15rem; }

/* Tables */
.table { --bs-table-bg: transparent; margin-bottom: 0; }
.table > thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: #6c6a64; font-weight: 600; background: #faf8f4; border-bottom-width: 1px; white-space: nowrap; }
.table td, .table th { vertical-align: middle; }
.num, td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.table-card { overflow-x: auto; }
.text-neg { color: #b42318 !important; }
.text-pos { color: #1c7c3a !important; }
.filter-bar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; margin-bottom: 1rem; }
.filter-bar .form-control, .filter-bar .form-select { width: auto; min-width: 140px; }
.form-label { font-size: .82rem; font-weight: 600; color: #4a4843; margin-bottom: .3rem; }
.req::after { content: " *"; color: #b42318; }
.lines-table input, .lines-table select { min-width: 80px; }
.section-title { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #7a776f; font-weight: 600; margin: 1.2rem 0 .6rem; }

/* Alerts list */
.alert-item { display: flex; gap: .7rem; align-items: flex-start; padding: .7rem 0; border-bottom: 1px dashed var(--rms-line); font-size: .9rem; }
.alert-item:last-child { border-bottom: 0; }
.alert-item i { font-size: 1.05rem; margin-top: .05rem; }

/* POS */
body.pos-page .content { max-width: none; padding: 1rem; }
.pos { display: grid; grid-template-columns: 1fr 400px; gap: 1rem; height: calc(100vh - 92px); }
.pos-menu { display: flex; flex-direction: column; min-height: 0; }
.pos-cats { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .5rem; flex: 0 0 auto; }
.pos-cats button { white-space: nowrap; border-radius: 20px; }
.pos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; overflow-y: auto; align-content: start; padding: .1rem; }
.pos-tile { text-align: left; background: #fff; border: 1px solid var(--rms-line); border-radius: 12px; padding: .7rem .8rem; min-height: 92px; display: flex; flex-direction: column; justify-content: space-between; transition: transform .06s, border-color .1s; }
.pos-tile:hover { border-color: var(--rms-accent); }
.pos-tile:active { transform: scale(.98); }
.pos-tile .t-name { font-weight: 600; font-size: .92rem; line-height: 1.2; }
.pos-tile .t-portion { font-size: .75rem; color: #7a776f; }
.pos-tile .t-price { font-weight: 650; color: #9a5509; font-variant-numeric: tabular-nums; }
.pos-tile .t-norecipe { font-size: .68rem; color: #b42318; }
.pos-cart { background: #fff; border: 1px solid var(--rms-line); border-radius: 12px; display: flex; flex-direction: column; min-height: 0; }
.pos-cart-head { padding: .8rem; border-bottom: 1px solid var(--rms-line); }
.pos-lines { flex: 1; overflow-y: auto; padding: .3rem .8rem; }
.pos-line { display: grid; grid-template-columns: 1fr auto auto; gap: .5rem; align-items: center; padding: .5rem 0; border-bottom: 1px dashed var(--rms-line); }
.pos-line .l-name { font-size: .88rem; font-weight: 600; line-height: 1.2; }
.pos-line .l-sub { font-size: .74rem; color: #7a776f; }
.qty-ctl { display: flex; align-items: center; gap: .2rem; }
.qty-ctl button { width: 28px; height: 28px; padding: 0; border-radius: 7px; }
.qty-ctl input { width: 46px; text-align: center; padding: .15rem; }
.pos-totals { padding: .8rem; border-top: 1px solid var(--rms-line); font-size: .9rem; }
.pos-totals .row-t { display: flex; justify-content: space-between; padding: .12rem 0; }
.pos-totals .grand { font-size: 1.3rem; font-weight: 700; border-top: 1px solid var(--rms-line); margin-top: .35rem; padding-top: .45rem; }
.pay-btn { font-size: 1.05rem; padding: .7rem; font-weight: 600; }
@media (max-width: 991px) {
  .pos { grid-template-columns: 1fr; height: auto; }
  .pos-grid { max-height: 55vh; }
  .pos-cart { min-height: 70vh; }
}

#countTable td:first-child { white-space: nowrap; }
.pos-mobile-bar { display: none; }
@media (max-width: 991px) {
  .pos-mobile-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; background: #fff; border-top: 1px solid var(--rms-line); padding: .6rem 1rem; gap: .75rem; align-items: center; box-shadow: 0 -4px 12px rgba(0,0,0,.06); }
  body.pos-page .content { padding-bottom: 5rem; }
}

/* Mobile nav */
.nav-backdrop { display: none; }
@media (max-width: 991.98px) {
  .sidebar { position: fixed; left: 0; top: 0; z-index: 1040; transform: translateX(-100%); transition: transform .2s; }
  body.nav-open .sidebar { transform: none; }
  body.nav-open .nav-backdrop { display: block; position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 1030; }
  .content { padding: 1rem; }
  .topbar { padding: .7rem 1rem; }
}

/* Login */
.login-wrap { min-height: 100vh; display: grid; place-items: center; background: radial-gradient(circle at 20% 10%, #2a3a33 0, var(--rms-side) 55%); padding: 1rem; }
.login-card { width: 100%; max-width: 380px; background: #fff; border-radius: 16px; padding: 2rem; box-shadow: 0 20px 50px rgba(0,0,0,.25); }

/* Printing normal pages (reports) */
@media print {
  .sidebar, .topbar, .noprint, .nav-backdrop, .btn, .alert-dismissible .btn-close { display: none !important; }
  body { background: #fff; }
  .content { padding: 0; max-width: none; }
  .card { box-shadow: none; break-inside: avoid; }
  a { color: inherit; text-decoration: none; }
}

/* ---------------------------------------------------------------- Phase 4: phones, app mode, messenger, digital menu */
.lang-switch .ur-word, .ur-word { font-family: "Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", "Urdu Typesetting", serif; line-height: 1.4; }
.topbar { padding-top: calc(.8rem + env(safe-area-inset-top)); }
.topbar-actions .page-actions .btn { white-space: nowrap; }
@media (max-width: 767.98px) {
  .topbar { flex-wrap: wrap; row-gap: .4rem; }
  .page-title { font-size: 1.02rem; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-actions { width: 100%; order: 3; justify-content: flex-end; overflow-x: auto; }
  .topbar-actions .page-actions { flex-wrap: nowrap !important; }
  .filter-bar .form-control, .filter-bar .form-select { min-width: 0; flex: 1 1 140px; }
  .kpi .value { font-size: 1.1rem; }
  /* Stop iPhone zooming into inputs */
  input.form-control, select.form-select, textarea.form-control { font-size: 16px; }
  .card-body { padding: .9rem; }
}
/* Bottom tab bar on phones */
.mobile-tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035; display: flex; background: #fff; border-top: 1px solid var(--rms-line);
  padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -4px 14px rgba(0,0,0,.06); }
.mobile-tabs a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: .45rem 0 .4rem; color: #6c6a64; text-decoration: none; font-size: .7rem; position: relative; }
.mobile-tabs a i { font-size: 1.25rem; }
.mobile-tabs a.on { color: var(--bs-primary); font-weight: 600; }
.mobile-tabs .mt-badge { position: absolute; top: 3px; inset-inline-start: calc(50% + 6px); background: #1c7c3a; color: #fff; border-radius: 999px; font-size: .62rem; padding: 0 5px; line-height: 1.5; }
.mobile-tabs .mt-badge.warn { background: #e0a21e; color: #111; }
@media (max-width: 991.98px) {
  body:has(.mobile-tabs) .content { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
  body.pos-page .pos-mobile-bar { bottom: calc(56px + env(safe-area-inset-bottom)); }
  body.pos-page .content { padding-bottom: calc(9rem + env(safe-area-inset-bottom)); }
  .sidebar { padding-bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
}
html.is-app body { overscroll-behavior-y: none; }
@media print { .mobile-tabs { display: none !important; } }

/* Messenger */
body.chat-page .content { max-width: none; padding: 0; }
.chat-shell { display: grid; grid-template-columns: 340px minmax(0, 1fr); flex: 1; width: 100%; min-height: 0; background: #fff; }
body.chat-page .app { height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
body.chat-page .main { height: 100vh; height: 100dvh; min-height: 0; }
body.chat-page .content { flex: 1; min-height: 0; display: flex; }
.chat-list { border-inline-end: 1px solid var(--rms-line); display: flex; flex-direction: column; min-height: 0; }
.chat-list-head { padding: .75rem; border-bottom: 1px solid var(--rms-line); display: flex; flex-direction: column; gap: .5rem; }
.chat-threads { overflow-y: auto; flex: 1; }
.chat-thread { display: flex; gap: .65rem; padding: .7rem .8rem; border-bottom: 1px solid #f1eee8; cursor: pointer; text-decoration: none; color: inherit; align-items: center; }
.chat-thread:hover { background: #faf8f4; }
.chat-thread.on { background: var(--rms-accent-soft); }
.chat-av { width: 42px; height: 42px; flex: none; border-radius: 50%; display: grid; place-items: center; background: #e8f3ec; color: #1c7c3a; font-size: 1.1rem; }
.chat-av.supplier { background: #e8eef9; color: #2b59c3; } .chat-av.shopkeeper { background: #f6ecf8; color: #8a3aa8; } .chat-av.online_order { background: #fdf1e1; color: #b0620f; }
.chat-thread .tn { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-thread .tp { font-size: .8rem; color: #7a776f; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-thread .tm { font-size: .7rem; color: #9a968d; white-space: nowrap; }
.chat-thread .tu { background: #1c7c3a; color: #fff; border-radius: 999px; font-size: .7rem; padding: 0 7px; font-weight: 700; }
.chat-main { display: flex; flex-direction: column; min-height: 0; min-width: 0; background: #efeae2; }
.chat-list { min-width: 0; }
body.chat-page { overflow-x: hidden; }
.chat-head { background: #fff; border-bottom: 1px solid var(--rms-line); padding: .6rem .9rem; display: flex; align-items: center; gap: .6rem; }
.chat-head .hn { font-weight: 650; line-height: 1.2; } .chat-head .hs { font-size: .78rem; color: #7a776f; }
.chat-empty { flex: 1; display: grid; place-items: center; color: #7a776f; text-align: center; padding: 2rem; }
.chat-msgs { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: .35rem;
  background-color: #efeae2; background-image: radial-gradient(rgba(0,0,0,.035) 1px, transparent 1px); background-size: 18px 18px; }
.chat-day { align-self: center; background: #fff; color: #6c6a64; font-size: .72rem; border-radius: 8px; padding: .15rem .6rem; margin: .5rem 0; box-shadow: 0 1px 1px rgba(0,0,0,.06); }
.bub { max-width: min(78%, 520px); background: #fff; border-radius: 12px; padding: .45rem .65rem .3rem; box-shadow: 0 1px 1px rgba(0,0,0,.08); align-self: flex-start; word-wrap: break-word; overflow-wrap: anywhere; }
.bub.mine { background: #d9fdd3; align-self: flex-end; }
.bub .bt { white-space: pre-wrap; font-size: .93rem; }
.bub .bm { font-size: .68rem; color: #8a877f; text-align: end; margin-top: .1rem; white-space: nowrap; }
.bub .bm .bi-check2-all.read { color: #2b8be0; }
.bub .by { font-size: .7rem; color: #b0620f; font-weight: 600; }
.bub audio { width: 250px; max-width: 100%; height: 40px; display: block; }
.bill-card { border: 1px solid var(--rms-line); border-radius: 10px; padding: .55rem .7rem; background: #fffdf9; min-width: min(220px, 60vw); }
.bub.mine .bill-card { background: #f3fff0; border-color: #c4e9bc; }
.bill-card .bc-t { font-weight: 650; display: flex; align-items: center; gap: .4rem; }
.bill-card .bc-r { display: flex; justify-content: space-between; gap: 1rem; font-size: .85rem; }
.bill-card .bc-r b { font-variant-numeric: tabular-nums; }
.chat-compose { background: #f0f0f0; padding: .5rem .6rem calc(.5rem + env(safe-area-inset-bottom)); display: flex; align-items: flex-end; gap: .4rem; }
.chat-compose textarea { flex: 1; resize: none; border-radius: 20px; border: 0; padding: .55rem .9rem; max-height: 120px; min-height: 42px; font-size: 16px; line-height: 1.4; }
.chat-compose .cbtn { width: 44px; height: 44px; border-radius: 50%; border: 0; flex: none; display: grid; place-items: center; font-size: 1.2rem; background: transparent; color: #54656f; }
.chat-compose .cbtn.send, .chat-compose .cbtn.mic { background: #1c7c3a; color: #fff; }
.chat-compose .cbtn.rec { background: #d92d20; color: #fff; animation: recpulse 1.2s infinite; }
@keyframes recpulse { 50% { box-shadow: 0 0 0 8px rgba(217,45,32,.18); } }
.rec-bar { flex: 1; display: flex; align-items: center; gap: .6rem; background: #fff; border-radius: 20px; padding: .45rem .9rem; min-height: 42px; }
.rec-bar .dot { width: 10px; height: 10px; border-radius: 50%; background: #d92d20; animation: recpulse 1.2s infinite; }
.rec-bar audio { height: 34px; flex: 1; min-width: 0; }
.chat-back { display: none; }
@media (max-width: 991.98px) {
  .chat-shell { grid-template-columns: minmax(0, 1fr); }
  body.chat-page .main { height: calc(100dvh - 56px - env(safe-area-inset-bottom)); }
  .chat-shell.has-thread .chat-list { display: none; }
  .chat-shell:not(.has-thread) .chat-main { display: none; }
  .chat-back { display: inline-flex; }
  body.chat-page .content { padding-bottom: 0 !important; }
}

/* Digital menu manager */
.dm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1rem; }
.dm-card { background: #fff; border: 1px solid var(--rms-line); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.dm-card.off { opacity: .6; }
.dm-photo { position: relative; aspect-ratio: 4 / 3; background: #f1ebe1 center/cover no-repeat; display: grid; place-items: center; color: #c9b8a0; font-size: 2.6rem; font-weight: 700; cursor: pointer; }
.dm-photo .dm-up { position: absolute; inset-inline-end: 8px; bottom: 8px; background: rgba(0,0,0,.6); color: #fff; border-radius: 999px; padding: .2rem .7rem; font-size: .78rem; }
.dm-photo .dm-feat { position: absolute; inset-inline-start: 8px; top: 8px; background: #e08a1e; color: #fff; border-radius: 999px; padding: .1rem .6rem; font-size: .72rem; font-weight: 700; }
.dm-photo.busy::after { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='20' fill='none' stroke='%23c9731a' stroke-width='5' stroke-dasharray='90 40'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center/48px no-repeat; }
.dm-body { padding: .75rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.dm-body .form-control, .dm-body .form-select { font-size: .88rem; }
.dm-prices { display: flex; flex-wrap: wrap; gap: .35rem; }
.dm-prices .input-group { width: auto; flex: 1 1 120px; }
.dm-saved { font-size: .75rem; color: #1c7c3a; min-height: 1.1em; }

/* Phase 6: avatars, photo upload, maps */
.avatar { border-radius: 50%; object-fit: cover; flex: none; display: inline-grid; place-items: center; color: #fff; font-weight: 700; vertical-align: middle; background: #e9e4da; }
.photo-field { display: flex; gap: 1rem; align-items: center; }
.photo-field .pf-prev img, .photo-field .pf-prev .avatar { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--rms-line); }
.map-box { height: 320px; border-radius: 12px; overflow: hidden; border: 1px solid var(--rms-line); background: #e9e4da; }
.map-box.tall { height: 420px; }
body.map-page .content { max-width: none; padding: 0; }
.live-shell { display: grid; grid-template-columns: 380px minmax(0, 1fr); height: calc(100dvh - 62px); }
.live-side { border-inline-end: 1px solid var(--rms-line); background: #fff; display: flex; flex-direction: column; min-height: 0; }
.live-side .tabs { display: flex; gap: .3rem; padding: .6rem; border-bottom: 1px solid var(--rms-line); flex-wrap: wrap; }
.live-list { overflow-y: auto; flex: 1; }
.live-item { display: flex; gap: .7rem; align-items: center; padding: .65rem .8rem; border-bottom: 1px solid #f1eee8; cursor: pointer; }
.live-item:hover { background: #faf8f4; } .live-item.on { background: var(--rms-accent-soft); }
.live-item .ln { font-weight: 600; line-height: 1.25; } .live-item .ls { font-size: .78rem; color: #7a776f; }
.dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; background: #bbb; }
.dot.on { background: #1d7a45; box-shadow: 0 0 0 3px rgba(29,122,69,.2); } .dot.stale { background: #e0a21e; }
.live-map { position: relative; min-height: 0; }
.live-map #map { position: absolute; inset: 0; }
.live-legend { position: absolute; z-index: 500; top: 10px; inset-inline-end: 10px; background: #fff; border-radius: 10px; padding: .4rem .7rem; font-size: .78rem; box-shadow: 0 2px 10px rgba(0,0,0,.15); }
@media (max-width: 991.98px) {
  .live-shell { grid-template-columns: 1fr; grid-template-rows: 55vh minmax(0, 1fr); height: calc(100dvh - 62px - 56px - env(safe-area-inset-bottom)); }
  .live-map { order: -1; }
}
.duty-hero { border-radius: 16px; padding: 1.2rem; color: #fff; background: linear-gradient(135deg, #2b3a33, #18211d); }
.duty-hero.on { background: linear-gradient(135deg, #1d7a45, #145a33); }
.duty-switch { width: 100%; font-size: 1.1rem; padding: .9rem; border-radius: 14px; font-weight: 700; }
.gps-status { font-size: .85rem; }
/* location shared in a conversation */
.loc-card { display: flex; gap: .6rem; align-items: center; text-decoration: none; color: inherit; border: 1px solid var(--rms-line); border-radius: 10px; padding: .5rem .7rem; background: #f6fbff; min-width: min(220px, 60vw); }
.loc-card .lc-ic { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #d93025; color: #fff; flex: none; }
.loc-card small { color: #5b6b66; font-size: .74rem; }
.bub.mine .loc-card { background: #f3fff0; border-color: #c4e9bc; }
.map-box, #omap, #restMap { position: relative; isolation: isolate; z-index: 0; }
