/* =====================================================================================================================
   AUDIT design system — 2026-10-23 "Institutional" redesign
   One token layer (dark default + deliberate light theme), shared components, then feature areas.
   Fonts: IBM Plex Sans (Latin, tabular digits by default) + IBM Plex Sans Arabic, self-hosted, OFL-1.1
   (/fonts/OFL-IBMPlexSans.txt, /fonts/OFL-IBMPlexSansArabic.txt). CSP: style-src 'self'; no inline styles.
   Class names are the contract with app.js — rename nothing without updating the renderer.
   ===================================================================================================================== */

@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/ibm-plex-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'IBM Plex Sans Arabic';font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}

/* ---------- 1. Tokens ----------------------------------------------------------------------------------------------
   Contrast (WCAG 2.x, measured): text #E8EEF7 on surfaces >= 13:1 · muted #94A3B8 >= 6.2:1 · tertiary #7C8BA1 ~5:1 ·
   link #7EA6F8 7.1:1 · white on primary #2563EB 5.2:1 (hover #1D4ED8 6.7:1). #3B82F6 is used for rings/indicators only:
   white text on it is 3.7:1. Gold is decorative/brand, never a status. Legacy short names (--bg, --card, --re …) are kept
   because generated utilities (.s-*) reference them. */
:root{
 color-scheme:dark;
 /* surfaces */
 --bg:#0A1020;--side:#0B1324;--card:#111B2E;--elev:#162238;--elev2:#1B2942;--hov:#17233A;--th:#0E1729;--field:#0B1222;
 --bd:#26344B;--bd-soft:#1D2A40;--bd-strong:#33445F;
 /* text */
 --tx:#E8EEF7;--tx2:#C6D0DE;--mu:#94A3B8;--dis:#7C8BA1;--ph:#7C8BA1;
 /* interaction */
 --acb:#2563EB;--acb-h:#1D4ED8;--ac:#7EA6F8;--ring:#3B82F6;--ring-a:rgba(59,130,246,.28);
 --acs:rgba(37,99,235,.15);--acs-bd:rgba(59,130,246,.38);--ac-on:#DCE7FF;
 /* brand accent (rare) */
 --gold:#C5A46D;--gold-soft:#E3D2AF;--gold-line:rgba(197,164,109,.42);
 /* semantic status */
 --gr:#34D399;--ye:#FBBF24;--re:#F87171;--bl:#60A5FA;--gy:#94A3B8;--re-solid:#DC2626;
 --grb:#2563EB;--grs:rgba(37,99,235,.15); /* legacy aliases: former green accent now maps to the blue action colour */
 /* sidebar (navy in both themes) */
 --sb:#0B1324;--sb-tx:#C6D0DE;--sb-mu:#8796AD;--sb-hov:#131E33;--sb-bd:#1C283D;--sb-on:rgba(37,99,235,.17);--sb-on-tx:#E6EEFF;
 /* shape + rhythm */
 --r-xs:4px;--r-sm:6px;--r:8px;--r-lg:10px;--r-xl:14px;
 --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;
 --h-sm:30px;--h:36px;--h-lg:44px;
 --sh-1:0 1px 0 rgba(0,0,0,.28);--sh-pop:0 18px 44px -14px rgba(0,0,0,.65),0 0 0 1px rgba(0,0,0,.2);
 --sh-modal:0 30px 80px -20px rgba(0,0,0,.75);
 --ease:cubic-bezier(.2,.6,.2,1);--t:.14s;
 /* type */
 --font:'IBM Plex Sans','IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;
 --fs-xs:11px;--fs-sm:12.5px;--fs:13.5px;--fs-md:14.5px;--fs-lg:17px;--fs-h1:24px;--fs-kpi:28px;
 --content-max:1400px;
 box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)
}
:root[data-theme=light]{
 color-scheme:light;
 --bg:#F4F6FA;--side:#FFFFFF;--card:#FFFFFF;--elev:#FFFFFF;--elev2:#F2F5FA;--hov:#F0F3F8;--th:#F7F9FC;--field:#FFFFFF;
 --bd:#D9E0EA;--bd-soft:#E6EBF2;--bd-strong:#BFC9D7;
 --tx:#0B1426;--tx2:#25334A;--mu:#4A5870;--dis:#5B6880;--ph:#6B778C;
 --acb:#2563EB;--acb-h:#1D4ED8;--ac:#1D4ED8;--ring:#2563EB;--ring-a:rgba(37,99,235,.22);
 --acs:rgba(37,99,235,.09);--acs-bd:rgba(37,99,235,.32);--ac-on:#1D4ED8;
 --gold:#7A5C24;--gold-soft:#7A5C24;--gold-line:rgba(154,118,56,.45);
 --gr:#047857;--ye:#B45309;--re:#B42318;--bl:#1D4ED8;--gy:#4A5870;--re-solid:#B42318;
 --grs:rgba(37,99,235,.09);
 --sh-1:0 1px 2px rgba(15,23,42,.05);--sh-pop:0 16px 40px -12px rgba(15,23,42,.22),0 0 0 1px rgba(15,23,42,.06);
 --sh-modal:0 28px 70px -18px rgba(15,23,42,.35)
}

/* ---------- 2. Base + typography ---------------------------------------------------------------------------------- */
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--tx);font:400 var(--fs)/1.55 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
:lang(ar) body,[dir=rtl] body{line-height:1.7}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
svg{flex:none}
h1,h2,h3,h4,h5{color:var(--tx);font-weight:600;letter-spacing:0}
h1{font-size:var(--fs-h1);line-height:1.25;margin:0;letter-spacing:-.012em}
h2{font-size:var(--fs-lg);line-height:1.35}
h3{font-size:var(--fs-md);line-height:1.4}
[dir=rtl] h1{letter-spacing:0}
p{margin:0 0 var(--s3)}
small{font-size:var(--fs-sm)}
b,strong{font-weight:600}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
::selection{background:rgba(59,130,246,.35);color:var(--tx)}
:focus{outline:0}
:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--r-sm)}
.mu{color:var(--mu);font-size:var(--fs-sm)}
.neg{color:var(--re)}
.cr{color:var(--mu);font-size:var(--fs-sm)}
#ct>.cr{display:none}
/* Numbers: Plex Sans digits are tabular by default; the declaration also covers fallback fonts. */
.tb td,.kc b,.li b,.cn,.pg,.af-meta,.stage-bar-top,.ed b,.admin-org-user-count,.pbw+span{font-variant-numeric:tabular-nums}
/* Uppercase/tracking is a Latin device; Arabic gets weight + size instead. */
[dir=rtl] .tb th,[dir=rtl] .ph,[dir=rtl] .sh,[dir=rtl] .ai-context-label,[dir=rtl] .kc span,[dir=rtl] .hcl h5,[dir=rtl] .hcr h5,[dir=rtl] .nav-divider,[dir=rtl] .ed span,[dir=rtl] .login-eyebrow{text-transform:none;letter-spacing:0}

