/* 4SO VPN Enterprise — cohesive responsive console (DBaaS visual language).
   Loaded AFTER legacy styles so design/layout overrides stay isolated. */
@font-face{font-family:Vazirmatn;src:url('/assets/fonts/Vazirmatn.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/IBMPlexSans-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/IBMPlexSans-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/IBMPlexSans-600.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/IBMPlexMono-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--ui-sidebar:262px;--ui-radius:10px;--ui-shadow:0 6px 28px rgba(10,23,29,.035);--ui-focus:0 0 0 3px rgba(10,124,114,.14)}
html{scroll-behavior:smooth}
html[lang="fa"] body,html[lang="fa"] button,html[lang="fa"] input,html[lang="fa"] select,html[lang="fa"] textarea{font-family:Vazirmatn,Tahoma,Arial,sans-serif}
html[lang="en"] body,html[lang="en"] button,html[lang="en"] input,html[lang="en"] select,html[lang="en"] textarea{font-family:'IBM Plex Sans','Segoe UI',sans-serif}
body{font-size:14px;line-height:1.72;overflow-x:hidden}
[hidden]{display:none!important}
button{transition:background .16s ease,border-color .16s ease,color .16s ease}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--v3-accent);outline-offset:2px}
button,.button{border-radius:7px;min-height:40px}
h1,h2,h3{font-weight:760;line-height:1.42;letter-spacing:0}
h1{font-size:clamp(22px,2.1vw,29px)}
h2{font-size:17px}
h3{font-size:14px}
.muted{color:var(--v3-ink-2)}
.small{font-size:12px}
.mono,code,pre,.latin{font-family:'IBM Plex Mono',Consolas,monospace;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
:root[data-theme="dark"]{--ui-shadow:0 6px 28px rgba(0,0,0,.2)}
/* App shell; grid respects HTML writing direction automatically. */
.shell{display:grid;grid-template-columns:var(--ui-sidebar) minmax(0,1fr);min-height:100dvh;max-width:100%;align-items:stretch}
.sidebar{position:sticky;inset-block-start:0;height:100dvh;min-width:0;min-height:0;display:flex;flex-direction:column;gap:16px;background:var(--v3-surface);border-inline-end:1px solid var(--v3-line);padding:22px 14px}
.sidebar .brand{margin:0 5px;padding:3px 4px 22px;border-bottom:1px solid var(--v3-line)}
.logo,.logo-picture{width:42px;height:42px;flex-shrink:0;border-radius:9px}
.brand strong{font-size:15px;white-space:nowrap}.brand small{font-size:11px}
.sidebar-nav{display:block;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-inline:3px;scrollbar-width:thin}
.nav-section{display:flex;flex-direction:column;gap:4px;margin:0 0 23px}
.nav-section-label{font-family:Vazirmatn,"IBM Plex Sans",system-ui,sans-serif;padding:8px 10px 9px;color:var(--v3-ink-3);font-size:11px;font-weight:750;letter-spacing:.02em;text-align:start;direction:inherit;line-height:1.6}
.sidebar-nav .nav-section button{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:42px;width:100%;padding:10px 12px;border:1px solid transparent;border-radius:8px;text-align:start;font-weight:530;color:var(--v3-ink-2);background:transparent;white-space:normal;line-height:1.48}
.nav-section button .nav-icon{width:19px;height:19px;flex-shrink:0;opacity:.76}
.nav-section button .nav-text{min-width:0;flex:1}
.sidebar-nav .nav-section button:hover{color:var(--v3-ink);background:var(--v3-surface-2)}
.sidebar-nav .nav-section button.active{color:var(--v3-accent);background:var(--v3-accent-soft);border-color:transparent;font-weight:760;border-inline-start:3px solid var(--v3-accent);padding-inline-start:10px}
.sidebar-nav .nav-section button.active .nav-icon{opacity:1}
.side-foot{margin-top:auto;margin-inline:4px;padding:15px 9px;border-top:1px solid var(--v3-line);font-size:11px;line-height:1.7}
.workspace{min-width:0;max-width:100%;width:100%}
.topbar{height:72px;background:var(--v3-surface);border-bottom:1px solid var(--v3-line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,46px);gap:12px}
.topbar-identity{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-identity>div{min-width:0}
.topbar-identity strong{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-identity small{font-size:11px;display:block}
.topbar-avatar{width:37px;height:37px;background:var(--v3-accent-soft);color:var(--v3-accent);border:1px solid var(--v3-line);border-radius:10px;display:grid;place-items:center;font-weight:800}
.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.topbar-actions button{padding:7px 12px;font-size:12px;min-height:36px}
.menu-toggle{display:none!important}
.menu-scrim{display:none}
.page{width:100%;max-width:1580px;margin:0 auto;padding:clamp(22px,2.6vw,38px) clamp(18px,3vw,46px) 72px;min-width:0}
.page-header{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 0 23px;margin:0 0 24px;border-bottom:1px solid var(--v3-line)}
.page-header h1{margin:0;font-size:clamp(22px,2.2vw,28px)}
.page-header p{margin:2px 0 0;max-width:840px;line-height:1.75;color:var(--v3-ink-2)}
.page-header .eyebrow{letter-spacing:.085em;font:600 10px/1.5 'IBM Plex Mono',monospace;color:var(--v3-accent)}
.page-content{min-width:0}
.page-content>.note{margin:0 0 20px}
.page-content>.actions{margin:0 0 18px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:14px;margin:0 0 19px}
.metric,.panel{background:var(--v3-surface);border:1px solid var(--v3-line);box-shadow:var(--ui-shadow);border-radius:var(--ui-radius)}
.metric{padding:20px;min-width:0;margin-bottom:0}
.metric strong{font-size:clamp(23px,2.4vw,30px);line-height:1.35}
.metric small{font-size:12px;color:var(--v3-ink-2)}
.panel{min-width:0;padding:clamp(17px,2vw,25px);margin:0 0 18px}
.panel-head{margin:0 0 18px;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.panel-head h2{margin:0;font-size:16px}
.note{border-radius:8px;border-inline-start-width:3px}
.empty-box{border-radius:9px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:13px;align-items:end}
.field{min-width:0;display:flex;flex-direction:column;gap:7px;margin:0}
.field>span{font-size:12px;line-height:1.65;color:var(--v3-ink-2);font-weight:650}
.field input,.field select,.field textarea,input,select,textarea{min-width:0;font-size:13px;min-height:43px;border-radius:7px}
.field input,.field select,.field textarea{width:100%;padding:9px 12px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--v3-accent);box-shadow:var(--ui-focus);outline:none}
.field input[dir="ltr"],.field textarea[dir="ltr"]{text-align:left}
.form-grid>.wide-row{grid-column:1/-1}
.form-grid>button:not(.wide-row){align-self:end}
.table-wrap{overflow-x:auto;max-width:100%;border-radius:8px;border:1px solid var(--v3-line);background:var(--v3-surface)}
table{width:100%;border-collapse:collapse;min-width:610px}
table th,table td{padding:12px 13px;text-align:start;vertical-align:middle;white-space:normal;border-bottom:1px solid var(--v3-line)}
table th{color:var(--v3-ink-3);font-size:11px;font-weight:760;white-space:nowrap;background:var(--v3-surface-2)}
table td{font-size:12px;line-height:1.8}
table tr:last-child td{border-bottom:0}
table tbody tr:hover{background:var(--v3-surface-2)}
table td .actions{margin:0}
table td button{min-height:32px;padding:5px 10px;font-size:11px;white-space:nowrap}
button.primary{background:var(--v3-accent);border-color:var(--v3-accent);color:white}
button.primary:hover{filter:brightness(.94)}
.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.profile-tile{border-radius:9px}
.latin,[dir="ltr"]{unicode-bidi:isolate}
.check-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
/* Purposeful page composition: cards beside alerts, instead of infinite stack. */
.page-content[data-page="overview"],.page-content[data-page="credentials"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.page-content[data-page="overview"]>.cards,.page-content[data-page="overview"]>.actions,.page-content[data-page="overview"]>.panel,.page-content[data-page="credentials"]>.cards,.page-content[data-page="credentials"]>.actions{grid-column:1/-1;margin:0}
.page-content[data-page="credentials"]>.panel{margin:0}
.page-content[data-page="overview"]>.note,.page-content[data-page="credentials"]>.note{grid-column:1/-1}
/* Explicit content tabs, keyboard accessible and RTL arrow aware. */
.module-tabs{width:100%;min-width:0}
.module-tablist{display:flex;align-items:center;gap:5px;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 0;margin:0 0 21px;border-bottom:1px solid var(--v3-line);scrollbar-width:thin}
.module-tab{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;padding:11px 18px;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--v3-ink-2);font-size:12px;font-weight:670;white-space:nowrap}
.module-tab:hover{background:var(--v3-surface-2);color:var(--v3-ink)}
.module-tab[aria-selected="true"]{border-bottom-color:var(--v3-accent);background:var(--v3-surface);color:var(--v3-accent);font-weight:800}
.module-tabpanels{min-width:0}
.module-tabpanel{min-width:0;outline-offset:4px}
.module-tabpanel>.panel{margin-bottom:16px}
.module-tabpanel>.panel:last-child{margin-bottom:0}
.module-tabpanel>.panel:only-child{min-height:160px}
.module-tabpanel .form-grid{margin-bottom:18px}
.module-tabpanel .form-grid:last-child{margin-bottom:0}
.module-tabpanel .form-grid+table,.module-tabpanel .form-grid+.table-wrap{margin-top:15px}
.module-tabpanel pre{max-width:100%;overflow-x:auto}
.login-layout{min-height:100dvh}
.login-visual{padding:clamp(30px,4vw,74px)}
.login-card{border-radius:13px;box-shadow:var(--ui-shadow)}
.login-pitch h1{line-height:1.48}
@media(max-width:1120px){:root{--ui-sidebar:232px}.page{padding-inline:24px}.sidebar{padding-inline:10px}.cards{grid-template-columns:repeat(auto-fit,minmax(152px,1fr))}}
@media(max-width:900px){
  .shell{display:block}
  .sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:min(320px,85vw);height:100dvh;z-index:1100;overflow:hidden;padding:23px 14px;box-shadow:0 12px 40px rgba(0,0,0,.14);transition:transform .2s ease;visibility:hidden}
  html[dir="rtl"] .sidebar{transform:translateX(110%)}
  html[dir="ltr"] .sidebar{transform:translateX(-110%)}
  .shell.menu-open .sidebar{transform:translateX(0);visibility:visible}
  .sidebar-nav{display:block;overflow-y:auto}
  .nav-section{display:flex;flex-direction:column;margin-bottom:18px}
  .nav-section-label{display:block}
  .sidebar-nav .nav-section button{width:100%;white-space:normal}
  .side-foot{display:block}
  .menu-toggle{display:inline-flex!important}
  .menu-scrim{position:fixed;inset:0;background:rgba(5,14,20,.52);border:0;border-radius:0;min-height:0;z-index:1050;padding:0}
  .shell.menu-open .menu-scrim{display:block}
  .topbar{height:64px;padding-inline:18px}
  .page{padding:24px 18px 60px}
  .page-content[data-page="overview"],.page-content[data-page="credentials"]{grid-template-columns:1fr}
  .login-layout{grid-template-columns:1fr}
  .login-visual{display:none}
  .grid-two{grid-template-columns:1fr}
}
@media(max-width:600px){
  body{font-size:13px}
  .page{padding:19px 13px 44px}
  .page-header{padding-block-end:17px;margin-bottom:17px}
  .topbar{padding-inline:12px}
  .topbar-actions{gap:5px}
  .topbar-actions button{padding:6px 9px;min-height:34px}
  .topbar-identity small{display:none}
  .form-grid{grid-template-columns:1fr;gap:14px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .metric{padding:13px}
  .metric strong{font-size:22px}
  .panel{padding:15px}
  .module-tablist{gap:2px;margin-bottom:16px}
  .module-tab{padding-inline:13px}
  .login-card{padding:23px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Search/filter/pagination on every data table */
.search-console{display:flex;flex-direction:column;gap:10px;margin:0 0 15px;min-width:0}
.search-toolbar{display:grid;grid-template-columns:minmax(165px,2.3fr) minmax(100px,1fr) minmax(110px,1fr) 95px;gap:10px;align-items:end}
.search-toolbar label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px;font-weight:650;color:var(--v3-ink-2)}
.search-toolbar input,.search-toolbar select{min-width:0;width:100%;height:40px;font-size:12px;background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:7px;padding:6px 10px}
.search-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:35px;font-size:11px;color:var(--v3-ink-2);flex-wrap:wrap}
.search-pagination{display:flex;align-items:center;gap:8px}.search-pagination button{min-height:32px;padding:4px 11px}.search-pagination button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:800px){.search-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.search-query{grid-column:1/-1}}

/* Connection center — certified installers and profile modes */
.client-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:860px}
.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.client-card{padding:20px;border:1px solid var(--v3-line);background:var(--v3-surface);box-shadow:var(--ui-shadow);border-radius:10px;min-width:0}
.client-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.client-card h3{font-size:16px;margin:6px 0 10px}
.client-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.client-actions>a,.client-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:7px 13px;font-size:12px}
.client-actions button:disabled{opacity:.55;cursor:not-allowed}
.client-help{border-top:1px solid var(--v3-line);padding-top:12px;margin:16px 0 0;color:var(--v3-ink-2);font-size:12px}
@media(max-width:850px){.client-grid{grid-template-columns:1fr}}
@media(max-width:590px){.client-selectors{grid-template-columns:1fr}}

