:root{color:#18212f;background:#f3f5f7;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-width:640px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-height:100vh;max-width:1180px;margin:0 auto;padding:24px}.heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.heading-actions{display:flex;align-items:center;gap:12px}.language-link{color:#126c68;font-weight:700;text-decoration:none}.language-link:hover{text-decoration:underline}.top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:20px;align-items:stretch}h1,h2,p{margin:0}h1{font-size:28px;font-weight:700;line-height:1.2}h2,legend{color:#283445;font-size:15px;font-weight:700}.heading p,.empty-state,.file-list span,.result-detail{color:#647084}.primary-button,.ghost-button{min-height:40px;border-radius:6px;padding:0 16px;border:1px solid transparent}.primary-button{background:#126c68;color:#fff}.ghost-button{background:#fff;border-color:#c9d0d8;color:#334155}.full{width:100%}.drop-zone{display:grid;place-items:center;min-height:220px;border:2px dashed #9aa8b7;border-radius:8px;background:#fff;color:#283445;text-align:center;transition:border-color .14s ease,background .14s ease,color .14s ease}.drop-zone strong{display:block;font-size:19px}.drop-zone span{display:block;margin-top:8px;color:#647084}.drop-zone.drag-over{border-color:#126c68;background:#e8f4f1;color:#0f5f5a}.panel,form{border:1px solid #d8dee6;border-radius:8px;background:#fff;padding:16px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.file-list,.result-list{display:flex;flex-direction:column;gap:8px;padding:0;margin:0;list-style:none}.file-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px;border:1px solid #e1e6ed;border-radius:6px;background:#fbfcfd}.file-list strong,.result-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list span{overflow:hidden;grid-column:1 / 2;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.file-list button{grid-row:1 / 3;grid-column:2 / 3;border:1px solid #d0d7e0;border-radius:6px;background:#fff;color:#334155}form{display:flex;flex-direction:column;gap:16px}fieldset{display:grid;gap:10px;padding:0;margin:0;border:0}.radio-row{display:flex;align-items:center;gap:8px}.field{display:grid;gap:6px;color:#283445;font-weight:700}.password-control{display:grid;grid-template-columns:minmax(0,1fr) auto}.password-control input{width:100%;height:40px;border:1px solid #bac4d1;border-right:0;border-radius:6px 0 0 6px;padding:0 10px;color:#18212f}.password-control input::-ms-clear,.password-control input::-ms-reveal{display:none}.password-toggle{min-width:72px;height:40px;border:1px solid #bac4d1;border-radius:0 6px 6px 0;background:#eef2f6;color:#334155;font-weight:700}.password-toggle:focus-visible,.password-control input:focus-visible{position:relative;z-index:1;outline:2px solid #126c68;outline-offset:1px}.result-panel{display:grid;gap:12px;align-content:start}.summary{border-radius:6px;background:#eef2f6;padding:10px 12px;color:#334155;font-weight:700}.result{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start;padding:12px;border:1px solid #e1e6ed;border-radius:6px}.result div{display:grid;gap:8px;min-width:0}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;border-radius:4px;font-size:12px;font-weight:800}.success .status-pill{background:#dff4e4;color:#216334}.skipped .status-pill{background:#fff0cf;color:#7a5100}.failed .status-pill{background:#fde1dd;color:#9a2a1d}.result-detail{overflow:hidden;font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.download-action{display:grid;gap:8px}.download-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;width:100%;border-radius:6px;background:#126c68;color:#fff;font-weight:800;text-align:center;text-decoration:none;white-space:nowrap}.download-button:hover{background:#0f5f5a}.download-button:focus-visible{outline:2px solid #126c68;outline-offset:2px}@media(max-width:820px){body{min-width:0}.app-shell{padding:16px}.heading,.heading-actions{flex-direction:column;align-items:stretch}.heading .primary-button{width:100%}.top-grid{grid-template-columns:1fr}.drop-zone{min-height:160px}}
