.header{background-color:#333;color:#fff;padding:.4vw 1.25vw;justify-content:space-between;border-bottom:2px solid #34495e}.header,.header-left{display:flex;align-items:center}.header-left{gap:2rem;flex-shrink:0}.header-logo{height:40px;width:auto;object-fit:contain}.header-operator-section{display:grid;grid-template-columns:auto auto auto auto auto;grid-gap:1rem;gap:1rem;align-items:center;background:hsla(0,0%,100%,.08);padding:.5rem 1.5rem;border-radius:8px;border:1px solid hsla(0,0%,100%,.15)}.operator-label{font-size:1.4rem;color:hsla(0,0%,100%,.7)}.operator-name-display{background:hsla(0,0%,100%,.1);color:#fff;padding:.4rem 1rem;border-radius:6px;font-size:1.4rem;min-width:100px;text-align:center;box-shadow:0 2px 6px rgba(102,126,234,.3)}.operator-time-label{font-size:1.4rem;color:hsla(0,0%,100%,.7)}.operator-time-display{font-size:1.4rem;color:#fff;font-family:Pretendard,monospace;background:hsla(0,0%,100%,.1);padding:.4rem .8rem;border-radius:6px;min-width:90px;text-align:center}.operator-change-btn{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.25);border-radius:6px;padding:.4rem 1rem;font-size:1.4rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.operator-change-btn:hover:not(:disabled){background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.4);transform:translateY(-1px)}.operator-change-btn:disabled{opacity:.4;cursor:not-allowed}.header-right{display:flex;align-items:center;gap:.83vw;flex-shrink:0}.header-datetime{font-size:1.4rem;color:#fff;background:hsla(0,0%,100%,.08);padding:.4rem .8rem;border-radius:6px}.header-settings{background:none;border:none;color:#fff;font-size:1.5rem!important;cursor:pointer!important;transition:opacity .2s}.header-settings:hover{opacity:.7}.custom-alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.custom-alert-box{background:linear-gradient(135deg,#1e3a5f,#2a5080);border-radius:12px;padding:30px;min-width:320px;max-width:500px;box-shadow:0 10px 40px rgba(0,0,0,.3);animation:slideUp .3s ease-out;border:1px solid hsla(0,0%,100%,.1)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-alert-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:32px}.custom-alert-box.success .custom-alert-icon{background:rgba(76,175,80,.2);color:#3a7bd5;border:2px solid #3a7bd5}.custom-alert-box.error .custom-alert-icon{background:rgba(244,67,54,.2);color:#e63946;border:2px solid #e63946}.custom-alert-box.warning .custom-alert-icon{background:rgba(255,152,0,.2);color:#ff9800;border:2px solid #ff9800}.custom-alert-box.info .custom-alert-icon{background:rgba(33,150,243,.2);color:#2196f3;border:2px solid #2196f3}.custom-alert-message{color:#fff;font-size:16px;line-height:1.6;text-align:center;margin-bottom:25px;word-break:keep-all}.custom-alert-btn{width:100%;padding:12px 20px;border:none;border-radius:6px;font-size:15px;cursor:pointer;transition:all .3s ease;color:#fff}.custom-alert-box.success .custom-alert-btn{background:linear-gradient(135deg,#3a7bd5,#2c5daf)}.custom-alert-box.success .custom-alert-btn:hover{background:linear-gradient(135deg,#2c5daf,#3d8b40);transform:translateY(-2px);box-shadow:0 4px 12px rgba(76,175,80,.4)}.custom-alert-box.error .custom-alert-btn{background:linear-gradient(135deg,#e63946,#da190b)}.custom-alert-box.error .custom-alert-btn:hover{background:linear-gradient(135deg,#da190b,#c41408);transform:translateY(-2px);box-shadow:0 4px 12px rgba(244,67,54,.4)}.custom-alert-box.info .custom-alert-btn,.custom-alert-box.warning .custom-alert-btn{background:linear-gradient(135deg,#2196f3,#1976d2)}.custom-alert-box.info .custom-alert-btn:hover,.custom-alert-box.warning .custom-alert-btn:hover{background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-2px);box-shadow:0 4px 12px rgba(33,150,243,.4)}.custom-alert-buttons{display:flex;gap:12px}.custom-alert-buttons .custom-alert-btn{width:auto;flex:1 1}.custom-alert-btn.cancel{background:linear-gradient(135deg,#757575,#616161)}.custom-alert-btn.cancel:hover{background:linear-gradient(135deg,#616161,#424242);transform:translateY(-2px);box-shadow:0 4px 12px hsla(0,0%,46%,.4)}.custom-alert-btn.confirm{background:linear-gradient(135deg,#ff9800,#f57c00)}.custom-alert-btn.confirm:hover{background:linear-gradient(135deg,#f57c00,#e65100);transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,152,0,.4)}.custom-alert-btn:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#d0d0d0;border-radius:0;width:1200px;min-width:0;box-shadow:0 4px 20px rgba(0,0,0,.3);position:relative;overflow-x:hidden}.form-group,.input-with-unit,.modal-body{min-width:0}.input-with-unit input{min-width:0;width:100%}.modal-header{background-color:#d0d0d0;padding:10px 20px;border-bottom:1px solid #999;display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.4rem;margin:0;color:#333}.modal-close{background:none;border:none;font-size:1.11rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#333}.modal-close:hover{color:#333}.modal-body{display:flex;gap:20px;padding:10px;background:#fff}.modal-section{flex:1 1;background-color:#fff}.section-title{font-size:1.4rem;margin:0 0 20px;padding-bottom:10px;border-bottom:1px solid #ddd;color:#333}.form-group{display:flex;align-items:center;margin-bottom:1rem}.form-group label{font-size:1.4rem;color:#333;min-width:190px;text-align:left}.input-with-unit{display:flex;align-items:center;gap:8px;flex:1 1}.input-with-unit input{flex:1 1;padding:8px 12px;border:1px solid #999;border-radius:0;font-size:1.4rem;text-align:right;background-color:#fff}.input-with-unit input:focus{outline:none;border-color:#333}.input-with-unit .unit{font-size:1.4rem;color:#333;min-width:60px}.modal-footer{padding:1rem 20px;display:flex;justify-content:flex-end;align-items:center;background-color:#d0d0d0}.btn-sample{padding:10px 24px;border:1px solid #333;color:#fff;font-size:1.4rem;cursor:pointer;border-radius:0}.btn-sample,.btn-sample:hover{background-color:#333}.modal-actions{display:flex;gap:12px}.modal-actions button{padding:10px 20px;border:none;font-size:1.4rem;border-radius:0;cursor:pointer;transition:all .2s}.btn-cancel{background-color:#e63946;color:#fff}.btn-cancel:hover{background-color:#c82333}.btn-save{background-color:#3a7bd5;color:#fff}.btn-save:hover{background-color:#2c5daf}@media (max-width:1600px){.modal-content{max-width:970px}.form-group label{min-width:170px;font-size:1.4rem}.input-with-unit input{font-size:1.4rem}}@media (max-width:1366px){.modal-content{max-width:900px}.form-group label{min-width:120px}}.alert-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000}.alert-modal-content{background:#fff;border-radius:.4vw;padding:2vw;min-width:20vw;max-width:30vw;box-shadow:0 .2vw 2vw rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;gap:1.2vw}.alert-modal-icon{width:3vw;height:3vw;border-radius:50%;background:linear-gradient(135deg,#3a7bd5,#20873a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2vw}.alert-modal-message{font-size:1vw;color:#333;text-align:center}.alert-modal-btn{padding:.2vw 2vw;background:linear-gradient(135deg,#3a7bd5,#3a7bd5);color:#fff;border:none;border-radius:.3vw;font-size:1.4rem;cursor:pointer;transition:all .2s;min-width:8vw}.alert-modal-btn:hover{background:linear-gradient(135deg,#3a7bd5,#003d82);transform:translateY(-.1vw);box-shadow:0 .3vw 1rem rgba(0,123,255,.3)}.operator-modal{width:600px;max-width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.operator-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid #999}.operator-modal .modal-header h2{margin:0;font-size:1.4rem;color:#333}.operator-modal .modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#999;line-height:1;padding:0;width:30px;height:30px}.operator-modal .modal-close:hover{color:#333}.operator-modal .modal-body{overflow-y:auto;flex:1 1;background:#fafbfc;font-size:1.3rem;color:#333;padding:20px!important;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.operator-modal .error-message{color:#c33;margin-bottom:16px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.operator-modal .current-operator{background-color:linear-gradient(135deg,#d6eaff,#b3d4ff);padding:12px 16px;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;border:1px solid #b3d9e6}.operator-modal .current-operator span{font-size:1.4rem;color:#333;margin-right:10px}.operator-modal .current-operator strong{color:#3a7bd5}.operator-modal .logout-btn{background-color:#e63946;color:#fff;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:1.4rem;transition:background-color .2s}.operator-modal .logout-btn:hover{background-color:#c82333}.operator-modal .logout-btn:disabled{background-color:#e0e0e0;cursor:not-allowed}.operator-modal .users-list{margin-top:0;width:100%;max-width:500px}.operator-modal .list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;margin:0;color:#333;padding-bottom:20px}.operator-modal .add-user-btn{background-color:#3a7bd5;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:1.4rem;transition:background-color .2s}.operator-modal .add-user-btn:hover{background-color:#2c5daf}.operator-modal .users-list ul{list-style:none;padding:0;margin:0}.operator-modal .users-list li{max-width:500px;display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px;background:#fff;transition:box-shadow .18s,background .18s;box-shadow:0 2px 8px rgba(0,0,0,.03)}.operator-modal .users-list li:hover{box-shadow:0 4px 16px rgba(0,0,0,.06)}.operator-modal .user-info{flex:1 1;display:flex;flex-direction:column;gap:2px}.operator-modal .user-name{font-size:1.4rem;color:#333;margin-bottom:0}.operator-modal .user-email{font-size:1rem;color:#888}.operator-modal .user-actions{display:flex;gap:8px}.operator-modal .delete-btn,.operator-modal .edit-btn,.operator-modal .select-btn{border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:1.4rem;transition:background-color .2s;min-width:50px}.operator-modal .select-btn{background-color:#3a7bd5;color:#fff}.operator-modal .select-btn:hover:not(:disabled){background-color:#2c5daf}.operator-modal .select-btn:disabled{background-color:#e0e0e0;cursor:not-allowed}.operator-modal .select-btn.active{background-color:#3a7bd5;cursor:default}.operator-modal .edit-btn{background-color:#ff9800;color:#fff}.operator-modal .edit-btn:hover:not(:disabled){background-color:#fb8c00}.operator-modal .edit-btn:disabled{background-color:#e0e0e0;cursor:not-allowed}.operator-modal .delete-btn{background-color:#e63946;color:#fff}.operator-modal .delete-btn:hover:not(:disabled){background-color:#da190b}.operator-modal .delete-btn:disabled{background-color:#e0e0e0;cursor:not-allowed;color:#333}.operator-modal .no-users{text-align:center;padding:2.5rem 1rem;color:#bbb;font-size:1.08rem;background:#fff;border-radius:8px}.operator-modal .user-form{width:100%;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.03);padding:1.2rem 1.5rem}.operator-modal .form-group{margin-bottom:1.4rem}.operator-modal .form-group label{display:block;font-size:1.3rem;color:#333}.operator-modal .form-group input{width:100%;padding:.5rem .7rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1.3rem;box-sizing:border-box;transition:border-color .2s;background:#fafbfc}.operator-modal .form-group input:focus{outline:none;border-color:#3a7bd5}.operator-modal .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed;color:#bbb}.operator-modal .form-actions{display:flex;gap:12px;margin-top:1.5rem;justify-content:flex-end}.operator-modal .submit-btn{background-color:#3a7bd5;color:#fff;border:none;padding:10px 24px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.operator-modal .submit-btn:hover:not(:disabled){background-color:#2c5daf}.operator-modal .submit-btn:disabled{background-color:#e0e0e0;cursor:not-allowed}.operator-modal .cancel-form-btn{background-color:#333;color:#fff;border:none;padding:10px 24px;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.operator-modal .cancel-form-btn:hover:not(:disabled){background-color:#444}.operator-modal .cancel-form-btn:disabled{background-color:#e0e0e0;cursor:not-allowed}.operator-modal .modal-footer{padding:16px 20px;border-top:1px solid #ddd;display:flex;justify-content:flex-end}.operator-modal .cancel-btn:hover{background-color:#c82333}.operation-mode{background:#fff;border:1px solid #ddd;justify-content:center;padding:.5rem;flex:1 1;display:flex;flex-direction:column;position:relative}.panel-header{font-size:1.4rem;color:#333}.mode-buttons{gap:.2vw}.mode-button,.mode-buttons{display:flex;align-items:center}.mode-button{flex:1 1;flex-direction:row;justify-content:center;gap:.3vw;padding:.5rem .8rem;background:#f8f9fa;border:1px solid #ddd;cursor:pointer;transition:all .3s ease;font-size:1.4rem;min-height:44px;height:44px;position:relative;color:#333}.mode-button:hover:not(:disabled){background:linear-gradient(135deg,#d6eaff,#b3d4ff);transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.mode-button:disabled{opacity:.6;cursor:not-allowed}.mode-button.active{background:linear-gradient(135deg,#d6eaff,#b3d4ff);border-color:#3a7bd5;box-shadow:0 0 10px rgba(58,123,213,.6)}.mode-button.active[data-mode=reset]{animation:blinkBlue 1s ease-in-out infinite}@keyframes blinkBlue{0%,to{background:linear-gradient(135deg,#cce5ff,#b3d7ff);border-color:#3a7bd5;box-shadow:0 0 1rem rgba(0,123,255,.5)}50%{background:linear-gradient(135deg,#3a7bd5,#3a7bd5);border-color:#3a7bd5;box-shadow:0 0 25px rgba(0,123,255,.8)}}.mode-indicator{width:1.25vw;height:1.25vw;border-radius:50%;background:#e0e0e0;border:2px solid #999;transition:all .3s ease}.mode-indicator.active{background:#3a7bd5;border-color:#3a7bd5;box-shadow:0 0 10px rgba(58,123,213,.6)}.mode-button.active[data-mode=reset] .mode-indicator.active{background:#3a7bd5;border-color:#3a7bd5;box-shadow:0 0 10px rgba(0,123,255,.6)}.crane-selector{background:#fff;border:1px solid #ddd;justify-content:center;padding:.5rem;flex:0.5 1;display:flex;flex-direction:column;position:relative}.crane-buttons{gap:.2vw}.crane-button,.crane-buttons{display:flex;align-items:center}.crane-button{flex:1 1;padding:.5rem .8rem;flex-direction:row;justify-content:center;gap:.3vw;background:#f8f9fa;border:1px solid #ddd;cursor:pointer;transition:all .3s ease;font-size:1.4rem;min-height:44px;height:44px;position:relative;color:#333}.crane-button:hover:not(:disabled){background:linear-gradient(135deg,#d6eaff,#b3d4ff);transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.crane-button:disabled{opacity:.6;cursor:not-allowed}.crane-button.active{background:linear-gradient(135deg,#d6eaff,#b3d4ff);border-color:#3a7bd5;box-shadow:0 0 10px rgba(58,123,213,.6)}.crane-indicator{width:1.2vw;height:1.2vw;border-radius:50%;background:#e0e0e0;border:2px solid #999;transition:all .3s ease}.crane-indicator.active{background:#3a7bd5;border-color:#3a7bd5;box-shadow:0 0 10px rgba(58,123,213,.6)}.anti-sway{background:#fff;border:1px solid #ddd;padding:.5rem;flex:3 1;display:flex;flex-direction:column;position:relative}.spinner{border:4px solid #e3f1fb}.anti-sway-content{display:flex;gap:1rem;align-items:stretch}.toggle-section{gap:.2vw}.toggle-button,.toggle-section{display:flex;align-items:center;flex:1 1}.toggle-button{padding:.5rem .8rem;flex-direction:row;justify-content:center;gap:.3vw;background:#f8f9fa;border:1px solid #ddd;cursor:pointer;transition:all .3s ease;font-size:1.4rem;min-height:44px;height:44px;position:relative;color:#333}.toggle-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.1);background:linear-gradient(135deg,#d6eaff,#b3d4ff)}.toggle-button:disabled{opacity:.6;cursor:not-allowed}.toggle-button.active{background:linear-gradient(135deg,#d6eaff,#b3d4ff);border-color:#3a7bd5;box-shadow:0 0 10px rgba(58,123,213,.6)}.toggle-indicator{width:1.2vw;height:1.2vw;border-radius:50%;background:#e0e0e0;border:2px solid #999;transition:all .3s ease}.toggle-indicator.active{background:#3a7bd5;border-color:#3a7bd5;box-shadow:0 0 10px rgba(58,123,213,.6)}.position-displays{gap:.2vw}.position-display,.position-displays{display:flex;flex:1 1;align-items:center}.position-display{background:#f8f9fa;color:#333;padding:.4vw 1rem;text-align:center;flex-direction:row;justify-content:center}.position-label{font-size:1.4rem;color:#333;margin-right:.2vw}.position-value{font-size:1.4rem;color:#f39c12}.control-table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:18px}.control-table td,.control-table th{padding:6px 10px;text-align:center}.control-table-header{font-size:1.4rem;border-bottom:2px solid #333;background:#fff;color:#333}.control-table-label{font-size:1.08rem;text-align:left;padding-left:8px;background:#fff;border-right:1px solid #eee}.control-table-value{background:#eaeaea;font-size:1.08rem;border-radius:4px;min-width:90px;text-align:right;padding-right:12px}.control-table tr td:last-child{text-align:right}.control-table tr td:not(:first-child){border-left:1px solid #fff}.param-row{height:3.5rem!important}.control{background:#fff;border:1px solid #ddd;flex:2 1;display:flex;flex-direction:column;min-height:0;overflow:hidden}@media (min-width:1920px) and (max-width:1920px) and (min-height:1080px) and (max-height:1080px){.control{flex:2 1}}@media (min-width:1920px){.speed-controls{width:238px}}.control-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:.5rem .5rem 0}.settings-icon{background:none;border:none;font-size:1.5rem!important;cursor:pointer!important;transition:opacity .2s}.control-content{position:relative;display:flex;flex-direction:row;gap:.2vw;align-items:stretch;flex:1 1;min-height:0;overflow:hidden;padding:0 .5rem .5rem}.loading-overlay{background:rgba(0,0,0,.5);z-index:1000}.spinner{border:4px solid #f3f3f3;border-top-color:#3a7bd5;width:40px;height:40px}.direction-controls{flex-shrink:0}.direction-controls,.direction-grid{display:flex;flex-direction:column;justify-content:center;gap:.2vw}.direction-grid{align-items:center}.direction-center{display:flex;gap:.2vw;align-items:center}.direction-btn{width:4vw;height:4vw;background:linear-gradient(135deg,#d6eaff,#b3d4ff);border:1px solid #3a7bd5;border-radius:.4vw;cursor:pointer;font-size:1.4vw!important;color:#333;transition:all .2s;display:flex;align-items:center;justify-content:center}.direction-btn:hover{background:linear-gradient(145deg,#a0c4dd,#8bb4d0);color:#333}.direction-btn:active{transform:scale(.95)}.stop-btn{width:4vw;height:4vw;background:#e63946;border:none;border-radius:.4vw;color:#fff;font-size:1.4vw!important;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.stop-btn:hover{background:#c82333}.speed-controls{gap:.2vw;flex-shrink:0;justify-content:center;width:100%}.speed-column,.speed-controls{display:flex;flex-direction:column}.speed-column{align-items:flex-start}.traversing-numbers{display:flex;flex-direction:column;justify-content:space-between;height:100%;width:2vw}.traversing-speed-controls{display:flex;flex-direction:row;justify-content:center;align-items:stretch;gap:.2vw;height:100%}.traversing-speed-controls .speed-column{height:100%;display:flex;flex-direction:column;justify-content:flex-start;position:relative}.traversing-speed-controls .speed-label{position:absolute;top:-1.8rem;left:50%;transform:translateX(-50%);white-space:nowrap}.speed-label{font-size:1.4rem;color:#333;text-align:center;margin-bottom:.2vw;height:1rem;line-height:1rem;white-space:nowrap}.speed-numbers{display:flex;flex-direction:row;width:100%;justify-content:space-between}.speed-number{width:2vw;height:2vw;background:#f8f9fa;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#333;cursor:pointer;transition:all .2s}.speed-number:hover{background:#e0e0e0;border-color:#adb5bd}.speed-number.selected{background:linear-gradient(135deg,#d6eaff,#b3d4ff);color:#3a7bd5;border-color:#3a7bd5;box-shadow:0 0 10px rgba(58,123,213,.6)}.parameters{display:flex;flex-direction:column;gap:.2vw;flex:1 1;min-width:0;overflow:hidden;justify-content:center}.param-header{display:flex;align-items:center;gap:.3vw;padding:.2vw .4vw}.progress-placeholder{flex-shrink:0}.param-row{gap:.3vw;padding:.2vw .4vw;height:2.2rem}.param-label,.param-row{display:flex;align-items:center;flex-shrink:0}.param-label{font-size:1.4rem;min-width:1.5vw;color:#333;height:100%;min-height:2.2rem;justify-content:center}.param-values{display:flex;gap:.2vw;align-items:center;flex:1 1;min-width:0}.param-group{display:flex;flex-direction:column;gap:.1vw;flex:1 1;min-width:0;width:8vw;height:2.5rem}.param-title{color:#333;line-height:1.1;white-space:nowrap}.param-title,.param-value{font-size:1.4rem;text-align:center}.param-value{color:#f39c12}.progress-bar{position:relative;height:2.2rem;background:#e0e0e0;overflow:hidden;flex-shrink:0}.progress-fill{height:100%;background:linear-gradient(90deg,#e74c3c,#f39c12);transition:width .3s}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.4rem;color:#333}.direction-buttons{display:flex;flex-direction:column;gap:.2vw;flex-shrink:0}.dir-btn{width:3.125vw;height:2.34vw;border-radius:.4vw;border:1px solid #3a7bd5;font-size:1.11rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.dir-btn.c,.dir-btn.d,.dir-btn.o,.dir-btn.u{background:linear-gradient(135deg,#d6eaff,#b3d4ff);color:#fff}.dir-btn.stop-red{background:#e63946;color:#fff;border:none}.dir-btn:hover{opacity:.9;transform:translateY(-2px)}.dir-btn:active{transform:scale(.95)}.info-display{flex-direction:column;gap:.3vw;min-width:7vw;overflow:hidden}.info-display,.info-row{display:flex;flex-shrink:0}.info-row{justify-content:space-between;padding:.3vw .2vw;background:#fff8e1}.info-label{font-size:1.4rem;color:#333;white-space:nowrap}.info-value{font-size:1.4rem;color:#f39c12}.stat-box{gap:.2vw;min-width:5.5rem;width:100%;height:2.5rem}.stat-value{width:100%;text-align:right}.dir-btn,.direction-btn,.report-btn,.stop-btn,button{transition:background .2s,color .2s}.dir-btn:hover .save-btn:hover .log-data-btn:hover,.panel-btn:hover,.report-btn:hover{background-color:#2c5daf!important;background:#2c5daf!important;color:#fff}@media (min-width:1024px) and (max-width:1440px){.control{flex:2 1}.direction-btn,.stop-btn{width:4vw;height:4vw}}@media (min-width:1920px){.param-row{height:3.5rem!important}}.control-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.control-modal-content{background:#fff;width:600px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,.15)}.control-modal-header{background-color:#d0d0d0;padding:10px 20px;border-bottom:1px solid #999;display:flex;justify-content:space-between;align-items:center}.control-modal-header h2{margin:0;font-size:1.4rem;color:#333}.control-modal-close{background:none;border:none;font-size:1.11rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#333}.control-modal-close:hover{color:#333}.control-modal-body{padding:24px}.control-modal-section{margin-bottom:20px}.control-section-title{font-size:1.4rem;color:#333;margin:0 0 20px;padding-bottom:10px;border-bottom:1px dotted #ddd}.control-form-row{display:flex;align-items:center;margin-bottom:1rem;gap:12px}.control-form-row label{flex:0 0 140px;font-size:1.4rem;color:#333;min-width:150px;text-align:left}.control-form-row input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:1.4rem;text-align:right}.control-form-row input:focus{outline:none;border-color:#3a7bd5}.control-unit{flex:0 0 40px;font-size:1.4rem;color:#333}.control-modal-footer{justify-content:flex-end;gap:12px;padding:1rem 20px;display:flex;align-items:center;background-color:#d0d0d0}.control-modal-btn{padding:10px 20px;border:none;font-size:1.4rem;cursor:pointer;border-radius:0}.control-modal-btn.cancel{background:#e63946;color:#fff}.control-modal-btn.cancel:hover{background:#c82333}.control-modal-btn.save{background:#3a7bd5;color:#fff}.control-modal-btn.save:hover{background:#2c5daf}@media (max-width:600px){.control-modal-content{width:95%}.control-form-row{flex-direction:column;align-items:flex-start}.control-form-row label{flex:none}.control-form-row input{width:100%}}.manual{background:#fff;border:1px solid #ddd;padding:.5rem;flex:2 1;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.manual-header{display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0}.times-label{font-size:1.4rem;color:#333}.manual-options{display:flex;flex-direction:column;gap:.3vw;flex:1 1;overflow:hidden;min-height:0}.manual-option{display:flex;align-items:center;gap:.2vw;padding:.3vw .2vw;background:#f8f9fa;border:none;cursor:pointer;transition:all .2s;font-size:1.4rem;flex-shrink:0;position:relative;text-align:left;width:100%;height:2.2rem;color:#333}@media (max-width:1920px) and (max-height:1080px){.manual-option{height:2rem}}.manual-option:hover:not(:disabled){background:#e0e0e0}.manual-option:disabled{cursor:not-allowed;opacity:.6}.manual-option.active{background:linear-gradient(135deg,#4a90e2,#357abd);border-color:#357abd;color:#fff}.manual-option.active:hover{background:linear-gradient(135deg,#357abd,#2c5aa0)}.manual-option.active .radio-indicator{background:#fff;border-color:#fff}.manual-option.active .radio-indicator:after{background:#357abd}.radio-indicator{width:1rem;height:1rem;border:2px solid #adb5bd;border-radius:50%;flex-shrink:0;position:relative;transition:all .2s}.radio-indicator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.4vw;height:.4vw;border-radius:50%;background:#4a90e2;opacity:0;transition:opacity .2s}.manual-option.active .radio-indicator:after{opacity:1}.loading-overlay{z-index:10}.panel-section-title{align-items:center;position:relative;margin-bottom:8px}.panel-section-title:after{content:"";display:block;height:2px;background:#3a7bd5;flex:1 1 auto;margin-left:12px;border-radius:1px}@media (min-width:1930px) and (min-height:1090px){.panel-checkbox-label,.panel-checkbox-text,.panel-radio-text,.panel-safety{font-size:1.4rem!important}}.panel-container{width:100%;height:100%;display:flex;flex-direction:column}.panel-top{display:flex;justify-content:space-between}.panel-title{font-size:1.4rem;color:#333}.panel-row{display:flex;align-items:center;gap:.2vw}.panel-row-buttons{justify-content:flex-end}.panel-btn{padding:.2vw .6vw;color:#fff;cursor:pointer;transition:all .2s;font-size:1.4rem}.panel-btn,.panel-btn:hover{background:#3a7bd5}.panel-btn:active{box-shadow:inset 1px 1px 2px rgba(0,0,0,.2);transform:translateY(1px)}.panel-btn-secondary{width:130px;height:35px;font-size:1.4rem;background:#3a7bd5;border:1px solid #3a7bd5;border-radius:3px;cursor:pointer;transition:all .2s;color:#fff}.panel-btn-secondary:hover{background:#2c5daf;cursor:pointer}.panel-btn-secondary.active{background:#4a90e2;color:#fff;border-color:#357abd}.panel-section{margin-bottom:15px}.panel-section-title{font-size:1.4rem;color:#333;display:flex;justify-content:space-between;margin-bottom:5px}.panel-divider{border-bottom:2px solid #1976d2;margin-bottom:5px;width:100%}.panel-radio-group{display:flex;flex-wrap:wrap;gap:8px}.panel-radio-label{display:flex;align-items:center;gap:8px;cursor:default}.panel-radio{width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;flex-shrink:0;transition:all .2s}.panel-radio.active{background:#3a7bd5;border:1px solid #3a7bd5;box-shadow:0 0 5px rgba(76,175,80,.5)}.panel-radio-input{width:16px;height:16px;accent-color:#1976d2;cursor:pointer;margin:0}.panel-radio-text{font-size:1.2rem;color:#333}.panel-radio-group-inline{display:flex;align-items:center;gap:12px;padding:4px 12px;border:1px solid #ddd;border-radius:3px;background:#f8f8f8}.panel-radio-label-inline{display:flex;align-items:center;gap:4px;font-size:14px;cursor:pointer}.panel-checkbox-group{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.panel-checkbox-group-gates{gap:16px}.panel-checkbox-label{display:flex;align-items:center;gap:6px;font-size:1.2rem;cursor:pointer}.panel-checkbox{width:16px;height:16px;accent-color:#1976d2;cursor:pointer;margin:0}.panel-checkbox-text{font-size:1.2rem;color:#333}.panel-job-counts{display:flex;gap:.2vw;margin-top:8px}.panel-job-count-input{padding:.4vw .2vw;background:#e0e0e0;border-radius:.15vw;width:8vw;height:2rem;border:none;font-size:1.4rem;color:#333;text-align:right;display:flex;align-items:center;justify-content:right}.panel-times{margin-left:auto;font-size:15px;color:#333;background:#3a7bd5;padding:4px 12px;border-radius:3px}.panel-safety{display:flex;align-items:center;gap:6px;font-size:1.2rem;color:#333}@media (max-width:1024px){.panel-container{padding:12px 16px}.panel-checkbox-group,.panel-radio-group{gap:16px}}.layout-view{background:#fff;border:1px solid #ddd;flex:6 1;display:flex;flex-direction:column;min-height:0;overflow:hidden;position:relative}.layout-header{display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0;padding:.5rem}.layout-toggle{display:flex;gap:.2vw;border:1px solid #ddd;overflow:hidden}.layout-btn{padding:.2vw 1rem;background:#fff;border:none;cursor:pointer;font-size:1.4rem;transition:all .2s;display:flex;align-items:center;gap:.3vw}.layout-btn:hover{background:#f8f9fa}.layout-btn.active{background:#333;color:#fff}.layout-value{font-size:1.4rem;color:#f39c12}.layout-btn.active .layout-value{color:gold}.layout-content{position:relative;flex:1 1;background:#d0d0d0;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;min-height:0}.layout-iframe{position:absolute;top:0;left:0;width:100%;height:100%}.iframe-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2vw;color:#333;font-size:1.4rem;pointer-events:none;z-index:1}.layout-footer{flex-shrink:0;margin-top:.4vw}.gate-section{padding:.2vw}.gate-label{min-width:2.5vw}.gates{gap:.5rem}.gate{gap:.2vw}.gate-indicator{width:1vw;height:1vw}.gate-indicator.active{box-shadow:0 0 .4vw rgba(231,76,60,.6)}.gate-text{font-size:1.4rem;color:#333}.action-btn{padding:.2vw .6vw;background:linear-gradient(135deg,#d6eaff,#b3d4ff);color:#fff;border:1px solid #3a7bd5;border-radius:.3vw;font-size:1.4rem;cursor:pointer;transition:all .2s;min-width:4vw}.action-btn:hover{background:linear-gradient(145deg,#218838,#3a7bd5)}.hopper-section{display:flex!important;gap:.5rem;justify-content:center;padding:.5rem;background:#f8f9fa}.hopper{display:flex;flex-direction:column;align-items:center;gap:.3vw;padding:.5rem 1.25vw;background:#fff;border:2px solid #333}.hopper-label{font-size:1.4rem;color:#333}.hopper-indicator{width:.625vw;height:.625vw;border-radius:50%;background:#3a7bd5;border:2px solid #3a7bd5}.crane-position{width:2.08vw;height:2.08vw;background:#95a5a6}.grid-layout{display:flex;flex-direction:column;gap:.2vw}.grid-labels-top{display:flex;gap:.1vw;padding-left:1.56vw}.grid-label{flex:1 1;text-align:center;font-size:1.4rem;color:#333;min-width:2.08vw}.grid-container{display:flex;gap:.2vw}.grid-labels-left{display:flex;flex-direction:column;gap:.1vw;justify-content:space-around}.grid-cells{display:grid;grid-template-columns:repeat(9,1fr);grid-gap:.1vw;gap:.1vw;flex:1 1}.grid-cell{aspect-ratio:1;background:#fff;border:1px solid #ddd;min-width:1.56vw}.grid-cell:nth-child(-n+18){border-bottom:2px solid #e74c3c}.gate-section{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8f9fa}.gate-label{font-size:1.4rem;color:#333}.gates{display:flex;gap:.83vw;flex:1 1;justify-content:space-around}.gate{display:flex;flex-direction:row;align-items:center;gap:.3vw}.gate-indicator{width:1.25vw;height:1.25vw;border-radius:50%;background:#95a5a6;border:2px solid #7f8c8d}.gate-indicator.active{background:#e74c3c;border-color:#c0392b}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.8);display:flex;align-items:center;justify-content:center;z-index:100}.spinner{width:2vw;height:2vw;border:3px solid #f3f3f3;border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite}.action-btn:disabled{cursor:not-allowed;opacity:.6}@media (min-width:1024px) and (max-width:1440px){.layout-setup-modal{max-width:1000px!important}}@media (min-width:1920px){.layout-setup-modal{max-width:1300px}}.modal-footer-right{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.2rem}.layout-setup-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.layout-setup-modal{background:#fff;border-radius:8px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(0,0,0,.15);position:relative}.layout-setup-header{background-color:#d0d0d0;padding:10px 20px;border-bottom:1px solid #999;display:flex;justify-content:space-between;align-items:center}.layout-setup-header h2{margin:0;font-size:1.4rem;color:#333}.close-btn{background:none;border:none;font-size:1.11rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#333}.close-btn:hover{color:#333}.layout-setup-content{display:flex;gap:24px;padding:24px;overflow-y:auto;min-width:0;overflow-x:hidden;flex:1 1}.layout-setup-section{flex:1 1;display:flex;flex-direction:column}.layout-setup-section h3{margin:0 0 1rem;font-size:1.4rem;color:#333;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.layout-setup-form{display:flex;flex-direction:column;gap:12px;padding-bottom:1rem}.form-row{display:flex;align-items:center;gap:12px;margin:5px 0}.form-row label{min-width:0;flex:1 1;color:#333}.form-row label,.help-text .unit-note{font-size:1.4rem}.form-row input[type=number]{flex:1 1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:1.4rem;text-align:right;min-width:100px}.form-row input[type=number]:focus{outline:none;border-color:#3a7bd5}.form-row .unit{font-size:1.4rem;color:#333;min-width:40px}.toggle-row,.toggle-switch{align-items:center}.toggle-switch{display:flex;gap:8px;flex:1 1}.toggle-switch span{font-size:1.4rem;color:#999}.toggle-switch span.active{color:#333}.toggle{position:relative;width:48px;height:24px;background:#e0e0e0;border:none;border-radius:12px;cursor:pointer;transition:background .3s}.toggle.on{background:#3a7bd5}.toggle.off{background:#e0e0e0}.toggle-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s}.toggle.on .toggle-slider{transform:translateX(24px)}.gate-row{display:flex;align-items:center;gap:12px;width:100%}.gate-row label{min-width:100px;flex-basis:120px;flex-shrink:0}.gate-row .toggle-switch{flex-basis:120px;min-width:120px;flex-shrink:0}.gate-row .area-btn{min-width:140px;flex-shrink:0;width:220px}.area-btn{padding:6px 1rem;color:#fff;border:none;border-radius:4px;font-size:1.4rem;cursor:pointer;transition:background .2s;white-space:nowrap}.area-btn,.area-btn:hover{background:#3a7bd5}.layout-setup-footer{display:flex;justify-content:flex-end;gap:12px;padding:1rem 24px;border-top:1px solid #e0e0e0;background:#d0d0d0}.cancel-btn,.save-btn{padding:10px 20px;border:none;font-size:1.4rem;cursor:pointer;border-radius:0}.cancel-btn{background:#e63946;color:#fff}.cancel-btn:hover{background:#c82333}.save-btn{background:#3a7bd5;color:#fff}.save-btn:hover{background:#2c5daf}.layout-setup-modal .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.9);display:flex;align-items:center;justify-content:center;z-index:200;border-radius:8px}.layout-setup-modal .spinner{width:3vw;height:3vw;border:4px solid #f3f3f3;border-top-color:#3a7bd5;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.success-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#3a7bd5;color:#fff;padding:20px 40px;border-radius:8px;font-size:1.4rem;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:300;animation:fadeInOut 1.5s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.6}.layout-gate-position-modal{background:#fff!important;padding:24px!important}@media (max-width:768px){.layout-setup-content{flex-direction:column}.form-row{flex-wrap:wrap}.form-row label{min-width:100%}}.system-message{flex:2 1;background:#fff;border:1px solid #ddd;padding:.5rem;display:flex;flex-direction:column}.system-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.log-data-btn{padding:.2vw .6vw;background:#3a7bd5;color:#fff;border:none;font-size:1.4rem;cursor:pointer;transition:all .2s}.log-data-btn:hover{background:#2c5daf}.message-list{display:flex;flex-direction:column;gap:.2vw;flex:1 1;overflow-y:auto;max-height:150px}.message-item{padding:.4vw .5rem;background:#f8f9fa;border-left:3px solid #3a7bd5;font-size:1.4rem;line-height:1.4}.message-item.info{border-left-color:#3a7bd5}.message-item.err{border-left-color:#e63946;background:#fff5f5}.message-time{color:#333}.message-item.info .message-type{color:#3a7bd5}.message-item.err .message-type{color:#e63946}.message-text{color:#333}.message-log-container{overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.2rem;padding-right:.5rem;height:100%}.log-entry{padding:.3rem .5rem;background:#f8f9fa;border-left:3px solid #3a7bd5;font-size:1.4rem;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.log-entry.error{border-left-color:#e63946;background:#fff5f5}.log-entry .timestamp{color:#333;font-size:1.4rem}.log-entry .log-level{font-size:1.4rem}.log-entry .log-level.info{color:#3a7bd5}.log-entry .log-level.warning{color:#ffc107}.log-entry .log-level.error{color:#e63946}.log-entry .message{color:#333}.storage-status{background:#fff;border:1px solid #ddd;padding:.5rem;display:flex;flex-direction:column;min-height:0;flex:2 1}.storage-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.header-actions{display:flex;gap:.3vw;align-items:center}.report-btn{padding:.2vw .6vw;color:#fff;border:none;font-size:1.4rem;cursor:pointer;transition:all .2s}.report-btn,.report-btn:hover{background:#3a7bd5}.storage-content{flex:1 1;min-height:0;justify-content:flex-start;margin-top:5px}.storage-content,.storage-left,.storage-right{height:100%;display:flex;flex-direction:column}.storage-left,.storage-right{gap:.2vw;justify-content:space-between}.stat-row{display:flex;flex-direction:column;gap:.2vw}.stat-row.no-label{margin-top:0}.stat-label{font-size:1.4rem;color:#333;line-height:1;margin-bottom:.1vw}.input-label{display:flex;align-items:center;justify-content:center;gap:.2vw;padding:.4vw .2vw;border-radius:.15vw;flex:1 1;min-width:4vw}.stat-values{display:flex;gap:.2vw;flex-wrap:wrap}.stat-box{display:flex;align-items:center;justify-content:center;padding:.4vw .2vw;background:#e0e0e0;border-radius:.15vw;flex:1 1;height:2.2rem}@media (min-width:1920px){.stat-box{height:2.5rem}}.stat-box.highlight{background:#e3f2fd;border:1px solid #90caf9}.stat-box.highlight .stat-value{color:#1976d2}.stat-unit,.stat-value{font-size:1.4rem;color:#333;line-height:1}.report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.report-modal-content{background:#fff;border-radius:8px;width:400px;max-width:90%;box-shadow:0 4px 20px rgba(0,0,0,.15)}.report-modal-header{background-color:#d0d0d0;padding:10px 20px;border-bottom:1px solid #999;display:flex;justify-content:space-between;align-items:center}.report-modal-header h2{margin:0;font-size:1.4rem;color:#333}.report-close-btn{background:none;border:none;font-size:1.11rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#333}.report-close-btn:hover{color:#333}.report-modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.report-form-group{display:flex;flex-direction:column;gap:8px}.report-form-group label,.report-select{font-size:1.4rem;color:#333}.report-select{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s}.report-select:hover{border-color:#3a7bd5}.report-select:focus{outline:none;border-color:#3a7bd5;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.report-modal-footer{justify-content:flex-end;gap:12px;padding:1rem 20px;display:flex;align-items:center;background-color:#d0d0d0}.report-cancel-btn,.report-generate-btn{padding:10px 20px;border:none;font-size:1.4rem;cursor:pointer;border-radius:0}.report-cancel-btn{background:#e63946;color:#fff}.report-cancel-btn:hover{background:#c82333}.report-generate-btn{background:#3a7bd5;color:#fff}.report-generate-btn:hover{background:#3a7bd5}@media (max-width:1600px){.report-modal-content{width:360px}.report-modal-header h2{font-size:20px}.report-modal-body{padding:20px}}.storage-status-setup-modal .form-row,.storage-status-setup-modal .input-group{min-width:0}.storage-status-setup-modal .input-group .unit{flex-shrink:0;white-space:nowrap}.storage-status-setup-modal{background:#fff;width:600px;max-height:90vh;overflow:auto;box-shadow:0 4px 20px rgba(0,0,0,.15)}.storage-status-setup-modal .modal-header{background-color:#d0d0d0;padding:10px 20px;border-bottom:1px solid #999;display:flex;justify-content:space-between;align-items:center}.storage-status-setup-modal .modal-header h2{margin:0;font-size:1.4rem;color:#333}.storage-status-setup-modal .close-btn{background:none;border:none;font-size:1.11rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#333}.storage-status-setup-modal .close-btn:hover{color:#333}.storage-status-setup-modal .modal-body{padding:24px}.storage-status-setup-modal .form-section{display:flex;flex-direction:column}.storage-status-setup-modal .section-title{margin:0 0 12px;font-size:1.4rem;color:#333;padding-bottom:8px;border-bottom:1px dotted #e0e0e0}.storage-status-setup-modal .form-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.storage-status-setup-modal .form-row label{font-size:1.4rem;color:#333;flex-shrink:0}.storage-status-setup-modal .input-group{display:flex;align-items:center;gap:8px;flex:1 1}.storage-status-setup-modal .input-group input{flex:1 1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:1.4rem;text-align:right;min-width:0}.storage-status-setup-modal .input-group input:focus{outline:none;border-color:#3a7bd5}.storage-status-setup-modal .input-group .unit{font-size:1.4rem;color:#333;min-width:60px}.storage-status-setup-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:1rem 24px;border-top:1px solid #e0e0e0;background:#d0d0d0}.storage-status-setup-modal .cancel-btn,.storage-status-setup-modal .save-btn{padding:10px 20px;border:none;font-size:1.4rem;cursor:pointer;border-radius:0}.storage-status-setup-modal .cancel-btn{background:#e63946;color:#fff}.storage-status-setup-modal .cancel-btn:hover{background:#c82333}.storage-status-setup-modal .save-btn{background:#3a7bd5;color:#fff}.storage-status-setup-modal .save-btn:hover{background:#2c5daf}@media (min-width:1600px) and (max-width:2000px){.storage-status-setup-modal{width:520px}}@media (max-width:1600px){.storage-status-setup-modal{width:500px}.storage-status-setup-modal .form-row label{min-width:120px;font-size:14px}.storage-status-setup-modal .input-group input{padding:6px 10px;font-size:1.4rem}}*{margin:0;padding:0;color:#333;box-sizing:border-box;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html{font-size:clamp(14px,1.5vw,1rem)}body{font-family:Pretendard;font-size:1.1rem}@media (max-width:1920px) and (max-height:1080px){*,body,html{font-size:1.1rem!important}}.crane-container{width:100%;min-height:100vh;background:#ecf0f1}.main-grid{display:flex;flex-direction:column;gap:.2vw;box-sizing:border-box}.top-row{flex-wrap:nowrap}.middle-row,.top-row{width:100%;display:flex;gap:.2vw}.middle-row{min-height:0;height:60vh;overflow:auto}.option-row{display:flex;gap:.2vw;width:100%;flex:1 1;min-height:0}@media (min-width:1920px) and (min-height:1080px){html{overflow:hidden}.crane-container,body{overflow:hidden;width:100vw;height:100vh}.crane-container{display:flex;flex-direction:column}.main-grid{flex:1 1;overflow:hidden}.middle-row{height:46vh;overflow:auto}.option-row{height:20vh;overflow:auto}}.bottom-row{display:flex;gap:.2vw;width:100%;flex:1 1;min-height:0}.center-column,.right-column{display:flex;flex-direction:column;gap:1rem}.right-column{flex:1 1}::-webkit-scrollbar{width:.4vw;height:.4vw}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888}::-webkit-scrollbar-thumb:hover{background:#333}@media (min-width:1024px) and (max-width:1440px){*{font-size:.9rem!important}}