:root{--bg:#0d1117;--panel:#161b22;--panel2:#1d2430;--text:#e6edf3;--muted:#8b949e;--line:#30363d;--accent:#6aa6ff;--danger:#ff7b72;--ok:#7ee787;--warn:#f2cc60;--shadow:0 20px 60px rgba(0,0,0,.35)}
*{box-sizing:border-box} body{margin:0;background:linear-gradient(135deg,#08111f,#111827 45%,#0d1117);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif} button,input,select,textarea{font:inherit} button{cursor:pointer;border:0;border-radius:12px;padding:11px 16px;background:var(--accent);color:#061224;font-weight:700} button.secondary{background:#263244;color:var(--text);border:1px solid var(--line)} button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)} button.danger{color:var(--danger)} button:hover{filter:brightness(1.08)}
.login-view{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:rgba(22,27,34,.92);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:32px}.brand-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#6aa6ff,#7ee787);color:#07111f;display:grid;place-items:center;font-weight:900;letter-spacing:.5px}.brand-mark.small{width:40px;height:40px;border-radius:13px}.login-card h1{margin:18px 0 4px;font-size:28px}.muted{color:var(--muted);margin:4px 0 16px}.small-text{font-size:12px}.error{color:var(--danger);margin-top:12px}.hidden{display:none!important}
label{display:block;color:#c9d1d9;font-weight:650;margin-bottom:14px} input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:#0d1117;color:var(--text);border-radius:12px;padding:12px;outline:none} textarea{resize:vertical} input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(106,166,255,.12)}
.app{display:flex;min-height:100vh}.sidebar{width:270px;background:rgba(13,17,23,.96);border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:10px;position:sticky;top:0;height:100vh}.sidebar.min{width:86px}.sidebar.min .side-head div:not(.brand-mark),.sidebar.min .nav,.sidebar.min .side-footer button{font-size:0}.sidebar.min .nav::first-letter,.sidebar.min .side-footer button::first-letter{font-size:14px}.side-head{display:flex;gap:12px;align-items:center;margin-bottom:20px}.side-head small{display:block;color:var(--muted)}.nav{background:transparent;border:1px solid transparent;color:var(--muted);text-align:left}.nav.active,.nav:hover{background:var(--panel2);border-color:var(--line);color:var(--text)}.side-footer{margin-top:auto;display:grid;gap:10px}.main{flex:1;min-width:0}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line);background:rgba(13,17,23,.55);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.topbar h2{margin:0;font-size:24px}.status-pill,.badge{border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:var(--panel2);color:var(--muted)}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}
.page{display:none;padding:28px}.active-page{display:block}.grid.two{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:22px}.panel{background:rgba(22,27,34,.92);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h3{margin:0}.row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.internet-box{border:1px dashed #3f5066;background:#111827;border-radius:16px;padding:14px;margin:10px 0 16px}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto;margin:0}.actions{display:flex;gap:10px;align-items:center}.empty{border:1px dashed var(--line);border-radius:16px;padding:28px;color:var(--muted);text-align:center}.output article{border-bottom:1px solid var(--line);padding:14px 0}.output article:last-child{border-bottom:0}.output h4{margin:0 0 8px;color:#dbeafe}.caption{white-space:pre-wrap;background:#0d1117;border:1px solid var(--line);border-radius:14px;padding:14px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{background:#263244;border:1px solid var(--line);padding:6px 10px;border-radius:999px;color:#dbeafe}.slides{display:grid;gap:10px}.slide{background:#0d1117;border:1px solid var(--line);border-radius:14px;padding:12px}.slide strong{display:block;margin-bottom:4px}.table-wrap{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:14px} table{width:100%;border-collapse:collapse;min-width:900px} th,td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left} th{position:sticky;top:0;background:#111827;z-index:1} td.nowrap{white-space:nowrap}.json-block{background:#0d1117;border:1px solid var(--line);border-radius:14px;padding:16px;max-height:70vh;overflow:auto;color:#d1e7ff}.mini-btn{padding:7px 10px;border-radius:10px;font-size:12px;margin-right:6px}.approved{color:var(--ok)}.draft{color:var(--warn)}
@media(max-width:1100px){.grid.two{grid-template-columns:1fr}.sidebar{position:fixed;left:0;z-index:30;transform:translateX(-100%)}.sidebar.open{transform:none}.main{width:100%}.topbar{position:relative}.row.two-col{grid-template-columns:1fr}}


/* HOTFIX_LONG_CAPTION_SCROLL_04062026 */
.output-panel{
  max-height:calc(100vh - 170px);
  overflow-y:auto;
}

.output .caption{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.output .caption.caption-main{
  max-height:520px;
  min-height:220px;
  overflow-y:auto;
  line-height:1.65;
  padding-right:18px;
}

.output .caption.caption-short{
  max-height:180px;
  overflow-y:auto;
}

.output-panel::-webkit-scrollbar,
.output .caption.caption-main::-webkit-scrollbar{
  width:10px;
}

.output-panel::-webkit-scrollbar-thumb,
.output .caption.caption-main::-webkit-scrollbar-thumb{
  background:#30363d;
  border-radius:999px;
}

@media(max-width:1100px){
  .output-panel{
    max-height:none;
  }
}


/* === UI CLEAN v001j 10062026 === */
.primary-cta{
  width:100%;
  margin:0 0 8px;
  background:linear-gradient(135deg,#7ee787,#6aa6ff);
  color:#07111f;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.primary-cta::before{content:"+";font-weight:900;font-size:18px}

.grid.two{grid-template-columns:1fr!important}
.output-panel.workspace-panel{min-height:calc(100vh - 160px)}
.workspace-head{align-items:flex-start}
.head-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.hero-empty{
  min-height:430px;
  border:1px dashed var(--line);
  border-radius:20px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:34px;
  background:radial-gradient(circle at center,rgba(106,166,255,.10),transparent 42%),linear-gradient(180deg,rgba(29,36,48,.55),rgba(13,17,23,.35));
}
.hero-card{max-width:560px}
.hero-icon{
  width:56px;height:56px;margin:0 auto 16px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(106,166,255,.24),rgba(126,231,135,.18));
  border:1px solid var(--line);
  font-size:26px;
}
.hero-empty h3{margin:0 0 8px;font-size:26px}
.output{
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  background:linear-gradient(180deg,#101722,#0d1117);
  font-size:15px;
}
.caption{
  white-space:pre-wrap!important;
  line-height:1.8!important;
  color:#d5deea;
  background:#0b111a;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  max-height:none!important;
  overflow:visible!important;
}
.slides{display:grid;gap:12px}
.slide{border:1px solid var(--line);background:#111827;border-radius:14px;padding:14px}
.slide strong{display:block;margin-bottom:6px;color:#eef6ff}
.slide span{line-height:1.65}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:#172131;color:#dbeafe}

/* Drawer */
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(2,6,23,.58);backdrop-filter:blur(5px);
  opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:40;
}
.drawer-backdrop.show{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;right:-1180px;
  width:min(1180px,calc(100vw - 96px));
  height:100vh;background:rgba(13,17,23,.985);
  border-left:1px solid var(--line);box-shadow:var(--shadow);
  z-index:41;display:flex;flex-direction:column;transition:right .22s ease;
}
.drawer.open{right:0}
.drawer-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding:24px 30px;min-height:112px;border-bottom:1px solid var(--line);
  background:rgba(13,17,23,.94);position:sticky;top:0;z-index:2;
}
.drawer-head h3{margin:0 0 6px;font-size:22px;letter-spacing:-.02em}
.drawer-head .muted{margin-bottom:0}
.drawer-body{padding:24px 30px 120px;overflow:auto}
.drawer .form-panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.drawer .row.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:22px!important}
.drawer label{margin-bottom:18px!important}
.drawer input,.drawer select,.drawer textarea{padding:15px 16px!important;border-radius:14px!important;font-size:15px!important}
.drawer textarea#points{min-height:230px!important}
.drawer textarea#imageDescription,.drawer textarea#manualEvidence{min-height:130px!important}
.drawer .internet-box{margin-top:6px!important;padding:18px!important;border-radius:18px!important}
.drawer .sticky-actions{
  position:sticky!important;bottom:-120px!important;margin-left:-30px!important;margin-right:-30px!important;
  padding:18px 30px 24px!important;
  background:linear-gradient(180deg,rgba(13,17,23,0),rgba(13,17,23,.96) 24%,rgba(13,17,23,1))!important;
  border-top:1px solid rgba(48,54,61,.65)!important;display:flex!important;gap:12px!important;z-index:5!important;
}
.drawer .sticky-actions button{min-width:150px!important;height:48px!important}
.close-btn{width:48px!important;height:48px!important;border-radius:16px!important;font-size:18px!important}

/* Sidebar minimized */
.sidebar{overflow:visible!important;transition:width .22s ease,padding .22s ease}
.sidebar:not(.min) .nav{display:flex;align-items:center;gap:10px}
.sidebar:not(.min) #navCreate::before{content:"⌂";font-weight:900}
.sidebar:not(.min) #navDrafts::before{content:"▦";font-weight:900}
.sidebar:not(.min) #navAudit::before{content:"✓";font-weight:900}
.sidebar:not(.min) #navEngine::before{content:"⚙";font-weight:900}
.sidebar.min{
  width:82px!important;padding:14px 10px!important;align-items:center!important;gap:10px!important;overflow:visible!important;
}
.sidebar.min .side-head{width:100%!important;display:flex!important;justify-content:center!important;margin-bottom:12px!important}
.sidebar.min .side-head > div:not(.brand-mark){display:none!important}
.sidebar.min .brand-mark.small{width:46px!important;height:46px!important;border-radius:16px!important;font-size:14px!important}
.sidebar.min .primary-cta,.sidebar.min .nav,.sidebar.min .side-footer button{
  width:54px!important;height:54px!important;min-width:54px!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center!important;text-align:center!important;border-radius:17px!important;
  font-size:0!important;line-height:1!important;overflow:visible!important;position:relative!important;
}
.sidebar.min #openCreateDrawer::before{content:"+"!important;font-size:25px!important}
.sidebar.min #navCreate::before{content:"⌂"!important;font-size:20px!important}
.sidebar.min #navDrafts::before{content:"▦"!important;font-size:20px!important}
.sidebar.min #navAudit::before{content:"✓"!important;font-size:20px!important}
.sidebar.min #navEngine::before{content:"⚙"!important;font-size:20px!important}
.sidebar.min #toggleSidebar::before{content:"⇥"!important;font-size:20px!important}
.sidebar.min #logoutBtn::before{content:"⏻"!important;font-size:20px!important;color:var(--danger)!important}
.sidebar.min .nav.active{background:rgba(106,166,255,.12)!important;border-color:rgba(106,166,255,.32)!important;color:#dbeafe!important}
.sidebar.min .nav.active::after{
  content:"";position:absolute;left:-10px;top:15px;width:4px;height:24px;border-radius:999px;
  background:linear-gradient(180deg,#7ee787,#6aa6ff);
}

/* Floating tooltip */
[data-tip]::before,[data-tip]::after{display:none!important}
.app-tooltip{
  position:fixed;z-index:2147483000;max-width:360px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(148,163,184,.28);background:rgba(11,18,32,.98);color:#e6edf3;
  box-shadow:0 18px 50px rgba(0,0,0,.52);font-size:12px;line-height:1.45;font-weight:650;
  pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;
}
.app-tooltip.show{opacity:1;transform:translateY(0)}
.helper-dot{
  display:inline-grid;place-items:center;width:17px;height:17px;margin-left:7px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:900;vertical-align:middle;background:#111827;
}
label:hover .helper-dot,label:focus-within .helper-dot{color:#dbeafe;border-color:var(--accent)}

.login-hint{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.45}
#loginForm button[disabled]{opacity:.72;cursor:wait}
#loginError{min-height:22px;padding-top:4px;font-weight:700}

.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:16px;background:#0d1117}
table{width:100%;border-collapse:collapse;min-width:980px}
th,td{border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}
th{text-align:left;color:#dbeafe;font-size:13px;background:#111827;position:sticky;top:0;z-index:1}
td pre{white-space:pre-wrap;word-break:break-word;margin:0;max-width:520px}
.nowrap{white-space:nowrap}

@media(max-width:900px){
  .drawer{width:100vw!important;right:-100vw!important}
  .drawer.open{right:0!important}
  .drawer .row.two-col{grid-template-columns:1fr!important;gap:0!important}
  .drawer-head{padding:18px!important}
  .drawer-body{padding:18px 18px 120px!important}
  .drawer .sticky-actions{margin-left:-18px!important;margin-right:-18px!important;padding-left:18px!important;padding-right:18px!important}
}
/* === END UI CLEAN v001j 10062026 === */


/* === SIDEBAR ICON HARD FIX v001k === */

/* Stop relying on pseudo-element icons */
.sidebar .primary-cta::before,
.sidebar .nav::before,
.sidebar .side-footer button::before,
.sidebar.min .primary-cta::before,
.sidebar.min .nav::before,
.sidebar.min .side-footer button::before{
  content:none!important;
  display:none!important;
}

/* Real icon structure */
.sidebar .nav-ico{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:22px!important;
  height:22px!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:900!important;
}

.sidebar .nav-label{
  display:inline-block!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:750!important;
}

/* Expanded sidebar */
.sidebar:not(.min) .primary-cta,
.sidebar:not(.min) .nav,
.sidebar:not(.min) .side-footer button{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  font-size:14px!important;
  text-align:left!important;
}

.sidebar:not(.min) .primary-cta{
  justify-content:center!important;
}

/* Minimized rail */
.sidebar.min{
  width:82px!important;
  padding:14px 10px!important;
  align-items:center!important;
  overflow:visible!important;
}

.sidebar.min .side-head{
  width:100%!important;
  justify-content:center!important;
  margin-bottom:12px!important;
}

.sidebar.min .side-head > div:not(.brand-mark){
  display:none!important;
}

.sidebar.min .brand-mark.small{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
}

.sidebar.min .primary-cta,
.sidebar.min .nav,
.sidebar.min .side-footer button{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  border-radius:17px!important;
  font-size:0!important;
  line-height:1!important;
  overflow:visible!important;
  position:relative!important;
}

.sidebar.min .nav-label{
  display:none!important;
}

.sidebar.min .nav-ico{
  width:54px!important;
  height:54px!important;
  font-size:21px!important;
  line-height:1!important;
}

.sidebar.min #openCreateDrawer .nav-ico{
  font-size:26px!important;
}

.sidebar.min #logoutBtn .nav-ico{
  color:var(--danger)!important;
}

.sidebar.min .nav.active{
  background:rgba(106,166,255,.12)!important;
  border-color:rgba(106,166,255,.32)!important;
}

.sidebar.min .nav.active::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:-10px!important;
  top:15px!important;
  width:4px!important;
  height:24px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#7ee787,#6aa6ff)!important;
}

.sidebar.min .side-footer{
  width:54px!important;
  margin-top:auto!important;
  display:grid!important;
  gap:10px!important;
}

/* Tooltip text remains available via title/data-tip */
.sidebar.min button:hover{
  filter:brightness(1.08)!important;
}
/* === END SIDEBAR ICON HARD FIX v001k === */


/* === OUTPUT TOOLS v001m === */
.output-tools{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:16px 0 14px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(13,17,23,.68);
}

.output-tools.show{
  display:flex;
}

.output-tools-left{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-weight:700;
}

.output-tools-left .dot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--ok);
  box-shadow:0 0 16px rgba(126,231,135,.45);
}

.output-tools-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.output-tools button{
  padding:8px 11px;
  border-radius:11px;
  font-size:12px;
}

.copy-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:2147483001;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.28);
  background:rgba(11,18,32,.98);
  color:#e6edf3;
  box-shadow:0 18px 50px rgba(0,0,0,.52);
  font-weight:750;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
}

.copy-toast.show{
  opacity:1;
  transform:translateY(0);
}

.output article h4{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.section-copy{
  padding:5px 8px!important;
  border-radius:9px!important;
  font-size:11px!important;
  background:#263244!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  opacity:.82;
}

.section-copy:hover{
  opacity:1;
}

@media(max-width:900px){
  .output-tools{
    align-items:flex-start;
    flex-direction:column;
  }

  .output-tools-actions{
    justify-content:flex-start;
  }
}
/* === END OUTPUT TOOLS v001m === */


/* === RBAC UI v001n === */
.rbac-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
  flex-wrap:wrap;
}

.rbac-toolbar-left,
.rbac-toolbar-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.rbac-toolbar input,
.rbac-toolbar select{
  width:auto;
  min-width:180px;
  margin-top:0;
}

.rbac-summary{
  color:var(--muted);
  font-weight:700;
  font-size:12px;
}

.rbac-perms{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-width:520px;
}

.perm-chip{
  border:1px solid var(--line);
  background:#111827;
  color:#dbeafe;
  padding:5px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:750;
}

.rbac-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.62);
  backdrop-filter:blur(5px);
  z-index:90;
  display:none;
}

.rbac-modal-backdrop.show{
  display:block;
}

.rbac-modal{
  position:fixed;
  z-index:91;
  top:50%;
  left:50%;
  width:min(760px, calc(100vw - 36px));
  max-height:calc(100vh - 48px);
  transform:translate(-50%,-50%);
  display:none;
  background:rgba(13,17,23,.98);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.rbac-modal.show{
  display:block;
}

.rbac-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px;
  border-bottom:1px solid var(--line);
  background:#111827;
}

.rbac-modal-head h3{
  margin:0;
}

.rbac-modal-body{
  padding:20px 22px;
  overflow:auto;
  max-height:calc(100vh - 170px);
}

.rbac-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:16px 22px;
  border-top:1px solid var(--line);
  background:rgba(13,17,23,.98);
}

