:root{
  --bg:#eef2f7; --surface:#fff; --text:#1e293b; --muted:#64748b; --border:#e2e8f0;
  --primary:#2563eb; --primary-2:#1d4ed8; --ok:#059669; --warn:#d97706; --danger:#dc2626;
  --sidebar:#0f172a; --sidebar-text:#cbd5e1; --radius:12px; --shadow:0 8px 24px rgba(15,23,42,.06);
  --font:"Cairo",system-ui,sans-serif; --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none} button,input,select,textarea{font:inherit}
.muted{color:var(--muted)}.appear{animation:appear .4s var(--ease) both}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.app{display:flex;min-height:100vh}
.sidebar{width:250px;background:linear-gradient(180deg,#0f172a,#111827);color:var(--sidebar-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30;transition:transform .25s var(--ease)}
.brand{display:flex;gap:10px;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand strong{display:block;color:#fff}.brand small{color:#94a3b8}
.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#22d3ee,#2563eb);color:#fff;font-weight:700}
.brand-mark.lg{width:56px;height:56px;margin:0 auto 8px;font-size:1.4rem}
.side-nav{padding:10px;overflow:auto;flex:1}
.nav-group{
  margin-bottom:10px;border:0;border-radius:14px;padding:4px;
  background:rgba(255,255,255,.03);
}
.nav-group-title{
  list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 12px;border-radius:10px;color:#94a3b8;font-size:.72rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
}
.nav-group-title::-webkit-details-marker{display:none}
.nav-group-title::after{content:'▾';font-size:.7rem;opacity:.7}
.nav-group[open] > .nav-group-title::after{content:'▴'}
.nav-group-title:hover{color:#e2e8f0}
.nav-group-items{padding:2px 4px 6px}
.nav-item{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;color:#cbd5e1;margin-bottom:2px;transition:.18s}
.nav-item:hover{color:#fff}
.nav-item.is-active{color:#fff;font-weight:600}
.nav-ico{width:22px;text-align:center;opacity:.85}

/* Soft tinted frames per sidebar section */
.nav-theme-main{background:rgba(56,189,248,.08);box-shadow:inset 0 0 0 1px rgba(56,189,248,.14)}
.nav-theme-main > .nav-group-title{background:rgba(56,189,248,.16);color:#7dd3fc}
.nav-theme-main > .nav-group-title:hover{background:rgba(56,189,248,.22);color:#bae6fd}
.nav-theme-main .nav-item:hover{background:rgba(56,189,248,.12)}
.nav-theme-main .nav-item.is-active{background:rgba(56,189,248,.22);box-shadow:inset 3px 0 0 #38bdf8}

.nav-theme-masters{background:rgba(167,139,250,.08);box-shadow:inset 0 0 0 1px rgba(167,139,250,.14)}
.nav-theme-masters > .nav-group-title{background:rgba(167,139,250,.16);color:#c4b5fd}
.nav-theme-masters > .nav-group-title:hover{background:rgba(167,139,250,.22);color:#ddd6fe}
.nav-theme-masters .nav-item:hover{background:rgba(167,139,250,.12)}
.nav-theme-masters .nav-item.is-active{background:rgba(167,139,250,.22);box-shadow:inset 3px 0 0 #a78bfa}

.nav-theme-journals{background:rgba(52,211,153,.08);box-shadow:inset 0 0 0 1px rgba(52,211,153,.14)}
.nav-theme-journals > .nav-group-title{background:rgba(52,211,153,.16);color:#6ee7b7}
.nav-theme-journals > .nav-group-title:hover{background:rgba(52,211,153,.22);color:#a7f3d0}
.nav-theme-journals .nav-item:hover{background:rgba(52,211,153,.12)}
.nav-theme-journals .nav-item.is-active{background:rgba(52,211,153,.22);box-shadow:inset 3px 0 0 #34d399}

.nav-theme-admin{background:rgba(251,191,36,.08);box-shadow:inset 0 0 0 1px rgba(251,191,36,.14)}
.nav-theme-admin > .nav-group-title{background:rgba(251,191,36,.16);color:#fcd34d}
.nav-theme-admin > .nav-group-title:hover{background:rgba(251,191,36,.22);color:#fde68a}
.nav-theme-admin .nav-item:hover{background:rgba(251,191,36,.12)}
.nav-theme-admin .nav-item.is-active{background:rgba(251,191,36,.22);box-shadow:inset 3px 0 0 #fbbf24}

body.is-ltr .nav-theme-main .nav-item.is-active,
body.is-ltr .nav-theme-masters .nav-item.is-active,
body.is-ltr .nav-theme-journals .nav-item.is-active,
body.is-ltr .nav-theme-admin .nav-item.is-active{box-shadow:inset -3px 0 0 currentColor}
body.is-ltr .nav-theme-main .nav-item.is-active{box-shadow:inset -3px 0 0 #38bdf8}
body.is-ltr .nav-theme-masters .nav-item.is-active{box-shadow:inset -3px 0 0 #a78bfa}
body.is-ltr .nav-theme-journals .nav-item.is-active{box-shadow:inset -3px 0 0 #34d399}
body.is-ltr .nav-theme-admin .nav-item.is-active{box-shadow:inset -3px 0 0 #fbbf24}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:58px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:20}
.topbar-title{font-weight:700;font-size:1.05rem}
.topbar-actions{display:flex;gap:8px;align-items:center}
.user-chip{background:#f1f5f9;padding:6px 10px;border-radius:999px;font-size:.85rem}
.content{padding:16px;padding-bottom:40px}
.nav-toggle{display:none;position:fixed;top:10px;left:10px;z-index:50;width:42px;height:42px;border:0;border-radius:12px;background:#0f172a;color:#fff;font-size:1.2rem}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:25}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;border:0;cursor:pointer;font-weight:600;transition:.15s}
.btn:active{transform:scale(.98)}.btn-sm{height:32px;font-size:.85rem;padding:0 10px}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(37,99,235,.25)}.btn-primary:hover{background:var(--primary-2)}
.btn-ghost{background:#fff;border:1px solid var(--border);color:#334155}.btn-ghost:hover{background:#f8fafc}
.btn-danger{background:#fee2e2;color:var(--danger)}.btn-block{width:100%}

.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:14px}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.card-head h2,.card h2,.card h3{margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.stat span{color:var(--muted);font-size:.85rem}.stat strong{display:block;margin-top:6px;font-size:1.25rem}
.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
.toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.toolbar-actions,.quick-links,.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.search{display:flex;gap:8px;flex-wrap:wrap}
.search input,.search select,label input:not([type=checkbox]):not([type=radio]),label select,label textarea,.mass-form input:not([type=checkbox]):not([type=radio]),.mass-form select,.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea,.stack input:not([type=checkbox]):not([type=radio]),.stack select,.stack textarea,.table select,.table input:not([type=checkbox]):not([type=radio]){width:100%;height:38px;border:1px solid var(--border);border-radius:10px;padding:0 10px;background:#fff;outline:none}
label textarea,.form-grid textarea{height:auto;padding:8px 10px}
label input:focus,label select:focus,label textarea:focus,.search input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
label{display:grid;gap:6px;font-size:.82rem;font-weight:600;color:#64748b}
.stack{display:grid;gap:12px}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.form-grid > label.full,
.form-grid > .full,
.form-grid > label:has(textarea){grid-column:1/-1}
.full{grid-column:1/-1}
@media (min-width:1100px){
  .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:480px){
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.form-card{padding:16px}.table-card{padding:0;overflow:hidden}
.table-wrap{overflow:auto;-webkit-overflow-scrolling:touch}
.table{width:100%;border-collapse:collapse;font-size:.9rem}
.table th,.table td{padding:12px;border-bottom:1px solid #f1f5f9;text-align:right;white-space:nowrap}
.table th{background:#f8fafc;color:#64748b;font-size:.78rem}
.table tbody tr{transition:background .15s}.table tbody tr:hover{background:#f8fafc}
.table .check{width:40px}.actions{display:flex;gap:8px}

/* Vtiger-style sticky header + column filters */
.list-table-sticky{max-height:calc(100vh - 200px)}
.list-table-sticky thead th{
  position:sticky;top:0;z-index:3;background:#f1f5f9;box-shadow:0 1px 0 #e2e8f0;
}
.list-table-sticky thead tr.list-filter-row th{
  top:42px;z-index:2;background:#fff;box-shadow:0 1px 0 #e2e8f0;padding:6px 8px;vertical-align:top;
}
.list-filter-row .filter-cell{font-weight:500;min-width:110px}
.list-filter-text,.list-filter-row .list-num-filter input{
  width:100%;height:32px!important;font-size:.8rem;border:1px solid var(--border);border-radius:8px;padding:0 8px;background:#fff;
}
.list-num-filter{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.list-filter-row .search-select-btn{height:32px;padding:0 8px;font-size:.78rem;border-radius:8px}
.list-filter-row .search-select-drop{min-width:200px;z-index:40}
.list-date-btn{
  width:100%;height:32px;display:flex;align-items:center;justify-content:space-between;gap:6px;
  border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 8px;cursor:pointer;font-size:.78rem;
}
.list-date-btn .di-ph,.list-date-btn .df-label.di-ph{color:var(--muted)}
.list-date-btn:hover{border-color:#93c5fd}
.filter-actions{display:flex;flex-direction:column;gap:4px;min-width:88px}

/* Mobile search + custom map (EgyptCRM tools/mobile style) */
.mobile-search-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 16px 14px;
  box-shadow:var(--shadow);margin-bottom:14px;
}
.ms-title{margin:0 0 4px;font-size:1.15rem;font-weight:800;color:#0f172a}
.ms-hint{margin:0 0 14px;font-size:.82rem;color:var(--muted)}
.ms-form{margin:0}
.ms-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px;
}
@media (max-width:560px){.ms-grid{grid-template-columns:1fr}}
.ms-field{display:flex;flex-direction:column;gap:0;margin:0;position:relative}
.ms-label{
  position:absolute;top:-8px;inset-inline-start:12px;background:#fff;padding:0 6px;
  font-size:.72rem;font-weight:700;color:#475569;z-index:1;
}
.ms-field input[type=search],
.ms-field input[type=text],
.ms-field input[type=number],
.ms-field select,
.ms-num input{
  width:100%;height:42px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;
  background:#fff;color:var(--text);
}
.ms-field input:focus,.ms-field select:focus,.ms-num input:focus{
  outline:0;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.ms-num{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ms-date-btn{height:42px;border-radius:10px}
.ms-actions{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.ms-search-btn{
  flex:1;min-width:140px;height:44px;border-radius:12px;background:#16a34a;color:#fff;font-weight:700;
  box-shadow:0 6px 16px rgba(22,163,74,.28);
}
.ms-search-btn:hover{background:#15803d}
.ms-add-btn{
  width:44px;height:44px;padding:0;border-radius:12px;background:#fff;border:1px solid #16a34a;
  color:#16a34a;font-size:1.4rem;font-weight:700;line-height:1;text-decoration:none;
}
.ms-add-btn:hover{background:#f0fdf4}
.ms-clear{margin-inline-start:auto}
.ms-maps{border-top:1px dashed #e2e8f0;padding-top:12px;display:grid;gap:8px}
.ms-map-row{display:flex;gap:8px;align-items:center}
.ms-map-select,.ms-map-name{
  flex:1;height:40px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;background:#fff;
}
.ms-map-load{height:40px;min-width:64px;border:1px solid var(--border);color:#1e3a8a;font-weight:700}
.ms-map-del{
  width:40px;height:40px;padding:0;border:1px solid #fca5a5;color:#dc2626;border-radius:10px;background:#fff;
}
.ms-map-del:hover{background:#fef2f2}
.ms-map-save{
  height:40px;white-space:nowrap;border-radius:10px;background:var(--primary);color:#fff;padding:0 12px;
}
.ms-map-save:hover{background:var(--primary-2)}
.ms-field .search-select-btn{height:42px;border-radius:10px}

.date-pop-range{width:300px}
.date-pop-hint{font-size:.75rem;color:var(--muted);margin-bottom:6px;min-height:1.2em}
.date-pop-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.date-pop-grid .dow{font-size:.7rem;color:var(--muted);padding:4px 0}
.date-pop-grid .day{
  border:0;background:transparent;border-radius:8px;height:34px;cursor:pointer;font:inherit;
}
.date-pop-grid .day:hover{background:#eff6ff}
.date-pop-grid .day.selected{background:var(--primary);color:#fff}
.date-pop-grid .day.in-range{background:#dbeafe}
.date-pop-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px}
.date-pop-foot button{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer}
.date-pop-foot .di-ok{background:var(--primary);color:#fff;border-color:var(--primary)}

.is-group{font-weight:700;background:#f8fafc}
.badge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700}
.badge-ok{background:#d1fae5;color:#047857}.badge-warn{background:#ffedd5;color:#c2410c}.badge-danger{background:#fee2e2;color:#b91c1c}.badge-muted{background:#f1f5f9;color:#64748b}
.alert{padding:10px 12px;border-radius:10px;margin-bottom:12px}.alert.ok{background:#ecfdf5;color:#047857}.alert.err{background:#fef2f2;color:#b91c1c}
.mass-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:10px;margin-bottom:12px}
.mass-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.detail-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:12px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.field label{margin-bottom:4px}.field div{font-weight:600;color:#0f172a}
.related h3{margin-top:0}.related-block{margin-top:12px}.related-block h4{margin:0 0 6px;font-size:.9rem}
.simple-list{list-style:none;margin:0;padding:0}
.simple-list li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #f1f5f9}
.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.tag{background:#eef2ff;color:#3730a3;padding:2px 8px;border-radius:999px;font-size:.75rem}
.role-tree{list-style:none;margin:0;padding:0}.role-tree li{padding:10px 0;border-bottom:1px solid #f1f5f9}
.check-grid{display:grid;gap:6px}.check{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text)}
.cards-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.link-card{transition:transform .15s,box-shadow .15s}.link-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.1)}
.link-card p{color:var(--muted);margin:.4rem 0 0}
.lines-head{display:flex;justify-content:space-between;align-items:center;margin:16px 0 8px}
.perm-table td.check{text-align:center}

/* Shipping-style roles org tree */
.roles-tree-card{overflow:auto}
.roles-tree-title{margin:0 0 6px;font-size:1.15rem}
.roles-tree-hint{margin:0 0 18px;font-size:.85rem}
.org-tree{padding:8px 4px 24px;min-height:120px}
.org-tree-list{list-style:none;margin:0;padding:0;position:relative}
.org-tree-item>.org-tree-list{padding-inline-start:28px;margin-top:0}
.org-tree-item{position:relative;padding:10px 0 0}
.org-tree-item:not(.is-root)::before{
  content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:2px;background:#cfd8e3;
}
.org-tree-item:not(.is-root)::after{
  content:"";position:absolute;inset-inline-start:0;top:28px;width:28px;height:2px;background:#cfd8e3;
}
.org-tree-item:not(.is-root):last-child::before{bottom:auto;height:28px}
.org-node{
  display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:8px 16px;
  border-radius:8px;border:1px solid #c5ced8;background:#eef1f4;
  box-shadow:0 1px 0 rgba(16,42,67,.04);cursor:grab;position:relative;z-index:1;
  margin-inline-start:28px;user-select:none;
}
.org-tree-item.is-root>.org-node{margin-inline-start:0}
.org-node-root{background:#e67e22;border-color:#d35400;box-shadow:0 2px 6px rgba(230,126,34,.35)}
.org-node-root .org-node-link{color:#fff}
.org-node-root .org-node-profile{background:rgba(255,255,255,.2);color:#fff}
.org-node-link{color:#1c2430;font-weight:700;font-size:.9rem;text-decoration:none;white-space:nowrap}
.org-node-link:hover{text-decoration:underline}
.org-node-profile{
  font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;
  background:#e0e7ff;color:#3730a3;white-space:nowrap;
}
.org-node.is-drop-over{outline:2px solid #019c4b;outline-offset:2px;background:#e8f5ea}
.org-node-root.is-drop-over{background:#f39c12}
.org-tree-item.is-dragging{opacity:.45}
.org-tree-item.is-dragging .org-node{cursor:grabbing}
.role-profile-select{width:100%;display:block;background:#fff}

/* Shipping-style full-click date fields */
.date-input{position:relative;width:100%}
.date-input-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:#fff;
  cursor:pointer;font:inherit;color:var(--text);text-align:start;min-height:38px;
}
.date-input-btn:hover,.date-input-btn:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none}
.date-input-btn .di-ph{color:var(--muted);font-weight:500}
.date-input-btn svg{flex:none;color:#6b7785}
.date-pop{
  position:fixed;z-index:200;width:300px;background:#fff;border:1px solid var(--border);
  border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.2);padding:12px;
  max-height:min(420px,calc(100vh - 24px));overflow:auto;
}
.date-pop-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.date-pop-head button{border:0;background:#eef3f7;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:18px}
.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.date-grid .dow{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}
.date-grid .day{border:0;background:#f7f9fb;border-radius:8px;padding:8px 0;cursor:pointer;font:inherit}
.date-grid .day:hover{background:#e8f5ea}
.date-grid .day.selected{background:#0f172a;color:#fff}
.date-pop-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}

/* Searchable / multi select */
.search-select{position:relative;width:100%}
.search-select-native{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.search-select-btn{
  width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:1px solid var(--border);border-radius:10px;padding:8px 12px;background:#fff;cursor:pointer;font:inherit;text-align:start;
}
.search-select-btn:hover{border-color:#93c5fd}
.search-select-drop{
  position:absolute;inset-inline:0;top:calc(100% + 6px);z-index:40;background:#fff;
  border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px rgba(15,35,70,.12);padding:8px;
}
.search-select-drop .ss-q{width:100%;height:36px;border:1px solid var(--border);border-radius:8px;padding:0 10px;margin-bottom:8px}
.ss-list{max-height:220px;overflow:auto;display:grid;gap:2px}
.ss-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:start;padding:8px 10px;border:0;border-radius:8px;background:transparent;cursor:pointer;font:inherit}
.ss-opt:hover,.ss-opt.is-on{background:#eff6ff}
.ss-check{width:14px;height:14px;border:1px solid #94a3b8;border-radius:4px;flex:none}
.ss-opt.is-on .ss-check{background:#2563eb;border-color:#2563eb}
.ss-empty{padding:10px;color:var(--muted);font-size:.85rem}
.ss-caret{color:#94a3b8}

/* Vtiger-like import wizard */
.import-wizard{max-width:960px}
.import-steps{list-style:none;margin:0 0 14px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.import-steps li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 12px;color:var(--muted);font-size:.85rem}
.import-steps li.is-active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;font-weight:700}
.import-steps li.is-done{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}
.import-steps .n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e2e8f0;font-size:.75rem;font-weight:700}
.import-steps li.is-active .n{background:#2563eb;color:#fff}
.import-steps li.is-done .n{background:#16a34a;color:#fff}
.import-card h2{margin:0 0 6px}
.import-form .check-inline,.radio-inline{display:flex;align-items:center;gap:8px}
.import-delimiters{border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:12px}
.import-delimiters legend{padding:0 6px;color:var(--muted);font-size:.85rem}
.dup-fields-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.dup-select{width:100%;min-height:220px;border:1px solid var(--border);border-radius:10px;padding:6px}
.dup-move{display:grid;gap:8px}
.dup-col-title{font-size:.82rem;font-weight:700;margin-bottom:6px}
.import-map-table select{min-width:180px}
.import-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.stat-pill{background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:12px}
.stat-pill span{display:block;color:var(--muted);font-size:.8rem}
.stat-pill strong{font-size:1.3rem}
.stat-pill.ok{background:#ecfdf5}.stat-pill.warn{background:#fffbeb}.stat-pill.err{background:#fef2f2}
.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}
@media (max-width:800px){.dup-fields-grid,.import-stats{grid-template-columns:1fr}}

/* Vtiger-style Profiles edit */
.profile-edit-vtiger{max-width:1100px}
.pe-breadcrumb{margin-bottom:8px;font-size:.9rem}
.pe-head{margin-bottom:14px}
.pe-section-title{margin:8px 0 12px;font-size:1.05rem}
.pe-table{font-size:.92rem}
.pe-table th,.pe-table td{vertical-align:middle}
.pe-table thead th{background:#f8fafc;white-space:nowrap}
.pe-mod{text-align:start!important;min-width:180px}
.pe-act{text-align:center;width:12%}
.pe-tools-h{text-align:center;width:14%}
.pe-tools{text-align:center}
.pe-check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;margin:0}
.pe-table input[type=checkbox],
.pe-tools-row input[type=checkbox]{
  width:15px;height:15px;margin:0;padding:0;accent-color:var(--primary);
  flex:none;cursor:pointer;vertical-align:middle;
}
.pe-act input[type=checkbox]{display:block;margin-inline:auto}
.pe-expand-btn{
  width:34px;height:28px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer;
  display:inline-grid;place-items:center;color:#64748b;
}
.pe-expand-btn.is-open .chev{transform:rotate(180deg);display:inline-block}
.pe-expand-btn .chev{transition:transform .15s}
.pe-fields-row td{background:#fafbfc;padding:0!important}
.pe-fields-panel{padding:14px 16px 18px;border-top:1px solid var(--border)}
.pe-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:12px;font-size:.84rem}
.pe-legend .dot{
  width:12px;height:12px;border-radius:50%;display:inline-block;vertical-align:middle;
}
.dot.inv{background:#111}
.dot.ro{background:#f5a623}
.dot.wr{background:#2ecc71}
.dot.man{background:#e91e8c}
.pe-fields-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;margin-bottom:14px;
}
.pe-field{display:flex;align-items:center;gap:12px;min-height:36px}
.pe-slider{
  width:96px;height:28px;border-radius:999px;border:1px solid #cbd5e1;background:#eef2f7;
  position:relative;cursor:pointer;padding:0;flex:none;
}
.pe-slider .knob{
  width:20px;height:20px;border-radius:50%;display:block;position:absolute;top:3px;left:4px;
  box-shadow:0 1px 3px rgba(0,0,0,.18);transition:left .15s ease,background .15s ease;
}
.pe-slider.inv .knob{background:#111;left:4px}
.pe-slider.ro .knob{background:#f5a623;left:28px}
.pe-slider.wr .knob{background:#2ecc71;left:52px}
.pe-slider.man .knob{background:#e91e8c;left:72px}
.pe-field-name{font-size:.92rem}
.pe-field-name.is-mandatory{color:#b91c1c;font-weight:700}
.pe-tools-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-top:8px;border-top:1px dashed var(--border)}
.pe-actions{display:flex;align-items:center;gap:16px;margin-top:16px}
.pe-save{background:#5cb85c;color:#fff;min-width:110px;height:40px;border-radius:4px;font-size:1rem;box-shadow:none}
.pe-save:hover{background:#4cae4c}
.pe-cancel{color:#d9534f;font-weight:700;text-decoration:none}
.pe-cancel:hover{text-decoration:underline}
@media (max-width:900px){.pe-fields-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pe-fields-grid{grid-template-columns:1fr}}

.auth-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(800px 400px at 100% 0%,rgba(37,99,235,.18),transparent),radial-gradient(700px 350px at 0% 100%,rgba(34,211,238,.15),transparent),var(--bg)}
.auth-card{width:min(400px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:24px;box-shadow:var(--shadow)}
.auth-brand{text-align:center;margin-bottom:14px}.auth-brand h1{margin:0}.auth-brand p{color:var(--muted);margin:4px 0 0}
.hint{text-align:center;color:var(--muted);font-size:.8rem;margin-top:12px}

.lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#fff}
.lang-btn{padding:5px 10px;font-size:.78rem;font-weight:700;color:#64748b;text-decoration:none}
.lang-btn.is-active{background:#0f172a;color:#fff}
.auth-lang{position:fixed;top:14px;inset-inline-end:14px;z-index:10}
body.is-ltr .sidebar{/* keep LTR natural */}
@media (max-width:960px){
  body.is-ltr .sidebar{transform:translateX(-110%)}
  body.is-ltr .sidebar.open{transform:none}
  body.is-rtl .sidebar{transform:translateX(110%)}
  body.is-rtl .sidebar.open{transform:none}
}

@media (max-width:960px){
  .stats,.grid-2,.detail-layout{grid-template-columns:1fr}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sidebar{position:fixed;transform:translateX(110%)}
  .sidebar.open{transform:none}
  .nav-toggle{display:grid;place-items:center}
  .sidebar-backdrop.show{display:block}
  .topbar{padding-inline-start:56px}
  .content{padding:12px}
  .table th,.table td{padding:10px 8px;font-size:.84rem}
  .org-tree-item>.org-tree-list{padding-inline-start:18px}
}
