*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}
#save-error-banner{position:fixed;top:0;left:0;right:0;z-index:100065;background:#c0392b;color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 16px;font-size:13px;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.person-search-wrap{position:relative}
.person-search-popup{position:absolute;top:100%;right:0;left:0;z-index:400;background:#fff;border:1px solid #dfe4ea;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.18);max-height:280px;overflow-y:auto;margin-top:4px}
.person-search-popup .psp-hint{padding:7px 12px;font-size:11.5px;color:#8a94a3;border-bottom:1px solid #eef1f5}
.person-search-popup .psp-row{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;cursor:pointer;border-bottom:1px solid #f2f4f7}
.person-search-popup .psp-row:last-child{border-bottom:none}
.person-search-popup .psp-row:hover{background:#f0f4fa}
.person-search-popup .psp-row.psp-row-active{background:#dfeaff}
.person-search-popup .psp-name{font-weight:700;font-size:13px}
.person-search-popup .psp-meta{color:#8a94a3;font-size:11.5px}
#save-error-banner button{background:#fff;color:#c0392b;border:none;padding:4px 14px;border-radius:6px;cursor:pointer;font-weight:800;font-size:12px}
#new-version-banner{position:fixed;top:0;left:0;right:0;z-index:100064;background:#1e6f46;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.25)}
#new-version-banner button{border:none;padding:4px 14px;border-radius:6px;cursor:pointer;font-weight:800;font-size:12px}
#new-version-banner button:first-of-type{background:#fff;color:#1e6f46}
#new-version-dismiss{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6) !important}
body{background:#f4f7fc;display:flex;justify-content:center;padding:10px;min-height:100vh}
.app-container{max-width:1400px;width:100%;background:#fff;border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.1);padding:10px 16px}
.tab-bar{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid #e6edf5;margin-bottom:8px;padding-bottom:3px}
.tab-btn{background:transparent;border:none;padding:8px 11px;font-size:12px;font-weight:600;color:#4a5a6e;border-radius:24px;cursor:pointer;display:flex;align-items:center;gap:5px}
.tab-btn:hover{background:#eef3f9}
.tab-btn.active{background:#2a7de1;color:#fff}
.tab-content{display:none}.tab-content.active{display:block}
.sub-tab-bar{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap}
.sub-tab-btn{background:#eef3f9;border:none;padding:7px 12px;font-size:12px;font-weight:600;color:#4a5a6e;border-radius:16px;cursor:pointer;display:flex;align-items:center;gap:5px}
.sub-tab-btn:hover{background:#dce6f5}
.sub-tab-btn.active{background:#2a7de1;color:#fff}
.sub-tab-content{display:none !important}.sub-tab-content.active{display:block !important}
/* nested sub-tabs: اطمینان از نمایش داخل زیرتب والد */
.sub-tab-content.active .sub-tab-content{display:none !important}
.sub-tab-content.active .sub-tab-content.active{display:block !important}
.form-card{background:#f9fbfd;border-radius:12px;padding:12px 14px;margin-bottom:10px;border:1px solid #e2eaf2}
.form-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}
.form-group{flex:1 1 130px;min-width:110px}
.form-group label{display:block;font-size:11.5px;font-weight:600;color:#2c3e50;margin-bottom:2px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:7px 10px;border:1px solid #d0dae8;border-radius:9px;font-size:13px;background:#fff}
.form-group input:focus,.form-group select:focus{border-color:#2a7de1;outline:none}
.form-group input:disabled,.form-group select:disabled{background:#e9ecf3;cursor:not-allowed}
.btn{background:#2a7de1;color:#fff;border:none;padding:7px 13px;border-radius:22px;font-weight:600;font-size:12.5px;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.btn:hover{background:#1d66c4}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-success{background:#28a745}.btn-success:hover{background:#1e7e34}
.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800}
.btn-outline{background:#fff;color:#2a7de1;border:2px solid #2a7de1}
.btn-outline:hover{background:#eef5ff}
.btn-danger{background:#dc3545}.btn-danger:hover{background:#c82333}
.btn-dark{background:#343a40}.btn-dark:hover{background:#23272b}
.btn-purple{background:#6f42c1}.btn-purple:hover{background:#5a32a3}
.btn-excel{background:#1d6f42}.btn-excel:hover{background:#155c35}
.btn-logout{background:#dc3545;padding:7px 14px}
.btn-sm{padding:4px 9px;font-size:11.5px}
.table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid #e2eaf2;margin-bottom:10px}
table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:460px}
th{background:#eef3f9;color:#1e2b3c;font-weight:700;padding:8px 6px;text-align:right}
td{padding:7px 6px;border-top:1px solid #e6edf5}
tr:hover td{background:#f8faff}
.badge{padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}
.badge-active{background:#d4edda;color:#0d6e2b}
.badge-inactive{background:#f8d7da;color:#a11f2c}
.actions i{margin:0 3px;cursor:pointer;color:#5a6f84;font-size:14px}
.empty-state{text-align:center;padding:16px 6px;color:#7a8b9f}
.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.search-box input{padding:6px 11px;border-radius:22px;border:1px solid #d0dae8;min-width:160px;font-size:13px}
.photo-preview{width:56px;height:56px;border-radius:6px;object-fit:cover;border:2px solid #2a7de1;display:none}
.photo-thumb{width:32px;height:32px;border-radius:4px;object-fit:cover;border:1px solid #d0dae8}
.photo-placeholder{width:32px;height:32px;border-radius:4px;background:#e9ecf3;display:flex;align-items:center;justify-content:center;color:#7a8b9f;font-size:11px}
.photo-upload-area{display:flex;align-items:center;gap:8px}
#tab-attendance .form-card{padding:7px 12px;margin-bottom:0}
.att-layout{display:flex;gap:14px;align-items:stretch}
.att-left{flex:0 0 200px;display:flex;flex-direction:column;justify-content:flex-start;gap:10px;padding-top:4px}
.att-left .form-group{flex:0 0 auto}
.att-right{flex:1;min-width:0}
.attendance-photo-box{display:flex;flex-direction:row-reverse;align-items:center;gap:18px;background:linear-gradient(135deg,#e8f0fe,#f0f7ff);border-radius:12px;padding:16px 20px;border:1px solid #d0e3ff;height:100%;min-height:240px}
.attendance-photo{width:5.2cm;height:6.5cm;object-fit:cover;border-radius:8px;border:2px solid #2a7de1;flex-shrink:0;box-shadow:0 4px 12px rgba(42,125,225,.15)}
.attendance-photo-placeholder{width:5.2cm;height:6.5cm;border-radius:8px;background:#dce8f8;display:flex;align-items:center;justify-content:center;color:#2a7de1;font-size:42px;border:2px dashed #8bb4e8;flex-shrink:0}
.att-info-text{flex:1;text-align:right}
.att-info-text .name{font-size:20px;font-weight:800;color:#1e2b3c;margin-bottom:6px}
.att-info-text .details{color:#5a6f84;font-size:14px;line-height:1.8}
.att-info-text .details b{color:#1e2b3c;font-weight:700}
.info-box{background:#eef5ff;border-radius:10px;padding:8px 12px;margin:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;border:1px solid #d6e4f7}
.info-box-item{display:flex;align-items:center;gap:5px}
.info-box-item label{font-weight:700;color:#1e2b3c;margin:0;font-size:12px}

.highlight-green{background:#d4edda;padding:2px 8px;border-radius:14px;color:#0d6e2b;font-weight:700;font-size:11.5px}
.highlight-red{background:#f8d7da;padding:2px 8px;border-radius:14px;color:#721c24;font-weight:700;font-size:11.5px}
.highlight-gray{background:#e9ecf3;padding:2px 8px;border-radius:14px;color:#4a5a6e;font-weight:700;font-size:11.5px}
.blocked-box{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;margin:10px 0 0;color:#991b1b;display:none;font-size:13.5px}
.blocked-box .title{font-weight:800;font-size:15px;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.att-actions-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:0}
.att-actions-row .form-group{flex:1 1 100px;min-width:90px}
.att-actions-row .form-group label{font-size:11.5px}
.att-actions-row .form-group input,.att-actions-row .form-group select{padding:7px 10px;font-size:13px}
.att-actions-row .btn{white-space:nowrap;padding:9px 18px;font-size:13.5px}
.tools-box{background:#f7faff;border:1px solid #d6e4f7;border-radius:12px;padding:12px 16px;margin-bottom:12px}
.tools-box h3{font-size:13.5px;color:#1e2b3c;margin-bottom:8px;display:flex;align-items:center;gap:6px;font-weight:700}

.tools-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.file-status{margin-top:5px;font-size:11.5px;color:#6c757d;font-weight:600}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:5px;margin-top:6px}
.perm-item{display:flex;align-items:center;gap:5px;background:#fff;padding:5px 9px;border-radius:7px;border:1px solid #e2eaf2;font-size:11.5px;cursor:pointer}
.perm-item input{width:auto}
.perm-group{background:#f9fbfd;border:1px solid #e2eaf2;border-radius:10px;padding:8px 10px;margin-bottom:6px}
.perm-group-title{font-weight:700;color:#1e2b3c;font-size:12.5px;display:flex;align-items:center;gap:6px;margin-bottom:6px}
.perm-group-title input{width:auto}
.perm-subgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px;margin-right:20px}
.perm-subitem{display:flex;align-items:center;gap:5px;background:#fff;padding:4px 8px;border-radius:6px;border:1px solid #e6edf5;font-size:11px;cursor:pointer;color:#4a5a6e}
.perm-subitem input{width:auto}
.perm-extra-box{background:#fff;border:1px solid #e2eaf2;border-radius:10px;padding:8px 10px;margin-top:4px}
#login-screen{position:fixed;inset:0;background:linear-gradient(135deg,#1e3a5f,#2a7de1);display:flex;align-items:center;justify-content:center;z-index:9999}
.login-box{background:#fff;border-radius:16px;padding:28px 24px;width:100%;max-width:400px;box-shadow:0 16px 48px rgba(0,0,0,.3);text-align:center}
.login-box .logo-area{display:flex;justify-content:center;margin-bottom:12px}
.login-box .logo-area img{width:auto;max-width:100%;height:auto;max-height:120px;object-fit:contain;border-radius:8px}
.login-box h2{color:#1e2b3c;margin-bottom:3px;font-size:19px}
.login-box .sub-title{color:#5a6f84;font-size:12.5px;margin-bottom:14px}
.login-box .form-group{margin-bottom:10px;text-align:right}
.login-box .btn{width:100%;justify-content:center;padding:9px}
.login-error{color:#dc3545;text-align:center;margin-top:8px;font-size:12.5px;display:none}
.pass-wrap{position:relative}
.pass-wrap input{padding-left:34px}
.pass-toggle{position:absolute;left:9px;top:50%;transform:translateY(-50%);cursor:pointer;color:#7a8b9f;background:none;border:none;font-size:13px}
.company-header{background:linear-gradient(135deg,#1e3a5f,#2a7de1);border-radius:10px;margin-bottom:7px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;position:relative;padding:34px var(--header-banner-side-inset,15px) 0}
.company-header .logo-img{display:block;width:auto;max-width:100%;height:auto;max-height:var(--header-banner-max-height,95px);object-fit:contain;margin:0 auto;padding:0;border-radius:6px;background:none}
.company-header .company-name{font-size:16px;font-weight:800;margin:8px 0 1px}
.company-header .company-sub{font-size:11px;opacity:.9;margin-bottom:8px}
.header-user-overlay{position:absolute;top:var(--header-overlay-top,8px);left:var(--header-overlay-side-inset,12px);right:var(--header-overlay-side-inset,12px);display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:2}
.header-user-overlay .user-info{background:rgba(0,0,0,.35);padding:4px 12px;border-radius:14px;font-size:11.5px;color:#fff;font-weight:600}
.header-user-overlay .btn-logout{padding:5px 12px;font-size:12px}
#main-app{display:none}
.edit-search-box{background:#e8f0fe;border-radius:10px;padding:10px 12px;margin-bottom:10px;border:1px solid #d0e3ff}
.person-card{background:#f0f7ff;border-radius:8px;padding:8px 12px;margin:6px 0;border:1px solid #d0e3ff;display:none}
.export-btns{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.print-header{display:none;text-align:center;margin-bottom:12px;border-bottom:2px solid #333;padding-bottom:8px}
.print-header h2{font-size:15px;margin-bottom:3px}
.print-header .person-info{font-size:11.5px;line-height:1.65;margin-top:6px;text-align:right}
.status-card{background:#f0f7ff;border-radius:10px;padding:10px 12px;margin:6px 0;border:1px solid #d0e3ff}
.placeholder-box{background:#f9fbfd;border-radius:14px;padding:36px 20px;text-align:center;border:1px dashed #c5d4e5}
.placeholder-box i{font-size:40px;color:#2a7de1;opacity:.55}
.placeholder-box h3{margin:12px 0 6px;color:#1e2b3c;font-size:17px}
.placeholder-box p{color:#5f738b;line-height:1.65;max-width:440px;margin:0 auto;font-size:13px}
#generic-print-area{display:none}
/* IOHOLIDAY-20261123: روز تعطیل در گزارش تردد؛ بدون print-color-adjust مرورگر رنگ را در چاپ حذف می‌کند */
tr.io-holiday td{color:#c62828 !important;background:#fdecea !important;font-weight:600;-webkit-print-color-adjust:exact;print-color-adjust:exact}
@media print{body *{visibility:hidden}#print-area,#print-area *,#generic-print-area,#generic-print-area *{visibility:visible}#print-area,#generic-print-area{display:block;position:absolute;top:0;right:0;left:0;padding:14px}.print-header{display:block !important}.export-btns,.form-card,.sub-tab-bar,.tab-bar,.company-header{display:none !important}#generic-print-area .actions{display:none !important}}
@media(max-width:800px){.header-user-overlay{position:static;justify-content:space-between;margin-bottom:8px}.company-header{padding-top:10px}}



/* ===== بهبود ظاهر تب ثبت ورود/خروج ===== */
.att-main-card{padding:14px 16px;margin-bottom:14px;border:1px solid #d6e4f7;box-shadow:0 2px 8px rgba(30,58,95,.04)}
.att-section-title{font-size:14px;font-weight:800;color:#1e2b3c;margin-bottom:12px;display:flex;align-items:center;gap:7px;padding-bottom:8px;border-bottom:1px solid #e6edf5}
.att-section-title i{color:#2a7de1}
.att-hint{font-size:11px;color:#7a8b9f;background:#f0f5fb;border-radius:8px;padding:6px 9px;display:flex;align-items:center;gap:5px;line-height:1.4}
.att-hint i{color:#2a7de1}
.att-register-bar{margin-top:12px;padding-top:12px;border-top:1px solid #e6edf5;display:flex;flex-direction:column;gap:10px}
.att-main-btn{min-width:110px;justify-content:center;font-weight:700}

.att-code-badge{display:inline-block;background:#e8f0fe;color:#1e4a8a;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:10px}
.att-detail-row{display:flex;gap:8px;align-items:baseline;margin-bottom:4px}
.att-detail-label{flex:0 0 72px;color:#7a8b9f;font-size:12.5px;font-weight:600}
.att-detail-val{color:#1e2b3c;font-size:14px;font-weight:700}

.att-panel-placeholder{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7faff;border:1px dashed #c5d4e8;border-radius:12px;color:#7a8b9f;text-align:center;padding:20px}
.att-panel-placeholder i{font-size:36px;color:#a8bdd6;margin-bottom:10px}
.att-ph-title{font-size:14px;font-weight:700;color:#4a5a6e;margin-bottom:4px}
.att-ph-sub{font-size:12px;color:#8a9aab;max-width:240px;line-height:1.5}
.att-panel-notfound{background:#fef8f8;border-color:#f0c9c9}
.att-panel-notfound i{color:#d9a0a0}
.att-panel-notfound .att-ph-title{color:#8a4a4a}

.att-bulk-card{background:#fffbf5;border-color:#f0d9a8}
.att-bulk-card h3{color:#7a5a20}
.att-bulk-card h3 i{color:#c98a1f}
.att-section-tag{font-size:11px;font-weight:600;background:#f8e8c8;color:#8a6a20;padding:2px 8px;border-radius:10px;margin-right:4px}
.att-bulk-help{font-size:12px;color:#8a6d3b;margin:0 0 10px;line-height:1.6}
.att-bulk-list{margin-top:10px}
.att-bulk-actions{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #f0e0c0}
.att-bulk-count{font-size:12.5px;color:#6c757d;font-weight:600}

.att-report-card{margin-bottom:8px}
.att-rep-count{font-size:12px;color:#6c757d;font-weight:600;margin-right:auto}

@media(max-width:800px){
  .att-layout{flex-direction:column}
  .att-left{flex:none;width:100%}
  .attendance-photo,.attendance-photo-placeholder{width:4.2cm;height:5.3cm}
  .att-register-bar .att-actions-row{flex-direction:column;align-items:stretch}
  .att-main-btn{width:100%}
}


/* ===== انتخاب‌گر تاریخ شمسی + فیلد ساعت ===== */
.jdp-input-holder{position:relative;display:block;width:100%}
.jdp-input-holder input.jalali-date{padding-left:36px;width:100%}
.jdp-trigger{
  position:absolute;left:6px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border:none;background:#eef3f9;border-radius:8px;
  color:#2a7de1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:13px;padding:0;z-index:2
}
.jdp-trigger:hover{background:#dce8f8}

.jdp-popup{
  background:#fff;border:1px solid #c5d9f5;border-radius:12px;
  box-shadow:0 10px 28px rgba(30,58,95,.18);padding:12px 14px;min-width:260px;
  direction:rtl;text-align:right
}
.jdp-title{font-size:12.5px;font-weight:700;color:#1e2b3c;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.jdp-title i{color:#2a7de1}
.jdp-row{display:flex;gap:8px;margin-bottom:10px}
.jdp-col{flex:1;display:flex;flex-direction:column;gap:3px}
.jdp-col label{font-size:11px;font-weight:600;color:#5a6f84}
.jdp-col select{
  width:100%;padding:6px 8px;border:1px solid #d0dae8;border-radius:8px;
  font-size:13px;background:#fff;cursor:pointer
}
.jdp-col select:focus{border-color:#2a7de1;outline:none}
.jdp-actions{display:flex;gap:6px;justify-content:flex-start;flex-wrap:wrap}
.jdp-actions .btn{padding:5px 10px;font-size:12px}

input[type="time"].time-picker-input{
  min-height:34px;cursor:pointer
}
/* در کروم/اج آیکون شمارنده ساعت را کمی برجسته‌تر نشان بده */
input[type="time"]::-webkit-calendar-picker-indicator{
  cursor:pointer;opacity:.7;padding:4px;border-radius:4px
}
input[type="time"]::-webkit-calendar-picker-indicator:hover{opacity:1;background:#eef3f9}


/* ===== رنگ‌بندی زیرتب‌های پرسنل ===== */
.personnel-sub-tabs .subtab-tone-green{background:#e8f6ec;color:#1e7e34}
.personnel-sub-tabs .subtab-tone-green:hover{background:#d4edda}
.personnel-sub-tabs .subtab-tone-green.active{background:#28a745;color:#fff}
.personnel-sub-tabs .subtab-tone-blue{background:#e8f0fe;color:#1a5bb8}
.personnel-sub-tabs .subtab-tone-blue:hover{background:#d6e4f7}
.personnel-sub-tabs .subtab-tone-blue.active{background:#2a7de1;color:#fff}
.personnel-sub-tabs .subtab-tone-purple{background:#f0e8fa;color:#6f42c1}
.personnel-sub-tabs .subtab-tone-purple:hover{background:#e4d4f5}
.personnel-sub-tabs .subtab-tone-purple.active{background:#6f42c1;color:#fff}
.personnel-sub-tabs .subtab-tone-orange{background:#fff3e6;color:#c26a00}
.personnel-sub-tabs .subtab-tone-orange:hover{background:#ffe8cc}
.personnel-sub-tabs .subtab-tone-orange.active{background:#e67e22;color:#fff}

/* ===== مرور کارکنان ===== */
.review-filter-card{margin-bottom:12px}
.review-main-card{border-color:#d9c8f0;box-shadow:0 2px 10px rgba(111,66,193,.06)}
.review-pos-badge{
  margin-right:auto;font-size:12px;font-weight:700;background:#f0e8fa;color:#6f42c1;
  padding:3px 12px;border-radius:20px
}
.review-nav-col{
  flex:0 0 150px;display:flex;flex-direction:column;justify-content:center;
  align-items:stretch;gap:10px;padding-top:8px
}
.review-nav-btn{width:100%;justify-content:center}
.review-nav-hint{font-size:11px;color:#8a9aab;text-align:center;line-height:1.4}
.review-actions-bar{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;
  border-top:1px solid #e6edf5
}
.review-eval-btn{background:#6f42c1;color:#fff;border:none}
.review-eval-btn:hover{background:#5a32a3;color:#fff}
.review-mini-stats{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.review-stat{
  font-size:12px;font-weight:700;padding:4px 10px;border-radius:16px;display:inline-flex;align-items:center;gap:4px
}
.review-stat.praise{background:#d4edda;color:#0d6e2b}
.review-stat.viol{background:#f8d7da;color:#a11f2c}
.review-empty-box{padding:28px 12px;background:#f9fbfd;border-radius:12px;border:1px dashed #d0dae8}

.review-side-panel{
  margin-top:14px;padding:14px;border-radius:12px;border:1px solid #e2eaf2;background:#fafbfe
}
.review-side-title{
  font-size:13.5px;font-weight:800;color:#1e2b3c;margin-bottom:12px;
  display:flex;align-items:center;gap:7px;flex-wrap:wrap
}
.review-side-title i{color:#6f42c1}
.review-eval-panel{background:#f8f5fc;border-color:#d9c8f0}

.eval-summary-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-bottom:14px
}
.eval-card{
  background:#fff;border:1px solid #e2eaf2;border-radius:10px;padding:10px 12px
}
.eval-card-label{font-size:11px;color:#7a8b9f;font-weight:600;margin-bottom:3px}
.eval-card-val{font-size:14px;font-weight:800;color:#1e2b3c}
.eval-card-praise{border-color:#b8e0c2;background:#f0faf2}
.eval-card-praise .eval-card-val{color:#0d6e2b}
.eval-card-viol{border-color:#f0c0c5;background:#fef5f6}
.eval-card-viol .eval-card-val{color:#a11f2c}
.eval-score-good{border-color:#b8e0c2;background:#eaf7ee}
.eval-score-good .eval-card-val{color:#0d6e2b}
.eval-score-bad{border-color:#f0c0c5;background:#fef0f1}
.eval-score-bad .eval-card-val{color:#a11f2c}
.eval-score-neutral{border-color:#d0dae8}
.eval-score-hint{font-size:11px;font-weight:600;color:#7a8b9f}
.eval-section-label{
  font-size:13px;font-weight:700;color:#0d6e2b;margin:12px 0 6px;
  display:flex;align-items:center;gap:6px
}
.eval-section-warn{color:#a11f2c}

@media(max-width:800px){
  .review-nav-col{flex:none;width:100%;flex-direction:row;align-items:center}
  .review-nav-btn{flex:1}
  .eval-summary-grid{grid-template-columns:repeat(2,1fr)}
}

.eval-policy-note{
  font-size:11.5px;color:#5a4a6e;background:#f3eef9;border:1px solid #e0d4f0;
  border-radius:10px;padding:8px 12px;line-height:1.7
}
.eval-policy-note i{color:#6f42c1;margin-left:4px}
.eval-badge{
  display:inline-block;font-size:10.5px;font-weight:700;padding:2px 8px;
  border-radius:10px;margin-right:4px;vertical-align:middle
}
.eval-badge.ok{background:#d4edda;color:#0d6e2b}
.eval-badge.warn{background:#fff3cd;color:#856404}
.eval-badge.bad{background:#f8d7da;color:#a11f2c}

/* دکمه‌های رنگی نوار عملیات مرور کارکنان */
.review-actions-bar .review-act-edit{
  background:#e8f0fe;color:#1a5bb8;border:1px solid #b6d0f7
}
.review-actions-bar .review-act-edit:hover{background:#d0e3fc;color:#0d47a1}
.review-actions-bar .review-act-io{
  background:#e8f6ec;color:#1e7e34;border:1px solid #b8e0c2
}
.review-actions-bar .review-act-io:hover{background:#d4edda;color:#155d27}
.review-actions-bar .review-act-disc{
  background:#fff3e6;color:#c26a00;border:1px solid #f0d0a0
}
.review-actions-bar .review-act-disc:hover{background:#ffe8cc;color:#a05800}
.review-actions-bar .review-act-eval{
  background:#6f42c1;color:#fff;border:1px solid #5a32a3
}
.review-actions-bar .review-act-eval:hover{background:#5a32a3;color:#fff}
.review-actions-bar .btn{font-weight:700}

.supervision-sub-tabs .subtab-tone-purple{background:#f0e8fa;color:#6f42c1}
.supervision-sub-tabs .subtab-tone-purple:hover{background:#e4d4f5}
.supervision-sub-tabs .subtab-tone-purple.active{background:#6f42c1;color:#fff}
.supervision-sub-tabs .subtab-tone-blue{background:#e8f0fe;color:#1a5bb8}
.supervision-sub-tabs .subtab-tone-blue:hover{background:#d6e4f7}
.supervision-sub-tabs .subtab-tone-blue.active{background:#2a7de1;color:#fff}

.clearance-main-sub .subtab-tone-blue{background:#e8f0fe;color:#1a5bb8}
.clearance-main-sub .subtab-tone-blue:hover{background:#d6e4f7}
.clearance-main-sub .subtab-tone-blue.active{background:#2a7de1;color:#fff}
.clearance-main-sub .subtab-tone-green{background:#e8f6ec;color:#1e7e34}
.clearance-main-sub .subtab-tone-green:hover{background:#d4edda}
.clearance-main-sub .subtab-tone-green.active{background:#28a745;color:#fff}
.clearance-main-sub .subtab-tone-orange{background:#fdf1e6;color:#b45309}
.clearance-main-sub .subtab-tone-orange:hover{background:#fbe4c9}
.clearance-main-sub .subtab-tone-orange.active{background:#e07b12;color:#fff}
.clearance-main-sub .subtab-tone-purple{background:#f0e8fa;color:#6f42c1}
.clearance-main-sub .subtab-tone-purple:hover{background:#e4d4f5}
.clearance-main-sub .subtab-tone-purple.active{background:#6f42c1;color:#fff}

.hr-main-sub .subtab-tone-blue{background:#e8f0fe;color:#1a5bb8}
.hr-main-sub .subtab-tone-blue:hover{background:#d6e4f7}
.hr-main-sub .subtab-tone-blue.active{background:#2a7de1;color:#fff}
.hr-main-sub .subtab-tone-green{background:#e8f6ec;color:#1e7e34}
.hr-main-sub .subtab-tone-green:hover{background:#d4edda}
.hr-main-sub .subtab-tone-green.active{background:#28a745;color:#fff}
.hr-main-sub .subtab-tone-orange{background:#fdf1e6;color:#b45309}
.hr-main-sub .subtab-tone-orange:hover{background:#fbe4c9}
.hr-main-sub .subtab-tone-orange.active{background:#e07b12;color:#fff}
.hr-main-sub .subtab-tone-purple{background:#f0e8fa;color:#6f42c1}
.hr-main-sub .subtab-tone-purple:hover{background:#e4d4f5}
.hr-main-sub .subtab-tone-purple.active{background:#6f42c1;color:#fff}
.hr-main-sub .subtab-tone-red{background:#fdeaea;color:#b02a37}
.hr-main-sub .subtab-tone-red:hover{background:#f8d7da}
.hr-main-sub .subtab-tone-red.active{background:#c0392b;color:#fff}

/* رنگ‌بندیِ متفاوتِ تبِ خدماتِ پیمانکاران - برای تشخیصِ سریعِ چشمی از
   تبِ وام/مساعده‌ی پرسنل (که آبی/سبزه)، این‌جا از طیفِ فیروزه‌ای/قهوه‌ای
   استفاده شده. */
.wf-contractor-scope .att-section-title{border-bottom-color:#c9ebe6}
.wf-contractor-scope .att-section-title i{color:#0f7a72}
.wf-contractor-scope .btn:not(.btn-outline):not(.btn-success){background:#0f7a72}
.wf-contractor-scope .btn:not(.btn-outline):not(.btn-success):hover{background:#0b5c56}
.wf-contractor-scope .btn-success{background:#b9770e}
.wf-contractor-scope .btn-success:hover{background:#96610b}
.wf-contractor-scope .btn-outline{border-color:#0f7a72;color:#0f7a72}
.wf-contractor-scope .btn-outline:hover{background:#e6f5f3}
.wf-contractor-scope .form-card{border-color:#c9ebe6}
.wf-contractor-scope table.data-table thead{background:#e6f5f3}

/* ===== عنوان‌ها: فونت جدا، بزرگ‌تر، بولد (Vazirmatn FD Bold 33.0.3 — OFL 1.1، فایل در public/fonts) — از 20261090 ===== */
@font-face {
  font-family: 'Vazirmatn';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: local('Vazirmatn FD Bold'), local('Vazirmatn-FD-Bold'), url('../fonts/Vazirmatn-FD-Bold.woff2') format('woff2');
}
.att-section-title,
.review-side-title,
.eval-section-label,
.tools-box h3,
.placeholder-box h3,
.tab-content h3,
.login-box h2,
.print-header h2 {
  font-family: 'Vazirmatn', Tahoma, sans-serif;
  font-weight: 700;
}
/* قاعده‌ی سراسریِ «*» در بالای همین فایل، فونت را به فرزندان ارث نمی‌دهد؛ متنِ داخلِ span/b عنوان‌ها هم همان فونت را بگیرد (آیکن‌ها دست نمی‌خورند) */
.att-section-title span:not([class*="fa"]), .att-section-title b, .att-section-title strong,
.review-side-title span:not([class*="fa"]), .review-side-title b, .review-side-title strong,
.eval-section-label span:not([class*="fa"]), .eval-section-label b, .eval-section-label strong,
.tab-content h3 span:not([class*="fa"]), .tab-content h3 b, .tab-content h3 strong,
.login-box h2 span, .print-header h2 span {
  font-family: 'Vazirmatn', Tahoma, sans-serif;
}
/* !important لازم است: چند ماژول (مثلاً welfare-ui-loans.js) روی att-section-title استایل درون‌خطی font-size:14px دارند */
.att-section-title { font-size: 17px !important; color: #17324f; }
.review-side-title { font-size: 16px; }
.eval-section-label { font-size: 14.5px; }
.tools-box h3, .tab-content h3 { font-size: 16px; }
.placeholder-box h3 { font-size: 19px; }
.login-box h2 { font-size: 21px; }

/* ===== فهرست انتخابیِ جست‌وجوپذیر (searchable-select.js) — از 20261090 =====
   ظاهرِ فیلد با بقیه‌ی فیلدهای فرم (.form-group input) یکی است؛
   انتخاب‌گر «.ss-wrap > input.ss-input» عمداً از «.form-group input» قوی‌تر است تا پیکان و فاصله‌ی چپ پاک نشود. */
.ss-wrap { position: relative; display: block; width: 100%; }
.ss-wrap > select.ss-native { display: none !important; }
.ss-wrap > input.ss-input {
  width: 100%; box-sizing: border-box; padding: 7px 10px 7px 28px; border: 1px solid #d0dae8; border-radius: 9px;
  font-size: 13px; color: #1d2733; cursor: pointer;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236a7886'/%3E%3C/svg%3E") no-repeat left 10px center;
}
.ss-wrap.ss-open > input.ss-input { cursor: text; border-color: #2a7de1; box-shadow: 0 0 0 3px rgba(42,125,225,.15); outline: none; }
.ss-wrap > input.ss-input:focus { outline: none; border-color: #2a7de1; }
.ss-wrap > input.ss-input::placeholder { color: #8a94a3; }
.ss-wrap.ss-disabled > input.ss-input { background-color: #e9ecf3; cursor: not-allowed; }
.ss-pop {
  position: absolute; top: 100%; right: 0; left: 0; z-index: 600; margin-top: 2px; max-height: 280px; overflow-y: auto; min-width: 160px;
  background: #fff; border: 1px solid #c8d1db; border-radius: 8px; box-shadow: 0 8px 24px rgba(15,23,42,.15); text-align: right; direction: rtl;
}
.ss-opt { padding: 7px 10px; font-size: 13px; color: #1d2733; cursor: pointer; border-bottom: 1px solid #f2f4f7; }
.ss-opt:last-child { border-bottom: 0; }
.ss-opt:hover, .ss-opt.ss-on { background: #eef4fb; }
.ss-opt.ss-cur { font-weight: 700; color: #1a5bb8; }
.ss-opt.ss-dis { color: #b0bac4; cursor: default; }
.ss-group { padding: 6px 10px 3px; font-size: 11.5px; font-weight: 700; color: #6a7886; background: #f7f9fb; position: sticky; top: 0; }
.ss-empty { padding: 10px; color: #8090a0; font-size: 13px; text-align: center; }

/* ===== دکمه‌های تب و زیرتب: Vazirmatn بولد، کمی بزرگ‌تر، با حالت فعال برجسته — از 20261091 =====
   رنگ‌های اختصاصی زیرتب‌ها (subtab-tone-*) دست نمی‌خورند؛ فقط سایه و حرکت به آن‌ها اضافه می‌شود. */
.tab-btn, .sub-tab-btn {
  font-family: 'Vazirmatn', Tahoma, sans-serif;
  font-weight: 700;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tab-btn { font-size: 13.5px; padding: 8px 14px; color: #34465c; }
.tab-btn i { opacity: .8; }
.tab-btn:hover { background: #e6effa; color: #1a5bb8; transform: translateY(-1px); }
.tab-btn.active {
  background: linear-gradient(135deg, #3a8ff0 0%, #1d5fc0 100%); color: #fff;
  box-shadow: 0 4px 12px rgba(42,125,225,.32);
}
.tab-btn.active i { opacity: 1; }
.sub-tab-btn { font-size: 13px; padding: 7px 14px; }
.sub-tab-btn:hover { transform: translateY(-1px); }
.sub-tab-btn.active { box-shadow: 0 3px 10px rgba(30,58,95,.2); }
.sub-tab-btn:not([class*="subtab-tone"]).active { background: linear-gradient(135deg, #3a8ff0 0%, #1d5fc0 100%); }
@media (prefers-reduced-motion: reduce) { .tab-btn, .sub-tab-btn { transition: none; } .tab-btn:hover, .sub-tab-btn:hover { transform: none; } }

/* MONITOR-20261113: نظارت ← وضعیت سامانه */
.supervision-sub-tabs .subtab-tone-orange{background:#fdf1e6;color:#b45309}
.supervision-sub-tabs .subtab-tone-orange:hover{background:#fbe4c9}
.supervision-sub-tabs .subtab-tone-orange.active{background:#e07b12;color:#fff}
.mon-badge{display:inline-block;padding:3px 12px;border-radius:12px;font-size:13px;font-weight:bold;color:#fff}
.mon-badge.green{background:#1e9e5a}.mon-badge.yellow{background:#d99a00}.mon-badge.red{background:#d63b3b}.mon-badge.gray{background:#8a94a0}
.mon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:8px}
.mon-check{background:#fff;border:1px solid #e2eaf2;border-right:5px solid #8a94a0;border-radius:10px;padding:9px 12px}
.mon-check.green{border-right-color:#1e9e5a}.mon-check.yellow{border-right-color:#d99a00;background:#fffbea}.mon-check.red{border-right-color:#d63b3b;background:#fff1f1}
.mon-check .mon-label{font-size:12.5px;color:#555}
.mon-check .mon-value{font-size:15px;font-weight:bold;margin-top:3px;color:#1e2a38}
.mon-check .mon-hint{font-size:11.5px;color:#888;margin-top:3px}
.mon-info{font-size:12.5px;color:#555;margin-top:10px;display:flex;flex-wrap:wrap;gap:6px 18px}
.mon-charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.mon-chart{background:#fff;border:1px solid #e2eaf2;border-radius:10px;padding:8px 10px}
.mon-chart .mon-chart-title{font-size:12.5px;color:#444;display:flex;justify-content:space-between}
.mon-chart svg{width:100%;height:90px;display:block;direction:ltr}
.mon-ev-error td:nth-child(2){color:#d63b3b;font-weight:bold}
.mon-ev-slow td:nth-child(2){color:#b07a00;font-weight:bold}
/* CAUSE-20261115 */
.mon-causes{margin-top:8px;background:#f8fafc;border:1px solid #e2eaf2;border-radius:10px;padding:8px 12px}
.mon-causes-title{font-size:13px;font-weight:bold;color:#1e2a38;margin-bottom:4px}
.mon-cause{font-size:13px;color:#333;padding:6px 10px;margin-top:5px;border-right:4px solid #8a94a0;border-radius:6px;background:#fff}
.mon-cause.yellow{border-right-color:#d99a00;background:#fffbea}.mon-cause.red{border-right-color:#d63b3b;background:#fff1f1}
.mon-en{direction:ltr;unicode-bidi:isolate;color:#6b7785;font-weight:normal;font-size:.92em} /* HOSTRES-20261117 */
.mon-cause-action{font-size:12px;color:#555;margin-top:3px}