/* ---------- 3. Application shell ---------------------------------------------------------------------------------- */
#app{display:flex;height:100%}
#side{width:248px;flex:none;background:var(--sb);color:var(--sb-tx);border-inline-end:1px solid var(--sb-bd);display:flex;flex-direction:column;transition:width var(--t) var(--ease)}
.col #side{width:64px}
.brand{height:60px;flex:none;display:flex;align-items:center;gap:11px;padding:0 18px;border-bottom:1px solid var(--sb-bd);color:#F1F4F9;font-weight:600;font-size:13px;letter-spacing:.22em}
[dir=rtl] .brand{letter-spacing:.22em}
.logo{width:30px;height:30px;flex:none;border-radius:var(--r);display:grid;place-items:center;background:#13203A;border:1px solid var(--gold-line);color:#C5A46D;font-size:14px;font-weight:600;letter-spacing:0;line-height:1}
:root[data-theme=light] .logo{background:#0B1324;border-color:rgba(197,164,109,.6);color:#C5A46D}
nav{flex:1;overflow-y:auto;padding:var(--s3) 10px}
.side-nav{display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}
.ni{position:relative;display:flex;align-items:center;gap:11px;min-height:38px;padding:7px 12px;border-radius:var(--r);color:var(--sb-mu);font-size:var(--fs);font-weight:500;line-height:1.3;transition:background-color var(--t),color var(--t)}
button.ni{border:0;background:none;width:100%;text-align:start}
.ni>svg{width:18px;height:18px;color:inherit;opacity:.9}
.ni:hover{background:var(--sb-hov);color:var(--sb-tx)}
.ni.on,#side .ni.on{background:var(--sb-on);color:var(--sb-on-tx);font-weight:600}
.ni.on>svg{color:#93B6FB;opacity:1}
.ni.on::before{content:"";position:absolute;inset-block:9px;inset-inline-start:-10px;width:3px;border-radius:0 2px 2px 0;background:var(--ring)}
[dir=rtl] .ni.on::before{border-radius:2px 0 0 2px}
.ni:focus-visible{outline-offset:-2px}
.nav-divider{margin:18px 12px 6px;padding-top:14px;border-top:1px solid var(--sb-bd);color:var(--sb-mu);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.side-bottom{margin-top:auto;padding-top:10px;border-top:1px solid var(--sb-bd)}
.col .lb{display:none}
.col .ni{justify-content:center;padding-inline:0}
.col .brand{justify-content:center;padding:0}
.col .nav-divider{margin-inline:6px;font-size:0;padding-top:10px}
#tip{position:fixed;z-index:70;display:none;background:var(--elev);color:var(--tx);border:1px solid var(--bd);padding:5px 9px;border-radius:var(--r-sm);font-size:12px;pointer-events:none;box-shadow:var(--sh-pop)}
#main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}

/* top bar */
.hd{height:60px;flex:none;display:flex;align-items:center;gap:6px;padding:0 20px;background:var(--bg);border-bottom:1px solid var(--bd-soft)}
:root[data-theme=light] .hd{background:var(--card);border-bottom-color:var(--bd)}
.sw{position:relative;width:min(380px,36vw);min-width:0}
.sw input{width:100%;height:var(--h);background:var(--field);border:1px solid var(--bd);border-radius:var(--r);padding-inline:36px 64px;color:var(--tx);transition:border-color var(--t),box-shadow var(--t)}
.sw input::placeholder{color:var(--ph)}
.sw input:hover{border-color:var(--bd-strong)}
.sw input:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-a);outline:0}
.si{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:var(--dis);display:flex}
kbd{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);font:500 10.5px/1 var(--font);color:var(--mu);border:1px solid var(--bd);border-bottom-width:2px;border-radius:5px;padding:3px 6px;background:var(--card)}
.sp{flex:1}
.ib{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--h);min-width:var(--h);padding:0 9px;border:1px solid transparent;background:none;color:var(--mu);border-radius:var(--r);font-size:var(--fs);font-weight:500;transition:background-color var(--t),color var(--t),border-color var(--t)}
.ib:hover{background:var(--hov);color:var(--tx)}
.ib>svg{width:17px;height:17px}
.dot{position:absolute;top:3px;inset-inline-end:3px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--re-solid);color:#fff;font:600 9.5px/16px var(--font);font-style:normal;text-align:center;box-shadow:0 0 0 2px var(--bg)}
#sync-status.s-b8efa20{font-size:11.5px !important;color:var(--dis);padding:0 6px;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.av{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;background:#13203A;color:var(--gold-soft);font-size:11px;font-weight:600;letter-spacing:.04em;border:1px solid var(--gold-line)}
:root[data-theme=light] .av{background:#0B1324;color:#E3D2AF}
.mw{position:relative}

/* popover menus */
.pn{display:none;position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:296px;background:var(--elev);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--sh-pop);z-index:30;padding:6px}
.pn.show{display:block}
.sw .pn{inset-inline-start:0;inset-inline-end:auto;width:100%}
.sw:focus-within .pn{display:block}
.pi{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px;border:0;background:none;border-radius:var(--r-sm);text-align:start;color:var(--tx);font-size:var(--fs);line-height:1.35}
.pi>svg{color:var(--mu);width:16px;height:16px}
.pi:hover,.pi:focus-visible{background:var(--hov)}
.pi.dis{color:var(--dis);cursor:not-allowed}
.pi .av{width:34px;height:34px}
.ph{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dis);padding:8px 10px 4px}
.ph button{border:0;background:none;color:var(--ac);text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;padding:2px 4px;border-radius:4px}
.ph button:hover{text-decoration:underline}
.nt{display:block;padding:9px 10px;border-radius:var(--r-sm);font-size:var(--fs);line-height:1.45}
.nt.u{background:var(--acs);box-shadow:inset 2px 0 0 var(--ring)}
[dir=rtl] .nt.u{box-shadow:inset -2px 0 0 var(--ring)}
.nt small{color:var(--mu);font-size:11.5px}
.hr{height:1px;background:var(--bd-soft);margin:6px 2px}
.hr+.hr{display:none}

/* content column — centred, capped width */
#ct{flex:1;overflow:auto;padding:24px max(28px,calc((100% - var(--content-max))/2));scroll-behavior:smooth}

/* ---------- 4. Page header ---------------------------------------------------------------------------------------- */
.page-context{display:flex;align-items:center;gap:8px;min-height:22px;margin:0 0 10px;color:var(--dis);font-size:12.5px;flex-wrap:wrap}
.page-context a{color:var(--mu);transition:color var(--t)}
.page-context a:hover{color:var(--tx)}
.page-context>span[aria-hidden]{color:var(--bd-strong)}
.page-context [aria-current=page]{color:var(--tx2);font-weight:500}
.ph1{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px;margin:2px 0 18px}
.ph1>div:first-child{min-width:0}
.ph1 p{margin:6px 0 0;max-width:78ch;font-size:var(--fs);line-height:1.6;color:var(--mu)}
.ph1>.ft{align-items:center;justify-content:flex-end}
.cn{display:inline-flex;align-items:center;height:22px;padding:0 8px;margin-inline-start:10px;border:1px solid var(--bd);border-radius:999px;font-size:11.5px;font-weight:500;color:var(--mu);background:var(--card);vertical-align:middle;letter-spacing:0}
.dashboard-heading{margin:0 0 16px}
.dashboard-heading p{max-width:70ch}
.sh{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--dis);margin:18px 0 8px}

/* ---------- 5. Surfaces ------------------------------------------------------------------------------------------- */
.cd{background:var(--card);border:1px solid var(--bd-soft);border-radius:var(--r-lg);box-shadow:var(--sh-1)}
:root[data-theme=light] .cd{border-color:var(--bd)}
.ch{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:10px 18px;border-bottom:1px solid var(--bd-soft)}
.ch h3{margin:0;font-size:var(--fs-md);font-weight:600;letter-spacing:-.005em}
.ch h2{margin:0;font-size:16px}
.ch>.mu,.ch>a.mu{font-size:12.5px;font-weight:500}
.ch>a.mu:hover{color:var(--ac)}
.cb{padding:16px 18px}
.cb>h2:first-child,.cb>h3:first-child{margin-top:0}
.cb>form[data-auth-form]{max-width:460px}
.cb h3{margin:18px 0 8px;font-size:var(--fs-md)}
.stk{display:grid;gap:16px}
.gd{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:16px;align-items:start}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}
.tbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}

/* metric tiles */
.kp{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 16px}
.kc{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:96px;padding:16px 18px}
.kc span{color:var(--mu);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.35}
[dir=rtl] .kc span{font-size:12.5px}
.kc b{display:block;font-size:var(--fs-kpi);line-height:1.1;font-weight:600;letter-spacing:-.015em;color:var(--tx)}
.kc::after{content:"";position:absolute;inset-inline-start:18px;top:0;width:28px;height:2px;background:var(--gold-line)}

/* status summary strip (dashboard) */
.sl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;margin:0 0 12px;padding:11px 18px;border:1px solid var(--bd-soft);border-radius:var(--r-lg);background:var(--card);color:var(--mu);font-size:var(--fs)}
:root[data-theme=light] .sl{border-color:var(--bd)}
.sl b{color:var(--tx);font-weight:600;margin-inline-end:4px;font-variant-numeric:tabular-nums}
.sl>span{display:inline-flex;align-items:center}

/* list rows */
.li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--bd-soft);font-size:var(--fs)}
.li:last-child{border-bottom:0}
.li>span:first-child{min-width:0}
.li small{font-size:12px}
.li b{font-weight:600}

/* ---------- 6. Status: dots, badges, bars ------------------------------------------------------------------------- */
.bl{--c:var(--bl)}.ye{--c:var(--ye)}.re{--c:var(--re)}.gr{--c:var(--gr)}.gy{--c:var(--gy)}
.d{display:inline-block;width:7px;height:7px;border-radius:50%;margin-inline-end:8px;background:var(--c);flex:none;vertical-align:1px}
.b{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--r-sm);font-size:11.5px;font-weight:600;line-height:1;letter-spacing:.01em;color:var(--c,var(--mu));background:color-mix(in srgb,var(--c,var(--mu)) 13%,transparent);border:1px solid color-mix(in srgb,var(--c,var(--mu)) 26%,transparent);white-space:nowrap;vertical-align:middle}
.b.sig{border-color:var(--re);font-weight:700}
.bar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--elev2);margin:2px 0 12px;gap:2px}
.bar i{display:block;background:var(--c);min-width:0}
.pbw{display:inline-block;width:64px;height:4px;border-radius:2px;background:var(--elev2);overflow:hidden;vertical-align:middle}
.pbw.wide{display:block;width:100%;margin-top:8px;height:5px}
.pbi{display:block;height:100%;background:var(--ring);border-radius:inherit}
.rk{font-size:var(--fs-sm);color:var(--mu);display:inline-flex;align-items:center}
tr.hrow td:first-child{box-shadow:inset 3px 0 0 var(--re)}
[dir=rtl] tr.hrow td:first-child{box-shadow:inset -3px 0 0 var(--re)}

