:root{
  --bg:#fff; --rail:#FAFAFA; --sel:#F0F4F9; --soft:#F5F6F8;
  --ink:#101418; --ink-2:#5A626B; --ink-3:#949BA3;
  --line:#E8EAED; --line-2:#D3D7DC;
  --blue:#1B57C4;
  --ok:#1F7A3D; --warn:#9A6510; --bad:#B02218;
  --ok-s:#EAF3ED; --warn-s:#FBF3E4; --bad-s:#FBECEB;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body,#root{height:100%}
body{font-family:'Instrument Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink);
 font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
a{color:var(--blue)}
.hide{display:none!important}

/* shell */
.app{--hdr:60px;display:grid;grid-template-rows:var(--hdr) 1fr;height:100%}
/* Yuqori panel — 3D yard sarlavhasi bilan bir xil: oq fon, bo'limlar kulrang "pill"
   ichida, kompaniya chipi, dumaloq qo'ng'iroqcha va avatar (akkaunt menyusi) */
.top{position:relative;z-index:6;background:#fff;border-bottom:1px solid #e5eaf0;display:flex;align-items:center;padding:0 16px;gap:14px}
/* Rigyard logosi: belgi + yozuv (ikkalasi ham SVG — shriftga bog'liq emas) */
.logo{display:flex;align-items:center;gap:8px;flex:none}
.logo img{display:block;flex:none}
.lg-mark{width:34px;height:25px}
.lg-word{height:19px;width:auto}
.nav{display:flex;gap:2px;padding:3px;background:#eef2f7;border-radius:10px;flex:0 1 auto;min-width:0;
 overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:none;display:inline-flex;align-items:center;height:30px;padding:0 13px;border-radius:8px;font-size:13px;
 font-weight:600;color:var(--ink-2);text-decoration:none;white-space:nowrap;transition:color .15s,background .15s}
.nav a:hover{color:var(--ink);background:rgba(255,255,255,.55)}
.nav a.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,32,64,.08),0 2px 8px rgba(16,32,64,.06)}
.nav a:focus-visible{outline:2px solid #2f5be7;outline-offset:-2px}
.sp{flex:1}
.mini{font-size:13px;color:var(--ink-3)}
.co{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px 0 6px;border-radius:11px;
 box-shadow:inset 0 0 0 1px #d3dbe5;flex:0 1 auto;min-width:0;max-width:240px}
.co-code{flex:none;display:grid;place-items:center;min-width:28px;height:28px;padding:0 5px;border-radius:7px;
 background:#2f5be7;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em}
.co-tx{min-width:0;line-height:1.2}
.co-tx b,.co-tx small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-tx b{font-size:13px;font-weight:600;color:var(--ink)}
.co-tx small{font-size:11.5px;color:var(--ink-3)}
.bell{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:var(--ink-2);
 flex:none;cursor:pointer;transition:background .15s,color .15s}
.bell:hover,.bell[aria-expanded="true"]{color:var(--ink);background:#eef2f7}
.bell b{position:absolute;top:3px;right:1px;background:#dc3445;color:#fff;font-size:10px;
 font-weight:700;border-radius:9px;padding:1px 5px;line-height:1.4;box-shadow:0 0 0 2px #fff}
.ava{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ebf0ff;color:#2f5be7;
 font-size:12.5px;font-weight:700;letter-spacing:.02em;flex:none;transition:box-shadow .15s}
.ava:hover,.ava[aria-expanded="true"]{box-shadow:0 0 0 3px #dbe4ff}
.ava:focus-visible,.bell:focus-visible{outline:2px solid #2f5be7;outline-offset:2px}
/* Kompyuter eni kichrayganda: avval rol, keyin kompaniya chipi (u avatar menyusida bor), keyin yozuv-logo */
@media (max-width:1200px){ .co-tx small{display:none} .co{height:38px;max-width:190px} }
@media (max-width:1020px){ .top .co{display:none} .nav a{padding:0 11px} }
@media (max-width:900px){ .top .lg-word{display:none} .top{gap:10px;padding:0 12px} }

/* Akkaunt menyusi (avatar bosilganda, kompyuterda) */
.me-pop{position:fixed;z-index:66;width:264px;padding:6px;background:#fff;border-radius:12px;
 box-shadow:0 0 0 1px rgba(16,32,64,.08),0 16px 40px rgba(16,32,64,.18);animation:ph-in .12s ease-out}
.me-head{display:flex;align-items:center;gap:11px;padding:10px 10px 12px}
.me-head>div{min-width:0}
.me-head b,.me-head small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-head b{font-size:14px;font-weight:600}
.me-head small{font-size:12px;color:var(--ink-3)}
.me-co{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 4px 6px;padding:8px 10px;
 border-radius:9px;background:#f4f7fa;font-size:12.5px;font-weight:600}
.me-co span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-co em{flex:none;font-style:normal;font-weight:500;font-size:12px;color:var(--ink-3)}
.me-pop a,.me-pop button{display:flex;align-items:center;gap:11px;width:100%;height:38px;padding:0 10px;border-radius:8px;
 font-size:13.5px;color:var(--ink);text-decoration:none;text-align:left}
.me-pop a svg,.me-pop button svg{color:var(--ink-2);flex:none}
.me-pop a:hover,.me-pop button:hover,.me-pop a:focus-visible,.me-pop button:focus-visible{background:#f4f7fa;outline:none}
.me-pop [data-out]:hover,.me-pop [data-out]:focus-visible{color:#dc3445}
.me-pop [data-out]:hover svg,.me-pop [data-out]:focus-visible svg{color:#dc3445}
.me-pop hr{border:0;border-top:1px solid #e5eaf0;margin:6px 4px}
@media (prefers-reduced-motion:reduce){ .me-pop{animation:none} }

.btn{border:1px solid var(--line-2);border-radius:5px;padding:5px 12px;font-size:13.5px}
.btn:hover{background:var(--rail)}
.btn:disabled{opacity:.5;cursor:default}
.btn.p{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.p:hover{background:#164aa8}
.btn.sm{padding:3px 9px;font-size:12.5px}

/* page */
/* height:100% majburiy — aks holda .body (overflow:hidden) mazmunni
   kesib tashlaydi va skroll ishlamaydi */
.page{height:100%;overflow-y:auto;padding:26px 32px 60px}
.page .inner{max-width:1280px;margin:0 auto}
.page h2{font-size:22px;font-weight:600;letter-spacing:-.02em}
.page .sub{color:var(--ink-2);margin-bottom:22px}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:28px}
.num{border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.num .l{font-size:13px;color:var(--ink-2)}
.num .v{font-size:26px;font-weight:600;letter-spacing:-.03em;line-height:1.15;margin-top:1px}
.num .n{font-size:12.5px;color:var(--ink-3)}
.num.bad{background:var(--bad-s);border-color:#F0D3D1}
.num.bad .l,.num.bad .v,.num.bad .n{color:var(--bad)}
.dashgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
@media (max-width:1100px){.dashgrid{grid-template-columns:1fr}}
.block{margin-bottom:30px}
.bh{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.bh h3{font-size:15px;font-weight:600}
.bh .c{font-size:13px;color:var(--ink-3)}
.rowlist{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rw{display:flex;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid var(--line);cursor:pointer;width:100%;text-align:left}
.rw:last-child{border-bottom:none}
.rw:hover{background:var(--rail)}
.rw .badge{width:6px;height:34px;border-radius:3px;flex:none}
.rw .u{font-weight:600;width:56px;flex:none}
.rw .who{color:var(--ink-2);width:132px;flex:none;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rw .what{flex:1;min-width:0}
.rw .what b{font-weight:500}
.rw .what span{display:block;font-size:12.5px;color:var(--ink-3)}
.rw .val{font-weight:500;white-space:nowrap;width:110px;text-align:right;flex:none}
.aside{position:sticky;top:0}
.asidebox{border:1px solid var(--line);border-radius:8px;padding:14px 18px}
.feed{border-left:2px solid var(--line);padding-left:15px;margin-left:3px}
.fi{padding:9px 0;font-size:13px;position:relative;line-height:1.4}
.fi::before{content:'';position:absolute;left:-20px;top:14px;width:7px;height:7px;border-radius:50%;background:var(--line-2)}
.fi .when{display:block;color:var(--ink-3);font-size:12.5px;margin-top:1px}
.empty{color:var(--ink-3);padding:22px;text-align:center;border:1px dashed var(--line-2);border-radius:8px}

/* split */
.split{display:grid;grid-template-columns:334px 1fr;overflow:hidden;height:100%}
@media (max-width:900px){.split{grid-template-columns:1fr}.list{display:none}.split.showlist .list{display:block}.split.showlist .detail{display:none}}
/* Sarlavha va filtrlar qotib turadi, skroll faqat ro'yxatda.
   Aks holda skroll paneli butun ustun bo'ylab cho'ziladi va
   elementlar bilan tekislanmaydi. */
.list{border-right:1px solid var(--line);background:var(--rail);
      display:flex;flex-direction:column;overflow:hidden}
.lhead{flex:none;padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;background:var(--rail)}
.lhead .t{font-weight:600}
.lhead .c{font-size:13px;color:var(--ink-3)}
.filt{flex:none;display:flex;gap:5px;padding:9px 16px;border-bottom:1px solid var(--line);background:var(--rail);flex-wrap:wrap}
.items{flex:1;min-height:0;overflow-y:auto}
.filt button{font-size:12.5px;padding:3px 9px;border-radius:4px;color:var(--ink-2)}
.filt button.on{background:var(--ink);color:#fff}
.item{padding:12px 16px;border-bottom:1px solid var(--line);cursor:pointer;border-left:3px solid transparent;width:100%;text-align:left}
.item:hover{background:#F4F5F6}
.item.on{background:var(--sel);border-left-color:var(--blue)}
.item .r1{display:flex;align-items:baseline;gap:8px}
.item .n{font-weight:600;font-size:15px}
.item .m{font-size:13px;color:var(--ink-3)}
.item .who{font-size:13.5px;color:var(--ink-2);margin:1px 0 7px}
.pips{display:flex;gap:5px}
.pip{flex:1;height:3px;border-radius:2px;background:#DFE3E7}
.pip.ok{background:var(--ok)} .pip.warn{background:#C08A2A}
.pip.bad{background:var(--bad)} .pip.est{background:#C8CDD3}
.alert{font-size:12.5px;color:var(--bad);margin-top:6px;font-weight:500}

.detail{overflow-y:auto;padding:24px 30px 60px}
.dh{display:flex;align-items:flex-start;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.dh h2{font-size:23px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.dh p{color:var(--ink-2);margin-top:2px}
.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;margin-bottom:28px}
.sec{margin-bottom:26px}
.sec h4{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:12px;padding-bottom:7px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.g{margin-bottom:14px}
.g .r{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:5px;gap:8px}
.g .tr{height:5px;background:#EDEFF1;border-radius:3px;overflow:hidden}
.g .tr i{display:block;height:100%;border-radius:3px}
.c-ok{color:var(--ink-2)} .b-ok{background:var(--ok)}
.c-warn{color:var(--warn);font-weight:500} .b-warn{background:#C08A2A}
.c-bad{color:var(--bad);font-weight:500} .b-bad{background:var(--bad)}
.c-est{color:var(--ink-3)} .b-est{background:#C8CDD3}
.kv{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;border-bottom:1px solid #F2F3F5;gap:10px}
.kv:last-child{border-bottom:none}
.kv span:first-child{color:var(--ink-3);white-space:nowrap}
.kv span:last-child{text-align:right}
th{text-align:left;font-size:12.5px;font-weight:500;color:var(--ink-3);padding:0 0 8px;border-bottom:1px solid var(--line)}
td{padding:10px 0;border-bottom:1px solid #F2F3F5;font-size:13.5px}
/* Ustunlar orasida bo'shliq: aks holda o'ngga tekislangan qiymat
   keyingi ustunga yopishib qoladi ("$802.66View") */
th + th, td + td{padding-left:18px}
td.r,th.r{text-align:right;white-space:nowrap}
/* Invoice ustuni — tor, o'ngga tekislangan */
td.inv,th.inv{text-align:right;white-space:nowrap;width:1%}
/* Amal tugmalari ustuni ham tor bo'lsin, aks holda Cost'ni siqib qo'yadi */
tbody td.r:last-child,thead th.r:last-child{width:1%}
.cap{color:var(--ink-3)}

/* forms + panel */
.veil{position:fixed;inset:0;background:rgba(16,20,24,.35);display:flex;align-items:flex-start;justify-content:flex-end;z-index:40}
.pane{background:#fff;height:100%;width:100%;max-width:440px;overflow-y:auto;border-left:1px solid var(--line-2);padding:24px 26px}
.pane h3{font-size:18px;font-weight:600;margin-bottom:6px}
.pane .ph{color:var(--ink-2);font-size:13.5px;margin-bottom:20px}
.f{margin-bottom:14px}
.f label{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:5px}
.f input,.f select,.f textarea{width:100%;padding:8px 11px;border:1px solid var(--line-2);border-radius:5px;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.acts{display:flex;justify-content:flex-end;gap:9px;margin-top:8px}
.err{background:var(--bad-s);border:1px solid #F0D3D1;color:var(--bad);border-radius:5px;padding:10px 12px;font-size:13px;margin-bottom:14px}
.okmsg{background:var(--ok-s);border:1px solid #CFE3D6;color:var(--ok);border-radius:5px;padding:10px 12px;font-size:13px;margin-bottom:14px}
.note{background:var(--sel);border:1px solid #DCE6F7;color:var(--blue);border-radius:5px;padding:10px 12px;font-size:13px;margin-bottom:14px}

/* login */
.login{display:grid;place-items:center;height:100%;background:var(--rail)}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px;width:100%;max-width:360px}
.card .logo{margin-bottom:22px;gap:10px}
.card .lg-mark{width:50px;height:37px}
.card .lg-word{height:26px}

/* import */
.drop{border:1px dashed var(--line-2);border-radius:8px;padding:34px;text-align:center;color:var(--ink-2);cursor:pointer}
.drop:hover{border-color:var(--blue);background:#F7F9FD}
.drop b{display:block;color:var(--ink);font-weight:600;margin-bottom:3px}
.tag{display:inline-block;padding:1px 8px;border-radius:4px;font-size:12px;font-weight:500}
.tag.ok{background:var(--ok-s);color:var(--ok)}
.tag.review{background:var(--warn-s);color:var(--warn)}
.tag.error{background:var(--bad-s);color:var(--bad)}
.tag.section{background:var(--soft);color:var(--ink-3)}
.spin{width:15px;height:15px;border:2px solid #CBD8EE;border-top-color:var(--blue);border-radius:50%;animation:r .7s linear infinite;display:inline-block;vertical-align:-2px}
@keyframes r{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}

/* Import: varaq tanlash jadvali */
.sheetrow.asset td { background:#FBFCFE; }
.sheetrow.asset .name { font-weight:600; }
.sheetrow.dim td { color:var(--ink-3); }

/* Status — unit nomi yonida */
.stchip{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:999px;
  font-size:12px;font-weight:500;vertical-align:3px;text-transform:capitalize}
.stchip.on{background:var(--ok-s);color:var(--ok)}
.stchip.off{background:var(--soft);color:var(--ink-3)}

/* Unit sarlavhasidagi status tugmasi */
.statebadge{
  font-size:12.5px;font-weight:500;padding:3px 10px;border-radius:999px;
  vertical-align:middle;margin-left:10px;border:1px solid transparent;
}
.statebadge.on{background:var(--ok-s);color:var(--ok);border-color:#CFE3D6}
.statebadge.off{background:var(--soft);color:var(--ink-3);border-color:var(--line-2)}
.statebadge:hover{border-color:var(--ink-3)}

/* Havolaga o'xshash tugma — himoyalangan fayllarni ochish uchun.
   Oddiy <a href> ishlamaydi: token yuborilmaydi. */
.linkbtn{color:var(--blue);text-decoration:underline;text-underline-offset:2px;
         font-size:13.5px;padding:0}
.linkbtn:hover{color:#164aa8}

/* Asset ichidagi tarix tablari */
.tabs2{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px}
.tabs2 button{padding:8px 14px;font-size:14px;color:var(--ink-2);
              border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs2 button:hover{color:var(--ink)}
.tabs2 button.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}
.tabs2 .n{color:var(--ink-3);font-size:12.5px;margin-left:5px;font-weight:400}
.tabs2 button.on .n{color:var(--ink-2)}

/* Ikonka tugmalari. Matn o'rniga — jadval ustunlarini siqib qo'ymaydi.
   Har birida `title` bor, shuning uchun ma'nosi yashirin qolmaydi. */
.iconbtn{display:inline-flex;align-items:center;justify-content:center;
         width:28px;height:28px;border-radius:5px;color:var(--ink-3);
         vertical-align:middle}
.iconbtn:hover{background:var(--soft);color:var(--ink)}
.iconbtn.danger:hover{background:var(--bad-s);color:var(--bad)}
.iconbtn:disabled{opacity:.4;cursor:default}
.iconbtn + .iconbtn{margin-left:2px}

/* Bo'lim sarlavhasidagi kichik ikonka — matnga yopishmasin */
.sec h4 .iconbtn{width:22px;height:22px;margin-left:4px}

/* Ikonka + matnli tugma (masalan "DOT record") */
.btn svg{vertical-align:-2px;margin-right:5px}

/* Qidiruv — filtrlar ostida, qotib turadi */
.searchbar{flex:none;padding:8px 16px;border-bottom:1px solid var(--line);
           background:var(--rail)}
.searchbar input{width:100%;padding:6px 10px;border:1px solid var(--line-2);
                 border-radius:5px;font-size:13.5px;background:#fff}
.searchbar input:focus{outline:none;border-color:var(--blue)}

/* Guruh sarlavhasi: muammolilar ro'yxat tepasida ajralib turadi.
   Hammasi yaxshi bo'lsa bu sarlavha umuman chiqmaydi. */
.grouphead{padding:8px 16px 5px;font-size:11.5px;font-weight:600;
           letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);
           background:var(--rail);border-bottom:1px solid var(--line)}
.grouphead.bad{color:var(--bad);background:var(--bad-s)}
.grouphead span{font-weight:400;margin-left:4px}

/* ===================== Dashboard = 3D yard ===================== */
/* Iframe yuqori panel ostini to'liq egallaydi; boshqa bo'limda yashiriladi */
.yardframe{position:fixed;left:0;right:0;bottom:0;top:60px;width:100%;height:calc(100% - 60px);border:0;display:block;background:#e8eef4;z-index:1}
.yardframe[hidden]{display:none}

/* ===================== Fleet — roster ko'rinishi ===================== */
.rs-page{height:100%;overflow-y:auto;background:#f4f7fa;--rs-blue:#2f5be7;--rs-ok:#14955a;--rs-ok-bg:#e5f6ec;--rs-warn:#d9730d;--rs-warn-bg:#fff1e0;--rs-crit:#dc3445;--rs-crit-bg:#fde8ea;--rs-idle:#8492a6;--rs-line:#e5eaf0}
.rs-inner{max-width:1440px;margin:0 auto;padding:22px 28px 60px}
.rs-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:18px}
.rs-head h2{font-size:24px;font-weight:600;letter-spacing:-.02em}
.rs-count{color:var(--ink-3);font-size:13px;margin-right:6px}
.rs-filters{display:flex;gap:6px;flex-wrap:wrap}
.rs-filter{height:32px;padding:0 12px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px var(--rs-line);font-size:13px;font-weight:600;color:var(--ink-2)}
.rs-filter b{margin-left:6px;color:var(--ink-3);font-weight:600}
.rs-filter[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
.rs-filter[aria-pressed="true"] b{color:#b9c4d4}
.rs-sp{flex:1}
.rs-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #d3dbe5;color:var(--ink-3);flex:0 1 280px;min-width:0}
.rs-search:focus-within{box-shadow:inset 0 0 0 2px var(--rs-blue)}
.rs-search input{border:0;outline:0;background:none;width:100%;min-width:0;font-size:13.5px;color:var(--ink)}
.rs-vt{display:flex;padding:3px;background:#e9eef4;border-radius:10px}
.rs-vt button{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink-2)}
.rs-vt button[aria-pressed="true"]{background:#fff;color:var(--rs-blue);box-shadow:0 1px 2px rgba(16,32,64,.08),0 2px 8px rgba(16,32,64,.06)}
.rs-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:10px;font-weight:600;font-size:13.5px;white-space:nowrap}
.rs-btn.primary{background:var(--rs-blue);color:#fff;box-shadow:0 1px 2px rgba(47,91,231,.35)}
.rs-btn.primary:hover{background:#2449c4}
.rs-muted{color:var(--ink-3)}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px}
.rs-card{display:grid;gap:8px;padding:0 0 14px;text-align:left;background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px var(--rs-line);overflow:hidden;transition:transform .15s,box-shadow .15s}
.rs-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #d3dbe5,0 1px 2px rgba(16,32,64,.06),0 10px 28px rgba(16,32,64,.09)}
.rs-card:focus-visible,.rs-table tr:focus-visible{outline:2px solid var(--rs-blue);outline-offset:2px}
.rs-pic{aspect-ratio:36/21;display:grid;place-items:center;overflow:hidden;background:radial-gradient(70% 80% at 50% 70%,var(--glow,#e9eef6),#f5f7fa 75%)}
.rs-pic img{width:100%;height:100%;object-fit:contain}
.rs-pic.crit{--glow:#fbdde1}.rs-pic.warn{--glow:#fde6cc}.rs-pic.ok{--glow:#e3f0ea}.rs-pic.off{--glow:#e6e9ee;filter:grayscale(.6)}
.rs-id{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 14px 0}
.rs-id b{font-size:20px;font-weight:700;letter-spacing:-.01em}
.rs-pill{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap}
.rs-pill.ok{background:var(--rs-ok-bg);color:var(--rs-ok)}.rs-pill.warn{background:var(--rs-warn-bg);color:var(--rs-warn)}
.rs-pill.crit{background:var(--rs-crit-bg);color:var(--rs-crit)}.rs-pill.off{background:#edf1f6;color:#5f738c}
.rs-meta{padding:0 14px;font-size:12.5px;color:var(--ink-2);display:grid;gap:1px}
.rs-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rs-meta span:nth-child(n+2){color:var(--ink-3)}
.rs-bars{padding:6px 14px 0;display:grid;gap:8px}
.rs-bar{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;font-size:11.5px}
.rs-bar span{color:var(--ink-3);font-weight:600}
.rs-bar b{font-weight:600;color:var(--ink-2);white-space:nowrap}
.rs-bar b.crit{color:var(--rs-crit)}.rs-bar b.warn{color:var(--rs-warn)}
.rs-track{height:6px;border-radius:99px;background:#eef2f7;overflow:hidden}
.rs-track i{display:block;height:100%;border-radius:inherit;background:var(--rs-idle)}
.rs-track.ok i{background:var(--rs-ok)}.rs-track.warn i{background:var(--rs-warn)}.rs-track.crit i{background:var(--rs-crit)}
.rs-tablewrap{overflow-x:auto;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--rs-line)}
.rs-table{min-width:880px}
.rs-table th{position:sticky;top:0;background:#f5f7fa;padding:11px 12px;font-size:11.5px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--rs-line)}
.rs-table td{padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--rs-line)}
.rs-table th + th,.rs-table td + td{padding-left:12px}
.rs-table tr[data-open]{cursor:pointer}
.rs-table tbody tr:hover td{background:#f5f7fa}
.rs-table td.crit{color:var(--rs-crit);font-weight:600}.rs-table td.warn{color:var(--rs-warn);font-weight:600}
.rs-empty{display:grid;justify-items:center;gap:6px;padding:48px 20px;text-align:center;color:var(--ink-3);background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px var(--rs-line)}
.rs-empty b{color:var(--ink);font-size:15px}
.rs-empty .rs-btn{margin-top:8px}
@media (max-width:700px){.rs-inner{padding:16px 14px 40px}.rs-search{flex-basis:100%}.rs-sp{display:none}}

/* Unit sahifasi (#/fleet/<id>) */
.unitpage{height:100%;display:flex;flex-direction:column;min-height:0}
.ubar{flex:none;padding:12px 30px 0;max-width:1240px;width:100%;margin:0 auto}
.backlink{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2);text-decoration:none;font-size:13.5px;font-weight:500}
.backlink:hover{color:var(--blue)}
.unitpage .detail{flex:1;min-height:0;max-width:1240px;width:100%;margin:0 auto;padding-top:14px}

/* ===================== Add unit: registratsiyadan ===================== */
.regdrop{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:12px;border:1.5px dashed #b9c7dc;border-radius:10px;background:#f7f9fd;cursor:pointer;color:var(--ink-2)}
.regdrop:hover,.regdrop.over{border-color:var(--blue);background:#eef3fc}
.regdrop b{display:block;color:var(--ink);font-weight:600;font-size:14px;word-break:break-all}
.regdrop small{display:block;font-size:12.5px;color:var(--ink-3)}
.regicon{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#e3ebfb;color:var(--blue)}
.regstate{border-radius:6px;padding:10px 12px;font-size:13px;margin-bottom:14px;line-height:1.45}
.regstate.busy{background:var(--sel);color:var(--ink-2)}
.regstate.ok{background:var(--ok-s);color:var(--ok)}
.regstate.warn{background:var(--warn-s);color:var(--warn)}
.regstate.off{background:var(--soft);color:var(--ink-2)}
.regstate small{display:block;color:var(--ink-3);margin-top:3px}
.regstate ul{margin:6px 0 0 18px}
.regmatch{background:#eef3fc;border:1px solid #d3e0f7;border-radius:6px;padding:10px 12px;font-size:13px;margin-bottom:14px;color:var(--ink-2)}
.regmatch b{display:block;color:var(--ink);font-weight:600}
.regmatch span{display:block;margin:2px 0 4px}
.regsec{border-top:1px solid var(--line);padding-top:12px;margin:4px 0 12px}
.regsec h4{font-size:13px;font-weight:600;margin-bottom:10px}
.f.filled input,.f.filled select{border-color:#9db8ea;background:#f5f8fe}
.vinhint{font-size:12.5px;margin-top:5px;min-height:1px}
.vinhint.good{color:var(--ok)}
.vinhint.bad{color:var(--bad)}
.pane .f .ph{margin:5px 0 0}

/* Tor ekran: yuqori panel sig'masa butun sahifa kengayib ketmasin */
.app{grid-template-columns:minmax(0,1fr)}

/* ===================== Unit profili (#/fleet/<id>) =====================
   3D yard rosteridagi unit oynasi bilan bir xil ko'rinish. Klasslar
   up-* nomi bilan ajratilgan — boshqa ekranlarga ta'sir qilmaydi. */
.unitpage{background:#f4f7fa;--up-blue:#2f5be7;--up-ok:#14955a;--up-ok-bg:#e5f6ec;--up-warn:#d9730d;--up-warn-bg:#fff1e0;
  --up-crit:#dc3445;--up-crit-bg:#fde8ea;--up-idle:#5f738c;--up-idle-bg:#edf1f6;--up-line:#e5eaf0;--up-line-2:#d3dbe5;--up-card2:#f5f7fa}
.unitpage .detail{padding:12px 30px 60px}
.up{display:grid;gap:16px}
.up-card{background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px var(--up-line),0 1px 2px rgba(16,32,64,.04);padding:20px;min-width:0}
.up-card h3{font-size:13.5px;font-weight:600;letter-spacing:-.005em}
.up .ok{color:var(--up-ok)}.up .warn{color:var(--up-warn)}.up .crit{color:var(--up-crit)}.up .idle{color:var(--up-idle)}
.up .mono{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-size:12.5px;letter-spacing:.02em}

/* hero */
.up-hero{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:30px;align-items:center;position:relative}
/* Share — profil kartasining o'ng yuqori burchagi */
.up-share{position:absolute;top:16px;right:16px;z-index:1}
.up-pic{aspect-ratio:36/21;border-radius:12px;display:grid;place-items:center;overflow:hidden;
  background:radial-gradient(70% 80% at 50% 70%,var(--glow,#e9eef6),var(--up-card2) 75%)}
.up-pic img{width:100%;height:100%;object-fit:contain}
.up-pic.crit{--glow:#fbdde1}.up-pic.warn{--glow:#fde6cc}.up-pic.ok{--glow:#e3f0ea}.up-pic.off{--glow:#e6e9ee}
.up-pic.off img{filter:grayscale(.6);opacity:.85}
.up-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.up-uid{font-size:42px;font-weight:600;letter-spacing:-.025em;line-height:1.05;margin-top:6px}
.up-make{color:var(--ink-2);margin-top:6px;font-size:14.5px}
.up-pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}
.up-pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:600;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.up-pill svg{flex:none}
.up-pill.ok{background:var(--up-ok-bg);color:var(--up-ok)}.up-pill.warn{background:var(--up-warn-bg);color:var(--up-warn)}
.up-pill.crit{background:var(--up-crit-bg);color:var(--up-crit)}.up-pill.idle,.up-pill.off{background:var(--up-idle-bg);color:var(--up-idle)}
.up-pill.plain{background:#eef2f7;color:var(--ink-2)}
.up-pill.act{cursor:pointer;transition:box-shadow .15s}
.up-pill.act:hover{box-shadow:inset 0 0 0 1.5px currentColor}
.up-pill.sm{height:22px;padding:0 8px;font-size:11.5px;border-radius:6px}
.up-stsel{display:flex;align-items:center;gap:12px;margin-top:14px;max-width:360px;font-size:13px;font-weight:500;color:var(--ink-2)}
.up-stsel select{flex:1;min-width:0;height:36px;padding:0 10px;border:0;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px var(--up-line-2);font-weight:600;color:var(--ink);cursor:pointer}
.up-stsel select:focus{outline:none;box-shadow:inset 0 0 0 2px var(--up-blue)}
.up-stsel select:disabled{opacity:.6}
.up-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.up-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:9px;font-size:13.5px;font-weight:600;white-space:nowrap;transition:background .15s,box-shadow .15s}
.up-btn svg{flex:none}
.up-btn.primary{background:var(--up-blue);color:#fff;box-shadow:0 1px 2px rgba(47,91,231,.35)}
.up-btn.primary:hover{background:#2449c4}
.up-btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--up-line-2)}
.up-btn.ghost:hover{background:var(--up-card2)}
.up-btn.sm{height:32px;padding:0 12px;font-size:13px}
.up-btn:disabled{opacity:.55;cursor:default}

/* vitals + identification */
.up-grid{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:16px;align-items:start}
.up-vitals{display:grid;gap:13px;margin-top:14px}
.up-vl{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:6px}
.up-vl span{color:var(--ink-2)}
.up-vl b{font-weight:600;text-align:right}
.up-bar{height:6px;border-radius:99px;background:#eef2f7;overflow:hidden}
.up-bar i{display:block;height:100%;border-radius:inherit;background:var(--up-idle);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.up-bar.ok i{background:var(--up-ok)}.up-bar.warn i{background:var(--up-warn)}.up-bar.crit i{background:var(--up-crit)}
.up-note{margin-top:14px;padding:9px 11px;border-radius:9px;background:#ebf0ff;color:var(--ink-2);font-size:12.5px;line-height:1.45}
.up-h3row{display:flex;align-items:center;justify-content:space-between;margin-top:24px}
.up-rows{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;margin-top:10px;padding-top:12px;border-top:1px solid var(--up-line);font-size:13.5px}
.up-rows dt{color:var(--ink-2)}
.up-rows dd{text-align:right;font-weight:600;min-width:0;overflow-wrap:anywhere}
.up-rows dd small{display:block;color:var(--ink-3);font-weight:400;font-size:12px}

/* yozuvlar */
.up-records{padding-top:12px}
.up-tabs{display:flex;gap:4px;padding:3px;background:#eef2f7;border-radius:10px;width:max-content;max-width:100%;overflow-x:auto}
.up-tabs button{height:32px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.up-tabs button b{font-weight:600;color:var(--ink-3);margin-left:4px}
.up-tabs button:hover{color:var(--ink)}
.up-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,32,64,.08),0 2px 8px rgba(16,32,64,.06)}
.up-ph{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:18px 0 12px}
.up-ph p{color:var(--ink-3);font-size:12.5px;margin-top:3px}
.up-tl{list-style:none}
.up-tl li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--up-line)}
.up-tl li:first-child{border-top:0}
.up-irm,.up-dic{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;font-size:12px;font-weight:600}
.up-irm.I{background:#e2f3fa;color:#0b87b8}.up-irm.R{background:var(--up-warn-bg);color:var(--up-warn)}.up-irm.M{background:var(--up-ok-bg);color:var(--up-ok)}
.up-dic{background:#ebf0ff;color:var(--up-blue)}
.up-dic.oil{background:#fff6dc;color:#b7791f}
.up-tlb b{display:block;font-size:13.5px;font-weight:600}
.up-tlb b em{font-style:normal;font-weight:500;color:var(--ink-3);font-size:12.5px;margin-left:4px}
.up-tlb small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:2px}
.up-tlb .up-cmt{color:var(--ink-2);font-style:italic}
.up-racts{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin-top:6px;font-size:12.5px}
.up-racts .cap{margin-right:6px}
.up-link{color:var(--up-blue);font-weight:600;font-size:12.5px;padding:0 8px 0 0}
.up-link:hover{text-decoration:underline}
.up-racts .iconbtn{width:28px;height:28px;border-radius:7px}
.up-tc{font-weight:600;color:var(--ink-2);white-space:nowrap;text-align:right;padding-top:5px}
.up-tl li > .up-pill{margin-top:4px}
.up-empty{padding:28px 12px;text-align:center;color:var(--ink-3);font-size:13px;border:1px dashed var(--up-line-2);border-radius:10px}

@media (max-width:900px){
  .up-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .up-hero{grid-template-columns:minmax(0,1fr);gap:16px}
  .up-pic{max-width:460px;width:100%;margin:0 auto}
}
@media (max-width:700px){
  .ubar{padding:10px 14px 0}
  .unitpage .detail{padding:10px 14px 40px}
  .up-card{padding:16px}
  .up-uid{font-size:34px}
  .up-stsel{max-width:none}
  .up-acts .up-btn{flex:1 1 auto}
  .up-ph{flex-wrap:wrap}
}

/* Yon panellar (drawer) — unit profili bilan bir uslubda */
.veil{background:rgba(15,27,45,.32)}
.pane{border-left:0;box-shadow:-16px 0 48px rgba(15,27,45,.16);padding:26px 26px 30px}
.pane h3{font-size:20px;letter-spacing:-.01em}
.pane .f label{font-weight:500}
.pane .f input,.pane .f select,.pane .f textarea{border-color:#d3dbe5;border-radius:9px;padding:9px 12px}
.pane .f input[type=file]{padding:8px 10px;font-size:12.5px}
.pane .f input:focus,.pane .f select:focus,.pane .f textarea:focus{outline:none;border-color:#2f5be7;box-shadow:0 0 0 3px rgba(47,91,231,.14)}
.pane .f.filled input,.pane .f.filled select{border-color:#9db8ea;background:#f5f8fe}
.pane .btn{height:36px;padding:0 16px;border-radius:9px;font-weight:600;border-color:#d3dbe5}
.pane .btn.p{background:#2f5be7;border-color:#2f5be7;box-shadow:0 1px 2px rgba(47,91,231,.35)}
.pane .btn.p:hover{background:#2449c4}
.pane .acts{margin-top:14px}

/* ===================== Samsara: fault kodlar ===================== */
.rs-pills{display:flex;gap:4px;align-items:center}
.up-tabs button b.hot{color:var(--up-crit)}
.up-sev{display:grid;place-items:center;min-width:30px;height:30px;padding:0 4px;border-radius:8px;font-size:10.5px;font-weight:600;letter-spacing:.02em}
.up-sev.crit{background:var(--up-crit-bg);color:var(--up-crit)}.up-sev.warn{background:var(--up-warn-bg);color:var(--up-warn)}
.up-sev.idle{background:var(--up-idle-bg);color:var(--up-idle)}
.up-tl li.up-done .up-tlb b{color:var(--ink-2)}
.up-sub{font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin:18px 0 4px}

/* ===================== Settings → Integrations ===================== */
.st-page{height:100%;overflow-y:auto;background:#f4f7fa;--up-blue:#2f5be7;--up-ok:#14955a;--up-ok-bg:#e5f6ec;--up-warn:#d9730d;--up-warn-bg:#fff1e0;
  --up-crit:#dc3445;--up-crit-bg:#fde8ea;--up-idle:#5f738c;--up-idle-bg:#edf1f6;--up-line:#e5eaf0;--up-line-2:#d3dbe5;--up-card2:#f5f7fa}
.st-inner{max-width:1040px;margin:0 auto;padding:24px 30px 60px;display:grid;gap:16px}
.st-head h2{font-size:24px;font-weight:600;letter-spacing:-.02em}
.st-head p{color:var(--ink-2);margin-top:4px}
.st-tabs{display:flex;gap:4px;padding:3px;background:#e9eef4;border-radius:10px;width:max-content}
.st-tabs button{height:32px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-2)}
.st-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,32,64,.08),0 2px 8px rgba(16,32,64,.06)}
#st-body{display:grid;gap:16px}
.st-warn,.st-error{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;font-size:13px;line-height:1.5}
.st-warn{background:var(--up-warn-bg);color:#8a4b06}
.st-warn b{display:block;color:#6d3a03}
.st-warn svg,.st-error svg{flex:none;margin-top:2px}
.st-error{background:var(--up-crit-bg);color:#9f1f2c;margin-bottom:14px}
.st-warn code,.st-hint code{font-size:12px;background:rgba(0,0,0,.05);padding:1px 4px;border-radius:4px}
.st-inthead{display:flex;align-items:center;gap:14px}
.st-logo{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#ebf0ff;color:var(--up-blue)}
.st-intname{flex:1;min-width:0}
.st-intname h3{font-size:16px}
.st-intname p{color:var(--ink-2);font-size:13px;margin-top:2px}
.st-intbody{margin-top:18px;padding-top:18px;border-top:1px solid var(--up-line)}
.st-steps{margin:0 0 16px 18px;color:var(--ink-2);font-size:13.5px;line-height:1.6}
.st-steps b{color:var(--ink);font-weight:600}
.st-connect label{display:block;font-size:12.5px;font-weight:500;color:var(--ink-2);margin-bottom:6px}
.st-row{display:flex;gap:8px;flex-wrap:wrap}
.st-row input{flex:1 1 280px;min-width:0;height:38px;padding:0 12px;border:1px solid var(--up-line-2);border-radius:9px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.st-row input:focus{outline:none;border-color:var(--up-blue);box-shadow:0 0 0 3px rgba(47,91,231,.14)}
.st-msg{font-size:13px;color:var(--ink-2);margin-top:10px;min-height:1px}
.st-msg:empty{display:none}
.st-msg.good{color:var(--up-ok)}.st-msg.bad{color:var(--up-crit)}
.st-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.st-stats div{padding:12px 14px;border-radius:11px;background:var(--up-card2)}
.st-stats span{display:block;font-size:12px;color:var(--ink-3)}
.st-stats b{display:block;font-size:20px;font-weight:600;margin-top:2px;letter-spacing:-.01em}
.st-stats b small{font-size:13px;color:var(--ink-3);font-weight:500}
.st-details{margin-top:12px;font-size:13px;color:var(--ink-2)}
.st-details summary{cursor:pointer;color:var(--up-warn);font-weight:500}
.st-details ul{margin:8px 0 0 18px;line-height:1.55}
.st-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.st-sp{flex:1}
.st-token{font-size:12.5px;color:var(--ink-3)}
.st-danger{color:var(--up-crit)!important}
.st-card .up-ph{margin-top:0}
.st-note{display:flex;align-items:center;gap:8px;font-size:13px;color:#8a4b06;background:var(--up-warn-bg);padding:9px 12px;border-radius:10px;margin-bottom:12px}
.st-tablewrap{overflow-x:auto;border-radius:12px;box-shadow:inset 0 0 0 1px var(--up-line)}
.st-table{min-width:640px}
.st-table th{background:var(--up-card2);padding:10px 12px;font-size:11.5px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--up-line)}
.st-table td{padding:10px 12px;border-bottom:1px solid var(--up-line);font-size:13px;vertical-align:middle}
.st-table th + th,.st-table td + td{padding-left:12px}
.st-table tr:last-child td{border-bottom:0}
.st-table td small{display:block;color:var(--ink-3);font-size:12px;margin-top:1px}
.st-table b{font-weight:600}
.st-table .st-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;color:var(--ink-2)}
.st-table select{height:34px;padding:0 8px;border:1px solid var(--up-line-2);border-radius:8px;background:#fff;min-width:170px;font-size:13px}
.st-table tr.st-unmatched td{background:#fffaf2}
.st-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.st-pick label{display:grid;gap:6px;font-size:12.5px;font-weight:500;color:var(--ink-2);flex:1 1 240px}
.st-pick select{height:38px;padding:0 10px;border:1px solid var(--up-line-2);border-radius:9px;background:#fff;font-size:13px;color:var(--ink)}
.st-hint{font-size:12.5px;color:var(--ink-3);margin-top:10px;line-height:1.5}
.st-preview:not(:empty){margin-top:14px}
@media (max-width:760px){
  .st-inner{padding:16px 14px 40px}
  .st-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .st-inthead{flex-wrap:wrap}
  .st-sp{display:none}
}
/* Settings: jadval kengligi kartani kengaytirib yubormasin (telefonda) */
.st-inner,#st-body{grid-template-columns:minmax(0,1fr)}
.st-inner>*,#st-body>*{min-width:0}
/* Telefonda menyu 4 ta bo'lim bilan sig'ishi uchun logo faqat belgi bo'lib qoladi */
@media (max-width:480px){ .top .lg-word{display:none} }

/* ===================== Samsara: joylashuv (xaritasiz) ===================== */
.rs-meta .rs-loc{display:flex;align-items:center;gap:4px;color:var(--ink-2)!important}
.rs-loc svg{flex:none;color:var(--rs-blue)}
.rs-table td.rs-loccell{max-width:260px;overflow:hidden;text-overflow:ellipsis}
.rs-loccell a{color:var(--ink-2);text-decoration:none}
.rs-loccell a:hover{color:var(--rs-blue);text-decoration:underline}
.up-locpill{text-decoration:none}
.up-locpill svg{color:var(--up-blue)}
.up-rows dd small a{color:var(--up-blue);font-weight:500;text-decoration:none}
.up-rows dd small a:hover{text-decoration:underline}
.st-stats b em{display:block;font-style:normal;font-size:11.5px;font-weight:500;color:var(--ink-3);margin-top:2px;letter-spacing:0}
.up-place{cursor:help;border-bottom:1px dotted var(--up-line-2)}

/* ===================== Handoff (#/handoffs) =====================
   Telefonda yardda to'ldiriladi: bitta ustun, katta tugmalar. */
/* zarar oynasi body'ga qo'shiladi (.unitpage tashqarisida) — ranglar shu yerda ham */
.veil{--up-blue:#2f5be7;--up-crit:#dc3445;--up-crit-bg:#fde8ea;--up-line:#e5eaf0;--up-line-2:#d3dbe5;--up-ok:#14955a;--up-ok-bg:#e5f6ec;
  --up-warn:#d9730d;--up-warn-bg:#fff1e0;--up-idle:#5f738c;--up-idle-bg:#edf1f6;--up-card2:#f5f7fa}
.hopage{display:block;overflow-y:auto}
.ho-wrap{max-width:860px;margin:0 auto;padding:0 20px 80px;display:grid;gap:14px}
.ho-wrap > .ubar{padding:14px 0 0}
.ho-lhead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px}
.ho-lhead h2{font-size:24px;font-weight:600;letter-spacing:-.02em}
.ho-lsub{color:var(--ink-2);font-size:13.5px;margin-top:2px;max-width:560px}
.ho-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ho-q{flex:1;min-width:180px;height:36px;padding:0 12px;border:1px solid var(--up-line-2);border-radius:9px;background:#fff}
.ho-q:focus,.ho-sec input:focus{outline:none;border-color:#2f5be7;box-shadow:0 0 0 3px rgba(47,91,231,.14)}
.ho-listcard{padding:6px 18px}
.ho-rows{list-style:none}
.ho-rows li + li{border-top:1px solid var(--up-line)}
.ho-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;color:inherit;text-decoration:none}
.ho-row:hover .ho-rmain b{color:var(--up-blue)}
.ho-rmain b{display:block;font-size:14px;font-weight:600}
.ho-rmain small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:1px}
.ho-rres{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ho-dir{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:11px;gap:0}
.ho-dir b{font-size:9px;letter-spacing:.06em;line-height:1;margin-top:-2px}
.ho-dir.out{background:#ebf0ff;color:var(--up-blue)}
.ho-dir.in{background:var(--up-ok-bg);color:var(--up-ok)}
.ho-dir.big{width:52px;height:52px;border-radius:14px;flex:none}
.ho-seg2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ho-seg2 button{display:flex;align-items:flex-start;gap:8px;text-align:left;padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line-2);background:#fff}
.ho-seg2 button b{display:block;font-size:13.5px}
.ho-seg2 button small{display:block;font-size:12px;color:var(--ink-3)}
.ho-seg2 button.on{box-shadow:inset 0 0 0 2px #2f5be7;background:#f5f8fe;color:#2449c4}
.ho-hint{min-height:18px}

/* hujjat */
.ho-top{display:grid;gap:4px}
.ho-topl{display:flex;gap:14px;align-items:center}
.ho-title{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-top:2px}
.ho-top .up-make a{color:var(--up-blue);font-weight:600;text-decoration:none}
.ho-top .up-pills{margin-top:10px}
.ho-saved{font-size:12px;color:var(--ink-3);margin-left:4px}
.ho-saved.ok{color:var(--up-ok)}.ho-saved.bad{color:var(--up-crit);font-weight:600}
.ho-prog{margin-top:14px}
.ho-top .up-acts{margin-top:12px}
.ho-sec h3,.unitpage .ho-wrap .up-card h3{display:flex;align-items:center;gap:6px;font-size:15px}
.ho-wrap .up-card h3 small{font-weight:500;color:var(--ink-3);font-size:12.5px;margin-left:4px}
.ho-wrap .up-card h3 small.ok{color:var(--up-ok)}
.ho-sh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ho-muted{color:var(--ink-3);font-size:12.5px;margin-top:4px}
.ho-okline{display:flex;align-items:center;gap:6px;color:var(--up-ok);font-weight:600;font-size:13.5px;margin-top:8px}
.ho-warn{display:flex;align-items:center;gap:6px;color:var(--up-warn);font-weight:600;font-size:13px;margin-top:8px}
.ho-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 14px;margin-top:12px}
.ho-sec .f input{border-color:#d3dbe5;border-radius:9px;padding:9px 12px;height:42px}
.ho-sec .f .ph{font-size:12px;color:var(--ink-3);margin-top:4px}
.ho-level{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ho-level button{width:44px;height:40px;border-radius:9px;box-shadow:inset 0 0 0 1px var(--up-line-2);background:#fff;font-weight:600}
.ho-level button.on{background:#2f5be7;color:#fff;box-shadow:none}
.ho-pct{display:inline-flex;align-items:center;gap:4px}
.ho-pct input{width:84px;height:40px;padding:0 10px;border:1px solid #d3dbe5;border-radius:9px;text-align:right}
.ho-pct i{font-style:normal;color:var(--ink-3)}

/* rasmlar */
.ho-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}
.ho-pgrid figure{margin:0;display:grid;gap:6px;align-content:start;min-width:0}
.ho-pgrid figcaption{font-size:12.5px;font-weight:600}
.ho-pgrid figcaption small{display:block;font-weight:400;color:var(--ink-3)}
.ho-slot{height:112px;width:100%;border-radius:12px;border:1.5px dashed #b9c7dc;background:#f7f9fd;color:var(--up-blue);display:grid;place-content:center;justify-items:center;gap:4px;font-size:12.5px;font-weight:600}
.ho-slot:hover{border-color:#2f5be7;background:#eef3fc}
.ho-th{position:relative;display:inline-block}
.ho-th img{width:64px;height:48px;object-fit:cover;border-radius:8px;background:#e9eef4;display:block;cursor:zoom-in}
.ho-th.big{display:block}
.ho-th.big img{width:100%;height:112px;border-radius:12px}
.ho-thx{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--ink-2);display:grid;place-items:center;box-shadow:0 1px 4px rgba(16,32,64,.25)}
.ho-thx:hover{color:var(--up-crit)}
.ho-ths{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.ho-addph{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:9px;box-shadow:inset 0 0 0 1px var(--up-line-2);background:#fff;font-size:12.5px;font-weight:600;color:var(--up-blue)}
.ho-addph.need{box-shadow:inset 0 0 0 1.5px var(--up-crit);color:var(--up-crit);background:var(--up-crit-bg)}
.ho-noph,.ho-need{font-size:12px;color:var(--up-crit);font-weight:600}
.ho-lb{position:fixed;inset:0;z-index:60;background:rgba(10,16,26,.86);display:grid;place-items:center;padding:20px;gap:14px;grid-template-rows:1fr auto}
.ho-lb img{max-width:100%;max-height:80vh;border-radius:10px;align-self:center}
.ho-lbacts{display:flex;gap:10px}

/* checklist */
.ho-items{list-style:none;margin-top:8px}
.ho-it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:11px 0;border-top:1px solid var(--up-line)}
.ho-it:first-child{border-top:0}
.ho-itn b{display:block;font-size:13.5px;font-weight:600}
.ho-itn b em{font-style:normal;font-weight:500;font-size:11.5px;color:var(--ink-3);margin-left:4px}
.ho-itn small{display:block;font-size:12px;color:var(--ink-3);margin-top:1px}
.ho-itn .ho-note{color:var(--ink-2);font-style:italic}
.ho-it.bad .ho-itn b{color:var(--up-crit)}
.ho-itx{grid-column:1 / -1;padding:2px 0 2px}
.ho-noteinp{width:100%;height:38px;padding:0 12px;border:1px solid #d3dbe5;border-radius:9px;font-size:13px}
.ho-seg{display:inline-flex;background:#eef2f7;border-radius:10px;padding:3px;gap:2px}
.ho-seg.wrap{flex-wrap:wrap}
.ho-seg button{height:34px;padding:0 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.ho-seg button:hover{color:var(--ink)}
.ho-seg button.on{background:#fff;box-shadow:0 1px 2px rgba(16,32,64,.1)}
.ho-seg button.on.ok,.ho-seg button.on.na{color:var(--up-ok)}
.ho-seg button.on.na{color:var(--up-idle)}
.ho-seg button.on.damaged,.ho-seg button.on.needs_repair{background:var(--up-crit);color:#fff}
.ho-seg button.on.missing{background:var(--up-warn);color:#fff}

/* zarar chizmasi */
.ho-vtabs{margin-top:12px}
.ho-draw{margin-top:10px;border-radius:12px;background:#f7f9fc;box-shadow:inset 0 0 0 1px var(--up-line);padding:10px;display:grid;place-items:center}
.ho-svg{width:100%;max-height:300px;display:block}
.ho-svg.live{cursor:crosshair;touch-action:manipulation}
.ho-mk circle{fill:#dc3445;stroke:#fff;stroke-width:2.2}
.ho-mk text{fill:#fff;font:700 10px system-ui,sans-serif;text-anchor:middle;pointer-events:none}
.ho-mk.known circle{fill:#d9730d}
.ho-mk.ghost circle{fill:none;stroke:#8492a6;stroke-width:2;stroke-dasharray:3 2.5}
.ho-mk[data-mark]{cursor:pointer}
.ho-marks{list-style:none;margin-top:10px}
.ho-marks li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid var(--up-line)}
.ho-mn{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11.5px;font-weight:700;background:#dc3445}
.ho-mn.known{background:#d9730d}
.ho-itn b.crit{display:inline;color:var(--up-crit)}
.ho-check{display:flex;align-items:center;gap:10px;margin-top:14px;padding:12px;border-radius:10px;background:#f5f7fa;font-size:13.5px;font-weight:500;cursor:pointer}
.ho-check input{width:20px;height:20px;accent-color:#2f5be7}
.ho-chips{display:flex;flex-wrap:wrap;gap:6px}
.ho-chips button{height:34px;padding:0 12px;border-radius:9px;box-shadow:inset 0 0 0 1px var(--line-2);background:#fff;font-size:13px;font-weight:500}
.ho-chips button.on{background:#2f5be7;color:#fff;box-shadow:none}
.ho-sheetacts{display:flex;align-items:center;gap:8px}
.ho-sheetacts .btn{display:inline-flex;align-items:center;gap:6px}

/* taqqoslash va imzo */
.ho-cmp.bad{box-shadow:inset 0 0 0 1.5px #f3b8be,0 1px 2px rgba(16,32,64,.04);background:#fffafa}
.ho-cmp.bad h3{color:var(--up-crit)}
.ho-cmp.calm h3{color:var(--up-ok)}
.ho-cl{margin:10px 0 0 18px;font-size:13.5px;display:grid;gap:4px}
.ho-cl b{color:var(--up-crit);margin-right:4px}
.ho-miss{margin-top:10px;padding:12px 14px;border-radius:10px;background:var(--up-warn-bg);color:#8a4b08;font-size:13px}
.ho-miss ul{margin:6px 0 0 18px;display:grid;gap:2px}
.ho-opts{border:0;margin-top:14px;display:grid;gap:8px}
.ho-opts legend{font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.ho-opts label{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;cursor:pointer}
.ho-opts input{width:18px;height:18px;margin-top:1px;accent-color:#2f5be7}
.ho-opts:disabled{opacity:.5}
.ho-grid2.dim{opacity:.45;pointer-events:none}
.ho-pad{position:relative;border-radius:12px;box-shadow:inset 0 0 0 1px var(--up-line-2);background:#fff;overflow:hidden}
.ho-padh{display:flex;justify-content:space-between;align-items:center;padding:8px 12px 0;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.ho-pad canvas{display:block;width:100%;height:150px;touch-action:none;cursor:crosshair}
.ho-pad i{position:absolute;left:14px;right:14px;bottom:34px;border-top:1px dashed #c3ccd8;font-style:normal;font-size:11px;color:var(--ink-3);padding-top:3px;pointer-events:none}
.ho-pad.inked i{color:transparent}
.ho-sigro{border-radius:12px;box-shadow:inset 0 0 0 1px var(--up-line);padding:10px 12px;display:grid;gap:4px;font-size:12.5px;color:var(--ink-2);font-weight:600}
.ho-sigro img{height:90px;max-width:100%;object-fit:contain;object-position:left}
.ho-sigro small{font-weight:400;color:var(--ink-3)}

@media (max-width:700px){
  .ho-wrap{padding:0 12px 60px;gap:12px}
  .ho-title{font-size:26px}
  .ho-it{grid-template-columns:minmax(0,1fr)}
  .ho-seg{display:flex;width:100%}
  .ho-seg button{flex:1;padding:0 4px}
  .ho-row{grid-template-columns:auto minmax(0,1fr)}
  .ho-rres{grid-column:2;justify-content:flex-start}
  .ho-seg2{grid-template-columns:1fr}
}

/* imzolangan handoff'ni o'chirish (faqat admin) */
.up-btn.ghost.danger{color:var(--up-crit)}
.up-btn.ghost.danger:hover{background:var(--up-crit-bg)}
.pane .btn.danger{display:inline-flex;align-items:center;gap:6px;background:#dc3445;border-color:#dc3445;color:#fff}
.pane .btn.danger:hover{background:#b92a39}
.pane .btn.danger:disabled{opacity:.45}
.ho-delnote{font-size:13.5px;color:var(--ink-2);margin-bottom:10px;line-height:1.5}
.ho-deldone b{display:flex;align-items:center;gap:6px;color:#14955a;font-size:15px}
.ho-deldone ul{list-style:none;margin:12px 0 4px;display:grid;gap:8px;font-size:13.5px}
.ho-deldone li{display:flex;gap:8px;align-items:flex-start}
.ho-deldone li svg{flex:none;margin-top:2px}

/* ===================== Devices (#/devices) ===================== */
.dv-acts{display:flex;gap:8px;flex-wrap:wrap}
.dv-stats{display:flex;gap:8px;flex-wrap:wrap}
.dv-stat{display:inline-flex;align-items:baseline;gap:5px;padding:6px 12px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px var(--up-line);font-size:13px;color:var(--ink-2)}
.dv-stat b{font-size:16px;color:var(--ink)}
.dv-stat.warn b{color:var(--up-warn)}.dv-stat.crit b{color:var(--up-crit)}
.dv-type{height:36px;padding:0 10px;border:1px solid var(--up-line-2);border-radius:9px;background:#fff}
.dv-rows{list-style:none}
.dv-rows li + li{border-top:1px solid var(--up-line)}
.dv-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(110px,auto) auto;gap:12px;align-items:center;width:100%;padding:11px 0;text-align:left}
.dv-row:hover .dv-main b{color:var(--up-blue)}
.dv-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eef2f7;color:var(--ink-2)}
.dv-main b{display:block;font-size:14px;font-weight:600}
.dv-main small,.dv-unit small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:1px}
.dv-unit{font-size:13.5px;font-weight:600;text-align:right}
.dv-muted{color:var(--ink-3);font-weight:400}
.dv-where{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:12px;background:#f5f7fa;margin-bottom:14px}
.dv-where b{display:block;font-size:14.5px}.dv-where small{display:block;color:var(--ink-3);font-size:12.5px}
.dv-inline{display:flex;gap:8px;align-items:center}
.dv-inline select,.dv-inline input{flex:1;min-width:0}
.dv-btns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.dv-btns .btn{display:inline-flex;align-items:center;gap:5px}
.dv-h4{font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 10px}
.dv-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.dv-saveacts{display:flex;align-items:center;gap:8px}
.pane .btn.danger-ghost{display:inline-flex;align-items:center;gap:6px;color:#dc3445;border-color:#f3c2c7}
.pane .btn.danger-ghost:hover{background:#fde8ea}
.dv-hist{list-style:none;display:grid;gap:10px}
.dv-hist li{padding-left:12px;border-left:2px solid #d3dbe5}
.dv-hist b{font-size:13.5px}.dv-hist small{display:block;font-size:12px;color:var(--ink-3)}
.dv-hist .dv-note{color:var(--ink-2);font-style:italic}
.dv-or{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:12px;margin:4px 0 14px}
.dv-or::before,.dv-or::after{content:"";flex:1;border-top:1px solid var(--line)}
.dv-types{list-style:none;display:grid;gap:8px}
.dv-types li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center}
.dv-types input,.dv-inline input{height:38px;padding:0 10px;border:1px solid #d3dbe5;border-radius:9px}
.pane.wide{max-width:760px}
.dv-sum{padding:10px 12px;border-radius:10px;background:#f5f7fa;font-size:13.5px;font-weight:600;margin-bottom:10px}
.dv-sum small{display:block;font-weight:400;color:var(--ink-2);margin-top:2px}
.dv-prev{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:10px}
.dv-prev th,.dv-prev td{padding:7px 10px;font-size:12.5px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.dv-prev th{position:sticky;top:0;background:#fafbfc;font-weight:600;color:var(--ink-2)}
.dv-prev td small{display:block;color:var(--ink-3);margin-top:3px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
/* handoff ichidagi device bo'limi */
.ho-shacts{display:flex;gap:8px;flex-wrap:wrap}
.ho-dvv{display:flex;align-items:center;gap:6px}
.ho-pick{list-style:none;display:grid;gap:6px}
.ho-pick button{width:100%;text-align:left;padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line-2);background:#fff}
.ho-pick button:hover{box-shadow:inset 0 0 0 1.5px #2f5be7;background:#f5f8fe}
.ho-pick b{display:block;font-size:13.5px}.ho-pick small{display:block;color:var(--ink-3);font-size:12px}
@media (max-width:700px){
  .dv-row{grid-template-columns:auto minmax(0,1fr) auto}
  .dv-unit{grid-column:2;text-align:left}
  .dv-st{grid-row:1;grid-column:3}
  .dv-2{grid-template-columns:1fr}
  .dv-acts .up-btn{flex:1 1 auto}
}

/* ===================== PM (#/pm va unit sahifasidagi PM tabi) ===================== */
.up-tabs a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap;text-decoration:none}
.up-tabs a:hover{color:var(--ink)}
.up-tabs a.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,32,64,.08),0 2px 8px rgba(16,32,64,.06)}
.pm-body{display:grid;gap:14px}
.pm-hint{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:12px;background:#eef3ff;box-shadow:inset 0 0 0 1px #d6e1fb}
.pm-hint.warn{background:var(--up-warn-bg);box-shadow:inset 0 0 0 1px #f6d9b5}
.pm-hint b{display:block;font-size:14px}.pm-hint small{display:block;color:var(--ink-2);font-size:12.5px;margin-top:2px;max-width:560px}
.pm-hint .up-btn{flex:none;text-decoration:none}
.pm-rows{list-style:none}
.pm-rows li + li{border-top:1px solid var(--up-line)}
.pm-rows > .up-empty{margin:12px 0;border-top:0}
.pm-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(110px,auto) minmax(150px,auto);gap:12px;align-items:center;width:100%;padding:11px 0;text-align:left;color:inherit;text-decoration:none}
.pm-row:hover .pm-main b{color:var(--up-blue)}
.pm-svc{grid-template-columns:auto minmax(0,1fr) auto}
.pm-main b{display:block;font-size:14px;font-weight:600}
.pm-main small,.pm-unit small,.pm-st small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:1px}
.pm-desc{font-style:italic}
.pm-unit{font-size:13.5px;font-weight:600;text-align:right}
.pm-st{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.pm-ic.crit{background:var(--up-crit-bg);color:var(--up-crit)}.pm-ic.warn{background:var(--up-warn-bg);color:var(--up-warn)}
.pm-ic.ok{background:var(--up-ok-bg);color:var(--up-ok)}
.pm-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:330px}
.pm-tag{font-style:normal;font-weight:600;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--up-idle);background:var(--up-idle-bg);border-radius:5px;padding:2px 6px;margin-left:6px;vertical-align:2px}
.up-dic.pm.crit{background:var(--up-crit-bg);color:var(--up-crit)}.up-dic.pm.warn{background:var(--up-warn-bg);color:var(--up-warn)}
.up-dic.pm.ok{background:var(--up-ok-bg);color:var(--up-ok)}.up-dic.pm.idle{background:var(--up-idle-bg);color:var(--up-idle)}
.up-tlb .pm-recs{display:flex;align-items:center;gap:4px;color:var(--up-ok);font-weight:500}
.pm-skipped{font-size:12.5px;color:var(--ink-3);margin-top:10px}
.up-link.mute{color:var(--ink-3)}
.pm-hist li{padding:9px 0}
.pane .pm-ph{margin:5px 0 0;font-size:12.5px;color:var(--ink-3)}
.pm-adv{margin:4px 0 12px;font-size:13px}
.pm-adv summary{cursor:pointer;color:var(--ink-2);font-weight:500;margin-bottom:10px}
.pm-chk{display:flex;align-items:center;gap:8px;font-size:13.5px;margin:4px 0 10px;cursor:pointer}
.pm-chk input{width:16px;height:16px;flex:none}
.pm-chk .dv-muted{font-size:12px;margin-left:auto}
.pm-done .pm-chks{display:grid;gap:2px;padding:8px 12px;border-radius:10px;background:#f5f7fa}
.pm-done .pm-chk{margin:4px 0}
.pm-tpl{list-style:none;display:grid;gap:6px}
.pm-tpl label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer}
.pm-tpl label:hover{box-shadow:inset 0 0 0 1.5px #2f5be7}
.pm-tpl label.off{opacity:.6;cursor:default}
.pm-tpl input{width:16px;height:16px;margin-top:2px;flex:none}
.pm-tpl b{display:block;font-size:13.5px}.pm-tpl small{display:block;color:var(--ink-3);font-size:12px;margin-top:1px}
@media (max-width:700px){
  /* Telefonda bitta ustun: nima → qaysi unit → holat */
  .pm-row{grid-template-columns:auto minmax(0,1fr);row-gap:5px;align-items:start}
  .pm-row > .dv-ic{grid-column:1;grid-row:1 / span 3}
  .pm-main{grid-column:2;grid-row:1}
  .pm-unit{grid-column:2;grid-row:2;text-align:left;display:flex;flex-wrap:wrap;gap:0 8px;align-items:baseline}
  .pm-unit small{margin:0}
  .pm-st{grid-column:2;grid-row:3;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 8px;text-align:left}
  .pm-svc .pm-counts{grid-column:2;grid-row:2;justify-content:flex-start;max-width:none}
  .pm-hint{flex-direction:column;align-items:stretch}
}
.dv-prev tr.pm-off td{color:var(--ink-3)}
a.up-btn{text-decoration:none}
.up-tabs button b.warm{color:var(--up-warn)}

/* ===================== Ruxsatlar: o'zgartira olmaydigan tugmalar ko'rinmaydi =====================
   body.ro-<modul> — faqat ko'radi. Server baribir tekshiradi; bu faqat chalkashmaslik uchun. */
.ro-assets .unitpage [data-hook],.ro-assets .unitpage [data-attach],.ro-assets .unitpage [data-act="odo"],
.ro-assets .unitpage [data-act="edit"],.ro-assets [data-add].rs-btn,.ro-assets .rs-btn[data-add]{display:none!important}
.ro-assets .unitpage [data-driver]{pointer-events:none}
.ro-maintenance [data-act="maint"],.ro-maintenance [data-act="oil"],.ro-maintenance [data-maintedit],.ro-maintenance [data-maintup],
.ro-maintenance [data-maintdel],.ro-maintenance [data-oiledit],.ro-maintenance [data-oilup],.ro-maintenance [data-pmdone],
.ro-maintenance [data-pmlast],.ro-maintenance [data-pmskip],.ro-maintenance [data-pmunskip],.ro-maintenance [data-pmdel],
.ro-maintenance [data-pmstart],.ro-maintenance .pm-wrap [data-start],.ro-maintenance [data-start2],.ro-maintenance [data-tpl],
.ro-maintenance [data-tpl2],.ro-maintenance .pm-wrap [data-add]{display:none!important}
.ro-maintenance .pm-svc{pointer-events:none}
.ro-documents [data-act="doc"],.ro-documents [data-docedit],.ro-documents [data-up],.ro-documents [data-pane="docs"] [data-del]{display:none!important}
.ro-devices [data-adddev],.ro-devices .dv-wrap [data-add],.ro-devices [data-import],.ro-devices [data-samsara],.ro-devices [data-types],
.ro-devices .pane .dv-move,.ro-devices .pane .dv-btns,.ro-devices .pane .dv-saveacts{display:none!important}
.ro-handoff [data-new],.ro-handoff [data-handoff="new"],.ro-handoff [data-amend],.ro-handoff [data-delete],.ro-handoff [data-discard],
.ro-handoff [data-pane="handoffs"] .up-ph [data-handoff]{display:none!important}
.ro-settings .st-int [data-sync],.ro-settings .st-int [data-replace],.ro-settings .st-int [data-off],.ro-settings .st-connect,
.ro-settings [data-preview],.ro-settings [data-import]{display:none!important}
.ro-settings select[data-vid]{pointer-events:none;opacity:.7}

/* ===================== Jamoa (Settings → Team / Roles / Activity / My account) ===================== */
.st-tabs a{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.st-tabs a:hover{color:var(--ink)}
.st-tabs a.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,32,64,.08),0 2px 8px rgba(16,32,64,.06)}
.st-tabs{max-width:100%;overflow-x:auto}
.tm-card{padding:20px 22px}
.tm-card h3{font-size:16px}
.tm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.tm-head p{color:var(--ink-2);font-size:13px;margin-top:3px;max-width:620px}
.tm-list{list-style:none}
.tm-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,auto) auto minmax(190px,auto);gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--up-line)}
.tm-row:first-child{border-top:0}
.tm-av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e3ebff;color:var(--up-blue);font-size:13px;font-weight:700}
.tm-av.invited{background:var(--up-warn-bg);color:var(--up-warn)}.tm-av.disabled{background:var(--up-idle-bg);color:var(--up-idle)}
.tm-who b{display:block;font-size:14px;font-weight:600}
.tm-who small{display:block;font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis}
.tm-who .tm-sub{color:var(--ink-3);font-size:12px}
.tm-role select{height:34px;padding:0 8px;border:1px solid var(--up-line-2);border-radius:8px;background:#fff;max-width:200px}
.tm-rolename{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.tm-acts{display:flex;justify-content:flex-end;gap:2px;flex-wrap:wrap}
.up-link.danger{color:var(--up-crit)}
.tm-note{font-size:13px;color:var(--ink-2);margin:0 0 12px;line-height:1.5}
.tm-note.muted{color:var(--ink-3);font-size:12.5px;margin:8px 0 0}
.tm-link{display:flex;gap:8px}
.tm-link input{flex:1;min-width:0;height:38px;padding:0 10px;border:1px solid #d3dbe5;border-radius:9px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:#f5f7fa}
.tm-link .btn,.tm-share{display:inline-flex;align-items:center;gap:6px;flex:none}
.tm-share{margin-top:10px}
.tm-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);line-height:1.55}
.tm-intro p{max-width:680px}
.tm-rcard{padding:18px 22px}
.tm-rhead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.tm-rhead h3{font-size:16px}
.tm-rhead p{font-size:12.5px;color:var(--ink-3);margin-top:3px}
.tm-racts{display:flex;gap:2px}
.tm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}
.tm-mod{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--up-line)}
.tm-mod b{display:block;font-size:13.5px;font-weight:600}
.tm-mod small{display:block;font-size:12px;color:var(--ink-3)}
.tm-seg{display:inline-flex;padding:2px;border-radius:9px;background:#eef2f7;flex:none}
.tm-seg button{height:28px;padding:0 10px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.tm-seg button.on{background:#fff;box-shadow:0 1px 2px rgba(16,32,64,.1)}
.tm-seg button.on.none{color:var(--up-idle)}.tm-seg button.on.read{color:var(--up-blue)}.tm-seg button.on.write{color:var(--up-ok)}
.tm-seg button:disabled{cursor:default}
.tm-save{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--up-line-2)}
.tm-save span{margin-right:auto;font-size:12.5px;color:var(--up-warn);font-weight:600}
.tm-acts-list{list-style:none;margin-top:8px}
.tm-day{font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;padding:14px 0 6px}
.tm-act{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--up-line);font-size:13.5px}
.tm-time{color:var(--ink-3);font-size:12.5px;padding-top:1px}
.tm-what q{font-weight:600}
.tm-what q::before{content:"“"}.tm-what q::after{content:"”"}
.tm-what a{color:var(--up-blue);font-weight:600;text-decoration:none}
.tm-more{text-align:center;margin-top:12px}
.tm-acc .f{margin-top:12px}
.tm-dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 12px;font-size:13.5px;margin-top:10px}
.tm-dl dt{color:var(--ink-3)}
.tm-inline{display:flex;gap:8px}
.tm-inline input{flex:1;min-width:0}
.tm-acc .f input{width:100%;padding:8px 11px;border:1px solid var(--line-2);border-radius:8px;background:#fff}
.tm-acc .tm-inline input{width:auto}
.inv-title{font-size:19px;font-weight:600;margin:6px 0 4px}
.inv-note{font-size:13px;color:var(--ink-2);margin-bottom:14px;line-height:1.5}
.inv-hint{font-weight:400;color:var(--ink-3);font-size:11.5px;margin-left:4px}
.login-help{font-size:12.5px;color:var(--ink-3);text-align:center;margin-top:12px}
@media (max-width:760px){
  .tm-row{grid-template-columns:auto minmax(0,1fr) auto;row-gap:6px}
  .tm-role{grid-column:2;grid-row:2}
  .tm-st{grid-column:3;grid-row:1}
  .tm-acts{grid-column:2 / span 2;grid-row:3;justify-content:flex-start}
  .tm-grid{grid-template-columns:minmax(0,1fr)}
  .tm-mod{flex-direction:column;align-items:flex-start}
}

/* ===================== Telefon va planshet (mobil qobiq) =====================
   ≤760px — telefon: yuqorida ixcham sarlavha, pastda bo'limlar menyusi.
   761px va undan katta (planshet, kompyuter) — avvalgi ko'rinish. */
.ptitle,.tabbar{display:none}
/* viewport-fit=cover: telefon yotiq turganda "chelka" (notch) ostiga kirmasin */
#root{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.pane-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  color:var(--ink-2);background:rgba(255,255,255,.92);box-shadow:0 0 0 1px var(--line);z-index:2}
.pane-x:hover{color:var(--ink);background:#fff}
.veil{padding-top:env(safe-area-inset-top)}
.pane{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
.pane>h3{padding-right:40px}

@media (max-width:760px){
  :root{--top-h:calc(52px + env(safe-area-inset-top));--tab-h:calc(58px + env(safe-area-inset-bottom))}
  .app{grid-template-rows:var(--top-h) minmax(0,1fr) var(--tab-h);height:100%}
  @supports (height:100dvh){ .app{height:100dvh} }
  .top{gap:10px;padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))}
  .top .nav,.top .co{display:none}
  .top .lg-word{display:none}
  .top .lg-mark{width:28px;height:21px;margin-right:2px}
  .ptitle{display:block;font-size:17px;font-weight:600;letter-spacing:-.01em;flex:1;min-width:0;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top .sp{display:none}
  .bell{width:40px;height:40px;display:grid;place-items:center}
  .bell b{top:3px;right:2px}
  .ava{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8eefc;color:#2f5be7;
    font-size:12.5px;font-weight:700;letter-spacing:.02em;flex:none}

  .tabbar{display:flex;align-items:stretch;border-top:1px solid var(--line);background:rgba(255,255,255,.97);
    padding:0 max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-left));z-index:5}
  .tabbar a,.tabbar button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
    font-size:11px;font-weight:500;color:var(--ink-3);text-decoration:none;-webkit-tap-highlight-color:transparent}
  .tabbar span{white-space:nowrap}
  .tabbar .on{color:#2f5be7}
  .tabbar .on svg{stroke-width:2}
  .tabbar a:active,.tabbar button:active{background:var(--soft)}

  /* 3D yard: yuqori va pastki panel orasida */
  .yardframe{top:var(--top-h);height:calc(100% - var(--top-h) - var(--tab-h))}
  @supports (height:100dvh){ .yardframe{height:calc(100dvh - var(--top-h) - var(--tab-h))} }

  /* Yon panel (drawer) — butun ekran, yopish tugmasi doim ko'rinadi */
  .pane,.pane.wide{max-width:none;padding:22px 16px calc(24px + env(safe-area-inset-bottom))}
  .pane-x{top:calc(12px + env(safe-area-inset-top));right:12px;width:40px;height:40px}
  .pane .acts:last-child{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));margin:16px -16px calc(-24px - env(safe-area-inset-bottom));
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:1}
}

/* "More" — pastdan chiqadigan ro'yxat */
.veil.msheet{align-items:flex-end;justify-content:center;padding-top:0}
.sheet{background:#fff;width:100%;max-width:520px;border-radius:18px 18px 0 0;padding:8px 10px calc(14px + env(safe-area-inset-bottom));
  box-shadow:0 -12px 40px rgba(15,27,45,.18);animation:sheetUp .18s ease-out}
.sheet::before{content:"";display:block;width:38px;height:4px;border-radius:2px;background:var(--line-2);margin:2px auto 10px}
@keyframes sheetUp{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.sheet{animation:none}}
.sh-me{display:flex;align-items:center;gap:12px;padding:6px 10px 14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.sh-me b{display:block;font-size:15px;font-weight:600}
.sh-me small{display:block;font-size:12.5px;color:var(--ink-3)}
.ava.lg{display:grid;width:42px;height:42px;font-size:14px}
.sh-list{display:grid}
.sh-list a,.sh-list button{display:flex;align-items:center;gap:14px;min-height:50px;padding:0 12px;border-radius:12px;
  font-size:15.5px;color:var(--ink);text-decoration:none;text-align:left;width:100%}
.sh-list svg{color:var(--ink-2);flex:none}
.sh-list a.on{background:#eef3fe;color:#2f5be7}.sh-list a.on svg{color:#2f5be7}
.sh-list a:active,.sh-list button:active{background:var(--soft)}
.sh-list button{color:#c0392b}.sh-list button svg{color:#c0392b}

/* ===================== Today (telefondagi bosh sahifa) ===================== */
.td-page{background:#f4f7fa}
.td-page .inner{max-width:640px}
.td-date{font-size:13px;color:var(--ink-3);font-weight:500;margin-bottom:10px}
.td-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.td-chip{display:grid;gap:1px;padding:10px 12px;background:#fff;border-radius:12px;box-shadow:inset 0 0 0 1px #e5eaf0;
  text-decoration:none;color:var(--ink)}
.td-chip b{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.td-chip span{font-size:11.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-chip.bad{background:#fde8ea;box-shadow:none}.td-chip.bad b{color:#dc3445}
.td-chip.warn{background:#fff1e0;box-shadow:none}.td-chip.warn b{color:#c2640b}
.td-yard{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:18px;border-radius:14px;text-decoration:none;color:#fff;
  background:linear-gradient(135deg,#2f5be7,#4a77f0);box-shadow:0 6px 18px rgba(47,91,231,.25)}
.td-yi{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}
.td-yt{flex:1;min-width:0;display:grid}
.td-yt b{font-size:16px;font-weight:600}
.td-yt small{font-size:12.5px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-sec{margin-bottom:18px;scroll-margin-top:12px}
.td-sh{display:flex;align-items:center;gap:8px;margin:0 2px 8px}
.td-sh h3{font-size:15px;font-weight:600}
.td-c{font-size:12px;font-weight:600;color:var(--ink-2);background:#e9eef4;border-radius:10px;padding:1px 8px}
.td-list{background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #e5eaf0;overflow:hidden}
.td-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:58px;
  padding:9px 10px 9px 12px;text-decoration:none;color:var(--ink);border-left:4px solid transparent}
.td-row+.td-row{border-top:1px solid #eef1f5}
.td-row:active{background:var(--soft)}
.td-row>svg{color:var(--ink-3)}
.td-u{font-weight:700;font-size:15px;min-width:42px}
.td-what{display:grid;min-width:0}
.td-what b{font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-what small{font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-val{font-size:12.5px;font-weight:600;white-space:nowrap;color:var(--ink-2)}
.td-row.lv-bad{border-left-color:#dc3445}.td-row.lv-bad .td-val{color:#dc3445}
.td-row.lv-warn{border-left-color:#e8892b}.td-row.lv-warn .td-val{color:#c2640b}
.td-row.lv-ok{border-left-color:#14955a}.td-row.lv-idle{border-left-color:#9aa8b8}
.td-empty{background:#fff;border-radius:14px;box-shadow:inset 0 0 0 1px #e5eaf0;padding:14px;font-size:13.5px;color:var(--ink-3)}
.td-all{display:block;width:100%;margin-top:8px;height:42px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #d3dbe5;
  font-weight:600;font-size:13.5px;color:#2f5be7}
.td-foot{font-size:12px;color:var(--ink-3);text-align:center;margin-top:4px}
@media (max-width:760px){ .td-page.page{padding:14px 14px 28px} }

/* ===================== Sahifalar: telefon va planshet ===================== */
/* Planshet (tik): unit rasmi yonda qoladi — ma'lumot pastga surilib ketmasin */
@media (min-width:761px) and (max-width:820px){
  .up-hero{grid-template-columns:minmax(0,290px) minmax(0,1fr);gap:22px}
  .up-pic{max-width:none}
  .up-uid{font-size:34px}
}
/* Bir ustunli unit sahifasi (planshet va telefon): yozuvlar tablari vitals'dan oldin */
@media (max-width:900px){ .up-records{order:-1} }
/* Barmoq bilan bosiladigan ekran: tugmalar kamida ~40px */
@media (pointer:coarse){
  .btn{min-height:38px}
  .btn.sm{min-height:34px}
  .up-btn{height:40px}
  .up-btn.sm{height:36px}
  .up-tabs button,.up-tabs a,.st-tabs a,.st-tabs button{height:38px}
  .rs-filter{height:38px}
  .rs-search{height:42px}
  .rs-vt button{width:36px;height:36px}
  .iconbtn{min-width:36px;min-height:36px}
  .up-stsel select{height:42px}
}

@media (max-width:760px){
  /* iOS maydonga bosilganda sahifani kattalashtirmasin (16px dan kichik shriftda) */
  input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{font-size:16px}

  /* Sarlavha yuqori panelda bor — sahifadagi takror nom va uzun izoh yashiriladi */
  .ho-lhead h2,.st-head,.ho-lsub,.rs-head h2{display:none}
  .ho-lhead{padding-top:12px}
  .ho-lhead:not(:has(button,a,select)){display:none}
  .rs-head{gap:10px;margin-bottom:12px}
  .rs-count{order:9;width:100%;margin:0}
  .st-inner{padding:14px 14px 32px;gap:12px}
  .page{padding:16px 14px 32px}

  /* Fleet: ixcham gorizontal karta — ekranga 4–5 ta unit sig'adi */
  .rs-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .rs-card{grid-template-columns:104px minmax(0,1fr);column-gap:12px;row-gap:2px;padding:10px 12px 12px 10px;align-items:start}
  .rs-card:hover{transform:none}
  .rs-pic{grid-area:1/1/4/2;aspect-ratio:auto;height:76px;border-radius:10px}
  .rs-id{grid-column:2;padding:0}
  .rs-id b{font-size:18px}
  .rs-meta{grid-column:2;padding:0;font-size:12px}
  .rs-meta .rs-loc{display:none!important}
  .rs-bars{grid-column:1/-1;padding:8px 0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .rs-bar{grid-template-columns:auto minmax(0,1fr);gap:4px 6px;font-size:11px}
  .rs-bar .rs-track{grid-column:1/-1;grid-row:2}
  .rs-bar b{text-align:right;overflow:hidden;text-overflow:ellipsis}

  /* Unit sahifasi: kichik rasm yonda, yozuvlar (tablar) yuqoriroqda */
  .ubar{padding:8px 14px 0}
  .unitpage .detail{padding:8px 12px 32px}
  .up{gap:12px}
  .up-card{padding:14px}
  .up-hero{grid-template-columns:112px minmax(0,1fr);column-gap:14px;row-gap:0;align-items:start}
  .up-heromain{display:contents}
  .up-pic{grid-area:1/1/4/2;width:112px;max-width:none;aspect-ratio:auto;height:80px;margin:0;border-radius:10px}
  .up-eyebrow,.up-uid,.up-make{grid-column:2}
  .up-hero .up-share{top:10px;right:10px;width:36px;height:36px;padding:0}
  .up-share span{display:none}
  .up-eyebrow,.up-uid,.up-make{padding-right:40px}
  .up-eyebrow{font-size:10.5px;padding-top:2px}
  .up-uid{font-size:26px;margin-top:2px}
  .up-make{font-size:13px;margin-top:2px}
  .up-heromain>*:not(.up-eyebrow):not(.up-uid):not(.up-make){grid-column:1/-1}
  .up-pills{margin-top:12px}
  .up-stsel{margin-top:12px}
  .up-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
  .up-acts .up-btn{min-width:0;padding:0 10px}
  .up-grid{gap:12px}
  .up-records .up-tabs{position:sticky;top:-8px;z-index:3;box-shadow:0 0 0 6px #fff}
  .up-ph{gap:10px}
}

/* ===================================================== Shop search (#/shops) */
.up-tabs a b{font-weight:600;color:var(--ink-3);margin-left:4px}
.up-tabs a b:empty{display:none}
.sp-wrap{max-width:900px}
.sp-body{display:grid;gap:14px;min-width:0}
.sp-from{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.15fr);gap:10px 12px;align-items:end;padding:16px}
.sp-fld{display:grid;gap:5px;min-width:0}
.sp-fld span{font-size:12.5px;font-weight:500;color:var(--ink-2)}
.sp-fld select,.sp-fld input{width:100%;min-width:0;height:40px;padding:0 12px;border:1px solid var(--up-line-2,#d3dbe5);border-radius:9px;background:#fff}
.sp-fld select:focus,.sp-fld input:focus,.sp-filters select:focus{outline:none;border-color:#2f5be7;box-shadow:0 0 0 3px rgba(47,91,231,.14)}
.sp-or{align-self:end;height:40px;display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.sp-fromacts{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.sp-org{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:#eef3ff;box-shadow:inset 0 0 0 1px #d6e1fb}
.sp-org > svg{flex:none;color:var(--up-blue);margin-top:1px}
.sp-org > div{flex:1;min-width:0}
.sp-org b{display:block;font-size:14px}
.sp-org small{display:block;font-size:12.5px;color:var(--ink-2)}
.sp-org.warn{background:var(--up-warn-bg);box-shadow:inset 0 0 0 1px #f6d9b5}
.sp-org.warn > svg{color:var(--up-warn)}
.sp-warn{font-size:12.5px;color:#9a5208;margin-top:4px}
.sp-maplink{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--up-blue);text-decoration:none;padding:3px 0}
.sp-maplink:hover{text-decoration:underline}
.sp-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sp-filters select{height:34px;padding:0 10px;border:1px solid var(--up-line-2,#d3dbe5);border-radius:17px;background:#fff;font-size:13px;font-weight:500}
.sp-chip{height:34px;padding:0 13px;border-radius:17px;background:#fff;box-shadow:inset 0 0 0 1px var(--up-line-2,#d3dbe5);font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.sp-chip:hover{color:var(--ink)}
.sp-chip[aria-pressed="true"]{background:var(--up-blue);color:#fff;box-shadow:none}
.sp-results{display:grid;gap:10px;min-width:0}
.sp-origin[hidden],.sp-filters[hidden]{display:none}
.sp-count{font-size:12.5px;color:var(--ink-2);margin:0 2px}
.sp-list{padding:0;overflow:hidden}
.sp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .12s}
.sp-row + .sp-row{border-top:1px solid var(--up-line,#e5eaf0)}
.sp-row:hover{background:#f8fafc}
.sp-row:focus-visible{outline:2px solid #2f5be7;outline-offset:-2px}
.sp-row.avoid .sp-main{opacity:.6}
.sp-row[hidden]{display:none}
.sp-main{display:grid;gap:3px;min-width:0}
.sp-name{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.sp-name b{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.sp-name .up-pill{height:21px;padding:0 7px;font-size:11.5px;border-radius:6px}
.sp-brand{font-size:11.5px;font-weight:600;color:var(--ink-2);background:#eef2f7;border-radius:6px;padding:2px 7px}
.sp-meta{font-size:13px;color:var(--ink-2);overflow-wrap:anywhere}
.sp-dist{color:var(--ink);font-weight:600}
.sp-approx{color:var(--ink-3);cursor:help}
.sp-open{font-weight:600}
.sp-open.is-open,.sp-open.is-24_7{color:var(--up-ok,#14955a)}
.sp-open.is-closed{color:var(--up-crit,#dc3445)}
.sp-open.is-unknown{color:var(--ink-3);font-weight:500}
.sp-det .sp-open{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:7px;font-size:12.5px;background:#eef2f7}
.sp-det .sp-open.is-open,.sp-det .sp-open.is-24_7{background:var(--up-ok-bg,#e5f6ec)}
.sp-det .sp-open.is-closed{background:var(--up-crit-bg,#fde8ea)}
.sp-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.sp-tags span{font-size:11.5px;font-weight:500;color:var(--ink-2);background:#f1f4f8;border-radius:5px;padding:1px 7px}
.sp-hist{font-size:12px;color:var(--ink-3)}
.sp-hist.used{color:#2f5be7;font-weight:500}
.sp-acts{display:flex;align-items:center;gap:6px}
.sp-chev{color:var(--ink-3);display:grid}
.sp-empty{display:grid;gap:8px}
.sp-empty b{font-size:14.5px}
.sp-empty p{font-size:13px;color:var(--ink-2);max-width:560px}
.sp-emptyacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.sp-note{font-size:12.5px;color:var(--ink-2);margin:2px 2px 0}
.sp-note a{color:var(--up-blue,#2f5be7);font-weight:600}
.sp-noaddr{color:#b35c0a;font-weight:500}
/* Link history */
.sp-link{padding:0;overflow:hidden}
.sp-lrow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(180px,250px);align-items:center;gap:8px 14px;padding:12px 16px}
.sp-lrow + .sp-lrow{border-top:1px solid var(--up-line,#e5eaf0)}
.sp-lrow.skip .sp-lname,.sp-lrow.skip .sp-lstat{opacity:.45}
.sp-lname{display:grid;gap:3px;min-width:0}
.sp-lname input,.sp-lrow select{width:100%;min-width:0;height:38px;padding:0 11px;border:1px solid var(--up-line-2,#d3dbe5);border-radius:9px;background:#fff;font-weight:500}
.sp-lname input:disabled{background:#f6f8fb;color:var(--ink-2)}
.sp-lname small{font-size:12px;color:var(--ink-3);overflow-wrap:anywhere}
.sp-lstat{font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.sp-linkacts{display:flex;justify-content:flex-end;gap:8px}
/* Shop paneli */
.sp-det{display:grid;gap:12px}
.sp-pills{display:flex;flex-wrap:wrap;gap:6px}
.sp-pills:empty{display:none}
.sp-dacts{display:flex;flex-wrap:wrap;gap:8px}
.sp-dacts:empty{display:none}
.sp-dacts .up-btn{text-decoration:none}
.sp-rows{grid-template-columns:110px minmax(0,1fr);margin-top:0}
.sp-rows dd{text-align:left;font-weight:500}
.sp-rows dd small{margin-top:2px}
.sp-rows dd a{color:var(--up-blue,#2f5be7)}
.sp-hk small{display:block;font-size:11.5px;color:var(--ink-3)}
.sp-hours{display:grid;grid-template-columns:42px 1fr;gap:2px 10px;font-weight:500}
.sp-hours dt{color:var(--ink-3)}
.sp-muted{color:var(--ink-3);font-weight:400}
.sp-notes{white-space:pre-wrap;font-weight:400!important}
.sp-h4{font-size:14px;font-weight:600;margin-top:6px}
.sp-h4 small{display:block;font-size:12.5px;font-weight:400;color:var(--ink-2);margin-top:1px}
.sp-histlist{list-style:none;display:grid;border-radius:10px;box-shadow:inset 0 0 0 1px var(--up-line,#e5eaf0);overflow:hidden}
.sp-histlist li + li{border-top:1px solid var(--up-line,#e5eaf0)}
.sp-histlist a{display:grid;grid-template-columns:86px 72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;font-size:13px;color:var(--ink);text-decoration:none}
.sp-histlist a:hover{background:#f8fafc}
.sp-hd,.sp-hu{color:var(--ink-2);white-space:nowrap}
.sp-ht{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-hc{font-weight:600;white-space:nowrap}
.sp-tools{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--up-line,#e5eaf0)}
/* Qo'shish / tahrirlash */
.sp-three{display:grid;grid-template-columns:minmax(0,1fr) 72px 104px;gap:11px}
.pane .sp-checks{display:grid;gap:8px}
.pane .sp-checks label,.pane .sp-hkl,.pane .sp-specs label,.pane .sp-hrow label{display:flex;align-items:center;gap:8px;margin:0;font-weight:500;color:var(--ink);font-size:13.5px;cursor:pointer}
.pane .f.sp-checks input,.pane .sp-hoursf input[type=checkbox],.pane .sp-specs input,.pane .sp-seg input{padding:0;flex:none;accent-color:#2f5be7;width:16px;height:16px}
.sp-hoursf{display:grid;gap:10px}
.sp-hoursf.off .sp-hgrid{display:none}
.sp-hgrid{display:grid;gap:6px;padding:10px 12px;border-radius:10px;background:#f6f8fb}
.sp-hrow{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px}
.sp-hrow > span{font-size:13px;font-weight:600;color:var(--ink-2)}
.pane .sp-hrow input[type=time]{height:36px;padding:0 8px}
.sp-hrow:has(input[type=checkbox]:checked) input[type=time]{opacity:.35;pointer-events:none}
.pane .linkish{justify-self:start;border:0;background:none;padding:2px 0;color:#2f5be7;font-weight:600;font-size:12.5px;cursor:pointer}
.pane .linkish:hover{text-decoration:underline}
.sp-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}
.sp-seg{display:flex;flex-wrap:wrap;gap:6px}
.pane .sp-seg label{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:9px;box-shadow:inset 0 0 0 1px #d3dbe5;
  font-weight:500;color:var(--ink);cursor:pointer;margin:0}
.pane .sp-seg label:has(input:checked){background:#eef3ff;box-shadow:inset 0 0 0 1.5px #2f5be7}
.pane .sp-seg input{position:absolute;opacity:0;pointer-events:none}
.sp-pickhint{font-size:12px;color:var(--up-ok,#14955a);font-weight:500;margin-top:4px}
.sp-pickhint:empty{display:none}
/* Today: shop qidirish kartasi */
.td-yard:has(+ .td-find){margin-bottom:10px}
.td-find{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #e5eaf0}
.td-find .td-yi{background:#eef3ff;color:#2f5be7}
.td-find .td-yt small{opacity:1;color:var(--ink-2)}
.td-find > svg{color:var(--ink-3)}
/* Faqat ko'ra oladigan xodim: o'zgartirish tugmalari yo'q */
.ro-maintenance [data-addshop],.ro-maintenance .sp-tools,.ro-maintenance [data-add2],.ro-maintenance [data-add3]{display:none!important}

@media (max-width:760px){
  .sp-wrap > .ho-bar{padding-top:12px;flex-wrap:nowrap}
  .sp-from{grid-template-columns:1fr;gap:10px;padding:14px}
  .sp-or{height:auto;display:flex;align-items:center;gap:10px}
  .sp-or::before,.sp-or::after{content:"";flex:1;height:1px;background:var(--up-line,#e5eaf0)}
  .sp-fromacts{display:grid;grid-template-columns:auto 1fr}
  .sp-fld select,.sp-fld input{height:44px}
  .sp-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px;padding:0 12px 2px;scrollbar-width:none}
  .sp-filters::-webkit-scrollbar{display:none}
  .sp-filters > *{flex:none}
  .sp-row{padding:13px 12px;gap:8px}
  .sp-call span{display:none}
  .sp-call{width:44px;padding:0}
  .sp-lrow{grid-template-columns:1fr;padding:12px}
  .sp-lstat{white-space:normal}
  .sp-linkacts{position:sticky;bottom:0;background:#f4f7fa;padding:10px 0}
  .sp-linkacts .btn{flex:1;height:44px}
  .sp-rows{grid-template-columns:1fr;gap:2px}
  .sp-rows dt{margin-top:8px;font-size:12.5px}
  .sp-histlist a{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"d u c" "t t t";row-gap:2px}
  .sp-hd{grid-area:d}.sp-hu{grid-area:u}.sp-hc{grid-area:c}.sp-ht{grid-area:t;white-space:normal}
  .sp-dacts .up-btn{flex:1 1 auto}
  .sp-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sp-three{grid-template-columns:minmax(0,1fr) 64px 92px;gap:8px}
  .sp-hrow{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);row-gap:2px}
  .sp-hrow label{grid-column:2/-1}
}
.sp-org small.sp-onote{color:var(--ink-3);margin-top:2px}

/* ===================================================== Breakdowns (roadside case) */
.up-tabs a b.hot{color:var(--up-crit,#dc3445)}
.sp-orgacts{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.sp-report{color:#c42b3b}
.sp-sh{font-size:14px;font-weight:600;margin:6px 2px -2px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sp-sh small{font-size:12px;font-weight:400;color:var(--ink-3)}
.sp-ext .sp-name b{font-weight:600}
.sp-kind{font-size:11px;font-weight:600;color:#5b6b85;background:#eef2f9;border-radius:5px;padding:1px 6px;white-space:nowrap}
.sp-stars{font-size:12px;font-weight:600;color:#b7791f}
.sp-attr{font-size:11.5px;color:var(--ink-3);margin:-4px 2px 0}
.sp-attr a{color:inherit}
.sp-google{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 2px}
.sp-google small{font-size:12px;color:var(--ink-3)}
.sp-gres{display:grid;gap:10px}
.sp-gres:empty{display:none}
.sp-extnote{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#4a5a73;background:#f2f5fa;border-radius:10px;padding:10px 12px;margin:0 0 4px}
.sp-extnote svg{flex:none;margin-top:1px}
.sp-log span,.sp-gadd span{white-space:nowrap}
.rd-hint{margin-bottom:2px}
.rd-row{text-decoration:none;color:var(--ink)}
.rd-row.st-resolved .sp-main,.rd-row.st-cancelled .sp-main{opacity:.72}
.rd-sum{font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-wrap{max-width:1080px}
.rd-new{max-width:720px}
.rd-form{display:grid;gap:2px}
.rd-form .acts{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.rd-form .f{margin-bottom:14px}
.rd-form .f > label{display:block;font-size:12.5px;font-weight:500;color:var(--ink-2);margin-bottom:6px}
.rd-form select,.rd-form input:not([type=radio]):not([type=checkbox]),.rd-form textarea{width:100%;padding:9px 12px;border:1px solid #d3dbe5;border-radius:9px;background:#fff}
.rd-form select:focus,.rd-form input:focus,.rd-form textarea:focus{outline:none;border-color:#2f5be7;box-shadow:0 0 0 3px rgba(47,91,231,.14)}
.rd-seg{display:flex;flex-wrap:wrap;gap:6px}
.rd-seg label{position:relative;display:inline-flex;align-items:center;height:36px;padding:0 13px;border-radius:9px;box-shadow:inset 0 0 0 1px #d3dbe5;
  font-size:13px;font-weight:500;color:var(--ink);cursor:pointer;background:#fff;margin:0!important}
.rd-seg label:has(input:checked){background:#eef3ff;box-shadow:inset 0 0 0 1.5px #2f5be7;color:#1e44c4}
.rd-seg input{position:absolute;opacity:0;pointer-events:none}
.rd-where .rd-loc{margin-bottom:6px}
.rd-q{display:flex;gap:8px;align-items:center}
.rd-q input{flex:1}
.rd-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:start}
.rd-head h2{font-size:22px;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rd-head p{color:var(--ink-2);font-size:13px;margin-top:2px}
.rd-hacts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.rd-booked{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#fff6e8;box-shadow:inset 0 0 0 1px #f6d9b5}
.rd-booked > svg{flex:none;color:#c2640b}
.rd-booked > div{flex:1;min-width:0}
.rd-booked b{display:block;font-size:14px}
.rd-booked small{display:block;font-size:12.5px;color:var(--ink-2)}
.rd-booked.ok{background:var(--up-ok-bg,#e5f6ec);box-shadow:inset 0 0 0 1px #bfe6cf}
.rd-booked.ok > svg{color:var(--up-ok,#14955a)}
.rd-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.rd-main{display:grid;gap:14px;min-width:0}
.rd-side{position:sticky;top:12px;min-width:0}
.rd-wrap .up-card h3{font-size:15px;font-weight:600;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rd-wrap .up-card h3 small{font-size:12px;font-weight:500;color:var(--ink-3)}
.rd-tow{color:#c42b3b!important}
.rd-prob{white-space:pre-wrap;font-size:14px;margin:8px 0 4px}
.rd-en{font-size:13px;color:var(--ink-2);margin:0 0 6px}
.rd-en small{font-weight:600;color:var(--ink-3);margin-right:4px}
.rd-facts .sp-pills{margin:8px 0 10px}
.rd-facts .sp-rows{grid-template-columns:110px minmax(0,1fr)}
.rd-list{list-style:none;display:grid;gap:3px}
.rd-list li{font-weight:500}
.rd-shops{display:grid;gap:10px}
.rd-shops .sp-found{display:grid;gap:10px}
.rd-found{display:grid;gap:10px}
.rd-found .sp-results{display:grid;gap:10px}
.rd-shops .sp-list{box-shadow:inset 0 0 0 1px var(--up-line,#e5eaf0)}
.rd-setloc{display:flex;gap:8px}
.rd-setloc input{flex:1;height:36px;padding:0 12px;border:1px solid #d3dbe5;border-radius:9px}
.rd-msg{display:grid;gap:10px}
.rd-msg.busy{opacity:.6;pointer-events:none}
.rd-mh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rd-by{font-size:11.5px;font-weight:600;color:var(--ink-3);background:#f1f4f8;border-radius:6px;padding:2px 8px;white-space:nowrap}
.rd-by.ai{color:#5a3fc0;background:#f0ecff}
.rd-mnote{font-size:12px;color:var(--ink-3)}
.rd-mtabs{width:100%}
.rd-mtabs button{flex:1}
.rd-mbody{font-size:13.5px;line-height:1.5;min-height:80px}
.rd-script{padding-left:20px;display:grid;gap:6px}
.rd-text{white-space:pre-wrap;background:#f7f9fc;border-radius:10px;padding:10px 12px}
.rd-subj{margin-bottom:6px}
.rd-subj small{font-weight:600;color:var(--ink-3);margin-right:6px}
.rd-qs{list-style:none;display:grid;gap:6px}
.rd-qs label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.rd-qs input{margin-top:3px;accent-color:#2f5be7}
.rd-qs input:checked + *,.rd-qs label:has(input:checked){color:var(--ink-3);text-decoration:line-through}
.rd-macts{display:flex;gap:8px;flex-wrap:wrap}
.rd-macts a.up-btn[hidden]{display:none}
.rd-notes{background:#fbf7ec;border-radius:10px;padding:10px 12px;font-size:12.5px}
.rd-notes b{display:block;margin-bottom:4px}
.rd-notes ul{padding-left:18px;display:grid;gap:3px}
.rd-notes small{display:block;color:var(--ink-3);margin-top:6px}
.rd-ch{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rd-log{list-style:none;display:grid;margin-top:8px}
.rd-log li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0}
.rd-log li + li{border-top:1px solid var(--up-line,#e5eaf0)}
.rd-log li > div b{font-size:13.5px}
.rd-log li small{display:block;font-size:12px;color:var(--ink-2)}
.rd-log li p{font-size:13px;margin:3px 0;white-space:pre-wrap}
.rd-log .up-pill{min-width:92px;justify-content:center}
.rd-del{font-size:18px;line-height:1;color:var(--ink-3);padding:2px 6px}
.rd-callnow{margin:0 0 12px}
.rd-chk{display:flex!important;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:500;color:var(--ink)!important;cursor:pointer}
.pane .rd-chk input{width:16px;height:16px;padding:0;accent-color:#2f5be7}
.pane .rd-seg{margin-top:2px}
.td-go{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-8px 0 18px}
.td-go .td-yard{margin:0;padding:12px}
.td-go .td-yi{width:38px;height:38px}
.td-go .td-yt b{font-size:14.5px}
.td-go .td-yt small{white-space:normal}
.td-bd .td-yi{background:#fde8ea;color:#dc3445}
.ro-maintenance .sp-rep,.ro-maintenance [data-reportbd]{display:none!important}

@media (max-width:1000px){
  .rd-grid{grid-template-columns:minmax(0,1fr)}
  .rd-side{position:static;order:-1}
}
@media (max-width:760px){
  .rd-head{grid-template-columns:1fr}
  .rd-head h2{font-size:19px}
  .rd-hacts{justify-content:flex-start}
  .rd-hacts .up-btn{flex:1 1 auto}
  .rd-booked{flex-wrap:wrap}
  .rd-facts .sp-rows{grid-template-columns:1fr}
  .rd-log li{grid-template-columns:minmax(0,1fr) auto}
  .rd-log .up-pill{grid-column:1;justify-self:start;min-width:0}
  .rd-log li > div{grid-column:1}
  .rd-log .rd-del{grid-column:2;grid-row:1}
  .sp-orgacts{align-items:flex-end}
  .sp-log span{display:none}
  .sp-log{width:44px;padding:0}
  .sp-g .sp-acts{flex-wrap:wrap;justify-content:flex-end;max-width:120px}
  .sp-gadd span{display:none}
  .rd-form .acts .btn{flex:1;height:44px}
  .rd-seg label{height:40px}
}
.sp-found{display:grid;gap:12px;min-width:0}
.rd-q[hidden],.rd-form .linkish[hidden]{display:none}
.rd-form .linkish{justify-self:start;border:0;background:none;padding:2px 0;margin-top:4px;color:#2f5be7;font-weight:600;font-size:12.5px;cursor:pointer}
.rd-form .linkish:hover{text-decoration:underline}
@media (max-width:760px){
  .sp-wrap > .ho-bar .up-tabs{flex:1 1 auto;min-width:0;width:auto}
  .sp-wrap > .ho-bar .up-tabs a{padding:0 10px}
}
.rd-qe[hidden]{display:none}
.sp-wrap,.rd-wrap{grid-template-columns:minmax(0,1fr)}
.sp-gres{scroll-margin-top:12px}
/* Google: nom yoki so'z bilan qo'shimcha qidiruv */
.sp-gtext{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:end;padding:12px 14px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--up-line,#e5eaf0)}
.sp-gtext label{display:grid;gap:5px;min-width:0}
.sp-gtext label span{font-size:12.5px;font-weight:500;color:var(--ink-2)}
.sp-gtext input{height:36px;padding:0 12px;border:1px solid #d3dbe5;border-radius:9px;background:#fff;min-width:0}
.sp-gtext input:focus{outline:none;border-color:#2f5be7;box-shadow:0 0 0 3px rgba(47,91,231,.14)}
.sp-gtext small{grid-column:1/-1;font-size:12px;color:var(--ink-3)}
.sp-g.new{background:#f2f7ff;box-shadow:inset 3px 0 0 #2f5be7}
/* Shop search — "By route" (4-bosqich) */
@media (min-width:761px){ .sp-wrap > .ho-bar:first-child{padding-top:20px} }
.sp-otools .up-btn{flex:none;margin-left:auto}
.sp-modes{grid-column:1/-1;display:inline-flex;justify-self:start;gap:2px;padding:3px;border-radius:11px;background:#eef1f6}
.sp-mode{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.sp-mode svg{color:var(--ink-3)}
.sp-mode:hover{color:var(--ink)}
.sp-mode[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.12)}
.sp-mode[aria-pressed="true"] svg{color:var(--up-blue)}
.sp-tof{grid-column:1/-1}
.sp-tof[hidden]{display:none}
.sp-origin{display:grid;gap:8px}
.sp-route b{overflow-wrap:anywhere}
.sp-stretch{padding:7px 16px;font-size:12px;font-weight:600;color:#3f5b86;background:#f3f6fb;border-top:1px solid var(--up-line,#e5eaf0)}
.sp-list > .sp-stretch:first-child{border-top:0}
.sp-stretch + .sp-row{border-top:1px solid var(--up-line,#e5eaf0)}
.sp-due{display:grid;gap:10px;padding:14px 16px;background:#fffaf0;box-shadow:inset 0 0 0 1px #f3dfb8}
.sp-due h4{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;margin:0}
.sp-due h4 svg{color:var(--up-warn,#c26a0a)}
.sp-dueit{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sp-dueit > div{min-width:0}
.sp-dueit b{font-size:14px}
.sp-dueit span{font-size:13px;color:var(--ink-2)}
.sp-dueit small{display:block;font-size:12.5px;color:var(--ink-2)}
.sp-dueit.over span{color:var(--up-crit,#dc3445);font-weight:600}
.sp-dueit .up-btn{flex:none}
@media (max-width:760px){
  .sp-modes{display:flex;justify-self:stretch}
  .sp-mode{flex:1;padding:0 8px}
  .sp-stretch{padding:7px 12px}
  .sp-due{padding:12px}
  .sp-dueit{align-items:flex-start}
}
/* Find a shop — Dashboard ustidagi panel (#/find) va telefonda Today'ning pasti */
.fsp{position:fixed;top:60px;right:0;bottom:0;width:min(660px,100%);z-index:30;display:flex;flex-direction:column;background:#f4f7fa;border-left:1px solid #e5eaf0;box-shadow:-14px 0 40px rgba(16,32,64,.16);animation:fsp-in .18s ease-out}
.fsp[hidden]{display:none}
@keyframes fsp-in{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.fsp-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 8px 22px}
.fsp-head b{font-size:18px;font-weight:600;letter-spacing:-.01em}
.fsp-x{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--ink-2);background:#fff;box-shadow:inset 0 0 0 1px #d3dbe5}
.fsp-x:hover{color:var(--ink)}
.unitpage.fsp-scroll{flex:1;min-height:0;height:auto;display:block;overflow-y:auto;padding:6px 22px 40px}
.unitpage.fs-embed{height:auto;display:block;background:transparent}
.fsp-page{padding-top:20px}
@media (prefers-reduced-motion:reduce){ .fsp{animation:none} }
.fsp:focus{outline:none}
/* Telefon raqami oynachasi (Call bosilganda): raqam, Copy, Call */
.ph-pop{--up-blue:#2f5be7;--up-line:#e5eaf0;--up-line-2:#d3dbe5;position:fixed;z-index:70;display:grid;gap:10px;min-width:220px;padding:12px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgba(16,32,64,.08),0 12px 32px rgba(16,32,64,.18);animation:ph-in .12s ease-out}
@keyframes ph-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.ph-num{font-size:19px;font-weight:700;letter-spacing:.01em;color:var(--ink);text-align:center;user-select:all;font-variant-numeric:tabular-nums}
.ph-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ph-acts .up-btn{justify-content:center}
@media (prefers-reduced-motion:reduce){ .ph-pop{animation:none} }

/* ===================== Qo'ng'iroqcha: bildirishnomalar lentasi (views/bell.js) ===================== */
.nf-pop{position:fixed;z-index:65;width:min(400px,calc(100vw - 16px));max-height:min(600px,calc(100vh - 80px));
  display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;outline:none;
  box-shadow:0 0 0 1px rgba(16,32,64,.08),0 16px 40px rgba(16,32,64,.18);animation:ph-in .12s ease-out}
.nf-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 10px 16px;border-bottom:1px solid var(--line)}
.nf-top h3{margin:0;font-size:15px;font-weight:600}
.nf-x{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;color:var(--ink-2)}
.nf-x:hover{background:var(--soft);color:var(--ink)}
.nf-list{overflow:auto;overscroll-behavior:contain;padding:2px 0 8px}
.nf-h{margin:12px 16px 4px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.nf-row{display:grid;grid-template-columns:34px minmax(0,1fr) 8px;gap:12px;align-items:start;padding:10px 16px;
  color:var(--ink);text-decoration:none}
a.nf-row:hover{background:var(--rail)}
a.nf-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.nf-row.new{background:#F3F7FE}
a.nf-row.new:hover{background:#EAF1FD}
.nf-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--ink-2)}
.nf-ic.bad{background:var(--bad-s);color:var(--bad)}
.nf-ic.warn{background:var(--warn-s);color:var(--warn)}
.nf-ic.ok{background:var(--ok-s);color:var(--ok)}
.nf-tx{display:grid;gap:2px;min-width:0}
.nf-l1{display:flex;gap:10px;align-items:baseline;justify-content:space-between;min-width:0}
.nf-l1 b{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nf-l1 time{flex:none;font-size:12px;color:var(--ink-3)}
.nf-l2{font-size:12.5px;line-height:1.4;color:var(--ink-2);overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nf-l2 b{font-weight:600;color:var(--ink)}
.nf-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:6px}
.nf-empty{display:grid;justify-items:center;gap:6px;padding:36px 24px;text-align:center;color:var(--ink-3)}
.nf-empty b{color:var(--ink);font-weight:600;font-size:14px}
.nf-empty span{font-size:13px;max-width:290px}
.nf-empty .btn{margin-top:6px}
.nf-wait{margin:0;padding:24px 16px;color:var(--ink-3);font-size:13px}
@media (max-width:760px){
  .nf-pop{top:var(--top-h) !important;right:0 !important;bottom:var(--tab-h);left:0;width:auto;max-height:none;
    border-radius:0;box-shadow:0 1px 0 var(--line) inset;animation:none}
  .nf-row{padding:12px 16px}
  .nf-l1 b{white-space:normal}
}
@media (prefers-reduced-motion:reduce){ .nf-pop{animation:none} }

/* ===================== Drag & drop fayl maydoni (ui.js: fileDrop / dropOn) ===================== */
.fdz{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px dashed #b9c7dc;border-radius:10px;
  background:#f7f9fd;color:var(--ink-2);cursor:pointer;transition:border-color .12s,background .12s}
.fdz:hover,.fdz:focus-visible,.fdz.over{border-color:var(--blue);background:#eef3fc}
.fdz:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.fdz.over{border-style:solid}
.fdz-ic{flex:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--blue);
  box-shadow:0 0 0 1px #dbe4f3}
.fdz-tx{display:grid;gap:2px;min-width:0;font-size:13px}
.fdz-tx b{color:var(--ink);font-weight:600;font-size:14px}
.fdz-tx u{color:var(--blue);text-underline-offset:2px}
.fdz-tx small{font-size:12px;color:var(--ink-3)}
.fdz-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.fdz-list li{display:flex;align-items:center;gap:10px;padding:7px 8px 7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}
.fdz-fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.fdz-list small{flex:none;color:var(--ink-3);font-size:12px}
.fdz-rm{flex:none;width:28px;height:28px;border-radius:6px;font-size:18px;line-height:1;color:var(--ink-3)}
.fdz-rm:hover{background:var(--bad-s);color:var(--bad)}
.fdz-note{margin:6px 0 0;font-size:12.5px;color:var(--warn)}
.pane.fdz-area{box-shadow:inset 0 0 0 2px var(--blue)}
.drop.over{border-color:var(--blue);border-style:solid;background:#eef3fc}
/* Mavjud yozuvga tashlash */
li.drop-on{position:relative;outline:2px dashed var(--blue);outline-offset:-2px;background:#eef3fc;border-radius:8px}
li.drop-on>*{opacity:.35}
li.drop-on::after{content:attr(data-droplabel);position:absolute;inset:0;display:grid;place-items:center;
  font-size:13px;font-weight:600;color:var(--blue);pointer-events:none}
li.drop-busy{opacity:.55;pointer-events:none}
@media (max-width:760px){ .fdz{padding:12px} }

/* ===================== Kirish: parolni ko'rsatish, "Forgot password" ===================== */
.pw{position:relative;display:block}
.pw input{width:100%;padding-right:64px}
.pw-t{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:30px;padding:0 10px;border-radius:6px;
  font-size:12.5px;font-weight:600;color:var(--blue)}
.pw-t:hover{background:var(--sel)}
.pw-t:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.login-help a{color:var(--blue);text-decoration:none;font-weight:500}
.login-help a:hover{text-decoration:underline}
.card .inv-note b{color:var(--ink);font-weight:600;word-break:break-all}
/* Egalikni berish paneli */
.tm-own{display:grid;gap:8px;margin-bottom:14px;padding:12px 14px;border-radius:10px;background:var(--warn-s);font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.tm-own p{margin:0}
.tm-own b{color:var(--ink)}

/* ===================== Ochiq havola (share): unit va handoff (views/share.js) ===================== */
.shr-body{display:grid;gap:14px}
.shr-url{display:flex;gap:8px;align-items:center}
.shr-url input{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid #d3dbe5;border-radius:9px;font:13px/1 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);background:#f6f8fb}
.shr-url .btn{height:38px;border-radius:9px;padding:0 16px;font-weight:600}
.shr-url .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.shr-copied{margin:-8px 0 0;min-height:1em;font-size:12.5px;color:var(--ok)}
.shr-acts{display:flex;flex-wrap:wrap;gap:8px}
.shr-acts .btn{display:inline-flex;align-items:center;gap:7px;height:36px;border-radius:9px;padding:0 14px;font-weight:600;text-decoration:none;color:var(--ink)}
.shr-acts .shr-tg{background:#229ED9;border-color:#229ED9;color:#fff}
.shr-acts .shr-tg:hover{background:#1b8cc2}
.shr-meta{margin:0;font-size:12.5px;color:var(--ink-3)}
.shr-note{margin:0;font-size:13px;color:var(--ink-2)}
.shr-scope{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f6f8fb;border-radius:12px;padding:12px 14px}
.shr-scope b{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.shr-list{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13px}
.shr-list li{position:relative;padding-left:20px}
.shr-list li::before{position:absolute;left:0;top:0;font-weight:700}
.shr-list.ok li::before{content:"✓";color:var(--ok)}
.shr-list.no li::before{content:"✕";color:var(--bad)}
.shr-stop{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}
.shr-stop span{flex:1 1 200px;font-size:12.5px;color:var(--ink-3)}
.shr-stop .btn.danger{background:#fff;color:var(--bad);border-color:#efc9c6;font-weight:600}
.shr-stop .btn.danger:hover{background:var(--bad-s)}
@media (max-width:560px){ .shr-scope{grid-template-columns:1fr} }

/* ---- Shop qidiruvi xaritada (mapkit.js): raqam = xaritadagi belgi, kulrang nuqta = katalog ---- */
.sp-n{width:22px;height:22px;margin-right:7px;vertical-align:1px;border-radius:50%;display:inline-grid;place-items:center;font-size:11.5px;font-weight:800;color:var(--ink);background:#fff;box-shadow:inset 0 0 0 2px #2f5be7}
.sp-n.r-preferred{background:#14955a;color:#fff;box-shadow:none}
.sp-n.r-avoid{background:#eef1f5;color:#8492a6;box-shadow:inset 0 0 0 2px #8492a6}
.sp-cdot{display:inline-block;width:10px;height:10px;margin:0 9px 0 3px;vertical-align:1px;border-radius:50%;background:#8492a6;box-shadow:0 0 0 2px #fff,0 0 0 3px #d3dbe5}
.sp-row.sp-flash{animation:sp-flash 1.6s ease-out}
@keyframes sp-flash{0%,35%{background:#e4ecff}100%{background:transparent}}
.sp-vsw{display:inline-flex;justify-self:start;gap:2px;padding:3px;border-radius:11px;background:#eef1f6}
.sp-vsw[hidden]{display:none}
.sp-vsw button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 16px;border-radius:9px;font-size:13px;font-weight:600;color:var(--ink-2)}
.sp-vsw button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(16,32,64,.12)}
.sp-results[hidden],.sp-mapwrap[hidden]{display:none}
.sp-mapwrap{display:grid;gap:10px;min-width:0}
.sp-map{position:relative;height:min(62vh,540px);border-radius:14px;overflow:hidden;background:#e7ecf0;box-shadow:inset 0 0 0 1px var(--up-line,#e5eaf0)}
.sp-map-inline .sp-map{height:270px}
.sp-maperr{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;font-size:13px;color:var(--ink-2)}
.sp-maphint{display:grid;gap:4px;font-size:13px;color:var(--ink-2);margin:0 2px}
.sp-maphint > span{display:flex;align-items:center;gap:6px}
.sp-maphint svg{flex:none;color:var(--up-blue)}
.sp-maphint small{font-size:12px;color:var(--ink-3)}
.sp-map .maplibregl-ctrl-attrib{font-size:11px}
@media (max-width:760px){
  .sp-vsw{display:flex;justify-self:stretch}
  .sp-vsw[hidden]{display:none}
  .sp-vsw button{flex:1}
  .sp-map{height:min(60vh,480px);border-radius:12px}
  .sp-map-inline .sp-map{height:220px}
}
@media (prefers-reduced-motion:reduce){ .sp-row.sp-flash{animation:none;background:#e4ecff} }
