.lab{max-width:960px}.lab .toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
.lab button,.lab select{font:inherit;padding:10px 14px;border-radius:8px;border:1px solid #1b2f55;background:#fff;cursor:pointer;min-height:44px}
.lab button.pri{background:#1b2f55;color:#fff}.lab .panel{background:#fff;border:1px solid #ddd;border-radius:12px;padding:16px;margin:16px 0}
.lab .note{background:#fff8e6;border-left:4px solid #c9a227;padding:10px 14px;border-radius:6px;margin:12px 0}
.lab .msg{font-weight:600;min-height:1.5em;margin:8px 0}.lab canvas{max-width:100%;touch-action:none;border:1px solid #ccc;border-radius:8px;background:#fff}
.langbtn{float:right}.items{display:flex;flex-wrap:wrap;gap:10px;min-height:70px;padding:10px;border:2px dashed #bbb;border-radius:10px}
.item{font-size:40px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#f4f6fb;border-radius:10px;user-select:none;touch-action:none;cursor:grab}
.item.sel{outline:3px solid #c9a227}.item.ok{background:#dff5e1}.item.bad{background:#fde2e2}
.bins{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.bin{min-height:150px;border:3px solid #1b2f55;border-radius:12px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.bin h4{width:100%;margin:0 0 6px}.grid{display:grid;gap:3px;max-width:420px;margin:auto}.grid div{aspect-ratio:1;background:#eef1f7;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:min(7vw,34px)}
.grid .wall{background:#555}.grid .on{background:#1b2f55}.grid .bad{background:#e57373}.grid .mid{background:#c9a227}.prog{font-size:26px;min-height:40px;word-break:break-all}
.labcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.thumbs img,.thumbs video{width:64px;height:64px;object-fit:cover;border-radius:6px;margin:2px}
.bars div{margin:4px 0}.bars span{display:inline-block;height:14px;background:#1b2f55;border-radius:4px;vertical-align:middle;margin-left:6px}
@media(max-width:480px){.bins{grid-template-columns:1fr}.item{width:54px;height:54px;font-size:32px}}
.kit{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.kit button{font-size:15px;padding:8px 10px}
body.hc{background:#000!important;color:#fff!important}body.hc .panel,body.hc .lab .panel,body.hc .item,body.hc .grid div{background:#000!important;color:#ff0!important;border-color:#fff!important}body.hc .grid .on,body.hc .grid .wall{background:#ff0!important}body.hc a{color:#0ff!important}
body.lt{font-size:125%}body.lt .lab button{font-size:20px}
body.present header,body.present footer,body.present .mcta,body.present aside,body.present .hero,body.present .noprez{display:none!important}
body.present .lab button{font-size:22px;min-height:60px}#prezbar{display:none}body.present #prezbar{display:flex;position:sticky;top:0;z-index:50;background:#1b2f55;color:#fff;padding:10px;gap:10px;align-items:center;flex-wrap:wrap;font-size:22px}
#prezbar button{background:#c9a227;color:#000;border:0}.badge{display:inline-block;background:#e9f6ee;border:1px solid #2e7d32;border-radius:20px;padding:4px 10px;margin:2px}
.item.ok::after{content:'✓';font-size:16px;position:relative;top:-18px}.item.bad::after{content:'✗';font-size:16px;position:relative;top:-18px}
.wsheet{display:none}@media print{body *{visibility:hidden}.wsheet,.wsheet *{visibility:visible}.wsheet{display:block;position:absolute;left:0;top:0;width:100%;color:#000;font-size:13pt}.wsheet .key{page-break-before:always}.wline{border-bottom:1px solid #000;height:28px}}
#certcv{width:100%;max-width:700px}