.search-date-range{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.search-date-range label{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--v3-ink-2)}
.search-date-range input{width:min(100%,220px);min-height:35px;border:1px solid var(--v3-line);border-radius:7px;padding:5px 10px;background:var(--v3-surface)}

/* Explicit Direction-based Login Grid: Form on right in RTL (Persian), Form on left in LTR (English) */
@media(min-width:901px){
  html[dir="rtl"] .login-layout{grid-template-columns:minmax(420px,1fr) minmax(420px,1.1fr)}
  html[dir="rtl"] .login-form-wrap{grid-column:1;grid-row:1}
  html[dir="rtl"] .login-visual{grid-column:2;grid-row:1;border-inline-end:0;border-inline-start:1px solid var(--v3-line)}

  html[dir="ltr"] .login-layout{grid-template-columns:minmax(420px,1fr) minmax(420px,1.1fr)}
  html[dir="ltr"] .login-form-wrap{grid-column:1;grid-row:1}
  html[dir="ltr"] .login-visual{grid-column:2;grid-row:1;border-inline-start:1px solid var(--v3-line);border-inline-end:0}
}
@media(max-width:900px){
  .login-layout{grid-template-columns:minmax(0,1fr)}
  .login-form-wrap{grid-column:1;grid-row:1;min-height:100dvh}
}