.rbac-permission-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}

.perm-check{
  display:flex!important;
  align-items:center;
  gap:9px;
  margin:0!important;
  border:1px solid var(--line);
  background:#111827;
  border-radius:12px;
  padding:10px;
  font-weight:750;
}

.perm-check input{
  width:auto!important;
  margin:0!important;
}

.role-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 9px;
  background:#111827;
  color:#dbeafe;
  font-size:12px;
  font-weight:800;
}

.status-active{color:var(--ok);font-weight:900}
.status-disabled{color:var(--danger);font-weight:900}

.pagination{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:14px;
}

.pagination button{
  padding:8px 11px;
  border-radius:10px;
}

.sidebar:not(.min) #navUsers::before{content:"👤";font-weight:900}
.sidebar:not(.min) #navRoles::before{content:"🛡";font-weight:900}

.sidebar.min #navUsers .nav-ico,
.sidebar.min #navRoles .nav-ico{
  font-size:20px!important;
}

@media(max-width:900px){
  .rbac-permission-grid{
    grid-template-columns:1fr;
  }

  .rbac-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .rbac-toolbar input,
  .rbac-toolbar select{
    width:100%;
  }
}
/* === END RBAC UI v001n === */


/* === RBAC VISIBILITY GUARD v001o === */
.rbac-hidden{
  display:none!important;
}

