/* IAM Career Development Platform. Brand: teal #005154, gold #EABD31, blue #1F70B8, red #EF3424, tan #CD9C45, slate #33454E */
@font-face{font-family:Lato;font-weight:400;font-style:normal;font-display:swap;src:url(fonts/lato-400.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:400;font-style:italic;font-display:swap;src:url(fonts/lato-400i.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:700;font-style:normal;font-display:swap;src:url(fonts/lato-700.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:700;font-style:italic;font-display:swap;src:url(fonts/lato-700i.woff2) format("woff2")}
:root{
  --teal:#005154;--teal-d:#003a3d;--teal-2:#0b6468;--teal-3:#167a7e;--teal-t:#e3f0f0;--teal-tt:#f1f7f7;
  --gold:#eabd31;--gold-d:#c99d12;--gold-t:#fcf3d3;--blue:#1f70b8;--blue-d:#175a96;--blue-t:#e3eefa;
  --red:#ef3424;--red-d:#c4241a;--red-t:#fde8e5;--tan:#cd9c45;--slate:#33454e;
  --ok:#1c7c4f;--ok-t:#dff3e8;--warn:#9a6700;--warn-t:#fcf1cc;
  --bg:#f4f1e8;--card:#fff;--line:#c9c2ae;--line-2:#ddd7c6;--txt:#050d10;--mut:#26363c;--faint:#3d4f55;
  --topbar:rgba(255,255,255,.94);--on-teal:#e8f1f1;--on-teal-mut:#9fc2c3;
  --r-card:12px;--r-ctl:8px;--side:262px;--shadow:0 1px 2px rgba(0,50,52,.06),0 4px 14px rgba(0,50,52,.05);
  --font:Lato,"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}html[data-fs="-2"]{font-size:87.5%}html[data-fs="-1"]{font-size:93.75%}html[data-fs="1"]{font-size:112.5%}html[data-fs="2"]{font-size:125%}html[data-fs="3"]{font-size:143.75%}
body{margin:0;font:1rem/1.55 var(--font);color:var(--txt);background:var(--bg);-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;line-height:1.2;font-family:var(--serif);font-weight:700;color:var(--teal-d)}
h1{font-size:1.9rem;margin:0 0 .3rem}h2{font-size:1.2rem;margin:0 0 .85rem}h3{font-size:1.02rem}
p{margin:.45em 0}a{color:var(--blue);text-underline-offset:2px}a:hover{color:var(--blue-d)}
small,.small{font-size:.86rem}.muted{color:var(--mut)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
.break{word-break:break-all}.right{margin-inline-start:auto}.center{text-align:center}.pre{white-space:pre-wrap}.nowrap{white-space:nowrap}
.num,td,th{font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.skip{position:absolute;inset-inline-start:-999px;top:.5rem;background:var(--card);padding:.5rem .8rem;border-radius:8px;z-index:90}.skip:focus{inset-inline-start:.5rem}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.ic.xl{width:2.4rem;height:2.4rem;stroke-width:1.3}
.hide{display:none!important}

/* App shell */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh}
.side{background:var(--teal);color:var(--on-teal);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;padding:1.2rem .85rem 1rem;scrollbar-width:thin;scrollbar-color:var(--teal-3) transparent}
.logo{display:block;padding:.1rem .6rem 1rem}.logo img{display:block;width:100%;max-width:178px;height:auto}
.org{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 .1rem 1rem;padding:.55rem .75rem;border-radius:var(--r-ctl);background:var(--teal-2);color:var(--on-teal);text-decoration:none;font-size:.9rem}
.org:hover{background:var(--teal-3);color:#fff}.org-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav{flex:1}.nav-group{margin-bottom:1.1rem}
.nav-title{padding:0 .85rem .35rem;font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gold)}
.nav a{display:flex;align-items:center;gap:.7rem;padding:.52rem .85rem;margin:1px 0;border-radius:var(--r-ctl);color:var(--on-teal);text-decoration:none;font-size:.95rem;position:relative}
.nav a:hover{background:var(--teal-2);color:#fff}
.nav a.on{background:var(--card);color:var(--teal-d);font-weight:700}
.nav a.on::before{content:"";position:absolute;inset-inline-start:-.85rem;top:.35rem;bottom:.35rem;width:4px;border-start-start-radius:0;border-start-end-radius:4px;border-end-end-radius:4px;border-end-start-radius:0;background:var(--gold)}
.nav .dot{margin-inline-start:auto;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:99px;background:var(--gold);color:var(--teal-d);font-size:.74rem;font-weight:700;display:grid;place-items:center}
.me{border-top:1px solid var(--teal-2);padding-top:.9rem;margin-top:.4rem}
.me-id{display:flex;gap:.65rem;align-items:center;padding:0 .4rem .6rem}
.me-name{font-weight:700;font-size:.93rem;line-height:1.2}.me-role{font-size:.8rem;color:var(--on-teal-mut)}
.me-links{display:flex;gap:.3rem;flex-wrap:wrap}
.me-links a,.me-links button{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;color:var(--on-teal);font:inherit;font-size:.86rem;padding:.35rem .6rem;border-radius:8px;cursor:pointer;text-decoration:none}
.me-links a:hover,.me-links button:hover{background:var(--teal-2);color:#fff}.me-links form{margin:0}
.avatar{display:inline-grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--teal-t);color:var(--teal-d);font-weight:700;font-size:.82rem;flex:none}
.avatar.sm{width:1.8rem;height:1.8rem;font-size:.7rem}.avatar.lg{width:3.4rem;height:3.4rem;font-size:1.1rem}
.side .avatar{background:var(--gold);color:var(--teal-d)}
.col{min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:.7rem;height:3.8rem;padding:0 1.6rem;background:var(--topbar);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(6px)}
.crumb{font-weight:700;color:var(--teal-d);font-size:1rem}.top-right{margin-inline-start:auto;display:flex;align-items:center;gap:.5rem}
.pill{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .7rem;border-radius:99px;background:var(--ok-t);color:var(--ok);font-size:.8rem;font-weight:700}
.pill.warn{background:var(--warn-t);color:var(--warn)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:.4rem;color:var(--teal-d);cursor:pointer}
.iconbtn{position:relative;display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--teal-d);cursor:pointer}
.iconbtn:hover{background:var(--teal-tt);border-color:var(--teal-3)}.iconbtn .ic{width:1.3rem;height:1.3rem}
.iconbtn .count{position:absolute;top:-4px;inset-inline-end:-4px;min-width:1.2rem;height:1.2rem;padding:0 .3rem;border-radius:99px;background:var(--red);color:#fff;font-size:.7rem;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.menu-wrap{position:relative}
.drop{position:absolute;inset-inline-end:0;top:calc(100% + .5rem);width:min(24rem,92vw);background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:0 12px 40px rgba(0,50,52,.18);z-index:60;overflow:hidden}
.drop-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--line-2);background:var(--teal-tt)}
.drop-head strong{color:var(--teal-d)}.drop-head form{margin:0}
.drop-foot{display:block;text-align:center;padding:.7rem;border-top:1px solid var(--line-2);font-weight:700;text-decoration:none}
.drop-foot:hover{background:var(--teal-tt)}
.note-item{display:flex;gap:.7rem;padding:.75rem 1rem;border-bottom:1px solid var(--line-2);text-decoration:none;color:var(--txt)}
.note-item:hover{background:var(--teal-tt);color:var(--txt)}.note-item.unread{background:var(--card)af0}
.note-item .t{font-weight:700;font-size:.92rem;line-height:1.3}.note-item .s{font-size:.82rem;color:var(--mut)}
.note-ic{flex:none;width:2.1rem;height:2.1rem;border-radius:50%;display:grid;place-items:center;background:var(--blue-t);color:var(--blue)}
.note-ic.warning{background:var(--warn-t);color:var(--warn)}.note-ic.danger{background:var(--red-t);color:var(--red-d)}.note-ic.success{background:var(--ok-t);color:var(--ok)}
.content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:1.6rem 1.6rem 2.2rem}
.foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.6rem;border-top:1px solid var(--line);color:var(--mut);font-size:.84rem;background:var(--card)}
.foot strong{color:var(--teal-d)}
.scrim{display:none}
.guest .free,.guest .narrow{max-width:none;margin:0;padding:0}.narrow{max-width:520px!important;margin:3rem auto!important;padding:0 1rem!important}

/* Page structure */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.3rem;padding-bottom:1rem;border-bottom:2px solid var(--gold)}
.page-head p{margin:0;color:var(--mut)}.page-head .bar{margin:0}
.content>h1{margin-bottom:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:1.2rem 1.3rem;margin:0 0 1.15rem;box-shadow:var(--shadow)}
.card>h2:first-child{margin-bottom:.9rem}.card.flush{padding:0;overflow:hidden}.card.flush>h2{padding:1.1rem 1.3rem 0}
.card.accent{border-top:4px solid var(--teal)}.card.gold{border-top:4px solid var(--gold)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.15rem;align-items:start}.two>.card{margin:0}
.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:1.15rem;align-items:start}.split>*{min-width:0}.stack>.card:last-child{margin-bottom:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:1rem;margin-bottom:1.15rem}
@media (min-width:1100px){.grid.stats-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.stats-5 .stat{padding:1rem .9rem}.grid.stats-5 .stat .l{font-size:.82rem}}
.stat{display:flex;gap:.9rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:1rem 1.1rem;box-shadow:var(--shadow);text-decoration:none;color:inherit}
a.stat:hover{border-color:var(--teal-3);color:inherit}
.stat .ic{width:2.8rem;height:2.8rem;padding:.65rem;border-radius:12px;background:var(--teal-t);color:var(--teal);stroke-width:1.6}
.stat.warn .ic{background:var(--gold-t);color:var(--gold-d)}.stat.bad .ic{background:var(--red-t);color:var(--red-d)}.stat.ok .ic{background:var(--ok-t);color:var(--ok)}.stat.blue .ic{background:var(--blue-t);color:var(--blue)}
.stat .n{font-size:1.75rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--teal-d)}.stat .l{color:var(--mut);font-size:.88rem;margin-top:.25rem}
.notice{display:flex;gap:.7rem;background:var(--blue-t);border:1px solid #c3d9f0;color:#173d66;border-radius:var(--r-ctl);padding:.7rem .95rem;margin:0 0 1.1rem}
.flash{display:flex;gap:.65rem;align-items:flex-start;padding:.78rem 1rem;border-radius:var(--r-ctl);margin:0 0 1rem;background:var(--blue-t);border:1px solid #c3d9f0;color:#173d66}
.flash.error{background:var(--red-t);border-color:#f6bdb7;color:#8d1d14}.flash.ok{background:var(--ok-t);border-color:#b5e3c9;color:#14613f}.flash.warn{background:var(--warn-t);border-color:#ecd48a;color:#6e4900}
.flash .ic{margin-top:.12rem}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding:2.2rem 1rem;color:var(--mut)}.empty strong{color:var(--teal-d);font-size:1.05rem}.empty .ic{color:var(--tan)}
.banner{display:flex;gap:.9rem;align-items:flex-start;border-radius:var(--r-card);padding:.9rem 1.1rem;margin:0 0 1.15rem;background:var(--red-t);border:1px solid #f6bdb7;color:#7a1a12}
.banner.warn{background:var(--gold-t);border-color:#ecd48a;color:#5d4300}.banner .ic{margin-top:.15rem;width:1.4rem;height:1.4rem}.banner a{font-weight:700}.banner .grow{flex:1}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;background:linear-gradient(120deg,var(--teal-d),var(--teal) 55%,var(--teal-2));color:var(--on-teal);border-radius:16px;padding:1.7rem 1.9rem;margin-bottom:1.15rem;border-bottom:5px solid var(--gold)}
.hero h1{color:#fff;font-size:2rem;margin:0 0 .3rem}.hero p{color:var(--on-teal-mut);margin:.2rem 0}
.hero .next{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18)}
.hero .next strong{display:block;color:#fff;font-size:1.15rem;margin:.1rem 0 .2rem}
.hero .ring-track{stroke:rgba(255,255,255,.18)}.hero .ring-fill{stroke:var(--gold)}.hero .ring-text{fill:#fff}
.ring-track{stroke:var(--line)}.ring-fill{stroke:var(--teal)}.ring-text{font-size:22px;font-weight:700;fill:var(--teal-d)}
.due{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem}.due.late{color:#ffb4ab}.due.soon{color:var(--gold)}
.card .due{color:var(--mut)}.card .due.late{color:var(--red-d);font-weight:700}.card .due.soon{color:var(--warn);font-weight:700}

/* Tables and lists */
table{width:100%;border-collapse:collapse}
th{font-weight:700;color:var(--teal-d);font-size:.84rem;text-align:start;padding:.65rem .9rem;background:var(--teal-tt);border-bottom:2px solid var(--line)}
td{padding:.75rem .9rem;border-bottom:1px solid var(--line-2);vertical-align:middle}
tr:last-child td{border-bottom:0}tbody tr:hover td,.card>table tr:hover td{background:#fcfbf7}
.card>table{margin:-.15rem 0}.card.flush>table th:first-child,.card.flush>table td:first-child{padding-inline-start:1.3rem}
.tbl-wrap{overflow-x:auto}
.row-link{display:flex;align-items:center;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--line-2);color:inherit;text-decoration:none}.row-link:last-child{border-bottom:0}
a.row-link:hover{background:var(--teal-tt)}
.row-link .grow{flex:1;min-width:0}.row-link .t{font-weight:700;color:var(--teal-d);text-decoration:none;display:block;overflow:hidden;text-overflow:ellipsis}.row-link .s{color:var(--mut);font-size:.88rem;display:block}
.who{display:flex;align-items:center;gap:.65rem}.who a{font-weight:700;text-decoration:none}
.badge{display:inline-block;padding:.14rem .65rem;border-radius:99px;background:#ebe7da;color:#4a5a60;font-size:.78rem;font-weight:700;white-space:nowrap}
.badge.good{background:var(--ok-t);color:var(--ok)}.badge.bad{background:var(--red-t);color:var(--red-d)}.badge.warn{background:var(--gold-t);color:var(--warn)}.badge.info{background:var(--blue-t);color:var(--blue-d)}.badge.teal{background:var(--teal-t);color:var(--teal)}
.meter{width:100%;height:.6rem;border:0;border-radius:99px;overflow:hidden;appearance:none;-webkit-appearance:none;background:var(--line-2)}
.meter::-webkit-progress-bar{background:var(--line-2)}.meter::-webkit-progress-value{background:var(--teal);border-radius:99px}.meter::-moz-progress-bar{background:var(--teal);border-radius:99px}
.meter.bad::-webkit-progress-value{background:var(--red)}.meter.bad::-moz-progress-bar{background:var(--red)}
.meter.ok::-webkit-progress-value{background:var(--ok)}.meter.ok::-moz-progress-bar{background:var(--ok)}
.meter.warn::-webkit-progress-value{background:var(--gold-d)}.meter.warn::-moz-progress-bar{background:var(--gold-d)}
.course-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--line-2)}.course-row:last-child{border-bottom:0}
.checks{list-style:none;padding:0;margin:.4rem 0}.checks li{padding:.35rem 0;display:flex;gap:.5rem}.checks .ok{color:var(--ok)}.checks .bad{color:var(--red-d)}.checks small{color:var(--mut)}
.pager{display:flex;gap:.5rem;align-items:center;justify-content:center;margin:1rem 0 0}

/* Forms and buttons */
label{display:block;margin:.85rem 0 0;font-weight:700;font-size:.9rem;color:var(--slate)}
label .hint,.hint{display:block;font-weight:400;color:var(--mut);font-size:.84rem;margin-top:.15rem}
input,select,textarea{display:block;width:100%;margin-top:.3rem;padding:.62rem .8rem;border:1px solid #c9c3b3;border-radius:var(--r-ctl);font:inherit;color:inherit;background:var(--card)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(234,189,49,.45);border-color:var(--teal)}
textarea{min-height:7rem;resize:vertical}
input[type=checkbox],input[type=radio]{display:inline;width:auto;margin-block:0;margin-inline:0 .5rem;accent-color:var(--teal)}
label.check{display:flex;align-items:flex-start;gap:.5rem;font-weight:400}label.check input{margin-top:.28rem}
input[type=file]{padding:.55rem;background:var(--teal-tt);border-style:dashed;border-color:var(--teal-3)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1rem}
form>.btn,form>button.btn,.actions{margin-top:1.1rem}.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--teal);color:#fff;border:1px solid transparent;border-radius:var(--r-ctl);padding:.62rem 1.15rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:background .12s,box-shadow .12s;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.btn:hover{background:var(--teal-d);color:#fff}.btn.small{padding:.34rem .75rem;font-size:.86rem}.btn.block{width:100%}
.btn.gold{background:var(--gold);color:var(--teal-d)}.btn.gold:hover{background:var(--gold-d);color:var(--teal-d)}
.btn.blue{background:var(--blue)}.btn.blue:hover{background:var(--blue-d)}
.btn.ghost{background:var(--card);color:var(--teal);border-color:var(--teal-3)}.btn.ghost:hover{background:var(--teal-t);color:var(--teal-d)}
.btn.danger{background:var(--red)}.btn.danger:hover{background:var(--red-d)}
.btn.quiet{background:transparent;color:var(--slate);border-color:var(--line);box-shadow:none}.btn.quiet:hover{background:var(--teal-tt);color:var(--teal-d)}
.btn.ok{background:var(--ok)}.btn.ok:hover{background:#14613f}
button.link{background:none;border:0;color:var(--blue);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.inline{display:inline;margin:0}
.bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0 0 1.1rem}.bar form{display:flex;gap:.5rem;align-items:center;margin:0}.bar input,.bar select{width:auto;margin:0}
td .bar,td form.bar{margin:0}details .bar{margin:.5rem 0}
.search{position:relative}.search input{padding-inline-start:2.4rem;min-width:260px}.search .ic{position:absolute;inset-inline-start:.8rem;top:50%;transform:translateY(-50%);color:var(--faint)}
details{margin:.5rem 0}summary{cursor:pointer;color:var(--teal);font-weight:700;padding:.2rem 0}
details[open]>summary{margin-bottom:.4rem}
.tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin:0 0 1.1rem;border-bottom:2px solid var(--line)}
.tabs a{padding:.55rem 1rem;border-start-start-radius:var(--r-ctl);border-start-end-radius:var(--r-ctl);border-end-end-radius:0;border-end-start-radius:0;text-decoration:none;color:var(--mut);font-weight:700;margin-bottom:-2px;border-bottom:3px solid transparent;display:inline-flex;gap:.5rem;align-items:center}
.tabs a:hover{color:var(--teal-d);background:var(--teal-tt)}.tabs a.on{color:var(--teal-d);border-bottom-color:var(--gold);background:var(--card)}
.tabs .n{font-size:.76rem;background:var(--teal-t);color:var(--teal);border-radius:99px;padding:0 .5rem}
.tabs a.on .n{background:var(--gold);color:var(--teal-d)}
.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 1rem}
.chip{padding:.28rem .8rem;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--slate);text-decoration:none;font-size:.88rem;font-weight:700}
.chip:hover{border-color:var(--teal-3);color:var(--teal-d)}.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}

/* Messages and coaching */
.msg{border:1px solid var(--line);border-radius:12px;padding:.7rem .95rem;margin:.6rem 0;background:var(--card);max-width:46rem}
.msg.mine{background:var(--teal-t);border-color:#bfdada;margin-inline-start:auto}.msg.note{background:var(--gold-t);border:1px dashed var(--tan)}
.msg .meta{font-size:.78rem;color:var(--mut);margin-bottom:.15rem}

/* Resources */
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}
.res{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}
.res:hover{border-color:var(--teal-3)}
.res-top{display:flex;gap:.9rem;padding:1rem 1.1rem .4rem}
.ftile{flex:none;width:3.2rem;height:3.9rem;border-radius:8px;background:var(--teal-t);color:var(--teal);display:grid;place-items:center;position:relative}
.ftile .ic{width:1.5rem;height:1.5rem}.ftile b{position:absolute;bottom:.25rem;font-size:.6rem;letter-spacing:.04em;text-transform:uppercase}
.ftile.pdf{background:var(--red-t);color:var(--red-d)}.ftile.spreadsheet{background:var(--ok-t);color:var(--ok)}.ftile.document{background:var(--blue-t);color:var(--blue)}
.ftile.presentation{background:var(--gold-t);color:var(--warn)}.ftile.image{background:#efe6f7;color:#6b3fa0}.ftile.video,.ftile.audio{background:#fbe9d9;color:#a4510d}.ftile.link{background:var(--teal-t);color:var(--teal)}
.res h3{font-family:var(--font);font-size:1.02rem;margin:0 0 .15rem}.res h3 a{color:var(--teal-d);text-decoration:none}.res h3 a:hover{text-decoration:underline}
.res p{margin:.2rem 0;color:var(--mut);font-size:.9rem}
.res-body{padding:0 1.1rem;flex:1}
.res-foot{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem .9rem;flex-wrap:wrap}
.res-foot .meta{color:var(--faint);font-size:.8rem;margin-inline-end:auto}
.tag{display:inline-block;font-size:.76rem;padding:.05rem .5rem;border-radius:6px;background:var(--line-2);color:var(--slate);margin-block:0 .25rem;margin-inline:0 .25rem}
.star{color:var(--gold-d)}

/* Announcements */
.ann{display:block;background:var(--card);border:1px solid var(--line);border-inline-start:6px solid var(--blue);border-radius:var(--r-card);padding:1rem 1.2rem;margin:0 0 .9rem;box-shadow:var(--shadow);text-decoration:none;color:inherit}
.ann:hover{border-color:var(--teal-3);border-inline-start-color:var(--blue);color:inherit}
.ann.important{border-inline-start-color:var(--gold)}.ann.urgent{border-inline-start-color:var(--red)}
.ann.unread h3::after{content:"New";margin-inline-start:.6rem;font:700 .7rem var(--font);background:var(--gold);color:var(--teal-d);padding:.1rem .5rem;border-radius:99px;vertical-align:middle}
.ann h3{font-family:var(--font);font-size:1.12rem;color:var(--teal-d)}.ann .meta{color:var(--mut);font-size:.84rem;margin:.15rem 0 .4rem}
.prose{max-width:46rem;font-size:1.04rem;line-height:1.7}.prose p{margin:.7em 0}

/* Events */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--card)}
.cal .dow{background:var(--teal);color:#fff;text-align:center;font-weight:700;font-size:.8rem;padding:.5rem 0}
.cal .day{min-height:5.6rem;border-top:1px solid var(--line-2);border-inline-start:1px solid var(--line-2);padding:.3rem .4rem;font-size:.8rem}
.cal .day:nth-child(7n+8){border-inline-start:0}
.cal .day.out{background:#faf8f2;color:var(--faint)}.cal .day.today{background:var(--gold-t)}
.cal .day b{display:block;margin-bottom:.15rem}
.cal .ev{display:block;margin:2px 0;padding:.12rem .4rem;border-radius:5px;background:var(--teal);color:#fff;text-decoration:none;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal .ev.deadline{background:var(--red)}.cal .ev.webinar{background:var(--blue)}.cal .ev.networking{background:var(--tan)}.cal .ev.cancelled{background:#9aa5a8;text-decoration:line-through}
.evrow{display:flex;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--line-2);color:inherit;text-decoration:none}.evrow:last-child{border-bottom:0}
a.evrow:hover{background:var(--teal-tt)}
.datebox{flex:none;width:3.6rem;text-align:center;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--card)}
.datebox .m{display:block;background:var(--teal);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15rem 0}
.datebox .d{display:block;font-size:1.5rem;font-weight:700;color:var(--teal-d);line-height:1.2;padding:.1rem 0 .2rem}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:.45rem 1.2rem;margin:0}.kv dt{color:var(--mut);font-weight:700;font-size:.88rem}.kv dd{margin:0}

/* Tracking */
.health{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.84rem}
.health::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:var(--faint)}
.health.good::before{background:var(--ok)}.health.warn::before{background:var(--gold-d)}.health.bad::before{background:var(--red)}
.timeline{list-style:none;margin:0;padding-block:0;padding-inline:1.1rem 0;border-inline-start:2px solid var(--line)}
.timeline li{position:relative;padding-block:0 .9rem;padding-inline:1rem 0}.timeline li::before{content:"";position:absolute;inset-inline-start:-1.5rem;top:.35rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--teal);border:2px solid #fff}
.timeline .when{font-size:.8rem;color:var(--mut)}

/* Forum */
.forum-hero{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cat{display:flex;gap:1rem;align-items:center;padding:1rem 1.3rem;border-bottom:1px solid var(--line-2);text-decoration:none;color:inherit}.cat:last-child{border-bottom:0}.cat:hover{background:var(--teal-tt);color:inherit}
.cat-ic{flex:none;width:2.9rem;height:2.9rem;border-radius:12px;background:var(--teal);color:var(--gold);display:grid;place-items:center}.cat-ic .ic{width:1.4rem;height:1.4rem}
.cat .grow{flex:1;min-width:0}.cat h3{font-family:var(--font);font-size:1.05rem}.cat h3 .badge{margin-inline-start:.55rem;vertical-align:middle;font-size:.72rem;font-weight:600}.cat .s{color:var(--mut);font-size:.9rem}
.cat .figs{text-align:end;color:var(--mut);font-size:.84rem;white-space:nowrap}.cat .figs b{display:block;color:var(--teal-d);font-size:1.1rem}
.topic{display:flex;gap:.9rem;align-items:center;padding:.9rem 1.3rem;border-bottom:1px solid var(--line-2)}.topic:last-child{border-bottom:0}
.topic .grow{flex:1;min-width:0}.topic .t{font-weight:700;color:var(--teal-d);text-decoration:none;font-size:1.02rem}.topic .t:hover{text-decoration:underline}
.topic .s{color:var(--mut);font-size:.85rem}
.topic .figs{display:flex;gap:1.2rem;color:var(--mut);font-size:.82rem;text-align:center}.topic .figs b{display:block;color:var(--teal-d);font-size:1rem}
.post{display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);margin:0 0 .9rem;box-shadow:var(--shadow);overflow:hidden}
.post.first{border-top:4px solid var(--teal)}.post.accepted{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok)}
.post-side{background:var(--teal-tt);padding:1rem .5rem;text-align:center;border-inline-end:1px solid var(--line-2);font-size:.78rem;color:var(--mut)}
.post-side .avatar{margin:0 auto .4rem;display:grid}.post-side b{display:block;color:var(--teal-d);font-size:.85rem;line-height:1.2;word-break:break-word}
.post-main{padding:.9rem 1.2rem 0;min-width:0}
.post-meta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;font-size:.82rem;color:var(--mut);margin-bottom:.4rem}
.post-body{font-size:1rem;line-height:1.65;word-wrap:break-word;overflow-wrap:anywhere}.post-body p{margin:.5em 0}
.post-body blockquote{margin:.6rem 0;padding:.4rem .9rem;border-inline-start:4px solid var(--gold);background:var(--gold-t);border-start-start-radius:0;border-start-end-radius:8px;border-end-end-radius:8px;border-end-start-radius:0;color:#4d4020}
.post-actions{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center;padding:.5rem 0 .8rem}.post-actions form{margin:0}
.act{display:inline-flex;align-items:center;gap:.35rem;background:none;border:1px solid transparent;border-radius:99px;padding:.22rem .7rem;color:var(--mut);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer;text-decoration:none}
.act:hover{background:var(--teal-t);color:var(--teal-d)}.act.on{background:var(--gold-t);color:var(--warn);border-color:var(--gold)}.act.good{color:var(--ok)}.act.danger:hover{background:var(--red-t);color:var(--red-d)}
.removed{color:var(--faint);font-style:italic}
.replybox{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:1.1rem 1.3rem;box-shadow:var(--shadow)}

/* Course player */
.player-head{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:.9rem}
.player-head .back{display:inline-flex;gap:.4rem;align-items:center;text-decoration:none;font-weight:700}
.stage{background:#0c1d20;border-radius:var(--r-card);overflow:hidden;border:1px solid #0c1d20;box-shadow:var(--shadow)}
.stage iframe{display:block;width:100%;height:min(74vh,720px);min-height:420px;border:0;background:var(--card)}
.stage video{display:block;width:100%;max-height:74vh;background:#000}
.stage .pdfframe{height:min(80vh,820px)}
.stage img{display:block;margin:0 auto;max-width:100%;max-height:74vh;background:var(--card)}
.stage .empty{color:#9fc2c3;padding:3rem 1rem}.stage .empty strong{color:#fff}
.livebar{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:.7rem 1.1rem;margin:.9rem 0;box-shadow:var(--shadow)}
.livebar .grow{flex:1;min-width:180px}.livebar .fig{font-size:.84rem;color:var(--mut)}.livebar .fig b{display:block;color:var(--teal-d);font-size:1.05rem}
.saved{font-size:.82rem;color:var(--ok);font-weight:700}

/* Upload field */
.drop-zone{border:2px dashed var(--teal-3);background:var(--teal-tt);border-radius:var(--r-card);padding:1rem 1.1rem;margin-top:.5rem}
.drop-zone input[type=file]{border:0;background:transparent;padding:.2rem 0;margin:0}
.fileinfo{display:flex;gap:.7rem;align-items:center;background:var(--teal-tt);border:1px solid var(--line);border-radius:var(--r-ctl);padding:.6rem .8rem;margin-top:.5rem}

/* Sign-in and install */
.auth{max-width:440px;margin:2rem auto}
.install{max-width:700px;margin:2.5rem auto;padding:0 1rem}.install .logo{padding:0 0 1.2rem}.install .logo img{max-width:300px}

/* Responsive */
@media (max-width:1000px){.split{grid-template-columns:1fr}}
@media (max-width:860px){
  .shell{display:block}
  .side{position:fixed;inset-block:0 0;inset-inline:0 auto;width:min(86vw,310px);height:100%;z-index:70;transform:translateX(var(--side-off,-102%));transition:transform .2s}
  body.nav-open .side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.35)}
  body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(0,30,32,.55);z-index:65}
  .burger{display:inline-flex}.topbar{padding:0 1rem}.content{padding:1.1rem 1rem 1.6rem}.pill{display:none}
  .hero{grid-template-columns:1fr;padding:1.3rem}.hero .ring{justify-self:start}
  .course-row{grid-template-columns:1fr auto}.course-row .meter{grid-column:1/-1;order:3}
  .tbl-wrap,.card>table{display:block;overflow-x:auto}
  .post{grid-template-columns:1fr}.post-side{display:flex;gap:.6rem;align-items:center;text-align:start;border-inline-end:0;border-bottom:1px solid var(--line-2);padding:.6rem 1rem}.post-side .avatar{margin:0}
  .topic .figs{display:none}.cal .day{min-height:3.6rem}.cal .ev{font-size:0;padding:.2rem;border-radius:50%;display:inline-block;width:.6rem;height:.6rem}
  .drop{position:fixed;inset-inline-start:.6rem;inset-inline-end:.6rem;top:4rem;width:auto}
}
@media print{.side,.topbar,.foot,.scrim{display:none}.shell{display:block}.card{box-shadow:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.flip{transform:scaleX(-1)}.bad-note{color:var(--red-d);font-weight:700}
.calbar{margin:0!important;padding:1rem 1.3rem}.nomargin{margin:0!important}.block{display:block}
.progcell{min-width:9rem}.progcell .meter{margin-bottom:.15rem}
.reportbox{display:inline-block;margin:0}.reportbox summary{list-style:none}.reportbox[open]{display:block;width:100%}
.hero .btn.quiet{color:#fff;border-color:rgba(255,255,255,.45)}.hero .btn.quiet:hover{background:rgba(255,255,255,.12);color:#fff}
.res-foot .btn{padding:.3rem .65rem;font-size:.86rem}.res-foot{gap:.4rem}
.logo img,.logo-card img{max-width:100%;height:auto}

/* Helpdesk and help guide */
.filters{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin:0 0 1rem}.filters input,.filters select{width:auto;min-width:11rem;margin:0}
ul.plain{margin:.3rem 0 0;padding-inline-start:1.1rem}ul.plain li{margin:.45rem 0}.small{font-size:.86rem}
.btn.good{background:var(--green,#1f7a4d);color:#fff}.btn.good:hover{filter:brightness(.92);color:#fff}
.guide{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.5rem;align-items:start}
.guide-toc{position:sticky;top:5rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:.8rem .6rem;box-shadow:var(--shadow);max-height:calc(100vh - 7rem);overflow:auto}
.guide-toc a{display:block;padding:.38rem .7rem;border-radius:8px;color:var(--slate);text-decoration:none;font-size:.92rem}.guide-toc a:hover{background:var(--teal-tt);color:var(--teal-d)}
.guide-toc h2{font-size:.78rem;letter-spacing:.06em;color:var(--mut);margin:.4rem .7rem .3rem;font-family:var(--font)}
.gsec{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:1.2rem 1.4rem;margin:0 0 1.1rem;box-shadow:var(--shadow);scroll-margin-top:5rem}
.gsec h2{margin:0 0 .2rem}.gsec .lead{color:var(--mut);margin:0 0 .8rem}.gsec h3{font-size:1.02rem;margin:1rem 0 .3rem;color:var(--teal-d);font-family:var(--font)}
.gsec ol,.gsec ul{margin:.3rem 0 .6rem;padding-inline-start:1.3rem}.gsec li{margin:.3rem 0}
.gsec .tip{background:var(--gold-t);border-inline-start:4px solid var(--gold);border-radius:8px;padding:.55rem .85rem;margin:.7rem 0}
.gsec .who{display:inline-block;font-size:.76rem;font-weight:700;background:var(--teal-t);color:var(--teal);border-radius:99px;padding:.05rem .6rem;margin-inline-start:.4rem;vertical-align:middle}
.journey{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.7rem;margin:.6rem 0 0;padding:0;list-style:none;counter-reset:j}
.journey li{counter-increment:j;background:var(--teal-tt);border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;margin:0}
.journey li::before{content:counter(j);display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;font-size:.8rem;margin-inline-end:.45rem}
.journey b{display:inline}.journey span{display:block;color:var(--mut);font-size:.86rem;margin-top:.2rem}
details.faq{border-top:1px solid var(--line);padding:.55rem 0}details.faq summary{cursor:pointer;font-weight:700;color:var(--teal-d)}details.faq p{margin:.4rem 0 0}
@media(max-width:900px){.guide{grid-template-columns:minmax(0,1fr)}.guide-toc{position:static;max-height:none}}
.evt{text-align:center;margin:.7rem 0}.att{margin-top:.4rem}

/* Career framework, branding, credentials */
.pad{padding:1.1rem 1.3rem .4rem}.split-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:1.4rem;align-items:start}
.sigprev,.logoprev{display:grid;place-items:center;min-height:9rem;border:1px dashed var(--line);border-radius:12px;background:repeating-conic-gradient(#f4f1ea 0 25%,#fff 0 50%) 0 0/16px 16px;padding:.8rem}.sigprev img,.logoprev img{max-width:100%;max-height:9rem}
details.stage{border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;margin:.6rem 0;background:var(--card)}details.stage summary{cursor:pointer;display:flex;gap:.7rem;align-items:center}
.stage-n{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--teal);color:#fff;font-weight:700;font-size:.85rem}
:is(input,select).narrow{width:5rem}table input,table select{margin:0}
@media(max-width:800px){.split-form{grid-template-columns:minmax(0,1fr)}}
.ladder{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.rung{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:1rem;background:var(--card);border:1px solid var(--line);border-inline-start:6px solid var(--teal-3);border-radius:var(--r-card);padding:1rem 1.2rem;box-shadow:var(--shadow)}
.rung.on{border-inline-start-color:var(--gold);background:linear-gradient(90deg,var(--gold-t),var(--card) 40%)}
.rung-n{width:3rem;height:3rem;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font:700 1.3rem Georgia,serif}.rung.on .rung-n{background:var(--gold);color:var(--teal-d)}
.rung h2{margin:0 0 .2rem}.rung .lead{color:var(--slate);font-weight:700;margin:.1rem 0 .5rem}
.cpd-hero{display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:.8rem}
.cpd-n{font:700 2.6rem Georgia,serif;color:var(--teal-d);line-height:1.1}.cpd-n span{font:700 1rem var(--font);color:var(--mut)}
.cpd-act{display:flex;flex-direction:column;gap:.3rem;align-items:flex-end}
.cpd-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-top:1rem}.cpd-cat{display:flex;gap:.6rem;align-items:center;background:var(--teal-tt);border-radius:12px;padding:.6rem .8rem}.cpd-cat .ic{width:1.6rem;height:1.6rem;color:var(--teal)}.cpd-cat .n{font-weight:700;color:var(--teal-d)}
h3.plain-h{margin:0;font-family:var(--font);font-size:1.05rem;color:var(--teal-d)}
/* Recognition */
h2.sec{margin:1.4rem 0 .7rem}.podium{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1rem}
.pod{position:relative;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:1.4rem 1rem 1.1rem;box-shadow:var(--shadow);border-top:6px solid var(--teal-3)}
.pod.gold{border-top-color:#C99A1A;background:linear-gradient(#FFF8E1,#fff 45%)}.pod.silver{border-top-color:#8A969C;background:linear-gradient(#F1F4F5,#fff 45%)}.pod.bronze{border-top-color:#A86A34;background:linear-gradient(#FBF0E6,#fff 45%)}
.pod h3{font-family:var(--font);font-size:1.1rem;margin:.5rem 0 .1rem;color:var(--teal-d)}.pod-rank{position:absolute;top:.6rem;inset-inline-start:.8rem;font:700 1.5rem Georgia,serif;color:var(--mut)}.pod.gold .pod-rank{color:#C99A1A}
.pod-score{font-weight:700;color:var(--teal);margin-top:.4rem}.stars{display:flex;justify-content:center;gap:.1rem;margin:.2rem 0}.st .ic{width:1.15rem;height:1.15rem;color:#d8d2c2;fill:none}.st.on .ic{color:#C99A1A;fill:#EABD31}
.rank-chip{display:inline-block;background:var(--teal-t);color:var(--teal-d);font-weight:700;border-radius:99px;padding:.1rem .6rem}tr.dim td{opacity:.6}
.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 1rem}

/* Alignment of filter bars: every control and button has the same height */
.bar>.btn.small,.filters>.btn.small,form.bar>.btn,.filters>.btn{padding:.62rem 1.15rem;font-size:1rem;line-height:1.55;align-self:center}
.bar>.btn,.filters>.btn{min-height:2.9rem}
/* Top bar tools */
.topbar .tool{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--card);color:var(--teal-d);cursor:pointer;padding:0;flex:none}
.topbar .tool:hover{background:var(--teal-tt);border-color:var(--teal-3)}.topbar .tool .ic{width:1.25rem;height:1.25rem}
.topsearch{flex:1;max-width:30rem;margin:0 .4rem}.topsearch .search{display:block}.topsearch input{width:100%;margin:0;min-width:0;padding-top:.5rem;padding-bottom:.5rem;border-radius:99px}
.prefs{min-width:17rem;padding:.4rem .2rem}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .9rem}.pref-row>span{font-weight:700;font-size:.9rem;color:var(--teal-d)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-ctl);overflow:hidden}
.seg button{display:inline-flex;align-items:center;gap:.35rem;border:0;background:var(--card);color:var(--txt);font:inherit;font-size:.88rem;padding:.4rem .7rem;cursor:pointer}.seg button+button{border-inline-start:1px solid var(--line)}
.seg button:hover{background:var(--teal-tt)}.seg button[aria-pressed=true]{background:var(--teal);color:#fff}.seg .ic{width:1rem;height:1rem}
@media (max-width:860px){.topsearch{display:none}.topbar .tool.wide-only{display:none}}
@media (min-width:861px){.tool.mobile-search{display:none}}
/* Collapsed menu (icons only) and focus mode (menu hidden) on large screens */
@media (min-width:861px){
  html.side-collapsed .shell{grid-template-columns:4.6rem minmax(0,1fr)}
  html.side-collapsed .side{padding-inline-start:.5rem;padding-inline-end:.5rem}
  html.side-collapsed .logo,html.side-collapsed .org-name,html.side-collapsed .nav-title,html.side-collapsed .nav a>span:not(.dot),html.side-collapsed .me-name,html.side-collapsed .me-role{display:none}
  html.side-collapsed .org{justify-content:center;padding:.55rem 0}
  html.side-collapsed .nav-group{border-top:1px solid var(--teal-2);padding-top:.45rem;margin-bottom:.45rem}
  html.side-collapsed .nav a{justify-content:center;padding:.6rem 0}.side-collapsed .nav a.on::before{inset-inline-start:-.5rem}
  html.side-collapsed .nav .dot{position:absolute;top:.1rem;inset-inline-end:.15rem;min-width:1.05rem;height:1.05rem;font-size:.62rem;padding:0 .2rem}
  html.side-collapsed .me-id{justify-content:center;padding:0 0 .5rem}
  html.side-collapsed .me-links{flex-direction:column;align-items:center}
  html.side-collapsed .me-links a,html.side-collapsed .me-links button{font-size:0;padding:.5rem}html.side-collapsed .me-links .ic{width:1.2rem;height:1.2rem}
  html.focus .shell{display:block}html.focus .foot{display:none}
  html.focus .side{position:fixed;inset-block:0 0;inset-inline:0 auto;width:310px;height:100%;z-index:70;transform:translateX(var(--side-off,-102%));transition:transform .2s}
  html.focus body.nav-open .side{transform:none;box-shadow:0 0 40px rgba(0,0,0,.35)}
  html.focus body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(0,30,32,.55);z-index:65}
  html.focus .burger{display:inline-flex}html.focus .content{max-width:none}
}
/* Dark theme */
html[data-theme=dark]{color-scheme:dark;
  --bg:#0e1a1d;--card:#162428;--line:#2b3e43;--line-2:#223338;--txt:#e5eef0;--mut:#a1b4b9;--faint:#7d9399;--topbar:rgba(18,32,36,.94);
  --slate:#c3d3d7;--teal:#0e6a6e;--teal-d:#8fd3d5;--teal-2:#167a7e;--teal-3:#2a9296;--teal-t:#1b3d40;--teal-tt:#13292c;
  --gold-t:#3a3215;--blue:#74b8f4;--blue-d:#a3cef7;--blue-t:#172c42;--red:#ff7164;--red-d:#ff9a90;--red-t:#3c201d;--ok:#62d595;--ok-t:#163428;--warn:#ebbb4b;--warn-t:#3a3215}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#0e1a1d;border-color:#3a4f55;color:var(--txt)}
html[data-theme=dark] .side{background:#005154}html[data-theme=dark] .nav a.on{background:#e8f1f1;color:#003a3d}
html[data-theme=dark] .nav .dot,html[data-theme=dark] .side .avatar{color:#003a3d}
html[data-theme=dark] .btn{color:#fff}html[data-theme=dark] .btn.gold{background:var(--gold);color:#1b2a30}
html[data-theme=dark] .btn.ghost,html[data-theme=dark] .btn.quiet{color:var(--teal-d);background:transparent;border-color:var(--teal-3)}
html[data-theme=dark] img.keep-light{background:#fff}
html[data-theme=dark] .logo img,html[data-theme=dark] .auth-brand img{filter:none}
html[data-theme=dark] .pod.gold{background:linear-gradient(#3a3215,var(--card) 45%)}html[data-theme=dark] .pod.silver{background:linear-gradient(#26343a,var(--card) 45%)}html[data-theme=dark] .pod.bronze{background:linear-gradient(#3b2a1c,var(--card) 45%)}
html[data-theme=dark] .st .ic{color:#4c5e63}
.search.grow{flex:1;min-width:14rem}.search.grow input{width:100%}
ul.results{margin:0;padding:0 1.3rem 1rem;list-style:none}ul.results li{padding:.45rem 0;border-top:1px solid var(--line-2)}

/* Sign-in: one centred column (logo and title, sign-in box, sample accounts in a row) */
.auth-solo{min-height:100vh;display:flex;justify-content:center;background:radial-gradient(60rem 22rem at 50% -6rem,var(--teal-t),transparent 70%),var(--bg);border-top:6px solid var(--gold)}
.auth-form{width:100%;max-width:62rem;margin:0 auto;padding:2rem 1.2rem 3rem;display:flex;flex-direction:column;align-items:center}
.auth-head{text-align:center;margin-bottom:1.4rem}.auth-logo{display:inline-block}.auth-logo img{display:block;width:min(300px,70vw);height:auto;margin:0 auto}
.auth-head h1{font-size:clamp(1.6rem,3.4vw,2.2rem);margin:1rem 0 .3rem}.auth-head p{margin:0 auto;max-width:36rem;color:var(--mut);font-size:1.02rem}
.auth-form .box{width:100%;max-width:26rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:1.5rem 1.6rem}
.auth-form .box h2{font-size:1.3rem}.auth-form .box label input{max-width:none}
.demo-row{width:100%;margin-top:1.8rem;text-align:center}.demo-row h2{margin-bottom:.3rem}.demo-row p{max-width:44rem;margin:0 auto .9rem;color:var(--mut)}
.demo-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.demo-btn{display:flex;align-items:center;gap:.6rem;width:13.2rem;text-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r-ctl);padding:.5rem .7rem;font:inherit;cursor:pointer;color:var(--txt)}
.demo-btn:hover{border-color:var(--teal);background:var(--teal-tt)}.demo-btn .grow{flex:1;min-width:0}.demo-btn b{display:block;color:var(--teal-d);font-size:.93rem}.demo-btn span{font-size:.82rem;color:var(--mut)}
@media (max-width:560px){.demo-btn{width:100%}}
.backrow{display:flex;gap:1rem;align-items:center;margin:0 0 1rem;font-weight:700}.backrow a{display:inline-flex;gap:.4rem;align-items:center}
.card .backrow{margin:0}
/* Side menu: collapse button on the menu itself, crest when collapsed */
.side-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem}.side-top .logo{flex:1;min-width:0}
.side-collapse{flex:none;display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;margin-top:.1rem;border-radius:var(--r-ctl);border:1px solid var(--teal-3);background:transparent;color:var(--on-teal);cursor:pointer;padding:0}
.side-collapse:hover{background:var(--teal-2);color:#fff}.side-collapse .ic{width:1.15rem;height:1.15rem}
.logo .crest{display:none}
@media (min-width:861px){
  html.side-collapsed .side-top{flex-direction:column;align-items:center}
  html.side-collapsed .logo{display:block;padding:.1rem 0 .6rem}html.side-collapsed .logo img:not(.crest){display:none}html.side-collapsed .logo .crest{display:block;width:2.2rem;height:auto;margin:0 auto}
}
@media (max-width:860px){.side-collapse{display:none}}
/* Controls: box widths follow what goes in them */
label>input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]){max-width:34rem}
label>input[type=password]{max-width:26rem}
label>input[inputmode=numeric],label>input[inputmode=decimal],label>input[type=number],label>input[type=date],label>input[type=time],label>input[type=datetime-local]{max-width:13rem}
label>select{max-width:28rem}label>textarea{max-width:52rem}
.cols label>input,.cols label>select,.cols label>textarea,.cols3 label>input,.cols3 label>select,.split-form label>input,.split-form label>select,.split-form label>textarea,.search input,.auth-form label>input{max-width:none}
.card>form>label,.card>form>.cols,.card>form>.cols3{max-width:60rem}
.hint{max-width:46rem}
html[data-theme=dark] .auth-solo{background:radial-gradient(60rem 22rem at 50% -6rem,#143b3e,transparent 70%),var(--bg)}
html[data-theme=dark] .auth-logo img{background:#fff;border-radius:10px;padding:.6rem .8rem}

/* Public certificate check */
.verify{max-width:44rem;margin:0 auto;padding:0 0 2rem}.verify-logo{text-align:center;margin:0 0 1.2rem}.verify-logo img{width:min(220px,60vw);height:auto}
.verify-card{background:var(--card);border:2px solid var(--txt);border-radius:var(--r-card);padding:1.6rem 1.8rem;box-shadow:var(--shadow);text-align:center}
.verify-card.ok{border-color:#0a6b3a}.verify-card.bad{border-color:#a3171b}
.verify-state{display:flex;gap:.5rem;justify-content:center;align-items:center;flex-wrap:wrap;font-weight:800;margin:0 0 1rem;color:#0a6b3a}.verify-card.bad .verify-state{color:#a3171b}
.verify-who{font-size:1.7rem;font-weight:800;margin:.2rem 0 0;color:var(--teal-d)}.verify-what{margin:.1rem 0 .2rem;color:var(--txt)}.verify-card h1{font-size:1.4rem;margin:.1rem 0 1rem}
.verify-facts{text-align:start;margin:1rem 0 0;border-top:2px solid var(--txt)}.verify-facts div{display:grid;grid-template-columns:11rem 1fr;gap:.8rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.verify-facts dt{font-weight:700}.verify-facts dd{margin:0;overflow-wrap:anywhere}
@media (max-width:560px){.verify-facts div{grid-template-columns:1fr;gap:.1rem}}
/* Profile photos, birthday banner */
.avatar.photo{overflow:hidden;background:var(--card);padding:0}.avatar.photo img{width:100%;height:100%;object-fit:cover;display:block}
.avatar.xl{width:5.2rem;height:5.2rem;font-size:1.6rem}
.profile-head{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.profile-head strong{font-size:1.15rem}
.banner.birthday{background:#fff4c9;border-color:#a87a00;color:#2b2000;display:flex;gap:.8rem;align-items:center}.banner.birthday .btn{flex:none}
html[data-theme=dark] .banner.birthday{background:#3a2e00;color:#fff1b8;border-color:#e0a800}
.facts div{display:grid;grid-template-columns:9rem 1fr;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.facts dt{font-weight:700}.facts dd{margin:0}
label.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}label.check input{margin-top:.25rem;flex:none}

/* Share with */
.aud{border:2px solid var(--txt);border-radius:var(--r-card);padding:.9rem 1.1rem 1rem;margin:1rem 0;max-width:60rem}.aud legend{font-weight:800;padding:0 .4rem;color:var(--teal-d)}
.aud .check{margin:.2rem 0}.aud-group{margin-top:.8rem}.aud-h{font-weight:700;margin-bottom:.2rem}
.aud-list{display:flex;flex-wrap:wrap;gap:.1rem 1.4rem}.aud-list.tall{display:block;max-height:13rem;overflow:auto;border:1px solid var(--line);border-radius:var(--r-ctl);padding:.4rem .7rem}
.aud-list.tall .check{display:flex}.aud-filter{max-width:22rem!important;margin:.2rem 0 .4rem}
.hide{display:none!important}
/* Catalogue and payments */
.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1rem}
.course-card{display:flex;flex-direction:column;gap:.5rem;border:2px solid var(--txt)}.course-card h2{margin:.2rem 0}.course-card h2 a{color:var(--teal-d);text-decoration:none}.course-card p{margin:0;flex:1}
.cc-top{display:flex;justify-content:space-between;align-items:center}.price{font-weight:800;font-size:1.15rem;color:var(--txt)}.price.free{color:#0a6b3a}.price.big{font-size:2.2rem;margin-bottom:.6rem}
.meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.9rem}.meta li{display:flex;gap:.35rem;align-items:center}
.buy{align-self:start;position:sticky;top:5rem}.buy .btn.block{width:100%;justify-content:center}
.steps{padding-inline-start:1.2rem}.steps li{margin:.55rem 0}

/* ---- full profile, completion, selfie ---- */
.completion .meter{height:.85rem;background:var(--line);margin:.35rem 0 .75rem}.completion .meter::-webkit-progress-bar{background:var(--line)}
.completion-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.completion-head h2{margin:0}.completion-pct{font-size:1.8rem;color:var(--teal);font-family:var(--serif)}
.todo{list-style:none;margin:.25rem 0 0;padding:0;display:grid;gap:.4rem}.todo a{font-weight:700}.todo svg{width:1em;height:1em;vertical-align:-.12em}
.ok-line{display:flex;align-items:center;gap:.4rem;color:var(--ok);font-weight:700;margin:0}.ok-line svg{width:1.2em;height:1.2em}
.selfie{margin:.25rem 0 1rem}.selfie[hidden],.selfie-box[hidden],[data-selfie-file][hidden]{display:none}
.selfie-box{margin:.6rem 0;display:grid;gap:.6rem;justify-items:start}
.selfie-box video,.selfie-box canvas{width:100%;max-width:26rem;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-card);border:2px solid var(--teal);background:#000;transform:scaleX(-1)}
.selfie-box canvas{transform:none}
.card h3{margin:1.4rem 0 .4rem;font-size:1.05rem;color:var(--teal-d)}
.entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:.5rem 1.25rem;padding:.8rem 0;border-top:2px solid var(--line-2);align-items:start}
.entry:first-of-type{border-top:0}.entry-proof{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;justify-content:flex-end}
.inline-proof{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.inline-proof input[type=file]{max-width:15rem}
.add-entry{margin-top:.9rem}.add-entry summary{display:inline-block;cursor:pointer}.add-entry form{margin-top:.8rem}
@media (max-width:720px){.entry{grid-template-columns:1fr}.entry-proof{justify-content:flex-start}}
.banner.profile-nudge{background:var(--teal-t);border-color:var(--teal);color:var(--txt);align-items:center}.banner.profile-nudge .meter{margin-top:.4rem;max-width:22rem;display:block}.banner.profile-nudge .btn{flex:none}
input[hidden],label[hidden]{display:none!important}

/* ---- Layout round: one control height, buttons on one line, nothing overlapping ---- */
:root{--ctl-h:2.75rem}
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select{min-height:var(--ctl-h);box-sizing:border-box}
.btn{min-height:var(--ctl-h);box-sizing:border-box;white-space:nowrap}
.btn.small{min-height:2.25rem;padding:.35rem .85rem;font-size:.92rem}
.bar,.filters{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end;margin:0 0 1.1rem}
.bar>*,.filters>*{margin-top:0;margin-bottom:0}
.filters label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.92rem}
.filters label input,.filters label select{margin:0;min-width:11rem;width:auto}
.filters>.btn,.filters .filter-actions .btn,.bar>.btn,form.bar>.btn,.bar select+.btn{align-self:flex-end;padding-top:.45rem;padding-bottom:.45rem}
.filter-actions{display:flex;gap:.6rem;align-items:flex-end}
form.bar{align-items:center}
form.bar .search{flex:1 1 15rem;min-width:12rem}
form.bar select{flex:0 1 auto;width:auto;min-width:9rem}
.search{position:relative;display:flex;align-items:center}.search input{margin:0;width:100%}
.actions-row,.actions,td .bar,.app-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.actions-row{justify-content:flex-end}
td.right .actions-row{justify-content:flex-end}
.actions-row>*,.actions>*{margin:0}
.actions-row form,.actions form{margin:0;display:flex}
.card .actions{margin-top:1rem}
td .btn.small,td .actions-row .btn{min-height:2.25rem}
@media (max-width:560px){.filters label,.filters label input,.filters label select{width:100%}.filters .filter-actions{width:100%}}
/* Collapsed side menu: the switch and collapse buttons sit apart */
html.side-collapsed .side-top{gap:.6rem}
html.side-collapsed .org{margin-top:.4rem}
html.side-collapsed .side-collapse{margin:0 auto .2rem}

/* Membership, chat, viewer, misc */
.hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.grade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1.1rem;margin-bottom:1.2rem}
.grade-card{display:flex;flex-direction:column;gap:.5rem}.grade-card .actions{margin-top:auto;padding-top:.8rem}
.checks{list-style:none;margin:.4rem 0;padding:0}.checks li{display:flex;gap:.55rem;align-items:flex-start;margin:.35rem 0}.checks .ic{flex:none;margin-top:.15rem}
.checks li.ok .ic{color:#1d7a4d}.checks li.no .ic{color:#a35a00}
dl.fees{margin:.4rem 0;display:grid;gap:.3rem}dl.fees>div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dotted #d6d0bf;padding:.25rem 0}dl.fees dt{color:var(--mut)}dl.fees dd{margin:0;font-weight:700}dl.fees .total{border-bottom:0;border-top:2px solid var(--teal);padding-top:.5rem}
.pre-line{white-space:pre-line}
.app-card header{display:flex;gap:1rem;align-items:flex-start;margin-bottom:.6rem}.app-card h2{margin:0}
dl.qa{margin:.5rem 0;display:grid;gap:.6rem}dl.qa dt{font-weight:700}dl.qa dd{margin:.15rem 0 0}
.app-actions{margin-top:.8rem;align-items:flex-start;gap:1rem}.decide{flex:1 1 20rem;display:flex;flex-direction:column;gap:.5rem}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}.tabs a{padding:.45rem .9rem;border-radius:999px;border:1px solid #cfc8b5;text-decoration:none;color:inherit}.tabs a[aria-current=page]{background:var(--teal);color:#fff;border-color:var(--teal)}
.chat-q,.chat-a{padding:.8rem 1rem;border-radius:var(--r-ctl);background:var(--card);border:1px solid #ddd6c4;margin:.6rem 0}.chat-a{margin-inline-start:1.6rem;background:var(--teal-tt)}
.chat-body{white-space:pre-wrap;overflow-wrap:anywhere}.chat-reply{margin-block:.4rem 0;margin-inline:1.6rem 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.viewer{background:var(--card);border:1px solid #ddd6c4;border-radius:var(--r-ctl);padding:1rem;margin:0 0 1rem}
.viewer-img{max-width:100%;height:auto;display:block;margin:0 auto}
.viewer iframe,.viewer video{width:100%;border:0;min-height:70vh;background:#222}.viewer audio{width:100%}
.doc-page{background:#fff;border:1px solid #ddd6c4;padding:1.4rem;margin:0 auto 1rem;max-width:52rem;overflow-wrap:anywhere}
.doc-table{border-collapse:collapse;margin:.8rem 0}.doc-table td,.doc-table th{border:1px solid #d6d0bf;padding:.3rem .55rem}
.doc-img{max-width:100%;height:auto}.doc-slide{border:1px solid #ddd6c4;background:#fff;padding:1.2rem;margin:0 0 1rem}.doc-text{white-space:pre-wrap;font-family:ui-monospace,Menlo,monospace;font-size:.92rem}
.lead-text{font-size:1.05rem}.meta-line{color:var(--mut);font-size:.9rem}
@media print{html.noprint body>*{display:none!important}html.noprint body::before{content:"Printing is switched off for this resource.";display:block;padding:2rem;font:1.1rem sans-serif}}
.btn.small{padding:.3rem .7rem;font-size:.88rem;gap:.4rem}
.actions-row{justify-content:flex-start}td .actions-row,td.right .actions-row{justify-content:flex-end}
.actions-row{gap:.4rem}
.bar .search input,form.bar select{min-height:var(--ctl-h)}
input[type=hidden]{display:none!important}
.actions-row form>.btn,.actions form>.btn,.bar form>.btn,form.bar>.btn,.filters form>.btn,td form>.btn,form.inline>.btn,.app-actions form>.btn,.decide .btn,.card form.inline>button{margin-top:0}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;align-items:end}
.grid3>label{margin:0}
.grade-card h2,.grade-card h3,.grade-card p{margin:0}.grade-card h3{margin-top:.4rem}
details.card.stage>form{margin-top:1rem}
.grid3{margin:.8rem 0}
/* Phone widths: top bar fits, notification lines separate, tables scroll inside their card */
.note-item .t,.note-item .s{display:block}.note-item .s{margin-top:.15rem}
.topbar .crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar .tool,.topbar .iconbtn,.topbar .burger{flex:none}
@media (max-width:560px){.topbar{gap:.4rem;padding:0 .7rem}.topbar [data-fullscreen]{display:none}.top-right{gap:.35rem}.topbar .tool,.topbar .iconbtn{width:2.3rem;height:2.3rem}
  .page-head{flex-wrap:wrap}.page-head .bar{width:100%}.page-head .bar .btn{max-width:100%;white-space:normal}
  table{display:block;overflow-x:auto;max-width:100%}.tbl-wrap table{display:table}
  .btn{max-width:100%;white-space:normal}
  td .badge,.badge{white-space:nowrap}
  .mono{overflow-wrap:anywhere}}
.cols,.cols3{align-items:end}.cols>label,.cols3>label{display:flex;flex-direction:column;justify-content:flex-end}.cols>label>.hint,.cols3>label>.hint{margin-top:.3rem}
.cols:has(.hint),.cols3:has(.hint){align-items:start}.cols:has(.hint)>label,.cols3:has(.hint)>label{justify-content:flex-start}

/* ---- Arabic and right-to-left ------------------------------------------------------------------------------------
   Layout uses logical properties (margin-inline-start, inset-inline-end, text-align:start...) so it mirrors by itself.
   Arabic letters come from IBM Plex Sans Arabic (text) and Noto Naskh Arabic (headings); Latin keeps Lato. */
@font-face{font-family:"IAM Arabic";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/plex-ar-400.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"IAM Arabic";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/plex-ar-700.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:"IAM Arabic Serif";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/naskh-ar-700.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
:root{--font:Lato,"IAM Arabic","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--serif:"Playfair Display","IAM Arabic Serif",Georgia,"Times New Roman",serif}
[dir="rtl"]{--side-off:102%}
html[lang="ar"] body{line-height:1.7}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{line-height:1.45}
/* letter-spacing and capitals break or mean nothing for joined Arabic letters */
html[lang="ar"] body,html[lang="ar"] body *{letter-spacing:normal!important}
/* arrows and other pointing icons mirror in Arabic; an icon already flipped to point back un-flips */
[dir="rtl"] .flip-rtl{transform:scaleX(-1)}
[dir="rtl"] .flip.flip-rtl{transform:none}
/* addresses, numbers and codes read left to right inside Arabic text */
[dir="rtl"] input[type="email"],[dir="rtl"] input[type="url"],[dir="rtl"] input[type="tel"],[dir="rtl"] input[type="number"],[dir="rtl"] input[inputmode="decimal"],[dir="rtl"] input[inputmode="numeric"],[dir="rtl"] input[type="password"]{direction:ltr;text-align:right}
[dir="rtl"] .mono,[dir="rtl"] code,[dir="rtl"] pre{direction:ltr;unicode-bidi:isolate}
[dir="rtl"] pre{text-align:left}
/* language switch button */
.langf{display:inline-flex;margin:0}
.lang-btn span{font-size:.85rem;font-weight:700}
.tool.lang-btn{display:inline-flex;align-items:center;width:auto;gap:.3rem;padding-inline:.55rem}
.guest-lang{position:absolute;inset-block-start:.8rem;inset-inline-end:.8rem;z-index:5}
@media (max-width:640px){.tool.lang-btn span{display:none}.tool.lang-btn{width:2.5rem;padding-inline:0;justify-content:center}}
.org-name,.me-name,.crumb{unicode-bidi:plaintext}
/* Audit round: mirrored decorations, translated pseudo-text, mixed-direction content */
[dir="rtl"] .rung.on{background:linear-gradient(270deg,var(--gold-t),var(--card) 40%)}
[dir="rtl"] .hero{background:linear-gradient(240deg,var(--teal-d),var(--teal) 55%,var(--teal-2))}
.ann.unread h3::after{content:attr(data-new)}
.seg button[data-fs-step]{direction:ltr}
.note-item .grow{flex:1;min-width:0}
@media (max-width:560px){.badge:not(td *){white-space:normal;max-width:100%}
  .banner.profile-nudge{flex-wrap:wrap}.banner.profile-nudge .btn{flex:1 1 100%}}
/* text people typed (titles, descriptions, posts) keeps its own direction and alignment in either interface language */
.course-card h2,.course-card p,.res h3,.res p,.ann h3,.ann .muted,.post-body,.prose,.chat-body,.note-item .t,.note-item .s,.row-link .t,.row-link .s,.topic .t,.topic .s,.cat h3,.cat .s,.msg,.lead-text,.doc-auto,.evrow .t,.evrow .s{unicode-bidi:plaintext}
[dir="rtl"] input[dir="ltr"],[dir="rtl"] textarea[dir="ltr"]{direction:ltr;text-align:right}
[dir="ltr"] input[dir="rtl"],[dir="ltr"] textarea[dir="rtl"]{direction:rtl;text-align:left}
[dir="rtl"] .search input[dir="ltr"]{padding-left:.8rem;padding-right:2.4rem}[dir="ltr"] .search input[dir="rtl"]{padding-right:.8rem;padding-left:2.4rem}
@media print{.page-head .bar,.langf{display:none}}
