@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--pink: #db2777;--orange: #e88733;--dark: #111827;--gray: #6b7280;--light-gray: #f3f4f6}html,body{margin:0;padding:0;width:100%;min-height:100vh;overscroll-behavior:none;-webkit-overflow-scrolling:touch}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:var(--dark);overflow-x:hidden;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;touch-action:manipulation}#root{width:100%;min-height:100vh;box-sizing:border-box}input,textarea{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}p,span,h1,h2,h3,h4,h5,h6,li,td,th,label,.selectable-text,pre,code,.selectable-text *,pre *,code *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;cursor:text}.clickable-card{cursor:pointer!important}.clickable-card p,.clickable-card span,.clickable-card div:not(button):not(a):not([style*=cursor]),.clickable-card h1,.clickable-card h2,.clickable-card h3,.clickable-card h4,.clickable-card h5,.clickable-card h6,.clickable-card label{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.clickable-card button,.clickable-card a{cursor:pointer!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button,a,[role=button],[onclick]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fullscreen-page{position:fixed;inset:0;width:100%;height:100%;overflow:hidden}input,button{font-family:inherit}button{cursor:pointer;border:none;outline:none}.safe-top{padding-top:env(safe-area-inset-top,0)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0)}@keyframes pulse{0%{opacity:1;transform:scale(1);box-shadow:0 0 #10b981b3}50%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1);box-shadow:0 0 0 8px #10b98100}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.ai-analysis-page{min-height:100vh;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);padding:2rem 1rem}.ai-analysis-container{max-width:1400px;margin:0 auto;width:100%}.ai-analysis-header{text-align:center;margin-bottom:2rem}.ai-analysis-header h1{font-size:2rem;font-weight:700;color:var(--dark);margin-bottom:.5rem}.subtitle{color:var(--gray);font-size:1rem;margin-bottom:1rem}.overlay-info{margin-top:1.5rem;padding:1rem;background:#db27771a;border-radius:8px;display:inline-block}.info-text{color:var(--dark);font-size:.95rem;margin:0}.info-text strong{color:var(--pink)}.drop-area{border:2px dashed var(--gray);border-radius:8px;padding:1.5rem 1rem;text-align:center;background:#fff;transition:all .3s ease;cursor:pointer;margin-bottom:1.5rem}.drop-area:hover{border-color:var(--pink);background:#fef2f2}.drop-area.highlight{border-color:var(--pink);background:#fef2f2;transform:scale(1.02)}.drop-area-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-icon{color:var(--pink);margin-bottom:0}.drop-text{color:var(--gray);font-size:.95rem;margin:0}.btn-select{background:var(--pink);color:#fff;padding:.5rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-select:hover{background:#be185d;transform:translateY(-1px);box-shadow:0 2px 8px #db27774d}.gallery-section{margin-bottom:2rem}.gallery-section h2{font-size:1.5rem;font-weight:600;color:var(--dark);margin-bottom:1rem}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}@media(min-width:1024px){.gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem}.img-item img{height:250px}}@media(min-width:1440px){.gallery{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem}.img-item img{height:280px}}.img-item{position:relative;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.img-item:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.img-item img{width:100%;height:200px;object-fit:cover;display:block}.remove-btn{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.remove-btn:hover{background:#dc2626e6;transform:scale(1.1)}.img-label{display:block;padding:.5rem;text-align:center;font-size:.875rem;color:var(--gray);background:#f9fafb}.actions-section{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:2rem}.actions-section>*{width:100%;max-width:400px}.toggle-ai{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;color:var(--dark);font-size:.95rem}.toggle-ai input[type=checkbox]{width:18px;height:18px;cursor:pointer}.btn-analyze{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2.5rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .2s ease;box-shadow:0 4px 12px #667eea4d}.btn-analyze:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-analyze:disabled{opacity:.6;cursor:not-allowed}.btn-reprocess{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1rem 2.5rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .2s ease;box-shadow:0 4px 12px #10b9814d}.btn-reprocess:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.btn-reprocess:disabled{opacity:.6;cursor:not-allowed}.btn-process{background:var(--pink);color:#fff;padding:1rem 2.5rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;gap:.75rem;transition:all .2s ease;box-shadow:0 4px 12px #db27774d}.btn-process:hover:not(:disabled){background:#be185d;transform:translateY(-2px);box-shadow:0 6px 16px #db277766}.btn-process:disabled{opacity:.6;cursor:not-allowed}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--gray)}.empty-icon{color:var(--gray);opacity:.5;margin-bottom:1rem}.empty-state p{font-size:1.1rem;margin-bottom:.5rem}.empty-hint{font-size:.9rem;opacity:.7}.analysis-report{margin-top:2rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.analysis-report h3{font-size:1.5rem;font-weight:600;color:var(--dark);margin-bottom:1rem;border-bottom:2px solid var(--pink);padding-bottom:.5rem}.analysis-report h4{font-size:1.2rem;font-weight:600;color:var(--dark);margin-top:1.5rem;margin-bottom:.75rem}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px}.summary p{margin:0;font-size:1rem;color:var(--dark)}.summary strong{color:var(--pink)}.defects-list{margin-top:1rem}.foto-defects{margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px;border-left:4px solid var(--pink)}.foto-defects strong{display:block;margin-bottom:.5rem;color:var(--dark);font-size:1.1rem}.foto-defects ul{list-style:none;padding:0;margin:0}.foto-defects li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--dark);line-height:1.6}.foto-defects li:before{content:"•";position:absolute;left:0;color:var(--pink);font-weight:700;font-size:1.2rem}.price{color:var(--orange);font-weight:600;margin-left:.5rem}.raw-data-section{margin-top:2rem;padding:1.5rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.raw-data-section h4{font-size:1.1rem;font-weight:600;color:var(--dark);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--pink)}.raw-data-item{margin-bottom:1rem;background:#fff;border-radius:6px;padding:.75rem;border:1px solid #e5e7eb}.raw-data-item summary{cursor:pointer;font-weight:600;color:var(--pink);padding:.5rem;-webkit-user-select:none;user-select:none}.raw-data-item summary:hover{background:#fef2f2;border-radius:4px}.raw-json{margin-top:.5rem;padding-left:1rem}.raw-json summary{font-size:.9rem;color:var(--gray);font-weight:500}.raw-content{background:#1f2937;color:#f3f4f6;padding:1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;line-height:1.5;margin-top:.5rem;max-height:400px;overflow-y:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;white-space:pre-wrap;word-wrap:break-word}.token-info{font-size:.85rem;color:var(--gray);font-weight:400;margin-left:.5rem}.info-warning{margin-top:.5rem;padding:.75rem;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;color:#92400e;font-size:.9rem;line-height:1.5}.processed-gallery-section{margin-top:3rem;margin-bottom:2rem}.processed-gallery-section h2{font-size:1.5rem;font-weight:600;color:var(--dark);margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--pink)}.processed-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.processed-img-item{position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000026;transition:transform .2s ease}.processed-img-item:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0003}.processed-img-item img{width:100%;height:auto;display:block;max-height:500px;object-fit:contain;background:#f9fafb}.processed-img-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9fafb;border-top:1px solid #e5e7eb}.processed-label{font-weight:600;color:var(--dark);font-size:1rem}.btn-download-processed{background:var(--pink);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.btn-download-processed:hover{background:#be185d;transform:translateY(-1px)}@media(min-width:1024px){.processed-gallery{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2.5rem}}@media(min-width:1440px){.processed-gallery{grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}}@media(max-width:768px){.processed-gallery{grid-template-columns:1fr;gap:1.5rem}.processed-img-item img{max-height:400px}}@media(min-width:769px){.ai-analysis-page{padding:2rem 1.5rem}.ai-analysis-header h1{font-size:2rem}.subtitle{font-size:1rem}.drop-area{padding:2rem 1.5rem;max-width:800px;margin-left:auto;margin-right:auto}.drop-area-content{gap:.75rem}.upload-icon{margin-bottom:0}.drop-text{font-size:1rem}.btn-select{padding:.5rem 1.25rem;font-size:.9rem}.gallery-section h2{font-size:2rem}.btn-process{padding:1.25rem 3rem;font-size:1.2rem}}@media(max-width:768px){.ai-analysis-page{padding:1rem .5rem}.ai-analysis-header h1{font-size:1.5rem}.drop-area{padding:2rem 1rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.img-item img{height:150px}.btn-process{width:100%;justify-content:center;padding:1rem}}.model-selector-container{position:relative;display:inline-block;margin:1.5rem 0;z-index:100}.model-selector-button{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000014;min-width:280px}.model-selector-button:hover{border-color:var(--pink);box-shadow:0 4px 12px #db277726}.model-icon{font-size:1.5rem;line-height:1}.model-info{display:flex;flex-direction:column;align-items:flex-start;flex:1}.model-name{font-weight:600;font-size:1rem;color:var(--dark)}.model-provider{font-size:.8rem;color:var(--gray)}.chevron-icon{color:var(--gray);transition:transform .2s ease}.chevron-icon.rotated{transform:rotate(180deg)}.model-dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:400px;max-width:90vw;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 40px #00000026;overflow:hidden;animation:dropdownSlide .2s ease-out;max-height:70vh;overflow-y:auto}@keyframes dropdownSlide{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.model-dropdown-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:.95rem}.model-group{border-bottom:1px solid #e5e7eb}.model-group:last-child{border-bottom:none}.model-group-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#f9fafb;font-weight:600;font-size:.85rem;color:var(--gray);text-transform:uppercase;letter-spacing:.5px}.model-option{display:flex;align-items:flex-start;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:#fff;border:none;cursor:pointer;transition:all .15s ease;text-align:left}.model-option:hover{background:#fef2f2}.model-option.selected{background:linear-gradient(135deg,#db27771a,#667eea1a);border-left:3px solid var(--pink)}.model-option-content{flex:1}.model-option-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.model-option-icon{font-size:1.1rem}.model-option-name{font-weight:600;font-size:.95rem;color:var(--dark)}.model-badge{padding:.2rem .5rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.model-badge.recommended{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.model-option-description{font-size:.85rem;color:var(--gray);margin:0 0 .375rem;line-height:1.4}.model-cost{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.model-cost.cost-baixo{background:#d1fae5;color:#065f46}.model-cost.cost-médio{background:#fef3c7;color:#92400e}.model-cost.cost-alto{background:#fee2e2;color:#991b1b}.model-check{color:var(--pink);font-weight:700;font-size:1.25rem;margin-left:.5rem}@media(max-width:768px){.model-selector-button{min-width:240px;padding:.75rem 1rem}.model-dropdown{width:95vw;left:50%}.model-option{padding:.875rem 1rem}.model-option-name{font-size:.9rem}.model-option-description{font-size:.8rem}}