.rbac-no-access{
  border:1px dashed var(--line);
  border-radius:18px;
  padding:28px;
  background:#111827;
  color:var(--muted);
  text-align:center;
  font-weight:750;
}

.status-pill.role-pill{
  display:flex;
  align-items:center;
  gap:8px;
}

.status-pill.role-pill::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ok);
  box-shadow:0 0 14px rgba(126,231,135,.45);
}
/* === END RBAC VISIBILITY GUARD v001o === */


/* === RBAC ADMIN MENU HARD LOCK v001p === */
.rbac-force-hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.rbac-force-disabled{
  opacity:.45!important;
  pointer-events:none!important;
  filter:saturate(.4)!important;
}
/* === END RBAC ADMIN MENU HARD LOCK v001p === */


/* === ENGINE STATUS DASHBOARD v001q === */
.engine-dashboard{
  display:grid;
  gap:16px;
}

.engine-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(106,166,255,.12),rgba(126,231,135,.07));
}

.engine-hero-left{
  display:flex;
  align-items:center;
  gap:14px;
}

.engine-big-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  background:var(--ok);
  box-shadow:0 0 22px rgba(126,231,135,.52);
}

.engine-big-dot.warn{
  background:var(--warn);
  box-shadow:0 0 22px rgba(242,204,96,.42);
}

