*{box-sizing:border-box}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;margin:0}body,html{overflow-x:hidden}html{max-width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:100vw;min-height:100vh;overflow-x:hidden;padding-top:70px;text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;justify-content:space-between;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.App-header h1{color:#fff;font-size:28px;margin:0}.App-header p{font-size:1.2rem;margin:.5rem 0 0;opacity:.8}.version-info{align-items:center;display:flex;font-size:.9rem;gap:10px}.version-info span{color:#aaa}.version-number{color:#aaa;font-size:14px;margin-left:10px}.changelog-button{background:none;border:1px solid #666;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:all .2s ease}.changelog-button:hover{background-color:#ffffff1a;border-color:#999}.App-main{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:1.5rem;max-width:100%;overflow-x:hidden;padding:1rem;width:100%}.upload-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:2rem auto;max-width:600px;padding:2rem;width:100%}.upload-section h2{color:#2c3e50;margin-top:0}.upload-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.file-input{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.file-label{background-color:#3498db;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.8rem 1.5rem;transition:background-color .3s}.file-label:hover{background-color:#2980b9}.file-name{background-color:#f5f5f5;border-radius:4px;flex:1 1;overflow:hidden;padding:.8rem;text-overflow:ellipsis;white-space:nowrap}.processing-indicator{padding:3rem;width:100%}.spinner{animation:spin 1s ease-in-out infinite;border:5px solid #0000001a;border-top-color:#3498db;height:50px;margin-bottom:1rem;width:50px}.floorplan-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;padding-top:70px;width:100%}.floorplan-header{align-items:center;background-color:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;left:0;padding:15px 20px;position:fixed;right:0;top:70px;z-index:990}.floorplan-header h2{color:#2c3e50;margin:0}.interactive-hint{color:#666;font-size:.9rem;font-style:italic;margin:0 0 .5rem}.details-toggle-container{display:flex;justify-content:center;margin:1rem 0}.details-toggle-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1.2rem;transition:background-color .3s}.details-toggle-button:hover{background-color:#2980b9}.analysis-results{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;width:100%}.analysis-results h2{color:#2c3e50;margin-top:0}.analysis-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1.5rem}.analysis-item{background-color:#f8f9fa;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.2rem;text-align:center}.analysis-item h3{color:#2c3e50;font-size:1rem;margin-top:0}.analysis-item p{color:#3498db;font-size:1.5rem;font-weight:600;margin:.5rem 0 0}.detection-results{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;width:100%}.detection-results h2{color:#2c3e50;margin-top:0}.elements-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:1.5rem}.element-card{background-color:#f8f9fa;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.2rem}.element-card h3{color:#2c3e50;font-size:1.1rem;margin-top:0}.element-card p{color:#555;margin:.5rem 0}.reset-button{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease}.reset-button:hover{background-color:#e5e7eb;color:#1f2937}.reset-button:before{content:"←";font-size:16px}.App-footer{background-color:#282c34;color:#fff;font-size:.9rem;margin-top:1.5rem;padding:.75rem 0}.App-footer p{margin:0;opacity:.7}.App-link{color:#61dafb}@media (max-width:768px){.App-header h1{font-size:1.5rem}.upload-section{padding:1.5rem}.analysis-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.elements-grid{grid-template-columns:1fr}}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.changelog-link-container{bottom:20px;position:fixed;right:20px;z-index:100}.changelog-link{background-color:#3498db;border:none;border-radius:4px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;font-size:.85rem;opacity:.9;padding:8px 12px;transition:all .2s ease}.changelog-link:hover{background-color:#2980b9;box-shadow:0 4px 8px #0003;opacity:1;transform:translateY(-2px)}.save-status{border-radius:4px;bottom:20px;box-shadow:0 1px 3px #0000001a;left:20px;opacity:.85;padding:8px 16px;position:fixed;transition:all .5s ease-in-out;z-index:1000}.save-status.saving{animation:fadeInOut 3s forwards;background-color:#f8f9fae6;color:#6c757d}.save-status.saved{animation:fadeOut 2s forwards;animation-delay:2s;background-color:#d4edda;color:#155724;opacity:1}.save-status.error{background-color:#f8d7da;color:#721c24}@keyframes fadeOut{0%{opacity:.85}to{opacity:0}}@keyframes fadeInOut{0%{opacity:0}20%{opacity:.85}80%{opacity:.85}to{opacity:0}}.auth-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:2rem auto;max-width:400px;padding:2rem}.auth-form h2{color:#2c3e50;margin-bottom:1.5rem;margin-top:0;text-align:center}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px}.auth-form button,.form-group input{font-size:1rem;padding:.8rem;width:100%}.auth-form button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;transition:background-color .3s}.auth-form button:hover{background-color:#2980b9}.auth-form button:disabled{background-color:#95a5a6;cursor:not-allowed}.error{background-color:#f8d7da;color:#721c24}.error,.message{margin-bottom:1rem;padding:.8rem}.message{background-color:#d4edda;border-radius:4px;color:#155724}.auth-links{margin-top:1rem;text-align:center}.auth-links a{color:#3498db;text-decoration:none}.auth-links a:hover{text-decoration:underline}.project-list{margin:0 auto 2rem;max-width:800px;padding:1rem}.project-list h2{margin-top:0}.project-list ul{list-style:none;margin:0;padding:0}.project-list li{cursor:pointer;margin-bottom:1rem}.project-item{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:1rem;transition:transform .2s}.project-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.project-item h3{color:#2c3e50;margin:0 0 .5rem}.project-item p{color:#7f8c8d;font-size:.9rem;margin:0}.delete-button{background-color:#e74c3c;color:#fff;padding:.5rem 1rem;transition:background-color .3s}.delete-button:hover{background-color:#c0392b}.user-info{align-items:center;display:flex;flex:1 1;gap:15px;justify-content:flex-end}.user-info span{color:#fff;font-size:14px;margin-left:auto}.settings-button{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#4b5563;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.settings-button:hover{background-color:#e5e7eb;color:#1f2937}.settings-button.active{background-color:#edf2ff;color:#3b82f6}.logout-button{background-color:initial;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.logout-button:hover{background-color:#ffffff1a;border-color:#ffffff80}.auth-buttons{display:flex;gap:10px}.auth-buttons button{background-color:initial;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background-color .2s}.auth-buttons button:hover{background-color:#ffffff1a;border-color:#ffffff80}.auth-buttons button.active{background-color:#fff3;border-color:#fff9;font-weight:500}.auth-loading{align-items:center;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:2rem auto;max-width:400px;padding:2rem}.auth-loading .spinner{animation:spin 1s ease-in-out infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#3498db;height:40px;margin-bottom:1rem;width:40px}.domain-restriction{background-color:#f8f9fa;border-left:4px solid #3498db;color:#2c3e50;font-size:14px;margin-bottom:20px;padding:10px 15px}.project-name-container{margin-bottom:1rem}.project-name-display{align-items:center;border-radius:4px;color:#2c3e50;cursor:pointer;display:inline-flex;font-size:1.2rem;font-weight:600;gap:8px;padding:4px 8px;transition:background-color .2s}.project-name-display:hover{background-color:#0000000d}.edit-icon{font-size:.9rem}.project-name-display:hover .edit-icon{opacity:1}.project-name-input{align-items:center;display:flex}.project-name-input h2{color:#2c3e50;font-size:24px;transition:all .2s}.project-name-input h2:hover{color:#3498db}.project-name-input input{background-color:#f5f5f5;border:none;color:#2c3e50;font-size:24px;outline:none;padding:5px 10px;width:300px}.edit-icon{font-size:16px;margin-left:5px;opacity:.5}.app-logo.clickable{transition:color .2s}.app-logo.clickable:hover{color:#4a90e2}.global-nav{display:flex;margin-left:40px}.global-nav .nav-button{background:#0000;border:none;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:14px;font-weight:500;margin:0 5px;padding:10px 20px;transition:all .2s}.global-nav .nav-button:hover{background-color:#ffffff1a;color:#fff}.global-nav .nav-button.active{background-color:#fff3;color:#fff;font-weight:500}.global-nav .upload-button{border:2px dotted #0f1941}.page-container{margin:0 auto;max-width:1200px;padding:20px;width:100%}.page-container,.version-button{align-items:center;display:flex;flex-direction:column}.version-button{background-color:#0000001a;border:none;border-radius:20px;bottom:20px;color:#666;cursor:pointer;font-size:12px;padding:8px 15px;position:fixed;right:20px;transition:all .2s;z-index:10}.version-button:hover{background-color:#0003}.version-number-button{font-weight:600}.version-date{font-size:10px;margin-top:2px;opacity:.8}.app-logo{cursor:default;display:inline-block;font-size:28px;font-weight:700;margin:0;position:relative}.app-logo.clickable{cursor:pointer}.version-number{font-size:12px;font-weight:400;margin-left:2px;opacity:.7;position:absolute;right:-30px;top:2px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));width:100%}.project-card{border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 12px #00000014}.project-card:hover{box-shadow:0 6px 16px #0000001f}.project-card.archived{opacity:.85}.project-image{border-bottom:1px solid #0000000d;height:200px}.project-details h3{color:#2c3e50;font-weight:600}.project-date{color:#6c757d}.project-actions{gap:10px;justify-content:space-between;margin-top:16px}.archive-button,.unarchive-button{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-weight:500}.archive-button{color:#6c757d}.archive-button:hover{color:#495057}.unarchive-button{border:1px solid #3b82f6;color:#3b82f6}.unarchive-button:hover{background-color:#edf2ff;color:#2563eb}.delete-project-button{border:1px solid #dc3545;border-radius:6px;color:#dc3545;font-weight:500}.delete-project-button:hover{background-color:#dc3545}.toggle-archived-button{color:#3b82f6;padding:10px 24px}.project-list h2{border-bottom:1px solid #eee;color:#2c3e50;font-weight:600;padding-bottom:10px}.project-list h3{color:#6c757d;font-weight:600;margin-top:30px}.floorplan-viewer{background-color:#f0f0f0;border-radius:8px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;max-width:100%;overflow:hidden;padding-top:60px;transition:all .3s ease;width:100%}.top-controls{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 5px #0000001a;display:flex;justify-content:space-between;left:0;padding:10px;position:fixed;top:0;width:100%;z-index:1000}.top-tool-panel{background:none;box-shadow:none;display:flex;flex-direction:row;margin:0 15px;overflow-x:auto;padding:0;position:static;transform:none;width:auto}.top-tool-panel .tool-button{height:auto;margin:0 3px;padding:5px;width:auto}.top-tool-panel .tool-button-icon{font-size:18px;margin-bottom:2px}.top-tool-panel .tool-button-text{font-size:10px}.top-tool-panel .space-type-divider{align-items:center;border-left:1px solid #ddd;border-top:none;display:flex;height:32px;margin:0 10px;padding:0 0 0 10px}.top-tool-panel .space-type-button{height:auto;padding:5px}.top-tool-panel .space-type-icon{height:20px;width:20px}.top-tool-panel.minimized{min-width:80px;overflow:hidden;width:80px}.top-tool-panel.minimized .toggle-button{border-right:none;justify-content:space-between;padding:5px 10px;width:100%}.top-tool-panel .toggle-button{border-right:1px solid #ddd;display:flex;height:auto;left:auto;margin-right:5px;padding:3px;position:relative;top:auto;transform:none;width:auto}.button-group{align-items:center;display:flex;gap:10px}.save-status{color:#666;font-size:14px}.save-status.saving{color:#2196f3}.auto-save-note{color:#888;font-size:12px;font-style:italic}.top-button{align-items:center;border:none;cursor:pointer;display:inline-flex;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s ease}.new-project-notice,.top-button{border-radius:4px;font-size:14px}.new-project-notice{background-color:#fff3cd;color:#856404;margin:0 15px;padding:6px 12px}.save-button{background-color:#4caf50;box-shadow:0 2px 4px #0003;font-weight:700;min-width:80px}.save-button:hover{background-color:#45a049;box-shadow:0 3px 6px #00000040;transform:translateY(-1px)}.save-button.clicked{background-color:#367c39;box-shadow:inset 0 2px 5px #0003;transform:scale(.98)}.back-button{background-color:#f5f5f5;border:1px solid #e0e0e0;color:#333}.back-button:hover{background-color:#e0e0e0}.viewer-container{height:calc(100vh - 70px);margin-top:0;overflow:hidden;position:relative;width:100%}.image-container{align-items:center;box-sizing:border-box;contain:layout paint;display:flex;justify-content:center;transform-origin:center;will-change:transform}.floorplan-image,.image-container{backface-visibility:hidden;height:100%;left:0;position:absolute;top:0;width:100%}.floorplan-image{-webkit-user-drag:none;max-height:100%;max-width:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.measurement-overlay{height:100%;left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;width:100%;will-change:transform;z-index:10}.measurement-overlay circle,.measurement-overlay path,.measurement-overlay rect{pointer-events:visiblePainted}.measurement-overlay text{dominant-baseline:middle;pointer-events:none}.measurement-overlay line,.measurement-overlay polygon,.measurement-overlay polyline{fill:none;pointer-events:visiblePainted}.sensor-icon{cursor:pointer;pointer-events:all}.sensor-tooltip{background-color:#000c;border-radius:4px;box-shadow:0 2px 8px #0000004d;color:#fff;font-size:12px;line-height:1.4;max-width:220px;padding:5px 8px;pointer-events:none;position:absolute;position:relative;white-space:nowrap;z-index:1000}.sensor-tooltip:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #000000d9;bottom:-6px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.sensor-tooltip div{margin-bottom:4px}.sensor-tooltip strong{font-weight:600}.tooltip-action{border-top:1px solid #fff3;font-size:11px;font-style:italic;margin-top:8px;opacity:.8;padding-top:4px}.measurement-display{background-color:#000000b3;bottom:20px}.area-display,.measurement-display{border-radius:20px;color:#fff;font-size:1.2rem;font-weight:600;left:50%;padding:8px 16px;position:absolute;transform:translateX(-50%);z-index:10}.area-display{background-color:#000064b3;bottom:60px}.scale-info{border-radius:4px;bottom:10px;box-shadow:0 2px 4px #0003;font-size:14px;max-width:90%;padding:6px 12px}.measure-instructions,.scale-info{background-color:#000000b3;color:#fff;left:50%;position:absolute;text-align:center;transform:translateX(-50%);white-space:nowrap;z-index:10}.measure-instructions{border-radius:20px;font-size:1rem;max-width:80%;padding:8px 16px;top:20px}.scale-setting-panel{background-color:#000000b3;border-radius:5px;bottom:60px;box-shadow:0 2px 8px #0000004d;color:#fff;left:50%;min-width:250px;padding:15px;position:absolute;transform:translateX(-50%);z-index:10}.scale-panel-title{font-weight:700;margin-bottom:10px}.scale-input-group{align-items:center;display:flex;margin-bottom:10px}.scale-input{border:none;border-radius:3px;flex:1 1;margin-right:5px;padding:5px}.scale-unit{font-size:14px;white-space:nowrap}.scale-info-text{color:#ccc;font-size:12px;font-style:italic;line-height:1.4;margin:8px 0 0;text-align:center}.scale-info-text p{margin:0}.scale-apply-button{background-color:#4caf50;border:none;border-radius:3px;color:#fff;cursor:pointer;padding:8px;width:100%}.scale-apply-button:hover{background-color:#45a049}.scale-apply-button:disabled{background-color:#ccc;cursor:not-allowed}.space-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:block;flex-shrink:0;margin-top:20px;max-width:100%;overflow-x:auto;padding:15px;width:100%}.space-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.space-list h3{color:#333;font-size:1.2rem;margin-bottom:0;margin-top:0}.space-list-actions{display:flex;gap:10px}.action-button{background-color:#f5f5f5;border:1px solid #ccc;font-size:.9rem;padding:6px 12px;transition:all .2s ease}.action-button:hover{background-color:#e5e5e5}.clear-button{background-color:#ffebee;border-color:#ffcdd2;color:#d32f2f}.clear-button:hover{background-color:#ffcdd2}.export-button{background-color:#e3f2fd;border-color:#bbdefb;color:#1976d2}.export-button:hover{background-color:#bbdefb}.space-table{border-collapse:collapse;margin-top:10px;min-width:100%;overflow-x:auto;width:100%}.space-table td,.space-table th{border-bottom:1px solid #eee;padding:8px 12px;text-align:left}.space-table th{background-color:#f5f5f5;color:#555;font-weight:600}.space-table tr:hover{background-color:#f9f9f9}.space-table tr.selected-space{background-color:#fff9e0}.space-table select{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:4px 8px}.space-table select.entry-type,.space-table select.oa-type,.space-table select.waffle-type{border:1px solid #ccc;color:inherit}.sensor-type-button{border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:4px 8px}.sensor-type-button.oa{background-color:#4a90e2;color:#fff}.sensor-type-button.waffle{background-color:#4ecdc4;color:#fff}.sensor-type-button.entry{background-color:#9d65c9;color:#fff}.count-control{justify-content:center}.count-control button{font-size:1rem}.count-control span{margin:0 8px}.delete-button{font-size:1.2rem;padding:4px;transition:background-color .2s}.delete-button:hover{background-color:#ff00001a}.summary-row{background-color:#f8f8f8;font-weight:500}.summary-row td{border-top:2px solid #ddd}.summary-row td[colspan]{background-color:#f8f8f8}.sensor-summary{flex-wrap:wrap;justify-content:center}@media (max-width:768px){.floorplan-viewer{height:60vh}.measurement-display{bottom:20px}.area-display{bottom:60px}.scale-setting-panel{bottom:20px}.scale-info{bottom:20px;left:10px}.feet-inches-input{flex-direction:column;gap:5px}.space-table{font-size:.8rem}.space-table td,.space-table th{padding:6px 8px}.count-control button{height:20px;width:20px}.sensor-summary{flex-direction:column;gap:5px}}.type-visibility-controls{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;padding:15px}.visibility-control-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.visibility-control-header h4{color:#333;font-size:16px;margin:0}.multi-selection-controls span{color:#555;font-size:14px;font-weight:700}.type-toggle-buttons{display:flex;gap:10px;margin-bottom:10px}.type-toggle{align-items:center;color:#fff;display:flex;font-weight:700;gap:5px;padding:8px 12px;transition:all .2s ease}.type-toggle.active{opacity:1}.type-toggle.inactive{opacity:.6}.type-toggle:hover{box-shadow:0 2px 5px #0003;transform:translateY(-2px)}.selection-hint{color:#666;font-size:12px;margin-top:10px}.selection-hint kbd{background-color:#eee;border:1px solid #b4b4b4;border-radius:3px;box-shadow:0 1px 1px #0003;color:#333;display:inline-block;font-size:11px;line-height:1;padding:2px 4px}.hidden-space{background-color:#f9f9f9}.selected-space{background-color:#ffff001a;border-left:3px solid gold}.action-button.show-button{background-color:#4caf50}.action-button.hide-button,.action-button.show-button{border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:5px 10px}.action-button.hide-button{background-color:#f44336}.action-button:hover{opacity:.9}.scale-warning{background-color:#ffba00e6;border-radius:4px;box-shadow:0 2px 4px #0003;color:#000;font-size:14px;font-weight:700;left:50%;max-width:80%;padding:8px 15px;position:absolute;text-align:center;top:20px;transform:translateX(-50%);z-index:100}.scale-warning p{margin:0}.zoom-info{background-color:#000000b3;border-radius:4px;bottom:40px;box-shadow:0 2px 4px #0003;color:#fff;font-size:14px;padding:6px 12px;text-align:center;transform:translateX(-50%);white-space:nowrap;z-index:20}.ceiling-height-panel,.zoom-info{left:50%;max-width:90%;position:absolute}.ceiling-height-panel{background-color:#fffffff2;border:2px solid #4a90e2;border-radius:8px;box-shadow:0 4px 15px #0003;padding:20px;top:50%;transform:translate(-50%,-50%);width:300px;z-index:100}.ceiling-height-panel .panel-header{margin-bottom:15px}.ceiling-height-panel .panel-header h3{color:#333;font-size:1.2rem;margin:0 0 10px}.ceiling-height-panel .panel-description{color:#666;font-size:.9rem;line-height:1.4;margin:0}.ceiling-height-panel .setting-group{align-items:center;display:flex;gap:10px;margin-top:15px}.ceiling-height-panel .setting-group label{color:#333;font-size:1rem;font-weight:500;white-space:nowrap}.ceiling-height-panel .setting-input{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:8px 12px;width:100px}.ceiling-height-panel .setting-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.ceiling-height-panel form{display:flex;flex-direction:column;gap:15px}.ceiling-save-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:10px;padding:10px;transition:background-color .2s;width:100%}.ceiling-save-button:hover{background-color:#45a049}.ceiling-save-button:focus{box-shadow:0 0 0 2px #4caf504d;outline:none}.delete-selected-button{align-items:center;background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;margin-right:8px;padding:8px 12px;transition:background-color .3s}.delete-selected-button:hover{background-color:#d32f2f}tr.selected-space td{background-color:#ff03;border-left:3px solid #ff0}.toolbar{align-items:center;background-color:#f8f9fa;border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:center;margin-top:10px;padding:10px;position:sticky;top:130px;z-index:899}.toolbar-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s}.toolbar-button:hover{background-color:#2980b9}.toolbar-button:disabled{background-color:#95a5a6;cursor:not-allowed}.save-status-container{align-items:center;display:flex;gap:10px;margin-left:auto}.save-status-indicator{border-radius:4px;font-size:12px;padding:4px 8px}.save-status-indicator.saving{background-color:#f8f9fa;color:#6c757d}.save-status-indicator.saved{background-color:#d4edda;color:#155724}.save-status-indicator.error{background-color:#f8d7da;color:#721c24}.last-saved-time{color:#6c757d;font-size:12px}.shortcut-notification{align-items:center;background-color:#000000b3;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;display:flex;flex-direction:column;font-size:18px;font-weight:700;gap:8px;left:50%;opacity:0;padding:12px 20px;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);transition:opacity .2s ease-in-out;z-index:1000}.shortcut-notification.visible{opacity:1}.shortcut-key{background-color:#fff;border-radius:4px;box-shadow:0 2px 4px #0003;color:#333;font-family:monospace;margin:0 5px;padding:2px 12px}.shortcut-name{font-size:14px;font-weight:400;margin-top:4px}.space-type-button{flex-direction:column;height:42px;padding:4px 2px;width:42px}.space-type-label{color:#666;font-size:9px;margin-top:2px}.space-type-button.active .space-type-label{color:#333;font-weight:700}.space-type-button:hover:after{display:none}.sortable-table{border-collapse:collapse;margin-top:10px;min-width:100%;overflow-x:auto;width:100%}.sortable-table td,.sortable-table th{border-bottom:1px solid #eee;padding:8px 12px;text-align:left}.sortable-table th{background-color:#f5f5f5;color:#555;font-weight:600;position:relative}.sortable-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-table th.sortable:hover{background-color:#e9e9e9}.sortable-table tr:hover{background-color:#f9f9f9}.sortable-table tr.selected-space{background-color:#fff9e0}.sortable-table tr.hidden-space{background-color:#f9f9f9;opacity:.5}.sort-indicator{color:#777;display:inline-block;font-size:1rem;font-weight:700;margin-left:5px}.sort-indicator.asc,.sort-indicator.desc{color:#4a90e2}.sortable-table select.entry-type,.sortable-table select.oa-type,.sortable-table select.waffle-type{background-color:#fff;border:1px solid #ccc;color:inherit}.sortable-table select{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:4px 8px}.sortable-table tr.summary-row{background-color:#f5f5f5;font-weight:700}.visibility-toggle{border-radius:4px;padding:2px 5px;transition:background-color .2s}.visibility-toggle:hover{background-color:#f0f0f0}.visibility-toggle.visible{color:#4caf50}.visibility-toggle.hidden{color:#f44336}.delete-button{background:none;border:none;border-radius:4px;color:#f44336;cursor:pointer;font-size:16px;padding:2px 5px;transition:all .2s}.delete-button:hover{background-color:#ffebee}.count-control button{border:1px solid #ccc;border-radius:4px;font-weight:700;height:24px;width:24px}.count-control span{min-width:20px;text-align:center}.sensor-summary{display:flex;gap:10px}.entry-count,.oa-count,.waffle-count{color:inherit;font-weight:400}.sortable-table th.active-sort{background-color:#e0f0ff;border-bottom:2px solid #4a90e2}.in-place-editor-display{border-radius:3px;cursor:pointer;display:inline-block;min-width:30px;padding:2px 4px;text-align:left}.in-place-editor-display:hover{background-color:#0000000d}.in-place-editor-input{border:1px solid #ccc;border-radius:3px;padding:2px 4px;text-align:left;width:50px}.in-place-editor-input:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233;outline:none}.space-type-selector{display:flex;gap:6px;justify-content:flex-start}.space-type-item{align-items:center;display:flex;flex-direction:column}.space-type-button{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:center;opacity:.5;padding:4px;position:relative;transition:all .2s ease;width:32px}.space-type-label{color:#333;display:block;font-size:10px;font-weight:400;line-height:1;margin-top:3px;text-align:center}.space-type-button.active{background-color:#0000000d;border-width:2px;opacity:1}.space-type-button.active[title=Room]{background-color:#53b06c1a;border-color:#53b06c}.space-type-button.active[title=Desk]{background-color:#e3af431a;border-color:#e3af43}.space-type-button.active[title=Flex]{background-color:#9eb6f81a;border-color:#9eb6f8}.space-type-button.active[title=Phone]{background-color:#ff39c91a;border-color:#ff39c9}.space-type-button:hover{background-color:#f5f5f5;box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}.space-type-button:hover:after{background-color:#000000b3;border-radius:3px;color:#fff;content:attr(title);font-size:11px;left:50%;padding:2px 6px;position:absolute;top:-25px;transform:translateX(-50%);white-space:nowrap;z-index:10}.space-type-icon{display:block;height:20px;width:20px}.sortable-table tbody tr{height:48px}.selected-space{background-color:#e8f4ff!important}.hidden-space{opacity:.5}.visibility-toggle{background:none;border:none;cursor:pointer;font-size:18px}.visibility-toggle.hidden{opacity:.5}.count-control{align-items:center;display:flex;gap:5px;justify-content:flex-start}.count-control button{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:3px;cursor:pointer;display:flex;height:20px;justify-content:center;width:20px}.count-control button:disabled{cursor:not-allowed;opacity:.5}.count-value{min-width:20px;text-align:center}.waffle-count-editor{text-align:center;width:40px}.entry-type,.oa-type,.waffle-type{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:inherit;padding:2px 5px}td:nth-child(6){text-align:left}.multi-selection-controls{align-items:center;background-color:#f5f5f5;border-radius:4px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;margin-left:auto;padding:8px 10px}.bulk-sensor-controls{align-items:center;border-left:1px solid #ddd;display:flex;gap:8px;margin-left:10px;padding-left:10px}.bulk-sensor-controls span{color:#555;font-size:12px;font-weight:500;white-space:nowrap}.action-button{color:#fff;font-size:12px;padding:3px 8px;transition:all .2s;white-space:nowrap}.action-button:hover{box-shadow:0 2px 3px #0000001a;transform:translateY(-1px)}.show-button{background-color:#4caf50}.hide-button{background-color:#ff5722}.sensor-toggle-button{background-color:#242424;font-weight:700}.type-toggle{border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 8px;transition:all .2s}.type-toggle.active{background-color:#565656}.type-toggle.inactive{background-color:#ccc}.action-button.grey-button{background-color:#888}.area-with-details{font-size:13px;line-height:1.3;white-space:pre-line}.area-calculation{color:#666;display:block;font-size:11px;margin-top:3px}.quote-button{align-items:center;background-color:#3f51b5;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:8px 15px;transition:all .2s}.quote-button:hover{background-color:#303f9f}.quote-button:disabled{background-color:#ccc;cursor:not-allowed}.quote-button i{font-size:16px}.tool-panel{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000026;display:flex;flex-direction:column;gap:15px;isolation:isolate;padding:15px 10px;pointer-events:auto;position:fixed;right:20px;top:50%;transform:translateY(-50%);transition:all .3s ease;width:80px;z-index:950}.tool-panel.minimized{background-color:#ffffffe6;padding:10px 5px;width:80px}.tool-panel.minimized .toggle-button{justify-content:flex-start;padding-left:15px;width:100%}.tool-panel:not(.minimized){padding-top:5px}.tool-button{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:10px;pointer-events:auto;position:relative;transition:all .2s;width:60px}.tool-button:hover{background-color:#f5f5f5;transform:translateY(-2px)}.tool-button.active{background-color:#f8f8f8;border:2px dotted #4a90e2}.tool-button-icon{font-size:24px;margin-bottom:8px;pointer-events:none}.tool-button-text{color:#333;font-size:12px;font-weight:500;pointer-events:none}.shortcut{background-color:#f0f0f0;border:1px solid #ddd;border-radius:3px;color:#555;display:inline-block;font-size:9px;font-weight:700;line-height:1;padding:1px 3px;pointer-events:none;position:absolute;right:2px;top:2px}.tool-button.toggle-button{align-items:center;border-bottom:none;flex-direction:row;gap:5px;height:30px;justify-content:center;left:50%;margin-bottom:0;padding:3px 5px;position:absolute;top:0;transform:translateX(-50%);width:60px}.tool-panel:not(.minimized):before{content:"";display:block;height:30px;margin-bottom:10px;width:100%}.minimized .tool-button.toggle-button{margin-bottom:0;padding-bottom:3px;position:static;transform:none}.tool-button.toggle-button .tool-button-icon{font-size:18px;margin-bottom:0;margin-right:3px}.tool-button.toggle-button .tool-button-text{font-size:11px;margin-top:0}.space-type-divider{border-top:1px solid #eee;color:#666;font-size:11px;font-weight:600;margin:5px 0;padding-top:5px;text-align:center;width:100%}.tool-button.space-type-button{height:65px;padding:8px 5px}.tool-button.space-type-button[title="Desk Space (D)"]{border-left:3px solid #e3af43}.tool-button.space-type-button[title="Meeting Room (R)"]{border-left:3px solid #53b06c}.tool-button.space-type-button[title="Phone Booth (P)"]{border-left:3px solid #ff39c9}.tool-button.space-type-button[title="Flex Space (X)"]{border-left:3px solid #9eb6f8}.tool-button.space-type-button.active[title="Desk Space (D)"]{background-color:#e3af431a}.tool-button.space-type-button.active[title="Meeting Room (R)"]{background-color:#53b06c1a}.tool-button.space-type-button.active[title="Phone Booth (P)"]{background-color:#ff39c91a}.tool-button.space-type-button.active[title="Flex Space (X)"]{background-color:#9eb6f81a}.tool-button.space-type-button .tool-button-icon{align-items:center;display:flex;height:28px;justify-content:center}.space-type-icon{height:24px;object-fit:contain;width:24px}.tool-button:hover:after{background-color:#000000bf;border-radius:4px;color:#fff;content:attr(title);font-size:10px;left:50%;padding:3px 8px;pointer-events:none;position:absolute;top:-25px;transform:translateX(-50%);white-space:nowrap;z-index:100}.tool-panel:hover{box-shadow:0 4px 15px #0003}@media (max-width:768px){.tool-panel{gap:10px;padding:10px 5px;right:10px;width:70px}.tool-panel.minimized{padding:6px 3px}.tool-panel:not(.minimized):before{height:24px;margin-bottom:8px}.tool-button{padding:8px 5px;width:50px}.tool-button.toggle-button{height:24px;padding:2px 5px;width:50px}.tool-button-icon{font-size:20px;margin-bottom:5px}.tool-button.toggle-button .tool-button-icon{font-size:16px}.tool-button-text,.tool-button.toggle-button .tool-button-text{font-size:10px}.shortcut{font-size:8px;padding:1px 2px}.space-type-divider{font-size:10px;margin:3px 0}.tool-button.space-type-button{height:55px;padding:6px 4px}.space-type-icon{height:20px;width:20px}}.space-legend{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 2px 4px #0000001a;font-size:12px;left:20px;max-width:250px;padding:10px;position:fixed;top:50%;transform:translateY(-50%);transition:all .3s ease;z-index:1000}.space-legend.collapsed{max-width:120px;padding:5px 10px}.legend-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.legend-header h3{font-size:14px;font-weight:600;margin:0}.legend-toggle-button{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:3px;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.legend-section{margin-bottom:15px}.legend-section h4{border-bottom:1px solid #e0e0e0;color:#333;font-size:13px;font-weight:400;margin:0 0 5px;padding-bottom:3px}.legend-items{display:flex;flex-direction:column;gap:8px}.legend-item{flex:none;min-width:0;min-width:auto}.toggle-label{align-items:center;cursor:pointer;display:flex;gap:5px}.toggle-label input[type=checkbox]{margin:0}.color-box{border:1px solid #0000001a;border-radius:2px;height:12px;width:12px}.sensor-indicator{align-items:center;display:flex;gap:5px}.sensor-circle,.sensor-square{background-color:#ffffff40;height:14px;width:14px}.sensor-circle{border-radius:50%}@media (max-width:768px){.space-legend{bottom:10px;font-size:11px;left:10px;max-width:200px}.legend-section h4{font-size:12px}.color-box{height:10px;width:10px}.legend-item{min-width:70px}.sensor-circle,.sensor-square{height:12px;width:12px}}.sensor-color-indicator{border:1px solid #0003;border-radius:3px;display:inline-block;height:10px;margin-right:8px;vertical-align:middle;width:10px}.quote-preview{background-color:#fff;box-shadow:0 2px 10px #0000001a;color:#333;font-family:Arial,sans-serif;margin:0 auto;max-width:1100px;padding:0;width:100%}.quote-header-banner{background-color:#3f51b5;border-bottom:5px solid #303f9f;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.company-info h1{font-size:32px;font-weight:700;margin:0 0 5px}.company-info p{font-size:16px;margin:0;opacity:.9}.quote-info h2{font-size:24px;margin:0 0 10px;text-align:right}.quote-info p{font-size:14px;margin:5px 0;text-align:right}.quote-section{border-bottom:1px solid #eee;padding:20px 30px}.quote-section h3{color:#3f51b5;font-size:18px;font-weight:600;margin:0 0 15px}.quote-table{border-collapse:collapse;font-size:14px;width:100%}.quote-table th{background-color:#f5f7fa;border-bottom:2px solid #ddd;color:#555;font-weight:600;padding:12px;text-align:left}.quote-table td{border-bottom:1px solid #eee;padding:12px}.quote-table tr:last-child td{border-bottom:none}.quote-table td:nth-child(2),.quote-table th:nth-child(2){text-align:center}.quote-table td:nth-child(3),.quote-table td:nth-child(4),.quote-table th:nth-child(3),.quote-table th:nth-child(4){text-align:right}.section-total td{background-color:#f7f7f9;border-top:2px solid #555;font-weight:700;padding-bottom:12px;padding-top:12px}.quote-summary{background-color:#f5f7fa;border-bottom:2px solid #ddd;border-top:2px solid #ddd;display:flex;gap:30px;justify-content:space-between;padding:25px 30px}.summary-box{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;flex:1 1;padding:20px}.summary-box h3{border-bottom:1px solid #eee;color:#3f51b5;font-size:20px;font-weight:600;margin:0 0 15px;padding-bottom:10px;text-align:center}.summary-item{display:flex;font-size:16px;justify-content:space-between;margin:10px 0}.summary-item.discount{color:#4caf50;font-weight:600}.summary-total{border-top:1px solid #eee;font-size:18px;font-weight:700;margin-top:15px;padding-top:15px}.quote-footer{background-color:#fff;color:#777;font-size:12px;padding:20px 30px}.quote-footer p{margin:5px 0}.commercial-quote-preview{aspect-ratio:1.41;background-color:#fff;box-shadow:0 2px 10px #0000001a;color:#333;font-family:Arial,sans-serif;margin:0 auto;max-width:1100px;padding:0;position:relative;width:100%}.commercial-title{margin:0;padding:30px 40px}.commercial-title h1{color:#0f1941;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 5px;text-align:left}.commercial-title h2{color:#0f1941;font-size:15px;font-weight:600;letter-spacing:.5px;margin:0;text-align:left}.commercial-tables{display:flex;gap:30px;padding:20px 40px}.commercial-tables-left{gap:20px}.commercial-tables-left,.commercial-tables-right{display:flex;flex:1 1;flex-direction:column;padding-top:0}.commercial-tables-right{gap:40px}.commercial-table{border-collapse:collapse;margin-bottom:10px;width:100%}.commercial-table th{border-bottom:1px solid #ddd;color:#333;font-weight:600}.commercial-table td,.commercial-table th{font-size:14px;padding:12px 10px;text-align:left}.commercial-table td{border-bottom:1px solid #eee;vertical-align:top}.commercial-table td:nth-child(2),.commercial-table td:nth-child(3),.commercial-table td:nth-child(4),.commercial-table th:nth-child(2),.commercial-table th:nth-child(3),.commercial-table th:nth-child(4){text-align:right}.commercial-table .total-row{background-color:#f7f7f9;border-top:2px solid #555;font-weight:700}.commercial-table .total-row td{padding-bottom:12px;padding-top:12px}.year-summary-box{background-color:#fff;border:1px solid #ddd;margin-top:13px;padding:20px;position:relative}.year-container{margin-bottom:25px}.year-container h3{color:#0f1941;font-size:16px;font-weight:700;margin:0 0 10px;text-align:left}.year-container p{display:flex;font-size:14px;margin:8px 0;text-align:left}.year-container p span:first-child{flex:1 1;text-align:left}.year-container p span:last-child{min-width:100px;text-align:right}.installation-note{color:#666;font-size:13px;font-style:italic;margin-top:25px}.commercial-footer{bottom:0;font-size:13px;padding:15px 40px;position:absolute;right:0}.page-number{align-items:center;color:#666;display:flex}.footer-divider{color:#ccc;margin:0 8px}@media (max-width:900px){.commercial-tables{flex-direction:column}.commercial-tables-left,.commercial-tables-right{width:100%}}.commercial-section{margin-bottom:30px}.commercial-section-title{border-bottom:1px solid #ddd;color:#0f1941;font-size:18px;font-weight:700;letter-spacing:.5px;margin:0 0 15px;padding-bottom:8px;text-align:left}.cost-summary-divider{border:none;border-bottom:1px solid #ddd;margin:20px 40px}.presentation-toggle{margin:15px 0 30px}.toggle-presentation-btn{padding:10px 20px;transition:all .2s ease}.concurrent-users-indicator{animation:fadeIn .3s ease-in;background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#856404;font-size:14px;margin-bottom:16px;padding:8px 12px}.concurrent-users-count{align-items:center;display:flex;font-weight:600}.concurrent-users-count:before{animation:pulse 1.5s infinite;background-color:#28a745;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:8px;width:8px}.concurrent-users-list{color:#73591a;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin-top:4px}.concurrent-user{align-items:center;background-color:#ffecb5;border-radius:12px;display:inline-flex;padding:2px 8px}@keyframes pulse{0%{opacity:.6;transform:scale(.8)}50%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.8)}}.changelog-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.changelog-container{animation:slideIn .3s ease-in-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:70vh;max-width:450px;width:90%}.changelog-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:12px 16px}.changelog-header h3{color:#333;font-size:1.1rem;margin:0}.changelog-close-btn{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.changelog-close-btn:hover{color:#333}.changelog-content{flex-grow:1;overflow-y:auto;padding:12px 16px;text-align:left}.changelog-content ul{margin:0;padding-left:20px}.changelog-content li{font-size:.9rem;line-height:1.4;margin-bottom:8px;text-align:left}.changelog-version-date{background-color:#f5f5f5;border-radius:4px;color:#666;display:inline-block;font-size:.8rem;font-style:italic;margin-bottom:12px;margin-top:4px;padding:2px 6px}.changelog-footer{border-top:1px solid #eee;color:#888;font-size:.8rem;padding:8px 16px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.drag-drop-container{align-items:center;background-color:#f9f9f9;border:2px dashed #ccc;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-bottom:20px;min-height:200px;padding:30px;text-align:center;transition:all .3s ease}.drag-drop-container.dragging{background-color:#4a90e21a;border-color:#4a90e2;box-shadow:0 4px 8px #0000001a;transform:scale(1.02)}.drag-drop-container.processing{background-color:#f2c94c0d;border-color:#f2c94c;cursor:wait}.file-input{display:none}.upload-icon{color:#666;margin-bottom:15px}.upload-text{color:#555;font-size:16px;margin:5px 0}.file-name-container{background-color:#e9f0f8;border-radius:5px;display:inline-block;margin-top:15px;max-width:100%;overflow:hidden;padding:8px 15px;text-overflow:ellipsis}.file-name{color:#333;font-size:14px}.processing-indicator{align-items:center;display:flex;flex-direction:column;justify-content:center}.spinner{border:4px solid #0000001a;border-left-color:#f2c94c;height:40px;margin-bottom:15px;width:40px}@media (max-width:768px){.drag-drop-container{min-height:150px;padding:20px}.upload-icon svg{height:40px;width:40px}.upload-text{font-size:14px}.spinner{border-width:3px;height:30px;width:30px}}.processing-status{color:#666;font-size:12px;font-style:italic;margin-top:5px}.file-upload-info{color:#555;font-size:14px;margin-bottom:20px}.supported-formats{align-items:center;display:flex;flex-wrap:wrap;margin-bottom:10px}.supported-formats-label{font-weight:500;margin-right:10px}.format-badge{background-color:#e2f0fd;border-radius:4px;color:#0366d6;display:inline-block;font-size:13px;font-weight:500;margin:0 5px 5px 0;padding:3px 8px}.pdf-badge{background-color:#fdf0e2;color:#e67700}.upload-tip{background-color:#fdf9e2;border-left:3px solid #f2c94c;border-radius:0 4px 4px 0;margin-bottom:15px;padding:10px 12px}.upload-tip p{align-items:flex-start;display:flex;margin:0 0 5px}.upload-tip p:last-child{margin-bottom:0}.size-limits{color:#666;font-size:13px}.tip-icon{flex-shrink:0;font-size:16px;margin-right:8px}.pdf-info{background-color:#f7f9fb;border:1px solid #e1e4e8;border-radius:4px;margin-top:15px;padding:12px 15px}.pdf-info h4{color:#444;font-size:15px;font-weight:600;margin:0 0 10px}.pdf-info ul{margin:0;padding-left:18px}.pdf-info li{line-height:1.4;margin-bottom:6px}.pdf-info li:last-child{margin-bottom:0}@media (max-width:768px){.file-upload-info{font-size:13px}.format-badge{font-size:12px;padding:2px 6px}.pdf-info h4{font-size:14px}.pdf-info ul{padding-left:16px}.pdf-info li{font-size:12px}}.project-details{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.project-details h2{color:#333;font-size:20px;margin-bottom:20px;margin-top:0}.project-details form{display:flex;flex-direction:column;gap:20px}.form-group{flex-direction:column;gap:8px}.section-label{border-bottom:1px solid #eee;color:#333;font-weight:600;margin-bottom:8px;padding-bottom:8px}.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.form-group textarea{min-height:100px}.checkbox-group{background:#f9f9f9;border-radius:4px;display:flex;flex-direction:column;gap:12px;padding:12px}.checkbox-item{align-items:center;display:flex;gap:8px}.checkbox-item input[type=checkbox]{height:16px;margin:0;width:16px}.checkbox-item label{font-weight:400}.checkbox-item.nested,.nested-input{border-left:2px solid #e1e1e1;margin-left:24px;padding-left:8px}.nested-input{padding-top:8px}.nested-input textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-top:8px;min-height:80px;padding:8px;width:100%}.nested-input label{font-size:14px;font-weight:500}.note{background-color:#fff9e6;border-left:3px solid #fc0;color:#750;font-size:12px;margin-top:8px;padding:8px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.form-actions button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.form-actions button[type=submit]{background-color:#007bff;color:#fff}.form-actions button[type=submit]:hover{background-color:#0056b3}.form-actions button[type=button]{background-color:#e9ecef;color:#333}.form-actions button[type=button]:hover{background-color:#dde2e6}.form-actions button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:#dc3545;font-size:14px;margin-top:8px}.project-list-container{margin:0 auto;max-width:1380px;padding:30px 20px;width:115%}.project-list-container h2{color:#333;font-size:24px;margin-bottom:24px;margin-top:0}.project-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:30px}.project-grid.archived{margin-top:20px;opacity:.8}.project-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;min-height:420px;overflow:hidden;transition:transform .2s,box-shadow .2s}.project-card.archived{background-color:#f9f9f9;border:1px solid #e0e0e0}.project-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.project-image{align-items:center;background-color:#f5f5f5;display:flex;height:180px;justify-content:center;overflow:hidden}.project-image img{height:100%;object-fit:cover;width:100%}.placeholder-image{color:#aaa;font-size:14px;font-style:italic}.project-details{display:flex;flex-direction:column;flex-grow:1;padding:16px}.project-details h3{color:#333;font-size:18px;margin-bottom:8px;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-date{color:#777;font-size:14px;margin-bottom:16px}.project-actions{border-top:1px solid #eee;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.project-actions button{align-items:center;background:#0000;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;display:inline-flex;flex:1 1;font-size:13px;justify-content:center;min-width:calc(33.33% - 6px);padding:6px 8px;transition:all .2s ease;white-space:nowrap}.project-actions button svg{font-size:14px;margin-right:4px}.project-actions button:hover{background-color:#f5f5f5;border-color:#ccc}.project-actions .action-button.details{border-color:#06c;color:#06c}.project-actions .action-button.details:hover{background-color:#f0f7ff}.project-actions .archive-button,.project-actions .unarchive-button{color:#666}.project-actions .delete-project-button{border-color:#dc3545;color:#dc3545}.project-actions .delete-project-button:hover{background-color:#fff5f5}.new-project-button{font-size:16px;font-weight:600;margin-bottom:24px;padding:12px 20px;transition:background-color .3s}.archive-button{border:1px solid #bfbfbf;border-radius:4px}.archive-button,.unarchive-button{background-color:initial;cursor:pointer;flex:1 1;font-size:14px;padding:8px 12px;transition:all .3s}.unarchive-button{border:1px solid #5469d4;border-radius:4px}.delete-project-button{flex:1 1}.delete-project-button:hover{background-color:#d9534f;color:#fff}.archived-projects-toggle{display:flex;justify-content:center;margin:30px 0 20px}.toggle-archived-button{background-color:#f0f2ff;border:1px solid #d2d9ff;color:#5469d4;padding:8px 20px;transition:all .3s}.toggle-archived-button:hover{background-color:#e2e6ff}.project-list h3{border-bottom:1px solid #eee;color:#666;font-size:20px;margin-top:0;padding-bottom:10px}.no-projects{color:#777;font-style:italic;margin-top:40px}.project-error{background-color:#fdf2f2;border-left:4px solid #d20f0f;border-radius:6px;color:#d20f0f;font-size:14px;margin-bottom:20px;padding:12px 16px}.project-loading{flex-direction:column;padding:40px}.project-loading,.save-project-container{align-items:center;display:flex;justify-content:center}.save-project-container{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.save-project-form-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;max-width:500px;padding:30px;width:100%}.save-project-form-container h2{color:#333;font-size:24px;margin-bottom:24px;margin-top:0;text-align:center}.save-project-form{display:flex;flex-direction:column;gap:20px}.save-project-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:10px}.cancel-button{background-color:initial;border:1px solid #5469d4;border-radius:6px;color:#5469d4;cursor:pointer;font-size:16px;font-weight:600;padding:12px 20px;transition:all .3s}.cancel-button:hover{background-color:#f0f2ff}.save-button{align-items:center;background-color:#5469d4;border-radius:6px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px;transition:background-color .3s}.save-button:hover{background-color:#4054b3}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.7}.spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.project-list{margin:0 auto 40px;max-width:1380px;width:115%}.project-list h2{color:#333;font-size:28px;margin-bottom:30px}.error{background-color:#fff2f0;border-left:4px solid #ff4d4f;border-radius:4px;color:#ff4d4f;margin-bottom:20px;padding:12px 16px}@media (max-width:768px){.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.project-actions{flex-direction:column}}.projects-page{background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;max-width:115%;min-height:calc(100vh - 120px);padding:0;width:115%}.projects-header{align-items:center;background-color:#f0f2f5;border-bottom:1px solid #e5e7eb;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:32px;padding:24px 40px 16px;width:100%}.header-content{align-items:flex-start;display:flex;flex-direction:column}.drag-drop-helper{color:#6b7280;font-size:14px;font-weight:400;margin:4px 0 0}.projects-content{margin:0 auto;max-width:1840px;padding:0 40px 40px}.projects-header h2{color:#1a1a1a;font-size:28px;font-weight:600;margin:0;text-align:left}.projects-actions{align-items:center;display:flex;gap:16px}.view-toggle{border:1px solid #d1d5db;border-radius:6px;display:flex;overflow:hidden}.view-toggle-button{align-items:center;background-color:#f9fafb;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px 12px;transition:all .2s}.view-toggle-button:hover{background-color:#f3f4f6;color:#4b5563}.view-toggle-button.active{background-color:#5469d4;color:#fff}.view-toggle-button:first-child{border-right:1px solid #d1d5db}.projects-section{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px;padding:24px}.projects-section-header{margin-bottom:20px}.section-title-container{align-items:flex-start;display:flex;flex-direction:column}.projects-section-title{align-items:center;color:#374151;display:flex;font-size:20px;font-weight:600;margin:0 0 10px;text-align:left}.projects-count{align-items:center;background-color:#e5e7eb;border-radius:9999px;color:#4b5563;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;margin-left:12px;padding:2px 10px}.filter-and-view-container{align-items:center;display:flex;margin-bottom:10px;margin-top:5px}.filter-toggle{display:flex;margin-right:20px}.filter-toggle-button{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;color:#666;cursor:pointer;display:flex;font-size:12px;padding:4px 10px;transition:all .2s ease}.filter-toggle-button:first-child{border-radius:4px 0 0 4px}.filter-toggle-button:last-child{border-radius:0 4px 4px 0}.filter-toggle-button.active{background-color:#5469d4;border-color:#5469d4;color:#fff}.filter-toggle-button:hover:not(.active){background-color:#e9e9e9}.filter-count{align-items:center;background-color:#0000001a;border-radius:9px;display:inline-flex;font-size:10px;height:18px;justify-content:center;margin-left:6px;min-width:18px;padding:0 5px}.filter-toggle-button.active .filter-count{background-color:#ffffff40}.view-toggle-text{align-items:center;display:flex}.view-option{border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:13px;margin:0 8px;padding-bottom:2px;transition:all .2s ease}.view-option:hover{color:#333}.view-option.active{border-bottom:2px solid #5469d4;color:#5469d4;font-weight:500}.search-container{margin-bottom:20px;margin-top:15px;width:100%}.section-toggle-button{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:6px 12px;transition:all .2s}.section-toggle-button:hover{background-color:#e5e7eb;color:#374151}.archived-section{margin-top:40px}@media (max-width:768px){.projects-page{padding:0}.projects-header{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.projects-content{padding:0 20px 20px}.projects-actions{justify-content:space-between;width:100%}.project-table td:nth-child(3),.project-table th:nth-child(3){display:none}.project-date-cell{width:auto}}.new-project-button{align-items:center;background-color:#5469d4;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s}.new-project-button:hover{background-color:#4054b3}.new-project-button-alt{background-color:#5469d4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:12px 20px;transition:all .2s}.new-project-button-alt:hover{background-color:#4054b3}.projects-archive-toggle{display:flex;justify-content:center;margin-top:40px}.toggle-archived-button{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s}.toggle-archived-button:hover{background-color:#e5e7eb;color:#374151}.archive-count{align-items:center;background-color:#e5e7eb;border-radius:9999px;color:#4b5563;display:inline-flex;font-size:12px;justify-content:center;margin-left:4px;padding:2px 8px}.projects-empty{color:#6b7280;padding:60px 0;text-align:center}.projects-empty p{margin-bottom:16px}.projects-error{background-color:#fee2e2;border-left:4px solid #dc2626;border-radius:8px;color:#b91c1c;font-size:14px;margin-bottom:24px;padding:16px}.projects-auth-message,.projects-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 0}.projects-loading{color:#6b7280}.project-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#ffffffe6;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.project-loading-content{align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-width:400px;padding:30px;text-align:center}.project-loading-content p{color:#4b5563;font-size:18px;font-weight:500;margin-top:20px}.spinner{animation:spin 1s linear infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#5469d4;height:24px;margin-bottom:16px;width:24px}.project-name-input h2{align-items:center;color:#1f2937;cursor:pointer;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0;text-align:left}.project-name-input h2 .edit-icon{font-size:14px;opacity:.3;transition:opacity .2s}.project-name-input h2:hover .edit-icon{opacity:1}.project-name-input input{border:1px solid #d1d5db;border-radius:4px;color:#1f2937;font-size:18px;font-weight:600;padding:6px 8px;width:100%}.project-list-view{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:40px;overflow:hidden;width:100%}.project-table{border-collapse:initial;border-spacing:0;width:100%}.project-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:14px;font-weight:500;padding:12px 16px;position:relative;text-align:left}.project-table th:after{background-color:#e5e7eb;bottom:-1px;content:"";height:1px;left:0;position:absolute;right:0}.project-table td{border-bottom:1px solid #e5e7eb;padding:12px 16px;vertical-align:middle}.project-table tr:last-child td{border-bottom:none}.project-actions-cell{padding-right:24px!important;width:300px}.list-actions{justify-content:flex-end}.action-button.details{align-items:center;background-color:initial;border:1px solid #5469d4;border-radius:4px;color:#5469d4;cursor:pointer;display:flex;gap:4px;transition:all .3s}.action-button.details:hover{background-color:#eef1ff;color:#3b50b9}.archive-button,.unarchive-button{align-items:center;background-color:initial;border:1px solid #bfbfbf;border-radius:4px;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:8px 12px;transition:all .3s}.archive-button{color:#717171}.archive-button:hover{background-color:#f0f0f0;color:#555}.unarchive-button{border-color:#5469d4;color:#5469d4}.unarchive-button:hover{background-color:#eef1ff;color:#3b50b9}.delete-project-button{align-items:center;background-color:initial;border:1px solid #d9534f;border-radius:4px;color:#d9534f;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:8px 12px;transition:all .3s}.delete-project-button:hover{background-color:#fff2f0;color:#c23531}.project-name-cell{width:30%}.project-thumb-cell{text-align:center}.project-name-cell{max-width:300px}.project-date-cell{color:#6b7280;font-size:14px;white-space:nowrap;width:180px}.project-thumb-cell{width:120px}.project-thumbnail{border-radius:4px;height:60px;object-fit:cover;width:100px}.thumbnail-placeholder{align-items:center;background-color:#f3f4f6;border-radius:4px;color:#9ca3af;display:flex;height:60px;justify-content:center;width:100px}.project-actions-cell{width:200px}.list-actions{align-items:center;display:flex;gap:8px;justify-content:flex-start}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.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:8px;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.project-list-container{overflow-x:auto;width:100%}.project-list{border-collapse:collapse;font-size:14px;width:100%}.project-list th{background-color:#f4f5f7;border-bottom:1px solid #ddd;font-weight:600;padding:12px 16px;text-align:left}.project-list td{border-bottom:1px solid #eee;padding:12px 16px}.project-list tr:hover{background-color:#f9f9f9;cursor:pointer}.project-list .project-name{color:#333;font-weight:500}.project-list .project-actions{display:flex;gap:8px;justify-content:flex-end}.action-button{align-items:center;background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;gap:5px;justify-content:center;padding:8px;transition:background-color .2s}.action-button:hover{background:#f0f0f0;color:#333}.action-button.delete:hover{background:#fee;color:#dc3545}.action-button.details{background:#e7f5ff;border:1px solid #b8daff;color:#007bff;font-size:14px;font-weight:500;padding:8px 12px}.action-button.details:hover{background:#cce5ff;color:#0056b3}.action-button.info:hover{background:#e7f5ff;color:#007bff}.no-projects{color:#666;padding:32px;text-align:center}.project-metadata{font-size:14px;margin:8px 0}.metadata-item{color:#666;display:flex;gap:8px;margin-bottom:4px}.metadata-item .label{color:#333;font-weight:500}.search-container{background-color:#fff;border-bottom:1px solid #e5e7eb;margin:0;padding:16px}.search-input{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;padding:10px 16px;transition:all .2s;width:100%}.search-input:focus{background-color:#fff;border-color:#5469d4;box-shadow:0 0 0 3px #5469d41a;outline:none}.search-input::placeholder{color:#9ca3af}.pricing-settings{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.presets-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.presets-header h2{color:#111827;font-size:1.75rem;margin:0}.pricing-description{background-color:#f9fafb;border-left:4px solid #5b6ae8;border-radius:8px;margin-bottom:24px;padding:16px}.pricing-description p{color:#4b5563;line-height:1.5;margin:0;text-align:left}.preset-actions{display:flex;flex-wrap:wrap;gap:12px}.apply-preset-button,.commit-button,.reset-defaults-button,.save-button,.save-presets-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.save-button{background-color:#e5e7eb;color:#6b7280}.save-button:hover:not(:disabled){background-color:#d1d5db}.save-button:disabled{opacity:.6}.save-button.has-changes{background-color:#3b82f6;color:#fff}.save-button.has-changes:hover:not(:disabled){background-color:#2563eb}.apply-preset-button{background-color:#5b6ae8;color:#fff}.apply-preset-button:hover:not(:disabled){background-color:#4c59c2}.apply-preset-button:disabled{cursor:not-allowed;opacity:.6}.save-presets-button{background-color:#10b981;color:#fff}.save-presets-button:hover:not(:disabled){background-color:#059669}.reset-defaults-button{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.reset-defaults-button:hover:not(:disabled){background-color:#e5e7eb}.commit-button{background-color:#8b5cf6;color:#fff}.commit-button:hover:not(:disabled){background-color:#7c3aed}.commit-button:disabled{cursor:not-allowed;opacity:.6}.pricing-sections-container{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:32px}.pricing-column{display:flex;flex-direction:column;gap:24px}.pricing-column.one-time{grid-column:1}.pricing-column.annual{grid-column:2}.price-section{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;height:fit-content;overflow:hidden}.price-section:hover{box-shadow:0 4px 6px #0000001a}.section-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 20px}.section-header h3{color:#111827;font-size:1.25rem;margin:0}.toggle-icon{color:#6b7280;font-size:1.25rem;font-weight:700}.section-content{padding:16px 20px}.section-description{color:#6b7280;font-size:.9rem;margin-bottom:16px;margin-top:0}.price-fields{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.price-field{margin-bottom:8px}.price-field label{color:#4b5563;display:flex;flex-direction:column;font-size:.9rem;gap:6px;text-align:left}.input-group{align-items:center;display:flex;position:relative}.currency{color:#6b7280;font-weight:500;left:10px;position:absolute}input.price-input{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:10px 10px 10px 24px;transition:border-color .2s,box-shadow .2s;width:100%}input.price-input:focus{border-color:#5b6ae8;box-shadow:0 0 0 2px #5b6ae833;outline:none}input.price-input:hover:not(:focus){border-color:#9ca3af}.toast-message{align-items:center;animation:slide-in .3s ease-out;background-color:#fff;border-radius:6px;bottom:20px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;display:flex;gap:8px;padding:10px 16px;position:fixed;right:20px;z-index:1000}.toast-message.success{border-left:4px solid #10b981;color:#065f46}.toast-message.error{border-left:4px solid #ef4444;color:#991b1b}.toast-message svg{font-size:1.1rem}@keyframes slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.error-message{background-color:#fee2e2;border-left:4px solid #ef4444;border-radius:6px;color:#b91c1c;font-size:.9rem;margin-bottom:20px;padding:16px}.presets-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:32px;padding-top:20px}.version-info{color:#6b7280;font-size:14px}.version-number{font-weight:500}.pricing-settings.loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:300px}.spinner{animation:rotate 1.5s linear infinite}.spinner-circle{stroke:#5b6ae8;stroke-linecap:round;stroke-dasharray:60,200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,200;stroke-dashoffset:-35}to{stroke-dasharray:90,200;stroke-dashoffset:-125}}.unsaved-changes-notice{background-color:#fffbeb;border-left:4px solid #f59e0b;border-radius:6px;color:#92400e;font-size:.9rem;margin-top:12px;padding:10px}@media (max-width:768px){.presets-header{align-items:flex-start;flex-direction:column}.preset-actions{width:100%}.pricing-sections-container{grid-template-columns:1fr}.pricing-column.annual,.pricing-column.one-time{grid-column:1}.price-fields{grid-template-columns:1fr}}@media (max-width:500px){.apply-preset-button,.reset-defaults-button,.save-button,.save-presets-button{justify-content:center;width:100%}.preset-actions{flex-direction:column;width:100%}}.header-variants-container{margin-bottom:32px}.variants-title{color:#374151;font-size:1.2rem;margin-bottom:16px}.variant-wrapper{margin-bottom:24px}.variant-label{color:#4b5563;font-weight:600;margin-bottom:8px}.pricing-columns-header{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:12px}.variant-1 .column-header{align-items:center;background-color:#f3f4f6;border-left:4px solid;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#4b5563;display:flex;font-size:1.1rem;font-weight:500;padding:10px 20px}.variant-1 .header-label{font-weight:600}.variant-1 .column-header.one-time{border-left-color:#3b82f6}.variant-1 .column-header.annual{border-left-color:#10b981}.variant-2 .column-header{align-items:center;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#fff;display:flex;font-size:1.1rem;font-weight:500;justify-content:center;padding:12px 20px;text-align:center}.variant-2 .header-label{font-weight:600}.variant-2 .column-header.one-time{background-color:#3b82f6}.variant-2 .column-header.annual{background-color:#10b981}.variant-3 .column-header{align-items:center;background-color:#fff;border-bottom:3px solid;border-radius:8px 8px 0 0;color:#6b7280;display:flex;font-size:1.1rem;font-weight:600;padding:12px 24px;position:relative;top:1px}.variant-3 .pricing-columns-header{border-bottom:1px solid #e5e7eb;margin-bottom:24px;padding-bottom:0}.variant-3 .column-header.annual,.variant-3 .column-header.one-time{border-bottom-color:#6b7280;color:#6b7280}.column-header.one-time{grid-column:1}.column-header.annual{grid-column:2}@media (max-width:768px){.pricing-columns-header{grid-template-columns:1fr}.column-header.annual,.column-header.one-time{grid-column:1}}.settings-page{background-color:#f5f7fa;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:calc(100vh - 120px);padding:40px;width:100%}.settings-content-full{background-color:initial;border-radius:12px;margin:0 auto;max-width:1200px;width:100%}.settings-auth-message{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 0;text-align:center}.settings-auth-message h2{color:#1a1a1a;font-size:28px;font-weight:600;margin-bottom:16px;margin-top:0}.settings-auth-message p{color:#666;font-size:16px}@media (max-width:1100px){.settings-page{padding:20px}}.presets-page{background-color:#f5f7fa;min-height:calc(100vh - 80px);padding:20px;width:100%}.presets-content-full{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:1600px;overflow:hidden;width:100%}.presets-header{border-bottom:1px solid #eee;padding:20px}.presets-auth-message{padding:40px;text-align:center}.presets-auth-message h2{color:#0f1941;font-size:24px;margin-bottom:10px}.presets-auth-message p{color:#666;font-size:16px}.project-summary{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:20px auto;max-width:1200px;padding:20px;width:100%}.summary-container{margin-bottom:30px}.summary-header{margin-bottom:20px;padding-bottom:20px}.summary-header h2{color:#0f1941;font-size:24px;font-weight:600;margin:0}.summary-actions{align-items:center;gap:15px}.discount-field{align-items:center;display:flex;gap:10px}.discount-field label{color:#666;font-size:14px;white-space:nowrap}.discount-field input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 10px;width:80px}.download-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 15px;transition:all .2s ease}.download-button.pdf{background-color:#0f1941;color:#fff}.download-button.image{background-color:#f5f5f5;border:1px solid #ddd;color:#333}.download-button:hover{opacity:.9}.download-button:disabled{cursor:not-allowed;opacity:.5}.close-button{background-color:initial;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:14px;font-weight:600;padding:10px 15px;transition:all .2s ease}.close-button:hover{background-color:#f5f5f5}.preview-container{width:100%}.preview-wrapper{margin-bottom:40px;width:100%}.presentation-toggle{display:flex;justify-content:center;margin:30px 0;padding:15px 0}.toggle-presentation-btn{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#0f1941;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:background-color .2s ease}.toggle-presentation-btn:hover{background-color:#e5e5e5}@media print{.presentation-toggle{display:none}}.project-summary.page-mode{border-radius:0;box-shadow:none;margin:0;max-width:none;padding:0}.project-summary.page-mode .summary-header{border-bottom:none;margin-bottom:0}.presentation-container{margin:0 auto;max-width:1100px;padding:20px 0;width:100%}.presentation-header{margin:0 0 30px;text-align:center}.presentation-header h2{color:#0f1941;font-size:24px;font-weight:700}.presentation-header p{color:#666;font-size:16px;margin-top:10px}.presentation-slide{background-color:#fff;box-shadow:0 2px 10px #0000001a;margin-bottom:40px;page-break-after:always;page-break-inside:avoid;width:100%}.presentation-slide-content{width:100%}.presentation-slide-content img{display:block;height:auto;width:100%}.quote-slide{box-shadow:none}.placeholder-slide{align-items:center;aspect-ratio:16/9;background-color:#f5f7fa;display:flex;justify-content:center;padding:40px;text-align:center}.placeholder-content{max-width:600px}.placeholder-content h3{color:#0f1941;font-size:24px;margin:0 0 10px}.placeholder-content p{color:#333;font-size:18px;margin:5px 0}.placeholder-note{color:#666!important;font-size:14px!important;font-style:italic;margin-top:20px!important}@media print{.presentation-slide{align-items:center;box-shadow:none;display:flex;height:100vh;justify-content:center;margin:0;padding:0;page-break-after:always}.quote-slide{height:auto}}.summary-page{background-color:#f5f7fa;min-height:calc(100vh - 80px);padding:20px;width:100%}.summary-content-full{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:1600px;overflow:hidden;width:100%}.summary-header{border-bottom:1px solid #eee;justify-content:space-between;padding:20px}.back-button,.summary-header{align-items:center;display:flex}.back-button{background-color:initial;border:1px solid #ddd;border-radius:4px;color:#0f1941;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.back-button:hover{background-color:#f5f5f5}.summary-auth-message{padding:40px;text-align:center}.summary-auth-message h2{color:#0f1941;font-size:24px;margin-bottom:10px}.summary-auth-message p{color:#666;font-size:16px}.summary-content-full .project-summary{border-radius:0;box-shadow:none;margin:0;max-width:none}.summary-content-full .project-summary .close-button{display:none}.summary-content-full .presentation-container,.summary-content-full .presentation-toggle{display:none!important}.summary-actions{display:flex;gap:10px}.project-details-section{background-color:#f9f9fb;border-bottom:1px solid #eee;padding:20px;text-align:left}.section-header{justify-content:space-between;margin-bottom:15px}.section-header,.section-title{align-items:center;display:flex}.section-title{cursor:pointer;-webkit-user-select:none;user-select:none}.section-title h2{border-bottom:none;color:#0f1941;font-size:18px;margin:0 10px 0 0;padding-bottom:0}.section-title svg{color:#666;font-size:18px}.edit-button{align-items:center;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;color:#555;cursor:pointer;display:flex;font-size:13px;gap:5px;padding:6px 12px;transition:all .2s}.edit-button:hover{background-color:#e0e0e0}.edit-actions{display:flex;gap:8px}.cancel-button,.save-button{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:13px;gap:5px;padding:6px 12px;transition:all .2s}.save-button{background-color:#28a745;border:none;color:#fff}.save-button:hover{background-color:#218838}.save-button:disabled{background-color:#6c757d;cursor:not-allowed}.cancel-button{background-color:#f8f9fa;border:1px solid #ddd;color:#333}.cancel-button:hover{background-color:#e2e6ea}.project-details-content{display:flex;flex-direction:column;gap:10px}.installation-section{border-top:1px solid #eee;margin-top:15px;padding-top:15px}.section-subheader{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:12px;-webkit-user-select:none;user-select:none}.section-subheader h3{color:#0f1941;font-size:16px;margin:0}.section-subheader svg{color:#666;font-size:16px}.form-group{margin-bottom:12px}.form-group,.form-group label{align-items:flex-start;display:flex;width:100%}.form-group label{color:#333;flex:1 1;font-weight:500;gap:8px;margin-bottom:6px}.form-group input[type=checkbox]{flex-shrink:0;margin-top:2px;max-width:16px;min-width:16px;width:auto}.form-group input[type=text],.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.form-group textarea{min-height:80px;resize:vertical}.form-group.nested{border-left:2px solid #e0e0e0;margin-left:24px;padding-left:10px}.form-group.nested textarea{margin-top:6px;width:100%}.installation-requirements-form{background-color:#fff;border:1px solid #eee;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:15px;width:100%}.installation-requirements-form .form-group{align-items:flex-start;display:flex;margin-bottom:8px;padding:6px 0;width:100%}.installation-requirements-form .form-group label{align-items:flex-start;display:flex;flex:1 1;font-weight:500;width:100%}.installation-requirements-form input[type=checkbox]{flex:0 0 auto;max-width:16px;min-width:16px;width:auto}.installation-label-text{flex:1 1;padding-top:1px}.installation-requirements{background-color:#fff;border:1px solid #eee;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:10px}.installation-item{align-items:flex-start;display:flex;padding:6px 0}.installation-item.nested{border-left:2px solid #e0e0e0;font-size:14px;margin-left:20px;padding-left:10px}.installation-label{align-items:center;display:flex;flex-shrink:0;gap:8px;width:180px}.installation-label span{color:#555;font-weight:500}.installation-value{color:#333;flex-grow:1}.installation-value.bespoke-details{background-color:#f7f7f7;border-radius:4px;color:#777;font-size:14px;font-style:italic;margin-top:4px;padding:8px}.checked{color:#28a745}.unchecked{color:#dc3545}.presets-button{align-items:center;background-color:#0f1941;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.presets-button:hover{background-color:#1c2b62}.global-drag-drop-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#0f1941e6;bottom:0;color:#fff;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.global-drag-drop-content{background-color:#0f1941cc;border:3px dashed #ffffff80;border-radius:15px;box-shadow:0 10px 25px #0000004d;max-width:600px;padding:3rem;text-align:center;width:80%}.global-drag-drop-content h2{color:#fff;font-size:28px;margin-bottom:10px}.global-drag-drop-content p{font-size:18px;margin-bottom:0;opacity:.8}.global-drag-drop-content .upload-icon{color:#fff;margin-bottom:20px}.global-drag-drop-content .cancel-hint{font-size:14px;font-style:italic;margin-top:20px;opacity:.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
/*# sourceMappingURL=main.de0d4355.css.map*/