.factory-login-notice{
  direction:rtl;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  padding:16px;
  border-radius:16px;
  font-family:Tahoma, Arial, sans-serif;
}
.factory-app,
.factory-app *{
  box-sizing:border-box;
}
.factory-app{
  background:#eef2f7;
  min-height:100vh;
  display:flex;
  justify-content:center;
  font-family:Tahoma, Arial, sans-serif;
}
.factory-app .factory-phone{
  width:100%;
  max-width:430px;
  min-height:100vh;
  background:#f8fafc;
  position:relative;
  padding:18px 14px 110px;
  box-sizing:border-box;
}
.factory-app .app-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}
.factory-app .app-header h1{
  margin:0;
  font-size:22px;
  color:#0f172a;
  font-weight:800;
}
.factory-app .app-header p{
  margin:6px 0 0;
  color:#64748b;
  font-size:13px;
}

.factory-app .app-header-main{
  flex:1;
  min-width:0;
}
.factory-app .user-greeting{
  margin:7px 0 0;
  color:#1d4ed8;
  font-size:14px;
  font-weight:900;
}
.factory-app .app-today{
  margin:5px 0 0;
  color:#475569;
  font-size:12px;
  font-weight:700;
}
.factory-app .app-today strong{
  color:#111827;
  font-weight:900;
}