.engine-big-dot.err{
  background:var(--danger);
  box-shadow:0 0 22px rgba(255,123,114,.42);
}

.engine-hero h4{
  margin:0;
  font-size:18px;
}

.engine-hero p{
  margin:3px 0 0;
  color:var(--muted);
}

.engine-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.engine-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:#0d1117;
  padding:16px;
}

.engine-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.engine-card h4{
  margin:0 0 4px;
}

.engine-card small{
  color:var(--muted);
}

.engine-status-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  font-size:12px;
  font-weight:900;
  background:#111827;
}

.engine-status-pill.ok{color:var(--ok)}
.engine-status-pill.warn{color:var(--warn)}
.engine-status-pill.err{color:var(--danger)}

.engine-kv{
  display:grid;
  gap:8px;
}

.engine-kv-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid rgba(48,54,61,.72);
  padding-top:8px;
}

.engine-kv-row span:first-child{
  color:var(--muted);
}

.engine-kv-row span:last-child{
  text-align:right;
  font-weight:800;
}

.engine-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.engine-chip{
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 9px;
  background:#111827;
  color:#dbeafe;
  font-size:12px;
  font-weight:750;
}

.engine-details{
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#0d1117;
}

.engine-details summary{
  cursor:pointer;
  padding:14px 16px;
  font-weight:900;
  color:#dbeafe;
  background:#111827;
}

