*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;padding:20px}.app{max-width:1400px;margin:0 auto}.header{text-align:center;color:#fff;margin-bottom:40px}.header h1{font-size:3rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.header p{font-size:1.2rem;opacity:.9}.container{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}.form-section,.preview-section{background:white;border-radius:20px;padding:30px;box-shadow:0 10px 40px #0003}.form-container h2,.preview-container h2{font-size:1.8rem;margin-bottom:25px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:#555;font-size:.95rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=url]{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .3s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.photo-upload-btn{width:100%;padding:15px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.photo-upload-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.color-group{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group input[type=color]{width:100%;height:50px;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer}.generate-btn{width:100%;padding:18px;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:20px;transition:all .3s}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #f5576c66}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.qr-result{margin-top:25px;padding:20px;background:#f8f9fa;border-radius:12px;border:2px solid #e9ecef}.qr-result h3{color:#28a745;margin-bottom:15px;font-size:1.3rem}.url-section{margin-bottom:20px}.url-section p{margin-bottom:8px;color:#333;font-size:.95rem}.url-section p.note{margin-top:8px;font-size:.85rem;color:#d63031;font-weight:600}.url-box{display:flex;gap:10px;margin-top:15px}.url-box input{flex:1;padding:10px 15px;border:2px solid #dee2e6;border-radius:8px;font-size:.9rem;font-family:monospace}.url-box button{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.url-box button:hover{background:#5568d3}.design-select{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;background:white;cursor:pointer;transition:all .3s}.design-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.preview-container{position:sticky;top:20px}.business-card-preview{border-radius:16px;padding:40px;min-height:500px;box-shadow:0 8px 30px #00000026;margin-bottom:25px;transition:all .3s;position:relative;overflow:hidden;background-color:var(--card-bg-color);color:var(--card-text-color)}.design-classic{background:white!important}.design-classic:before,.design-classic:after{display:none}.design-classic .wave-svg{position:absolute;top:0;left:0;right:0;width:100%;height:50%;z-index:0;object-fit:cover;object-position:top}.design-classic .card-photo,.design-classic .card-content,.design-classic .card-name,.design-classic .card-title,.design-classic .card-company,.design-classic .card-divider{position:relative;z-index:2}.design-classic .card-contact{position:relative;z-index:2;color:#333!important}.design-classic .contact-item{color:#333!important}.design-classic .card-social{position:relative;z-index:2}.design-flat{background:var(--card-bg-color)!important}.design-modern{background:linear-gradient(135deg,var(--card-bg-color) 0%,color-mix(in srgb,var(--card-bg-color) 70%,black) 100%)!important}.design-blend:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top right,rgba(255,255,255,.2) 0%,transparent 60%);z-index:0}.design-blend{background:var(--card-bg-color)!important}.design-blend .card-photo,.design-blend .card-content{position:relative;z-index:1}.design-sleek:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(160deg,var(--card-bg-color) 0%,var(--card-bg-color) 55%,color-mix(in srgb,var(--card-bg-color) 85%,white) 55%,color-mix(in srgb,var(--card-bg-color) 85%,white) 100%);z-index:0}.design-sleek .card-photo,.design-sleek .card-content{position:relative;z-index:1}.card-photo{text-align:center;margin-bottom:25px;margin-top:30px}.card-photo img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #0003}.card-content{text-align:center}.business-card-preview:not(:has(.card-photo)) .card-content{margin-top:80px}.card-name{font-size:2rem;font-weight:700;margin-bottom:8px}.card-title{font-size:1.2rem;opacity:.9;margin-bottom:5px}.card-company{font-size:1.1rem;opacity:.85;font-weight:600}.card-divider{height:2px;background:currentColor;opacity:.2;margin:25px 0}.card-contact{text-align:left;margin-top:20px}.contact-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:.95rem;opacity:.95}.contact-item .icon{font-size:1.2rem}.card-social{display:flex;justify-content:center;gap:15px;margin-top:20px;flex-wrap:wrap}.card-social a{display:inline-block;padding:8px 16px;background:rgba(255,255,255,.2);color:inherit;text-decoration:none;border-radius:20px;font-size:.9rem;font-weight:600;transition:all .3s}.card-social a:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.qr-preview{text-align:center;padding:25px;background:#f8f9fa;border-radius:12px}.qr-preview h3{margin-bottom:15px;color:#333}.qr-preview canvas{max-width:100%;border-radius:8px;box-shadow:0 4px 15px #0000001a}.qr-hint{margin-top:10px;color:#666;font-size:.9rem}.card-view-container{max-width:800px;margin:0 auto}.view-header{display:none}.business-card-full{background:white;border-radius:20px;padding:50px;box-shadow:0 15px 50px #0000004d;margin-bottom:30px;position:relative;overflow:hidden;min-height:600px;background-color:var(--card-bg-color);color:var(--card-text-color)}.business-card-full.design-classic{background:white!important}.business-card-full.design-classic:before,.business-card-full.design-classic:after{display:none}.business-card-full.design-classic .wave-svg{position:absolute;top:0;left:0;right:0;width:100%;height:50%;z-index:0;object-fit:cover;object-position:top}.business-card-full.design-classic .card-photo-large,.business-card-full.design-classic .card-info,.business-card-full.design-classic .card-name-large,.business-card-full.design-classic .card-title-large,.business-card-full.design-classic .card-company-large,.business-card-full.design-classic .card-divider-large{position:relative;z-index:2}.business-card-full.design-classic .card-contact-large{position:relative;z-index:2;color:#333!important}.business-card-full.design-classic .contact-link{color:#333!important}.business-card-full.design-classic .card-social-large{position:relative;z-index:2}.business-card-full.design-flat{background:var(--card-bg-color)!important}.business-card-full.design-modern{background:linear-gradient(135deg,var(--card-bg-color) 0%,color-mix(in srgb,var(--card-bg-color) 70%,black) 100%)!important}.business-card-full.design-blend:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top right,rgba(255,255,255,.2) 0%,transparent 60%);z-index:0}.business-card-full.design-blend{background:var(--card-bg-color)!important}.business-card-full.design-blend .card-photo-large,.business-card-full.design-blend .card-info{position:relative;z-index:1}.business-card-full.design-sleek:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(160deg,var(--card-bg-color) 0%,var(--card-bg-color) 55%,color-mix(in srgb,var(--card-bg-color) 85%,white) 55%,color-mix(in srgb,var(--card-bg-color) 85%,white) 100%);z-index:0}.business-card-full.design-sleek .card-photo-large,.business-card-full.design-sleek .card-info{position:relative;z-index:1}.card-photo-large{text-align:center;margin-bottom:30px;margin-top:40px}.card-photo-large img{width:180px;height:180px;border-radius:50%;object-fit:cover;border:6px solid rgba(255,255,255,.3);box-shadow:0 8px 25px #0003}.card-info{text-align:center}.business-card-full:not(:has(.card-photo-large)) .card-info{margin-top:100px}.card-name-large{font-size:2.8rem;font-weight:700;margin-bottom:10px}.card-title-large{font-size:1.5rem;opacity:.9;margin-bottom:8px}.card-company-large{font-size:1.3rem;opacity:.85;font-weight:600}.card-divider-large{height:3px;background:currentColor;opacity:.2;margin:30px auto;max-width:200px}.card-contact-large{text-align:left;max-width:500px;margin:30px auto}.contact-link{display:flex;align-items:center;gap:15px;margin-bottom:18px;font-size:1.1rem;color:inherit;text-decoration:none;padding:12px;border-radius:10px;transition:all .3s}.contact-link:hover{background:rgba(255,255,255,.1)}.contact-link .icon{font-size:1.5rem}.card-social-large{display:flex;justify-content:center;gap:20px;margin-top:25px;flex-wrap:wrap}.social-link{display:inline-block;padding:12px 24px;background:rgba(255,255,255,.2);color:inherit;text-decoration:none;border-radius:25px;font-size:1rem;font-weight:600;transition:all .3s}.social-link:hover{background:rgba(255,255,255,.3);transform:translateY(-2px)}.card-actions{display:flex;gap:15px;justify-content:center;margin-bottom:40px}.action-btn{padding:15px 30px;background:white;color:#667eea;border:2px solid white;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.action-btn.primary{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;border-color:transparent}.action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.qr-section{background:white;border-radius:20px;padding:40px;text-align:center;box-shadow:0 10px 40px #0003}.qr-section h3{font-size:1.8rem;color:#333;margin-bottom:20px}.qr-section canvas{max-width:100%;border-radius:12px;box-shadow:0 5px 20px #00000026;margin-bottom:15px}.qr-section p{color:#666;font-size:1rem}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff}.spinner{width:50px;height:50px;border:5px solid rgba(255,255,255,.3);border-top:5px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p{font-size:1.2rem;font-weight:600}@media (max-width: 1024px){.container{grid-template-columns:1fr}.preview-container{position:static}}@media (max-width: 768px){body{padding:10px}.header h1{font-size:2rem}.header p{font-size:1rem}.form-section,.preview-section{padding:20px}.business-card-preview,.business-card-full{padding:30px}.card-name-large{font-size:2rem}.card-actions{flex-direction:column}.action-btn{width:100%}}@media print{body{background:white}.view-header,.card-actions,.qr-section{display:none}.business-card-full{box-shadow:none;page-break-inside:avoid}}
