/*
  Phase 49B UI Refinement
  Purpose: professional factory-software polish for admin, supervisor, IEO, fitting, login pages.
  Important: button letter outline is applied to the text itself, not as an outside button border.
*/

:root{
  --ui-bg-deep:#050b16;
  --ui-bg-soft:#07111f;
  --ui-card:rgba(15,23,42,.86);
  --ui-card-2:rgba(17,27,47,.92);
  --ui-border:rgba(148,163,184,.22);
  --ui-border-strong:rgba(125,211,252,.34);
  --ui-text:#eaf2ff;
  --ui-muted:#9fb2cc;
  --ui-accent:#38bdf8;
  --ui-accent-2:#8b5cf6;
  --ui-success:#10b981;
  --ui-danger:#ef4444;
  --ui-warning:#f59e0b;
  --ui-radius-lg:24px;
  --ui-radius-md:16px;
  --ui-shadow-card:0 24px 70px rgba(0,0,0,.30);
  --ui-shadow-soft:0 14px 34px rgba(0,0,0,.22);
  --ui-button-text-edge:rgba(2,6,23,.82);
  --ui-button-text-glow:rgba(255,255,255,.20);
}

html{scroll-behavior:smooth;}
body{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(circle at 12% 0%,rgba(56,189,248,.16),transparent 28%),
    radial-gradient(circle at 88% 10%,rgba(139,92,246,.15),transparent 28%),
    linear-gradient(135deg,var(--ui-bg-deep),var(--ui-bg-soft) 48%,#020617) !important;
}

/* ===== Professional shell polish ===== */
.app-shell,
.sup-dashboard-shell,
.ieo-shell,
.fm-shell{
  background:transparent !important;
}

.sidebar,
.sup-sidebar,
.ieo-sidebar,
.fm-sidebar{
  background:linear-gradient(180deg,rgba(8,13,26,.94),rgba(10,18,33,.88)) !important;
  border-color:rgba(148,163,184,.18) !important;
  box-shadow:16px 0 45px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(16px);
}

.panel,
.panel2,
.card,
.sup-dash-card,
.sup-stat-card,
.ieo-card,
.ieo-stat,
.fm-card,
.fm-stat,
.panic-home-card,
.dashboard-compact-card,
.worker-switcher,
.worker-panel,
.section-card,
.field-card,
.table-card,
.submit-bar,
.sync-card,
.ieo-login-card,
.login-card,
.admin-login-card{
  border:1px solid var(--ui-border) !important;
  background:linear-gradient(145deg,rgba(15,23,42,.88),rgba(8,15,30,.82)) !important;
  box-shadow:var(--ui-shadow-card) !important;
  border-radius:var(--ui-radius-lg) !important;
}

.panel:hover,
.panel2:hover,
.card:hover,
.sup-dash-card:hover,
.ieo-card:hover,
.fm-card:hover,
.worker-panel:hover,
.section-card:hover,
.table-card:hover{
  border-color:rgba(125,211,252,.28) !important;
}

/* ===== Headings and helper text ===== */
h1,h2,h3,.section-title,.hero-title,.sup-side-title,.sidebar-title,.brand-title,.ieo-topbar h1,.ieo-card h2{
  color:#f8fbff !important;
  letter-spacing:.01em !important;
}
p,.muted,.section-subtitle,.hero-text,.bn-helper,.tiny,small{
  line-height:1.55;
}

/* ===== Inputs/selects/textareas ===== */
input,select,textarea,
.input,.select,.textarea,.ieo-input{
  border:1px solid rgba(148,163,184,.24) !important;
  background:linear-gradient(180deg,rgba(2,6,23,.78),rgba(15,23,42,.72)) !important;
  color:#eef6ff !important;
  border-radius:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 22px rgba(0,0,0,.10) !important;
  outline:none !important;
}
input::placeholder,textarea::placeholder,.input::placeholder,.textarea::placeholder{color:#7f93ad !important;}
input:focus,select:focus,textarea:focus,
.input:focus,.select:focus,.textarea:focus,.ieo-input:focus{
  border-color:rgba(56,189,248,.70) !important;
  box-shadow:0 0 0 4px rgba(56,189,248,.14), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
label,.input-label,.field-card label,.mini-label{
  color:#c9d8ed !important;
  font-weight:780 !important;
}

/* ===== Tables ===== */
table,.ieo-table,.fit-detail-table{
  border-collapse:separate !important;
  border-spacing:0 !important;
}
th,.ieo-table th,.fit-detail-table th{
  background:linear-gradient(180deg,rgba(30,41,59,.96),rgba(15,23,42,.96)) !important;
  color:#dbeafe !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase;
}
td,.ieo-table td,.fit-detail-table td{
  color:#dbe7f8 !important;
  border-color:rgba(148,163,184,.14) !important;
}
tr:hover td,.ieo-table tr:hover td{
  background:rgba(56,189,248,.045) !important;
}
.table-card,.ieo-table-wrap,.fit-table-wrap{
  overflow:auto;
  border-radius:20px !important;
  border-color:rgba(148,163,184,.22) !important;
}

/* ===== Button foundation ===== */
button,
.btn,
.btn-primary,
.btn-green,
.btn-danger,
.btn-action,
.action-btn,
.tab-btn,
.top-action,
.submit-main-btn,
.add-row-btn,
.group-create-btn,
.view-group-btn,
.group-cancel-btn,
.mini-link,
#sideNav a,
.sup-nav-btn,
.sup-quick-card,
.ieo-primary,
.ieo-secondary,
.ieo-danger-btn,
.ieo-nav,
.fm-nav button,
.fm-nav .nav-btn{
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;
  border-radius:15px !important;
  border:1px solid rgba(148,163,184,.22) !important;
  cursor:pointer;
  font-weight:850 !important;
  letter-spacing:.015em !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, filter .16s ease, background .16s ease !important;
  animation:none !important;
}

/* Button text outline: applied to letters only, not to the outer button box. */
button,
button span,
button small,
button b,
button strong,
.btn,
.btn span,
.btn small,
.btn b,
.btn strong,
.btn-primary,
.btn-green,
.btn-danger,
.btn-action,
.action-btn,
.tab-btn,
.tab-btn span,
.top-action,
.top-action span,
.top-action small,
.submit-main-btn,
.submit-main-btn span,
.add-row-btn,
.add-row-btn span,
.group-create-btn,
.view-group-btn,
.mini-link,
.ieo-primary,
.ieo-secondary,
.ieo-danger-btn,
.ieo-nav,
.ieo-nav span,
#sideNav a,
#sideNav a span,
.sup-nav-btn,
.sup-nav-btn span,
.sup-nav-btn small,
.sup-quick-card,
.sup-quick-card b,
.sup-quick-card small,
.fm-nav button,
.fm-nav .nav-btn{
  -webkit-text-stroke:.24px var(--ui-button-text-edge) !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,.12),
    0 1.5px 2px rgba(2,6,23,.58) !important;
}

button::before,
.btn::before,
.btn-primary::before,
.btn-green::before,
.btn-danger::before,
.btn-action::before,
.action-btn::before,
.tab-btn::before,
.top-action::before,
.submit-main-btn::before,
.add-row-btn::before,
.ieo-primary::before,
.ieo-secondary::before,
.ieo-danger-btn::before,
.sup-nav-btn::before,
.sup-quick-card::before,
#sideNav a::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.16),transparent 42%,rgba(0,0,0,.14));
  pointer-events:none;
  opacity:.9;
}

button::after,
.btn::after,
.btn-primary::after,
.btn-green::after,
.btn-danger::after,
.btn-action::after,
.action-btn::after,
.tab-btn::after,
.top-action::after,
.submit-main-btn::after,
.add-row-btn::after,
.ieo-primary::after,
.ieo-secondary::after,
.ieo-danger-btn::after,
.sup-nav-btn::after,
.sup-quick-card::after,
#sideNav a::after{
  content:"";
  position:absolute;
  top:-45%;
  left:-35%;
  width:42%;
  height:190%;
  z-index:-1;
  transform:rotate(22deg) translateX(-140%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transition:transform .46s ease;
  pointer-events:none;
}
button:hover::after,
.btn:hover::after,
.btn-primary:hover::after,
.btn-green:hover::after,
.btn-danger:hover::after,
.btn-action:hover::after,
.action-btn:hover::after,
.tab-btn:hover::after,
.top-action:hover::after,
.submit-main-btn:hover::after,
.add-row-btn:hover::after,
.ieo-primary:hover::after,
.ieo-secondary:hover::after,
.ieo-danger-btn:hover::after,
.sup-nav-btn:hover::after,
.sup-quick-card:hover::after,
#sideNav a:hover::after{transform:rotate(22deg) translateX(360%);}

button:hover,
.btn:hover,
.btn-primary:hover,
.btn-green:hover,
.btn-danger:hover,
.btn-action:hover,
.action-btn:hover,
.tab-btn:hover,
.top-action:hover,
.submit-main-btn:hover,
.add-row-btn:hover,
.ieo-primary:hover,
.ieo-secondary:hover,
.ieo-danger-btn:hover,
.sup-nav-btn:hover,
.sup-quick-card:hover,
#sideNav a:hover{
  transform:translateY(-2px) !important;
  filter:saturate(1.08) brightness(1.05) !important;
  border-color:rgba(125,211,252,.38) !important;
  box-shadow:0 16px 34px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.04) inset !important;
}
button:active,
.btn:active,
.btn-primary:active,
.btn-green:active,
.btn-danger:active,
.btn-action:active,
.action-btn:active,
.tab-btn:active,
.top-action:active,
.submit-main-btn:active,
.add-row-btn:active,
.ieo-primary:active,
.ieo-secondary:active,
.ieo-danger-btn:active,
.sup-nav-btn:active,
.sup-quick-card:active,
#sideNav a:active{
  transform:translateY(0) scale(.99) !important;
  box-shadow:inset 0 2px 10px rgba(0,0,0,.24) !important;
}
button:focus-visible,
.btn:focus-visible,
#sideNav a:focus-visible,
.sup-nav-btn:focus-visible,
.ieo-nav:focus-visible{
  outline:3px solid rgba(56,189,248,.40) !important;
  outline-offset:3px !important;
}

