*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Tahoma,Segoe UI,sans-serif;background:#0b1220;color:#e5eef7;direction:rtl}
.layout{display:flex;min-height:100vh}
.sidebar{width:240px;background:linear-gradient(180deg,#0f2744,#123552);padding:18px 12px;flex-shrink:0;border-left:1px solid #1e3a5f;transition:transform .25s ease}
.brand{text-align:center;margin-bottom:22px;padding:8px}
.brand-title{font-size:18px;font-weight:bold;color:#7dd3fc}
.brand-sub{font-size:12px;color:#94a3b8;margin-top:6px}
.nav-item{display:block;color:#dbeafe;text-decoration:none;padding:11px 12px;border-radius:10px;margin-bottom:5px;font-size:13px}
.nav-item:hover,.nav-item:active{background:#1d4f7a}
.nav-item.danger{color:#fca5a5;margin-top:14px}
.content{flex:1;display:flex;flex-direction:column;background:#0f172a;min-width:0}
.topbar{background:#111827;padding:14px 20px;border-bottom:1px solid #1f2937;display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:0;z-index:50}
.topbar h1{margin:0;font-size:17px;color:#e2e8f0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-date{color:#93c5fd;font-size:13px;flex-shrink:0}
.menu-toggle{display:none;background:#0369a1;border:none;color:#fff;border-radius:8px;padding:8px 12px;font-size:18px;cursor:pointer;line-height:1;flex-shrink:0}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:90}
.page-body{padding:18px}
.card{background:#111827;border:1px solid #1f2937;border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.card h2{margin:0 0 12px;font-size:15px;color:#7dd3fc}
.card.green{background:#0b2a24;border-color:#14532d}
.card.green h2{color:#86efac}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:block;font-size:12px;color:#94a3b8;margin-bottom:4px}
input,select,textarea{width:100%;padding:10px;border:1px solid #334155;border-radius:8px;background:#0b1220;color:#e2e8f0;font-family:Tahoma;font-size:16px;max-width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:#38bdf8}
.btn{display:inline-block;border:none;border-radius:8px;padding:10px 14px;background:#0369a1;color:#fff;cursor:pointer;font-family:Tahoma;font-size:13px;text-decoration:none;white-space:nowrap}
.btn:hover{background:#0284c7}
.btn.green{background:#047857}.btn.red{background:#b91c1c}.btn.gray{background:#475569}.btn.orange{background:#c2410c}
.btn-block{width:100%;margin-top:12px}
.table-wrap,.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{padding:10px 11px;border-bottom:1px solid #1f2937;text-align:right;font-size:12.5px;vertical-align:middle}
th{background:#1e293b;color:#cbd5e1;position:sticky;top:0}
tr:hover td{background:#152033}
table input,table select{font-size:14px;padding:6px 8px;min-width:0}
table .btn{padding:6px 10px;font-size:12px}
.alert{padding:11px 13px;border-radius:10px;margin-bottom:12px;font-size:13px}
.alert.success{background:#052e1a;color:#86efac;border:1px solid #166534}
.alert.error{background:#3f0d0d;color:#fca5a5;border:1px solid #7f1d1d}
.actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.muted{color:#94a3b8;font-size:12px}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#1e3a5f;color:#7dd3fc;font-size:11px}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#1e3a5f,#0b1220 55%);padding:16px}
.login-card{width:100%;max-width:400px;background:#111827;border:1px solid #1f2937;border-radius:18px;padding:28px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.login-logo{text-align:center;font-size:22px;font-weight:bold;color:#7dd3fc}
.login-sub{text-align:center;color:#94a3b8;margin:8px 0 18px;font-size:13px}
.login-hint{text-align:center;color:#64748b;font-size:12px;margin-top:16px}
.suggest-box{position:relative}
.suggest-list{position:absolute;z-index:20;left:0;right:0;background:#0b1220;border:1px solid #334155;border-radius:8px;max-height:180px;overflow:auto;display:none}
.suggest-list div{padding:8px 10px;cursor:pointer;font-size:13px}
.suggest-list div:hover{background:#1e293b}

/* جستجو */
#searchResults,#pSearchResults,#bSearchResults{background:#bfdbfe!important;color:#000!important;border-color:#2563eb!important}
#searchResults .search-item,.search-item,#pSearchResults .search-item,#bSearchResults .search-item{background:#bfdbfe!important;color:#000!important}
#searchResults .search-item:hover,.search-item:hover{background:#93c5fd!important;color:#000!important}
#searchResults strong,.search-item strong,#searchResults div,.search-item div{color:#000!important}
#itemSearch,#pItemSearch,#bItemSearch{background:#dbeafe!important;color:#000!important;border-color:#2563eb!important;font-size:16px}

/* تبلت */
@media (max-width:1024px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .page-body{padding:14px}
}

/* موبایل */
@media (max-width:768px){
  .layout{flex-direction:column}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .sidebar{
    position:fixed;top:0;right:0;bottom:0;width:min(280px,85vw);z-index:100;
    transform:translateX(105%);overflow-y:auto;-webkit-overflow-scrolling:touch;
    box-shadow:-8px 0 24px rgba(0,0,0,.4)
  }
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.show{display:block}
  .brand{margin-bottom:12px;padding-top:12px}
  .nav-item{padding:13px 14px;font-size:14px;margin-bottom:4px}
  .topbar{padding:10px 12px}
  .topbar h1{font-size:15px}
  .topbar-date{font-size:11px}
  .page-body{padding:10px}
  .card{padding:12px;border-radius:12px;margin-bottom:10px}
  .card h2{font-size:14px;margin-bottom:10px}
  .grid-3,.grid-2{grid-template-columns:1fr;gap:10px}
  label{font-size:13px}
  input,select,textarea{padding:12px;font-size:16px;border-radius:10px}
  .btn{padding:11px 14px;font-size:13px;border-radius:10px}
  .actions{gap:6px}
  .actions .btn{flex:1 1 auto;text-align:center;min-width:calc(50% - 6px)}
  table{min-width:560px;font-size:12px}
  th,td{padding:8px 6px;font-size:12px}
  table input,table select{font-size:14px;padding:8px 6px}
  table .btn{padding:8px 10px;font-size:12px;margin:2px 0}
  .badge{font-size:11px;padding:3px 8px}
  .muted{font-size:11px}
  .alert{font-size:13px;padding:12px}
  /* اسکرول افقی جداول واضح‌تر */
  .table-wrap,.table-scroll,div[style*="overflow-x"]{
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    border:1px solid #1f2937;border-radius:10px;padding:2px
  }
  /* کارت‌های سبز */
  .card.green{padding:12px}
}

/* موبایل خیلی کوچک */
@media (max-width:400px){
  .topbar h1{font-size:14px}
  .actions .btn{min-width:100%;flex:1 1 100%}
  table{min-width:480px}
  .btn{font-size:12px;padding:10px 12px}
}

/* جلوگیری از زوم ناخواسته روی iOS در فیلدها با font-size >= 16px در موبایل — قبلاً ست شد */
@supports (-webkit-touch-callout:none){
  @media (max-width:768px){
    input,select,textarea{font-size:16px}
  }
}

/* جستجوی زنده انتخاب شخص / محل */
.live-search-wrap{position:relative}
.live-search-input{width:100%}
.live-search-list{
  display:none;position:absolute;z-index:40;left:0;right:0;top:100%;
  max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:#bfdbfe;color:#000;border:1px solid #2563eb;border-radius:8px;
  box-shadow:0 10px 24px rgba(0,0,0,.35);margin-top:4px
}
.live-search-list .ls-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #93c5fd;font-size:13px;color:#000}
.live-search-list .ls-item:hover,.live-search-list .ls-item.active{background:#93c5fd}
.live-search-list .ls-empty{padding:12px;color:#334155;font-size:13px}
.table-filter{width:100%;max-width:520px;background:#dbeafe!important;color:#000!important;border-color:#2563eb!important;font-size:15px;padding:10px 12px}

/* اطمینان از نمایش دراپ‌دان */
.live-search-wrap{position:relative;z-index:30;overflow:visible!important}
.card:has(.live-search-wrap){overflow:visible!important}
.live-search-list{
  display:none;position:absolute;z-index:9999!important;left:0;right:0;top:calc(100% + 2px);
  max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:#bfdbfe!important;color:#000!important;border:2px solid #2563eb!important;border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.45)
}
.live-search-list.open{display:block!important}
.live-search-list .ls-item{padding:12px 14px;cursor:pointer;border-bottom:1px solid #60a5fa;font-size:14px;color:#000!important;background:#bfdbfe}
.live-search-list .ls-item:hover,.live-search-list .ls-item.active{background:#93c5fd!important}
.live-search-list .ls-empty{padding:14px;color:#1e3a5f;font-size:13px}
.live-search-input{background:#dbeafe!important;color:#000!important;border:2px solid #2563eb!important;font-size:16px!important}

/* جستجوی پرسنل و محل — متن مشکی روی زمینه آبی */
#empSearch, #locSearch, .live-search-input {
  background: #dbeafe !important;
  color: #000 !important;
  border: 2px solid #2563eb !important;
}
.live-search-list, .live-search-list .ls-item {
  background: #bfdbfe !important;
  color: #000 !important;
}
.live-search-list .ls-item:hover {
  background: #93c5fd !important;
  color: #000 !important;
}
table td strong { font-weight: 700; }

/* جستجوی زنده روی select */
.ss-wrap{position:relative;width:100%;z-index:20}
.ss-input{
  width:100%;box-sizing:border-box;
  background:#dbeafe!important;color:#000!important;
  border:2px solid #2563eb!important;border-radius:8px;
  padding:10px 12px;font-size:15px
}
.ss-list{
  display:none;position:absolute;z-index:9999;left:0;right:0;top:calc(100% + 2px);
  max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:#bfdbfe!important;color:#000!important;
  border:2px solid #2563eb;border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.4)
}
.ss-list.open{display:block!important}
.ss-item{padding:11px 12px;cursor:pointer;border-bottom:1px solid #93c5fd;color:#000!important;font-size:14px}
.ss-item:hover,.ss-item.active{background:#93c5fd!important}
.ss-empty{padding:12px;color:#1e3a5f;font-size:13px}
.card:has(.ss-wrap){overflow:visible!important}
.grid-3:has(.ss-wrap),.grid-2:has(.ss-wrap){overflow:visible!important}

/* جستجوی گزارش شخص/شاخه — همیشه فعال و قابل کلیک */
#empSearch, #locSearch, .live-search-input, input.live-search-input {
  pointer-events: auto !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  opacity: 1 !important;
  background: #dbeafe !important;
  color: #000 !important;
  border: 2px solid #2563eb !important;
  position: relative;
  z-index: 5;
}
.live-search-wrap, .live-search-wrap * {
  pointer-events: auto !important;
}
.live-search-list {
  pointer-events: auto !important;
  z-index: 10050 !important;
}
#empSelectFallback, #locSelectFallback {
  pointer-events: auto !important;
  background: #dbeafe !important;
  color: #000 !important;
  opacity: 1 !important;
}
.card .grid-3, .card .live-search-wrap {
  overflow: visible !important;
}
input[readonly] {
  cursor: default;
}


/* SEARCH FIX HARD */
#empSearchList.open, #locSearchList.open, .live-search-list.open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 99999 !important;
  pointer-events: auto !important;
  max-height: 320px !important;
  overflow-y: auto !important;
  background: #bfdbfe !important;
  color: #000 !important;
}
#empSearchList:not(.open), #locSearchList:not(.open) {
  display: none !important;
  visibility: hidden !important;
}
#empSearch, #locSearch {
  pointer-events: auto !important;
  background: #dbeafe !important;
  color: #000 !important;
}