/* ---------- 7. Buttons -------------------------------------------------------------------------------------------- */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--h);padding:0 14px;border:1px solid var(--bd);background:var(--elev);color:var(--tx);border-radius:var(--r);font-size:var(--fs);font-weight:500;line-height:1;white-space:nowrap;transition:background-color var(--t),border-color var(--t),color var(--t),box-shadow var(--t)}
:root[data-theme=light] .bt:not(.pr){background:#fff}
.bt>svg{width:16px;height:16px;color:var(--mu)}
.bt:hover{background:var(--elev2);border-color:var(--bd-strong)}
:root[data-theme=light] .bt:not(.pr):hover{background:var(--hov)}
.bt:not(:disabled):active{transform:translateY(.5px)}
.bt.pr{background:var(--acb);border-color:var(--acb);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 1px 2px rgba(0,0,0,.25)}
.bt.pr>svg{color:#fff}
.bt.pr:not(:disabled):hover{background:var(--acb-h);border-color:var(--acb-h)}
.bt:disabled,.bt[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.bt.pr:disabled{box-shadow:none}
a.bt{text-decoration:none}
.lk{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:start;cursor:pointer;transition:color var(--t)}
.lk:hover{color:var(--ac)}
a.lk:hover,.cb a.lk:hover{text-decoration:underline;text-underline-offset:3px}
.ft{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.ft button:not(.bt){height:var(--h-sm);border:1px solid transparent;background:none;color:var(--mu);padding:0 11px;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;transition:background-color var(--t),color var(--t)}
.ft button:not(.bt):hover{color:var(--tx);background:var(--hov)}
.ft button.on{background:var(--acs);border-color:var(--acs-bd);color:var(--ac-on);font-weight:600}
.tx2{border:0;background:none;color:var(--mu);font-size:18px;line-height:1;padding:0 4px;border-radius:4px}
.tx2:hover{color:var(--tx)}

/* ---------- 8. Tabs ----------------------------------------------------------------------------------------------- */
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--bd-soft);margin:0 0 18px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a,.tabs button{flex:none;white-space:nowrap;padding:11px 0 12px;color:var(--mu);border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;font-size:var(--fs);font-weight:500;transition:color var(--t),border-color var(--t)}
.tabs a:hover,.tabs button:hover{color:var(--tx)}
.tabs a.on,.tabs button.on{color:var(--tx);border-bottom-color:var(--ring);font-weight:600}
:root[data-theme=light] .tabs{border-bottom-color:var(--bd)}
/* segmented controls: Audit section tabs + AI main tabs */
.section-tabs,.ai-main-tabs{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;margin:0 0 18px;background:var(--card);border:1px solid var(--bd-soft);border-radius:var(--r-lg);max-width:100%}
:root[data-theme=light] .section-tabs,:root[data-theme=light] .ai-main-tabs{background:var(--elev2);border-color:var(--bd)}
.section-tabs a,.ai-main-tabs button{display:inline-flex;align-items:center;min-height:34px;padding:0 15px;border:1px solid transparent;border-radius:7px;background:none;color:var(--mu);font-size:var(--fs);font-weight:500;transition:background-color var(--t),color var(--t)}
.section-tabs a:hover,.ai-main-tabs button:hover{color:var(--tx);background:var(--hov)}
.section-tabs a.on,.ai-main-tabs button.on{background:var(--acs);border-color:var(--acs-bd);color:var(--ac-on);font-weight:600}
:root[data-theme=light] .section-tabs a.on,:root[data-theme=light] .ai-main-tabs button.on{background:#fff;border-color:var(--bd);color:var(--ac);box-shadow:var(--sh-1)}
.ai-tool-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 16px}
.ai-tool-tabs button{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border:1px solid var(--bd);background:transparent;color:var(--mu);border-radius:999px;font-size:12.5px;font-weight:500;transition:color var(--t),border-color var(--t),background-color var(--t)}
.ai-tool-tabs button:hover{color:var(--tx);border-color:var(--bd-strong)}
.ai-tool-tabs button.on{border-color:var(--acs-bd);color:var(--ac-on);background:var(--acs)}
.ai-workspace-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 18px}

/* ---------- 9. Tables --------------------------------------------------------------------------------------------- */
.tw{overflow-x:auto;scrollbar-width:thin}
.tb{width:100%;border-collapse:collapse}
.tb th{height:40px;padding:0 14px;background:var(--th);color:var(--mu);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:start;white-space:nowrap;border-bottom:1px solid var(--bd-soft)}
[dir=rtl] .tb th{font-size:12px}
.tb th .lk{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;display:inline-flex;align-items:center;gap:4px}
.tb th .lk:hover{color:var(--tx)}
.tb td{height:48px;padding:10px 14px;border-bottom:1px solid var(--bd-soft);white-space:nowrap;font-size:var(--fs);vertical-align:middle}
.tb td b{font-weight:600}
.tb td small,.tb td .mu{font-size:12px}
.tb tbody tr{transition:background-color .1s}
.tb tbody tr:hover td{background:var(--hov)}
.tb tr:last-child td{border-bottom:0}
.tb td.ac,.tb th.ac{width:48px;min-width:48px;padding-inline:4px;text-align:center}
.tb.fx td,.tb.fx th{padding-inline:10px}
.tb td>.em,.tb td .em{white-space:normal}
.cd>.tw:first-child .tb thead th:first-child,.cd>.tw:first-child .tb thead th:first-child{border-start-start-radius:var(--r-lg)}
.cd>.tw:first-child .tb thead th:last-child{border-start-end-radius:var(--r-lg)}
.tc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* RTL: Latin values keep their own direction so truncation drops the end, not the beginning. */
[dir=rtl] .tc,[dir=rtl] .tc .lk{unicode-bidi:plaintext;text-align:right}
.tc .lk{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wrapt{white-space:normal!important;overflow-wrap:anywhere}
.tl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--bd-soft)}
.pg{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--bd-soft);color:var(--mu);font-size:12.5px}
.pg .bt{height:var(--h-sm);padding:0 12px;font-size:12.5px}
@media(max-width:1500px){.xl{display:none}}
@media(max-width:1400px){.xa{display:none}}
@media(max-width:1360px){.xm{display:none}}
@media(max-width:1240px){.xh{display:none}}

/* ---------- 10. Empty + loading states ---------------------------------------------------------------------------- */
.em{text-align:center;padding:44px 20px;color:var(--mu)}
.em>svg{width:44px;height:44px;padding:11px;margin:0 auto 6px;display:block;color:var(--mu);background:var(--elev);border:1px solid var(--bd-soft);border-radius:var(--r-lg)}
:root[data-theme=light] .em>svg{background:var(--elev2);border-color:var(--bd)}
.em h4{margin:10px 0 4px;color:var(--tx);font-size:var(--fs-md);font-weight:600}
.em p{max-width:440px;margin:0 auto 16px;line-height:1.6;font-size:var(--fs)}
.em .spin{width:18px;height:18px;margin-bottom:10px}
.em.em-compact{padding:16px 12px}
.em.em-compact>svg{display:none}
.em.em-compact h4{margin:0 0 3px;font-size:var(--fs)}
.em.em-compact p{margin:0 auto 10px;font-size:12.5px;line-height:1.5}
.em.em-compact .bt{height:var(--h-sm);font-size:12.5px}
.dashboard-empty-inline{padding:6px 0;color:var(--mu);font-size:var(--fs)}
.spin{display:inline-block;width:13px;height:13px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;border-radius:50%;animation:aisp .8s linear infinite;vertical-align:-2px}
.em .spin,.cb>.spin{color:var(--ring)}
@keyframes aisp{to{transform:rotate(360deg)}}

/* ---------- 11. Forms --------------------------------------------------------------------------------------------- */
.fg{margin-bottom:16px}
.fg label,.ck{font-size:12.5px;color:var(--tx2);font-weight:500}
.fg label{display:block;margin-bottom:6px}
input.f,select.f,textarea.f,.fg input:not([type=checkbox]):not([type=radio]):not([type=file]),.fg select,.fg textarea{width:100%;min-height:var(--h);height:var(--h);padding:0 12px;background:var(--field);color:var(--tx);border:1px solid var(--bd);border-radius:var(--r);font-size:var(--fs);transition:border-color var(--t),box-shadow var(--t),background-color var(--t)}
input.f{width:260px;max-width:100%}
.fg input.f,.r2 input.f,.ai-company-form input.f,.admin-create-grid input.f,.admin-organization-create input.f{width:100%}
textarea.f,.fg textarea{height:auto;min-height:96px;padding:10px 12px;line-height:1.6;resize:vertical}
input.f::placeholder,textarea.f::placeholder,.fg input::placeholder,.fg textarea::placeholder{color:var(--ph)}
input.f:hover,select.f:hover,textarea.f:hover,.fg input:hover,.fg select:hover,.fg textarea:hover{border-color:var(--bd-strong)}
input.f:focus,select.f:focus,textarea.f:focus,.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-a);outline:0}
input.f:disabled,select.f:disabled,textarea.f:disabled,.fg input:disabled,.fg select:disabled,.fg textarea:disabled,input.f[readonly]{opacity:.65;cursor:not-allowed}
select.f:not([multiple]),.fg select:not([multiple]){appearance:none;-webkit-appearance:none;padding-inline-end:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px}
[dir=rtl] select.f:not([multiple]),[dir=rtl] .fg select:not([multiple]){background-position:left 12px center}
:root[data-theme=light] select.f:not([multiple]),:root[data-theme=light] .fg select:not([multiple]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A5870' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
select.f option,.fg select option{background:var(--elev);color:var(--tx)}
select[multiple]{height:auto;min-height:96px;padding:6px}
input[type=file]{height:auto!important;min-height:var(--h);padding:4px!important;font-size:12.5px;color:var(--mu);cursor:pointer}
input[type=file]::file-selector-button{height:28px;margin-inline-end:10px;padding:0 12px;border:1px solid var(--bd);border-radius:var(--r-sm);background:var(--elev2);color:var(--tx);font:500 12.5px var(--font);cursor:pointer}
input[type=file]::file-selector-button:hover{border-color:var(--bd-strong)}
input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--acb);flex:none;margin:0}
.fg input[type=checkbox],.fg input[type=radio]{width:16px;height:auto;padding:0}
.ck{display:flex;align-items:center;gap:8px}
.fg.er input,.fg.er select,.fg.er textarea{border-color:var(--re)}
.fg.er input:focus,.fg.er select:focus,.fg.er textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--re) 25%,transparent)}
form input:user-invalid,form select:user-invalid,form textarea:user-invalid{border-color:var(--re)}
.em2{display:block;margin-top:5px;color:var(--re);font-size:12px}
.rq{color:var(--re);margin-inline-start:3px;font-style:normal}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
form[data-f=klsearch] .r2{grid-template-columns:minmax(0,1fr) auto}
.ml2{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--mu);font-size:12px}
.ml2 input{flex:1;max-width:360px;height:30px;background:var(--field);border:1px solid var(--bd);border-radius:var(--r-sm);padding:0 9px;color:var(--mu);font-size:12px}

