/* aiXhse brand layer (loaded after each page's own styles). Style reference: flat, square, high-contrast
   industrial look (black / safety yellow / white), no photo backgrounds, no emoji in chrome. */
.skip{position:absolute;inset-inline-start:8px;top:-60px;z-index:100;background:var(--cta);color:var(--cta-ink);padding:8px 14px;font-weight:800;text-decoration:none}
.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--hi);outline-offset:2px;box-shadow:0 0 0 5px var(--ink)}
.ax-icon{width:1.5em;height:1.5em;vertical-align:middle;display:inline-block;flex:none}
img.ax-logo--night{display:none!important}
:root[data-theme="dark"] img.ax-logo--day{display:none!important}:root[data-theme="dark"] img.ax-logo--night{display:inline-block!important}
.ax-flip{display:inline-block}[dir="rtl"] .ax-flip{transform:scaleX(-1)}
body{background:var(--bg);color:var(--ink)}
/* hazard band */
.hz{height:18px;background:url(/assets/img/ax-tape.svg) repeat-x 0 0/auto 100%;display:block}
[dir="rtl"] .hz,[dir="rtl"] .bar::after{transform:scaleX(-1)}
@media (min-width:901px){.hz{height:16px}}
@media (forced-colors:active){.hz{display:none}}
/* header (shared by portal / exam app / admin) */
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);backdrop-filter:none;border:0;border-radius:0;box-shadow:none}
/* divider tape under the header: chevrons point with the reading direction */
.bar{margin-bottom:18px}
.bar::after{content:"";position:absolute;inset-inline:0;top:100%;height:18px;background:url(/assets/img/ax-tape.svg) repeat-x 0 0/auto 100%;pointer-events:none}
@media (min-width:901px){.bar{margin-bottom:16px}.bar::after{height:16px}}
@media (forced-colors:active){.bar::after{display:none}}
.brand{font-weight:800;color:var(--head)}
.brand i{display:none}
.brand img{display:block;height:36px;width:auto}
.tools .tb,.ib2{min-width:44px;height:44px;padding:0 8px;border:2px solid transparent;background:transparent;border-radius:var(--r);display:inline-grid;place-items:center;color:var(--ink);text-decoration:none;position:relative}
.tools .tb:hover,.ib2:hover{border-color:var(--ink);background:transparent}
.tools .tb .ax-icon,.ib2 .ax-icon{width:26px;height:26px}
#lang{font-weight:800;font-size:.9rem}
.cartb b.badge,.tb .badge{position:absolute;inset-block-start:2px;inset-inline-end:0;min-width:18px;height:18px;border-radius:9px;background:var(--cta);color:var(--cta-ink);font-size:.7rem;font-weight:800;display:grid;place-items:center;padding:0 4px;border:1.5px solid var(--bg)}
.badge[hidden]{display:none}
/* components: flat, square, strong borders */
.btn{border:2px solid var(--ink);background:transparent;color:var(--ink);border-radius:var(--r);font-weight:700;box-shadow:none;transform:none}
.btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:none}
.btn.pri{background:var(--cta);color:var(--cta-ink);border-color:var(--cta);font-weight:800;box-shadow:none}
.btn.pri:hover{background:var(--cta-hover);border-color:var(--cta-hover);color:var(--cta-ink)}
.btn.danger{background:var(--bad);color:var(--bg);border-color:var(--bad)}
.sheet,.card,.thread,.pay,.steps li,.mbox,.pol,.aboutbox,.paybox,.demohero,details,.tl li,.welcome{border-radius:var(--r)}
.sheet{backdrop-filter:none;border:1px solid var(--line);box-shadow:var(--shadow)}
.card{background:var(--sheet);border:1px solid var(--line);border-top:3px solid var(--ink)}
.card:hover{border-top-color:var(--cta)}
input,select,textarea{border-radius:var(--r);background:var(--sheet);border:2px solid var(--line)}
input:focus,select:focus,textarea:focus{border-color:var(--ink)}
.pill,.chip{border-radius:var(--r)}
.sec>h2{border-inline-start:6px solid var(--cta);padding-inline-start:12px}
.gh{border-inline-start-color:var(--cta)}
.steps li::before{background:var(--cta);color:var(--cta-ink);border-radius:var(--r)}
.stickycta,.gcart,.cartbar{background:var(--cta);color:var(--cta-ink);border-radius:var(--r);box-shadow:0 4px 18px rgba(0,0,0,.35)}
.ib{border-radius:var(--r)}
.toast{border-radius:var(--r)}
.cmp{border-radius:var(--r)}
.cmp .hd::after{background:var(--cta);color:var(--cta-ink);border-radius:var(--r)}
.cmp .lb{border-radius:var(--r)}
.about-grid img,.botav{border-color:var(--ink)}
/* hero: black panel with yellow CTA */
.pt .sheet.hero{background:#111;color:#fff;border:0;border-bottom:6px solid var(--cta);border-radius:var(--r)}
.pt .hero h1,.pt .hero b,.pt .hero .mute,.pt .hero .fine,.pt .hero .trust{color:#fff}
.pt .hero .mute,.pt .hero .fine,.pt .hero .trust{color:#D4D4D4}
.pt .hero .btn{border-color:#fff;color:#fff}.pt .hero .btn:hover{background:#fff;color:#111}
.pt .hero .btn.pri{background:var(--cta);border-color:var(--cta);color:#111}
.pt .hero .btn.pri:hover{background:var(--cta-hover)}
.hero .hz{border-radius:0}
/* footer */
.ft{margin-top:36px}
.ft-in{padding-block:22px 10px;text-align:center}
.ft .brand{display:inline-flex;margin-bottom:10px}
.sign{background:transparent;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;margin-top:6px}
/* exam app banner */
.hero .ban{height:clamp(84px,14vh,130px);background:#111 !important;position:relative;display:grid;place-items:center}
.hero .ban::after{content:"";position:absolute;inset-inline:0;bottom:0;height:12px;background:url(/assets/img/ax-tape.svg) repeat-x 0 0/auto 100%}
[dir=rtl] .hero .ban::after{transform:scaleX(-1)}
.hero .ban{overflow:hidden}
.hero .ban img{height:64px;max-height:70%;width:auto;max-width:80%;display:block}
@media print{.bar,.hz,.ft{display:none!important}}
/* ---- portal header ---- */
.pt{padding-inline:0}
.pt .wrap{padding-inline:clamp(12px,3vw,24px)}
.bar-in{width:100%;max-width:1240px;margin-inline:auto;padding:6px clamp(8px,2vw,18px);display:flex;align-items:center;gap:6px;min-height:58px}
.bar .brand{flex:0 0 auto;margin:0;display:flex;align-items:center;gap:10px;min-width:0}
.bar .brand .bt{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar .brand img{height:34px}
.bar-in .tools{margin-inline-start:auto;display:flex;align-items:center;gap:2px}
.dnav{display:none;align-items:center;gap:2px;margin-inline-start:14px;flex:1 1 auto}
.dn{padding:10px 12px;font-weight:700;font-size:.93rem;color:var(--ink);text-decoration:none;border-bottom:4px solid transparent;border-radius:0;white-space:nowrap}
.dn:hover{border-bottom-color:var(--ink)}.dn.on{border-bottom-color:var(--cta)}
.authb{white-space:nowrap}
.authb.btn{min-height:40px;padding:4px 14px;margin-inline:4px}
.tools .tb.dsk{display:none}
.hm{display:none}
@media (min-width:901px){
 .mbtn{display:none}.dnav{display:flex}.tools .tb.dsk{display:inline-grid}.hm{display:inline}
}
.noscroll{overflow:hidden}
/* drawer */
.drawer{position:fixed;inset:0;z-index:80}
.dv{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s}
.dp{position:absolute;inset-block:0;inset-inline-start:0;width:min(88vw,380px);background:var(--bg);color:var(--ink);display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.4);transform:translateX(100%);transition:transform .25s ease;border-inline-end:0}
[dir="ltr"] .dp{transform:translateX(-100%)}
.drawer.open .dp{transform:none}.drawer.open .dv{opacity:1}
.dh{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);min-height:58px}
.dl{flex:1 1 auto;overflow:auto;padding-block:4px}
.di{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-weight:700;text-decoration:none;text-align:start;border-radius:0;min-height:56px}
.di .ax-icon{width:28px;height:28px}
.di span{flex:1 1 auto}
.di .chev{font-style:normal;font-size:1.5rem;color:var(--mute);line-height:1}
[dir="ltr"] .di .chev{transform:scaleX(-1)}
.di:hover,.di.on{background:var(--sheet2)}.di.on{box-shadow:inset 5px 0 0 var(--cta)}
[dir="ltr"] .di.on{box-shadow:inset -5px 0 0 var(--cta)}
.df{padding:12px 14px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:grid;gap:10px}
.df .di{border:0;padding:10px 4px;min-height:48px}
.df .btn{text-align:center;display:block}
/* home hero visual */
.hero{align-items:stretch}
.hcmp{margin:0;display:grid;gap:10px;align-content:center}
.hcmp .cmp{border:0;border-radius:var(--r);box-shadow:none}
.hcmp figcaption{color:#D4D4D4;font-size:.92rem;line-height:1.8}
.hcmp .hcap{display:block;color:#fff;font-size:1.05rem;margin-bottom:2px}
.cmp .lb.l{background:var(--bad);color:#fff}.cmp .lb.r{background:var(--ok);color:#fff}
.authgrid{grid-template-columns:1fr;max-width:560px}
@media (max-width:820px){.hero{grid-template-columns:1fr}}
@media (max-width:640px){.bar-in .brand img{height:30px}.bar-in{padding-inline:6px}}

/* ---- exam app (non-portal pages) ---- */
body:not(.pt) .hero{border-radius:var(--r);backdrop-filter:none;border-bottom:6px solid var(--cta)}
body:not(.pt) .hero h1{font-family:var(--f);font-weight:800;color:var(--head)!important;text-shadow:none!important;-webkit-text-stroke:0!important}
body:not(.pt) .hero .hl{color:var(--accent)!important;text-shadow:none!important;font-weight:800}
.dtag{background:var(--cta)!important;color:#111!important;box-shadow:none!important;border-radius:var(--r)!important}
.fs{display:inline-flex;gap:4px}
.fs .btn,:root[data-theme="light"] .fs .btn{background:transparent!important;border:2px solid var(--ink)!important;color:var(--ink)!important;min-height:40px;padding:2px 10px;min-width:44px}
.fs .btn:hover{background:var(--ink)!important;color:var(--bg)!important}
body:not(.pt) .bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 12px}
body:not(.pt) .bar .brand{flex:1 1 150px;min-width:0}
body:not(.pt) .bar .brand .bt{white-space:normal;font-size:.92rem;line-height:1.4}
body:not(.pt) .bar .brand img{height:34px;flex:none}
body:not(.pt) .tools .tb{height:40px;min-width:40px}

/* exam-app: slim portal-return row + notice */
.topline{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block:6px;flex-wrap:nowrap}
.topline .btn.sm{min-height:34px;padding:4px 12px;font-size:13px}
.topline .chip{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.notice{background:var(--accentSoft);border-inline-start:4px solid var(--cta);color:var(--ink);border-radius:var(--r);padding:10px 12px}
.notice b{color:var(--ink);opacity:1}
.topline .btn.sm{flex:0 0 auto;width:auto}
.hero .ban{background:#fff !important}
[data-theme=dark] .hero .ban{background:#1b1b1b !important}
@media(max-width:600px){body:not(.pt) .bar{flex-wrap:wrap;gap:6px;padding-block:6px}
body:not(.pt) .bar .btn,body:not(.pt) .bar button{min-height:34px;padding:2px 10px;font-size:13px}
body:not(.pt) .bar .bt{font-size:14px}}
.ax-home{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.ax-home:focus-visible{outline-offset:4px}

/* ===== v9.6: page background pattern (not in header/footer/boxes) ===== */
body{background-color:var(--bg);background-image:url(/assets/img/ax-tri-day.svg);background-size:92px auto;background-repeat:repeat;background-attachment:scroll}
:root[data-theme="dark"] body{background-image:url(/assets/img/ax-tri-night.svg)}
.bar,.ft,.sbox,.drawer .dp{background-color:var(--bg)}
@media print{body{background-image:none!important}}
@media (forced-colors:active){body{background-image:none}}

/* ===== v9.6: tidy text — never split a word letter by letter ===== */
body,td,th,li,p,span,a,button,label{word-break:normal}
.btn,button.btn,a.btn,.pill,.chip,.tag,.badge{overflow-wrap:normal;word-break:keep-all;hyphens:none}
td .btn,td .pill,th{white-space:nowrap}
td.num,.num{white-space:nowrap;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}

/* ===== v9.6: tables — soft lines, zebra rows, readable headers ===== */
.tw,.tw2{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;background:var(--sheet)}
.tw table,.tw2 table{margin:0}
table{border-collapse:collapse}
th{background:var(--thead);color:var(--mute);font-weight:700;border-bottom:1px solid var(--line)}
td{border-bottom:1px solid var(--line)}
tbody tr:nth-child(even)>td{background:var(--zebra)}
tbody tr:last-child>td{border-bottom:0}
/* narrow screens: secondary column headers are written vertically so cells keep their words whole */
@media (max-width:640px){
 table.rs th:not(:first-child),table.vh th:not(:first-child),.cover th:not(:first-child){writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;text-align:start;vertical-align:middle;padding:8px 4px;line-height:1.3;height:auto}
 table.rs td,.cover td{padding-inline:6px}
}

/* ===== v9.6: zebra for menus and stacked lists ===== */
#dl>*:nth-child(even){background:var(--zebra)}
.zebra>*:nth-child(even){background:var(--zebra)}

/* ===== v9.6: button rows never overlap ===== */
.row,.cta,.acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.row>.btn,.cta>.btn,.acts>.btn{position:static;max-width:100%}
td.num{text-align:center}
.row>a.btn,.cta>a.btn,.acts>a.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;line-height:1.5}
.pack .row>.btn{flex:1 1 230px}
.ftlogo2{display:block!important;width:150px;margin:12px auto 4px}.ftlogo2 img{width:150px;height:150px;display:block;border-radius:50%}

/* v9.6 icons: Apple-style line icons in a soft grey-violet */
.ax-icon{color:var(--icon)}
.btn.pri .ax-icon,.up .ax-icon,.bp-ic .ax-icon,.botc-ic .ax-icon,.badge .ax-icon,.cta-ink .ax-icon,.pt .hero .btn .ax-icon,.stickycta .ax-icon,.dtag .ax-icon{color:inherit}
.topline{display:none!important}
/* v9.6 shared compact header (exam app + admin) */
.axh .bar-in{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 4px}
.axh .hb-s,.axh .hb-e{display:flex;align-items:center;position:relative;z-index:3}
.axh .brand{position:absolute;inset-inline-start:50%;top:50%;transform:translate(-50%,-50%);width:clamp(110px,calc(100vw - 214px),176px);margin:0;display:block;z-index:2}
[dir="rtl"] .axh .brand{transform:translate(50%,-50%)}
.axh .brand img{width:100%;height:auto}
.axh .ib2,.axh .tb{min-width:36px;height:44px;padding:0 6px;border:0;font-weight:800;font-size:.8rem;display:inline-grid;place-items:center;color:var(--ink);background:transparent}
.axh .ax-icon{width:24px;height:24px}
.xinfo{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin:2px 0 10px;padding:8px 2px;border-bottom:1px solid var(--line)}
.xinfo .xt{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-weight:800;min-width:0}.xinfo .bt{font-size:1.02rem;line-height:1.6}
@media (min-width:901px){.axh .brand{width:176px}}
.ex.en{direction:ltr;text-align:left}
