body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.spm-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.spm-modal{background:#fff;border-radius:8px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:90%}.spm-header{align-items:center;background:linear-gradient(135deg,#2d3748,#4a5568);border-bottom:none;color:#fff;display:flex;justify-content:space-between;padding:20px}.spm-header h2{color:#fff;font-size:20px;font-weight:600;margin:0;text-shadow:0 1px 2px #0003}.spm-close{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background .2s}.spm-close:hover{background:#ffffff4d}.spm-content{flex:1 1;overflow-y:auto;padding:20px}.spm-current{margin-bottom:24px}.spm-current h3{color:#666;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.spm-current-card{align-items:center;background:#f8f9fa;border:2px solid #ff851b;border-radius:8px;display:flex;gap:12px;padding:16px}.spm-current-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.spm-current-info strong{font-size:16px}.spm-current-info span{color:#666;font-size:13px}.spm-save-btn{align-items:center;background:linear-gradient(135deg,#2d3748,#4a5568);border:none;border-radius:6px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.spm-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff851b,#e67e22);box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.spm-save-btn:disabled{cursor:not-allowed;opacity:.5}.spm-new-btn{align-items:center;background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:6px;box-shadow:0 2px 6px #ff6b3540;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.5px;margin-bottom:24px;padding:12px;text-transform:uppercase;transition:all .2s;width:100%}.spm-new-btn:hover:not(:disabled){background:linear-gradient(135deg,#e55a2b,#e6851a);box-shadow:0 4px 8px #ff6b3559;transform:translateY(-1px)}.spm-new-btn:disabled{cursor:not-allowed;opacity:.5}.spm-sample-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;box-shadow:0 2px 6px #10b98140;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.5px;margin-bottom:24px;padding:12px;text-transform:uppercase;transition:all .2s;width:100%}.spm-sample-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b98159;transform:translateY(-1px)}.spm-sample-btn:disabled{cursor:not-allowed;opacity:.5}.spm-new-form{background:#f8f9fa;border-radius:8px;margin-bottom:24px;padding:16px}.spm-new-form h3{font-size:16px;margin:0 0 12px}.spm-new-form input,.spm-new-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;margin-bottom:12px;padding:10px;width:100%}.spm-new-form input:focus,.spm-new-form textarea:focus{border-color:#ff851b;box-shadow:0 0 0 2px #667eea1a;outline:none}.spm-file-upload{display:flex;gap:8px;margin-top:12px}.spm-upload-btn{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:4px;color:#666;cursor:pointer;display:flex;flex:1 1;font-size:14px;gap:8px;justify-content:center;padding:8px 12px;transition:all .2s}.spm-upload-btn:hover{background:#e9ecef;border-color:#ff851b;color:#ff851b}.spm-remove-file{align-items:center;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s}.spm-remove-file:hover{background:#c82333}.spm-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.spm-form-actions button{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.spm-form-actions button:first-child{background:linear-gradient(135deg,#2d3748,#4a5568);box-shadow:0 2px 4px #667eea4d;color:#fff;font-weight:600;transition:all .2s ease}.spm-form-actions button:first-child:hover:not(:disabled){background:linear-gradient(135deg,#ff851b,#e67e22);box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.spm-form-actions button:last-child{background:#e9ecef;color:#495057}.spm-form-actions button:last-child:hover{background:#dee2e6}.spm-form-actions button:disabled{cursor:not-allowed;opacity:.5}.spm-limit-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;margin-bottom:24px;padding:12px}.spm-limit-warning p{color:#856404;font-size:14px;margin:0}.spm-limit-warning p+p{margin-top:8px}.spm-search{margin-bottom:24px}.spm-search-input{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s;width:100%}.spm-search-input:focus{background:#fff;border-color:#ff851b;box-shadow:0 0 0 3px #667eea1a;outline:none}.spm-no-results{color:#666;padding:32px;text-align:center}.spm-no-results p{font-size:14px;margin:0 0 16px}.spm-clear-search{background:linear-gradient(135deg,#2d3748,#4a5568);border:none;border-radius:4px;box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.spm-clear-search:hover{background:linear-gradient(135deg,#ff851b,#e67e22);box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.spm-list h3{color:#666;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.spm-scrollable-section{max-height:180px;overflow-y:auto;padding-right:4px}.spm-scrollable-section::-webkit-scrollbar{width:6px}.spm-scrollable-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.spm-scrollable-section::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px;-webkit-transition:background .2s;transition:background .2s}.spm-scrollable-section::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.spm-empty{color:#999;font-size:14px;padding:32px;text-align:center}.spm-project{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:all .2s}.spm-project:hover{border-color:#ff851b;box-shadow:0 2px 8px #667eea26}.spm-project.active{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#ff851b;box-shadow:0 2px 8px #667eea33}.spm-project-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.spm-project-info strong{font-size:14px}.spm-editable-name{border-radius:3px;cursor:pointer;padding:2px 4px;transition:all .2s ease}.spm-editable-name:hover{background:#667eea1a;color:#ff851b}.spm-edit-input{background:#fff;border:2px solid #ff851b;border-radius:3px;font-size:14px;font-weight:700;outline:none;padding:2px 4px}.spm-project-info span{color:#999;font-size:12px}.spm-project-actions{display:flex;gap:4px}.spm-project-actions button{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background .2s}.spm-project-actions button:hover:not(:disabled){background:#f0f0f0}.spm-project-actions button.spm-share:hover:not(:disabled){background:#e3f2fd;color:#1976d2}.spm-project-actions button.spm-delete:hover:not(:disabled){background:#ffebee;color:#dc3545}.spm-project-actions button:disabled{cursor:not-allowed;opacity:.5}.spm-project.shared{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-left:4px solid #10b981}.spm-project.shared .shared-icon{color:#10b981}.shared-badge{background:#10b981;border-radius:8px;color:#fff;display:inline-block;font-size:10px;font-weight:500;letter-spacing:.5px;margin-left:8px;padding:2px 6px;text-transform:uppercase}.spm-project.shared:hover{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-left-color:#059669}.spm-project.shared.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.spm-project.shared.active .shared-badge{background:#fff3;color:#fff}.spm-project.shared.active .spm-project-info span{color:#fffc}.spm-shared-section{border-top:1px solid #e0e0e0;margin-top:32px;padding-top:24px}.spm-shared-section h3{align-items:center;color:#10b981;display:flex;font-weight:600;gap:8px}.spm-project-actions button.spm-edit:hover:not(:disabled){background:#f3f4f6;color:#ff851b}.edit-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1100}.edit-modal{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:500px;overflow:hidden;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(32px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-modal-header{align-items:center;background:linear-gradient(135deg,#2d3748,#4a5568);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.edit-modal-header h3{font-size:18px;font-weight:600;margin:0}.edit-modal-close{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s}.edit-modal-close:hover{background:#ffffff4d}.edit-modal-content{max-height:calc(80vh - 140px);overflow-y:auto;padding:24px}.edit-form-group{margin-bottom:24px}.edit-form-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.edit-name-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;font-weight:500;padding:12px 16px;transition:all .2s;width:100%}.edit-name-input:focus{border-color:#ff851b;box-shadow:0 0 0 3px #667eea1a;outline:none}.project-details{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.detail-row{align-items:flex-start;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.detail-row:last-child{margin-bottom:0}.detail-label{color:#374151;font-weight:600;min-width:120px}.sharing-info{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:16px;text-align:center}.sharing-placeholder{color:#6b7280;font-size:14px;font-style:italic;margin:0}.shared-project-info{text-align:center}.shared-badge-large{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:12px;padding:8px 16px}.loading-shares{color:#6b7280;font-size:14px;font-style:italic;padding:16px;text-align:center}.shares-list{max-height:200px;overflow-y:auto}.share-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.share-item:last-child{margin-bottom:0}.share-email{color:#374151;font-weight:500}.permission-badge{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.permission-view{background:#fef3c7;color:#92400e}.permission-edit{background:#dbeafe;color:#1e40af}.permission-badge.permission-view{background:#fef3c7;color:#92400e}.permission-badge.permission-edit{background:#dbeafe;color:#1e40af}.shares-header{align-items:center;color:#374151;display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px}.manage-sharing-btn{align-items:center;background:linear-gradient(135deg,#2d3748,#4a5568);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s ease}.manage-sharing-btn:hover{background:linear-gradient(135deg,#ff851b,#e67e22);transform:translateY(-1px)}.no-shares-section{padding:16px;text-align:center}.share-project-btn{align-items:center;background:linear-gradient(135deg,#38a169,#2f855a);border:none;border-radius:12px;box-shadow:0 4px 12px #38a1694d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:12px;padding:12px 20px;transition:all .2s ease}.share-project-btn:hover{background:linear-gradient(135deg,#2f855a,#276749);box-shadow:0 6px 16px #38a16966;transform:translateY(-1px)}.edit-modal-actions{background:#f8f9fa;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.edit-cancel-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.edit-cancel-btn:hover:not(:disabled){background:#e2e8f0;color:#475569}.edit-save-btn{background:linear-gradient(135deg,#2d3748,#4a5568);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.edit-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff851b,#e67e22);box-shadow:0 6px 16px #667eea66;transform:translateY(-1px)}.edit-cancel-btn:disabled,.edit-save-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}@media (max-width:640px){.edit-modal{margin:10px;max-width:none}.edit-modal-actions{flex-direction:column}.edit-cancel-btn,.edit-save-btn{justify-content:center;width:100%}}.subscription-modal-v2{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;position:relative;width:90%}.subscription-modal-v2 .modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.subscription-modal-v2 .modal-header h2{color:#1f2937;font-size:24px;font-weight:700;margin:0}.subscription-modal-v2 .close-btn{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.subscription-modal-v2 .close-btn:hover{background:#f3f4f6;color:#1f2937}.subscription-modal-v2 .modal-body{padding:24px}.current-status-banner{align-items:center;border-radius:8px;display:flex;font-size:15px;gap:12px;margin-bottom:20px;padding:12px 16px}.current-status-banner.free{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.current-status-banner.pro{background:linear-gradient(135deg,#ff851b15,#e67e2215);border:1px solid #ff851b40;color:#5b21b6}.current-status-banner .trial-badge{background:#3b82f6;border-radius:12px;color:#fff;font-size:12px;font-weight:600;margin-left:auto;padding:2px 8px}.current-status-banner .period-info{font-size:14px;margin-left:auto;opacity:.8}.subscription-details{margin-top:24px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.upgrade-section{margin-top:24px}.plan-comparison{grid-gap:24px;gap:24px;margin-bottom:24px}.plan-column{padding:24px}.plan-column.free-plan{background:#f9fafb}.plan-column.pro-plan{background:linear-gradient(135deg,#ff851b05,#e67e2205);border-color:#ff851b}.plan-column.featured{box-shadow:0 4px 20px #667eea26;transform:scale(1.02)}.plan-column h3{color:#1f2937}.plan-column .feature-list{list-style:none;margin:20px 0;padding:0}.plan-column .feature-list li{align-items:center;display:flex;font-size:14px;gap:8px;padding:8px 0}.plan-column .feature-list li.included:before{color:#10b981;content:"✓";font-weight:700}.plan-column .feature-list li.not-included:before{color:#ef4444;content:"✗";font-weight:700}.plan-badge{background:linear-gradient(135deg,#2d3748,#4a5568);border-radius:12px;color:#fff;font-size:12px;font-weight:600;left:50%;padding:4px 16px;position:absolute;top:-12px;transform:translateX(-50%)}.plan-header{margin-bottom:24px;text-align:center}.plan-header h3{align-items:center;color:#1f2937;display:flex;font-size:24px;font-weight:700;gap:8px;justify-content:center;margin:0 0 16px}.plan-header h3 svg{color:#f59e0b}.plan-price{align-items:baseline;display:flex;gap:4px;justify-content:center;margin-bottom:16px}.plan-price .currency{color:#6b7280;font-size:20px}.plan-price .amount{color:#1f2937;font-size:48px;font-weight:700}.plan-price .period{color:#6b7280;font-size:16px}.plan-toggle{background:#f3f4f6;border-radius:8px;display:flex;gap:8px;justify-content:center;padding:4px}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1f2937}.plan-features{margin-bottom:24px;min-height:300px}.feature-item{align-items:center;color:#374151;display:flex;font-size:14px;gap:12px;padding:8px 0}.feature-item.not-included{opacity:.5}.feature-item .check-icon{color:#10b981;flex-shrink:0}.feature-item .check-icon.pro{color:#ff851b}.feature-item .x-icon{color:#ef4444;flex-shrink:0}.action-buttons{align-items:center;margin:0 auto;max-width:400px}.upgrade-actions{gap:12px;margin-top:24px}.btn-manage-billing,.btn-upgrade{font-size:16px}.btn-upgrade{background:linear-gradient(135deg,#2d3748,#4a5568);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.btn-upgrade.primary{font-size:18px;padding:14px 32px}.btn-upgrade:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-roi-calculator{border:2px solid #ff851b;color:#ff851b;font-weight:600;padding:10px 20px}.btn-roi-calculator:hover{background:#ff851b10}.btn-downgrade{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-downgrade:hover:not(:disabled){background:#fca5a5}.btn-downgrade:disabled,.btn-upgrade:disabled{cursor:not-allowed;opacity:.6}.manage-billing-link{color:#ff851b;display:inline-block;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s}.manage-billing-link:hover{color:#ff851b;text-decoration:underline}.trial-info,.warning-text{align-items:center;display:flex;font-size:13px;gap:6px;justify-content:center;margin:8px 0 0}.warning-text{color:#dc2626}.trial-info{color:#059669}.modal-footer-info{border-top:1px solid #e5e7eb;padding-top:24px;text-align:center}.modal-footer-info p{color:#6b7280;font-size:14px;margin:8px 0}.roi-calculator-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:24px;padding:24px}.roi-calculator-section h4{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.roi-description{color:#6b7280;font-size:14px;margin-bottom:20px}.roi-input-group{display:flex;flex-direction:column;gap:12px}.roi-input-group label{color:#374151;font-size:14px;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-prefix{color:#6b7280;font-size:16px;left:12px;position:absolute}.roi-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:16px;padding:10px 12px 10px 28px}.btn-calculate{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.btn-calculate:hover{background:#2563eb}.roi-results{background:#fff;border:1px solid #d1d5db;border-radius:6px;margin-top:20px;padding:16px}.roi-metric{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.metric-label{color:#6b7280;font-size:14px}.metric-value{font-size:24px;font-weight:700}.metric-value.positive,.roi-summary{color:#059669}.roi-summary{align-items:center;border-top:1px solid #e5e7eb;display:flex;font-weight:500;gap:8px;padding-top:12px}.subscription-details{display:flex;flex-direction:column;gap:32px}.pro-features-list h3{color:#1f2937;font-size:20px;font-weight:600;margin:0 0 20px}.features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.action-buttons{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:16px;padding-top:24px}.btn-manage-billing{background:linear-gradient(135deg,#2d3748,#4a5568);border-radius:8px;color:#fff;display:inline-block;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .2s}.btn-manage-billing:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.upgrade-section{margin-top:16px}.plan-comparison{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.plan-column{border:2px solid #e5e7eb;border-radius:12px;padding:16px;position:relative}.plan-column.featured{background:linear-gradient(135deg,#ff851b05,#e67e2205);border-color:#ff851b}.plan-column h3{align-items:center;display:flex;font-size:24px;font-weight:700;gap:8px;justify-content:center;margin:0 0 16px;text-align:center}.feature-list{list-style:none;margin:12px 0;padding:0}.feature-list li{align-items:center;display:flex;font-size:13px;gap:8px;padding:4px 0}.feature-list li.included:before{color:#10b981;content:"✓";font-weight:700}.feature-list li.not-included:before{color:#ef4444;content:"✗";font-weight:700}.upgrade-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.btn-upgrade.primary{background:linear-gradient(135deg,#2d3748,#4a5568);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .2s}.btn-upgrade.primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-roi-calculator{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s}.btn-roi-calculator:hover{background:#f9fafb;border-color:#9ca3af}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;margin:0 auto;width:40px}@media (max-width:768px){.features-grid,.plan-comparison{grid-template-columns:1fr}.subscription-modal-v2{max-width:500px;width:95%}.plan-features{min-height:auto}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{background:#f5f5f5;display:flex;flex-direction:column;height:100vh}.toolbar{align-items:center;background:#fff;border-bottom:1px solid #ddd;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:10px 15px}@media (max-width:1400px){.toolbar{gap:12px;padding:8px 12px}}@media (max-width:1200px){.toolbar{gap:10px;padding:8px 10px}}.toolbar-section{align-items:center;display:flex;gap:10px}.toolbar-section.connection-types{flex:1 1;justify-content:flex-start;margin-left:20px;margin-right:10px}@media (max-width:1400px){.toolbar-section.connection-types{margin-left:15px;margin-right:8px}}@media (max-width:1200px){.toolbar-section.connection-types{margin-left:10px;margin-right:5px}}.toolbar-label{color:#666;font-size:14px;margin-right:5px}.upload-btn{align-items:center;background:#38a169;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:8px 12px}.upload-btn:hover{background:#2f855a}.export-btn{background:#ff851b;border-radius:4px;font-size:14px;padding:8px 12px}.export-btn:hover:not(:disabled){background:#e67e22}.export-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.7}.connection-types{display:flex;gap:3px}@media (max-width:1400px){.connection-types{gap:2px}}@media (max-width:1200px){.connection-types{gap:2px}}.type-btn{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#475569;cursor:pointer;display:flex;flex-direction:column;font-size:10px;font-weight:500;gap:1px;height:48px;justify-content:center;line-height:1.1;overflow:hidden;padding:4px 6px;position:relative;text-align:center;transition:all .2s ease;width:75px}@media (max-width:1400px){.type-btn{font-size:9px;height:44px;padding:3px 5px;width:65px}}@media (max-width:1200px){.type-btn{font-size:9px;height:40px;padding:3px 4px;width:60px}}.type-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#94a3b8;box-shadow:0 2px 4px #00000026;color:#334155;transform:translateY(-1px)}.type-btn.active{background:linear-gradient(135deg,#ff851b,#e67e22);border-color:#ff851b;box-shadow:0 2px 8px #ff851b4d;color:#fff;font-weight:600}.type-btn.active:before{background:linear-gradient(90deg,#ffffff4d,#fff9,#ffffff4d);content:"";height:2px;left:0;position:absolute;right:0;top:0}.type-btn.disabled,.type-btn:disabled{cursor:not-allowed;opacity:.6}.type-btn.disabled,.type-btn.disabled:hover,.type-btn:disabled,.type-btn:disabled:hover{background:#f1f5f9;border-color:#e2e8f0;box-shadow:none;color:#94a3b8;transform:none}.type-btn.duplicating-disabled{cursor:not-allowed;opacity:.4}.type-btn.duplicating-disabled,.type-btn.duplicating-disabled:hover{background:#f8fafc;border-color:#e2e8f0;box-shadow:none;color:#cbd5e1;transform:none}.type-btn.equipment-btn{background:linear-gradient(135deg,#e5e7eb,#d1d5db);border:2px solid #6b7280;box-shadow:0 2px 4px #6b728026;color:#1f2937;font-weight:600;height:48px;position:relative;width:75px}.type-btn.equipment-btn:before{background:linear-gradient(45deg,#6b7280,#4b5563,#6b7280);border-radius:8px;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.type-btn.equipment-btn:hover{background:linear-gradient(135deg,#d1d5db,#9ca3af);border-color:#4b5563;box-shadow:0 4px 8px #6b728040;color:#111827;transform:translateY(-1px)}.type-btn.equipment-btn:hover:before{opacity:.3}.type-btn.equipment-btn.active{background:linear-gradient(135deg,#fb923c,#f97316);border-color:#ea580c;box-shadow:0 4px 12px #fb923c66;color:#fff;font-weight:600}.type-btn.equipment-btn.active:before{opacity:0}@media (max-width:1400px){.type-btn.equipment-btn{height:44px;width:65px}}@media (max-width:1200px){.type-btn.equipment-btn{height:40px;width:60px}}.type-btn.general-btn{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;box-shadow:0 2px 4px #0ea5e933;color:#0c4a6e;font-weight:600;margin-left:12px;position:relative;width:112px}.type-btn.general-btn:before{background:linear-gradient(45deg,#0ea5e9,#06b6d4,#0ea5e9);border-radius:8px;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.type-btn.general-btn:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-color:#0284c7;box-shadow:0 4px 8px #0ea5e94d;color:#0c4a6e;transform:translateY(-1px)}.type-btn.general-btn:hover:before{opacity:1}.type-btn.general-btn.active{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-color:#0ea5e9;box-shadow:0 4px 12px #0ea5e966;color:#fff}.type-btn.general-btn.active:before{opacity:0}@media (max-width:1400px){.type-btn.general-btn{margin-left:8px;width:98px}}@media (max-width:1200px){.type-btn.general-btn{margin-left:6px;width:84px}}.type-btn.active:not(.duplicating-disabled){animation:duplicatePulse 1.5s ease-in-out infinite}@keyframes duplicatePulse{0%,to{box-shadow:0 0 0 0 #ff851b66}50%{box-shadow:0 0 0 8px #ff851b1a,0 0 20px #ff851b4d}}.toolbar-section.brand-section{margin-right:auto}.brand-logo{align-items:center;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:22px;font-weight:800;gap:8px;white-space:nowrap}.brand-logo .layout-text{color:#000}.brand-logo .mule-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#38a169,#2f855a);-webkit-background-clip:text;background-clip:text;color:#38a169}.brand-logo .pro-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;background-clip:text;color:#ff6b35;font-weight:800}.mule-icon-small{height:24px;width:24px}.toolbar-section.project-info-section{margin-left:auto;margin-right:15px}@media (max-width:1400px){.toolbar-section.project-info-section{margin-right:10px}}@media (max-width:1200px){.toolbar-section.project-info-section{margin-right:8px}}.project-info{align-items:flex-start;display:flex;flex-direction:column;gap:2px}.project-name{color:#333;font-size:14px;font-weight:600}.project-name.no-project{color:#999;font-style:italic;font-weight:400}.autosave-status{color:#666;font-size:12px}.toolbar-section.account-section{margin-left:0;margin-right:8px}@media (max-width:1400px){.toolbar-section.account-section{margin-right:6px}}@media (max-width:1200px){.toolbar-section.account-section{margin-right:4px}}.toolbar-section.sheet-section{align-items:center;display:flex;gap:6px;margin-left:0;margin-right:15px}@media (max-width:1400px){.toolbar-section.sheet-section{gap:4px;margin-right:10px}}@media (max-width:1200px){.toolbar-section.sheet-section{gap:4px;margin-right:8px}}.sheet-label{color:#666;font-size:14px;font-weight:500}.zoom-controls-container{pointer-events:none}.zoom-controls-container>*{pointer-events:auto}.main-content{display:flex;flex:1 1;height:calc(100vh - 80px);overflow:hidden}.dwg-section{background:#fff;min-width:200px;position:relative}.no-file-message{color:#666;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.no-file-message p{font-size:16px;margin:20px 0}.no-file-message button{background:#38a169;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.no-file-message button:hover{background:#2f855a}.resize-handle{align-items:center;background:#f8f9fa;border-left:1px solid #e9ecef;border-right:1px solid #e9ecef;box-shadow:inset 0 0 0 1px #0000000d;cursor:col-resize;display:flex;flex-shrink:0;justify-content:center;position:relative;transition:all .2s ease;width:8px}.resize-handle:hover{background:#e9ecef;border-left:1px solid #ff851b;border-right:1px solid #ff851b;box-shadow:inset 0 0 0 1px #ff851b33}.resize-handle:active{background:#dee2e6;box-shadow:inset 0 0 0 2px #ff851b4d}.resize-line{align-items:center;background:#adb5bd;border-radius:2px;display:flex;flex-direction:column;gap:2px;height:60px;justify-content:center;opacity:.7;position:relative;width:3px}.resize-line:after,.resize-line:before{background:#6c757d;border-radius:50%;content:"";display:block;height:3px;width:3px}.resize-line{background-image:radial-gradient(circle at center,#6c757d 1px,#0000 0),radial-gradient(circle at center,#6c757d 1px,#0000 0),radial-gradient(circle at center,#6c757d 1px,#0000 0);background-position:center calc(50% - 6px),center 50%,center calc(50% + 6px);background-repeat:no-repeat;background-size:3px 3px}.resize-handle:hover .resize-line{background:#ff851b;background-image:radial-gradient(circle at center,#fff 1px,#0000 0),radial-gradient(circle at center,#fff 1px,#0000 0),radial-gradient(circle at center,#fff 1px,#0000 0);opacity:1}.resize-handle:hover .resize-line:after,.resize-handle:hover .resize-line:before{background:#fff}.resize-handle:after{background:#000c;border-radius:4px;color:#fff;content:"Drag to resize schedule panel";font-size:11px;left:50%;padding:6px 8px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s ease;white-space:nowrap;z-index:1000}.resize-handle:hover:after{transform:translate(-50%,-60px) scale(1)}.resize-indicator{animation:fadeInScale .2s ease-out;background:#ff851be6;border-radius:4px;color:#fff;font-size:10px;font-weight:600;left:50%;padding:4px 8px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-40px);white-space:nowrap;z-index:1001}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%,-40px) scale(.8)}to{opacity:1;transform:translate(-50%,-40px) scale(1)}}.schedule-section{background:#fff;display:flex;flex-direction:column;min-width:250px;overflow-x:auto;position:relative;z-index:15}.schedule-resize-handle{background:#0000;border-left:1px solid #e0e0e0;bottom:0;cursor:col-resize;left:0;position:absolute;top:0;width:4px;z-index:20}.schedule-resize-handle:hover{background:#ff851b4d;border-left:1px solid #ff851b}.schedule-resize-handle:active{background:#ff851b80}@media (max-width:1400px){.schedule-section{min-width:280px}}@media (max-width:1200px){.schedule-section{min-width:250px}}.schedule-panel{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;display:flex;flex:1 1;flex-direction:column;height:100%;margin:8px;min-height:500px;min-width:0;overflow:hidden}@media (max-width:1400px){.schedule-panel{margin:6px}}@media (max-width:1200px){.schedule-panel{margin:4px}}.schedule-title{background:linear-gradient(135deg,#2d3748,#4a5568);box-shadow:0 2px 8px #0000001a;color:#fff;flex-shrink:0;margin:0;padding:16px;text-align:center}.schedule-title h2{font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0;text-shadow:0 1px 2px #0003}.schedule-tabs{background:#fff;border-bottom:1px solid #e1e8ed;box-shadow:0 1px 3px #0000000f;display:flex;flex-shrink:0;position:relative}.schedule-tabs button{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:500;height:48px;justify-content:center;line-height:1.2;overflow:hidden;padding:12px 16px;position:relative;text-align:center;transition:all .2s ease}.schedule-tabs button:hover{background:linear-gradient(180deg,#0000 0,#ff851b14);color:#334155;transform:translateY(-1px)}.schedule-tabs button.active{background:linear-gradient(180deg,#ff851b0d 0,#ff851b26);border-bottom-color:#ff851b;color:#ff851b;font-weight:600}.schedule-tabs button.active:before{background:linear-gradient(90deg,#ff851b,#e67e22);content:"";height:3px;left:0;position:absolute;right:0;top:0}.schedule-content{background:#fafbfc;flex:1 1;max-height:calc(100vh - 200px);min-height:450px;min-width:0;overflow-x:auto;overflow-y:auto;padding:12px;width:100%}.schedule-content table{background:#fff;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 1px 3px #0000001a;font-size:14px;min-width:400px;overflow:hidden;table-layout:fixed;width:-webkit-max-content;width:max-content}@media (max-width:1400px){.schedule-content table{font-size:13px;min-width:380px}}@media (max-width:1200px){.schedule-content table{font-size:12px;min-width:300px}}.schedule-content th{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #e2e8f0;color:#475569;font-size:12px;font-weight:600;letter-spacing:.025em;padding:10px 8px;text-align:left;text-transform:uppercase;white-space:nowrap}.schedule-content th.col-id{min-width:45px;width:45px}.schedule-content th.col-equipment{min-width:100px;width:120px}.schedule-content th.col-points{min-width:25px;width:25px}.schedule-content th.col-location{min-width:84px!important;width:105px!important}.schedule-content th.col-type{min-width:10px;width:10px}.schedule-content th.col-voltage{min-width:20px;width:20px}.schedule-content th.col-amperage,.schedule-content th.col-load{min-width:17px;width:17px}.schedule-content th.col-height{min-width:12px;width:12px}.schedule-content th.col-circuit{min-width:120px;width:130px}.schedule-content th.col-notes{min-width:13px;width:17px}.schedule-content th.col-actions{min-width:25px;width:28px}@media (max-width:1400px){.schedule-content th.col-location{min-width:75px!important;width:90px!important}.schedule-content th.col-circuit{min-width:100px;width:110px}.schedule-content th.col-equipment{min-width:90px;width:100px}}@media (max-width:1200px){.schedule-content th.col-location{min-width:70px!important;width:80px!important}.schedule-content th.col-circuit{min-width:90px;width:100px}.schedule-content th.col-equipment{min-width:80px;width:90px}.schedule-content th.col-voltage{min-width:18px;width:18px}.schedule-content th.col-amperage,.schedule-content th.col-load{min-width:15px;width:15px}}.schedule-content th:first-child{border-top-left-radius:12px}.schedule-content th:last-child{border-top-right-radius:12px}.schedule-content td{word-wrap:break-word;border-bottom:1px solid #f1f5f9;font-size:13px;line-height:1.3;padding:8px;vertical-align:middle}.schedule-content td.col-id{color:#ff851b;font-weight:600;min-width:45px;white-space:nowrap;width:45px}.schedule-content td.col-equipment{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:100px;overflow-wrap:break-word;width:120px}.schedule-content td.col-points{font-size:12px;min-width:25px;text-align:center;white-space:nowrap;width:25px}.schedule-content td.col-location{min-width:84px!important;white-space:normal;width:105px!important;word-break:break-word}.schedule-content td.col-type{font-size:11px;min-width:10px;text-align:center;white-space:normal;width:10px;word-break:break-word}.schedule-content td.col-voltage{font-size:12px;min-width:20px;text-align:center;white-space:nowrap;width:20px}.schedule-content td.col-amperage{font-size:12px}.schedule-content td.col-amperage,.schedule-content td.col-load{min-width:17px;text-align:center;white-space:nowrap;width:17px}.schedule-content td.col-height{font-size:12px;min-width:12px;text-align:center;white-space:nowrap;width:12px}.schedule-content td.col-circuit{min-width:120px;white-space:normal;width:130px;word-break:break-word}.schedule-content td.col-notes{min-width:13px;text-align:center;width:17px}.schedule-content td.col-actions{min-width:25px;white-space:nowrap;width:28px}@media (max-width:1400px){.schedule-content td.col-location{min-width:75px!important;width:90px!important}.schedule-content td.col-circuit{min-width:100px;width:110px}}@media (max-width:1200px){.schedule-content td.col-location{min-width:70px!important;width:80px!important}.schedule-content td.col-circuit{min-width:90px;width:100px}.schedule-content td.col-voltage{min-width:18px;width:18px}.schedule-content td.col-amperage,.schedule-content td.col-load{min-width:15px;width:15px}}.schedule-content td.col-actions button{font-size:12px;margin:0 2px;padding:4px 6px}.schedule-content tbody tr:hover td{background-color:#667eea0a}.schedule-content tbody tr:last-child td:first-child{border-bottom-left-radius:12px}.schedule-content tbody tr:last-child td:last-child{border-bottom-right-radius:12px}.edit-btn{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;height:24px;line-height:1;margin-right:4px;width:24px}.edit-btn:hover{background:#0b7dda}.delete-btn{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;height:24px;line-height:1;width:24px}.delete-btn:hover{background:#da190b}.id-input-group{align-items:center;display:flex;gap:8px}.id-input-group input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.auto-generate-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:8px 12px;white-space:nowrap}.auto-generate-btn:hover{background:#45a049}.schedule-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:center;margin-bottom:15px;padding-bottom:10px}.schedule-header h3{color:#333;margin:0}.autonumber-btn{background:#ff9800;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;white-space:nowrap}.autonumber-btn:hover{background:#e68900}.autonumber-btn.autonumber-all{background:#ff851b;font-weight:700}.autonumber-btn.autonumber-all:hover{background:#e67e22}.header-left{align-items:center;display:flex;gap:15px}.project-status{color:#666;font-size:13px;text-align:center;white-space:nowrap}.table-controls th{background:linear-gradient(135deg,#fff7ed,#fed7aa);border-bottom:2px solid #e2e8f0;padding:10px 16px}.table-btn{background:linear-gradient(135deg,#fb923c,#f97316);border:none;border-radius:6px;box-shadow:0 1px 3px #fb923c4d;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.table-btn:hover{background:linear-gradient(135deg,#ea580c,#dc2626);box-shadow:0 2px 4px #fb923c66;transform:translateY(-1px)}.points-list{background:#f9f9f9;border:1px solid #ddd;border-radius:4px;padding:10px}.point-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;gap:8px;margin-bottom:8px;padding:8px}.point-label{color:#666;min-width:60px}.coordinate-input{width:80px}.coordinate-input,.point-id-input{border:1px solid #ddd;border-radius:3px;font-size:12px;padding:4px 8px}.point-id-input{width:120px}.points-info{font-size:12px}.point-count{color:#2196f3}.point-ids{color:#666;margin-top:2px}.point-id{background:#f0f0f0;border-radius:2px;font-family:monospace;font-size:10px;padding:1px 3px}.air-summary,.air-totals,.electrical-summary,.electrical-totals,.natural-gas-summary,.water-summary,.water-totals{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.air-summary h3,.air-totals h3,.electrical-summary h3,.electrical-totals h3,.natural-gas-summary h3,.water-summary h3,.water-totals h3{color:#333;font-size:16px;margin-bottom:15px}.summary-item,.total-row{display:flex;font-size:14px;justify-content:space-between;margin:10px 0}.summary-item strong,.total-row strong{color:#2196f3;font-size:16px}.note{background:#f0f8ff;border:1px solid #d0e7ff;border-radius:4px;color:#666;font-size:12px;line-height:1.4;margin-top:15px;padding:10px}.voltage-selector{align-items:center;display:flex;gap:10px;margin:15px 0}.voltage-selector label{color:#666;font-size:14px}.voltage-selector select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:5px 10px}.schedule-actions{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:10px;padding:12px 20px}.export-all-btn{background:#ff851b!important;box-shadow:0 2px 4px #ff851b33!important}.export-all-btn:hover:not(.disabled){background:#e67e22!important;box-shadow:0 4px 8px #ff851b4d!important}.export-dxf-btn{background:#20b2aa!important;box-shadow:0 2px 4px #20b2aa33!important}.export-dxf-btn:hover:not(.disabled){background:#1a9691!important;box-shadow:0 4px 8px #20b2aa4d!important}.export-pdf-btn{background:#dc3545!important;box-shadow:0 2px 4px #dc354533!important}.export-pdf-btn:hover:not(.disabled){background:#c82333!important;box-shadow:0 4px 8px #dc35454d!important}.export-btn{align-items:center;background:#2196f3;border:none;border-radius:8px;box-shadow:0 2px 4px #2196f333;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:10px 16px;transition:all .2s ease}.export-btn:hover:not(.disabled){background:#1976d2;box-shadow:0 4px 8px #2196f34d;transform:translateY(-1px)}.export-btn:active:not(.disabled){transform:translateY(0)}.export-btn.disabled{box-shadow:0 2px 4px #2196f31a;cursor:not-allowed;opacity:.6;transform:none}.connection-form-overlay{align-items:center;animation:fadeIn .15s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.connection-form{animation:slideIn .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:85vh;overflow:hidden;padding:0;width:560px}.form-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;padding:20px 25px}.form-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.form-header .form-buttons{display:flex;gap:10px;margin:0}.form-header .form-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.form-header .form-buttons button[type=submit]{background:#4caf50;color:#fff}.form-header .form-buttons button[type=submit]:hover{background:#45a049;transform:translateY(-1px)}.form-header .form-buttons button[type=button]{background:#f5f5f5;border:1px solid #ddd;color:#666}.form-header .form-buttons button[type=button]:hover{background:#e0e0e0}#connection-form{flex:1 1;overflow-y:auto;padding:25px}.form-row{display:flex;gap:12px;margin-bottom:12px}.form-row .form-group{flex:1 1;margin-bottom:0}.auto-id-display{background:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#666;font-family:monospace;font-weight:700;padding:8px 12px}.form-note{background:#e8f4fd;border:1px solid #b3d7f0;border-radius:4px;margin:10px 0 8px;padding:8px 10px}.form-note p{color:#2c5aa0;font-size:12px;margin:0}.form-buttons{gap:15px;justify-content:space-between;margin-top:25px}.form-buttons button[type=submit]{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.form-buttons button[type=button]{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:14px;padding:10px 20px}.form-buttons button[type=button]:hover{background:#e0e0e0}.connection-actions{border-left:1px solid #ddd;margin-left:20px;padding-left:20px}.action-btn{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;justify-content:center;min-width:80px;padding:6px 12px;transition:all .2s ease}.action-btn:hover:not(.disabled){background:#e9ecef;border-color:#adb5bd;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.action-btn.disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.6}.action-btn.delete-btn:hover:not(.disabled){background:#f8d7da;border-color:#f5c6cb;color:#721c24}.move-controls,.toolbar-section.connection-actions{align-items:center;display:flex;gap:8px}.move-controls{border-left:1px solid #dee2e6;margin-left:15px;padding-left:15px}.move-label{color:#6c757d;font-size:12px;font-weight:500}.move-buttons{align-items:center;flex-direction:column}.move-buttons,.move-row{display:flex;gap:2px}.move-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:3px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;transition:all .2s ease;width:24px}.move-btn:hover:not(.disabled){background:#e9ecef;border-color:#adb5bd;transform:scale(1.1)}.move-btn.disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.5}.dwg-viewer-container{background:#f0f0f0;display:flex;height:100%;width:100%}.dwg-sidebar{background:#fff;border-right:1px solid #ddd;box-shadow:2px 0 4px #0000001a;display:flex;flex-direction:column;gap:20px;padding:15px;width:200px}.sidebar-section h4{border-bottom:1px solid #eee;color:#333;font-size:14px;font-weight:600;margin:0 0 10px;padding-bottom:5px}.sidebar-btn{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:flex-start;margin-bottom:5px;padding:8px 12px;transition:all .2s ease;width:100%}.sidebar-btn:hover:not(.disabled){background:#e9ecef;border-color:#adb5bd;transform:translateX(2px)}.sidebar-btn.disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.6}.sidebar-btn.delete-btn:hover:not(.disabled){background:#f8d7da;border-color:#f5c6cb;color:#721c24}.move-controls-sidebar{align-items:center;display:flex;flex-direction:column;gap:3px}.selected-info{background:#e3f2fd;border-radius:4px;color:#1565c0;font-family:monospace;font-size:14px;font-weight:700;padding:8px;text-align:center}.dwg-canvas{flex:1 1;position:relative}.dwg-canvas.adding-connection,.dwg-canvas.adding-connection *{cursor:crosshair!important}.zoom-controls{opacity:0;visibility:hidden}.zoom-controls-container:hover .zoom-controls{opacity:1!important;visibility:visible!important}.header-with-button{align-items:center;display:flex;flex-direction:column;gap:4px}.auto-id-btn{background:linear-gradient(135deg,#ff851b,#e67e22);border:none;border-radius:4px;box-shadow:0 1px 3px #ff851b4d;color:#fff;cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.5px;min-width:38px;padding:3px 8px;text-transform:uppercase;transition:all .2s ease}.auto-id-btn:hover{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 2px 4px #ff851b66;transform:translateY(-1px)}.auto-id-btn:active{box-shadow:0 1px 2px #ff851b4d;transform:translateY(0)}.add-connection-btn,.toolbar-section .add-connection-btn,.toolbar-section.connection-types .add-connection-btn{align-items:center!important;background:linear-gradient(135deg,#ff6b35,#f7931e)!important;border:2px solid #ff6b35!important;border-radius:6px!important;box-shadow:0 3px 6px #ff6b3540!important;color:#fff!important;cursor:pointer!important;display:flex!important;font-size:10px!important;font-weight:600!important;gap:4px!important;height:48px!important;letter-spacing:.3px!important;min-width:auto!important;overflow:hidden!important;padding:4px 8px!important;position:relative!important;text-transform:uppercase!important;transition:all .3s ease!important;width:auto!important}@media (max-width:1400px){.add-connection-btn,.toolbar-section .add-connection-btn,.toolbar-section.connection-types .add-connection-btn{font-size:9px!important;gap:3px!important;height:44px!important;padding:3px 6px!important}}@media (max-width:1200px){.add-connection-btn,.toolbar-section .add-connection-btn,.toolbar-section.connection-types .add-connection-btn{font-size:9px!important;gap:2px!important;height:40px!important;padding:3px 5px!important}}.add-connection-btn:hover,.toolbar-section .add-connection-btn:hover,.toolbar-section.connection-types .add-connection-btn:hover{background:linear-gradient(135deg,#e55a2b,#e6851a)!important;border-color:#e55a2b!important;box-shadow:0 5px 12px #ff6b3566!important;transform:translateY(-2px)!important}.add-connection-btn.active,.toolbar-section .add-connection-btn.active,.toolbar-section.connection-types .add-connection-btn.active{background:linear-gradient(135deg,#d14d21,#d97706)!important;border-color:#d14d21!important;box-shadow:inset 0 2px 4px #ff6b354d,0 3px 8px #ff6b3559!important;transform:scale(.98)!important}.add-connection-btn.active:before,.toolbar-section .add-connection-btn.active:before,.toolbar-section.connection-types .add-connection-btn.active:before{background:linear-gradient(90deg,#fff6,#fffc,#fff6)!important;content:""!important;height:3px!important;left:0!important;position:absolute!important;right:0!important;top:0!important}.form-group{margin-bottom:12px}.form-group label{color:#666;display:block;font-size:12px;font-weight:500;margin-bottom:4px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;height:38px;line-height:1.4;padding:8px 12px;width:100%}.form-group textarea{height:auto;min-height:60px;resize:vertical}.form-group small{color:#666;display:block;font-size:11px;margin-top:2px}.form-group input:focus,.form-group select:focus{border-color:#2196f3;outline:none}.checkbox-group{align-items:center;display:flex;height:100%}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:8px;margin-bottom:0!important}.file-upload-wrapper{display:flex;flex-direction:column;gap:4px}.file-upload-btn{background:linear-gradient(135deg,#ff851b,#e67e22);border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;line-height:1.4;padding:8px 16px;text-align:center;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.file-upload-btn:hover{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 2px 8px #ff851b4d;transform:translateY(-1px)}.file-upload-btn:active{box-shadow:0 1px 4px #ff851b33;transform:translateY(0)}.file-selected{color:#28a745;font-weight:500;margin-top:4px}.form-buttons{display:flex;gap:10px;margin-top:20px}.form-buttons button{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px}.form-buttons button[type=submit]{background:#4caf50;color:#fff}.form-buttons button[type=submit]:hover{background:#45a049}.form-buttons button[type=button]{background:#f44336;color:#fff}.form-buttons button[type=button]:hover{background:#da190b}.port-details-container{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;padding:12px}.port-detail-row{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;gap:8px;margin-bottom:8px;padding:8px}.port-detail-row:last-of-type{margin-bottom:12px}.port-type-select{flex:0 0 100px}.port-quantity-input,.port-type-select{border:1px solid #ddd;border-radius:3px;font-size:12px;padding:6px 8px}.port-quantity-input{flex:0 0 50px;text-align:center}.port-cable-input,.port-speed-input{border:1px solid #ddd;border-radius:3px;flex:1 1;font-size:12px;padding:6px 8px}.remove-port-btn{align-items:center;background:#f44;border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;flex:0 0 24px;font-size:14px;font-weight:700;height:24px;justify-content:center}.remove-port-btn:hover{background:#c00}.add-port-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px}.add-port-btn:hover{background:#45a049}.summary-schedule h3{color:#333;font-size:16px;margin:20px 0 10px}.summary-schedule table{margin-bottom:30px}.modal-overlay{animation:fadeIn .3s ease-out;background:#0009;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.file-size-dialog{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:90vw;overflow-y:auto;width:600px}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{border-bottom:1px solid #eee;padding:24px 24px 16px}.dialog-header h3{color:#333;font-size:20px;font-weight:600;margin:0 0 8px}.dialog-header p{color:#666;font-size:14px;line-height:1.4;margin:0}.dialog-content{display:flex;flex-direction:column;gap:16px;padding:24px}.option-card{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.option-card:hover{border-color:#2196f3;box-shadow:0 4px 12px #2196f326;transform:translateY(-2px)}.option-card.recommended{background:linear-gradient(135deg,#f8fff8,#f0f8f0);border-color:#4caf50}.option-card.recommended:hover{border-color:#4caf50;box-shadow:0 4px 12px #4caf5033}.option-card.recommended:before{background:#4caf50;border-radius:12px;color:#fff;content:"RECOMMENDED";font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 8px;position:absolute;right:16px;top:-8px}.option-card h4{color:#333;font-size:16px;font-weight:600;margin:0 0 8px}.option-card p{color:#666;font-size:14px;line-height:1.5;margin:0 0 16px}.option-btn{background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .3s ease;width:100%}.option-btn:hover{background:#1976d2;box-shadow:0 4px 12px #2196f34d;transform:translateY(-1px)}.hollow-btn{background:#4caf50}.hollow-btn:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d}.dialog-footer{border-top:1px solid #eee;display:flex;justify-content:center;padding:16px 24px}.cancel-btn{border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s ease}.cancel-btn:hover{border-color:#bbb}.processing-container{min-width:300px;padding:8px 16px}.processing-status{align-items:center;display:flex;flex-direction:column;gap:6px}.processing-status span:first-child{color:#333;font-size:14px;font-weight:500}.progress-bar{background:#e0e0e0;height:6px;overflow:hidden;width:100%}.progress-bar,.progress-fill{border-radius:3px;position:relative}.progress-fill{background:linear-gradient(90deg,#4caf50,#2196f3 50%,#4caf50);height:100%;transition:width .3s ease}.progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.progress-percent{color:#666;font-size:12px;font-weight:500;min-width:35px;text-align:center}.subscription-banner{align-items:center;background:linear-gradient(135deg,#2d3748,#4a5568);box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:12px 20px}.banner-content{align-items:center;display:flex;gap:12px}.banner-text{font-size:14px;font-weight:500}.upgrade-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .3s ease}.upgrade-btn:hover{background:#ffffff4d;border-color:#ffffff80}.banner-close{background:#0000;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:4px;transition:background .3s ease}.banner-close:hover{background:#fff3}.subscription-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:90vw;overflow-y:auto;width:500px}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:24px 24px 0}.modal-header h2{color:#333;font-size:24px;font-weight:600;margin:0}.close-btn{background:#0000;border-radius:6px;color:#666;padding:8px;transition:all .3s ease}.close-btn:hover{background:#f5f5f5;color:#333}.subscription-active{text-align:center}.status-icon{margin-bottom:16px}.subscription-active h3{color:#4caf50;font-size:20px;font-weight:600;margin:0 0 8px}.subscription-active p{color:#666;font-size:14px;margin:0 0 24px}.subscription-details{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:16px}.detail-item{display:flex;font-size:14px;justify-content:space-between;margin:8px 0}.detail-item span:first-child{color:#666}.detail-item span:last-child{color:#333;font-weight:500}.status.active{color:#4caf50;font-weight:600}.cancel-subscription-btn{background:#f44336;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.cancel-subscription-btn:hover{background:#d32f2f}.subscription-offer{text-align:center}.pricing-card{background:linear-gradient(135deg,#ff851b,#e67e22);border-radius:12px;color:#fff;margin-bottom:24px;padding:32px 24px}.price{align-items:baseline;display:flex;justify-content:center;margin-bottom:16px}.currency{font-size:20px;font-weight:500}.amount{font-size:48px;font-weight:700;margin:0 4px}.period{font-size:16px;font-weight:500;opacity:.9}.pricing-card h3{font-size:24px;font-weight:600;margin:0 0 24px}.features{flex-direction:column;margin-bottom:24px;text-align:left}.feature,.features{display:flex;gap:12px}.feature{align-items:center;font-size:14px}.subscribe-btn{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .3s ease;width:100%}.subscribe-btn:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.billing-info{color:#666;font-size:12px;margin:16px 0 0}.settings-btn{align-items:center;background:#ff851b;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.settings-btn:hover{background:#e67e22;box-shadow:0 2px 4px #ff851b4d;transform:translateY(-1px)}.loading-screen{align-items:center;background:#f5f5f5;display:flex;height:100vh;justify-content:center}.loading-spinner{color:#666;font-size:18px}.zoom-controls{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 8px #0003;display:flex;flex-direction:column;gap:4px;min-width:120px;padding:8px;position:absolute;right:20px;top:20px;z-index:1000}.zoom-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 8px;transition:all .2s ease}.zoom-btn:hover{background:#f0f0f0;border-color:#2196f3;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.zoom-btn:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.account-section{margin-left:auto}.points-management{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:16px}.points-info{margin-bottom:16px}.single-point{color:#666}.point-hint{color:#999;font-size:11px;font-style:italic;margin-top:4px}.multi-points{display:flex;flex-direction:column;gap:8px}.point-count{color:#333;font-weight:500}.point-labels{display:flex;flex-wrap:wrap;gap:4px}.point-label{background:#ff851b;border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:2px 8px}.points-actions{align-items:center;display:flex;gap:10px;justify-content:flex-start;margin-top:10px}.add-point-btn{align-items:center;background:#38a169;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;min-height:32px;padding:8px 16px;transition:all .2s ease}.add-point-btn:hover{background:#218838;transform:translateY(-1px)}.add-point-btn:active{transform:translateY(0)}.remove-point-btn{align-items:center;background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;min-height:32px;padding:8px 16px;transition:all .2s ease}.remove-point-btn:hover{background:#c82333;transform:translateY(-1px)}.remove-point-btn:active{transform:translateY(0)}.remove-point-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.id-link{background:none;border:none;border-radius:3px;color:#ff851b;cursor:pointer;font-size:14px;font-weight:700;padding:2px 4px;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:all .2s ease}.id-link:hover{background:#ff851b1a;color:#e67e22;-webkit-text-decoration-color:currentColor;text-decoration-color:initial;transform:translateY(-1px)}.id-link:active{background:#ff851b33;transform:translateY(0)}.auto-id-section{margin:10px 0;text-align:center}.auto-id-btn-below{background:linear-gradient(135deg,#ff851b,#e67e22);border:none;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.auto-id-btn-below:hover{box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.auto-id-btn-below:active{box-shadow:0 1px 2px #0003;transform:translateY(0)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000004d;max-width:400px;padding:24px;width:90%}.modal-content h3{color:#333;font-size:18px;margin:0 0 16px}.modal-content p{color:#666;line-height:1.5;margin:0 0 24px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px}.cancel-btn{background:#f5f5f5;color:#666}.cancel-btn:hover{background:#e0e0e0}.confirm-btn{background:#dc3545;color:#fff}.confirm-btn:hover{background:#c82333}.demo-signup-ribbon{background:linear-gradient(135deg,#ff851b,#ff6b35);box-shadow:0 2px 8px #ff851b4d;color:#fff;padding:12px 20px;position:relative;z-index:100}.demo-signup-content,.demo-signup-ribbon{align-items:center;display:flex;justify-content:center}.demo-signup-content{gap:20px;max-width:1200px;width:100%}.demo-signup-text{font-size:16px;font-weight:500;text-shadow:0 1px 2px #0003}.demo-signup-buttons{display:flex;gap:12px}.demo-signup-btn{align-items:center;border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;padding:8px 20px;text-decoration:none;transition:all .2s ease}.demo-signup-btn.free-btn{background:#fff;border:2px solid #0000;color:#ff851b}.demo-signup-btn.free-btn:hover{background:#f8f9fa;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.demo-signup-btn.pro-btn{background:#fff3;border:2px solid #fff;color:#fff}.demo-signup-btn.pro-btn:hover{background:#fff;box-shadow:0 4px 8px #00000026;color:#ff851b;transform:translateY(-1px)}@media (max-width:768px){.demo-signup-ribbon{padding:10px 15px}.demo-signup-content{flex-direction:column;gap:12px;text-align:center}.demo-signup-text{font-size:14px}.demo-signup-btn{font-size:13px;padding:6px 16px}}.full-building-form-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.full-building-form{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.form-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:24px 24px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.form-header h2{color:#111827;flex:1 1;font-size:20px;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:18px;padding:4px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#374151}.method-toggle{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:20px 24px}.method-toggle.warning{background:#fef3cd;border-color:#f59e0b}.method-toggle p{color:#374151;font-size:14px;font-weight:500;margin:0 0 12px}.method-toggle.warning p{color:#92400e;font-weight:600}.method-btn,.method-buttons{display:flex;gap:8px}.method-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.method-btn:hover{background:#f9fafb;border-color:#9ca3af}.method-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.form-section{border-bottom:1px solid #f3f4f6;padding:24px}.form-section:last-child{border-bottom:none}.form-section h3{align-items:center;color:#111827;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 20px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.form-row:last-child{margin-bottom:0}.form-field{display:flex;flex-direction:column;gap:6px}.form-field:last-child{margin-bottom:0}.form-field label{color:#374151;font-size:14px;font-weight:500}.form-field input,.form-field select,.form-field textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-field textarea{min-height:80px;resize:vertical}.form-field input[type=number]{-moz-appearance:textfield}.form-field input[type=number]::-webkit-inner-spin-button,.form-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-actions{background:#f8fafc;border-radius:0 0 12px 12px;display:flex;gap:12px;justify-content:flex-end;padding:24px}.cancel-btn,.submit-btn{border:1px solid;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.cancel-btn{background:#fff;border-color:#d1d5db;color:#374151}.cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.submit-btn{background:#3b82f6;border-color:#3b82f6;color:#fff}.submit-btn:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.submit-btn:disabled{background:#9ca3af;border-color:#9ca3af;cursor:not-allowed}.section-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 16px}.percentage-total{border-radius:4px;font-size:13px;font-weight:600;margin-left:8px;padding:2px 8px}.percentage-total.valid{background:#dcfce7;color:#166534}.percentage-total.invalid{background:#fef2f2;color:#dc2626}.space-breakdown-rows{display:flex;flex-direction:column;gap:12px;margin-top:16px}.space-breakdown-row{grid-gap:16px;align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:grid;gap:16px;grid-template-columns:180px 140px 1fr;padding:12px}.space-type-label{color:#374151;font-weight:500}.space-input-group{align-items:center;display:flex;gap:8px;justify-self:start}.space-input-group input{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:6px 8px;width:80px}.ceiling-height-group{align-items:center;display:flex;gap:8px;justify-self:end}.ceiling-height-group label{color:#6b7280;font-size:12px;font-weight:500}.ceiling-height-group input{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:6px 8px;width:60px}.input-unit{color:#6b7280;font-size:12px;font-weight:500}.lighting-requirements-grid{display:flex;flex-direction:column;gap:8px;margin-top:16px}.lighting-header{grid-gap:16px;background:#f3f4f6;border-radius:6px;color:#374151;display:grid;font-size:14px;font-weight:600;gap:16px;grid-template-columns:1fr 200px;padding:8px 12px}.space-name-header{text-align:left}.ies-level-header{align-items:center;display:flex;gap:12px;justify-content:center}.reset-ies-btn{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;transition:background-color .2s}.reset-ies-btn:hover{background:#2563eb}.reset-ies-btn:active{background:#1d4ed8}.lighting-requirement-row{grid-gap:16px;align-items:center;background:#fafbfc;border:1px solid #e5e7eb;border-radius:6px;display:grid;gap:16px;grid-template-columns:1fr 200px;padding:10px 12px;transition:background-color .2s}.lighting-requirement-row:hover{background:#f9fafb}.space-name{color:#374151;font-size:14px;font-weight:500}.ies-input-group{align-items:center;display:flex;gap:8px;justify-self:center}.ies-input-group input{border:1px solid #d1d5db;border-radius:4px;font-size:14px;padding:6px 8px;text-align:center;width:70px}.ies-input-group input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.ies-input-group .input-unit{color:#6b7280;font-size:12px;font-weight:500;min-width:20px}.results-section{background:#f8fafc;border:1px solid #e2e8f0}.results-section h3{color:#1e40af}.results-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:16px}.result-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;text-align:center}.result-item label{color:#6b7280;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.result-value{color:#1e40af;display:block;font-size:20px}.form-field input:invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-field input:valid{border-color:#10b981}.form-blocked{padding:40px 24px;text-align:center}.blocked-message{margin:0 auto;max-width:600px}.blocked-message h3{color:#dc2626;font-size:18px;margin-bottom:16px}.blocked-message p{color:#374151;line-height:1.6;margin-bottom:12px}.blocked-message ul{margin:16px 0;padding-left:20px;text-align:left}.blocked-message li{color:#374151;margin-bottom:8px}.blocked-message em{color:#6b7280;font-size:14px}.warning-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.warning-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;padding:24px;width:100%}.warning-modal h3{color:#dc2626;font-size:18px;margin:0 0 16px}.warning-modal p{color:#374151;line-height:1.6;margin-bottom:12px}.warning-modal ul{margin:16px 0;padding-left:20px}.warning-modal li{color:#374151;margin-bottom:8px}.warning-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.warning-modal-actions button{border:1px solid;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.form-section{transition:all .2s ease}.form-section:hover{background:#fafbfc}@media (max-width:768px){.full-building-form-overlay{padding:10px}.full-building-form{max-height:95vh}.form-header{padding:20px 20px 16px}.form-section{padding:20px}.form-row{gap:16px;grid-template-columns:1fr}.space-breakdown-row{gap:12px;grid-template-columns:1fr 120px 120px}.results-grid{gap:12px;grid-template-columns:1fr}.lighting-header,.lighting-requirement-row{gap:12px;grid-template-columns:1fr 120px}.form-actions,.method-buttons{flex-direction:column}.form-actions{padding:20px}}@media (max-width:480px){.space-breakdown-row{gap:8px;grid-template-columns:1fr;text-align:center}.ceiling-height-group{justify-self:center}.lighting-header,.lighting-requirement-row{gap:8px;grid-template-columns:1fr;text-align:center}.ies-input-group{justify-self:center}.percentage-total{display:block;margin-left:0;margin-top:4px}}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;display:grid;grid-template-columns:1.5fr 1fr;max-width:1200px;min-height:700px;overflow:hidden;width:100%}.login-left{background:#f8fafc;display:flex;flex-direction:column;justify-content:center;padding:60px}.app-branding{margin-bottom:40px}.brand-header{display:flex;flex-direction:column;gap:8px}.app-title{align-items:center;display:flex;font-size:3.2rem;font-weight:800;gap:8px;line-height:1;margin:0}.layout-text{color:#2d3748}.mule-text{color:#667eea}.mule-icon{flex-shrink:0;margin-left:4px}.app-tagline{color:#64748b;font-size:1.1rem;font-weight:500;margin:4px 0 0}.app-description h2{color:#2d3748;font-size:1.8rem;font-weight:700;margin-bottom:20px}.description-text{color:#4a5568;font-size:1.05rem;line-height:1.6;margin-bottom:30px}.value-props{display:flex;flex-direction:column;gap:12px;margin-bottom:35px}.value-prop{align-items:center;background:#fff;border-left:3px solid #10b981;border-radius:8px;color:#374151;display:flex;font-size:.95rem;gap:12px;padding:12px 16px}.value-icon{color:#10b981;flex-shrink:0}.systems-showcase{margin-bottom:35px}.systems-showcase h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin-bottom:20px}.systems-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.system-category{background:#fff;border-left:4px solid #e2e8f0;border-radius:12px;padding:18px;transition:all .3s ease}.system-category:hover{box-shadow:0 8px 25px #00000014;transform:translateY(-2px)}.category-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.category-icon{border-radius:8px;flex-shrink:0;padding:8px}.category-icon.electrical{background:#fef3c7;color:#f59e0b}.category-icon.data{background:#fce7f3;color:#ec4899}.category-icon.security{background:#f3e8ff;color:#8b5cf6}.category-icon.av{background:#fed7aa;color:#f97316}.category-icon.mechanical{background:#d1fae5;color:#10b981}.category-icon.integration{background:#dbeafe;color:#3b82f6}.system-category h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0}.system-category ul{list-style:none;margin:0;padding:0}.system-category li{color:#64748b;font-size:.85rem;padding:4px 0 4px 16px;position:relative}.system-category li:before{color:#cbd5e1;content:"•";left:0;position:absolute}.workflow-showcase{margin-top:30px}.workflow-showcase h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin-bottom:20px}.workflow-steps{display:flex;flex-direction:column;gap:16px}.workflow-step{align-items:center;background:#fff;border-left:4px solid #667eea;border-radius:12px;display:flex;gap:16px;padding:18px;transition:all .3s ease}.workflow-step:hover{box-shadow:0 6px 20px #00000014;transform:translateX(4px)}.step-number{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.95rem;font-weight:600;height:36px;justify-content:center;width:36px}.step-content h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 4px}.step-content p{color:#64748b;font-size:.9rem;line-height:1.4;margin:0}.step-arrow{color:#cbd5e1;flex-shrink:0;margin-left:auto}.login-right{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:flex-start;overflow-y:auto;padding:40px 50px 60px}.login-form-container{max-width:350px;width:100%}.login-form-container h2{color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:30px;text-align:center}.login-form-container.compact h2{font-size:1.5rem;margin-bottom:20px}.login-form{display:flex;flex-direction:column;gap:25px}.login-form-container.compact .login-form{gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#374151;font-size:.95rem;font-weight:600}.form-group input{border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;padding:15px;transition:border-color .3s ease}.login-form-container.compact .form-group input{font-size:.95rem;padding:12px}.form-group input:focus{border-color:#ff851b;box-shadow:0 0 0 3px #ff851b1a;outline:none}.login-button{align-items:center;background:linear-gradient(135deg,#ff851b,#e67e22);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:10px;justify-content:center;margin-top:10px;padding:15px 30px;transition:all .3s ease}.login-form-container.compact .login-button{font-size:1rem;margin-top:8px;padding:12px 24px}.login-button:hover{box-shadow:0 10px 25px #ff851b4d;transform:translateY(-2px)}.login-footer{margin-top:30px;text-align:center}.login-footer.compact{margin-top:16px}.login-footer p{color:#64748b;font-size:.9rem;margin:8px 0}.login-footer a{color:#ff851b;font-weight:500;text-decoration:none}.login-footer a:hover{text-decoration:underline}.demo-notice{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin-top:25px;padding:15px;text-align:center}.demo-notice p{color:#0369a1;font-size:.85rem;margin:0}.roi-calculator{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 32px #00000014;margin-bottom:25px;max-width:450px;padding:24px;width:100%}.roi-header{margin-bottom:24px;text-align:center}.roi-header .roi-icon{color:#10b981;margin-bottom:8px}.roi-header h3{color:#2d3748;font-size:1.4rem;font-weight:700;margin:0 0 8px}.roi-header p{color:#64748b;font-size:.9rem;margin:0}.roi-inputs{margin-bottom:24px}.input-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{color:#374151;font-size:.85rem;font-weight:600}.input-group input[type=range]{-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:3px;cursor:pointer;height:6px;outline:none}.input-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#667eea;border-radius:50%;box-shadow:0 2px 6px #667eea4d;cursor:pointer;height:18px;width:18px}.input-group input[type=range]::-moz-range-thumb{background:#667eea;border:none;border-radius:50%;box-shadow:0 2px 6px #667eea4d;cursor:pointer;height:18px;width:18px}.input-value{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#667eea;font-size:.85rem;font-weight:600;padding:4px 8px;text-align:center}.result-cards,.roi-results{margin-bottom:20px}.result-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.result-card{align-items:center;background:#f8fafc;border-left:4px solid #10b981;border-radius:12px;display:flex;gap:12px;padding:16px}.result-card.primary{background:linear-gradient(135deg,#10b981,#059669);border-left:4px solid #047857;color:#fff}.result-card.primary .result-icon,.result-card.primary .result-label,.result-card.primary .result-value{color:#fff}.result-icon{color:#10b981;flex-shrink:0}.result-content{flex:1 1}.result-value{color:#2d3748;font-size:1.3rem;font-weight:700;line-height:1.2}.result-label{color:#64748b;font-size:.8rem;font-weight:500;margin-top:2px}.roi-summary{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:12px;padding:16px;text-align:center}.roi-percentage{align-items:center;display:flex;flex-direction:column;margin-bottom:8px}.roi-number{color:#0369a1;font-size:2rem;font-weight:800;line-height:1}.roi-text{color:#075985;font-size:.85rem;font-weight:600;margin-top:4px}.roi-description{color:#0369a1;font-size:.8rem;line-height:1.4;margin:0}@media (max-width:1024px){.login-container{grid-template-columns:1fr;max-width:600px}.login-left{padding:40px}.systems-grid{grid-template-columns:1fr}.roi-calculator{max-width:100%;padding:20px}.input-row{gap:12px}.input-row,.result-cards{grid-template-columns:1fr}.app-title{flex-direction:column;font-size:2.8rem;gap:12px;text-align:center}}@media (max-width:768px){.login-page{overflow-x:hidden;padding:15px}.login-container{border-radius:12px;margin:0;max-width:100%;min-height:auto}.login-left{box-sizing:border-box;max-width:100%;padding:20px}.login-right{display:none!important}.app-title{font-size:1.8rem;text-align:center}.app-tagline{font-size:1rem;text-align:center}.app-description h2{font-size:1.5rem;text-align:center}.description-text{font-size:.95rem;text-align:center}.systems-grid{gap:15px;grid-template-columns:1fr}.system-category{padding:15px}.workflow-step{flex-direction:column;gap:12px;padding:15px;text-align:center}.step-arrow{display:none}.workflow-steps{gap:15px}.mobile-roi-calculator,.mobile-signin{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;box-sizing:border-box;display:block;margin:25px 0;max-width:100%;padding:15px}.mobile-signin .login-form-container{background:#0000;box-shadow:none;padding:0}.mobile-signin h2{font-size:1.4rem;margin-bottom:20px;text-align:center}.mobile-signin .form-group{margin-bottom:15px}.mobile-signin input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:1rem;padding:12px;width:100%}.mobile-signin .login-button{font-size:1rem;margin:10px 0;padding:12px;width:100%}.mobile-signin .login-footer{margin-top:20px;text-align:center}.desktop-only-notice{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;box-sizing:border-box;margin-top:20px;max-width:100%;padding:15px;text-align:left}.desktop-only-notice h3{color:#0369a1;font-size:1rem;font-weight:600;margin:0 0 10px;text-align:center}.desktop-only-notice p{color:#0369a1;font-size:.85rem;line-height:1.4;margin:6px 0}.desktop-only-notice ul{color:#0369a1;margin:6px 0;padding-left:18px}.desktop-only-notice li{font-size:.85rem;margin:3px 0}*{box-sizing:border-box;max-width:100%}.login-left>*{max-width:100%;overflow-x:hidden}}@media (min-width:769px){.mobile-roi-calculator,.mobile-signin{display:none}}.mobile-roi-calculator{margin:0 auto;max-width:100%}.mobile-roi-compact{box-shadow:0 4px 20px #ff851b4d;transition:all .3s ease}.mobile-roi-compact:hover{box-shadow:0 6px 25px #ff851b66;transform:translateY(-2px)}.mobile-login-page input[type=range],.mobile-roi-calculator input[type=range]{-webkit-appearance:none;appearance:none;background:#0000;cursor:pointer}.mobile-login-page input[type=range]::-webkit-slider-track{background:#ffffff4d;border-radius:4px;height:8px}.mobile-roi-calculator input[type=range]::-webkit-slider-track{background:#e5e7eb;border-radius:4px;height:8px}.mobile-login-page input[type=range]::-webkit-slider-thumb,.mobile-roi-calculator input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#ff851b;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;height:20px;width:20px}.mobile-login-page input[type=range]::-moz-range-track{background:#ffffff4d;border:none;border-radius:4px;height:8px}.mobile-roi-calculator input[type=range]::-moz-range-track{background:#e5e7eb;border:none;border-radius:4px;height:8px}.mobile-login-page input[type=range]::-moz-range-thumb,.mobile-roi-calculator input[type=range]::-moz-range-thumb{background:#ff851b;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0003;cursor:pointer;height:20px;width:20px}.mobile-form-input{-webkit-appearance:none;appearance:none;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;font-size:16px;padding:14px 16px;transition:all .2s ease;width:100%}.mobile-form-input:focus{background:#ffffff26;border-color:#ff851b;box-shadow:0 0 0 2px #ff851b4d;outline:none}.mobile-form-input::placeholder{color:#fff9}.mobile-btn-primary{background:linear-gradient(135deg,#ff851b,#e67e22);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px;transition:all .2s ease;width:100%}.mobile-btn-primary:hover:not(:disabled){box-shadow:0 4px 20px #ff851b66;transform:translateY(-1px)}.mobile-btn-primary:active{transform:translateY(0)}.mobile-btn-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.mobile-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:20px}.mobile-card-glass{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #0000001a;border-radius:16px;box-shadow:0 10px 30px #00000026}.mobile-grid-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.mobile-grid-4{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.mobile-heading-1{font-size:2rem;font-weight:700;line-height:1.2;margin:0}.mobile-heading-2{font-size:1.5rem;font-weight:600;line-height:1.3;margin:0}.mobile-heading-3{font-size:1.2rem;font-weight:600;line-height:1.4;margin:0}.mobile-body{font-size:1rem;line-height:1.5}.mobile-body-small{font-size:.875rem;line-height:1.4}.mobile-caption{font-size:.75rem;line-height:1.3}.mobile-spacing-xs{gap:8px}.mobile-spacing-sm{gap:12px}.mobile-spacing-md{gap:16px}.mobile-spacing-lg{gap:20px}.mobile-spacing-xl{gap:24px}@media (max-width:480px){.mobile-heading-1{font-size:1.75rem}.mobile-heading-2{font-size:1.25rem}.mobile-card{padding:16px}.mobile-grid-4{gap:8px;grid-template-columns:1fr}.mobile-grid-2{gap:8px}}@media (pointer:coarse){.mobile-form-input,button,input[type=range],select{min-height:44px}}@media (prefers-color-scheme:dark){.mobile-card-glass{background:#2d3748f2;border:1px solid #ffffff1a;color:#fff}}@keyframes mobileSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:200px;opacity:1;transform:translateY(0)}}.mobile-slide-up{animation:mobileSlideUp .3s ease-out}.mobile-scroll{scrollbar-color:#ff851b80 #0000;scrollbar-width:thin}.mobile-scroll::-webkit-scrollbar{width:4px}.mobile-scroll::-webkit-scrollbar-track{background:#0000}.mobile-scroll::-webkit-scrollbar-thumb{background:#ff851b80;border-radius:2px}.mobile-scroll::-webkit-scrollbar-thumb:hover{background:#ff851bb3}
/*# sourceMappingURL=main.bd7d7417.css.map*/