/* Resource lifecycle editor: same modal/field design tokens as the operator console */
.manage-controls{grid-template-columns:minmax(180px,1.1fr) minmax(210px,1.7fr) minmax(120px,1fr) 95px;margin-bottom:16px}
.manage-editor-actions{display:flex;gap:12px;justify-content:flex-start;align-items:center;flex-wrap:wrap}
.manage-editor-actions .danger{border:1px solid var(--v3-bad);color:var(--v3-bad);background:transparent}
#manageWorkspace{display:grid;gap:16px;min-width:0}
#manageWorkspace .panel{margin:0;min-width:0}
#manageDetail{scroll-margin-top:20px}
@media(max-width:760px){.manage-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-controls .search-query{grid-column:1/-1}}

/* Security operations: compact responsive large-list-safe grant workbench */
#securityWorkbench{min-width:0;display:grid;gap:15px}
#securityWorkbench .security-body{min-width:0}
.security-tabs{display:flex;flex-wrap:wrap;gap:8px}
#securityBody .panel{margin-block:14px}
.sec-service-fieldset{border:1px solid var(--v3-line);border-radius:10px;padding:15px;min-width:0}
.sec-service-fieldset legend{padding-inline:8px;font-weight:700;font-size:12px}
.sec-service-controls,.sec-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.sec-service-controls label,.sec-checkbox{display:flex;align-items:center;gap:9px}
.sec-service-controls input[type=checkbox],.sec-service-option input[type=checkbox]{width:auto;min-height:0;accent-color:var(--v3-accent)}
.sec-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;max-height:280px;overflow-y:auto}
.sec-service-option{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px;border:1px solid var(--v3-line);border-radius:8px;font-size:12px;cursor:pointer}
.sec-service-option:hover{background:var(--v3-surface-2)}
.sec-service-option[hidden]{display:none}
.sec-service-option .mono{margin-inline-start:auto;font-size:10px}
.sec-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.sec-metric{display:flex;flex-direction:column;gap:10px;padding:17px}
.sec-metric strong{font-size:27px;font-variant-numeric:tabular-nums}
#securityBody .search-toolbar{margin-block:14px}

