*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f4f4f4;color:#333;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}header{background-color:#1876bd;color:#fff;padding:1rem;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}header h1{font-size:1.5rem;font-weight:600}.step-progress-container{display:flex;align-items:center;justify-content:space-between;width:100%}.step-progress{display:flex;align-items:center;list-style:none;padding:0;margin:0}.step-progress-item{position:relative;display:flex;align-items:center;justify-content:center;height:40px;background-color:#94a3b8;color:#fff;font-weight:600;font-size:18px;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%,15px 50%);margin-right:-14px;min-width:60px;text-align:center;width:64px;padding:0 20px 0 22px}.step-progress-item:first-child{clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%)}.step-progress-item:first-child{padding:0 10px 0 0;min-width:48px;width:58px}.step-progress-item.active{background-color:#fff;color:#1876bd}.step-progress-item.completed{background-color:#64748b}.step-progress-item:hover{cursor:pointer;background-color:#fff;color:#1876bd}.step-title{color:#fff;font-size:1.8rem;font-weight:600}.step-close{width:280px;text-align:right}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:progress;font-size:.875rem}.btn-primary{background-color:#0056b3;color:#fff}.btn-primary:hover{background-color:#004085}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}main{flex:1;padding:1rem;max-width:1200px;margin:0 auto;width:100%}.progress-bar{width:100%;background-color:#e9ecef;border-radius:4px;margin-bottom:1rem;display:none}.progress{width:0;height:8px;background-color:#007bff;border-radius:4px;transition:width .3s ease}.step-container{border-radius:8px;padding:1rem}.step-container .hidden{display:none}.step-card{margin-bottom:1rem}.step-card.active{display:block}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.875rem}.form-group textarea{height:100px;resize:vertical}.form-group textarea.auto{height:auto}.canvas-area{width:100%;max-width:400px;height:300px;border:1px solid #ced4da;border-radius:4px;margin-bottom:1rem}.image-preview{max-width:100%;height:auto;margin-top:.5rem}footer{background-color:#f8f9fa;padding:1rem;text-align:center;box-shadow:0 -2px 4px #0000001a}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer-left,.footer-center,.footer-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.footer-center{flex:1;justify-content:center}.db-status{font-size:.875rem;padding:.25rem .5rem;border-radius:4px}.sync-status{font-size:.875rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.sync-status.online{color:#28a745}.sync-status.offline{color:#6c757d}.sync-btn{background-color:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background-color .2s}.sync-btn:hover:not(:disabled){background-color:#0056b3}.sync-btn:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.last-sync{font-size:.75rem;color:#6c757d;font-style:italic}.footer-link{color:#007bff;text-decoration:none;font-size:.875rem}.footer-link:hover{text-decoration:underline}.orders-table tbody tr:hover td{background-color:#08b0d3;color:#fff}.orders-table tbody tr:hover td a{color:#fff}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{border:1px solid #ddd;padding:8px;text-align:left}th{background-color:#f2f2f2}a{color:#0c72ad;text-decoration:none}a:hover{text-decoration:underline;cursor:pointer}p{margin-bottom:20px;font-size:16px;color:#333}.entity-form{display:flex;flex-direction:column;gap:15px;max-width:400px;margin-top:20px}.form-group{display:flex;flex-direction:column;gap:5px;max-width:100%}.text-input{width:100%;box-sizing:border-box}h2,h3{color:#0c72ad;margin-bottom:7px}.entity-form,.delete-form{display:flex;flex-direction:column;gap:15px;max-width:400px;margin:50px auto}.form-group{display:block;flex-direction:column;gap:5px}.form-group label{font-weight:700;color:#333}.text-input,.checkbox-input,.search-input{padding:8px;border:1px solid #ddd;border-radius:4px;width:100%;box-sizing:border-box}.checkbox-input{height:20px}input[type=checkbox].checkbox-input+label{display:-webkit-inline-box}button{border:2px solid transparent;background-color:#08b0d3;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer}button:hover{background-color:#0c72ad}.delete-button{background-color:#dc3545}.delete-button:hover{background-color:#c82333}.navbar{margin:10px auto 0;max-width:1200px;display:flex;justify-content:center}.navbar-menu{display:flex;gap:2rem;list-style-type:none}.navbar-menu a{text-decoration:none;color:#fff}.navbar-menu a:hover{color:#ced4da;color:#08b0d3}.wizard-left,.wizard-right{margin:10px 0;padding:20px;background-color:#fff;border:1px solid #ddd;min-height:280px}.wizard-left{width:68%;float:left}.wizard-right{margin-left:20px;width:calc(30% - 20px);float:right}.wizard-left.wl-large{width:78%}.wizard-right.wr-small{width:calc(20% - 20px)}.wizard-full{margin:10px 0;padding:20px;background-color:#fff;border:1px solid #ddd;min-height:140px}.wizard-full.wizard-full{margin-bottom:20px}.step-container .wizard-left{width:calc(50% - 20px)}.step-container .wizard-right{width:calc(50% - 10px)}.step-container .form-actions{margin:30px auto;text-align:center;display:flex;justify-content:space-between;width:310px}.step-container .form-group label{color:#333}.step-container .form-actions button{font-size:18px;min-width:140px}.step-container .form-actions button:hover{background-color:#0056b3}#logout-btn{cursor:pointer;background-color:transparent}#logout-btn:hover{background-color:#0056b3;color:#fff}.new-order-btn{font-size:24px;width:40px;height:40px;border-radius:50%;background-color:#28a745;color:#fff;border:none;cursor:pointer;float:right;line-height:24px;text-align:center;padding:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.photo-slot{position:relative;background-color:#e9ecef;border:2px dashed #ced4da;border-radius:8px;height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-slot .add-photo-btn,.photo-slot .remove-photo-btn{position:absolute;top:5px;right:5px;width:35px;height:35px;border-radius:50%;border:none;font-size:24px;font-weight:700;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;padding:0}.photo-slot .add-photo-btn{background-color:#28a745;color:#fff}.photo-slot .add-photo-btn:hover{background-color:#218838}.photo-slot .remove-photo-btn{background-color:#dc3545;color:#fff}.photo-slot .remove-photo-btn:hover{background-color:#c82333}.photo-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.photo-preview img{max-width:100%;max-height:100%;object-fit:cover}.drawing-area{background-color:#e9ecef;border:2px solid #ced4da;border-radius:8px;min-height:400px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background-color .2s}.drawing-area:hover{background-color:#dee2e6}.drawing-placeholder{text-align:center;color:#6c757d;font-size:18px}.drawing-placeholder p{margin:0}.fullscreen-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000f2;z-index:9999;display:flex;flex-direction:column}.fullscreen-modal-header{background-color:#1876bd;color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center}.fullscreen-modal-header h3{margin:0;color:#fff}.fullscreen-modal-close{background-color:transparent;color:#fff;border:2px solid white;font-size:24px;width:40px;height:40px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.fullscreen-modal-close:hover{background-color:#ffffff1a}.fullscreen-modal-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.fullscreen-modal canvas{border:2px solid white;background-color:#fff;max-width:100%;max-height:100%}.signature-modal .fullscreen-modal-content{display:block;text-align:center}#roomCanvas{background:#fff;border:1px solid #ccc;cursor:crosshair}.grid-line{stroke:#ddd;stroke-width:1}.object{cursor:move}.floating-toolbar{position:absolute;top:25%;right:20px;background:#fff;padding:15px;border-radius:8px;border:1px solid #ccc;box-shadow:2px 2px 10px #0003}.floating-toolbar button{display:block;width:100px;padding:8px 12px;margin-bottom:8px;border:none;border-radius:5px;background-color:#3498db;color:#fff;font-size:16px;cursor:pointer;transition:all .2s ease-in-out}.floating-toolbar button:hover{background-color:#2980b9}.floating-toolbar button.active-mode{background-color:#27ae60;box-shadow:0 0 10px #27ae6099;border:2px solid #27ae60}.toolbar{margin:5px 0}.selected{outline:2px solid red}.control-mode{position:absolute;top:80px;left:50%;transform:translate(-50%);background:#1876bd;color:#fff;padding:12px 24px;border-radius:8px;font-size:18px;font-weight:700;box-shadow:0 4px 12px #0000004d;z-index:100}.control-mode label{display:flex;align-items:center;gap:10px;margin:0}.control-mode input{width:120px;padding:8px;font-size:16px;font-weight:700;text-align:center;border:2px solid white;border-radius:4px;background:#fff;color:#1876bd}.drawing-room-label{color:#f2f2f2}textarea{width:120px}input[type=number]{width:120px;padding:8px;border:2px solid #3498db;border-radius:5px;font-size:16px;text-align:center;outline:none;transition:all .2s ease-in-out}input[type=number]:focus{border-color:#2980b9;box-shadow:0 0 5px #3498db80}input:read-only,textarea:read-only{background-color:#f0f0f0;border:1px solid #ccc;color:#555}input[readonly],textarea[readonly]{background-color:#d3d3d3}.export-btn{display:none}.status-cancelled,.status-deleted{color:#dc3545;font-weight:700}.status-completed{color:#28a745;font-weight:700}.error,.warning-text{color:#dc3545;font-weight:700;margin-top:10px}.controls button,.toolbar button,.property-panel button{background-color:#2ecc71;color:#fff;padding:10px 15px;font-size:16px;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease-in-out}.controls button:hover,.toolbar button:hover{background-color:#27ae60}.controls button:active,.toolbar button:active{transform:scale(.95)}.property-panel{position:absolute;top:50%;right:20px;background:#fff;padding:15px;border-radius:8px;border:1px solid #ccc;box-shadow:2px 2px 10px #0003;width:180px}.property-panel h3{margin-top:0}.property-panel label{display:block;margin-bottom:5px;height:30px;vertical-align:middle;position:relative}.property-panel input{width:60px;padding:5px;margin-left:5px;right:5px;position:absolute;vertical-align:top;top:-12px}.property-panel button{margin-top:10px;width:100%}#removeItem{background-color:#e74c3c;color:#fff;padding:10px 15px;font-size:16px;border:none;border-radius:5px;cursor:pointer;transition:all .2s ease-in-out}#removeItem:hover{background-color:#c0392b}#removeItem:active{transform:scale(.95)}.object{cursor:default}body.move-mode .object{cursor:grab}body.resize-mode .object{cursor:nwse-resize}body.rotate-mode .object{cursor:pointer}.move-handle{cursor:grab!important}@media only screen and (min-width:981px){.navbar-logo{max-height:80%}}.navbar-logo{width:120px;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out;margin-bottom:0;max-height:54%;display:inline-block;float:none;vertical-align:middle;-webkit-transform:translate3d(0,0,0)}img{max-width:100%;height:auto}.ac{text-align:center}.ar{text-align:right}.mt20{margin-top:20px}.mt50{margin-top:50px}.mtlogin{margin-top:100px}.column-2:first-child{float:none;display:inline-block;padding-right:10px}.column-2{display:block;width:50%;float:right}.image-capture-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center}.image-capture-content{background-color:#fff;border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.image-capture-header{background-color:#1876bd;color:#fff;padding:15px 20px;display:flex;justify-content:space-between;align-items:center}.image-capture-header h3{margin:0;color:#fff}.image-capture-close{background-color:transparent;color:#fff;border:2px solid white;font-size:24px;width:40px;height:40px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.image-capture-close:hover{background-color:#fff3}.image-capture-preview{flex:1;background-color:#000;display:flex;align-items:center;justify-content:center;min-height:400px;position:relative}.image-capture-preview video{max-width:100%;max-height:100%;width:100%;height:auto;display:block}.image-capture-controls{background-color:#f8f9fa;padding:20px;display:flex;justify-content:center;gap:15px}.image-capture-controls .btn{min-width:120px;padding:12px 24px;font-size:16px}listbox{display:block;background-color:#fff;border:1px solid #ced4da;border-radius:4px;padding:8px;min-height:120px;max-height:200px;overflow-y:auto}.equipment-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin-bottom:6px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;transition:background-color .2s}.equipment-list-item:hover{background-color:#e9ecef}.equipment-list-item:last-child{margin-bottom:0}.equipment-item-text{flex:1;font-size:14px;color:#333}.equipment-remove-btn{background-color:#dc3545;color:#fff;border:none;width:24px;height:24px;border-radius:50%;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;margin-left:10px;flex-shrink:0}.equipment-remove-btn:hover{background-color:#c82333}.confirmation-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease-in-out}.confirmation-modal-overlay.show{opacity:1}.confirmation-modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow:auto;transform:scale(.9);transition:transform .2s ease-in-out}.confirmation-modal-overlay.show .confirmation-modal-content{transform:scale(1)}.confirmation-modal-header{display:flex;align-items:center;gap:15px;padding:20px;border-bottom:1px solid #dee2e6}.confirmation-modal-icon{font-size:32px;line-height:1}.confirmation-modal-header h3{margin:0;font-size:20px;color:#333;flex:1}.confirmation-modal-body{padding:20px}.confirmation-modal-body p{margin:0;font-size:16px;line-height:1.5;color:#555}.confirmation-modal-footer{padding:15px 20px;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.modal-btn{padding:10px 20px;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;min-width:100px}.modal-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.modal-btn:active{transform:translateY(0)}.modal-btn-primary{background-color:#1876bd;color:#fff}.modal-btn-primary:hover{background-color:#0056b3}.modal-btn-secondary{background-color:#6c757d;color:#fff}.modal-btn-secondary:hover{background-color:#5a6268}.modal-btn-danger{background-color:#dc3545;color:#fff}.modal-btn-danger:hover{background-color:#c82333}.modal-btn.default{border:2px solid currentColor;font-weight:600}.confirmation-modal-overlay.warning .confirmation-modal-header{background-color:#fff3cd}.confirmation-modal-overlay.danger .confirmation-modal-header{background-color:#f8d7da}.confirmation-modal-overlay.info .confirmation-modal-header{background-color:#d1ecf1}@media(max-width:768px){header h1{font-size:1.25rem}.header-content,.footer-content{flex-direction:column;gap:.5rem}.footer-left,.footer-center,.footer-right{justify-content:center;width:100%}.btn{width:100%;margin-top:.5rem}.step-container{padding:.5rem}.image-capture-content{width:95%;max-height:95vh}.image-capture-controls{flex-direction:column;gap:10px}.image-capture-controls .btn{width:100%}}
