/* Site-wide additions on top of the mockup CSS: test banner, flash, account menu, forms, voids, empty states. */
.testbar{background:#fef0c7;color:#7a2e0e;border-bottom:1px solid #f79009;font-size:12px;text-align:center;padding:5px 12px;line-height:1.4}
.testbar b{letter-spacing:.06em}
.flash{margin:12px 24px 0;padding:10px 14px;border-radius:var(--r2);background:var(--win-bg);color:var(--win);border:1px solid #abefc6;font-weight:600;font-size:13.5px}
.flash.err{background:var(--loss-bg);color:var(--loss);border-color:#fecdca}
.pub .flash{max-width:1200px;margin:12px auto 0}
.inl{display:inline}
.err{color:var(--loss)}
.notice{margin:14px 0;padding:12px 14px;border-radius:var(--r2);background:var(--surface-2);border:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.notice b{color:var(--ink)} .notice.warn{background:var(--warn-bg);border-color:#fedf89;color:var(--warn)}
.medd{position:relative}.medd>summary{list-style:none;cursor:pointer}.medd>summary::-webkit-details-marker{display:none}
.mdd{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:220px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh-2);padding:12px;display:grid;gap:6px}
.mdd a,.mdd button{display:block;text-align:left;padding:7px 8px;border-radius:8px;font-size:13.5px;width:100%}.mdd a:hover,.mdd button:hover{background:var(--surface-2)}
.mdd form{margin:0}
.row.void{opacity:.6}.row.void .t{text-decoration:line-through}
.ic.V,.ic.P{background:#f2f4f7;color:var(--muted)} .res.V{background:#f2f4f7;color:var(--dim);text-decoration:line-through}
tr.void td{color:var(--dim)} tr.void b{text-decoration:line-through;font-weight:600}
.ybn{font-size:12px;color:var(--warn);background:var(--warn-bg);padding:7px 10px;border-top:1px solid var(--line)}
.empty-s{padding:20px;display:grid;gap:4px;text-align:center}
.dgrp{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);margin:14px 0 8px}
.fform{display:contents}
.fsel.static{cursor:default;padding-right:12px;background-image:none}
.seg a{display:inline-flex;align-items:center;gap:6px}
.sec-s{margin-top:12px}
.tgl{appearance:none;-webkit-appearance:none;width:40px;height:24px;border-radius:999px;background:#d0d5dd;position:relative;cursor:pointer;flex:none;transition:background .15s}
.tgl::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.tgl:checked{background:var(--ink)}.tgl:checked::after{left:19px}
.tgl:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
label.srow{cursor:pointer}
.notext{padding:12px 14px;border-radius:var(--r2);background:var(--surface-2);border:1px dashed var(--line-2);font-size:13.5px;color:var(--muted)}
.in.sm{height:30px;padding:0 8px;font-size:12.5px}
.btn.ghost{background:transparent}
.btile[disabled]{cursor:default;opacity:.8}
.f{display:grid;gap:4px}
.sms .bub{white-space:normal}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:520px){.hide-xs{display:none!important}.flash{margin:10px 12px 0}}
.ex{white-space:normal;max-width:100%}
.yb .o.chk{font-size:11px;font-weight:600;white-space:nowrap}
@media (min-width:1101px){.md .gcards{max-height:calc(100vh - 190px);overflow-y:auto;padding:2px 6px 2px 2px;scrollbar-width:thin}}
@media (max-width:1100px){.md #gdetail{order:-1}}
