/* ===== فونٹس ===== */
/* انگریزی، ہندسے اور اُن کے نشان (- / وغیرہ) Arial میں */
@font-face {
  font-family: 'NumLatin';
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica'), local('Segoe UI');
  unicode-range: U+0041-005A, U+0061-007A, U+0030-0039, U+0660-0669, U+06F0-06F9, U+0021-002F, U+003A-0040, U+005B-0060, U+007B-007E;
}

:root {
  --green:#059669; --green-light:#10b981; --green-pale:#ecfdf5; --green-200:#a7f3d0; --green-700:#047857;
  --gold:#d97706; --gold-light:#fcd34d; --gold-50:#fffbeb; --gold-200:#fde68a;
  --cream:#f8fafc; --white:#ffffff;
  --text:#1e293b; --muted:#64748b;
  --border:#e2e8f0; --border-strong:#cbd5e1;
  --red:#e11d48; --red-light:#fff1f2; --red-200:#fecdd3;
  --slate-50:#f8fafc; --slate-100:#f1f5f9; --slate-900:#0f172a;
  --ring: 0 0 0 3px rgba(16,185,129,.16);
  --shadow-sm: 0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.08);
  --shadow-md: 0 4px 10px -2px rgba(15,23,42,.12), 0 2px 6px -2px rgba(15,23,42,.10);
  --shadow-lg: 0 12px 24px -6px rgba(15,23,42,.18), 0 4px 10px -4px rgba(15,23,42,.12);
  --ease: cubic-bezier(.4,0,.2,1);
  --grad-green: linear-gradient(135deg,#10b981 0%,#059669 60%,#047857 100%);
  --grad-gold: linear-gradient(135deg,#f59e0b 0%,#d97706 60%,#b45309 100%);
  --font: 'NumLatin','Noto Nastaliq Urdu', ui-serif, serif;
  --radius: 12px;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
body {
  font-family: var(--font);
  background: var(--cream);
  color: var(--text);
  min-height:100vh; direction:rtl;
  line-height: 2.1; font-size: 19px;
}

/* ===== sticky top ===== */
.sticky-top { position:sticky; top:0; z-index:100; background:var(--white); border-bottom:1px solid var(--border); box-shadow:var(--shadow-sm); }
header { display:flex; align-items:center; gap:13px; padding:13px 24px; background:var(--white); }
header .logo {
  width:42px; height:42px; border-radius:12px; flex:none;
  background:linear-gradient(135deg, var(--green), var(--green-light));
  display:flex; align-items:center; justify-content:center; font-size:1.3em; box-shadow:var(--shadow-sm);
}
header h1 { font-size:1.16em; font-weight:700; color:var(--slate-900); line-height:1.5; }

/* ===== لاگ اِن ===== */
#login-overlay, #signup-overlay, #forgot-overlay, #reset-overlay {
  position:fixed; inset:0; z-index:9999; background:linear-gradient(135deg,#ecfdf5,#f8fafc);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
#signup-overlay, #forgot-overlay, #reset-overlay { display:none; overflow-y:auto; }
.login-link { display:inline-block; margin-top:14px; color:#15803d; font-size:.88em; cursor:pointer; text-decoration:underline; }
.login-box { max-height:92vh; overflow-y:auto;
  background:var(--white); border:1px solid var(--border); border-radius:18px;
  box-shadow:0 18px 50px rgba(2,44,34,.18); padding:34px 30px; width:100%; max-width:380px; text-align:center;
}
.login-ok { color:#15803d; background:#dcfce7; border:1px solid #86efac; border-radius:8px; font-size:.9em; padding:8px 10px; margin-bottom:14px; display:none; }
.login-logo {
  width:62px; height:62px; border-radius:16px; margin:0 auto 14px;
  background:linear-gradient(135deg,var(--green),var(--green-light));
  display:flex; align-items:center; justify-content:center; font-size:2em; box-shadow:var(--shadow-sm);
}
.login-title { font-size:1.25em; font-weight:700; color:var(--slate-900); }
.login-sub { color:var(--muted); font-size:.92em; margin:4px 0 22px; }
.login-label { display:block; text-align:right; font-size:.9em; color:var(--text); font-weight:600; margin-bottom:13px; }
.login-label input { margin-top:5px; }
.login-error { color:var(--red); font-size:.88em; min-height:20px; margin:2px 0 4px; }
.login-note { color:var(--muted); font-size:.8em; margin-top:12px; }

.tabs { display:flex; gap:2px; padding:0 24px; background:var(--white); }
.tab-btn {
  background:none; border:none; color:var(--muted); font-family:var(--font);
  font-size:.82em; font-weight:600; padding:7px 11px 8px; cursor:pointer;
  border-bottom:2px solid transparent; margin-bottom:-1px; border-radius:7px 7px 0 0;
  transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease); display:inline-flex; align-items:center; gap:5px;
}
.tab-btn:hover:not(.active){ color:var(--text); background:var(--green-pale); }
.tab-btn.active { color:var(--green-700); border-bottom-color:var(--green); }

/* نقشہ الف ٹیب: کالم زیادہ ہیں، اس لیے چھوٹا فونٹ + رقبہ ایک ہی لائن میں */
#naqsha-alif td, #naqsha-alif th { font-size:.72em; padding:4px 4px; white-space:nowrap; }
#naqsha-alif td span[dir="ltr"] { white-space:nowrap; display:inline-block; }
#naqsha-alif td input { width:62px !important; font-size:.95em; padding:5px 4px; text-align:center; }

/* نقشہ ب ٹیب: بڑا ٹیبل — چھوٹا فونٹ + سمارٹ کمپیکٹ کنٹرول */
#naqsha-ba td, #naqsha-ba th { font-size:.78em; padding:5px 5px; }
#naqsha-ba td span[dir="ltr"] { white-space:nowrap; display:inline-block; }
#naqsha-ba .b-sel, #naqsha-ba .b-inp { font-family:var(--font); font-size:.92em; padding:3px 8px; border:1px solid var(--border); border-radius:7px; background:var(--white); color:var(--text); cursor:pointer; transition:border-color .18s var(--ease), box-shadow .18s var(--ease); }
#naqsha-ba .b-inp { width:78px; text-align:center; cursor:text; }
#naqsha-ba .b-sel:hover, #naqsha-ba .b-inp:focus { border-color:var(--green-200); box-shadow:var(--shadow-sm); outline:none; }
#naqsha-ba .btn-mini { padding:3px 9px; font-size:.76em; }
#naqsha-ba .mini-x { padding:2px 7px; font-size:.74em; }

/* سابقہ اندراجات، نقشہ ج (ونڈا)، تتیمہ جات — ٹیبلوں کا فونٹ چھوٹا */
#tab1 td, #tab1 th, #tab2 td, #tab2 th, #tab3 td, #tab3 th { font-size:.82em; }
#tab1 td input, #tab1 td select, #tab2 td input, #tab2 td select, #tab3 td input, #tab3 td select { font-size:.95em; }

/* ===== layout ===== */
.tab-content { display:none; max-width:1240px; margin:0 auto; padding:24px 22px 56px; }
#tab6, #tab7 { max-width:none; padding:10px 8px 20px; }
.tab-content.active { display:block; }
/* عکس شجرہ / ترمیمی عکس شجرہ: پیرنٹ صفحہ جامد — صرف کینوس والی ونڈو (iframe کے اندر) اسکرول ہو */
body.aks-active { overflow:hidden; height:100vh; }
body.aks-active #tab6.active, body.aks-active #tab7.active { padding:8px 8px 6px; }
.section-title {
  font-size:1.05em; font-weight:700; color:var(--slate-900); margin:6px 0 14px;
  padding-inline-start:11px; border-inline-start:3px solid var(--green);
  display:flex; align-items:center; gap:8px; line-height:1.7;
}

/* ===== cards / tables ===== */
.table-wrap {
  overflow-x:auto; margin-bottom:12px; background:var(--white);
  border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-sm);
}
table { width:100%; border-collapse:collapse; font-size:1em; }
th {
  background:linear-gradient(180deg,#10b981,#059669); color:#fff; font-weight:700; padding:10px 10px;
  text-align:center; font-size:.9em; border-bottom:1px solid var(--green-700); border-left:1px solid rgba(255,255,255,.18); white-space:nowrap;
}
th.total-cell { background:linear-gradient(180deg,#0d9488,#0f766e); color:#fff; }
td { padding:8px 10px; border-bottom:1px solid var(--slate-100); text-align:center; vertical-align:middle; color:var(--text); }
tbody tr:last-child td { border-bottom:none; }
tbody tr:hover td { background:var(--slate-50); }
td.total-row, td.total-label { background:var(--green-pale) !important; color:var(--green-700) !important; font-weight:700; font-size:.98em; }
td.total-label { text-align:right; }

/* ===== form controls ===== */
input[type="text"], input[type="password"], input[type="email"], input[type="tel"] {
  font-family:var(--font); border:1px solid var(--border-strong); border-radius:8px;
  padding:7px 10px; width:100%; font-size:1em; background:var(--white); color:var(--text);
  text-align:center; direction:ltr; transition:border-color .15s, box-shadow .15s;
}
input[type="text"]::placeholder, input[type="password"]::placeholder, input[type="email"]::placeholder, input[type="tel"]::placeholder { color:#94a3b8; }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="tel"]:focus { outline:none; border-color:var(--green); box-shadow:var(--ring); }
/* پاس ورڈ فیلڈ + آنکھ کا نشان */
.pass-wrap{ position:relative; }
.pass-wrap input{ width:100%; }
.pass-wrap input.has-eye{ padding-right:40px; }
.pass-wrap .pass-eye{ position:absolute; top:50%; right:10px; transform:translateY(-50%); background:none; border:none; cursor:pointer; color:#64748b; font-size:17px; line-height:1; padding:4px; }
.pass-wrap .pass-eye:hover{ color:#15803d; }
input[type="text"].invalid { border-color:#fb7185; background:var(--red-light); }
select {
  font-family:var(--font); border:1px solid var(--border-strong); border-radius:8px;
  padding:7px 8px; font-size:.96em; background:var(--white); color:var(--text); direction:rtl;
  cursor:pointer; transition:border-color .15s, box-shadow .15s;
}
select:focus { outline:none; border-color:var(--green); box-shadow:var(--ring); }

/* ===== buttons ===== */
.btn {
  font-family:var(--font); border:1px solid transparent; border-radius:10px; padding:9px 18px;
  font-size:.9em; font-weight:600; cursor:pointer; line-height:1.4;
  transition: transform .18s var(--ease), box-shadow .22s var(--ease), background .2s var(--ease), border-color .2s var(--ease), filter .2s var(--ease);
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  position:relative; -webkit-tap-highlight-color:transparent; user-select:none;
}
.btn:hover { transform:translateY(-2px); }
.btn:active { transform:translateY(0); filter:brightness(.97); transition-duration:.05s; }
.btn:focus-visible { outline:none; box-shadow:var(--ring), var(--shadow-md); }
.btn-green { background:var(--grad-green); color:#fff; box-shadow:var(--shadow-sm); }
.btn-green:hover { box-shadow:0 8px 18px -4px rgba(5,150,105,.45), var(--shadow-sm); filter:saturate(1.08); }
.btn-gold { background:var(--grad-gold); color:#fff; box-shadow:var(--shadow-sm); }
.btn-gold:hover { box-shadow:0 8px 18px -4px rgba(217,119,6,.42), var(--shadow-sm); filter:saturate(1.08); }
.btn-outline { background:var(--white); color:var(--text); border-color:var(--border-strong); box-shadow:var(--shadow-sm); }
.btn-outline:hover { background:var(--slate-50); border-color:var(--green-200); box-shadow:var(--shadow-md); }
.btn-red { background:var(--red-light); color:var(--red); border-color:var(--red-200); font-size:.8em; padding:6px 13px; border-radius:8px; box-shadow:var(--shadow-sm); }
.btn-red:hover { background:#ffe4e6; box-shadow:0 6px 14px -4px rgba(225,29,72,.30); }

.action-bar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:14px 0 26px; }
.action-bar label { font-size:.9em; color:var(--muted); }

.wanda-count-bar {
  background:var(--white); border:1px solid var(--border); border-radius:var(--radius);
  padding:14px 18px; margin-bottom:20px; display:flex; align-items:center; gap:14px;
  font-size:.97em; box-shadow:var(--shadow-sm); flex-wrap:wrap;
}
.wanda-count-bar label { color:var(--text); font-weight:600; }
.wanda-count-bar input[type="number"] {
  font-family:'NumLatin',var(--font); border:1px solid var(--border-strong); border-radius:8px;
  padding:7px 10px; width:76px; font-size:1em; text-align:center; background:var(--white);
  transition:border-color .15s, box-shadow .15s;
}
.wanda-count-bar input[type="number"]:focus { outline:none; border-color:var(--green); box-shadow:var(--ring); }

.info-box {
  background:var(--gold-50); border:1px solid var(--gold-200); border-radius:var(--radius);
  padding:12px 16px; font-size:.88em; color:#92400e; margin-bottom:20px; line-height:2.1;
}
.info-box b { color:#78350f; }

/* ===== wanda panels ===== */
.wanda-panel { margin-bottom:22px; border:1px solid var(--border); border-radius:14px; overflow:hidden; box-shadow:var(--shadow-sm); background:var(--white); }
.wanda-panel-header {
  background:var(--slate-50); color:var(--slate-900); font-size:1.02em; font-weight:700;
  padding:13px 18px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:9px;
  cursor:pointer; user-select:none; transition:background .12s;
}
.wanda-panel-header:hover { background:#eef2f7; }
.wp-chevron { color:var(--muted); font-size:1.05em; transition:transform .2s; display:inline-block; }
.wanda-panel-body { padding:18px 16px 16px; background:var(--white); }

.balance-ok, .balance-warn { display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:.95em; padding:5px 12px; border-radius:999px; }
.balance-ok { color:var(--green-700); }
.balance-warn { color:var(--red); }
.readonly-cell { color:var(--muted); }
.fa-fraction { font-family:'NumLatin',var(--font); font-size:.93em; color:var(--text); }
.sub-ft { font-size:.72em; color:var(--muted); margin-top:2px; font-family:'NumLatin',var(--font); }
#tatima input.len-in { width:52px; text-align:center; padding:6px 4px; margin:0 auto; }
.istikhraj-cell { text-align:right; font-size:.86em; min-width:180px; }
.istikhraj-text { color:var(--text); line-height:1.6; }
.istikhraj-area { color:var(--green-700); font-weight:700; margin-top:2px; }
.btn-mini { font-family:var(--font); font-size:.8em; padding:4px 10px; margin:0 2px; border:1px solid var(--border); border-radius:7px; background:var(--white); color:var(--green-700); cursor:pointer; transition:background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .12s var(--ease); }
.btn-mini:hover { background:var(--green-pale); border-color:var(--green-200); box-shadow:var(--shadow-sm); transform:translateY(-1px); }
.btn-mini.btn-gold { background:var(--grad-gold); color:#fff; border-color:transparent; }
.mini-x { font-family:var(--font); font-size:.78em; padding:2px 8px; border:1px solid var(--border); border-radius:6px; background:var(--white); color:var(--red); cursor:pointer; transition:background .18s var(--ease), box-shadow .18s var(--ease), transform .12s var(--ease); }
.mini-x:hover { background:var(--red-light); border-color:var(--red-200); transform:translateY(-1px); box-shadow:var(--shadow-sm); }
.corner-total td { background:#f8fafc; }
.fx { direction:ltr; display:inline-block; }
.frac { display:inline-flex; flex-direction:column; vertical-align:middle; text-align:center; margin:0 3px; }
.frac .fn { border-bottom:1.4px solid currentColor; padding:0 5px; line-height:1.3; }
.frac .fd { padding:0 5px; line-height:1.3; }

/* ===== dialog ===== */
.dialog-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.5); backdrop-filter:blur(2px); z-index:2000; align-items:center; justify-content:center; padding:16px; }
.dialog-box { background:#fff; border-radius:16px; padding:26px 28px; min-width:320px; max-width:460px; width:100%; box-shadow:0 20px 50px rgba(15,23,42,.25); direction:rtl; border:1px solid var(--border); max-height:88vh; overflow-y:auto; }
.dialog-title { font-size:1.1em; font-weight:700; color:var(--slate-900); margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.dialog-box label { font-size:.92em; color:var(--muted); font-weight:600; }
.dialog-box label input { width:100%; padding:9px 11px; border:1px solid var(--border-strong); border-radius:8px; font-family:var(--font); font-size:1em; margin-top:5px; color:var(--text); transition:border-color .15s, box-shadow .15s; }
.dialog-box label input:focus { outline:none; border-color:var(--green); box-shadow:var(--ring); }

@media (max-width:760px) {
  /* ہیڈر و ٹیبز */
  header { padding:10px 12px; }
  header h1 { font-size:.92em; line-height:1.35; }
  .logo { font-size:1.4em; }
  .tabs { padding:0 6px; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
  .tabs::-webkit-scrollbar { height:4px; }
  .tab-btn { padding:10px 12px; font-size:.85em; white-space:nowrap; flex:0 0 auto; }
  .tab-content { padding:14px 8px 48px; }
  .section-title { font-size:1em; }

  /* ٹیبلز: افقی سکرول (تمام کالم انگلی سے سلائیڈ) + کمپیکٹ */
  .table-wrap { -webkit-overflow-scrolling:touch; }
  th, td { font-size:.8em; padding:6px 7px; }
  th { font-size:.78em; }
  input[type="text"], input[type="password"], input[type="email"] { padding:6px 8px; }

  /* ===== موبائل: ٹیبل کالم چوڑائیاں (نکتہ بہ نکتہ) ===== */
  /* ✕ بٹن کمپیکٹ (تمام ٹیبل) */
  #t1-owner .btn-red, #t1-khasra .btn-red, #t2-owner .btn-red, #t2-khasra .btn-red {
    padding:4px 6px; font-size:1em; line-height:1; min-width:0;
  }
  /* ٹیبل 1 مالکان: آئی ڈی و ملکیتی رقبہ تنگ + چھوٹا فونٹ، ✕ تنگ، نام مالک چوڑا */
  #t1-owner td:nth-child(1), #t1-owner th:nth-child(1) { width:34px; }
  #t1-owner td:nth-child(3), #t1-owner th:nth-child(3) { width:60px; }
  #t1-owner td:nth-child(3) input { font-size:.78em; padding:5px 3px; text-align:center; }
  #t1-owner td:nth-child(4), #t1-owner th:nth-child(4) { width:28px; padding-left:2px; padding-right:2px; }
  #t1-owner td:nth-child(2) { width:auto; }
  #t1-owner td:nth-child(2) input { font-size:.92em; }
  /* ٹیبل 1 خسرہ جات: ✕ تنگ */
  #t1-khasra td:nth-child(4), #t1-khasra th:nth-child(4) { width:28px; padding-left:2px; padding-right:2px; }

  /* ٹیبل 2 مالکان: نام مالک چوڑا، ملکیتی رقبہ چھوٹا فونٹ، ونڈا نمبر تنگ، ✕ تنگ */
  #t2-owner td:nth-child(1), #t2-owner th:nth-child(1) { min-width:100px; }
  #t2-owner td:nth-child(2), #t2-owner th:nth-child(2) { width:56px; font-size:.7em; }
  #t2-owner td:nth-child(3), #t2-owner th:nth-child(3) { width:46px; }
  #t2-owner td:nth-child(3) select { width:100%; min-width:0; padding:5px 2px; font-size:.85em; }
  #t2-owner td:nth-child(5), #t2-owner th:nth-child(5) { width:28px; padding-left:2px; padding-right:2px; }
  /* ٹیبل 2 خسرہ جات (خسرہ جات – ونڈا الاٹمنٹ): ونڈا نمبر تنگ، ✕ تنگ */
  #t2-khasra td:nth-child(3), #t2-khasra th:nth-child(3) { width:46px; }
  #t2-khasra td:nth-child(3) select { width:100%; min-width:0; padding:5px 2px; font-size:.85em; }
  #t2-khasra td:nth-child(5), #t2-khasra th:nth-child(5) { width:28px; padding-left:2px; padding-right:2px; }

  /* نقشہ ج: مالکان اور خسرہ جات اوپر نیچے */
  .wp-split { flex-direction:column; gap:12px !important; }
  .wp-split > div { width:100% !important; min-width:0 !important; flex:1 1 auto !important; }

  /* موبائل پر کالم نمبروں والی قطار چھپائیں */
  #naqsha-numrow, #naqshab-numrow { display:none; }

  /* نقشہ الف: ڈیٹا کالم 2 تا 8 چھپائیں (نام + قبضہ/کمی/بیشی رہیں) */
  #naqsha-alif tbody td:nth-child(2), #naqsha-alif tbody td:nth-child(3), #naqsha-alif tbody td:nth-child(4),
  #naqsha-alif tbody td:nth-child(5), #naqsha-alif tbody td:nth-child(6), #naqsha-alif tbody td:nth-child(7),
  #naqsha-alif tbody td:nth-child(8),
  #naqsha-alif thead tr:nth-child(2) th:nth-child(2), #naqsha-alif thead tr:nth-child(2) th:nth-child(3), #naqsha-alif thead tr:nth-child(2) th:nth-child(4),
  #naqsha-alif thead tr:last-child th:nth-child(1), #naqsha-alif thead tr:last-child th:nth-child(2),
  #naqsha-alif thead tr:last-child th:nth-child(3), #naqsha-alif thead tr:last-child th:nth-child(4),
  #naqsha-alif thead tr:last-child th:nth-child(5), #naqsha-alif thead tr:last-child th:nth-child(6) { display:none; }

  /* نقشہ ب: ڈیٹا کالم 2 تا 8 چھپائیں (نام + کیفیت رہیں) */
  #naqsha-ba tbody td:nth-child(2), #naqsha-ba tbody td:nth-child(3), #naqsha-ba tbody td:nth-child(4),
  #naqsha-ba tbody td:nth-child(5), #naqsha-ba tbody td:nth-child(6), #naqsha-ba tbody td:nth-child(7),
  #naqsha-ba tbody td:nth-child(8),
  #naqsha-ba thead tr:nth-child(2) th:nth-child(2), #naqsha-ba thead tr:nth-child(2) th:nth-child(3), #naqsha-ba thead tr:nth-child(2) th:nth-child(4),
  #naqsha-ba thead tr:last-child th:nth-child(1), #naqsha-ba thead tr:last-child th:nth-child(2),
  #naqsha-ba thead tr:last-child th:nth-child(3), #naqsha-ba thead tr:last-child th:nth-child(4),
  #naqsha-ba thead tr:last-child th:nth-child(5), #naqsha-ba thead tr:last-child th:nth-child(6) { display:none; }

  /* تتیمہ: استخراج رقبہ کالم (7) چھپائیں */
  #tatima tbody td:nth-child(7), #tatima thead tr:first-child th:nth-child(3) { display:none; }

  /* ایکشن بار + ڈیش بار: بٹن پوری چوڑائی، اوپر نیچے */
  .action-bar { flex-direction:column; align-items:stretch; }
  .action-bar .btn { width:100%; }
  .dash-bar { flex-direction:column; align-items:stretch; }
  .dash-bar .btn { width:100%; }
  .wanda-count-bar { flex-wrap:wrap; }

  /* پلان کارڈ اوپر نیچے */
  .plan-row { flex-direction:column; }

  /* ماڈلز پوری اسکرین (موبائل) */
  .kh-modal { max-width:100vw !important; width:100vw !important; height:100vh; max-height:100vh; border-radius:0 !important; overflow-y:auto; padding:20px 16px; }
  .dialog-box { max-width:94vw !important; width:94vw; max-height:90vh; overflow-y:auto; }

  /* مینو پوری اسکرین (موبائل) */
  .app-menu { position:fixed !important; inset:0 !important; left:0; right:0; top:0; min-width:0; width:100vw; height:100vh; border-radius:0; padding:16px; display:none; box-shadow:none; }
  .app-menu.open { display:flex !important; flex-direction:column; justify-content:center; gap:6px; }
  .app-menu button { font-size:19px; padding:18px 16px; justify-content:center; }
  .app-menu .menu-ico { font-size:21px; }

  /* عکس شجرہ/ترمیمی: موبائل پر بھی کینوس (iframe) دکھائیں، نوٹ چھپا دیں */
  /* touch-action:none نہ ہو تو براؤزر خود پورے صفحے کو pinch سے zoom کر دیتا ہے (سب کچھ
     بشمول متن یکساں بڑا/چھوٹا ہوتا محسوس ہوتا ہے) — کینوس کا اپنا اندرونی pinch-zoom اس سے ٹکراتا ہے */
  .canvas-frame { display:block !important; height:78vh !important; touch-action:none; }
  .mobile-canvas-note { display:none !important; }

  /* ڈیش بورڈ: صرف ٹیبل دائیں/بائیں سکرول، باقی صفحہ اوپر/نیچے */
  #kh-list { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .kh-list-table { min-width:640px; }

  /* ڈیش بورڈ ٹیبل کمپیکٹ */
  .kh-list-table th, .kh-list-table td { font-size:.78em; padding:6px 5px; }
  .kh-mini { padding:5px 8px; font-size:.75em; }
  /* سائل کالم: نام ایک ہی سطر میں (زیادہ قطاریں نہ بنیں) */
  .kh-sayel { white-space:nowrap; min-width:150px; max-width:230px; overflow:hidden; text-overflow:ellipsis; }
}
@media (max-width:480px) {
  header h1 { font-size:.82em; }
  .tab-btn { padding:9px 10px; font-size:.8em; }
  th, td { font-size:.75em; padding:5px 5px; }
}
#naqsha-ba tbody td { vertical-align: top; }
/* ===== ڈیش بورڈ / موڈ ٹوگل ===== */
#dashboard-screen{display:none;}
body.mode-dash #dashboard-screen{display:block;}
body.mode-dash > .sticky-top, body.mode-dash > .tab-content{display:none!important;}
#dash-back{display:none;}
body.mode-app #dash-back{display:inline-block;}
/* ===== صرف عکس شجرہ موڈ: باقی تمام ٹیبز چھپے ===== */
body.aks-only .tabs .tab-btn{display:none!important;}
body.aks-only .tabs .tab-btn.aks-tab-btn{display:inline-block!important;}
/* "مالکان اراضی" ٹیب صرف عکس شجرہ بندوبستی (band-mode) میں — سادہ عکس شجرہ ریکارڈ میں نہیں */
body.aks-only:not(.band-mode) .tabs .tab-btn.band-owner-tab-btn{display:none!important;}
body.aks-only #dash-card-title{color:#b45309;}
/* مالکان اراضی: جو خسرہ عکس شجرہ پر ٹیگ نہ ملے وہ نمایاں */
#band-khasra tr.band-kh-missing{background:#fef2f2;}
#band-khasra tr.band-kh-missing td{color:#991b1b;}

/* 🏠 ہوم پیج کا نقشہ — ضلع/تحصیل/موضع بار (صرف body.home-map-view میں نظر آئے) */
.home-map-bar{display:none;gap:10px;flex-wrap:wrap;align-items:center;padding:8px 24px;border-top:1px solid var(--border);background:var(--slate-50);}
.home-map-bar select, .home-map-bar input{padding:5px 8px;border:1px solid var(--border);border-radius:8px;font-size:.85em;background:#fff;}
.home-map-bar input{flex:1 1 160px;min-width:140px;}
body.home-map-view #home-map-bar{display:flex;}
/* مالک اراضی/قابض سرچ کے نیچے تجویزی نام (autocomplete-style) ڈراپ ڈاؤن */
.hs-field{position:relative;flex:1 1 160px;min-width:140px;}
.hs-field input{width:100%;box-sizing:border-box;}
.hs-sugg{display:none;position:absolute;top:calc(100% + 4px);right:0;left:0;background:#fff;border:1px solid var(--border);border-radius:8px;max-height:220px;overflow-y:auto;box-shadow:var(--shadow-sm);z-index:80;}
.hs-sugg.show{display:block;}
.hs-sugg-item{padding:7px 10px;font-size:.85em;cursor:pointer;border-bottom:1px solid var(--slate-100);}
.hs-sugg-item:last-child{border-bottom:none;}
.hs-sugg-item:hover{background:var(--slate-50);}
/* 🗺 لیئر ٹوگل (ریونیو/اربن) + کرم/فٹ — #home-map-bar ہی کے اندر ایک الگ سیکشن، صرف ریکارڈ کھلا ہو تب نظر آئے */
.home-layer-section{display:none;gap:12px;align-items:center;padding-inline-start:12px;border-inline-start:1px solid var(--border-strong);}
body.home-map-view.has-khewat .home-layer-section{display:flex;}
.home-layer-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:7px;overflow:hidden;}
.hlb-btn{border:none;background:#fff;padding:6px 12px;font-size:.85em;font-weight:700;cursor:pointer;color:var(--muted);font-family:inherit;}
.hlb-btn.on{background:var(--green);color:#fff;}
.home-layer-unit{display:flex;gap:0;border:1px solid var(--border);border-radius:7px;overflow:hidden;}
.hlu-opt{display:flex;align-items:center;gap:3px;font-size:.8em;font-weight:600;color:var(--muted);padding:6px 10px;cursor:pointer;}
.hlu-opt:first-child{border-inline-end:1px solid var(--border);}
.hlu-opt input[type=radio]{display:none;}
.hlu-opt:has(input:checked){background:var(--green);color:#fff;}
/* موضع کے اندر سرچ بار — صرف کوئی ریکارڈ کھلا ہو تب (خالی ہوم پیج میں نہیں)۔
   ریونیو لیئر میں خسرہ/مالک/قابض سرچ، اربن لیئر میں پلاٹ سرچ — ایک وقت میں صرف ایک، تاکہ نقشے کی جگہ بچے۔ */
body.home-map-view.has-khewat:not(.urban-active) #home-search-bar{display:flex;}
body.home-map-view.has-khewat.urban-active #home-urban-search-bar{display:flex;}
/* 🏠 خالی ہوم پیج — ابھی کوئی موضع نہیں کھلا (Preview Mode میں ڈیفالٹ سیٹ نہ ہو) */
#home-empty-state{display:none;}
body.home-map-view:not(.has-khewat) #home-empty-state{
  display:flex;align-items:center;justify-content:center;min-height:50vh;
  color:#64748b;font-size:1.15em;text-align:center;padding:40px 20px;
}
body.home-map-view:not(.has-khewat) .tabs, body.home-map-view:not(.has-khewat) .tab-content{display:none!important;}
body.preview-mode #home-dash-btn{display:none;}   /* Preview Mode میں ڈیش بورڈ تک رسائی نہ ہو */

/* 🖥 فل سکرین موڈ — ٹائیٹل بار/ٹیب بار غائب، تمام بارز نقشے کے اوپر تیرتی overlay بن جاتی ہیں تاکہ نقشہ پوری سکرین لے۔
   موبائل پر (فل سکرین کے بغیر) بارز عام flow میں رہتی ہیں (نیچے @media میں) — دیکھیں وہاں کا نوٹ۔ */
body.aks-fullscreen .sticky-top{display:none!important;}
body.aks-fullscreen #home-bars-wrap{
  position:fixed;top:10px;left:10px;right:10px;z-index:90;
  display:flex;flex-direction:column;gap:8px;max-width:640px;margin-inline:auto;max-height:90vh;overflow-y:auto;
}
body.aks-fullscreen #home-bars-wrap .home-map-bar{
  border-radius:12px;border:1px solid var(--border);border-top:1px solid var(--border);
  box-shadow:var(--shadow-md);background:rgba(255,255,255,.97);
}
@media (max-width:900px){
  /* بارز کو نقشے پر تیرتی fixed overlay بنانے کی بجائے عام flow میں (compact) رکھیں — fixed انداز میں یہ
     sticky ہیڈر کے پیچھے (چونکہ top:8px، جبکہ ہیڈر+ٹیبز اُس سے اونچے ہیں) چھپ جاتی تھیں، ضلع/تحصیل/موضع سلیکٹر
     کبھی نظر ہی نہ آتا؛ اور ٹیب بدلنے پر دوسرے ٹیبز کا اپنا مواد بھی مکمل ڈھانپ لیتی تھیں۔ عام flow میں نقشہ تھوڑا
     نیچے کھسکتا ہے (fitAksFrame() خودکار ایڈجسٹ کرتا ہے) مگر بارز ہمیشہ نظر آتی اور قابلِ استعمال رہتی ہیں —
     فل سکرین موڈ اس سے مستثنیٰ ہے (وہاں ہیڈر خود ہی مکمل چھپا دیا جاتا ہے، اوپر والا body.aks-fullscreen اصول برقرار) */
  body.home-map-view:not(.aks-fullscreen) #home-bars-wrap{ position:static; }
  /* دوسرے ٹیبز پر: نقشے سے مخصوص کنٹرولز (لیئر/یونٹ ٹوگل، خسرہ/مالک/خانہ کاشت/پلاٹ سرچ، فل سکرین) مکمل چھپا دیں —
     صرف ضلع/تحصیل/موضع سلیکٹر عام flow میں (compact) باقی رہے، نہ کچھ ڈھکے نہ جگہ ضائع ہو */
  body.home-map-view:not(.aks-active) .home-layer-section,
  body.home-map-view:not(.aks-active) #home-search-bar,
  body.home-map-view:not(.aks-active) #home-urban-search-bar,
  body.home-map-view:not(.aks-active) #home-fullscreen-btn{
    display:none!important;
  }
  /* موبائل: تمام ہوم بارز کا مواد گنجان — ضلع/تحصیل/موضع تینوں ایک ہی قطار میں فٹ ہو جائیں */
  body.home-map-view .home-map-bar{padding:6px 8px;gap:5px;}
  body.home-map-view .home-map-bar select, body.home-map-view .home-map-bar input{
    font-size:.76em;padding:5px 5px;min-width:0;
  }
  body.home-map-view #home-map-bar select{flex:1 1 0;}
  body.home-map-view #home-dash-btn, body.home-map-view #home-fullscreen-btn{font-size:.76em;padding:5px 7px;white-space:nowrap;flex:0 0 auto;}
  body.home-map-view .home-layer-section{padding-inline-start:6px;gap:6px;}
  body.home-map-view .hlb-btn{padding:5px 8px;font-size:.78em;}
  body.home-map-view .hlu-opt{padding:5px 7px;font-size:.74em;}
  body.home-map-view #home-search-bar .hs-field, body.home-map-view #home-search-bar input,
  body.home-map-view #home-urban-search-bar select{min-width:0;flex:1 1 130px;}
}

/* ===== پیش منظر موڈ (Preview Mode) — home-map-view میں بھی وہی sidebar reuse ہوتا ہے ===== */
/* iframe (82vh) کے ساتھ سائیڈ بار خود سکرول کرے — body.aks-active صفحے کا اپنا سکرول لاک کر دیتا ہے
   (overflow:hidden;height:100vh)، اس لیے کارڈز لمبے ہوں تو یہیں سکرول ہونا ضروری ہے ورنہ ڈیٹا ونڈو سے نیچے
   جا کر ناقابلِ رسائی ہو جاتا ہے */
#preview-cards{display:none;flex:0 0 280px;width:280px;max-height:82vh;overflow-y:auto;}
/* pv-open (خسرہ منتخب یا سرچ نتیجہ موجود) نہ ہو تو سائیڈ بار مکمل چھپا رہے — نقشے کو پوری جگہ ملے */
body.preview-mode.pv-open #preview-cards, body.home-map-view.pv-open #preview-cards{display:block;}
@media (max-width:900px){ #preview-cards{flex:1 1 100%;width:100%;} body.preview-mode #tab6-wrap, body.home-map-view #tab6-wrap{flex-wrap:wrap;} }
.pv-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-sm);}
.pv-card h3{margin:0 0 10px;color:#15803d;font-size:15px;}
/* کارڈ کا مواد لمبا ہو جائے تو اندر ہی سکرول ہو (صفحہ لامحدود لمبا نہ ہو) */
.pv-body{max-height:38vh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.pv-row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--slate-100);font-size:13.5px;}
.pv-row:last-child{border-bottom:none;}
.pv-row>span{color:#64748b;}
.pv-row>b{color:var(--text);}
.pv-sub{font-size:13px;padding:4px 0;color:#334155;border-bottom:1px dashed var(--slate-100);}
.pv-sub:last-child{border-bottom:none;}
/* خانہ کاشت سرچ سمری: کھیوٹ سرہا، اُس کے نیچے دائیں طرف انڈینٹ شدہ کھتونی گروپ (ہر ایک کے اپنے خسرہ نمبر) */
.pv-khewat{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--slate-100);}
.pv-khewat:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0;}
.pv-khewat>.pv-row{font-weight:600;border-bottom:none;}
.pv-khatoni{margin:2px 0 0;padding:2px 10px 2px 0;border-right:2px solid #a7f3d0;}
.pv-khatoni>.pv-row{color:#0f766e;font-weight:600;}
.pv-khatoni .pv-row{font-size:13px;padding:3px 0;}
/* موبائل: خسرہ منتخب ہوتے ہی کارڈز نیچے سے سلائیڈ ہو کر سامنے آئیں (پورے صفحے کو سکرول کرنے کی ضرورت نہ رہے) */
.pv-close-btn{display:none;}
@media (max-width:900px){
  body.preview-mode #preview-cards, body.home-map-view #preview-cards{
    position:fixed; left:0; right:0; bottom:0; z-index:50; width:100%; flex:none;
    max-height:52vh; overflow-y:auto; -webkit-overflow-scrolling:touch;
    background:#f8fafc; border-radius:16px 16px 0 0; box-shadow:0 -8px 24px rgba(0,0,0,.18);
    padding:14px 16px calc(14px + env(safe-area-inset-bottom));
    transform:translateY(115%); transition:transform .25s ease;
  }
  body.preview-mode.pv-open #preview-cards, body.home-map-view.pv-open #preview-cards{ transform:translateY(0); }
  body.preview-mode .pv-close-btn, body.home-map-view .pv-close-btn{
    display:block; position:sticky; top:0; float:left; margin:-2px -2px 8px 0;
    width:30px; height:30px; border-radius:50%; border:none; background:#e2e8f0; color:#334155;
    font-size:15px; line-height:30px; text-align:center; cursor:pointer; z-index:1;
  }
  .pv-body{max-height:none;overflow-y:visible;}
}
/* تقسیمِ کھیوٹ سے مخصوص ٹیبز (مالکان اراضی/خانہ کاشت) میں پیش منظر موڈ کے دوران کوئی ان پٹ ممکن نہ ہو —
   سوائے کھیوٹ منتخب کرنے والی لسٹ کے (وہ محض نیویگیشن ہے، ڈیٹا میں تبدیلی نہیں) */
body.preview-mode #tab8 input, body.preview-mode #tab8 textarea, body.preview-mode #tab8 select:not(#band-kh-select),
body.preview-mode #tab9 input, body.preview-mode #tab9 textarea, body.preview-mode #tab9 select:not(#kasht-kh-select),
body.preview-mode #tab11 input, body.preview-mode #tab11 textarea, body.preview-mode #tab11 select{
  pointer-events:none!important; background:#f8fafc!important;
}
body.preview-mode #tab8 button, body.preview-mode #tab9 button, body.preview-mode #tab11 button{
  pointer-events:none!important; opacity:.45!important; cursor:not-allowed!important;
}
.dash-wrap{max-width:1100px;margin:0 auto;padding:18px 16px 60px;}
.dash-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.dash-note{font-size:13px;color:#64748b;margin:4px 2px 12px;}
.sub-bar{border-radius:10px;padding:10px 14px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sub-bar.ok{background:#dcfce7;color:#166534;border:1px solid #86efac}
.sub-bar.warn{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}
.sub-bar.admin{background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd}
.admin-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.paste-tabs{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.paste-tab{font-family:var(--font);cursor:pointer;border:1px solid var(--border-strong);background:#f8fafc;color:#334155;border-radius:8px 8px 0 0;padding:7px 18px;font-size:14px;font-weight:700}
.paste-tab.on{background:#15803d;color:#fff;border-color:#15803d}
.paste-grid-wrap{max-height:54vh;overflow:auto;border:1px solid var(--border-strong);border-radius:8px;background:#fff}
table.paste-grid{border-collapse:collapse;direction:rtl;font-family:Arial,'Noto Naskh Arabic',sans-serif;font-size:13px;table-layout:fixed;width:max-content;min-width:100%}
table.paste-grid th{background:#1e6b3a;color:#fff;border:1px solid #14532d;padding:6px 8px;font-weight:700;white-space:nowrap;position:sticky;top:0;z-index:2;text-align:center;font-size:12.5px;cursor:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiI+PHBhdGggZD0iTTExIDIgTDExIDEyIE02IDkgTDExIDE0IEwxNiA5IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTExIDIgTDExIDEyIE02IDkgTDExIDE0IEwxNiA5IiBmaWxsPSJub25lIiBzdHJva2U9IiMxMTEiIHN0cm9rZS13aWR0aD0iMi42IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=') 11 11, pointer;}
table.paste-grid th.corner{background:#0f3d23;width:42px;min-width:42px;position:sticky;right:0;z-index:3;cursor:default}
table.paste-grid td{border:1px solid #cbd5e1;padding:4px 7px;min-width:96px;max-width:230px;height:26px;vertical-align:top;direction:rtl;overflow:hidden;white-space:nowrap}
table.paste-grid td.rownum{background:#eef2f7;color:#64748b;text-align:center;font-weight:700;min-width:42px;width:42px;position:sticky;right:0;z-index:1;white-space:nowrap;cursor:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiI+PHBhdGggZD0iTTIwIDExIEw5IDExIE0xMyA2IEw4IDExIEwxMyAxNiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0yMCAxMSBMOSAxMSBNMTMgNiBMOCAxMSBMMTMgMTYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzExMSIgc3Ryb2tlLXdpZHRoPSIyLjYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==') 11 11, pointer;}
table.paste-grid td.psel{background:#bfdbfe !important}
table.paste-grid td.col-ltr{direction:ltr;text-align:center}
.paste-grid .sort-btn{display:inline-block;margin-inline-start:6px;background:rgba(255,255,255,.22);border-radius:5px;padding:0 5px;font-size:12px;cursor:pointer;font-weight:700;line-height:1.5}
.paste-grid .sort-btn:hover{background:rgba(255,255,255,.45)}
table.paste-grid th.psel{background:#2563eb !important}
table.paste-grid td.rownum.psel{background:#93c5fd !important;color:#0f172a}
table.paste-grid td[contenteditable]:focus{outline:2px solid #15803d;outline-offset:-2px;background:#f0fdf4;white-space:normal}
.admin-tab{font-family:var(--font);cursor:pointer;border:1px solid var(--border-strong);background:#f8fafc;color:#334155;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:700}
.admin-tab.on{background:#15803d;color:#fff;border-color:#15803d}
.sub-bar.trial{background:#0f172a;color:#fff;border:1px solid #1e293b}
.sub-bar.trial .trial-tag{font-weight:800;color:#fbbf24;font-size:14px;white-space:nowrap}
.sub-bar.trial .trial-clock{font-family:'Courier New',monospace;font-weight:800;font-size:22px;letter-spacing:1px;color:#34d399;background:#020617;border:1px solid #1e293b;border-radius:8px;padding:4px 12px;min-width:118px;text-align:center}
.plan-row{display:flex;gap:10px;margin-bottom:10px}
.plan-card{flex:1;border:2px solid #e2e8f0;border-radius:12px;padding:12px 8px;text-align:center;cursor:pointer;transition:.15s;background:#fff}
.plan-card:hover{border-color:#86efac}
.plan-card.on{border-color:#16a34a;background:#f0fdf4;box-shadow:0 0 0 3px #dcfce7}
.plan-name{font-weight:700;color:#334155;margin-bottom:4px}
.plan-price{font-size:22px;font-weight:800;color:#15803d}
.plan-price span{font-size:12px;font-weight:600;color:#64748b;margin-inline-start:3px}
/* ہیمبرگر مینو */
.menu-btn{background:#fff;border:1px solid var(--border);border-radius:10px;min-width:44px;height:40px;font-size:19px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#15803d;transition:.15s;margin-inline-start:auto}
.menu-btn:hover{background:#f0fdf4;border-color:#86efac}
.app-menu{position:fixed;top:58px;left:14px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 14px 36px rgba(2,6,23,.18);padding:7px;min-width:210px;z-index:9500;display:none;animation:menuPop .12s ease}
@keyframes menuPop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.app-menu.open{display:block}
.app-menu button{display:flex;align-items:center;gap:11px;width:100%;background:none;border:none;text-align:start;font:inherit;font-size:15px;padding:11px 14px;border-radius:9px;cursor:pointer;color:#334155}
.app-menu button:hover{background:#f1f5f9}
.app-menu button.danger{color:#b91c1c}
.app-menu button.danger:hover{background:#fef2f2}
.app-menu .sep{height:1px;background:var(--border);margin:5px 10px}
.menu-ico{font-size:17px;width:22px;text-align:center}
/* پروفائل */
.pf-row{margin-bottom:14px}
.pf-row label{display:block;font-size:13px;color:#64748b;margin-bottom:5px;font-weight:600}
.pf-row input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:10px;font:inherit;direction:ltr;background:#fff}
.pf-row input:disabled{background:#f1f5f9;color:#64748b}
.pf-msg{font-size:13px;min-height:18px;margin-top:2px}
.mobile-canvas-note{display:none;align-items:center;justify-content:center;text-align:center;min-height:60vh;padding:30px 22px;font-size:18px;font-weight:700;line-height:2.2;color:#15803d;background:#f0fdf4;border:2px dashed #86efac;border-radius:14px;}
body:not(.diamond) .diamond-only{ display:none!important; }
.pd-brow{ display:grid; grid-template-columns:18px 1fr 132px; align-items:center; gap:10px; cursor:pointer; padding:6px 0; }
.pd-brow > span{ white-space:nowrap; }
.pd-brow input[type=radio]{ margin:0; justify-self:center; }
.pd-brow select{ padding:5px 7px; border:1px solid var(--border); border-radius:6px; width:100%; font-family:inherit; }
.pd-brow #pd-band-selcount{ color:#64748b; font-size:.82em; text-align:left; white-space:normal; line-height:1.6; }
.kh-list-table{width:100%;border-collapse:collapse;}
.kh-list-table th,.kh-list-table td{padding:9px 10px;border-bottom:1px solid #e5e7eb;text-align:center;font-size:14px;}
.kh-list-table th{background:#f0fdf4;color:#15803d;font-weight:700;}
.kh-list-table tr:hover td{background:#f8fafc;}
.kh-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;}
.kh-badge.done{background:#dcfce7;color:#15803d;}
.kh-badge.wip{background:#fef9c3;color:#a16207;}
.kh-empty{text-align:center;color:#94a3b8;padding:28px;font-size:14px;}
.kh-modal-ov{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:9000;padding:16px;}
.kh-modal{background:#fff;border-radius:16px;padding:24px;width:min(420px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.kh-modal-title{font-size:18px;font-weight:800;color:#15803d;margin-bottom:14px;text-align:center;}
.kh-mini{font-size:.8em;padding:5px 11px;}