/* ===== Button color system ===== */
.btn-primary,.top-action.primary,.submit-main-btn,.add-row-btn,.group-create-btn,.ieo-primary,.tab-btn.active,
#sideNav a.active,.sup-nav-btn.active,.ieo-nav.active{
  background:linear-gradient(135deg,#2563eb,#7c3aed 58%,#06b6d4) !important;
  color:#fff !important;
  border-color:rgba(191,219,254,.34) !important;
  box-shadow:0 16px 36px rgba(37,99,235,.26), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.btn-green,.btn-action.btn-unblock,.st-approved,.st-posted{
  background:linear-gradient(135deg,#059669,#10b981,#0e7490) !important;
  color:#ecfdf5 !important;
  border-color:rgba(167,243,208,.34) !important;
}
.btn-danger,.top-action.danger,.btn-action.btn-delete,.ieo-danger-btn,.ieo-nav.ieo-danger{
  background:linear-gradient(135deg,#b91c1c,#ef4444,#7f1d1d) !important;
  color:#fff7f7 !important;
  border-color:rgba(254,202,202,.34) !important;
}
.btn,.ieo-secondary,.btn-action,.action-btn,.mini-link,.tab-btn,#sideNav a,.sup-nav-btn,.sup-quick-card,.group-cancel-btn{
  background:linear-gradient(135deg,rgba(30,41,59,.92),rgba(15,23,42,.88)) !important;
  color:#eaf2ff !important;
}
.btn-action.btn-edit{
  background:linear-gradient(135deg,#0f766e,#0891b2,#2563eb) !important;
  color:#ecfeff !important;
}
.btn-action.btn-block{
  background:linear-gradient(135deg,#b45309,#f59e0b,#7c2d12) !important;
  color:#fffbeb !important;
}
button:disabled,.btn:disabled,.top-action:disabled,.submit-main-btn:disabled,.ieo-primary:disabled{
  opacity:.58 !important;
  cursor:not-allowed !important;
  transform:none !important;
  box-shadow:none !important;
}

/* ===== Admin dashboard refinement ===== */
#appShell .p-3.md\:p-6{max-width:1780px;margin:0 auto;}
#sideNav a{
  min-height:42px;
  display:flex !important;
  align-items:center;
  gap:10px;
  padding:10px 12px !important;
  margin:4px 0;
}
#sideNav a .nav-icon{filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));}
.sidebar-brand .w-9{
  background:linear-gradient(135deg,#2563eb,#7c3aed,#06b6d4) !important;
  box-shadow:0 10px 25px rgba(37,99,235,.25);
}
#sec_home.panel{
  background:
    linear-gradient(145deg,rgba(15,23,42,.92),rgba(8,14,28,.90)),
    radial-gradient(circle at top right,rgba(56,189,248,.20),transparent 35%) !important;
}
.admin-home-stat-grid .admin-stat-card{
  min-height:118px;
  padding:18px !important;
}
.badge,.pill,.ieo-pill,.sup-user-chip{
  border:1px solid rgba(148,163,184,.22) !important;
  background:rgba(15,23,42,.74) !important;
  color:#dceaff !important;
  box-shadow:0 8px 20px rgba(0,0,0,.14) !important;
}

/* ===== Supervisor entry form refinement ===== */
.supervisor-dashboard-body .sup-dashboard-main{padding-bottom:42px;}
.supervisor-dashboard-body .sup-dashboard-topbar{
  border:1px solid rgba(148,163,184,.20) !important;
  background:linear-gradient(135deg,rgba(15,23,42,.72),rgba(8,14,28,.58)) !important;
  box-shadow:var(--ui-shadow-soft) !important;
  border-radius:26px !important;
  padding:18px !important;
}
.sup-page-eyebrow{color:#7dd3fc !important;font-weight:900 !important;letter-spacing:.06em !important;}
.hero-card{
  background:
    radial-gradient(circle at 100% 0%,rgba(56,189,248,.16),transparent 34%),
    linear-gradient(135deg,rgba(15,23,42,.94),rgba(10,18,33,.90)) !important;
}
.hero-step span{
  background:linear-gradient(135deg,#2563eb,#7c3aed) !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(37,99,235,.22);
}
.tabs-scroll{padding-bottom:8px;}
.tab-btn{
  min-height:46px;
  padding:10px 14px !important;
}
.tab-btn.active .tab-name,.tab-btn.active .tab-meta{color:#fff !important;}
.field-card{
  padding:13px !important;
}
.entry-grid input,.entry-grid select,.entry-grid textarea{
  min-height:43px !important;
}
.add-row-btn,.submit-main-btn{min-height:48px !important;}
.submit-main-btn{
  font-size:1rem !important;
  padding:14px 22px !important;
}

/* ===== IEO / FM page refinement ===== */
.ieo-topbar,.fm-topbar{
  padding:14px 16px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:24px;
  background:rgba(15,23,42,.58);
  box-shadow:var(--ui-shadow-soft);
}
.ieo-nav{min-height:44px;}
.ieo-stat{min-height:105px;}
.ieo-logo,.ieo-badge{
  background:linear-gradient(135deg,#2563eb,#7c3aed,#06b6d4) !important;
  box-shadow:0 14px 28px rgba(37,99,235,.24);
}

/* ===== Login pages ===== */
body:has(.ieo-login-card),
body:has(.login-card),
body:has(.admin-login-card){
  min-height:100vh;
}
.ieo-login-card,.login-card,.admin-login-card{
  padding:34px !important;
  max-width:460px;
}
.ieo-login-card h1,.login-card h1,.admin-login-card h1{font-size:1.65rem !important;}

/* ===== Light themes: keep text clean, but preserve button letter edge ===== */
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) body{
  background:linear-gradient(135deg,#eef7ff,#f8fafc 48%,#e0f2fe) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .panel,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .panel2,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .card,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-dash-card,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-stat-card,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .worker-panel,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .section-card,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .field-card,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .table-card{
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,246,255,.92)) !important;
  color:#102033 !important;
  border-color:rgba(71,85,105,.18) !important;
  box-shadow:0 18px 48px rgba(15,23,42,.10) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) h1,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) h2,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) h3,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .section-title{
  color:#0f172a !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) input,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) select,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) textarea,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .input,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .select,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .textarea{
  background:#ffffff !important;
  color:#0f172a !important;
  border-color:rgba(71,85,105,.22) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) label,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .input-label,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) p,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) small{
  color:#334155 !important;
}

@media (max-width:900px){
  .panel,.panel2,.card,.sup-dash-card,.ieo-card,.worker-panel,.section-card,.field-card,.table-card{border-radius:18px !important;}
  .sup-dashboard-topbar,.ieo-topbar,.fm-topbar{border-radius:18px !important;}
  button,.btn,.top-action,.submit-main-btn,.ieo-primary,.ieo-secondary{min-height:42px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}

/* ===== Phase 49C UI Issue Fixes: sidebar light mode, cleaner buttons, modal placement, login input boxes ===== */

/* 1) Keep button lettering clean: reduce the heavy text outline that made small labels noisy. */
button,
button span,
button small,
button b,
button strong,
.btn,
.btn span,
.btn small,
.btn b,
.btn strong,
.btn-primary,
.btn-green,
.btn-danger,
.btn-action,
.action-btn,
.tab-btn,
.tab-btn span,
.top-action,
.top-action span,
.top-action small,
.submit-main-btn,
.submit-main-btn span,
.add-row-btn,
.add-row-btn span,
.group-create-btn,
.view-group-btn,
.mini-link,
.ieo-primary,
.ieo-secondary,
.ieo-danger-btn,
.ieo-nav,
.ieo-nav span,
#sideNav a,
#sideNav a span,
.sup-nav-btn,
.sup-nav-btn span,
.sup-nav-btn small,
.sup-quick-card,
.sup-quick-card b,
.sup-quick-card small,
.fm-nav button,
.fm-nav .nav-btn{
  -webkit-text-stroke:.08px rgba(2,6,23,.40) !important;
  text-shadow:0 1px 1.5px rgba(2,6,23,.38) !important;
}

/* 2) Login double-border fix: wrapper owns the border; inner input stays clean. */
.field-wrap input,
.input-wrap input{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  outline:0 !important;
}
.field-wrap,
.input-wrap{
  border-width:1px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 24px rgba(2,6,23,.16) !important;
}

/* 3) System popup close button: global button rules were overriding absolute positioning. */
.app-popup-card{padding-top:30px !important;}
.app-popup-x{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  left:auto !important;
  transform:none !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  z-index:5 !important;
  font-size:20px !important;
  line-height:1 !important;
}
.app-popup-x::before,
.app-popup-x::after{display:none !important;content:none !important;}
.app-popup-icon{margin-top:2px !important;}

/* 4) Report View/Print sub-tabs: highlight the tab that is actually open. */
#sec_reports [data-rsub]{
  min-width:74px;
  padding:10px 18px !important;
}
#sec_reports [data-rsub].active{
  background:linear-gradient(135deg,#0ea5e9,#2563eb) !important;
  color:#ffffff !important;
  border-color:rgba(186,230,253,.55) !important;
  box-shadow:0 12px 28px rgba(14,165,233,.24), inset 0 1px 0 rgba(255,255,255,.25) !important;
}
#sec_reports [data-rsub]:not(.active){
  background:linear-gradient(135deg,rgba(30,41,59,.80),rgba(15,23,42,.72)) !important;
  color:#dbeafe !important;
}