/* banners */
.bn{position:relative;padding:11px 14px 11px 16px;padding-inline:16px 14px;margin-bottom:14px;border-radius:var(--r);font-size:var(--fs);line-height:1.55;color:var(--tx);background:color-mix(in srgb,var(--c,var(--bl)) 9%,var(--card));border:1px solid color-mix(in srgb,var(--c,var(--bl)) 30%,transparent);box-shadow:inset 3px 0 0 var(--c,var(--bl))}
[dir=rtl] .bn{box-shadow:inset -3px 0 0 var(--c,var(--bl))}
.bn .bt{height:var(--h-sm);margin-inline-start:8px;font-size:12.5px}
blockquote{margin:10px 0;padding:10px 14px;border-inline-start:2px solid var(--gold-line);background:var(--th);color:var(--tx2);font-size:var(--fs-sm);line-height:1.65;border-radius:0 var(--r-sm) var(--r-sm) 0}
[dir=rtl] blockquote{border-radius:var(--r-sm) 0 0 var(--r-sm)}
blockquote small{display:block;margin-top:5px;color:var(--mu)}

/* ---------- 12. Overlays ------------------------------------------------------------------------------------------ */
.ov{position:fixed;inset:0;background:rgba(3,7,16,.72);z-index:40;display:flex;align-items:center;justify-content:center;padding:16px;animation:fade .14s var(--ease)}
:root[data-theme=light] .ov{background:rgba(11,20,38,.42)}
.md{width:min(500px,100%);max-height:92vh;overflow:auto;background:var(--elev);border:1px solid var(--bd);border-radius:var(--r-xl);box-shadow:var(--sh-modal);animation:rise .16s var(--ease)}
.md.wd{width:min(720px,100%)}
.md.xw{width:min(980px,100%)}
.ov.dr{justify-content:flex-end;align-items:stretch;padding:0}
.dw{width:min(440px,100%);height:100%;overflow:auto;background:var(--elev);border-inline-start:1px solid var(--bd);display:flex;flex-direction:column;box-shadow:var(--sh-modal)}
.dw .mb{flex:1}
.mh{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:12px 20px;border-bottom:1px solid var(--bd-soft)}
.mh h3{margin:0;font-size:15.5px;font-weight:600}
.mh .ib{margin-inline-end:-8px}
.mb{padding:18px 20px}
.mf{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--bd-soft);background:color-mix(in srgb,var(--card) 60%,var(--elev))}
:root[data-theme=light] .mf{background:var(--elev2)}
.hl{display:block;width:100%;padding:11px 14px;border:1px solid var(--bd-soft);border-radius:var(--r);margin-bottom:8px;background:var(--card);text-align:start;transition:border-color var(--t)}
.hl:hover{border-color:var(--bd-strong)}
.hl b{display:block;margin-bottom:2px}
.st{padding-inline-start:20px}
.st li{margin-bottom:7px}
#tsw{position:fixed;bottom:22px;inset-inline-start:50%;transform:translateX(-50%);display:flex;flex-direction:column-reverse;gap:8px;z-index:60;max-width:92vw;pointer-events:none}
[dir=rtl] #tsw{transform:translateX(50%)}
.ts{position:fixed;bottom:22px;inset-inline-start:50%;transform:translateX(-50%);background:var(--elev);color:var(--tx);border:1px solid var(--bd);border-radius:var(--r-lg);padding:11px 14px;z-index:60;box-shadow:var(--sh-pop),inset 3px 0 0 var(--ring);font-size:var(--fs)}
[dir=rtl] .ts{box-shadow:var(--sh-pop),inset -3px 0 0 var(--ring)}
#tsw .ts{position:static;transform:none;display:flex;align-items:center;gap:12px;pointer-events:auto;animation:rise .16s var(--ease)}
.ts.te{box-shadow:var(--sh-pop),inset 3px 0 0 var(--re)}
[dir=rtl] .ts.te{box-shadow:var(--sh-pop),inset -3px 0 0 var(--re)}
@keyframes fade{from{opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(6px)}}

/* ---------- 13. Dashboard, events, help ----------------------------------------------------------------------------*/
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
.dashboard-shortcuts>a{display:flex;align-items:flex-start;gap:12px;min-width:0;min-height:72px;padding:12px;border:1px solid var(--bd-soft);border-radius:var(--r);color:var(--tx);transition:border-color var(--t),background-color var(--t)}
:root[data-theme=light] .dashboard-shortcuts>a{border-color:var(--bd)}
.dashboard-shortcuts>a:hover{background:var(--hov);border-color:var(--acs-bd)}
.dashboard-shortcuts>a>svg{width:32px;height:32px;padding:7px;color:var(--ac);background:var(--acs);border-radius:var(--r)}
.dashboard-shortcuts>a span{display:grid;gap:3px;min-width:0}
.dashboard-shortcuts b{font-size:var(--fs);font-weight:600}
.dashboard-shortcuts small{color:var(--mu);font-size:12px;line-height:1.45}
.ev{display:flex;gap:16px;padding:16px;align-items:flex-start;margin-bottom:10px}
.ed{width:52px;flex:none;text-align:center;border:1px solid var(--bd);border-radius:var(--r);padding:6px 0 5px;background:var(--bg)}
.ed b{display:block;font-size:19px;line-height:1.15;font-weight:600}
.ed span{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.eb{flex:1;min-width:0}
.eb h4{margin:0 0 4px;font-size:var(--fs-md)}
.hc{display:grid;grid-template-columns:232px minmax(0,1fr) 200px;gap:16px;align-items:start}
.hcl{padding:8px}
.hca{padding:24px 28px;line-height:1.7}
.hca h2{font-size:var(--fs-md);margin:24px 0 8px}
.hca h2:first-child{margin-top:0}
.hcl h5,.hcr h5{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--dis);margin:10px 10px 6px}
.hcr button{display:block;width:100%;text-align:start;border:0;background:none;padding:4px 10px;color:var(--mu);border-inline-start:1px solid var(--bd);font-size:12.5px}
.hcr button:hover{color:var(--tx);border-inline-start-color:var(--ring)}
.client-workflow-note{margin:0;padding:14px 18px;line-height:1.6;border-bottom:1px solid var(--bd-soft)}
.client-profile-heading{align-items:flex-start}
.client-profile-meta{margin-top:6px}
.client-profile-badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}

/* ---------- 14. Audit file workflow --------------------------------------------------------------------------------*/
.af-meta{margin:-8px 0 16px;font-size:var(--fs-sm);color:var(--mu)}
.stage-bar{display:flex;flex-direction:column;gap:12px;padding:14px 18px;margin-bottom:16px}
.stage-bar-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:var(--fs-sm);color:var(--mu)}
.stage-bar-top b{color:var(--tx)}
.stage-segs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}
.stage-segs .seg{height:4px;border-radius:2px;background:var(--elev2)}
:root[data-theme=light] .stage-segs .seg:not(.done):not(.cur){background:var(--bd)}
.stage-segs .seg.done{background:var(--acb)}
.stage-segs .seg.cur{background:var(--gold)}
.stp{display:flex;gap:6px;overflow-x:auto;margin:12px 0 14px;padding-bottom:2px}
.stc{--c:var(--mu);flex:1;min-width:136px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--bd-soft);border-radius:var(--r);background:var(--card);color:var(--tx);text-align:start;transition:border-color var(--t)}
.stc:not(:disabled):hover{border-color:var(--bd-strong)}
.stc.ip{--c:var(--bl)}.stc.done{--c:var(--gr)}.stc.blocked{--c:var(--re)}
.stc.cur{border-color:var(--gold-line);box-shadow:inset 0 -2px 0 var(--gold)}
.stc:disabled{cursor:default}
.stc .sn{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);font-variant-numeric:tabular-nums}
.stc .sl{display:block;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;margin:0;padding:0;border:0;background:none;color:inherit}
.rmx{display:grid;grid-template-columns:auto repeat(3,1fr);gap:4px;font-size:12px;max-width:460px;align-items:center}
.rmx>div{padding:7px;text-align:center;border:1px solid var(--bd-soft);border-radius:var(--r-sm)}
.rmx>.rh{border:0;color:var(--mu)}
.asg{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.engagement-form{margin:14px 0}
.engagement-form .ch h2{margin:0;font-size:16px}
.engagement-form-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center}
.engagement-scope-note{margin:12px 0;font-size:var(--fs-sm);line-height:1.6}

