.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cap-block{display:block}.cap-drop{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;border:2px dashed transparent;transition:border-color .12s,background .12s}.cap-drop.over{border-color:var(--accent);background:var(--accent-soft)}.cap-drop h2{font-size:15px}.cap-up-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cap-file-btn{display:inline-flex;align-items:center;cursor:pointer}.cap-hidden-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.cap-file-btn:focus-within,.cap-hidden-input:focus-visible+.cap-file-btn{outline:2px solid var(--accent);outline-offset:2px}.cap-up-opts{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:flex-end}.cap-up-opts .field{min-width:220px;flex:0 1 260px}.cap-check{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;cursor:pointer;max-width:520px}.cap-check input{margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--accent)}.cap-prog{display:inline-flex;flex-direction:column;gap:3px;min-width:110px}.cap-prog progress{width:100%;height:6px;accent-color:var(--accent)}.drawer.cap-drawer{width:min(1320px,100%)}.cap-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}.cap-preview{padding:8px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0}.cap-frame{height:calc(100vh - 170px);min-height:420px;border:0;background:#fff}.cap-frame,.cap-img{width:100%;border-radius:8px}.cap-img{max-height:calc(100vh - 170px);object-fit:contain;background:var(--field)}.cap-file-foot{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:0 4px;min-width:0}.cap-wait{gap:12px}.cap-form,.cap-wait{display:flex;flex-direction:column}.cap-form{gap:14px;min-width:0}.cap-fields{display:flex;flex-direction:column;gap:16px;margin:0;min-width:0}.cap-fields[disabled] .inp{opacity:.85}.cap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.cap-grid .field.wide{grid-column:1/-1}.cap-grid .cap-check.field{flex-direction:row;align-self:end;padding-bottom:8px}.cap-bad .field>label,.cap-bad>label{color:var(--crit-ink)}.cap-bad .inp{box-shadow:0 0 0 1px var(--crit-ink)}.cap-conf{display:inline-block;font-size:11px;font-weight:500;padding:0 6px;border-radius:6px;margin-left:4px;white-space:nowrap}.cap-conf.hi{background:var(--good-bg);color:var(--good-ink)}.cap-conf.mid{background:var(--warn-bg);color:var(--warn-ink)}.cap-conf.lo{background:var(--crit-bg);color:var(--crit-ink)}.cap-conf.ed{background:var(--info-bg);color:var(--info-ink)}.cap-flags h3,.cap-lines h3{font-size:13.5px;font-weight:600;margin:0 0 8px}.cap-flags ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cap-flag{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-radius:8px;padding:7px 10px;font-size:13px;overflow-wrap:anywhere}.cap-flag>span{flex:1 1 220px;min-width:0}.cap-flag.error{background:var(--crit-bg);color:var(--crit-ink)}.cap-flag.warn{background:var(--warn-bg);color:var(--warn-ink)}.cap-flag.info{background:var(--info-bg);color:var(--info-ink)}.cap-flag .btn.small{background:var(--surface);color:var(--ink)}.cap-dups{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;margin-top:10px}.cap-lines{display:flex;flex-direction:column;gap:10px}.cap-line{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr) auto;gap:8px 10px;align-items:end;padding-bottom:10px;border-bottom:1px solid var(--line)}.cap-line .del{align-self:end;height:34px}.cap-totals{margin-top:2px}.cap-totals th[scope=row]{font-weight:500;color:var(--ink-2);text-transform:none;letter-spacing:0;font-size:13px}.cap-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cap-text summary{cursor:pointer;font-weight:500}.cap-text pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:320px;overflow-y:auto;background:var(--field);border-radius:8px;padding:10px}@media (max-width:1000px){.cap-review-grid{grid-template-columns:minmax(0,1fr)}.cap-preview{position:static}.cap-frame{height:60vh;min-height:320px}.cap-img{max-height:60vh}}@media (max-width:640px){.cap-grid{grid-template-columns:minmax(0,1fr)}.cap-line{grid-template-columns:minmax(0,1fr) auto}.cap-line .cap-l-acc,.cap-line .cap-l-desc{grid-column:1/-1}.cap-up-opts .field{min-width:0;flex:1 1 100%}.cap-actions .btn{width:100%;justify-content:center;height:44px}}