.upload-dropzone{position:relative;border:2px dashed #b8cbd4;border-radius:16px;background:#f7fbfc;padding:24px;margin:18px 0;transition:background .15s,border-color .15s,box-shadow .15s}.upload-dropzone.is-dragging{border-color:#079b82;background:#e4f8f2;box-shadow:0 0 0 4px #12a88c18}.upload-heading{display:flex;align-items:center;gap:12px;color:#173c49;font-size:17px}.upload-symbol{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:#e1f2ed;color:#087b68;font-size:28px}.upload-hint{font-size:13px;color:#587080;line-height:1.6;margin:12px 0 20px}.upload-dropzone .field{margin-bottom:8px}.upload-dropzone input[type=file]{max-width:100%;background:#fff;border-radius:9px;padding:10px}.upload-dropzone input[type=file]::file-selector-button{border:0;background:#163c49;color:#fff;border-radius:7px;padding:10px 14px;margin-inline-end:12px;cursor:pointer;font:inherit;font-size:13px}.upload-status{font-size:13px;color:#127560;overflow-wrap:anywhere;margin:12px 0 0}.upload-status:empty{display:none}.upload-status.is-error{color:#b23527}#passwordPlain,#passwordHash{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}#passwordPlain{direction:ltr}#passwordGenerate{margin-bottom:18px}#hashStatus{margin:16px 0}#hashOutput{margin-top:20px;border-top:1px solid #dfe7ea;padding-top:20px}#passwordHash{margin-top:10px;width:100%;overflow-wrap:anywhere;resize:vertical}@media(max-width:520px){.upload-dropzone{padding:16px}.upload-heading{font-size:15px}.upload-dropzone input[type=file]{font-size:12px}}