/* Enterprise report center: responsive, low-density controls and clear Arabic/Persian headings. */
#reportsCenter{display:grid;gap:16px;min-width:0}
#reportsCenter .panel{margin:0;min-width:0}
.reports-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.7fr)
 minmax(164px,1fr) minmax(164px,1fr) minmax(95px,.5fr);gap:12px;margin-top:16px}
.reports-toolbar .field{min-width:0;margin:0}
.reports-toolbar input,.reports-toolbar select{min-width:0;width:100%}
.reports-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:15px}
.reports-actions a{border:1px solid var(--v3-line);border-radius:7px;padding:9px 13px;
 text-decoration:none;color:var(--v3-ink);font-weight:650}
.reports-actions a:hover{background:var(--v3-surface-2)}
#reportsCenter .table-wrap{max-width:100%;overflow:auto}
@media(max-width:1100px){.reports-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.reports-toolbar{grid-template-columns:minmax(0,1fr)}}

#addressingDefaults{min-width:0;display:grid;gap:16px}
#addressingDefaults .panel{min-width:0;margin:0}
#addressingDefaults .table-wrap select{min-width:220px;max-width:360px}
#addressingDefaults .note{line-height:1.8}

#protocolHealth{min-width:0}
#protocolHealth .table-wrap{max-height:570px;overflow:auto}
#protocolHealth td{vertical-align:middle}

