.home-container{min-height:100vh;padding:0;background:#fff;display:flex;flex-direction:column}.home-container>.home-hero{padding-top:2rem;padding-bottom:2rem}.home-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001a;padding:1rem 2rem;width:100%}.home-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.home-logo-link{text-decoration:none;display:flex;align-items:center;gap:.5rem}.home-logo{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.home-header-nav{display:flex;gap:1.5rem;align-items:center}.home-nav-link{color:#495057;text-decoration:none;font-weight:500;transition:all .2s;padding:.5rem 1rem;border-radius:6px;display:flex;align-items:center;gap:.5rem}.home-nav-link:hover{color:#667eea;background:#667eea1a}.home-nav-link.home-user-link{color:#667eea}.home-nav-link.home-user-link:hover{background:#667eea26}.home-user-icon{font-size:1.1rem}.home-hero{max-width:900px;margin:0 auto;text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;flex:1;display:flex;flex-direction:column;justify-content:center}.home-logo-container{margin-bottom:2rem;display:flex;justify-content:center}.alfi-logo{max-width:200px;height:auto;margin:0 auto}.home-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home-subtitle{font-size:1.5rem;color:#2c3e50;margin-bottom:1rem;font-weight:500}.home-description{font-size:1.1rem;color:#34495e;line-height:1.8;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.home-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.home-button{padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.home-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.home-button.primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.home-button.secondary{background:#fff;color:#667eea;border:2px solid #667eea}.home-button.secondary:hover{background:#f8f9fa;transform:translateY(-2px)}.home-button.tertiary{background:#f8f9fa;color:#495057;border:2px solid #e0e0e0}.home-button.tertiary:hover{background:#e9ecef;border-color:#495057;transform:translateY(-2px)}.home-features{max-width:1200px;margin:4rem auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;padding:2rem}.feature-card{background:#fff;border-radius:12px;padding:2rem;text-align:center;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{font-size:1.5rem;margin-bottom:.5rem;color:#2c3e50;font-weight:600}.feature-card p{color:#34495e;line-height:1.6}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:#fff;border-radius:16px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 10px 40px #0000001a}.auth-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{text-align:center;color:#495057;margin-bottom:2rem;font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#2c3e50;font-size:.9rem}.form-group input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;color:#495057;font-size:.9rem}.auth-footer a{color:#667eea;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.terms-label{display:flex;align-items:flex-start;font-size:.9rem;color:#495057;line-height:1.5;cursor:pointer}.terms-link{color:#667eea;text-decoration:none;font-weight:500}.terms-link:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;text-align:center}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid #e0e0e0}.auth-divider span{padding:0 1rem;color:#666;font-size:.9rem}.google-auth-button{width:100%;background:#fff;color:#333;border:2px solid #e0e0e0;padding:.875rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.google-auth-button:hover:not(:disabled){border-color:#4285f4;box-shadow:0 2px 8px #4285f433}.google-auth-button:disabled{opacity:.6;cursor:not-allowed}.google-auth-button svg{flex-shrink:0}.upload-container{width:100%}.upload-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 10px 40px #0000001a}.upload-title{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.upload-subtitle{color:#666;margin-bottom:2rem;font-size:.95rem}.upload-area{margin-bottom:1.5rem}.file-input{display:none}.file-label{display:block;cursor:pointer;border:2px dashed #ddd;border-radius:12px;padding:2rem;text-align:center;transition:all .2s;background:#fafafa}.file-label:hover{border-color:#667eea;background:#f5f5ff}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#999}.upload-placeholder svg{color:#667eea}.upload-hint{font-size:.85rem;color:#999}.preview-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.preview-image{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #0000001a}.preview-text{color:#666;font-size:.9rem}.upload-actions{display:flex;gap:1rem;justify-content:center}.upload-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.upload-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.upload-button:disabled{opacity:.6;cursor:not-allowed}.reset-button{background:#f5f5f5;color:#666;border:2px solid #ddd;padding:.875rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.reset-button:hover:not(:disabled){background:#eee}.reset-button:disabled{opacity:.6;cursor:not-allowed}.result-container{margin-top:2rem}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.result-header h3{color:#333;font-size:1.5rem}.new-upload-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.new-upload-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.result-content{display:flex;flex-direction:column;gap:1.5rem}.result-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f9f9f9;border-radius:8px}.result-label{font-weight:600;color:#666;font-size:.9rem}.result-value{color:#333;font-family:Courier New,monospace;word-break:break-all}.result-analysis{display:flex;flex-direction:column;gap:.5rem}.analysis-content{background:#1e1e1e;color:#d4d4d4;padding:1.5rem;border-radius:8px;overflow-x:auto;font-family:Courier New,monospace;font-size:.85rem;line-height:1.6;max-height:500px;overflow-y:auto}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;border:1px solid #fcc}.bills-container{max-width:1200px;margin:0 auto;padding:2rem;background:transparent}.bills-header{margin-bottom:2rem}.bills-header h2{font-size:2rem;margin-bottom:1rem;color:#2c3e50;font-weight:700}.bills-tabs{display:flex;gap:1rem;border-bottom:2px solid #e0e0e0;margin-bottom:2rem}.tab-button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;transition:all .2s}.tab-button:hover{color:#2c3e50;background:#2c3e500d}.tab-button.active{color:#2c3e50;border-bottom-color:#667eea;background:#667eea14;font-weight:700}.bills-list{display:flex;flex-direction:column;gap:1.5rem}.bill-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.bill-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.bill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.bill-header h3{margin:0;font-size:1.25rem;color:#2c3e50;flex:1;font-weight:600}.bill-status{padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase}.bill-status.pending{background:#fff3cd;color:#856404}.bill-status.paid{background:#d4edda;color:#155724}.bill-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.bill-detail-item{display:flex;gap:.5rem}.detail-label{font-weight:600;color:#495057;min-width:100px}.detail-value{color:#2c3e50}.detail-value.amount{font-weight:600;color:#667eea;font-size:1.1rem}.bill-analysis{margin-top:1rem;padding:1rem;background:#fff!important;border:1px solid #e0e0e0;border-radius:8px}.bill-analysis h4{margin:0 0 .75rem;font-size:1rem;color:#2c3e50!important;font-weight:600}.analysis-content{color:#2c3e50!important;line-height:1.8;font-size:.95rem;background:transparent!important}.analysis-content p{margin:.75rem 0;color:#34495e!important;background:transparent!important}.analysis-content p:first-child{margin-top:0}.analysis-content p:last-child{margin-bottom:0}.action-required{margin-top:.5rem;padding:.75rem;background:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;color:#856404}.action-required strong{color:#856404;font-weight:600}.bill-attachments{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.attachments-list{display:flex;flex-wrap:wrap;gap:.5rem}.attachment-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:.875rem;color:#2c3e50}.attachment-button:hover{background:#e9ecef;border-color:#667eea;transform:translateY(-1px)}.attachment-icon{font-size:1rem}.attachment-name{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:#666;font-size:.8rem}.bill-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.mark-paid-button,.mark-pending-button{padding:.5rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.mark-paid-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mark-paid-button:hover{transform:translateY(-1px);box-shadow:0 2px 8px #667eea66}.mark-pending-button{background:#6c757d;color:#fff}.mark-pending-button:hover{background:#5a6268}.loading{text-align:center;padding:3rem;color:#495057;font-size:1.1rem}.empty-state{text-align:center;padding:3rem;color:#6c757d}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fcc}.attachment-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.attachment-modal-content{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;position:relative;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.attachment-close{position:absolute;top:1rem;right:1rem;background:#00000080;color:#fff;border:none;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.5rem;cursor:pointer;z-index:1001;display:flex;align-items:center;justify-content:center;transition:background .2s}.attachment-close:hover{background:#000000b3}.attachment-viewer{padding:2rem;overflow:auto;max-height:90vh}.attachment-viewer h3{margin:0 0 1rem;color:#2c3e50;font-size:1.25rem}.attachment-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.attachment-pdf{width:100%;min-height:600px;border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a}.attachment-download{text-align:center;padding:3rem}.attachment-download p{color:#666;margin-bottom:1.5rem}.download-button{display:inline-block;padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:transform .2s,box-shadow .2s}.download-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.attachment-loading,.attachment-error{text-align:center;padding:3rem;color:#666}.attachment-error{color:#c33}.user-container{max-width:600px;margin:0 auto;padding:2rem}.user-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #0000001a}.user-header{text-align:center;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:2px solid #f0f0f0}.user-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1rem;box-shadow:0 4px 12px #667eea4d}.user-header h2{font-size:1.75rem;color:#2c3e50;margin:0;font-weight:600}.user-info-section{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.info-label{font-weight:600;color:#495057;font-size:.95rem}.info-value{color:#2c3e50;font-size:1rem;font-weight:500;word-break:break-all;text-align:right}.user-actions{display:flex;justify-content:center;padding-top:2rem;border-top:2px solid #f0f0f0}.logout-button{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;padding:.875rem 2.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #ff6b6b4d}.logout-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b66}.feedback-container{max-width:700px;margin:0 auto;padding:2rem}.feedback-card{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 4px 20px #0000001a}.feedback-title{font-size:2rem;color:#2c3e50;margin-bottom:.5rem;font-weight:700;text-align:center}.feedback-subtitle{text-align:center;color:#495057;margin-bottom:2rem;font-size:1rem}.success-message{background:#d4edda;color:#155724;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;border:1px solid #c3e6cb}.success-icon{font-size:1.5rem;font-weight:700;color:#28a745}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1.5rem;border:1px solid #fcc}.feedback-form{display:flex;flex-direction:column;gap:2rem}.form-section{display:flex;flex-direction:column;gap:.75rem}.form-label{font-weight:600;color:#2c3e50;font-size:1rem}.rating-container{display:flex;align-items:center;gap:1rem}.rating-slider{flex:1;height:8px;border-radius:4px;background:#e0e0e0;outline:none;-webkit-appearance:none}.rating-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;box-shadow:0 2px 4px #0003}.rating-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:none;box-shadow:0 2px 4px #0003}.rating-display{display:flex;align-items:baseline;gap:.25rem;min-width:60px}.rating-value{font-size:2rem;font-weight:700;color:#667eea}.rating-max{font-size:1.2rem;color:#6c757d}.rating-labels{display:flex;justify-content:space-between;font-size:.85rem;color:#6c757d;margin-top:-.5rem}.toggle-group{display:flex;flex-direction:column;gap:1.5rem}.toggle-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:12px;border:2px solid #e0e0e0;transition:all .2s}.toggle-item:hover{border-color:#667eea;background:#f0f4ff}.toggle-question{color:#2c3e50;font-size:1rem;font-weight:500;flex:1}.toggle-switch{position:relative;display:inline-block;width:100px;height:44px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#dc3545;transition:.3s;border-radius:44px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;box-shadow:inset 0 2px 4px #0000001a}.toggle-slider:before{position:absolute;content:"";height:36px;width:36px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:#28a745}.toggle-switch input:checked+.toggle-slider:before{transform:translate(56px)}.toggle-label-yes,.toggle-label-no{font-size:.75rem;font-weight:600;color:#fff;z-index:1;transition:opacity .2s}.toggle-label-yes{opacity:0}.toggle-label-no{opacity:1}.toggle-switch input:checked+.toggle-slider .toggle-label-yes{opacity:1}.toggle-switch input:checked+.toggle-slider .toggle-label-no{opacity:0}.form-textarea{width:100%;padding:.875rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s;color:#2c3e50}.form-textarea:focus{outline:none;border-color:#667eea}.form-textarea::placeholder{color:#adb5bd}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.submit-button:disabled{opacity:.6;cursor:not-allowed}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0000001a;padding:1rem 2rem}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo-link{text-decoration:none;display:flex;align-items:center;gap:.5rem}.header-logo-img{height:32px;width:auto}.logo{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.header-nav{display:flex;gap:1.5rem;align-items:center}.nav-link{color:#495057;text-decoration:none;font-weight:500;transition:all .2s;padding:.5rem 1rem;border-radius:6px;display:flex;align-items:center;gap:.5rem}.nav-link:hover{color:#667eea;background:#667eea1a}.nav-link.user-link{color:#667eea}.nav-link.user-link:hover{background:#667eea26}.user-icon{font-size:1.1rem}.main-content{flex:1;padding:2rem;max-width:1200px;width:100%;margin:0 auto}.app{min-height:100vh;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
