*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --forest:#015441;--forest-2:#017a5e;--forest-3:#01a878;--forest-pale:rgba(1,84,65,0.06);--forest-pale2:rgba(1,84,65,0.1);
  --bg:#f0f2f5;--card:#fff;--border:rgba(0,0,0,0.07);--border2:#e2e8f0;
  --charcoal:#0f172a;--slate:#334155;--mid:#64748b;
  --red:#dc2626;--red-pale:rgba(220,38,38,0.08);
  --amber:#d97706;--amber-pale:rgba(217,119,6,0.08);
  --green:#059669;--green-pale:rgba(5,150,105,0.08);
  --sidebar-w:224px;--sidebar-w-collapsed:64px;
}
html{font-size:13px;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--charcoal);min-height:100vh;-webkit-font-smoothing:antialiased;display:flex;}

/* ── SIDEBAR — enterprise 3-zone layout ───────────────────────── */
.sidebar{
  width:var(--sidebar-w);
  height:100vh;
  background:linear-gradient(180deg,#014736 0%, #015441 100%);
  display:flex;
  flex-direction:column;
  position:fixed;
  top:0;
  left:0;
  z-index:100;
  box-shadow:2px 0 18px rgba(0,0,0,0.16);
  transition:width 250ms ease;
  overflow:hidden;
}

.sidebar-top{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  padding-top:10px;
}

/* Zone 1: fixed top */
.sidebar-brand{
  flex-shrink:0;
  padding:0 0 10px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  background:rgba(0,0,0,0.05);
}

.brand-logo{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 18px 8px;
  min-width:0;
}

.brand-copy{
  min-width:0;
}

.brand-logo svg{
  width:30px;
  height:30px;
  flex-shrink:0;
}

.brand-name{
  font-size:1rem;
  font-weight:700;
  color:#fff;
  letter-spacing:-0.02em;
  white-space:nowrap;
  transition:opacity 200ms ease;
  line-height:1.15;
}

.brand-tagline{
  font-size:.62rem;
  color:rgba(255,255,255,0.48);
  margin-top:2px;
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:opacity 200ms ease;
}

.sidebar-data-strip{
  margin:8px 18px 0;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  background:rgba(255,255,255,0.05);
}

.sidebar-data-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.sidebar-data-row + .sidebar-data-row{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,0.06);
}

.sidebar-data-label{
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.42);
}

.sidebar-data-val{
  font-size:.8rem;
  font-weight:700;
  color:rgba(255,255,255,0.9);
}

.sidebar-data-val.live{
  color:#8ff0c7;
}

.sidebar-api-status{
  display:flex;
  align-items:center;
  gap:6px;
}

.proxy-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#4a5568;
  flex-shrink:0;
}

.proxy-dot.live{
  background:var(--forest-3);
  animation:blink 2s infinite;
}

@keyframes blink{
  0%,100%{opacity:1;}
  50%{opacity:.4;}
}

/* Zone 2: scrollable nav only */
.sidebar-nav{
  flex:1 1 0;
  min-height:0;
  padding:8px 0 24px;
  overflow-y:scroll;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,0.24) rgba(255,255,255,0.05);
}

.sidebar-nav::-webkit-scrollbar{
  width:8px;
}

.sidebar-nav::-webkit-scrollbar-track{
  background:rgba(255,255,255,0.05);
}

.sidebar-nav::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,0.24);
  border-radius:999px;
}

.sidebar-nav::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,0.36);
}

.nav-section-label{
  font-size:.52rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.30);
  padding:16px 18px 6px;
  margin:0;
  white-space:nowrap;
  transition:opacity 200ms ease,height 250ms ease,padding 250ms ease,margin 250ms ease;
  overflow:hidden;
}

.nav-item{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 18px;
  border-radius:0;
  font-size:.76rem;
  font-weight:500;
  color:rgba(255,255,255,0.56);
  cursor:pointer;
  border:none;
  background:none;
  width:100%;
  text-align:left;
  font-family:'Inter',sans-serif;
  transition:background .14s ease,color .14s ease,padding 250ms ease,justify-content 250ms ease;
  position:relative;
  white-space:nowrap;
  overflow:hidden;
}

.nav-item:hover{
  background:rgba(255,255,255,0.06);
  color:rgba(255,255,255,0.88);
}

.nav-item.active{
  background:linear-gradient(90deg,rgba(0,196,113,0.20) 0%, rgba(0,196,113,0.08) 100%);
  color:#7ff0b8;
  font-weight:600;
  border-left:3px solid #00c471;
  padding-left:15px;
}

.nav-item.active::before{
  display:none;
}

.nav-item.soon{
  opacity:.4;
  cursor:not-allowed;
  pointer-events:none;
}

.nav-soon-badge{
  font-size:.5rem;
  font-weight:700;
  letter-spacing:.08em;
  background:rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.34);
  padding:2px 7px;
  border-radius:999px;
  text-transform:uppercase;
  margin-left:auto;
  flex-shrink:0;
  white-space:nowrap;
  border:none;
}

.nav-item svg{
  flex-shrink:0;
  opacity:.48;
}

.nav-item.active svg{
  opacity:1;
}

.nav-item:hover svg{
  opacity:.78;
}

.nav-label{
  white-space:nowrap;
  transition:opacity 200ms ease;
}

/* Zone 3: fixed bottom */
.sidebar-footer{
  flex:0 0 auto;
  margin-top:auto;
  padding:12px 18px 14px;
  border-top:1px solid rgba(255,255,255,0.08);
  background:rgba(0,0,0,0.08);
}

.sidebar-user{
  display:none;
  margin-bottom:12px;
}

.sidebar-user-name{
  font-size:.84rem;
  font-weight:700;
  color:#fff;
  line-height:1.2;
}

.sidebar-user-role{
  font-size:.66rem;
  color:rgba(255,255,255,0.46);
  text-transform:uppercase;
  margin-top:2px;
}

.sidebar-logout-btn{
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:10px 12px;
  margin-bottom:10px;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:8px;
  color:rgba(255,255,255,0.62);
  font-family:'Inter',sans-serif;
  font-size:.72rem;
  font-weight:600;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
  letter-spacing:.01em;
}

.sidebar-logout-btn:hover{
  background:rgba(255,255,255,0.10);
  color:#fff;
  border-color:rgba(255,255,255,0.18);
}

.sidebar-version{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:.58rem;
  color:rgba(255,255,255,0.22);
  font-weight:500;
}

.sidebar-version-meta{
  font-size:.55rem;
  color:rgba(255,255,255,0.18);
  letter-spacing:.04em;
}

/* ── SIDEBAR TOGGLE BUTTON ───────────────────── */
.sidebar-toggle-btn{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:36px;
  height:36px;
  padding:8px;
  background:none;
  border:none;
  cursor:pointer;
  border-radius:8px;
  flex-shrink:0;
  transition:background .15s;
  margin:0 0 8px 14px;
}

.sidebar-toggle-btn:hover{
  background:rgba(255,255,255,0.08);
}

.sidebar-toggle-btn span{
  display:block;
  width:18px;
  height:2px;
  background:#00c471;
  border-radius:2px;
  transition:background .15s;
}

.sidebar-toggle-btn:hover span{
  background:#00c471;
}

/* ── SIDEBAR COLLAPSED STATE ── */
.sidebar.collapsed{
  width:var(--sidebar-w-collapsed);
}

.sidebar.collapsed .sidebar-top{
  padding-top:10px;
}