/* Navigation/category typography: explicit Persian webfont, not inherited from Latin metadata. */
html[lang="fa"] .sidebar-nav .nav-section-label,
html[lang="fa"] .sidebar-nav .nav-text,
html[lang="fa"] .module-tablist button,
html[lang="fa"] .panel-head h2,
html[lang="fa"] .nav-section-label,
html[lang="fa"] .eyebrow,
html[lang="fa"] .page-header .eyebrow{font-family:Vazirmatn,Tahoma,Arial,sans-serif !important;letter-spacing:0 !important}

html[lang="en"] .sidebar-nav .nav-section-label,
html[lang="en"] .sidebar-nav .nav-text,
html[lang="en"] .module-tablist button{font-family:'IBM Plex Sans','Segoe UI',sans-serif !important}
.sidebar-nav .nav-section-label{font-size:12px;font-weight:750;
 letter-spacing:0;color:var(--v3-ink-2);border-bottom:1px solid var(--v3-line);
 padding:10px 12px 9px;margin-bottom:6px;line-height:1.65}
html[lang="fa"] .sidebar-nav .nav-section-label{direction:rtl;text-align:right}
html[lang="en"] .sidebar-nav .nav-section-label{direction:ltr;text-align:left}
.sidebar-nav .nav-text{font-weight:580;font-size:13px;line-height:1.65}
.inspector-stack{display:grid;gap:14px;max-width:100%;min-width:0}
.inspector-stack .table-wrap{max-height:320px;overflow:auto}

