*{margin:0;padding:0;box-sizing:border-box}.offline-banner{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff;padding:12px 20px;text-align:center;font-weight:600;font-size:.95rem;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px #0003;animation:pulse-offline 2s ease-in-out infinite}@keyframes pulse-offline{0%,to{opacity:1}50%{opacity:.85}}.syncing-banner{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;padding:12px 20px;text-align:center;font-weight:600;font-size:.95rem;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px #0003;animation:pulse-sync 1s ease-in-out infinite}@keyframes pulse-sync{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}.pending-badge{background:linear-gradient(135deg,#ffa726,#ff7043);color:#fff;border:none;border-radius:20px;padding:8px 16px;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:5px;box-shadow:0 3px 10px #ff70434d;transition:transform .2s,box-shadow .2s}.pending-badge:active{transform:scale(.95)}.pending-badge:disabled{opacity:.6;cursor:not-allowed}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:#333}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-container{background:#fff;border-radius:20px;padding:40px 30px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:30px}.login-icon{font-size:4rem;display:block;margin-bottom:10px}.login-header h1{font-size:1.8rem;color:#667eea;margin-bottom:5px}.login-header p{color:#888;font-size:.9rem}.login-form input{width:100%;padding:16px 20px;font-size:1rem;border:2px solid #eee;border-radius:12px;margin-bottom:15px;transition:border-color .3s}.login-form input:focus{outline:none;border-color:#667eea}.login-form button{width:100%;padding:16px;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;cursor:pointer;transition:transform .2s,opacity .2s}.login-form button:active{transform:scale(.98)}.login-form button:disabled{opacity:.7}.error-message{background:#ffe6e6;color:#c00;padding:12px;border-radius:8px;margin-bottom:15px;text-align:center;font-size:.9rem}.home-page{min-height:100vh;display:flex;flex-direction:column}.home-header{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;display:flex;align-items:center;gap:15px}.header-icon{font-size:2.5rem}.home-header h1{color:#fff;font-size:1.3rem;flex:1}.home-header small{display:block;color:#fffc;font-size:.85rem}.logout-btn{background:#fff3;border:none;padding:12px;border-radius:10px;font-size:1.5rem;cursor:pointer}.home-actions{flex:1;display:flex;flex-direction:column;gap:20px;padding:30px 20px}.action-card{background:#fff;border:none;border-radius:20px;padding:30px 25px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 30px #00000026}.action-card:active{transform:scale(.98)}.action-card.bin{border-left:5px solid #27ae60}.action-card.pallet{border-left:5px solid #3498db}.action-icon{font-size:3.5rem}.action-label{font-size:1.4rem;font-weight:700;color:#333}.action-desc{color:#888;font-size:.9rem}.home-footer{text-align:center;padding:20px;color:#ffffffb3}.create-page{min-height:100vh;background:#f5f6fa}.create-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;align-items:center;gap:15px;position:sticky;top:0;z-index:100}.back-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;padding:10px 16px;border-radius:10px;cursor:pointer}.create-header h1{color:#fff;font-size:1.3rem}.create-form{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:#555;margin-bottom:8px;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:14px 16px;font-size:1rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;-webkit-appearance:none}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-row{display:flex;gap:15px}.form-group.half{flex:1}.form-group.multiplier{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);padding:20px;border-radius:16px;margin-bottom:25px}.form-group.multiplier label{color:#2e7d32;text-align:center;margin-bottom:15px}.quantity-control{display:flex;align-items:center;justify-content:center;gap:20px}.quantity-control button{width:50px;height:50px;border:none;border-radius:50%;background:#4caf50;color:#fff;font-size:1.5rem;font-weight:700;cursor:pointer}.quantity-control span{font-size:2rem;font-weight:700;color:#2e7d32;min-width:60px;text-align:center}.quantity-input{width:100%!important;max-width:120px;margin:0 auto;display:block;text-align:center;font-size:1.5rem!important;font-weight:700;color:#2e7d32;background:#fff;border:2px solid #4caf50!important}.form-group.photos{background:#f8f9fa;padding:20px;border-radius:16px;border:2px dashed #ccc}.photo-btn{width:100%;padding:14px;background:#3498db;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer}.photo-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.photo-thumb{position:relative;width:70px;height:70px}.photo-thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px}.photo-thumb button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border:none;border-radius:50%;background:#e74c3c;color:#fff;font-size:1rem;cursor:pointer}.message{padding:15px;border-radius:12px;margin-bottom:20px;text-align:center;font-weight:500}.message.success{background:#d4edda;color:#155724}.message.error{background:#f8d7da;color:#721c24}.submit-btn{width:100%;padding:18px;font-size:1.2rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#27ae60,#2ecc71);border:none;border-radius:14px;cursor:pointer;margin-top:10px;transition:transform .2s}.submit-btn:active{transform:scale(.98)}.submit-btn:disabled{opacity:.7}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}@media(min-width:600px){.action-card{flex-direction:row;padding:25px 30px}.action-icon{font-size:2.5rem}.action-card div{text-align:left}}.action-card.dispatch{border-left:5px solid #e67e22}.shipment-list{padding:20px}.shipment-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:15px;box-shadow:0 4px 15px #00000014;display:flex;align-items:center;gap:15px;cursor:pointer;transition:transform .2s,box-shadow .2s;border-left:4px solid #e67e22}.shipment-card:active{transform:scale(.98)}.shipment-code{font-size:1.1rem;font-weight:700;color:#333;min-width:120px}.shipment-details{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#666}.shipment-arrow{font-size:1.5rem;color:#aaa}.empty-state{text-align:center;padding:60px 20px;color:#888}.empty-icon{font-size:4rem;display:block;margin-bottom:15px;opacity:.5}.loading-container{text-align:center;padding:60px 20px;color:#666}.dispatch-form{padding:20px}.dispatch-header{background:linear-gradient(135deg,#e67e22,#f39c12);padding:20px;border-radius:16px;margin-bottom:25px;color:#fff}.dispatch-header h2{font-size:1.4rem;margin-bottom:5px}.dispatch-meta{font-size:.9rem;opacity:.9}.form-section-title{font-size:.95rem;font-weight:600;color:#555;margin:25px 0 15px;padding-bottom:8px;border-bottom:2px solid #eee}.form-group textarea{width:100%;padding:14px 16px;font-size:1rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff;font-family:inherit;resize:vertical}.form-group textarea:focus{outline:none;border-color:#667eea}.dispatch-actions{display:flex;gap:15px;margin-top:25px}.cancel-btn{flex:1;padding:16px;font-size:1rem;font-weight:600;background:#ecf0f1;color:#555;border:none;border-radius:12px;cursor:pointer}.dispatch-btn{flex:2;background:linear-gradient(135deg,#e67e22,#f39c12)!important}.dispatch-btn:disabled{opacity:.6}.action-card.ai{border-left:5px solid #9b59b6;background:linear-gradient(135deg,#f3e5f5,#fff)}.ai-header{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.ai-controls{display:flex;gap:12px;padding:20px;background:#fff;border-bottom:1px solid #eee}.fruit-select{flex:1;padding:14px 16px;font-size:1rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff}.predict-btn{flex:2;padding:14px 20px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:12px;cursor:pointer}.predict-btn:disabled{opacity:.7}.error-card{background:#fee;border-left:4px solid #e74c3c;padding:20px;margin:20px;border-radius:12px}.loading-card{text-align:center;padding:60px 20px;margin:20px;background:#fff;border-radius:16px;box-shadow:0 4px 15px #00000014}.spinner{width:50px;height:50px;border:4px solid #eee;border-top:4px solid #9b59b6;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.prediction-results{padding:15px;display:flex;flex-direction:column;gap:15px}.pred-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 15px #00000014}.pred-card h3{margin:0 0 12px;font-size:1rem;color:#333}.pred-badge{display:inline-block;background:#9b59b6;color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;margin-bottom:10px}.pred-meta{margin-top:12px;font-size:.8rem;color:#888}.pred-card.summary{border-left:4px solid #9b59b6}.pred-card.timing{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pred-card.timing h3{color:#fff}.timing-action{font-size:1.3rem;font-weight:700;margin-bottom:10px}.timing-reason{opacity:.9;font-size:.9rem}.pred-card.best-dest{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.pred-card.best-dest h3{color:#fff}.dest-name{font-size:1.6rem;font-weight:700;margin:10px 0}.best-month-badge{display:inline-block;background:#ffffff40;padding:6px 14px;border-radius:20px;font-size:.85rem;margin-bottom:10px}.dest-item{background:#f8f9fa;border-radius:12px;padding:15px;margin-bottom:12px}.dest-item:last-child{margin-bottom:0}.dest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dest-title{font-weight:600;font-size:1rem}.trend-badge{padding:4px 10px;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600}.price-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.price-item{text-align:center;padding:8px 4px;background:#fff;border-radius:8px}.price-label{display:block;font-size:.65rem;color:#888;margin-bottom:4px}.price-value{display:block;font-size:.85rem;font-weight:700}.best-month{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:8px 12px;border-radius:8px;text-align:center;font-size:.85rem;margin-bottom:10px}.confidence{display:flex;align-items:center;gap:10px;font-size:.8rem;color:#666;margin-bottom:10px}.confidence-bar{flex:1;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.confidence-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px}.recommendation{font-weight:600;color:#333;font-size:.9rem;margin:0}.pred-card.factors{border-left:4px solid #27ae60}.pred-card.factors.bearish{border-left-color:#e74c3c}.pred-card.factors ul,.pred-card.risks ul{margin:0;padding-left:20px}.pred-card.factors li,.pred-card.risks li{margin-bottom:6px;font-size:.9rem;color:#555}.pred-card.risks{border-left:4px solid #f39c12;background:#fff8e1}.ai-fab{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;cursor:pointer;box-shadow:0 4px 20px #667eea66;display:flex;align-items:center;justify-content:center;z-index:9998;color:#fff;font-weight:700;font-size:1.3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-1px;transition:transform .3s,box-shadow .3s}.ai-fab:active{transform:scale(.95)}.ai-fab.disabled{background:#9ca3af;cursor:not-allowed;opacity:.5;box-shadow:none}.ai-chat-modal{position:fixed;bottom:90px;right:15px;left:15px;max-width:400px;height:70vh;max-height:550px;background:#fff;border-radius:20px;box-shadow:0 15px 50px #00000040;display:flex;flex-direction:column;z-index:9999;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-chat-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 18px;display:flex;justify-content:space-between;align-items:center}.ai-chat-header div{display:flex;flex-direction:column}.ai-chat-header strong{font-size:1rem}.ai-chat-header small{opacity:.8;font-size:.75rem}.ai-chat-header button{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem}.ai-chat-content{flex:1;overflow-y:auto;padding:15px;background:#f8fafc}.ai-welcome{text-align:center;padding:20px 10px}.ai-welcome-icon{font-size:3rem;display:block;margin-bottom:10px}.ai-welcome p{color:#334155;font-weight:600;font-size:1rem;margin:0}.ai-welcome small{color:#64748b;font-size:.8rem}.ai-quick-questions{display:flex;flex-direction:column;gap:8px;margin-top:20px}.ai-quick-questions button{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;cursor:pointer;text-align:left;font-size:.9rem;color:#334155;transition:all .2s}.ai-quick-questions button:active{background:#f1f5f9;border-color:#667eea}.ai-message{max-width:85%;padding:12px 16px;border-radius:16px;margin-bottom:10px;font-size:.95rem;line-height:1.5;white-space:pre-wrap}.ai-message.user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-left:auto;border-bottom-right-radius:4px}.ai-message.assistant{background:#fff;color:#1e293b;margin-right:auto;border-bottom-left-radius:4px;box-shadow:0 2px 5px #0000000d}.ai-message.error{background:#fee2e2!important;color:#b91c1c}.ai-message.loading{display:flex;gap:5px;color:#667eea;padding:15px 20px}.ai-message.loading span{animation:bounce 1s infinite}.ai-message.loading span:nth-child(2){animation-delay:.2s}.ai-message.loading span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.ai-chat-input{padding:12px;border-top:1px solid #e2e8f0;display:flex;gap:10px;background:#fff}.ai-chat-input input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:25px;font-size:1rem;outline:none}.ai-chat-input input:focus{border-color:#667eea}.ai-chat-input button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:opacity .2s}.ai-chat-input button:disabled{background:#cbd5e1;cursor:not-allowed}@media(min-width:500px){.ai-chat-modal{left:auto;right:20px;width:380px}}.success-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-modal{background:#fff;border-radius:24px;padding:40px 50px;text-align:center;box-shadow:0 25px 60px #0000004d;animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);max-width:320px;width:90%;position:relative;overflow:hidden}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.success-modal-icon{font-size:4rem;display:block;margin-bottom:20px;animation:bounce .6s ease-out .2s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.success-modal-title{font-size:1.5rem;font-weight:700;color:#27ae60;margin:0 0 25px}.success-modal-progress{position:absolute;bottom:0;left:0;height:5px;background:linear-gradient(90deg,#27ae60,#2ecc71);animation:progressBar 2.5s linear forwards;border-radius:0 0 24px 24px}@keyframes progressBar{0%{width:100%}to{width:0%}}.action-card.photos{border-left:5px solid #9b59b6}.photos-header{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.photos-content{padding:20px}.search-section{margin-bottom:20px}.search-section label{display:block;font-weight:600;color:#555;margin-bottom:10px;font-size:1rem}.search-row{display:flex;gap:10px}.search-row input{flex:1;padding:14px 16px;font-size:1rem;border:2px solid #e0e0e0;border-radius:12px;background:#fff}.search-row input:focus{outline:none;border-color:#9b59b6}.search-btn{width:50px;height:50px;border:none;border-radius:12px;background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;font-size:1.3rem;cursor:pointer;transition:transform .2s}.search-btn:active{transform:scale(.95)}.search-btn:disabled{opacity:.6}.pallet-results{margin-top:20px}.pallet-results h3{font-size:.95rem;color:#666;margin-bottom:15px}.pallet-result-card{width:100%;background:#fff;border:none;border-radius:14px;padding:18px 20px;margin-bottom:12px;display:flex;align-items:center;gap:15px;cursor:pointer;box-shadow:0 4px 15px #00000014;border-left:4px solid #9b59b6;transition:transform .2s,box-shadow .2s;text-align:left}.pallet-result-card:active{transform:scale(.98)}.pallet-code{font-size:1.1rem;font-weight:700;color:#333;min-width:100px}.pallet-info{flex:1;font-size:.9rem;color:#666}.pallet-arrow{font-size:1.3rem;color:#9b59b6}.selected-pallet-card{background:linear-gradient(135deg,#e8d4f0,#f3e5f5);border-radius:16px;padding:20px;margin-bottom:20px;border-left:5px solid #9b59b6}.selected-pallet-header{display:flex;align-items:center;gap:15px}.selected-pallet-icon{font-size:2.5rem}.selected-pallet-header h2{font-size:1.4rem;color:#333;margin:0 0 5px}.selected-pallet-info{font-size:.9rem;color:#666}.existing-photos-section{background:#f8f9fa;border-radius:16px;padding:20px;margin-bottom:20px}.existing-photos-section h3{font-size:1rem;color:#555;margin:0 0 15px}.photo-thumb.existing{border:2px solid #9b59b6}.photo-thumb.existing img{opacity:.9}.action-card.vision-ai{border-left:5px solid #00e5ff;background:linear-gradient(135deg,#e0f7fa,#e8eaf6,#fff);position:relative;overflow:hidden}.action-card.vision-ai:after{content:"";position:absolute;top:-50%;right:-30%;width:120px;height:120px;background:radial-gradient(circle,rgba(0,229,255,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}.vision-header{background:linear-gradient(135deg,#0d47a1,#00838f,#00695c)!important;position:relative}.vision-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#00e5ff,#76ff03,#00e5ff);animation:vision-line-scan 3s linear infinite}@keyframes vision-line-scan{0%{background-position:0% 50%}to{background-position:200% 50%}}.vision-header-badge{background:#00e5ff40;border:1px solid rgba(0,229,255,.6);color:#b2ebf2;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}.vision-page{background:#0a0e17!important;color:#e0e0e0}.vision-content{padding:20px;display:flex;flex-direction:column;gap:20px}.vision-section-title{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:600;color:#b0bec5;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}.vision-section-title small{color:#607d8b;text-transform:none;letter-spacing:0}.vision-section-icon{font-size:1.2rem}.vision-capture-section{background:#ffffff0a;border-radius:16px;padding:20px;border:1px solid rgba(0,229,255,.1)}.vision-capture-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vision-capture-zone{display:flex;align-items:center;justify-content:center;border:2px dashed rgba(0,229,255,.35);border-radius:16px;padding:30px 12px;cursor:pointer;transition:all .3s ease;background:#00e5ff08}.vision-capture-zone:active{border-color:#00e5ff;background:#00e5ff14;transform:scale(.98)}.vision-attach-zone{border-color:#9c27b059;background:#9c27b008}.vision-attach-zone:active{border-color:#ab47bc;background:#9c27b014}.vision-pressure-input-row{display:flex;align-items:center;gap:10px}.vision-pressure-unit{color:#78909c;font-size:.95rem;font-weight:600}.vision-pressure-hint{margin-top:8px;font-size:.85rem;padding:8px 12px;border-radius:8px;background:#ffffff08}.vision-capture-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.vision-capture-icon{font-size:3rem;filter:drop-shadow(0 0 12px rgba(0,229,255,.4))}.vision-capture-text{font-size:1.1rem;font-weight:600;color:#b2ebf2}.vision-capture-hint{font-size:.8rem;color:#607d8b}.vision-preview-container{position:relative;border-radius:16px;overflow:hidden}.vision-preview-img{width:100%;max-height:300px;object-fit:cover;border-radius:16px;border:2px solid rgba(0,229,255,.2)}.vision-retake-btn{position:absolute;bottom:12px;right:12px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#b2ebf2;border:1px solid rgba(0,229,255,.3);padding:8px 16px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer}.vision-pallet-section{background:#ffffff0a;border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.06)}.vision-search-row{display:flex;gap:10px}.vision-search-input{flex:1;padding:14px 16px;font-size:1rem;border:2px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0f;color:#e0e0e0;transition:border-color .3s}.vision-search-input::placeholder{color:#607d8b}.vision-search-input:focus{outline:none;border-color:#00bcd4}.vision-search-btn{padding:14px 18px;border:none;border-radius:12px;background:linear-gradient(135deg,#00838f,#006064);font-size:1.2rem;cursor:pointer;transition:transform .2s}.vision-search-btn:active{transform:scale(.95)}.vision-pallet-results{margin-top:10px;display:flex;flex-direction:column;gap:8px}.vision-pallet-option{width:100%;text-align:left;padding:12px 16px;background:#00e5ff0d;border:1px solid rgba(0,229,255,.15);border-radius:10px;color:#e0e0e0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s;font-size:.95rem}.vision-pallet-option:active{background:#00e5ff1f}.vision-pallet-option small{color:#78909c;font-size:.8rem}.vision-selected-pallet{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#00e5ff14;border:1px solid rgba(0,229,255,.25);border-radius:12px}.vision-pallet-info{color:#b2ebf2;font-size:.95rem}.vision-pallet-info strong{color:#e0f7fa}.vision-pallet-remove{background:#f4433633;border:1px solid rgba(244,67,54,.3);color:#ef9a9a;width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.vision-analyze-btn{width:100%;padding:18px;font-size:1.15rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#00838f,#00695c);border:none;border-radius:14px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #00838f59;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.vision-analyze-btn:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);animation:vision-shimmer 3s ease-in-out infinite}@keyframes vision-shimmer{0%{transform:translate(-100%) rotate(0)}to{transform:translate(100%) rotate(0)}}.vision-analyze-btn:active{transform:scale(.98)}.vision-analyze-btn:disabled{opacity:.7}.vision-btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.vision-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-left:4px solid #f44336;padding:16px 20px;border-radius:12px;color:#ef9a9a;font-size:.95rem}.vision-loading{text-align:center;padding:50px 20px;background:#ffffff08;border-radius:16px;border:1px solid rgba(0,229,255,.1)}.vision-loading-ring{display:inline-block;position:relative;width:64px;height:64px;margin-bottom:20px}.vision-loading-ring div{box-sizing:border-box;display:block;position:absolute;width:52px;height:52px;margin:6px;border:3px solid transparent;border-radius:50%;animation:vision-ring 1.2s cubic-bezier(.5,0,.5,1) infinite}.vision-loading-ring div:nth-child(1){border-top-color:#00e5ff;animation-delay:-.45s}.vision-loading-ring div:nth-child(2){border-right-color:#76ff03;animation-delay:-.3s}.vision-loading-ring div:nth-child(3){border-bottom-color:#00e5ff;animation-delay:-.15s}.vision-loading-ring div:nth-child(4){border-left-color:#76ff03}@keyframes vision-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vision-loading-text{color:#b2ebf2;font-size:1rem;font-weight:600;margin-bottom:6px}.vision-loading small{color:#607d8b}.vision-results{display:flex;flex-direction:column;gap:16px;animation:vision-fade-in .6s ease-out}@keyframes vision-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.vision-score-card{background:#ffffff0d;border-radius:20px;padding:30px 20px;display:flex;align-items:center;gap:25px;border:1px solid rgba(0,229,255,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vision-score-circle-container{position:relative;width:120px;height:120px;flex-shrink:0}.vision-score-svg{width:120px;height:120px;transform:rotate(-90deg)}.vision-score-bg{fill:none;stroke:#ffffff0f;stroke-width:8}.vision-score-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 0 8px currentColor)}.vision-score-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.vision-score-value{display:block;font-size:2.2rem;font-weight:800;color:#e0f7fa;line-height:1}.vision-score-label{font-size:.75rem;color:#607d8b}.vision-score-details{flex:1;display:flex;flex-direction:column;gap:10px}.vision-clasificacion{display:inline-block;padding:6px 16px;border-radius:20px;font-size:.95rem;font-weight:700;color:#fff;text-align:center;box-shadow:0 4px 15px #0003}.vision-exportable{font-size:.9rem;color:#b0bec5}.vision-modelo-tag{font-size:.75rem;color:#00e5ff;letter-spacing:1px;font-weight:600}.vision-metrics-row{display:flex;gap:12px}.vision-metric{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px 12px;text-align:center;transition:border-color .3s}.vision-metric:hover{border-color:#00e5ff33}.vision-metric-value{display:block;font-size:1.6rem;font-weight:800;color:#e0f7fa;line-height:1.2}.vision-metric-label{display:block;font-size:.7rem;color:#78909c;text-transform:uppercase;letter-spacing:1px;margin-top:4px}.vision-observation{display:flex;gap:12px;align-items:flex-start;background:#00e5ff0d;border:1px solid rgba(0,229,255,.12);border-radius:14px;padding:16px}.vision-obs-icon{font-size:1.3rem;flex-shrink:0;margin-top:2px}.vision-observation p{margin:0;color:#b0bec5;font-size:.9rem;line-height:1.5}.vision-fruits-section{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.vision-fruits-toggle{width:100%;padding:16px 20px;background:#ffffff0a;border:none;color:#b2ebf2;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.vision-toggle-arrow{transition:transform .3s;font-size:.8rem;color:#607d8b}.vision-toggle-arrow.open{transform:rotate(180deg)}.vision-fruits-list{padding:12px;display:flex;flex-direction:column;gap:10px;background:#00000026}.vision-fruit-card{background:#ffffff0a;border-radius:12px;padding:14px;border-left:3px solid rgba(0,229,255,.3)}.vision-fruit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.vision-fruit-id{font-weight:700;color:#80cbc4;font-size:.9rem}.vision-fruit-score{padding:3px 12px;border-radius:12px;font-size:.8rem;font-weight:700;color:#fff}.vision-fruit-details{font-size:.83rem;color:#90a4ae;display:flex;flex-direction:column;gap:4px}.vision-fruit-details strong{color:#b0bec5}.vision-fob-section{background:#ffffff0a;border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.06)}.vision-fob-title{font-size:.95rem;color:#b0bec5;margin:0 0 15px;font-weight:600}.vision-fob-grid{display:flex;flex-direction:column;gap:10px}.vision-fob-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#00e5ff0a;border:1px solid rgba(0,229,255,.1);border-radius:12px;transition:border-color .3s}.vision-fob-card:hover{border-color:#00e5ff40}.vision-fob-flag{font-size:1.5rem}.vision-fob-country{flex:1;font-size:.9rem;color:#b0bec5}.vision-fob-price{font-size:1.2rem;font-weight:800;color:#00e5ff;font-family:Courier New,monospace}.vision-pallet-used{background:#9c27b014;border:1px solid rgba(156,39,176,.2);border-radius:12px;padding:14px 16px;font-size:.85rem;color:#ce93d8}
