@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-family:"Inter", system-ui, sans-serif;--bg-primary:#f0f2f5;--bg-secondary:#fff;--text-primary:#1f2937;--text-secondary:#4b5563;--accent-primary:#2563eb;--accent-hover:#1d4ed8;--border-color:#e5e7eb;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);min-height:64px;box-shadow:var(--shadow-sm);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.brand{color:var(--accent-primary);align-items:center;gap:12px;font-size:1.25rem;font-weight:700;display:flex}.nav-links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.nav-link{cursor:pointer;color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:.9rem;font-weight:500;transition:all .2s}.nav-link:hover{background:var(--bg-primary);color:var(--text-primary)}.nav-link.active{color:var(--accent-primary);background:#eff6ff}.workspace{gap:24px;max-width:1400px;min-height:calc(100vh - 64px);margin:0 auto;padding:24px;display:flex}.sidebar-form{flex-direction:column;flex-shrink:0;gap:8px;width:380px;display:flex}.form-card{background:var(--bg-secondary);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.form-card-title{border-bottom:1px solid var(--border-color);background:#f8fafc;align-items:center;gap:8px;padding:12px 16px;font-size:1rem;font-weight:600;display:flex}.form-card-body{flex-direction:column;gap:8px;padding:16px;display:flex}.form-row{gap:12px;display:flex}.form-group{flex-direction:column;flex:1;gap:4px;margin-bottom:0;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-control{border:1px solid var(--border-color);border-radius:6px;outline:none;padding:8px 12px;font-size:.95rem;transition:border-color .2s}.form-control:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #2563eb1a}.shape-picker{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px;display:grid}.shape-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px;transition:all .2s;display:flex}.shape-btn svg{width:24px;height:24px;color:inherit}.shape-btn span{font-size:.75rem;font-weight:500}.shape-btn:hover{background:#eff6ff;border-color:#93c5fd}.shape-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#eff6ff}.result-panel{flex-direction:column;flex:1;gap:24px;display:flex}.result-card{background:var(--bg-secondary);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:12px;padding:24px}.result-header{border-bottom:1px solid var(--border-color);margin-bottom:24px;padding-bottom:12px;font-size:1.25rem;font-weight:600}.result-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-box{border:1px solid var(--border-color);text-align:center;background:#f8fafc;border-radius:8px;padding:16px}.stat-label{color:var(--text-secondary);margin-bottom:8px;font-size:.875rem}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.cost-breakdown{flex-direction:column;gap:12px;display:flex}.cost-row{background:#f8fafc;border-radius:6px;justify-content:space-between;padding:12px 16px;font-size:1rem;display:flex}.cost-row.total{color:var(--accent-primary);background:#eff6ff;border:1px solid #bfdbfe;font-size:1.25rem;font-weight:700}.toggle-group{flex-wrap:wrap;gap:8px;display:flex}.toggle-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:6px;outline:none;padding:8px 16px;font-size:.95rem;font-weight:500;transition:all .2s}.toggle-btn:hover{background:#f8fafc;border-color:#cbd5e1}.toggle-btn.active{color:var(--accent-primary);border-color:var(--accent-primary);background:#eff6ff}.quote-overlay{z-index:9999;background:#000c;flex-direction:column;width:100%;height:100vh;font-family:Inter,sans-serif;display:flex;position:fixed;top:0;left:0;overflow:hidden}.quote-paper-wrapper{flex:1;justify-content:center;padding:20px 0;display:flex;overflow-y:auto}.quote-actions{background:#1e293b;justify-content:center;gap:15px;margin:0;padding:15px;display:flex}.btn-print{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:16px;font-weight:700;display:flex}.btn-print:hover{background:#059669}.btn-export{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:16px;font-weight:700;display:flex}.btn-export:hover{background:#1d4ed8}.btn-close{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:10px 20px;font-size:16px;font-weight:700}.btn-close:hover{background:#dc2626}.quote-paper{color:#000;box-sizing:border-box;background:#fff;width:210mm;min-height:297mm;padding:20mm;box-shadow:0 0 20px #00000080}.quote-header{align-items:center;gap:20px;margin-bottom:15px;display:flex}.company-logo{justify-content:flex-start;align-items:center;width:200px;height:90px;display:flex}.company-logo img{object-fit:contain;max-width:100%;max-height:100%}.logo-placeholder{color:#94a3b8;background:#f1f5f9;border:1px dashed #cbd5e1;justify-content:center;align-items:center;width:100%;height:100%;font-weight:700;display:flex}.company-details h2{color:#1e293b;text-transform:uppercase;margin:0 0 5px;font-size:18px}.company-details p{color:#334155;margin:2px 0;font-size:13px}.quote-divider{border:none;border-top:2px solid #2563eb;margin:15px 0 25px}.quote-title-section{text-align:center;margin-bottom:30px}.quote-title{color:#1e293b;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:24px}.quote-date{color:#64748b;margin:5px 0 0;font-size:13px;font-style:italic}.customer-info{margin-bottom:25px}.customer-info p{margin:5px 0;font-size:14px}.quote-table{border-collapse:collapse;width:100%;margin-bottom:30px}.quote-table th,.quote-table td{vertical-align:top;border:1px solid #cbd5e1;padding:10px;font-size:14px}.quote-table th{text-align:center;background:#f1f5f9;font-weight:600}.specifications{color:#475569;margin-top:8px;font-size:13px;line-height:1.5}.quote-footer p{margin:5px 0;font-size:14px}.quote-footer ul{margin:5px 0 30px;padding-left:20px;font-size:13px}.signatures{justify-content:space-around;margin-top:40px;display:flex}.signature-box{text-align:center}.signature-box p{margin:0}.signature-box .sub-text{color:#64748b;margin-top:3px;font-size:12px;font-style:italic}@media print{@page{size:A4 portrait;margin:0}body.printing-mode{background:#fff;margin:0;padding:0}body.printing-mode *{visibility:hidden}body.printing-mode .quote-overlay{background:#fff;width:210mm;height:297mm;padding:0;display:block;position:absolute;top:0;left:0;overflow:visible}body.printing-mode .quote-overlay *{visibility:visible}body.printing-mode .no-print{display:none!important}body.printing-mode .quote-paper-wrapper{display:block;margin:0!important;padding:0!important;overflow:visible!important}body.printing-mode .quote-paper{box-sizing:border-box;page-break-after:avoid;page-break-inside:avoid;box-shadow:none!important;width:210mm!important;height:297mm!important;min-height:297mm!important;margin:0!important;padding:20mm!important}}.login-container{background-color:var(--bg-primary);justify-content:center;align-items:center;height:100vh;font-family:Inter,sans-serif;display:flex}.login-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:400px;padding:40px;position:relative;box-shadow:0 8px 24px #0003}.login-box h2{color:var(--text-primary);text-align:center;margin:0 0 8px;font-size:1.5rem}.login-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:24px;font-size:.9rem}.login-error{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:6px;margin-bottom:20px;padding:10px;font-size:.9rem}.login-form .form-group{margin-bottom:20px}.login-form label{color:var(--text-primary);margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.login-form input{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:6px;padding:10px 12px;font-size:1rem;transition:border-color .2s}.login-form input:focus{border-color:var(--accent-primary);outline:none}.login-button{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:10px;padding:12px;font-size:1rem;font-weight:600;transition:background .2s}.login-button:hover:not(:disabled){background:var(--accent-hover)}.login-button:disabled{opacity:.7;cursor:not-allowed}.manual-layout{color:#334155;background:#f8fafc;height:calc(100vh - 60px);font-family:Inter,sans-serif;display:flex;overflow:hidden}.manual-sidebar{z-index:10;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;width:300px;display:flex;box-shadow:2px 0 10px #00000005}.sidebar-header{border-bottom:1px solid #f1f5f9;padding:24px 20px}.sidebar-header h3{color:#0f172a;margin:0 0 4px;font-size:1.25rem;font-weight:700}.sidebar-header p{color:#94a3b8;margin:0;font-size:.85rem;font-weight:500}.manual-menu{flex:1;margin:0;padding:15px;list-style:none;overflow-y:auto}.manual-menu li{cursor:pointer;color:#64748b;border-radius:10px;align-items:center;margin-bottom:6px;padding:12px 16px;font-weight:500;transition:all .2s;display:flex}.menu-icon{margin-right:12px;font-size:1.1rem}.menu-text{font-size:.95rem}.manual-menu li:hover{color:#0ea5e9;background:#f1f5f9;transform:translate(2px)}.manual-menu li.active{color:#0284c7;background:#e0f2fe;font-weight:600;box-shadow:0 1px 2px #0000000d}.manual-content-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.manual-content{scroll-behavior:smooth;flex:1;padding:40px;overflow-y:auto}.content-panel{background:#fff;border:1px solid #f1f5f9;border-radius:16px;max-width:1000px;margin:0 auto;padding:40px;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000003}.fade-in{animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.panel-header{border-bottom:1px solid #e2e8f0;margin-bottom:30px;padding-bottom:20px}.section-badge{color:#1d4ed8;text-transform:uppercase;letter-spacing:.5px;background:#dbeafe;border-radius:20px;margin-bottom:12px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.panel-header h2{color:#0f172a;letter-spacing:-.5px;margin:0;font-size:2rem;font-weight:800}.lead-text{color:#475569;margin-bottom:25px;font-size:1.15rem;line-height:1.6}.two-col-layout{align-items:flex-start;gap:40px;display:flex}.two-col-layout.reverse{flex-direction:row-reverse}.col-text{flex:1}.col-img{flex:1.2;position:sticky;top:0}.doc-img{border:1px solid #e2e8f0;border-radius:12px;width:100%;height:auto;transition:transform .3s;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.doc-img:hover{transform:scale(1.02)}.panel-hero{text-align:center;padding:20px 0 50px}.panel-hero h1{color:#0f172a;margin-bottom:15px;font-size:2.5rem;font-weight:800}.panel-hero p{color:#64748b;max-width:600px;margin:0 auto;font-size:1.25rem}.intro-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.intro-card{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px;transition:all .3s}.intro-card:hover{background:#fff;border-color:#cbd5e1;transform:translateY(-5px);box-shadow:0 10px 15px -3px #0000000d}.card-icon{margin-bottom:15px;font-size:2.5rem}.intro-card h4{color:#1e293b;margin:0 0 10px;font-size:1.1rem;font-weight:700}.intro-card p{color:#64748b;margin:0;font-size:.9rem;line-height:1.5}.step-block{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:0 12px 12px 0;margin-bottom:20px;padding:20px}.step-block h4{color:#0f172a;margin:0 0 10px;font-size:1.1rem}.step-block p{color:#475569;margin:0 0 10px;line-height:1.5}.step-block ul{color:#475569;margin:0;padding-left:20px}.step-block li{margin-bottom:8px;line-height:1.5}.step-list{flex-direction:column;gap:16px;display:flex}.step-item{align-items:flex-start;gap:15px;display:flex}.step-num{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 4px 6px -1px #2563eb4d}.step-content{color:#334155;font-size:1rem;line-height:1.6}.step-content strong{color:#0f172a}.warning-box{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-top:20px;padding:16px;font-size:.95rem}.tip-box{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:16px;font-size:.95rem}.mt-20{margin-top:20px}@media (width<=1024px){.two-col-layout,.two-col-layout.reverse{flex-direction:column}.col-img{width:100%;margin-top:20px}.intro-grid{grid-template-columns:1fr}}@media (width<=768px){.manual-layout{flex-direction:column}.manual-sidebar{border-bottom:1px solid #e2e8f0;border-right:none;width:100%;max-height:200px}.manual-content{padding:20px}.content-panel{padding:24px}.panel-header h2{font-size:1.5rem}}.landing-container{color:#1e293b;background-color:#f8fafc;min-height:100vh;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.landing-navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background:#ffffffd9;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:20px 48px;display:flex;position:fixed;top:0;left:0;right:0}.landing-brand{color:#0f172a;align-items:center;gap:12px;font-size:1.5rem;font-weight:800;display:flex}.landing-brand-icon{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem}.landing-nav-links{align-items:center;gap:24px;display:flex}.landing-nav-link{color:#475569;cursor:pointer;font-weight:500;text-decoration:none;transition:color .3s}.landing-nav-link:hover{color:#3b82f6}.btn-login{color:#334155;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:8px 20px;font-weight:600;transition:all .3s}.btn-login:hover{background:#f1f5f9;border-color:#94a3b8}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#6366f1);border:none;border-radius:8px;padding:10px 24px;font-weight:600;transition:all .3s;box-shadow:0 4px 14px #3b82f666}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f699}.hero-section{text-align:center;padding:160px 24px 100px;position:relative;overflow:hidden}.hero-bg-glow{z-index:0;pointer-events:none;background:radial-gradient(circle,#3b82f626 0%,#fff0 70%);width:800px;height:800px;position:absolute;top:-10%;left:50%;transform:translate(-50%)}.hero-content{z-index:1;max-width:800px;margin:0 auto;position:relative}.hero-badge{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;margin-bottom:24px;padding:6px 16px;font-size:.875rem;font-weight:600;display:inline-block}.hero-title{color:#0f172a;margin-bottom:24px;font-size:3.5rem;font-weight:800;line-height:1.2}.hero-title span{background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-subtitle{color:#64748b;margin-bottom:40px;font-size:1.25rem;line-height:1.6}.hero-actions{justify-content:center;gap:16px;display:flex}.btn-large{border-radius:12px;padding:16px 32px;font-size:1.1rem}.btn-secondary{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:16px 32px;font-weight:600;transition:all .3s;box-shadow:0 2px 8px #0000000d}.btn-secondary:hover{border-color:#94a3b8;transform:translateY(-2px)}.features-section{background:#fff;padding:100px 24px}.section-header{text-align:center;margin-bottom:64px}.section-title{color:#0f172a;margin-bottom:16px;font-size:2.5rem;font-weight:800}.section-subtitle{color:#64748b;max-width:600px;margin:0 auto;font-size:1.1rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;max-width:1200px;margin:0 auto;display:grid}.feature-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;padding:32px;transition:all .4s}.feature-card:hover{background:#fff;border-color:#cbd5e1;transform:translateY(-8px);box-shadow:0 20px 40px #0000000d}.feature-icon{color:#3b82f6;background:linear-gradient(135deg,#eff6ff,#e0e7ff);border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:24px;font-size:2rem;display:flex}.feature-card h3{color:#0f172a;margin-bottom:12px;font-size:1.25rem;font-weight:700}.feature-card p{color:#64748b;line-height:1.6}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0f172a99;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px;width:100%;max-width:500px;padding:40px;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 25px 50px -12px #00000040}.modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s;position:absolute;top:24px;right:24px}.modal-close:hover{color:#0f172a}.modal-title{color:#0f172a;margin-bottom:8px;font-size:1.5rem;font-weight:800}.modal-subtitle{color:#64748b;margin-bottom:32px}.modal-content .form-group{text-align:left;margin-bottom:20px}.modal-content .form-group label{color:#334155;margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.form-control{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;width:100%;padding:12px 16px;font-size:1rem;transition:all .2s}.form-control:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing-footer{color:#94a3b8;text-align:center;background:#0f172a;padding:60px 24px}.footer-brand{color:#fff;margin-bottom:16px;font-size:1.5rem;font-weight:800}@media (width<=768px){.hero-title{font-size:2.5rem}.landing-navbar{padding:16px 24px}.landing-nav-links{display:none}.hero-actions{flex-direction:column}}