.engine-details pre{
  margin:0;
  max-height:420px;
  overflow:auto;
  border:0;
  border-radius:0;
  background:#080d14;
}

.engine-empty{
  border:1px dashed var(--line);
  border-radius:18px;
  padding:24px;
  color:var(--muted);
  text-align:center;
  font-weight:750;
}

@media(max-width:1000px){
  .engine-grid{
    grid-template-columns:1fr;
  }

  .engine-hero{
    align-items:flex-start;
    flex-direction:column;
  }
}
/* === END ENGINE STATUS DASHBOARD v001q === */


/* === PUBLIC LANDING v001r === */
.landing-view{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:36px;
  background:
    radial-gradient(circle at 20% 18%, rgba(106,166,255,.16), transparent 32%),
    radial-gradient(circle at 82% 20%, rgba(126,231,135,.11), transparent 30%),
    linear-gradient(135deg,#08111f,#111827 46%,#0d1117);
}

.landing-shell{
  width:min(1180px,100%);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:26px;
  align-items:stretch;
}

.landing-hero,
.landing-card{
  border:1px solid var(--line);
  background:rgba(22,27,34,.88);
  border-radius:28px;
  box-shadow:var(--shadow);
}

.landing-hero{
  padding:42px;
  position:relative;
  overflow:hidden;
}

.landing-hero::after{
  content:"";
  position:absolute;
  inset:auto -80px -130px auto;
  width:320px;
  height:320px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(106,166,255,.22),rgba(126,231,135,.16));
  filter:blur(8px);
}

.landing-top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:46px;
}

.landing-top .brand-mark{
  width:58px;
  height:58px;
}

.landing-brand strong{
  display:block;
  font-size:17px;
}

.landing-brand small{
  color:var(--muted);
  font-weight:750;
}

.landing-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(126,231,135,.28);
  background:rgba(126,231,135,.08);
  color:#b7f7c8;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
  margin-bottom:18px;
}

.landing-eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ok);
  box-shadow:0 0 16px rgba(126,231,135,.45);
}

.landing-hero h1{
  margin:0;
  font-size:clamp(38px,5vw,62px);
  line-height:1.02;
  letter-spacing:-.055em;
  max-width:780px;
}

.landing-hero p{
  margin:18px 0 0;
  color:#aeb8c6;
  font-size:17px;
  line-height:1.75;
  max-width:720px;
}

.landing-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:30px;
  flex-wrap:wrap;
}

.landing-actions button{
  min-height:48px;
}

.landing-secondary-link{
  display:inline-flex;
  align-items:center;
  color:var(--muted);
  font-weight:800;
  padding:11px 4px;
}

.landing-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:38px;
  position:relative;
  z-index:1;
}

.landing-feature{
  border:1px solid rgba(48,54,61,.86);
  border-radius:18px;
  background:rgba(13,17,23,.62);
  padding:16px;
}

.landing-feature strong{
  display:block;
  margin-bottom:5px;
}

