body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#e2e8f0);font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app,body{min-height:100vh}.main{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;height:100vh;margin:0 auto;max-width:1400px}.upload-section{height:-webkit-fit-content;height:fit-content}.upload-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.upload-header h1{color:#1f2937;font-family:Nunito Sans,sans-serif;font-size:1.5rem;font-weight:700;margin:0}.upload-header h1 div:last-child{color:#6b7280;font-size:1rem}.upload-header img{height:100px;width:auto}.preview-section{display:flex;flex-direction:column;height:100vh}.preview-section h2,.upload-section h2{color:#1f2937;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.upload-area{border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:3rem;text-align:center;transition:all .2s}.upload-area:hover{background-color:#f8fafc;border-color:#3b82f6}.upload-label{cursor:pointer;display:block;font-family:Nunito Sans,sans-serif;font-size:.875rem;font-weight:500}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-area p{color:#374151;font-size:1.125rem;font-weight:500;margin-bottom:.5rem}.upload-area p,.upload-hint{font-family:Nunito Sans,sans-serif}.upload-hint{color:#6b7280;font-size:.875rem;font-weight:400}.photo-preview{text-align:center}.photo-preview img{border:1px solid #e5e7eb;border-radius:8px;height:300px;margin-bottom:1rem;max-width:300px;object-fit:cover;width:100%}.photo-actions{display:flex;gap:1rem;justify-content:center}.photo-actions button,.photo-actions label{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-family:Nunito Sans,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s;width:-webkit-fit-content;width:fit-content}.photo-actions button:hover,.photo-actions label:hover{background:#f3f4f6}.change-photo{display:inline-block}.download-btn{align-self:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Nunito Sans,sans-serif;font-size:.875rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s;width:-webkit-fit-content;width:fit-content}.download-btn:hover:not(:disabled){background:#2563eb}.download-btn:disabled{background:#9ca3af;cursor:not-allowed}.certificate-container{border-left:1px solid #e5e7eb;flex:1 1;height:100vh;overflow:auto}.certificate,.certificate-container{align-items:center;display:flex;justify-content:center}.certificate,.certificate svg{height:100%;width:100%}.certificate svg{object-fit:contain}.loading{text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-state{color:#6b7280;text-align:center}.empty-state p{font-size:1.125rem}.crop-section{text-align:center}.crop-section h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.crop-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;overflow:hidden}.crop-actions{display:flex;gap:1rem;justify-content:center}.apply-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.apply-btn:hover{background:#2563eb}.cancel-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.cancel-btn:hover{background:#f3f4f6}@media (max-width:768px){.main{grid-template-columns:1fr;padding:1rem}.header{flex-direction:column;gap:.5rem;padding:1rem}.header-logo{height:40px}.header-content h1{font-size:2rem}.upload-section{padding:1.5rem}.preview-section{height:auto;min-height:500px}}
/*# sourceMappingURL=main.6aa54503.css.map*/