:root{
  --bg:#f4f5f7; --card:#ffffff; --text:#14171c; --muted:#6b7280; --line:#e2e5ea;
  --accent:#e2680f; --accent-t:#ffffff; --ok:#12805c; --danger:#c0392b; --warn:#b07510;
  --chip:#eef0f3;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#11141a; --card:#1b1f27; --text:#eceff4; --muted:#98a1b0; --line:#2a313c;
    --accent:#f2801d; --ok:#2fb389; --danger:#ef6b5c; --warn:#e0a83a; --chip:#232a34;
  }
}
:root[data-theme="dark"]{
  --bg:#11141a; --card:#1b1f27; --text:#eceff4; --muted:#98a1b0; --line:#2a313c;
  --accent:#f2801d; --ok:#2fb389; --danger:#ef6b5c; --warn:#e0a83a; --chip:#232a34;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);height:100%}
body{
  margin:0;background:var(--bg);color:var(--text);
  font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-text-size-adjust:100%;
}
header{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:20;
  background:var(--card);border-bottom:1px solid var(--line);
}
.htop{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 6px}
.brand{font-weight:700;font-size:17px;letter-spacing:.2px}
.brand small{display:block;font-weight:400;font-size:11px;color:var(--muted)}
/* 5 ta bo'lim tor ekranga (masalan 360-390px) sig'maydi — shuning uchun
   flex:1 (majburiy kengaytirish) o'rniga tabiiy kenglik + gorizontal skroll,
   va skroll borligini bildiruvchi o'ng tarafdagi soya (::after). */
.tabs{display:flex;gap:4px;padding:0 10px 8px;overflow-x:auto;position:relative;
  scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{
  flex:none;white-space:nowrap;padding:8px 12px;border:0;border-radius:9px;
  background:var(--chip);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;
}
.tabs button.on{background:var(--accent);color:var(--accent-t)}
.tabs-wrap{position:relative}
.tabs-fade{position:absolute;top:0;right:0;bottom:8px;width:28px;pointer-events:none;
  background:linear-gradient(to right, transparent, var(--card))}
main{padding:12px 12px 90px;max-width:760px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}
label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px;font-weight:600}
input,select,textarea{
  width:100%;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;
  background:var(--bg);color:var(--text);font-size:15px;font-family:inherit;
}
textarea{min-height:70px;resize:vertical}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:11px 14px;border:0;border-radius:11px;background:var(--accent);color:var(--accent-t);
  font-size:15px;font-weight:700;cursor:pointer;width:100%;
}
.btn.sec{background:var(--chip);color:var(--text)}
.btn.red{background:var(--danger);color:#fff}
.btn:disabled,select:disabled,input:disabled{opacity:.45;cursor:not-allowed}
.btn.sm{width:auto;padding:8px 12px;font-size:13px}
.row{display:flex;gap:8px}
.row>*{flex:1}
.chip{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:var(--chip);color:var(--muted)}
.c-new{background:#fde8d4;color:#8a4a00}
.c-work{background:#d9e8fb;color:#17558e}
.c-done{background:#d5f0e5;color:#0d6b4c}
.c-out{background:var(--chip);color:var(--muted)}
.c-hot{background:#fbdcd8;color:#a2291b}
.item{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:8px;cursor:pointer}
.thumb{width:52px;height:52px;border-radius:10px;object-fit:cover;background:var(--chip);flex:none;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--muted)}
.item b{display:block;font-size:15px}
.item span{display:block;font-size:12px;color:var(--muted)}
.grow{flex:1;min-width:0}
.right{text-align:right;flex:none}
.money{font-weight:700;font-variant-numeric:tabular-nums}
.debt{color:var(--danger)}
.paidok{color:var(--ok)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{font-size:11px;color:var(--muted);text-align:left;font-weight:600;padding:4px}
td{padding:3px 2px;vertical-align:middle}
td input{padding:7px;font-size:13px}
.del{background:transparent;border:0;color:var(--danger);font-size:18px;cursor:pointer;padding:0 4px}
.tot{display:flex;justify-content:space-between;padding:7px 2px;border-top:1px dashed var(--line);font-size:14px}
.tot b{font-variant-numeric:tabular-nums}
.big{font-size:18px}
.hint{font-size:12px;color:var(--muted);margin:6px 0}
.empty{text-align:center;color:var(--muted);padding:34px 10px;font-size:14px}
.back{background:none;border:0;color:var(--accent);font-weight:700;font-size:14px;padding:0 0 8px;cursor:pointer}
.photo{width:100%;border-radius:12px;max-height:260px;object-fit:cover;margin-top:6px}
/* !important — ID selektorlar (masalan #loginOverlay{display:flex}) klassdan
   kuchliroq bo'lib, .hidden qo'shilganda ham elementni yashirmay qo'yishining
   oldini oladi (aynan shu sabab login ekrani muvaffaqiyatli kirishdan keyin
   ham ekranda "yopishib" qolgan haqiqiy xato edi). */
.hidden{display:none!important}
.pw{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--bg);overflow:hidden}
.pw span{padding:10px 8px 10px 11px;font-weight:700;color:var(--muted);border-right:1px solid var(--line);font-size:15px}
.pw input{border:0;border-radius:0;background:transparent;letter-spacing:.5px}
.ro{background:var(--chip);border-radius:10px;padding:9px 11px;font-size:15px}
.acard{background:linear-gradient(135deg,#fff1e0,#ffe3c7);border:1px solid #efb87c;color:#4a2b0c;box-shadow:0 2px 10px rgba(226,104,15,.13)}
.acard .ahead{font-weight:700;font-size:16px;padding-bottom:6px;border-bottom:1px solid rgba(120,70,10,.22);margin-bottom:4px}
.acard .tot{border-top:1px dashed rgba(120,70,10,.25)}
.acard .tot span{color:#7a4c17}
.acard .paidok{color:#0f6f4d}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .acard{background:linear-gradient(135deg,#3a2a17,#2b2116);border-color:#6d4a22;color:#f6e3cd}
:root:not([data-theme="light"]) .acard .tot span{color:#d3ae82}}
:root[data-theme="dark"] .acard{background:linear-gradient(135deg,#3a2a17,#2b2116);border-color:#6d4a22;color:#f6e3cd}
:root[data-theme="dark"] .acard .tot span{color:#d3ae82}
.rot td{padding:6px 4px;border-bottom:1px solid var(--line)}
.sbar{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto}
.sbar button{padding:7px 12px;border:0;border-radius:999px;background:var(--chip);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
.sbar button.on{background:var(--text);color:var(--bg)}
.sub-warn{background:#fff4e0;color:#8a5a00;font-size:12px;font-weight:600;
  padding:8px 14px;border-bottom:1px solid #efb87c;text-align:center}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .sub-warn{background:#3a2a17;color:#f0c98a;border-color:#6d4a22}}
:root[data-theme="dark"] .sub-warn{background:#3a2a17;color:#f0c98a;border-color:#6d4a22}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:var(--danger);color:#fff;
  padding:10px 16px;border-radius:10px;font-size:13px;z-index:100;max-width:90%;box-shadow:0 4px 16px rgba(0,0,0,.2)}

/* Boss talabi: ro'yxatdagi qatorlarni holat bo'yicha bir qadam surish tugmalari */
.stepbtn{flex:none;background:transparent;border:0;color:var(--muted);font-size:22px;font-weight:900;
  line-height:1;cursor:pointer;padding:6px 9px;border-radius:8px}
.stepbtn:active{background:var(--chip);color:var(--accent)}
.stepbtn:disabled{opacity:.2;cursor:default}

/* Login ekrani (js/login.js) — to'liq ekranli, opaque overlay, hamma narsa
   ustida. Avval bu qoida #lockOverlay/#apppassOverlay (endi o'chirilgan
   elementlar) ga yozilgan edi — #loginOverlay hech qanday stilga ega emas
   edi, shuning uchun login ekrani sahifa OXIRIDA (ko'rinmas holda) turardi
   va fon ortidan butun ilova ko'rinib turardi. Endi tuzatildi. */
#loginOverlay{position:fixed;inset:0;z-index:9998;background:var(--bg);
  display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.lockbox{width:100%;max-width:360px;text-align:left;background:var(--card);
  border:1px solid var(--line);border-radius:16px;padding:24px 20px;
  box-shadow:0 8px 32px rgba(0,0,0,.12)}
.lockttl{font-size:19px;font-weight:700;margin-bottom:4px;text-align:center}
.lockerr{min-height:18px;color:var(--danger);text-align:center}
.lockbox .btn{margin-top:14px}
.lockbox .hint{text-align:center}
.lockbox a.dl{text-decoration:none;margin-top:10px}
.dl-admin{display:block;text-align:center;margin-top:12px;font-size:12px;color:var(--muted);text-decoration:none}
.lockbox .logo{display:block;margin:0 auto 10px;border-radius:18px;box-shadow:0 4px 14px rgba(226,104,15,.35)}
.logo-sm{vertical-align:-6px;border-radius:7px;margin-right:4px}
