/* =====================================================
   SAM Travel Invoice Manager — Frontend Portal
   يُحمَّل دائمًا مع admin.css (يعتمد على نفس النظام).
   ===================================================== */

.samtim-frontend{
  direction:rtl;text-align:right;
  font-family:"Cairo","Tajawal","Segoe UI",Tahoma,Arial,sans-serif;
  color:var(--sam-text,#0f172a);
  max-width:1320px;margin:24px auto;padding:0 18px;
  line-height:1.65;
  background:transparent;
}
.samtim-frontend *{box-sizing:border-box}

/* ===== Frontend table reset (matches admin exactly, overrides theme) ===== */
.samtim-frontend .samtim-table-wrap{
  background:#fff !important;border:1px solid var(--sam-border,#e2e8f0) !important;
  border-radius:14px !important;overflow:hidden !important;
  box-shadow:var(--sam-shadow-sm,0 1px 2px rgba(15,23,42,.05)) !important;
  box-sizing:border-box;
}
.samtim-frontend .samtim-table,
.samtim-frontend table.samtim-table{
  width:100% !important;border-collapse:separate !important;border-spacing:0 !important;
  margin:0 !important;background:#fff !important;border:none !important;border-radius:0 !important;box-shadow:none !important;
  font-family:inherit !important;font-size:14px !important;
}
.samtim-frontend .samtim-table caption{display:none !important}
.samtim-frontend .samtim-table thead{background:#fafbfc !important}
.samtim-frontend .samtim-table thead th{
  padding:12px 16px !important;text-align:right !important;
  font-weight:700 !important;font-size:11px !important;color:var(--sam-text-muted,#64748b) !important;
  border-bottom:1px solid var(--sam-border,#e2e8f0) !important;
  text-transform:uppercase !important;letter-spacing:.06em !important;white-space:nowrap !important;
  background:#fafbfc !important;font-family:inherit !important;
}
.samtim-frontend .samtim-table thead th:first-child{padding-inline-start:20px !important}
.samtim-frontend .samtim-table thead th:last-child{padding-inline-end:20px !important}
.samtim-frontend .samtim-table tbody td{
  padding:14px 16px !important;border-bottom:1px solid var(--sam-border-soft,#eef2f7) !important;
  font-size:14px !important;color:var(--sam-text,#0f172a) !important;vertical-align:middle !important;
  text-align:right !important;background:transparent !important;font-family:inherit !important;
  border-top:none !important;border-left:none !important;border-right:none !important;
}
.samtim-frontend .samtim-table tbody td:first-child{padding-inline-start:20px !important}
.samtim-frontend .samtim-table tbody td:last-child{padding-inline-end:20px !important}
.samtim-frontend .samtim-table tbody tr{background:transparent !important;transition:background 180ms ease}
.samtim-frontend .samtim-table tbody tr:nth-child(even){background:transparent !important}
.samtim-frontend .samtim-table tbody tr:hover{background:#fafcfe !important}
.samtim-frontend .samtim-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--sam-primary,#0d9488)}
.samtim-frontend .samtim-table tbody tr:last-child td{border-bottom:none !important}
.samtim-frontend .samtim-table tbody td strong{font-weight:600 !important;color:var(--sam-text,#0f172a) !important}
.samtim-frontend .samtim-table a{text-decoration:none !important;box-shadow:none !important;border-bottom:none !important}

/* Action chips on frontend (match admin colors) */
.samtim-frontend .samtim-table .actions{
  white-space:nowrap !important;text-align:right !important;
  display:flex !important;gap:6px !important;justify-content:flex-start !important;align-items:center !important;
}
.samtim-frontend .samtim-table .actions a,
.samtim-frontend .samtim-table .actions button{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:5px !important;
  height:32px !important;padding:0 12px !important;border-radius:8px !important;
  font-size:12.5px !important;font-weight:600 !important;border:1px solid transparent !important;
  cursor:pointer !important;transition:all 180ms ease !important;text-decoration:none !important;line-height:1 !important;font-family:inherit !important;
  background:var(--sam-bg-soft,#f1f5f9) !important;color:var(--sam-text-soft,#475569) !important;border-color:var(--sam-border-soft,#eef2f7) !important;
  box-shadow:none !important;
}
.samtim-frontend .samtim-table .actions .dashicons{font-size:14px !important;width:14px !important;height:14px !important;line-height:1 !important}
.samtim-frontend .samtim-table .actions .action-view{background:#eff6ff !important;color:#1d4ed8 !important;border-color:#dbeafe !important}
.samtim-frontend .samtim-table .actions .action-view:hover{background:#1d4ed8 !important;color:#fff !important;border-color:#1d4ed8 !important;box-shadow:0 4px 10px -2px rgba(29,78,216,.4) !important;transform:translateY(-1px)}
.samtim-frontend .samtim-table .actions .action-edit{background:#fffbeb !important;color:#b45309 !important;border-color:#fde68a !important}
.samtim-frontend .samtim-table .actions .action-edit:hover{background:#d97706 !important;color:#fff !important;border-color:#d97706 !important;box-shadow:0 4px 10px -2px rgba(217,119,6,.4) !important;transform:translateY(-1px)}
.samtim-frontend .samtim-table .actions .action-print{background:#faf5ff !important;color:#7e22ce !important;border-color:#e9d5ff !important}
.samtim-frontend .samtim-table .actions .action-print:hover{background:#7e22ce !important;color:#fff !important;border-color:#7e22ce !important;box-shadow:0 4px 10px -2px rgba(126,34,206,.4) !important;transform:translateY(-1px)}
.samtim-frontend .samtim-table .actions .icon-only{width:32px !important;padding:0 !important;justify-content:center !important}
.samtim-frontend .samtim-table .actions .icon-only span:not(.dashicons){display:none !important}

/* Cell with avatar - ensure consistent rendering */
.samtim-frontend .samtim-table .cell-with-avatar{display:flex !important;align-items:center !important;gap:10px !important}
.samtim-frontend .samtim-table .cell-avatar{
  flex-shrink:0 !important;width:36px !important;height:36px !important;border-radius:10px !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  font-weight:700 !important;font-size:14px !important;color:#fff !important;
  background:linear-gradient(135deg,var(--sam-primary,#0d9488) 0%,var(--sam-primary-700,#115e59) 100%) !important;
  text-transform:uppercase !important;letter-spacing:.02em !important;border:none !important;
}
.samtim-frontend .samtim-table .cell-text{display:flex !important;flex-direction:column !important;min-width:0 !important;gap:2px !important}
.samtim-frontend .samtim-table .cell-sub{font-size:12px !important;color:var(--sam-text-muted,#64748b) !important;font-weight:400 !important}
.samtim-frontend .samtim-table .cell-money{font-weight:700 !important;font-variant-numeric:tabular-nums !important;direction:ltr !important;display:inline-block !important}

/* Empty state on frontend */
.samtim-frontend .samtim-table .empty-row td{
  text-align:center !important;color:var(--sam-text-muted,#64748b) !important;
  padding:60px 16px !important;font-style:normal !important;border-bottom:none !important;
}
.samtim-frontend .samtim-table .empty-row:hover{background:transparent !important}
.samtim-frontend .samtim-table .empty-row:hover td:first-child{box-shadow:none !important}

/* ===== Top Navigation ===== */
.samtim-portal-nav{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  margin-bottom:22px;padding:14px 22px;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);
  border:1px solid var(--sam-border,#e2e8f0);
  border-radius:var(--sam-radius-lg,18px);
  box-shadow:var(--sam-shadow-sm,0 1px 2px rgba(15,23,42,.04));
}
.samtim-portal-brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:var(--sam-primary-600,#0f766e)}
.samtim-portal-brand::before{
  content:"";display:inline-block;width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,var(--sam-primary,#0d9488) 0%,var(--sam-primary-700,#115e59) 100%);
  position:relative;flex-shrink:0;
  box-shadow:0 4px 10px rgba(13,148,136,.25);
}
.samtim-portal-brand .samtim-user{margin-inline-start:6px;color:var(--sam-text-muted,#64748b);font-size:13px;font-weight:500}
.samtim-nav-list{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.samtim-nav-list li a{
  display:inline-flex;align-items:center;padding:9px 16px;border-radius:10px;
  text-decoration:none;color:var(--sam-text,#0f172a);
  background:#fff;border:1px solid var(--sam-border,#e2e8f0);font-size:14px;font-weight:600;
  transition:all 180ms cubic-bezier(.4,0,.2,1);
}
.samtim-nav-list li a:hover{background:var(--sam-primary-50,#ecfdf5);border-color:#a7f3d0;color:var(--sam-primary-700,#115e59);transform:translateY(-1px)}
.samtim-nav-list li.active a{
  background:linear-gradient(135deg,var(--sam-primary,#0d9488) 0%,var(--sam-primary-600,#0f766e) 100%);
  color:#fff;border-color:var(--sam-primary-600,#0f766e);
  box-shadow:0 4px 12px rgba(13,148,136,.3);
}
.samtim-nav-list li.active a:hover{transform:translateY(-1px);color:#fff}
.samtim-nav-list li.logout a{background:#fff;border-color:#fecaca;color:#b91c1c}
.samtim-nav-list li.logout a:hover{background:#fef2f2;border-color:#f87171;color:#991b1b}

/* Hamburger toggle (mobile only) */
.sam-nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;border-radius:10px;background:#fff;border:1px solid var(--sam-border,#e2e8f0);cursor:pointer;transition:all 180ms cubic-bezier(.4,0,.2,1);font-family:inherit}
.sam-nav-toggle:hover{background:var(--sam-primary-50,#ecfdf5);border-color:#5eead4}
.sam-nav-toggle span{display:block;height:2.5px;width:100%;background:var(--sam-text-soft,#475569);border-radius:2px;transition:transform 220ms ease,opacity 220ms ease}
.sam-nav-toggle.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.sam-nav-toggle.is-open span:nth-child(2){opacity:0}
.sam-nav-toggle.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Theme toggle button */
.samtim-nav-list li.theme-toggle .sam-theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;padding:0;border-radius:10px;cursor:pointer;
  background:#fff;border:1px solid var(--sam-border,#e2e8f0);color:var(--sam-text-soft,#475569);
  transition:all 180ms cubic-bezier(.4,0,.2,1);font-family:inherit;
}
.samtim-nav-list li.theme-toggle .sam-theme-toggle:hover{background:var(--sam-primary-50,#ecfdf5);border-color:#5eead4;color:var(--sam-primary-700,#115e59);transform:translateY(-1px)}
.samtim-nav-list li.theme-toggle .dashicons{font-size:18px;width:18px;height:18px;line-height:1}

/* ===== Dark Mode ===== */
html[data-sam-theme="dark"]{
  --sam-bg:#0b1220;
  --sam-bg-soft:#162033;
  --sam-card-bg:#111a2e;
  --sam-border:#243049;
  --sam-border-soft:#1c2740;
  --sam-text:#e2e8f0;
  --sam-text-soft:#cbd5e1;
  --sam-text-muted:#94a3b8;
  --sam-shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --sam-shadow:0 4px 12px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.3);
  --sam-shadow-lg:0 12px 32px -8px rgba(0,0,0,.7),0 4px 12px rgba(0,0,0,.4);
}
html[data-sam-theme="dark"] .samtim-frontend{background:var(--sam-bg);color:var(--sam-text)}
html[data-sam-theme="dark"] .samtim-frontend h1,html[data-sam-theme="dark"] .samtim-frontend h2,html[data-sam-theme="dark"] .samtim-frontend h3,html[data-sam-theme="dark"] .samtim-frontend h4{color:var(--sam-text)}
html[data-sam-theme="dark"] .samtim-frontend a{color:#5eead4}
html[data-sam-theme="dark"] .samtim-portal-nav{background:linear-gradient(135deg,#111a2e 0%,#162033 100%);border-color:var(--sam-border)}
html[data-sam-theme="dark"] .samtim-nav-list li a{background:#1c2740;border-color:#2c3a57;color:#e2e8f0}
html[data-sam-theme="dark"] .samtim-nav-list li a:hover{background:#243049;color:#5eead4}
html[data-sam-theme="dark"] .samtim-nav-list li.logout a{background:#1c1820;border-color:#7f1d1d;color:#fca5a5}
html[data-sam-theme="dark"] .samtim-nav-list li.theme-toggle .sam-theme-toggle{background:#1c2740;border-color:#2c3a57;color:#e2e8f0}
html[data-sam-theme="dark"] .samtim-nav-list li.theme-toggle .sam-theme-toggle:hover{background:#243049;color:#5eead4}
html[data-sam-theme="dark"] .samtim-card{background:var(--sam-card-bg);border-color:var(--sam-border);color:var(--sam-text)}
html[data-sam-theme="dark"] .samtim-card.samtim-welcome{background:linear-gradient(135deg,var(--sam-primary) 0%,var(--sam-primary-700) 100%);color:#fff;border:none}
html[data-sam-theme="dark"] .samtim-card.samtim-welcome h2{color:#fff}
html[data-sam-theme="dark"] .samtim-card.samtim-welcome p{color:rgba(255,255,255,.88)}
html[data-sam-theme="dark"] .samtim-card.stat{background:linear-gradient(135deg,#111a2e 0%,#162033 100%)}
html[data-sam-theme="dark"] .samtim-card.muted{background:#162033}
html[data-sam-theme="dark"] .samtim-table-wrap,html[data-sam-theme="dark"] .samtim-table{background:var(--sam-card-bg);border-color:var(--sam-border)}
html[data-sam-theme="dark"] .samtim-table thead,html[data-sam-theme="dark"] .samtim-table thead th{background:#162033;color:var(--sam-text-muted);border-color:var(--sam-border)}
html[data-sam-theme="dark"] .samtim-table tbody td{color:var(--sam-text);border-color:var(--sam-border-soft)}
html[data-sam-theme="dark"] .samtim-table tbody tr:hover{background:rgba(255,255,255,.03)}
html[data-sam-theme="dark"] .samtim-table tbody td .cell-sub{color:var(--sam-text-muted)}
html[data-sam-theme="dark"] .samtim-table-toolbar{background:var(--sam-card-bg);border-color:var(--sam-border)}
html[data-sam-theme="dark"] .samtim-table-toolbar select,html[data-sam-theme="dark"] .samtim-table-toolbar .samtim-search input{background:#162033;border-color:var(--sam-border);color:var(--sam-text)}
html[data-sam-theme="dark"] .samtim-table-toolbar select:hover{background:#1c2740}
html[data-sam-theme="dark"] .samtim-table-toolbar .samtim-toolbar-info{background:#162033;color:var(--sam-text-muted)}
html[data-sam-theme="dark"] .samtim-table .empty-row .empty-state::before{background-color:#162033}
html[data-sam-theme="dark"] .samtim-field input,html[data-sam-theme="dark"] .samtim-field select,html[data-sam-theme="dark"] .samtim-field textarea{background:#162033;border-color:var(--sam-border);color:var(--sam-text)}
html[data-sam-theme="dark"] .samtim-field input[readonly]{background:#0b1220;color:var(--sam-text-muted)}
html[data-sam-theme="dark"] .samtim-field label{color:var(--sam-text-soft)}
html[data-sam-theme="dark"] .samtim-frontend .button{background:#1c2740;border-color:#2c3a57;color:var(--sam-text)}
html[data-sam-theme="dark"] .samtim-frontend .button:hover{background:#243049;border-color:#3b4a6b}
html[data-sam-theme="dark"] .detail-item{background:#162033;border-color:var(--sam-border)}
html[data-sam-theme="dark"] .detail-item span{color:var(--sam-text-muted)}
html[data-sam-theme="dark"] .detail-item strong{color:var(--sam-text)}
html[data-sam-theme="dark"] .samtim-table .actions a,html[data-sam-theme="dark"] .samtim-table .actions button{background:#1c2740;border-color:#2c3a57;color:var(--sam-text-soft)}
html[data-sam-theme="dark"] .samtim-table .actions .action-view{background:rgba(29,78,216,.15);color:#93c5fd;border-color:rgba(29,78,216,.35)}
html[data-sam-theme="dark"] .samtim-table .actions .action-edit{background:rgba(217,119,6,.15);color:#fcd34d;border-color:rgba(217,119,6,.35)}
html[data-sam-theme="dark"] .samtim-table .actions .action-print{background:rgba(126,34,206,.15);color:#d8b4fe;border-color:rgba(126,34,206,.35)}
html[data-sam-theme="dark"] .invoice-paper{background:#162033;color:var(--sam-text);border-color:var(--sam-border)}
html[data-sam-theme="dark"] .invoice-meta div,html[data-sam-theme="dark"] .statbox{background:#0b1220;border-color:var(--sam-border)}
html[data-sam-theme="dark"] .invoice-section li{border-color:var(--sam-border-soft)}
html[data-sam-theme="dark"] .samtim-alert.success{background:rgba(16,185,129,.12);color:#6ee7b7;border-color:rgba(16,185,129,.3)}
html[data-sam-theme="dark"] .samtim-alert.error{background:rgba(239,68,68,.12);color:#fca5a5;border-color:rgba(239,68,68,.3)}
html[data-sam-theme="dark"] .sam-badge.muted{background:#162033;color:var(--sam-text-muted);border-color:var(--sam-border)}
html[data-sam-theme="dark"] .sam-badge.outline{background:transparent;color:var(--sam-text-muted);border-color:var(--sam-border)}
html[data-sam-theme="dark"] .samtim-login-card{background:var(--sam-card-bg)}
html[data-sam-theme="dark"] .samtim-card.samtim-card.stat::before{opacity:.15}
html[data-sam-theme="dark"] .samtim-card.no-image,html[data-sam-theme="dark"] .no-image{background:linear-gradient(135deg,#162033 0%,#1c2740 100%);color:#5eead4;border-color:var(--sam-border)}

/* ===== Login Card ===== */
.samtim-login-wrap{max-width:460px;margin:80px auto;padding:0 16px}
.samtim-login-card{padding:36px 32px;border-radius:20px;box-shadow:var(--sam-shadow-lg,0 12px 32px -8px rgba(15,23,42,.18))}
.samtim-login-card h2{margin:0 0 8px;text-align:center;font-size:24px;color:var(--sam-text,#0f172a)}
.samtim-login-card .samtim-login-sub{text-align:center;color:var(--sam-text-muted,#64748b);margin-bottom:24px;font-size:14px}
.samtim-login-card::before{
  content:"";display:block;width:56px;height:56px;border-radius:16px;margin:0 auto 16px;
  background:linear-gradient(135deg,var(--sam-primary,#0d9488) 0%,var(--sam-primary-700,#115e59) 100%);
  box-shadow:0 8px 20px rgba(13,148,136,.3);
}

/* ===== Alerts ===== */
.samtim-alert{padding:14px 18px;border-radius:12px;margin-bottom:16px;border:1px solid;font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px}
.samtim-alert::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.samtim-alert.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.samtim-alert.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}
.samtim-alert.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
.samtim-alert.warning{background:#fffbeb;border-color:#fde68a;color:#92400e}

/* ===== Mobile: collapse nav into hamburger menu ===== */
@media (max-width:900px){
  .samtim-portal-nav{position:relative;padding:12px 16px}
  .sam-nav-toggle{display:flex !important}
  .samtim-nav-list{
    position:absolute;top:calc(100% + 6px);right:12px;left:12px;
    flex-direction:column;align-items:stretch;gap:4px;
    background:#fff;border:1px solid var(--sam-border,#e2e8f0);
    border-radius:14px;padding:8px;margin:0;
    box-shadow:var(--sam-shadow-lg,0 12px 32px -8px rgba(15,23,42,.18));
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    transform:translateY(-8px);
    transition:opacity 220ms ease,transform 220ms ease,max-height 0ms ease 220ms,visibility 0ms ease 220ms;
    z-index:50;
  }
  .samtim-nav-list.is-open{
    max-height:600px;opacity:1;visibility:visible;transform:translateY(0);
    transition:opacity 220ms ease,transform 220ms ease,max-height 0ms ease,visibility 0ms ease;
  }
  .samtim-nav-list li{width:100%}
  .samtim-nav-list li a{
    display:flex;align-items:center;width:100%;padding:12px 14px;
    border-radius:10px;justify-content:flex-start;
    background:transparent;border:none;font-size:15px;
  }
  .samtim-nav-list li a:hover{background:var(--sam-primary-50,#ecfdf5);transform:none}
  .samtim-nav-list li.active a{background:linear-gradient(135deg,var(--sam-primary,#0d9488) 0%,var(--sam-primary-600,#0f766e) 100%);color:#fff}
  .samtim-nav-list li.theme-toggle{display:flex;justify-content:center;padding-top:6px;border-top:1px solid var(--sam-border-soft,#eef2f7);margin-top:4px}
  .samtim-nav-list li.theme-toggle .sam-theme-toggle{width:100%;border-radius:10px;background:var(--sam-bg-soft,#f1f5f9)}
  .samtim-nav-list li.logout a{background:transparent;border:none;color:#b91c1c}
  .samtim-portal-brand{flex:1;min-width:0}
}
/* Dark mode mobile menu */
html[data-sam-theme="dark"] .sam-nav-toggle{background:#1c2740;border-color:#2c3a57;color:#e2e8f0}
html[data-sam-theme="dark"] .sam-nav-toggle span{background:#e2e8f0}
@media (max-width:900px){
  html[data-sam-theme="dark"] .samtim-nav-list{background:var(--sam-card-bg);border-color:var(--sam-border)}
  html[data-sam-theme="dark"] .samtim-nav-list li a{background:transparent;border:none;color:var(--sam-text)}
  html[data-sam-theme="dark"] .samtim-nav-list li.theme-toggle .sam-theme-toggle{background:#162033}
}

/* ===== Print ===== */
@media print{
  .samtim-portal-nav,.sam-nav-toggle,.samtim-header .button,.actions-row,.samtim-table-toolbar{display:none !important}
  .samtim-frontend{margin:0;padding:0;max-width:none}
}