/* 5) Reports table: reduce the harsh Excel-like look without changing the data. */
#rep_view .table th,
#rep_view .table td{
  padding:12px 14px !important;
  border-color:rgba(148,163,184,.18) !important;
  vertical-align:middle !important;
}
#rep_view .table thead th{
  position:sticky;
  top:0;
  z-index:2;
}
#rep_view .table tbody tr:nth-child(even) td{background:rgba(148,163,184,.025) !important;}
#rep_view .table input.input{min-height:38px !important;}
#rep_view .ieo-addon-row td{
  background:rgba(30,41,59,.72) !important;
  border-top:1px solid rgba(125,211,252,.22) !important;
}

/* 6) Light-mode sidebars: inactive tabs must be light; active tab is only slightly darker. */
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sidebar,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-sidebar,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-sidebar,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-sidebar{
  background:linear-gradient(180deg,#eaf7ff,#d9effb) !important;
  color:#0f172a !important;
  border-color:rgba(14,116,144,.18) !important;
  box-shadow:12px 0 30px rgba(14,116,144,.10) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sidebar *,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-sidebar *,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-sidebar *,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-sidebar *{
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sidebar-title,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-side-title,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .brand-title,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sidebar .text-white,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-sidebar b,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-sidebar b{
  color:#0f172a !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-side-sub,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .brand-sub,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sidebar-footer .muted{
  color:#475569 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav button{
  background:linear-gradient(135deg,#ffffff,#edf8ff) !important;
  color:#17324a !important;
  border-color:rgba(14,116,144,.18) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.80) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a .nav-label,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn small,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn small{
  color:#17324a !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav button.active{
  background:linear-gradient(135deg,#c7edff,#a9dff8) !important;
  color:#082f49 !important;
  border-color:rgba(2,132,199,.36) !important;
  box-shadow:0 12px 24px rgba(14,116,144,.16), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a.active .nav-label,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a.active span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn.active span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn.active small,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav.active span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn.active span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn.active small{
  color:#082f49 !important;
}

/* 7) Fitting Manager message/challan cards: make plain blocks read like cards. */
.job-card,
.message-card{
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:20px !important;
  background:linear-gradient(145deg,rgba(15,23,42,.76),rgba(8,15,30,.68)) !important;
  box-shadow:0 16px 36px rgba(2,6,23,.16) !important;
  padding:16px !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .job-card,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .message-card{
  background:linear-gradient(145deg,#ffffff,#f1f8ff) !important;
  color:#172033 !important;
  border-color:rgba(14,116,144,.18) !important;
  box-shadow:0 14px 30px rgba(15,23,42,.08) !important;
}
.message-preview{
  border:1px solid rgba(148,163,184,.18) !important;
  border-radius:14px !important;
  background:rgba(2,6,23,.20) !important;
  padding:12px !important;
  max-height:150px !important;
  overflow:auto !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .message-preview{
  background:#f8fbff !important;
  color:#172033 !important;
}


/* ===== Phase 49D: final theme fixes + supervisor date buttons ===== */
/* SL/code selected/no-selected panel follows the active theme instead of staying black in light mode. */
#selectedItemSummary{
  border-radius:18px !important;
  border:1px solid rgba(148,163,184,.22) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary{
  background:linear-gradient(135deg,#fffaf0,#f0f9ff) !important;
  border-color:rgba(251,146,60,.30) !important;
  box-shadow:0 12px 30px rgba(15,23,42,.08) !important;
  color:#172033 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .text-white,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .font-bold{
  color:#7c2d12 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .text-gray-400,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .text-gray-500{
  color:#7f5539 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .input{
  background:#ffffff !important;
  color:#0f172a !important;
  border-color:rgba(251,146,60,.26) !important;
}

/* System popup: readable title/message and a clear close X in every theme. */
.app-popup-card{
  padding-top:34px !important;
  text-align:center !important;
}
.app-popup-title{
  color:#f8fbff !important;
  opacity:1 !important;
  visibility:visible !important;
  font-weight:950 !important;
  text-shadow:none !important;
}
.app-popup-message{
  color:#e2e8f0 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.app-popup-x{
  color:#f8fbff !important;
  background:rgba(15,23,42,.92) !important;
  border-color:rgba(148,163,184,.36) !important;
  font-weight:900 !important;
  text-indent:0 !important;
  opacity:1 !important;
  box-shadow:0 8px 18px rgba(2,6,23,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.app-popup-x::before,
.app-popup-x::after{display:none !important;content:none !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-card{
  background:linear-gradient(145deg,#ffffff,#f1f8ff) !important;
  color:#0f172a !important;
  border-color:rgba(14,116,144,.22) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.22) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-title{
  color:#0f172a !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-message{
  color:#334155 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-x{
  color:#0f172a !important;
  background:#eaf7ff !important;
  border-color:rgba(14,116,144,.24) !important;
}

/* Reports View/Print subtabs: active/inactive text must match the current theme. */
#sec_reports [data-rsub]{
  border-radius:12px !important;
  text-transform:uppercase !important;
  letter-spacing:.025em !important;
  -webkit-text-stroke:0 !important;
}
#sec_reports [data-rsub].active{
  background:linear-gradient(135deg,#0ea5e9,#2563eb) !important;
  color:#ffffff !important;
  text-shadow:none !important;
}
#sec_reports [data-rsub]:not(.active){
  background:linear-gradient(135deg,rgba(15,23,42,.90),rgba(30,41,59,.82)) !important;
  color:#e2e8f0 !important;
  text-shadow:none !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sec_reports [data-rsub].active{
  background:linear-gradient(135deg,#38bdf8,#0ea5e9) !important;
  color:#082f49 !important;
  border-color:rgba(14,165,233,.40) !important;
  box-shadow:0 10px 22px rgba(14,165,233,.18), inset 0 1px 0 rgba(255,255,255,.60) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sec_reports [data-rsub]:not(.active){
  background:linear-gradient(135deg,#ffffff,#edf8ff) !important;
  color:#7c2d12 !important;
  border-color:rgba(251,146,60,.22) !important;
  box-shadow:0 7px 16px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.78) !important;
}

/* Supervisor option-B date buttons. */
.supervisor-date-choice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:12px;
  margin-bottom:12px;
  border-radius:20px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(15,23,42,.40);
}
.date-choice-copy{display:flex;flex-direction:column;gap:2px;min-width:190px;}
.date-choice-copy strong{font-size:13px;font-weight:950;color:#eaf2ff;letter-spacing:.03em;text-transform:uppercase;}
.date-choice-copy span{font-size:12px;color:#9fb2cc;line-height:1.35;}
.date-choice-copy em{font-style:normal;color:#7dd3fc;}
.date-choice-actions{display:flex;gap:8px;flex-wrap:wrap;}
.entry-date-btn{
  min-width:116px;
  padding:10px 14px !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,rgba(30,41,59,.86),rgba(15,23,42,.80)) !important;
  color:#dbeafe !important;
  border:1px solid rgba(148,163,184,.24) !important;
  box-shadow:0 8px 18px rgba(2,6,23,.15) !important;
  font-weight:950 !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}
.entry-date-btn small{display:block;margin-top:2px;font-size:11px;font-weight:800;color:inherit;opacity:.86;}
.entry-date-btn.active{
  background:linear-gradient(135deg,#38bdf8,#2563eb) !important;
  color:#ffffff !important;
  border-color:rgba(186,230,253,.42) !important;
  box-shadow:0 12px 24px rgba(37,99,235,.22) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .supervisor-date-choice{
  background:linear-gradient(135deg,#ffffff,#eff8ff) !important;
  border-color:rgba(14,116,144,.18) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .date-choice-copy strong{color:#0f172a !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .date-choice-copy span{color:#475569 !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .date-choice-copy em{color:#0369a1 !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .entry-date-btn{
  background:linear-gradient(135deg,#ffffff,#edf8ff) !important;
  color:#17324a !important;
  border-color:rgba(14,116,144,.18) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .entry-date-btn.active{
  background:linear-gradient(135deg,#c7edff,#a9dff8) !important;
  color:#082f49 !important;
  border-color:rgba(2,132,199,.36) !important;
}

/* ===== Phase 49F: stability + theme consistency pack ===== */
/* 1) Keep light-mode sidebars light. Only the active tab is lightly darkened. */
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav button,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav{
  background:linear-gradient(135deg,#ffffff,#f2f8ff) !important;
  color:#153047 !important;
  border:1px solid rgba(14,116,144,.14) !important;
  box-shadow:0 7px 16px rgba(15,23,42,.055), inset 0 1px 0 rgba(255,255,255,.90) !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
  -webkit-text-fill-color:currentColor !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a .nav-label,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn small,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn small,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav{
  color:#153047 !important;
  -webkit-text-fill-color:currentColor !important;
  text-shadow:none !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav button.active,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav.active{
  background:linear-gradient(135deg,#d8efff,#bde5fa) !important;
  color:#082f49 !important;
  border-color:rgba(2,132,199,.32) !important;
  box-shadow:0 10px 22px rgba(2,132,199,.13), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a.active span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sideNav a.active .nav-label,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn.active span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .sup-nav-btn.active small,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn.active span,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .fm-nav .nav-btn.active small,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav.active{
  color:#082f49 !important;
  -webkit-text-fill-color:currentColor !important;
}

/* 2) Cleaner button typography. Text remains readable; no heavy letter border. */
.btn,.btn-primary,.btn-green,.btn-danger,.btn-warn,.top-action,.action-btn,.btn-action,.mini-link,
.submit-main-btn,.entry-date-btn,.sup-quick-card,#sideNav a,.sup-nav-btn,.fm-nav .nav-btn,.ieo-nav,
.login-container button[type="submit"],#supervisorLoginBtn,#adminLoginBtn{
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
  letter-spacing:.02em !important;
}
.btn-primary,.top-action.primary,.submit-main-btn,.btn-green,.btn-danger,.btn-warn,
.login-container button[type="submit"],#supervisorLoginBtn,#adminLoginBtn{
  text-shadow:0 1px 1px rgba(0,0,0,.24) !important;
}

/* 3) Admin/Supervisor login: one visible input box only, not wrapper + inner input border. */
.field-wrap input,
.input-wrap input{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.field-wrap,
.input-wrap{
  overflow:hidden !important;
  border-width:1px !important;
}
.field-wrap .ghost-toggle,
.input-wrap .small-toggle{
  flex:0 0 auto !important;
}

/* 4) SL/Code no-item panel follows theme and stays readable. */
#selectedItemSummary{
  color:var(--theme-text, #e2e8f0) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary{
  background:linear-gradient(135deg,#ffffff,#eef8ff) !important;
  border:1px solid rgba(14,116,144,.20) !important;
  color:#143047 !important;
  box-shadow:0 14px 34px rgba(15,23,42,.08) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary *{
  text-shadow:none !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .text-white,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .font-bold{
  color:#082f49 !important;
  -webkit-text-fill-color:#082f49 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .text-gray-400,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary .text-gray-500,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary p,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #selectedItemSummary small{
  color:#475569 !important;
  -webkit-text-fill-color:#475569 !important;
}

/* 5) App popup/modal readability and proper close X placement. */
.app-popup-card{
  position:relative !important;
  padding:28px 24px 22px !important;
  border-radius:24px !important;
  overflow:visible !important;
}
.app-popup-x{
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  line-height:1 !important;
  font-size:24px !important;
  font-weight:900 !important;
  text-align:center !important;
  text-indent:0 !important;
  z-index:3 !important;
}
.app-popup-title{color:#f8fafc !important;font-weight:950 !important;opacity:1 !important;}
.app-popup-message{color:#dbeafe !important;font-weight:650 !important;opacity:1 !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-card{
  background:linear-gradient(145deg,#ffffff,#eff8ff) !important;
  color:#0f172a !important;
  border:1px solid rgba(14,116,144,.20) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-title{color:#0f172a !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-message{color:#334155 !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .app-popup-x{
  background:#e6f5ff !important;
  color:#0f172a !important;
  border:1px solid rgba(14,116,144,.22) !important;
}

/* 6) Reports View/Print theme-matched sub tabs. */
#sec_reports [data-rsub]{
  min-width:78px !important;
  border-radius:12px !important;
  font-weight:900 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}
#sec_reports [data-rsub].active{
  background:linear-gradient(135deg,var(--theme-accent,#0ea5e9),var(--theme-accent2,#2563eb)) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:color-mix(in srgb,var(--theme-accent,#0ea5e9) 52%, transparent) !important;
}
#sec_reports [data-rsub]:not(.active){
  background:color-mix(in srgb,var(--theme-panel2,#101827) 92%, #ffffff 8%) !important;
  color:var(--theme-text,#e2e8f0) !important;
  -webkit-text-fill-color:var(--theme-text,#e2e8f0) !important;
  border-color:var(--theme-border,rgba(148,163,184,.22)) !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sec_reports [data-rsub].active{
  background:linear-gradient(135deg,#c9edff,#9bdcf7) !important;
  color:#082f49 !important;
  -webkit-text-fill-color:#082f49 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) #sec_reports [data-rsub]:not(.active){
  background:linear-gradient(135deg,#ffffff,#f1f8ff) !important;
  color:#254155 !important;
  -webkit-text-fill-color:#254155 !important;
}

/* 7) Supervisor Today / Yesterday buttons: clearer active state and better hit area. */
.entry-date-btn{cursor:pointer !important; user-select:none !important; min-height:54px !important;}
.entry-date-btn.active{transform:translateY(-1px) !important;}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .entry-date-btn:not(.active){
  background:linear-gradient(135deg,#ffffff,#f4fbff) !important;
  color:#163247 !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .entry-date-btn.active{
  background:linear-gradient(135deg,#caedff,#9eddf8) !important;
  color:#082f49 !important;
}

/* 8) Light-theme table readability polish. */
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) table,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) tbody,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) td{
  color:#1e293b !important;
}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) thead,
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) th{
  color:#0f172a !important;
}

/* 9) FM/IEO card polish without changing logic. */
.fm-card,.fm-challan-card,.message-card,.ieo-card,.ieo-panel-card{
  border-radius:20px !important;
}
.fm-nav .nav-btn,.ieo-nav,.sup-nav-btn,#sideNav a{transition:background .18s ease, transform .14s ease, box-shadow .18s ease !important;}
.fm-nav .nav-btn:hover,.ieo-nav:hover,.sup-nav-btn:hover,#sideNav a:hover{transform:translateX(1px) !important;}

/* Phase 50A - Admin Review Queue */
.review-summary-grid .panel2 { min-height: 82px; }
.review-queue-list { display: grid; gap: 12px; }
.review-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: stretch;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  background: rgba(15, 23, 42, .36);
  box-shadow: 0 10px 30px rgba(2, 6, 23, .18);
}
html[data-theme="light"] .review-item,
body.light .review-item,
.light .review-item {
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(239,246,255,.82));
  border-color: rgba(37, 99, 235, .16);
  box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}
.review-topline { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:8px; }
.review-type-pill,
.review-status-pill,
.review-amount {
  display:inline-flex; align-items:center; justify-content:center;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .02em;
  border: 1px solid rgba(148,163,184,.28);
}
.review-type-pill { background: rgba(59,130,246,.13); color: #bfdbfe; }
.review-status-pill { background: rgba(148,163,184,.12); color: #e5e7eb; }
.review-status-pill.warn { background: rgba(245,158,11,.16); color: #fde68a; border-color: rgba(245,158,11,.35); }
.review-status-pill.ok { background: rgba(34,197,94,.16); color: #bbf7d0; border-color: rgba(34,197,94,.35); }
.review-status-pill.bad { background: rgba(239,68,68,.16); color: #fecaca; border-color: rgba(239,68,68,.35); }
.review-amount { background: rgba(16,185,129,.14); color: #a7f3d0; border-color: rgba(16,185,129,.35); }
.review-item h5 { margin:0 0 4px; font-weight: 850; font-size: 15px; }
.review-subtitle, .review-details, .review-reason, .review-time { margin: 4px 0 0; font-size: 12px; color: rgba(226,232,240,.72); }
.review-reason { color: rgba(226,232,240,.86); }
.review-time { font-size: 11px; opacity: .76; }
.review-actions { display:flex; flex-direction:column; gap:8px; min-width: 112px; justify-content:center; align-items:stretch; }
.review-actions .btn { min-height: 34px; padding: 7px 12px; font-size: 12px; }
.review-actions .btn.danger { background: linear-gradient(135deg, #ef4444, #b91c1c); color:#fff; }
html[data-theme="light"] .review-type-pill,
body.light .review-type-pill,
.light .review-type-pill { background: rgba(37,99,235,.10); color:#1d4ed8; }
html[data-theme="light"] .review-status-pill,
body.light .review-status-pill,
.light .review-status-pill { color:#334155; background:rgba(100,116,139,.10); }
html[data-theme="light"] .review-status-pill.warn,
body.light .review-status-pill.warn,
.light .review-status-pill.warn { color:#92400e; background:rgba(245,158,11,.14); }
html[data-theme="light"] .review-status-pill.ok,
body.light .review-status-pill.ok,
.light .review-status-pill.ok { color:#166534; background:rgba(34,197,94,.12); }
html[data-theme="light"] .review-status-pill.bad,
body.light .review-status-pill.bad,
.light .review-status-pill.bad { color:#991b1b; background:rgba(239,68,68,.12); }
html[data-theme="light"] .review-amount,
body.light .review-amount,
.light .review-amount { color:#047857; background:rgba(16,185,129,.12); }
html[data-theme="light"] .review-subtitle,
html[data-theme="light"] .review-details,
html[data-theme="light"] .review-time,
body.light .review-subtitle,
body.light .review-details,
body.light .review-time,
.light .review-subtitle,
.light .review-details,
.light .review-time { color:#64748b; }
html[data-theme="light"] .review-reason,
body.light .review-reason,
.light .review-reason { color:#334155; }
@media (max-width: 760px) {
  .review-item { grid-template-columns: 1fr; }
  .review-actions { flex-direction: row; min-width: 0; }
  .review-actions .btn { flex:1; }
}

/* Phase 50A - supervisor correction request button */
.correction-request-btn {
  border-radius: 12px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 850;
  background: linear-gradient(135deg, rgba(99,102,241,.95), rgba(37,99,235,.95));
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 8px 18px rgba(37,99,235,.22);
}
.correction-request-btn:hover { transform: translateY(-1px); filter: brightness(1.04); }

/* Phase 50B: IEO Bengali helper labels + dropdown contrast loaded after global theme CSS */
.bn-inline{font-size:.78em!important;font-weight:800!important;color:#7dd3fc!important;letter-spacing:0!important;text-transform:none!important}.bn-help{display:inline-block!important;margin-top:3px!important;color:#a7f3d0!important;font-size:12px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;line-height:1.35!important}.bn-label{display:block!important;margin-top:2px!important;color:#86efac!important;font-size:12px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;line-height:1.25!important}.btn-bn{display:block!important;font-size:11px!important;line-height:1.05!important;margin-top:2px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;opacity:.92!important}.th-bn{display:block!important;margin-top:2px!important;font-size:11px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important;color:#93c5fd!important;line-height:1.15!important}.ieo-stat em{display:block!important;margin-top:2px!important;font-style:normal!important;color:#93c5fd!important;font-size:11px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important}.ieo-nav{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}.ieo-nav span{display:block!important}.ieo-nav small{display:block!important;color:#9fb0c8!important;font-size:11px!important;font-weight:800!important;line-height:1.1!important}.ieo-brand .bn-help{display:block!important;margin:0 0 2px!important}.ieo-brand p span{color:#a7f3d0!important;font-weight:800!important}.ieo-input option{background:#0f1b2d!important;color:#e5edf7!important}.ieo-input optgroup{background:#0f1b2d!important;color:#cbd5e1!important}.ieo-line-builder select.ieo-input{color:#e5edf7!important;background:#07111f!important}
html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .bn-inline,body.light .bn-inline,.light .bn-inline{color:#0369a1!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .bn-help,body.light .bn-help,.light .bn-help{color:#047857!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .bn-label,body.light .bn-label,.light .bn-label{color:#047857!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .th-bn,body.light .th-bn,.light .th-bn{color:#0e7490!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-stat em,body.light .ieo-stat em,.light .ieo-stat em{color:#0e7490!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav small,body.light .ieo-nav small,.light .ieo-nav small{color:#475569!important}.ieo-nav.active small{color:#dbeafe!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-nav.active small,body.light .ieo-nav.active small,.light .ieo-nav.active small{color:#075985!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-input option,body.light .ieo-input option,.light .ieo-input option{background:#ffffff!important;color:#0f172a!important}html[data-theme]:not([data-theme="dark"]):not([data-theme="cyber"]) .ieo-line-builder select.ieo-input,body.light .ieo-line-builder select.ieo-input,.light .ieo-line-builder select.ieo-input{background:#ffffff!important;color:#0f172a!important}
@media(max-width:900px){.btn-bn{display:inline!important;margin-left:4px!important}.ieo-nav{align-items:center!important;text-align:center!important}.ieo-nav small{font-size:10px!important}}
