/* 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:#f6f3ec;--card:#fff;--line:#e2ddd0;--line-2:#eeeade;--txt:#1b2a30;--mut:#5d6d73;--faint:#8c999d;
  --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%}
body{margin:0;font:16px/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-left: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;left:-999px;top:.5rem;background:#fff;padding:.5rem .8rem;border-radius:8px;z-index:90}.skip:focus{left:.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:#fff;color:var(--teal-d);font-weight:700}
.nav a.on::before{content:"";position:absolute;left:-.85rem;top:.35rem;bottom:.35rem;width:4px;border-radius:0 4px 4px 0;background:var(--gold)}
.nav .dot{margin-left: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:rgba(255,255,255,.94);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-left: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:#fff;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;right:-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;right:0;top:calc(100% + .5rem);width:min(24rem,92vw);background:#fff;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:#fffaf0}
.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:#fff}
.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}
.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:left;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-left: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:#fff}
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:0 .5rem 0 0;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:#fff;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-left:2.4rem;min-width:260px}.search .ic{position:absolute;left:.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-radius:var(--r-ctl) var(--r-ctl) 0 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:#fff}
.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:#fff;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:#fff;max-width:46rem}
.msg.mine{background:var(--teal-t);border-color:#bfdada;margin-left: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:#fff;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-right:auto}
.tag{display:inline-block;font-size:.76rem;padding:.05rem .5rem;border-radius:6px;background:var(--line-2);color:var(--slate);margin:0 .25rem .25rem 0}
.star{color:var(--gold-d)}

/* Announcements */
.ann{display:block;background:#fff;border:1px solid var(--line);border-left: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-left-color:var(--blue);color:inherit}
.ann.important{border-left-color:var(--gold)}.ann.urgent{border-left-color:var(--red)}
.ann.unread h3::after{content:"New";margin-left:.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:#fff}
.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-left:1px solid var(--line-2);padding:.3rem .4rem;font-size:.8rem}
.cal .day:nth-child(7n+8){border-left: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:#fff}
.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:0 0 0 1.1rem;border-left:2px solid var(--line)}
.timeline li{position:relative;padding:0 0 .9rem 1rem}.timeline li::before{content:"";position:absolute;left:-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 .s{color:var(--mut);font-size:.9rem}
.cat .figs{text-align:right;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:#fff;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-right: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-left:4px solid var(--gold);background:var(--gold-t);border-radius:0 8px 8px 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:#fff;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:#fff}
.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:#fff}
.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:#fff;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-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh}
.auth-brand{background:linear-gradient(160deg,var(--teal-d),var(--teal) 60%,var(--teal-2));color:var(--on-teal);padding:3rem clamp(1.5rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;border-right:6px solid var(--gold)}
.auth-brand .logo-card{background:#fff;border-radius:14px;padding:1.2rem 1.5rem;align-self:flex-start;box-shadow:0 8px 30px rgba(0,0,0,.2)}.auth-brand .logo-card img{display:block;width:min(360px,100%);min-width:340px;height:auto}
.auth-brand h1{color:#fff;font-size:clamp(2rem,3.6vw,3rem);max-width:16ch;margin:0 0 1rem}
.auth-brand p{color:var(--on-teal-mut);max-width:34rem;font-size:1.05rem}
.auth-brand ul{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.9rem}.auth-brand li{display:flex;gap:.8rem;align-items:flex-start;color:var(--on-teal)}
.auth-brand li .ic{color:var(--gold);margin-top:.2rem}.auth-brand .fine{font-size:.82rem;color:var(--on-teal-mut)}
.auth-form{display:flex;flex-direction:column;justify-content:center;padding:2.5rem clamp(1.2rem,5vw,4.5rem);background:var(--bg)}
.auth-form .box{width:100%;max-width:26rem}.auth-form h1{font-size:1.8rem}
.auth-form .box.wide{max-width:44rem}
.demo-list{display:grid;gap:.4rem;margin-top:.6rem}
.demo-btn{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-ctl);padding:.5rem .75rem;font:inherit;cursor:pointer;color:var(--txt)}
.demo-btn:hover{border-color:var(--teal-3);background:var(--teal-tt)}.demo-btn .grow{flex:1;min-width:0}.demo-btn b{display:block;color:var(--teal-d);font-size:.92rem}.demo-btn span{font-size:.8rem;color:var(--mut)}
.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:0 auto 0 0;width:min(86vw,310px);height:100%;z-index:70;transform:translateX(-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}
  .auth-split{grid-template-columns:1fr}.auth-brand{min-height:0;padding:1.6rem;border-right:0;border-bottom:6px solid var(--gold)}.auth-brand ul,.auth-brand .fine,.auth-brand .pitch{display:none}.auth-brand .logo-card img{min-width:0;width:260px}
  .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:left;border-right: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;left:.6rem;right:.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-left: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:#fff;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:#fff;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-left:1.3rem}.gsec li{margin:.3rem 0}
.gsec .tip{background:var(--gold-t);border-left: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-left:.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-right:.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}
