*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#1e3a5f;--sidebar-text:#fff;--sidebar-active:#f59e0b;--sidebar-width:220px;--page-bg:#f5f6fa;--main-bg:#fff;--card-bg:#fff;--border:#e2e8f0;--text-primary:#1e293b;--text-secondary:#64748b;--table-header:#f8fafc;--row-hover:#f1f5f9;--navy:#1e3a5f;--amber:#f59e0b;--amber-bright:#f5c842;--light-blue:#c8dff2;--status-green:#16a34a;--status-amber:#d97706;--status-red:#dc2626;--status-blue:#2563eb;--radius:8px;--shadow:0 2px 8px #00000014}html,body{background:var(--page-bg);color:var(--text-primary);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit;font-size:14px}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid #ffffff1a;padding:20px 16px}.sidebar-brand h1{color:#fff;font-size:16px;font-weight:700;line-height:1.2}.sidebar-brand p{opacity:.7;margin-top:2px;font-size:11px}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}.sidebar-nav a,.sidebar-nav-item{color:#fffc;cursor:pointer;align-items:center;gap:10px;padding:10px 16px;font-size:13px;text-decoration:none;transition:background .15s;display:flex}.sidebar-nav a:hover,.sidebar-nav-item:hover{color:#fff;background:#ffffff14;text-decoration:none}.sidebar-nav a.active,.sidebar-nav-item.active{background:var(--amber);color:#1e3a5f;font-weight:600}.sidebar-divider{border:none;border-top:1px solid #ffffff1a;margin:8px 0}.topbar{top:0;left:var(--sidebar-width);background:var(--main-bg);border-bottom:1px solid var(--border);z-index:99;justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex;position:fixed;right:0}.topbar-title{color:var(--navy);font-size:15px;font-weight:600}.topbar-user{color:var(--text-secondary);font-size:13px}.main-content{margin-left:var(--sidebar-width);min-height:calc(100vh - 52px);margin-top:52px;padding:24px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card-title{color:var(--navy);border-bottom:2px solid var(--light-blue);margin-bottom:16px;padding-bottom:12px;font-size:16px;font-weight:600}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:#2a4f80}.btn-amber{background:var(--amber);color:var(--navy);font-weight:600}.btn-amber:hover{background:#e8910a}.btn-secondary{color:var(--navy);border:1px solid var(--border);background:0 0}.btn-secondary:hover{background:var(--row-hover)}.btn-danger{background:var(--status-red);color:#fff}.btn-lg{padding:14px 24px;font-size:15px}.btn-sm{padding:5px 12px;font-size:13px}.option-buttons{flex-wrap:wrap;gap:12px;margin:8px 0;display:flex}.option-btn{border:2px solid var(--border);background:var(--card-bg);min-width:120px;color:var(--text-primary);text-align:center;cursor:pointer;border-radius:8px;flex:1;padding:14px 18px;font-size:14px;font-weight:500;transition:all .15s}.option-btn:hover{border-color:var(--navy);background:var(--light-blue)}.option-btn.selected{border-color:var(--amber);color:var(--navy);background:#fffbeb;font-weight:600}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-label.required:after{content:" *";color:var(--status-red)}.form-input{border:1px solid var(--border);width:100%;color:var(--text-primary);background:#fff;border-radius:6px;padding:8px 12px;font-size:14px;transition:border-color .15s}.form-input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1e3a5f14}.form-input:read-only{background:var(--table-header);color:var(--text-secondary)}.form-input.error{border-color:var(--status-red)}.form-select{border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;padding:8px 12px;font-size:14px}.form-select:focus{border-color:var(--navy)}.form-row{gap:16px;display:grid}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.step-indicator{align-items:center;gap:0;margin-bottom:28px;padding-bottom:4px;display:flex;overflow-x:auto}.step-item{flex:1;align-items:center;min-width:0;display:flex}.step-circle{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.step-circle.completed{color:#fff;background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.step-circle.current{background:var(--navy);color:#fff;box-shadow:0 0 0 3px var(--light-blue)}.step-circle.future{background:var(--border);color:var(--text-secondary)}.step-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-left:6px;font-size:12px;overflow:hidden}.step-label.current{color:var(--navy);font-weight:600}.step-connector{background:var(--border);flex:1;min-width:12px;height:2px;margin:0 4px}.step-connector.done{background:var(--amber)}.wizard-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;display:flex}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{border:1px solid var(--border);z-index:200;background:#fff;border-top:none;border-radius:0 0 6px 6px;max-height:240px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.autocomplete-item{cursor:pointer;border-bottom:1px solid var(--border);padding:10px 14px}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--row-hover)}.autocomplete-item strong{font-size:13px;display:block}.autocomplete-item span{color:var(--text-secondary);font-size:12px}.part-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:20px;position:relative}.part-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.part-number{color:var(--navy);background:var(--light-blue);border-radius:12px;padding:3px 10px;font-size:13px;font-weight:600}.question-block{background:var(--table-header);border-radius:var(--radius);border-left:3px solid var(--light-blue);margin-bottom:12px;padding:16px}.question-block.answered{border-left-color:var(--amber)}.question-text{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:500}.cost-table{border-collapse:collapse;width:100%;font-size:13px}.cost-table th{background:var(--table-header);text-align:left;border-bottom:2px solid var(--border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;font-size:12px;font-weight:600}.cost-table td{border-bottom:1px solid var(--border);padding:8px 12px}.cost-table tr:hover td{background:var(--row-hover)}.cost-total-row td{border-top:2px solid var(--border);background:var(--table-header);font-weight:600}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-green{color:var(--status-green);background:#dcfce7}.badge-amber{color:var(--status-amber);background:#fef3c7}.badge-red{color:var(--status-red);background:#fee2e2}.badge-blue{color:var(--status-blue);background:#dbeafe}.badge-grey{background:var(--table-header);color:var(--text-secondary)}.warning-box{border-radius:6px;align-items:flex-start;gap:10px;margin:12px 0;padding:12px 16px;font-size:13px;display:flex}.warning-box.warn{color:#92400e;background:#fef3c7;border:1px solid #fbbf24}.warning-box.info{color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}.warning-box.error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-secondary);cursor:pointer;padding:32px;transition:all .15s}.drop-zone:hover,.drop-zone.active{border-color:var(--navy);background:var(--light-blue);color:var(--navy)}.margin-selector{gap:8px;display:flex}.margin-btn{border:2px solid var(--border);background:var(--card-bg);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .15s}.margin-btn.selected{border-color:var(--navy);background:var(--navy);color:#fff}.grand-total-box{background:var(--navy);color:#fff;border-radius:var(--radius);margin-top:20px;padding:20px 24px}.grand-total-box .total-line{justify-content:space-between;align-items:center;padding:4px 0;font-size:14px;display:flex}.grand-total-box .total-line.main{border-top:1px solid #fff3;margin-top:8px;padding-top:12px;font-size:18px;font-weight:700}.quote-preview{border:2px solid var(--border);border-radius:var(--radius);overflow:hidden}.quote-preview-header{background:var(--navy);color:#fff;padding:24px}.quote-preview-body{padding:24px}.section-divider{border:none;border-top:1px solid var(--border);margin:20px 0}.input-with-unit{border:1px solid var(--border);background:#fff;border-radius:6px;align-items:center;display:flex;overflow:hidden}.input-with-unit input{background:0 0;border:none;flex:1;padding:8px 12px;font-size:14px}.input-with-unit input:focus{outline:none}.input-unit{background:var(--table-header);color:var(--text-secondary);border-left:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:13px}.file-item{background:var(--table-header);border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-size:13px;display:flex}.file-item button{color:var(--status-red);background:0 0;margin-left:auto;font-size:16px;line-height:1}.success-screen{text-align:center;padding:48px 24px}.success-icon{margin-bottom:16px;font-size:64px}@media (max-width:768px){.sidebar{display:none}.main-content{margin-left:0}.topbar{left:0}.form-row-2,.form-row-3,.form-row-4{grid-template-columns:1fr}.option-buttons{flex-direction:column}}.step-circle,.step-label{cursor:pointer}
