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}:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--primary-blue:#4a6cf7;--primary-blue-dark:#3a5ce5;--primary-blue-light:#e8edff;--secondary-teal:#10b981;--secondary-teal-dark:#0da271;--secondary-teal-light:#d1fae5;--accent-purple:#8b5cf6;--accent-purple-dark:#7c4dff;--accent-purple-light:#ede9fe;--neutral-white:#fff;--neutral-light:#f8fafc;--neutral-light-gray:#f1f5f9;--neutral-gray:#64748b;--neutral-dark:#1e293b;--neutral-border:#e2e8f0;--success-green:#10b981;--success-light:#d1fae5;--warning-orange:#f59e0b;--warning-light:#fef3c7;--error-red:#ef4444;--error-light:#fee2e2;--info-blue:#3b82f6;--info-light:#dbeafe;--chart-color-1:#4a6cf7;--chart-color-2:#10b981;--chart-color-3:#f59e0b;--chart-color-4:#8b5cf6;--chart-color-5:#ef4444;--chart-color-6:#06b6d4}.App{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Inter,sans-serif;line-height:1.6;min-height:100vh;text-align:center}.App-header{align-items:center;background:#fffffff2;border:none;border-radius:0 0 24px 24px;box-shadow:0 4px 20px #00000014;color:#1e293b;color:var(--neutral-dark);display:flex;flex-direction:column;justify-content:flex-start;margin:0 auto;max-width:1200px;min-height:100vh;padding:30px 20px}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}.App-header p{color:#64748b;color:var(--neutral-gray);font-size:1.1rem;font-weight:400;margin-bottom:24px}.connection-status{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:25px;box-shadow:0 4px 12px #667eea4d;color:#fff;color:var(--neutral-white);display:inline-block;font-size:14px;font-weight:600;margin-bottom:20px;padding:10px 20px}.status-message{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:12px;box-shadow:0 2px 8px #0000000f;box-sizing:border-box;margin-top:20px;padding:16px 20px;width:100%}.status-message-success{background:#d1fae5;background:var(--success-light);border-color:#10b981;border-color:var(--success-green);color:#10b981;color:var(--success-green)}.status-message-error{background:#fee2e2;background:var(--error-light);border-color:#ef4444;border-color:var(--error-red);color:#ef4444;color:var(--error-red)}.status-message-info{background:#dbeafe;background:var(--info-light);border-color:#3b82f6;border-color:var(--info-blue);color:#3b82f6;color:var(--info-blue)}.status-message-warning{background:#fef3c7;background:var(--warning-light);border-color:#f59e0b;border-color:var(--warning-orange);color:#f59e0b;color:var(--warning-orange)}.selection-row{flex-wrap:wrap}.selection-row .language-selector,.selection-row .supermarket-selector{flex:1 1;margin-bottom:0;min-width:240px}.language-selector,.supermarket-selector{margin-bottom:24px}.language-selector select,.supermarket-selector select{background-color:#fff;background-color:var(--neutral-white);border:2px solid #e2e8f0;border:2px solid var(--neutral-border);border-radius:8px;box-sizing:border-box;color:#1e293b;color:var(--neutral-dark);font-size:.95rem;font-weight:500;padding:12px 16px;transition:all .2s ease}.language-selector select:focus,.supermarket-selector select:focus{border-color:#4a6cf7;border-color:var(--primary-blue);box-shadow:0 0 0 3px #4a6cf71a;outline:none}.language-selector select:disabled,.supermarket-selector select:disabled{background-color:#f1f5f9;background-color:var(--neutral-light-gray);color:#64748b;color:var(--neutral-gray);cursor:not-allowed;opacity:.7}.file-input-container{margin-bottom:24px;width:100%}.custom-file-upload{background:#fff;background:var(--neutral-white);border:2px dashed #4a6cf7;border:2px dashed var(--primary-blue);border-radius:8px;box-shadow:0 2px 8px #4a6cf71a;color:#4a6cf7;color:var(--primary-blue);cursor:pointer;display:inline-block;font-weight:600;margin-bottom:12px;min-width:200px;padding:14px 24px;transition:all .3s ease}.custom-file-upload:hover:not(:disabled){background:#e8edff;background:var(--primary-blue-light);box-shadow:0 4px 12px #4a6cf726;transform:translateY(-1px)}.custom-file-upload:active:not(:disabled){transform:translateY(0)}.file-list{margin-top:12px;text-align:center}.file-list ul{list-style-type:none;padding:0;text-align:center}.file-list li{color:#64748b;color:var(--neutral-gray);font-size:14px;margin-bottom:6px;text-align:center}.calculate-button{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;color:var(--neutral-white);cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:20px;min-width:160px;padding:14px 28px;transition:all .3s ease}.calculate-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.calculate-button:disabled{background:#f1f5f9;background:var(--neutral-light-gray);box-shadow:none;color:#64748b;color:var(--neutral-gray);cursor:not-allowed;transform:none}.progress-container{margin-bottom:24px}.progress-fill{transition:width .4s ease}.extraction-method{margin:24px 0;text-align:center;width:100%}.extraction-method label{color:#1e293b;color:var(--neutral-dark);display:block;font-size:1rem;font-weight:600;margin-bottom:12px}.method-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px}.method-buttons button{background-color:#fff;background-color:var(--neutral-white);border:2px solid #e2e8f0;border:2px solid var(--neutral-border);border-radius:8px;color:#64748b;color:var(--neutral-gray);cursor:pointer;font-size:.95rem;font-weight:600;min-width:140px;padding:12px 20px;transition:all .3s ease}.method-buttons button.active{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-color:#0000;box-shadow:0 4px 12px #667eea4d;color:#fff;color:var(--neutral-white)}.method-buttons button:hover:not(:disabled){border-color:#4a6cf7;border-color:var(--primary-blue);color:#4a6cf7;color:var(--primary-blue);transform:translateY(-1px)}.method-buttons button.active:hover:not(:disabled){background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);box-shadow:0 6px 16px #667eea66;color:#fff;color:var(--neutral-white);transform:translateY(-1px)}.method-buttons button:disabled{background-color:#f1f5f9;background-color:var(--neutral-light-gray);border-color:#e2e8f0;border-color:var(--neutral-border);color:#64748b;color:var(--neutral-gray);opacity:.6}.gmail-container{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:16px;box-shadow:0 4px 20px #0000000f;box-sizing:border-box;margin:20px 0;max-width:600px;padding:24px;text-align:center;width:100%}.gmail-container,.gmail-container h3{color:#1e293b;color:var(--neutral-dark)}.gmail-container h3{font-size:1.4rem;font-weight:700;margin-bottom:20px;margin-top:0}.gmail-supermarket-selector{margin-bottom:16px}.gmail-supermarket-selector label{color:#1e293b;color:var(--neutral-dark);font-weight:500;margin-right:12px}.gmail-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:16px 0;width:100%}@media (max-width:480px){.gmail-buttons{align-items:center;flex-direction:column;gap:8px}.gmail-buttons button{margin:0 auto;max-width:250px;width:100%}}@media (max-width:768px){.gmail-container{margin:16px 0;padding:20px}.gmail-buttons{align-items:center;justify-content:center}}.gmail-auth-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;color:var(--neutral-white);cursor:pointer;display:flex;font-weight:600;justify-content:center;min-width:140px;padding:12px 20px;text-align:center;transition:all .3s ease}.gmail-auth-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.gmail-auth-button:disabled{background:#f1f5f9;background:var(--neutral-light-gray);box-shadow:none;color:#64748b;color:var(--neutral-gray);cursor:not-allowed;transform:none}.gmail-extract-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;color:var(--neutral-white);cursor:pointer;display:flex;font-weight:600;justify-content:center;min-width:140px;padding:12px 20px;text-align:center;transition:all .3s ease}.gmail-extract-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.gmail-extract-button:disabled{background:#f1f5f9;background:var(--neutral-light-gray);box-shadow:none;color:#64748b;color:var(--neutral-gray);cursor:not-allowed;transform:none}.arpico-process-button,.gmail-process-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;color:var(--neutral-white);cursor:pointer;display:flex;font-weight:600;justify-content:center;min-width:140px;padding:12px 20px;text-align:center;transition:all .3s ease}.arpico-process-button:hover:not(:disabled),.gmail-process-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.arpico-process-button:active:not(:disabled),.gmail-process-button:active:not(:disabled){transform:translateY(0)}.arpico-process-button:disabled,.gmail-process-button:disabled{background:#f1f5f9!important;background:var(--neutral-light-gray)!important;box-shadow:none;color:#64748b!important;color:var(--neutral-gray)!important;cursor:not-allowed;opacity:.6;transform:none}.gmail-file-count{color:#4a6cf7;color:var(--primary-blue);font-size:1rem;font-weight:600;margin:12px 0}.gmail-note{color:#64748b;color:var(--neutral-gray);font-size:.9em;line-height:1.5;margin-top:12px}.arpico-container{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:16px;box-shadow:0 4px 20px #0000000f;box-sizing:border-box;margin:20px 0;max-width:600px;padding:24px;text-align:center;width:100%}.arpico-container,.arpico-container h3{color:#1e293b;color:var(--neutral-dark)}.arpico-container h3{font-size:1.4rem;font-weight:700;margin-bottom:20px;margin-top:0}.arpico-urls-input{box-sizing:border-box;margin-bottom:16px;text-align:left;width:100%}.arpico-urls-input label{color:#1e293b;color:var(--neutral-dark);display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.arpico-urls-textarea{background-color:#fff;background-color:var(--neutral-white);border:2px solid #e2e8f0;border:2px solid var(--neutral-border);border-radius:8px;box-sizing:border-box;color:#1e293b;color:var(--neutral-dark);font-family:inherit;font-size:14px;line-height:1.5;max-width:100%;min-height:120px;padding:16px;resize:vertical;transition:border-color .3s ease;width:100%}.arpico-urls-textarea:focus{border-color:#4a6cf7;border-color:var(--primary-blue);box-shadow:0 0 0 3px #4a6cf71a;outline:none}.arpico-url-count{color:#64748b;color:var(--neutral-gray);font-size:.9em;font-style:italic;margin-top:8px;text-align:center}.arpico-validation-error{animation:fadeIn .3s ease-in;background-color:#fee2e2;background-color:var(--error-light);border-left:3px solid #ef4444;border-left:3px solid var(--error-red);border-radius:4px;color:#ef4444;color:var(--error-red);font-size:.85em;font-weight:500;margin-top:8px;padding:8px 12px;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.arpico-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:16px 0;width:100%}@media (max-width:480px){.arpico-buttons{align-items:center;flex-direction:column}.arpico-buttons button{margin:0 auto;max-width:250px;width:100%}}.arpico-note{background-color:#f8fafc;background-color:var(--neutral-light);border-left:4px solid #4a6cf7;border-left:4px solid var(--primary-blue);border-radius:8px;box-sizing:border-box;color:#64748b;color:var(--neutral-gray);font-size:.85em;line-height:1.5;margin-top:16px;padding:12px;text-align:left}.arpico-note p{margin:6px 0}.arpico-note code{background-color:#f1f5f9;background-color:var(--neutral-light-gray);border-radius:4px;color:#8b5cf6;color:var(--accent-purple);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85em;padding:2px 6px}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:12px}.chat-open-button{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;color:var(--neutral-white);cursor:pointer;font-size:1rem;font-weight:600;margin-top:12px;padding:12px 24px;transition:all .3s ease}.chat-open-button:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.chat-open-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.lock-indicator{border-radius:12px;color:#f59e0b;color:var(--warning-orange);font-size:.85em;font-weight:600;margin-left:10px;padding:4px 8px}.lock-indicator,.locked-note{background-color:#fef3c7;background-color:var(--warning-light)}.locked-note{border-left:4px solid #f59e0b;border-left:4px solid var(--warning-orange);border-radius:8px;color:#1e293b;color:var(--neutral-dark);margin-top:12px;padding:12px 16px;text-align:center}.chat-overlay{align-items:flex-end;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1000}.chat-bottom-sheet{background:#fff;background:var(--neutral-white);border-radius:20px 20px 0 0;box-shadow:0 -8px 32px #00000026;display:flex;flex-direction:column;height:70vh;max-width:100%;overflow:hidden;touch-action:pan-y;transition:height .3s ease;width:100%}.sheet-handle{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--neutral-border);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:12px;touch-action:none}.handle-bar{background:#64748b;background:var(--neutral-gray);border-radius:2px;height:4px;transition:background-color .2s ease;width:40px}.sheet-handle:hover .handle-bar{background:#1e293b;background:var(--neutral-dark)}.sheet-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.chat-header{align-items:center;background:#f8fafc;background:var(--neutral-light);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--neutral-border);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.chat-header h3{color:#1e293b;color:var(--neutral-dark);font-size:1.2rem;font-weight:700;margin:0}.chat-close{background:none;border:none;border-radius:6px;color:#64748b;color:var(--neutral-gray);cursor:pointer;font-size:1.2rem;padding:6px 10px;transition:all .3s ease}.chat-close:hover{background:#f1f5f9;background:var(--neutral-light-gray);color:#1e293b;color:var(--neutral-dark)}.chat-enhance-section{background:#f8fafc;background:var(--neutral-light);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--neutral-border);flex-shrink:0;padding:16px 24px}.chat-enhance-button{background:#10b981;background:var(--secondary-teal);border:none;border-radius:8px;box-shadow:0 4px 12px #10b9814d;color:#fff;color:var(--neutral-white);cursor:pointer;font-weight:600;margin-bottom:8px;padding:14px 16px;transition:all .3s ease;width:100%}.chat-enhance-button:hover:not(:disabled){background:#0da271;background:var(--secondary-teal-dark);box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.chat-enhance-button:disabled{background:#f1f5f9;background:var(--neutral-light-gray);box-shadow:none;color:#64748b;color:var(--neutral-gray);cursor:not-allowed;transform:none}.chat-enhance-description{color:#64748b;color:var(--neutral-gray);font-size:.875rem;line-height:1.4;margin:0}.chat-messages{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px;position:relative;touch-action:pan-y}.chat-message{word-wrap:break-word;animation:messageAppear .3s ease-out;border-radius:18px;flex-shrink:0;line-height:1.4;margin-bottom:8px;max-width:85%;padding:12px 16px;position:relative}@keyframes messageAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end;background:#4a6cf7;background:var(--primary-blue);border-bottom-right-radius:4px;color:#fff;color:var(--neutral-white)}.chat-message.ai{align-self:flex-start;background:#f8fafc;background:var(--neutral-light);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-bottom-left-radius:4px;color:#1e293b;color:var(--neutral-dark)}.chat-message.system{align-self:center;background:#fef3c7;background:var(--warning-light);border:1px solid #f59e0b33;border-radius:12px;color:#f59e0b;color:var(--warning-orange);font-style:italic;max-width:90%;text-align:center}.message-content{margin-bottom:4px}.message-time{font-size:.75rem;opacity:.7;text-align:right}.chat-message.ai .message-time{text-align:left}.chat-input-form{align-items:center;background:#fff;background:var(--neutral-white);border-top:1px solid #e2e8f0;border-top:1px solid var(--neutral-border);display:flex;flex-shrink:0;gap:8px;padding:16px}.chat-input{background-color:#fff;background-color:var(--neutral-white);border:2px solid #e2e8f0;border:2px solid var(--neutral-border);border-radius:24px;box-sizing:border-box;color:#1e293b;color:var(--neutral-dark);flex:1 1;font-family:inherit;font-size:16px;outline:none;padding:12px 16px;transition:border-color .2s ease}.chat-input:focus{border-color:#4a6cf7;border-color:var(--primary-blue);box-shadow:0 0 0 3px #4a6cf71a;outline:none}.chat-send-button{align-items:center;background:#4a6cf7;background:var(--primary-blue);border:none;border-radius:50%;box-shadow:0 2px 8px #4a6cf74d;color:#fff;color:var(--neutral-white);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .3s ease;width:44px}.chat-send-button:hover:not(:disabled){background:#3a5ce5;background:var(--primary-blue-dark);box-shadow:0 4px 12px #4a6cf766;transform:scale(1.05)}.chat-send-button:disabled{background:#f1f5f9;background:var(--neutral-light-gray);box-shadow:none;cursor:not-allowed;transform:none}.chat-error{background:#fee2e2;background:var(--error-light);border:1px solid #ef444433;border-radius:8px;color:#ef4444;color:var(--error-red);flex-shrink:0;font-size:.875rem;margin:0 16px 16px;padding:12px 16px}.typing-indicator{align-items:center;align-self:flex-start;background:#f8fafc;background:var(--neutral-light);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:18px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:12px 16px}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#64748b;background:var(--neutral-gray);border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-message.ai .message-content{word-wrap:break-word;line-height:1.5;white-space:pre-wrap}.formatted-message strong{background-color:#4a6cf71a;border-radius:4px;color:#4a6cf7;color:var(--primary-blue);font-weight:700;margin:0 1px;padding:2px 6px}.formatted-message em{background-color:#64748b1a;border-radius:3px;color:#1e293b;color:var(--neutral-dark);font-style:italic;padding:1px 3px}.formatted-message ul{margin:8px 0;padding-left:20px;text-align:left}.formatted-message li{color:#1e293b;color:var(--neutral-dark);line-height:1.4;list-style-type:disc;margin:6px 0}.formatted-message .bullet-point{color:#1e293b;color:var(--neutral-dark);margin:4px 0;padding-left:16px;position:relative}.formatted-message .bullet-point:before{color:#4a6cf7;color:var(--primary-blue);content:"•";font-weight:700;left:0;position:absolute}.formatted-message p{margin:8px 0}.formatted-message br{content:"";display:block;margin:4px 0}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000000d}.chat-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0006}@keyframes highlightMessage{0%{background-color:#4a6cf74d}to{background-color:initial}}.chat-message.ai.highlight{animation:highlightMessage 2s ease-out}.results-actions{max-width:600px}.action-buttons-grid{grid-gap:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.button-subtitle{line-height:1.4}.results-info{line-height:1.5}.action-button:focus,.arpico-process-button:focus,.calculate-button:focus,.chat-close:focus,.chat-enhance-button:focus,.chat-open-button:focus,.chat-send-button:focus,.gmail-auth-button:focus,.gmail-extract-button:focus,.gmail-process-button:focus,.method-buttons button:focus{outline:2px solid #4a6cf7;outline:2px solid var(--primary-blue);outline-offset:2px}input:focus,select:focus,textarea:focus{outline:2px solid #4a6cf7;outline:2px solid var(--primary-blue);outline-offset:1px}@media (min-width:768px){.chat-overlay{align-items:center}.chat-bottom-sheet{border-radius:16px;height:600px!important;max-height:80vh;max-width:500px;width:90%}.sheet-handle{display:none}.chat-header{border-radius:16px 16px 0 0}.method-buttons button{min-width:160px}}@media (max-height:500px) and (orientation:landscape){.chat-bottom-sheet{height:95vh!important}}@media (max-width:480px){.chat-header{padding:16px 20px}.chat-input-form,.chat-messages{padding:12px}.chat-enhance-section{padding:12px 16px}.method-buttons{align-items:center;flex-direction:column}.method-buttons button{max-width:280px;width:100%}.arpico-buttons,.gmail-buttons{flex-direction:column}.arpico-buttons button,.gmail-buttons button{max-width:280px;width:100%}.action-buttons-grid{gap:12px;grid-template-columns:1fr}.action-button{min-height:70px;padding:16px}.button-subtitle{font-size:.8em}.selection-row{flex-direction:column;gap:16px}.selection-row .language-selector,.selection-row .supermarket-selector{min-width:100%;width:100%}.selection-row .language-selector select,.selection-row .supermarket-selector select{width:100%}}@media (max-width:768px){.App-header{border-radius:0 0 20px 20px;padding:24px 16px}.App-header h1{font-size:2rem}.arpico-container,.gmail-container{margin:16px 0;padding:20px 16px}.arpico-urls-textarea{font-size:16px}}@media (prefers-color-scheme:dark){:root{--neutral-white:#1e1e2e;--neutral-light:#2a2a3a;--neutral-light-gray:#3a3a4a;--neutral-gray:#a0a0b0;--neutral-dark:#e0e0f0;--neutral-border:#3a3a4a;--primary-blue-light:#1a1a3a;--secondary-teal-light:#1a2a2a;--accent-purple-light:#2a1a3a;--success-light:#1a2a1a;--warning-light:#2a2a1a;--error-light:#2a1a1a;--info-light:#1a1a3a}.App{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient)}.App-header{background:#1e1e2ef2}.App-header,.App-header h1{color:#1e293b;color:var(--neutral-dark)}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}.App-header p{color:#64748b;color:var(--neutral-gray)}.chat-bottom-sheet{background:#fff;background:var(--neutral-white);color:#1e293b;color:var(--neutral-dark)}.chat-header,.chat-input,.chat-message.ai{background:#f8fafc;background:var(--neutral-light);color:#1e293b;color:var(--neutral-dark)}.chat-input{border-color:#e2e8f0;border-color:var(--neutral-border)}.formatted-message strong{color:#4a6cf7;color:var(--primary-blue)}.arpico-container,.formatted-message li{color:#1e293b;color:var(--neutral-dark)}.arpico-container{background-color:#fff;background-color:var(--neutral-white);border-color:#e2e8f0;border-color:var(--neutral-border)}.arpico-container h3,.arpico-urls-input label,.arpico-urls-textarea{color:#1e293b;color:var(--neutral-dark)}.arpico-urls-textarea{background-color:#f8fafc;background-color:var(--neutral-light);border-color:#e2e8f0;border-color:var(--neutral-border)}.arpico-urls-textarea:focus{border-color:#4a6cf7;border-color:var(--primary-blue);box-shadow:0 0 0 3px #4a6cf733}.arpico-note{background-color:#f8fafc;background-color:var(--neutral-light);border-left-color:#4a6cf7;border-left-color:var(--primary-blue);color:#1e293b;color:var(--neutral-dark)}.arpico-note code{background-color:#fff;background-color:var(--neutral-white);color:#8b5cf6;color:var(--accent-purple)}.arpico-validation-error{background-color:#fee2e2;background-color:var(--error-light);border-left-color:#ef4444;border-left-color:var(--error-red);color:#ef4444;color:var(--error-red)}.results-actions{background:#fff;background:var(--neutral-white)}.action-button,.results-actions{border-color:#e2e8f0;border-color:var(--neutral-border);color:#1e293b;color:var(--neutral-dark)}.action-button{background:#f8fafc;background:var(--neutral-light)}.action-button:hover:not(:disabled){background:#e8edff;background:var(--primary-blue-light);border-color:#4a6cf7;border-color:var(--primary-blue)}.button-subtitle{color:#64748b;color:var(--neutral-gray)}.language-selector select,.supermarket-selector select{background-color:#f8fafc;background-color:var(--neutral-light);border-color:#e2e8f0;border-color:var(--neutral-border);color:#1e293b;color:var(--neutral-dark)}.language-selector select:disabled,.supermarket-selector select:disabled{background-color:#f1f5f9;background-color:var(--neutral-light-gray);color:#64748b;color:var(--neutral-gray)}.language-selector label,.supermarket-selector label{color:#1e293b;color:var(--neutral-dark)}.custom-file-upload{background:#f8fafc;background:var(--neutral-light);border-color:#4a6cf7;border-color:var(--primary-blue);color:#4a6cf7;color:var(--primary-blue)}.custom-file-upload:hover:not(:disabled){background:#e8edff;background:var(--primary-blue-light)}.status-message{background:#f8fafc;background:var(--neutral-light);border-color:#e2e8f0;border-color:var(--neutral-border);color:#1e293b;color:var(--neutral-dark)}}@media print{.arpico-buttons,.chat-open-button,.chat-overlay,.gmail-buttons,.method-buttons{display:none!important}.App-header{background:#fff!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#000!important;padding:20px!important}.connection-status,.progress-container{display:none!important}.status-message{background:#fff!important;border:1px solid #ccc!important;color:#000!important}.action-button,.results-actions{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;color:#000!important}.App{background:#fff!important}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4a6cf7;outline:2px solid var(--primary-blue);outline-offset:2px}@media (prefers-contrast:high){.chat-message.user{background:#00f;color:#fff}.chat-message.ai{background:#f0f0f0;border:2px solid #000;color:#000}.progress-fill{background:#000}.arpico-validation-error{background:red;border:2px solid #000;color:#fff}.method-buttons button.active{background:#000;border:2px solid #000;color:#fff}}.results-section,.setup-section{box-sizing:border-box;max-width:600px;width:100%}.results-actions{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:16px;box-shadow:0 4px 20px #0000000f;box-sizing:border-box;margin:24px 0;padding:24px;width:100%}.action-buttons-grid{display:flex;flex-direction:column;gap:16px;margin:24px 0}.action-button{background:#fff;background:var(--neutral-white);border:2px solid #e2e8f0;border:2px solid var(--neutral-border);border-radius:12px;box-shadow:0 2px 8px #0000000a;box-sizing:border-box;color:#1e293b;color:var(--neutral-dark);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:80px;padding:20px;text-align:center;transition:all .3s ease;width:100%}.action-button:hover:not(:disabled){background:#e8edff;background:var(--primary-blue-light);border-color:#4a6cf7;border-color:var(--primary-blue);box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.action-button:disabled{background:#f8fafc;background:var(--neutral-light);border-color:#e2e8f0;border-color:var(--neutral-border);box-shadow:none;transform:none}.action-button:disabled,.action-button:disabled .button-subtitle,.button-subtitle{color:#64748b;color:var(--neutral-gray)}.button-subtitle{font-size:.85em;margin-top:5px}.results-info{color:#64748b;color:var(--neutral-gray);font-size:.9em;margin-top:16px;text-align:center}.chat-button{background:#d1fae5;background:var(--secondary-teal-light);border-color:#10b981;border-color:var(--secondary-teal);color:#0da271;color:var(--secondary-teal-dark)}.generate-download-button{background:#e8edff;background:var(--primary-blue-light);border-color:#4a6cf7;border-color:var(--primary-blue);color:#3a5ce5;color:var(--primary-blue-dark)}.generate-download-button:disabled{background:#fef3c7;background:var(--warning-light);border-color:#f59e0b;border-color:var(--warning-orange);color:#f59e0b;color:var(--warning-orange)}.chat-button:disabled{background:#f8fafc;background:var(--neutral-light);border-color:#e2e8f0;border-color:var(--neutral-border);color:#64748b;color:var(--neutral-gray)}.new-analysis-button{background:#ede9fe;background:var(--accent-purple-light);border-color:#8b5cf6;border-color:var(--accent-purple);color:#8b5cf6;color:var(--accent-purple)}.new-analysis-button:hover:not(:disabled){background:#f0eeff;border-color:#7c4dff;border-color:var(--accent-purple-dark)}.download-in-progress{background-color:#fef3c7;background-color:var(--warning-light);border-left:4px solid #f59e0b;border-left:4px solid var(--warning-orange);border-radius:6px;color:#f59e0b;color:var(--warning-orange);font-weight:600;margin:12px 0;padding:10px;text-align:center}.progress-container .status-message{background-color:#dbeafe;background-color:var(--info-light);border-color:#3b82f6;border-color:var(--info-blue);color:#3b82f6;color:var(--info-blue);margin-top:0}.progress-section{box-sizing:border-box;margin:0 auto;max-width:600px;width:100%}button.active.selected:disabled,button:disabled{background:#f1f5f9!important;background:var(--neutral-light-gray)!important;border-color:#e2e8f0!important;border-color:var(--neutral-border)!important;box-shadow:none!important;color:#64748b!important;color:var(--neutral-gray)!important;cursor:not-allowed!important;filter:grayscale(0)!important;opacity:.6!important}.extraction-prompt{background-color:#f8fafc;background-color:var(--neutral-light);border-left:3px solid #f59e0b;border-left:3px solid var(--warning-orange);border-radius:6px;color:#64748b;color:var(--neutral-gray);font-size:.9em;font-style:italic;line-height:1.4;margin-top:8px;padding:8px 12px;text-align:center}.method-buttons button:not(.active){background-color:#fff;background-color:var(--neutral-white);border:2px solid #e2e8f0;border:2px solid var(--neutral-border);color:#64748b;color:var(--neutral-gray)}.method-buttons button:not(.active):hover:not(:disabled){background-color:#f8fafc;background-color:var(--neutral-light);border-color:#4a6cf7;border-color:var(--primary-blue);color:#4a6cf7;color:var(--primary-blue)}.method-buttons button:disabled{cursor:not-allowed;filter:grayscale(50%);opacity:.4;pointer-events:none}.session-warning{background-color:#fef3c7;background-color:var(--warning-light);border-left:4px solid #f59e0b;border-left:4px solid var(--warning-orange);border-radius:6px;font-weight:600;margin:12px 0;padding:10px 12px}.charts-section{margin-top:24px}.chart-container{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:20px;position:relative}.chart-wrapper{box-sizing:border-box;margin:0 auto;width:100%!important}.chart-wrapper canvas{box-sizing:border-box!important;display:block!important;height:100%!important;max-height:100%!important;max-width:100%!important;width:100%!important}.bar-chart-container .chart-wrapper,.line-chart-container .chart-wrapper,.pie-chart-container .chart-wrapper{max-width:100%}.charts-grid{box-sizing:border-box}@media (max-width:768px){.chart-wrapper{height:300px!important}.bar-chart-container .chart-wrapper{height:400px!important}.charts-grid{gap:20px}}@media (max-width:480px){.chart-wrapper{height:280px!important}.bar-chart-container .chart-wrapper{height:350px!important}}.analysis-charts,.charts-section{box-sizing:border-box;overflow:hidden;width:100%}.analysis-charts{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:16px;box-shadow:0 4px 20px #0000000f;margin-top:24px;padding:24px}.charts-title{color:#1e293b;color:var(--neutral-dark);font-size:1.6rem;font-weight:700;margin-bottom:28px;text-align:center}.summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.summary-card{align-items:center;background:#f8fafc;background:var(--neutral-light);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:12px;box-shadow:0 2px 8px #0000000a;color:#1e293b;color:var(--neutral-dark);display:flex;gap:16px;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.summary-icon{font-size:2rem;opacity:.8}.summary-content{flex:1 1}.summary-value{color:#1e293b;color:var(--neutral-dark);font-size:1.3rem;font-weight:700;margin-bottom:4px}.summary-label{font-size:.85rem;opacity:.7}.chart-with-legend{display:flex;flex-direction:column;gap:16px;width:100%}.scrollable-legend{margin-top:16px;width:100%}.legend-title{color:#1e293b;color:var(--neutral-dark);font-size:1rem;font-weight:600;margin-bottom:12px;text-align:left}.legend-items-container{background-color:#f8fafc;background-color:var(--neutral-light);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:8px;max-height:min(300px,40vh);overflow-y:auto;padding:12px}.legend-items{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.legend-item{margin-bottom:6px}.legend-item:hover{background-color:#f1f5f9;background-color:var(--neutral-light-gray)}.legend-color{border:2px solid #fff;border:2px solid var(--neutral-white);border-radius:4px;box-shadow:0 1px 3px #0000001a;flex-shrink:0!important;height:16px;margin-top:2px;min-height:16px;min-width:16px;width:16px}.legend-content{min-width:0!important;text-align:left;width:100%}.legend-label,.legend-value{display:block!important;line-height:1.4;max-width:100%;min-width:0;overflow:visible!important;overflow-wrap:break-word!important;text-align:left!important;text-overflow:clip!important;white-space:normal!important;width:100%!important}.legend-label{color:#1e293b;color:var(--neutral-dark);font-size:.9rem;font-weight:500}.legend-value{color:#64748b;color:var(--neutral-gray);font-size:.8rem;margin-top:2px}.legend-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.legend-item{align-items:flex-start!important;background-color:#fff;background-color:var(--neutral-white);border-radius:8px;box-sizing:border-box;display:flex!important;gap:12px;min-height:36px;overflow:visible!important;padding:10px!important;transition:background-color .2s ease;width:100%!important}.legend-items-container::-webkit-scrollbar{width:6px}.legend-items-container::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.legend-items-container::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.legend-items-container::-webkit-scrollbar-thumb:hover{background:#0006}@media (max-width:768px){.legend-items-container{max-height:min(250px,35vh)}.legend-item{gap:10px;min-height:32px;padding:8px 10px}.legend-color{height:14px;width:14px}.legend-label{font-size:.85rem}.legend-value{font-size:.75rem}.legend-title{font-size:.95rem}}@media (max-width:480px){.legend-items-container{max-height:min(200px,30vh)}.legend-item{gap:8px;min-height:30px;padding:6px 8px}.legend-color{height:12px;width:12px}.legend-label{font-size:.8rem}.legend-value{font-size:.7rem}}.charts-grid{display:flex;flex-direction:column;gap:24px;margin-bottom:28px;width:100%}.chart-container{box-sizing:border-box;max-width:100%;overflow:hidden!important;width:100%}.chart-wrapper{max-height:350px;position:relative;width:100%}.chart-wrapper,.pie-chart-container .chart-wrapper{height:350px!important}.bar-chart-container .chart-wrapper{height:450px!important}.line-chart-container .chart-wrapper{height:350px!important}@media (min-width:769px){.charts-grid{grid-gap:20px;display:grid!important;gap:20px;grid-template-columns:repeat(2,1fr)}.chart-container.full-width{grid-column:1/-1}.chart-wrapper{height:380px!important}.bar-chart-container .chart-wrapper{height:450px!important}}@media (max-width:768px){.chart-wrapper{height:300px!important}.bar-chart-container .chart-wrapper{height:400px!important}}.no-charts-data{background:#f8fafc;background:var(--neutral-light);border:2px dashed #e2e8f0;border:2px dashed var(--neutral-border);border-radius:12px;padding:40px 20px;text-align:center}.no-charts-data,.no-charts-data h4{color:#64748b;color:var(--neutral-gray)}.no-charts-data h4{font-size:1.2rem;margin-bottom:12px}.no-charts-data p{color:#64748b;color:var(--neutral-gray);font-size:.95rem;line-height:1.5}.data-notice{background:#fef3c7;background:var(--warning-light);border:1px solid #f59e0b;border:1px solid var(--warning-orange);border-radius:8px;margin-top:20px;padding:16px}.data-notice p{color:#f59e0b;color:var(--warning-orange);font-size:.9rem;line-height:1.4;margin:6px 0}.notice-tip{font-weight:500;margin-top:12px!important}.notice-complete{color:#10b981!important;color:var(--success-green)!important;font-weight:600}.charts-loading{background:#f8fafc;background:var(--neutral-light);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:12px;color:#64748b;color:var(--neutral-gray);padding:40px 20px;text-align:center}@media (max-width:768px){.summary-cards{gap:12px;grid-template-columns:1fr 1fr}.summary-card{flex-direction:column;gap:12px;padding:16px;text-align:center}.summary-icon{font-size:1.5rem}.summary-value{font-size:1.1rem}.summary-label{font-size:.8rem}}@media (max-width:480px){.summary-cards{grid-template-columns:1fr}.analysis-charts{margin-top:20px;padding:20px 16px}.charts-title{font-size:1.4rem;margin-bottom:24px}}@media (prefers-color-scheme:dark){.chart-container{background:#fff;background:var(--neutral-white)}.chart-container,.no-charts-data{border-color:#e2e8f0;border-color:var(--neutral-border)}.no-charts-data{background:#f8fafc;background:var(--neutral-light)}.no-charts-data,.no-charts-data h4,.no-charts-data p{color:#1e293b;color:var(--neutral-dark)}.data-notice{background:#fef3c7;background:var(--warning-light);border-color:#f59e0b;border-color:var(--warning-orange)}.data-notice p{color:#f59e0b;color:var(--warning-orange)}.legend-items-container{background-color:#f8fafc;background-color:var(--neutral-light);border-color:#e2e8f0;border-color:var(--neutral-border)}.legend-item{background-color:#fff;background-color:var(--neutral-white)}.legend-item:hover{background-color:#f1f5f9;background-color:var(--neutral-light-gray)}.legend-label{color:#1e293b;color:var(--neutral-dark)}.legend-value{color:#64748b;color:var(--neutral-gray)}}@media print{.analysis-charts{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important}.summary-card{background:#f8fafc!important;background:var(--neutral-light)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.chart-container{break-inside:avoid;page-break-inside:avoid}}.progress-section{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:12px;box-shadow:0 2px 8px #0000000f;margin:24px 0;padding:20px}.progress-container{width:100%}.progress-bar{background-color:#f1f5f9;background-color:var(--neutral-light-gray);box-shadow:inset 0 1px 2px #0000001a;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.progress-bar,.progress-fill{border-radius:4px;position:relative}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);height:100%;transition:width .3s ease}.progress-fill:after{animation:move 1s linear infinite;background-image:linear-gradient(-45deg,#fff3 25%,#0000 0,#0000 50%,#fff3 0,#fff3 75%,#0000 0,#0000);background-size:20px 20px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes move{0%{background-position:0 0}to{background-position:20px 20px}}.status-message{color:#1e293b;color:var(--neutral-dark);font-size:14px;font-weight:500;margin:0;text-align:center}.progress-section.overtime .progress-fill{background:linear-gradient(90deg,#f59e0b,#e67e22);background:linear-gradient(90deg,var(--warning-orange),#e67e22)}.is-loading{opacity:.7}.progress-section:target{scroll-margin-top:20px}@media (max-width:768px){.progress-bar{height:6px}.progress-section{margin:20px 0;padding:16px}.status-message{font-size:13px}}.session-warning{background:#fef3c7;background:var(--warning-light);border:1px solid #f59e0b;border:1px solid var(--warning-orange);border-radius:8px;color:#f59e0b;color:var(--warning-orange);font-weight:500;margin:16px 0;padding:12px 16px;text-align:center}.manual-processing .progress-fill{background:linear-gradient(90deg,#10b981,#0da271);background:linear-gradient(90deg,var(--secondary-teal),var(--secondary-teal-dark))}.gmail-processing .progress-fill{background:linear-gradient(90deg,#4a6cf7,#3a5ce5);background:linear-gradient(90deg,var(--primary-blue),var(--primary-blue-dark))}.arpico-processing .progress-fill{background:linear-gradient(90deg,#8b5cf6,#7c4dff);background:linear-gradient(90deg,var(--accent-purple),var(--accent-purple-dark))}.progress-bar-with-text{position:relative}.progress-percentage{color:#fff;font-size:11px;font-weight:700;left:50%;position:absolute;text-shadow:1px 1px 1px #0000004d;top:50%;transform:translate(-50%,-50%)}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 #4a6cf766}70%{box-shadow:0 0 0 10px #4a6cf700}to{box-shadow:0 0 0 0 #4a6cf700}}.progress-section.pulse{animation:pulse 2s infinite;border-color:#4a6cf7;border-color:var(--primary-blue)}.selection-row{align-items:flex-end;display:flex;flex-wrap:nowrap;gap:24px;justify-content:center;margin-bottom:24px;width:100%}.language-selector label,.supermarket-selector label{color:#1e293b;color:var(--neutral-dark);display:block;font-size:.95rem;font-weight:600;margin-bottom:8px;text-align:left;white-space:nowrap}.language-selector,.supermarket-selector{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;margin-bottom:0;min-width:240px}.language-selector select,.supermarket-selector select{width:100%}@media (max-width:768px){.selection-row{flex-direction:column;flex-wrap:wrap;gap:16px}.language-selector,.supermarket-selector{min-width:100%;width:100%}.language-selector label,.supermarket-selector label{text-align:center}.language-selector,.supermarket-selector{align-items:center}}@media (max-width:480px){.language-selector label,.supermarket-selector label{text-align:center;white-space:normal}}.legend-label,.legend-value{display:block;-webkit-hyphens:auto;hyphens:auto;white-space:normal;word-break:break-word}.app-footer{background-color:#f8fafc;background-color:var(--neutral-light);border-top:1px solid #e2e8f0;border-top:1px solid var(--neutral-border);color:#64748b;color:var(--neutral-gray);margin-top:40px;padding:24px 0;text-align:center;width:100%}.footer-content{flex-wrap:wrap;justify-content:space-between;margin:0 auto;padding:0 20px}.footer-content,.footer-links{align-items:center;display:flex;gap:12px}.footer-link{background:none!important;border:none!important;color:#4a6cf7!important;color:var(--primary-blue)!important;display:inline-block!important;font-family:inherit!important;font-size:14px!important;margin:0 4px!important;padding:4px 8px!important;text-decoration:underline!important;transition:color .2s ease!important}.footer-link:hover{background-color:#4a6cf71a!important;border-radius:4px!important;color:#3a5ce5!important;color:var(--primary-blue-dark)!important;text-decoration:none!important}.footer-separator{opacity:.5}.app-footer p,.footer-separator{color:#64748b;color:var(--neutral-gray)}.app-footer p{margin:0}@media (max-width:768px){.footer-content{flex-direction:column;text-align:center}.footer-links{margin-top:12px}.footer-link{font-size:13px!important;margin:2px!important;padding:6px 10px!important}}@media (prefers-color-scheme:dark){.app-footer .footer-link{color:#4a6cf7!important;color:var(--primary-blue)!important}.app-footer .footer-link:hover{background-color:#4a6cf733!important;color:#e8edff!important;color:var(--primary-blue-light)!important}}button.footer-link{all:unset;cursor:pointer}button.footer-link:focus{outline:2px solid #4a6cf7;outline:2px solid var(--primary-blue);outline-offset:2px}@keyframes flowing-rainbow-border{0%{border-image:linear-gradient(0deg,red,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3) 1;box-shadow:0 0 10px #ff00004d}16%{border-image:linear-gradient(60deg,#9400d3,red,#ff7f00,#ff0,#0f0,#00f,indigo) 1;box-shadow:0 0 10px #ff7f004d}33%{border-image:linear-gradient(120deg,indigo,#9400d3,red,#ff7f00,#ff0,#0f0,#00f) 1;box-shadow:0 0 10px #ffff004d}50%{border-image:linear-gradient(180deg,#00f,indigo,#9400d3,red,#ff7f00,#ff0,#0f0) 1;box-shadow:0 0 10px #00ff004d}66%{border-image:linear-gradient(240deg,#0f0,#00f,indigo,#9400d3,red,#ff7f00,#ff0) 1;box-shadow:0 0 10px #0000ff4d}83%{border-image:linear-gradient(300deg,#ff0,#0f0,#00f,indigo,#9400d3,red,#ff7f00) 1;box-shadow:0 0 10px #4b00824d}to{border-image:linear-gradient(1turn,#ff7f00,#ff0,#0f0,#00f,indigo,#9400d3,red) 1;box-shadow:0 0 10px #9400d34d}}.rainbow-highlight{animation:flowing-rainbow-border 3s linear infinite;background:inherit!important;border-style:solid!important;border-width:3px!important}@media (max-width:768px){.rainbow-highlight{border-width:2px!important}}.category-processing-notice{background:#fef3c7;background:var(--warning-light);border:1px solid #f59e0b;border:1px solid var(--warning-orange);border-radius:12px;margin-bottom:24px;padding:20px;text-align:center}.category-processing-notice p{color:#f59e0b;color:var(--warning-orange);font-weight:500;margin:8px 0}.processing-note{color:#64748b!important;color:var(--neutral-gray)!important;font-size:.9em;font-style:italic}.category-processing-info{background-color:#fef3c7;background-color:var(--warning-light);border-left:4px solid #f59e0b;border-left:4px solid var(--warning-orange);border-radius:6px;color:#f59e0b;color:var(--warning-orange);font-weight:500;margin:12px 0;padding:10px;text-align:center}.loading-spinner{animation:spin 1s ease-in-out infinite;border:3px solid #f59e0b4d;border-radius:50%;border-top:3px solid var(--warning-orange);display:inline-block;height:20px;margin-right:10px;vertical-align:middle;width:20px}.category-loading{background:#fff;background:var(--neutral-white);border:1px solid #e2e8f0;border:1px solid var(--neutral-border);border-radius:12px;padding:40px 20px;text-align:center}.category-loading h4{color:#1e293b;color:var(--neutral-dark);font-size:1.2rem;font-weight:600;margin:16px 0}.category-loading .progress-bar{background-color:#f1f5f9;background-color:var(--neutral-light-gray);border:none;border-radius:6px;box-shadow:inset 0 2px 4px #0000001a;height:12px;margin:20px auto;max-width:400px;overflow:hidden;position:relative;width:100%}.category-loading .progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:6px;box-shadow:0 2px 8px #667eea4d;height:100%;position:relative;transition:width .5s ease-in-out}.category-loading .progress-fill:after{animation:move 1s linear infinite;background-image:linear-gradient(-45deg,#fff3 25%,#0000 0,#0000 50%,#fff3 0,#fff3 75%,#0000 0,#0000);background-size:20px 20px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.category-loading .progress-text{color:#4a6cf7;color:var(--primary-blue);font-size:1rem;font-weight:600;margin:12px 0}.category-loading .loading-hint{color:#64748b;color:var(--neutral-gray);font-size:.9rem;font-style:italic;line-height:1.4;margin:8px 0}.category-loading .loading-hint:first-of-type{color:#3b82f6;color:var(--info-blue);font-style:normal;font-weight:600}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mt-0{margin-top:0}.mb-1{margin-bottom:8px}.mt-1{margin-top:8px}.mb-2{margin-bottom:16px}.mt-2{margin-top:16px}.mb-3{margin-bottom:24px}.mt-3{margin-top:24px}.p-0{padding:0}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:16px}.gap-3{gap:24px}.is-loading{pointer-events:none;position:relative}.is-loading:after{animation:spin 1s ease-in-out infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;content:"";height:20px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:20px}.is-success{background-color:#d1fae5!important;background-color:var(--success-light)!important;border-color:#10b981!important;border-color:var(--success-green)!important;color:#10b981!important;color:var(--success-green)!important}.is-error{background-color:#fee2e2!important;background-color:var(--error-light)!important;border-color:#ef4444!important;border-color:var(--error-red)!important;color:#ef4444!important;color:var(--error-red)!important}.is-warning{background-color:#fef3c7!important;background-color:var(--warning-light)!important;border-color:#f59e0b!important;border-color:var(--warning-orange)!important;color:#f59e0b!important;color:var(--warning-orange)!important}.is-info{background-color:#dbeafe!important;background-color:var(--info-light)!important;border-color:#3b82f6!important;border-color:var(--info-blue)!important;color:#3b82f6!important;color:var(--info-blue)!important}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--neutral-light);border-radius:4px}::-webkit-scrollbar-thumb{background:#64748b;background:var(--neutral-gray);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#1e293b;background:var(--neutral-dark)}::selection{background-color:#4a6cf733;color:#1e293b;color:var(--neutral-dark)}::-moz-selection{background-color:#4a6cf733;color:#1e293b;color:var(--neutral-dark)}.focus\:ring-2:focus,.focus\:ring:focus{outline:2px solid #4a6cf7;outline:2px solid var(--primary-blue);outline-offset:2px}.focus\:ring-4:focus{outline:4px solid #4a6cf7;outline:4px solid var(--primary-blue);outline-offset:2px}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print{display:none!important}.print\:break-inside-avoid{break-inside:avoid;page-break-inside:avoid}.print\:break-before-page{break-before:page;page-break-before:always}.print\:break-after-page{break-after:page;page-break-after:always}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.chart-wrapper canvas{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (hover:none) and (pointer:coarse){.action-button,.arpico-process-button,.calculate-button,.gmail-process-button,.method-buttons button{min-height:44px;padding:12px 16px}.chat-send-button{height:48px;width:48px}.legend-item{min-height:44px;padding:12px!important}}@media (min-width:1440px){.App-header,.footer-content{max-width:1400px}}@media (min-width:1920px){.App-header,.footer-content{max-width:1600px}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.not-sr-only{clip:auto;height:auto;margin:0;overflow:visible;padding:0;position:static;white-space:normal;width:auto}@media (max-width:320px){.App-header{padding:16px 12px}.App-header h1{font-size:1.6rem}.method-buttons button{font-size:.9rem;min-width:100%;padding:10px 12px}.analysis-charts,.arpico-container,.gmail-container,.results-actions{padding:16px 12px}.summary-card{padding:12px}.summary-value{font-size:1.1rem}.summary-label{font-size:.75rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.App-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.arpico-container,.chart-container,.gmail-container,.results-actions{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}*,:after,:before{box-sizing:border-box}@media (prefers-contrast:high){:root{--neutral-border:#000;--neutral-dark:#000;--neutral-gray:#333}.App-header{background:#fff;border:2px solid #000}.status-message{border:2px solid}}@media (prefers-reduced-transparency:reduce){.App-header,.analysis-charts,.arpico-container,.chart-container,.gmail-container,.results-actions{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff;background:var(--neutral-white)}}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}.emoji{-webkit-text-fill-color:initial!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:inherit!important;display:inline-block}.App-header h1{align-items:center;color:#1e293b;color:var(--neutral-dark);display:flex;font-size:2.5rem;font-weight:700;gap:8px;margin-bottom:12px}@media (max-width:768px){.action-button{font-size:.95rem!important;font-weight:600!important;height:auto!important;line-height:1.3!important;min-height:auto!important;padding:16px 12px!important}.button-subtitle{word-wrap:break-word!important;font-size:.75rem!important;-webkit-hyphens:auto!important;hyphens:auto!important;line-height:1.2!important;margin-top:4px!important;overflow-wrap:break-word!important}.action-buttons-grid{gap:12px!important}}@media (max-width:480px){.action-button{font-size:.9rem!important;padding:14px 10px!important}.button-subtitle{font-size:.7rem!important;line-height:1.1!important}.action-button{word-wrap:break-word!important;overflow-wrap:break-word!important;white-space:normal!important}}.chat-button .button-subtitle,.generate-download-button .button-subtitle,.new-analysis-button .button-subtitle{box-sizing:border-box;display:block;max-width:100%;width:100%}.action-button{align-items:center!important;display:flex!important;flex-direction:column!important;justify-content:center!important;text-align:center!important}.action-button>*{text-align:center!important;width:100%!important}.spar-parameters{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin:20px 0;padding:15px}.spar-parameters h4{border-bottom:1px solid #ddd;color:#333;margin-top:0;padding-bottom:8px}.spar-input-group{margin-bottom:15px}.spar-input-group label{color:#555;display:block;font-weight:500;margin-bottom:5px}.spar-input-group input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.spar-input-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.spar-input-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.spar-note{color:#666;font-size:12px;margin-top:10px}.spar-note p{margin:5px 0}.spar-validation-results{background-color:#e8f5e8;border:1px solid #4caf50;border-radius:4px;margin:10px 0;padding:10px}.spar-validation-error{background-color:#ffebee;border:1px solid #f44336;border-radius:4px;margin:10px 0;padding:10px}.legal-page{background-color:var(--neutral-light);box-sizing:border-box;color:var(--neutral-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;margin:0 auto;max-width:900px;min-height:100vh;padding:20px;text-align:left}.legal-header{border-bottom:2px solid var(--neutral-border);margin-bottom:40px;padding-bottom:20px;text-align:center}.legal-header h1{color:var(--primary-blue);font-size:2.5em;font-weight:600;margin:20px 0 10px}.last-updated{color:var(--neutral-gray);font-style:italic;margin:0}.back-button{background:var(--primary-blue);border:none;border-radius:6px;box-shadow:0 2px 4px #3498db4d;color:var(--neutral-white);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.back-button:hover{background:var(--primary-blue-dark);box-shadow:0 4px 8px #3498db66;transform:translateY(-1px)}.back-button:active{transform:translateY(0)}.back-button:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.legal-content{background:var(--neutral-white);border:1px solid var(--neutral-border);border-radius:8px;box-shadow:0 2px 8px #00000014;padding:30px;text-align:left}.legal-content section{margin-bottom:40px}.legal-content h2{border-bottom:1px solid var(--neutral-border);color:var(--primary-blue);font-weight:600;margin-top:30px;padding-bottom:8px;text-align:left}.legal-content h3{color:var(--primary-blue-dark);font-weight:600;margin-top:20px;text-align:left}.legal-content h4{color:var(--neutral-dark);font-weight:500;margin-top:15px;text-align:left}.legal-content p{margin-bottom:16px;text-align:left}.legal-content ol,.legal-content ul{margin:10px 0;padding-left:24px;text-align:left}.legal-content li{list-style-position:outside;margin-bottom:8px;padding-left:8px;text-align:left}.legal-content code{background:var(--neutral-light);border:1px solid var(--neutral-light-gray);border-radius:4px;color:var(--accent-orange);font-family:Courier New,monospace;font-size:.9em;padding:2px 6px}.legal-content a{color:var(--primary-blue);font-weight:500;text-decoration:none;transition:color .2s ease}.legal-content a:hover{color:var(--primary-blue-dark);text-decoration:underline}.legal-content blockquote{background:var(--secondary-teal-light);border-left:4px solid var(--secondary-teal);border-radius:0 8px 8px 0;margin:20px 0;padding:15px 20px}.legal-content blockquote p{color:var(--secondary-teal-dark);font-style:italic;margin:0}.legal-content table{background:var(--neutral-white);border:1px solid var(--neutral-border);border-collapse:collapse;border-radius:8px;margin:20px 0;overflow:hidden;width:100%}.legal-content th{background:var(--primary-blue-light);border-bottom:2px solid var(--primary-blue);color:var(--primary-blue-dark);font-weight:600;padding:12px 15px;text-align:left}.legal-content td{border-bottom:1px solid var(--neutral-border);padding:10px 15px;text-align:left}.legal-content tr:hover{background:var(--neutral-light)}.legal-note{background:var(--info-light);border-left:4px solid var(--info-blue);border-radius:0 8px 8px 0;margin:20px 0;padding:15px}.legal-note p{color:var(--info-blue);margin:5px 0}.legal-warning{background:var(--warning-light);border-left:4px solid var(--warning-orange);border-radius:0 8px 8px 0;margin:20px 0;padding:15px}.legal-warning p{color:var(--warning-orange);margin:5px 0}.legal-highlight{background:var(--secondary-teal-light);border-radius:3px;color:var(--secondary-teal-dark);font-weight:500;padding:2px 4px}@media (max-width:768px){.legal-page{padding:15px}.legal-content{padding:20px}.legal-header h1{font-size:2em}.legal-content ol,.legal-content ul{padding-left:20px}.legal-content table{font-size:.9em}.legal-content td,.legal-content th{padding:8px 10px}}@media (max-width:480px){.legal-page{padding:10px}.legal-content{padding:15px}.legal-header h1{font-size:1.8em}.back-button{text-align:center;width:100%}}@media (prefers-color-scheme:dark){.legal-page{background-color:var(--neutral-light);color:var(--neutral-dark)}.legal-content{background-color:var(--neutral-white);border-color:var(--neutral-border);color:var(--neutral-dark)}.legal-content h2,.legal-header h1{color:var(--primary-blue)}.legal-content h2{border-color:var(--neutral-border)}.legal-content h3{color:var(--primary-blue)}.legal-content code{background:var(--neutral-light-gray);border-color:var(--neutral-border);color:var(--accent-orange)}.legal-content a{color:var(--primary-blue)}.legal-content a:hover{color:var(--primary-blue-dark)}.legal-content blockquote{background:var(--secondary-teal-light);border-color:var(--secondary-teal)}.legal-content blockquote p{color:var(--secondary-teal-dark)}.legal-content table{background:var(--neutral-white);border-color:var(--neutral-border)}.legal-content th{background:var(--primary-blue-light);border-color:var(--primary-blue);color:var(--primary-blue-dark)}.legal-content td{border-color:var(--neutral-border)}.legal-content tr:hover{background:var(--neutral-light)}.legal-note{background:var(--info-light);border-color:var(--info-blue)}.legal-note p{color:var(--info-blue)}.legal-warning{background:var(--warning-light);border-color:var(--warning-orange)}.legal-warning p{color:var(--warning-orange)}}@media print{.legal-content,.legal-page{background:#fff!important;color:#000!important;padding:0!important}.legal-content{border:none!important;box-shadow:none!important}.back-button{display:none!important}.legal-header{border-bottom:2px solid #ccc!important}.legal-header h1{color:#000!important}.last-updated{color:#666!important}a{color:#000!important;text-decoration:underline!important}}.back-button:focus-visible,.legal-content a:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}@media (prefers-contrast:high){.legal-content{border:2px solid #000}.legal-header{border-bottom:3px solid #000}.legal-content h2{border-bottom:2px solid #000}.back-button{border:2px solid #000}}.auth-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.auth-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.auth-modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e1e5e9;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.auth-modal-header h2{font-size:1.4rem;font-weight:600;margin:0}.auth-modal-close{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.5rem;padding:4px 8px;transition:background-color .2s}.auth-modal-close:hover{background-color:#fff3}.auth-modal-content{padding:24px}.auth-explanation{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:24px;padding:16px}.auth-explanation h3{color:#2d3748;margin-bottom:12px}.security-note{margin-top:16px}.security-note p{color:#4a5568;margin:8px 0}.auth-steps{margin-bottom:24px}.auth-steps h3{color:#2d3748;font-size:1.2rem;margin-bottom:20px}.step{align-items:flex-start;display:flex;margin-bottom:32px}.step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;margin-right:16px;width:32px}.step-content{flex:1 1}.step-content p{color:#4a5568;margin:4px 0}.screenshot-placeholder{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin:12px 0;padding:16px}.screenshot-mockup{margin:0 auto;max-width:400px}.browser-window{border:1px solid #cbd5e0;border-radius:8px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.browser-header{align-items:center;background:#edf2f7;border-bottom:1px solid #e2e8f0;display:flex;padding:8px 12px}.browser-dots{display:flex;gap:6px;margin-right:12px}.browser-dots span{background:#cbd5e0;border-radius:50%;height:12px;width:12px}.browser-url{background:#fff;border-radius:4px;color:#4a5568;flex:1 1;font-size:.8rem;padding:4px 8px;text-align:center}.advanced-content,.warning-content{background:#fff;padding:24px;text-align:center}.warning-icon{font-size:2rem;margin-bottom:12px}.warning-content h4{color:#e53e3e;margin-bottom:8px}.mock-advanced-btn,.mock-proceed-btn{background:#4299e1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:12px;padding:8px 16px}.mock-proceed-btn{background:#e53e3e}.advanced-section{margin-top:16px;text-align:left}.step-note{color:#718096;font-size:.9rem;font-style:italic;margin-top:8px}.email-senders{list-style:none;margin:12px 0;padding:0}.email-senders li{color:#2d3748;font-family:Courier New,monospace;font-size:.9rem;padding:6px 0}.mobile-instructions{background:#fffaf0;border-left:4px solid #ed8936;border-radius:8px;margin-bottom:24px;padding:16px}.mobile-instructions h3{color:#744210;margin-bottom:8px}.auth-assurance{margin-bottom:16px}.assurance-card{background:#f0fff4;border-left:4px solid #48bb78;border-radius:8px;padding:16px}.assurance-card h4{color:#22543d;margin-bottom:12px}.assurance-card ul{list-style:none;margin:0;padding:0}.assurance-card li{color:#2d3748;padding:4px 0 4px 20px;position:relative}.assurance-card li:before{color:#48bb78;content:"✓";font-weight:700;left:0;position:absolute}.auth-modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e1e5e9;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.auth-cancel-btn,.auth-proceed-btn{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.auth-cancel-btn{background:#e2e8f0;color:#4a5568}.auth-cancel-btn:hover{background:#cbd5e0}.auth-proceed-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.auth-proceed-btn:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 4px 12px #48bb784d;transform:translateY(-1px)}@media (max-width:768px){.auth-modal-overlay{padding:10px}.auth-modal{max-height:95vh}.auth-modal-header h2{font-size:1.2rem}.auth-modal-content{padding:16px}.step{flex-direction:column}.step-number{margin-bottom:12px;margin-right:0}.screenshot-mockup{max-width:100%}.auth-modal-footer{flex-direction:column}.auth-cancel-btn,.auth-proceed-btn{width:100%}}@media (max-width:480px){.browser-window{transform:scale(.9);transform-origin:top center}.advanced-content,.warning-content{padding:16px}}.editable-grid-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;height:80vh;margin:20px 0;max-width:100%;padding:20px}.grid-header{border-bottom:1px solid #e9ecef;flex-shrink:0;gap:10px;margin-bottom:12px;padding:8px 0}.grid-header,.header-title-row{align-items:center;display:flex;justify-content:space-between}.header-title-row{width:100%}.grid-title{color:#2c3e50;flex:1 1;font-size:15px;font-weight:600;line-height:1.3;margin:0;min-width:200px}.mobile-controls-top{display:flex;gap:5px}.grid-controls{display:flex;flex-direction:column;flex-shrink:0;gap:8px;margin-bottom:12px}.control-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;min-width:40px;padding:8px 12px;transition:all .2s}.control-button.add-row{border-color:#28a745;color:#28a745}.control-button.add-row:hover:not(:disabled){background:#28a745;color:#fff}.control-button.calculate-amounts{border-color:#ffc107;color:#856404}.control-button.calculate-amounts:hover:not(:disabled){background:#ffc107;color:#212529}.control-button.revert{border-color:#dc3545;color:#dc3545}.control-button.revert:hover:not(:disabled){background:#dc3545;color:#fff}.control-button.add-bills{align-items:center;background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:4px;justify-content:center;padding:8px 16px;transition:all .2s ease}.control-button.add-bills:hover:not(:disabled){background-color:#218838;box-shadow:0 2px 4px #0003;transform:translateY(-1px)}.control-button.add-bills:disabled{background-color:#6c757d;box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.control-button:disabled{cursor:not-allowed;opacity:.5}.inline-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;flex-wrap:wrap;gap:8px;justify-content:space-around;padding:6px 8px}.inline-summary,.summary-item{align-items:center;display:flex}.summary-item{flex:1 1;flex-direction:column;gap:2px;min-width:0}.summary-count,.summary-discount,.summary-duplicate,.summary-missing,.summary-net,.summary-total{color:#2c3e50;font-size:.85rem;font-weight:700;line-height:1.2;max-width:100%;overflow:visible;text-align:center;text-overflow:clip;white-space:normal;word-break:break-word}.summary-discount{color:#dc3545}.summary-net{color:#28a745}.summary-label{color:#6c757d;font-size:.65rem;font-weight:500;line-height:1.1}.summary-duplicate,.summary-label,.summary-missing{text-align:center;white-space:normal;word-break:break-word}.summary-duplicate,.summary-missing{font-size:.85rem;font-weight:700;line-height:1.2;max-width:100%;overflow:visible;text-overflow:clip}.summary-item.missing-info .summary-missing{color:#dc3545}.summary-item.duplicate-info .summary-duplicate{color:#ffc107}.table-container{border:1px solid #e9ecef;border-radius:8px;flex:1 1;isolation:isolate;margin-bottom:15px;overflow:auto;position:relative}.editable-table{background:#fff;border-collapse:collapse;font-size:13px;min-width:700px;table-layout:fixed;width:100%}.editable-table thead{z-index:10}.editable-table th,.editable-table thead{position:-webkit-sticky;position:sticky;top:0}.editable-table th{background:#f8f9fa;background-clip:padding-box;border-bottom:2px solid #dee2e6;box-shadow:0 1px 0 #dee2e6;color:#495057;font-size:12px;font-weight:600;padding:12px 6px;text-align:center;white-space:nowrap;z-index:11}.editable-table td:first-child,.editable-table th:first-child{width:35px}.editable-table td:nth-child(2),.editable-table th:nth-child(2){width:60px}.editable-table td:nth-child(3),.editable-table th:nth-child(3){width:45px}.editable-table td:nth-child(4),.editable-table th:nth-child(4){width:35px}.editable-table td:nth-child(5),.editable-table th:nth-child(5){width:80px}.editable-table td:nth-child(6),.editable-table th:nth-child(6){width:200px}.editable-table td:nth-child(7),.editable-table th:nth-child(7){width:65px}.editable-table td:nth-child(8),.editable-table th:nth-child(8){width:55px}.editable-table td:nth-child(9),.editable-table th:nth-child(9){width:65px}.editable-table td:nth-child(10),.editable-table th:nth-child(10){width:55px}.editable-table td:nth-child(11),.editable-table td:nth-child(12),.editable-table th:nth-child(11),.editable-table th:nth-child(12){width:50px}.editable-table td{background:#fff;border-bottom:1px solid #e9ecef;padding:6px 4px;position:relative;vertical-align:top}.editable-table tr:hover td{background:#f8f9fa}.compact-input{background:#fff;border:1px solid #ced4da;border-radius:3px;box-sizing:border-box;font-family:inherit;font-size:12px;padding:4px 6px;transition:all .2s ease;width:100%}.compact-input:focus{box-shadow:0 0 0 2px #007bff40;outline:none}.compact-input:focus,.compact-input:hover{background:#fff;border-color:#007bff}.compact-number input{font-weight:600;text-align:center}.compact-amount input{font-family:Courier New,monospace;font-size:11px;text-align:right}.compact-code input{font-size:11px;letter-spacing:.5px;text-align:center}.compact-bill-ref select{background:#fff;border:1px solid #ced4da;border-radius:3px;box-sizing:border-box;font-family:inherit;font-size:12px;padding:4px 6px;transition:all .2s ease;width:100%}.compact-bill-ref select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.bill-reference-select{font-size:11px}.product-name-cell{min-width:200px}.product-name-textarea{word-wrap:break-word;background:#fff;border:1px solid #ced4da;border-radius:3px;box-sizing:border-box;font-family:inherit;font-size:12px;line-height:1.3;min-height:40px;overflow-wrap:break-word;padding:4px 6px;resize:vertical;transition:all .2s ease;white-space:pre-wrap;width:100%}.product-name-textarea:focus{box-shadow:0 0 0 2px #007bff40;outline:none}.product-name-textarea:focus,.product-name-textarea:hover{background:#fff;border-color:#007bff}.compact-status .status-display{align-items:center;border-radius:3px;cursor:default;display:flex;font-size:10px;font-weight:700;gap:2px;height:24px;justify-content:center;margin:0 auto;min-height:24px;min-width:24px;padding:2px 4px;width:24px}.compact-status .status-text{display:none}.status-correct{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-incorrect{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-duplicate{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-icon{font-weight:700}.compact-actions .action-button{align-items:center;border:none;border-radius:3px;cursor:pointer;display:flex;font-size:11px;height:24px;justify-content:center;margin:0 auto;min-height:24px;min-width:24px;padding:2px 4px;transition:all .2s;width:auto}.action-button.delete{background:#dc3545;color:#fff}.action-button.delete:hover:not(:disabled){background:#c82333}.action-button.delete:disabled{background:#6c757d;cursor:not-allowed}.row-number{color:#6c757d;font-size:12px;font-weight:600;text-align:center}.error-input{background:#fff5f5!important;border-color:#dc3545!important}.error-tooltip{color:#dc3545;font-size:9px;margin-top:2px;text-align:center}.error-row{background:#fff5f5}.grid-actions{border-top:1px solid #e9ecef;flex-shrink:0;justify-content:space-between;padding-top:15px}.grid-actions,.primary-actions{align-items:center;display:flex}.primary-actions{gap:15px}.action-button.secondary{background:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:8px 16px}.action-button.secondary:hover:not(:disabled){background:#5a6268}.action-button.primary{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px}.action-button.primary:hover:not(:disabled){background:#0056b3}.action-button:disabled{cursor:not-allowed;opacity:.6}.changes-indicator{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:13px;padding:6px 12px}.validation-warning{background:#fff3cd;border:1px solid #ffecb5;border-radius:6px;color:#856404;flex-shrink:0;margin-top:15px;padding:12px;text-align:center}.no-data-message{color:#6c757d;font-size:16px;padding:40px;text-align:center}.table-container::-webkit-scrollbar{height:8px;width:8px}.table-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.multi-bill-upload-modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.multi-bill-upload-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;padding:0;width:100%}.multi-bill-upload-modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px 16px}.multi-bill-upload-modal-title{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.multi-bill-upload-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.multi-bill-upload-modal-close:hover{background:#e9ecef;color:#495057}.multi-bill-upload-modal-body{flex:1 1;overflow-y:auto;padding:24px}.multi-bill-upload-area{margin-bottom:20px;padding:40px 20px}.multi-bill-upload-icon{margin-bottom:16px}.multi-bill-upload-text{font-weight:500;margin-bottom:8px}.multi-bill-upload-hint{margin-bottom:16px}.multi-bill-upload-browse{font-weight:500;text-decoration:underline}.multi-bill-upload-input{display:none}.multi-bill-upload-files{margin-top:20px}.multi-bill-upload-files-title{color:#495057;font-size:16px;font-weight:600;margin-bottom:12px}.multi-bill-upload-file-list{border:1px solid #e9ecef;border-radius:6px;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0}.multi-bill-upload-file-item{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;padding:12px 16px}.multi-bill-upload-file-item:last-child{border-bottom:none}.multi-bill-upload-file-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.multi-bill-upload-file-icon{color:#6c757d;flex-shrink:0;font-size:18px}.multi-bill-upload-file-name{color:#495057;flex:1 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-bill-upload-file-remove{background:none;border:none;border-radius:4px;color:#dc3545;cursor:pointer;flex-shrink:0;padding:4px 8px;transition:all .2s}.multi-bill-upload-file-remove:hover{background:#f8d7da}.multi-bill-upload-progress{margin-top:20px}.multi-bill-upload-progress-bar{background:#e9ecef;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden}.multi-bill-upload-progress-fill{background:#007bff;border-radius:3px;height:100%;transition:width .3s ease}.multi-bill-upload-progress-text{color:#6c757d;font-size:14px;text-align:center}.multi-bill-upload-modal-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.multi-bill-upload-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.multi-bill-upload-button.cancel{background:#6c757d;color:#fff}.multi-bill-upload-button.cancel:hover{background:#5a6268}.multi-bill-upload-button.upload{background:#007bff;color:#fff}.multi-bill-upload-button.upload:hover:not(:disabled){background:#0056b3}.multi-bill-upload-button:disabled{cursor:not-allowed;opacity:.6}.multi-bill-upload-status{border-radius:6px;font-size:14px;margin-top:16px;padding:12px}.multi-bill-upload-status.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.multi-bill-upload-status.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.multi-bill-upload-status.info{background:#cce7ff;border:1px solid #b3d7ff;color:#004085}.multi-bill-upload-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;display:inline-block;height:20px;margin-right:8px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.editable-grid-container{height:90vh;margin:5px 0;overflow:hidden;padding:10px}.grid-header{align-items:center;flex-wrap:nowrap;gap:8px;justify-content:space-between;margin-bottom:8px;padding:6px 0}.grid-title{flex:1 1;font-size:13px;line-height:1.2;margin-right:10px;min-width:auto;order:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.mobile-controls-top{flex-shrink:0;gap:4px;justify-content:flex-end;order:2;width:auto}.control-button{flex:none;font-size:12px;height:32px;max-width:60px;min-width:36px;padding:6px 8px}.control-button.add-bills{font-size:13px;padding:6px 12px}.inline-summary{grid-gap:6px;align-items:center;border-radius:5px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;padding:8px}.summary-item.duplicate-info,.summary-item.missing-info,.summary-item:first-child{grid-row:1}.summary-item:first-child{grid-column:1}.summary-item.missing-info{grid-column:2}.summary-item.duplicate-info{grid-column:3}.summary-item:nth-child(4),.summary-item:nth-child(5),.summary-item:nth-child(6){grid-row:2}.summary-item:nth-child(4){grid-column:1}.summary-item:nth-child(5){grid-column:2}.summary-item:nth-child(6){grid-column:3}.summary-item{align-items:center;display:flex;flex-direction:column;gap:2px;min-width:0;padding:2px}.summary-count,.summary-discount,.summary-duplicate,.summary-missing,.summary-net,.summary-total{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;display:-webkit-box;font-size:.75rem;font-weight:700;line-height:1.1;overflow:hidden;text-align:center;word-break:break-word}.summary-label{color:#6c757d;font-size:.6rem;font-weight:500;line-height:1;text-align:center;white-space:normal;word-break:break-word}.summary-discount{color:#dc3545}.summary-net{color:#28a745}.summary-item.missing-info .summary-missing{color:#dc3545}.summary-item.duplicate-info .summary-duplicate{color:#ffc107}.table-container{-webkit-overflow-scrolling:touch;border-radius:6px;margin-bottom:10px;overflow:auto}.editable-table{font-size:12px;min-width:600px}.editable-table th{font-size:11px;padding:10px 4px}.editable-table td{font-size:11px;padding:6px 3px}.editable-table td:first-child,.editable-table th:first-child{width:25px}.editable-table td:nth-child(2),.editable-table th:nth-child(2){width:50px}.editable-table td:nth-child(3),.editable-table th:nth-child(3){width:40px}.editable-table td:nth-child(4),.editable-table th:nth-child(4){width:30px}.editable-table td:nth-child(5),.editable-table th:nth-child(5){width:60px}.editable-table td:nth-child(6),.editable-table th:nth-child(6){width:150px}.editable-table td:nth-child(7),.editable-table th:nth-child(7){width:50px}.editable-table td:nth-child(8),.editable-table th:nth-child(8){width:40px}.editable-table td:nth-child(9),.editable-table th:nth-child(9){width:50px}.editable-table td:nth-child(10),.editable-table td:nth-child(11),.editable-table td:nth-child(12),.editable-table th:nth-child(10),.editable-table th:nth-child(11),.editable-table th:nth-child(12){width:40px}.product-name-cell{min-width:150px}.compact-bill-ref select,.compact-input{font-size:11px;padding:3px 4px}.compact-amount input{font-size:10px}.product-name-textarea{font-size:10px;line-height:1.2;min-height:32px;padding:3px 4px}.compact-status .status-display{font-size:9px;height:20px;min-height:20px;min-width:20px;padding:1px 2px;width:20px}.compact-actions .action-button{font-size:10px;height:20px;min-height:20px;min-width:20px;padding:1px 2px}.grid-actions{flex-direction:column;gap:10px;padding-top:10px}.primary-actions{justify-content:space-between;width:100%}.multi-bill-upload-modal-overlay{padding:10px}.multi-bill-upload-modal{max-height:95vh}.multi-bill-upload-modal-header{padding:16px 20px 12px}.multi-bill-upload-modal-body{padding:20px}.multi-bill-upload-modal-footer{flex-direction:column;padding:16px 20px}.multi-bill-upload-modal-footer .multi-bill-upload-button{width:100%}.multi-bill-upload-area{padding:30px 15px}.multi-bill-upload-file-item{padding:10px 12px}}@media (max-width:480px){.grid-header{flex-wrap:nowrap;gap:6px;margin-bottom:6px;padding:4px 0}.grid-title{flex:1 1;font-size:12px;line-height:1.1;margin-right:8px;min-width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-controls-top{flex-shrink:0;gap:3px}.control-button{font-size:11px;height:28px;max-width:50px;min-width:32px;padding:4px 6px}.control-button.add-bills{font-size:11px;padding:5px 10px;white-space:nowrap}.inline-summary{border-radius:4px;gap:4px;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;padding:6px}.summary-item{gap:1px;padding:1px}.summary-count,.summary-discount,.summary-duplicate,.summary-missing,.summary-net,.summary-total{-webkit-line-clamp:2;font-size:.7rem;line-height:1}.summary-label{font-size:.55rem;line-height:1}.grid-controls{flex-wrap:wrap;gap:8px}.inline-summary{flex-basis:100%;justify-content:center;margin:5px 0 0;order:3}.editable-table{min-width:500px}.editable-table td:first-child,.editable-table th:first-child{width:20px}.editable-table td:nth-child(2),.editable-table th:nth-child(2){width:45px}.editable-table td:nth-child(3),.editable-table th:nth-child(3){width:35px}.editable-table td:nth-child(4),.editable-table th:nth-child(4){width:25px}.editable-table td:nth-child(5),.editable-table th:nth-child(5){width:50px}.editable-table td:nth-child(6),.editable-table th:nth-child(6){width:120px}.editable-table td:nth-child(7),.editable-table th:nth-child(7){width:45px}.editable-table td:nth-child(8),.editable-table th:nth-child(8){width:35px}.editable-table td:nth-child(9),.editable-table th:nth-child(9){width:45px}.editable-table td:nth-child(10),.editable-table td:nth-child(11),.editable-table td:nth-child(12),.editable-table th:nth-child(10),.editable-table th:nth-child(11),.editable-table th:nth-child(12){width:35px}.product-name-cell{min-width:120px}.compact-bill-ref select{font-size:10px;padding:2px 3px}.product-name-textarea{font-size:9px;min-height:30px;padding:2px 3px}.compact-status .status-display{font-size:8px;height:18px;min-height:18px;min-width:18px;padding:1px 2px;width:18px}.compact-actions .action-button{font-size:9px;height:18px;min-height:18px;min-width:18px;padding:1px 2px}.multi-bill-upload-modal-header{padding:12px 16px 8px}.multi-bill-upload-modal-body{padding:16px}.multi-bill-upload-modal-title{font-size:16px}.multi-bill-upload-area{padding:20px 12px}.multi-bill-upload-icon{font-size:36px}}@supports (-webkit-touch-callout:none){.table-container{-webkit-overflow-scrolling:touch}}.compact-status{position:relative}.compact-status:hover:after{background:#333;border-radius:4px;bottom:100%;color:#fff;content:attr(data-tooltip);font-size:11px;left:50%;padding:4px 8px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.multi-bill-modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.multi-bill-modal{animation:modalSlideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:500px;overflow:hidden;padding:0;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.multi-bill-modal-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;padding:20px 24px 16px}.multi-bill-modal-title{color:#2c3e50;font-size:18px;font-weight:600;margin:0 0 8px}.multi-bill-modal-subtitle{color:#6c757d;font-size:14px;margin:0}.multi-bill-modal-body{background:#fff;flex:1 1;overflow-y:auto;padding:24px}.multi-bill-form-group{margin-bottom:20px}.multi-bill-form-label{color:#495057;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.multi-bill-form-input{background:#fff;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.multi-bill-form-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.multi-bill-form-input:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.multi-bill-upload-area{background:#fafbfc;border:2px dashed #dee2e6;border-radius:8px;cursor:pointer;margin-bottom:16px;padding:30px 20px;text-align:center;transition:all .3s ease}.multi-bill-upload-area:hover{background:#f0f8ff;border-color:#007bff;transform:translateY(-1px)}.multi-bill-upload-area.drag-over{background:#e6f3ff;border-color:#007bff;transform:scale(1.01)}.multi-bill-upload-icon{color:#6c757d;display:block;font-size:48px;margin-bottom:12px}.multi-bill-upload-text{color:#495057;font-size:16px;font-weight:600;margin-bottom:6px}.multi-bill-upload-hint{color:#6c757d;font-size:14px;margin-bottom:12px}.multi-bill-upload-browse{background:#007bff;border-radius:4px;color:#007bff;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:6px 12px;text-decoration:none;transition:all .2s}.multi-bill-upload-browse:hover{background:#0056b3;transform:translateY(-1px)}.multi-bill-files-list{margin-top:16px}.multi-bill-files-title{color:#495057;font-size:14px;font-weight:600;margin-bottom:8px}.multi-bill-file-list{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;list-style:none;margin:0;max-height:150px;overflow-y:auto;padding:0}.multi-bill-file-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:10px 12px;transition:background-color .2s}.multi-bill-file-item:last-child{border-bottom:none}.multi-bill-file-item:hover{background:#fff}.multi-bill-file-info{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.multi-bill-file-icon{color:#6c757d;flex-shrink:0;font-size:16px}.multi-bill-file-name{color:#495057;flex:1 1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-bill-file-size{color:#6c757d;flex-shrink:0;font-size:12px;margin-left:8px}.multi-bill-file-remove{background:none;border:none;border-radius:4px;color:#dc3545;cursor:pointer;flex-shrink:0;font-size:14px;padding:4px 8px;transition:all .2s}.multi-bill-file-remove:hover{background:#f8d7da}.multi-bill-progress{border-radius:6px;font-size:14px;margin:16px 0;padding:12px;text-align:center}.multi-bill-progress.resizing{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.multi-bill-progress.uploading{background:#cce7ff;border:1px solid #b3d7ff;color:#004085}.multi-bill-progress.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.multi-bill-progress.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.multi-bill-modal-footer{background:#f8f9fa;border-radius:0 0 12px 12px;border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.multi-bill-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:100px;padding:10px 20px;transition:all .2s}.multi-bill-button.cancel{background:#6c757d;color:#fff}.multi-bill-button.cancel:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.multi-bill-button.upload{background:#007bff;color:#fff}.multi-bill-button.upload:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.multi-bill-button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.multi-bill-help{border-top:1px solid #e9ecef;margin-top:20px;padding-top:16px}.multi-bill-help-item{align-items:flex-start;color:#6c757d;display:flex;font-size:12px;gap:6px;margin:6px 0}.multi-bill-help-item:before{color:#007bff;content:"•";font-weight:700}.multi-bill-spinner{animation:multiBillSpin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;display:inline-block;height:16px;margin-right:8px;vertical-align:middle;width:16px}@keyframes multiBillSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.multi-bill-modal-overlay{padding:10px}.multi-bill-modal{max-height:90vh;max-width:95%}.multi-bill-modal-header{padding:16px 20px 12px}.multi-bill-modal-body{padding:20px}.multi-bill-modal-footer{flex-direction:column;padding:16px 20px}.multi-bill-modal-footer .multi-bill-button{margin-bottom:8px;width:100%}.multi-bill-upload-area{padding:20px 15px}.multi-bill-upload-icon{font-size:36px}.multi-bill-upload-text{font-size:14px}.multi-bill-file-item{padding:8px 10px}}@media (max-width:480px){.multi-bill-modal-header{padding:12px 16px 8px}.multi-bill-modal-body{padding:16px}.multi-bill-modal-title{font-size:16px}.multi-bill-upload-area{padding:15px 12px}.multi-bill-upload-icon{font-size:32px}.multi-bill-button{min-width:auto;padding:12px 16px}}.status-suspicious{background-color:#ff9800;border-radius:4px;color:#fff;display:inline-block;font-weight:700;min-width:24px;padding:2px 6px;text-align:center}.compact-status .status-suspicious{font-size:12px;padding:2px 4px}.status-suspicious:hover{background-color:#f57c00;cursor:help}.bill-count-controls{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:15px;padding:15px}.bill-count-controls h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 12px}.bill-count-inputs{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.bill-count-input-group{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;display:flex;gap:8px;min-width:300px;padding:8px 12px}.bill-count-label{color:#495057;font-size:12px;font-weight:500;white-space:nowrap}.bill-count-input{border:1px solid #ced4da;border-radius:4px;font-size:12px;padding:4px 8px;text-align:center;width:80px}.bill-count-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.missing-indicator{background:#f8d7da;color:#dc3545}.missing-indicator,.out-of-range-indicator{border-radius:4px;font-size:11px;padding:2px 6px;white-space:nowrap}.out-of-range-indicator{background:#fff3cd;color:#856404}.count-not-set-indicator{background:#d1ecf1;border-radius:4px;color:#0c5460;font-size:11px;padding:2px 6px;white-space:nowrap}@media (max-width:768px){.bill-count-inputs{align-items:stretch;flex-direction:column}.bill-count-input-group{justify-content:space-between;min-width:auto}}.landing-page{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;min-height:100vh}.landing-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-bottom:1px solid #ffffff1a;padding:20px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.landing-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.landing-nav h1{color:#fff;font-size:2rem;font-weight:700;margin:0}.get-started-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.get-started-btn:hover{background:#ffffff4d;box-shadow:0 4px 15px #fff3;transform:translateY(-2px)}.landing-main{padding:40px 20px}.container,.landing-main{margin:0 auto;max-width:1200px}.container{padding:0 20px}.hero-section{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 1fr;margin-bottom:100px;min-height:70vh}.hero-content h1{font-size:3rem;font-weight:700;line-height:1.2;margin-bottom:20px}.hero-subtitle{font-size:1.3rem;line-height:1.6;margin-bottom:30px;opacity:.9}.hero-features{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:30px}.hero-feature{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;font-size:.9rem;padding:8px 16px}.cta-button{background:#4caf50;border:none;border-radius:8px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:10px;margin-right:15px;padding:16px 32px;transition:all .3s ease}.cta-button:hover{background:#45a049;box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.cta-button.large{font-size:1.2rem;padding:18px 40px}.hero-note{font-size:.9rem;margin-top:15px;opacity:.8}.app-preview{display:flex;flex-direction:column;gap:20px}.preview-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:25px;transition:all .3s ease}.preview-card:hover{background:#ffffff26;transform:translateY(-5px)}.preview-card h4{font-size:1.2rem;font-weight:600;margin:0 0 10px}.preview-card p{line-height:1.5;margin:0;opacity:.8}section{margin-bottom:100px}section h2{font-size:2.5rem;font-weight:700;margin-bottom:20px;text-align:center}.section-subtitle{font-size:1.2rem;margin-bottom:50px;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9;text-align:center}.benefits-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.benefit-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:30px;text-align:center;transition:all .3s ease}.benefit-card:hover{background:#ffffff26;transform:translateY(-5px)}.benefit-icon{font-size:2.5rem;margin-bottom:20px}.benefit-card h3{font-size:1.3rem;font-weight:600;margin-bottom:15px}.benefit-card p{line-height:1.6;opacity:.8}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.feature{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:30px;text-align:center;transition:all .3s ease}.feature:hover{background:#ffffff26;transform:translateY(-5px)}.feature-icon{align-items:center;background:#4caf50;border-radius:50%;display:flex;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.feature h3{font-size:1.3rem;font-weight:600;margin-bottom:15px}.feature p{line-height:1.6;margin-bottom:20px;opacity:.8}.feature-list{list-style:none;padding:0;text-align:left}.feature-list li{border-bottom:1px solid #ffffff1a;opacity:.8;padding:8px 0}.feature-list li:last-child{border-bottom:none}.stores-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.store-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:30px;text-align:center;transition:all .3s ease}.store-card:hover{background:#ffffff26;transform:translateY(-5px)}.store-logo{font-size:2.5rem;margin-bottom:15px}.store-card h3{font-size:1.3rem;font-weight:600;margin-bottom:15px}.store-card p{line-height:1.5;margin-bottom:20px;opacity:.8}.store-features{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.store-features span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:15px;font-size:.8rem;padding:4px 12px}.privacy-features{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(2,1fr);margin-bottom:40px}.privacy-item{align-items:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;display:flex;gap:20px;padding:25px;transition:all .3s ease}.privacy-item:hover{background:#ffffff26;transform:translateY(-5px)}.privacy-icon{flex-shrink:0;font-size:2rem}.privacy-content h3{font-size:1.2rem;font-weight:600;margin-bottom:10px}.privacy-content p{line-height:1.6;margin:0;opacity:.8}.privacy-guarantee{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:12px;padding:30px;text-align:center}.privacy-guarantee h4{font-size:1.5rem;font-weight:600;margin-bottom:15px}.privacy-guarantee p{font-size:1.1rem;line-height:1.6;margin:0;opacity:.9}.testimonials-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.testimonial-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:30px;transition:all .3s ease}.testimonial-card:hover{background:#ffffff26;transform:translateY(-5px)}.testimonial-content{font-style:italic;line-height:1.6;margin-bottom:20px;opacity:.9}.testimonial-author{align-items:center;display:flex;gap:15px}.author-avatar{font-size:2rem}.author-info{display:flex;flex-direction:column}.author-info strong{font-weight:600;margin-bottom:4px}.author-info span{font-size:.9rem;opacity:.7}.cta-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;margin-bottom:60px;padding:60px 40px;text-align:center}.cta-subtitle{font-size:1.2rem;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.cta-features{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.cta-feature{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;font-weight:500;padding:10px 20px}.cta-note{font-size:.9rem;margin-top:20px;opacity:.8}.faq-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(2,1fr)}.faq-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:30px;transition:all .3s ease}.faq-item:hover{background:#ffffff26;transform:translateY(-2px)}.faq-item h3{font-size:1.2rem;font-weight:600;margin-bottom:15px}.faq-item p{line-height:1.6;margin:0;opacity:.8}.landing-footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border-top:1px solid #ffffff4d;color:#fff;margin-top:50px;padding:50px 20px 30px}.footer-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 2fr;margin:0 auto 40px;max-width:1200px}.footer-brand h3{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:15px}.footer-brand p{color:#fff;line-height:1.6;margin-bottom:10px;opacity:.9}.footer-links{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.footer-column h4{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:15px}.footer-link{background:none;border:none;color:#fff;cursor:pointer;display:block;font-size:.9rem;opacity:.9;padding:8px 0;text-align:left;text-decoration:none;transition:all .3s ease;width:100%}.footer-link:hover{color:#4caf50;opacity:1;transform:translateX(5px)}.footer-bottom{border-top:1px solid #ffffff4d;margin:0 auto;max-width:1200px;padding-top:30px;text-align:center}.footer-bottom p{color:#fff;margin-bottom:15px;opacity:.9}.footer-security{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.footer-security span{color:#fff;font-size:.9rem;opacity:.9}.skip-link{background:#000;border-radius:4px;color:#fff;left:6px;padding:8px;position:absolute;text-decoration:none;top:-40px;z-index:10000}.skip-link:focus{top:6px}@media (max-width:1024px){.benefits-grid,.faq-grid,.features-grid,.stores-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}.footer-content{gap:30px;grid-template-columns:1fr}}@media (max-width:768px){.landing-header{padding:15px 20px}.hero-section{gap:40px;grid-template-columns:1fr;margin-bottom:60px;text-align:center}.hero-content h1{font-size:2.2rem}.hero-subtitle{font-size:1.1rem}.benefits-grid,.faq-grid,.features-grid,.footer-links,.privacy-features,.stores-grid,.testimonials-grid{gap:20px;grid-template-columns:1fr}.landing-nav{flex-direction:column;gap:15px;text-align:center}section h2{font-size:2rem}.cta-section{padding:40px 20px}.footer-security{flex-direction:column;gap:10px}}@media (max-width:480px){.landing-main{padding:20px 15px}.hero-content h1{font-size:1.8rem}.benefit-card,.faq-item,.feature,.privacy-item,.store-card,.testimonial-card{padding:20px}.cta-features{align-items:center;flex-direction:column}.hero-features{justify-content:center}}.loading-testimonials{font-size:1.1rem;opacity:.8;padding:60px 20px;text-align:center}.error-boundary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;margin:20px;padding:100px 20px;text-align:center}.error-boundary h2{font-size:2rem;margin-bottom:20px}.error-boundary p{margin-bottom:30px;opacity:.8}