@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url(brand/anton-latin.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(brand/montserrat-latin.woff2) format("woff2")}
:root{--brand:#BF062F;--brand-dark:#8f0423;--ink:#222222;--mut:#5f5a55;--bg:#F4F1EB;--card:#fff;--ok:#1b7f3b;--bad:#b3261e;--warn:#8a5200;--line:#E6E3DF;--pink:#EFDDDB;--yellow:#FFD23F;--font-head:"Anton","Impact","Arial Narrow",sans-serif;--font-body:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}body{margin:0;font:500 16px/1.5 var(--font-body);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}
header.top{background:var(--brand);color:#fff;padding:.55rem 1rem;display:flex;gap:.6rem 1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:4px solid var(--yellow)}
header.top a{color:#fff;text-decoration:none;font-weight:700}header.top a.brandlink{display:inline-flex;align-items:center;gap:.6rem;min-height:44px}header.top nav{display:flex;flex-wrap:wrap;gap:0 .2rem}header.top nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .55rem;font-weight:600;font-size:.9rem}header.top nav a:hover{color:var(--yellow)}
header.top form{display:inline}header.top button{background:transparent;border:2px solid #fff;color:#fff;border-radius:10px;padding:0 .8rem;min-height:44px;font:700 .9rem var(--font-body);cursor:pointer}header.top button:hover{background:#fff;color:var(--brand)}
.hdr-logo{display:block;height:34px;width:auto}.hdr-tag{font:400 1.15rem/1 var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--yellow)}
main{max-width:720px;margin:0 auto;padding:1rem}main.wide{max-width:1150px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.7rem 0}
.row{display:flex;justify-content:space-between;align-items:center;gap:.7rem}
h1,h2,h3{font-family:var(--font-head);font-weight:400;text-transform:uppercase;letter-spacing:.03em;line-height:1.15}h1{font-size:1.9rem;margin:.6rem 0 .5rem}h2{font-size:1.3rem}small,.mut{color:var(--mut)}a{color:var(--brand)}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--brand);color:#fff;border:0;border-radius:12px;padding:.7rem 1.2rem;font:700 1rem/1.2 var(--font-body);text-decoration:none;cursor:pointer;text-align:center}.btn:hover{background:var(--brand-dark)}
.btn.block{display:flex;width:100%}.btn.sec{background:#fff;color:var(--brand);border:2px solid var(--brand)}.btn.sec:hover{background:var(--pink)}.btn.sm{min-height:44px;padding:.3rem .9rem;font-size:.88rem;border-radius:10px}.btn.dis{background:#d6d2cc;color:#5f5a55;pointer-events:none}
input,select,textarea{font:inherit;min-height:48px;padding:.65rem .8rem;border:2px solid #cfc9c0;border-radius:10px;width:100%;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--pink)}
label{display:block;margin:.8rem 0 .25rem;font-weight:700;font-size:.9rem}input[type=checkbox],input[type=radio]{width:auto;min-height:0}label.inl{display:inline-flex;gap:.4rem;align-items:center;font-weight:500}
.badge{display:inline-block;border-radius:99px;padding:.1rem .6rem;font-size:.78rem;font-weight:700;background:#eee}
.b-complete{background:#dff3e4;color:var(--ok)}.b-due{background:#FFEFB8;color:var(--warn)}.b-overdue{background:#fde0de;color:var(--bad)}
.bar{height:8px;background:#eee;border-radius:5px;overflow:hidden;margin-top:.4rem}.bar>i{display:block;height:100%;background:var(--ok)}
.flash{background:#FFF3C4;border:1px solid #e8d48a;padding:.6rem .8rem;border-radius:8px;margin:.6rem 0}.err{background:#fde0de;border:1px solid #f0a9a4;padding:.6rem;border-radius:8px}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.9rem}th,td{border-bottom:1px solid var(--line);padding:.4rem .5rem;text-align:left;vertical-align:top}th{background:var(--line);position:sticky;top:0;font-weight:700}
.tw{overflow-x:auto}.opt{display:block;width:100%;min-height:48px;text-align:left;margin:.5rem 0;padding:.9rem;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:600 1.02rem/1.35 var(--font-body);cursor:pointer}
.opt.sel{border-color:var(--brand);background:var(--pink)}.opt.right{border-color:var(--ok);background:#e8f6ec}.opt.wrong{border-color:var(--bad);background:#fdeceb}
.fb{padding:.7rem;border-radius:10px;margin:.6rem 0;font-weight:600}.fb.ok{background:#e8f6ec;color:var(--ok)}.fb.no{background:#fdeceb;color:var(--bad)}.fb p{font-weight:400;color:var(--ink);margin:.3rem 0 0}
.big{font:400 4rem/1.1 var(--font-head);text-align:center}.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:end}.filters>*{width:auto}
.cert{background:#fff;border:6px double #444;padding:2rem;max-width:760px;margin:1rem auto;text-align:center}.cert h1{font-size:1.8rem}.cert{font-family:var(--font-body)}.cert .nm{font-size:2rem;border-bottom:1px solid #444;display:inline-block;padding:0 1rem;margin:.5rem}
.disclaimer{border:2px solid #a00;color:#a00;font-weight:700;padding:.6rem;margin:1rem 0}
@media print{header.top,.noprint{display:none!important}body{background:#fff}}
@media(min-width:700px){.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}

.vwrap{position:relative;padding-top:56.25%;background:#000;border-radius:12px;overflow:hidden}.vwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.qimg{display:block;max-width:100%;max-height:340px;margin:.5rem auto;border-radius:10px;border:1px solid var(--line)}
.thumb{max-width:100%;max-height:260px;border-radius:10px;border:1px solid var(--line);display:block;margin:.4rem 0}
.btn[disabled]{background:#d6d2cc;color:#5f5a55;cursor:not-allowed}.st-approved{color:var(--ok);font-weight:700}.st-rejected{color:var(--bad);font-weight:700}.st-pending{color:var(--warn);font-weight:700}
.ack{border:2px solid #444;padding:1.5rem;background:#fff;max-width:720px;margin:1rem auto}.ack table td:first-child{width:11rem;font-weight:600}

/* ---- Hot Table branding ---- */
.card{box-shadow:0 1px 0 rgba(34,34,34,.04)}
.qtext{font-family:var(--font-body);font-weight:700;text-transform:none;letter-spacing:0;font-size:1.2rem;line-height:1.4;margin:.4rem 0 .6rem}
.bar{background:var(--line)}.bar>i{background:var(--brand)}
.qimg,.thumb{border-color:var(--line)}
/* sign-in pages: red hero with big logo + Pressed Happiness lettering */
body.auth{background:var(--brand);min-height:100vh}
body.auth main{max-width:440px;padding:1.2rem 1rem 2rem}
.hero{text-align:center;padding:1rem 0 .4rem}
.hero .logo{width:150px;height:auto;display:block;margin:0 auto}
.hero .ph{width:min(78%,300px);height:auto;display:block;margin:.9rem auto .2rem}
.hero .sub{margin:.5rem 0 0;font:400 1.15rem/1.2 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow)}
body.auth .card{border:0;border-radius:16px;padding:1.2rem;margin:1rem 0;box-shadow:0 8px 24px rgba(0,0,0,.25)}
body.auth h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.auth .authlink{display:flex;align-items:center;justify-content:center;min-height:44px;color:#fff;font-weight:700;text-decoration:underline}
body.auth .authlink small{color:#fff;font-size:.9rem}
body.auth .mut,body.auth .mut small{color:var(--mut)}
@media(min-width:700px){h1{font-size:2.2rem}.hdr-logo{height:40px}}
@media print{.cert,.ack{font-family:var(--font-body)}}
/* welcome screen */
body.welcome main{max-width:480px;padding-top:1.5rem;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-bottom:5rem}
body.welcome .hero{padding-top:0}
body.welcome .hero .logo{width:210px}
body.welcome .wcard{text-align:center;padding:.5rem 0 1rem}
body.welcome .wcard h1{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;color:#fff;font-size:2.4rem;line-height:1.1;margin:1.4rem 0 .7rem}
body.welcome .wlead{color:#fff;font-size:1.15rem;font-weight:600;margin:0 0 1.6rem}
body.welcome .wbtn{background:var(--yellow);color:var(--ink);min-height:60px;font:400 1.5rem/1 var(--font-head);text-transform:uppercase;letter-spacing:.06em;border-radius:14px;box-shadow:0 6px 0 rgba(0,0,0,.25)}
body.welcome .wbtn:hover{background:#ffdd6b}
@media(max-width:699px){header.top{padding:.4rem .8rem}header.top a.brandlink{flex-basis:100%;min-height:40px}header.top nav{order:2}header.top form{order:3;margin-left:auto}header.top nav a{padding:0 .7rem 0 0}}

/* ---- employee home: icon tiles (cream) ---- */
body.tilehome{background:#fff}body.tilehome main{max-width:720px}
.t-sechead{display:flex;justify-content:space-between;align-items:center;margin:1.3rem 0 .7rem}.t-done{font-size:.8rem;font-weight:700;color:var(--mut)}
.t-due{display:flex;align-items:center;gap:.8rem;min-height:72px;padding:.7rem .8rem;border-radius:16px;text-decoration:none;color:var(--ink);background:var(--pink);border-left:6px solid var(--brand)}
.t-dico{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;overflow:hidden}.t-dico svg{width:26px;height:26px}.t-dico img{width:46px;height:46px;object-fit:cover;display:block}
.t-dtx{flex:1;display:flex;flex-direction:column;line-height:1.25;min-width:0}.t-dh{font:400 .8rem/1 var(--font-head);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;color:var(--brand)}.t-dt{font-weight:800;font-size:1.02rem}.t-dd{font-size:.82rem;font-weight:600}.t-dd.late{color:var(--bad)}
.t-go{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff}.t-go svg{width:22px;height:22px}
svg.ic,.t-go svg,.t-dico svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.t-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(min-width:560px){.t-grid{grid-template-columns:repeat(3,1fr)}}
.t-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:196px;padding:14px;border-radius:20px;text-decoration:none;color:var(--ink);-webkit-tap-highlight-color:transparent;background:var(--bg);border:1.5px solid var(--line);box-shadow:0 2px 0 var(--line);overflow-wrap:anywhere}
.t-top{display:flex;justify-content:space-between;align-items:flex-start;width:100%}
.t-medal{position:relative;width:70px;height:70px;flex:none}.t-ring{position:absolute;inset:0;width:70px;height:70px}.t-ring circle{fill:none;stroke-width:5;stroke-linecap:round}.t-trk{stroke:var(--line)}.t-prg{stroke:var(--brand)}
.t-disc{position:absolute;inset:11px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;overflow:hidden}.t-disc svg{width:26px;height:26px}.t-disc img{width:100%;height:100%;object-fit:cover;display:block}
.t-pct{font:400 1.25rem/1 var(--font-head);letter-spacing:.03em;padding-top:4px;color:var(--brand)}
.t-pct.t-chk{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;padding:0;margin:2px 0 0;background:var(--ok);color:#fff}.t-pct.t-chk svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.t-ttl{margin-top:11px;font-weight:800;font-size:1rem;line-height:1.2}.t-sub{margin:3px 0 10px;font-size:.76rem;font-weight:600;line-height:1.3;color:var(--mut)}
.t-badge{margin-top:auto;display:inline-flex;align-items:center;min-height:26px;padding:0 .7rem;border-radius:99px;font-size:.74rem;font-weight:700;white-space:nowrap}
.t-complete .t-prg{stroke:var(--ok)}.t-overdue .t-prg{stroke:var(--bad)}.t-overdue .t-pct{color:var(--bad)}
.t-complete .t-badge{background:#dff3e4;color:var(--ok)}.t-progress .t-badge{background:#FFEFB8;color:var(--warn)}.t-new .t-badge{background:var(--line);color:var(--mut)}
.t-overdue .t-badge{background:#fde0de;color:var(--bad)}.t-overdue{border-color:var(--bad)}.t-optional .t-badge{background:transparent;border:1.5px solid #8a847d;color:var(--ink)}.t-optional{border-style:dashed;border-color:#b9b3aa}
/* admin: game icon editor */
.icprev{width:84px;height:84px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;overflow:hidden;flex:none}.icprev svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.icprev img{width:100%;height:100%;object-fit:cover;display:block}
.icpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;margin:.6rem 0}.icpick label{margin:0;font-weight:600;font-size:.76rem;text-align:center;border:2px solid var(--line);border-radius:12px;padding:.5rem .2rem;cursor:pointer;background:#fff;min-height:44px}
.icpick input{position:absolute;opacity:0;width:1px;height:1px}.icpick .icprev{width:44px;height:44px;margin:0 auto .3rem}.icpick .icprev svg{width:24px;height:24px}
.icpick input:checked+label{border-color:var(--brand);background:var(--pink)}.icpick input:focus-visible+label{outline:3px solid var(--ink);outline-offset:2px}

/* ---- Hospitality Alert popup (style 1: centered cream card) ---- */
.ha-root{position:fixed;inset:0;z-index:1000}.ha-root[hidden]{display:none}
.ha-dim{position:absolute;inset:0;background:rgba(20,10,12,.62);opacity:0;transition:opacity .2s}.ha-root.open .ha-dim{opacity:1}
.ha-card{position:absolute;left:50%;top:50%;width:min(360px,calc(100% - 24px));max-height:calc(100% - 16px);overflow:auto;background:var(--bg);border-radius:28px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.45);transform:translate(-50%,-50%) scale(.6);opacity:0;padding:0 18px 30px;color:var(--ink);container-type:inline-size}
.ha-root.open .ha-card{opacity:1;animation:ha-pop .5s cubic-bezier(.2,1.4,.4,1) forwards}
.ha-root.open .ha-card.closing{animation:ha-popout .18s ease-in forwards}
@keyframes ha-pop{0%{transform:translate(-50%,-50%) scale(.55);opacity:0}60%{opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:1}}
@keyframes ha-popout{to{transform:translate(-50%,-50%) scale(.85);opacity:0}}
@keyframes ha-shrink{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes ha-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
.ha-accent{height:10px;background:var(--yellow);margin:0 -18px}
.ha-badge{position:relative;width:112px;height:112px;border-radius:50%;background:var(--brand);margin:26px auto 0;display:grid;place-items:center;box-shadow:0 0 0 8px #fff,0 0 0 11px var(--yellow)}
.ha-grill{position:absolute;inset:0;width:100%;height:100%}
.ha-smile{position:relative;width:76px;height:76px;filter:drop-shadow(0 1px 1.5px rgba(80,0,16,.55));animation:ha-wiggle 1.6s .5s ease-in-out 2}
.ha-title{font-family:var(--font-head);color:var(--brand);font-size:25px;letter-spacing:.14em;line-height:1.05;margin:22px 0 0;text-transform:uppercase}
.ha-bar-y{width:64px;height:6px;border-radius:3px;background:var(--yellow);margin:12px auto 16px}
.ha-msg{font-family:var(--font-body);font-size:clamp(23px,7.3vw,30px);font-size:clamp(23px,8.6cqw,30px);line-height:1.2;font-weight:800;color:#222;letter-spacing:-.01em;margin:0 0 20px;text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.ha-btn{display:block;width:100%;min-height:56px;border:0;border-radius:16px;background:var(--brand);color:#fff;font:700 19px var(--font-body);cursor:pointer;box-shadow:0 4px 0 #8a0422}
.ha-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #8a0422}
.ha-timer{position:absolute;left:0;bottom:0;height:7px;width:100%;background:rgba(191,6,47,.15)}.ha-timer i{display:block;height:100%;width:100%;background:var(--brand);transform-origin:left}
/* admin preview: the same card, shown in the page flow instead of as a popup */
.ha-card.ha-static{position:relative;left:auto;top:auto;transform:none;opacity:1;margin:0 auto;animation:none!important;pointer-events:none;overflow:hidden;max-height:none}
.ha-card.ha-static .ha-smile{animation:none}.ha-card.ha-static .ha-timer i{transform:scaleX(.6);animation:none!important}
/* short phones (e.g. 360x640): tighten the badge so the longest (120-char) message fits without scrolling */
@media (max-height:700px){.ha-badge{width:84px;height:84px;margin-top:18px}.ha-smile{width:57px;height:57px}.ha-title{margin-top:16px}.ha-bar-y{margin:9px auto 12px}.ha-msg{margin-bottom:14px}.ha-btn{min-height:50px}.ha-card{padding-bottom:26px}}
@media (prefers-reduced-motion:reduce){
  .ha-dim{transition:none}.ha-root.open .ha-card,.ha-root.open .ha-card.closing{animation:none;transform:translate(-50%,-50%);opacity:1}
  .ha-smile{animation:none}.ha-timer i{animation:none!important;display:none}
}
/* admin alerts page */
.al-grid{display:grid;gap:1rem}@media(min-width:900px){.al-grid{grid-template-columns:1fr 380px;align-items:start}}
.al-prev{background:var(--line);border-radius:16px;padding:1.2rem .8rem 1.4rem;position:sticky;top:.6rem}.al-prev .ha-card{width:min(360px,100%)}
.al-row{display:grid;grid-template-columns:1fr;gap:.5rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.al-row:last-child{border-bottom:0}
.al-row form{margin:0}.al-edit{display:flex;gap:.5rem;flex-wrap:wrap}.al-edit input{flex:1 1 220px}.al-btns{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.al-off .al-text{opacity:.6}.al-cnt{font-size:.82rem;font-weight:600;color:var(--mut)}.al-cnt b{color:var(--ink)}
.al-set{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .8rem}.al-set label{margin-top:.5rem}
.btn.dng{background:#fff;color:var(--bad);border:2px solid var(--bad)}.btn.dng:hover{background:#fde0de}

/* Back button (top banner) */
header.top a.backbtn{display:inline-flex;align-items:center;gap:.15rem;min-height:44px;min-width:44px;padding:0 .7rem 0 .35rem;margin-left:-.35rem;border:2px solid #fff;border-radius:10px;font:700 .9rem var(--font-body);color:#fff;text-decoration:none;flex:none}
header.top a.backbtn:hover{background:#fff;color:var(--brand)}header.top a.backbtn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
header.top a.backbtn svg{display:block;flex:none}
header.top.hasback a.brandlink{margin-right:auto}
@media(max-width:699px){header.top.hasback{padding-left:.8rem}header.top.hasback a.brandlink{flex:1 1 calc(100% - 106px);min-width:0;gap:.4rem;margin-right:0}header.top.hasback .hdr-logo{height:26px;flex:none}header.top.hasback .hdr-tag{font-size:.9rem;letter-spacing:.03em;white-space:nowrap;min-width:0}}
@media(max-width:699px){header.top.hasback nav{order:2}header.top.hasback form{order:3;margin-left:auto}}
@media print{header.top a.backbtn{display:none!important}}

/* role line on the three sign-in pages (Employee / Manager / Admin) */
.hero .role{margin:.3rem 0 0;font-size:.85rem;font-weight:600;color:#fff;opacity:.92}

/* manager (read-only) pages + admin managers page */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.6rem 0}@media(min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;display:flex;flex-direction:column;gap:.15rem}.stat b{font:400 2.2rem/1 var(--font-head);color:var(--brand)}.stat span{font-size:.82rem;font-weight:600;color:var(--mut)}.stat.bad b{color:var(--bad)}
a.empcard{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;margin:.55rem 0;color:inherit;text-decoration:none;min-height:44px}a.empcard:hover{border-color:var(--brand)}a.empcard strong{font-size:1.02rem}
.lv{list-style:none;margin:.5rem 0;padding:0}.lv li{display:flex;gap:.5rem;align-items:baseline;padding:.25rem 0}.dot{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eee;font-size:.8rem;flex:none}.dot.ok{background:var(--ok);color:#fff}
.newpw{border:2px solid var(--yellow);background:#FFFBE6}.pwbox code{font:700 1.5rem/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;background:#fff;border:1px dashed var(--mut);border-radius:8px;padding:.3rem .7rem;user-select:all}
fieldset.scope{border:1px solid var(--line);border-radius:10px;margin:.8rem 0;padding:.6rem .9rem}fieldset.scope legend{font-weight:700;padding:0 .3rem}.locs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.1rem .8rem;margin-top:.3rem}
label.chk{display:flex;align-items:center;gap:.5rem;min-height:40px;font-weight:600}label.chk input{width:auto;margin:0}
td.acts{display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-start}td.acts form{margin:0}td.acts details summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}td.acts details[open]{flex-basis:100%}.btn.dng{color:var(--bad);border-color:var(--bad)}
/* Admin > Files */
.fl-row{display:flex;gap:.8rem;align-items:flex-start}.fl-th{flex:0 0 56px;height:56px;border-radius:10px;background:var(--line);display:flex;align-items:center;justify-content:center;font-size:1.7rem;overflow:hidden}
.fl-th img{width:100%;height:100%;object-fit:cover}.fl-main{flex:1;min-width:0}.fl-name{display:block;overflow-wrap:anywhere;font-size:1rem}.fl-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.2rem 0}
.fl-uses{list-style:none;margin:.3rem 0;padding:0;font-size:.85rem}.fl-uses li{overflow-wrap:anywhere;padding:.05rem 0}.fl-acts{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.fl-acts form{margin:0}
.fl-bad{border-left:4px solid var(--bad)}.fl-copy{display:flex;gap:.4rem;margin:.4rem 0}.fl-copy input{flex:1;min-width:0;font-size:.8rem;margin:0}.fl-list{margin:.3rem 0 .8rem 1.1rem;padding:0}.fl-list li{margin:.35rem 0}.fl-aud{margin:.3rem 0;overflow-wrap:anywhere}
.loc{border:1px solid var(--line,#e3ddd2);border-radius:12px;padding:.7rem .9rem;margin:.6rem 0;background:#fff}.loc.off{background:#f6f3ee}.loc .nm{font-weight:800;font-size:1.05rem;word-break:break-word}.loc .use{margin:.2rem 0 .5rem;color:var(--mut,#666);font-size:.9rem}.loc .acts{display:flex;flex-wrap:wrap;gap:.4rem;align-items:flex-start}.loc .acts form{margin:0}.loc details[open]{flex-basis:100%}.loc details summary{list-style:none;cursor:pointer;display:inline-block}.loc details form{display:flex;gap:.4rem;margin-top:.4rem}.loc details input{flex:1;min-width:0}.addloc{display:flex;gap:.5rem;align-items:flex-end}.addloc div{flex:1}
.loc details:not([open]) form{display:none}

/* v11 reassign */
.t-re{display:inline-block;margin-top:9px;padding:1px .55rem;border-radius:99px;background:#e6efff;color:#1f4fa8;font-size:.7rem;font-weight:800;letter-spacing:.02em;align-self:flex-start}
.t-note{margin:2px 0 4px;font-size:.74rem;font-style:italic;color:var(--mut);line-height:1.3}
.t-certs .row{padding:.35rem 0;border-bottom:1px solid var(--line)}.t-certs .row:last-child{border-bottom:0}
