[hidden]{display:none!important}
.lft-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px}
.lft-card{background:white;padding:36px;border-top:4px solid var(--green);border-radius:8px}
.lft-card form{display:grid;gap:16px;margin-top:24px}.lft-card label{font-weight:800}
.lft-card input{width:100%;padding:14px;border:1px solid var(--line);border-radius:6px;font:inherit;box-sizing:border-box}
.lft-card .button{cursor:pointer;font:inherit;font-weight:800}.lft-card .button-outline{color:var(--ink);border-color:var(--green)}
.lft-card button:disabled{opacity:.6;cursor:wait}.lft-help{font-size:.95rem;color:var(--muted);margin:0}
.lft-aside{padding:32px;background:var(--ink);color:white;align-self:start;border-radius:8px}.lft-aside h2{color:var(--bright)}
#lft-status{padding:16px;background:var(--paper);border-left:3px solid var(--green);overflow-wrap:anywhere}
#lft-progress{width:100%;height:24px;margin-top:24px;accent-color:var(--green)}
#lft-reset,#lft-lock{margin:12px 12px 0 0}
@media(max-width:800px){.lft-layout{grid-template-columns:1fr;gap:24px}.lft-card,.lft-aside{padding:24px}}

/* ZIP naming guidance — V88 */
.lft-aside h3{margin-top:28px;color:var(--bright)}
.lft-aside code{font-size:.9em;overflow-wrap:anywhere;word-break:normal;color:#fff}
