.landing-page{width:100%;overflow-x:hidden}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:100vh;padding:120px 60px;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.hero-content{display:flex;flex-direction:column;gap:24px}.hero-title{font-size:56px;font-weight:700;line-height:1.2;color:#1a1a1a;margin:0}.hero-subtitle{font-size:18px;color:#666;line-height:1.6;margin:0}.hero-cta{display:flex;gap:16px;margin-top:12px}.hero-cta .btn{min-width:200px}.hero-note{font-size:14px;color:#999;margin:0}.hero-image{display:flex;align-items:center;justify-content:center}.hero-visual{width:100%;max-width:500px;height:400px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;box-shadow:0 20px 60px #667eea33}.visualization-box{display:flex;flex-direction:column;gap:16px;width:100%}.visualization-item{display:flex;align-items:center;gap:12px;background:#ffffff1a;padding:16px 20px;border-radius:8px;color:#fff;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vis-icon{font-size:24px}.features{padding:120px 60px;background:#fff}.section-header{text-align:center;margin-bottom:60px}.section-header h2{font-size:42px;font-weight:700;margin:0 0 16px;color:#1a1a1a}.section-header p{font-size:18px;color:#666;margin:0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.feature-card{padding:32px;border:1px solid #eee;border-radius:12px;transition:all .3s ease;text-align:center}.feature-card:hover{border-color:#667eea;box-shadow:0 10px 30px #667eea1a;transform:translateY(-4px)}.feature-icon{font-size:48px;display:block;margin-bottom:16px}.feature-card h3{font-size:20px;font-weight:600;margin:0 0 12px;color:#1a1a1a}.feature-card p{font-size:14px;color:#666;margin:0;line-height:1.6}.how-it-works{padding:120px 60px;background:#f9f9f9}.steps-container{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;max-width:1200px;margin:60px auto 0}.step{flex:1;min-width:200px;text-align:center;padding:24px}.step-number{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;font-size:24px;font-weight:700;margin-bottom:16px}.step h3{font-size:18px;font-weight:600;margin:0 0 8px;color:#1a1a1a}.step p{font-size:14px;color:#666;margin:0}.arrow{font-size:24px;color:#667eea;font-weight:700}.pricing-preview{padding:120px 60px;background:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;max-width:1200px;margin:60px auto 0}.pricing-card{position:relative;padding:32px 24px;border:1px solid #eee;border-radius:12px;transition:all .3s ease}.pricing-card:hover{border-color:#667eea;box-shadow:0 10px 30px #667eea1a}.pricing-card.featured{border-color:#667eea;box-shadow:0 20px 50px #667eea33;transform:scale(1.05)}.pricing-tag{position:absolute;top:12px;right:12px;background:#667eea;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.pricing-card h3{font-size:24px;font-weight:700;margin:24px 0 8px;color:#1a1a1a}.pricing-price{font-size:42px;font-weight:700;color:#667eea}.pricing-price span{font-size:14px;color:#666;font-weight:400}.pricing-features{list-style:none;padding:24px 0;margin:24px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.pricing-features li{padding:8px 0;font-size:14px;color:#666}.pricing-features li.included{color:#333}.pricing-cta{text-align:center;margin-top:40px;font-size:14px;color:#666}.pricing-cta .link-text{color:#667eea;text-decoration:none;font-weight:600}.cta-section{padding:80px 60px;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.cta-section h2{font-size:42px;font-weight:700;margin:0 0 16px}.cta-section p{font-size:18px;margin:0 0 32px;opacity:.9}.cta-section .btn{background:#fff;color:#667eea;font-weight:600}@media (max-width: 1024px){.hero{grid-template-columns:1fr;padding:80px 40px;min-height:auto}.hero-title{font-size:42px}.features,.how-it-works,.pricing-preview,.cta-section{padding:80px 40px}.section-header h2{font-size:32px}.pricing-card.featured{transform:scale(1)}}@media (max-width: 640px){.hero{padding:60px 20px}.hero-title{font-size:32px}.hero-subtitle{font-size:16px}.hero-cta{flex-direction:column}.hero-cta .btn{width:100%}.features,.how-it-works,.pricing-preview,.cta-section{padding:60px 20px}.section-header h2{font-size:24px}.features-grid{grid-template-columns:1fr}.steps-container{gap:12px}.arrow{display:none}.step{min-width:auto}.pricing-grid{grid-template-columns:1fr}}.pricing-page{width:100%;overflow-x:hidden;background:#fff}.pricing-header{padding:80px 60px;text-align:center;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.pricing-header h1{font-size:48px;font-weight:700;margin:0 0 16px;color:#1a1a1a}.pricing-header p{font-size:18px;color:#666;margin:0 0 40px}.billing-toggle{display:flex;align-items:center;justify-content:center;gap:16px;font-weight:600;font-size:16px}.billing-toggle span{color:#999;cursor:pointer;transition:color .3s}.billing-toggle span.active{color:#1a1a1a}.toggle-switch{width:50px;height:28px;background:#ddd;border:none;border-radius:14px;cursor:pointer;position:relative;transition:background .3s;padding:2px}.toggle-switch[aria-checked=true]{background:#667eea}.toggle-slider{display:block;width:24px;height:24px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:left .3s}.toggle-switch[aria-checked=true] .toggle-slider{left:24px}.save-badge{background:gold;color:#333;padding:2px 8px;border-radius:4px;font-size:12px;margin-left:8px}.pricing-cards{padding:60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;max-width:1400px;margin:0 auto}.pricing-card{border:1px solid #eee;border-radius:12px;padding:32px 24px;position:relative;transition:all .3s ease;display:flex;flex-direction:column}.pricing-card:hover{border-color:#667eea;box-shadow:0 20px 50px #667eea1a}.pricing-card.featured{transform:scale(1.08);border-color:#667eea;box-shadow:0 30px 60px #667eea33}.pricing-tag{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.pricing-card h3{font-size:28px;font-weight:700;margin:24px 0 8px;color:#1a1a1a}.pricing-description{font-size:14px;color:#666;margin:0 0 24px}.pricing-price-block{display:flex;align-items:baseline;gap:8px;margin:24px 0}.pricing-price{font-size:48px;font-weight:700;color:#667eea}.pricing-period{font-size:14px;color:#999}.pricing-savings{margin-left:auto;background:#e8f4fd;color:#06c;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.btn-full{width:100%;margin:24px 0}.pricing-features{list-style:none;padding:0;margin:24px 0 0;flex-grow:1}.pricing-features li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0;font-size:14px;color:#666}.pricing-features li:last-child{border-bottom:none}.pricing-features li.included{color:#333;font-weight:500}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;min-width:20px;font-size:16px;font-weight:700}.pricing-features li.included .feature-icon{color:#10b981}.pricing-features li.excluded .feature-icon{color:#d1d5db}.comparison-section{padding:80px 60px;background:#f9f9f9}.comparison-section h2{text-align:center;font-size:36px;font-weight:700;margin:0 0 60px;color:#1a1a1a}.comparison-table{max-width:1000px;margin:0 auto;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #eee}.table-header{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:0;background:#f5f5f5;font-weight:600;border-bottom:2px solid #eee}.table-header .table-feature,.table-header .table-cell{padding:20px;font-size:14px;color:#1a1a1a}.table-group-title{grid-column:1 / -1;padding:16px 20px;background:#f9f9f9;font-weight:600;font-size:14px;color:#667eea;border-top:1px solid #eee;border-bottom:1px solid #eee}.table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:0;border-bottom:1px solid #f0f0f0;align-items:center}.table-feature{padding:16px 20px;font-size:14px;font-weight:500;color:#1a1a1a}.table-cell{padding:16px 20px;font-size:14px;text-align:center;color:#666}.faq-section{padding:80px 60px;max-width:1200px;margin:0 auto}.faq-section h2{text-align:center;font-size:36px;font-weight:700;margin:0 0 60px;color:#1a1a1a}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px}.faq-item{padding:24px;background:#f9f9f9;border-radius:8px;transition:all .3s}.faq-item:hover{background:#f0f0f0}.faq-item h3{font-size:16px;font-weight:600;margin:0 0 12px;color:#1a1a1a}.faq-item p{font-size:14px;color:#666;margin:0;line-height:1.6}.final-cta{padding:80px 60px;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.final-cta h2{font-size:42px;font-weight:700;margin:0 0 16px}.final-cta p{font-size:18px;margin:0;opacity:.9}.final-cta .btn{margin-top:32px;background:#fff;color:#667eea;font-weight:600}.cta-note{font-size:14px;margin-top:16px;opacity:.8}@media (max-width: 1024px){.pricing-cards{grid-template-columns:1fr;padding:40px}.pricing-card.featured{transform:scale(1)}.table-header,.table-row{grid-template-columns:1.5fr 1fr 1fr}.pricing-header,.comparison-section,.faq-section,.final-cta{padding:60px 40px}}@media (max-width: 640px){.pricing-cards{padding:20px}.pricing-header h1{font-size:32px}.pricing-header p{font-size:16px}.billing-toggle{flex-wrap:wrap;gap:12px}.table-header,.table-row{grid-template-columns:1fr 1fr}.pricing-header,.comparison-section,.faq-section,.final-cta{padding:40px 20px}.final-cta h2{font-size:28px}.faq-grid{grid-template-columns:1fr}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:40px;width:100%;max-width:420px}.auth-title{font-size:28px;font-weight:700;margin:0 0 8px;color:#1a1a1a}.auth-subtitle{font-size:14px;color:#666;margin:0 0 24px}.auth-form{display:flex;flex-direction:column;gap:16px;margin:24px 0}.form-group label{font-size:14px;font-weight:600;color:#333}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group input.input-error,.form-group input.input-error:focus{border-color:#e5484d;box-shadow:0 0 0 3px #e5484d1f}.form-group input.input-valid{border-color:#30a46c}.field-message{font-size:12px;line-height:1.4;margin-top:-2px}.field-message.is-error{color:#e5484d}.field-message.is-success{color:#30a46c}.strength-meter{display:flex;gap:4px;margin-top:2px}.strength-meter span{flex:1;height:4px;border-radius:2px;background:#e6e6e6;transition:background .2s}.strength-meter[data-strength=weak] span:nth-child(1){background:#e5484d}.strength-meter[data-strength=medium] span:nth-child(-n+2){background:#f5a524}.strength-meter[data-strength=strong] span{background:#30a46c}.strength-label{font-size:12px;color:#666;display:flex;justify-content:space-between;margin-top:4px}.form-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1.5;color:#555}.checkbox input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin:1px 0 0;cursor:pointer;accent-color:#667eea}.checkbox-label{flex:1;min-width:0}.link-text{color:#667eea;text-decoration:none;font-weight:500;transition:color .2s}.link-text:hover{color:#764ba2;text-decoration:underline}.btn{padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-lg{padding:14px 20px;font-size:16px}.btn-full{width:100%}.btn-oauth{flex:1;background:#f5f5f5;color:#333;border:1px solid #ddd}.btn-oauth:hover:not(:disabled){background:#efefef;border-color:#999}.btn-google:hover:not(:disabled){background:#f5f5f5}.btn-github:hover:not(:disabled){background:#f5f5f5}.oauth-icon{font-size:18px}.oauth-buttons{display:flex;gap:12px;margin:20px 0}.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:#999;font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ddd}.auth-footer{text-align:center;font-size:14px;color:#666;margin:24px 0 0}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.alert p{margin:0;font-size:14px}.alert-error{background:#fee;border:1px solid #fcc;color:#c33}.alert-close{background:none;border:none;color:#c33;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@media (max-width: 480px){.auth-card{padding:24px}.auth-title{font-size:24px}.oauth-buttons{flex-direction:column}.oauth-buttons .btn{width:100%}}.legal-page{min-height:100vh;background:#fafafa;color:#1a1a1a;display:flex;flex-direction:column}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 32px;background:#fff;border-bottom:1px solid #e6e6e6}.legal-brand{font-size:18px;font-weight:700;color:#1a1a1a;text-decoration:none}.legal-nav{display:flex;gap:20px;font-size:14px}.legal-content{flex:1;width:100%;max-width:760px;margin:0 auto;padding:48px 24px 64px;line-height:1.7}.legal-content h1{font-size:32px;font-weight:700;margin:0 0 8px}.legal-updated{font-size:13px;color:#888;margin:0 0 24px}.legal-notice{background:#fff8e6;border:1px solid #f5d78e;border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:28px}.legal-intro{font-size:16px;color:#444;margin:0 0 32px}.legal-content h2{font-size:18px;font-weight:600;margin:32px 0 10px}.legal-content p{font-size:15px;color:#333;margin:0 0 12px}.legal-footer{padding:24px 32px 40px;text-align:center;font-size:14px;border-top:1px solid #e6e6e6;background:#fff}@media (max-width: 600px){.legal-header{flex-direction:column;align-items:flex-start;gap:12px}.legal-content{padding:32px 20px 48px}.legal-content h1{font-size:26px}}.billing-page{width:100%;overflow-x:hidden;background:#fff}.billing-header{padding:80px 60px;background:linear-gradient(135deg,#667eea1a,#764ba21a);text-align:center}.billing-header h1{font-size:48px;font-weight:700;margin:0 0 12px;color:#1a1a1a}.billing-header p{font-size:18px;color:#666;margin:0}.billing-section{max-width:1000px;margin:60px auto;padding:0 60px}.billing-section h2{font-size:28px;font-weight:700;margin:0 0 32px;color:#1a1a1a;border-bottom:2px solid #667eea;padding-bottom:12px}.subscription-card{padding:32px;border:1px solid #eee;border-radius:12px;background:#f9f9f9;margin-bottom:32px}.subscription-info{margin-bottom:32px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;color:#666;font-size:14px}.info-row .value{font-weight:700;color:#1a1a1a;font-size:16px}.badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.badge-active{background:#d4edda;color:#155724}.badge-canceled{background:#f8d7da;color:#721c24}.badge-past_due{background:#fff3cd;color:#856404}.badge-trialing{background:#d1ecf1;color:#0c5460}.subscription-actions{display:flex;gap:12px;justify-content:center}.subscription-actions .btn{min-width:180px}.no-subscription{padding:48px 32px;text-align:center;background:#f9f9f9;border-radius:12px;border:1px dashed #ddd}.no-subscription p{margin:0 0 24px;color:#666;font-size:16px}.no-subscription .btn{margin:0 auto}.invoices-table{border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff}.table-header,.table-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:0;padding:16px;align-items:center;font-size:14px}.table-header{background:#f5f5f5;font-weight:600;color:#1a1a1a;border-bottom:2px solid #eee}.table-row{border-bottom:1px solid #eee}.table-row:last-child{border-bottom:none}.table-row:nth-child(2n){background:#fafafa}.link{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s}.link:hover{color:#764ba2;text-decoration:underline}.alert-error{padding:16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin:20px 0}@media (max-width: 1024px){.billing-section{padding:0 40px;margin:40px auto}.billing-header{padding:60px 40px}.subscription-actions{flex-direction:column}.subscription-actions .btn{min-width:unset;width:100%}}@media (max-width: 640px){.billing-header{padding:40px 20px}.billing-header h1{font-size:28px}.billing-header p{font-size:14px}.billing-section{padding:0 20px;margin:30px auto}.billing-section h2{font-size:20px;margin-bottom:20px}.subscription-card{padding:20px}.info-row{flex-direction:column;align-items:flex-start;gap:8px}.table-header,.table-row{grid-template-columns:1fr 1fr;padding:12px;font-size:13px}.table-header{display:none}.table-row{display:flex;flex-direction:column;padding:16px;border:1px solid #eee;margin-bottom:12px;border-radius:8px}.table-row:before{content:attr(data-label);font-weight:600;margin-bottom:4px;display:block}}.hub-page{width:100%;overflow-x:hidden;background:#fff}.hub-header{padding:60px;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.hub-header h1{font-size:42px;font-weight:700;margin:0 0 8px;color:#1a1a1a}.hub-header p{font-size:16px;color:#666;margin:0 0 40px}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{padding:20px;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 2px 4px #0000000d}.stat-label{display:block;font-size:12px;color:#999;font-weight:600;text-transform:uppercase;margin-bottom:8px}.stat-value{display:block;font-size:28px;font-weight:700;color:#667eea}.hub-categories{padding:60px;max-width:1400px;margin:0 auto}.category-section{margin-bottom:50px}.category-header{display:flex;align-items:flex-start;gap:20px;padding:24px;background:#f9f9f9;border-left:5px solid #667eea;border-radius:8px 8px 0 0;margin-bottom:20px}.category-icon{font-size:40px;line-height:1;flex-shrink:0;margin-top:4px}.category-info{flex:1}.category-info h2{font-size:22px;font-weight:700;margin:0 0 6px;color:#1a1a1a}.category-info p{font-size:14px;color:#666;margin:0}.category-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.nav-card{padding:24px;border:1px solid #eee;border-left:4px solid #667eea;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:16px;position:relative;background:#fff}.nav-card:hover{border-color:#667eea;box-shadow:0 10px 30px #667eea1a;transform:translateY(-4px)}.nav-icon{font-size:32px;flex-shrink:0}.nav-content{flex-grow:1}.nav-content h3{font-size:18px;font-weight:600;margin:0 0 4px;color:#1a1a1a}.nav-content p{font-size:14px;color:#666;margin:0}.nav-badge{display:inline-block;padding:4px 12px;background:#667eea;color:#fff;border-radius:20px;font-size:12px;font-weight:600;margin-right:12px}.nav-arrow{font-size:20px;color:#999;transition:color .3s}.nav-card:hover .nav-arrow{color:#667eea}.recent-activity{padding:60px;background:#f9f9f9}.recent-activity h2{font-size:28px;font-weight:700;margin:0 0 32px;color:#1a1a1a}.activity-list{max-width:800px}.activity-item{padding:16px;background:#fff;border-left:3px solid #667eea;border-radius:4px;margin-bottom:12px;display:flex;gap:16px}.activity-time{font-size:12px;color:#999;min-width:120px;font-weight:600}.activity-text{color:#666;font-size:14px}.upgrade-prompt{margin:60px;padding:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;text-align:center}.prompt-content h3{font-size:28px;font-weight:700;margin:0 0 12px}.prompt-content p{font-size:16px;margin:0 0 24px;opacity:.9}.upgrade-prompt .btn{background:#fff;color:#667eea;font-weight:600}@media (max-width: 1024px){.hub-header,.hub-categories{padding:40px}.category-cards{grid-template-columns:1fr}.category-header{flex-direction:column;text-align:center}.category-icon{margin-top:0}}@media (max-width: 640px){.hub-header{padding:20px}.hub-header h1{font-size:28px}.quick-stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:12px}.stat-value{font-size:20px}.hub-categories{padding:20px}.category-header{flex-direction:column;text-align:center;padding:16px}.category-icon{font-size:32px}.category-info h2{font-size:18px}.category-cards{grid-template-columns:1fr}.nav-card{flex-direction:column;text-align:center}.nav-content p{font-size:13px}}.page-container{flex:1;padding:32px;overflow-y:auto}.page-header{margin-bottom:32px}.page-header h1{margin:0 0 8px;font-size:28px;color:#1f2937}.page-header p{margin:0;color:#666;font-size:14px}.page-controls{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}@media (max-width: 768px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.dashboard-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a}.dashboard-section h2{margin:0 0 20px;font-size:18px;color:#1f2937}.empty-message{text-align:center;color:#999;padding:20px;font-size:14px}.plans-list{display:flex;flex-direction:column;gap:12px}.plan-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-radius:6px;border-left:3px solid #3b82f6;transition:all .2s}.plan-item:hover{background:#f3f4f6}.plan-info{flex:1}.plan-info h3{margin:0 0 4px;font-size:16px;color:#1f2937}.plan-description{margin:0;font-size:13px;color:#666}.plan-meta{display:flex;gap:12px;align-items:center}.plan-date{font-size:13px;color:#999}.quotes-list{display:flex;flex-direction:column;gap:12px}.quote-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-radius:6px;border-left:3px solid #10b981;transition:all .2s}.quote-item:hover{background:#f3f4f6}.quote-info{flex:1}.quote-info h3{margin:0 0 4px;font-size:16px;color:#1f2937}.quote-part{margin:0;font-size:13px;color:#666}.quote-meta{display:flex;gap:12px;align-items:center}.quote-price{font-weight:600;font-size:16px;color:#10b981}.quote-date{font-size:13px;color:#999}.quotes-section{background:#fff;border-radius:8px;padding:24px;margin-top:32px;box-shadow:0 2px 8px #0000001a}.quotes-section h2{margin:0 0 20px;font-size:18px;color:#1f2937}.quotes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}@media (max-width: 768px){.quotes-grid{grid-template-columns:1fr}}.quote-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s}.quote-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.quote-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.quote-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.quote-details p{margin:0;font-size:14px;color:#4b5563}.quote-total{font-size:16px!important;font-weight:600!important;color:#10b981!important;padding-top:8px;border-top:1px solid #e5e7eb}.quote-date{font-size:12px;color:#999}.quote-actions{display:flex;gap:8px;flex-wrap:wrap}.form-container{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a}.form-container h2{margin:0 0 24px;font-size:20px;color:#1f2937}.generation-form,.quote-form,.train-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-group textarea{resize:vertical;min-height:100px}.result-container{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:24px;margin-top:24px}.result-container h2{margin:0 0 16px;color:#166534}.result-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.result-item{padding:12px;background:#fff;border-radius:6px;border-left:3px solid #10b981}.result-label{display:block;font-size:12px;color:#666;margin-bottom:4px}.result-value{display:block;font-size:16px;font-weight:600;color:#1f2937}.analytics-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000001a}.analytics-section h2{margin:0 0 20px;font-size:18px;color:#1f2937}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}@media (max-width: 768px){.analytics-grid{grid-template-columns:1fr}}.chart-container{background:#f9fafb;border-radius:8px;padding:16px}.simple-chart h3{margin:0 0 16px;font-size:16px;color:#1f2937}.status-breakdown{display:flex;flex-direction:column;gap:12px}.status-item{display:flex;align-items:center;gap:12px;font-size:13px}.status-name{min-width:80px;font-weight:500;color:#4b5563}.progress-bar{flex:1;height:24px;background:#fff;border-radius:4px;overflow:hidden;border:1px solid #e5e7eb}.progress-fill{height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-weight:500;font-size:11px;transition:width .3s ease}.fill-pending{background:#fbbf24}.fill-completed{background:#10b981}.fill-failed{background:#ef4444}.fill-active{background:#3b82f6}.status-count{min-width:30px;text-align:right;font-weight:600;color:#1f2937}.metrics-list{display:flex;flex-direction:column;gap:12px}.metric-item{display:flex;justify-content:space-between;padding:12px;background:#fff;border-radius:6px;font-size:13px}.metric-item span:first-child{color:#666}.metric-value{font-weight:600;color:#1f2937}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;padding:20px;text-align:center}.summary-card h3{margin:0 0 12px;font-size:14px;opacity:.9}.summary-value{margin:0;font-size:28px;font-weight:700}.summary-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.time-range-select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}@media (max-width: 768px){.page-container{padding:16px}.page-header h1{font-size:24px}.page-controls,.search-bar-container{flex-direction:column}.search-bar{min-width:100%}.stats-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column}.form-row{grid-template-columns:1fr}}.quotes-section{margin-top:32px}.quotes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:16px}.quote-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.quote-card:hover{box-shadow:0 4px 12px #00000026}.quote-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;border-bottom:1px solid #f3f4f6;padding-bottom:12px}.quote-header h3{margin:0;font-size:16px;color:#1f2937}.quote-details{margin-bottom:16px}.quote-details p{margin:8px 0;font-size:14px;color:#666}.quote-total{font-weight:600;color:#059669;font-size:16px;margin-top:12px}.quote-date{font-size:12px;color:#9ca3af;margin-top:8px}.cost-breakdown{margin:12px 0;padding:8px;background:#f9fafb;border-radius:4px;cursor:pointer}.cost-breakdown summary{font-size:13px;color:#06c;font-weight:500;-webkit-user-select:none;user-select:none}.breakdown-details{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.breakdown-details p{margin:4px 0;font-size:12px;color:#666}.quote-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #f3f4f6}.quote-actions button{flex:1}.empty-message{text-align:center;color:#9ca3af;padding:40px 20px;font-size:14px}.step-file-panel,.operations-table{margin-top:2rem}.operations-table table{width:100%;border-collapse:collapse;background:#fff}.operations-table th{background:#f3f4f6;padding:12px;text-align:left;font-weight:600;border-bottom:1px solid #e5e7eb}.operations-table td{padding:12px;border-bottom:1px solid #e5e7eb}.operations-table tr:hover{background:#f9fafb}.alert{display:flex;align-items:center;justify-content:space-between;padding:16px;margin-bottom:20px;border-radius:8px;border:1px solid;gap:12px}.alert-error{background-color:#fee2e2;border-color:#fecaca;color:#991b1b}.alert-success{background-color:#dcfce7;border-color:#86efac;color:#166534}.alert-warning{background-color:#fef3c7;border-color:#fcd34d;color:#92400e}.alert-info{background-color:#dbeafe;border-color:#bfdbfe;color:#1e40af}.alert-content{display:flex;align-items:center;gap:12px;flex:1}.alert-icon{font-weight:700;font-size:18px}.alert-message{font-size:14px}.alert-close{background:none;border:none;cursor:pointer;font-size:18px;padding:0;color:inherit;opacity:.7;transition:opacity .2s}.alert-close:hover{opacity:1}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.spinner{border:4px solid #f3f4f6;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.spinner-small{width:24px;height:24px}.spinner-medium{width:40px;height:40px}.spinner-large{width:60px;height:60px}.loading-message{margin-top:16px;font-size:16px;color:#666}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-error{background:#fee2e2;color:#991b1b}.btn{padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}.btn-large{padding:12px 24px;font-size:16px}.btn-small{padding:6px 12px;font-size:12px}*{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-color:#f5f5f5;color:#333}html{scroll-behavior:smooth}:root{--primary-color: #0066cc;--primary-dark: #0052a3;--primary-light: #e6f2ff;--success-color: #22863a;--danger-color: #cb2431;--warning-color: #bf8700;--border-radius: 8px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--transition: all .3s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}p{margin-bottom:1em;line-height:1.6}a{color:var(--primary-color);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-dark);text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--border-radius);padding:.5rem 1rem;font-size:1rem;transition:var(--transition)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;border:1px solid #ddd;border-radius:var(--border-radius);padding:.5rem;font-size:1rem}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.hidden{display:none}.spinner{border:4px solid rgba(0,0,0,.1);border-top:4px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}