.landing-feature span{
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.landing-card{
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:22px;
}

.landing-card h3{
  margin:0 0 8px;
  font-size:24px;
  letter-spacing:-.03em;
}

.landing-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.landing-flow{
  display:grid;
  gap:12px;
  margin-top:22px;
}

.landing-step{
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid var(--line);
  background:#0d1117;
  border-radius:16px;
  padding:14px;
}

.landing-step b{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:linear-gradient(135deg,#7ee787,#6aa6ff);
  color:#07111f;
}

.landing-step strong{
  display:block;
  margin-bottom:3px;
}

.landing-step span{
  color:var(--muted);
  font-size:13px;
}

.landing-secure{
  border:1px solid rgba(106,166,255,.24);
  background:rgba(106,166,255,.07);
  border-radius:18px;
  padding:16px;
}

.landing-secure strong{
  display:block;
  margin-bottom:5px;
}

.landing-secure span{
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.landing-footer{
  color:var(--muted);
  font-size:12px;
  margin-top:22px;
}

@media(max-width:980px){
  .landing-shell{
    grid-template-columns:1fr;
  }

  .landing-feature-grid{
    grid-template-columns:1fr;
  }

  .landing-hero{
    padding:30px;
  }
}

@media(max-width:620px){
  .landing-view{
    padding:18px;
  }

  .landing-hero,
  .landing-card{
    border-radius:22px;
  }

  .landing-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .landing-actions button{
    width:100%;
  }
}
/* === END PUBLIC LANDING v001r === */


/* === BACK TO LANDING v001s === */
.back-to-landing-wrap{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.back-to-landing-btn{
  width:100%;
  justify-content:center!important;
  background:transparent!important;
  border:1px solid var(--line)!important;
  color:var(--muted)!important;
  box-shadow:none!important;
}

.back-to-landing-btn:hover{
  color:var(--text)!important;
  border-color:rgba(106,166,255,.45)!important;
  background:rgba(106,166,255,.07)!important;
}

.login-card .login-public-note{
  margin-top:10px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
/* === END BACK TO LANDING v001s === */


/* === WORKFLOW GUIDE v001t === */
.workflow-guide-backdrop{
  position:fixed;
  inset:0;
  z-index:2147482500;
  display:none;
  background:rgba(2,6,23,.70);
  backdrop-filter:blur(6px);
}

.workflow-guide-backdrop.show{
  display:block;
}

.workflow-guide-modal{
  position:fixed;
  z-index:2147482501;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(980px,calc(100vw - 38px));
  max-height:calc(100vh - 44px);
  display:none;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(13,17,23,.98);
  box-shadow:0 28px 90px rgba(0,0,0,.62);
}

.workflow-guide-modal.show{
  display:block;
}

.workflow-guide-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:24px 26px;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 14% 10%,rgba(126,231,135,.11),transparent 32%),
    radial-gradient(circle at 86% 10%,rgba(106,166,255,.13),transparent 34%),
    #111827;
}

.workflow-guide-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(126,231,135,.26);
  background:rgba(126,231,135,.08);
  color:#b7f7c8;
  font-size:12px;
  font-weight:900;
  margin-bottom:12px;
}

.workflow-guide-kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ok);
  box-shadow:0 0 14px rgba(126,231,135,.45);
}

.workflow-guide-head h3{
  margin:0;
  font-size:27px;
  letter-spacing:-.035em;
}

.workflow-guide-head p{
  margin:8px 0 0;
  color:var(--muted);
  line-height:1.65;
}

.workflow-guide-close{
  width:42px;
  height:42px;
  border-radius:14px;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:22px!important;
}

.workflow-guide-body{
  padding:24px 26px;
  overflow:auto;
  max-height:calc(100vh - 205px);
}

.workflow-guide-grid{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:18px;
}

.workflow-guide-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:#0d1117;
  padding:18px;
}

.workflow-guide-card h4{
  margin:0 0 10px;
  font-size:17px;
}

.workflow-guide-steps{
  display:grid;
  gap:12px;
}

.workflow-step{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:flex-start;
  padding:13px;
  border:1px solid rgba(48,54,61,.78);
  border-radius:16px;
  background:#111827;
}

.workflow-step-num{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:linear-gradient(135deg,#7ee787,#6aa6ff);
  color:#07111f;
  font-weight:950;
}

.workflow-step strong{
  display:block;
  margin-bottom:4px;
}

.workflow-step span{
  color:var(--muted);
  line-height:1.5;
  font-size:13px;
}

.workflow-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.workflow-action{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  min-height:54px;
  border-radius:15px!important;
  text-align:left!important;
  background:#111827!important;
  border:1px solid var(--line)!important;
  color:var(--text)!important;
  box-shadow:none!important;
}

.workflow-action:hover{
  background:rgba(106,166,255,.10)!important;
  border-color:rgba(106,166,255,.38)!important;
}

.workflow-action b{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(106,166,255,.16);
}

.workflow-guide-note{
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(242,204,96,.26);
  background:rgba(242,204,96,.07);
  color:#f6d778;
  line-height:1.55;
  font-size:13px;
  font-weight:750;
}

.workflow-guide-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 26px;
  border-top:1px solid var(--line);
  background:#0d1117;
}

.workflow-guide-foot label{
  display:flex!important;
  align-items:center;
  gap:9px;
  margin:0!important;
  color:var(--muted);
  font-weight:750;
}

.workflow-guide-foot input{
  width:auto!important;
  margin:0!important;
}

.workflow-guide-sidebar-btn{
  margin-top:8px!important;
}

.sidebar.min .workflow-guide-sidebar-btn{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
}

.sidebar.min .workflow-guide-sidebar-btn .nav-label{
  display:none!important;
}

.sidebar.min .workflow-guide-sidebar-btn .nav-ico{
  width:54px!important;
  height:54px!important;
  font-size:20px!important;
}

@media(max-width:980px){
  .workflow-guide-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:680px){
  .workflow-guide-action-grid,
  .workflow-action-grid{
    grid-template-columns:1fr;
  }

  .workflow-guide-head,
  .workflow-guide-body,
  .workflow-guide-foot{
    padding-left:18px;
    padding-right:18px;
  }

  .workflow-guide-foot{
    align-items:flex-start;
    flex-direction:column;
  }
}
/* === END WORKFLOW GUIDE v001t === */


/* === SESSION MANAGEMENT UI v001u === */
.session-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}