/* ---------- 15. AI workspace ---------------------------------------------------------------------------------------*/
.ai-page-title{align-items:flex-start}
.ai-page-title h1{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ai-context-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;margin:0 0 16px;padding:12px 18px}
.ai-context-main{display:grid;gap:3px;min-width:0}
.ai-context-main>b{font-size:var(--fs-md);font-weight:600}
.ai-context-label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ai-context-controls{display:flex;align-items:end;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.ai-context-controls label{display:grid;gap:5px;font-size:12px;color:var(--mu)}
.ai-context-controls .f{min-width:260px;max-width:100%}
.ai-context-panel .ai-context-note{display:none}
.ai-human-review{margin:12px 0}
.ai-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.ai-capability{display:flex;align-items:flex-start;gap:14px;margin:0;min-width:0;min-height:150px;padding:18px}
.ai-capability-icon{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:var(--r);color:var(--ac);background:var(--acs)}
.ai-capability h2{margin:0 0 6px;font-size:15px}
.ai-capability p{margin:0 0 12px;color:var(--mu);font-size:var(--fs);line-height:1.6;max-width:62ch}
.ai-capability .ft{gap:8px}
.ai-company-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;margin:14px 0}
.ai-company-form label{display:grid;gap:6px;color:var(--tx2);font-size:12.5px;font-weight:500}
.ai-company-form button,.ai-company-form>p,.ai-company-form>.bn{grid-column:1/-1}
.ai-company-form>p{margin:0}
.ai-company-form>button{justify-self:start}
.ai-company-results{display:grid;gap:12px}
.ai-doc-source{padding:16px 0;border-bottom:1px solid var(--bd-soft)}
.ai-doc-source:last-child{border-bottom:0}
.ai-doc-source>a{color:var(--ac);font-weight:600}
.ai-doc-source>p{margin:8px 0 0;font-size:var(--fs);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.ai-doc-source .mu{margin-top:4px;font-size:11.5px}
.ai-doc-selected{margin:10px 0 14px;padding:9px 12px;border:1px solid var(--bd-soft);border-radius:var(--r);background:var(--th);font-size:var(--fs-sm)}
.ai-doc-refs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 14px}
.ai-doc-form{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.ai-doc-form label{display:flex;flex-direction:column;gap:6px;width:100%;font-size:12.5px;font-weight:500;color:var(--tx2)}
.ai-doc-form select.f{width:100%;max-width:640px}
.ai-doc-form textarea.f{width:100%;min-height:124px;font-size:var(--fs-md);line-height:1.7;border-radius:var(--r-lg);padding:12px 14px}
.ai-doc-form .bt.pr{align-self:flex-start;height:var(--h-lg);padding-inline:20px}
.ai-review-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:2px 0}
.ai-review-summary .mu{flex:1 1 240px}
.ai-file-hub{display:grid;gap:16px}
.ai-file-hub-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border:1px solid var(--bd-soft);border-radius:var(--r-lg);background:var(--card)}
.ai-file-hub-heading h2{margin:5px 0 0;font-size:17px}
.ai-file-hub-heading p{margin:3px 0 0}
.ai-file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ai-file-action{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px}
.ai-file-action h3,.ai-file-action p{margin:0}
.ai-file-action p{flex:1;font-size:var(--fs);line-height:1.6;color:var(--mu)}
.ai-chat .cb{padding:20px}
.ai-chat-intro{margin:0 0 14px;font-size:var(--fs);color:var(--mu)}
.ai-chat-msg{margin:10px 0;padding:14px 16px;background:var(--th);border:1px solid var(--bd-soft);border-radius:var(--r-lg)}
.ai-chat-user{background:var(--acs);border-color:var(--acs-bd)}
.ai-chat-text{white-space:pre-wrap;margin-top:6px;line-height:1.75;font-size:var(--fs-md);overflow-wrap:anywhere}
.ai-chat-actions{display:flex;gap:8px;margin-top:10px}
.ai-chat-input{display:block;width:100%;min-height:96px;background:var(--field);color:var(--tx);border:1px solid var(--bd);border-radius:var(--r-lg);padding:12px 14px;font-size:var(--fs-md);line-height:1.65;resize:vertical;transition:border-color var(--t),box-shadow var(--t)}
.ai-chat-input:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--ring-a);outline:0}

/* ---------- 16. Platform administration (layout rules kept verbatim from 2026-10-21; tests pin them) -------------- */
.admin-create-panel, .admin-user-list { margin: 14px 0; }
.admin-create-panel .ch > div > p, .admin-user-list .ch > div > p { margin: 3px 0 0; font-size: 12px; }
.admin-create-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 16px; align-items: end; }
.admin-create-grid > label, .admin-organization-create > label { display: grid; gap: 6px; color: var(--mu); font-size: 12px; }
.admin-create-action { display: flex; align-items: center; gap: 8px; }
.admin-create-grid .admin-create-action { grid-column: 1 / -1; padding-top: 2px; }
.admin-user-list .tw { container-type: inline-size; }
.admin-user-table { width: 100%; min-width: 760px; table-layout: fixed; }
.admin-user-table th:nth-child(1) { width: 32%; }
.admin-user-table th:nth-child(2) { width: 48%; }
.admin-user-table th:nth-child(3) { width: 20%; }
.admin-user-table td { vertical-align: top; white-space: normal; }
.admin-user-table td > .b { white-space: normal; overflow-wrap: anywhere; }
.admin-user-table td:last-child > .b { border-radius: 6px; }
.admin-user-table td > .b { height: auto; min-height: 22px; padding-block: 4px; line-height: 1.35; }
.admin-user-edit { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr); gap: 9px 10px; align-items: end; }
.admin-user-edit label { display: grid; min-width: 0; gap: 4px; color: var(--mu); font-size: 11px; }
.admin-user-edit input.f, .admin-user-edit select.f { width: 100%; min-width: 0; }
.admin-user-edit label:nth-child(3) { max-width: 220px; }
.admin-user-edit > button { justify-self: start; }
.admin-user-status { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 9px; }
.admin-user-status .bt { height: 28px; }
.admin-access-heading { display: grid; gap: 2px; margin-bottom: 8px; }
.admin-access-heading > b { font-size: 12px; }
.admin-access-heading > small { font-size: 11px; }
.admin-membership-list { display: grid; gap: 7px; }
.admin-membership-item { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(130px, .8fr) auto; align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--bd); border-radius: 9px; background: var(--bg); }
.admin-membership-item > b { overflow-wrap: anywhere; font-size: 12px; }
.admin-membership-item .ft { flex-wrap: nowrap; }
.admin-membership-item .bt, .admin-assignment .bt { white-space: nowrap; }
.admin-assignment { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(120px, .8fr) auto; align-items: center; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--bd); }
.admin-user-table .danger { color: var(--re); border-color: color-mix(in srgb, var(--re) 45%, var(--bd)); }
.admin-audit-note { margin-top: 12px; }
.admin-organization-create { display: grid; grid-template-columns: minmax(240px, 1fr) auto; align-items: end; gap: 12px; }
.admin-organization-table td { vertical-align: middle; white-space: normal; }
.admin-organization-table td:first-child code { color: var(--mu); font-size: 11px; }
.admin-organization-name { margin-bottom: 5px; }
.admin-org-user-count { display: inline-grid; min-width: 30px; min-height: 30px; place-items: center; border-radius: 8px; background: var(--hov); font-weight: 650; }
.admin-organization-table select.f { min-width: 96px; }
.admin-organization-table td:nth-child(4) { min-width: 168px; font-size: 12px; }
.admin-organization-table td:nth-child(4) .bt { margin-top: 4px; }

@container (max-width: 960px) {
  .admin-membership-item, .admin-assignment { grid-template-columns: minmax(0, 1fr); }
  .admin-membership-item .ft { flex-wrap: wrap; }
}