/* Code block & Terminal Isolation */
pre code, .code-box code, pre > code, .terminal-container code {
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.code-box {
  background: #090d16 !important;
  color: #f8fafc !important;
  border: 1px solid #1e293b !important;
}

/* Resource pills: always readable on light and dark themes */
.subtabs .res-pill{padding:7px 14px;border:1px solid #94a3b8;background:#fff;color:#0f172a;border-radius:8px;cursor:pointer;font-size:12px;font-weight:650;display:inline-flex;align-items:center;gap:6px;transition:all .15s}
.subtabs .res-pill:hover{border-color:#0d9488;color:#0d9488}
.subtabs .res-pill.active{background:#0d9488;border-color:#0d9488;color:#fff;box-shadow:0 2px 8px rgba(13,148,136,.35)}
[data-theme="dark"] .subtabs .res-pill{background:#1e293b;color:#e2e8f0;border-color:#475569}
[data-theme="dark"] .subtabs .res-pill.active{background:#0d9488;color:#fff;border-color:#0d9488}
/* User profile hero chips */
.u-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:14px}
.u-chip{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid rgba(100,116,139,.35);border-radius:10px;background:rgba(13,148,136,.07)}
.u-chip-k{font-size:11px;opacity:.75}
.u-chip strong{font-size:13px;word-break:break-word}

/* Unified Subtabs, Filter Pills & Interactive Cards */
.subtabs-nav .tab-btn, .subtabs .btn-subtab {
  border: 1px solid var(--v3-line) !important;
  background: var(--v3-surface) !important;
  color: var(--v3-ink-2) !important;
  border-radius: 8px !important;
  transition: all 0.15s ease;
}
.subtabs-nav .tab-btn:hover, .subtabs .btn-subtab:hover {
  border-color: var(--v3-accent) !important;
  color: var(--v3-ink) !important;
  background: var(--v3-surface-2) !important;
}
.subtabs-nav .tab-btn.active, .subtabs .btn-subtab.active {
  background: var(--v3-accent) !important;
  border-color: var(--v3-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(13, 148, 136, 0.28) !important;
}
.metric.clickable:hover {
  border-color: var(--v3-accent);
  transform: translateY(-2px);
}


.segmented-pills {
  display: inline-flex;
  gap: 6px;
  background: var(--v3-surface-2, rgba(148, 163, 184, 0.1));
  padding: 5px;
  border-radius: 10px;
  border: 1px solid var(--v3-line, rgba(148, 163, 184, 0.2));
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.segmented-pills .tab-btn {
  padding: 7px 16px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--v3-ink-2) !important;
  border-radius: 7px !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
}
.segmented-pills .tab-btn:hover {
  background: var(--v3-surface) !important;
  color: var(--v3-ink) !important;
}
.segmented-pills .tab-btn.active {
  background: var(--v3-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(13, 148, 136, 0.25) !important;
}

/* UI polish 2026-10-24: shared toolbar, checkboxes, login spacing, wrapping tabs */
.search-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.search-toolbar>label{flex:0 0 auto;min-width:110px}
.search-toolbar>label.search-query{flex:1 1 260px}
.search-toolbar>label[hidden]{display:none!important}
.search-toolbar>label:not(.search-query) select{min-width:110px}
.search-console{margin:0 0 12px}
.search-bottom{padding-block:2px}
input[type=checkbox],input[type=radio]{width:auto;min-height:0;height:auto;accent-color:var(--v3-accent)}
.field input[type=checkbox],.field input[type=radio],.field label input[type=checkbox],.field label input[type=radio]{width:17px;height:17px;min-height:0;padding:0;flex:none;margin:0}
.field>label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:550;color:var(--v3-ink)}
#loginForm .field{margin:0 0 16px;gap:6px}
#loginForm label:not(.field){display:flex;align-items:center;gap:8px;font-size:12.5px;margin:2px 0 14px}
.login-card .eyebrow{font-family:Vazirmatn,Tahoma,Arial,sans-serif;letter-spacing:0}
.subtabs-nav{flex-wrap:wrap!important;overflow-x:visible!important}
.subtabs-nav .tab-btn{white-space:nowrap}
.table-wrap td,.table-wrap th{vertical-align:middle}
html[dir="rtl"] .table-wrap th,html[dir="rtl"] .table-wrap td{text-align:right}
html[dir="rtl"] .table-wrap td.mono,html[dir="rtl"] .table-wrap td code{direction:ltr;text-align:right}

/* Numbers and data cells: readable proportional-digit font instead of tiny bold mono */
.mono:not(pre):not(code),td.mono,.latin:not(pre):not(code){font-family:Vazirmatn,'IBM Plex Sans',Tahoma,sans-serif;font-size:13px;line-height:1.7;font-variant-numeric:tabular-nums}
.mono strong,td.mono strong{font-weight:650}
td.mono small,.mono small{font-size:12px}
.table-wrap td,.table-wrap th{font-size:13px}
/* Status/protocol chips: real pills instead of padding-less coloured boxes */
.badge[style*="background"]{padding:2px 11px 3px;border-radius:999px;gap:6px;font-size:12px;line-height:1.7}
.badge[style*="background"]:before{display:none}
.badge[style*="#0d9488"]{background:var(--v3-accent-soft)!important;color:var(--v3-accent)!important;font-weight:650}
.badge.ok[style*="background"]{background:rgba(45,122,62,.13)!important;color:var(--v3-ok)!important}
/* Table search already provided by the page itself: keep page-size/pagination, drop the second box */
.search-console.has-page-search .search-toolbar{display:none}

/* Section strip: sibling pages of the active sidebar entry */
.section-strip{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:5px;border:1px solid var(--v3-line);border-radius:10px;background:var(--v3-surface-2);width:fit-content;max-width:100%}
.section-strip button{min-height:36px;padding:7px 16px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--v3-ink-2);font-size:13px;font-weight:650;cursor:pointer}
.section-strip button:hover{background:var(--v3-surface);color:var(--v3-ink)}
.section-strip button.active{background:var(--v3-accent);color:#fff;box-shadow:0 2px 6px rgba(13,148,136,.25)}

/* Row action menu: one primary button + a "more" menu */
td.row-actions{white-space:nowrap}
td.row-actions>button{margin-inline-end:6px}
details.row-menu{display:inline-block;position:relative;vertical-align:middle}
details.row-menu>summary{list-style:none;cursor:pointer;min-width:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--v3-line);border-radius:7px;background:var(--v3-surface);color:var(--v3-ink-2);font-size:18px;line-height:1;user-select:none}
details.row-menu>summary::-webkit-details-marker{display:none}
details.row-menu[open]>summary,details.row-menu>summary:hover{background:var(--v3-surface-2);color:var(--v3-ink)}
.row-menu-list{position:fixed;z-index:60;min-width:170px;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--v3-line);border-radius:10px;background:var(--v3-surface);box-shadow:0 10px 28px rgba(0,0,0,.18)}
.row-menu-list>button{width:100%;justify-content:flex-start;text-align:start;margin:0!important;min-height:36px}
/* Empty tables: hide the header row so "no results" is one quiet line */
table:has(tbody td .empty-box) thead{display:none}

/* Quieter table footers: page-size picker hidden, pager hidden when everything fits on one page */
.search-toolbar>label:has(select.size){display:none}
.search-console.single-page .search-pagination{display:none}
.search-console.single-page .search-bottom{min-height:0}

/* Numbers with units ("0.0 MB") keep their natural order inside right-to-left cards */
html[dir="rtl"] .metric strong{direction:ltr;unicode-bidi:isolate;text-align:right}

/* Centered Stealth Login Layout */
.login-layout.stealth-centered {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100dvh !important;
  padding: 24px !important;
  background: var(--v3-bg, #f4f4f1) !important;
}
.login-layout.stealth-centered .login-form-wrap {
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: block !important;
}
.login-layout.stealth-centered .login-card {
  width: 100% !important;
  padding: 32px 28px !important;
  border-radius: 14px !important;
  border: 1px solid var(--v3-line, #e2e8f0) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.08) !important;
}
#securityAlarmsMonitorPanel table {
  min-width: 100% !important;
}
