/* base reset (the artifact preview supplied these) */
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}

/* Platform additions: sign-in, account strip, groups, toasts */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.account{border-bottom:1px solid var(--line);background:var(--card)}
.account .wrap{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;padding-block:8px}
.who{display:flex;gap:10px;align-items:center;margin-right:auto;min-width:0}
.who b{display:block;font-size:15px}
.who span{font-size:13px;color:var(--ink-3);overflow-wrap:anywhere}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--claret);color:#FBFBF8;display:grid;place-items:center;font-family:var(--f-head);font-weight:800;font-size:16px;flex:none}
.orgchips{display:flex;flex-wrap:wrap;gap:6px}
.orgchip{display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:99px;background:var(--paper);border:1px solid var(--line);font-size:13px;font-weight:600}
.orgchip img,.orgchip .ph{width:22px;height:22px;border-radius:50%;object-fit:cover;background:var(--card-2)}
.join{display:flex;gap:6px}
.join input{width:110px;font:inherit;font-size:14px;padding:6px 10px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);text-transform:uppercase}
.authcard{max-width:460px;margin:40px auto 80px;background:var(--card);border-radius:2px;padding:30px;display:flex;flex-direction:column;gap:14px}
.authcard h2{font-size:40px}
.lede-s{color:var(--ink-2)}
.authform{display:flex;flex-direction:column;gap:14px}
.authform .field{max-width:none}
.field select{font:inherit;padding:10px 12px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink)}
.banner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;padding:12px 16px;border:1.5px solid var(--gold);border-radius:2px}
.banner span{font-weight:600;margin-right:auto}
.banner input{font:inherit;padding:8px 10px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);min-width:0}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(20px + env(safe-area-inset-bottom, 0px));background:var(--dark);color:var(--dark-ink);padding:10px 16px;border-radius:2px;font-size:15px;z-index:50;max-width:calc(100% - 32px);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.toast.err{background:var(--bad)}
.grouptabs{display:flex;flex-wrap:wrap;gap:8px}
.grouptabs button{border:1.5px solid var(--line);background:var(--paper);border-radius:99px;padding:6px 14px;font-weight:600;cursor:pointer;font-size:14px}
.grouptabs button[aria-pressed="true"]{border-color:var(--claret);background:color-mix(in srgb,var(--claret) 14%,var(--paper))}
.ghead{border-radius:2px;overflow:hidden;background:var(--card)}
.ghead .cover{height:150px;background:linear-gradient(120deg,var(--gbrand,var(--claret)),var(--gold));background-size:cover;background-position:center}
.ghead .gbody{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:end;padding:14px 22px 20px}
.ghead .logo{margin-top:-54px;width:88px;height:88px;border-radius:2px;background:var(--paper);border:3px solid var(--paper);object-fit:cover;display:grid;place-items:center;font-family:var(--f-head);font-size:32px;font-weight:800;color:var(--gbrand,var(--claret))}
.ghead h3{font-size:30px}
.ghead p{color:var(--ink-2);font-size:15px}
.codebox{background:var(--dark);color:var(--dark-ink);border-radius:2px;padding:10px 14px;text-align:center}
.codebox .num{font-size:30px;color:var(--dark-gold);letter-spacing:2px}
.codebox span{display:block;font-size:12px;color:var(--dark-2);letter-spacing:1px;text-transform:uppercase}
.gedit{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}
.gedit textarea{font:inherit;padding:10px 12px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);min-height:70px;resize:vertical}
.gedit .field{max-width:none}
.tablebox{overflow-x:auto;background:var(--card);border-radius:2px}
table.members{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
table.members th{text-align:left;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);padding:12px 14px;border-bottom:1.5px solid var(--line)}
table.members td{padding:11px 14px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
table.members td small{display:block;color:var(--ink-3)}
.pill-s{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:3px 9px;border-radius:99px;background:var(--card-2);color:var(--ink-2)}
.pill-s.ready{background:color-mix(in srgb,var(--ok) 20%,var(--paper));color:var(--ok)}
.pill-s.track{background:color-mix(in srgb,var(--gold) 22%,var(--paper));color:var(--gold-ink)}
.newgroup .row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.newgroup .field{flex:1;min-width:200px;max-width:none}
footer .wrap{gap:8px 16px}
@media (max-width:640px){.ghead .gbody{grid-template-columns:auto 1fr}.ghead .codebox{grid-column:1/-1}.who{margin-right:0;width:100%}}

/* ---------- dashboard ---------- */
.dash{padding-block:28px 80px;display:flex;flex-direction:column;gap:26px}
.dbrand{border-radius:2px;overflow:hidden;background:var(--card)}
.dbrand .cover{height:130px;background:linear-gradient(120deg,var(--gbrand,var(--claret)),var(--gold));background-size:cover;background-position:center}
.dbrand .row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:end;padding:14px 22px 20px}
.dbrand .logo{margin-top:-58px;height:100px;min-width:100px;max-width:220px;border-radius:2px;background:#fff;border:3px solid var(--paper);box-shadow:0 6px 18px rgba(0,0,0,.12);display:grid;place-items:center;overflow:hidden}
.dbrand .logo.img img{max-height:76px;max-width:190px;width:auto;height:auto;object-fit:contain;padding:0 10px}
.dbrand .logo .wesmark{width:94px;height:94px}
.dbrand .logo.mono{width:100px;background:var(--gbrand,var(--claret));font-family:var(--f-head);font-size:38px;font-weight:800;color:#fff;letter-spacing:1px}
.cobrand{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:1px}
.cobrand .wesmark{width:58px;height:58px;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
button.orgchip{font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink)}
button.orgchip[aria-pressed=true]{border-color:var(--claret);box-shadow:inset 0 0 0 1px var(--claret)}
.orgchip .ph.wes{display:grid;place-items:center;background:var(--claret);color:#fff;font-family:var(--f-head);font-weight:800;font-size:12px}
.dbrand h2{font-size:clamp(30px,4.5vw,44px)}
.dbrand p{color:var(--ink-2);font-size:15.5px}
.cswitch{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cswitch button{border:1.5px solid var(--line);background:var(--paper);border-radius:2px;padding:8px 14px;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:1px}
.cswitch button b{font-size:15px}
.cswitch button span{font-size:12px;color:var(--ink-3);letter-spacing:1px;text-transform:uppercase;font-weight:700}
.cswitch button[aria-pressed="true"]{border-color:var(--claret);background:color-mix(in srgb,var(--claret) 12%,var(--paper))}
.cswitch .add{border-style:dashed;color:var(--ink-2);font-weight:600;justify-content:center}
.addlist{display:flex;flex-wrap:wrap;gap:8px}
.dgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}
.continue{background:var(--dark);color:var(--dark-ink);border-radius:2px;padding:24px;display:flex;flex-direction:column;gap:10px;justify-content:space-between}
.continue .eyebrow{color:var(--dark-gold)}
.continue h3{font-size:34px;color:var(--dark-ink)}
.continue p{color:var(--dark-2)}
.continue .pbar{max-width:420px}
.ring-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ring-tiles .tile .num{font-size:40px}
.plan{display:flex;flex-direction:column;gap:22px}
.mod h3{font-size:22px;display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.mod h3 small{font-family:var(--f-body);font-size:13px;color:var(--ink-3);text-transform:none;letter-spacing:0;font-weight:600}
.chrow{display:grid;grid-template-columns:44px minmax(0,1fr) 150px 120px;gap:14px;align-items:center;padding:12px 14px;border-radius:2px;background:var(--card);margin-bottom:6px}
.chrow .n{font-family:var(--f-head);font-weight:800;font-size:22px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.chrow b{display:block;font-size:16px}
.chrow p{font-size:14px;color:var(--ink-2)}
.chrow .mini{height:6px;border-radius:4px;background:var(--card-2);overflow:hidden;margin-top:6px}
.chrow .mini i{display:block;height:100%;background:linear-gradient(90deg,var(--claret),var(--gold))}
.chrow.coming{background:transparent;border:1.5px dashed var(--line)}
.chrow.coming b{color:var(--ink-3)}
.chrow.done .n{color:var(--ok)}
.chrow .act{text-align:right}
.pill-s.draft{background:color-mix(in srgb,var(--merlot) 20%,var(--paper));color:var(--merlot)}
.pill-s.done{background:color-mix(in srgb,var(--ok) 20%,var(--paper));color:var(--ok)}
.empty{background:var(--card);border-radius:2px;padding:28px;display:flex;flex-direction:column;gap:8px}
@media (max-width:900px){.dgrid{grid-template-columns:1fr}}
@media (max-width:640px){
  .dbrand .row{grid-template-columns:auto 1fr}
  .chrow{grid-template-columns:34px minmax(0,1fr);row-gap:8px}
  .chrow .st,.chrow .act{grid-column:2}
  .chrow .act{text-align:left}
}

/* ---------- chapter charts (data-chart) ---------- */
[data-chart] svg{display:block;width:100%;height:auto}
.soilgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.soilcard{background:var(--paper);border-radius:2px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.soilcard svg{width:100%;height:56px;display:block}
.sc-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}
.sc-body b{font-family:var(--f-head);font-size:19px;text-transform:uppercase;letter-spacing:.5px}
.sc-body p{font-size:14.5px;color:var(--ink-2);line-height:1.45}
.sc-meter{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12.5px;font-weight:600;color:var(--ink-3);align-items:center}
.sc-meter .d{display:flex;gap:4px}
.sc-meter .d i{width:11px;height:11px;border-radius:50%;display:inline-block}
.sc-ex{font-size:13px!important;font-weight:700;color:var(--claret-ink)!important}
.ctable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.ctable th{text-align:left;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-3);padding:10px 12px;border-bottom:1.5px solid var(--line)}
.ctable td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.ctable td:first-child{color:var(--ink);font-weight:700}
.ctable .grp td{background:var(--card-2);color:var(--ink);font-family:var(--f-head);text-transform:uppercase;letter-spacing:1px;font-size:14px;font-weight:800;padding:7px 12px}
.prose ul{list-style:disc;padding-left:22px;display:flex;flex-direction:column;gap:5px;color:var(--ink-2)}
.prose li::marker{color:var(--gold)}
.authlinks{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:2px}
.linkbtn{background:none;border:0;padding:2px 0;font:inherit;font-size:14px;font-weight:600;color:var(--claret);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.linkbtn:hover{color:var(--ink)}
/* interactive landscape on maps */
.map .feat{cursor:pointer}
.map .hit{fill:none;stroke:transparent;stroke-width:22}
.map .hills{fill:#7C8B5A;fill-opacity:.22;stroke:#7C8B5A;stroke-opacity:.5;stroke-dasharray:4 4}
.map .pin circle{fill:var(--paper);stroke:var(--gold);stroke-width:2}
.map .pin text{font-family:var(--f-head);font-size:13px;font-weight:800;fill:var(--gold-ink,var(--ink));font-style:normal}
.map .feat:hover .pin circle,.map .feat.sel .pin circle{fill:var(--gold)}
.map .feat.sel .hills{fill-opacity:.4}
/* living scenes */
.scene{display:flex;flex-direction:column;gap:12px}
.scene-svg svg{width:100%;height:auto;display:block;border-radius:2px}
.scene-ctl{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.scene-range{display:flex;align-items:center;gap:10px;flex:1 1 260px;font-size:13px;font-weight:700;color:var(--ink-2)}
.scene-range input{flex:1;accent-color:var(--claret)}
.scene-toggle[aria-pressed="true"]{background:var(--water);border-color:var(--water-ink);color:var(--ink)}
.scene-read{font-size:15px;color:var(--ink-2);min-height:3em;max-width:72ch}
.scene .spray circle{animation:spr 1s linear infinite}
@keyframes spr{from{transform:translateY(0);opacity:1}to{transform:translateY(22px);opacity:0}}
@media (prefers-reduced-motion:reduce){.scene .spray circle{animation:none}}
/* regional extras: tasting cue, names to know, sommelier at the table */
.cue{display:flex;gap:14px;align-items:flex-start;background:var(--card);border-left:5px solid var(--claret);border-radius:2px;padding:16px 18px;max-width:72ch}
.cue .eyebrow{color:var(--claret);flex:none;padding-top:2px}
.cue p{font-size:15.5px;color:var(--ink-2)}
.names{background:var(--card);border-radius:2px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;max-width:72ch}
.names .eyebrow small{font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.names ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.names li{font-size:14px;padding:5px 11px;border-radius:99px;background:var(--card-2);color:var(--ink-2)}
.names li b{color:var(--ink)}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.svc .card{gap:8px}
.svc .pour{font-family:var(--f-head);text-transform:uppercase;letter-spacing:1px;font-size:15px;color:var(--claret);font-weight:800}
.svc .say{font-style:italic;color:var(--ink-2);border-left:3px solid var(--gold);padding-left:10px;font-size:14.5px}
/* Students (staff) */
.stutiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}
.stutiles .tile{background:var(--card);border-radius:2px;padding:14px 16px}
.stutiles .num{font-family:var(--f-head);font-size:34px;font-weight:800;color:var(--claret);display:block;line-height:1}
.stutiles b{font-size:14px}
.stubar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.stubar input[type=search]{flex:1 1 240px;padding:10px 14px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);font:inherit;color:var(--ink)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{font:inherit;font-size:13px;font-weight:700;padding:7px 12px;border-radius:99px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.stugrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start}
.stutable{overflow-x:auto;background:var(--card);border-radius:2px}
.stutable tr[data-u]{cursor:pointer}
.stutable tr[data-u]:hover td{background:var(--card-2)}
.stutable tr.sel td{background:var(--card-2)}
.stutable .sub{display:block;font-size:12.5px;color:var(--ink-3);font-weight:500}
.stubar{display:inline-block;width:70px;height:7px;border-radius:2px;background:var(--line);vertical-align:middle;margin-right:6px;overflow:hidden}
.stubar i{display:block;height:100%;background:var(--claret)}
.pillst{font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--card-2);color:var(--ink-2);white-space:nowrap}
.pillst.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.pillst.warn{background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--ink)}
.studetail{position:sticky;top:96px;gap:12px}
.studetail .chl{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:14px}
.studetail .chl span{color:var(--ink-2)}
.studetail .acts{display:flex;flex-wrap:wrap;gap:8px}
.stuinvite{margin-top:22px;gap:12px}
.stuinvite textarea{width:100%;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);padding:10px 12px;font:inherit;font-size:14px;color:var(--ink)}
.row2{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.row2 .field{flex:1 1 180px}
.filebtn{cursor:pointer}
.toggle{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--ink-2)}
@media (max-width:900px){.stugrid{grid-template-columns:1fr}.studetail{position:static}}
.ghead img.logo{object-fit:contain;background:#fff;padding:8px;width:auto;min-width:88px;max-width:200px}
.ghead .logo .wesmark{width:82px;height:82px}
.map text.big,.map text.muted{paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round}
@media (max-width:560px){.tabs{flex-wrap:wrap;overflow:visible;max-width:100%;gap:6px}.tab{flex:1 1 auto;white-space:nowrap;padding:8px 10px;font-size:13px;text-align:center}.top{position:relative}.toc{top:0 !important}}
.mapgrid.wide{grid-template-columns:1fr}
.mapgrid.wide .zinfo{position:static}
.blendctl{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 18px}
.blendctl b{min-width:42px;text-align:right;font-family:var(--f-head);font-size:16px;color:var(--claret)}
.blendctl{grid-template-columns:repeat(2,minmax(0,1fr))}
.blendctl .scene-range{display:grid;grid-template-columns:96px minmax(0,1fr) 48px;align-items:center;gap:10px}
@media (max-width:640px){.blendctl{grid-template-columns:1fr}}
/* up-to-date box: current facts that replace the book */
.upd{display:flex;gap:14px;align-items:flex-start;background:color-mix(in srgb,var(--ok) 10%,var(--card));border-left:5px solid var(--ok);border-radius:2px;padding:14px 18px;max-width:72ch}
.upd .eyebrow{color:var(--ok);flex:none;padding-top:2px}
.upd p{font-size:15px;color:var(--ink-2)}

/* ---------- WE AI · Restaurant Academy ---------- */
.house .ring-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
.house .ring-tiles .tile .btn{align-self:flex-start;margin-top:6px}
.reqbar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--dark);color:var(--dark-ink);border-radius:2px;padding:16px 20px}
.reqbar .eyebrow{color:var(--dark-gold)}
.news{background:var(--card);border-radius:2px;padding:14px 18px}
.news summary{cursor:pointer;font-weight:700}
.note{padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.news .note{cursor:pointer}
.note.new b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--claret);margin-right:8px;vertical-align:middle}
.note small{color:var(--ink-3)}
.pill-s{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:99px;background:var(--card-2);color:var(--ink-2);white-space:nowrap}
.pill-s.draft{background:color-mix(in srgb,var(--gold) 25%,transparent);color:var(--ink)}
.hfilter{display:flex;flex-direction:column;gap:12px;position:sticky;top:0;z-index:3;background:var(--paper);padding:10px 0}
.hfilter .seg button small{opacity:.6;font-weight:600;margin-left:3px}
.hsearch{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hsearch input[type=search]{flex:1 1 260px;min-width:0;font:inherit;padding:10px 14px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink)}
.chk{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--claret)}
.hlist{display:flex;flex-direction:column;gap:22px}
.hgroup{display:flex;flex-direction:column;gap:4px}
.hgroup h3{font-size:18px;color:var(--claret-ink);padding-bottom:4px}
.hrow{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto auto;gap:12px;align-items:center;text-align:left;background:var(--card);border:0;border-radius:2px;padding:11px 14px;cursor:pointer;width:100%}
.hrow:hover{background:var(--card-2)}
.hrow .tick{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:800;color:#fff}
.hrow.done .tick{background:var(--ok);border-color:var(--ok)}
.hrow .nm{display:flex;flex-direction:column;min-width:0}
.hrow .nm b{font-size:15.5px}
.hrow .nm small,.hrow .pr small{color:var(--ink-3);font-size:12.5px}
.hrow .vt{font-weight:700;color:var(--ink-2)}
.hrow .pr{font-weight:700;white-space:nowrap}
.lesson{padding-block:24px 80px;display:flex;flex-direction:column;gap:18px;max-width:900px}
.lesson>.btn.ghost:first-child{align-self:flex-start}
.lhead{display:flex;flex-direction:column;gap:10px}
.lhead h1{font-size:clamp(30px,5vw,50px)}
.lhead .rank{color:var(--gold-ink);font-weight:700}
.tagrow{display:flex;flex-wrap:wrap;gap:6px}
.pitch p:last-child{font-size:18px;line-height:1.5}
.lgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lgrid .card ul{margin:0;padding-left:18px}
.lesson .card{gap:8px}
.onlist{display:flex;flex-direction:column}
.onlist div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line)}
.learn{flex-direction:row;flex-wrap:wrap;align-items:center}
.learn h3{width:100%}
.draftnote{background:color-mix(in srgb,var(--gold) 20%,transparent);border-radius:2px;padding:10px 14px;font-size:14.5px}
.onyourlist{margin:0 auto 18px;max-width:1200px;border-left:5px solid var(--gold)}
.olchips{display:flex;flex-wrap:wrap;gap:6px}
ol.board{margin:0;padding-left:22px}
ol.board li{display:list-item;padding:4px 0}
ol.board li span{display:inline-block;min-width:60%}
.bo .botabs{margin:18px 0}
#boBody{display:flex;flex-direction:column;gap:14px}
#boBody .card{gap:10px}
.invform{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.invform input,.invform select,.nform input,.nform textarea,.nform select,.ledit input,.ledit textarea,#boBody select{font:inherit;font-size:15px;padding:9px 12px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);min-width:0}
.invform input{flex:1 1 180px}
.nform,.ledit{display:flex;flex-direction:column;gap:10px}
.nform label,.ledit label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700}
.nform label.chk{flex-direction:row;font-weight:400}
.ledit textarea.mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
.acc{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 16px}
.card.acc h3{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lrow{flex-direction:row!important;justify-content:space-between;align-items:center}
.lrow>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.lrow small{color:var(--ink-3)}
.lrow .flag{font-size:13.5px;color:var(--gold-ink)}
.lessonlist{display:flex;flex-direction:column;gap:8px}
ul.missing{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
ul.missing li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.code{font-family:ui-monospace,Menlo,monospace;letter-spacing:1px}
.newsopt{font-size:13px}
.sub{display:block;color:var(--ink-3);font-size:12.5px}
@media (max-width:760px){
  .house .ring-tiles{grid-template-columns:1fr}
  .lgrid{grid-template-columns:1fr}
  .hrow{grid-template-columns:22px minmax(0,1fr) auto;gap:8px 10px}
  .hrow .vt{grid-column:2;grid-row:2;font-size:13px}
  .hrow .pr{grid-column:3;grid-row:1/3}
  .hrow .pill-s{grid-column:2;grid-row:3;justify-self:start}
  .reqbar{flex-direction:column;align-items:flex-start}
  ul.missing{columns:1}
  .tablewrap{overflow-x:auto}
}
.tablewrap{overflow-x:auto}
.bo table.stu{width:100%;border-collapse:collapse;font-size:14.5px}
.bo table.stu th{text-align:left;font-size:12.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);padding:8px 10px}
.bo table.stu td{padding:10px;border-top:1px solid var(--line);vertical-align:middle}
@media (max-width:560px){
  .house .dbrand .cover{height:70px}
  .house .dbrand .row{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:10px 14px 16px}
  .house .dbrand .logo{height:64px;min-width:64px;width:64px;margin-top:-34px;border-radius:2px;font-size:24px}
  .house .dbrand .cobrand{display:none}
  .house .dbrand h2{font-size:26px}
}

/* ---------- WE AI · bridge to theory ---------- */
.tlink{all:unset;cursor:pointer;color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px;font-weight:inherit}
.tlink:hover,.tlink:focus-visible{background:color-mix(in srgb,var(--gold) 22%,transparent);border-radius:3px;outline:none}
.card.dark .tlink{text-decoration-color:var(--dark-gold)}
.tlinkchip{cursor:pointer;border:1.5px solid var(--gold);font:inherit}
.tlinkchip span{color:var(--gold-ink);font-size:12px}
.tapnote{font-size:13px;margin:0}
.tlink-demo{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px}
.uniq{border-left:5px solid var(--claret)}
details.sources{font-size:14px;color:var(--ink-2)}
details.sources summary{cursor:pointer;font-weight:700}
details.sources ul,.srcbox ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.srcbox{background:var(--card-2);border-radius:2px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
#theoryDrawer{position:fixed;inset:0;z-index:60}
#theoryDrawer[hidden]{display:none}
.tdback{position:absolute;inset:0;background:rgba(20,14,16,.45)}
.tdpanel{position:absolute;top:0;right:0;bottom:0;width:min(640px,100%);background:var(--paper);box-shadow:-12px 0 40px rgba(0,0,0,.18);display:flex;flex-direction:column;animation:tdIn .22s ease-out}
@keyframes tdIn{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
.tdhead{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper)}
.tdbody{overflow-y:auto;padding:20px 22px 40px;display:flex;flex-direction:column;gap:14px}
.tdbody h2{font-size:clamp(28px,5vw,40px)}
.tddef{font-size:17px;color:var(--ink-2)}
.tdbody .sec{padding:0;border:0;margin:0}
.tdbody .mapgrid{grid-template-columns:1fr}
.tdbody .zinfo{position:static}
.tdbody .sec-head h2{font-size:26px}
.tdfoot{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
body.tdopen{overflow:hidden}
#backWine{position:fixed;left:16px;bottom:16px;z-index:40;box-shadow:0 8px 24px rgba(0,0,0,.18)}
#backWine[hidden]{display:none}

/* ---------- WE AI · privacy ---------- */
#wm{position:fixed;inset:0;pointer-events:none;z-index:70;background-repeat:repeat}
#wm[hidden]{display:none}
body.protect .house,body.protect .lesson,body.protect #theoryDrawer,body.protect #studyHost{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body.protect input,body.protect textarea{-webkit-user-select:text;user-select:text}
@media print{body.protect *{display:none!important}body.protect::before{content:"Printing is turned off for the House List.";display:block;padding:40px;font:600 18px Arial,sans-serif}}
.card.terms{gap:12px;max-width:680px}
.card.terms ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.srcbox .btn{align-self:flex-start}

/* ---------- WE AI · tech sheet ---------- */
.tsheet{gap:14px}
.thead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tfloor,.tdetail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tcard{background:var(--paper);border-radius:2px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.tcard.wide{grid-column:1/-1}
.tcard h4{font-family:var(--f-head);text-transform:uppercase;letter-spacing:1px;font-size:15px;color:var(--claret-ink);margin:0}
.tcard h4 small{font-family:var(--f-body);text-transform:none;letter-spacing:0;color:var(--ink-3);font-weight:500;font-size:12.5px}
.gauge{display:grid;grid-template-columns:86px auto 1fr;align-items:center;gap:10px;font-size:14px}
.gauge .gl{color:var(--ink-3);font-weight:600}
.gauge b{font-weight:700}
.dots{display:inline-flex;gap:4px}
.dots i{width:13px;height:13px;border-radius:50%;background:var(--line);display:inline-block}
.dots i.on{background:var(--claret)}
.soils{display:flex;flex-direction:column;gap:8px}
.soil{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center}
.soil p{margin:0;font-size:13.5px;color:var(--ink-2)}
.swatch{width:44px;height:44px;display:block}
svg.ageing{width:100%;height:auto;display:block;font-family:var(--f-body)}
.bite{border-left:4px solid var(--gold)}
.trow{display:grid;grid-template-columns:minmax(110px,40%) 1fr;gap:10px;font-size:14px;padding:5px 0;border-top:1px solid var(--line)}
.trow:first-of-type{border-top:0}
.trow span{color:var(--ink-3);font-weight:600}
.miss{font-weight:500;font-style:italic;color:var(--gold-ink)}
.techedit summary{cursor:pointer;font-weight:700}
.tegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:8px}
@media (max-width:760px){.tfloor,.tdetail{grid-template-columns:1fr}.gauge{grid-template-columns:74px auto 1fr}}
.tdetail{align-items:start}
.tcard .hint{font-size:13px;font-weight:500;color:var(--ink-3);margin:0}
.agestrip{display:flex;flex-direction:column;gap:6px}
.ageends{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--ink-3)}
.agebar{display:flex;gap:4px;min-height:46px}
.agebar>div{border-radius:2px;padding:6px 10px;display:flex;flex-direction:column;justify-content:center;min-width:72px;color:#fff;font-size:13px;line-height:1.25}
.agebar .seg2{background:#C9B9D6;color:#302329}
.agebar span{font-size:12px;opacity:.9}
.agemeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.oakpct{width:90px;height:8px;border-radius:4px;background:#E7DCCF;overflow:hidden;display:inline-block}
.oakpct i{display:block;height:100%;background:var(--gold)}
.lees{margin-left:auto}

/* ---------- realistic maps (relief) ---------- */
.map svg.relief{border-radius:2px;background:#F2EFE6}
.map svg.relief .border{fill:none;stroke:#5b5157;stroke-width:1;stroke-dasharray:4 3;opacity:.75}
.map svg.relief .lake{fill:#A9CCDC;stroke:#6E9CB3;stroke-width:.6}
.map svg.relief .river{stroke:#5F93AE;opacity:.95}
.map svg.relief .zone .shape{fill-opacity:.55;stroke-width:1;mix-blend-mode:multiply}
.map svg.relief .zone:hover .shape{fill-opacity:.8}
.map svg.relief .zone.sel .shape{fill-opacity:.9;stroke:#302329;stroke-width:1.6}
.map svg.relief .zone.pt .shape{fill:#FBFBF8;stroke:#302329;stroke-width:1.6;fill-opacity:1;mix-blend-mode:normal}
.map svg.relief .zone.pt.sel .shape{fill:var(--gold)}
.map svg.relief text{paint-order:stroke;stroke:#F6F3EA;stroke-width:3px;stroke-linejoin:round}
.map svg.relief text.lbl{font-size:11.5px;font-weight:700}
.map svg.relief text.rl{font-size:13px;letter-spacing:1.4px;fill:#3d3337}
.map svg.relief text.city-l{font-size:10.5px}
.map svg.relief.quiz .zone .shape{fill:var(--zone);fill-opacity:.75;mix-blend-mode:normal}
svg.art{width:100%;height:auto;display:block;border-radius:2px;font-family:var(--f-body)}
.soilkeys{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 14px}
.soilkeys p{margin:0;font-size:13.5px;color:var(--ink-2)}
.map svg.relief.focus text.lbl{font-size:10.5px}
.focusmap{margin-top:6px}
.map svg.relief.focus .zone.small text{display:none}
.map svg.relief.focus .zone.small.sel text,.map svg.relief.focus .zone.small:hover text,.map svg.relief.focus .zone.small:focus text{display:block}
.map svg.relief.focus .zone text{pointer-events:none}
/* ---- WE Wine Library: quality badges, tasting grid, certification queue ---- */
.qbadge{display:inline-flex;align-items:center;gap:6px;margin:6px 0 2px;padding:4px 10px;border-radius:99px;font-size:13px;font-weight:700;border:1.5px solid var(--line)}
.qbadge.cert{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 18%,var(--paper));color:var(--ink)}
.qbadge.src{border-color:color-mix(in srgb,var(--claret) 40%,var(--line))}
.qbadge.draft{opacity:.75}
.taste .tsec{gap:12px}
.taste .tf{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.taste .tf input,.taste .tf textarea,.tvint input,.cqnote{font:inherit;padding:9px 11px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink)}
.tvint{display:flex;gap:10px;align-items:center;font-weight:600;margin:4px 0 12px}.tvint input{width:110px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.gchip{font:inherit;font-size:13px;font-weight:500;padding:6px 11px;border-radius:99px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;min-height:34px}
.gchip[aria-pressed="true"]{border-color:var(--claret);background:var(--claret);color:#FBFBF8}
.cq{align-items:flex-start}.cq .tagrow{margin-top:6px}.cqnote{width:100%;margin-top:8px}
.tastecta{gap:8px;align-items:flex-start}
.imform label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}.imform input:not([type=file]){font:inherit;padding:9px 11px;border-radius:2px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);max-width:420px}
.gchip{text-transform:none;letter-spacing:0}
.qbadge{width:fit-content;align-self:flex-start}
/* ---- levels, outlets, WE in person ---- */
.planhead{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start}
.planhead .plname{font-size:34px}
.weplan{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);background:var(--paper)}
.weplan label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.weplan select,.weplan input[type=date],.adform select,.adform input,.adform textarea,#outForm input,#outForm select{font:inherit;padding:8px 10px;border-radius:2px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.plantable th.cur{background:var(--claret);color:var(--dark-ink)}
.flagline{color:var(--claret-ink);font-weight:600;margin-top:6px}
.tracks{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.adform{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:end}
.adform label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.adform .wide{grid-column:1/-1}
.outlettabs{margin:6px 0 2px}
#outForm label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.authside{max-width:460px;margin:-50px auto 80px;padding:24px 30px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.authside h3{font-size:24px}
.authside p{color:var(--ink-2)}
/* ---- restaurant-first home and quick quiz ---- */
.rh .row{align-items:center}
.trialbar{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;padding:12px 16px;border:1px solid var(--claret);background:color-mix(in srgb,var(--claret) 6%,transparent);margin:10px 0 4px}
.trialbar span:last-child{color:var(--ink-3);font-size:14px}
.hello{font-size:20px;margin:6px 0 4px}
.kpis5{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.cardhead{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.teamtable td small{display:block;color:var(--ink-3);font-size:12px}
.teamtable .rk{font-weight:600;width:36px}
.pbar{height:6px;background:var(--card-2);width:140px;max-width:100%}.pbar i{display:block;height:100%;background:var(--claret)}
.st{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.st.on{color:var(--ok)}.st.mid{color:var(--ink-2)}.st.off{color:var(--claret-ink)}
.rgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
.updlist{display:flex;flex-direction:column}
.updrow{display:flex;gap:12px;align-items:center;text-align:left;padding:10px 0;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;cursor:pointer}
.updrow span:nth-child(2){flex:1;display:flex;flex-direction:column}.updrow small{color:var(--ink-3)}
.dot{width:10px;height:10px;border-radius:50%;background:var(--ink-3);flex:none}.dot.red{background:#7B2335}.dot.white{background:#D9C27A}.dot.rose{background:#E7A9A0}
.qstart .chips{margin:8px 0}
.qfilters .qf{display:flex;flex-direction:column;gap:6px;margin-top:12px}.qfilters .qf>span{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}
.qfilters .qf.two{flex-direction:row;flex-wrap:wrap;gap:12px}
.qfilters label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.qfilters select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);min-width:170px}
.qgo{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px}
.seg.small button{font-size:13px;padding:5px 10px}
.dbrand.rh{padding-top:18px}.dbrand.rh .row{margin-top:0}
.dbrand.rh .logo{margin-top:0}
.dbrand .logo.img img{max-width:100%;max-height:100%;object-fit:contain;padding:6px}
.dbrand .row .logo.img{width:104px;min-width:104px;height:104px;padding:6px;background:#fff}
.dbrand .row .logo.img img{width:100%;height:100%;object-fit:contain;padding:0}
.teamfilter{display:flex;flex-direction:column;gap:8px}
.teamfilter .seg{flex-wrap:wrap}
.hello .where{display:inline-block;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-left:6px}
/* ---- exam path ---- */
.examcard .exrow{display:flex;gap:18px;align-items:center}
.examcard.ready{border:1px solid var(--claret);background:color-mix(in srgb,var(--claret) 6%,var(--card))}
.ring{--p:0;flex:none;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--claret) calc(var(--p)*1%),var(--card-2) 0)}
.ring span{width:66px;height:66px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-weight:600;font-size:18px}
@media (max-width:520px){.examcard .exrow{flex-direction:column;align-items:flex-start}}
.mynotes{display:flex;flex-direction:column;margin:4px 0 10px}.mynotes p{margin:4px 0 0}
/* notes from the field */
.fieldcard,.fieldfeed{display:flex;flex-direction:column;gap:8px}
.fnlist{display:flex;flex-direction:column}
.fnote{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.fnote:last-child{border-bottom:0}
.fnote.off{opacity:.6}
.fnote p{margin:0;white-space:pre-line}
.fnhead{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.fnhead small{color:var(--ink-3)}
.fnfoot,.fnact{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fnfoot:empty{display:none}
.fnform{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.fnform textarea,.fnform input,.inedit textarea,.inedit select,.wledit input,.wledit textarea,.wlfilters input,.wlfilters select{width:100%;box-sizing:border-box}
.fnrow{display:grid;grid-template-columns:2fr 1fr;gap:10px}
@media (max-width:560px){.fnrow{grid-template-columns:1fr}}
.fnrowbtn{cursor:pointer;text-align:left}
.fnrowbtn:hover p{color:var(--ink)}
.inedit{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:2px}
/* WE Library */
.wlib .tile.hot .num{color:var(--accent,#853535)}
.wlgrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;align-items:start;margin-top:12px}
@media (max-width:900px){.wlgrid{grid-template-columns:1fr}.wldetail{order:-1}}
.wlfilters{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.wlchk{display:flex;gap:6px;align-items:center;font-size:.9em}
.wlchk input{width:auto}
.wlrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;padding:9px 6px;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;cursor:pointer}
.wlrow.on{background:var(--paper)}
.wlname{display:flex;flex-direction:column;min-width:0}
.wlname b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wlname small,.wlmeta small{color:var(--ink-3)}
.wlmeta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.hotnum{color:var(--accent,#853535)}
.wldetail{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;display:flex;flex-direction:column;gap:6px}
.wldetail h4{margin:10px 0 2px}
.wlfacts .trow{display:grid;grid-template-columns:130px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}
.wlfacts .trow span{color:var(--ink-3)}
.wledit{display:flex;flex-direction:column;gap:8px}
@media (max-width:560px){.wlrow{grid-template-columns:auto minmax(0,1fr)}.wlmeta{grid-column:2;align-items:flex-start;text-align:left}}
/* ISG */
.isgbadge{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px}
.isgbadge span{font-size:.8em;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.isgcard summary{cursor:pointer;list-style:none}
.isgcard summary::-webkit-details-marker{display:none}
.isgcard summary h3{margin:2px 0 0}
.isgcard summary h3::after{content:" ＋";color:var(--ink-3);font-weight:400}
.isgcard[open] summary h3::after{content:" −"}
.isglevels{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:10px 0}
.isglevels>div{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--line);border-radius:2px}
.isglevels b{font-size:1.3em;color:#853535}
.isglevels small{color:var(--ink-3)}
/* team import */
.invform{display:flex;flex-wrap:wrap;gap:8px}
.invform input,.invform select{flex:1 1 150px;min-width:0}
.impcard{display:flex;flex-direction:column;gap:10px}
.impin{display:flex;gap:8px;flex-wrap:wrap}
.filebtn{cursor:pointer}
.impcard textarea{width:100%;box-sizing:border-box;font-family:inherit}
.imptable tr.bad td{opacity:.55}
.imptable select{max-width:180px}
.impdone{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.impdone ul{margin:4px 0 8px;padding-left:18px}
.teammsg{background:var(--paper);border:1px solid var(--line);padding:10px 12px;border-radius:2px;white-space:pre-line}
.isgbadge img{width:44px;height:auto;display:block}
.isgsum{display:flex;gap:14px;align-items:center}
.isgsum img{width:64px;height:auto;flex:none}
