body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*,body{margin:0}*{box-sizing:border-box;padding:0}body{background:#1a1a1a;color:#333;font-family:Segoe UI,sans-serif}.app{display:flex;flex-direction:column;min-height:100vh}.app-nav{background:#000;box-shadow:0 2px 8px #00000080;gap:32px;height:56px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-nav,.nav-logo{align-items:center;display:flex}.nav-logo{gap:10px}.nav-logo-img{border-radius:4px;height:36px;object-fit:cover;width:36px}.nav-company{color:#c00;font-size:16px;font-weight:800;letter-spacing:2px}.nav-utilities{align-items:center;display:flex;gap:10px;margin-left:auto;margin-right:8px}.nav-drive-connect .drive-status{font-size:10px;padding:4px 8px}.nav-drive-connect .google-drive-connect-btn{font-size:11px;padding:6px 10px}.nav-links{display:flex;gap:4px}.offline-banner{background:#5d4037;color:#fff;padding:8px 16px;text-align:center}.nav-link,.offline-banner{font-size:13px;font-weight:600}.nav-link{background:none;border:none;border-radius:4px;color:#aaa;cursor:pointer;letter-spacing:1px;padding:8px 14px;transition:all .2s}.nav-link:hover{background:#222;color:#fff}.nav-link.active{background:#c00;color:#fff}.nav-logout{background:#0000;border:1px solid #555;border-radius:4px;color:#aaa;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:all .2s}.nav-logout:hover{background:#c00;border-color:#c00;color:#fff}.app-main{background:#f0f0f0;flex:1 1;min-height:calc(100vh - 56px)}.dashboard{padding:32px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{color:#c00;font-size:28px;font-weight:800;letter-spacing:1px}.dashboard-header p{color:#666;font-size:15px;margin-top:4px}.dashboard-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.dash-card{background:#fff;border:2px solid #0000;border-radius:8px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:28px 24px;transition:all .2s}.dash-card:hover{border-color:#c00;box-shadow:0 4px 16px #cc000026;transform:translateY(-2px)}.dash-card-icon{font-size:36px}.dash-card-title{color:#111;font-size:17px;font-weight:700}.dash-card-desc{color:#888;font-size:13px;line-height:1.5}.dash-card-badge{background:#c00;border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.crm{padding:24px}.crm-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.crm-header h1{color:#c00;font-size:24px;font-weight:800}.crm-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;pointer-events:auto;position:relative;z-index:20}.drive-status{border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.3px;padding:6px 12px}.drive-connected{background:#e8f5e9;color:#2e7d32}.drive-disconnected{background:#ffebee;color:#c62828}.crm-search-bar{margin-bottom:16px}.crm-search-bar input{border:1px solid #ddd;border-radius:5px;font-size:14px;max-width:400px;padding:9px 14px;width:100%}.crm-table-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.crm-table{border-collapse:collapse;width:100%}.crm-table th{background:#111;color:#fff;font-size:12px;letter-spacing:1px;padding:12px 16px;text-align:left;text-transform:uppercase}.crm-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px 16px}.crm-table tr:hover td{background:#fafafa}.crm-table tr:last-child td{border-bottom:none}.stage-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;white-space:nowrap}.stage-lead{background:#e8f4fd;color:#1a6fa8}.stage-appt-sched{background:#fff3e0;color:#e65100}.stage-appt-done{background:#fce4ec;color:#c62828}.stage-bid-started{background:#f3e5f5;color:#6a1b9a}.stage-bid-sent{background:#e8eaf6;color:#283593}.stage-bid-accepted{background:#e8f5e9;color:#2e7d32}.stage-bid-rejected{background:#ffebee;color:#b71c1c}.stage-install-sched{background:#e0f2f1;color:#00695c}.stage-install-done{background:#1b5e20;color:#fff}.modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal{background:#fff;border-radius:10px;box-shadow:0 8px 32px #0000004d;max-height:90vh;max-width:680px;overflow-y:auto;padding:32px;width:100%}.modal h2{color:#c00;font-size:20px;font-weight:800;margin-bottom:24px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:1/-1}.form-group label{color:#555;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:14px;padding:9px 12px}.form-group textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.customer-detail{padding:0}.detail-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.detail-header-left h2{color:#111;font-size:22px;font-weight:800}.detail-header-left p{color:#666;font-size:14px;margin-top:4px}.detail-actions{display:flex;gap:8px}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.detail-card{background:#f8f8f8;border-radius:8px;padding:16px}.detail-card h3{color:#888;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.detail-card p{color:#333;font-size:14px;margin-bottom:4px}.street-view-img{border:1px solid #ddd;border-radius:6px;margin-top:8px;width:100%}.street-view-placeholder{align-items:center;background:#eee;border-radius:6px;color:#aaa;display:flex;font-size:13px;height:160px;justify-content:center;margin-top:8px}.notes-section{background:#f8f8f8;border-radius:8px;margin-bottom:16px;padding:16px}.notes-section h3{color:#888;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.notes-section p{color:#333;font-size:14px;white-space:pre-wrap}.bid-builder{padding:24px}.bid-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.bid-header h1{color:#c00;font-size:24px;font-weight:800}.btn{border:none;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:all .2s}.btn-primary{background:#c00;color:#fff}.btn-primary:hover{background:#a00}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#ddd}.btn-danger{background:#fff;border:1px solid #c00;color:#c00}.btn-danger:hover{background:#c00;color:#fff}.btn-sm{font-size:12px;padding:5px 12px}.btn-green{background:#2e7d32;color:#fff}.btn-green:hover{background:#1b5e20}.bids-table-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.bids-table{border-collapse:collapse;width:100%}.bids-table th{background:#111;color:#fff;font-size:12px;letter-spacing:1px;padding:12px 16px;text-align:left;text-transform:uppercase}.bids-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px 16px}.bids-table tr:hover td{background:#fafafa}.bids-table tr:last-child td{border-bottom:none}.steps-bar{border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;gap:0;margin-bottom:28px;overflow:hidden}.step{background:#e0e0e0;border-right:1px solid #ccc;color:#888;flex:1 1;font-size:13px;font-weight:600;padding:14px;text-align:center}.step:last-child{border-right:none}.step.active{background:#c00;color:#fff}.step.done{background:#111;color:#fff}.step-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:28px}.step-panel h2{color:#111;font-size:18px;font-weight:800;margin-bottom:20px}.customer-select-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.customer-select-item{align-items:center;border:2px solid #eee;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s}.customer-select-item.selected,.customer-select-item:hover{background:#fff5f5;border-color:#c00}.customer-select-item-name{font-size:15px;font-weight:700}.customer-select-item-addr{color:#888;font-size:13px}.line-items-section{margin-bottom:24px}.line-items-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.product-search-wrap{flex:1 1;min-width:200px;position:relative}.product-search-wrap input{border:1px solid #ddd;border-radius:5px;font-size:14px;padding:9px 12px;width:100%}.product-dropdown{background:#fff;border:1px solid #ddd;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #0000001f;left:0;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:50}.product-dropdown-item{border-bottom:1px solid #f5f5f5;cursor:pointer;font-size:13px;padding:10px 14px}.product-dropdown-item:hover{background:#fff5f5;color:#c00}.product-dropdown-cat{background:#fafafa;color:#aaa;font-size:11px;font-weight:700;letter-spacing:1px;padding:6px 14px;text-transform:uppercase}.line-items-table{border-collapse:collapse;margin-bottom:12px;width:100%}.line-items-table th{background:#111;color:#fff;font-size:12px;letter-spacing:.5px;padding:10px 12px;text-align:left}.line-items-table td{border-bottom:1px solid #f0f0f0;font-size:13px;padding:8px 12px;vertical-align:middle}.line-items-table tr:last-child td{border-bottom:none}.section-heading-row td{background:#f5f5f5;color:#333;font-size:13px;font-weight:700;padding:10px 12px}.qty-input{text-align:center;width:60px}.price-input,.qty-input{border:1px solid #ddd;border-radius:4px;font-size:13px;padding:5px 8px}.price-input{text-align:right;width:90px}.totals-panel{border-top:2px solid #eee;padding:16px 0;text-align:right}.totals-panel .subtotal{color:#555;font-size:15px;margin-bottom:6px}.totals-panel .grand-total{color:#c00;font-size:22px;font-weight:800}.photos-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:16px}.photo-card{background:#f8f8f8;border:1px solid #eee;border-radius:8px;overflow:hidden}.photo-card img{height:150px;object-fit:cover;width:100%}.photo-caption-input{background:#0000;border:none;border-top:1px solid #eee;font-size:13px;padding:8px;width:100%}.photo-remove{background:#fff0f0;border:none;color:#c00;cursor:pointer;font-size:12px;font-weight:600;padding:6px;width:100%}.photo-remove:hover{background:#c00;color:#fff}.upload-zone{border:2px dashed #ddd;border-radius:8px;color:#aaa;cursor:pointer;margin-bottom:16px;padding:32px;text-align:center;transition:all .2s}.upload-zone:hover{background:#fff5f5;border-color:#c00;color:#c00}.proposal-wrap{background:#fff;border-radius:8px;box-shadow:0 2px 16px #0000001a;margin:0 auto;max-width:800px;padding:40px}.proposal-header{align-items:flex-start;border-bottom:3px solid #c00;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.proposal-company h2{color:#c00;font-size:20px;font-weight:800;letter-spacing:1px}.proposal-company p{color:#888;font-size:13px;margin-top:2px}.proposal-title{text-align:right}.proposal-title h3{color:#111;font-size:22px;font-weight:800}.proposal-title p{color:#888;font-size:13px}.proposal-client{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.proposal-client-info h4{color:#c00;font-size:11px;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.proposal-client-info p{color:#333;font-size:14px;font-weight:600;margin-bottom:2px}.proposal-client-info span{color:#555;font-size:13px}.proposal-sv-img{border:1px solid #ddd;border-radius:6px;width:100%}.proposal-table{border-collapse:collapse;margin-bottom:24px;width:100%}.proposal-table th{background:#c00;color:#fff;font-size:12px;letter-spacing:1px;padding:12px 14px;text-align:left;text-transform:uppercase}.proposal-table td{border-bottom:1px solid #f0f0f0;font-size:13px;padding:10px 14px}.proposal-table .section-row td{background:#ffeaea;color:#c00;font-size:13px;font-weight:700}.proposal-table .total-row td{border-top:2px solid #eee;font-size:15px}.proposal-table .grand-row td{color:#c00;font-size:18px;font-weight:800}.proposal-notes{background:#f8f8f8;border-left:4px solid #c00;border-radius:0 8px 8px 0;margin-bottom:24px;padding:16px}.proposal-notes h4{color:#c00;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.proposal-notes p{color:#333;font-size:14px}.proposal-photos h4{color:#c00;font-size:12px;font-weight:700;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.proposal-photos-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.proposal-photo-item img{border:1px solid #eee;border-radius:6px;width:100%}.proposal-photo-item p{color:#666;font-size:12px;font-style:italic;margin-top:4px;text-align:center}.proposal-footer{border-top:1px solid #eee;color:#aaa;font-size:13px;margin-top:32px;padding-top:16px;text-align:center}.step-actions{display:flex;justify-content:space-between;margin-top:24px}.install-pwa-btn{background:#fff;border:1px solid #ffffff59;border-radius:4px;color:#111;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase;transition:background .2s,color .2s}.install-pwa-btn:hover{background:#c00;border-color:#c00;color:#fff}.google-drive-connect{align-items:center;display:flex;flex-wrap:wrap;gap:10px;pointer-events:auto;position:relative;z-index:10}.google-drive-connect-btn{pointer-events:auto;position:relative;touch-action:manipulation;z-index:11}.login-page{align-items:center;background:#1a1a1a;display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{background:#000;border:1px solid #333;border-radius:8px;box-shadow:0 8px 32px #0009;max-width:400px;padding:40px 36px;width:100%}.login-brand{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:28px}.login-logo{border-radius:6px;height:48px;object-fit:cover;width:48px}.login-company{color:#c00;font-size:22px;font-weight:800;letter-spacing:3px}.login-title{color:#fff;font-size:22px;font-weight:700;margin-bottom:8px;text-align:center}.login-subtitle{color:#888;font-size:14px;margin-bottom:28px;text-align:center}.login-form{display:flex;flex-direction:column;gap:8px}.login-label{color:#aaa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.login-input{background:#111;border:1px solid #444;border-radius:5px;color:#fff;font-size:15px;margin-bottom:4px;padding:12px 14px;width:100%}.login-input:focus{border-color:#c00;box-shadow:0 0 0 2px #cc000040;outline:none}.login-input::placeholder{color:#666}.login-error{color:#ff6b6b;font-size:13px;font-weight:600;margin:4px 0 8px}.login-btn{background:#c00;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:1px;margin-top:8px;padding:12px 18px;text-transform:uppercase;transition:background .2s}.login-btn:hover{background:#a00}
/*# sourceMappingURL=main.8cf34ee2.css.map*/