*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background:#f5f5f5;color:#333}.app{max-width:960px;margin:0 auto;padding:2rem 1rem}header{margin-bottom:2rem}header h1{font-size:1.5rem;margin-bottom:.5rem}header p{color:#666}.upload-section{display:flex;flex-direction:column;gap:1rem}.upload-label{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;border:2px dashed #ccc;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s}.upload-label:hover{border-color:#888}.upload-label input{display:none}.upload-label span{color:#666;font-size:1rem}.error{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;padding:1rem}.error pre{margin-top:.5rem;white-space:pre-wrap;font-size:.875rem}.warnings{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:1rem}.warnings ul{margin-top:.5rem;padding-left:1.5rem}.form-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.form-toolbar button{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.875rem}.form-toolbar button:hover{background:#f9fafb}.form-section{display:flex;flex-direction:column;gap:1rem}
