.upload-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.upload-content{max-width:800px;width:100%;text-align:center}.upload-content h1{font-size:3rem;margin-bottom:1rem}.upload-subtitle{font-size:1.25rem;opacity:.9;margin-bottom:2rem}.export-instructions{background:#ffffff0d;border-left:4px solid #667eea;border-radius:.5rem;padding:1.5rem 2rem;margin-bottom:3rem;text-align:left}.export-instructions h3{margin-top:0;margin-bottom:1rem;color:#667eea;font-size:1.1rem}.export-instructions ol{margin:0;padding-left:1.5rem}.export-instructions li{margin-bottom:.75rem;line-height:1.6}.export-instructions ul{margin-top:.5rem;margin-bottom:0;padding-left:1.5rem}.export-instructions ul li{margin-bottom:.25rem;font-size:.95rem}.export-instructions strong{color:#fff;font-weight:600}.upload-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.upload-box{background:#ffffff0d;border:2px dashed rgba(255,255,255,.3);border-radius:1rem;padding:3rem 2rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-box:hover{background:#ffffff14;border-color:#ffffff80;transform:translateY(-4px)}.upload-box.drag-over{background:#667eea33;border-color:#667eea;transform:scale(1.02)}.upload-box.has-file{background:#667eea26;border-color:#667eea;border-style:solid}.upload-icon{font-size:3rem}.upload-text{display:flex;flex-direction:column;gap:.5rem}.upload-text strong{font-size:1.25rem}.upload-text span{opacity:.7;font-size:.9rem}.file-size{color:#51cf66}.file-hint{font-size:.8rem;opacity:.6;font-style:italic}.analyze-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.25rem 3rem;font-size:1.25rem;border-radius:3rem;cursor:pointer;font-weight:600;transition:all .3s ease;margin-top:1rem}.analyze-button:disabled{opacity:.5;cursor:not-allowed}.analyze-button:hover:not(:disabled){box-shadow:0 10px 30px #667eea66}.privacy-note{margin-top:2rem;opacity:.7;font-size:.9rem}.analyzing-animation{text-align:center;padding:4rem 2rem}.spinner-container{margin-bottom:2rem}.spinner{font-size:4rem;display:inline-block}.analyzing-animation h2{font-size:2rem;margin-bottom:.5rem}.analyzing-animation p{opacity:.7;font-size:1.1rem}.seo-content{margin-top:4rem;text-align:left;max-width:900px;margin-left:auto;margin-right:auto;padding:2rem;background:#ffffff05;border-radius:1rem}.seo-content h2{color:#667eea;margin-top:2rem;margin-bottom:1rem;font-size:1.8rem}.seo-content p{line-height:1.8;opacity:.9;margin-bottom:1.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}.feature{background:#ffffff0d;padding:1.5rem;border-radius:.75rem;border-left:3px solid #667eea}.feature h3{margin-top:0;margin-bottom:.75rem;font-size:1.1rem;color:#fff}.feature p{margin:0;font-size:.95rem;line-height:1.6;opacity:.85}.how-it-works{margin-top:3rem}.how-it-works ul{list-style:none;padding-left:0}.how-it-works li{padding-left:1.5rem;margin-bottom:.75rem;position:relative;line-height:1.6}.how-it-works li:before{content:"✓";position:absolute;left:0;color:#51cf66;font-weight:700}.keywords-section{margin-top:3rem;padding:1.5rem;background:#667eea1a;border-radius:.75rem}.keywords-section p{margin:0;line-height:2;opacity:.7;font-size:.9rem}@media(max-width:768px){.upload-content h1{font-size:2rem}.upload-subtitle{font-size:1rem}.upload-fields{grid-template-columns:1fr}.seo-content{padding:1.5rem}.seo-content h2{font-size:1.5rem}.features-grid{grid-template-columns:1fr}}.app{width:100%;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:2rem;display:flex;align-items:center;justify-content:center;min-height:100vh}.loading,.error{text-align:center;padding:3rem;background:#ffffff0d;border-radius:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.1);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error h2{color:#ff6b6b;margin-bottom:1rem}.error code{display:block;margin-top:1rem;padding:1rem;background:#0000004d;border-radius:.5rem;font-family:Courier New,monospace}.hero{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.hero h1{font-size:3rem;margin-bottom:.5rem;font-weight:700}.subtitle{font-size:1.25rem;opacity:.9}section{max-width:1200px;margin:0 auto;padding:3rem 2rem}section h2{font-size:2rem;margin-bottom:2rem;text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:2rem;border-radius:1rem;text-align:center;border:1px solid rgba(255,255,255,.1);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.stat-card:hover{box-shadow:0 10px 30px #667eea4d}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:1rem;opacity:.7;text-transform:uppercase;letter-spacing:1px}.chart-section{background:#ffffff05;border-radius:1rem;padding:2rem;border:1px solid rgba(255,255,255,.05)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.chart-header h2{margin-bottom:0}.chart-toggle{display:flex;gap:.5rem;background:#ffffff0d;padding:.25rem;border-radius:2rem}.chart-toggle button{padding:.5rem 1.25rem;background:transparent;color:#fff;border:none;border-radius:1.5rem;cursor:pointer;transition:all .3s ease;font-size:.9rem;opacity:.6}.chart-toggle button:hover{opacity:.8;background:#ffffff0d}.chart-toggle button.active{background:linear-gradient(135deg,#667eea,#764ba2);opacity:1}.category-detail{text-align:center;margin-top:1rem;padding:1rem;background:#667eea1a;border-radius:.5rem}.category-detail button{margin-top:.5rem;padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem}.category-detail button:hover{background:#764ba2}.category-list{display:flex;flex-direction:column;gap:1rem}.category-item{display:grid;grid-template-columns:50px 1fr auto auto;grid-template-rows:auto auto;gap:.5rem 1rem;align-items:center;padding:1.5rem;background:#ffffff0d;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;cursor:pointer}.category-rank{font-size:1.5rem;font-weight:700;opacity:.5;grid-row:1 / 3}.category-name{font-weight:500;grid-column:2}.category-amount{font-weight:700;font-size:1.25rem;grid-column:3}.category-percentage{opacity:.7;min-width:60px;text-align:right;grid-column:4}.category-bar{grid-column:2 / 5;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.category-bar-fill{height:100%;border-radius:4px}.payee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.payee-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:2rem;border-radius:1rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease;cursor:pointer}.payee-card:hover{box-shadow:0 10px 30px #667eea4d}.payee-name{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#667eea}.payee-count{font-size:.9rem;opacity:.7;margin-bottom:.5rem}.payee-amount{font-size:1.5rem;font-weight:700}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.insight-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:2rem;border-radius:1rem;border:1px solid rgba(255,255,255,.1);display:flex;gap:1rem;align-items:center;transition:all .3s ease;cursor:pointer}.insight-card:hover{box-shadow:0 0 30px #667eea4d}.insight-icon{font-size:2.5rem;flex-shrink:0}.insight-text{line-height:1.6}.insight-text strong{color:#667eea;font-weight:700}.footer{text-align:center;padding:2rem;opacity:.6;font-size:.9rem}.footer p{margin:.25rem 0}.comparison-toggle{margin-top:1.5rem;padding:.75rem 1.5rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:2rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.comparison-toggle:hover{background:#fff3;border-color:#ffffff80}.stat-comparison{margin-top:.75rem;font-size:.9rem;font-weight:600}.stat-comparison .positive{color:#51cf66}.stat-comparison .negative{color:#ff6b6b}.tabs{display:flex;gap:.5rem;justify-content:center;padding:2rem;flex-wrap:wrap}.tab{padding:.75rem 1.5rem;background:#ffffff0d;color:#ffffffb3;border:1px solid rgba(255,255,255,.1);border-radius:2rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.tab:hover{background:#ffffff1a;color:#fff}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.section-header h2{margin:0;flex:1}.search-input{padding:.75rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:2rem;color:#fff;font-size:1rem;min-width:250px;transition:all .3s ease}.search-input::placeholder{color:#ffffff80}.search-input:focus{outline:none;background:#ffffff1a;border-color:#667eea}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal{background:linear-gradient(135deg,#667eea33,#764ba233);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:1rem;padding:2rem;max-width:500px;width:100%;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close:hover{background:#fff3;transform:rotate(90deg)}.modal h2{margin:0 0 1.5rem;font-size:1.75rem}.modal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem}.modal-stat{text-align:center}.modal-stat-label{font-size:.9rem;opacity:.7;margin-bottom:.5rem}.modal-stat-value{font-size:1.75rem;font-weight:700;color:#667eea}.payee-avg{font-size:.9rem;opacity:.7;margin-top:.25rem}.upload-new-button{margin-top:1.5rem;padding:.75rem 1.5rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:2rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.upload-new-button:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.year-selector{margin-top:1.5rem;display:flex;align-items:center;gap:.75rem;justify-content:center}.year-selector label{font-size:1rem;opacity:.9}.year-selector select{padding:.75rem 1.5rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:2rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.year-selector select:hover{background:#fff3;border-color:#ffffff80}.year-selector select:focus{outline:none;border-color:#ffffffb3}.year-selector select option{background:#2d1b4e;color:#fff}.comparison-view{max-width:1200px;margin:0 auto;padding:3rem 2rem}.comparison-subtitle{text-align:center;font-size:1.25rem;opacity:.8;margin:-1rem 0 2rem}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.comparison-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:2rem;border-radius:1rem;border:1px solid rgba(255,255,255,.1)}.comparison-card h3{margin:0 0 1.5rem;font-size:1.25rem;text-align:center}.comparison-values{display:flex;justify-content:space-around;margin-bottom:1rem}.comparison-year{display:flex;flex-direction:column;align-items:center;gap:.5rem}.year-label{font-size:.9rem;opacity:.7}.year-value{font-size:1.5rem;font-weight:700}.comparison-change{text-align:center;padding:.75rem;background:#ffffff0d;border-radius:.5rem;font-weight:600;font-size:1.1rem}.comparison-change.positive{color:#51cf66}.comparison-change.negative{color:#ff6b6b}@media(max-width:768px){.hero h1,.stat-value{font-size:2rem}section h2{font-size:1.5rem}.category-item{grid-template-columns:40px 1fr;grid-template-rows:auto auto auto}.category-rank{grid-row:1 / 4}.category-amount,.category-percentage{grid-column:2}.category-bar{grid-column:1 / 3}}*{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:#0a0e27;color:#fff}#root{min-height:100vh}
