@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&display=swap";:root{text-align:left;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;direction:ltr;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}body{text-align:left;direction:ltr;min-width:320px;min-height:100vh;margin:0}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:left;direction:ltr;background:#0a0e27;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%) fixed;min-height:100vh;padding:20px;position:relative;overflow-x:hidden}@media (max-width:768px){.app:has(.comparison-page){padding:0;overflow-x:visible}.app-main:has(.comparison-page){max-width:none;overflow-x:visible}}.app:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 20%,#10b9811a 0%,#0000 50%),radial-gradient(circle at 80% 80%,#3b82f61a 0%,#0000 50%),radial-gradient(circle at 40% 20%,#f9731614 0%,#0000 50%);position:fixed;inset:0}.app-header{text-align:center;color:#fff;z-index:1;margin-bottom:40px;position:relative}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1400px;margin:0 auto;display:flex}.header-content>div{flex:1;min-width:0}.app-header h1{background:linear-gradient(135deg,#10b981 0%,#3b82f6 50%,#f97316 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-family:Poppins,sans-serif;font-size:3rem;font-weight:800}.app-header p{color:#94a3b8;font-size:1.1rem;font-weight:400}.app-main{z-index:1;grid-template-columns:1fr;gap:30px;max-width:1400px;margin:0 auto;display:grid;position:relative}@media (max-width:768px){.app-main:has(.comparison-page){max-width:none;margin:0;padding:0;overflow-x:visible}}.form-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;padding:40px;transition:all .3s;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #ffffff0d}.form-section:hover{border-color:#ffffff26;box-shadow:0 25px 70px #0006,inset 0 0 0 1px #ffffff14}.form-group{margin-bottom:28px}.form-group label{color:#e2e8f0;text-align:left;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:14px;font-weight:600;display:block}.form-group input[type=text]{color:#f1f5f9;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:12px;width:100%;padding:14px 18px;font-family:Inter,sans-serif;font-size:16px;transition:all .3s}.form-group input[type=text]:focus{background:#ffffff14;border-color:#10b981;outline:none;box-shadow:0 0 0 4px #10b9811a}.form-group input[type=text]::placeholder{color:#64748b}.location-selectors{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:16px;display:grid}.location-select{color:#f1f5f9;cursor:pointer;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:12px;width:100%;padding:14px 18px;font-family:Inter,sans-serif;font-size:16px;transition:all .3s}.location-select:focus{background:#ffffff14;border-color:#10b981;outline:none;box-shadow:0 0 0 4px #10b9811a}.location-select:disabled{opacity:.5;cursor:not-allowed;background:#ffffff05}.location-select option{color:#f1f5f9;background:#1e293b;padding:8px}.input-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #ffffff14;border-radius:16px;margin-bottom:32px;padding:24px}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-header h2{color:#f1f5f9;text-align:left;letter-spacing:-.01em;font-family:Poppins,sans-serif;font-size:1.4rem;font-weight:700}.btn-add{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:10px;padding:12px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #10b9814d}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-add:active{transform:translateY(0)}.input-row{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;grid-template-columns:2fr 1fr auto;align-items:start;gap:12px;margin-bottom:16px;padding:16px;display:grid}.material-selector{flex-direction:column;grid-column:1;gap:8px;display:flex}.filter-controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.category-filter,.search-filter{color:#f1f5f9;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:8px;padding:10px 14px;font-family:Inter,sans-serif;font-size:13px;transition:all .3s}.category-filter:focus,.search-filter:focus{background:#ffffff14;border-color:#10b981;outline:none;box-shadow:0 0 0 3px #10b9811a}.category-filter option,.search-filter::placeholder{color:#64748b}.material-select{color:#f1f5f9;text-align:left;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;width:100%;padding:12px 16px;font-family:Inter,sans-serif;font-size:14px;transition:all .3s}.material-select:focus{background:#ffffff14;border-color:#3b82f6;outline:none;box-shadow:0 0 0 4px #3b82f61a}.material-select option{color:#f1f5f9;background:#1e293b;padding:8px}.input-row input[type=number]{color:#f1f5f9;text-align:left;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;grid-column:2;padding:12px 16px;font-family:Inter,sans-serif;font-size:14px;transition:all .3s}.input-row input[type=number]:focus{background:#ffffff14;border-color:#3b82f6;outline:none;box-shadow:0 0 0 4px #3b82f61a}.input-row input[type=number]::placeholder{color:#64748b}.input-row .btn-remove{grid-column:3}.btn-remove{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:none;border-radius:10px;padding:12px 18px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #ef44444d}.btn-remove:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.btn-remove:active{transform:translateY(0)}.btn-calculate{color:#fff;cursor:pointer;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:14px;width:100%;margin-top:24px;padding:18px 32px;font-family:Poppins,sans-serif;font-size:18px;font-weight:700;transition:all .3s;box-shadow:0 8px 24px #3b82f666}.btn-calculate:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 32px #3b82f680}.btn-calculate:active:not(:disabled){transform:translateY(-1px)}.btn-calculate:disabled{cursor:not-allowed;box-shadow:none;background:#475569;transform:none}.error-message{color:#fca5a5;text-align:left;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;margin-top:20px;padding:16px;font-weight:500}.info-message{color:#93c5fd;text-align:left;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:12px;margin-top:20px;padding:16px;font-weight:500}.results-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;padding:40px;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #ffffff0d}.results-section h2{color:#f1f5f9;text-align:left;letter-spacing:-.02em;margin-bottom:24px;font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:700}.result-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #ffffff14;border-radius:20px;padding:32px}.result-total{text-align:left;border-bottom:2px solid #10b9814d;margin-bottom:32px;padding-bottom:24px}.result-total h3{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:.9rem;font-weight:600}.total-value{background:linear-gradient(135deg,#10b981 0%,#3b82f6 100%);-webkit-text-fill-color:transparent;letter-spacing:-.03em;-webkit-background-clip:text;background-clip:text;font-family:Poppins,sans-serif;font-size:3.5rem;font-weight:800}.breakdown{margin-bottom:32px}.breakdown h3{color:#e2e8f0;text-align:left;margin-bottom:18px;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:700}.breakdown-item{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff08;border-left:4px solid;border-radius:12px;justify-content:space-between;margin-bottom:10px;padding:16px 20px;transition:all .3s;display:flex}.breakdown-item:nth-child(2){border-left-color:#10b981}.breakdown-item:nth-child(3){border-left-color:#3b82f6}.breakdown-item:nth-child(4){border-left-color:#f97316}.breakdown-item:nth-child(5){border-left-color:#8b5cf6}.breakdown-item.total{background:#10b9811a;border-left-color:#10b981;font-weight:700}.breakdown-item:hover{background:#ffffff0d;transform:translate(4px)}.breakdown-item span:first-child{color:#cbd5e1;font-size:15px;font-weight:600}.breakdown-item span:last-child{color:#10b981;font-family:Poppins,sans-serif;font-size:15px;font-weight:700}.details-section{border-top:1px solid #ffffff1a;margin-top:28px;padding-top:28px}.details-section h4{color:#e2e8f0;text-align:left;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:700}.detail-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;justify-content:space-between;margin-bottom:8px;padding:12px 16px;font-size:14px;transition:all .2s;display:flex}.detail-item:hover{background:#ffffff0a;border-color:#ffffff1a}.detail-item span:first-child{color:#94a3b8;font-weight:500}.detail-item span:last-child{color:#3b82f6;font-family:Poppins,sans-serif;font-weight:700}.formula-info{color:#93c5fd;text-align:left;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:12px;margin-bottom:24px;padding:16px;font-family:Inter,monospace;font-size:14px}.details-table{border-collapse:collapse;background:#ffffff05;border-radius:12px;width:100%;margin-top:12px;overflow:hidden}.details-table thead{background:#ffffff0d}.details-table th{text-align:left;color:#e2e8f0;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #ffffff1a;padding:14px 16px;font-family:Poppins,sans-serif;font-size:13px;font-weight:700}.details-table td{color:#cbd5e1;border-bottom:1px solid #ffffff0d;padding:12px 16px;font-size:14px}.details-table tbody tr:hover{background:#ffffff08}.details-table tbody tr:last-child td{border-bottom:none}.details-table td:nth-child(4),.details-table td:nth-child(5){color:#3b82f6;font-family:Poppins,sans-serif;font-weight:600}@media (min-width:768px){.app-main{grid-template-columns:1fr 1fr}.input-row{grid-template-columns:2fr 1fr auto}.filter-controls{grid-template-columns:1fr 1.5fr}.app-header h1{font-size:3.5rem}}.mobile-home-button{z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f172af2;border-bottom:1px solid #ffffff1a;padding:12px 16px;display:none;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 12px #0000004d}.mobile-home-button button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-family:Poppins,sans-serif;font-size:16px;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 12px #3b82f666}.mobile-home-button button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680}.mobile-home-button button:active{transform:translateY(0)}@media (max-width:768px){.mobile-home-button{display:block}.app{padding:70px 12px 12px}.app-header{margin-top:0}.form-section,.results-section{box-sizing:border-box;border-radius:16px;max-width:100%;padding:20px 16px;overflow-x:hidden}.app-header h1{margin-bottom:8px;font-size:1.75rem}.app-header p{font-size:.95rem}.total-value{font-size:2rem}.input-row{grid-template-columns:1fr;gap:8px;padding:12px}.material-selector,.input-row input[type=number],.input-row .btn-remove{grid-column:1;width:100%}.filter-controls{grid-template-columns:1fr;gap:8px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.section-header h2{font-size:1.2rem}.details-table{-webkit-overflow-scrolling:touch;width:100%;font-size:11px;display:block;overflow-x:auto}.details-table thead,.details-table tbody,.details-table tr{display:block}.details-table th,.details-table td{text-align:left;border-bottom:1px solid #ffffff0d;padding:8px 10px;display:block}.details-table th{background:#ffffff0d;border-bottom:2px solid #ffffff1a;font-weight:700}.details-table td:before{content:attr(data-label)": ";color:#94a3b8;min-width:100px;font-weight:600;display:inline-block}.location-selectors{grid-template-columns:1fr;gap:12px}.header-content{flex-direction:column;align-items:stretch;gap:12px}.header-content>div:first-child{text-align:center}.header-content>div:last-child{flex-direction:column;gap:8px;display:flex}.btn-upload-header{justify-content:center;width:100%;padding:10px 16px;font-size:13px}.app-main{grid-template-columns:1fr;gap:20px}.results-section,.result-card{padding:20px 16px}.breakdown-item{flex-direction:column;align-items:flex-start;gap:8px}.form-group{margin-bottom:20px}.btn-calculate{padding:16px 24px;font-size:16px}:not(.comparison-page):not(.comparison-page *):not(.comparison-page>*){box-sizing:border-box;max-width:100%}body{overflow-x:hidden}.comparison-page{width:100vw!important;max-width:none!important;overflow-x:auto!important}.comparison-page>*{max-width:none!important}.app-main:has(.comparison-page){max-width:none!important;margin:0!important;padding:0!important;overflow-x:visible!important}}.file-upload-container{margin-top:16px}.file-upload-area{margin-bottom:16px}.file-upload-label{cursor:pointer;text-align:center;color:#cbd5e1;background:#ffffff08;border:2px dashed #fff3;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:40px 20px;font-size:16px;font-weight:500;transition:all .3s;display:flex}.file-upload-label:hover:not(:has(input:disabled)){background:#ffffff0d;border-color:#10b981;transform:translateY(-2px);box-shadow:0 8px 24px #10b98133}.file-upload-label:has(input:disabled){opacity:.6;cursor:not-allowed}.upload-icon{margin-bottom:12px;font-size:48px;display:block}.upload-hint{color:#64748b;margin-top:8px;font-size:13px;font-weight:400}.upload-success-message{color:#6ee7b7;text-align:left;background:#10b98126;border:1px solid #10b9814d;border-radius:10px;margin-bottom:12px;padding:12px 16px;font-size:14px;font-weight:500}.upload-error-message{color:#fca5a5;text-align:left;background:#ef444426;border:1px solid #ef44444d;border-radius:10px;margin-bottom:12px;padding:12px 16px;font-size:14px;font-weight:500}.uploaded-files-list{border-top:1px solid #ffffff1a;margin-top:24px;padding-top:24px}.uploaded-files-list h4{color:#e2e8f0;text-align:left;margin-bottom:16px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:700}.files-grid{gap:12px;display:grid}.file-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;padding:16px;transition:all .3s;display:flex}.file-item:hover{background:#ffffff0d;border-color:#ffffff1f;transform:translate(4px)}.file-info{flex:1;align-items:center;gap:12px;display:flex}.file-icon{font-size:24px}.file-details{flex-direction:column;flex:1;gap:4px;display:flex}.file-name{color:#e2e8f0;text-align:left;word-break:break-word;font-size:14px;font-weight:600}.file-meta{color:#94a3b8;text-align:left;font-size:12px}.btn-delete-file{color:#fca5a5;cursor:pointer;background:#ef444433;border:1px solid #ef44444d;border-radius:8px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:8px 12px;font-size:16px;transition:all .3s;display:flex}.btn-delete-file:hover{background:#ef44444d;border-color:#ef444480;transform:scale(1.1)}.btn-delete-file:active{transform:scale(.95)}.btn-upload-header{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1.5px solid #fff3;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s;display:flex}.btn-upload-header:hover{color:#10b981;background:#ffffff26;border-color:#10b981;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.btn-upload-header:active{transform:translateY(0)}.btn-back{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s}.btn-back:hover{color:#e2e8f0;background:#ffffff1a;border-color:#fff3;transform:translate(-2px)}.btn-back:active{transform:translate(0)}@media (max-width:768px){.file-upload-label{min-height:120px;padding:30px 16px}.upload-icon{font-size:36px}.file-item{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.file-info{width:100%}.btn-delete-file{justify-content:center;width:100%}.header-content{flex-direction:column;align-items:center}.header-content>div{text-align:center}.btn-upload-header{justify-content:center;width:100%;max-width:100%}.tabs-container{border-bottom:none;flex-direction:column;gap:8px;display:flex}.tabs-container button{border-radius:8px;width:100%;margin-right:0}.form-section>div:first-of-type{-webkit-overflow-scrolling:touch;overflow-x:auto}.form-section>div[style*="display: flex"][style*="gap: 8px"]{flex-direction:column;gap:8px}.form-section>div[style*=grid-template-columns]{grid-template-columns:1fr!important}.form-section>div[style*=maxHeight]{max-height:400px}.form-section>div[style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:1fr!important}.form-section>div[style*="flex-wrap: wrap"]{flex-wrap:wrap;gap:8px}.form-section h2{font-size:1.3rem}.form-section h3{font-size:1.1rem}.form-section h4{font-size:1rem}.form-section>*{margin-bottom:16px}.form-section>:last-child{margin-bottom:0}}.comparison-page{box-sizing:border-box;background:0 0;width:100%;max-width:1600px;margin:0 auto;padding:20px;position:relative}.comparison-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.comparison-header h1{color:#f1f5f9;background:linear-gradient(135deg,#10b981 0%,#3b82f6 50%,#f97316 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;flex:1;margin:0;font-family:Poppins,sans-serif;font-size:2.5rem;font-weight:800}.btn-back,.btn-refresh,.btn-export{color:#cbd5e1;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;padding:10px 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s}.btn-export{position:relative;overflow:hidden}.btn-export:disabled{opacity:.6;cursor:not-allowed}.btn-export-pdf{color:#fca5a5;background:#dc262633;border-color:#dc26264d}.btn-export-pdf:hover:not(:disabled){color:#ef4444;background:#dc26264d;border-color:#dc262680;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.btn-export-excel{color:#86efac;background:#22c55e33;border-color:#22c55e4d}.btn-export-excel:hover:not(:disabled){color:#22c55e;background:#22c55e4d;border-color:#22c55e80;transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}.btn-back:hover,.btn-refresh:hover{color:#e2e8f0;background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.btn-refresh{color:#6ee7b7;background:#10b98133;border-color:#10b9814d}.btn-refresh:hover{color:#10b981;background:#10b9814d;border-color:#10b98180}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#f1f5f9;background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;padding:20px;transition:all .3s;box-shadow:0 4px 12px #0003}.stat-card:hover{border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.stat-label{opacity:.8;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:8px;font-family:Inter,sans-serif;font-size:12px;font-weight:600}.stat-value{color:#f1f5f9;margin:8px 0 4px;font-family:Poppins,sans-serif;font-size:28px;font-weight:700}.stat-unit{opacity:.7;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:11px;font-weight:500}.stat-card-primary{background:linear-gradient(135deg,#ef44441a 0%,#ffffff08 100%);border-left:4px solid #ef4444}.stat-card-secondary{background:linear-gradient(135deg,#3b82f61a 0%,#ffffff08 100%);border-left:4px solid #3b82f6}.stat-card-tertiary{background:linear-gradient(135deg,#22c55e1a 0%,#ffffff08 100%);border-left:4px solid #22c55e}.stat-card-quaternary{background:linear-gradient(135deg,#f59e0b1a 0%,#ffffff08 100%);border-left:4px solid #f59e0b}.chart-selector{background:#ffffff05;border:1px solid #ffffff14;border-radius:16px;flex-wrap:wrap;gap:10px;margin-bottom:30px;padding:15px;display:flex}.chart-selector button{color:#cbd5e1;cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;padding:12px 24px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;transition:all .3s}.chart-selector button:hover{color:#e2e8f0;background:#ffffff14;border-color:#ffffff26;transform:translateY(-1px)}.chart-selector button.active{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.chart-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;margin-bottom:30px;padding:30px;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #ffffff0d}.chart-wrapper{width:100%}.chart-wrapper h2{color:#e2e8f0;text-align:center;letter-spacing:-.01em;margin-bottom:20px;font-family:Poppins,sans-serif;font-size:1.4rem;font-weight:700}.comparison-table{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;padding:30px;overflow-x:auto;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #ffffff0d}.comparison-table h2{color:#e2e8f0;text-align:center;letter-spacing:-.02em;margin-bottom:20px;font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:700}.table-wrapper{border:1px solid #ffffff14;border-radius:12px;overflow-x:auto}.comparison-table table{border-collapse:collapse;width:100%;min-width:1200px}.comparison-table th{color:#e2e8f0;text-align:left;z-index:10;text-transform:uppercase;letter-spacing:.05em;background:#ffffff0d;border-bottom:2px solid #ffffff1a;padding:14px 12px;font-family:Poppins,sans-serif;font-size:13px;font-weight:700;position:sticky;top:0}.comparison-table th:first-child{border-top-left-radius:12px}.comparison-table th:last-child{border-top-right-radius:12px}.comparison-table td{color:#cbd5e1;border-bottom:1px solid #ffffff0d;padding:12px;font-family:Inter,sans-serif;font-size:13px}.comparison-table tr:hover{background:#ffffff08}.comparison-table tr:last-child td{border-bottom:none}.comparison-table td strong{color:#f1f5f9;font-weight:600}.loading-message,.error-message,.no-data-message{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#94a3b8;background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;padding:40px;font-family:Inter,sans-serif;font-size:16px}.error-message{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d}.no-data-message{color:#fbbf24;background:#f973161a;border:1px solid #f973164d}@media (max-width:1200px){.comparison-page{padding:15px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.stat-value{font-size:20px}}@media (max-width:768px){.comparison-page{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;box-sizing:border-box;gap:12px;height:calc(100vh - 70px);scroll-padding:12px;position:relative;flex-direction:row!important;width:100vw!important;min-width:100vw!important;max-width:none!important;margin:0!important;padding:70px 12px 0!important;display:flex!important;overflow:auto hidden!important}.comparison-page>*{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;flex:0 0 calc(100vw - 24px);width:calc(100vw - 24px);min-width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100vh - 70px);margin-right:12px;position:relative;overflow:hidden auto}.comparison-page>.chart-container{width:calc(100vw - 24px)!important;min-width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}.comparison-page>:last-child{margin-right:0}.comparison-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:0;padding:16px}.comparison-header h1{text-align:center;width:100%;margin:0 0 12px;font-size:1.5rem}.comparison-header .btn-back{width:100%;margin-bottom:8px;padding:12px;font-size:14px}.header-actions{flex-direction:column;gap:8px;width:100%;display:flex}.header-actions button{width:100%;padding:12px;font-size:13px}.summary-stats{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:0;padding:16px;display:grid;overflow-y:auto}.stat-card{min-width:0;padding:14px}.stat-label{margin-bottom:8px;font-size:10px;line-height:1.3}.stat-value{margin:6px 0;font-size:22px}.stat-unit{margin-top:4px;font-size:9px}.chart-selector{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;gap:8px;margin-bottom:0;padding:16px;display:flex;overflow-y:auto}.chart-selector button{text-align:center;width:100%;padding:14px 16px;font-size:13px}.chart-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;min-height:450px;margin-bottom:0;padding:16px;display:flex;position:relative;overflow:visible auto;width:calc(100vw - 24px)!important;min-width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}.chart-wrapper{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:100%;max-width:100%;display:flex;position:relative;overflow:visible}.chart-wrapper h2{text-align:center;flex-shrink:0;margin-bottom:16px;font-size:1.1rem}.chart-wrapper>div{box-sizing:border-box;width:100%!important;min-width:100%!important;max-width:100%!important}.chart-wrapper .recharts-wrapper{width:100%!important;min-width:100%!important;max-width:100%!important}.chart-wrapper .recharts-responsive-container{box-sizing:border-box;width:100%!important;min-width:100%!important;max-width:100%!important;height:400px!important;min-height:400px!important;position:relative!important}.chart-wrapper .recharts-surface{width:100%!important;max-width:100%!important;overflow:visible!important}.chart-wrapper svg{width:100%!important;max-width:100%!important;display:block!important;overflow:visible!important}.chart-wrapper canvas{display:block!important}.comparison-table{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:0;padding:16px;overflow:hidden auto}.comparison-table h2{text-align:center;margin-bottom:16px;font-size:1.2rem}.table-wrapper{-webkit-overflow-scrolling:touch;border-radius:12px;width:100%;overflow-x:auto}.comparison-table table{width:100%;min-width:800px;font-size:11px}.comparison-table th,.comparison-table td{padding:10px 8px;font-size:11px}.comparison-page:before{content:"← Swipe right to see more →";color:#fff;z-index:999;pointer-events:none;background:#3b82f6f2;border-radius:25px;padding:10px 20px;font-size:13px;font-weight:600;animation:4s ease-in-out forwards fadeOutHint;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #3b82f666}@keyframes fadeOutHint{0%,60%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(20px)}}.comparison-page *{box-sizing:border-box}.app-main{max-width:none!important;overflow-x:visible!important}}@media print{.comparison-page{max-width:100%}.btn-back,.btn-refresh,.chart-selector{display:none}.chart-container,.comparison-table{page-break-inside:avoid}}.login-page{background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%) fixed;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 20%,#10b9811a 0%,#0000 50%),radial-gradient(circle at 80% 80%,#3b82f61a 0%,#0000 50%),radial-gradient(circle at 40% 20%,#f9731614 0%,#0000 50%);position:fixed;inset:0}.login-container{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:440px;padding:48px;position:relative;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #ffffff0d}.login-header{text-align:center;margin-bottom:40px}.login-header h1{background:linear-gradient(135deg,#10b981 0%,#3b82f6 50%,#f97316 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-family:Poppins,sans-serif;font-size:2.5rem;font-weight:800}.login-header p{color:#94a3b8;font-size:1rem;font-weight:400}.login-form{flex-direction:column;gap:24px;display:flex}.login-form .form-group{flex-direction:column;gap:10px;display:flex}.login-form label{color:#e2e8f0;text-transform:uppercase;letter-spacing:.05em;font-size:14px;font-weight:600}.login-form input{color:#f1f5f9;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:12px;width:100%;padding:14px 18px;font-family:Inter,sans-serif;font-size:16px;transition:all .3s}.login-form input:focus{background:#ffffff14;border-color:#10b981;outline:none;box-shadow:0 0 0 4px #10b9811a}.login-form input::placeholder{color:#64748b}.btn-login{color:#fff;cursor:pointer;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;width:100%;margin-top:8px;padding:16px 32px;font-family:Poppins,sans-serif;font-size:16px;font-weight:700;transition:all .3s;box-shadow:0 8px 24px #3b82f666}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #3b82f680}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{cursor:not-allowed;box-shadow:none;background:#475569;transform:none}.login-footer{text-align:center;border-top:1px solid #ffffff1a;margin-top:32px;padding-top:24px}.login-footer p{color:#64748b;font-size:12px}.error-message{color:#fca5a5;text-align:left;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:500}@media (max-width:768px){.login-container{padding:32px 24px}.login-header h1{font-size:2rem}}.user-management-page{max-width:1400px;margin:0 auto;padding:20px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.page-header h1{background:linear-gradient(135deg,#10b981 0%,#3b82f6 50%,#f97316 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;flex:1;font-family:Poppins,sans-serif;font-size:2.5rem;font-weight:800}.btn-add-user{color:#fff;cursor:pointer;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border:none;border-radius:10px;padding:12px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #10b9814d}.btn-add-user:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.loading-message{text-align:center;color:#94a3b8;padding:40px;font-size:16px}.error-message{color:#fca5a5;text-align:left;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;margin-bottom:24px;padding:16px;font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293bf2;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:500px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{color:#f1f5f9;font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:700}.btn-close{color:#cbd5e1;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;transition:all .3s;display:flex}.btn-close:hover{color:#f1f5f9;background:#fff3}.user-form{flex-direction:column;gap:20px;display:flex}.user-form .form-group{flex-direction:column;gap:8px;display:flex}.user-form label{color:#e2e8f0;text-transform:uppercase;letter-spacing:.05em;font-size:14px;font-weight:600}.user-form input[type=text],.user-form input[type=email],.user-form input[type=password],.user-form select{color:#f1f5f9;background:#0f172acc;border:1.5px solid #fff3;border-radius:10px;padding:12px 16px;font-family:Inter,sans-serif;font-size:14px;transition:all .3s}.user-form input::placeholder{color:#94a3b8;opacity:.7}.user-form select{color:#f1f5f9;background-color:#0f172acc}.user-form select option{color:#f1f5f9;background-color:#1e293b;padding:8px}.user-form input:focus,.user-form select:focus{color:#f1f5f9;background:#0f172af2;border-color:#10b981;outline:none;box-shadow:0 0 0 4px #10b9811a}.user-form input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin-right:8px}.form-actions{gap:12px;margin-top:8px;display:flex}.btn-cancel{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:10px;flex:1;padding:12px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s}.btn-cancel:hover{color:#e2e8f0;background:#ffffff1a;border-color:#fff3}.btn-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:10px;flex:1;padding:12px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #3b82f64d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.users-table-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;padding:24px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#ffffff0d}.users-table th{text-align:left;color:#e2e8f0;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #ffffff1a;padding:14px 16px;font-family:Poppins,sans-serif;font-size:13px;font-weight:700}.users-table td{color:#cbd5e1;border-bottom:1px solid #ffffff0d;padding:12px 16px;font-size:14px}.users-table tbody tr:hover{background:#ffffff08}.users-table tbody tr:last-child td{border-bottom:none}.role-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.status-active{color:#10b981;font-weight:600}.status-inactive{color:#ef4444;font-weight:600}.action-buttons{gap:8px;display:flex}.btn-edit,.btn-delete{cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:6px 10px;font-size:16px;transition:all .3s}.btn-edit:hover{background:#3b82f633;border-color:#3b82f666}.btn-delete:hover{background:#ef444433;border-color:#ef444466}@media (max-width:768px){.user-management-page{padding-top:70px;overflow-x:hidden}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{width:100%;font-size:1.5rem}.btn-add-user{width:100%}.users-table-container{-webkit-overflow-scrolling:touch;padding:16px;overflow-x:auto}.users-table{min-width:600px;font-size:11px}.users-table th,.users-table td{padding:8px 10px}.modal-content{max-height:85vh;margin:20px;padding:24px 20px}.modal-header h2{font-size:1.2rem}.user-management-page *{box-sizing:border-box;max-width:100%}}