.factory-app .demo-badge{
  background:#111827;
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.factory-app .page{ display:none; }
.factory-app .page.active{ display:block; }

.factory-app .page-title{ margin-bottom:16px; }
.factory-app .page-title h2{
  margin:0 0 6px;
  font-size:20px;
  color:#111827;
  font-weight:800;
}
.factory-app .page-title span{
  color:#6b7280;
  font-size:13px;
}

.factory-app .summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:16px;
}
.factory-app .summary-card{
  border-radius:22px;
  padding:16px;
  color:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.factory-app .summary-card small{
  display:block;
  font-size:12px;
  margin-bottom:8px;
  opacity:.9;
}
.factory-app .summary-card strong{
  font-size:18px;
  font-weight:800;
}
.factory-app .summary-card.dark{ background:linear-gradient(135deg,#0f172a,#1e293b); }
.factory-app .summary-card.green{ background:linear-gradient(135deg,#16a34a,#15803d); }

.factory-app .search-box{ margin-bottom:14px; }
.factory-app .search-box input{
  width:100%;
  height:54px;
  border:none;
  outline:none;
  border-radius:18px;
  padding:0 16px;
  box-sizing:border-box;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  font-size:15px;
}

.factory-app .section-title{
  font-size:13px;
  color:#6b7280;
  font-weight:700;
  margin:12px 2px 10px;
}

.factory-app .chips{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:6px;
  scrollbar-width:none;
}
.factory-app .chips::-webkit-scrollbar{ display:none; }

.factory-app .chip{
  border:none;
  background:#fff;
  color:#111827;
  border-radius:999px;
  padding:12px 15px;
  font-size:13px;
  font-weight:700;
  box-shadow:0 8px 20px rgba(15,23,42,.06);
  white-space:nowrap;
  cursor:pointer;
}
.factory-app .chip.active{
  background:#2563eb;
  color:#fff;
}

.factory-app .selected-box{
  margin-top:14px;
  margin-bottom:10px;
  min-height:110px;
}

.factory-app .empty-box,
.factory-app .empty-list{
  background:#fff;
  border-radius:20px;
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#94a3b8;
  font-size:13px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
  text-align:center;
  padding:12px;
  box-sizing:border-box;
}

.factory-app .service-card{
  background:#fff;
  border-radius:22px;
  padding:16px;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.factory-app .service-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:14px;
}
.factory-app .service-card h3{
  margin:0 0 6px;
  font-size:17px;
  color:#111827;
  font-weight:800;
}
.factory-app .service-card p{
  margin:0;
  color:#6b7280;
  font-size:13px;
}
.factory-app .price-badge{
  background:#eff6ff;
  color:#2563eb;
  padding:8px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.factory-app .counter{
  display:grid;
  grid-template-columns:54px 1fr 54px;
  gap:10px;
  margin-bottom:12px;
}
.factory-app .counter button{
  height:52px;
  border:none;
  background:#f1f5f9;
  border-radius:16px;
  font-size:24px;
  font-weight:800;
  cursor:pointer;
}
.factory-app .counter input{
  height:52px;
  border:none;
  background:#f8fafc;
  border-radius:16px;
  text-align:center;
  font-size:21px;
  font-weight:800;
  outline:none;
}

.factory-app .add-btn{
  width:100%;
  height:54px;
  border:none;
  background:#16a34a;
  color:#fff;
  border-radius:18px;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}

.factory-app .list-box{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.factory-app .list-row{
  background:#fff;
  border-radius:18px;
  padding:13px 14px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.factory-app .list-row h4{
  margin:0 0 6px;
  color:#111827;
  font-size:14px;
  font-weight:800;
}
.factory-app .list-row p{
  margin:0;
  color:#6b7280;
  font-size:12px;
  line-height:1.8;
}

.factory-app .row-actions{
  display:flex;
  gap:8px;
  flex-direction:column;
}
.factory-app .small-btn{
  border:none;
  border-radius:12px;
  padding:9px 10px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  min-width:72px;
}
.factory-app .btn-remove{ background:#fee2e2; color:#dc2626; }
.factory-app .btn-approve{ background:#dcfce7; color:#15803d; }
.factory-app .btn-reject{ background:#fef3c7; color:#b45309; }

.factory-app .wallet-card{
  background:linear-gradient(135deg,#1d4ed8,#2563eb);
  color:#fff;
  border-radius:24px;
  padding:18px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
  box-shadow:0 12px 30px rgba(37,99,235,.22);
}

.factory-app .wallet-card small,
.factory-app .mini-card small,
.factory-app .manager-card small,
.factory-app .stats-card small{
  display:block;
  font-size:12px;
  margin-bottom:8px;
  opacity:.9;
}
.factory-app .wallet-card strong,
.factory-app .mini-card strong,
.factory-app .manager-card strong,
.factory-app .stats-card strong{
  font-size:17px;
  font-weight:800;
}

.factory-app .mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.factory-app .mini-grid.three{
  grid-template-columns:1fr 1fr 1fr;
}
.factory-app .mini-card{
  background:#fff;
  border-radius:20px;
  padding:15px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.factory-app .mini-card.warning{ background:#fff7ed; color:#9a3412; }
.factory-app .mini-card.success{ background:#f0fdf4; color:#166534; }
.factory-app .mini-card.danger{ background:#fef2f2; color:#b91c1c; }

.factory-app .manager-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.factory-app .manager-card{
  border-radius:22px;
  padding:16px;
  color:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.factory-app .manager-card.blue{ background:linear-gradient(135deg,#0284c7,#0369a1); }
.factory-app .manager-card.violet{ background:linear-gradient(135deg,#7c3aed,#6d28d9); }
.factory-app .manager-card.orange{ background:linear-gradient(135deg,#f59e0b,#d97706); }
.factory-app .manager-card.green{ background:linear-gradient(135deg,#22c55e,#16a34a); }

.factory-app .stats-top-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.factory-app .stats-card{
  border-radius:22px;
  padding:16px;
  color:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.factory-app .stats-card span{
  display:block;
  margin-top:8px;
  font-size:12px;
  opacity:.92;
}
.factory-app .stats-card.navy{ background:linear-gradient(135deg,#0f172a,#1e3a8a); }
.factory-app .stats-card.emerald{ background:linear-gradient(135deg,#059669,#10b981); }
.factory-app .stats-card.violet{ background:linear-gradient(135deg,#7c3aed,#a855f7); }
.factory-app .stats-card.orange{ background:linear-gradient(135deg,#ea580c,#f59e0b); }

.factory-app .chart-card{
  background:#fff;
  border-radius:22px;
  padding:14px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
  margin-bottom:14px;
}

.factory-app .bars-chart{
  height:220px;
  display:flex;
  align-items:flex-end;
  gap:10px;
  overflow-x:auto;
  padding-top:10px;
}
.factory-app .bar-item{
  min-width:46px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.factory-app .bar{
  width:100%;
  border-radius:14px 14px 6px 6px;
  background:linear-gradient(180deg,#60a5fa,#2563eb);
  min-height:10px;
  position:relative;
}
.factory-app .bar-value{
  font-size:10px;
  color:#334155;
  font-weight:700;
  text-align:center;
  line-height:1.4;
}
.factory-app .bar-label{
  font-size:11px;
  color:#64748b;
  font-weight:700;
}

.factory-app .days-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.factory-app .day-pill{
  padding:10px 12px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-size:12px;
  font-weight:800;
}
.factory-app .day-pill.off{
  background:#f1f5f9;
  color:#94a3b8;
}

.factory-app .status{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  margin-top:6px;
}
.factory-app .status.pending{ background:#fef3c7; color:#92400e; }
.factory-app .status.approved{ background:#dcfce7; color:#166534; }
.factory-app .status.rejected{ background:#fee2e2; color:#991b1b; }

.factory-app .bottom-nav{
  position:fixed;
  bottom:0;
  right:50%;
  transform:translateX(50%);
  width:100%;
  max-width:430px;
  display:grid;
  gap:8px;
  padding:12px 10px 16px;
  box-sizing:border-box;
  background:rgba(248,250,252,.95);
  backdrop-filter:blur(12px);
  border-top:1px solid #e5e7eb;
  z-index:99999;
}
.factory-app .bottom-nav.five{
  grid-template-columns:repeat(5,1fr);
}

.factory-app .tab-btn{
  border:none;
  background:#e2e8f0;
  color:#334155;
  min-height:52px;
  border-radius:16px;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  padding:6px;
}
.factory-app .tab-btn.active{
  background:#2563eb;
  color:#fff;
  box-shadow:0 8px 20px rgba(37,99,235,.25);
}

.factory-app .toast{
  position:fixed;
  bottom:90px;
  right:50%;
  transform:translateX(50%) translateY(20px);
  background:#111827;
  color:#fff;
  padding:12px 18px;
  border-radius:999px;
  font-size:13px;
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  z-index:999;
}
.factory-app .toast.show{
  opacity:1;
  transform:translateX(50%) translateY(0);
}

.factory-app .worker-page {
  max-width: 520px;
  margin: 0 auto;
}

.factory-app .page-header {
  margin-bottom: 14px;
}

.factory-app .register-page-title {
  font-size: 18px;
  font-weight: 900;
  margin: 0 0 5px;
  color: #111827;
}

.factory-app .page-subtitle {
  font-size: 12px;
  color: #6b7280;
  margin: 0;
  line-height: 1.8;
}

.factory-app .search-card,
.factory-app .form-card,
.factory-app .records-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 13px;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
  margin-bottom: 13px;
  border: 1px solid #e5e7eb;
}

.factory-app .search-label {
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 8px;
  color: #374151;
}

.factory-app .search-input-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f9fafb;
  border: 2px solid #2563eb;
  border-radius: 15px;
  padding: 10px 12px;
}

.factory-app .search-icon {
  font-size: 17px;
}

.factory-app #serviceSearch {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
}

.factory-app #serviceSearch::placeholder {
  color: #9ca3af;
  font-weight: 500;
}

.factory-app .service-results {
  margin-top: 10px;
  display: none;
}

.factory-app .service-result-item {
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 13px;
  padding: 10px;
  margin-bottom: 7px;
  cursor: pointer;
}

.factory-app .service-result-item:hover {
  background: #eef2ff;
  border-color: #c7d2fe;
}

.factory-app .service-result-name {
  font-size: 13px;
  font-weight: 900;
  color: #111827;
  margin-bottom: 3px;
}

.factory-app .service-result-price {
  font-size: 11px;
  color: #6b7280;
}

.factory-app .summary-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.factory-app .summary-wrap .summary-card {
  background: #ffffff;
  color: #111827;
  border-radius: 17px;
  padding: 12px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
  border: 1px solid #e5e7eb;
}

.factory-app .summary-wrap .summary-card span {
  display: block;
  color: #6b7280;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 6px;
}

.factory-app .summary-wrap .summary-card strong {
  display: block;
  color: #111827;
  font-size: 15px;
  font-weight: 900;
}

.factory-app #todayAmount {
  color: #16a34a;
}

.factory-app .personal-record-card {
  background: linear-gradient(135deg, #fff7ed, #fffbeb);
  border: 1px solid #fed7aa;
  border-radius: 18px;
  padding: 12px 13px;
  margin-bottom: 13px;
  display: flex;
  align-items: center;
  gap: 11px;
  box-shadow: 0 8px 20px rgba(251, 146, 60, .12);
}

.factory-app .record-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #ffedd5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  flex-shrink: 0;
}

.factory-app .record-content {
  flex: 1;
}

.factory-app .record-content span {
  display: block;
  color: #9a3412;
  font-size: 11px;
  font-weight: 900;
  margin-bottom: 4px;
}

.factory-app .record-content strong {
  display: block;
  color: #111827;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 4px;
}

.factory-app .record-content small {
  display: none;
  color: #92400e;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.7;
}

.factory-app .feedback-card {
  background: linear-gradient(135deg, #eff6ff, #f8fafc);
  border: 1px solid #bfdbfe;
  border-radius: 18px;
  padding: 12px 13px;
  margin-bottom: 13px;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .08);
}

.factory-app .feedback-title {
  font-size: 12px;
  font-weight: 900;
  color: #1d4ed8;
  margin-bottom: 7px;
}

.factory-app .feedback-main {
  font-size: 13px;
  font-weight: 900;
  color: #111827;
  margin-bottom: 5px;
}

.factory-app .feedback-sub {
  font-size: 11px;
  line-height: 1.8;
  color: #4b5563;
}

.factory-app .feedback-badge {
  display: inline-block;
  margin-top: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.factory-app .feedback-badge.positive {
  background: #dbeafe;
  color: #1d4ed8;
}

.factory-app .feedback-badge.negative {
  background: #fef3c7;
  color: #92400e;
}

.factory-app .feedback-badge.neutral {
  background: #e5e7eb;
  color: #374151;
}

.factory-app .form-card {
  display: none;
}

.factory-app .selected-service {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 15px;
  padding: 11px;
  margin-bottom: 12px;
}

.factory-app .selected-service span {
  display: block;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 900;
  margin-bottom: 4px;
}

.factory-app .selected-service strong {
  display: block;
  color: #111827;
  font-size: 14px;
  font-weight: 900;
}

.factory-app .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.factory-app .field {
  margin-bottom: 10px;
}

.factory-app .field label {
  display: block;
  font-size: 11px;
  font-weight: 900;
  color: #374151;
  margin-bottom: 6px;
}

.factory-app .field input,
.factory-app .field textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  outline: none;
  background: #f9fafb;
  border-radius: 13px;
  padding: 10px;
  font-size: 13px;
  font-family: inherit;
}

.factory-app .field input:focus,
.factory-app .field textarea:focus {
  border-color: #2563eb;
  background: #ffffff;
}

.factory-app .field textarea {
  min-height: 75px;
  resize: vertical;
  line-height: 1.8;
}

.factory-app .details-toggle {
  width: 100%;
  border: none;
  background: #f3f4f6;
  color: #374151;
  border-radius: 13px;
  padding: 10px;
  font-size: 12px;
  font-weight: 900;
  font-family: inherit;
  cursor: pointer;
  margin-bottom: 10px;
}

.factory-app .details-box {
  display: none;
}

.factory-app .submit-btn {
  width: 100%;
  border: none;
  background: #2563eb;
  color: #ffffff;
  border-radius: 15px;
  padding: 12px;
  font-size: 14px;
  font-weight: 900;
  font-family: inherit;
  cursor: pointer;
}
.factory-app .submit-btn:disabled,
.factory-app .small-btn:disabled{
  opacity:.65;
  cursor:not-allowed;
}

.factory-app .records-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.factory-app .records-title strong {
  font-size: 14px;
  font-weight: 900;
  color: #111827;
}

.factory-app .records-title span {
  font-size: 11px;
  color: #6b7280;
  font-weight: 700;
}

.factory-app .empty-records {
  background: #f9fafb;
  color: #6b7280;
  text-align: center;
  border-radius: 14px;
  padding: 16px 10px;
  font-size: 12px;
  line-height: 1.8;
}

.factory-app .record-item {
  border: 1px solid #e5e7eb;
  border-radius: 15px;
  padding: 11px;
  margin-bottom: 9px;
  background: #ffffff;
}

.factory-app .record-item:last-child {
  margin-bottom: 0;
}

.factory-app .record-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}

.factory-app .record-name {
  font-size: 13px;
  font-weight: 900;
  color: #111827;
}

.factory-app .record-time {
  font-size: 10px;
  color: #9ca3af;
  white-space: nowrap;
}

.factory-app .record-info {
  font-size: 11px;
  color: #4b5563;
  line-height: 1.9;
}

.factory-app .record-total {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 900;
  color: #16a34a;
}

.factory-app .record-desc {
  margin-top: 5px;
  color: #6b7280;
  font-size: 11px;
  line-height: 1.8;
}

@media (max-width:390px){
  .factory-app .factory-phone{ padding:16px 12px 112px; }
  .factory-app .mini-grid.three{ grid-template-columns:1fr; }
  .factory-app .stats-top-grid{ grid-template-columns:1fr 1fr; }
  .factory-app .tab-btn{ font-size:10px; }
}

@media (max-width: 380px) {
  .factory-app .summary-wrap .summary-card strong {
    font-size: 14px;
  }
}

/* Replacement safety patch */
.register-page-title{
  font-size:18px;
  font-weight:900;
  margin:0 0 5px;
  color:#111827;
}
.factory-app a{ color:inherit; }
.factory-phone .button-link{ text-decoration:none; }
.submit-btn:disabled,
.small-btn:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.btn-remove{
  background:#fee2e2;
  color:#dc2626;
}


.factory-app .bottom-nav.six{
  grid-template-columns:repeat(6,1fr);
}
.factory-app .bottom-nav.six .tab-btn{
  min-height:48px;
  font-size:10px;
  padding:4px 3px;
}
.factory-app .service-admin-card{
  background:#ffffff;
  border-radius:20px;
  padding:13px;
  box-shadow:0 10px 25px rgba(15,23,42,0.08);
  margin-bottom:13px;
  border:1px solid #e5e7eb;
}
.factory-app .service-admin-card .field:last-of-type{
  margin-bottom:12px;
}
.factory-app .service-list-row{
  align-items:center;
}
.factory-app .service-price-chip{
  background:#eff6ff;
  color:#2563eb;
  padding:8px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.factory-app .services-manager-notice{
  margin-bottom:13px;
  min-height:74px;
}
@media (max-width:390px){
  .factory-app .bottom-nav.six{ gap:5px; padding-left:8px; padding-right:8px; }
  .factory-app .bottom-nav.six .tab-btn{ font-size:9px; border-radius:13px; }
}

.factory-app .bottom-nav.three{
  grid-template-columns:repeat(3,1fr);
}
.factory-app .service-edit-row{
  background:#fff;
  border-radius:18px;
  padding:13px 14px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
  border:1px solid #e5e7eb;
}
.factory-app .service-edit-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  margin-bottom:10px;
}
.factory-app .service-edit-head strong{
  font-size:14px;
  font-weight:900;
  color:#111827;
  line-height:1.8;
}
.factory-app .service-edit-head span{
  background:#eff6ff;
  color:#2563eb;
  padding:7px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.factory-app .service-pending-note{
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fed7aa;
  border-radius:13px;
  padding:9px 10px;
  font-size:11px;
  font-weight:800;
  line-height:1.8;
  margin-bottom:10px;
}
.factory-app .service-edit-grid{
  display:grid;
  grid-template-columns:1fr 120px;
  gap:10px;
}
.factory-app .service-save-btn{
  background:#e0f2fe;
  color:#075985;
  width:100%;
  margin-top:2px;
}
@media (max-width:390px){
  .factory-app .service-edit-head{ flex-direction:column; }
  .factory-app .service-edit-grid{ grid-template-columns:1fr; }
}

/* Version 108: WooCommerce product search badges */
.factory-app .result-source-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:6px;
  padding:3px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  vertical-align:middle;
  white-space:nowrap;
}
.factory-app .result-source-badge.service{
  background:#e0f2fe;
  color:#075985;
}
.factory-app .result-source-badge.product{
  background:#fef3c7;
  color:#92400e;
}
.factory-app .product-result-item{
  background:#fffdf5;
  border-color:#fde68a;
}

/* Version 111: worker account filters and pending-entry edit */
.factory-app .worker-filter-card{
  background:#ffffff;
  border-radius:20px;
  padding:13px;
  box-shadow:0 10px 25px rgba(15,23,42,0.08);
  margin-bottom:13px;
  border:1px solid #e5e7eb;
}
.factory-app .filter-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.factory-app .field select{
  width:100%;
  border:1px solid #d1d5db;
  outline:none;
  background:#f9fafb;
  border-radius:13px;
  padding:10px;
  font-size:13px;
  font-family:inherit;
  color:#111827;
}
.factory-app .field select:focus{
  border-color:#2563eb;
  background:#ffffff;
}
.factory-app .record-actions{
  display:flex;
  gap:8px;
  margin-top:9px;
}
.factory-app .btn-edit{
  background:#dbeafe;
  color:#1d4ed8;
}
.factory-app .reject-reason{
  margin-top:7px;
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
  border-radius:13px;
  padding:8px 10px;
  font-size:11px;
  line-height:1.8;
  font-weight:800;
}
@media (max-width:390px){
  .factory-app .filter-grid{ grid-template-columns:1fr; }
  .factory-app .record-actions{ flex-direction:column; }
}


/* Version 112: compact collapsible filters for worker and manager approval pages */
.factory-app .compact-filter-card{
  padding:10px;
  border-radius:18px;
  margin-bottom:11px;
}
.factory-app .filter-toggle-btn{
  width:100%;
  min-height:46px;
  border:none;
  background:#f8fafc;
  color:#111827;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 11px;
  font-family:inherit;
  cursor:pointer;
  text-align:right;
}
.factory-app .filter-toggle-btn span{
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
}
.factory-app .filter-toggle-btn small{
  font-size:10px;
  font-weight:800;
  color:#64748b;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:60%;
  text-align:left;
}
.factory-app .filter-panel{
  display:block;
  padding-top:10px;
}
.factory-app .filter-panel.collapsed{
  display:none;
}
.factory-app .compact-field{
  margin-bottom:8px;
}
.factory-app .compact-field label{
  font-size:10px;
  margin-bottom:4px;
}
.factory-app .compact-field input,
.factory-app .compact-field select{
  min-height:42px;
  height:42px;
  padding:7px 10px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
  color:#111827;
  background:#fff;
}
.factory-app .compact-grid{
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.factory-app .approval-grid{
  grid-template-columns:1fr 1fr 1fr;
}
.factory-app .clear-filter-btn{
  width:100%;
  border:none;
  background:#eef2f7;
  color:#334155;
  border-radius:13px;
  padding:10px;
  font-size:12px;
  font-weight:900;
  font-family:inherit;
  cursor:pointer;
}
.factory-app .manager-filter-card{
  border-color:#dbeafe;
  box-shadow:0 8px 18px rgba(37,99,235,.07);
}
@media (max-width:390px){
  .factory-app .approval-grid{ grid-template-columns:1fr; }
  .factory-app .compact-grid{ grid-template-columns:1fr 1fr; }
  .factory-app .filter-toggle-btn small{ max-width:55%; }
}

/* Version 114: inline login and respectful wording */
.factory-app .factory-login-phone{
  padding-bottom:40px;
}
.factory-app .factory-login-card{
  background:#ffffff;
  border-radius:24px;
  padding:18px;
  border:1px solid #e5e7eb;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
  margin-top:22px;
}
.factory-app .factory-login-card h2{
  margin:0 0 8px;
  font-size:22px;
  font-weight:900;
  color:#111827;
}
.factory-app .factory-login-card p{
  margin:0 0 16px;
  font-size:13px;
  line-height:1.9;
  color:#64748b;
}
.factory-app .factory-login-card .field{
  margin-bottom:12px;
}
.factory-app .factory-login-card .field input{
  min-height:52px;
  font-size:15px;
  font-weight:800;
  background:#f8fafc;
}
.factory-app .factory-login-error{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
  border-radius:14px;
  padding:10px 12px;
  margin-bottom:14px;
  font-size:12px;
  font-weight:900;
  line-height:1.8;
}
.factory-app .stats-filter-card{
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}

.service-category-meta{
  margin:8px 0 10px;
  color:#475569;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:8px 10px;
  font-size:11px;
  font-weight:800;
  line-height:1.8;
}
.service-shared-check{
  display:flex;
  align-items:center;
  gap:8px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:13px;
  padding:10px;
  margin:0 0 10px;
  font-size:12px;
  font-weight:900;
  color:#334155;
}
.service-shared-check.inline{
  margin-top:20px;
  min-height:44px;
}
.service-category-grid{
  margin-top:8px;
}
.service-auto-category-note{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:13px;
  padding:10px;
  margin:0 0 10px;
  color:#475569;
  font-size:12px;
  font-weight:800;
  line-height:1.8;
}

/* Version 120 - work hours */
.factory-app .bottom-nav.four{ grid-template-columns:repeat(4,1fr); }
.factory-app .bottom-nav.seven{ grid-template-columns:repeat(7,1fr); gap:5px; padding-left:7px; padding-right:7px; }
.factory-app .bottom-nav.seven .tab-btn{ min-height:46px; font-size:9px; padding:4px 2px; border-radius:13px; }
.factory-app .time-entry-card textarea{ min-height:70px; }
.factory-app .time-summary-grid .stats-card strong{ font-size:15px; }
.factory-app .time-list-row h4{ font-size:15px; }
@media (max-width:390px){
  .factory-app .bottom-nav.four{ gap:6px; }
  .factory-app .bottom-nav.four .tab-btn{ font-size:10px; min-height:48px; }
  .factory-app .bottom-nav.seven{ gap:4px; }
  .factory-app .bottom-nav.seven .tab-btn{ font-size:8.5px; min-height:44px; border-radius:11px; }
}

/* v122 - ساعت کاری ساده با ساعت عقربه‌ای و تاخیر ۸ صبح */
.time-live-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  padding:14px;
  margin-bottom:14px;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}
.time-warning-box{
  background:linear-gradient(135deg,#fff7ed,#fffbeb);
  border:1px solid #fed7aa;
  border-radius:18px;
  padding:12px;
  margin-bottom:12px;
  color:#7c2d12;
}
.time-warning-box strong{
  display:block;
  font-size:13px;
  font-weight:900;
  margin-bottom:6px;
}
.time-warning-box span{
  display:block;
  font-size:12px;
  line-height:1.9;
  font-weight:700;
}
.time-live-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.time-live-grid>div{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:12px;
}
.time-live-grid small{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  margin-bottom:7px;
}
.time-live-grid strong{
  display:block;
  color:#111827;
  font-size:19px;
  font-weight:900;
  letter-spacing:.5px;
}
.time-staff-field{ margin-bottom:12px; }
.time-action-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.time-live-btn{
  border:none;
  border-radius:18px;
  min-height:60px;
  color:#fff;
  font-family:inherit;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
}
.time-live-btn.in{ background:linear-gradient(135deg,#16a34a,#15803d); }
.time-live-btn.out{ background:linear-gradient(135deg,#2563eb,#1d4ed8); }
.time-live-btn:disabled{ opacity:.65; cursor:not-allowed; }
.time-today-status{
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1e3a8a;
  border-radius:16px;
  padding:11px;
  font-size:12px;
  line-height:1.8;
  font-weight:800;
}
.time-today-status strong{ display:block; color:#1d4ed8; margin-bottom:4px; }
.time-today-status span{ display:block; }
.manager-manual-time-card{ border-color:#bfdbfe; }
@media(max-width:380px){
  .time-action-grid,.time-live-grid{ grid-template-columns:1fr; }
}


/* v122 - صفحه ساعت کاری ساده */
.factory-app .time-page-title{ text-align:right; margin-bottom:10px; }
.factory-app .simple-clock-card{
  text-align:center;
  padding:18px 14px 16px;
  border-radius:30px;
  background:#020617;
  color:#fff;
  border:none;
  box-shadow:0 18px 45px rgba(15,23,42,.25);
}
.factory-app .time-shift-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:10px 12px;
  margin-bottom:16px;
  color:#e5e7eb;
  font-size:12px;
  font-weight:900;
}
.factory-app .time-shift-line strong{ color:#fff; font-size:15px; }
.factory-app .fw-analog-clock{
  width:238px;
  height:238px;
  margin:0 auto 12px;
  border-radius:50%;
  background:#f8fafc;
  border:8px solid #e5e7eb;
  position:relative;
  box-shadow:inset 0 0 16px rgba(15,23,42,.13), 0 18px 40px rgba(0,0,0,.25);
  transition:.25s ease;
}
.factory-app .fw-analog-clock.is-late{
  border-color:#ef4444;
  box-shadow:inset 0 0 18px rgba(239,68,68,.20), 0 18px 40px rgba(239,68,68,.18);
}
.factory-app .clock-num{
  position:absolute;
  color:#111827;
  font-size:26px;
  font-weight:800;
  transform:translate(-50%,-50%);
  direction:ltr;
}
.factory-app .n12{top:13%;left:50%;}.factory-app .n1{top:18%;left:69%;}.factory-app .n2{top:32%;left:83%;}.factory-app .n3{top:51%;left:88%;}.factory-app .n4{top:69%;left:82%;}.factory-app .n5{top:82%;left:68%;}.factory-app .n6{top:87%;left:50%;}.factory-app .n7{top:82%;left:32%;}.factory-app .n8{top:69%;left:18%;}.factory-app .n9{top:51%;left:12%;}.factory-app .n10{top:32%;left:17%;}.factory-app .n11{top:18%;left:31%;}
.factory-app .clock-hand{
  position:absolute;
  left:50%;
  bottom:50%;
  transform-origin:50% 100%;
  transform:translateX(-50%) rotate(0deg);
  border-radius:999px;
  transition:transform .15s linear;
}
.factory-app .clock-hand.hour{ width:7px; height:58px; background:#111827; }
.factory-app .clock-hand.minute{ width:5px; height:82px; background:#111827; }
.factory-app .clock-hand.second{ width:3px; height:92px; background:#3b82f6; }
.factory-app .fw-analog-clock.is-late .clock-hand.second{ background:#ef4444; }
.factory-app .clock-dot{
  position:absolute;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#3b82f6;
  border:3px solid #fff;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 2px rgba(59,130,246,.25);
}
.factory-app .time-big-now{
  font-size:29px;
  font-weight:900;
  color:#fff;
  direction:ltr;
  letter-spacing:1px;
  margin-bottom:8px;
}
.factory-app .time-date-simple{
  color:#cbd5e1;
  font-size:13px;
  font-weight:800;
  margin-bottom:10px;
}
.factory-app .time-late-banner{
  border-radius:18px;
  padding:11px 12px;
  margin:0 auto 12px;
  font-size:12px;
  font-weight:900;
  line-height:1.8;
  background:#ecfdf5;
  color:#166534;
}
.factory-app .time-late-banner.late{
  background:#fee2e2;
  color:#991b1b;
  animation:fwlLatePulse 1s ease-in-out infinite alternate;
}
.factory-app .time-late-banner.ok{ background:#dcfce7; color:#166534; }
@keyframes fwlLatePulse{ from{ box-shadow:0 0 0 rgba(239,68,68,0); } to{ box-shadow:0 0 0 5px rgba(239,68,68,.16); } }
.factory-app .time-rule-simple{
  color:#e5e7eb;
  font-size:12px;
  line-height:1.9;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:10px 12px;
  margin-bottom:12px;
  font-weight:800;
}
.factory-app .simple-clock-card .field label{ color:#e5e7eb; }
.factory-app .simple-clock-card .field input{ background:#fff; }
.factory-app .simple-clock-card .time-today-status{
  background:rgba(37,99,235,.16);
  border-color:rgba(147,197,253,.35);
  color:#dbeafe;
  text-align:right;
}
.factory-app .simple-clock-card .time-today-status strong{ color:#fff; }
@media(max-width:380px){
  .factory-app .fw-analog-clock{ width:210px; height:210px; }
  .factory-app .clock-num{ font-size:23px; }
}

/* v123 - ساعت کاری سفید، ساده، دو تب */
.factory-app #page-time .time-page-title{
  margin-bottom:10px;
}
.factory-app .time-subtabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  background:#eef2f7;
  border-radius:18px;
  padding:6px;
  margin-bottom:12px;
}
.factory-app .time-subtab{
  border:none;
  border-radius:14px;
  padding:12px 8px;
  background:transparent;
  color:#64748b;
  font-family:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.factory-app .time-subtab.active{
  background:#ffffff;
  color:#1d4ed8;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.factory-app .time-subpage{ display:none; }
.factory-app .time-subpage.active{ display:block; }
.factory-app #page-time .simple-clock-card{
  background:#ffffff !important;
  color:#111827 !important;
  border:1px solid #e5e7eb !important;
  border-radius:26px !important;
  box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
  padding:14px 13px 15px !important;
}
.factory-app #page-time .time-date-simple{
  color:#475569 !important;
  font-size:13px;
  margin-bottom:10px;
}
.factory-app #page-time .time-date-simple strong{ color:#111827; }
.factory-app #page-time .fw-analog-clock{
  width:224px;
  height:224px;
  margin-bottom:10px;
  background:#f9fafb;
  border:7px solid #e5e7eb;
  box-shadow:inset 0 0 14px rgba(15,23,42,.10), 0 12px 26px rgba(15,23,42,.12);
}
.factory-app #page-time .fw-analog-clock.is-late{
  border-color:#ef4444;
  box-shadow:inset 0 0 14px rgba(239,68,68,.20), 0 12px 26px rgba(239,68,68,.18);
}
.factory-app #page-time .time-big-now{
  color:#111827 !important;
  font-size:27px;
  margin-bottom:7px;
}
.factory-app #page-time .time-shift-line{
  background:#f8fafc !important;
  border:1px solid #e5e7eb !important;
  color:#475569 !important;
  margin:0 0 10px;
}
.factory-app #page-time .time-shift-line strong{ color:#111827 !important; }
.factory-app #page-time .time-late-banner{
  border-radius:16px;
  padding:10px 11px;
  font-size:12px;
  margin-bottom:10px;
}
.factory-app #page-time .time-late-banner.late{
  background:#fee2e2 !important;
  color:#991b1b !important;
  border:1px solid #fecaca;
}
.factory-app #page-time .time-late-banner.ok{
  background:#ecfdf5 !important;
  color:#166534 !important;
  border:1px solid #bbf7d0;
}
.factory-app #page-time .time-rule-simple{
  color:#475569 !important;
  background:#f8fafc !important;
  border:1px solid #e5e7eb !important;
  font-size:12px;
  line-height:1.8;
  margin-bottom:10px;
}
.factory-app #page-time .simple-clock-card .field label{ color:#374151 !important; }
.factory-app #page-time .simple-clock-card .field input{
  background:#fff !important;
  border-color:#d1d5db !important;
}
.factory-app #page-time .time-action-grid{
  margin-bottom:10px;
}
.factory-app #page-time .time-live-btn{
  min-height:56px;
  border-radius:17px;
  font-size:13px;
}
.factory-app #page-time .simple-clock-card .time-today-status{
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
  color:#1e3a8a !important;
  text-align:right;
}
.factory-app #page-time .simple-clock-card .time-today-status strong{ color:#1d4ed8 !important; }
@media(max-width:380px){
  .factory-app #page-time .fw-analog-clock{ width:202px; height:202px; }
  .factory-app #page-time .time-big-now{ font-size:25px; }
  .factory-app #page-time .time-subtab{ font-size:11px; }
}


/* نسخه ۱۲۷: صفحه جداگانه ساعت کاری */
.factory-app.factory-time-only .factory-phone{
  padding-bottom:72px;
}
.factory-app.factory-time-only .bottom-nav.time-only-nav{
  grid-template-columns:1fr;
}
.factory-app.factory-time-only .bottom-nav.time-only-nav .tab-btn{
  max-width:220px;
  margin:0 auto;
  width:100%;
}

/* v128 - صفحه حسابداری مستقل همکار */
.factory-app.factory-accounting-only .bottom-nav.accounting-only-nav{
  grid-template-columns:1fr;
}
.factory-app.factory-accounting-only .bottom-nav.accounting-only-nav .tab-btn{
  max-width:220px;
  width:100%;
  margin:0 auto;
}
.factory-app .accounting-person-card{
  margin-bottom:12px;
}
.factory-app .accounting-main-card{
  background:linear-gradient(135deg,#0f172a,#2563eb);
  color:#fff;
  border-radius:26px;
  padding:20px 18px;
  margin-bottom:12px;
  box-shadow:0 14px 34px rgba(37,99,235,.22);
}
.factory-app .accounting-main-card small{
  display:block;
  font-size:12px;
  opacity:.9;
  margin-bottom:8px;
  font-weight:800;
}
.factory-app .accounting-main-card strong{
  display:block;
  font-size:26px;
  font-weight:950;
  margin-bottom:8px;
}
.factory-app .accounting-main-card span{
  display:block;
  font-size:12px;
  opacity:.9;
  line-height:1.8;
}
.factory-app .accounting-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.factory-app .accounting-grid .mini-card strong{
  font-size:15px;
}
.factory-app .accounting-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0 16px;
}
.factory-app .accounting-action-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  border-radius:18px;
  background:#e2e8f0;
  color:#0f172a;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.factory-app .accounting-action-btn.primary{
  background:#2563eb;
  color:#fff;
  box-shadow:0 10px 24px rgba(37,99,235,.22);
}
.factory-app .accounting-row h4{
  font-size:14px;
}
@media (max-width:380px){
  .factory-app .accounting-grid{ gap:9px; }
  .factory-app .accounting-grid .mini-card{ padding:12px; }
  .factory-app .accounting-actions{ grid-template-columns:1fr; }
}


/* v129 - حسابداری تمیز با دو بخش جدا */
.factory-app .accounting-switch-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  background:#eef2f7;
  border-radius:24px;
  padding:8px;
  margin:10px 0 14px;
  border:1px solid #e5e7eb;
}
.factory-app .accounting-switch{
  border:none;
  background:transparent;
  color:#64748b;
  min-height:58px;
  border-radius:18px;
  font-size:13px;
  font-weight:950;
  font-family:inherit;
  cursor:pointer;
}
.factory-app .accounting-switch.active{
  background:#fff;
  color:#1d4ed8;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}
.factory-app .accounting-tab-panel{ display:none; }
.factory-app .accounting-tab-panel.active{ display:block; }
.factory-app .accounting-main-card.work-main{ background:linear-gradient(135deg,#0f172a,#2563eb); }
.factory-app .accounting-main-card.time-main{ background:linear-gradient(135deg,#065f46,#10b981); }
.factory-app .accounting-status-note{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:12px 14px;
  margin:0 0 12px;
  color:#475569;
  font-size:12px;
  font-weight:850;
  line-height:1.9;
}
.factory-app .accounting-status-note.danger-note{
  background:#fff7ed;
  border-color:#fed7aa;
  color:#9a3412;
}
.factory-app .compact-money-grid,
.factory-app .compact-time-grid{
  margin-bottom:12px;
}
.factory-app .accounting-row{
  border:1px solid #e5e7eb;
}
.factory-app .accounting-row p{
  font-size:12px;
  line-height:2;
}
@media (max-width:380px){
  .factory-app .accounting-switch{ font-size:12px; min-height:52px; }
}


.accounting-salary-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:22px;
  padding:15px;
  margin:12px 0 14px;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.accounting-salary-card small{display:block;color:#64748b;font-size:12px;font-weight:800;margin-bottom:7px}
.accounting-salary-card strong{display:block;color:#0f172a;font-size:22px;font-weight:900;margin-bottom:6px}
.accounting-salary-card span{display:block;color:#64748b;font-size:11px;line-height:1.8}
.salary-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.salary-breakdown span{background:#f8fafc;border-radius:14px;padding:9px;color:#334155;font-weight:800}
.salary-breakdown b{color:#111827}


/* v131 - نمایش مبلغ کارکرد ماه در حساب‌وکتاب ساعت کاری */
.time-month-pay-card{
  background:linear-gradient(135deg,#0f172a,#2563eb);
  color:#fff;
  border-radius:24px;
  padding:18px;
  margin:14px 0;
  box-shadow:0 14px 32px rgba(37,99,235,.22);
}
.time-month-pay-card small{
  display:block;
  font-size:12px;
  opacity:.9;
  margin-bottom:8px;
  font-weight:800;
}
.time-month-pay-card strong{
  display:block;
  font-size:25px;
  line-height:1.7;
  font-weight:900;
}
.time-month-pay-card > span{
  display:block;
  font-size:12px;
  line-height:1.9;
  opacity:.9;
  margin-top:4px;
}
.time-pay-mini{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.time-pay-mini span{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  padding:10px;
  font-size:11px;
  line-height:1.8;
}
.time-pay-mini b{
  display:block;
  font-size:13px;
  margin-top:3px;
}
@media (max-width:380px){
  .time-pay-mini{grid-template-columns:1fr;}
}


/* v132 - کارت بانکی حسابداری؛ مبلغ و صورت‌حساب واضح */
.factory-app .accounting-bank-card{
  background:linear-gradient(135deg,#111827,#2563eb);
  color:#fff;
  border-radius:28px;
  padding:18px;
  margin:14px 0 16px;
  box-shadow:0 18px 38px rgba(37,99,235,.25);
  overflow:hidden;
  position:relative;
}
.factory-app .accounting-bank-card:before{
  content:"";
  position:absolute;
  width:160px;
  height:160px;
  border-radius:50%;
  background:rgba(255,255,255,.09);
  left:-58px;
  top:-58px;
}
.factory-app .accounting-bank-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  position:relative;
  z-index:1;
}
.factory-app .accounting-bank-top span{
  font-size:12px;
  font-weight:900;
  opacity:.92;
}
.factory-app .accounting-bank-top button{
  border:none;
  background:rgba(255,255,255,.16);
  color:#fff;
  border-radius:999px;
  padding:9px 13px;
  font-family:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.factory-app .accounting-bank-card strong{
  display:block;
  position:relative;
  z-index:1;
  margin-top:14px;
  font-size:30px;
  line-height:1.6;
  font-weight:900;
  letter-spacing:-.5px;
}
.factory-app .accounting-bank-card > small{
  display:block;
  position:relative;
  z-index:1;
  font-size:11px;
  line-height:1.9;
  opacity:.86;
}
.factory-app .accounting-bank-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  position:relative;
  z-index:1;
  margin-top:14px;
}
.factory-app .accounting-bank-grid div{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.17);
  border-radius:16px;
  padding:11px;
}
.factory-app .accounting-bank-grid span{
  display:block;
  font-size:10px;
  opacity:.85;
  margin-bottom:5px;
  font-weight:800;
}
.factory-app .accounting-bank-grid b{
  display:block;
  font-size:12px;
  line-height:1.7;
  font-weight:900;
}
@media (max-width:380px){
  .factory-app .accounting-bank-card strong{font-size:25px;}
  .factory-app .accounting-bank-grid{grid-template-columns:1fr;}
}


/* v133 approved white UI for time/accounting */
.factory-app{
  background:#ffffff !important;
}
.factory-app .factory-phone{
  background:#ffffff !important;
}
.factory-app.factory-time-only .factory-phone,
.factory-app.factory-accounting-only .factory-phone{
  padding-bottom:96px !important;
}
.factory-app.factory-time-only > .factory-phone > .bottom-nav.time-only-nav{
  display:grid !important;
}
.factory-app.factory-time-only .app-header,
.factory-app.factory-accounting-only .app-header{
  background:#ffffff;
  margin-bottom:14px;
}
.factory-app.factory-time-only .page-title h2,
.factory-app.factory-accounting-only .page-title h2{
  font-size:24px;
  font-weight:900;
  color:#222;
}
.factory-app.factory-time-only .page-title span,
.factory-app.factory-accounting-only .page-title span{
  color:#7b8494;
  font-weight:800;
}
.factory-app.factory-time-only .time-subtabs.fz-approved-time-tabs{
  position:fixed;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:100%;
  max-width:430px;
  padding:10px 14px 16px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-top:1px solid #e5e7eb;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  z-index:999;
  margin:0;
  border-radius:0;
  box-shadow:none;
}
.factory-app.factory-time-only .time-subtabs.fz-approved-time-tabs .time-subtab{
  height:56px;
  border:0;
  border-radius:18px;
  background:#dfe7f1;
  color:#334155;
  font-size:12px;
  font-weight:900;
  box-shadow:none;
}
.factory-app.factory-time-only .time-subtabs.fz-approved-time-tabs .time-subtab.active{
  background:#2563eb;
  color:#fff;
  box-shadow:0 10px 25px rgba(37,99,235,.22);
}
.factory-app.factory-time-only .time-subpage{
  display:none;
}
.factory-app.factory-time-only .time-subpage.active{
  display:block;
}
.factory-app.factory-time-only .simple-clock-card,
.factory-app.factory-time-only .time-live-card{
  background:#fff !important;
  border:1px solid #e8ebf0 !important;
  border-radius:28px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
  padding:20px 16px !important;
}
.factory-app.factory-time-only .fw-analog-clock{
  width:190px !important;
  height:190px !important;
  background:#fff !important;
  border:10px solid #111827 !important;
  box-shadow:none !important;
}
.factory-app.factory-time-only .fw-analog-clock .clock-num{
  color:#111827 !important;
  font-weight:900 !important;
}
.factory-app.factory-time-only .time-big-now{
  color:#111827 !important;
  font-size:29px !important;
  font-weight:900 !important;
}
.factory-app.factory-time-only .time-action-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.factory-app.factory-time-only .time-live-btn{
  min-height:76px !important;
  border-radius:22px !important;
  font-size:15px !important;
  font-weight:900 !important;
}
.factory-app.factory-time-only .time-rule-simple,
.factory-app.factory-time-only .hint{
  background:#fff7ed !important;
  color:#9a3412 !important;
  border:1px solid #fed7aa !important;
  border-radius:18px !important;
  font-size:13px !important;
  line-height:1.9 !important;
  font-weight:900 !important;
}
.factory-app.factory-time-only .time-staff-field{
  display:none !important;
}
.factory-app.factory-time-only .time-month-pay-card,
.factory-app.factory-time-only .accounting-bank-card{
  background:#fff !important;
  border:1px solid #e8ebf0 !important;
  border-radius:28px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
  padding:18px !important;
  color:#111827 !important;
}
.factory-app.factory-time-only .time-month-pay-card small,
.factory-app.factory-time-only .time-month-pay-card span{
  color:#7b8494 !important;
  font-weight:900 !important;
}
.factory-app.factory-time-only .time-month-pay-card strong{
  color:#111827 !important;
  font-size:30px !important;
  font-weight:900 !important;
}
.factory-app.factory-time-only .time-pay-mini{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
.factory-app.factory-time-only .time-pay-mini span,
.factory-app.factory-time-only .stats-card,
.factory-app.factory-time-only .mini-card{
  background:#f8fafc !important;
  border:1px solid #edf0f4 !important;
  border-radius:20px !important;
  color:#111827 !important;
  box-shadow:none !important;
}
.factory-app.factory-time-only .stats-card small,
.factory-app.factory-time-only .stats-card span{
  color:#7b8494 !important;
}
.factory-app.factory-time-only .stats-card strong{
  color:#111827 !important;
}
.factory-app.factory-time-only .worker-filter-card,
.factory-app.factory-time-only .manager-manual-time-card{
  background:#fff !important;
  border:1px solid #e8ebf0 !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06) !important;
}
.factory-app.factory-time-only #timeSubAccount .manager-manual-time-card,
.factory-app.factory-time-only #timeSubAccount .time-person-filter-card,
.factory-app.factory-time-only #timeSubAccount .worker-filter-card:not(.time-person-filter-card),
.factory-app.factory-time-only #timeSubAccount #timeEntriesList,
.factory-app.factory-time-only #timeSubAccount .section-title{
  display:none;
}
.factory-app.factory-time-only .fz-statement-worker-card{
  background:transparent;
  border:2px solid #111827;
  border-radius:30px;
  min-height:114px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.factory-app.factory-time-only .fz-statement-avatar{
  width:58px;
  height:58px;
  border-radius:50%;
  background:#eef6ff;
  border:2px solid #93c5fd;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
}
.factory-app.factory-time-only .fz-statement-worker-text{
  text-align:center;
  line-height:2;
}
.factory-app.factory-time-only .fz-statement-worker-name{
  font-size:20px;
  font-weight:900;
  color:#222;
}
.factory-app.factory-time-only .fz-statement-balance{
  font-size:19px;
  font-weight:900;
  color:#333;
}
.factory-app.factory-time-only .fz-statement-worker-text small{
  color:#7b8494;
  font-size:12px;
  font-weight:900;
}
.factory-app.factory-time-only .fz-statement-chevron{
  font-size:28px;
  color:#111827;
}
.factory-app.factory-time-only .fz-statement-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:18px;
}
.factory-app.factory-time-only .fz-outline-btn{
  height:60px;
  border:2px solid #2f9cf4;
  border-radius:26px;
  background:transparent;
  color:#2f9cf4;
  font-size:15px;
  font-weight:900;
  font-family:inherit;
}
.factory-app.factory-time-only .fz-statement-pill{
  width:max-content;
  margin:0 auto 22px;
  background:#e9ebef;
  color:#8b94a1;
  border-radius:999px;
  padding:12px 28px;
  font-size:13px;
  font-weight:900;
}
.factory-app.factory-time-only .fz-bank-tx{
  position:relative;
  background:#fff;
  border-radius:28px;
  padding:20px 20px 18px;
  margin-bottom:18px;
  box-shadow:0 12px 30px rgba(15,23,42,.07);
  border:1px solid #e8ebf0;
  min-height:190px;
  overflow:hidden;
}
.factory-app.factory-time-only .fz-tx-icon{
  position:absolute;
  top:24px;
  right:22px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#2f9cf4;
  font-size:42px;
  line-height:1;
  font-weight:300;
}
.factory-app.factory-time-only .fz-tx-title{
  margin:0 68px 14px 0;
  font-size:19px;
  font-weight:900;
  color:#111827;
  line-height:1.6;
}
.factory-app.factory-time-only .fz-tx-line{
  margin:9px 68px 0 0;
  color:#333;
  font-size:16px;
  font-weight:800;
  line-height:1.9;
}
.factory-app.factory-time-only .fz-label{color:#8a8f99;}
.factory-app.factory-time-only .fz-bank-tx .pos{color:#15803d;font-size:19px;font-weight:900;direction:ltr;display:inline-block;}
.factory-app.factory-time-only .fz-bank-tx .neg{color:#b91c1c;font-size:19px;font-weight:900;direction:ltr;display:inline-block;}
.factory-app.factory-time-only .fz-bank-tx .neutral{color:#111827;font-size:17px;font-weight:900;}
.factory-app.factory-time-only .fz-tx-date{
  margin:12px 68px 0 0;
  color:#8a8f99;
  font-size:15px;
  font-weight:900;
  direction:ltr;
  text-align:right;
}
.factory-app.factory-time-only .fz-tx-reason{
  margin:12px 68px 0 0;
  padding:10px 12px;
  border-radius:16px;
  background:#fef2f2;
  color:#991b1b;
  font-size:12px;
  font-weight:900;
  line-height:1.8;
}
.factory-app.factory-time-only .fz-tx-status{
  display:block;
  width:max-content;
  margin:14px auto 0;
  background:#e9ebef;
  color:#8b94a1;
  border-radius:999px;
  padding:10px 28px;
  font-size:13px;
  font-weight:900;
}
.factory-app.factory-time-only .fz-tx-status.ok{background:#dcfce7;color:#166534;}
.factory-app.factory-time-only .fz-tx-status.bad{background:#fee2e2;color:#991b1b;}
.factory-app.factory-time-only .fz-tx-arr{
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  color:#6b7280;
  font-size:44px;
}
.factory-app.factory-accounting-only .accounting-bank-card,
.factory-app.factory-accounting-only .accounting-main-card,
.factory-app.factory-accounting-only .accounting-salary-card,
.factory-app.factory-accounting-only .worker-filter-card{
  background:#fff !important;
  border:1px solid #e8ebf0 !important;
  box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
}

/* v134 - اعمال ظاهر تاییدشده ساعت کاری روی صفحه اصلی /kar هم مثل /time */
.factory-app #page-time{
  background:#ffffff !important;
}
.factory-app #page-time .time-page-title{
  margin-bottom:14px !important;
}
.factory-app #page-time .time-page-title h2{
  font-size:24px !important;
  font-weight:900 !important;
  color:#222 !important;
}
.factory-app #page-time .time-page-title span{
  color:#7b8494 !important;
  font-weight:800 !important;
}
.factory-app:not(.factory-time-only) #page-time .time-subtabs.fz-approved-time-tabs{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:8px !important;
  background:#eef2f7 !important;
  border-radius:22px !important;
  padding:8px !important;
  margin:0 0 16px !important;
  box-shadow:none !important;
}
.factory-app:not(.factory-time-only) #page-time .time-subtabs.fz-approved-time-tabs .time-subtab{
  min-height:54px !important;
  border:0 !important;
  border-radius:18px !important;
  background:transparent !important;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
.factory-app:not(.factory-time-only) #page-time .time-subtabs.fz-approved-time-tabs .time-subtab.active{
  background:#ffffff !important;
  color:#1d4ed8 !important;
  box-shadow:0 10px 25px rgba(15,23,42,.08) !important;
}
.factory-app #page-time .simple-clock-card,
.factory-app #page-time .time-live-card{
  background:#fff !important;
  border:1px solid #e8ebf0 !important;
  border-radius:28px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
  padding:20px 16px !important;
  color:#111827 !important;
}
.factory-app #page-time .fw-analog-clock{
  width:190px !important;
  height:190px !important;
  background:#fff !important;
  border:10px solid #111827 !important;
  box-shadow:none !important;
}
.factory-app #page-time .fw-analog-clock .clock-num{
  color:#111827 !important;
  font-weight:900 !important;
}
.factory-app #page-time .time-big-now{
  color:#111827 !important;
  font-size:29px !important;
  font-weight:900 !important;
}
.factory-app #page-time .time-date-simple,
.factory-app #page-time .time-shift-line{
  color:#64748b !important;
  font-weight:900 !important;
  text-align:center !important;
}
.factory-app #page-time .time-late-banner{
  background:#fef2f2 !important;
  color:#b91c1c !important;
  border:1px solid #fecaca !important;
  border-radius:18px !important;
  padding:12px !important;
  font-size:14px !important;
  font-weight:900 !important;
}
.factory-app #page-time .time-rule-simple{
  background:#fff7ed !important;
  color:#9a3412 !important;
  border:1px solid #fed7aa !important;
  border-radius:18px !important;
  padding:12px !important;
  font-size:13px !important;
  line-height:1.9 !important;
  font-weight:900 !important;
}
.factory-app #page-time .time-staff-field{
  display:none !important;
}
.factory-app #page-time .time-action-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin:0 0 14px !important;
}
.factory-app #page-time .time-live-btn{
  min-height:76px !important;
  border-radius:22px !important;
  font-size:15px !important;
  font-weight:900 !important;
}
.factory-app #page-time .time-today-status{
  background:#f8fafc !important;
  border:1px solid #edf0f4 !important;
  border-radius:18px !important;
  color:#334155 !important;
  padding:12px !important;
  font-weight:900 !important;
}

/* حساب ماه: فقط خلاصه تاییدشده نمایش داده شود */
.factory-app #page-time #timeSubAccount .manager-manual-time-card,
.factory-app #page-time #timeSubAccount .time-person-filter-card,
.factory-app #page-time #timeSubAccount .worker-filter-card:not(.time-person-filter-card),
.factory-app #page-time #timeSubAccount #timeEntriesList,
.factory-app #page-time #timeSubAccount .section-title{
  display:none !important;
}
.factory-app #page-time .time-month-pay-card{
  background:#fff !important;
  border:1px solid #e8ebf0 !important;
  border-radius:28px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
  padding:18px !important;
  color:#111827 !important;
  margin-bottom:14px !important;
}
.factory-app #page-time .time-month-pay-card small,
.factory-app #page-time .time-month-pay-card span{
  color:#7b8494 !important;
  font-weight:900 !important;
}
.factory-app #page-time .time-month-pay-card strong{
  color:#111827 !important;
  font-size:30px !important;
  font-weight:900 !important;
}
.factory-app #page-time .time-pay-mini{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
}
.factory-app #page-time .time-pay-mini span,
.factory-app #page-time .stats-card{
  background:#f8fafc !important;
  border:1px solid #edf0f4 !important;
  border-radius:20px !important;
  color:#111827 !important;
  box-shadow:none !important;
  padding:14px !important;
}
.factory-app #page-time .stats-card small,
.factory-app #page-time .stats-card span{
  color:#7b8494 !important;
}
.factory-app #page-time .stats-card strong{
  color:#111827 !important;
}

/* صورت‌حساب: دقیقا حالت کارت بانکی تاییدشده */
.factory-app #page-time .fz-statement-worker-card{
  background:transparent !important;
  border:2px solid #111827 !important;
  border-radius:30px !important;
  min-height:114px !important;
  padding:16px 18px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  gap:12px !important;
  align-items:center !important;
  margin-bottom:16px !important;
  box-shadow:none !important;
}
.factory-app #page-time .fz-statement-avatar{
  width:58px !important;
  height:58px !important;
  border-radius:50% !important;
  background:#eef6ff !important;
  border:2px solid #93c5fd !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:28px !important;
  flex:0 0 auto !important;
}
.factory-app #page-time .fz-statement-worker-text{
  text-align:center !important;
  line-height:2 !important;
}
.factory-app #page-time .fz-statement-worker-name{
  font-size:20px !important;
  font-weight:900 !important;
  color:#222 !important;
}
.factory-app #page-time .fz-statement-balance{
  font-size:19px !important;
  font-weight:900 !important;
  color:#333 !important;
}
.factory-app #page-time .fz-statement-worker-text small{
  color:#7b8494 !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.factory-app #page-time .fz-statement-chevron{
  font-size:28px !important;
  color:#111827 !important;
}
.factory-app #page-time .fz-statement-buttons{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin-bottom:18px !important;
}
.factory-app #page-time .fz-outline-btn{
  height:60px !important;
  border:2px solid #2f9cf4 !important;
  border-radius:26px !important;
  background:transparent !important;
  color:#2f9cf4 !important;
  font-size:15px !important;
  font-weight:900 !important;
  font-family:inherit !important;
  box-shadow:none !important;
}
.factory-app #page-time .fz-statement-pill{
  width:max-content !important;
  margin:0 auto 22px !important;
  background:#e9ebef !important;
  color:#8b94a1 !important;
  border-radius:999px !important;
  padding:12px 28px !important;
  font-size:13px !important;
  font-weight:900 !important;
}
.factory-app #page-time .fz-bank-tx{
  position:relative !important;
  background:#fff !important;
  border-radius:28px !important;
  padding:20px 20px 18px !important;
  margin-bottom:18px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.07) !important;
  border:1px solid #e8ebf0 !important;
  min-height:190px !important;
  overflow:hidden !important;
  display:block !important;
}
.factory-app #page-time .fz-tx-icon{
  position:absolute !important;
  top:24px !important;
  right:22px !important;
  width:48px !important;
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#2f9cf4 !important;
  font-size:42px !important;
  line-height:1 !important;
  font-weight:300 !important;
}
.factory-app #page-time .fz-tx-title{
  margin:0 68px 14px 0 !important;
  font-size:19px !important;
  font-weight:900 !important;
  color:#111827 !important;
  line-height:1.6 !important;
  text-align:right !important;
}
.factory-app #page-time .fz-tx-line{
  margin:9px 68px 0 0 !important;
  color:#333 !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.9 !important;
  text-align:right !important;
}
.factory-app #page-time .fz-label{color:#8a8f99 !important;}
.factory-app #page-time .fz-bank-tx .pos{color:#15803d !important;font-size:19px !important;font-weight:900 !important;direction:ltr !important;display:inline-block !important;}
.factory-app #page-time .fz-bank-tx .neg{color:#b91c1c !important;font-size:19px !important;font-weight:900 !important;direction:ltr !important;display:inline-block !important;}
.factory-app #page-time .fz-bank-tx .neutral{color:#111827 !important;font-size:17px !important;font-weight:900 !important;}
.factory-app #page-time .fz-tx-date{
  margin:12px 68px 0 0 !important;
  color:#8a8f99 !important;
  font-size:15px !important;
  font-weight:900 !important;
  direction:ltr !important;
  text-align:right !important;
}
.factory-app #page-time .fz-tx-reason{
  margin:12px 68px 0 0 !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  background:#fef2f2 !important;
  color:#991b1b !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.8 !important;
  text-align:right !important;
}
.factory-app #page-time .fz-tx-status{
  display:block !important;
  width:max-content !important;
  margin:14px auto 0 !important;
  background:#e9ebef !important;
  color:#8b94a1 !important;
  border-radius:999px !important;
  padding:10px 28px !important;
  font-size:13px !important;
  font-weight:900 !important;
}
.factory-app #page-time .fz-tx-status.ok{background:#dcfce7 !important;color:#166534 !important;}
.factory-app #page-time .fz-tx-status.bad{background:#fee2e2 !important;color:#991b1b !important;}
.factory-app #page-time .fz-tx-arr{
  position:absolute !important;
  left:24px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#6b7280 !important;
  font-size:44px !important;
}
@media(max-width:380px){
  .factory-app #page-time .fz-bank-tx{padding:18px 16px !important;}
  .factory-app #page-time .fz-tx-title,
  .factory-app #page-time .fz-tx-line,
  .factory-app #page-time .fz-tx-date,
  .factory-app #page-time .fz-tx-reason{margin-right:58px !important;}
  .factory-app #page-time .fz-tx-icon{right:16px !important;}
}

/* نسخه ۱۳۵: زمینه سفید و پنل ثبت پرداخت */
.factory-app{background:#fff !important;}
.factory-app .factory-phone{background:#fff !important;}
.factory-app #page-time{background:#fff !important;}
.factory-app .manager-payment-card{background:#fff !important;border:1px solid #e8ebf0 !important;border-radius:24px !important;box-shadow:0 12px 30px rgba(15,23,42,.07) !important;}
.factory-app .manager-payment-card .filter-toggle-btn span{font-weight:900 !important;}
.factory-app #page-time .fz-payment-tx .fz-tx-icon{color:#b91c1c !important;}
.factory-app #page-time .fz-payment-note{background:#eff6ff !important;color:#1d4ed8 !important;}

/* نسخه ۱۳۶: کارت‌های خلاصه ساعت کاری کلیک‌پذیر شدند */
.factory-app #page-time .time-summary-click{
  cursor:pointer !important;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
.factory-app #page-time .time-summary-click:active{
  transform:scale(.98) !important;
}
.factory-app #page-time .time-summary-click.active{
  border-color:#2563eb !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12) !important;
}
.factory-app #page-time #timeEntriesTitle{
  font-weight:900 !important;
  color:#111827 !important;
}

/* v137 - Workshop author manager page */
.factory-app .workshop-manager-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:24px;
  padding:14px;
  box-shadow:0 10px 26px rgba(15,23,42,.06);
  margin-bottom:14px;
}
.factory-app .workshop-manager-head{ margin-bottom:12px; }
.factory-app .workshop-manager-head strong{
  display:block;
  color:#111827;
  font-size:16px;
  font-weight:900;
  margin-bottom:5px;
}
.factory-app .workshop-manager-head span{
  display:block;
  color:#6b7280;
  font-size:12px;
  font-weight:700;
  line-height:1.8;
}
.factory-app .workshop-subordinate-list{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  max-height:310px;
  overflow:auto;
  padding:3px 0 10px;
}
.factory-app .workshop-user-check{
  display:flex;
  align-items:center;
  gap:10px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:11px 12px;
  font-weight:900;
  color:#111827;
}
.factory-app .workshop-user-check input{
  width:20px;
  height:20px;
  accent-color:#2563eb;
}
.factory-app .workshop-check{
  margin:0 0 12px;
  display:flex;
  align-items:center;
  gap:8px;
}
.factory-app .workshop-summary-row h4{font-size:14px;}
.factory-app .workshop-summary-row p{font-size:12px;line-height:1.9;}
.factory-app .bottom-nav.five{ grid-template-columns:repeat(5,1fr); gap:6px; padding-left:8px; padding-right:8px; }
.factory-app .bottom-nav.five .tab-btn{ font-size:9.5px; min-height:48px; padding:4px 2px; border-radius:13px; }
@media(max-width:390px){
  .factory-app .bottom-nav.five{ gap:4px; }
  .factory-app .bottom-nav.five .tab-btn{ font-size:8.5px; min-height:44px; border-radius:11px; }
}
.factory-app .bottom-nav.eight{ grid-template-columns:repeat(8,1fr); gap:4px; padding-left:6px; padding-right:6px; }
.factory-app .bottom-nav.eight .tab-btn{ min-height:44px; font-size:8px; padding:4px 1px; border-radius:11px; }


/* v103/v104: نمایش منوی تایید ساعت و مدیر کارگاه برای نقش نویسنده در نسخه مستقل */
.factory-app .bottom-nav.two,
.factory-app.factory-approval-only .bottom-nav.time-approval-only-nav.two,
.factory-app.factory-workshop-only .bottom-nav.workshop-only-nav.two,
.factory-app.factory-time-only .bottom-nav.time-only-nav.two{
  grid-template-columns:repeat(2,1fr) !important;
}
.factory-app.factory-approval-only .factory-phone,
.factory-app.factory-workshop-only .factory-phone{
  padding-bottom:96px !important;
}
.factory-app.factory-approval-only .bottom-nav.time-approval-only-nav,
.factory-app.factory-workshop-only .bottom-nav.workshop-only-nav{
  display:grid !important;
}

/* v104: فقط یک شورت‌کد و منوی یکپارچه ساعت کاری */
.factory-app .bottom-nav.one{
  grid-template-columns:1fr !important;
}
.factory-app .bottom-nav.fta-unified-nav{
  display:grid !important;
}
.factory-app .bottom-nav.fta-unified-nav .tab-btn{
  min-height:54px;
}


/* v105: منوی واضح بالای صفحه برای نقش نویسنده/مدیر کارگاه؛ اگر منوی پایین دیده نشود این منو همیشه قابل مشاهده است. */
.factory-app .fta-top-role-menu{
  display:grid;
  gap:8px;
  margin:0 0 14px;
  padding:10px;
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:22px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.factory-app .fta-top-role-menu.one{ grid-template-columns:1fr; }
.factory-app .fta-top-role-menu.two{ grid-template-columns:repeat(2,1fr); }
.factory-app .fta-top-role-menu.three{ grid-template-columns:repeat(3,1fr); }
.factory-app .fta-top-role-menu .tab-btn{
  min-height:48px;
  border-radius:16px;
  font-size:12px;
}
.factory-app .bottom-nav.fta-unified-nav{
  z-index:99999 !important;
}
@media(max-width:390px){
  .factory-app .fta-top-role-menu{ gap:6px; padding:8px; }
  .factory-app .fta-top-role-menu .tab-btn{ font-size:10px; min-height:44px; border-radius:13px; }
}


/* v107: منوی اجباری و قابل مشاهده برای نویسنده/مدیر کارگاه */
.factory-app .fta-hard-role-menu,
.factory-app .fta-inline-page-menu{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  overflow:visible !important;
  position:relative !important;
  z-index:999999 !important;
}
.factory-app .fta-hard-role-menu .tab-btn,
.factory-app .fta-inline-page-menu .tab-btn{
  display:block !important;
}
.factory-app .fta-active-version-note{ display:block !important; visibility:visible !important; }
.factory-app .app-header-main .fta-version-badge{ display:inline-block !important; }

/* v110 clean time display */
.factory-app .fta-time-late-red{color:#dc2626!important;font-weight:900!important}
.factory-app .fta-time-worked-green{color:#16a34a!important;font-weight:900!important}
.factory-app .fta-inline-page-menu{display:none!important}

/* v111 - ویرایش بهتر ساعت کاری و تاریخ شمسی */
.jalali-date-input{
  font-family: inherit;
  text-align:center;
  direction:ltr;
  letter-spacing:.5px;
  font-weight:900;
}
.fta-modal{
  position:fixed;
  inset:0;
  z-index:9999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.fta-modal.show{display:flex;}
.fta-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
  backdrop-filter:blur(5px);
}
.fta-modal-card{
  position:relative;
  width:min(560px,96vw);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border-radius:26px;
  box-shadow:0 25px 80px rgba(15,23,42,.32);
  padding:18px;
  direction:rtl;
}
.fta-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.fta-modal-head strong{font-size:18px;color:#111827;}
.fta-modal-close{
  width:40px;
  height:40px;
  border:0;
  border-radius:14px;
  background:#f1f5f9;
  color:#111827;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.fta-edit-current,
.fta-edit-preview{
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:12px;
  margin-bottom:12px;
  color:#475569;
  font-size:13px;
  line-height:1.9;
}
.fta-edit-current span{font-weight:900;color:#0f172a;}
.fta-edit-grid{margin-bottom:10px;}
.fta-modal-actions{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:10px;
  margin-top:12px;
}
.fta-modal-actions .submit-btn{margin:0;}
.fta-time-late-red{color:#dc2626!important;font-weight:950!important;}
.fta-time-worked-green{color:#16a34a!important;font-weight:950!important;}
@media (max-width:640px){
  .fta-modal{align-items:flex-end;padding:0;}
  .fta-modal-card{width:100%;max-height:92vh;border-radius:28px 28px 0 0;padding:16px;}
  .fta-modal-actions{grid-template-columns:1fr;}
}
.fta-time24-input{
  direction:ltr!important;
  text-align:center!important;
  font-family:Arial, sans-serif!important;
  font-weight:900!important;
  letter-spacing:.8px;
}
.fta-edit-message{
  min-height:22px;
  margin:8px 0 0;
  font-size:13px;
  font-weight:800;
  line-height:1.8;
}
.fta-edit-message.error{color:#dc2626;}
.fta-edit-message.success{color:#16a34a;}
.fta-edit-warning{color:#dc2626;font-weight:900;margin-top:6px;}
#timeLiveClock,#timeWorkStartLabel{
  direction:ltr!important;
  unicode-bidi:embed;
  font-family:Arial, sans-serif!important;
}

/* نسخه ۱۱۵: کارت‌های وضعیت تایید ساعت کاری قابل کلیک شدند */
.factory-app .workshop-time-approval-stats .workshop-time-status-card{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid transparent;
  text-align:center;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.factory-app .workshop-time-approval-stats .workshop-time-status-card:active{
  transform:scale(.98);
}
.factory-app .workshop-time-approval-stats .workshop-time-status-card.active{
  border-color:#2563eb !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.16), 0 10px 24px rgba(15,23,42,.08) !important;
}
.factory-app .workshop-time-approval-stats .workshop-time-status-card.active strong{
  text-decoration:underline;
}