.session-stat{
  border:1px solid var(--line);
  border-radius:16px;
  background:#0d1117;
  padding:14px;
}

.session-stat strong{
  display:block;
  font-size:24px;
  letter-spacing:-.04em;
}

.session-stat span{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

.session-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.session-toolbar-left,
.session-toolbar-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.session-toolbar input,
.session-toolbar select{
  width:auto;
  min-width:170px;
  margin-top:0;
}

.session-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
  background:#111827;
}

.session-status::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
}

.session-status.active{color:var(--ok)}
.session-status.active::before{background:var(--ok);box-shadow:0 0 12px rgba(126,231,135,.48)}
.session-status.expired{color:var(--warn)}
.session-status.expired::before{background:var(--warn)}
.session-status.revoked{color:var(--danger)}
.session-status.revoked::before{background:var(--danger)}

.current-session-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(126,231,135,.25);
  border-radius:999px;
  background:rgba(126,231,135,.08);
  color:#b7f7c8;
  padding:4px 8px;
  font-size:11px;
  font-weight:900;
  margin-left:6px;
}

.ua-cell{
  max-width:360px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.session-pagination{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  margin-top:14px;
}

@media(max-width:1000px){
  .session-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .session-toolbar{align-items:flex-start;flex-direction:column}
  .session-toolbar input,.session-toolbar select{width:100%}
}
@media(max-width:620px){
  .session-stats{grid-template-columns:1fr}
}
/* === END SESSION MANAGEMENT UI v001u === */


/* === POST LOGIN HYDRATE v001v === */
.status-pill.role-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}

.status-pill.role-pill::before{
  content:""!important;
  display:block!important;
  width:8px!important;
  height:8px!important;
  border-radius:999px!important;
  background:var(--ok)!important;
  box-shadow:0 0 14px rgba(126,231,135,.45)!important;
}

.rbac-force-hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
/* === END POST LOGIN HYDRATE v001v === */


/* === 2FA UI v001w === */
.login-2fa-box{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(106,166,255,.30);
  border-radius:16px;
  background:rgba(106,166,255,.07);
}

.login-2fa-box.hidden{
  display:none!important;
}

.login-2fa-box p{
  margin:0 0 10px;
  color:var(--muted);
  line-height:1.55;
  font-size:13px;
}

.twofa-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.twofa-toolbar-left,
.twofa-toolbar-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.twofa-toolbar input,
.twofa-toolbar select{
  width:auto;
  min-width:180px;
  margin-top:0;
}

.twofa-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:900;
  background:#111827;
}

.twofa-status::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
}

.twofa-status.enabled{color:var(--ok)}
.twofa-status.enabled::before{background:var(--ok);box-shadow:0 0 12px rgba(126,231,135,.48)}
.twofa-status.disabled{color:var(--muted)}
.twofa-status.disabled::before{background:var(--muted)}
.twofa-status.pending{color:var(--warn)}
.twofa-status.pending::before{background:var(--warn)}

.twofa-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:2147482600;
  display:none;
  background:rgba(2,6,23,.68);
  backdrop-filter:blur(6px);
}

.twofa-modal-backdrop.show{
  display:block;
}

.twofa-modal{
  position:fixed;
  z-index:2147482601;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(760px,calc(100vw - 38px));
  max-height:calc(100vh - 44px);
  display:none;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:rgba(13,17,23,.98);
  box-shadow:0 28px 90px rgba(0,0,0,.62);
}

.twofa-modal.show{
  display:block;
}

.twofa-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px;
  border-bottom:1px solid var(--line);
  background:#111827;
}

.twofa-modal-head h3{
  margin:0;
}

.twofa-modal-head p{
  margin:6px 0 0;
  color:var(--muted);
}

.twofa-modal-body{
  padding:22px 24px;
  overflow:auto;
  max-height:calc(100vh - 210px);
}

.twofa-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:16px 24px;
  border-top:1px solid var(--line);
  background:#0d1117;
}

.twofa-setup-grid{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.twofa-qr{
  min-height:220px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:14px;
}

.twofa-qr svg{
  width:190px;
  height:190px;
}

.twofa-qr-fallback{
  background:#111827;
  color:var(--muted);
  text-align:center;
  border:1px dashed var(--line);
}

.twofa-secret{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#080d14;
  word-break:break-all;
  line-height:1.55;
}

.twofa-uri{
  width:100%;
  min-height:88px;
  resize:vertical;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

.twofa-pagination{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  margin-top:14px;
}

@media(max-width:860px){
  .twofa-setup-grid{
    grid-template-columns:1fr;
  }
  .twofa-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .twofa-toolbar input,
  .twofa-toolbar select{
    width:100%;
  }
}
/* === END 2FA UI v001w === */


/* === SIDEBAR SMOOTH COORDINATOR v001aa === */
.sidebar{
  transition:width .18s ease, padding .18s ease!important;
}

.sidebar .nav,
.sidebar .primary-cta,
.sidebar .side-footer button{
  transition:background .14s ease, border-color .14s ease, transform .08s ease, opacity .12s ease!important;
}

.sidebar .nav:active,
.sidebar .primary-cta:active,
.sidebar .side-footer button:active{
  transform:scale(.985);
}

#toggleSidebar,
#nav2FA,
#navSessions,
#workflowGuideBtn{
  pointer-events:auto!important;
  cursor:pointer!important;
}

.sidebar .side-footer{
  margin-top:auto!important;
  position:relative!important;
  z-index:2!important;
}

.sidebar #nav2FA,
.sidebar #navSessions,
.sidebar #workflowGuideBtn{
  margin-top:0!important;
  position:relative!important;
  z-index:3!important;
}