@container (min-width: 1100px) {
  .admin-user-edit { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-user-edit label:nth-child(3) { grid-column: 1 / -1; }
}

@container (max-width: 759px) {
  .admin-user-table { min-width: 0; table-layout: auto; }
  .admin-user-table thead { display: none; }
  .admin-user-table tbody, .admin-user-table tbody tr, .admin-user-table tbody td { display: block; width: 100%; }
  .admin-user-table tbody tr { padding: 8px 0; border-bottom: 1px solid var(--bd); }
  .admin-user-table tbody td { padding: 8px 12px; border: 0; overflow-wrap: anywhere; }
  .admin-user-table tbody td + td { border-top: 1px solid var(--bd); }
}
.admin-user-table th, .admin-user-table td { white-space: normal; }
.admin-org-user-count { background: var(--elev2); font-variant-numeric: tabular-nums; }
.admin-membership-item { background: var(--th); border-color: var(--bd-soft); }

@media (max-width: 760px) {
  #main > .hd > .mu, #main > .hd > a[aria-label="Help"] { display: none; }
}

/* ---------- 17. Sign-in ----------------------------------------------------------------------------------------------
   Split screen. The left plane is always deep navy (brand surface); the right follows the theme. Layout follows dir, so
   Arabic mirrors (brand plane on the right). No image assets exist, so the visual is CSS linework only. */
.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);width:100%;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--tx);overflow:auto}
.login-promo{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;min-height:100dvh;overflow:hidden;padding:clamp(36px,5.2vw,72px);background:#08101F;color:#E8EEF7;border-inline-end:1px solid #1A2640}
.login-promo::before{position:absolute;z-index:-2;inset:0;content:"";background-image:linear-gradient(rgba(148,163,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.055) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(120% 90% at 70% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(120% 90% at 70% 40%,#000 20%,transparent 75%)}
.login-promo::after{position:absolute;z-index:-1;inset-block:0;inset-inline-end:0;width:1px;content:"";background:linear-gradient(transparent,rgba(197,164,109,.45) 30%,rgba(197,164,109,.45) 70%,transparent)}
.login-art{position:absolute;z-index:-1;inset:8% -4% 46% 52%;pointer-events:none;opacity:.75}
[dir=rtl] .login-art{inset:8% 52% 46% -4%}
.login-art::before,.login-art::after,.login-art span{position:absolute;inset:0;content:"";border:1px solid rgba(126,166,248,.13);transform:skewY(-28deg) rotate(28deg);border-radius:2px}
.login-art::before{inset:6% 16% 20% 4%}
.login-art::after{inset:28% 0 0 26%;border-color:rgba(197,164,109,.26)}
.login-art span:nth-child(1){inset:2% 46% 36% 28%}
.login-art span:nth-child(2){inset:34% 20% 2% 54%;background:rgba(37,99,235,.035)}
.login-art span:nth-child(3){inset:50% 54% 6% 6%}
.login-promo-content{width:min(560px,100%);margin:auto 0;position:relative}
.login-brand,.login-card-brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;letter-spacing:.24em;color:#F1F4F9}
.login-brand .logo,.login-card-brand .logo{width:38px;height:38px;border-radius:10px;font-size:17px;background:#101B31;border-color:rgba(197,164,109,.55);color:#C5A46D}
.login-tagline{margin:12px 0 0;margin-inline-start:50px;color:#C5A46D;font-size:12.5px;font-weight:500;letter-spacing:.04em}
.login-message{margin-top:clamp(40px,8vh,84px)}
.login-message h1{margin:0;max-width:16ch;font-size:clamp(32px,3.3vw,46px);line-height:1.18;letter-spacing:-.02em;font-weight:600;color:#F4F7FB}
[dir=rtl] .login-message h1{line-height:1.4;letter-spacing:0}
.login-message h1 span{color:#9DBAF5;font-weight:500}
.login-description{max-width:50ch;margin:22px 0 0;color:#AEBBCD;font-size:15px;line-height:1.8}
.login-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;max-width:520px;margin:36px 0 0;padding:0;list-style:none;border-top:1px solid rgba(148,163,184,.14)}
.login-features li{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid rgba(148,163,184,.14);color:#D7DFEA;font-size:13.5px}
.login-features svg{width:17px;height:17px;color:#8FB0F2}
.login-security{display:flex;align-items:flex-start;gap:10px;max-width:520px;margin-top:22px;color:#93A2B8;font-size:12.5px;line-height:1.7}
.login-security svg{flex:none;width:16px;height:16px;margin-top:3px;color:#C5A46D}
.login-promo-footer{position:relative;margin-top:40px;color:#6F7F97;font-size:11.5px;letter-spacing:.06em}
.login-promo-footer span{padding:0 6px;color:#3D4D68}
.login-main{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:84px clamp(24px,5vw,72px) 36px;background:var(--bg)}
.login-controls{position:absolute;top:22px;inset-inline-end:clamp(20px,4vw,48px);display:flex;gap:6px}
.login-controls .ib{height:36px;min-width:36px;border:1px solid var(--bd);border-radius:var(--r);color:var(--mu);background:var(--card)}
.login-controls .ib:hover{color:var(--tx);border-color:var(--bd-strong)}
.lt{position:fixed;top:12px;inset-inline-end:12px;display:flex;gap:4px}
.login-controls.lt{position:absolute}
.lg{flex:1;display:grid;place-items:center;padding:20px;overflow:auto}
.login-main-content{width:min(408px,100%);margin:auto}
.lc{width:min(400px,100%);padding:24px}
.login-card{width:100%;padding:36px 34px 30px;border:1px solid var(--bd-soft);border-radius:var(--r-xl);background:var(--card);box-shadow:0 1px 0 rgba(255,255,255,.02) inset,0 24px 60px -30px rgba(0,0,0,.6)}
:root[data-theme=light] .login-card{border-color:var(--bd);box-shadow:0 22px 50px -28px rgba(11,20,38,.22)}
.login-card-brand{display:none}
.login-card h2{margin:0 0 6px;font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--tx)}
[dir=rtl] .login-card h2{letter-spacing:0}
.login-card-subtitle{margin:0 0 26px;color:var(--mu);font-size:var(--fs);line-height:1.6}
.login-card .bn{margin-bottom:18px}
.login-card form{margin:0}
.login-card .fg{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;color:var(--tx2);font-size:12.5px;font-weight:500}
.login-card .fg>label{margin:0}
.login-card .fg input.f{height:var(--h-lg);min-height:var(--h-lg);padding:0 14px;font-size:var(--fs-md);background:var(--field)}
.pw-field{position:relative;display:block}
.pw-field input.f{padding-inline-end:48px!important}
.pw-toggle{position:absolute;top:50%;inset-inline-end:5px;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:var(--r-sm);background:none;color:var(--mu);transition:color var(--t),background-color var(--t)}
.pw-toggle:hover{color:var(--tx);background:var(--hov)}
.pw-toggle svg{width:17px;height:17px}
.login-card .login-submit{width:100%;height:var(--h-lg);margin-top:4px;font-size:var(--fs-md);font-weight:600;gap:10px}
.login-card .login-submit:focus-visible{outline:2px solid var(--ring);outline-offset:3px}
.login-card .login-submit .spin{border-color:rgba(255,255,255,.35);border-top-color:#fff}
.login-forgot{display:flex;justify-content:center;margin-top:14px}
.login-forgot .bt,.login-back{height:32px;border:0;background:transparent;color:var(--ac);font-weight:500;box-shadow:none;padding:0 8px}
.login-forgot .bt:hover,.login-back:hover{background:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--ac)}
.login-back{display:flex;margin:14px auto 0}
.login-card-security{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--bd-soft);color:var(--mu);font-size:12px;line-height:1.55;text-align:center}
.login-card-security svg{width:15px;height:15px;margin-top:2px;color:var(--dis)}
.login-footer{display:flex;justify-content:space-between;gap:14px;margin-top:28px;padding-inline:4px;color:var(--dis);font-size:11.5px}

/* ---------- 18. Responsive ------------------------------------------------------------------------------------------ */
@media(max-width:1100px){
 .gd,.hc{grid-template-columns:minmax(0,1fr)}
 .g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
 .hcr{display:none}
}
@media(max-width:1040px){
 .login-shell{grid-template-columns:minmax(0,.9fr) minmax(400px,1fr)}
 .login-promo{padding:44px}
 .login-features{grid-template-columns:1fr}
}
@media(max-width:860px){
 .login-shell{display:flex;flex-direction:column}
 .login-promo{min-height:auto;padding:28px 24px 26px;border-inline-end:0;border-bottom:1px solid #1A2640}
 .login-promo::after{display:none}
 .login-promo-content{margin:0}
 .login-art{inset:-20% -10% -30% 45%;opacity:.7}
 [dir=rtl] .login-art{inset:-20% 45% -30% -10%}
 .login-message{margin-top:22px}
 .login-message h1{font-size:26px;max-width:22ch}
 .login-description{margin-top:10px;font-size:13.5px;line-height:1.65}
 .login-features,.login-security,.login-promo-footer{display:none}
 .login-main{min-height:auto;flex:1;align-items:flex-start;padding:28px 20px 28px}
 .login-controls{top:22px;inset-inline-end:18px}
 .login-controls.lt{position:absolute}
 .login-main-content{margin:0 auto}
 .login-card{padding:28px 22px 24px}
}
@media(max-width:860px){.login-shell{position:relative}.login-main{position:static}.login-shell .login-controls,.login-controls.lt{position:absolute;top:22px;inset-inline-end:18px;z-index:2}.login-controls .ib{background:rgba(17,27,46,.85);border-color:#26344B;color:#C6D0DE}.login-brand{padding-inline-end:132px}}
@media(max-width:760px){
 #side,.col #side{width:60px}
 #side .brand{height:56px;justify-content:center;padding:0}
 #side .lb,#side .nav-divider{display:none}
 #side nav{padding:10px 7px}
 #side .ni{justify-content:center;padding-inline:0}
 #side .ni.on::before{inset-inline-start:-7px}
 #ct{padding:18px 14px}
 .hd{height:56px;padding-inline:10px;gap:2px}
 .sw{width:auto;max-width:none;flex:1}
 kbd,.tx,.mw .ib .tx{display:none}
 #sync-status{display:none}
 .hd>.sp{display:none}
 .sw{flex:1 1 auto}
 .sw input{padding-inline:34px 10px}
 .hd>a.ib[href*=help-center]{display:none}
 .kp{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kc{min-height:84px;padding:14px}
 .kc b{font-size:24px}
 .g3,.ai-capability-grid,.ai-file-actions,.dashboard-shortcuts,.ai-company-form,.engagement-form .tbs,.admin-create-grid{grid-template-columns:minmax(0,1fr)}
 .ai-company-form button,.ai-company-form>p,.ai-company-form>.bn{grid-column:auto}
 .ai-context-panel{grid-template-columns:1fr}
 .ai-context-controls{justify-content:flex-start;align-items:stretch}
 .ai-context-controls label,.ai-context-controls .f{width:100%;min-width:0}
 .ai-workspace-tabs,.ai-main-tabs,.section-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%}
 .ai-workspace-tabs button,.ai-main-tabs button,.section-tabs a{flex:none}
 .ai-file-hub-heading{align-items:flex-start;flex-direction:column}
 .ph1{align-items:flex-start;flex-direction:column;gap:12px}
 .ph1>.ft{justify-content:flex-start}
 h1{font-size:21px}
 .r2,form[data-f=klsearch] .r2{grid-template-columns:minmax(0,1fr)}
 .md{max-height:calc(100dvh - 24px)}
 .ev{flex-wrap:wrap}
 .stage-segs{gap:3px}
}
@media(max-width:420px){
 #side,.col #side{width:52px}
 #side nav{padding-inline:5px}
 #ct{padding:16px 12px}
 .kp{gap:8px}
 .kc{min-height:78px;padding:12px}
 .kc b{font-size:22px}
 .sl{gap:6px 14px;padding:10px 12px}
 .ai-capability{padding:14px}
 .tb th,.tb td{padding-inline:10px}
 .pg{align-items:flex-start;gap:10px;flex-direction:column}
 .login-card{padding:24px 18px 20px;border-radius:var(--r-lg)}
 .login-footer{flex-wrap:wrap}
}

/* ---------- 19. Motion + print ------------------------------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
 .spin{animation:aisp 1.6s linear infinite!important}
}
@media print{
 #side,.hd,.page-context,.ft,.bt,.ib{display:none!important}
 body,#main,#ct,.cd{background:#fff!important;color:#000!important;box-shadow:none!important}
 #ct{overflow:visible;padding:0}
}

/* ---------- 20. Generated utilities (B9) ---------------------------------------------------------------------- */
/* B9 (2026-10-19): former inline style attributes. !important keeps the precedence an inline style had. Generated; edit the
   declarations here, the class names are stable hashes of the declaration text. */
.s-01ef7fc{display:flex !important;gap:8px !important;align-items:center !important}
.s-0466783{width:100% !important}
.s-0486f78{align-items:flex-start !important}
.s-06307df{display:flex !important;gap:8px !important;align-items:center !important;flex-wrap:wrap !important}
.s-0d19f43{background:var(--re-solid) !important;border-color:var(--re-solid) !important;color:#fff !important}
.s-0e184ba{display:flex !important;gap:10px !important;align-items:center !important;flex-wrap:wrap !important}
.s-0fd8744{max-width:420px !important}
.s-11a5081{font-size:11px !important}
.s-1278398{border-bottom:1px solid var(--bd) !important}
.s-132d318{max-width:170px !important}
.s-1396ce6{border:0 !important;padding:0 0 10px !important}
.s-1444c6e{font-size:16px !important}
.s-155a493{grid-template-columns:repeat(3,1fr) !important}
.s-188532a{border:0 !important;padding:0 !important}
.s-1dfa367{text-align:end !important}
.s-2089d52{max-width:190px !important}
.s-20d24f2{color:var(--ac) !important}
.s-250fc4e{align-items:center !important;gap:8px !important}
.s-27af898{max-width:220px !important}
.s-2b0979c{font-size:12px !important;margin-top:6px !important}
.s-30e741d{width:auto !important}
.s-3479a0b{max-width:260px !important;font-size:12px !important}
.s-3642e99{padding:12px !important;margin-bottom:10px !important}
.s-377a44d{padding:0 0 3px !important}
.s-3922d32{min-width:0 !important}
.s-3de8f98{display:flex !important;gap:8px !important;flex-wrap:wrap !important}
.s-45d1f59{width:230px !important}
.s-4854a4d{width:210px !important}
.s-4cd5c0a{max-height:200px !important;overflow:auto !important}
.s-532b403{max-width:180px !important}
.s-53fa033{max-height:170px !important;overflow:auto !important}
.s-5521062{max-width:440px !important}
.s-586a715{text-align:end !important;max-width:68% !important}
.s-67148c6{font-size:17px !important;margin:12px 0 14px !important}
.s-69c229b{margin-top:6px !important;display:flex !important;gap:6px !important}
.s-6a8e059{height:10px !important}
.s-6cb285c{font-size:12px !important}
.s-761d3ad{margin-bottom:10px !important}
.s-76a183f{display:flex !important;justify-content:space-between !important;gap:8px !important;flex-wrap:wrap !important}
.s-7a21c6a{margin-top:2px !important}
.s-7aab68d{padding:6px 10px !important}
.s-8a77e5a{margin-top:8px !important}
.s-934d208{margin-top:6px !important;display:flex !important;gap:8px !important;align-items:center !important;flex-wrap:wrap !important}
.s-9e40de2{margin:6px 0 4px !important}
.s-a3d12b9{display:flex !important;justify-content:space-between !important}
.s-a548ea7{white-space:pre-wrap !important}
.s-a76d597{display:flex !important;gap:8px !important}
.s-a81a9eb{width:28px !important}
.s-ac54538{display:flex !important;gap:8px !important;flex-wrap:wrap !important;margin-top:8px !important}
.s-add8432{padding-inline:0 !important}
.s-aef3df2{max-width:300px !important}
.s-af98dd6{padding-top:6px !important}
.s-b8efa20{font-size:10px !important;white-space:nowrap !important}
.s-b9199e2{font-size:20px !important}
.s-bf720c4{margin:20px 0 12px !important}
.s-c1b9831{width:100% !important;justify-content:center !important;height:32px !important}
.s-c1fafc2{margin:6px 0 !important}
.s-c94d43e{margin:8px 0 0 !important}
.s-d2c171b{margin-top:10px !important}
.s-d462248{margin-top:0 !important}
.s-d9c9585{display:block !important;margin-top:14px !important}
.s-de00808{font-size:15px !important}
.s-df67184{margin:0 0 8px !important}
.s-e3b7296{text-align:end !important;max-width:70% !important}
.s-e73ef81{display:inline-grid !important;width:22px !important;height:22px !important;font-size:9px !important;margin-inline-end:6px !important}
.s-ed391c8{display:flex !important;justify-content:space-between !important;align-items:center !important;margin:2px 0 14px !important}
.s-f4e719a{margin:10px 0 !important}
.s-f5554e4{margin:8px 0 !important}
.s-f7d9c4a{padding:8px 10px !important;margin-bottom:12px !important}
.s-fdf33f2{margin-bottom:8px !important}

/* ===== 2026-10-23 sign-in "night office" design (owner mockup). Login page only. Scene photo: /login-scene.jpg (placeholder crop until the original arrives). ===== */
.login-shell.lx{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(420px,540px) 1fr minmax(380px,430px);gap:0 32px;direction:ltr;min-height:100vh;min-height:100dvh;padding:28px max(40px,calc((100% - 1520px)/2)) 26px;background:#050A16;color:#E8EEF7;overflow:auto}
/* The photo is shown no larger than its own pixels (604x1312), centred between the text and the card, so it stays sharp. */
.lx-scene{position:absolute;z-index:-1;top:0;bottom:0;left:52%;transform:translateX(-50%);aspect-ratio:604/1312;max-width:46vw;background:url(/login-scene.jpg) center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}
.login-shell.lx::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(60% 70% at 52% 45%,rgba(37,99,235,.16),transparent 70%),radial-gradient(40% 50% at 85% 50%,rgba(59,130,246,.10),transparent 70%)}
.lx-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,22,.25),rgba(5,10,22,0) 30%,rgba(5,10,22,.55) 100%)}
.lx .login-promo{position:static;display:flex;flex-direction:column;min-height:0;padding:10px 0 0;background:none;border:0;overflow:visible;grid-column:1}
.lx .login-promo::before,.lx .login-promo::after{display:none}
.lx-brand{display:flex;align-items:center;gap:12px;direction:ltr}
.lx-brand span{text-align:left}
[lang=ar] .lx-brand small{direction:rtl;text-align:left}
.lx-brand .lx-mark{width:52px;height:46px;flex:none;filter:drop-shadow(0 6px 18px rgba(37,99,235,.35))}
.lx-brand span{display:grid;line-height:1.15}
.lx-brand b{font-size:27px;font-weight:700;letter-spacing:.08em;color:#fff}
.lx-brand small{font-size:12px;color:#C9D4E5;letter-spacing:0;margin-top:2px}
.lx-brand.sm{justify-content:center;margin-bottom:22px}
.lx-brand.sm .lx-mark{width:40px;height:35px}
.lx-brand.sm b{font-size:20px}
.lx-brand.sm small{font-size:10.5px}
.lx .login-message{margin-top:clamp(34px,7vh,72px)}
.lx-eyebrow{margin:0 0 6px;color:#A9BEDF;font-size:15px;font-weight:500}
.lx .login-message h1{max-width:none;font-size:clamp(40px,4.2vw,60px);line-height:1.12;font-weight:700;letter-spacing:-.02em;color:#fff}
.lx .login-message h1 span{display:block;color:#2F80FF;font-weight:700;text-shadow:0 0 28px rgba(47,128,255,.35)}
[dir=rtl] .lx .login-message h1{line-height:1.3;letter-spacing:0}
.lx .login-description{max-width:46ch;margin-top:18px;color:#B7C3D6;font-size:15px;line-height:1.85}
.lx-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0 0;padding:0;list-style:none}
.lx-tiles li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px 14px;text-align:center;background:linear-gradient(160deg,rgba(28,44,78,.42),rgba(10,16,32,.4));border:1px solid rgba(255,255,255,.1);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lx-tiles svg{width:30px;height:30px;color:#3B8BFF;stroke-width:1.6;margin-bottom:4px}
.lx-tiles b{font-size:13px;font-weight:600;color:#F1F5FB;line-height:1.35}
.lx-tiles small{font-size:11px;color:#93A3BA;line-height:1.4}
.lx-note{display:flex;align-items:center;gap:14px;margin-top:14px;padding:16px 18px;background:linear-gradient(90deg,rgba(28,44,78,.5),rgba(10,16,32,.35));border:1px solid rgba(255,255,255,.1);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lx-note-ic{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#1F6BFF;color:#fff;box-shadow:0 0 0 6px rgba(31,107,255,.15),0 8px 24px rgba(31,107,255,.4)}
.lx-note-ic svg{width:20px;height:20px}
.lx-note span:last-child{display:grid;gap:3px}
.lx-note b{font-size:14.5px;color:#fff;font-weight:600}
.lx-note small{font-size:12px;color:#9AAAC0}
.lx-foot{margin-top:auto;padding-top:28px;color:#7D8CA3;font-size:11.5px}
.lx .login-main{position:static;grid-column:3;display:flex;flex-direction:column;justify-content:center;min-height:0;padding:0;background:none}
.lx-controls{position:absolute;top:28px;right:max(40px,calc((100% - 1520px)/2));display:flex;gap:10px;z-index:2}
.lx-theme{display:flex;padding:3px;gap:2px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:rgba(10,16,32,.75)}
.lx-theme button{display:grid;place-items:center;width:34px;height:30px;border:0;border-radius:999px;background:none;color:#B9C6D9}
.lx-theme button svg{width:17px;height:17px}
.lx-theme button.on{background:#123A8C;color:#9CC3FF;box-shadow:0 0 14px rgba(59,130,246,.45)}
.lx-lang{display:flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid rgba(148,163,184,.22);border-radius:999px;background:rgba(10,16,32,.75);color:#E8EEF7;font-size:13.5px}
.lx-lang svg{width:17px;height:17px}
.lx .login-main-content{width:100%;margin:56px 0 0}
.lx .lx-card{padding:34px 30px 26px;background:linear-gradient(160deg,rgba(28,44,78,.46),rgba(8,14,30,.34));border:1px solid rgba(255,255,255,.14);border-radius:20px;box-shadow:0 30px 80px -30px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(96,140,220,.08);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}
.lx .lx-card h2{text-align:center;font-size:27px;font-weight:700;color:#fff;margin-bottom:6px}
.lx .lx-card .login-card-subtitle{text-align:center;color:#A3B1C6;margin-bottom:24px}
.lx .lx-card .fg{color:#D5DEEA}
.lx-field{position:relative;display:block}
.lx-field>svg{position:absolute;top:50%;inset-inline-start:14px;transform:translateY(-50%);width:18px;height:18px;color:#9DABC0;pointer-events:none}
.lx .lx-card .fg input.f{height:48px;padding-inline-start:44px;background:rgba(5,10,22,.42);border-color:rgba(255,255,255,.14);border-radius:10px;color:#fff}
.lx .lx-card .fg input.f::placeholder{color:#6E7D94}
.lx .lx-card .fg input.f:focus{border-color:#3B82F6;box-shadow:0 0 0 3px rgba(59,130,246,.22)}
.lx .pw-toggle{color:#9DABC0}
.lx-row{display:flex;justify-content:flex-end;margin:-6px 0 18px}
.lx-link{border:0;background:none;padding:2px 0;color:#4C93FF;font-size:13px;font-weight:500}
.lx-link:hover{text-decoration:underline;text-underline-offset:3px}
.lx .lx-card .login-submit{position:relative;height:50px;border:0;border-radius:10px;background:linear-gradient(90deg,#1559F0,#2F8BFF);font-size:15px;font-weight:600;box-shadow:0 10px 30px -10px rgba(37,120,255,.7)}
.lx .lx-card .login-submit:not(:disabled):hover{background:linear-gradient(90deg,#124FD8,#2A7FF0)}
.lx .lx-card .login-submit>svg{position:absolute;inset-inline-end:18px;width:20px;height:20px;color:#fff}
[dir=rtl] .lx .lx-card .login-submit>svg{transform:scaleX(-1)}
.lx .login-back,.lx .login-forgot .bt{color:#4C93FF}
.lx .lx-card .login-card-security{border-top-color:rgba(255,255,255,.12);color:#9AA9BE;font-size:12px}
.lx .lx-card .login-card-security svg{width:26px;height:26px;color:#3B8BFF;flex:none}
.lx .lx-card .bn{background:rgba(248,113,113,.1)}
/* light theme: the scene and the promo stay dark; the form card turns light */
:root[data-theme=light] .lx .lx-card{background:linear-gradient(160deg,rgba(255,255,255,.86),rgba(240,245,252,.74));border-color:rgba(255,255,255,.7)}
:root[data-theme=light] .lx .lx-card h2{color:#0B1426}
:root[data-theme=light] .lx .lx-card .login-card-subtitle,:root[data-theme=light] .lx .lx-card .login-card-security{color:#4A5870}
:root[data-theme=light] .lx .lx-card .fg{color:#25334A}
:root[data-theme=light] .lx .lx-card .fg input.f{background:rgba(255,255,255,.8);border-color:#D3DBE6;color:#0B1426}
:root[data-theme=light] .lx .lx-brand.sm b{color:#0B1426}
:root[data-theme=light] .lx .lx-brand.sm small{color:#4A5870}
:root[data-theme=light] .lx-link,:root[data-theme=light] .lx .login-back{color:#1D4ED8}
@media(max-width:1280px){.login-shell.lx{grid-template-columns:minmax(0,1fr) minmax(360px,400px);padding-inline:32px}.lx .login-main{grid-column:2}.lx-scene{left:56%;opacity:.7}.lx-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 .login-shell.lx{display:flex;flex-direction:column;padding:22px 18px 24px;gap:0}
 .lx-scene{left:0;transform:none;aspect-ratio:auto;max-width:none;width:100%;bottom:auto;height:420px;opacity:.55;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent);mask-image:linear-gradient(180deg,#000 40%,transparent)}
 .lx-controls{top:22px;right:18px}
 .lx-brand b{font-size:22px}.lx-brand .lx-mark{width:42px;height:37px}
 .lx .login-message{margin-top:30px}
 .lx .login-message h1{font-size:34px}
 .lx .login-description{font-size:13.5px;line-height:1.7}
 .lx-tiles,.lx-note,.lx-foot{display:none}
 .lx .login-main-content{margin:26px 0 0}
 .lx .lx-card{padding:26px 20px 22px}
 .lx-brand.sm{display:none}
}

/* ===== 2026-10-23 AI agent: plan -> approve -> steps -> draft report ===== */
.agent-head h3{display:flex;align-items:center;gap:8px}
.agent-head h3 svg{color:var(--ac)}
.agent-head p{margin:4px 0 0;max-width:80ch;line-height:1.6}
.agent-form{display:grid;gap:10px}
.agent-label{font-size:12.5px;font-weight:500;color:var(--tx2)}
.agent-tpls{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.agent-tpls .mu{margin-inline-end:4px}
.agent-tpls button{min-height:30px;padding:0 12px;border:1px solid var(--bd);border-radius:999px;background:transparent;color:var(--mu);font-size:12.5px;transition:color var(--t),border-color var(--t),background-color var(--t)}
.agent-tpls button:hover:not(:disabled){color:var(--tx);border-color:var(--acs-bd);background:var(--acs)}
.agent-goal{padding:12px 14px;margin-bottom:14px;border:1px solid var(--bd-soft);border-radius:var(--r);background:var(--th);font-size:var(--fs-md);line-height:1.6;box-shadow:inset 3px 0 0 var(--gold)}
[dir=rtl] .agent-goal{box-shadow:inset -3px 0 0 var(--gold)}
.agent-sub{margin:4px 0 6px;font-size:var(--fs);font-weight:600}
.agent-plan{display:grid;gap:8px;margin:12px 0 16px;padding:0;list-style:none;counter-reset:agp}
.agent-plan li{counter-increment:agp;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--bd-soft);border-radius:var(--r);background:var(--card)}
.agent-plan li .ck{flex:1;min-width:0;color:var(--tx);font-size:var(--fs)}
.agent-plan li .ck::before{content:counter(agp);flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--acs);color:var(--ac);font-size:11px;font-weight:600}
.agent-step-title{min-width:0}
.agent-steps{position:relative;display:grid;gap:2px;margin:8px 0 16px;padding:0;list-style:none}
.agent-step{position:relative;display:flex;gap:12px;align-items:flex-start;padding:9px 4px 9px 0}
.agent-step>div{display:grid;gap:2px;min-width:0}
.agent-step small{font-size:12px;overflow-wrap:anywhere}
.agent-dot{flex:none;width:10px;height:10px;margin:5px 6px 0;border-radius:50%;background:var(--gr);box-shadow:0 0 0 4px color-mix(in srgb,var(--gr) 18%,transparent)}
.agent-step.err .agent-dot{background:var(--re);box-shadow:0 0 0 4px color-mix(in srgb,var(--re) 18%,transparent)}
.agent-step.run .spin{margin:3px 4px 0;color:var(--ring)}
.agent-step+.agent-step::before{content:"";position:absolute;top:-8px;inset-inline-start:10px;width:2px;height:16px;background:var(--bd)}
.agent-report{margin-top:8px;border:1px solid var(--bd-soft);border-radius:var(--r-lg);background:var(--th);overflow:hidden}
.agent-report-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;border-bottom:1px solid var(--bd-soft);background:var(--card)}
.agent-report-head .bt{height:var(--h-sm);font-size:12.5px}
.agent-report-text{padding:16px 18px;margin:0}
.agent-cite{display:inline-block;padding:0 6px;margin:0 1px;border:1px solid var(--acs-bd);border-radius:5px;background:var(--acs);color:var(--ac-on);font-size:11px;font-weight:500;line-height:1.6;white-space:nowrap;vertical-align:1px;direction:ltr;unicode-bidi:isolate}
.agent-saved{padding:0 18px 14px;margin:0}

/* Library file viewer (spreadsheet grid as uploaded) */
.kl-viewer .ch{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.kl-viewer .ch .ft{display:flex;gap:8px}
.kl-grid{overflow:auto;max-height:62vh;border:1px solid var(--bd-soft);border-radius:8px;margin:8px 0}
.kl-grid .tb th{position:sticky;top:0;z-index:1;text-transform:none;letter-spacing:0;font-size:12px}
.kl-grid .tb td{white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.kl-text{max-height:62vh;overflow:auto;white-space:pre-wrap;line-height:1.7}
.kl-sheets{margin-bottom:8px}

/* Country-specific client registration fields */
.reg-box{border:1px solid var(--bd-soft);border-radius:10px;padding:10px 14px 4px;margin:4px 0 12px}
.reg-box legend{padding:0 6px;font-weight:600;font-size:var(--fs)}
.reg-box label small{font-weight:400}
.org-country{margin-inline-start:6px;font-size:10.5px;padding:1px 6px}
.company-profile[hidden]{display:none}
.admin-create-grid .reg-box{grid-column:1/-1}
/* Trial sample data and in-app feedback (2026-11-03) */
.trial-sample { margin-bottom: 16px; }
.trial-sample h3 { margin: 0 0 6px; }
.trial-sample .bt { margin-top: 10px; }
.trial-sample-note { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: space-between; }
.fb-table td { vertical-align: top; }
.fb-table .fb-msg { white-space: pre-wrap; overflow-wrap: anywhere; min-width: 240px; max-width: 560px; }
.fb-table tr.fb-unread td:first-child { border-inline-start: 3px solid var(--ac); }
.fb-table tr.fb-unread .fb-msg { font-weight: 600; }