.sidebar.collapsed .sidebar-brand{
  padding:0 0 10px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.sidebar.collapsed .brand-logo{
  justify-content:center;
  gap:0;
  padding-left:0;
  padding-right:0;
}

.sidebar.collapsed .brand-copy,
.sidebar.collapsed .brand-name,
.sidebar.collapsed .brand-tagline{
  opacity:0;
  width:0;
  overflow:hidden;
  margin:0;
}

.sidebar.collapsed .sidebar-data-strip{
  opacity:0;
  height:0;
  overflow:hidden;
  padding:0;
  margin:0;
  border:none;
  transition:opacity 150ms ease,height 250ms ease;
}

.sidebar.collapsed .nav-section-label{
  opacity:0;
  height:0;
  padding:0;
  margin:0;
}

.sidebar.collapsed .nav-item{
  justify-content:center;
  padding:11px 0;
}

.sidebar.collapsed .nav-item.active{
  padding-left:0;
  border-left:none;
  box-shadow:inset 3px 0 0 #00c471;
}

.sidebar.collapsed .nav-label{
  opacity:0;
  width:0;
  overflow:hidden;
}

.sidebar.collapsed .nav-soon-badge{
  display:none;
}

.sidebar.collapsed .sar-nav-badge{
  display:none !important;
}

.sidebar.collapsed .sidebar-footer{
  padding:12px 0 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.sidebar.collapsed #sidebarUser{
  display:none !important;
}

.sidebar.collapsed .sidebar-logout-btn{
  width:36px;
  height:36px;
  padding:0;
  justify-content:center;
  border-radius:8px;
  margin:0;
}

.sidebar.collapsed .sidebar-logout-btn svg{
  margin:0;
}

.sidebar.collapsed .sidebar-logout-btn span{
  display:none;
}

.sidebar.collapsed .sidebar-version{
  display:none !important;
}

.sidebar.collapsed .sidebar-footer{
  padding:12px 0 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.sidebar.collapsed #sidebarUser{
  display:none !important;
}

.sidebar.collapsed .sidebar-logout-btn{
  width:36px;
  height:36px;
  padding:0;
  margin:0;
  border-radius:8px;
}

.sidebar.collapsed .sidebar-version{
  display:none !important;
}

/* ── MAIN CONTENT ── */
.main{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column;transition:margin-left 250ms ease;}
.main.sidebar-collapsed{margin-left:var(--sidebar-w-collapsed);}

/* ── TOP BAR ── */
.topbar{height:56px;background:#fff;border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:90;box-shadow:0 1px 4px rgba(0,0,0,0.06);}
.topbar-title{font-size:.95rem;font-weight:700;color:var(--charcoal);letter-spacing:-.02em;}
.topbar-breadcrumb{font-size:.72rem;color:var(--mid);margin-top:1px;font-weight:400;}
.topbar-right{display:flex;align-items:center;gap:10px;}
.topbar-user{display:flex;align-items:center;gap:10px;}
.topbar-user-info{text-align:right;}
.topbar-user-name{font-size:.78rem;font-weight:600;color:var(--charcoal);line-height:1.3;}
.topbar-user-role{font-size:.65rem;color:var(--mid);font-weight:400;}
.topbar-avatar{width:32px;height:32px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;letter-spacing:.03em;flex-shrink:0;}
.topbar-logout-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:7px;border:1px solid var(--border2);background:#fff;color:var(--mid);cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0;margin-left:4px;font-size:.75rem;font-weight:500;font-family:'Inter',sans-serif;white-space:nowrap;}
.topbar-logout-btn:hover{background:var(--forest-pale);color:var(--forest);border-color:var(--forest);}

/* ── PAGE CONTENT ── */
.page-content{padding:20px 24px;flex:1;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* ── SCREENING LAYOUT ── */
.screening-layout{display:grid;grid-template-columns:360px 1fr;grid-template-rows:auto 1fr;gap:14px;height:100%;padding:18px;align-items:start;}
.screening-layout .reg-card{grid-column:1;grid-row:1 / -1;}
.screening-layout .provider-selector-wrapper,
.screening-layout #providerSelectorContainer{grid-column:2;grid-row:1;min-height:120px;max-height:200px;overflow-y:auto;}
.screening-layout .results-panel,
.screening-layout #results{grid-column:2;grid-row:2;min-height:400px;}

/* ── PROVIDER SELECTOR WRAPPER ── */
.provider-selector-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;}
.provider-selector-header h3{font-size:.85rem;font-weight:600;color:#015441;margin:0 0 4px;text-transform:uppercase;letter-spacing:.05em;}
.provider-selector-header p{font-size:.75rem;color:#6b7280;margin:0 0 12px;}
.provider-selector-actions{display:flex;gap:8px;margin-top:12px;padding-top:8px;border-top:1px solid #e5e7eb;}
.provider-selector-btn{font-size:.75rem;padding:4px 10px;border:1px solid #015441;background:transparent;color:#015441;border-radius:4px;cursor:pointer;font-family:inherit;}
.provider-selector-btn:hover{background:#015441;color:#fff;}
.provider-checkbox-item{padding:6px 0;border-bottom:1px solid #f3f4f6;}
.provider-checkbox-item:last-child{border-bottom:none;}
.provider-checkbox-item label{display:flex;align-items:center;gap:8px;cursor:pointer;}
.provider-label{font-size:.8rem;font-weight:500;color:#1f2937;}
.provider-desc{font-size:.72rem;color:#9ca3af;margin-left:auto;}

/* ── REGISTRATION FORM CARD ── */
.reg-card{background:#fff;border:1px solid var(--border2);border-radius:10px;overflow:hidden;box-shadow:0 1px 8px rgba(0,0,0,0.06);position:sticky;top:80px;}
.reg-card-header{padding:26px 30px 20px;background:linear-gradient(160deg,var(--forest) 0%,var(--forest-2) 100%);position:relative;overflow:hidden;}
.reg-card-header::after{content:'';position:absolute;right:-20px;top:-20px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,0.05);}
.reg-card-header h1{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.03em;margin-bottom:5px;}
.reg-card-header p{font-size:.77rem;color:rgba(255,255,255,0.65);font-weight:400;line-height:1.55;}
.reg-form{padding:18px 22px 20px;display:flex;flex-direction:column;gap:12px;}

/* ── FIELD GROUPS ── */
.frow{display:grid;gap:12px;}
.frow.c2{grid-template-columns:1fr 1fr;}
.frow.c1{grid-template-columns:1fr;}
.fgroup{display:flex;flex-direction:column;gap:5px;position:relative;}
.fgroup label{font-size:.68rem;font-weight:700;color:var(--charcoal);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:5px;}
.fgroup label .opt{font-size:.62rem;font-weight:500;color:var(--mid);text-transform:none;letter-spacing:0;font-style:italic;}
.fgroup label .req{color:var(--red);font-style:normal;}
.reg-input{padding:9px 12px;border:1.5px solid var(--border2);border-radius:7px;font-family:'Inter',sans-serif;font-size:.85rem;background:#fff;color:var(--charcoal);outline:none;transition:all .18s;width:100%;font-weight:400;}
.reg-input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(1,84,65,0.09);}
.reg-input::placeholder{color:#b8c4be;font-weight:400;}
.reg-input:not(:placeholder-shown):not(:focus){border-color:rgba(1,84,65,0.25);}
select.reg-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa5b4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;}

/* ── POSTCODE LOOKUP ── */
.postcode-wrap{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;}
.lookup-btn{height:43px;padding:0 14px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;}
.lookup-btn:hover{background:var(--forest-2);}
.lookup-btn:disabled{background:var(--mid);cursor:not-allowed;}
.addr-dropdown{background:#fff;border:2px solid var(--forest);border-radius:8px;box-shadow:0 8px 24px rgba(1,84,65,0.14);z-index:50;max-height:180px;overflow-y:auto;margin-top:4px;}
.addr-option{padding:9px 13px;font-size:.8rem;color:var(--charcoal);cursor:pointer;border-bottom:1px solid var(--border);font-weight:500;transition:background .1s;}
.addr-option:last-child{border-bottom:none;}
.addr-option:hover{background:var(--forest-pale);color:var(--forest);}
.addr-hint{font-size:.65rem;color:var(--mid);margin-top:4px;}
.manual-link{font-size:.68rem;color:var(--forest);font-weight:600;cursor:pointer;background:none;border:none;font-family:'Inter',sans-serif;padding:0;margin-top:4px;text-decoration:underline;text-underline-offset:2px;display:inline-block;}
.manual-fields{display:none;flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);}
.manual-fields.open{display:flex;}

/* ── FORM DIVIDER ── */
.form-divider{height:1px;background:var(--border2);margin:2px 0 2px;}

/* ── FORM FOOTER ── */
.form-footer{padding-top:14px;border-top:1px solid var(--border2);display:flex;flex-direction:column;gap:10px;}
.form-notice{font-size:.67rem;color:var(--mid);line-height:1.55;}
.form-notice strong{color:var(--slate);}
.screen-btn{width:100%;height:44px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .18s;letter-spacing:.01em;}
.screen-btn:hover{background:var(--forest-2);}
.screen-btn:disabled{background:var(--mid);cursor:not-allowed;}
.screen-btn.loading svg.spin-icon{animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ── RESULTS PANEL ── */
.results-panel{display:flex;flex-direction:column;gap:16px;}
.results-empty{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:56px 32px;text-align:center;color:var(--mid);box-shadow:0 1px 6px rgba(0,0,0,0.04);}
.results-empty-icon{width:48px;height:48px;background:var(--forest-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--forest);}
.results-empty p{font-size:.88rem;font-weight:600;color:var(--slate);}
.results-empty span{font-size:.76rem;color:var(--mid);display:block;margin-top:5px;font-weight:400;}

/* ── SUBJECT HEADER ── */
.subject-card{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;animation:fadeUp .35s ease both;box-shadow:0 1px 6px rgba(0,0,0,0.05);}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.subject-name{font-size:1.3rem;font-weight:800;color:var(--charcoal);letter-spacing:-.03em;}
.subject-meta{font-size:.76rem;color:var(--mid);margin-top:4px;}
.subject-badges{display:flex;gap:8px;flex-wrap:wrap;}
.sbadge{font-size:.63rem;font-weight:700;padding:5px 12px;border-radius:100px;letter-spacing:.04em;text-transform:uppercase;}
.sbadge.clear{background:var(--green-pale);color:var(--green);}
.sbadge.hit{background:var(--red-pale);color:var(--red);}
.sbadge.possible{background:var(--amber-pale);color:var(--amber);}
.sbadge.neutral{background:var(--forest-pale);color:var(--forest);}

/* ── SECTION CARDS ── */
.section-card{background:#fff;border:1px solid var(--border2);border-radius:10px;overflow:hidden;animation:fadeUp .35s ease both;box-shadow:0 1px 4px rgba(0,0,0,0.05);}
.section-card:nth-child(2){animation-delay:.04s;}.section-card:nth-child(3){animation-delay:.08s;}.section-card:nth-child(4){animation-delay:.12s;}.section-card:nth-child(5){animation-delay:.16s;}.section-card:nth-child(6){animation-delay:.20s;}.section-card:nth-child(7){animation-delay:.24s;}.section-card:nth-child(8){animation-delay:.28s;}
.section-header{padding:14px 20px;border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.section-header:hover{background:var(--forest-pale);}
.sh-left{display:flex;align-items:center;gap:12px;}
.sh-icon{width:30px;height:30px;border-radius:8px;background:var(--forest-pale);display:flex;align-items:center;justify-content:center;color:var(--forest);flex-shrink:0;}
.sh-title{font-size:.85rem;font-weight:700;color:var(--charcoal);}
.sh-sub{font-size:.68rem;color:var(--mid);margin-top:1px;}
.sh-right{display:flex;align-items:center;gap:8px;}
.count-badge{font-size:.65rem;font-weight:700;padding:3px 9px;border-radius:100px;background:var(--forest-pale);color:var(--forest);}
.count-badge.red{background:var(--red-pale);color:var(--red);}
.count-badge.amber{background:var(--amber-pale);color:var(--amber);}
.chevron{color:var(--mid);transition:transform .2s;font-size:.75rem;}
.chevron.open{transform:rotate(180deg);}
.section-body{display:none;padding:16px 20px;}
.section-body.open{display:block;}

/* ── RESULT ITEMS ── */
.company-row{background:var(--bg);border-radius:8px;padding:11px 13px;margin-bottom:7px;display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px;cursor:pointer;border:1.5px solid transparent;transition:all .13s;}
.company-row:hover{border-color:var(--forest);background:var(--forest-pale);}
.company-row:last-child{margin-bottom:0;}
.cr-name{font-size:.83rem;font-weight:600;color:var(--charcoal);}
.cr-meta{font-size:.7rem;color:var(--slate);margin-top:2px;}
.cr-meta span{margin-right:10px;}
.cr-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.status-chip{font-size:.58rem;font-weight:700;padding:2px 7px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;}
.status-chip.active{background:var(--green-pale);color:var(--green);}
.status-chip.dissolved{background:var(--red-pale);color:var(--red);}
.status-chip.resigned{background:rgba(0,0,0,0.06);color:var(--slate);}
.view-btn{font-size:.62rem;font-weight:600;color:var(--forest);background:none;border:none;cursor:pointer;padding:0;font-family:'Inter',sans-serif;}
.sanctions-clear{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--green);font-weight:500;padding:6px 0;}
.sanctions-clear svg{flex-shrink:0;}
.sanction-hit{background:var(--red-pale);border:1px solid rgba(220,38,38,0.15);border-radius:8px;padding:11px 13px;margin-bottom:7px;}
.sanction-hit:last-child{margin-bottom:0;}
.sh-name{font-size:.83rem;font-weight:700;color:var(--red);}
.sh-details{font-size:.7rem;color:var(--slate);margin-top:4px;line-height:1.6;}
.sh-score{display:inline-block;font-size:.6rem;font-weight:700;background:var(--red-pale);color:var(--red);padding:1px 6px;border-radius:100px;margin-top:4px;}
.sanction-possible{background:var(--amber-pale);border:1px solid rgba(217,119,6,0.15);border-radius:8px;padding:11px 13px;margin-bottom:7px;}
.sanction-possible .sh-name{color:var(--amber);}
.sanction-possible .sh-score{background:var(--amber-pale);color:var(--amber);}
.check-clear{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--green);font-weight:500;padding:6px 0;}
.check-clear svg{flex-shrink:0;}
.check-match{background:var(--red-pale);border:1px solid rgba(220,38,38,0.15);border-radius:8px;padding:11px 13px;margin-bottom:7px;}
.check-match:last-child{margin-bottom:0;}
.check-flag{background:var(--amber-pale);border:1px solid rgba(217,119,6,0.15);border-radius:8px;padding:11px 13px;margin-bottom:7px;}
.check-flag:last-child{margin-bottom:0;}
.check-info{background:var(--forest-pale);border:1px solid rgba(1,84,65,0.15);border-radius:8px;padding:11px 13px;margin-bottom:7px;}
.check-info:last-child{margin-bottom:0;}
.check-name{font-size:.83rem;font-weight:700;}
.check-match .check-name{color:var(--red);}
.check-flag .check-name{color:var(--amber);}
.check-info .check-name{color:var(--forest);}
.check-details{font-size:.7rem;color:var(--slate);margin-top:4px;line-height:1.6;}
.check-score{display:inline-block;font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:100px;margin-top:4px;}
.check-match .check-score{background:var(--red-pale);color:var(--red);}
.check-flag .check-score{background:var(--amber-pale);color:var(--amber);}
.check-info .check-score{background:var(--forest-pale);color:var(--forest);}
.check-unavailable{font-size:.76rem;color:var(--mid);padding:6px 0;font-style:italic;}
.empty-msg{font-size:.76rem;color:var(--mid);padding:6px 0;}
.mini-spinner{width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--forest);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0;}
.loading-state{padding:28px;text-align:center;color:var(--mid);font-size:.8rem;}
.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--forest);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:8px;}

/* ── PLACEHOLDER PANELS ── */
.placeholder-panel{background:var(--card);border:1px solid var(--border2);border-radius:14px;padding:60px 40px;text-align:center;}
.placeholder-panel h2{font-size:1rem;font-weight:700;color:var(--charcoal);margin-bottom:8px;}
.placeholder-panel p{font-size:.8rem;color:var(--mid);}
.ph-badge{display:inline-flex;align-items:center;gap:6px;background:var(--forest-pale);color:var(--forest);font-size:.7rem;font-weight:700;padding:5px 12px;border-radius:100px;margin-bottom:16px;letter-spacing:.04em;}

/* ── MODAL ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:200;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;}
.modal-overlay.open{display:flex;}
.modal{background:var(--card);border-radius:10px;width:100%;max-width:640px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.2);}
.modal-header{padding:16px 22px;border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;background:var(--forest);}
.modal-title{font-size:.92rem;font-weight:700;color:#fff;}
.modal-close{background:rgba(255,255,255,0.15);border:none;cursor:pointer;color:#fff;font-size:1rem;line-height:1;padding:4px 9px;border-radius:6px;transition:background .13s;}
.modal-close:hover{background:rgba(255,255,255,0.25);}
.modal-body{padding:0;max-height:80vh;overflow-y:auto;}
.modal-block{padding:18px 22px;border-bottom:1px solid var(--border2);}
.modal-block:last-child{border-bottom:none;}
.modal-block-title{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:10px;}
.detail-grid{display:grid;grid-template-columns:150px 1fr;gap:0;}
.dg-row{display:contents;}
.dg-k{font-size:.7rem;color:var(--mid);font-weight:500;padding:5px 0;border-bottom:1px solid rgba(0,0,0,0.04);}
.dg-v{font-size:.76rem;color:var(--charcoal);padding:5px 0;border-bottom:1px solid rgba(0,0,0,0.04);font-weight:500;}
.dg-v.mono{font-family:'DM Mono',monospace;font-size:.68rem;}
.dg-v.green{color:var(--green);font-weight:700;}
.psc-item{background:var(--bg);border-radius:7px;padding:10px 12px;margin-bottom:6px;}
.psc-item:last-child{margin-bottom:0;}
.psc-name{font-size:.78rem;font-weight:600;color:var(--charcoal);}
.psc-meta{font-size:.68rem;color:var(--mid);margin-top:2px;}
.psc-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;}
.psc-tag{font-size:.58rem;background:var(--forest-pale);color:var(--forest);padding:2px 6px;border-radius:100px;font-weight:600;}
.accounts-list{display:flex;flex-direction:column;gap:5px;}
.account-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-radius:7px;padding:9px 12px;}
.account-date{font-size:.8rem;font-weight:700;color:var(--charcoal);}
.account-desc{font-size:.66rem;color:var(--mid);margin-top:2px;}
.pdf-btn{display:flex;align-items:center;gap:5px;font-size:.7rem;font-weight:600;color:var(--forest);background:#fff;border:1.5px solid var(--border2);padding:5px 12px;border-radius:7px;text-decoration:none;white-space:nowrap;transition:all .13s;}
.pdf-btn:hover{background:var(--forest);color:#fff;border-color:var(--forest);}
.no-pdf{font-size:.66rem;color:var(--mid);}
.ai-summary-block{background:linear-gradient(135deg,rgba(1,84,65,0.05) 0%,rgba(1,168,120,0.09) 100%);border-left:3px solid var(--forest-3);}
.ai-summary-label{font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--forest);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.ai-summary-label svg{flex-shrink:0;color:var(--forest-3);}
.ai-summary-text{font-size:.8rem;color:var(--charcoal);line-height:1.72;font-weight:400;}
.ai-summary-loading{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--mid);}
.ai-summary-error{font-size:.73rem;color:var(--slate);font-style:italic;}

/* ── DECISION PANEL ── */
.decision-panel{background:var(--bg);border-top:2px solid var(--border2);padding:20px 24px;}
.decision-panel-title{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:14px;}
.decision-btns{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.decision-btn{height:36px;padding:0 16px;border:2px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:700;cursor:pointer;background:#fff;transition:all .15s;letter-spacing:.02em;}
.decision-btn:hover{border-color:var(--forest);}
.decision-btn.active-clear{background:var(--green-pale);border-color:var(--green);color:var(--green);}
.decision-btn.active-review{background:var(--amber-pale);border-color:var(--amber);color:var(--amber);}
.decision-btn.active-rejected{background:var(--red-pale);border-color:var(--red);color:var(--red);}
.dle-edit-btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.dle-edit-decbtn{height:28px;padding:0 12px;border:1.5px solid var(--border2);border-radius:6px;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;cursor:pointer;background:#fff;transition:all .12s;}
.dle-edit-decbtn:hover{border-color:var(--forest);}
.dle-ebtn-active-clear{background:var(--green-pale);border-color:var(--green);color:var(--green);}
.dle-ebtn-active-under_review{background:var(--amber-pale);border-color:var(--amber);color:var(--amber);}
.dle-ebtn-active-rejected{background:var(--red-pale);border-color:var(--red);color:var(--red);}
.dle-edit-textarea{width:100%;margin-top:4px;padding:7px 10px;border:1.5px solid var(--border2);border-radius:6px;font-family:'Inter',sans-serif;font-size:.75rem;resize:vertical;min-height:52px;outline:none;box-sizing:border-box;}
.dle-edit-textarea:focus{border-color:var(--forest);}
.dle-save-edit-btn{height:28px;padding:0 14px;background:var(--forest);color:#fff;border:none;border-radius:6px;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;cursor:pointer;}
.dle-save-edit-btn:hover{background:var(--forest-dark,#013d2e);}
.dle-cancel-btn{height:28px;padding:0 14px;background:transparent;color:var(--mid);border:1.5px solid var(--border2);border-radius:6px;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;cursor:pointer;}
.dle-cancel-btn:hover{border-color:var(--charcoal);color:var(--charcoal);}
.dle-window-hint{font-size:.65rem;color:var(--amber);}
.decision-edit-btn{height:34px;padding:0 16px;background:transparent;border:1.5px solid var(--forest);color:var(--forest);border-radius:8px;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;}
.decision-edit-btn:hover{background:var(--forest);color:#fff;}
.dle-inline-edit-box{background:#f8fafc;border:1.5px solid var(--forest);border-radius:8px;padding:14px 16px;}
.dle-inline-edit-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin-bottom:10px;}
.dle-new-entry-box{background:#fffbf2;border:1.5px solid var(--amber);border-radius:8px;padding:14px 16px;}
.dle-new-entry-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-bottom:10px;}
.decision-note-area{width:100%;padding:10px 13px;border:2px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.82rem;color:var(--charcoal);outline:none;resize:vertical;min-height:72px;transition:border .18s;box-sizing:border-box;}
.decision-note-area:focus{border-color:var(--forest);}
.decision-save-btn{margin-top:10px;height:38px;padding:0 20px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .15s;}
.decision-save-btn:hover{background:var(--forest-2);}
.decision-log{margin-top:16px;border-top:1px solid var(--border2);padding-top:14px;}
.decision-log-title{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-bottom:10px;}
.decision-log-entry{background:#fff;border-radius:8px;padding:10px 13px;margin-bottom:7px;border-left:3px solid var(--border2);}
.decision-log-entry.clear{border-left-color:var(--green);}
.decision-log-entry.under_review{border-left-color:var(--amber);}
.decision-log-entry.rejected{border-left-color:var(--red);}
.decision-log-entry.pending{border-left-color:var(--mid);}
.dle-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.dle-decision{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.dle-decision.clear{color:var(--green);}
.dle-decision.under_review{color:var(--amber);}
.dle-decision.rejected{color:var(--red);}
.dle-meta{font-size:.65rem;color:var(--mid);}
.dle-note{font-size:.75rem;color:var(--charcoal);line-height:1.5;}

/* ── CUSTOMERS FILTER ── */
.customers-filter{padding:14px 28px;border-bottom:1px solid var(--border2);display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#f8fafc;}
.filter-group{display:flex;flex-direction:column;gap:5px;min-width:160px;}
.filter-group label{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);}
.filter-input{height:36px;padding:0 12px;border:1.5px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.82rem;color:var(--charcoal);background:#fff;outline:none;transition:border .15s;font-weight:500;}
.filter-input:focus{border-color:var(--forest);}
.filter-input::placeholder{color:#b8c4be;}
.filter-btn{height:36px;padding:0 18px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s;align-self:flex-end;}
.filter-btn:hover{background:var(--forest-2);}
.filter-clear{height:36px;padding:0 14px;background:none;color:var(--mid);border:1.5px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s;align-self:flex-end;}
.filter-clear:hover{border-color:var(--forest);color:var(--forest);}

/* ── CUSTOMERS TAB ── */
.customers-wrap{background:#fff;border:1px solid var(--border2);border-radius:10px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,0.06);}
.customers-header{padding:20px 28px;border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;}
.customers-header h2{font-size:1.05rem;font-weight:800;color:var(--charcoal);letter-spacing:-.02em;}
.customers-header span{font-size:.76rem;color:var(--mid);margin-top:3px;display:block;}
.customers-refresh{height:36px;padding:0 16px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s;}
.customers-refresh:hover{background:var(--forest-2);}
.customers-table{width:100%;border-collapse:collapse;}
.customers-table th{font-size:.62rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--mid);padding:10px 18px;text-align:left;border-bottom:1px solid var(--border2);background:#f8fafc;white-space:nowrap;}
.customers-table td{font-size:.82rem;color:var(--charcoal);padding:12px 18px;border-bottom:1px solid var(--border2);vertical-align:middle;font-weight:400;}
.customers-table tr:last-child td{border-bottom:none;}
.customers-table tr:hover td{background:var(--forest-pale);cursor:pointer;}
.ct-name{font-weight:700;color:var(--charcoal);}
.ct-date{font-size:.72rem;color:var(--mid);font-weight:400;}
.ct-badge{display:inline-block;font-size:.6rem;font-weight:700;padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;}
.ct-badge.match{background:var(--red-pale);color:var(--red);}
.ct-badge.possible{background:var(--amber-pale);color:var(--amber);}
.ct-badge.clear{background:var(--green-pale);color:var(--green);}
.ct-num{font-size:.72rem;color:var(--slate);text-align:center;}
.ct-num.hit{color:var(--red);font-weight:700;}
.ct-num.flag{color:var(--amber);font-weight:700;}
.customers-empty{padding:60px;text-align:center;color:var(--mid);font-size:.82rem;}
.customers-loading{padding:40px;text-align:center;color:var(--mid);font-size:.82rem;display:flex;align-items:center;justify-content:center;gap:10px;}

/* ── SAVE KYC BUTTON ── */
.save-kyc-bar{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;animation:fadeUp .3s ease both;}
.save-kyc-info{font-size:.78rem;color:var(--slate);line-height:1.5;}
.save-kyc-info strong{color:var(--charcoal);display:block;font-size:.85rem;margin-bottom:2px;}
.save-kyc-btn{height:38px;padding:0 20px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;display:flex;align-items:center;gap:7px;flex-shrink:0;}
.save-kyc-btn:hover{background:var(--forest-2);}
.save-kyc-btn:disabled{background:var(--mid);cursor:not-allowed;}
.save-kyc-btn.saved{background:var(--green);cursor:default;}

/* ── SANCTIONS SCOPE TOGGLE ── */
.scope-toggle-group{display:flex;flex-direction:column;gap:7px;}
.scope-toggle-label{font-size:.66rem;font-weight:700;color:var(--charcoal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;}
.scope-option{display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:9px 11px;border-radius:8px;border:1.5px solid var(--border2);background:#fff;transition:all .15s;user-select:none;}
.scope-option:hover{border-color:var(--forest);background:var(--forest-pale);}
.scope-option.selected{border-color:var(--forest);background:var(--forest-pale);}
.scope-option input[type="checkbox"]{display:none;}
.scope-check{width:16px;height:16px;border-radius:4px;border:2px solid var(--border2);background:#fff;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .15s;}
.scope-option.selected .scope-check{background:var(--forest);border-color:var(--forest);}
.scope-check-tick{display:none;color:#fff;}
.scope-option.selected .scope-check-tick{display:block;}
.scope-text{flex:1;}
.scope-text strong{font-size:.78rem;font-weight:700;color:var(--charcoal);display:block;}
.scope-text span{font-size:.65rem;color:var(--mid);margin-top:1px;display:block;line-height:1.4;}
.scope-option.locked{opacity:.5;cursor:not-allowed;pointer-events:none;}

@media(max-width:900px){
  .screening-layout{grid-template-columns:1fr;grid-template-rows:auto;height:auto;padding:16px;}
  .screening-layout .reg-card{grid-column:1;grid-row:auto;}
  .screening-layout .provider-selector-wrapper,
  .screening-layout #providerSelectorContainer{grid-column:1;grid-row:auto;max-height:none;}
  .screening-layout .results-panel,
  .screening-layout #results{grid-column:1;grid-row:auto;}
  .reg-card{position:static;}
}
@media(max-width:700px){
  .sidebar{transform:translateX(-100%);}.main{margin-left:0;}
  .frow.c2{grid-template-columns:1fr;}
}
/* ── LOGIN OVERLAY ── */
#loginOverlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;display:block;background:var(--forest);}
#loginOverlay.hidden{display:none !important;}
body.login-active{overflow:hidden;}body.login-active .sidebar,body.login-active .main{visibility:hidden;}
.login-split{display:flex;flex-direction:row;width:100%;height:100vh;min-height:100vh;}
.login-left{flex:0 0 52%;background:var(--forest);display:flex;align-items:center;justify-content:center;padding:60px 56px;position:relative;overflow:hidden;}
.login-left::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 50%,rgba(1,168,120,0.18) 0%,transparent 60%);}
.login-left-inner{position:relative;z-index:1;max-width:420px;}
.login-left-logo{display:flex;align-items:center;gap:14px;margin-bottom:56px;}
.login-left-name{font-size:1.25rem;font-weight:800;color:#fff;letter-spacing:-.03em;}
.login-left-tag{font-size:.68rem;color:rgba(255,255,255,0.45);margin-top:3px;letter-spacing:.04em;text-transform:uppercase;}
.login-left-headline{font-size:2.4rem;font-weight:800;color:#fff;line-height:1.18;letter-spacing:-.04em;margin-bottom:40px;}
.login-left-features{display:flex;flex-direction:column;gap:14px;margin-bottom:56px;}
.login-feat{display:flex;align-items:center;gap:10px;font-size:.82rem;color:rgba(255,255,255,0.7);font-weight:500;}
.login-feat svg{flex-shrink:0;color:var(--forest-3);}
.login-left-footer{font-size:.65rem;color:rgba(255,255,255,0.28);letter-spacing:.02em;}
.login-right{flex:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:60px 56px;overflow-y:auto;}
.login-right-inner{width:100%;max-width:380px;}
.login-form-header{margin-bottom:36px;}
.login-form-title{font-size:1.6rem;font-weight:800;color:var(--charcoal);letter-spacing:-.03em;margin-bottom:6px;}
.login-form-sub{font-size:.82rem;color:var(--mid);font-weight:400;}
.login-field-w{margin-bottom:18px;}
.login-label-w{display:block;font-size:.72rem;font-weight:700;color:var(--charcoal);margin-bottom:7px;letter-spacing:.04em;text-transform:uppercase;}
.login-input-w{width:100%;height:46px;padding:0 15px;background:#f8faf9;border:1.5px solid var(--border2);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--charcoal);outline:none;transition:all .18s;font-weight:500;}
.login-input-w::placeholder{color:#b8c4be;font-weight:400;}
.login-input-w:focus{border-color:var(--forest);background:#fff;box-shadow:0 0 0 3px rgba(1,84,65,0.08);}
.login-error-w{font-size:.76rem;color:var(--red);background:var(--red-pale);border:1px solid rgba(220,38,38,0.2);border-radius:8px;padding:10px 13px;margin-bottom:16px;}
.login-btn-w{width:100%;height:48px;background:var(--forest);color:#fff;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .18s;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:-.01em;}
.login-btn-w:hover{background:var(--forest-2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(1,84,65,0.25);}
.login-btn-w:active{transform:translateY(0);}
.login-links-w{display:flex;justify-content:space-between;margin-top:20px;}
.login-link-w{background:none;border:none;font-family:'DM Sans',sans-serif;font-size:.74rem;color:var(--mid);cursor:pointer;padding:0;transition:color .15s;font-weight:500;}
.login-link-w:hover{color:var(--forest);}
.login-back-w{font-size:.78rem;color:var(--forest);cursor:pointer;margin-bottom:28px;display:inline-block;font-weight:600;}
.login-back-w:hover{opacity:.7;}
.login-confirm-w{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--green);background:var(--green-pale);border:1px solid rgba(5,150,105,0.2);border-radius:8px;padding:11px 13px;margin-top:14px;line-height:1.5;}
.login-right-footer{font-size:.66rem;color:var(--mid);margin-top:40px;text-align:center;}
@media(max-width:768px){.login-split{flex-direction:column;}.login-left{flex:0 0 100%;width:100%;padding:40px 32px;min-height:auto;}.login-left-headline{font-size:1.7rem;margin-bottom:20px;}.login-left-features{display:none;}.login-left-logo{margin-bottom:20px;}.login-right{width:100%;padding:40px 32px;}}



/* ── DASHBOARD ── */
.dash-wrap{padding:0;display:flex;flex-direction:column;gap:20px;}
.dash-hero{background:linear-gradient(135deg,var(--forest) 0%,#0a6b4f 60%,#1a8a68 100%);border-radius:14px;padding:28px 32px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;position:relative;overflow:hidden;}
.dash-hero::before{content:'';position:absolute;top:-40px;right:-40px;width:220px;height:220px;background:rgba(255,255,255,0.04);border-radius:50%;}
.dash-hero::after{content:'';position:absolute;bottom:-60px;right:80px;width:160px;height:160px;background:rgba(255,255,255,0.03);border-radius:50%;}
.dash-hero-left{position:relative;z-index:1;}
.dash-hero-greeting{font-size:.72rem;font-weight:600;color:rgba(255,255,255,0.5);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.dash-hero-title{font-size:1.55rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.2;margin-bottom:10px;}
.dash-hero-sub{font-size:.82rem;color:rgba(255,255,255,0.6);font-weight:400;max-width:380px;line-height:1.5;}
.dash-hero-right{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.dash-live-pill{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:100px;padding:6px 14px;font-size:.72rem;font-weight:600;color:rgba(255,255,255,0.85);}
.dash-live-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:livepulse 1.8s ease-in-out infinite;}
@keyframes livepulse{0%,100%{opacity:1;box-shadow:0 0 8px #4ade80;}50%{opacity:.5;box-shadow:0 0 16px #4ade80;}}
.dash-last-sync{font-size:.65rem;color:rgba(255,255,255,0.35);font-weight:500;}

.dash-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.dash-kpi{background:#fff;border:1px solid var(--border2);border-radius:12px;padding:20px 22px;position:relative;overflow:hidden;transition:box-shadow .18s,transform .18s;}
.dash-kpi:hover{box-shadow:0 4px 20px rgba(0,0,0,0.09);transform:translateY(-1px);}
.dash-kpi-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.dash-kpi-val{font-size:2rem;font-weight:800;color:var(--charcoal);letter-spacing:-.04em;line-height:1;margin-bottom:4px;transition:color .3s;}
.dash-kpi-delta{font-size:.7rem;font-weight:600;color:var(--mid);}
.dash-kpi-delta.up{color:#059669;}
.dash-kpi-delta.down{color:#dc2626;}
.dash-kpi-bar{position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 12px 12px;}
.dash-kpi-bar.green{background:linear-gradient(90deg,#059669,#34d399);}
.dash-kpi-bar.amber{background:linear-gradient(90deg,#d97706,#fbbf24);}
.dash-kpi-bar.red{background:linear-gradient(90deg,#dc2626,#f87171);}
.dash-kpi-bar.blue{background:linear-gradient(90deg,#2563eb,#60a5fa);}

.dash-mid-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
.dash-card{background:#fff;border:1px solid var(--border2);border-radius:12px;padding:20px 22px;}
.dash-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.dash-card-title{font-size:.78rem;font-weight:700;color:var(--charcoal);letter-spacing:-.01em;}
.dash-card-badge{font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:100px;letter-spacing:.04em;text-transform:uppercase;}
.dash-card-badge.live{background:rgba(74,222,128,0.15);color:#059669;}
.dash-card-badge.ai{background:rgba(37,99,235,0.1);color:#2563eb;}

.dash-rag-row{display:flex;align-items:center;justify-content:space-around;padding:8px 0;}
.dash-rag-item{display:flex;flex-direction:column;align-items:center;gap:6px;}
.dash-rag-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;position:relative;}
.dash-rag-circle.green{background:rgba(5,150,105,0.1);color:#059669;border:2px solid rgba(5,150,105,0.2);}
.dash-rag-circle.amber{background:rgba(217,119,6,0.1);color:#d97706;border:2px solid rgba(217,119,6,0.2);}
.dash-rag-circle.red{background:rgba(220,38,38,0.1);color:#dc2626;border:2px solid rgba(220,38,38,0.2);}
.dash-rag-lbl{font-size:.62rem;font-weight:600;color:var(--mid);text-transform:uppercase;letter-spacing:.05em;}

.dash-period-tabs{display:flex;gap:4px;background:#f1f5f9;border-radius:8px;padding:3px;}
.dash-period-tab{font-size:.65rem;font-weight:600;padding:4px 10px;border-radius:6px;border:none;background:transparent;color:var(--mid);cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;}
.dash-period-tab.active{background:#fff;color:var(--charcoal);box-shadow:0 1px 4px rgba(0,0,0,0.1);}

.dash-activity{display:flex;flex-direction:column;gap:0;}
.dash-act-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);position:relative;}
.dash-act-item:last-child{border-bottom:none;}
.dash-act-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.dash-act-dot.green{background:#059669;}
.dash-act-dot.amber{background:#d97706;}
.dash-act-dot.red{background:#dc2626;}
.dash-act-dot.blue{background:#2563eb;}
.dash-act-dot.pulse{animation:actpulse 2s ease-in-out infinite;}
@keyframes actpulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.6);opacity:.6;}}
.dash-act-body{flex:1;min-width:0;}
.dash-act-name{font-size:.78rem;font-weight:600;color:var(--charcoal);}
.dash-act-detail{font-size:.7rem;color:var(--mid);margin-top:1px;}
.dash-act-time{font-size:.62rem;color:var(--mid);white-space:nowrap;flex-shrink:0;margin-top:3px;}

.dash-sanctions-feed{display:flex;flex-direction:column;gap:0;max-height:280px;overflow-y:auto;}
.dash-sanction-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);}
.dash-sanction-item:last-child{border-bottom:none;}
.dash-sanction-flag{font-size:.95rem;flex-shrink:0;width:22px;text-align:center;}
.dash-sanction-body{flex:1;min-width:0;}
.dash-sanction-name{font-size:.75rem;font-weight:700;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dash-sanction-detail{font-size:.66rem;color:var(--mid);margin-top:1px;}
.dash-sanction-badge{font-size:.55rem;font-weight:700;padding:2px 7px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;align-self:flex-start;margin-top:2px;}
.dash-sanction-badge.new{background:#fef2f2;color:#dc2626;border:1px solid rgba(220,38,38,0.2);}
.dash-sanction-badge.updated{background:#fffbeb;color:#d97706;border:1px solid rgba(217,119,6,0.2);}
.dash-sanction-badge.removed{background:#f0fdf4;color:#059669;border:1px solid rgba(5,150,105,0.2);}

.dash-ai-stream{display:flex;flex-direction:column;gap:8px;}
.dash-ai-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;background:var(--forest-pale);border:1px solid var(--forest-pale2);animation:aifadein .4s ease;}
@keyframes aifadein{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
.dash-ai-icon{width:22px;height:22px;border-radius:6px;background:var(--forest);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dash-ai-text{font-size:.72rem;color:var(--charcoal);line-height:1.5;flex:1;}
.dash-ai-text strong{font-weight:700;color:var(--forest);}
.dash-ai-cursor{display:inline-block;width:2px;height:10px;background:var(--forest);animation:blink .8s step-end infinite;vertical-align:middle;margin-left:2px;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}

.dash-bottom-row{display:grid;grid-template-columns:2fr 1fr;gap:14px;}
.dash-sparkline-wrap{position:relative;height:60px;margin-top:8px;}
.dash-trend-lbl{font-size:.65rem;color:var(--mid);font-weight:500;}
.dash-ticker{display:flex;flex-direction:column;gap:6px;}
.dash-ticker-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;background:#f8fafc;border:1px solid var(--border2);}
.dash-ticker-name{font-size:.72rem;font-weight:600;color:var(--charcoal);}
.dash-ticker-count{font-size:.72rem;font-weight:700;color:var(--forest);}
.dash-ticker-delta{font-size:.62rem;color:var(--mid);}
@media(max-width:1200px){.dash-kpi-row{grid-template-columns:repeat(2,1fr);}.dash-mid-row{grid-template-columns:1fr 1fr;}.dash-bottom-row{grid-template-columns:1fr;}}

/* ── COMPANY SCREENING ── */
.cp-header-card{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:20px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;box-shadow:0 1px 6px rgba(0,0,0,0.05);margin-bottom:4px;}
.cp-header-left{flex:1;}
.cp-company-name{font-size:1.35rem;font-weight:800;color:var(--charcoal);letter-spacing:-.03em;line-height:1.2;}
.cp-company-meta{font-size:.76rem;color:var(--mid);margin-top:5px;}
.cp-officer-row{background:var(--bg);border-radius:9px;padding:12px 14px;margin-bottom:8px;border-left:3px solid var(--forest);}
.cp-officer-row:last-child{margin-bottom:0;}
.cp-psc-row{background:var(--bg);border-radius:9px;padding:12px 14px;margin-bottom:8px;}
.cp-psc-row:last-child{margin-bottom:0;}
.cp-ai-badge{font-size:.55rem;font-weight:800;letter-spacing:.08em;background:linear-gradient(135deg,var(--forest),var(--forest-3));color:#fff;padding:3px 7px;border-radius:100px;text-transform:uppercase;margin-right:4px;}
.cs-results-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;}
.cs-result-item{padding:11px 13px;background:#fff;border:1.5px solid var(--border2);border-radius:9px;cursor:pointer;transition:all .13s;}
.cs-result-item:hover{border-color:var(--forest);background:var(--forest-pale);}
.csr-name{font-size:.84rem;font-weight:700;color:var(--charcoal);}
.csr-meta{font-size:.7rem;color:var(--mid);margin-top:2px;}
.cs-select-prompt{font-size:.78rem;color:var(--mid);padding:6px 0 12px;font-style:italic;}

/* ── DIRECTOR SCREENING ── */
.run-screening-btn{height:28px;padding:0 12px;background:var(--forest);color:#fff;border:none;border-radius:6px;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;}
.run-screening-btn:hover{background:var(--forest-2);}
.run-screening-btn:disabled{cursor:not-allowed;opacity:.7;}
.director-screen-result{margin-top:4px;}
.show-more-btn{display:inline-block;margin-top:8px;font-size:.74rem;font-weight:600;color:var(--forest);background:none;border:1.5px solid var(--border2);border-radius:7px;padding:5px 14px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .15s;}
.show-more-btn:hover{border-color:var(--forest);background:var(--forest-pale);}

/* ── DIRECTOR ACTION LINKS ── */
.director-action-link{display:inline-flex;align-items:center;height:26px;padding:0 10px;font-size:.7rem;font-weight:600;color:var(--forest);background:var(--forest-pale);border:1.5px solid rgba(1,84,65,0.15);border-radius:6px;cursor:pointer;font-family:'Inter',sans-serif;text-decoration:none;transition:all .13s;}
.director-action-link:hover{background:var(--forest);color:#fff;border-color:var(--forest);}

/* ── APPOINTMENTS PANEL ── */
.appts-panel{background:#f8fafc;border:1px solid var(--border2);border-radius:8px;padding:12px 14px;}
.appts-header{font-size:.68rem;font-weight:700;color:var(--forest);margin-bottom:10px;letter-spacing:.01em;}
.appt-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border2);}
.appt-row:last-child{border-bottom:none;padding-bottom:0;}
.appt-co-name{font-size:.8rem;font-weight:700;color:var(--charcoal);}
.appt-meta{font-size:.68rem;color:var(--mid);margin-top:2px;display:flex;flex-wrap:wrap;gap:0;}
.appt-meta span{margin-right:10px;}
.appt-num{font-family:'DM Mono',monospace;font-size:.65rem;}
.fca-filter-btn{height:24px;padding:0 10px;border:1.5px solid var(--border2);border-radius:100px;font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;cursor:pointer;background:#fff;color:var(--slate);transition:all .13s;}
.fca-filter-btn:hover{border-color:var(--forest);color:var(--forest);}
.fca-filter-btn.fca-filter-active{background:var(--forest);color:#fff;border-color:var(--forest);}

/* ── ONBOARDING ── */
.ob-wrap{max-width:860px;margin:0;padding:0 0 40px;}

/* topbar stepper */
.ob-topbar-stepper{display:flex;align-items:center;gap:0;flex:1;justify-content:center;padding:0 32px;}
.ob-ts-step{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ob-ts-num{width:24px;height:24px;border-radius:50%;background:var(--border2);color:var(--mid);font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .25s;flex-shrink:0;}
.ob-ts-label{font-size:.72rem;font-weight:600;color:var(--mid);transition:color .25s;white-space:nowrap;}
.ob-ts-step.active .ob-ts-num{background:var(--forest);color:#fff;}
.ob-ts-step.active .ob-ts-label{color:var(--charcoal);}
.ob-ts-step.done .ob-ts-num{background:var(--green);color:#fff;}
.ob-ts-step.done .ob-ts-label{color:var(--mid);}
.ob-ts-line{flex:1;height:2px;background:var(--border2);margin:0 10px;border-radius:2px;transition:background .25s;min-width:28px;max-width:60px;}
.ob-ts-line.done{background:var(--green);}

.ob-card{background:#fff;border:1px solid var(--border2);border-radius:12px;overflow:hidden;box-shadow:0 1px 8px rgba(0,0,0,0.05);}
.ob-card-header{display:flex;align-items:flex-start;gap:14px;padding:22px 28px 18px;border-bottom:1px solid var(--border2);}
.ob-card-icon{width:38px;height:38px;border-radius:9px;background:var(--forest-pale);color:var(--forest);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ob-card-title{font-size:.95rem;font-weight:700;color:var(--charcoal);letter-spacing:-.02em;margin-bottom:3px;}
.ob-card-sub{font-size:.75rem;color:var(--mid);}

.ob-form{padding:24px 28px;display:flex;flex-direction:column;gap:16px;}
.ob-frow{display:grid;gap:14px;}
.ob-c1{grid-template-columns:1fr;}
.ob-c2{grid-template-columns:1fr 1fr;}
.ob-c3{grid-template-columns:1fr 1fr 1fr;}
.ob-fgroup{display:flex;flex-direction:column;gap:5px;}
.ob-label{font-size:.72rem;font-weight:600;color:var(--slate);}
.ob-req{color:var(--red);font-weight:700;}
.ob-opt{font-size:.65rem;font-weight:400;color:var(--mid);margin-left:3px;}
.ob-input{height:40px;border:1.5px solid var(--border2);border-radius:8px;padding:0 12px;font-family:'Inter',sans-serif;font-size:.82rem;color:var(--charcoal);background:#fff;transition:border-color .15s,box-shadow .15s;outline:none;width:100%;}
.ob-input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(1,84,65,0.09);}
.ob-input::placeholder{color:var(--mid);opacity:.7;}

.ob-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 28px;border-top:1px solid var(--border2);background:#fafbfc;}
.ob-footer-hint{font-size:.68rem;color:var(--mid);margin-right:auto;}
.ob-btn-primary{display:flex;align-items:center;gap:8px;height:40px;padding:0 20px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;}
.ob-btn-primary:hover{background:var(--forest-2);}
.ob-btn-secondary{display:flex;align-items:center;gap:8px;height:40px;padding:0 16px;background:#fff;color:var(--slate);border:1.5px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;}
.ob-btn-secondary:hover{border-color:var(--forest);color:var(--forest);}

/* doc type selector */
.ob-doc-type-row{display:flex;gap:10px;padding:20px 28px 0;}
.ob-doc-type{display:flex;align-items:center;gap:8px;padding:9px 16px;border:1.5px solid var(--border2);border-radius:8px;background:#fff;color:var(--mid);font-family:'Inter',sans-serif;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s;}
.ob-doc-type:hover{border-color:var(--forest);color:var(--forest);}
.ob-doc-type.active{border-color:var(--forest);background:var(--forest-pale);color:var(--forest);font-weight:700;}

/* upload zone */
.ob-upload-zone{margin:20px 28px 0;border:2px dashed var(--border2);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;min-height:150px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.ob-upload-zone:hover,.ob-upload-zone.drag-over{border-color:var(--forest);background:var(--forest-pale);}
.ob-upload-inner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 20px;text-align:center;}
.ob-upload-icon{color:var(--mid);opacity:.6;}
.ob-upload-label{font-size:.82rem;color:var(--slate);font-weight:500;}
.ob-upload-link{color:var(--forest);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.ob-upload-hint{font-size:.68rem;color:var(--mid);}
.ob-preview-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:16px;position:relative;}
.ob-preview-wrap img{max-height:180px;max-width:100%;border-radius:6px;object-fit:contain;}
.ob-preview-remove{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;line-height:1;}

.ob-id-tips{display:flex;gap:20px;padding:12px 28px 20px;flex-wrap:wrap;}
.ob-tip{display:flex;align-items:flex-start;gap:5px;font-size:.68rem;color:var(--mid);}
.ob-tip svg{flex-shrink:0;margin-top:1px;color:var(--mid);}
.ob-tip-neutral{color:var(--mid);}

/* selfie */
.ob-selfie-wrap{display:grid;grid-template-columns:1fr 220px;gap:20px;padding:20px 28px 20px;}
.ob-selfie-zone{margin:0!important;min-height:200px;}
.ob-selfie-outline{color:var(--mid);}
.ob-selfie-tips{display:flex;flex-direction:column;gap:10px;justify-content:center;}
.ob-selfie-tip-title{font-size:.72rem;font-weight:700;color:var(--charcoal);margin-bottom:4px;}
.ob-selfie-preview-wrap img{max-height:160px;border-radius:50%;aspect-ratio:1;object-fit:cover;}

/* results */
.ob-results-card{background:#fff;border:1px solid var(--border2);border-radius:12px;overflow:hidden;box-shadow:0 1px 8px rgba(0,0,0,0.05);}
.ob-results-loading{display:flex;flex-direction:column;align-items:center;padding:48px 32px;gap:20px;}
.ob-spinner-ring{width:44px;height:44px;border:3px solid var(--forest-pale);border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.ob-loading-title{font-size:.9rem;font-weight:700;color:var(--charcoal);}
.ob-loading-steps{display:flex;flex-direction:column;gap:10px;width:100%;max-width:340px;}
.ob-loading-step{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--mid);transition:color .2s;}
.ob-loading-step.done{color:var(--charcoal);font-weight:500;}
.ob-lstep-dot{width:10px;height:10px;border-radius:50%;background:var(--border2);flex-shrink:0;transition:all .3s;}
.ob-lstep-dot.pending{background:var(--border2);}
.ob-lstep-dot.running{background:var(--amber);animation:pulse 1s infinite;}
.ob-lstep-dot.done{background:var(--green);}
.ob-lstep-dot.hit{background:var(--red);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}

/* results body */
.ob-results-body{padding:0;}
.ob-res-hero{padding:28px 28px 22px;display:flex;align-items:flex-start;gap:18px;border-bottom:1px solid var(--border2);}
.ob-res-badge{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.3rem;}
.ob-res-badge.clear{background:var(--green-pale);}
.ob-res-badge.review{background:var(--amber-pale);}
.ob-res-badge.rejected{background:var(--red-pale);}
.ob-res-name{font-size:1.1rem;font-weight:800;color:var(--charcoal);letter-spacing:-.02em;margin-bottom:4px;}
.ob-res-meta{font-size:.72rem;color:var(--mid);}
.ob-res-verdict{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:100px;font-size:.72rem;font-weight:700;margin-top:8px;}
.ob-res-verdict.clear{background:var(--green-pale);color:var(--green);}
.ob-res-verdict.review{background:var(--amber-pale);color:var(--amber);}
.ob-res-verdict.rejected{background:var(--red-pale);color:var(--red);}
.ob-res-checks{padding:20px 28px;display:flex;flex-direction:column;gap:8px;}
.ob-check-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid var(--border2);border-radius:8px;background:#fafbfc;}
.ob-check-label{font-size:.78rem;font-weight:600;color:var(--charcoal);}
.ob-check-detail{font-size:.68rem;color:var(--mid);margin-top:2px;}
.ob-check-status{font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:100px;}
.ob-check-status.clear{background:var(--green-pale);color:var(--green);}
.ob-check-status.hit{background:var(--red-pale);color:var(--red);}
.ob-check-status.review{background:var(--amber-pale);color:var(--amber);}
.ob-check-status.na{background:var(--forest-pale);color:var(--forest);}
.ob-res-actions{display:flex;gap:10px;padding:18px 28px;border-top:1px solid var(--border2);background:#fafbfc;}
.ob-action-btn{display:flex;align-items:center;gap:7px;height:38px;padding:0 16px;border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;border:1.5px solid var(--border2);background:#fff;color:var(--slate);}
.ob-action-btn:hover{border-color:var(--forest);color:var(--forest);}
.ob-action-btn.primary{background:var(--forest);color:#fff;border-color:var(--forest);}
.ob-action-btn.primary:hover{background:var(--forest-2);}

/* ── AI FEED OVERRIDES ── */
.dash-card-badge.ai{background:rgba(5,150,105,0.12);color:var(--forest);animation:pulse-badge 2s ease infinite;}
@keyframes pulse-badge{0%,100%{opacity:1;}50%{opacity:.55;}}
.dash-ai-sectors{display:flex;gap:5px;flex-wrap:wrap;padding:4px 0 10px;border-bottom:1px solid var(--border2);margin-bottom:10px;}
.dash-ai-sector-btn{font-size:.64rem;font-weight:600;padding:3px 10px;border-radius:100px;border:1px solid var(--border2);background:#fff;color:var(--mid);cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;white-space:nowrap;}
.dash-ai-sector-btn:hover{border-color:var(--forest);color:var(--forest);}
.dash-ai-sector-btn.active{background:var(--forest);color:#fff;border-color:var(--forest);}
.dash-ai-stream{display:flex;flex-direction:column;gap:6px;max-height:310px;overflow-y:auto;scrollbar-width:thin;}
.dash-ai-row{border-radius:8px;background:var(--forest-pale);border:1px solid var(--forest-pale2);animation:aifadein .4s ease;}
.dash-ai-row-inner{padding:8px 10px;}
.dash-ai-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;}
.dash-ai-sector-tag{font-size:.59rem;font-weight:700;padding:2px 7px;border-radius:100px;letter-spacing:.03em;}
.dash-ai-time{font-size:.59rem;color:var(--mid);}
.dash-ai-body{display:flex;align-items:flex-start;gap:8px;}
.dash-ai-icon{width:20px;height:20px;border-radius:5px;background:var(--forest);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.dash-ai-text{font-size:.71rem;color:var(--charcoal);line-height:1.55;flex:1;}
.dash-ai-date{font-size:.59rem;color:var(--mid);background:var(--border2);padding:1px 6px;border-radius:4px;font-weight:500;}
.dash-ai-footer{padding:6px 10px 8px;border-top:1px solid var(--forest-pale2);margin-top:4px;}
.dash-ai-link{font-size:.65rem;font-weight:600;color:var(--forest);text-decoration:none;display:inline-flex;align-items:center;gap:3px;transition:opacity .15s;}
.dash-ai-link:hover{opacity:.7;text-decoration:underline;}

/* ── ONGOING MONITORING ── */
.om-wrap{display:flex;flex-direction:column;gap:18px;padding-bottom:40px;}
.om-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.om-header-left .om-header-title{font-size:1.05rem;font-weight:800;color:var(--charcoal);letter-spacing:-.02em;}
.om-header-left .om-header-sub{font-size:.72rem;color:var(--mid);margin-top:3px;}
.om-header-right{display:flex;align-items:center;gap:10px;}
.om-schedule-pill{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--border2);border-radius:8px;padding:7px 12px;font-size:.72rem;color:var(--slate);font-weight:500;}
.om-schedule-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:blink 2s infinite;flex-shrink:0;}
.om-run-btn{display:flex;align-items:center;gap:7px;height:36px;padding:0 16px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s;}
.om-run-btn:hover{background:var(--forest-2);}
.om-run-btn:disabled{opacity:.6;cursor:not-allowed;}

.om-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.om-kpi{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:16px 18px;text-align:center;}
.om-kpi-val{font-size:1.6rem;font-weight:800;color:var(--charcoal);letter-spacing:-.04em;line-height:1;}
.om-kpi-val.green{color:var(--green);}
.om-kpi-val.amber{color:var(--amber);}
.om-kpi-val.red{color:var(--red);}
.om-kpi-label{font-size:.65rem;font-weight:600;color:var(--mid);text-transform:uppercase;letter-spacing:.06em;margin-top:6px;}

.om-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start;}
.om-card{background:#fff;border:1px solid var(--border2);border-radius:12px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,0.05);}
.om-card-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border2);}
.om-card-title{font-size:.88rem;font-weight:700;color:var(--charcoal);}
.om-alert-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--red);color:#fff;border-radius:100px;font-size:.65rem;font-weight:700;display:none;}

.om-search{height:32px;border:1.5px solid var(--border2);border-radius:7px;padding:0 10px;font-family:'Inter',sans-serif;font-size:.75rem;color:var(--charcoal);outline:none;width:160px;transition:border-color .15s;}
.om-search:focus{border-color:var(--forest);}
.om-filter-sel{height:32px;border:1.5px solid var(--border2);border-radius:7px;padding:0 8px;font-family:'Inter',sans-serif;font-size:.75rem;color:var(--slate);outline:none;cursor:pointer;background:#fff;}

.om-table-wrap{overflow-x:auto;}
.om-table{width:100%;border-collapse:collapse;font-size:.75rem;}
.om-table thead th{padding:9px 14px;text-align:left;font-size:.62rem;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border2);background:#fafbfc;white-space:nowrap;}
.om-table tbody tr{border-bottom:1px solid var(--border2);transition:background .12s;}
.om-table tbody tr:hover{background:var(--forest-pale);}
.om-table tbody tr:last-child{border-bottom:none;}
.om-table td{padding:10px 14px;vertical-align:middle;}
.om-name{font-weight:600;color:var(--charcoal);font-size:.78rem;}
.om-sub{font-size:.65rem;color:var(--mid);margin-top:2px;}
.om-num{text-align:center;font-weight:600;color:var(--mid);}
.om-num.om-hit{color:var(--red);font-weight:700;}
.om-num.om-flag{color:var(--amber);font-weight:700;}
.om-row-scanning{background:var(--forest-pale);animation:pulse-row 1s ease infinite;}
@keyframes pulse-row{0%,100%{opacity:1;}50%{opacity:.6;}}

.om-status-badge{font-size:.62rem;font-weight:700;padding:3px 9px;border-radius:100px;letter-spacing:.04em;}
.om-status-clear{background:var(--green-pale);color:var(--green);}
.om-status-review{background:var(--amber-pale);color:var(--amber);}
.om-status-alert{background:var(--red-pale);color:var(--red);}
.om-status-pending{background:var(--forest-pale);color:var(--forest);}

.om-actions-cell{text-align:center;white-space:nowrap;}
.om-action-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border2);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin:0 2px;transition:all .15s;color:var(--mid);}
.om-screen-btn:hover{border-color:var(--forest);color:var(--forest);background:var(--forest-pale);}
.om-media-btn:hover{border-color:#7c3aed;color:#7c3aed;background:#f5f3ff;}
.om-unenrol-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-pale);}

.om-loading{display:flex;align-items:center;gap:10px;padding:28px 20px;font-size:.78rem;color:var(--mid);}
.om-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;text-align:center;color:var(--mid);}
.om-empty-state p{font-size:.82rem;font-weight:600;color:var(--slate);}
.om-empty-state span{font-size:.72rem;}

/* Alerts */
.om-alerts-list{max-height:240px;overflow-y:auto;padding:8px;}
.om-alert-item{background:#fff;border:1px solid var(--border2);border-radius:8px;padding:10px 12px;margin-bottom:6px;}
.om-alert-item:last-child{margin-bottom:0;}
.om-alert-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.om-alert-sev{font-size:.62rem;font-weight:700;letter-spacing:.06em;}
.om-alert-time{font-size:.62rem;color:var(--mid);}
.om-alert-name{font-size:.75rem;font-weight:700;color:var(--charcoal);}
.om-alert-detail{font-size:.68rem;color:var(--mid);margin-top:2px;}
.om-alert-dismiss{margin-top:6px;font-size:.62rem;font-weight:600;color:var(--mid);background:none;border:1px solid var(--border2);border-radius:5px;padding:2px 8px;cursor:pointer;transition:all .15s;}
.om-alert-dismiss:hover{color:var(--forest);border-color:var(--forest);}
.om-ai-badge{font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:100px;background:#f5f3ff;color:#7c3aed;letter-spacing:.04em;}

/* Adverse Media */
.om-adverse-wrap{padding:12px;}
.om-adverse-idle{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;text-align:center;color:var(--mid);}
.om-adverse-idle p{font-size:.72rem;line-height:1.4;}
.om-adverse-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 12px;}
.om-spinner-ring{width:32px;height:32px;border:2.5px solid var(--forest-pale);border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite;}
.om-adverse-status{font-size:.72rem;color:var(--mid);text-align:center;}
.om-adverse-result{display:flex;flex-direction:column;gap:8px;}
.om-adverse-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.om-adverse-verdict{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:100px;}
.om-verdict-clear{background:var(--green-pale);color:var(--green);}
.om-verdict-potential{background:var(--amber-pale);color:var(--amber);}
.om-verdict-confirmed{background:var(--red-pale);color:var(--red);}
.om-adverse-name{font-size:.75rem;font-weight:700;color:var(--charcoal);}
.om-adverse-summary{font-size:.71rem;color:var(--slate);line-height:1.55;}
.om-adverse-factors-title{font-size:.62rem;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;}
.om-adverse-factors{padding-left:14px;display:flex;flex-direction:column;gap:3px;}
.om-adverse-factors li{font-size:.68rem;color:var(--slate);}
.om-adverse-action{font-size:.68rem;color:var(--charcoal);background:var(--forest-pale);border-radius:6px;padding:7px 9px;line-height:1.4;}
.om-adverse-footer{font-size:.6rem;color:var(--mid);border-top:1px solid var(--border2);padding-top:6px;margin-top:4px;}

/* ── ENHANCED DUE DILIGENCE ── */
.edd-wrap{display:flex;flex-direction:column;gap:16px;padding-bottom:40px;}
.edd-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.edd-header-title{font-size:1.05rem;font-weight:800;color:var(--charcoal);letter-spacing:-.02em;}
.edd-header-sub{font-size:.72rem;color:var(--mid);margin-top:3px;}
.edd-header-right{display:flex;align-items:center;gap:10px;}
.edd-fatf-update{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--mid);background:#fff;border:1px solid var(--border2);border-radius:7px;padding:6px 10px;}
.edd-refresh-btn{display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;background:var(--forest);color:#fff;border:none;border-radius:7px;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:600;cursor:pointer;}
.edd-refresh-btn:hover{background:var(--forest-2);}

/* FATF Reference Row */
.edd-fatf-row{display:grid;grid-template-columns:1fr 2fr;gap:12px;}
.edd-fatf-card{background:#fff;border-radius:10px;padding:14px 16px;border:1px solid var(--border2);}
.edd-fatf-black{border-left:3px solid var(--red);}
.edd-fatf-grey{border-left:3px solid var(--amber);}
.edd-fatf-card-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.edd-fatf-pill{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:100px;letter-spacing:.05em;}
.edd-fatf-pill.black{background:var(--red-pale);color:var(--red);}
.edd-fatf-pill.grey{background:var(--amber-pale);color:var(--amber);}
.edd-fatf-pill-label{font-size:.65rem;color:var(--mid);}
.edd-fatf-countries{display:flex;flex-wrap:wrap;gap:4px;}
.edd-country-tag{font-size:.62rem;font-weight:600;padding:2px 7px;border-radius:4px;}
.edd-country-tag.black{background:var(--red-pale);color:var(--red);}
.edd-country-tag.grey{background:var(--amber-pale);color:var(--amber);}

/* KPI Row */
.edd-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.edd-kpi{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:14px 16px;text-align:center;}
.edd-kpi-val{font-size:1.5rem;font-weight:800;color:var(--charcoal);letter-spacing:-.04em;line-height:1;}
.edd-kpi-val.red{color:var(--red);}
.edd-kpi-val.amber{color:var(--amber);}
.edd-kpi-val.green{color:var(--green);}
.edd-kpi-label{font-size:.62rem;font-weight:600;color:var(--mid);text-transform:uppercase;letter-spacing:.06em;margin-top:5px;}

/* Grid */
.edd-grid{display:grid;grid-template-columns:1fr 340px;gap:14px;align-items:start;}
.edd-card{background:#fff;border:1px solid var(--border2);border-radius:12px;overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,0.05);}
.edd-card-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border2);}
.edd-card-title{font-size:.88rem;font-weight:700;color:var(--charcoal);}

/* Badges */
.edd-list-badge{font-size:.66rem;font-weight:700;padding:3px 9px;border-radius:100px;letter-spacing:.04em;}
.edd-list-badge.black{background:var(--red-pale);color:var(--red);}
.edd-list-badge.grey{background:var(--amber-pale);color:var(--amber);}
.edd-list-badge.lg{font-size:.72rem;padding:4px 12px;}
.edd-jur-tag{font-size:.62rem;font-weight:600;padding:1px 6px;border-radius:4px;margin-right:3px;}
.edd-jur-tag.black{background:var(--red-pale);color:var(--red);}
.edd-jur-tag.grey{background:var(--amber-pale);color:var(--amber);}

/* Row states */
.edd-row{cursor:pointer;}
.edd-row-active{background:var(--forest-pale) !important;}

/* Detail Panel */
.edd-detail-idle{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 20px;text-align:center;color:var(--mid);}
.edd-detail-idle p{font-size:.82rem;font-weight:600;color:var(--slate);}
.edd-detail-idle span{font-size:.7rem;line-height:1.4;}
.edd-detail-wrap{display:flex;flex-direction:column;gap:12px;padding:16px;}
.edd-detail-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.edd-detail-name{font-size:.95rem;font-weight:800;color:var(--charcoal);letter-spacing:-.02em;}
.edd-detail-ref{font-size:.65rem;color:var(--mid);margin-top:3px;font-family:'DM Mono',monospace;}

/* Alert Banner */
.edd-alert-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;font-size:.72rem;line-height:1.5;}
.edd-banner-black{background:var(--red-pale);color:var(--red);border:1px solid rgba(220,38,38,0.2);}
.edd-banner-black svg{color:var(--red);flex-shrink:0;margin-top:2px;}
.edd-banner-grey{background:var(--amber-pale);color:#92400e;border:1px solid rgba(217,119,6,0.2);}
.edd-banner-grey svg{color:var(--amber);flex-shrink:0;margin-top:2px;}

/* Progress */
.edd-progress-row{display:flex;flex-direction:column;gap:5px;}
.edd-progress-label{display:flex;justify-content:space-between;font-size:.68rem;font-weight:600;color:var(--slate);}
.edd-progress-label span{color:var(--forest);font-weight:700;}
.edd-progress-bar{height:6px;background:var(--border2);border-radius:100px;overflow:hidden;}
.edd-progress-fill{height:100%;background:linear-gradient(90deg,var(--forest),var(--forest-3));border-radius:100px;transition:width .4s ease;}

/* Checklist */
.edd-section-title{font-size:.68rem;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:.07em;margin-top:2px;}
.edd-checklist{display:flex;flex-direction:column;gap:4px;}
.edd-check-item{display:flex;align-items:flex-start;gap:8px;padding:7px 8px;border-radius:7px;border:1px solid var(--border2);cursor:pointer;transition:all .15s;background:#fafbfc;}
.edd-check-item:hover{border-color:var(--forest);background:var(--forest-pale);}
.edd-check-item.edd-check-done{border-color:var(--green);background:var(--green-pale);}
.edd-check-item input{margin-top:2px;flex-shrink:0;accent-color:var(--forest);}
.edd-check-label{font-size:.72rem;font-weight:600;color:var(--charcoal);}
.edd-check-detail{font-size:.64rem;color:var(--mid);margin-top:1px;}

/* Notes */
.edd-notes-area{width:100%;height:80px;border:1.5px solid var(--border2);border-radius:8px;padding:8px 10px;font-family:'Inter',sans-serif;font-size:.72rem;color:var(--charcoal);resize:none;outline:none;transition:border-color .15s;}
.edd-notes-area:focus{border-color:var(--forest);}

/* Actions */
.edd-detail-actions{display:flex;gap:8px;flex-wrap:wrap;}
.edd-action-btn{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:7px;border:1.5px solid var(--border2);background:#fff;color:var(--slate);font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s;}
.edd-action-btn:hover{border-color:var(--forest);color:var(--forest);background:var(--forest-pale);}

/* ── ONBOARDING COUNTRY SELECT & FATF FLAGS ── */
.ob-country-wrap{position:relative;display:flex;align-items:center;gap:8px;}
.ob-country-select{flex:1;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%2364748b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer;}
.ob-country-select:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(1,84,65,0.09);}
.ob-fatf-flag{display:inline-flex;align-items:center;font-size:.62rem;font-weight:700;padding:3px 8px;border-radius:100px;white-space:nowrap;flex-shrink:0;}
.ob-fatf-flag-black{background:var(--red-pale);color:var(--red);}
.ob-fatf-flag-grey{background:var(--amber-pale);color:var(--amber);}

/* FATF alert banner in onboarding form */
.ob-fatf-alert-banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;font-size:.75rem;line-height:1.5;margin:0 28px 0;}
.ob-fatf-black{background:var(--red-pale);color:var(--red);border:1px solid rgba(220,38,38,0.2);}
.ob-fatf-black svg{color:var(--red);flex-shrink:0;margin-top:2px;}
.ob-fatf-grey{background:var(--amber-pale);color:#92400e;border:1px solid rgba(217,119,6,0.2);}
.ob-fatf-grey svg{color:var(--amber);flex-shrink:0;margin-top:2px;}

/* FATF result banner in results screen */
.ob-fatf-result-banner{padding:10px 14px;border-radius:8px;font-size:.73rem;line-height:1.5;margin:0 28px;}
.ob-fatf-result-black{background:var(--red-pale);color:var(--red);border:1px solid rgba(220,38,38,0.2);}
.ob-fatf-result-grey{background:var(--amber-pale);color:#92400e;border:1px solid rgba(217,119,6,0.2);}

/* EDD route button in results */
.ob-edd-route-btn{background:var(--forest) !important;color:#fff !important;border-color:var(--forest) !important;font-weight:700 !important;}
.ob-edd-route-btn:hover{background:var(--forest-2) !important;}

/* EDD header sub-label */
.edd-fatf-sub-label{font-size:.65rem;color:var(--mid);padding:0 16px 12px;line-height:1.5;}
.edd-fatf-link{color:var(--forest);font-weight:600;text-decoration:none;}
.edd-fatf-link:hover{text-decoration:underline;}
.edd-pending-badge{display:inline-flex;align-items:center;font-size:.58rem;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--forest-pale);color:var(--forest);letter-spacing:.03em;vertical-align:middle;margin-left:6px;}

/* ── EDD REDESIGN ── */
.edd-risk-badge{font-size:.65rem;font-weight:800;padding:4px 10px;border-radius:6px;letter-spacing:.06em;}
.edd-risk-high{background:var(--red-pale);color:var(--red);}
.edd-risk-elevated{background:var(--amber-pale);color:var(--amber);}
.edd-risk-lg{font-size:.72rem;padding:5px 13px;}

.edd-risk-indicators{display:flex;flex-wrap:wrap;gap:4px;}
.edd-indicator{font-size:.62rem;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap;}
.edd-ind-high{background:var(--red-pale);color:var(--red);}
.edd-ind-medium{background:var(--amber-pale);color:var(--amber);}
.edd-ind-info{background:var(--forest-pale);color:var(--forest);}
.edd-ind-more{background:var(--border2);color:var(--mid);}

.edd-reg-basis{display:flex;align-items:center;gap:7px;font-size:.68rem;color:var(--mid);background:#fafbfc;border:1px solid var(--border2);border-radius:7px;padding:7px 10px;margin-bottom:0;}
.edd-reg-basis svg{color:var(--forest);flex-shrink:0;}

.edd-section-ref{font-size:.6rem;font-weight:400;color:var(--mid);margin-left:6px;letter-spacing:.02em;text-transform:none;}

/* AI Risk Summary Panel */
.edd-ai-summary-panel{border:1.5px solid var(--border2);border-radius:9px;overflow:hidden;background:#fff;}
.edd-ai-summary-hdr{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--forest-pale);border-bottom:1px solid var(--border2);font-size:.72rem;font-weight:700;color:var(--forest);}
.edd-ai-btn{font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:6px;background:var(--forest);color:#fff;border:none;cursor:pointer;transition:background .15s;}
.edd-ai-btn:hover{background:var(--forest-2);}
.edd-ai-btn:disabled{opacity:.6;cursor:not-allowed;}
.edd-ai-summary-body{padding:10px 12px;}
.edd-ai-idle{font-size:.71rem;color:var(--mid);line-height:1.5;}
.edd-ai-loading{display:flex;align-items:center;gap:10px;font-size:.72rem;color:var(--mid);}
.edd-ai-bullets{list-style:none;display:flex;flex-direction:column;gap:7px;padding:0;}
.edd-ai-bullets li{font-size:.71rem;color:var(--charcoal);line-height:1.55;padding:6px 8px;border-radius:6px;background:var(--bg);border-left:3px solid var(--forest);}
.edd-ai-bullets li strong{color:var(--forest);}
.edd-ai-footer{font-size:.59rem;color:var(--mid);margin-top:8px;padding-top:6px;border-top:1px solid var(--border2);}
/* ═══════════════════════════════════════════════════
   MLRO COPILOT — ENTERPRISE VISUAL OVERRIDES
   Applied on top of base styles
═══════════════════════════════════════════════════ */

/* ── CORE TOKENS ── */
:root {
  --bg: #f4f6f9;
  --card: #ffffff;
  --border2: #e1e7ef;
  --charcoal: #0c1526;
  --slate: #2d3f58;
  --mid: #5a6b82;
  --sidebar-w: 240px;
  --topbar-h: 52px;
  --forest: #014d3c;
  --forest-2: #016b52;
  --forest-3: #019a73;
  --forest-pale: rgba(1,77,60,0.05);
  --forest-pale2: rgba(1,77,60,0.1);
}

/* ── BODY ── */
body { font-family: 'Inter', sans-serif; background: var(--bg); }
html { font-size: 13.5px; }

/* ── SIDEBAR ── */
.sidebar {
  width: var(--sidebar-w);
  background: #0c1526;
  border-right: none;
  box-shadow: none;
}

.sidebar-brand {
  padding: 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.brand-logo {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 18px 20px 14px;
}

.brand-logo svg rect { stroke: rgba(255,255,255,0.2); }
.brand-name { font-size: .92rem; font-weight: 700; color: #fff; letter-spacing: -.025em; }
.brand-tagline { font-size: .59rem; color: rgba(255,255,255,0.3); margin-top: 2px; letter-spacing: .06em; text-transform: uppercase; }

/* Sidebar status strip */
.sidebar-status {
  margin: 0;
  padding: 7px 20px 10px;
  border-radius: 0;
  background: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
.proxy-status-text { font-size: .62rem; color: rgba(255,255,255,0.3); font-weight: 500; }
.proxy-dot.live { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,0.15); }

/* Nav */
.sidebar-nav { padding: 8px 0 0; gap: 1px; }
.nav-section-label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.22);
  padding: 14px 20px 5px;
  margin: 0;
}

.nav-item {
  padding: 9px 20px;
  border-radius: 0;
  font-size: .78rem;
  font-weight: 500;
  color: rgba(255,255,255,0.5);
  gap: 10px;
  transition: color .12s, background .12s;
}
.nav-item:hover { background: rgba(255,255,255,0.04); color: rgba(255,255,255,0.85); }
.nav-item.active {
  background: rgba(1,154,115,0.15);
  color: #34d399;
  font-weight: 600;
  border-left: 2px solid #019a73;
  padding-left: 18px;
}
.nav-item.active::before { display: none; }
.nav-item.active svg { opacity: 1; color: #34d399; }
.nav-item svg { opacity: .5; }
.nav-soon-badge {
  font-size: .54rem;
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.25);
  padding: 2px 6px;
  border-radius: 3px;
  border: none;
  letter-spacing: .06em;
}
.nav-item.soon { opacity: .45; }

/* Sidebar footer */
.sidebar-footer {
  padding: 14px 20px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.sidebar-logout-btn {
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.4);
  border-radius: 6px;
  font-size: .68rem;
}
.sidebar-logout-btn:hover { background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.8); }
.sidebar-version { font-size: .58rem; color: rgba(255,255,255,0.15); margin-top: 8px; }
#sidebarUserName { font-size: .72rem; font-weight: 600; color: rgba(255,255,255,0.75); }
#sidebarUserRole { font-size: .6rem; color: rgba(255,255,255,0.3); }

/* ── TOPBAR ── */
.topbar {
  height: var(--topbar-h);
  background: #fff;
  border-bottom: 1px solid var(--border2);
  padding: 0 28px;
  box-shadow: none;
}
.topbar-title { font-size: .88rem; font-weight: 700; color: var(--charcoal); letter-spacing: -.02em; }
.topbar-breadcrumb { font-size: .65rem; color: var(--mid); margin-top: 1px; }
.topbar-user-name { font-size: .75rem; font-weight: 600; color: var(--charcoal); }
.topbar-user-role { font-size: .62rem; color: var(--mid); }
.topbar-avatar {
  width: 30px; height: 30px; border-radius: 8px;
  background: var(--forest); font-size: .6rem;
}
.topbar-logout-btn {
  border-radius: 6px;
  border: 1px solid var(--border2);
}

/* ── PAGE CONTENT ── */
.main { margin-left: var(--sidebar-w); }
.page-content { padding: 22px 28px; }

/* ── DASHBOARD ── */
.dash-wrap { gap: 16px; }

/* Hero — stripped back, data-first */
.dash-hero {
  background: linear-gradient(120deg, #0c1526 0%, #0a2540 55%, #013d30 100%);
  border-radius: 10px;
  padding: 22px 28px;
  box-shadow: 0 2px 12px rgba(12,21,38,0.18);
}
.dash-hero::before, .dash-hero::after { display: none; }
.dash-hero-greeting {
  font-size: .6rem;
  letter-spacing: .14em;
  color: rgba(255,255,255,0.35);
  margin-bottom: 4px;
}
.dash-hero-title {
  font-size: 1.22rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.025em;
  margin-bottom: 6px;
}
.dash-hero-sub { font-size: .72rem; color: rgba(255,255,255,0.45); }
.dash-live-pill {
  background: rgba(34,197,94,0.12);
  border: 1px solid rgba(34,197,94,0.25);
  font-size: .65rem;
  padding: 4px 12px;
}
.dash-live-dot { background: #22c55e; box-shadow: 0 0 6px #22c55e; width: 6px; height: 6px; }
.dash-last-sync { font-size: .6rem; color: rgba(255,255,255,0.25); }

/* KPI tiles */
.dash-kpi-row { gap: 12px; }
.dash-kpi {
  padding: 18px 20px;
  border-radius: 8px;
  border: 1px solid var(--border2);
  box-shadow: none;
  transition: box-shadow .15s;
}
.dash-kpi:hover { box-shadow: 0 2px 10px rgba(0,0,0,0.07); transform: none; }
.dash-kpi-label {
  font-size: .6rem;
  letter-spacing: .1em;
  color: var(--mid);
  margin-bottom: 8px;
}
.dash-kpi-val { font-size: 1.8rem; letter-spacing: -.04em; }
.dash-kpi-bar { height: 2px; border-radius: 0 0 8px 8px; }

/* Cards */
.dash-card {
  background: #fff;
  border: 1px solid var(--border2);
  border-radius: 8px;
  padding: 16px 18px;
  box-shadow: none;
}
.dash-card-title { font-size: .78rem; font-weight: 700; color: var(--charcoal); }
.dash-card-hdr { margin-bottom: 12px; }
.dash-card-badge.live { font-size: .58rem; padding: 2px 7px; }
.dash-card-badge.ai { font-size: .58rem; padding: 2px 7px; }
.dash-mid-row, .dash-bottom-row { gap: 12px; }

/* Sanctions ticker */
.dash-ticker-item {
  padding: 8px 0;
  font-size: .72rem;
}
.dash-ticker-val { font-size: .82rem; font-weight: 700; }

/* Activity feed */
.dash-act-dot { width: 7px; height: 7px; }
.dash-act-name { font-size: .75rem; }
.dash-act-detail { font-size: .65rem; }
.dash-act-time { font-size: .62rem; }

/* RAG circles */
.dash-rag-circle {
  width: 54px; height: 54px;
  font-size: 1.2rem;
  border-width: 2.5px;
}
.dash-rag-lbl { font-size: .62rem; }

/* Period tabs */
.dash-period-tab { font-size: .68rem; padding: 4px 10px; border-radius: 5px; }

/* Sanction feed */
.dash-sanction-item { padding: 7px 0; }
.dash-sanction-flag { font-size: 1rem; width: 28px; height: 28px; border-radius: 5px; }
.dash-sanction-name { font-size: .72rem; }
.dash-sanction-detail { font-size: .62rem; }

/* AI feed */
.dash-ai-row-inner { padding: 7px 10px; }
.dash-ai-sector-tag { font-size: .58rem; }
.dash-ai-time { font-size: .58rem; }
.dash-ai-text { font-size: .7rem; }
.dash-ai-link { font-size: .63rem; }
.dash-ai-sector-btn { font-size: .62rem; padding: 2px 9px; }

/* ── SECTION CARDS (screening, case management etc) ── */
.reg-card { border-radius: 8px; box-shadow: none; }
.reg-card-header { padding: 20px 24px 16px; }
.customers-wrap, .om-card, .edd-card { border-radius: 8px; box-shadow: none; }
.ob-card { border-radius: 8px; box-shadow: none; }
.ob-card-header { padding: 18px 24px 14px; }

/* ── MODAL ── */
.modal { border-radius: 8px; }
.modal-overlay.open { backdrop-filter: blur(4px); }

/* ── MISC ── */
.section-card { border-radius: 8px; box-shadow: none; border: 1px solid var(--border2); }
.placeholder-panel { border-radius: 8px; }
.ph-badge { font-size: .65rem; }

/* Topbar environment badge */
.topbar-env-badge {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 3px 9px;
  border-radius: 4px;
  background: rgba(1,77,60,0.08);
  color: var(--forest);
  border: 1px solid rgba(1,77,60,0.15);
  text-transform: uppercase;
}

/* Sidebar data strip */
.sidebar-data-strip {
  padding: 8px 20px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sidebar-data-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sidebar-data-label { font-size: .58rem; color: rgba(255,255,255,0.3); font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.sidebar-data-val { font-size: .68rem; font-weight: 700; color: rgba(255,255,255,0.65); font-variant-numeric: tabular-nums; }
.sidebar-data-val.live { color: #34d399; }

/* Topbar right zone */
.topbar-right-zone {
  display: flex;
  align-items: center;
  gap: 16px;
}
.topbar-divider {
  width: 1px;
  height: 20px;
  background: var(--border2);
}

/* ═══════════════════════════════════════════════════
   MLRO COPILOT — FINAL PALETTE SYSTEM
   Darker forest base · Deep green panels · Off-white content
═══════════════════════════════════════════════════ */

:root {
  /* Core palette */
  --forest:        #01522f;
  --forest-2:      #016b3d;
  --forest-3:      #00c471;
  --forest-pale:   rgba(1,82,47,0.06);
  --forest-pale2:  rgba(1,82,47,0.11);

  /* Sidebar tones */
  --sidebar-base:  #02321f;
  --sidebar-panel: #013d26;
  --sidebar-mid:   #01522f;

  /* Content surfaces */
  --bg:            #f7f8fa;
  --card:          #ffffff;
  --border2:       #e4e9f0;
  --border:        rgba(0,0,0,0.07);

  /* Text */
  --charcoal:      #0c1a12;
  --slate:         #2d3f58;
  --mid:           #5a6b82;

  /* Accents — status only */
  --green:         #00a35a;
  --green-pale:    rgba(0,163,90,0.08);
  --amber:         #d97706;
  --amber-pale:    rgba(217,119,6,0.08);
  --red:           #dc2626;
  --red-pale:      rgba(220,38,38,0.08);

  /* Live accent */
  --live:          #00c471;

  --sidebar-w:     240px;
}

/* ── SIDEBAR — final palette overrides ── */

/* Zone 1: Fixed top */
.sidebar { background: var(--sidebar-base); box-shadow: none; border-right: none; }
.sidebar-brand { border-bottom: 1px solid rgba(255,255,255,0.07); padding: 0; flex-shrink: 0; }
.brand-logo { padding: 13px 18px 9px; }
.brand-name { font-size: .88rem; font-weight: 700; color: #fff; letter-spacing: -.025em; }
.brand-tagline { font-size: .57rem; color: rgba(255,255,255,0.3); letter-spacing: .07em; text-transform: uppercase; margin-top: 2px; }

/* Data strip: horizontal row to minimise height */
.sidebar-data-strip {
  padding: 4px 18px 9px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8px;
}
.sidebar-data-row { display: flex; flex-direction: column; gap: 1px; }
.sidebar-data-label { font-size: .54rem; color: rgba(255,255,255,0.25); text-transform: uppercase; letter-spacing: .09em; font-weight: 600; }
.sidebar-data-val { font-size: .66rem; font-weight: 700; color: rgba(255,255,255,0.55); font-variant-numeric: tabular-nums; }
.sidebar-data-val.live { color: var(--live); }
#sidebarSanctionsCount { color: var(--live); }

.proxy-dot.live { background: var(--live); box-shadow: 0 0 0 3px rgba(0,196,113,0.15); }

/* Zone 2: Scrollable nav — structural properties repeated here so the override block is self-contained */
.sidebar-nav {
  padding: 4px 0 16px;
  gap: 0;
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.nav-section-label {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.22);
  padding: 20px 18px 5px;
  margin: 0;
}
.nav-item {
  padding: 8px 18px;
  border-radius: 0;
  font-size: .77rem;
  font-weight: 500;
  color: rgba(255,255,255,0.5);
  gap: 10px;
  transition: color .12s, background .12s;
}
.nav-item:hover { background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.85); }
.nav-item:hover svg { opacity: .75; }
.nav-item.active {
  background: rgba(0,196,113,0.1);
  border-left: 2px solid var(--live);
  padding-left: 16px;
  color: var(--live);
  font-weight: 600;
}
.nav-item.active::before { display: none; }
.nav-item.active svg { opacity: 1; color: var(--live); }
.nav-item svg { opacity: .4; }
.nav-item.soon { opacity: .4; }
.nav-soon-badge {
  font-size: .52rem;
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.22);
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: .05em;
  border: none;
}

/* Zone 3: Fixed bottom */
.sidebar-footer { padding: 12px 18px; border-top: 1px solid rgba(255,255,255,0.07); flex-shrink: 0; }
.sidebar-logout-btn {
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.4); border-radius: 6px; font-size: .68rem;
}
.sidebar-logout-btn:hover { background: rgba(255,255,255,0.09); color: rgba(255,255,255,0.8); }
.sidebar-version { font-size: .57rem; color: rgba(255,255,255,0.15); margin-top: 6px; }
#sidebarUserName { font-size: .71rem; font-weight: 600; color: rgba(255,255,255,0.72); }
#sidebarUserRole { font-size: .59rem; color: rgba(255,255,255,0.28); }

/* ── TOPBAR ── */
.topbar {
  height: 50px; background: #fff;
  border-bottom: 1px solid var(--border2);
  padding: 0 28px; box-shadow: none;
}
.topbar-title { font-size: .87rem; font-weight: 700; color: var(--charcoal); letter-spacing: -.02em; }
.topbar-breadcrumb { font-size: .64rem; color: var(--mid); margin-top: 1px; }
.topbar-user-name { font-size: .75rem; font-weight: 600; color: var(--charcoal); }
.topbar-user-role { font-size: .62rem; color: var(--mid); }
.topbar-avatar { width: 30px; height: 30px; border-radius: 7px; background: var(--sidebar-base); font-size: .6rem; }
.topbar-logout-btn { border-radius: 6px; border: 1px solid var(--border2); }
.topbar-env-badge {
  font-size: .58rem; font-weight: 700; letter-spacing: .08em;
  padding: 3px 8px; border-radius: 4px;
  background: rgba(1,82,47,0.07); color: var(--sidebar-mid);
  border: 1px solid rgba(1,82,47,0.14); text-transform: uppercase;
}
.topbar-divider { width: 1px; height: 18px; background: var(--border2); }

/* ── BODY / PAGE ── */
body { background: var(--bg); }
.main { margin-left: var(--sidebar-w); }
.page-content { padding: 22px 28px; }

/* ── DASHBOARD HERO ── */
.dash-hero {
  background: linear-gradient(120deg, var(--sidebar-panel) 0%, var(--sidebar-base) 55%, var(--sidebar-mid) 100%);
  border-radius: 9px; padding: 22px 28px;
  box-shadow: 0 2px 10px rgba(2,50,31,0.18);
}
.dash-hero::before, .dash-hero::after { display: none; }
.dash-hero-greeting { font-size: .6rem; letter-spacing: .14em; color: rgba(255,255,255,0.32); margin-bottom: 4px; }
.dash-hero-title { font-size: 1.2rem; font-weight: 700; color: #fff; letter-spacing: -.025em; margin-bottom: 6px; }
.dash-hero-sub { font-size: .71rem; color: rgba(255,255,255,0.42); }

.dash-live-pill {
  background: rgba(0,196,113,0.12); border: 1px solid rgba(0,196,113,0.22);
  font-size: .64rem; padding: 4px 12px;
}
.dash-live-dot { background: var(--live); box-shadow: 0 0 5px var(--live); width: 6px; height: 6px; }
.dash-last-sync { font-size: .59rem; color: rgba(255,255,255,0.22); }

/* OFAC/UN etc badges on hero */
.dash-hero-right > div:last-child > div {
  background: rgba(255,255,255,0.06) !important;
  color: rgba(255,255,255,0.4) !important;
  border-radius: 5px !important;
  font-size: .62rem !important;
}

/* ── KPI CARDS ── */
.dash-kpi-row { gap: 12px; }
.dash-kpi {
  padding: 16px 18px; border-radius: 8px;
  border: 1px solid var(--border2); box-shadow: none;
  transition: box-shadow .15s;
}
.dash-kpi:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.06); transform: none; }
.dash-kpi-label { font-size: .59rem; letter-spacing: .1em; color: var(--mid); margin-bottom: 8px; }
.dash-kpi-val { font-size: 1.75rem; letter-spacing: -.04em; }
.dash-kpi-bar { height: 2px; border-radius: 0 0 8px 8px; }
.dash-kpi-bar.green { background: var(--live); }
.dash-kpi-bar.amber { background: var(--amber); }
.dash-kpi-bar.blue  { background: var(--forest-3); }
.dash-kpi-bar.red   { background: var(--red); }

/* ── DASHBOARD CARDS ── */
.dash-wrap { gap: 14px; }
.dash-card {
  background: #fff; border: 1px solid var(--border2);
  border-radius: 8px; padding: 15px 17px; box-shadow: none;
}
.dash-card-title { font-size: .77rem; font-weight: 700; color: var(--charcoal); }
.dash-mid-row, .dash-bottom-row { gap: 12px; }
.dash-period-tab { font-size: .67rem; padding: 3px 10px; border-radius: 5px; }
.dash-period-tab.active { background: #fff; color: var(--charcoal); box-shadow: 0 1px 3px rgba(0,0,0,0.08); }

/* RAG circles */
.dash-rag-circle { width: 52px; height: 52px; font-size: 1.15rem; border-width: 2.5px; }
.dash-rag-circle.green { border-color: var(--live); color: var(--live); }
.dash-rag-circle.amber { border-color: var(--amber); color: var(--amber); }
.dash-rag-circle.red   { border-color: var(--red);   color: var(--red); }

/* Activity dots */
.dash-act-dot.green  { background: var(--live); }
.dash-act-dot.red    { background: var(--red); }
.dash-act-dot.amber  { background: var(--amber); }
.dash-act-dot.blue   { background: var(--forest-3); }

/* AI feed */
.dash-ai-row { background: rgba(1,82,47,0.04); border: 1px solid rgba(1,82,47,0.09); }
.dash-ai-icon { background: var(--sidebar-mid); }
.dash-ai-text strong { color: var(--sidebar-mid); }
.dash-ai-cursor { background: var(--forest-3); }
.dash-ai-link { color: var(--forest-2); }
.dash-ai-sector-btn.active { background: var(--sidebar-mid); border-color: var(--sidebar-mid); }
.dash-ai-sector-btn:hover { border-color: var(--sidebar-mid); color: var(--sidebar-mid); }

/* Sanctions feed */
.dash-sanction-badge { font-size: .58rem; }

/* Badge colours */
.dash-card-badge.live { background: rgba(0,163,90,0.1); color: var(--green); }
.dash-card-badge.ai   { background: rgba(1,82,47,0.08); color: var(--sidebar-mid); }

/* ── SECTION CARDS (screening etc) ── */
.reg-card { border-radius: 8px; box-shadow: none; border: 1px solid var(--border2); }
.reg-card-header { background: linear-gradient(160deg, var(--sidebar-base) 0%, var(--sidebar-mid) 100%) !important; }
.results-panel { border: 1px solid var(--border2); border-radius: 8px; background: #fff; }
.section-card { border-radius: 8px; box-shadow: none; }
.customers-wrap, .om-card, .edd-card, .ob-card { border-radius: 8px; box-shadow: none; border: 1px solid var(--border2); }

/* Buttons */
.screen-btn { background: var(--sidebar-mid); border-radius: 7px; }
.screen-btn:hover { background: var(--forest-2); }
.lookup-btn { background: var(--sidebar-mid); border-radius: 7px; }
.lookup-btn:hover { background: var(--forest-2); }
.ob-btn-primary { background: var(--sidebar-mid); border-radius: 7px; }
.ob-btn-primary:hover { background: var(--forest-2); }
.om-run-btn { background: var(--sidebar-mid); border-radius: 7px; }
.om-run-btn:hover { background: var(--forest-2); }
.edd-refresh-btn { background: var(--sidebar-mid); border-radius: 7px; }
.edd-refresh-btn:hover { background: var(--forest-2); }

/* Status chips */
.status-chip.active { background: rgba(0,163,90,0.08); color: var(--green); }
.ct-badge.clear { background: rgba(0,163,90,0.08); color: var(--green); }
.ct-badge.possible { background: var(--amber-pale); color: var(--amber); }
.ct-badge.match { background: var(--red-pale); color: var(--red); }
.sbadge.neutral { background: var(--forest-pale); color: var(--forest); }

/* Inputs */
.reg-input:focus, .ob-input:focus, .om-search:focus, .edd-notes-area:focus {
  border-color: var(--forest); box-shadow: 0 0 0 3px rgba(1,82,47,0.08);
}
.ob-country-select:focus { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(1,82,47,0.08); }

/* Scope toggle */
.scope-option.selected { border-color: var(--forest); background: var(--forest-pale); }
.scope-option.selected .scope-check { background: var(--forest); border-color: var(--forest); }

/* Login page */
.login-left { background: var(--sidebar-base); }
.login-btn-w { background: var(--sidebar-mid); }
.login-btn-w:hover { background: var(--forest-2); }
.login-left-logo svg rect { stroke: rgba(255,255,255,0.18); }

/* Modal */
.modal { border-radius: 8px; }
.modal-overlay.open { backdrop-filter: blur(3px); }

/* Ongoing monitoring */
.om-schedule-dot { background: var(--live); }
.om-status-badge.om-status-clear { background: rgba(0,163,90,0.08); color: var(--green); }

/* EDD */
.edd-ai-icon { background: var(--sidebar-mid); }
.edd-ai-summary-hdr { background: rgba(1,82,47,0.05); }
.edd-ai-summary-hdr { color: var(--sidebar-mid); }
.edd-ai-btn { background: var(--sidebar-mid); }
.edd-ai-btn:hover { background: var(--forest-2); }
.edd-ai-bullets li { border-left-color: var(--forest-3); }
.edd-ai-bullets li strong { color: var(--sidebar-mid); }
.edd-progress-fill { background: linear-gradient(90deg, var(--sidebar-mid), var(--forest-3)); }
.edd-check-item:hover { border-color: var(--forest); background: var(--forest-pale); }
.edd-check-item.edd-check-done { border-color: var(--green); background: var(--green-pale); }
.edd-check-item input { accent-color: var(--forest); }
.edd-fatf-update { font-size: .62rem; }

/* Onboarding stepper */
.ob-ts-step.active .ob-ts-num { background: var(--sidebar-mid); }
.ob-ts-step.done .ob-ts-num { background: var(--green); }
.ob-ts-line.done { background: var(--green); }
.ob-fatf-black { background: var(--red-pale); color: var(--red); border-color: rgba(220,38,38,0.18); }
.ob-fatf-grey  { background: var(--amber-pale); color: #92400e; border-color: rgba(217,119,6,0.18); }

/* Dashboard hero period selector */
.dash-period-row { background: rgba(255,255,255,0.06); border-radius: 7px; padding: 3px; }

/* ── HERO OPTION B REDESIGN ── */
.dash-hero {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-radius: 9px;
  overflow: hidden;
}
.dash-hero-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 22px 12px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.dash-hero-label {
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
}
.dash-hero-right-row {
  display: flex;
  align-items: center;
  gap: 16px;
}
.dash-hero-datetime {
  display: flex;
  align-items: center;
  gap: 10px;
  font-variant-numeric: tabular-nums;
}
.dash-hero-date {
  font-size: .72rem;
  font-weight: 500;
  color: rgba(255,255,255,0.5);
}
.dash-hero-clock {
  font-size: .78rem;
  font-weight: 700;
  color: rgba(255,255,255,0.75);
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
  background: rgba(255,255,255,0.06);
  padding: 3px 10px;
  border-radius: 5px;
  font-family: 'DM Mono', 'Courier New', monospace;
}
.dash-hero-greeting-row {
  padding: 16px 22px 14px;
  display: flex;
  align-items: baseline;
  gap: 6px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.dash-hero-greeting {
  font-size: 1.05rem;
  font-weight: 400;
  color: rgba(255,255,255,0.55);
  letter-spacing: -.01em;
}
.dash-hero-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.02em;
  margin: 0;
}
.dash-hero-metrics {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
}
.dash-hero-metric {
  padding: 14px 18px;
  border-right: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.03);
}
.dash-hero-metric:last-child { border-right: none; }
.dash-hero-metric-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin-bottom: 5px;
}
.dash-hero-metric-val {
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.dash-hero-metric-sub {
  font-size: .62rem;
  color: rgba(255,255,255,0.25);
  margin-top: 4px;
}

/* Keep live pill correct in new layout */
.dash-hero .dash-live-pill {
  background: rgba(0,196,113,0.12);
  border: 1px solid rgba(0,196,113,0.22);
  font-size: .65rem;
  padding: 4px 12px;
}

/* ── HERO REDESIGN — UNIFIED ── */
.page-content { padding: 0; }
.dash-wrap { gap: 0; }
.dash-wrap > *:not(.dash-hero) { margin: 14px 28px 0; }
.dash-wrap > *:last-child { margin-bottom: 28px; }
.dash-hero { border-radius: 0; width: 100%; }

/* Single unified top bar — label · date · clock · pill all on one line */
.dash-hero-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 32px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.dash-hero-label {
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.32);
}
/* Date and clock sit together in the middle */
.dash-hero-right-row {
  display: flex;
  align-items: center;
  gap: 20px;
}
.dash-hero-datetime {
  display: flex;
  align-items: center;
  gap: 10px;
}
.dash-hero-date {
  font-size: .75rem;
  font-weight: 400;
  color: rgba(255,255,255,0.45);
  letter-spacing: .01em;
}
/* Clock — no box, just clean mono text */
.dash-hero-clock {
  font-size: .78rem;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
  font-family: 'DM Mono', 'Courier New', monospace;
  background: none;
  padding: 0;
  border-radius: 0;
}
/* Separator dot between date and clock */
.dash-hero-datetime::before {
  display: none;
}
/* All systems operational pill — pushed right */
.dash-hero .dash-live-pill {
  background: rgba(0,196,113,0.1);
  border: 1px solid rgba(0,196,113,0.2);
  font-size: .68rem;
  font-weight: 600;
  padding: 4px 13px;
  color: rgba(255,255,255,0.75);
  border-radius: 100px;
}

/* Greeting row */
.dash-hero-greeting-row {
  padding: 18px 32px 16px;
  display: flex;
  align-items: baseline;
  gap: 7px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.dash-hero-greeting {
  font-size: 1.3rem;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  letter-spacing: -.01em;
  font-family: 'Sora', 'DM Sans', 'Inter', sans-serif;
}
.dash-hero-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.025em;
  margin: 0;
  font-family: 'Sora', 'DM Sans', 'Inter', sans-serif;
}

/* Metric strip */
.dash-hero-metrics {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
}
.dash-hero-metric {
  padding: 14px 24px;
  border-right: 1px solid rgba(255,255,255,0.07);
  background: rgba(0,0,0,0.08);
}
.dash-hero-metric:last-child { border-right: none; }
.dash-hero-metric-label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin-bottom: 6px;
}
.dash-hero-metric-val {
  font-size: 1.55rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.dash-hero-metric-sub {
  font-size: .6rem;
  color: rgba(255,255,255,0.22);
  margin-top: 4px;
}

/* Non-dashboard tab padding */
#tab-customer-screening,
#tab-company-screening,
#tab-case-management,
#tab-onboarding,
#tab-sar-drafting,
#tab-ongoing-monitoring,
#tab-reports,
#tab-edd { padding: 22px 28px; }

/* ═══════════════════════════════════════════════════
   MLRO COPILOT — NAV GROUPS
   Collapsible sidebar sections with chevron disclosure
═══════════════════════════════════════════════════ */

.nav-group {
  display: flex;
  flex-direction: column;
}

/* Group header — the clickable section label row */
.nav-group-header {
  display: flex;
  align-items: center;
  padding: 18px 18px 5px;
  background: none;
  border: none;
  cursor: pointer;
  width: 100%;
  font-family: 'Inter', sans-serif;
  white-space: nowrap;
  overflow: hidden;
  transition: opacity 200ms ease, height 250ms ease, padding 250ms ease, margin 250ms ease;
}

.nav-group-label {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.22);
  flex: 1;
  text-align: left;
  transition: opacity 200ms ease;
}

.nav-group-chevron {
  color: rgba(255,255,255,0.22);
  flex-shrink: 0;
  margin-left: 4px;
  transition: transform 220ms ease, opacity 200ms ease;
}

.nav-group-header:hover .nav-group-label { color: rgba(255,255,255,0.50); }
.nav-group-header:hover .nav-group-chevron { color: rgba(255,255,255,0.50); }

/* Chevron points down when open */
.nav-group.open .nav-group-chevron {
  transform: rotate(180deg);
}

/* Group body — collapses/expands via max-height */
.nav-group-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 260ms ease;
}

.nav-group.open .nav-group-body {
  max-height: 600px;
}

/* ── COLLAPSED SIDEBAR OVERRIDES ──
   When the sidebar is icon-only: hide group headers so only nav icons show.
   Force all group bodies open so every icon is always reachable. */
.sidebar.collapsed .nav-group-header {
  opacity: 0;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  pointer-events: none;
  transition: none;
}

.sidebar.collapsed .nav-group-body {
  max-height: 600px !important;
  transition: none !important;
}

/* SAR badge base style */
.sar-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 100px;
  background: var(--red);
  color: #fff;
  font-size: .55rem;
  font-weight: 700;
  margin-left: auto;
  flex-shrink: 0;
}

.sidebar.collapsed .sar-nav-badge { display: none !important; }

/* ── BRAND LOGO AS BUTTON ── */
button.brand-logo {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  border-radius: 8px;
  transition: background 150ms ease;
}
button.brand-logo:hover {
  background: rgba(255,255,255,0.06);
}

/* ── HERO TOP ROW FINAL ── */
.dash-hero-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 32px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.dash-hero-label {
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  flex: 1;
}
.dash-hero-datetime {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}
.dash-hero-date {
  font-size: .76rem;
  font-weight: 400;
  color: rgba(255,255,255,0.42);
}
.dash-hero-sep {
  color: rgba(255,255,255,0.18);
  font-size: .7rem;
}
.dash-hero-clock {
  font-size: .76rem;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  font-variant-numeric: tabular-nums;
  letter-spacing: .05em;
  font-family: 'DM Mono','Courier New',monospace;
  background: none;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
.dash-hero .dash-live-pill {
  flex: 1;
  justify-content: flex-end;
  display: flex;
  align-items: center;
  gap: 7px;
  background: rgba(0,196,113,0.1);
  border: 1px solid rgba(0,196,113,0.2);
  border-radius: 100px;
  padding: 4px 13px;
  font-size: .67rem;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  width: fit-content;
  margin-left: auto;
}

/* ═══════════════════════════════════════════════════════════════
   CROSS-POLICY AI CHAT & POLICY TILES
   ═══════════════════════════════════════════════════════════════ */

/* ── Policy Documents Section Header ── */
.pqa-docs-section-header{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--border2);border-radius:12px;padding:20px 24px;margin-bottom:16px;gap:16px;box-shadow:0 1px 8px rgba(0,0,0,.04);}
.pqa-docs-section-title{font-size:1.05rem;font-weight:700;color:var(--charcoal);letter-spacing:-.02em;}
.pqa-docs-section-sub{font-size:.74rem;color:var(--mid);margin-top:4px;line-height:1.5;}

/* ── Policy Tiles Grid ── */
.pqa-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding:0 0 20px;}
.pqa-tiles-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--mid);font-size:.8rem;background:#fff;border:1.5px dashed var(--border2);border-radius:12px;}

.pqa-tile{background:#fff;border:1px solid var(--border2);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 6px rgba(0,0,0,.05);}
.pqa-tile:hover{border-color:var(--forest);box-shadow:0 4px 16px rgba(1,84,65,0.1);}
.pqa-tile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.pqa-tile-icon{width:38px;height:38px;border-radius:10px;background:var(--forest-pale);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--forest);}
.pqa-tile-status{font-size:.6rem;font-weight:700;letter-spacing:.05em;padding:4px 10px;border-radius:6px;text-transform:uppercase;white-space:nowrap;}
.pqa-tile-status.ready{background:var(--green-pale);color:var(--green);}
.pqa-tile-status.processing{background:var(--amber-pale);color:var(--amber);}
.pqa-tile-status.failed{background:var(--red-pale);color:var(--red);}
.pqa-tile-name{font-size:.86rem;font-weight:700;color:var(--charcoal);line-height:1.35;word-break:break-word;}
.pqa-tile-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.pqa-tile-tag{font-size:.62rem;font-weight:500;color:var(--mid);background:var(--bg);padding:2px 7px;border-radius:4px;letter-spacing:.01em;}
.pqa-tile-chunks{font-size:.62rem;color:var(--mid);font-weight:500;}
.pqa-tile-actions{display:flex;gap:6px;margin-top:auto;padding-top:6px;border-top:1px solid var(--border2);}
.pqa-tile-del{font-size:.62rem;color:var(--mid);background:none;border:1px solid var(--border2);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:'Inter',sans-serif;font-weight:500;transition:color .15s,border-color .15s;}
.pqa-tile-del:hover{color:var(--red);border-color:var(--red);}
.pqa-tile-view{font-size:.62rem;color:var(--forest);background:var(--forest-pale);border:1px solid rgba(1,84,65,0.15);border-radius:6px;padding:5px 10px;cursor:pointer;font-family:'Inter',sans-serif;font-weight:600;transition:background .15s,border-color .15s;}
.pqa-tile-view:hover{background:rgba(1,84,65,0.12);border-color:var(--forest);}

/* ── Cross-Policy Chat ── */
.pqa-chat-wrap{background:#fff;border:1px solid var(--border2);border-radius:14px;display:flex;flex-direction:column;box-shadow:0 2px 16px rgba(0,0,0,.07);}

.pqa-chat-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border2);gap:12px;background:var(--forest);border-radius:14px 14px 0 0;}
.pqa-chat-header-left{display:flex;align-items:center;gap:10px;}
.pqa-chat-icon{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,0.2);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pqa-chat-title{font-size:.86rem;font-weight:700;color:#fff;letter-spacing:-.01em;}
.pqa-chat-sub{font-size:.66rem;color:rgba(255,255,255,0.65);margin-top:1px;}
.pqa-chat-meta{font-size:.62rem;color:#fff;font-weight:700;background:rgba(255,255,255,0.2);padding:4px 12px;border-radius:20px;white-space:nowrap;letter-spacing:.02em;}

.pqa-chat-messages{height:320px;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px;}

.pqa-msg{display:flex;gap:10px;max-width:92%;}
.pqa-msg-ai{align-self:flex-start;}
.pqa-msg-user{align-self:flex-end;flex-direction:row-reverse;}
.pqa-msg-avatar{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.6rem;font-weight:700;}
.pqa-msg-ai .pqa-msg-avatar{background:var(--forest);color:#fff;}
.pqa-msg-user .pqa-msg-avatar{background:var(--forest-pale);color:var(--forest);}
.pqa-msg-body{display:flex;flex-direction:column;gap:4px;}
.pqa-msg-text{font-size:.78rem;line-height:1.55;color:var(--charcoal);padding:10px 14px;border-radius:10px;word-break:break-word;}
.pqa-msg-ai .pqa-msg-text{background:var(--bg);border:1px solid var(--border2);}
.pqa-msg-user .pqa-msg-text{background:var(--forest);color:#fff;}

/* Verdict badge in chat */
.pqa-verdict-badge{display:inline-flex;align-items:center;gap:4px;font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:4px;text-transform:uppercase;margin-bottom:4px;}
.pqa-verdict-badge.yes{background:var(--green-pale);color:var(--green);}
.pqa-verdict-badge.no{background:var(--red-pale);color:var(--red);}
.pqa-verdict-badge.not-covered{background:var(--amber-pale);color:var(--amber);}
.pqa-source-tag{display:inline-flex;align-items:center;gap:4px;font-size:.62rem;font-weight:600;color:var(--forest);background:var(--forest-pale);padding:3px 8px;border-radius:4px;margin-bottom:6px;}
.pqa-confidence-bar{height:3px;border-radius:2px;background:var(--border2);margin-top:6px;overflow:hidden;}
.pqa-confidence-fill{height:100%;border-radius:2px;transition:width .4s ease;}
.pqa-extract-block{font-size:.72rem;color:var(--slate);background:rgba(1,84,65,0.04);border-left:3px solid var(--forest);padding:8px 12px;margin-top:8px;border-radius:0 6px 6px 0;line-height:1.5;font-style:italic;}
.pqa-policies-searched{font-size:.6rem;color:var(--mid);margin-top:4px;font-weight:500;}
.pqa-view-policy-link{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:600;color:var(--forest);background:var(--forest-pale);border:1px solid rgba(1,84,65,0.15);border-radius:5px;padding:4px 10px;margin-top:8px;cursor:pointer;text-decoration:none;transition:background .15s;}
.pqa-view-policy-link:hover{background:rgba(1,84,65,0.12);}

/* Typing indicator */
.pqa-typing{display:flex;align-items:center;gap:4px;padding:8px 14px;}
.pqa-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--mid);animation:pqaBounce .6s ease-in-out infinite;}
.pqa-typing-dot:nth-child(2){animation-delay:.15s;}
.pqa-typing-dot:nth-child(3){animation-delay:.3s;}
@keyframes pqaBounce{0%,100%{opacity:.3;transform:translateY(0);}50%{opacity:1;transform:translateY(-3px);}}

/* Suggestions */
.pqa-chat-suggestions{padding:12px 20px 14px;display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;border-top:1px solid var(--border2);}
.pqa-sug-btn{font-size:.7rem;color:var(--forest);background:#fff;border:1.5px solid rgba(1,84,65,0.2);border-radius:8px;padding:7px 14px;cursor:pointer;font-family:'Inter',sans-serif;font-weight:600;transition:background .15s,border-color .15s,color .15s;white-space:nowrap;line-height:1.3;}
.pqa-sug-btn:hover{background:var(--forest);color:#fff;border-color:var(--forest);}

/* Input */
.pqa-chat-input-wrap{border-top:1px solid var(--border2);padding:12px 16px;flex-shrink:0;}
.pqa-chat-input-row{display:flex;align-items:flex-end;gap:8px;background:var(--bg);border:1px solid var(--border2);border-radius:10px;padding:8px 10px;transition:border-color .15s;}
.pqa-chat-input-row:focus-within{border-color:var(--forest);}
.pqa-chat-input{flex:1;border:none;outline:none;background:transparent;font-size:.78rem;font-family:'Inter',sans-serif;resize:none;max-height:100px;line-height:1.45;color:var(--charcoal);}
.pqa-chat-send{width:30px;height:30px;border-radius:7px;border:none;background:var(--forest);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s;}
.pqa-chat-send:hover{opacity:.85;}
.pqa-chat-send:disabled{opacity:.35;cursor:not-allowed;}
.pqa-chat-footer{font-size:.58rem;color:var(--mid);text-align:center;margin-top:8px;font-weight:500;letter-spacing:.01em;}

/* ═══════════════════════════════════════════════════════════════
   SAR MANAGEMENT — Case Review & Triage
   ═══════════════════════════════════════════════════════════════ */

/* ── KPI Strip ── */
.sar-kpi-strip{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.sar-kpi{background:var(--card);border:1px solid var(--border2);border-radius:10px;padding:16px 20px;flex:1;min-width:120px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,0.04);}
.sar-kpi-val{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1.2;}
.sar-kpi-label{font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mid);margin-top:4px;}

/* ── Filter Bar ── */
.sar-filter-bar{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.sar-filter-btn{height:32px;padding:0 14px;border:1.5px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;background:#fff;color:var(--slate);transition:all .15s;}
.sar-filter-btn:hover{border-color:var(--forest);color:var(--forest);}
.sar-filter-btn.active{background:var(--forest);color:#fff;border-color:var(--forest);}

/* ── Split Layout ── */
.sar-split{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;}
.sar-split:has(.sar-detail-wrap[style*="display: block"]){grid-template-columns:1fr 440px;}

/* Fallback for browsers without :has — JS toggles class */
.sar-split.sar-split-open{grid-template-columns:1fr 440px;}

.sar-table-wrap{background:var(--card);border:1px solid var(--border2);border-radius:10px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,0.06);}

/* ── Detail Wrap ── */
.sar-detail-wrap{background:var(--card);border:1px solid var(--border2);border-radius:10px;overflow-y:auto;max-height:calc(100vh - 200px);box-shadow:0 1px 6px rgba(0,0,0,0.06);}

.sar-detail-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border2);background:#f8fafc;}
.sar-detail-ref{font-family:monospace;font-size:.78rem;font-weight:700;color:var(--forest);margin-top:4px;}
.sar-close-detail{background:none;border:none;font-size:1.3rem;color:var(--mid);cursor:pointer;padding:0 4px;line-height:1;}
.sar-close-detail:hover{color:var(--charcoal);}

.sar-detail-section{padding:16px 20px;border-bottom:1px solid var(--border2);}
.sar-detail-section:last-child{border-bottom:none;}
.sar-detail-section-title{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:10px;}

.sar-narrative-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mid);margin-bottom:4px;}
.sar-narrative-box{font-size:.78rem;color:var(--charcoal);line-height:1.6;white-space:pre-wrap;background:#f8fafc;border:1px solid var(--border2);border-radius:8px;padding:12px;font-weight:400;}

/* ── Status Pills ── */
.sar-status-pill{display:inline-block;font-size:.58rem;font-weight:700;padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;}
.sar-st-amber{background:var(--amber-pale);color:var(--amber);}
.sar-st-red{background:var(--red-pale);color:var(--red);}
.sar-st-green{background:var(--green-pale);color:var(--green);}
.sar-st-slate{background:rgba(0,0,0,0.06);color:var(--slate);}

/* ── Reference in table ── */
.sar-ref{font-family:monospace;font-size:.72rem;font-weight:600;color:var(--forest);}

/* ── Active row ── */
.sar-row-active td{background:var(--forest-pale) !important;}

/* ── Action Buttons ── */
.sar-action-section{background:#f8fafc;}
.sar-action-group{display:flex;flex-direction:column;gap:8px;}
.sar-action-btn{height:36px;padding:0 16px;border:2px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:700;cursor:pointer;background:#fff;transition:all .15s;letter-spacing:.02em;}
.sar-action-btn:hover{opacity:.85;}
.sar-action-review{background:var(--forest);color:#fff;border-color:var(--forest);}
.sar-action-escalate{background:var(--red);color:#fff;border-color:var(--red);}
.sar-action-dismiss{background:var(--card);color:var(--slate);border-color:var(--border2);}
.sar-action-dismiss:hover{border-color:var(--slate);}
.sar-action-info{background:var(--amber-pale);color:var(--amber);border-color:var(--amber);}

/* ── Audit Trail ── */
.sar-audit-list{display:flex;flex-direction:column;gap:0;}
.sar-audit-entry{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.74rem;}
.sar-audit-entry:last-child{border-bottom:none;}
.sar-audit-time{color:var(--mid);min-width:110px;font-size:.68rem;flex-shrink:0;}
.sar-audit-body{color:var(--charcoal);flex:1;line-height:1.5;}
.sar-audit-role{color:var(--mid);font-weight:400;}

@media(max-width:1100px){
  .sar-split.sar-split-open{grid-template-columns:1fr;}
  .sar-detail-wrap{max-height:none;}
}

/* ═══════════════════════════════════════════════════════════════
   ADMIN PANEL — User Management
   ═══════════════════════════════════════════════════════════════ */

.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;}
.admin-title{font-size:1.15rem;font-weight:800;color:var(--charcoal);letter-spacing:-.03em;}
.admin-sub{font-size:.76rem;color:var(--mid);margin-top:3px;}

.admin-table-wrap{background:var(--card);border:1px solid var(--border2);border-radius:10px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,0.06);}

/* ── Create Form Card ── */
.admin-create-form{margin-bottom:20px;}
.admin-form-card{background:var(--card);border:1px solid var(--border2);border-radius:10px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,0.06);}
.admin-form-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border2);background:#f8fafc;}
.admin-form-header h3{font-size:.88rem;font-weight:700;color:var(--charcoal);}
.admin-form-body{padding:20px;}

/* ── Ghost btn (ensure available in main tool context) ── */
.ghost-btn{height:38px;padding:0 16px;background:#fff;color:var(--mid);border:1.5px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s;}
.ghost-btn:hover{border-color:var(--forest);color:var(--forest);}

/* ── Status pill green (for active status) ── */
.sar-st-green{background:var(--green-pale);color:var(--green);}

/* ── SAR Sub-tabs ── */
.sar-subtab-bar{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--border2);}
.sar-subtab{padding:10px 20px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;color:var(--mid);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .15s;}
.sar-subtab:hover{color:var(--forest);}
.sar-subtab.active{color:var(--forest);border-bottom-color:var(--forest);}

/* ── Admin Tab Checkboxes ── */
.admin-tabs-grid{display:flex;flex-direction:column;gap:4px;}
.admin-tab-section-label{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin:8px 0 4px;padding-top:4px;}
.admin-tab-section-label:first-child{margin-top:0;}
.admin-tab-check{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;transition:background .12s;user-select:none;}
.admin-tab-check:hover{background:var(--forest-pale);}
.admin-tab-check input[type="checkbox"]{accent-color:var(--forest);flex-shrink:0;}
.admin-tab-check span{font-size:.78rem;color:var(--charcoal);font-weight:500;}

/* ══════════════════════════════════════════════════════════
   USER MANAGEMENT (RBAC) — admin-panel.js
   ══════════════════════════════════════════════════════════ */

/* Layout */
.um-wrap{display:flex;flex-direction:column;gap:16px;}
.um-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px;}
.um-header-left{flex:1;}
.um-create-btn{width:auto;padding:0 20px;height:38px;font-size:.8rem;}

/* Filter bar */
.um-filter-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#fff;border:1px solid var(--border2);border-radius:9px;flex-wrap:wrap;}
.um-search-wrap{display:flex;align-items:center;gap:8px;color:var(--mid);flex:1;min-width:180px;}
.um-search-input{flex:1;border:none;outline:none;font-family:'Inter',sans-serif;font-size:.82rem;color:var(--charcoal);background:transparent;}
.um-search-input::placeholder{color:var(--mid);}
.um-filter-pills{display:flex;gap:4px;flex-wrap:wrap;}
.um-pill{height:28px;padding:0 12px;border:1.5px solid var(--border2);border-radius:20px;background:#fff;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;color:var(--mid);cursor:pointer;transition:all .15s;white-space:nowrap;}
.um-pill:hover{border-color:var(--forest);color:var(--forest);}
.um-pill.active{background:var(--forest);border-color:var(--forest);color:#fff;}
.um-count-label{font-size:.68rem;color:var(--mid);white-space:nowrap;margin-left:auto;}

/* Table layout */
.um-table{width:100%;}
.um-row-inactive{opacity:.6;}
.um-row-inactive .um-user-name{text-decoration:line-through;text-decoration-color:var(--mid);}

/* User cell */
.um-user-cell{display:flex;align-items:center;gap:10px;}
.um-avatar{width:34px;height:34px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;letter-spacing:.03em;flex-shrink:0;}
.um-avatar-inactive{background:var(--mid);}
.um-user-info{display:flex;flex-direction:column;gap:2px;}
.um-user-name{font-size:.82rem;font-weight:600;color:var(--charcoal);}
.um-user-meta{display:flex;align-items:center;gap:5px;font-size:.68rem;color:var(--mid);}
.um-user-username{font-family:'DM Mono','IBM Plex Mono',monospace;font-size:.66rem;color:var(--forest);}
.um-meta-sep{color:var(--border2);}

/* Role badges */
.um-role-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:.66rem;font-weight:700;letter-spacing:.04em;white-space:nowrap;}
.role-MLRO   {background:rgba(220,38,38,0.1);  color:#b91c1c;}
.role-senior {background:rgba(217,119,6,0.1);  color:#b45309;}
.role-co     {background:rgba(1,84,65,0.1);    color:var(--forest);}
.role-screen {background:rgba(51,65,85,0.1);   color:var(--slate);}
.role-report {background:rgba(100,116,139,0.1);color:var(--mid);}
.role-staff  {background:rgba(100,116,139,0.1);color:var(--mid);}

/* Tab count */
.um-tab-count{display:flex;align-items:baseline;gap:2px;}
.um-tab-num{font-size:.84rem;font-weight:700;color:var(--charcoal);}
.um-tab-slash{font-size:.7rem;color:var(--mid);}

/* Row actions */
.um-actions{display:flex;gap:4px;flex-wrap:nowrap;}

/* Empty state */
.um-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;color:var(--mid);text-align:center;}
.um-empty p{font-size:.9rem;font-weight:600;color:var(--slate);margin:0;}
.um-empty span{font-size:.76rem;}

/* Form section labels */
.um-section-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--forest);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.um-section-hint{font-size:.65rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--mid);}

/* Role hint strip */
.um-role-hint{display:flex;align-items:center;gap:6px;background:var(--forest-pale);border:1px solid var(--forest-pale2);border-radius:7px;padding:8px 12px;font-size:.73rem;color:var(--forest);margin-top:4px;}

/* Tab matrix — 2-column grid */
.um-tabs-matrix{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:var(--bg);border:1px solid var(--border2);border-radius:8px;padding:10px 12px;}
.um-tabs-matrix .admin-tab-section-label{grid-column:1/-1;margin-top:10px;}
.um-tabs-matrix .admin-tab-section-label:first-child{margin-top:0;}

/* Password strength */
.um-pw-strength{display:flex;align-items:center;gap:8px;margin-top:7px;}
.um-pw-bar{flex:1;height:4px;background:var(--border2);border-radius:4px;overflow:hidden;}
.um-pw-fill{height:100%;border-radius:4px;width:0;transition:width .25s,background .25s;}
.um-pw-label{font-size:.67rem;font-weight:700;min-width:52px;}

/* Password rules */
.um-pw-rules{display:flex;flex-direction:column;gap:3px;margin-top:6px;}
.um-pw-rule{display:flex;align-items:center;gap:6px;font-size:.67rem;color:var(--mid);transition:color .15s;}
.um-pw-rule.passed{color:var(--green);}
.um-rule-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);flex-shrink:0;transition:background .15s;}

/* Password match */
.um-pw-match{margin-top:7px;font-size:.7rem;font-weight:600;display:flex;align-items:center;}
.um-pw-match-ok {color:var(--green);}
.um-pw-match-err{color:var(--red);}

/* Audit trail */
.um-audit-trail{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid var(--border2);border-radius:7px;padding:8px 12px;font-size:.68rem;color:var(--mid);margin-top:-2px;}

/* Deactivate modal */
.um-deactivate-header{background:var(--red-pale);border-bottom:1px solid rgba(220,38,38,0.15);}
.um-deactivate-body{display:flex;gap:14px;align-items:flex-start;}
.um-deactivate-icon{width:44px;height:44px;background:var(--red-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.um-deactivate-title{font-size:.88rem;font-weight:700;color:var(--charcoal);margin-bottom:8px;}
.um-deactivate-sub{font-size:.76rem;color:var(--mid);line-height:1.6;}

/* Form actions */
.um-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border2);}

/* Password reset notice */
.um-reset-notice{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--mid);background:#f8fafc;border:1px solid var(--border2);border-radius:7px;padding:8px 12px;}

/* Toast notification */
.um-toast{position:fixed;bottom:24px;right:24px;z-index:9999;background:var(--forest);color:#fff;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;padding:12px 18px;border-radius:10px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 20px rgba(1,84,65,0.35);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none;}
.um-toast-visible{opacity:1;transform:translateY(0);}

.main{
  display: flex !important;
  flex-direction: column !important;
  width: calc(100% - var(--sidebar-w)) !important;
  min-height: 100vh;
}

.topbar{
  width: 100%;
  flex: 0 0 auto;
}

.page-content{
  width: 100%;
  flex: 1 1 auto;
}

/* ══════════════════════════════════════════════
   ── TRAINING TAB ──
   ══════════════════════════════════════════════ */
.training-wrap{padding:28px 32px;width:100%;box-sizing:border-box;}
.training-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;}
.training-title{font-size:1.15rem;font-weight:700;color:var(--charcoal);letter-spacing:-.025em;}
.training-subtitle{font-size:.72rem;color:var(--mid);margin-top:3px;}
.training-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}

.training-report-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;background:#00c471;color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:0 2px 8px rgba(0,196,113,0.3);}
.training-report-btn:hover{background:#00a85f;box-shadow:0 4px 12px rgba(0,196,113,0.4);}
.training-csv-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;background:#fff;color:var(--forest);border:1.5px solid var(--border2);border-radius:8px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;}
.training-csv-btn:hover{border-color:var(--forest);background:var(--forest-pale);}

.training-kpis{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;}
.train-kpi-chip{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:12px 20px;min-width:120px;box-shadow:0 1px 4px rgba(0,0,0,0.05);}
.train-kpi-val{font-size:1.4rem;font-weight:700;color:var(--charcoal);line-height:1;}
.train-kpi-label{font-size:.65rem;color:var(--mid);font-weight:600;margin-top:5px;text-transform:uppercase;letter-spacing:.06em;}
.train-kpi-complete .train-kpi-val{color:#00c471;}
.train-kpi-pending .train-kpi-val{color:var(--amber);}
.train-kpi-overdue .train-kpi-val{color:var(--red);}

.training-filters{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--border2);border-radius:10px;padding:16px 20px;box-shadow:0 1px 4px rgba(0,0,0,0.04);}
.training-filter-group{display:flex;flex-direction:column;gap:5px;}
.training-filter-label{font-size:.65rem;font-weight:700;color:var(--charcoal);text-transform:uppercase;letter-spacing:.07em;}
.training-select{padding:7px 10px;border:1.5px solid var(--border2);border-radius:7px;font-family:'Inter',sans-serif;font-size:.8rem;color:var(--charcoal);background:#fff;outline:none;cursor:pointer;min-width:140px;transition:border-color .15s;}
.training-select:focus{border-color:var(--forest);}
.training-filter-reset{justify-content:flex-end;}
.training-reset-btn{padding:7px 14px;background:var(--forest-pale);color:var(--forest);border:1.5px solid transparent;border-radius:7px;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;}
.training-reset-btn:hover{background:var(--forest-pale2);border-color:var(--forest);}

.training-table-wrap{background:#fff;border:1px solid var(--border2);border-radius:10px;overflow-x:auto;box-shadow:0 1px 6px rgba(0,0,0,0.05);width:100%;}
.training-table{width:100%;min-width:700px;border-collapse:collapse;font-size:.82rem;}
.training-table thead tr{background:var(--forest);}
.training-table thead th{padding:11px 14px;text-align:left;font-size:.68rem;font-weight:700;color:#fff;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
.training-table tbody tr{border-bottom:1px solid var(--border2);transition:background .12s;}
.training-table tbody tr:last-child{border-bottom:none;}
.training-table tbody tr:hover{background:#f8fffe;}
.training-table tbody td{padding:11px 14px;color:var(--charcoal);vertical-align:middle;}
.train-name{font-weight:600;}
.train-module{display:inline-block;background:rgba(1,84,65,0.07);color:var(--forest);padding:2px 8px;border-radius:5px;font-size:.72rem;font-weight:600;}
.train-expired{color:var(--red);font-weight:600;}

.train-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.03em;}
.train-badge::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.train-badge.complete{background:rgba(0,196,113,0.12);color:#00a85f;}
.train-badge.complete::before{background:#00c471;}
.train-badge.pending{background:var(--amber-pale);color:var(--amber);}
.train-badge.pending::before{background:var(--amber);}
.train-badge.overdue{background:var(--red-pale);color:var(--red);}
.train-badge.overdue::before{background:var(--red);}

.training-empty{padding:40px;text-align:center;color:var(--mid);font-size:.85rem;}

/* ═══════════════════════════════════════════════════════════════
   DASHBOARD REDESIGN 2.0 — Bloomberg Status Bar + SAR Tiles
   ═══════════════════════════════════════════════════════════════ */

/* ── Hide topbar when on dashboard ── */
.main.dash-mode .topbar { display: none; }
.main.dash-mode .page-content { padding-top: 0; }

/* ── Bloomberg-style status bar ── */
.dash-hero.dash-statusbar-mode {
  padding: 0;
  background: linear-gradient(90deg, #020e0a 0%, #011a14 40%, #021007 100%);
  border-radius: 0;
}
.dash-sb-inner {
  display: flex;
  align-items: center;
  padding: 11px 32px;
  border-bottom: 1px solid rgba(0,196,113,0.1);
  gap: 0;
}
.dash-sb-brand {
  font-family: 'Sora', 'DM Sans', sans-serif;
  font-size: .58rem;
  font-weight: 600;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: rgba(247,248,250,0.38);
  flex: 1;
}
.dash-sb-center {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  justify-content: center;
}
.dash-sb-date {
  font-family: 'Sora', 'DM Sans', sans-serif;
  font-size: .82rem;
  font-weight: 400;
  color: #f7f8fa;
  letter-spacing: .01em;
}
.dash-sb-sep {
  color: rgba(255,255,255,0.18);
  font-size: .75rem;
}
.dash-sb-clock {
  font-family: 'IBM Plex Mono', 'DM Mono', monospace;
  font-size: 1rem;
  font-weight: 700;
  color: #00c471;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
}
.dash-sb-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
.dash-sb-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: 'Sora', 'DM Sans', sans-serif;
  font-size: .62rem;
  font-weight: 500;
  color: rgba(247,248,250,0.6);
  letter-spacing: .02em;
}
.dash-sb-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00c471;
  flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(0,196,113,0.7);
  animation: sbdotpulse 2.2s ease-in-out infinite;
}
@keyframes sbdotpulse {
  0%   { box-shadow: 0 0 0 0 rgba(0,196,113,0.7); }
  70%  { box-shadow: 0 0 0 7px rgba(0,196,113,0); }
  100% { box-shadow: 0 0 0 0 rgba(0,196,113,0); }
}

/* ── SAR Workflow Tiles ── */
.dash-sar-section {
  background: var(--bg);
  padding: 0;
  /* Inherits margin: 14px 28px 0 from .dash-wrap > *:not(.dash-hero) */
}
.dash-sar-tiles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.dash-sar-tile {
  background: #fff;
  border: 1px solid var(--border2);
  border-left-width: 4px;
  border-radius: 10px;
  padding: 22px 26px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.18s, transform 0.15s;
}
.dash-sar-tile:hover {
  box-shadow: 0 4px 18px rgba(0,0,0,0.08);
  transform: translateY(-1px);
}
.dash-sar-tile-label {
  font-family: 'Sora', 'Inter', sans-serif;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mid);
  margin-bottom: 12px;
}
.dash-sar-tile-val {
  font-size: 3rem;
  font-weight: 800;
  color: var(--charcoal);
  letter-spacing: -.05em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  margin-bottom: 8px;
  transition: color 0.3s;
}
.dash-sar-tile-sub {
  font-size: .68rem;
  color: #94a3b8;
  font-weight: 400;
}
/* Border + value color variants */
.dash-sar-tile.sar-tile-green { border-left-color: #00c471; }
.dash-sar-tile.sar-tile-amber { border-left-color: #d97706; }
.dash-sar-tile.sar-tile-red   { border-left-color: #dc2626; }
.dash-sar-tile.sar-tile-amber .dash-sar-tile-val { color: #d97706; }
.dash-sar-tile.sar-tile-red   .dash-sar-tile-val { color: #dc2626; }

/* ── SAR Badge on sidebar nav item ── */
.sar-nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: #dc2626;
  color: #fff;
  font-size: .55rem;
  font-weight: 800;
  border-radius: 100px;
  letter-spacing: 0;
  margin-left: auto;
  flex-shrink: 0;
  line-height: 1;
}

/* Responsive SAR tiles */
@media (max-width: 1100px) {
  .dash-sar-tiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .dash-sar-tiles { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   EDD SUB-TABS
   ═══════════════════════════════════════════════════════════════ */
.edd-subtab-nav{display:flex;align-items:center;gap:4px;margin-bottom:20px;border-bottom:2px solid var(--border2);padding-bottom:0;}
.edd-subtab-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:500;color:var(--mid);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s;position:relative;}
.edd-subtab-btn:hover{color:var(--charcoal);}
.edd-subtab-btn.active{color:var(--forest);font-weight:700;border-bottom-color:var(--forest);}
.edd-subtab-badge{background:var(--forest);color:#fff;font-size:.55rem;font-weight:700;padding:1px 6px;border-radius:100px;margin-left:2px;}
.edd-subtab-panel{display:none;}
.edd-subtab-panel.active{display:block;}

/* ═══════════════════════════════════════════════════════════════
   COMPLICORE X — EXTERNAL REPORTS
   ═══════════════════════════════════════════════════════════════ */

/* Hero */
.ccx-hero{background:#0F3D24;border-radius:10px;padding:22px 28px;margin-bottom:20px;}
.ccx-hero-inner{display:flex;align-items:flex-start;gap:18px;}
.ccx-hero-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.ccx-hero-brand{font-family:'Sora',sans-serif;font-size:1rem;font-weight:700;color:#fff;letter-spacing:-.02em;}
.ccx-hero-text{flex:1;}
.ccx-hero-headline{font-size:.88rem;font-weight:600;color:#fff;line-height:1.55;margin-bottom:5px;}
.ccx-hero-sub{font-size:.74rem;color:rgba(255,255,255,0.55);line-height:1.5;}

/* Layout */
.ccx-layout{display:grid;grid-template-columns:440px 1fr;gap:20px;align-items:start;}
.ccx-form-col{}
.ccx-audit-col{}

/* Card */
.ccx-card{background:#fff;border:1px solid var(--border2);border-radius:10px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,0.06);}
.ccx-card-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border2);background:#fafbfc;gap:10px;}
.ccx-card-title{font-size:.85rem;font-weight:700;color:var(--charcoal);letter-spacing:-.02em;}

/* Credits widget */
.ccx-credits-widget{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.ccx-credits-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);}
.ccx-credits-val{font-size:.95rem;font-weight:800;color:var(--forest);font-family:'Sora',sans-serif;min-width:42px;text-align:right;}
.ccx-credits-val.warn{color:var(--amber);}
.ccx-credits-val.danger{color:var(--red);}
.ccx-credits-link{font-size:.68rem;font-weight:600;color:var(--forest);background:none;border:1px solid var(--forest);border-radius:5px;padding:3px 9px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;font-family:'Inter',sans-serif;}
.ccx-credits-link:hover{background:var(--forest);color:#fff;}

/* Form */
.ccx-form{padding:20px;}
.ccx-form-section{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--border);}
.ccx-form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.ccx-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mid);margin-bottom:12px;}
.ccx-fgroup{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;}
.ccx-fgroup:last-child{margin-bottom:0;}
.ccx-frow{display:grid;gap:10px;}
.ccx-c2{grid-template-columns:1fr 1fr;}
.ccx-label{font-size:.74rem;font-weight:600;color:var(--slate);}
.ccx-opt{font-size:.62rem;font-weight:400;color:var(--mid);margin-left:4px;}
.ccx-req{color:var(--red);margin-left:2px;}
.ccx-input{width:100%;padding:8px 11px;border:1px solid var(--border2);border-radius:7px;font-family:'Inter',sans-serif;font-size:.8rem;color:var(--charcoal);background:#fff;transition:border-color .15s,box-shadow .15s;outline:none;}
.ccx-input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(1,84,65,0.08);}
.ccx-input.error{border-color:var(--red);}
.ccx-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer;}
.ccx-textarea{resize:vertical;min-height:64px;}
.ccx-field-error{font-size:.68rem;color:var(--red);margin-top:2px;}
.ccx-add-link{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--forest);background:none;border:none;cursor:pointer;padding:0;font-family:'Inter',sans-serif;margin-top:4px;transition:opacity .15s;}
.ccx-add-link:hover{opacity:.7;}

/* Extra field tags (additional companies/nationalities) */
.ccx-extra-field{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.ccx-extra-field input{flex:1;}
.ccx-remove-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border2);background:#fff;color:var(--mid);font-size:.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,border-color .15s;}
.ccx-remove-btn:hover{background:var(--red-pale);border-color:var(--red);color:var(--red);}

/* File upload */
.ccx-upload-zone{border:1.5px dashed var(--border2);border-radius:8px;padding:18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--mid);}
.ccx-upload-zone:hover,.ccx-upload-zone.drag{border-color:var(--forest);background:var(--forest-pale);}
.ccx-upload-label{font-size:.74rem;color:var(--slate);}
.ccx-upload-link{color:var(--forest);font-weight:600;text-decoration:underline;cursor:pointer;}
.ccx-file-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;}
.ccx-file-item{display:flex;align-items:center;gap:8px;padding:5px 10px;background:#f8fafc;border-radius:6px;font-size:.72rem;color:var(--charcoal);}
.ccx-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ccx-file-size{color:var(--mid);font-size:.65rem;flex-shrink:0;}
.ccx-file-rm{background:none;border:none;color:var(--mid);cursor:pointer;font-size:.85rem;padding:0;line-height:1;flex-shrink:0;transition:color .15s;}
.ccx-file-rm:hover{color:var(--red);}

/* Turnaround options */
.ccx-turnaround-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ccx-turnaround-option{cursor:pointer;border:1.5px solid var(--border2);border-radius:8px;padding:12px 14px;transition:border-color .15s,background .15s;display:block;}
.ccx-turnaround-option:has(input:checked){border-color:var(--forest);background:var(--forest-pale);}
.ccx-turnaround-option input[type=radio]{position:absolute;opacity:0;pointer-events:none;}
.ccx-turnaround-body{display:flex;flex-direction:column;gap:3px;}
.ccx-turnaround-title{font-size:.82rem;font-weight:700;color:var(--charcoal);}
.ccx-turnaround-meta{font-size:.68rem;color:var(--mid);}
.ccx-turnaround-price{font-size:.9rem;font-weight:800;color:var(--forest);font-family:'Sora',sans-serif;margin-top:4px;}
.ccx-turnaround-credit{font-size:.65rem;font-weight:600;color:var(--mid);background:rgba(0,0,0,0.05);display:inline-block;padding:1px 7px;border-radius:4px;margin-top:2px;}

/* Form footer */
.ccx-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border2);margin-top:16px;}
.ccx-form-note{font-size:.7rem;color:var(--mid);flex:1;}
.ccx-form-note.warn{color:var(--amber);font-weight:600;}
.ccx-submit-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:var(--forest);color:#fff;border:none;border-radius:8px;font-family:'Inter',sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s,opacity .15s;letter-spacing:.01em;}
.ccx-submit-btn:disabled{opacity:.4;cursor:not-allowed;}
.ccx-submit-btn:not(:disabled):hover{background:#013d2f;}

/* Audit trail */
.ccx-audit-filters{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border2);flex-wrap:wrap;}
.ccx-audit-search{flex:1;min-width:160px;padding:7px 11px;border:1px solid var(--border2);border-radius:7px;font-family:'Inter',sans-serif;font-size:.77rem;color:var(--charcoal);background:#fff;outline:none;transition:border-color .15s;}
.ccx-audit-search:focus{border-color:var(--forest);}
.ccx-audit-sel{padding:7px 28px 7px 10px;border:1px solid var(--border2);border-radius:7px;font-family:'Inter',sans-serif;font-size:.75rem;color:var(--charcoal);background:#fff;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;}
.ccx-audit-date{padding:6px 10px;border:1px solid var(--border2);border-radius:7px;font-family:'Inter',sans-serif;font-size:.74rem;color:var(--charcoal);background:#fff;outline:none;cursor:pointer;}
.ccx-audit-count{font-size:.7rem;color:var(--mid);font-weight:500;white-space:nowrap;}

.ccx-audit-table-wrap{overflow-x:auto;}
.ccx-audit-loading{display:flex;align-items:center;gap:8px;padding:32px;color:var(--mid);font-size:.78rem;}
.ccx-audit-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:var(--mid);font-size:.78rem;text-align:center;}
.ccx-audit-empty svg{opacity:.3;margin-bottom:4px;}
.ccx-audit-empty p{font-weight:600;color:var(--slate);}

.ccx-audit-table{width:100%;border-collapse:collapse;font-size:.75rem;}
.ccx-audit-table thead tr{background:#fafbfc;border-bottom:1px solid var(--border2);}
.ccx-audit-table th{padding:10px 14px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);text-align:left;white-space:nowrap;}
.ccx-audit-table td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--charcoal);vertical-align:middle;}
.ccx-audit-table tbody tr:last-child td{border-bottom:none;}
.ccx-audit-table tbody tr:hover td{background:#f9fafb;}
.ccx-audit-ref{font-family:monospace;font-size:.72rem;font-weight:700;color:var(--forest);cursor:pointer;white-space:nowrap;}
.ccx-audit-ref:hover{text-decoration:underline;}
.ccx-audit-subject{font-weight:600;color:var(--charcoal);}
.ccx-audit-company{font-size:.68rem;color:var(--mid);margin-top:1px;}
.ccx-audit-date-cell{font-size:.7rem;color:var(--slate);white-space:nowrap;}
.ccx-audit-credit{font-size:.72rem;font-weight:700;color:var(--charcoal);}
.ccx-audit-by{font-size:.68rem;color:var(--mid);}

/* Status badges */
.ccx-status{display:inline-block;font-size:.6rem;font-weight:700;padding:3px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.ccx-status-progress{background:var(--amber-pale);color:var(--amber);}
.ccx-status-delivered{background:var(--green-pale);color:var(--green);}
.ccx-status-cancelled{background:rgba(0,0,0,0.06);color:var(--mid);}

/* Actions dropdown */
.ccx-actions-wrap{position:relative;}
.ccx-actions-btn{padding:5px 10px;border:1px solid var(--border2);border-radius:6px;background:#fff;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:500;color:var(--slate);cursor:pointer;transition:background .15s;white-space:nowrap;}
.ccx-actions-btn:hover{background:#f1f5f9;}
.ccx-actions-menu{position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--border2);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.12);z-index:200;min-width:180px;overflow:hidden;}
.ccx-actions-menu button{display:block;width:100%;padding:9px 14px;font-family:'Inter',sans-serif;font-size:.76rem;font-weight:500;color:var(--charcoal);background:none;border:none;text-align:left;cursor:pointer;transition:background .15s;}
.ccx-actions-menu button:hover{background:#f1f5f9;}
.ccx-actions-menu button.danger{color:var(--red);}
.ccx-actions-menu button:disabled{color:var(--mid);cursor:not-allowed;}
.ccx-actions-menu button:disabled:hover{background:none;}

/* Modals */
.ccx-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:1000;display:none;align-items:center;justify-content:center;}
.ccx-modal-overlay.open{display:flex;}
.ccx-modal{background:#fff;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,0.18);width:480px;max-width:92vw;max-height:88vh;overflow-y:auto;display:flex;flex-direction:column;}
.ccx-modal-wide{width:580px;}
.ccx-modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border2);}
.ccx-modal-title{font-size:.92rem;font-weight:700;color:var(--charcoal);letter-spacing:-.02em;}
.ccx-modal-close{background:none;border:none;font-size:1.3rem;color:var(--mid);cursor:pointer;padding:0;line-height:1;transition:color .15s;}
.ccx-modal-close:hover{color:var(--charcoal);}
.ccx-modal-body{padding:20px 22px;flex:1;}
.ccx-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--border2);}
.ccx-modal-info{font-size:.78rem;color:var(--slate);background:#f8fafc;border:1px solid var(--border2);border-radius:7px;padding:10px 14px;}
.ccx-modal-confirm{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--green);background:var(--green-pale);border-radius:7px;padding:10px 14px;margin-top:14px;}

/* Modal buttons */
.ccx-btn-primary{padding:9px 20px;background:var(--forest);color:#fff;border:none;border-radius:7px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s;white-space:nowrap;}
.ccx-btn-primary:hover{background:#013d2f;}
.ccx-btn-secondary{padding:9px 18px;background:#fff;color:var(--slate);border:1px solid var(--border2);border-radius:7px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.ccx-btn-secondary:hover{background:#f1f5f9;}

/* Confirmation modal content */
.ccx-confirm-ref{font-family:monospace;font-size:1.1rem;font-weight:800;color:var(--forest);background:var(--forest-pale);padding:10px 16px;border-radius:8px;display:inline-block;margin-bottom:16px;letter-spacing:.04em;}
.ccx-confirm-grid{display:grid;grid-template-columns:140px 1fr;gap:6px 12px;font-size:.78rem;margin-bottom:16px;}
.ccx-confirm-key{color:var(--mid);font-weight:500;}
.ccx-confirm-val{color:var(--charcoal);font-weight:600;}
.ccx-confirm-new-bal{font-size:.8rem;font-weight:700;color:var(--forest);background:var(--forest-pale);border-radius:6px;padding:8px 12px;margin-top:10px;display:inline-flex;align-items:center;gap:6px;}

/* Order details modal */
.ccx-details-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.ccx-details-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.ccx-details-section-title{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mid);margin-bottom:10px;}
.ccx-details-grid{display:grid;grid-template-columns:130px 1fr;gap:5px 12px;font-size:.78rem;}
.ccx-details-key{color:var(--mid);font-weight:500;}
.ccx-details-val{color:var(--charcoal);font-weight:600;word-break:break-word;}
.ccx-details-val a{color:var(--forest);text-decoration:underline;}
.ccx-timeline{display:flex;flex-direction:column;gap:0;}
.ccx-timeline-item{display:flex;gap:12px;padding:8px 0;position:relative;}
.ccx-timeline-item::before{content:'';position:absolute;left:7px;top:24px;width:1px;height:calc(100% - 8px);background:var(--border2);}
.ccx-timeline-item:last-child::before{display:none;}
.ccx-timeline-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border2);background:#fff;flex-shrink:0;margin-top:2px;}
.ccx-timeline-dot.done{border-color:var(--forest);background:var(--forest);}
.ccx-timeline-dot.active{border-color:var(--amber);background:var(--amber);}
.ccx-timeline-body{flex:1;}
.ccx-timeline-label{font-size:.76rem;font-weight:600;color:var(--charcoal);}
.ccx-timeline-time{font-size:.68rem;color:var(--mid);margin-top:1px;}

/* ── OPTIONS PANEL ── */
.options-overlay{
  position:fixed;inset:0;z-index:9999;
  display:none; /* shown via .open class */
  align-items:center;justify-content:center;
  background:rgba(0,0,0,0.38);
  backdrop-filter:blur(2px);
}
.options-overlay.open{display:flex;}

.options-panel{
  background:var(--card);
  border:1px solid var(--border2);
  border-radius:14px;
  width:400px;max-width:calc(100vw - 40px);
  box-shadow:0 20px 60px rgba(0,0,0,0.18);
  overflow:hidden;
  animation:optionsPanelIn 160ms ease;
}
@keyframes optionsPanelIn{from{opacity:0;transform:scale(.97) translateY(6px);}to{opacity:1;transform:none;}}

.options-panel-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px 16px;
  border-bottom:1px solid var(--border);
}
.options-panel-title{font-family:'Sora',sans-serif;font-size:.9rem;font-weight:700;color:var(--charcoal);letter-spacing:-.01em;}
.options-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;border:none;background:none;color:var(--mid);cursor:pointer;transition:background .15s,color .15s;}
.options-close-btn:hover{background:var(--border);color:var(--charcoal);}

.options-panel-body{padding:8px 0 12px;}

.options-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:12px 20px;
  transition:background .12s;
}
.options-row:hover{background:var(--forest-pale);}
.options-row-info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.options-row-name{font-size:.82rem;font-weight:600;color:var(--charcoal);}
.options-row-sub{font-size:.68rem;color:var(--mid);}

.options-select{
  appearance:none;-webkit-appearance:none;
  padding:5px 26px 5px 10px;
  border:1.5px solid var(--border2);
  border-radius:7px;
  font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;
  color:var(--charcoal);background:var(--card);
  cursor:pointer;outline:none;
  background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
  transition:border-color .15s;
  flex-shrink:0;
}
.options-select:focus{border-color:var(--forest);box-shadow:0 0 0 2px var(--forest-pale);}

.options-divider{height:1px;background:var(--border);margin:8px 0;}

.options-link-row{
  display:flex;align-items:center;gap:10px;
  width:100%;padding:11px 20px;
  border:none;background:none;
  font-family:'Inter',sans-serif;font-size:.8rem;font-weight:500;
  color:var(--slate);cursor:pointer;
  text-decoration:none;
  transition:background .12s,color .12s;
}
.options-link-row:hover{background:var(--forest-pale);color:var(--forest);}
.options-link-row svg{flex-shrink:0;}
.options-link-row span{flex:1;text-align:left;}
.options-link-chevron{color:var(--mid);flex-shrink:0;}