.sidebar.min #toggleSidebar,
.sidebar.min #nav2FA,
.sidebar.min #navSessions,
.sidebar.min #workflowGuideBtn{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
}

.sidebar.min #toggleSidebar .nav-label,
.sidebar.min #nav2FA .nav-label,
.sidebar.min #navSessions .nav-label,
.sidebar.min #workflowGuideBtn .nav-label{
  display:none!important;
}

.sidebar.min #toggleSidebar .nav-ico,
.sidebar.min #nav2FA .nav-ico,
.sidebar.min #navSessions .nav-ico,
.sidebar.min #workflowGuideBtn .nav-ico{
  width:54px!important;
  height:54px!important;
  display:grid!important;
  place-items:center!important;
  font-size:20px!important;
}
/* === END SIDEBAR SMOOTH COORDINATOR v001aa === */


/* === PAGE ROUTER GUARD v001ab === */
.page:not(.active-page){
  display:none!important;
}

.page.active-page{
  display:block!important;
}
/* === END PAGE ROUTER GUARD v001ab === */


/* === INSTANT MINIMIZE FIX v001ac === */
#appView.sidebar-min{
  grid-template-columns:82px minmax(0,1fr)!important;
}

#appView:not(.sidebar-min){
  grid-template-columns:288px minmax(0,1fr)!important;
}

.sidebar{
  transition:width .16s ease, min-width .16s ease, padding .16s ease!important;
}

.sidebar.min{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  padding:14px 10px!important;
  align-items:center!important;
  overflow:visible!important;
}

.sidebar.min .side-head{
  width:100%!important;
  justify-content:center!important;
}

.sidebar.min .side-head > div:not(.brand-mark){
  display:none!important;
}

.sidebar.min .brand-mark.small{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
}

.sidebar.min .primary-cta,
.sidebar.min .nav,
.sidebar.min .side-footer button{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  padding:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  place-items:center!important;
  font-size:0!important;
  text-align:center!important;
  border-radius:17px!important;
}

.sidebar.min .nav-label{
  display:none!important;
}

.sidebar.min .nav-ico{
  width:54px!important;
  height:54px!important;
  display:grid!important;
  place-items:center!important;
  font-size:20px!important;
}

#toggleSidebar{
  pointer-events:auto!important;
  cursor:pointer!important;
  user-select:none!important;
}
/* === END INSTANT MINIMIZE FIX v001ac === */


/* === MINIMIZED LOGOUT VISIBLE v001ad === */

/* Compact rail supaya semua admin menu + footer muat di layar */
.sidebar.min{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  padding:12px 8px!important;
  gap:7px!important;
  overflow:hidden!important;
}

.sidebar.min .side-head{
  margin-bottom:6px!important;
}

.sidebar.min .brand-mark.small{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border-radius:15px!important;
  font-size:13px!important;
}

.sidebar.min .primary-cta,
.sidebar.min .nav,
.sidebar.min .side-footer button{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  padding:0!important;
  margin:0 auto!important;
  display:grid!important;
  place-items:center!important;
  border-radius:15px!important;
  font-size:0!important;
  line-height:1!important;
  flex:0 0 auto!important;
}

.sidebar.min .nav-ico,
.sidebar.min .primary-cta .nav-ico,
.sidebar.min .side-footer button .nav-ico{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  font-size:19px!important;
  line-height:1!important;
}

.sidebar.min #openCreateDrawer .nav-ico{
  font-size:23px!important;
}

.sidebar.min .nav-label{
  display:none!important;
}

.sidebar.min .side-footer{
  width:48px!important;
  margin-top:auto!important;
  display:grid!important;
  gap:7px!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:50!important;
}

/* Logout jangan pernah hilang saat minimized */
.sidebar.min #logoutBtn{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  min-height:48px!important;
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  place-items:center!important;
  color:var(--danger)!important;
  background:rgba(255,123,114,.08)!important;
  border-color:rgba(255,123,114,.26)!important;
}

.sidebar.min #logoutBtn .nav-ico{
  color:var(--danger)!important;
  font-size:20px!important;
}

/* Expanded mode tetap normal */
.sidebar:not(.min) #logoutBtn{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Kalau viewport pendek, izinkan scroll rail tipis daripada logout jatuh */
@media(max-height:760px){
  .sidebar.min{
    overflow-y:auto!important;
    scrollbar-width:none;
  }

  .sidebar.min::-webkit-scrollbar{
    display:none;
  }

  .sidebar.min .primary-cta,
  .sidebar.min .nav,
  .sidebar.min .side-footer button{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }

  .sidebar.min .nav-ico,
  .sidebar.min .primary-cta .nav-ico,
  .sidebar.min .side-footer button .nav-ico{
    width:46px!important;
    height:46px!important;
  }

  .sidebar.min .side-footer{
    width:46px!important;
    gap:6px!important;
  }
}
/* === END MINIMIZED LOGOUT VISIBLE v001ad === */

