@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap);body,html{height:100%;margin:0;padding:0;width:100%}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}#root{height:100%;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.logo-image{max-height:100%;max-width:100%;object-fit:contain}.fullscreen-btn{align-items:center;cursor:pointer;display:flex;height:24px;justify-content:center;margin-left:16px;transition:transform .2s;width:24px}.fullscreen-btn:hover{transform:scale(1.1)}.alarm-container{position:relative}.alarm-display-box{align-items:center;background:linear-gradient(135deg,#21252b,#2a2f38);border:1px solid #ef4444;border-radius:6px;cursor:pointer;display:flex;gap:8px;max-width:450px;padding:8px 16px;transition:all .3s ease}.alarm-display-box.has-alarm{animation:alarm-pulse 2s ease-in-out infinite}@keyframes alarm-pulse{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 12px 4px #ef444499}}.alarm-display-box:hover{animation:none;border-color:#ff6b6b;box-shadow:0 4px 12px #ef44444d}.alarm-icon-inline{color:#ef4444;flex-shrink:0;font-size:18px}.alarm-display-text{color:#fff;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarm-dropdown{background:#21252b;border:1px solid #3b82f6;border-radius:8px;box-shadow:0 8px 24px #00000080;max-height:500px;overflow:hidden;position:absolute;right:0;top:40px;width:400px;z-index:1000}.alarm-dropdown-header{align-items:center;background:#1a1f28;border-bottom:1px solid #3a3f47;display:flex;justify-content:space-between;padding:16px}.alarm-dropdown-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.alarm-count{background:#2a2f38;border-radius:4px;color:#9ca3af;font-size:12px;padding:4px 8px}.header .alarm-list{max-height:420px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#3b82f6 #1a1f28;scrollbar-width:thin}.header .alarm-list::-webkit-scrollbar{width:6px}.header .alarm-list::-webkit-scrollbar-track{background:#1a1f28}.header .alarm-list::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.header .alarm-item{border-bottom:1px solid #2a2f38;cursor:pointer;padding:12px 16px;transition:all .2s ease}.header .alarm-item:hover{background:#2a2f38;border-left:3px solid #3b82f6;padding-left:13px;transform:translateX(4px)}.header .alarm-item:last-child{border-bottom:none}.header .alarm-item-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.header .alarm-icon-small{font-size:16px}.header .alarm-item.alarm-error .alarm-icon-small{color:#ef4444}.header .alarm-item.alarm-warning .alarm-icon-small{color:#fbbf24}.header .alarm-item.alarm-info .alarm-icon-small{color:#3b82f6}.header .alarm-factory{background:#3b82f61a;border-radius:3px;color:#3b82f6;font-size:11px;font-weight:600;padding:2px 6px}.header .alarm-machine{color:#d1d5db;font-size:12px;font-weight:500}.header .alarm-message{color:#fff;font-size:13px;margin-bottom:4px;padding-left:24px}.header .alarm-time{color:#9ca3af;font-size:11px;padding-left:24px}.header-center{align-items:center;display:flex;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.notice-container{position:relative}.notice-display-box{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:all .3s ease;width:400px}.notice-display-box:hover{opacity:.8}.notice-display-box.empty{cursor:default}.notice-display-box.empty:hover{opacity:1}.notice-icon{color:#60a5fa;flex-shrink:0;font-size:18px}.notice-display-text{color:#fff;flex:1 1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-counter{background:#ffffff1a;border-radius:10px;color:#9ca3af;flex-shrink:0;font-size:11px;padding:2px 6px}.notice-dropdown{background:#21252b;border:1px solid #3b82f6;border-radius:8px;box-shadow:0 8px 24px #00000080;left:50%;max-height:400px;overflow:hidden;position:absolute;top:45px;transform:translateX(-50%);width:450px;z-index:1000}.notice-dropdown-header{align-items:center;background:#1a1f28;border-bottom:1px solid #3a3f47;display:flex;justify-content:space-between;padding:16px}.notice-dropdown-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.notice-count{background:#2a2f38;border-radius:4px;color:#9ca3af;font-size:12px;padding:4px 8px}.notice-list{max-height:320px;overflow-y:auto;scrollbar-color:#3b82f6 #1a1f28;scrollbar-width:thin}.notice-list::-webkit-scrollbar{width:6px}.notice-list::-webkit-scrollbar-track{background:#1a1f28}.notice-list::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.notice-item{border-bottom:1px solid #2a2f38;cursor:pointer;padding:12px 16px;transition:all .2s ease}.notice-item:hover{background:#2a2f38;border-left:3px solid #3b82f6;padding-left:13px;transform:translateX(4px)}.notice-item:last-child{border-bottom:none}.notice-item.notice-urgent{background:#ef44441a;border-left:3px solid #ef4444}.notice-item.notice-urgent:hover{background:#ef444433;border-left-color:#ef4444}.notice-item-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.notice-icon-small{color:#60a5fa;font-size:16px}.notice-item.notice-urgent .notice-icon-small{color:#ef4444}.notice-type-badge{border-radius:3px;font-size:10px;font-weight:600;padding:2px 6px}.notice-type-badge.notice{background:#3b82f633;color:#60a5fa}.notice-type-badge.update{background:#22c55e33;color:#22c55e}.notice-type-badge.urgent{background:#ef444433;color:#ef4444}.notice-item-row{align-items:center;display:flex;gap:8px}.notice-category-badge{background:#9ca3af33;border-radius:3px;color:#9ca3af;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 6px}.notice-title{color:#fff;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{height:100%}.sidebar-icon{position:relative}.sidebar-icon:after{background:#0000;content:"";height:calc(100% + 40px);left:0;position:absolute;top:-20px;transition:width 0s .1s;width:0;z-index:999}.sidebar-icon:hover:after{transition:width 0s 0s;width:250px}.sidebar-icon .material-symbols-outlined{transition:color .3s ease}.sidebar-tooltip{animation:tooltipFadeIn .2s ease-out;background:#21252b;border:1px solid #3b82f6;border-radius:8px;box-shadow:0 4px 12px #0006;left:45px;max-height:calc(100vh - 80px);min-width:200px;overflow-y:auto;padding:12px;position:absolute;top:50%;transform:translateY(-50%);z-index:1000}.sidebar-icon:first-child .sidebar-tooltip{top:max(10%);transform:translateY(0)}.sidebar-tooltip::-webkit-scrollbar{width:4px}.sidebar-tooltip::-webkit-scrollbar-track{background:#0000}.sidebar-tooltip::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:4px}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}.sidebar-tooltip:before{border-bottom:6px solid #0000;border-right:7px solid #3b82f6;border-top:6px solid #0000;content:"";height:0;left:-7px;position:absolute;top:50%;transform:translateY(-50%);width:0}.sidebar-icon:first-child .sidebar-tooltip:before{top:20px;transform:translateY(0)}.sidebar-tooltip-title{border-bottom:1px solid #3b82f64d;color:#3b82f6;font-size:14px;font-weight:600;margin-bottom:8px;padding-bottom:8px}.sidebar-tooltip-menu{display:flex;flex-direction:column;gap:4px}.sidebar-tooltip-item{border-radius:4px;color:#cad2e0;cursor:pointer;font-size:13px;padding:8px 12px;transition:all .2s ease}.sidebar-tooltip-item:hover{background:#3b82f633;color:#fff;transform:translateX(4px)}.sidebar-expanded{background:#181c14;box-shadow:2px 0 8px #0000004d;display:flex;flex-direction:column;height:calc(100vh - 60px);left:-280px;position:fixed;top:60px;transition:left .3s ease-in-out;width:280px;z-index:1000}.sidebar-expanded.open{left:0}.sidebar-logo{color:#3b82f6;font-family:Inter,sans-serif;font-size:24px;font-weight:700;letter-spacing:2px}.sidebar-close-btn{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s}.sidebar-close-btn:hover{color:#fff}.sidebar-close-btn .material-symbols-outlined{font-size:24px}.sidebar-datetime{border-bottom:1px solid #2d3339;display:flex;flex-direction:column;gap:4px;padding:16px 24px}.sidebar-date{color:#9ca3af;font-size:14px;font-weight:500}.sidebar-date,.sidebar-time{font-family:Inter,sans-serif}.sidebar-time{color:#fff;font-size:28px;font-weight:700;letter-spacing:1px}.sidebar-menu{flex:1 1;overflow-y:auto;padding:16px 0}.sidebar-menu::-webkit-scrollbar{width:6px}.sidebar-menu::-webkit-scrollbar-track{background:#181c14}.sidebar-menu::-webkit-scrollbar-thumb{background:#2d3339;border-radius:3px}.sidebar-menu::-webkit-scrollbar-thumb:hover{background:#3d4349}.sidebar-menu-item{margin-bottom:4px}.sidebar-menu-header{align-items:center;color:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:12px 24px;transition:background .2s}.sidebar-menu-header:hover{background:#3b82f61a}.sidebar-menu-header.active{background:#3b82f626}.sidebar-menu-title{align-items:center;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:12px}.sidebar-menu-icon{color:#3b82f6;font-size:20px}.sidebar-menu-arrow{color:#9ca3af;font-size:20px;transition:transform .3s}.sidebar-menu-arrow.rotate{transform:rotate(180deg)}.sidebar-submenu{animation:slideDown .3s ease-out;background:#0003}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.sidebar-submenu-item{color:#9ca3af;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;padding:10px 24px 10px 56px;transition:all .2s}.sidebar-submenu-item:hover{background:#3b82f61a;color:#3b82f6;padding-left:60px}.sidebar-footer{border-top:1px solid #2d3339;padding:16px 24px}.sidebar-logout{align-items:center;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:12px;padding:12px;transition:background .2s}.sidebar-logout:hover{background:#ef44441a}.sidebar-logout .material-symbols-outlined{font-size:20px}@media (max-width:768px){.sidebar-expanded{left:-100%;width:100%}.sidebar{display:none}}.layout-container{background:#d9d9d9;font-family:Inter,sans-serif;height:100%;position:relative;width:100%}.main-content{-ms-overflow-style:none;overflow:auto;scrollbar-width:none;transition:all .3s ease}.main-content.fullscreen-mode{height:100%!important;inset:0!important;margin:0!important;padding:0!important;position:absolute!important;width:100%!important;z-index:1000}.layout-container:-moz-full-screen,.layout-container:-ms-fullscreen,.layout-container:-webkit-full-screen,.layout-container:fullscreen{background:#d9d9d9;height:100vh!important;margin:0!important;max-height:100vh!important;max-width:100vw!important;overflow:hidden!important;padding:0!important;width:100vw!important}.layout-container:-moz-full-screen .main-content,.layout-container:-ms-fullscreen .main-content,.layout-container:-webkit-full-screen .main-content,.layout-container:fullscreen .main-content{height:100%!important;inset:0!important;margin:0!important;padding:0!important;position:absolute!important;width:100%!important}.fullscreen-exit-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#181c14f2;border:1px solid #3b82f6;border-radius:0 0 12px 12px;border-top:none;box-shadow:0 4px 12px #00000080;cursor:pointer;display:flex;height:56px;justify-content:center;left:50%;position:fixed;top:0;transform:translateX(-50%) translateY(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:56px;z-index:10000}.fullscreen-exit-btn:before{background:#0000;content:"";height:80px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:200px}.fullscreen-exit-btn:hover{background:#181c14;border-color:#60a5fa;box-shadow:0 6px 16px #3b82f666;transform:translateX(-50%) translateY(0)}.fullscreen-exit-btn .material-symbols-outlined{color:#cad2e0;font-size:32px}.main-content.hide-cursor,.main-content.hide-cursor *{cursor:none!important}.main-content::-webkit-scrollbar{display:none}.sidebar-overlay{animation:fadeIn .3s;background:#00000080;height:calc(100vh - 60px);left:0;position:fixed;top:60px;width:100vw;z-index:999}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;overflow:hidden}.dashboard-container{background:#d9d9d9;height:100vh;position:relative;width:100vw}.header{background:#181c14;height:60px;justify-content:space-between;left:0;position:absolute;top:0;width:100%;z-index:10}.header,.header-left{align-items:center;display:flex}.header-left{gap:8px;padding-left:15px}.logo{color:#fff;font-family:Inter;font-size:32px;font-style:normal;font-weight:700;line-height:40px;text-align:center;width:38px}.logo,.menu-icon{align-items:center;display:flex;height:32px;justify-content:center}.menu-icon{margin-left:10px;width:28px}.title{color:#fff;font-family:Inter;font-size:18px;font-style:normal;font-weight:700;line-height:22px;margin-left:12px}.header-right,.title{align-items:center;display:flex}.header-right{gap:16px;padding-right:20px}.header-icon{align-items:center;cursor:pointer;display:flex;height:24px;justify-content:center;transition:transform .2s;width:24px}.header-icon:hover{transform:scale(1.1)}.sidebar{background:#181c14;height:calc(100vh - 60px);left:0;position:absolute;top:60px;width:60px;z-index:9}.sidebar,.sidebar-icons{display:flex;flex-direction:column}.sidebar-icons{flex:1 1;gap:20px;margin:20px auto 0;position:relative;width:24px}.sidebar-icon{align-items:center;cursor:pointer;display:flex;height:24px;justify-content:center;transition:transform .2s;width:24px}.sidebar-icon:hover{transform:scale(1.1)}.sidebar-icon-logout{margin-bottom:20px;margin-top:auto}.main-content{background:#d9d9d9;height:calc(100% - 60px);left:60px;position:absolute;top:60px;width:calc(100% - 60px)}.home-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;border-radius:4px;cursor:pointer;display:flex;left:18px;padding:6px 12px;position:absolute;top:17px;transition:all .2s;z-index:2}.home-header:hover{background-color:#2a2f38;border-color:#3b82f6}.home-title{color:#fff;font-size:12px;font-weight:500}.background-image{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.factory-marker{align-items:center;cursor:pointer;display:flex;flex-direction:column;position:absolute;transition:all .3s ease;z-index:3}.factory-marker:hover .factory-marker-content{box-shadow:0 8px 16px #3b82f666;transform:translateY(-5px)}.factory-marker-content{align-items:center;background:linear-gradient(135deg,#21252b,#2a2f38);border:2px solid #5a6d8d;border-radius:8px;box-shadow:0 4px 12px #00000080;display:flex;gap:12px;margin-bottom:8px;padding:12px 16px;transition:all .3s ease}.factory-info-left{align-items:center;display:flex;flex-direction:column}.factory-marker-name{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.factory-marker-location,.factory-marker-name{font-family:Inter;font-style:normal;text-align:center}.factory-marker-location{color:#9ca3af;font-size:13px;font-weight:500}.factory-divider{background:linear-gradient(180deg,#0000 0,#5a6d8d 20%,#5a6d8d 80%,#0000);height:50px;opacity:.5;width:1px}.machine-status-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}.status-item{align-items:center;background:#3741514d;border:1px solid #5a6d8d;border-radius:4px;display:flex;flex-direction:column;justify-content:center;min-width:60px;padding:8px 12px}.status-label{color:#9ca3af;font-size:10px;margin-bottom:4px;white-space:nowrap}.status-value{color:#fff;font-size:16px;font-weight:700}.status-item.status-total .status-value{color:#60a5fa}.status-item.status-running .status-value{color:#22c55e}.status-item.status-idle .status-value{color:#fbbf24}.status-item.status-stopped .status-value{color:#ef4444}.factory-marker-arrow{align-items:center;display:flex;flex-direction:column}.factory-marker-dot{animation:pulse 2s infinite;background:#5a6d8d;border:2px solid #fff;border-radius:50%;box-shadow:0 0 12px #5a6d8dcc;height:12px;width:12px}.factory-1{left:387px;top:321px}.factory-2{left:1150px;top:455px}.factory-3{left:1480px;top:152px}.factory-4{left:850px;top:250px}@media (max-width:1920px){.factory-1{left:20%;top:35%}.factory-2{left:60%;top:50%}.factory-3{left:77%;top:17%}.factory-4{left:45%;top:15%}}@media (max-width:1366px){.factory-marker-name{font-size:20px}.factory-marker-location{font-size:12px}}@media (max-width:768px){.header{height:50px}.sidebar{top:50px;width:50px}.main-content{left:50px;top:50px}.factory-marker-name{font-size:16px}.factory-marker-location{font-size:10px}.factory-marker-content{padding:8px 16px}}.modal-overlay{animation:fadeIn .2s ease-in-out;background-color:#000000b3;z-index:9999}.modal-content{animation:slideUp .3s ease-out;background:#1f2937;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0006;max-width:450px}.modal-header{border-bottom:1px solid #374151}.modal-header h3{color:#f3f4f6;font-size:18px;font-weight:600;margin:0}.modal-close-btn{transition:color .2s}.modal-close-btn:hover{color:#f3f4f6}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#d1d5db;font-size:14px;font-weight:500}.form-input{background:#111827;border:1px solid #374151;border-radius:8px;box-sizing:border-box;color:#f3f4f6;font-size:16px;padding:12px 16px;transition:all .2s;width:100%}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder{color:#6b7280}.error-message{color:#ef4444;font-size:13px;margin-top:4px}.modal-footer{border-top:1px solid #374151;justify-content:flex-end}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.btn-cancel{background:#374151;color:#d1d5db}.btn-cancel:hover:not(:disabled){background:#4b5563}.btn-save{background:#3b82f6;color:#fff}.btn-save:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 6px -1px #3b82f64d}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.5}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.daily-report-modal-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.daily-report-modal-content{background-color:#fff;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;position:relative;width:100%}.report-error,.report-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:80px 40px}.report-loading .loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#1f2937;height:40px;margin-bottom:20px;width:40px}.report-loading p{color:#374151;font-size:14px}.report-error p{color:#dc2626;font-size:15px;margin-bottom:20px}.report-error button{background:#1f2937;border:none;color:#fff;cursor:pointer;font-size:13px;font-weight:500;margin:0 6px;padding:10px 24px}.report-error button:hover{background:#374151}.report-header{background:#fff;border-bottom:3px double #1f2937;padding:50px 60px 40px;position:relative}.report-header .close-btn{align-items:center;background:#0000;border:1px solid #d1d5db;color:#6b7280;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s;width:36px}.report-header .close-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.report-title-section{margin-bottom:35px;text-align:center}.report-main-title{color:#111827;font-family:Noto Sans KR,sans-serif;font-size:36px;font-weight:700;letter-spacing:8px;margin:0 0 10px}.report-subtitle{color:#6b7280;font-size:14px;letter-spacing:1px;text-transform:uppercase}.report-info-table{margin:0 auto;max-width:800px}.report-info-table table{border:2px solid #1f2937;border-collapse:collapse;width:100%}.report-info-table th{background:#f3f4f6;color:#1f2937;font-weight:600;text-align:left;width:20%}.report-info-table td,.report-info-table th{border:1px solid #d1d5db;font-size:13px;padding:12px 20px}.report-info-table td{color:#374151;width:30%}.report-body{background:#fff;flex:1 1;overflow-y:auto;padding:40px 60px 50px}.report-body::-webkit-scrollbar{width:8px}.report-body::-webkit-scrollbar-track{background:#f3f4f6}.report-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.report-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.report-section{margin-bottom:40px}.section-number{border-bottom:2px solid #1f2937;color:#111827;font-size:18px;font-weight:700;margin:0 0 20px;padding:10px 0}.data-table{border:2px solid #1f2937;margin-bottom:10px}.data-table thead th{background:#1f2937;border:1px solid #374151;color:#fff;font-size:13px;font-weight:600;padding:14px 16px;text-align:center}.data-table tbody td{border:1px solid #d1d5db;color:#374151;font-size:13px;padding:12px 16px}.data-table tbody td:first-child{background:#f9fafb;font-weight:500}.data-table .value-cell{background:#fff!important;color:#111827;font-size:14px;font-weight:600;text-align:right}.data-table tbody td:nth-child(3),.data-table tbody td:nth-child(4){color:#6b7280;text-align:center}.highlight-row.success td:first-child{border-left:3px solid #059669}.highlight-row.warning td:first-child{border-left:3px solid #d97706}.highlight-row.danger td:first-child{border-left:3px solid #dc2626}.summary-row,.summary-row td{background:#f3f4f6!important;font-weight:600}.summary-row td{color:#111827}.oee-table .progress-cell{background:#fff!important;padding:8px 16px}.progress-bar{background:#e5e7eb;border:1px solid #d1d5db;border-radius:4px;height:24px;overflow:hidden;width:100%}.progress-fill{align-items:center;color:#fff;display:flex;font-size:11px;font-weight:600;height:100%;justify-content:center;transition:width .6s ease}.progress-fill.availability{background:#059669}.progress-fill.performance{background:#2563eb}.progress-fill.quality{background:#d97706}.progress-fill.oee{background:#1f2937}.oee-total{border-top:2px solid #1f2937}.oee-total,.oee-total td{background:#eef2ff!important}.oee-formula{background:#f9fafb;border-left:3px solid #1f2937;margin-top:12px;padding:12px 16px}.oee-formula p{color:#6b7280;font-size:12px;font-weight:500;margin:0}.ai-summary-box{background:#f9fafb;border:2px solid #d1d5db;border-radius:4px;line-height:1.8;padding:24px 28px}.ai-summary-box p{color:#374151;font-size:14px;margin:0 0 14px}.ai-summary-box p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:#1f2937;font-weight:700;margin:20px 0 12px}.markdown-content h1{font-size:20px}.markdown-content h2{font-size:18px}.markdown-content h3{font-size:16px}.markdown-content h4{font-size:14px}.markdown-content p{color:#374151;line-height:1.7;margin:8px 0}.markdown-content ol,.markdown-content ul{color:#374151;margin:8px 0;padding-left:24px}.markdown-content li{line-height:1.6;margin:4px 0}.markdown-content strong{color:#1f2937;font-weight:700}.markdown-content blockquote{background:#f3f4f6;border-left:4px solid #9ca3af;color:#4b5563;margin:12px 0;padding:12px 16px}.markdown-content hr{border:none;border-top:2px solid #e5e7eb;margin:20px 0}.markdown-content table{background:#fff;border-collapse:collapse;box-shadow:0 1px 3px #0000001a;font-size:13px;margin:16px 0;width:100%}.markdown-content table thead{background:#f3f4f6}.markdown-content table th{background:#f9fafb;border:1px solid #d1d5db;color:#1f2937;font-weight:700;padding:12px 16px;text-align:left}.markdown-content table td{border:1px solid #e5e7eb;color:#374151;padding:10px 16px}.markdown-content table tbody tr:nth-child(2n){background:#f9fafb}.markdown-content table tbody tr:hover{background:#f3f4f6}.markdown-content table strong{color:#dc2626;font-weight:700}.report-footer{align-items:center;border-top:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:40px;padding-top:30px}.footer-actions{display:flex;gap:12px}.pdf-btn{align-items:center;background:#1f2937;border:none;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.pdf-btn:hover{background:#111827}.pdf-btn:disabled{cursor:not-allowed;opacity:.7}.pdf-btn span{font-size:16px}.pdf-loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.footer-info p{color:#9ca3af;font-size:12px;font-style:italic;margin:0}@media (max-width:768px){.daily-report-modal-overlay{padding:10px}.daily-report-modal-content{max-height:95vh}.report-header{padding:40px 30px 30px}.report-main-title{font-size:28px;letter-spacing:6px}.report-body{padding:30px 25px 40px}.data-table tbody td,.data-table thead th,.report-info-table td,.report-info-table th{font-size:12px;padding:10px 12px}.section-number{font-size:16px}.report-footer{align-items:flex-start;flex-direction:column;gap:16px}.progress-bar{height:20px}}@media print{.daily-report-modal-overlay{background:#fff;position:static}.daily-report-modal-content{box-shadow:none;max-height:none}.close-btn,.pdf-btn{display:none!important}.report-body{overflow-y:visible}}.enterprise-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.enterprise-container .enterprise-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:4px;padding:12px 16px}.enterprise-container .enterprise-header-left{display:flex;flex-direction:column}.enterprise-container .enterprise-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.enterprise-container .enterprise-subtitle{color:#d1d5db;font-size:12px;margin:0}.enterprise-container .enterprise-header-right{align-items:center;display:flex;gap:24px}.enterprise-container .update-info{align-items:flex-end;display:flex;flex-direction:column}.enterprise-container .report-buttons{align-items:center;display:flex;gap:8px}.enterprise-container .report-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s ease}.enterprise-container .report-btn.daily{background:linear-gradient(135deg,#3b82f6,#2563eb)}.enterprise-container .report-btn.daily:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.enterprise-container .report-btn.weekly{background:linear-gradient(135deg,#10b981,#059669)}.enterprise-container .report-btn.weekly:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.enterprise-container .report-btn.monthly{background:linear-gradient(135deg,#f59e0b,#d97706)}.enterprise-container .report-btn.monthly:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #f59e0b66;transform:translateY(-1px)}.enterprise-container .update-label-container{align-items:center;display:flex;gap:1px;justify-content:flex-end}.enterprise-container .update-label{color:#9ca3af;font-size:12px;transition:color .2s}.enterprise-container .update-label.refreshing{color:#3b82f6}.enterprise-container .update-time{color:#fff;font-size:14px;font-weight:700}.enterprise-container .refresh-icon{color:#9ca3af;font-size:14px;line-height:1;transition:color .2s}.enterprise-container .refresh-icon.spinning{animation:spin 1s linear infinite;color:#3b82f6}.enterprise-container .kpi-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(5,1fr);margin-bottom:3px}.enterprise-container .kpi-card{background-color:#21252b;border:1px solid #1b1d20;height:112px;padding:16px}.enterprise-container .kpi-content{align-items:center;display:flex;height:100%;justify-content:space-between}.enterprise-container .kpi-info{display:flex;flex-direction:column}.enterprise-container .kpi-label{color:#9ca3af;font-size:14px;margin-bottom:8px}.enterprise-container .kpi-value{font-size:24px;font-weight:700;margin-bottom:4px;transition:all .3s ease-out}.enterprise-container .kpi-value.blue{color:#60a5fa}.enterprise-container .kpi-value.white{color:#fff}.enterprise-container .kpi-value.green{color:#22c55e}.enterprise-container .kpi-value.yellow{color:#fbbf24}.enterprise-container .kpi-value.orange{color:#fb923c}.enterprise-container .kpi-unit{color:#d1d5db;font-size:14px}.enterprise-container .kpi-unit.green{color:#22c55e}.enterprise-container .kpi-icon{align-items:center;display:flex;height:40px;justify-content:center;width:40px}.enterprise-container .kpi-icon.blue{color:#60a5fa}.enterprise-container .kpi-icon.green{color:#22c55e}.enterprise-container .kpi-icon.yellow{color:#fbbf24}.enterprise-container .kpi-icon.orange{color:#fb923c}.enterprise-container .kpi-icon .material-symbols-outlined{font-size:32px}.enterprise-container .main-grid{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:1fr 1fr;min-height:0}.enterprise-container .left-column,.enterprise-container .right-column{display:flex;flex-direction:column;gap:3px;height:100%;min-height:0}.enterprise-container .chart-card{background-color:#21252b;border:1px solid #1b1d20;padding:12px}.enterprise-container .chart-title{color:#fff;font-size:16px;font-weight:600;margin:0 0 8px}.enterprise-container .production-chart{flex:0 0 40%;min-height:0}.enterprise-container .chart-container{height:calc(100% - 52px);width:100%}.enterprise-container .chart-container-full{height:calc(100% - 32px);width:100%}.enterprise-container .chart-svg{height:100%;width:100%}.enterprise-container .chart-legend{align-items:center;display:flex;font-size:14px;gap:24px;justify-content:center;margin-top:4px}.enterprise-container .legend-item{align-items:center;display:flex;gap:4px}.enterprise-container .legend-box{height:12px;width:12px}.enterprise-container .legend-box.green{background-color:#22c55e}.enterprise-container .legend-line{height:4px;width:12px}.enterprise-container .legend-line.yellow{background-color:#f59e0b}.enterprise-container .legend-line.blue{background-color:#3b82f6}.enterprise-container .legend-line.green{background-color:#22c55e}.enterprise-container .legend-line.purple{background-color:#8b5cf6}.enterprise-container .legend-item span{color:#9ca3af}.enterprise-container .factory-status{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.enterprise-container .factory-status-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.enterprise-container .factory-detail-btn{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s}.enterprise-container .factory-detail-btn:hover{background-color:#2563eb}.enterprise-container .factory-grid{-ms-overflow-style:none;display:flex;flex-direction:column;gap:3px;overflow-x:hidden;overflow-y:auto;padding-right:2px;scrollbar-width:none}.enterprise-container .factory-grid::-webkit-scrollbar{display:none}.enterprise-container .enterprise-factory-card{background-color:#3741514d;border:1px solid #4b55634d;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;min-height:72px;padding:8px;transition:all .3s ease}.enterprise-container .factory-card-top{align-items:center;display:flex;width:100%}.enterprise-container .enterprise-factory-card:hover{background-color:#3b82f61a;border-color:#3b82f666;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.enterprise-container .factory-left{align-items:center;display:flex;flex:0 0 auto;gap:60px;padding-left:3px}.enterprise-container .factory-name-section{min-width:120px;text-align:center;width:120px}.enterprise-container .enterprise-factory-name{color:#d1d5db;font-size:14px;font-weight:500}.enterprise-container .factory-location{color:#9ca3af;font-size:12px}.enterprise-container .factory-donut{align-items:center;border:none!important;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:100px;min-width:80px;outline:none!important}.enterprise-container .factory-donut *,.enterprise-container .factory-donut div,.enterprise-container .factory-donut svg,.enterprise-container .factory-donut>div{border:none!important;box-shadow:none!important;outline:none!important}.enterprise-container .donut-chart{height:64px;width:64px}.enterprise-container .donut-text{fill:#fff;font-size:12px;font-weight:700}.enterprise-container .donut-legend{align-items:center;display:flex;font-size:12px;gap:4px}.enterprise-container .donut-legend-item{align-items:center;display:flex;gap:2px}.enterprise-container .legend-dot{border-radius:1px;height:6px;width:6px}.enterprise-container .legend-dot.green{background-color:#22c55e}.enterprise-container .legend-dot.yellow{background-color:#fbbf24}.enterprise-container .legend-dot.red{background-color:#ef4444}.enterprise-container .donut-legend-item span{color:#d1d5db}.enterprise-container .factory-equipment-metric{align-items:center;display:flex;flex:0 0 auto;padding:0 48px}.enterprise-container .factory-vertical-divider{background-color:#4b556380;flex:0 0 auto;height:50px;width:1px}.enterprise-container .factory-right-section{display:flex;flex:1 1;flex-direction:column;padding-left:16px;padding-right:8px}.enterprise-container .factory-metrics-row{display:flex;justify-content:space-evenly;padding:18px 0}.enterprise-container .metric{text-align:center}.enterprise-container .metric-label{color:#9ca3af;font-size:12px}.enterprise-container .metric-value{font-size:16px;font-weight:700;margin-top:4px}.enterprise-container .metric-value.white{color:#fff}.enterprise-container .metric-value.green{color:#22c55e}.enterprise-container .metric-value.yellow{color:#fbbf24}.enterprise-container .metric-value.red{color:#ef4444}.enterprise-container .environment-divider{background-color:#4b556380;height:1px;margin:8px 0}.enterprise-container .environment-metrics{display:flex;gap:16px;justify-content:flex-end;padding:6px 0}.enterprise-container .env-metric{align-items:center;display:flex;gap:4px}.enterprise-container .env-icon{font-size:16px}.enterprise-container .env-icon.temperature{color:#ef4444}.enterprise-container .env-icon.humidity{color:#3b82f6}.enterprise-container .env-icon.air-quality{color:#22c55e}.enterprise-container .env-value{color:#d1d5db;font-size:12px}.enterprise-container .env-value.green{color:#22c55e}.enterprise-container .env-value.yellow{color:#fbbf24}.enterprise-container .env-value.red{color:#ef4444}.enterprise-container .oee-grid{grid-gap:3px;display:grid;flex:0 0 140px;gap:3px;grid-template-columns:1fr 1fr}.enterprise-container .oee-card{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;padding:16px}.enterprise-container .oee-title-container{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:8px;width:100%}.enterprise-container .oee-title{color:#fff;font-size:16px;font-weight:500;text-align:center}.enterprise-container .oee-settings-icon{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.enterprise-container .oee-settings-icon:hover{background-color:#f59e0b1a;color:#f59e0b}.enterprise-container .oee-settings-icon .material-symbols-outlined{font-size:18px}.enterprise-container .gauge-container{height:64px;margin:0 auto;position:relative;width:128px}.enterprise-container .gauge-svg{height:64px;width:128px}.enterprise-container .gauge-value{align-items:flex-end;display:flex;inset:0;justify-content:center;padding-bottom:8px;position:absolute}.enterprise-container .gauge-number{color:#fff;font-size:24px;font-weight:700}.enterprise-container .oee-subtitle{color:#9ca3af;font-size:12px;margin-top:16px;text-align:center}.enterprise-container .oee-trend{flex:1 1;min-height:0}.enterprise-container .oee-trend-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.enterprise-container .oee-legend{display:flex;font-size:12px;gap:12px}.enterprise-container .oee-chart-container{height:calc(100% - 48px);width:100%}.enterprise-container .oee-chart-svg{height:100%;width:100%}.enterprise-container .custom-tooltip{background-color:#111827f2;border:1px solid #374151;border-radius:6px;box-shadow:0 4px 6px #0000004d;padding:12px}.enterprise-container .tooltip-label{color:#f3f4f6;font-size:13px;font-weight:700;margin:0 0 8px}.enterprise-container .custom-tooltip p{font-size:12px;font-weight:500;margin:4px 0}.factory-overview-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.factory-overview-container .factory-overview-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.factory-overview-container .factory-overview-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.factory-overview-container .factory-overview-subtitle{color:#d1d5db;font-size:12px;margin:0}.factory-overview-container .factory-overview-update{text-align:right}.factory-overview-container .update-label-container{align-items:center;display:flex;gap:1px;justify-content:flex-end}.factory-overview-container .update-label{color:#9ca3af;font-size:12px;transition:color .2s}.factory-overview-container .update-label.refreshing{color:#3b82f6}.factory-overview-container .update-time{color:#fff;font-size:14px;font-weight:700}.factory-overview-container .factory-details-grid{-ms-overflow-style:none;display:flex;flex:1 1;flex-direction:column;gap:3px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.factory-overview-container .factory-details-grid::-webkit-scrollbar{display:none}.factory-overview-container .factory-detail-card{background-color:#21252b;border:1px solid #1b1d20;cursor:pointer;flex-shrink:0;padding:16px;transition:all .3s ease}.factory-overview-container .factory-detail-card:hover{background-color:#3b82f61a;border-color:#3b82f666;box-shadow:0 4px 12px #0006;transform:translateY(-2px)}.factory-overview-container .factory-detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:3fr 6fr 3fr;height:100%}.factory-overview-container .factory-info-section{display:flex;flex-direction:column;gap:4px}.factory-overview-container .factory-info-grid{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:1fr 1fr}.factory-overview-container .factory-name-area{align-items:center;display:flex;flex-direction:column;justify-content:center}.factory-overview-container .factory-title{color:#fff;font-size:18px;font-weight:700;margin-bottom:4px}.factory-overview-container .factory-subtitle{color:#9ca3af;font-size:14px;margin-bottom:16px}.factory-overview-container .factory-3d-image{align-items:center;display:flex;height:150px;justify-content:center;width:100%}.factory-overview-container .factory-3d-image svg{filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));height:150px;object-fit:contain;width:100%}.factory-overview-container .factory-donut-area{align-items:center;display:flex;flex-direction:column;justify-content:center}.factory-overview-container .section-title{color:#fff;font-size:14px;font-weight:500;margin-bottom:16px}.factory-overview-container .donut-chart-wrapper{height:128px;margin-bottom:16px;position:relative;width:128px}.factory-overview-container .donut-svg{height:100%;width:100%}.factory-overview-container .donut-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.factory-overview-container .donut-percentage{color:#22c55e;font-size:20px;font-weight:700}.factory-overview-container .donut-label{color:#9ca3af;font-size:12px}.factory-overview-container .donut-legend-area{align-items:center;display:flex;gap:8px}.factory-overview-container .donut-legend-item{align-items:center;display:flex;gap:4px}.factory-overview-container .legend-color{height:8px;width:8px}.factory-overview-container .legend-count{color:#fff;font-size:12px;font-weight:500}.factory-overview-container .factory-metrics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.factory-overview-container .metric-item{text-align:center}.factory-overview-container .metric-label{color:#9ca3af;font-size:12px}.factory-overview-container .metric-value{color:#fff;font-size:18px;font-weight:700;margin-top:4px}.factory-overview-container .green-text{color:#22c55e}.factory-overview-container .yellow-text{color:#fbbf24}.factory-overview-container .red-text{color:#ef4444}.factory-overview-container .factory-environment-section{margin-top:12px}.factory-overview-container .factory-environment-section .environment-divider{background-color:#4b556380;height:1px;margin-bottom:12px}.factory-overview-container .environment-metrics-grid{display:flex;gap:16px;justify-content:flex-end;padding-right:16px}.factory-overview-container .env-metric-item{align-items:center;display:flex;gap:6px}.factory-overview-container .env-metric-item .env-icon{font-size:18px}.factory-overview-container .env-metric-item .env-icon.temperature{color:#ef4444}.factory-overview-container .env-metric-item .env-icon.humidity{color:#3b82f6}.factory-overview-container .env-metric-item .env-icon.air-quality{color:#22c55e}.factory-overview-container .env-metric-item .env-value{color:#d1d5db;font-size:14px;font-weight:500}.factory-overview-container .machines-section{display:flex;flex-direction:column;min-height:0}.factory-overview-container .machines-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:328px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9ca3af4d #0000;scrollbar-width:thin}.factory-overview-container .machines-grid::-webkit-scrollbar{width:6px}.factory-overview-container .machines-grid::-webkit-scrollbar-track{background:#0000}.factory-overview-container .machines-grid::-webkit-scrollbar-thumb{background-color:#9ca3af4d;border-radius:3px}.factory-overview-container .machines-grid::-webkit-scrollbar-thumb:hover{background-color:#9ca3af80}.factory-overview-container .machine-card{background-color:#3741514d;border:1px solid #4b55634d;padding:8px;transition:all .2s ease}.factory-overview-container .machine-card:hover{background-color:#3b82f61a;border-color:#3b82f666;box-shadow:0 2px 8px #0000004d;transform:translateY(-2px)}.factory-overview-container .machine-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.factory-overview-container .machine-name{color:#fff;font-size:16px;font-weight:500}.factory-overview-container .machine-alarm{align-items:center;display:flex;gap:4px}.factory-overview-container .alarm-icon{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;color:#ef4444;font-size:16px}.factory-overview-container .alarm-badge{align-items:center;background-color:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.factory-overview-container .machine-status{align-items:center;display:flex;gap:8px;margin-bottom:8px}.factory-overview-container .status-dot{border-radius:50%;height:8px;width:8px}.factory-overview-container .status-bg-running{background-color:#22c55e}.factory-overview-container .status-bg-idle{background-color:#fbbf24}.factory-overview-container .status-bg-stopped{background-color:#ef4444}.factory-overview-container .status-dot.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.factory-overview-container .status-text{font-size:12px}.factory-overview-container .status-running{color:#22c55e}.factory-overview-container .status-idle{color:#fbbf24}.factory-overview-container .status-stopped{color:#ef4444}.factory-overview-container .machine-info-grid{grid-gap:4px;display:grid;font-size:12px;gap:4px;grid-template-columns:1fr 1fr;margin-bottom:8px}.factory-overview-container .machine-info-grid:last-child{margin-bottom:0}.factory-overview-container .info-item{text-align:center}.factory-overview-container .info-label{color:#9ca3af;font-size:11px;margin-bottom:4px}.factory-overview-container .info-value{color:#fff;font-size:12px;font-weight:500}.factory-overview-container .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.factory-overview-container .alarms-section{display:flex;flex-direction:column}.factory-overview-container .alarms-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.factory-overview-container .alarm-summary{align-items:center;display:flex;font-size:12px;gap:12px}.factory-overview-container .alarm-count{align-items:center;display:flex;gap:4px}.factory-overview-container .count-dot{height:8px;width:8px}.factory-overview-container .critical-dot,.factory-overview-container .error-dot{background-color:#ef4444}.factory-overview-container .warning-dot{background-color:#fbbf24}.factory-overview-container .info-dot{background-color:#3b82f6}.factory-overview-container .critical-count,.factory-overview-container .error-count{color:#ef4444}.factory-overview-container .warning-count{color:#fbbf24}.factory-overview-container .info-count{color:#3b82f6}.factory-overview-container .alarms-list{display:flex;flex-direction:column;gap:8px;max-height:250px;min-height:250px;overflow-x:hidden;overflow-y:auto;scrollbar-color:#9ca3af4d #0000;scrollbar-width:thin}.factory-overview-container .alarms-list::-webkit-scrollbar{width:6px}.factory-overview-container .alarms-list::-webkit-scrollbar-track{background:#0000}.factory-overview-container .alarms-list::-webkit-scrollbar-thumb{background-color:#9ca3af4d;border-radius:3px}.factory-overview-container .alarms-list::-webkit-scrollbar-thumb:hover{background-color:#9ca3af80}.factory-overview-container .no-alarms-message{align-items:center;color:#9ca3af;display:flex;flex-direction:column;font-size:14px;gap:8px;height:100%;justify-content:center;min-height:200px}.factory-overview-container .no-alarms-message .material-symbols-outlined{color:#22c55e;font-size:48px}.factory-overview-container .alarm-item{border:1px solid;padding:8px;transition:all .2s ease}.factory-overview-container .alarm-item:hover{opacity:.8;transform:translateX(4px)}.factory-overview-container .severity-critical,.factory-overview-container .severity-error{background-color:#ef444433;border-color:#ef44444d}.factory-overview-container .severity-warning{background-color:#fbbf2433;border-color:#fbbf244d}.factory-overview-container .severity-info{background-color:#3b82f633;border-color:#3b82f64d}.factory-overview-container .severity-default{background-color:#6b728033;border-color:#6b72804d}.factory-overview-container .alarm-item-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.factory-overview-container .alarm-severity-icon{font-size:16px}.factory-overview-container .severity-critical .alarm-severity-icon,.factory-overview-container .severity-error .alarm-severity-icon{color:#ef4444}.factory-overview-container .severity-warning .alarm-severity-icon{color:#fbbf24}.factory-overview-container .severity-info .alarm-severity-icon{color:#3b82f6}.factory-overview-container .alarm-id{color:#9ca3af;font-family:monospace;font-size:12px}.factory-overview-container .alarm-machine{color:#fff;font-size:12px;font-weight:500}.factory-overview-container .alarm-message{font-size:12px;margin-bottom:4px}.factory-overview-container .severity-critical .alarm-message,.factory-overview-container .severity-error .alarm-message{color:#ef4444}.factory-overview-container .severity-warning .alarm-message{color:#fbbf24}.factory-overview-container .severity-info .alarm-message{color:#3b82f6}.factory-overview-container .alarm-time{color:#9ca3af;font-size:12px}.factory-overview-container .alarms-footer{grid-gap:8px;border-top:1px solid #4b55634d;display:grid;font-size:12px;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:12px;padding-top:8px;text-align:center}.factory-overview-container .alarm-stat{display:flex;flex-direction:column}.factory-overview-container .stat-value{color:#fff;font-weight:700}.factory-overview-container .error-text{color:#ef4444}.factory-overview-container .warning-text{color:#fbbf24}.factory-overview-container .info-text{color:#3b82f6}.factory-overview-container .stat-label{color:#9ca3af}.factory-overview-container .refresh-icon{color:#9ca3af;font-size:14px;line-height:1;transition:color .2s}.factory-overview-container .refresh-icon.spinning{animation:spin 1s linear infinite;color:#3b82f6}.factory-container{background:#0b0c0e;height:100%;overflow:hidden;padding:4px}.factory-content{display:flex;flex-direction:column;height:100%;max-width:none}.factory-container .enterprise-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.factory-container .enterprise-header-left,.factory-container .factory-info-main{display:flex;flex-direction:column}.factory-container .enterprise-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.factory-container .factory-location{color:#d1d5db;font-size:12px;margin:0}.factory-container .factory-dropdown-wrapper{margin-bottom:4px;position:relative}.factory-container .factory-dropdown-trigger{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:8px;padding:0;transition:opacity .2s}.factory-container .factory-dropdown-trigger:hover{opacity:.8}.factory-container .dropdown-icon{color:#9ca3af;font-size:24px}.factory-container .factory-dropdown-menu{background-color:#2d3139;border:1px solid #3f4550;border-radius:4px;box-shadow:0 4px 12px #0000004d;left:0;margin-top:8px;max-height:300px;min-width:350px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.factory-container .factory-dropdown-item{border-bottom:1px solid #3f4550;cursor:pointer;padding:12px 16px;transition:background-color .2s}.factory-container .factory-dropdown-item:last-child{border-bottom:none}.factory-container .factory-dropdown-item:hover{background-color:#363a45}.factory-container .factory-dropdown-item.active{background-color:#3b82f626}.factory-container .dropdown-item-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.factory-container .dropdown-item-location{color:#9ca3af;font-size:11px}.factory-container .factory-info-details{display:flex;gap:24px}.factory-container .factory-info-item{align-items:center;display:flex;gap:8px}.factory-container .factory-info-label{color:#6b7280;font-size:11px}.factory-container .factory-info-value{color:#d1d5db;font-size:12px;font-weight:500}.factory-container .enterprise-subtitle{color:#d1d5db;font-size:12px;margin:0}.factory-container .enterprise-header-right{text-align:right}.factory-container .update-label-container{align-items:center;display:flex;gap:1px;justify-content:flex-end}.factory-container .update-label{color:#9ca3af;font-size:12px;transition:color .2s}.factory-container .update-label.refreshing{color:#3b82f6}.factory-container .update-time{color:#fff;font-size:14px;font-weight:700}.factory-container .refresh-icon{color:#9ca3af;font-size:14px;line-height:1;transition:color .2s}.factory-container .refresh-icon.spinning{animation:spin 1s linear infinite;color:#3b82f6}.factory-container .factory-kpi-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr);margin-bottom:3px}.factory-container .factory-kpi-card{background-color:#21252b;border:1px solid #1b1d20;height:100px;padding:12px}.factory-container .factory-kpi-card .kpi-content{align-items:center;display:flex;height:100%;justify-content:space-between}.factory-container .factory-kpi-card .kpi-info{display:flex;flex-direction:column}.factory-container .factory-kpi-card .kpi-label{color:#9ca3af;font-size:12px;margin-bottom:6px}.factory-container .factory-kpi-card .kpi-value{font-size:20px;font-weight:700;margin-bottom:3px}.factory-container .factory-kpi-card .kpi-value.blue{color:#60a5fa}.factory-container .factory-kpi-card .kpi-value.white{color:#fff}.factory-container .factory-kpi-card .kpi-value.green{color:#22c55e}.factory-container .factory-kpi-card .kpi-value.yellow{color:#fbbf24}.factory-container .factory-kpi-card .kpi-value.orange{color:#fb923c}.factory-container .factory-kpi-card .kpi-value.red{color:#ef4444}.factory-container .factory-kpi-card .kpi-unit{color:#d1d5db;font-size:11px}.factory-container .factory-kpi-card .kpi-unit.green{color:#22c55e}.factory-container .factory-kpi-card .kpi-icon{align-items:center;display:flex;height:32px;justify-content:center;width:32px}.factory-container .factory-kpi-card .kpi-icon.blue{color:#60a5fa}.factory-container .factory-kpi-card .kpi-icon.green{color:#22c55e}.factory-container .factory-kpi-card .kpi-icon.yellow{color:#fbbf24}.factory-container .factory-kpi-card .kpi-icon.orange{color:#fb923c}.factory-container .factory-kpi-card .kpi-icon.red{color:#ef4444}.factory-container .factory-kpi-card .kpi-icon .material-symbols-outlined{font-size:28px}.factory-container .factory-bottom-grid{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:repeat(2,1fr);min-height:0}.factory-container .factory-panel{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;min-height:0;padding:12px}.factory-container .panel-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:12px}.factory-container .panel-title{color:#fff;font-size:18px;font-weight:600}.factory-container .factory-detail-btn{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:background-color .2s}.factory-container .factory-detail-btn:hover{background-color:#2563eb}.factory-container .line-list{display:flex;flex:1 1;flex-direction:column;gap:3px;min-height:0;overflow-x:hidden;overflow-y:auto}.factory-container .line-item{background-color:#3741514d;border:1px solid #4b55634d;cursor:pointer;padding:12px;transition:all .3s ease}.factory-container .line-item:hover{background-color:#3b82f61a;border-color:#3b82f666;transform:translateX(4px)}.factory-container .line-content{align-items:center;display:flex;justify-content:space-between}.factory-container .line-details{flex:1 1;margin-left:16px}.factory-container .line-name{color:#fff;font-size:16px;font-weight:500;margin-bottom:8px}.factory-container .line-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:12px;text-align:center}.factory-container .stat-item{display:flex;flex-direction:column}.factory-container .stat-label{color:#9ca3af;font-size:12px;margin-bottom:2px}.factory-container .stat-value{color:#fff;font-size:18px;font-weight:700}.factory-container .stat-value-green{color:#4ade80}.factory-container .stat-value-cyan{color:#22d3ee}.factory-container .donut-chart-container{align-items:center;display:flex;flex-direction:column;width:100px}.factory-container .donut-chart-wrapper{height:100px;margin-bottom:8px;position:relative;width:100%}.factory-container .donut-chart-legend{display:flex;flex-direction:column;font-size:12px;gap:2px;text-align:center}.factory-container .legend-item{align-items:center;color:#9ca3af;display:flex;gap:4px;justify-content:center}.factory-container .legend-running{color:#4ade80}.factory-container .legend-idle{color:#fbbf24}.factory-container .legend-stopped{color:#f87171}.factory-container .legend-box{height:8px;width:8px}.factory-container .legend-box-running{background:#22c55e}.factory-container .legend-box-idle{background:#fbbf24}.factory-container .legend-box-stopped{background:#ef4444}.factory-container .alarm-timeline-container{margin-top:12px}.factory-container .alarm-timeline-title{color:#9ca3af;font-size:12px;margin-bottom:8px}.factory-container .timeline-wrapper-custom{position:relative}.factory-container .timeline-bar-background{background:#374151;border-radius:2px;height:12px;margin-bottom:8px;position:relative}.factory-container .timeline-marker{height:12px;position:absolute;top:0;transform:translateX(-50%)}.factory-container .timeline-marker-alarm{background:#ef4444;width:3px}.factory-container .timeline-marker-current{background:#fbbf24;width:4px}.factory-container .timeline-labels{color:#6b7280;display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.factory-container .timeline-legend{align-items:center;display:flex;font-size:12px;gap:16px;justify-content:center;margin-top:8px}.factory-container .timeline-legend-item{align-items:center;color:#9ca3af;display:flex;gap:4px}.factory-container .timeline-legend-box{height:8px;width:8px}.factory-container .timeline-legend-current{background:#fbbf24}.factory-container .timeline-legend-alarm{background:#ef4444}.factory-container .alarm-header-actions{align-items:center;display:flex;gap:12px}.factory-container .active-alarms{align-items:center;display:flex;gap:8px}.factory-container .alarm-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background:#ef4444;height:8px;width:8px}.factory-container .alarm-count{color:#f87171;font-size:12px;font-weight:500}.factory-container .btn-view-all{background:none;border:none;color:#60a5fa;cursor:pointer;font-size:12px;transition:color .2s}.factory-container .btn-view-all:hover{color:#93c5fd}.factory-container .alarm-list{display:flex;flex:1 1;flex-direction:column;gap:3px;min-height:0;overflow-x:hidden;overflow-y:auto}.factory-container .alarm-item{border:1px solid;cursor:pointer;padding:8px;transition:all .2s ease}.factory-container .alarm-item:hover{opacity:.8;transform:translateX(4px)}.factory-container .severity-critical,.factory-container .severity-error{background-color:#ef444433;border-color:#ef44444d}.factory-container .severity-warning{background-color:#fbbf2433;border-color:#fbbf244d}.factory-container .severity-info{background-color:#3b82f633;border-color:#3b82f64d}.factory-container .severity-default{background-color:#6b728033;border-color:#6b72804d}.factory-container .alarm-item-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.factory-container .alarm-severity-icon{font-size:16px}.factory-container .severity-critical .alarm-severity-icon,.factory-container .severity-error .alarm-severity-icon{color:#ef4444}.factory-container .severity-warning .alarm-severity-icon{color:#fbbf24}.factory-container .severity-info .alarm-severity-icon{color:#3b82f6}.factory-container .alarm-id{color:#9ca3af;font-family:monospace;font-size:12px}.factory-container .alarm-machine{color:#fff;font-size:12px;font-weight:500}.factory-container .alarm-message{font-size:12px;margin-bottom:4px}.factory-container .severity-critical .alarm-message,.factory-container .severity-error .alarm-message{color:#ef4444}.factory-container .severity-warning .alarm-message{color:#fbbf24}.factory-container .severity-info .alarm-message{color:#3b82f6}.factory-container .alarm-time{color:#9ca3af;font-size:12px}.factory-container .no-alarms-message{align-items:center;color:#9ca3af;display:flex;font-size:14px;gap:8px;justify-content:center;padding:24px}.factory-container .no-alarms-message .material-symbols-outlined{color:#22c55e;font-size:20px}.factory-container .alarm-summary{grid-gap:16px;border-top:1px solid #4b556380;display:grid;flex-shrink:0;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:auto;padding-top:12px;text-align:center}.factory-container .summary-item{display:flex;flex-direction:column}.factory-container .summary-value{font-size:14px;font-weight:700}.factory-container .summary-value-critical{color:#ef4444}.factory-container .summary-value-warning{color:#fbbf24}.factory-container .summary-value-info{color:#3b82f6}.factory-container .summary-label{color:#9ca3af;font-size:12px}.factory-container .alarm-list::-webkit-scrollbar,.factory-container .line-list::-webkit-scrollbar{width:6px}.factory-container .alarm-list::-webkit-scrollbar-track,.factory-container .line-list::-webkit-scrollbar-track{background:#1f2937}.factory-container .alarm-list::-webkit-scrollbar-thumb,.factory-container .line-list::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.factory-container .alarm-list::-webkit-scrollbar-thumb:hover,.factory-container .line-list::-webkit-scrollbar-thumb:hover{background:#6b7280}.factory-container .factory-right-column{display:flex;flex-direction:column;gap:3px;min-height:0}.factory-container .environment-panel{background-color:#21252b;border:1px solid #1b1d20;padding:12px 16px}.factory-container .environment-grid{display:flex;gap:16px;justify-content:space-between}.factory-container .env-item{align-items:center;display:flex;gap:8px}.factory-container .env-icon{font-size:22px}.factory-container .env-icon.temp{color:#ef4444}.factory-container .env-icon.humidity{color:#3b82f6}.factory-container .env-icon.air{color:#22c55e}.factory-container .env-icon.co2{color:#a855f7}.factory-container .env-icon.noise{color:#f59e0b}.factory-container .env-info{display:flex;flex-direction:column}.factory-container .env-label{color:#9ca3af;font-size:11px}.factory-container .env-value{color:#e5e7eb;font-size:14px;font-weight:600}.factory-container .env-value.green{color:#22c55e}.factory-container .env-value.yellow{color:#fbbf24}.factory-container .env-value.red{color:#ef4444}.factory-container .alarm-panel{display:flex;flex:1 1;flex-direction:column;min-height:0}.machine-overview-container{background-color:#0b0c0e;min-height:100%;padding:4px}.machine-overview-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.machine-overview-header-left{align-items:center;display:flex;gap:16px}.machine-overview-container .factory-dropdown-wrapper{position:relative}.machine-overview-container .factory-dropdown-trigger{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:8px;padding:0;transition:opacity .2s}.machine-overview-container .factory-dropdown-trigger:hover{opacity:.8}.machine-overview-container .dropdown-factory-name{color:#60a5fa;font-size:16px;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-overview-container .dropdown-icon{color:#9ca3af;flex-shrink:0;font-size:24px;margin-left:4px}.machine-overview-container .factory-dropdown-menu{background-color:#2d3139;border:1px solid #3f4550;border-radius:4px;box-shadow:0 4px 12px #0000004d;left:0;margin-top:8px;max-height:300px;min-width:350px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.machine-overview-container .factory-dropdown-item{border-bottom:1px solid #3f4550;cursor:pointer;padding:12px 16px;transition:background-color .2s}.machine-overview-container .factory-dropdown-item:last-child{border-bottom:none}.machine-overview-container .factory-dropdown-item:hover{background-color:#363a45}.machine-overview-container .factory-dropdown-item.active{background-color:#3b82f626}.machine-overview-container .dropdown-item-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.machine-overview-container .dropdown-item-location{color:#9ca3af;font-size:11px}.machine-overview-container .header-divider{background-color:#3f4550;height:40px;margin:0 8px;width:1px}.machine-overview-container .line-dropdown-wrapper{position:relative}.machine-overview-container .line-dropdown-trigger{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:8px;padding:0;transition:opacity .2s}.machine-overview-container .line-dropdown-trigger:hover{opacity:.8}.machine-overview-container .dropdown-line-name{color:#60a5fa;font-size:16px;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-overview-container .line-dropdown-menu{background-color:#2d3139;border:1px solid #3f4550;border-radius:4px;box-shadow:0 4px 12px #0000004d;left:0;margin-top:8px;max-height:300px;min-width:250px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.machine-overview-container .line-dropdown-item{border-bottom:1px solid #3f4550;cursor:pointer;padding:12px 16px;transition:background-color .2s}.machine-overview-container .line-dropdown-item:last-child{border-bottom:none}.machine-overview-container .line-dropdown-item:hover{background-color:#363a45}.machine-overview-container .line-dropdown-item.active{background-color:#3b82f626}.machine-overview-container .line-dropdown-item .dropdown-item-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.machine-overview-container .header-info-row{display:flex;flex-direction:column}.machine-overview-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.machine-overview-subtitle{color:#d1d5db;font-size:12px;margin:0}.machine-overview-header-right{text-align:right}.machine-overview-container .update-label-container{align-items:center;display:flex;gap:1px;justify-content:flex-end}.machine-overview-container .update-label{color:#9ca3af;font-size:12px;transition:color .2s}.machine-overview-container .update-label.refreshing{color:#3b82f6}.machine-overview-container .refresh-icon{color:#9ca3af;font-size:14px;line-height:1;transition:color .2s}.machine-overview-container .refresh-icon.spinning{animation:spin 1s linear infinite;color:#3b82f6}.machine-overview-container .update-time{color:#fff;font-size:14px;font-weight:700}.machine-overview-container .machines-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(4,1fr)}.machine-overview-container .machine-card{background-color:#21252b;border:1px solid #1b1d20;cursor:pointer;padding:16px;transition:border-color .2s}.machine-overview-container .machine-card:hover{border-color:#9ca3af4d}.machine-overview-container .machine-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.machine-overview-container .machine-header-left{display:flex;flex-direction:column}.machine-overview-container .machine-name-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.machine-overview-container .machine-name{color:#fff;font-size:16px;font-weight:500;margin:0}.machine-overview-container .alarm-indicator{display:inline-block;position:relative}.machine-overview-container .warning-light{align-items:center;display:flex;flex-direction:column;gap:1px}.machine-overview-container .warning-light-top{border-radius:6px 6px 0 0;height:8px;position:relative;width:12px}.machine-overview-container .warning-light-base{border-radius:0 0 2px 2px;height:4px;width:14px}.machine-overview-container .warning-light-active .warning-light-top{animation:pulse-glow 1.5s cubic-bezier(.4,0,.6,1) infinite;background-color:#ef4444;box-shadow:0 0 8px #ef4444}.machine-overview-container .warning-light-active .warning-light-base{background-color:#991b1b}.machine-overview-container .warning-light-inactive .warning-light-top{background-color:#374151}.machine-overview-container .warning-light-inactive .warning-light-base{background-color:#1f2937}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #ef4444;opacity:1}50%{box-shadow:0 0 4px #ef4444;opacity:.6}}.machine-overview-container .alarm-badge{align-items:center;background-color:#ef4444;border-radius:2px;color:#fff;display:flex;font-size:9px;font-weight:700;height:14px;justify-content:center;left:14px;line-height:1;min-width:14px;padding:0 3px;position:absolute;top:-14px}.machine-overview-container .machine-status{align-items:center;display:flex;gap:6px}.machine-overview-container .status-dot{border-radius:50%;height:10px;width:10px}.machine-overview-container .status-dot-running{background-color:#22c55e}.machine-overview-container .status-dot-idle{background-color:#fbbf24}.machine-overview-container .status-dot-stopped{background-color:#ef4444}.machine-overview-container .status-dot.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.machine-overview-container .status-text{font-size:13px;font-weight:500}.machine-overview-container .status-running{color:#22c55e}.machine-overview-container .status-idle{color:#fbbf24}.machine-overview-container .status-stopped{color:#ef4444}.machine-overview-container .machine-utilization{align-items:center;display:flex;flex-direction:column}.machine-overview-container .half-donut-container{align-items:center;display:flex;justify-content:center;position:relative}.machine-overview-container .half-donut-svg{overflow:visible}.machine-overview-container .half-donut-progress{transition:stroke-dasharray 1s ease-in-out}.machine-overview-container .half-donut-label{bottom:2px;left:50%;position:absolute;text-align:center;transform:translateX(-50%)}.machine-overview-container .half-donut-value{color:#fff;font-size:12px;font-weight:700}.machine-overview-container .utilization-label{color:#9ca3af;font-size:11px;margin-top:4px}.machine-overview-container .machine-info-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:12px}.machine-overview-container .info-box{background-color:#3741514d;border-radius:4px;padding:8px;text-align:center}.machine-overview-container .info-label{color:#9ca3af;font-size:11px;margin-bottom:4px}.machine-overview-container .info-value{color:#fff;font-size:12px;font-weight:500}.machine-overview-container .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-overview-container .machine-timeline-section{border-top:1px solid #6b72804d;padding-top:12px}.machine-overview-container .timeline-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.machine-overview-container .timeline-title{color:#9ca3af;font-size:11px}.machine-overview-container .timeline-legend-mini{align-items:center;display:flex;gap:12px}.machine-overview-container .legend-item-mini{align-items:center;color:#9ca3af;display:flex;font-size:11px;gap:4px}.machine-overview-container .legend-dot-mini{border-radius:50%;height:6px;width:6px}.machine-overview-container .legend-dot-green{background-color:#22c55e}.machine-overview-container .legend-dot-yellow{background-color:#fbbf24}.machine-overview-container .legend-dot-red{background-color:#ef4444}.machine-overview-container .operation-timeline{background-color:#374151;border-radius:2px;display:flex;height:12px;overflow:hidden;width:100%}.machine-overview-container .timeline-segment{flex:1 1}.machine-overview-container .timeline-segment-running{background-color:#22c55e}.machine-overview-container .timeline-segment-idle{background-color:#fbbf24}.machine-overview-container .timeline-segment-stopped{background-color:#ef4444}.machine-overview-container .legend-footer{align-items:center;display:flex;gap:32px;justify-content:center;margin-top:4px;padding:12px}.machine-overview-container .legend-item-footer{align-items:center;color:#d1d5db;display:flex;font-size:13px;gap:8px}.machine-overview-container .legend-dot-footer{border-radius:50%;height:10px;width:10px}.machine-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.machine-container .machine-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.machine-container .machine-header-left{align-items:center;display:flex;gap:16px}.machine-container .machine-header-info{display:flex;flex-direction:column}.machine-container .machine-dropdown-wrapper{margin-bottom:4px;position:relative}.machine-container .machine-dropdown-trigger{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:8px;padding:0;transition:opacity .2s}.machine-container .machine-dropdown-trigger:hover{opacity:.8}.machine-container .dropdown-icon{color:#9ca3af;font-size:24px}.machine-container .machine-dropdown-menu{background-color:#2d3139;border:1px solid #3f4550;border-radius:4px;box-shadow:0 4px 12px #0000004d;left:0;margin-top:8px;max-height:300px;min-width:350px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.machine-container .machine-dropdown-menu::-webkit-scrollbar{width:6px}.machine-container .machine-dropdown-menu::-webkit-scrollbar-track{background:#1f2937}.machine-container .machine-dropdown-menu::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.machine-container .machine-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#6b7280}.machine-container .machine-dropdown-item{border-bottom:1px solid #3f4550;cursor:pointer;padding:12px 16px;transition:background-color .2s}.machine-container .machine-dropdown-item:last-child{border-bottom:none}.machine-container .machine-dropdown-item:hover{background-color:#363a45}.machine-container .machine-dropdown-item.active{background-color:#3b82f626}.machine-container .dropdown-item-name{color:#fff;font-size:14px;font-weight:600;margin-bottom:4px}.machine-container .dropdown-item-model{color:#9ca3af;font-size:11px}.machine-container .header-divider{background-color:#3f4550;height:40px;margin:0 8px;width:1px}.machine-container .factory-name{color:#60a5fa;font-size:16px;font-weight:600}.machine-container .machine-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.machine-container .machine-subtitle{color:#d1d5db;font-size:12px;margin:0}.machine-container .machine-header-right{text-align:right}.machine-container .update-label-container{align-items:center;display:flex;gap:1px;justify-content:flex-end}.machine-container .update-label{color:#9ca3af;font-size:12px;transition:color .2s}.machine-container .update-label.refreshing{color:#3b82f6}.machine-container .update-time{color:#fff;font-size:14px;font-weight:700}.machine-container .refresh-icon{color:#9ca3af;font-size:14px;line-height:1;transition:color .2s}.machine-container .refresh-icon.spinning{animation:spin 1s linear infinite;color:#3b82f6}.machine-container .machine-tabs{display:flex;gap:3px;margin-bottom:3px}.machine-container .tab-item{align-items:center;background-color:#3c3d37;border:1px solid #1b1d20;border-radius:0;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:500;gap:6px;height:35px;justify-content:center;padding:0 16px;transition:all .2s;width:150px}.machine-container .tab-icon{font-size:18px;transition:opacity .2s}.machine-container .tab-item:hover{background-color:#4a4b44}.machine-container .tab-item:hover .tab-icon{opacity:.8}.machine-container .tab-item.active{background-color:#21252b;border-color:#3b82f6;color:#fff}.machine-container .tab-item.active .tab-icon{opacity:1}.machine-container .machine-content{flex:1 1;overflow-x:hidden;overflow-y:auto}.machine-container .dashboard-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);height:100%;padding:0}.machine-container .dashboard-card{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;justify-content:center;min-height:200px;padding:16px}.machine-container .card-placeholder{color:#9ca3af;font-size:14px}.machine-container .overview-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:100%;padding:0}.machine-container .overview-card{overflow:hidden}.machine-container .overview-card,.machine-container .overview-card-wide{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;min-height:200px;padding:16px}.machine-container .overview-card-wide{grid-column:1/4}.machine-container .overview-section{display:flex;flex-direction:column;height:100%;width:100%}.machine-container .section-title{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.machine-container .info-list{grid-gap:4px;align-content:stretch;display:grid;flex:1 1;gap:4px;grid-auto-rows:1fr;grid-template-columns:repeat(2,1fr);height:100%}.machine-container .info-item{align-items:center;background-color:#3741514d;border:1px solid #4b55634d;border-radius:4px;display:flex;flex-direction:row;gap:8px;justify-content:space-between;min-height:0;padding:8px 12px}.machine-container .info-label{color:#9ca3af;font-size:13px}.machine-container .info-value{color:#fff;font-size:14px;font-weight:600}.machine-container .info-unit{color:#60a5fa;font-size:12px;font-weight:400;margin-left:4px}.machine-container .heater-grid{grid-gap:8px;display:grid;flex:1 1;gap:8px;grid-template-columns:repeat(5,1fr)}.machine-container .heater-zone{background-color:#3741514d;border:1px solid #4b55634d;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;padding:20px 12px 12px}.machine-container .heater-info{align-items:center;display:flex;flex-direction:row;justify-content:space-between}.machine-container .heater-label{color:#9ca3af;font-size:13px}.machine-container .heater-value{color:#fff;font-size:14px;font-weight:600}.machine-container .heater-unit{color:#60a5fa;font-size:12px;font-weight:400;margin-left:4px}.machine-container .heater-chart{border-radius:4px;height:80px;margin-top:auto;overflow:hidden;width:100%}.machine-container .cycle-container{display:flex;flex-direction:column;gap:3px;height:100%}.machine-container .cycle-top-area{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:35px;padding:0 16px}.machine-container .cycle-controls{align-items:center;display:flex;gap:20px}.machine-container .chart-select-wrapper{align-items:center;display:flex;gap:8px}.machine-container .control-label{color:#9ca3af;font-size:13px;white-space:nowrap}.machine-container .chart-select{background-color:#21252b;border:1px solid #4b556380;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;outline:none;padding:4px 8px}.machine-container .chart-select:hover{border-color:#4b5563cc}.machine-container .checkbox-wrapper{align-items:center;display:flex;gap:6px}.machine-container .checkbox-wrapper input[type=checkbox]{accent-color:#60a5fa;cursor:pointer;height:16px;width:16px}.machine-container .checkbox-label{color:#9ca3af;cursor:pointer;font-size:13px;-webkit-user-select:none;user-select:none;white-space:nowrap}.machine-container .cycle-grid{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.machine-container .cycle-grid.single-chart{grid-template-columns:1fr;grid-template-rows:1fr}.machine-container .cycle-card{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;overflow:hidden;padding:16px 16px 3px}.machine-container .cycle-card-header{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.machine-container .cycle-card-chart{flex:1 1;min-height:0;position:relative}.machine-container .cycle-bottom-area{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;gap:12px;height:120px;padding:16px}.machine-container .cycle-stats-header{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;padding-bottom:8px}.machine-container .cycle-stats-content{display:flex;flex:1 1;gap:4px}.machine-container .cycle-stat-item{align-items:center;background-color:#3741514d;border:1px solid #4b55634d;border-radius:4px;display:flex;flex:1 1;flex-direction:row;gap:8px;justify-content:space-between;padding:8px 12px}.machine-container .cycle-stat-label{color:#9ca3af;font-size:13px}.machine-container .cycle-stat-value{color:#fff;font-size:14px;font-weight:600}.machine-container .cycle-stat-unit{color:#60a5fa;font-size:12px;font-weight:400;margin-left:4px}.machine-container .temp-tab-container{display:flex;flex-direction:column;height:100%}.machine-container .temp-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);height:100%}.machine-container .temp-card{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;overflow:hidden;padding:16px}.machine-container .temp-card-header{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.machine-container .temp-card-content{align-items:center;color:#9ca3af;display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:0}.machine-container .temp-card-chart{flex:1 1;min-height:0;position:relative}.machine-container .temp-zone-heater{grid-column:1/2;grid-row:1/3}.machine-container .temp-trend{grid-column:2/4;grid-row:1/3}.machine-container .temp-bottom-left{grid-column:1/2;grid-row:3/4}.machine-container .temp-deviation{grid-column:2/4;grid-row:3/4}.machine-container .zone-heater-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);height:100%;width:100%}.machine-container .zone-column{background-color:#3741514d;border:1px solid #4b55634d;border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.machine-container .zone-column-empty{background-color:initial}.machine-container .zone-column-header{background-color:#3b82f626;border-bottom:1px solid #4b556380;color:#fff;font-size:14px;font-weight:600;padding:12px 8px;text-align:center}.machine-container .zone-column-body{display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center;padding:16px 12px}.machine-container .zone-temp-row{align-items:center;display:flex;justify-content:space-between}.machine-container .zone-temp-label{color:#9ca3af;font-size:12px}.machine-container .zone-temp-current{color:#22c55e;font-size:16px;font-weight:700}.machine-container .zone-temp-set{color:#9ca3af;font-size:14px;font-weight:600}.machine-container .zone-temp-deviation{font-size:14px;font-weight:600}.machine-container .zone-temp-deviation.normal{color:#22c55e}.machine-container .zone-temp-deviation.warning{color:#f59e0b}.machine-container .zone-temp-deviation.error{color:#ef4444}.machine-container .zone-status{border-top:1px solid #4b556380;font-size:13px;font-weight:600;padding:10px 8px;text-align:center}.machine-container .zone-status.normal{background-color:#22c55e26;color:#22c55e}.machine-container .zone-status.warning{background-color:#f59e0b26;color:#f59e0b}.machine-container .zone-status.error{background-color:#ef444426;color:#ef4444}.machine-container .mold-temp-table{border-collapse:collapse;width:100%}.machine-container .mold-temp-table thead th{background-color:#3b82f626;border-bottom:1px solid #4b556380;color:#fff;font-size:13px;font-weight:600;padding:12px;text-align:left}.machine-container .mold-temp-table tbody td{border-bottom:1px solid #4b55634d;color:#d1d5db;font-size:14px;padding:12px}.machine-container .mold-temp-table tbody tr:last-child td{border-bottom:none}.machine-container .mold-temp-table tbody tr:hover{background-color:#3741514d}.machine-container .mold-temp-table tbody td:first-child{color:#9ca3af;font-weight:500}.machine-container .mold-temp-table tbody td:nth-child(2){color:#fff;font-weight:600}.machine-container .status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.machine-container .status-badge.normal{background-color:#22c55e26;color:#22c55e}.machine-container .status-badge.warning{background-color:#f59e0b26;color:#f59e0b}.machine-container .status-badge.error{background-color:#ef444426;color:#ef4444}.machine-container .drive-container{display:flex;flex-direction:column;height:100%}.machine-container .drive-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);height:100%}.machine-container .drive-card{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;overflow:hidden;padding:16px}.machine-container .drive-card-header{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.machine-container .drive-card-content{align-items:center;color:#9ca3af;display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:0}.machine-container .drive-card-chart{flex:1 1;min-height:0;position:relative}.machine-container .drive-card-1{grid-column:1/3;grid-row:1/2}.machine-container .drive-card-2{grid-column:3/5;grid-row:1/2}.machine-container .drive-card-3{grid-column:5/7;grid-row:1/2}.machine-container .drive-card-4{grid-column:1/4;grid-row:2/3}.machine-container .drive-card-5{grid-column:4/7;grid-row:2/3}.machine-container .drive-card-6{grid-column:1/7;grid-row:3/4}.machine-container .drive-card-7{grid-column:1/7;grid-row:4/5}.machine-container .drive-metrics{display:flex;flex-direction:column;gap:6px;height:100%;justify-content:space-between;width:100%}.machine-container .drive-metric-item{align-items:center;display:flex;gap:12px}.machine-container .drive-metric-label{color:#9ca3af;font-size:12px;font-weight:500;min-width:35px}.machine-container .drive-metric-value{color:#fff;font-size:16px;font-weight:700;min-width:100px}.machine-container .drive-unit{color:#60a5fa;font-size:12px;font-weight:500}.machine-container .drive-gauge-container{align-items:center;display:flex;flex:1 1;gap:8px}.machine-container .drive-gauge-bg{background-color:#37415180;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.machine-container .drive-gauge-fill{background:linear-gradient(90deg,#22c55e,#10b981);border-radius:6px;height:100%;transition:width .3s ease}.machine-container .drive-gauge-percent{color:#22c55e;font-size:11px;font-weight:600;min-width:42px;text-align:right}.machine-container .drive-status-row{align-items:center;border-top:1px solid #4b55634d;display:flex;gap:8px;padding-top:8px}.machine-container .drive-status-label{color:#9ca3af;font-size:12px;font-weight:500}.machine-container .drive-status-time{color:#fff;flex:1 1;font-size:14px;font-weight:600}.machine-container .drive-status-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px}.machine-container .drive-status-badge.running{background-color:#22c55e26;color:#22c55e}.machine-container .drive-status-badge.idle{background-color:#f59e0b26;color:#f59e0b}.machine-container .drive-status-badge.stopped{background-color:#ef444426;color:#ef4444}.machine-container .drive-history-table-container{height:100%;overflow-y:auto;padding:0 12px 12px}.machine-container .drive-history-table{border-collapse:collapse;font-size:12px;width:100%}.machine-container .drive-history-table thead{background-color:#1f2937;position:-webkit-sticky;position:sticky;top:0;z-index:1}.machine-container .drive-history-table th{border-bottom:1px solid #374151;color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.machine-container .drive-history-table td{border-bottom:1px solid #4b55634d;color:#e5e7eb;padding:10px 12px}.machine-container .drive-history-table tbody tr:hover{background-color:#3741514d}.machine-container .drive-history-table tbody tr:last-child td{border-bottom:none}.machine-container .alarm-container{display:flex;flex-direction:column;height:100%}.machine-container .alarm-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:.8fr 1.2fr;grid-template-rows:repeat(4,1fr);height:100%}.machine-container .alarm-card{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;overflow:hidden;padding:16px}.machine-container .alarm-card-header{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.machine-container .alarm-card-content{align-items:center;color:#9ca3af;display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:0}.machine-container .alarm-card-chart{flex:1 1;min-height:0;position:relative}.machine-container .alarm-card-1{grid-column:1/2;grid-row:1/2}.machine-container .alarm-card-2{grid-column:1/2;grid-row:2/5}.machine-container .alarm-card-3{grid-column:2/3;grid-row:1/3}.machine-container .alarm-card-4{grid-column:2/3;grid-row:3/5}.machine-container .alarm-summary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);height:100%;width:100%}.machine-container .alarm-summary-item{align-items:center;background-color:#1f293780;border-left:4px solid;border-radius:6px;display:flex;flex-direction:column;gap:4px;justify-content:center;overflow:hidden;position:relative}.machine-container .alarm-summary-item.critical{background:linear-gradient(135deg,#dc26261a,#1f293780);border-left-color:#dc2626}.machine-container .alarm-summary-item.warning{background:linear-gradient(135deg,#f59e0b1a,#1f293780);border-left-color:#f59e0b}.machine-container .alarm-summary-item.info{background:linear-gradient(135deg,#3b82f61a,#1f293780);border-left-color:#3b82f6}.machine-container .alarm-summary-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.machine-container .alarm-summary-count{color:#fff;font-size:32px;font-weight:700;line-height:1}.machine-container .alarm-summary-item.critical .alarm-summary-count{color:#fca5a5}.machine-container .alarm-summary-item.warning .alarm-summary-count{color:#fcd34d}.machine-container .alarm-summary-item.info .alarm-summary-count{color:#93c5fd}.machine-container .alarm-history-table-container{height:100%;overflow-x:hidden;overflow-y:auto;position:relative}.machine-container .alarm-history-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.machine-container .alarm-history-table thead{position:-webkit-sticky;position:sticky;top:0;z-index:100}.machine-container .alarm-history-table th{background-color:#1f2937;border-bottom:1px solid #374151;color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;position:relative;text-align:left;text-transform:uppercase}.machine-container .alarm-history-table tbody{position:relative;z-index:1}.machine-container .alarm-history-table td{background-color:#21252b;border-bottom:1px solid #4b55634d;color:#e5e7eb;padding:10px 12px}.machine-container .alarm-history-table tbody tr:hover,.machine-container .alarm-history-table tbody tr:hover td{background-color:#3741514d}.machine-container .alarm-history-table tbody tr:last-child td{border-bottom:none}.machine-container .alarm-history-table-container::-webkit-scrollbar{width:6px}.machine-container .alarm-history-table-container::-webkit-scrollbar-track{background:#1f2937}.machine-container .alarm-history-table-container::-webkit-scrollbar-thumb{background:#4b5563;border-radius:3px}.machine-container .alarm-history-table-container::-webkit-scrollbar-thumb:hover{background:#6b7280}.machine-container .severity-badge{border-radius:12px;font-size:10px;font-weight:600;padding:4px 10px;text-transform:uppercase}.machine-container .severity-badge.critical{background-color:#dc262626;color:#dc2626}.machine-container .severity-badge.high{background-color:#f59e0b26;color:#f59e0b}.machine-container .severity-badge.medium{background-color:#3b82f626;color:#3b82f6}.machine-container .severity-badge.low{background-color:#10b98126;color:#10b981}.machine-container .alarm-status-badge{border-radius:12px;display:inline-block;font-size:10px;font-weight:600;padding:4px 10px;white-space:nowrap}.machine-container .alarm-status-badge.active{background-color:#ef444426;color:#ef4444}.machine-container .alarm-status-badge.resolved{background-color:#22c55e26;color:#22c55e}.machine-container .alarm-confirm-badge{border-radius:12px;display:inline-block;font-size:10px;font-weight:600;padding:4px 10px;white-space:nowrap}.machine-container .alarm-confirm-badge.confirmed{background-color:#3b82f626;color:#3b82f6}.machine-container .alarm-confirm-badge.unconfirmed{background-color:#9ca3af26;color:#9ca3af}.machine-container .spc-container{display:flex;flex-direction:column;height:100%}.machine-container .spc-grid{grid-gap:3px;display:grid;flex:1 1;gap:3px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);min-height:0}.machine-container .spc-card{background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-direction:column;overflow:hidden;padding:16px}.machine-container .spc-card-header{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.machine-container .spc-card-content{align-items:center;color:#9ca3af;display:flex;flex:1 1;font-size:14px;justify-content:center;min-height:0}.machine-container .spc-card-chart{flex:1 1;min-height:0;position:relative}.machine-container .spc-left-area{display:flex;flex-direction:column;gap:3px;grid-column:1/3;grid-row:1/2}.machine-container .spc-card-12{flex:1 1;min-height:0}.machine-container .spc-card-45{grid-column:1/3;grid-row:2/3}.machine-container .spc-control-panel{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;gap:16px;justify-content:space-between;padding:8px 16px}.machine-container .spc-control-left{align-items:center;display:flex;gap:12px}.machine-container .spc-control-label{color:#9ca3af;font-size:13px;font-weight:500;white-space:nowrap}.machine-container .spc-measurement-select{background-color:#1a1c20;border:1px solid #3f4550;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;min-width:120px;padding:5px 10px;transition:border-color .2s,background-color .2s}.machine-container .spc-measurement-select:hover{background-color:#2a2e35;border-color:#4b5563}.machine-container .spc-measurement-select:focus{border-color:#3b82f6;outline:none}.machine-container .spc-control-right{align-items:center;display:flex;gap:12px}.machine-container .spc-spec-group{align-items:center;display:flex;gap:8px}.machine-container .spc-spec-label{color:#9ca3af;font-size:12px;font-weight:500;white-space:nowrap}.machine-container .spc-spec-box{background-color:#1a1c20;border:1px solid #3f4550;border-radius:4px;color:#fff;font-size:13px;font-weight:600;min-width:60px;padding:5px 12px;text-align:center}.machine-container .spc-spec-box.spc-spec-box-target{border-color:#10b981;color:#10b981}.machine-container .spc-card-3{grid-column:3/4;grid-row:1/2}.machine-container .spc-card-6{grid-column:3/4;grid-row:2/3}.machine-container .spc-stats-container{display:flex;flex-direction:column;gap:8px;height:100%;overflow:hidden;width:100%}.machine-container .spc-stats-section{display:flex;flex:1 1;flex-direction:column;gap:4px;min-height:0}.machine-container .spc-section-title{border-bottom:1px solid #4b55634d;color:#60a5fa;flex-shrink:0;font-size:12px;font-weight:600;padding-bottom:4px}.machine-container .spc-stats-grid{grid-gap:4px;display:grid;flex:1 1;gap:4px;grid-auto-rows:1fr;grid-template-columns:repeat(3,1fr);width:100%}.machine-container .spc-stat-item{background-color:#1f293780;border-left:3px solid #3b82f6;border-radius:4px;display:flex;flex-direction:column;gap:4px;justify-content:center;padding:8px 10px}.machine-container .spc-stat-item.full-width{grid-column:1/4}.machine-container .spc-stat-label{color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.machine-container .spc-stat-value{color:#e5e7eb;font-size:16px;font-weight:700}.machine-container .spc-anomaly-table-container{height:100%;overflow-y:auto;padding:0;width:100%}.machine-container .spc-anomaly-table{border-collapse:collapse;font-size:12px;width:100%}.machine-container .spc-anomaly-table thead{background-color:#1f2937;position:-webkit-sticky;position:sticky;top:0;z-index:1}.machine-container .spc-anomaly-table th{border-bottom:1px solid #374151;color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 12px;text-align:left;text-transform:uppercase}.machine-container .spc-anomaly-table td{border-bottom:1px solid #4b55634d;color:#e5e7eb;padding:10px 12px}.machine-container .spc-anomaly-table tbody tr:hover{background-color:#3741514d}.machine-container .spc-anomaly-table tbody tr:last-child td{border-bottom:none}.machine-container .anomaly-badge{border-radius:12px;font-size:10px;font-weight:600;padding:4px 10px;text-transform:uppercase}.machine-container .anomaly-badge.ucl{background-color:#ef444426;color:#ef4444}.machine-container .anomaly-badge.lcl{background-color:#f59e0b26;color:#f59e0b}.machine-container .anomaly-badge.trend{background-color:#3b82f626;color:#3b82f6}.machine-container .add-widget-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:0;transition:all .3s ease}.machine-container .add-widget-btn:hover{color:#9ca3af;transform:scale(1.2)}.machine-container .add-widget-btn .material-symbols-outlined{font-size:32px}.widget-modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.widget-modal-overlay .widget-modal{animation:slideUp .3s ease;background-color:#1f2937;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:90%}.widget-modal-header{align-items:center;border-bottom:1px solid #374151;display:flex;justify-content:space-between;padding:24px 28px}.widget-modal-header h2{color:#e5e7eb;font-size:20px;font-weight:600;margin:0}.modal-close-btn{background:none}.modal-close-btn:hover{background-color:#37415180;color:#e5e7eb}.modal-close-btn .material-symbols-outlined{font-size:24px}.widget-modal-body{overflow-y:auto;padding:24px 28px}.widget-list{display:flex;flex-direction:column;gap:12px}.widget-item{align-items:center;background-color:#111827;border:1px solid #374151;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:16px;transition:all .2s ease}.widget-item:hover{background-color:#1f2937;border-color:#4b5563;transform:translateX(4px)}.widget-icon{align-items:center;background-color:#3b82f626;border-radius:10px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.widget-icon .material-symbols-outlined{color:#3b82f6;font-size:28px}.widget-info{flex:1 1}.widget-info h3{color:#e5e7eb;font-size:16px;font-weight:600;margin:0 0 4px}.widget-info p{color:#9ca3af;font-size:13px;margin:0}.widget-add-btn{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;padding:8px 20px;transition:all .2s ease}.widget-add-btn:hover{background-color:#2563eb;transform:scale(1.05)}.size-selector{display:flex;flex-direction:column;gap:20px;width:100%}.size-selector h3{border-bottom:1px solid #374151;color:#e5e7eb;font-size:18px;font-weight:600;margin:0;padding-bottom:16px}.size-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.size-option{align-items:center;background-color:#111827;border:2px solid #374151;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:20px;transition:all .2s ease}.size-option:hover{background-color:#1f2937;border-color:#3b82f6;box-shadow:0 8px 24px #3b82f633;transform:translateY(-4px)}.size-preview{background-color:#3b82f633;border:2px solid #3b82f6;border-radius:4px}.size-preview.size-1x1{height:60px;width:60px}.size-preview.size-2x1{height:60px;width:120px}.size-preview.size-1x2{height:120px;width:60px}.size-preview.size-2x2{height:120px;width:120px}.size-option span{color:#9ca3af;font-size:14px;font-weight:600;text-align:center}.size-option:hover span{color:#e5e7eb}.widget-modal-overlay .back-btn{align-items:center;align-self:flex-start;background-color:#37415180;border:1px solid #4b5563;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.back-btn .material-symbols-outlined{font-size:20px}.machine-container .dashboard-widget-1x1{grid-column:span 1;grid-row:span 1}.machine-container .dashboard-widget-2x1{grid-column:span 2;grid-row:span 1}.machine-container .dashboard-widget-1x2{grid-column:span 1;grid-row:span 2}.machine-container .dashboard-widget-2x2{grid-column:span 2;grid-row:span 2}.machine-container .widget-container{display:flex;flex-direction:column;height:100%;width:100%}.machine-container .widget-header{align-items:center;border-bottom:1px solid #3f4550;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.machine-container .widget-header h3{color:#fff;font-size:16px;font-weight:600;margin:0}.machine-container .widget-remove-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.machine-container .widget-remove-btn:hover{background-color:#ef444426;color:#ef4444}.machine-container .widget-remove-btn .material-symbols-outlined{font-size:18px}.machine-container .widget-content{flex:1 1;min-height:0;position:relative}.custom-widget-builder{animation:slideUp .3s ease;background-color:#1f2937;border-radius:16px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:85vh;max-width:1200px;width:95%}.builder-header{align-items:center;border-bottom:1px solid #374151;display:flex;justify-content:space-between;padding:24px 28px}.builder-header h2{color:#e5e7eb;font-size:20px;font-weight:600;margin:0}.builder-body{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:1fr 1fr;overflow-y:auto;padding:24px 28px}.builder-settings{gap:20px}.builder-settings,.setting-group{display:flex;flex-direction:column}.setting-group{gap:8px}.setting-label{color:#9ca3af;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.size-button-group{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.size-btn{background-color:#111827;border:2px solid #374151;border-radius:8px;color:#9ca3af;cursor:pointer;font-size:13px;font-weight:600;padding:12px 16px;transition:all .2s ease}.size-btn:hover{background-color:#1f2937;border-color:#4b5563;color:#e5e7eb}.size-btn.active{background-color:#3b82f626;border-color:#3b82f6;color:#3b82f6}.setting-input{background-color:#111827;border:1px solid #374151;border-radius:8px;color:#e5e7eb;font-size:14px;outline:none;padding:12px 16px;transition:all .2s ease}.setting-input:focus{background-color:#1f2937;border-color:#3b82f6}.setting-input::placeholder{color:#6b7280}.setting-select{background-color:#111827;border:1px solid #374151;border-radius:8px;color:#e5e7eb;cursor:pointer;font-size:14px;outline:none;padding:12px 16px;transition:all .2s ease}.setting-select:focus{background-color:#1f2937;border-color:#3b82f6}.setting-select option{background-color:#1f2937;color:#e5e7eb}.builder-preview{gap:20px;height:100%}.builder-preview,.preview-section{display:flex;flex-direction:column}.preview-section{gap:12px}.preview-title{color:#e5e7eb;font-size:16px;font-weight:600;margin:0}.preview-chart{align-items:center;display:flex;height:300px;justify-content:center}.preview-chart,.summary-section{background-color:#111827;border:1px solid #374151;border-radius:12px;padding:16px}.summary-title{border-bottom:1px solid #374151;color:#e5e7eb;font-size:16px;font-weight:600;margin:0 0 12px;padding-bottom:12px}.summary-list{display:flex;flex-direction:column;gap:12px}.summary-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.summary-key{color:#9ca3af;font-size:13px;font-weight:500}.summary-value{color:#e5e7eb;font-size:14px;font-weight:600}.builder-footer{border-top:1px solid #374151;display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.builder-cancel-btn{background-color:initial;border:1px solid #4b5563;border-radius:8px;color:#9ca3af;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.builder-cancel-btn:hover{background-color:#4b556333;border-color:#6b7280;color:#e5e7eb}.builder-complete-btn{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.builder-complete-btn:hover{background-color:#2563eb;transform:scale(1.02)}.spc-control-panel{align-items:center;background-color:initial;display:flex;gap:24px;justify-content:space-between;margin-bottom:3px;padding:12px 16px}.spc-control-group{align-items:center;display:flex;gap:12px}.spc-label{color:#9ca3af;font-size:13px;font-weight:500;white-space:nowrap}.spc-select{background-color:#21252b;border:1px solid #3f4550;border-radius:4px;color:#e5e7eb;cursor:pointer;font-size:13px;min-width:160px;outline:none;padding:6px 12px;transition:all .2s}.spc-select:focus,.spc-select:hover{border-color:#3b82f6}.spc-limits-group{align-items:center;display:flex;gap:16px}.spc-limit-item{align-items:baseline;display:inline-flex;gap:6px}.spc-limit-item .limit-label{color:#6b7280;font-size:11px;font-weight:500;text-transform:uppercase}.spc-limit-item .limit-value{font-size:14px;font-weight:600}.spc-limit-item .limit-value.ucl{color:#ef4444}.spc-limit-item .limit-value.cl{color:#10b981}.spc-limit-item .limit-value.lcl{color:#ef4444}.machine-container .pass-fail-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:3fr 3fr 6fr;grid-template-rows:1fr;height:100%;padding:0}.machine-container .lstm-analysis-container{height:100%;padding:0;position:relative;width:100%}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.recharts-wrapper,.recharts-wrapper:focus{outline:1px solid #30363d!important}.recharts-wrapper:focus-visible{outline:1px solid #30363d!important}.recharts-surface,.recharts-surface:focus{outline:1px solid #30363d!important}.recharts-surface:focus-visible{outline:1px solid #30363d!important}.alarm-analysis-container{background-color:#0b0c0e;display:flex;flex-direction:column;min-height:100%;padding:4px}.alarm-analysis-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.alarm-analysis-header-left{align-items:center;display:flex;gap:16px}.back-button{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.back-button:hover{background-color:#9ca3af1a;color:#fff}.back-button .material-symbols-outlined{font-size:24px}.alarm-analysis-title{color:#fff;font-size:20px;font-weight:700;margin:0 0 4px}.alarm-analysis-subtitle{color:#d1d5db;font-size:12px;margin:0}.loading-container{align-items:center;background-color:#21252b;border:1px solid #1b1d20;border-radius:4px;display:flex;justify-content:center;margin:4px;min-height:400px}.loading-spinner{align-items:center;color:#9ca3af;display:flex;flex-direction:column;font-size:16px;gap:16px}.loading-spinner .material-symbols-outlined{color:#3b82f6;font-size:48px}.rotating{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{align-items:center;background-color:#21252b;border:1px solid #1b1d20;border-radius:4px;display:flex;flex-direction:column;gap:20px;justify-content:center;margin:4px;min-height:400px;padding:40px}.error-content{align-items:center;color:#ef4444;display:flex;gap:16px}.error-content .material-symbols-outlined{font-size:48px}.error-title{font-size:18px;font-weight:700;margin-bottom:8px}.error-message{color:#9ca3af;font-size:14px}.retry-button{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.retry-button:hover{background-color:#2563eb}.alarm-analysis-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.alarm-info-card,.alarm-message-card,.analysis-card{background-color:#21252b;border:1px solid #1b1d20;padding:20px}.section-title{border-bottom:1px solid #3f4550;color:#fff;font-size:16px;font-weight:600;margin:0 0 16px;padding-bottom:12px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.info-item{display:flex;flex-direction:column;gap:8px}.info-label{color:#9ca3af;font-size:12px;font-weight:500}.info-value{color:#fff;font-size:16px;font-weight:600}.info-value.severity-error{color:#ef4444}.info-value.severity-warning{color:#f59e0b}.info-value.severity-info{color:#3b82f6}.message-content{color:#d1d5db;font-size:14px;line-height:1.6}.message-note{background-color:#3b82f61a;border-left:3px solid #3b82f6;color:#9ca3af;font-size:13px;margin-top:12px;padding:12px}.alarm-analysis-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(2,1fr)}.analysis-content{color:#d1d5db;font-size:14px;line-height:1.6}.api-notice{align-items:flex-start;background-color:#fbbf241a;border:1px solid #fbbf244d;border-radius:4px;color:#d1d5db;display:flex;font-size:13px;gap:12px;line-height:1.6;padding:16px}.api-notice .material-symbols-outlined{color:#fbbf24;flex-shrink:0;font-size:24px}.api-notice strong{color:#fff}.api-notice code{background-color:#0000004d;border-radius:3px;color:#60a5fa;font-family:Courier New,monospace;font-size:12px;padding:2px 6px}@media (max-width:1200px){.info-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.alarm-analysis-grid,.info-grid{grid-template-columns:1fr}}.table-renderer{background:#0d111780;border:1px solid #30363d;border-radius:12px;margin:16px 0;overflow-x:auto;padding:20px}.table-renderer table{background:#0000;border-collapse:collapse;font-size:14px;width:100%}.table-renderer thead{background:#1a1f2e}.table-renderer th{border-bottom:2px solid #30363d;color:#7d8590;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.table-renderer td{border-bottom:1px solid #2d3339;color:#c9d1d9;padding:12px 16px}.table-renderer tbody tr:hover{background:#3b82f614;transition:background .2s ease}.table-renderer tbody tr:last-child td{border-bottom:none}.table-footer{color:#7d8590;font-size:13px;margin-top:12px;opacity:.8}.table-error{background:#ff6b6b1a;border:1px solid #ff6b6b4d;border-radius:8px;color:#ff6b6b;padding:20px;text-align:center}.ai-analysis-page{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.ai-chat-container{align-items:center;background-color:#21252b;flex:1 1;position:relative}.ai-chat-container,.ai-chat-wrapper{display:flex;flex-direction:column;overflow:hidden}.ai-chat-wrapper{border-radius:12px;box-shadow:0 8px 24px #96969633;flex:1 1;margin:16px;width:80%}.ai-chat-header{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px 12px 0 0;display:flex;gap:12px;padding:16px 32px}.ai-chat-header .material-symbols-outlined{color:#fff;font-size:28px}.ai-chat-title{color:#fff;font-size:18px;font-weight:600;letter-spacing:.5px}.ai-messages-container{background:linear-gradient(135deg,#1a1f2e,#1d2333);border-radius:0;display:flex;flex:1 1;flex-direction:column;gap:24px;overflow-y:auto;padding:24px}.ai-messages-container::-webkit-scrollbar{width:6px}.ai-messages-container::-webkit-scrollbar-track{background:#0000}.ai-messages-container::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.ai-messages-container::-webkit-scrollbar-thumb:hover{background:#2563eb}.ai-message{animation:messageSlideIn .3s ease-out;display:flex;gap:12px}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.ai-message.assistant .ai-message-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f64d;color:#fff}.ai-message.user .ai-message-avatar{background:linear-gradient(135deg,#30363d,#484f58);box-shadow:0 2px 8px #0003;color:#fff}.ai-message-avatar .material-symbols-outlined{font-size:24px}.ai-message-content{display:flex;flex:1 1;flex-direction:column;gap:8px}.ai-message-header{align-items:center;display:flex;gap:12px}.ai-message-role{color:#e6edf3;font-size:14px;font-weight:600}.ai-message-time{color:#7d8590;font-size:12px}.ai-message-text{color:#c9d1d9;font-size:15px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.ai-message.assistant .ai-message-text{background:#0000;padding:8px 0}.ai-message.user .ai-message-text{background:linear-gradient(135deg,#1a1f2e,#0d1117);border:1px solid #30363d;border-radius:16px 16px 4px 16px;box-shadow:0 2px 8px #0000004d;padding:14px 18px}.ai-message-text.error{background:#f871711a;border:1px solid #f871714d;border-radius:8px;color:#f87171;padding:12px 16px}.ai-message-loading{display:flex;gap:6px;padding:12px 16px}.ai-loading-dot{animation:loadingBounce 1.4s ease-in-out infinite both;background:#3b82f6;border-radius:50%;height:8px;width:8px}.ai-loading-dot:first-child{animation-delay:-.32s}.ai-loading-dot:nth-child(2){animation-delay:-.16s}@keyframes loadingBounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.ai-suggestions{background:linear-gradient(135deg,#1a1f2e,#1d2333);display:flex;flex-direction:column;gap:16px;padding:24px 36px}.ai-suggestions-title{color:#7d8590;font-size:13px;font-weight:600;letter-spacing:.5px;margin-left:52px;text-transform:uppercase}.ai-suggestions-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-left:52px}.ai-suggestion-item{align-items:center;background:#252a31;border:1px solid #2d3339;border-radius:12px;box-shadow:0 2px 4px #0003;color:#d1d5db;cursor:pointer;display:flex;font-size:13.5px;gap:10px;padding:14px 16px;text-align:left;transition:all .25s ease}.ai-suggestion-item:hover{background:#2f353d;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;color:#fff;transform:translateY(-2px)}.ai-suggestion-item .material-symbols-outlined{color:#f59e0b;flex-shrink:0;font-size:20px}.ai-input-container{background:linear-gradient(135deg,#1a1f2e,#1d2333);border-radius:0 0 12px 12px;flex-shrink:0;padding:20px 40px 24px}.ai-input-form{margin:0 auto;max-width:900px;position:relative}.ai-input-textarea{background:#0d1117;border:1.5px solid #2d3339;border-radius:12px;box-shadow:0 2px 8px #0003;color:#e6edf3;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14.5px;line-height:1.5;max-height:200px;min-height:48px;overflow-y:auto;padding:12px 56px 12px 18px;resize:none;transition:all .25s ease;width:100%}.ai-input-textarea::-webkit-scrollbar{display:none;width:0}.ai-input-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 2px 8px #0003;outline:none}.ai-input-textarea::placeholder{color:#7d8590}.ai-input-textarea:disabled{cursor:not-allowed;opacity:.5}.ai-input-submit{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f64d;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:6px;top:6px;transition:all .25s ease;width:36px}.ai-input-submit:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666}.ai-input-submit:active:not(:disabled){transform:scale(.95)}.ai-input-submit:disabled{background:linear-gradient(135deg,#30363d,#21262d);box-shadow:none;cursor:not-allowed;opacity:.5}.ai-input-submit .material-symbols-outlined{font-size:18px}.ai-chart-response{width:100%}.ai-chart-response h3{border-bottom:2px solid #30363d;color:#e6edf3;font-size:20px;font-weight:700;margin-bottom:24px;padding-bottom:12px}.ai-chart-response h4{color:#e6edf3;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:0}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:32px}.chart-section,.table-section{background:#0d111780;border:1px solid #30363d;border-radius:12px;padding:20px}.table-section{margin-bottom:32px}.data-table{border-collapse:collapse;font-size:14px;margin-bottom:16px;width:100%}.data-table th{background:#1a1f2e;border-bottom:2px solid #30363d;color:#7d8590;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.data-table td{border-bottom:1px solid #2d3339;color:#c9d1d9;padding:12px 16px}.data-table tbody tr:hover{background:#3b82f614}.data-table tbody tr:last-child td{border-bottom:none}.summary{background:#3b82f60d;border-left:3px solid #3b82f6;border-radius:4px;margin-top:16px;padding:16px}.summary strong{color:#3b82f6;display:block;font-size:14px;margin-bottom:8px}.summary ul{list-style-type:disc;margin:0;padding-left:20px}.summary li{color:#c9d1d9;font-size:13.5px;line-height:1.6;margin-bottom:6px}.insight-box,.insight-section{margin-bottom:16px}.insight-box{border-left:4px solid;border-radius:8px;padding:16px 20px}.insight-box.alert{background:#ef444414;border-left-color:#ef4444}.insight-box.warning{background:#f59e0b14;border-left-color:#f59e0b}.insight-box.recommendation{background:#3b82f614;border-left-color:#3b82f6}.insight-box.success{background:#22c55e14;border-left-color:#22c55e}.insight-box strong{color:#e6edf3;display:block;font-size:14px;margin-bottom:12px}.insight-box ol,.insight-box ul{margin:0;padding-left:20px}.insight-box li{color:#c9d1d9;font-size:13.5px;line-height:1.6;margin-bottom:8px}@media (max-width:768px){.ai-suggestions-list,.charts-grid{grid-template-columns:1fr}.ai-analysis-title{font-size:24px}.ai-message-text{font-size:14px}.data-table{font-size:12px}.data-table td,.data-table th{padding:8px 12px}}.html-summary{background:#0d111780;border:1px solid #30363d;border-radius:12px;margin:16px 0;overflow-x:auto;padding:20px}.html-summary table{background:#0000;border-collapse:collapse;font-size:14px;width:100%}.html-summary thead{background:#1a1f2e}.html-summary th{border-bottom:2px solid #30363d;color:#7d8590;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.html-summary td{border-bottom:1px solid #2d3339;color:#c9d1d9;padding:12px 16px}.html-summary tbody tr:hover{background:#3b82f614;transition:background .2s ease}.html-summary tbody tr:last-child td{border-bottom:none}.chart-container{margin:16px 0}.response-text{color:#c9d1d9;line-height:1.7;margin-bottom:12px}.sql-details{background:#0d1117cc;border:1px solid #30363d;border-radius:8px;cursor:pointer;margin-top:16px;padding:12px}.sql-details summary{color:#7d8590;font-size:13px;font-weight:600;list-style:none;outline:none;-webkit-user-select:none;user-select:none}.sql-details summary::-webkit-details-marker{display:none}.sql-details summary:before{content:"▶ ";display:inline-block;transition:transform .2s}.sql-details[open] summary:before{transform:rotate(90deg)}.sql-query{background:#0d1117;border-radius:6px;margin-top:12px;overflow-x:auto;padding:12px}.sql-query code{color:#79c0ff;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6}.login-page{align-items:center;background:linear-gradient(135deg,#1e293b,#0f172a 50%,#1e3a8a);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:space-between;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-page:before{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle,#3b82f626 0,#0000 70%);height:500px;right:-250px;top:-250px;width:500px}.login-page:after,.login-page:before{border-radius:50%;content:"";position:absolute}.login-page:after{animation:pulse 6s ease-in-out infinite reverse;background:radial-gradient(circle,#6366f11a 0,#0000 70%);bottom:-200px;height:400px;left:-200px;width:400px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.login-page .login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;margin:auto 0;max-width:400px;padding:40px;position:relative;width:100%;z-index:1}.login-page .login-header{margin-bottom:32px;text-align:center}.login-page .title-decorator{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:16px}.login-page .decorator-line{background:linear-gradient(90deg,#0000,#1e293b 50%,#0000);height:2px;width:40px}.login-page .decorator-dot{background-color:#1e293b;border-radius:50%;box-shadow:0 0 10px #1e293b4d;height:8px;width:8px}.login-page .login-icon{align-items:center;background-color:#637381;border-radius:50%;color:#fff;display:flex;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.login-page .login-subtitle-top{color:#9ca3af;font-size:11px;font-weight:500;letter-spacing:1px;margin:0 0 8px;text-transform:uppercase}.login-page .login-title{color:#212b36;font-size:32px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0 0 16px}.login-page .subtitle-divider{background-color:#e5e7eb;height:1px;margin:12px auto;width:60px}.login-page .login-subtitle-kr{color:#637381;font-size:16px;font-weight:500;margin:0}.login-page .login-form{margin-bottom:24px}.login-page .form-group{margin-bottom:20px}.login-page .form-label{color:#212b36;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.login-page .input-container{align-items:center;display:flex;position:relative}.login-page .input-icon{color:#9ca3af;left:12px;position:absolute;z-index:1}.login-page .form-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#212b36;font-size:14px;padding:12px 12px 12px 40px;transition:border-color .2s ease;width:100%}.login-page .form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.login-page .form-input::placeholder{color:#9ca3af}.login-page .password-toggle{color:#9ca3af;cursor:pointer;position:absolute;right:12px;z-index:1}.login-page .password-toggle:hover{color:#6b7280}.login-page .form-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.login-page .checkbox-container{align-items:center;color:#212b36;cursor:pointer;display:flex;font-size:14px;position:relative}.login-page .checkbox-container input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.login-page .checkmark{align-items:center;border:1px solid #d1d5db;border-radius:4px;display:flex;height:16px;justify-content:center;margin-right:8px;transition:all .2s ease;width:16px}.login-page .checkbox-container input[type=checkbox]:checked+.checkmark{background-color:#3b82f6;border-color:#3b82f6}.login-page .checkbox-container input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700}.login-page .forgot-password{color:#6b7280;font-size:14px;text-decoration:none;transition:color .2s ease}.login-page .forgot-password:hover{color:#3b82f6}.login-page .login-button{background:linear-gradient(135deg,#1e293b,#334155);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:24px;padding:12px 24px;transition:all .2s ease;width:100%}.login-page .login-button:hover{background:linear-gradient(135deg,#0f172a,#1e293b);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.login-page .login-button:active{transform:translateY(0)}.login-page .quick-access{margin-bottom:24px}.login-page .divider{background-color:#e5e7eb;height:1px;margin-bottom:16px}.login-page .quick-access-title{color:#212b36;font-size:14px;font-weight:500;margin:0 0 16px;text-align:center}.login-page .quick-access-buttons{display:flex;gap:12px}.login-page .quick-access-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#212b36;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s ease}.login-page .quick-access-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.login-page .quick-access-btn:active{background-color:#f3f4f6}.login-page .login-footer{text-align:center}.login-page .login-footer p{color:#6b7280;font-size:14px;margin:0}.login-page .login-footer a{color:#3b82f6;font-weight:500;text-decoration:none}.login-page .login-footer a:hover{text-decoration:underline}.login-page .copyright{padding-bottom:20px;position:relative;text-align:center;z-index:1}.login-page .copyright p{color:#ffffffb3;font-size:12px;line-height:1.5;margin:4px 0}@media (max-width:480px){.login-page .login-card{margin:10px;padding:24px}.login-page .login-title{font-size:24px}.login-page .quick-access-buttons{flex-direction:column}.login-page .quick-access-btn{width:100%}}.modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-container{animation:slideIn .2s ease-out;background:#21252b;border:1px solid #2d3339;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;max-width:480px;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #2d3339}.modal-title{font-family:Inter,sans-serif;line-height:24px}.modal-close-btn{border-radius:4px;color:#9ca3af;padding:4px;transition:all .2s}.modal-close-btn:hover{background:#2d3339;color:#fff}.modal-body{gap:16px;padding:24px}.modal-icon{align-items:center;border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.modal-icon.danger{background:#ef44441a;color:#ef4444}.modal-icon.warning{background:#fbbf241a;color:#fbbf24}.modal-icon.info{background:#3b82f61a;color:#3b82f6}.modal-message{color:#d1d5db;font-family:Inter,sans-serif;font-size:14px;line-height:20px;margin:0;text-align:center;white-space:pre-line}.modal-footer{border-top:1px solid #2d3339;padding:16px 24px}.modal-btn{font-family:Inter,sans-serif;line-height:20px;transition:all .2s}.modal-btn-cancel{background:#2d3339;border:1px solid #4b5563;color:#fff}.modal-btn-cancel:hover{background:#3d4349}.modal-btn-confirm{color:#fff}.modal-btn-confirm.danger{background:#ef4444}.modal-btn-confirm.danger:hover{background:#dc2626}.modal-btn-confirm.warning{background:#fbbf24}.modal-btn-confirm.warning:hover{background:#f59e0b}.modal-btn-confirm.info{background:#3b82f6}.modal-btn-confirm.info:hover{background:#2563eb}@media (max-width:640px){.modal-container{margin:0 10px;width:95%}.modal-header{padding:16px 20px}.modal-body{padding:20px}.modal-footer{flex-direction:column;padding:12px 20px}.modal-btn{width:100%}}.user-list-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.user-list-container .user-list-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-shrink:0;height:64px;justify-content:space-between;margin-bottom:4px;min-height:64px;padding:0 16px}.user-list-container .user-list-header-left{display:flex;flex-direction:column}.user-list-container .user-list-header-right{text-align:right}.user-list-container .user-list-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.user-list-container .user-list-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.user-list-container .user-list-content{background:#21252b;border:1px solid #1b1d20;border-radius:0;margin-bottom:24px;padding:20px 24px}.user-list-container .user-list-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.user-list-container .control-left{align-items:center;display:flex;gap:12px}.user-list-container .control-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;width:50px}.user-list-container .dropdown-container{display:inline-block;position:relative}.user-list-container .role-dropdown{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:150px;outline:none;padding:8px 32px 8px 12px}.user-list-container .role-dropdown:focus,.user-list-container .role-dropdown:hover{border-color:#3b82f6}.user-list-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.user-list-container .control-right{align-items:center;display:flex;gap:12px}.user-list-container .search-container{display:inline-block;position:relative}.user-list-container .search-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:280px;outline:none;padding:8px 40px 8px 12px}.user-list-container .search-input::placeholder{color:#6b7280}.user-list-container .search-input:focus,.user-list-container .search-input:hover{border-color:#3b82f6}.user-list-container .search-icon{color:#6b7280;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.user-list-container .add-user-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.user-list-container .add-user-btn:hover{background:#2563eb}.user-list-container .plus-icon{color:#fff;height:16px;width:16px}.user-list-container .user-table{border:1px solid #4b5563;border-collapse:collapse;width:100%}.user-list-container .user-table thead{background:#3741514d}.user-list-container .user-table th{border-bottom:1px solid #4b5563;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:16px 20px;text-align:center}.user-list-container .user-table tbody tr{border-bottom:1px solid #4b5563;transition:background .2s}.user-list-container .user-table tbody tr:hover{background:#3741514d}.user-list-container .user-table tbody tr:last-child{border-bottom:none}.user-list-container .user-table td{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;padding:16px 20px;text-align:center}.user-list-container .user-cell{padding:16px 20px!important}.user-list-container .user-info{align-items:center;display:flex;gap:12px}.user-list-container .user-avatar{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Inter,sans-serif;font-size:18px;font-style:normal;font-weight:700;height:48px;justify-content:center;line-height:24px;width:48px}.user-list-container .user-details{align-items:flex-start;display:flex;flex-direction:column;gap:4px;text-align:left}.user-list-container .user-name{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.user-list-container .user-email{color:#9ca3af;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:18px}.user-list-container .role-group-cell{display:flex;flex-direction:column;gap:4px}.user-list-container .role-group-name{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.user-list-container .role-group-code{color:#9ca3af;font-family:Inter,sans-serif;font-family:Courier New,monospace;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.user-list-container .status-badge{border-radius:12px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:500;line-height:18px;padding:4px 12px}.user-list-container .status-active{background:#3b82f6}.user-list-container .status-inactive{background:#ef4444}.user-list-container .permissions-cell{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.user-list-container .permission-tag{background:#2d3339;border-radius:4px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:18px;padding:4px 10px}.user-list-container .more-tag{background:#2d3339}.user-list-container .action-buttons{align-items:center;display:flex;gap:12px;justify-content:center}.user-list-container .action-btn{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s}.user-list-container .action-btn:hover{color:#fff}.user-list-container .edit-btn:hover{color:#3b82f6}.user-list-container .delete-btn:hover{color:#ef4444}.user-list-container .user-list-page::-webkit-scrollbar{height:8px;width:8px}.user-list-container .user-list-page::-webkit-scrollbar-track{background:#181c14}.user-list-container .user-list-page::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.user-list-container .user-list-page::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.user-list-container .user-table-container{overflow-x:auto}.user-list-container .user-table{min-width:1000px}}@media (max-width:768px){.user-list-container .user-list-page{padding:16px}.user-list-container .user-list-title{font-size:24px;line-height:32px}.user-list-container .user-list-subtitle{font-size:14px;line-height:20px}.user-list-container .user-list-controls{align-items:stretch;flex-direction:column;gap:16px}.user-list-container .control-left,.user-list-container .control-right{width:100%}.user-list-container .search-input{min-width:100%}.user-list-container .add-user-btn{justify-content:center;width:100%}}.user-register-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.user-register-container .user-register-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.user-register-container .user-register-header-left{display:flex;flex-direction:column;margin:4px 0}.user-register-container .user-register-header-right{align-items:center;display:flex;gap:12px}.user-register-container .user-register-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.user-register-container .user-register-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.user-register-container .cancel-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.user-register-container .cancel-btn:hover{background:#3d4349}.user-register-container .save-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.user-register-container .save-btn:hover{background:#2563eb}.user-register-container .user-register-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;flex:1 1;margin-bottom:24px;overflow-y:auto;padding:32px}.user-register-container .form-section{margin-bottom:32px}.user-register-container .form-section:last-child{margin-bottom:0}.user-register-container .section-title{border-bottom:1px solid #2d3339;color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px;padding-bottom:12px}.user-register-container .form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.user-register-container .form-group{display:flex;flex-direction:column;gap:4px}.user-register-container .form-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.user-register-container .required{color:#ef4444}.user-register-container .form-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.user-register-container .form-input::placeholder{color:#6b7280}.user-register-container .form-input:focus,.user-register-container .form-input:hover{border-color:#3b82f6}.user-register-container .dropdown-container{display:inline-block;position:relative;width:100%}.user-register-container .form-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.user-register-container .form-select:focus,.user-register-container .form-select:hover{border-color:#3b82f6}.user-register-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.user-register-container .section-title{align-items:center;display:flex;gap:12px}.user-register-container .subtitle-note{color:#9ca3af;font-size:13px;font-weight:400}.user-register-container .permissions-info{background:#181c14;border:1px solid #2d3339;border-radius:8px;padding:20px}.user-register-container .permissions-tree{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.user-register-container .permission-category{background:#0f1117;border:1px solid #2d3339;border-radius:8px;overflow:hidden}.user-register-container .category-header{align-items:center;background:#1a1d24;border-bottom:1px solid #2d3339;display:flex;gap:8px;padding:12px 16px}.user-register-container .category-icon{font-size:16px}.user-register-container .category-name{color:#fff;flex:1 1;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.user-register-container .permission-count{color:#9ca3af;font-family:Inter,sans-serif;font-size:12px;font-weight:400}.user-register-container .category-permissions{grid-gap:10px!important;display:grid!important;gap:10px!important;grid-template-columns:repeat(2,1fr)!important;padding:16px!important}.user-register-container .permissions-container-readonly{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.user-register-container .permission-item{align-items:center;background:#0f1117;border:1px solid #2d3339;border-radius:6px;display:flex;gap:10px;padding:10px 12px}.user-register-container .permission-item.granted{background:#3b82f60d;border-color:#3b82f6}.user-register-container .permission-item.denied{opacity:.5}.user-register-container .permission-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.user-register-container .permission-item.granted .permission-icon{background:#3b82f6;color:#fff}.user-register-container .permission-item.denied .permission-icon{background:#4b5563;color:#9ca3af}.user-register-container .permission-label{color:#fff;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:18px}.user-register-container .form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.user-register-container .btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.user-register-container .btn-secondary:hover{background:#3d4349}.user-register-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.user-register-container .btn-primary:hover{background:#2563eb}.user-register-container::-webkit-scrollbar{height:8px;width:8px}.user-register-container::-webkit-scrollbar-track{background:#181c14}.user-register-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.user-register-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.user-register-container .form-grid{grid-template-columns:1fr}.user-register-container .permissions-container-readonly{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.user-register-container .user-register-content{padding:20px}.user-register-container .user-register-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.user-register-container .user-register-header-right{justify-content:flex-end;width:100%}.user-register-container .permissions-container-readonly{grid-template-columns:1fr}.user-register-container .form-actions{flex-direction:column}.user-register-container .btn-primary,.user-register-container .btn-secondary{width:100%}}.user-detail-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.user-detail-container .user-detail-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;flex-shrink:0;height:64px;justify-content:space-between;margin-bottom:4px;min-height:64px;padding:0 16px}.user-detail-container .user-detail-header-left{align-items:center;display:flex;gap:16px}.user-detail-container .user-detail-header-right{align-items:center;display:flex;gap:12px}.user-detail-container .back-btn{align-items:center;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.user-detail-container .user-detail-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.user-detail-container .user-detail-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.user-detail-container .delete-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:all .2s}.user-detail-container .delete-header-btn:hover{background:#ef4444;border-color:#ef4444}.user-detail-container .edit-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.user-detail-container .edit-header-btn:hover{background:#2563eb}.user-detail-container .cancel-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.user-detail-container .cancel-btn:hover{background:#3d4349}.user-detail-container .save-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.user-detail-container .save-btn:hover{background:#2563eb}.user-detail-container .user-detail-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.user-detail-container .user-profile-card{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:12px;display:flex;gap:24px;margin-bottom:32px;padding:24px}.user-detail-container .user-profile-avatar-large{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Inter,sans-serif;font-size:32px;font-style:normal;font-weight:700;height:80px;justify-content:center;line-height:40px;width:80px}.user-detail-container .user-profile-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.user-detail-container .user-profile-name{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin:0}.user-detail-container .user-profile-email{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0}.user-detail-container .status-badge-large{border-radius:16px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.user-detail-container .status-active{background:#3b82f6}.user-detail-container .status-inactive{background:#ef4444}.user-detail-container .user-profile-meta{border-left:1px solid #2d3339;display:flex;flex-direction:column;gap:12px;padding-left:24px}.user-detail-container .meta-item{display:flex;flex-direction:column;gap:4px}.user-detail-container .meta-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.user-detail-container .meta-value{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.user-detail-container .detail-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:32px}.user-detail-container .detail-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.user-detail-container .section-title{align-items:center;color:#fff;display:flex;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;gap:12px;line-height:24px;margin-bottom:20px}.user-detail-container .subtitle-note{color:#9ca3af;font-size:13px;font-weight:400}.user-detail-container .detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.user-detail-container .detail-group{display:flex;flex-direction:column;gap:8px}.user-detail-container .detail-label{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.user-detail-container .detail-value{align-items:center;color:#fff;display:flex;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;gap:8px;line-height:24px;padding:10px 0}.user-detail-container .role-code-badge{color:#9ca3af;font-family:Courier New,monospace;font-size:13px}.user-detail-container .detail-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.user-detail-container .detail-input::placeholder{color:#6b7280}.user-detail-container .detail-input:focus,.user-detail-container .detail-input:hover{border-color:#3b82f6}.user-detail-container .dropdown-container{display:inline-block;position:relative;width:100%}.user-detail-container .detail-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.user-detail-container .detail-select:focus,.user-detail-container .detail-select:hover{border-color:#3b82f6}.user-detail-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.user-detail-container .permissions-info{background:#181c14;border:1px solid #2d3339;border-radius:8px;padding:20px}.user-detail-container .permissions-tree{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.user-detail-container .permission-category{background:#0f1117;border:1px solid #2d3339;border-radius:8px;overflow:hidden}.user-detail-container .category-header{align-items:center;background:#1a1d24;border-bottom:1px solid #2d3339;display:flex;gap:8px;padding:12px 16px}.user-detail-container .category-icon{font-size:16px}.user-detail-container .category-name{color:#fff;flex:1 1;font-family:Inter,sans-serif;font-size:14px;font-weight:600}.user-detail-container .permission-count{color:#9ca3af;font-family:Inter,sans-serif;font-size:12px;font-weight:400}.user-detail-container .category-permissions{grid-gap:10px!important;display:grid!important;gap:10px!important;grid-template-columns:repeat(2,1fr)!important;padding:16px!important}.user-detail-container .permissions-container-readonly{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.user-detail-container .permission-item{align-items:center;background:#0f1117;border:1px solid #2d3339;border-radius:6px;display:flex;gap:10px;padding:10px 12px}.user-detail-container .permission-item.granted{background:#3b82f60d;border-color:#3b82f6}.user-detail-container .permission-item.denied{opacity:.5}.user-detail-container .permission-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.user-detail-container .permission-item.granted .permission-icon{background:#3b82f6;color:#fff}.user-detail-container .permission-item.denied .permission-icon{background:#4b5563;color:#9ca3af}.user-detail-container .permission-label{color:#fff;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:18px}.user-detail-container .form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.user-detail-container .btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.user-detail-container .btn-secondary:hover{background:#3d4349}.user-detail-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.user-detail-container .btn-primary:hover{background:#2563eb}.user-detail-container::-webkit-scrollbar{height:8px;width:8px}.user-detail-container::-webkit-scrollbar-track{background:#181c14}.user-detail-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.user-detail-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.detail-grid{grid-template-columns:1fr}.permissions-container-readonly{grid-template-columns:repeat(2,1fr)}.user-profile-card{align-items:flex-start;flex-direction:column}.user-profile-meta{border-left:none;border-top:1px solid #2d3339;padding-left:0;padding-top:16px;width:100%}}@media (max-width:768px){.user-detail-content{padding:20px}.user-detail-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.user-detail-header-left{width:100%}.user-detail-header-right{justify-content:flex-end;width:100%}.user-profile-card{padding:16px}.permissions-container-readonly{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.factory-list-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.factory-list-container .factory-list-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.factory-list-container .factory-list-header-left{display:flex;flex-direction:column}.factory-list-container .factory-list-header-right{text-align:right}.factory-list-container .factory-list-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.factory-list-container .factory-list-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.factory-list-container .factory-list-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;overflow:auto;padding:20px 24px}.factory-list-container .factory-list-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.factory-list-container .control-left{align-items:center;display:flex;gap:12px}.factory-list-container .control-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;width:50px}.factory-list-container .dropdown-container{display:inline-block;position:relative}.factory-list-container .status-dropdown{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:150px;outline:none;padding:8px 32px 8px 12px}.factory-list-container .status-dropdown:focus,.factory-list-container .status-dropdown:hover{border-color:#3b82f6}.factory-list-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.factory-list-container .control-right{align-items:center;display:flex;gap:12px}.factory-list-container .search-container{display:inline-block;position:relative}.factory-list-container .search-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:280px;outline:none;padding:8px 40px 8px 12px}.factory-list-container .search-input::placeholder{color:#6b7280}.factory-list-container .search-input:focus,.factory-list-container .search-input:hover{border-color:#3b82f6}.factory-list-container .search-icon{color:#6b7280;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.factory-list-container .add-factory-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.factory-list-container .add-factory-btn:hover{background:#2563eb}.factory-list-container .plus-icon{color:#fff;height:16px;width:16px}.factory-list-container .factory-table-container{overflow-x:auto}.factory-list-container .factory-table{border:1px solid #4b5563;border-collapse:collapse;width:100%}.factory-list-container .factory-table thead{background:#3741514d}.factory-list-container .factory-table th{border-bottom:1px solid #4b5563;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:16px 20px;text-align:left}.factory-list-container .factory-table tbody tr{border-bottom:1px solid #4b5563;transition:background .2s}.factory-list-container .factory-table tbody tr:hover{background:#3741514d}.factory-list-container .factory-table tbody tr:last-child{border-bottom:none}.factory-list-container .factory-table td{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;padding:16px 20px}.factory-list-container .factory-name-cell{padding:16px 20px!important}.factory-list-container .factory-name-info{align-items:center;display:flex;gap:12px}.factory-list-container .factory-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.factory-list-container .factory-icon .material-symbols-outlined{color:#fff;font-size:24px}.factory-list-container .factory-details{display:flex;flex-direction:column;gap:4px}.factory-list-container .factory-name{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.factory-list-container .factory-manager{color:#9ca3af;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:18px}.factory-list-container .factory-code{background:#2d3339;border-radius:4px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-family:Courier New,monospace;font-size:13px;font-style:normal;font-weight:500;line-height:18px;padding:4px 10px}.factory-list-container .environment-value{align-items:center;color:#fff;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.factory-list-container .equipment-status{display:flex;flex-direction:column;gap:6px}.factory-list-container .equipment-total{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.factory-list-container .equipment-breakdown{display:flex;gap:8px}.factory-list-container .equipment-running{color:#10b981}.factory-list-container .equipment-idle,.factory-list-container .equipment-running{font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.factory-list-container .equipment-idle{color:#f59e0b}.factory-list-container .equipment-stopped{color:#ef4444;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.factory-list-container .operation-rate{display:flex;flex-direction:column;gap:6px}.factory-list-container .rate-bar-container{background:#2d3339;border-radius:4px;height:8px;overflow:hidden;width:100px}.factory-list-container .rate-bar{border-radius:4px;height:100%;transition:width .3s ease}.factory-list-container .rate-bar.rate-high{background:linear-gradient(90deg,#10b981,#059669)}.factory-list-container .rate-bar.rate-medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.factory-list-container .rate-bar.rate-low{background:linear-gradient(90deg,#ef4444,#dc2626)}.factory-list-container .rate-text{font-weight:600}.factory-list-container .rate-text,.factory-list-container .status-badge{color:#fff;font-family:Inter,sans-serif;font-size:13px;font-style:normal;line-height:18px}.factory-list-container .status-badge{border-radius:12px;display:inline-block;font-weight:500;padding:4px 12px}.factory-list-container .status-normal{background:#10b981}.factory-list-container .status-warning{background:#f59e0b}.factory-list-container .status-error{background:#ef4444}.factory-list-container .action-buttons{align-items:center;display:flex;gap:12px}.factory-list-container .action-btn{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s}.factory-list-container .action-btn:hover{color:#fff}.factory-list-container .edit-btn:hover{color:#3b82f6}.factory-list-container .delete-btn:hover{color:#ef4444}.factory-list-container .factory-list-content::-webkit-scrollbar{height:8px;width:8px}.factory-list-container .factory-list-content::-webkit-scrollbar-track{background:#181c14}.factory-list-container .factory-list-content::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.factory-list-container .factory-list-content::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1400px){.factory-list-container .factory-table-container{overflow-x:auto}.factory-list-container .factory-table{min-width:1200px}}@media (max-width:768px){.factory-list-container .factory-list-container{padding:16px}.factory-list-container .factory-list-title{font-size:24px;line-height:32px}.factory-list-container .factory-list-subtitle{font-size:14px;line-height:20px}.factory-list-container .factory-list-controls{align-items:stretch;flex-direction:column;gap:16px}.factory-list-container .control-left,.factory-list-container .control-right{width:100%}.factory-list-container .search-input{min-width:100%}.factory-list-container .add-factory-btn{justify-content:center;width:100%}}.factory-register-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.factory-register-container .factory-register-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.factory-register-container .factory-register-header-left{display:flex;flex-direction:column}.factory-register-container .factory-register-header-right{align-items:center;display:flex;gap:12px}.factory-register-container .factory-register-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.factory-register-container .factory-register-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.factory-register-container .factory-cancel-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.factory-register-container .factory-cancel-btn:hover{background:#3d4349}.factory-register-container .factory-save-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.factory-register-container .factory-save-btn:hover{background:#2563eb}.factory-register-container .factory-register-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.factory-register-container .factory-form-section{margin-bottom:32px}.factory-register-container .factory-form-section:last-child{margin-bottom:0}.factory-register-container .factory-section-title{border-bottom:1px solid #2d3339;color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px;padding-bottom:12px}.factory-register-container .factory-form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.factory-register-container .factory-form-group{display:flex;flex-direction:column;gap:8px}.factory-register-container .factory-form-group-full{grid-column:1/-1}.factory-register-container .factory-form-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.factory-register-container .factory-required{color:#ef4444}.factory-register-container .factory-form-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.factory-register-container .factory-form-input::placeholder{color:#6b7280}.factory-register-container .factory-form-input:focus,.factory-register-container .factory-form-input:hover{border-color:#3b82f6}.factory-register-container .factory-dropdown-container{display:inline-block;position:relative;width:100%}.factory-register-container .factory-form-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.factory-register-container .factory-form-select:focus,.factory-register-container .factory-form-select:hover{border-color:#3b82f6}.factory-register-container .factory-dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.factory-register-container .factory-form-textarea{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;resize:vertical;transition:border-color .2s}.factory-register-container .factory-form-textarea::placeholder{color:#6b7280}.factory-register-container .factory-form-textarea:focus,.factory-register-container .factory-form-textarea:hover{border-color:#3b82f6}.factory-register-container .factory-form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.factory-register-container .factory-btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.factory-register-container .factory-btn-secondary:hover{background:#3d4349}.factory-register-container .factory-btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.factory-register-container .factory-btn-primary:hover{background:#2563eb}.factory-register-container::-webkit-scrollbar{height:8px;width:8px}.factory-register-container::-webkit-scrollbar-track{background:#181c14}.factory-register-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.factory-register-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.factory-register-container .factory-form-grid{grid-template-columns:1fr}}@media (max-width:768px){.factory-register-container .factory-register-content{padding:20px}.factory-register-container .factory-register-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.factory-register-container .factory-register-header-right{justify-content:flex-end;width:100%}.factory-register-container .factory-form-actions{flex-direction:column}.factory-register-container .factory-btn-primary,.factory-register-container .factory-btn-secondary{width:100%}}.factory-detail-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.factory-detail-container .factory-detail-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.factory-detail-container .factory-detail-header-left{align-items:center;display:flex;gap:16px}.factory-detail-container .factory-detail-header-right{align-items:center;display:flex;gap:12px}.factory-detail-container .factory-back-btn{align-items:center;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.factory-detail-container .factory-detail-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.factory-detail-container .factory-detail-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.factory-detail-container .factory-delete-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:all .2s}.factory-detail-container .factory-delete-header-btn:hover{background:#ef4444;border-color:#ef4444}.factory-detail-container .factory-edit-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.factory-detail-container .factory-edit-header-btn:hover{background:#2563eb}.factory-detail-container .factory-cancel-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.factory-detail-container .factory-cancel-header-btn:hover{background:#3d4349}.factory-detail-container .factory-save-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.factory-detail-container .factory-save-header-btn:hover{background:#2563eb}.factory-detail-container .factory-detail-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.factory-detail-container .factory-profile-card{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:12px;display:flex;gap:24px;margin-bottom:32px;padding:24px}.factory-detail-container .factory-profile-icon-large{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.factory-detail-container .factory-profile-icon-large .material-symbols-outlined{color:#fff;font-size:40px}.factory-detail-container .factory-profile-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.factory-detail-container .factory-profile-name{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin:0}.factory-detail-container .factory-profile-code{color:#9ca3af;font-family:Courier New,monospace;font-size:16px;font-style:normal;font-weight:500;line-height:24px;margin:0}.factory-detail-container .factory-status-badge-large{border-radius:16px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.factory-detail-container .factory-status-normal{background:#10b981}.factory-detail-container .factory-status-warning{background:#f59e0b}.factory-detail-container .factory-status-error{background:#ef4444}.factory-detail-container .factory-profile-stats{border-left:1px solid #2d3339;border-right:1px solid #2d3339;display:flex;flex-direction:column;gap:16px;min-width:200px;padding:0 24px}.factory-detail-container .factory-stat-item{display:flex;flex-direction:column;gap:6px}.factory-detail-container .factory-stat-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.factory-detail-container .factory-stat-value{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.factory-detail-container .factory-stat-rate{align-items:center;display:flex;gap:12px}.factory-detail-container .factory-rate-bar-container{background:#2d3339;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.factory-detail-container .factory-rate-bar{border-radius:4px;height:100%;transition:width .3s ease}.factory-detail-container .factory-rate-bar.factory-rate-high{background:linear-gradient(90deg,#10b981,#059669)}.factory-detail-container .factory-rate-bar.factory-rate-medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.factory-detail-container .factory-rate-bar.factory-rate-low{background:linear-gradient(90deg,#ef4444,#dc2626)}.factory-detail-container .factory-profile-meta{display:flex;flex-direction:column;gap:12px;padding-left:24px}.factory-detail-container .factory-meta-item{display:flex;flex-direction:column;gap:4px}.factory-detail-container .factory-meta-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.factory-detail-container .factory-meta-value{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.factory-detail-container .factory-detail-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:32px}.factory-detail-container .factory-detail-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.factory-detail-container .factory-detail-section-title{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px}.factory-detail-container .factory-detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.factory-detail-container .factory-detail-group{display:flex;flex-direction:column;gap:8px}.factory-detail-container .factory-detail-group-full{grid-column:1/-1}.factory-detail-container .factory-detail-label{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.factory-detail-container .factory-detail-value{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;padding:10px 0}.factory-detail-container .factory-equipment-running{color:#10b981}.factory-detail-container .factory-equipment-idle{color:#f59e0b}.factory-detail-container .factory-equipment-stopped{color:#ef4444}.factory-detail-container .factory-detail-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.factory-detail-container .factory-detail-input::placeholder{color:#6b7280}.factory-detail-container .factory-detail-input:focus,.factory-detail-container .factory-detail-input:hover{border-color:#3b82f6}.factory-detail-container .factory-detail-dropdown-container{display:inline-block;position:relative;width:100%}.factory-detail-container .factory-detail-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.factory-detail-container .factory-detail-select:focus,.factory-detail-container .factory-detail-select:hover{border-color:#3b82f6}.factory-detail-container .factory-detail-dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.factory-detail-container .factory-detail-textarea{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;resize:vertical;transition:border-color .2s}.factory-detail-container .factory-detail-textarea::placeholder{color:#6b7280}.factory-detail-container .factory-detail-textarea:focus,.factory-detail-container .factory-detail-textarea:hover{border-color:#3b82f6}.factory-detail-container .factory-detail-form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.factory-detail-container .factory-detail-btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.factory-detail-container .factory-detail-btn-secondary:hover{background:#3d4349}.factory-detail-container .factory-detail-btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.factory-detail-container .factory-detail-btn-primary:hover{background:#2563eb}.factory-detail-container::-webkit-scrollbar{height:8px;width:8px}.factory-detail-container::-webkit-scrollbar-track{background:#181c14}.factory-detail-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.factory-detail-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.factory-detail-container .factory-detail-grid{grid-template-columns:1fr}.factory-detail-container .factory-profile-card{align-items:flex-start;flex-direction:column}.factory-detail-container .factory-profile-stats{border-left:none;border-right:none;padding-right:0}.factory-detail-container .factory-profile-meta,.factory-detail-container .factory-profile-stats{border-top:1px solid #2d3339;padding-left:0;padding-top:16px;width:100%}}@media (max-width:768px){.factory-detail-container .factory-detail-content{padding:20px}.factory-detail-container .factory-detail-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.factory-detail-container .factory-detail-header-left{width:100%}.factory-detail-container .factory-detail-header-right{justify-content:flex-end;width:100%}.factory-detail-container .factory-profile-card{padding:16px}.factory-detail-container .factory-detail-form-actions{flex-direction:column}.factory-detail-container .factory-detail-btn-primary,.factory-detail-container .factory-detail-btn-secondary{width:100%}}.equipment-list-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.equipment-list-container .equipment-list-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.equipment-list-container .equipment-list-header-left{display:flex;flex-direction:column}.equipment-list-container .equipment-list-header-right{text-align:right}.equipment-list-container .equipment-list-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.equipment-list-container .equipment-list-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.equipment-list-container .equipment-list-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;overflow:auto;padding:20px 24px}.equipment-list-container .equipment-list-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.equipment-list-container .equipment-control-left{align-items:center;display:flex;gap:12px}.equipment-list-container .equipment-control-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.equipment-list-container .equipment-dropdown-container{display:inline-block;position:relative}.equipment-list-container .equipment-status-dropdown{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:120px;outline:none;padding:8px 32px 8px 12px}.equipment-list-container .equipment-status-dropdown:focus,.equipment-list-container .equipment-status-dropdown:hover{border-color:#3b82f6}.equipment-list-container .equipment-dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.equipment-list-container .equipment-control-right{align-items:center;display:flex;gap:12px}.equipment-list-container .equipment-search-container{display:inline-block;position:relative}.equipment-list-container .equipment-search-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:280px;outline:none;padding:8px 40px 8px 12px}.equipment-list-container .equipment-search-input::placeholder{color:#6b7280}.equipment-list-container .equipment-search-input:focus,.equipment-list-container .equipment-search-input:hover{border-color:#3b82f6}.equipment-list-container .equipment-search-icon{color:#6b7280;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.equipment-list-container .equipment-add-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.equipment-list-container .equipment-add-btn:hover{background:#2563eb}.equipment-list-container .equipment-plus-icon{color:#fff;height:16px;width:16px}.equipment-list-container .equipment-table-container{overflow-x:auto}.equipment-list-container .equipment-table{border:1px solid #4b5563;border-collapse:collapse;width:100%}.equipment-list-container .equipment-table thead{background:#3741514d}.equipment-list-container .equipment-table th{border-bottom:1px solid #4b5563;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:16px 20px;text-align:left}.equipment-list-container .equipment-table tbody tr{border-bottom:1px solid #4b5563;transition:background .2s}.equipment-list-container .equipment-table tbody tr:hover{background:#3741514d}.equipment-list-container .equipment-table tbody tr:last-child{border-bottom:none}.equipment-list-container .equipment-table td{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;padding:16px 20px}.equipment-list-container .equipment-name-cell{padding:16px 20px!important}.equipment-list-container .equipment-name-info{align-items:center;display:flex;gap:12px}.equipment-list-container .equipment-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.equipment-list-container .equipment-icon .material-symbols-outlined{color:#fff;font-size:24px}.equipment-list-container .equipment-details{display:flex;flex-direction:column;gap:4px}.equipment-list-container .equipment-name{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.equipment-list-container .equipment-factory{color:#9ca3af;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:18px}.equipment-list-container .equipment-model{background:#2d3339;border-radius:4px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-family:Courier New,monospace;font-size:13px;font-style:normal;font-weight:500;line-height:18px;padding:4px 10px}.equipment-list-container .equipment-metric-value{align-items:center;color:#fff;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.equipment-list-container .equipment-cycle-time{color:#10b981;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.equipment-list-container .equipment-total-cycles{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.equipment-list-container .equipment-efficiency{display:flex;flex-direction:column;gap:6px}.equipment-list-container .equipment-efficiency-bar-container{background:#2d3339;border-radius:4px;height:8px;overflow:hidden;width:100px}.equipment-list-container .equipment-efficiency-bar{border-radius:4px;height:100%;transition:width .3s ease}.equipment-list-container .equipment-efficiency-bar.equipment-efficiency-high{background:linear-gradient(90deg,#10b981,#059669)}.equipment-list-container .equipment-efficiency-bar.equipment-efficiency-medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.equipment-list-container .equipment-efficiency-bar.equipment-efficiency-low{background:linear-gradient(90deg,#ef4444,#dc2626)}.equipment-list-container .equipment-efficiency-bar.equipment-efficiency-none{background:#2d3339}.equipment-list-container .equipment-efficiency-text{color:#fff;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:600;line-height:18px}.equipment-list-container .equipment-status-badge{border-radius:12px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:500;line-height:18px;padding:4px 12px}.equipment-list-container .equipment-status-running{background:#10b981}.equipment-list-container .equipment-status-standby{background:#6b7280}.equipment-list-container .equipment-status-maintenance{background:#f59e0b}.equipment-list-container .equipment-status-error{background:#ef4444}.equipment-list-container .equipment-action-buttons{align-items:center;display:flex;gap:12px}.equipment-list-container .equipment-action-btn{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:color .2s}.equipment-list-container .equipment-action-btn:hover{color:#fff}.equipment-list-container .equipment-edit-btn:hover{color:#3b82f6}.equipment-list-container .equipment-delete-btn:hover{color:#ef4444}.equipment-list-container .equipment-list-content::-webkit-scrollbar{height:8px;width:8px}.equipment-list-container .equipment-list-content::-webkit-scrollbar-track{background:#181c14}.equipment-list-container .equipment-list-content::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.equipment-list-container .equipment-list-content::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1400px){.equipment-list-container .equipment-table-container{overflow-x:auto}.equipment-list-container .equipment-table{min-width:1400px}}@media (max-width:768px){.equipment-list-container{padding:16px}.equipment-list-container .equipment-list-title{font-size:24px;line-height:32px}.equipment-list-container .equipment-list-subtitle{font-size:14px;line-height:20px}.equipment-list-container .equipment-list-controls{align-items:stretch;flex-direction:column;gap:16px}.equipment-list-container .equipment-control-left,.equipment-list-container .equipment-control-right{width:100%}.equipment-list-container .equipment-search-input{min-width:100%}.equipment-list-container .equipment-add-btn{justify-content:center;width:100%}}.equipment-register-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.equipment-register-container .equipment-register-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.equipment-register-container .equipment-register-header-left{display:flex;flex-direction:column}.equipment-register-container .equipment-register-header-right{align-items:center;display:flex;gap:12px}.equipment-register-container .equipment-register-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.equipment-register-container .equipment-register-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.equipment-register-container .equipment-cancel-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:background .2s}.equipment-register-container .equipment-cancel-btn:hover{background:#3d4349}.equipment-register-container .equipment-save-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:background .2s}.equipment-register-container .equipment-save-btn:hover{background:#2563eb}.equipment-register-container .equipment-register-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.equipment-register-container .equipment-form-section{margin-bottom:32px}.equipment-register-container .equipment-form-section:last-child{margin-bottom:0}.equipment-register-container .equipment-section-title{border-bottom:1px solid #2d3339;color:#fff;font-family:Inter,sans-serif;font-size:16px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.equipment-register-container .equipment-form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.equipment-register-container .equipment-form-group{display:flex;flex-direction:column;gap:8px}.equipment-register-container .equipment-form-group-full{grid-column:1/-1}.equipment-register-container .equipment-form-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-weight:500}.equipment-register-container .equipment-required{color:#ef4444}.equipment-register-container .equipment-form-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s}.equipment-register-container .equipment-form-input::placeholder{color:#6b7280}.equipment-register-container .equipment-form-input:focus,.equipment-register-container .equipment-form-input:hover{border-color:#3b82f6}.equipment-register-container .equipment-dropdown-container{display:inline-block;position:relative;width:100%}.equipment-register-container .equipment-form-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.equipment-register-container .equipment-form-select:focus,.equipment-register-container .equipment-form-select:hover{border-color:#3b82f6}.equipment-register-container .equipment-form-select option{background:#181c14;color:#fff;padding:10px}.equipment-register-container .equipment-dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.equipment-register-container .equipment-form-textarea{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;resize:vertical;transition:border-color .2s}.equipment-register-container .equipment-form-textarea::placeholder{color:#6b7280}.equipment-register-container .equipment-form-textarea:focus,.equipment-register-container .equipment-form-textarea:hover{border-color:#3b82f6}.equipment-register-container .equipment-form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.equipment-register-container .equipment-btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s}.equipment-register-container .equipment-btn-secondary:hover{background:#3d4349}.equipment-register-container .equipment-btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s}.equipment-register-container .equipment-btn-primary:hover{background:#2563eb}.equipment-register-container::-webkit-scrollbar{width:8px}.equipment-register-container::-webkit-scrollbar-track{background:#181c14}.equipment-register-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.equipment-register-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.equipment-register-container .equipment-form-grid{grid-template-columns:1fr}}@media (max-width:768px){.equipment-register-container .equipment-register-content{padding:20px}.equipment-register-container .equipment-register-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.equipment-register-container .equipment-register-header-right{justify-content:flex-end;width:100%}.equipment-register-container .equipment-form-actions{flex-direction:column}.equipment-register-container .equipment-btn-primary,.equipment-register-container .equipment-btn-secondary{width:100%}}.equipment-detail-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.equipment-detail-container .equipment-detail-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.equipment-detail-container .equipment-detail-header-left{align-items:center;display:flex;gap:16px}.equipment-detail-container .equipment-detail-header-right{align-items:center;display:flex;gap:12px}.equipment-detail-container .eq-back-btn{align-items:center;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.equipment-detail-container .equipment-detail-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.equipment-detail-container .equipment-detail-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.equipment-detail-container .eq-cancel-header-btn,.equipment-detail-container .eq-delete-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s}.equipment-detail-container .eq-delete-header-btn:hover{background:#ef4444;border-color:#ef4444}.equipment-detail-container .eq-cancel-header-btn:hover{background:#3d4349}.equipment-detail-container .eq-edit-header-btn,.equipment-detail-container .eq-save-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:background .2s}.equipment-detail-container .eq-edit-header-btn:hover,.equipment-detail-container .eq-save-header-btn:hover{background:#2563eb}.equipment-detail-container .equipment-detail-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.equipment-detail-container .eq-profile-card{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:12px;display:flex;gap:24px;margin-bottom:32px;padding:24px}.equipment-detail-container .eq-profile-icon-large{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:12px;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.equipment-detail-container .eq-profile-icon-large .material-symbols-outlined{color:#fff;font-size:40px}.equipment-detail-container .eq-profile-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.equipment-detail-container .eq-profile-name{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-weight:700;margin:0}.equipment-detail-container .eq-profile-model{color:#9ca3af;font-family:Courier New,monospace;font-size:16px;font-weight:500;margin:0}.equipment-detail-container .eq-status-badge-large{border-radius:16px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:14px;font-weight:500;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.equipment-detail-container .eq-status-running{background:#10b981}.equipment-detail-container .eq-status-standby{background:#6b7280}.equipment-detail-container .eq-status-maintenance{background:#f59e0b}.equipment-detail-container .eq-status-error{background:#ef4444}.equipment-detail-container .eq-profile-stats{border-left:1px solid #2d3339;border-right:1px solid #2d3339;display:flex;flex-direction:column;gap:16px;min-width:200px;padding:0 24px}.equipment-detail-container .eq-stat-item{display:flex;flex-direction:column;gap:6px}.equipment-detail-container .eq-stat-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-weight:500}.equipment-detail-container .eq-stat-value{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-weight:600}.equipment-detail-container .eq-stat-efficiency{align-items:center;display:flex;gap:12px}.equipment-detail-container .eq-efficiency-bar-container{background:#2d3339;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.equipment-detail-container .eq-efficiency-bar{border-radius:4px;height:100%;transition:width .3s ease}.equipment-detail-container .eq-efficiency-bar.eq-efficiency-high{background:linear-gradient(90deg,#10b981,#059669)}.equipment-detail-container .eq-efficiency-bar.eq-efficiency-medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.equipment-detail-container .eq-efficiency-bar.eq-efficiency-low{background:linear-gradient(90deg,#ef4444,#dc2626)}.equipment-detail-container .eq-efficiency-bar.eq-efficiency-none{background:#2d3339}.equipment-detail-container .eq-profile-meta{display:flex;flex-direction:column;gap:12px;padding-left:24px}.equipment-detail-container .eq-meta-item{display:flex;flex-direction:column;gap:4px}.equipment-detail-container .eq-meta-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-weight:500}.equipment-detail-container .eq-meta-value{color:#fff;font-family:Inter,sans-serif;font-size:14px}.equipment-detail-container .eq-detail-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:32px}.equipment-detail-container .eq-detail-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.equipment-detail-container .eq-detail-section-title{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-weight:600;margin-bottom:20px}.equipment-detail-container .eq-detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.equipment-detail-container .eq-detail-group{display:flex;flex-direction:column;gap:8px}.equipment-detail-container .eq-detail-group-full{grid-column:1/-1}.equipment-detail-container .eq-detail-label{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-weight:500}.equipment-detail-container .eq-detail-value{color:#fff;font-family:Inter,sans-serif;font-size:16px;padding:10px 0}.equipment-detail-container .eq-temperature{color:#ef4444}.equipment-detail-container .eq-pressure{color:#8b5cf6}.equipment-detail-container .eq-cycle-time{color:#10b981}.equipment-detail-container .eq-detail-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s}.equipment-detail-container .eq-detail-input:focus,.equipment-detail-container .eq-detail-input:hover{border-color:#3b82f6}.equipment-detail-container .eq-detail-dropdown-container{position:relative;width:100%}.equipment-detail-container .eq-detail-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.equipment-detail-container .eq-detail-select:focus,.equipment-detail-container .eq-detail-select:hover{border-color:#3b82f6}.equipment-detail-container .eq-detail-dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.equipment-detail-container .eq-detail-textarea{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;resize:vertical;transition:border-color .2s}.equipment-detail-container .eq-detail-textarea:focus,.equipment-detail-container .eq-detail-textarea:hover{border-color:#3b82f6}.equipment-detail-container .eq-detail-form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.equipment-detail-container .eq-detail-btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s}.equipment-detail-container .eq-detail-btn-secondary:hover{background:#3d4349}.equipment-detail-container .eq-detail-btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s}.equipment-detail-container .eq-detail-btn-primary:hover{background:#2563eb}.equipment-detail-container::-webkit-scrollbar{width:8px}.equipment-detail-container::-webkit-scrollbar-track{background:#181c14}.equipment-detail-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.equipment-detail-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.equipment-detail-container .eq-detail-grid{grid-template-columns:1fr}.equipment-detail-container .eq-profile-card{align-items:flex-start;flex-direction:column}.equipment-detail-container .eq-profile-stats{border-left:none;border-right:none;padding-right:0}.equipment-detail-container .eq-profile-meta,.equipment-detail-container .eq-profile-stats{border-top:1px solid #2d3339;padding-left:0;padding-top:16px;width:100%}}@media (max-width:768px){.equipment-detail-container .equipment-detail-content{padding:20px}.equipment-detail-container .equipment-detail-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.equipment-detail-container .equipment-detail-header-left,.equipment-detail-container .equipment-detail-header-right{width:100%}.equipment-detail-container .equipment-detail-header-right{justify-content:flex-end}.equipment-detail-container .eq-profile-card{padding:16px}.equipment-detail-container .eq-detail-form-actions{flex-direction:column}.equipment-detail-container .eq-detail-btn-primary,.equipment-detail-container .eq-detail-btn-secondary{width:100%}}.mypage-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.mypage-container .mypage-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.mypage-container .mypage-header-left{display:flex;flex-direction:column}.mypage-container .mypage-header-right{align-items:center;display:flex;gap:12px}.mypage-container .mypage-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.mypage-container .mypage-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.mypage-container .mypage-edit-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.mypage-container .mypage-edit-header-btn:hover{background:#2563eb}.mypage-container .mypage-cancel-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.mypage-container .mypage-cancel-header-btn:hover{background:#3d4349}.mypage-container .mypage-save-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.mypage-container .mypage-save-header-btn:hover{background:#2563eb}.mypage-container .mypage-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.mypage-container .mypage-profile-card{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:12px;display:flex;gap:24px;margin-bottom:32px;padding:24px}.mypage-container .mypage-profile-avatar-large{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-family:Inter,sans-serif;font-size:32px;font-style:normal;font-weight:700;height:80px;justify-content:center;line-height:40px;width:80px}.mypage-container .mypage-profile-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.mypage-container .mypage-profile-name{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin:0}.mypage-container .mypage-profile-email{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0}.mypage-container .mypage-role-badge{background:#3b82f6;border-radius:16px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.mypage-container .mypage-profile-meta{border-left:1px solid #2d3339;display:flex;flex-direction:column;gap:12px;padding-left:24px}.mypage-container .mypage-meta-item{display:flex;flex-direction:column;gap:4px}.mypage-container .mypage-meta-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.mypage-container .mypage-meta-value{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.mypage-container .mypage-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:32px}.mypage-container .mypage-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.mypage-container .mypage-section-title{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px}.mypage-container .mypage-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.mypage-container .mypage-group{display:flex;flex-direction:column;gap:8px}.mypage-container .mypage-label{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.mypage-container .mypage-value{font-size:16px;line-height:24px;padding:10px 0}.mypage-container .mypage-input,.mypage-container .mypage-value{color:#fff;font-family:Inter,sans-serif;font-style:normal;font-weight:400}.mypage-container .mypage-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;font-size:14px;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.mypage-container .mypage-input::placeholder{color:#6b7280}.mypage-container .mypage-input:focus,.mypage-container .mypage-input:hover{border-color:#3b82f6}.mypage-container .mypage-form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.mypage-container .mypage-btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.mypage-container .mypage-btn-secondary:hover{background:#3d4349}.mypage-container .mypage-btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.mypage-container .mypage-btn-primary:hover{background:#2563eb}.mypage-container::-webkit-scrollbar{height:8px;width:8px}.mypage-container::-webkit-scrollbar-track{background:#181c14}.mypage-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.mypage-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.mypage-container .mypage-grid{grid-template-columns:1fr}.mypage-container .mypage-profile-card{align-items:flex-start;flex-direction:column}.mypage-container .mypage-profile-meta{border-left:none;border-top:1px solid #2d3339;padding-left:0;padding-top:16px;width:100%}}@media (max-width:768px){.mypage-container .mypage-content{padding:20px}.mypage-container .mypage-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.mypage-container .mypage-header-left{width:100%}.mypage-container .mypage-header-right{justify-content:flex-end;width:100%}.mypage-container .mypage-profile-card{padding:16px}.mypage-container .mypage-form-actions{flex-direction:column}.mypage-container .mypage-btn-primary,.mypage-container .mypage-btn-secondary{width:100%}}.system-management-container{background-color:#0b0c0e;display:flex;height:100%;max-height:100%;overflow:hidden}.system-management-container .system-sidebar{background:#21252b;border-right:1px solid #1b1d20;display:flex;flex-direction:column;overflow-y:auto;width:280px}.system-management-container .sidebar-header{border-bottom:1px solid #1b1d20;padding:24px 20px}.system-management-container .sidebar-title{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin-bottom:8px}.system-management-container .sidebar-subtitle{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.system-management-container .sidebar-nav{flex:1 1;padding:16px 0}.system-management-container .nav-item{align-items:center;color:#9ca3af;cursor:pointer;display:flex;gap:12px;padding:12px 20px;transition:all .2s}.system-management-container .nav-item:hover{background:#181c14;color:#fff}.system-management-container .nav-item.active{background:#3b82f61a;border-left:3px solid #3b82f6;color:#3b82f6}.system-management-container .nav-icon{align-items:center;display:flex;font-size:20px;height:20px;justify-content:center;width:20px}.system-management-container .nav-label{font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.system-management-container .system-main-content{flex:1 1;overflow-y:auto;padding:24px}.system-management-container .system-settings-content{width:100%}.system-management-container .settings-title{color:#fff;font-family:Inter,sans-serif;font-size:28px;font-style:normal;font-weight:700;line-height:36px;margin-bottom:24px}.system-management-container .settings-form{background:#21252b;border:1px solid #1b1d20;border-radius:8px;padding:32px;width:100%}.system-management-container .form-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:24px}.system-management-container .form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.system-management-container .form-section:has(+.form-actions),.system-management-container .form-section:last-child{border-bottom:none}.system-management-container .form-section-title{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-weight:600;line-height:24px;margin-bottom:16px}.system-management-container .form-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}.system-management-container .form-row:last-child{margin-bottom:0}.system-management-container .form-row.single{grid-template-columns:1fr}.system-management-container .form-group{display:flex;flex-direction:column;gap:8px}.system-management-container .form-group.full-width{grid-column:1/-1}.system-management-container .form-label{font-weight:500}.system-management-container .form-input,.system-management-container .form-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;line-height:20px}.system-management-container .form-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;font-weight:400;outline:none;padding:10px 12px;transition:border-color .2s}.system-management-container .form-input:focus,.system-management-container .form-input:hover{border-color:#3b82f6}.system-management-container .form-input.readonly{background:#1a1d21;border-color:#1b1d20;color:#6b7280;cursor:not-allowed}.system-management-container .form-input.readonly:hover{border-color:#1b1d20}.system-management-container .select-container{position:relative}.system-management-container .form-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 36px 10px 12px;transition:border-color .2s;width:100%}.system-management-container .form-select:focus,.system-management-container .form-select:hover{border-color:#3b82f6}.system-management-container .select-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.system-management-container .form-actions{align-items:center;border-top:1px solid #2d3339;display:flex;gap:16px;justify-content:flex-end;padding-top:24px}.system-management-container .save-message{font-family:Inter,sans-serif;font-size:14px;font-weight:500}.system-management-container .save-message.success{color:#10b981}.system-management-container .save-message.error{color:#ef4444}.system-management-container .save-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.system-management-container .save-btn:hover:not(:disabled){background:#2563eb}.system-management-container .save-btn:disabled{background:#4b5563;cursor:not-allowed}.system-management-container .coming-soon{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;padding:40px 0;text-align:center}.system-management-container .system-main-content::-webkit-scrollbar,.system-management-container .system-sidebar::-webkit-scrollbar{width:8px}.system-management-container .system-main-content::-webkit-scrollbar-track,.system-management-container .system-sidebar::-webkit-scrollbar-track{background:#181c14}.system-management-container .system-main-content::-webkit-scrollbar-thumb,.system-management-container .system-sidebar::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.system-management-container .system-main-content::-webkit-scrollbar-thumb:hover,.system-management-container .system-sidebar::-webkit-scrollbar-thumb:hover{background:#3d4349}.system-management-container .file-upload-container{display:flex;flex-direction:column;gap:12px}.system-management-container .image-preview{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:6px;display:flex;height:80px;justify-content:center;overflow:hidden;width:120px}.system-management-container .image-preview.favicon-preview{height:48px;width:48px}.system-management-container .image-preview img{max-height:100%;max-width:100%;object-fit:contain}.system-management-container .file-upload-actions{display:flex;gap:8px}.system-management-container .file-upload-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:background .2s}.system-management-container .file-upload-btn:hover{background:#2563eb}.system-management-container .file-upload-btn .material-symbols-outlined{font-size:18px}.system-management-container .file-delete-btn{align-items:center;background:#0000;border:1px solid #ef4444;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.system-management-container .file-delete-btn:hover{background:#ef44441a}.system-management-container .file-delete-btn .material-symbols-outlined{font-size:18px}.system-management-container .upload-status{color:#3b82f6;font-family:Inter,sans-serif;font-size:13px}.system-management-container .form-hint{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;margin-top:8px}.system-management-container .toggle-container{align-items:center;display:flex;gap:12px}.system-management-container .toggle-status{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-weight:500;min-width:30px}.system-management-container .toggle-switch{flex-shrink:0;height:24px;position:relative;width:48px}.system-management-container .toggle-switch input{height:0;opacity:0;width:0}.system-management-container .toggle-slider{background-color:#4b5563;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.system-management-container .toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.system-management-container .toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.system-management-container .toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.system-management-container .toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 2px #3b82f64d}.system-management-container .toggle-switch.disabled .toggle-slider{background-color:#374151;cursor:not-allowed;opacity:.5}.system-management-container .toggle-switch.disabled input:checked+.toggle-slider{background-color:#374151}.system-management-container .etl-status-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.system-management-container .etl-status-card{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:8px;display:flex;gap:12px;padding:16px}.system-management-container .etl-status-icon{align-items:center;background:#21252b;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.system-management-container .etl-status-icon .material-symbols-outlined{color:#9ca3af;font-size:24px}.system-management-container .etl-status-icon .status-running{animation:spin 2s linear infinite;color:#3b82f6}.system-management-container .etl-status-icon .status-idle,.system-management-container .etl-status-icon .status-success{color:#22c55e}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.system-management-container .etl-status-info{display:flex;flex-direction:column;gap:4px}.system-management-container .etl-status-label{color:#9ca3af;font-size:12px}.system-management-container .etl-status-value{color:#fff;font-size:14px;font-weight:600}.system-management-container .etl-status-value.running{color:#3b82f6}.system-management-container .etl-status-value.idle{color:#22c55e}.system-management-container .db-connection-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.system-management-container .db-connection-card{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:8px;display:flex;gap:16px;padding:20px}.system-management-container .db-connection-card.connected{border-color:#22c55e}.system-management-container .db-connection-card.disconnected{border-color:#ef4444}.system-management-container .db-icon{align-items:center;background:#21252b;border-radius:8px;display:flex;height:48px;justify-content:center;width:48px}.system-management-container .db-connection-card.connected .db-icon .material-symbols-outlined{color:#22c55e;font-size:28px}.system-management-container .db-connection-card.disconnected .db-icon .material-symbols-outlined{color:#ef4444;font-size:28px}.system-management-container .db-info{display:flex;flex-direction:column;gap:4px}.system-management-container .db-name{color:#fff;font-size:14px;font-weight:600}.system-management-container .db-status{color:#9ca3af;font-size:13px}.system-management-container .db-connection-card.connected .db-status{color:#22c55e}.system-management-container .db-connection-card.disconnected .db-status{color:#ef4444}.system-management-container .etl-history-table-container{background:#181c14;border:1px solid #2d3339;border-radius:8px;max-height:400px;overflow:hidden;overflow-y:auto}.system-management-container .etl-history-table{border-collapse:collapse;width:100%}.system-management-container .etl-history-table thead{background:#21252b;position:-webkit-sticky;position:sticky;top:0}.system-management-container .etl-history-table th{border-bottom:1px solid #2d3339;color:#9ca3af;font-size:13px;font-weight:600;padding:12px 16px;text-align:left}.system-management-container .etl-history-table td{border-bottom:1px solid #2d3339;color:#fff;font-size:13px;padding:12px 16px}.system-management-container .etl-history-table tbody tr:hover{background:#21252b}.system-management-container .etl-history-table .status-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;padding:4px 8px}.system-management-container .etl-history-table .status-badge.success{background:#22c55e33;color:#22c55e}.system-management-container .etl-history-table .status-badge.failed{background:#ef444433;color:#ef4444}.system-management-container .etl-history-table .table-list{color:#9ca3af;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-management-container .etl-history-table .error-message{color:#ef4444;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-management-container .etl-history-table .no-data{color:#9ca3af;padding:40px 16px;text-align:center}.system-management-container .log-filter-buttons{display:flex;gap:8px;margin-bottom:16px}.system-management-container .filter-btn{background:#21252b;border:1px solid #2d3339;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.system-management-container .filter-btn:hover{background:#2d3339;color:#e5e7eb}.system-management-container .filter-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.system-management-container .login-log-table{table-layout:fixed}.system-management-container .etl-history-table .status-badge.info{background:#3b82f633;color:#3b82f6}.system-management-container .etl-history-table .status-badge.error{background:#ef444433;color:#ef4444}@media (max-width:1200px){.system-management-container .etl-status-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.system-management-container .db-connection-grid,.system-management-container .etl-status-grid,.system-management-container .form-row{grid-template-columns:1fr}}@media (max-width:768px){.system-management-container .system-management-container{flex-direction:column}.system-management-container .system-sidebar{border-bottom:1px solid #1b1d20;border-right:none;max-height:200px;width:100%}.system-management-container .sidebar-nav{display:flex;overflow-x:auto;padding:12px 0}.system-management-container .nav-item{justify-content:center;min-width:140px;white-space:nowrap}.system-management-container .system-main-content{padding:16px}.system-management-container .settings-form{padding:20px}}.role-management-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.role-management-container .role-management-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.role-management-container .role-management-header-left{display:flex;flex-direction:column}.role-management-container .role-management-header-right{text-align:right}.role-management-container .role-management-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.role-management-container .role-management-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.role-management-container .role-management-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:20px 24px}.role-management-container .role-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.role-management-container .control-left,.role-management-container .control-right{align-items:center;display:flex;gap:12px}.role-management-container .search-container{display:inline-block;position:relative}.role-management-container .search-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:280px;outline:none;padding:8px 40px 8px 12px}.role-management-container .search-input::placeholder{color:#6b7280}.role-management-container .search-input:focus,.role-management-container .search-input:hover{border-color:#3b82f6}.role-management-container .search-icon{color:#6b7280;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.role-management-container .btn-add-role{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.role-management-container .btn-add-role:hover{background:#2563eb}.role-management-container .plus-icon{color:#fff;height:16px;width:16px}.role-management-container .role-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.role-management-container .stat-card{align-items:center;background:#21252b;border:1px solid #1b1d20;border-radius:8px;display:flex;gap:16px;padding:20px}.role-management-container .stat-icon{align-items:center;border-radius:8px;display:flex;height:48px;justify-content:center;width:48px}.role-management-container .stat-icon .material-symbols-outlined{font-size:24px}.role-management-container .stat-info{flex:1 1}.role-management-container .stat-label{color:#9ca3af;font-size:13px;margin-bottom:4px}.role-management-container .stat-value{color:#fff;font-size:24px;font-weight:600}.role-management-container .role-table-container{overflow:hidden}.role-management-container .role-table{border:1px solid #4b5563;border-collapse:collapse;width:100%}.role-management-container .role-table thead{background:#3741514d}.role-management-container .role-table th{border-bottom:1px solid #4b5563;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:16px 20px;text-align:left}.role-management-container .role-table tbody tr{border-bottom:1px solid #4b5563;cursor:pointer;transition:background .2s}.role-management-container .role-table tbody tr:hover{background:#3741514d}.role-management-container .role-table tbody tr:last-child{border-bottom:none}.role-management-container .role-table td{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;padding:16px 20px}.role-management-container .role-name{align-items:center;color:#fff;display:flex;font-weight:500;gap:8px}.role-management-container .role-name .material-symbols-outlined{color:#3b82f6;font-size:20px}.role-management-container .role-code{background:#2d3339;border-radius:4px;color:#fff;font-family:monospace;font-size:12px;font-weight:600;padding:4px 12px}.role-management-container .permission-badges{display:flex;flex-wrap:wrap;gap:6px}.role-management-container .permission-badge{background:#4ade801a;border-radius:12px;color:#4ade80;font-size:11px;font-weight:500;padding:4px 10px}.role-management-container .permission-badge.more{background:#2d3339;color:#9ca3af}.role-management-container .status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.role-management-container .status-badge.active{background:#4ade801a;color:#4ade80}.role-management-container .status-badge.inactive{background:#ef4444;color:#fff}.role-management-container .action-buttons{display:flex;gap:8px}.role-management-container .btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.role-management-container .btn-icon:hover{color:#3b82f6}.role-management-container .modal-overlay{background:#000000b3;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.role-management-container .role-detail-modal{background:#21252b;border:1px solid #4b5563;border-radius:12px;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:900px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.role-management-container .modal-header{align-items:center;border-bottom:1px solid #4b5563;display:flex;justify-content:space-between;padding:20px 24px}.role-management-container .modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.role-management-container .btn-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.role-management-container .btn-close:hover{color:#fff}.role-management-container .modal-content{flex:1 1;max-width:none;overflow-y:auto;padding:24px;width:100%}.role-management-container .detail-section{margin-bottom:20px}.role-management-container .detail-section label{color:#9ca3af;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.role-management-container .detail-value{color:#fff;font-size:14px}.role-management-container .permission-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.role-management-container .permission-item{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.role-management-container .permission-label{color:#fff;font-size:13px}.role-management-container .permission-status{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px}.role-management-container .permission-status.granted{background:#4ade801a;color:#4ade80}.role-management-container .permission-status.denied{background:#ef44441a;color:#ef4444}.role-management-container .modal-actions{border-top:1px solid #4b5563;display:flex;gap:12px;padding:20px 24px}.role-management-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px;transition:background .3s ease}.role-management-container .btn-primary:hover{background:#2563eb}.role-management-container .btn-secondary{background:#0000;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px;transition:all .3s ease}.role-management-container .btn-secondary:hover{border-color:#3b82f6}.permissions-tree-modal{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-top:12px;max-width:100%}.permission-category-modal{background:#181c14;border:1px solid #2d3339;border-radius:8px;min-width:0;overflow:hidden}.category-header-modal{align-items:center;background:#1a1d24;border-bottom:1px solid #2d3339;display:flex;gap:8px;padding:12px 16px}.category-icon-modal{flex-shrink:0;font-size:16px}.category-name-modal{color:#fff;flex:1 1;font-family:Inter,sans-serif;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.permission-count-modal{color:#9ca3af;flex-shrink:0;font-family:Inter,sans-serif;font-size:12px;font-weight:400}.category-permissions-modal{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);padding:16px}.permission-item-modal{align-items:center;background:#0f1117;border:1px solid #2d3339;border-radius:6px;display:flex;gap:10px;min-width:0;padding:10px 12px}.permission-item-modal.granted{background:#3b82f60d;border-color:#3b82f6}.permission-icon-modal{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.permission-label-modal{color:#fff;flex:1 1;font-family:Inter,sans-serif;font-size:13px;font-style:normal;font-weight:400;line-height:18px;min-width:0;overflow-wrap:break-word;white-space:normal;word-break:keep-all}.no-permissions{color:#9ca3af;font-size:14px;padding:20px;text-align:center}.role-management-container .edit-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.role-management-container .edit-input:focus{border-color:#3b82f6;outline:none}.role-management-container .edit-textarea{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;padding:10px 12px;resize:vertical;transition:border-color .2s ease;width:100%}.role-management-container .edit-textarea:focus{border-color:#3b82f6;outline:none}.role-management-container .permission-item-modal.selectable{cursor:pointer;transition:all .2s ease}.role-management-container .permission-item-modal.selectable:hover{background:#3b82f61a;border-color:#3b82f6}.role-management-container .permission-item-modal.selectable.selected{background:#3b82f60d;border-color:#3b82f6}.role-management-container .permission-checkbox{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:16px;width:16px}.role-registration-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.role-registration-container .role-registration-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.role-registration-container .role-registration-header-left{display:flex;flex-direction:column;margin:4px 0}.role-registration-container .role-registration-header-right{align-items:center;display:flex;gap:12px}.role-registration-container .role-registration-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.role-registration-container .role-registration-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.role-registration-container .cancel-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.role-registration-container .cancel-btn:hover{background:#3d4349}.role-registration-container .save-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.role-registration-container .save-btn:hover{background:#2563eb}.role-registration-container .role-registration-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.role-registration-container .form-section{margin-bottom:32px}.role-registration-container .form-section:last-child{margin-bottom:0}.role-registration-container .section-title{border-bottom:1px solid #2d3339;color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px;padding-bottom:12px}.role-registration-container .form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.role-registration-container .form-group{display:flex;flex-direction:column;gap:4px}.role-registration-container .form-group.full-width{grid-column:1/-1}.role-registration-container .form-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.role-registration-container .required{color:#ef4444}.role-registration-container .form-input,.role-registration-container .form-textarea{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.role-registration-container .form-input::placeholder,.role-registration-container .form-textarea::placeholder{color:#6b7280}.role-registration-container .form-input:focus,.role-registration-container .form-input:hover,.role-registration-container .form-textarea:focus,.role-registration-container .form-textarea:hover{border-color:#3b82f6}.role-registration-container .form-textarea{font-family:inherit;min-height:80px;resize:vertical}.role-registration-container .dropdown-container{display:inline-block;position:relative;width:100%}.role-registration-container .form-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.role-registration-container .form-select:focus,.role-registration-container .form-select:hover{border-color:#3b82f6}.role-registration-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.role-registration-container .permissions-container{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.role-registration-container .permission-checkbox{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:all .2s}.role-registration-container .permission-checkbox:hover{background:#3b82f60d;border-color:#3b82f6}.role-registration-container .permission-checkbox input[type=checkbox]{cursor:pointer;opacity:0;position:absolute}.role-registration-container .checkbox-custom{background:#181c14;border:2px solid #2d3339;border-radius:4px;flex-shrink:0;height:18px;position:relative;transition:all .2s;width:18px}.role-registration-container .permission-checkbox input[type=checkbox]:checked+.checkbox-custom{background:#3b82f6;border-color:#3b82f6}.role-registration-container .permission-checkbox input[type=checkbox]:checked+.checkbox-custom:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:5px;position:absolute;top:2px;transform:rotate(45deg);width:4px}.role-registration-container .permission-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.role-registration-container .form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.role-registration-container .btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.role-registration-container .btn-secondary:hover{background:#3d4349}.role-registration-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.role-registration-container .btn-primary:hover{background:#2563eb}.role-registration-container::-webkit-scrollbar{height:8px;width:8px}.role-registration-container::-webkit-scrollbar-track{background:#181c14}.role-registration-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.role-registration-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.role-registration-container .form-grid{grid-template-columns:1fr}.role-registration-container .permissions-container{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.role-registration-container .role-registration-content{padding:20px}.role-registration-container .role-registration-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.role-registration-container .role-registration-header-right{justify-content:flex-end;width:100%}.role-registration-container .permissions-container{grid-template-columns:1fr}.role-registration-container .form-actions{flex-direction:column}.role-registration-container .btn-primary,.role-registration-container .btn-secondary{width:100%}}.notice-management-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.notice-management-container .notice-management-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.notice-management-container .notice-management-header-left{display:flex;flex-direction:column}.notice-management-container .notice-management-header-right{text-align:right}.notice-management-container .notice-management-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.notice-management-container .notice-management-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.notice-management-container .notice-management-content{background:#21252b;border:1px solid #1b1d20;margin-bottom:24px;padding:20px 24px}.notice-management-container .btn-add-notice{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.notice-management-container .btn-add-notice:hover{background:#2563eb}.notice-management-container .plus-icon{color:#fff;height:16px;width:16px}.notice-management-container .notice-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.notice-management-container .stat-card{align-items:center;background:#21252b;border:1px solid #1b1d20;border-radius:8px;display:flex;gap:16px;padding:20px}.notice-management-container .stat-icon{align-items:center;border-radius:8px;display:flex;height:48px;justify-content:center;width:48px}.notice-management-container .stat-icon .material-symbols-outlined{font-size:24px}.notice-management-container .stat-info{flex:1 1}.notice-management-container .stat-label{color:#9ca3af;font-size:13px;margin-bottom:4px}.notice-management-container .stat-value{color:#fff;font-size:24px;font-weight:600}.notice-management-container .notice-filters{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:10px}.notice-management-container .filters-left{align-items:flex-end;display:flex;gap:16px}.notice-management-container .filters-right{align-items:center;display:flex;gap:12px}.notice-management-container .search-box{align-items:center;display:flex;position:relative}.notice-management-container .search-icon{color:#9ca3af;font-size:20px;left:12px;pointer-events:none;position:absolute}.notice-management-container .search-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-size:14px;outline:none;padding:10px 16px 10px 40px;transition:border-color .2s;width:240px}.notice-management-container .search-input::placeholder{color:#6b7280}.notice-management-container .search-input:focus{border-color:#3b82f6}.notice-management-container .filter-group{display:flex;flex-direction:column;gap:8px}.notice-management-container .filter-group label{color:#9ca3af;font-size:13px;font-weight:500}.notice-management-container .filter-group select{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;min-width:150px;outline:none;padding:10px 16px}.notice-management-container .filter-group select:focus{border-color:#3b82f6}.notice-management-container .notice-table-container{overflow:hidden}.notice-management-container .notice-table{border:1px solid #4b5563;border-collapse:collapse;width:100%}.notice-management-container .notice-table thead{background:#3741514d}.notice-management-container .notice-table th{border-bottom:1px solid #4b5563;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:16px 20px;text-align:center}.notice-management-container .notice-table tbody tr{border-bottom:1px solid #4b5563;cursor:pointer;transition:background .2s}.notice-management-container .notice-table tbody tr:hover{background:#3741514d}.notice-management-container .notice-table tbody tr:last-child{border-bottom:none}.notice-management-container .notice-table td{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;padding:16px 20px;text-align:center}.notice-management-container .notice-table td.notice-title-cell{text-align:left}.notice-management-container .pin-icon{color:#fbbf24;font-size:20px}.notice-management-container .category-badge{background:#2d3339;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px}.notice-management-container .notice-title{color:#fff;font-size:14px;font-weight:500}.notice-management-container .views-count{align-items:center;display:flex;gap:6px;justify-content:center}.notice-management-container .views-count .material-symbols-outlined{color:#9ca3af;font-size:16px}.notice-management-container .priority-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px}.notice-management-container .status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.notice-management-container .status-badge.active{background:#4ade801a;color:#4ade80}.notice-management-container .status-badge.inactive{background:#2d3339;color:#9ca3af}.notice-management-container .modal-overlay{background:#000000b3;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.notice-management-container .notice-add-modal{background:#21252b;border:1px solid #4b5563;border-radius:12px;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:700px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.notice-management-container .notice-add-modal .form-row{display:flex;gap:16px;margin-bottom:20px}.notice-management-container .notice-add-modal .form-row .form-section{flex:1 1;margin-bottom:0}.notice-management-container .notice-add-modal .form-section{box-sizing:border-box;margin-bottom:20px;width:100%}.notice-management-container .notice-add-modal .form-section label{color:#fff;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.notice-management-container .required{color:#ef4444;margin-left:4px}.notice-management-container .notice-add-modal .form-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;box-sizing:border-box;color:#fff;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;transition:border-color .3s ease;width:100%}.notice-management-container .notice-add-modal .form-input::placeholder{color:#6b7280}.notice-management-container .notice-add-modal .form-input:focus,.notice-management-container .notice-add-modal .form-input:hover{border-color:#3b82f6}.notice-management-container .notice-add-modal .form-input[type=datetime-local]{color-scheme:dark;cursor:pointer}.notice-management-container .notice-add-modal .form-input[type=datetime-local]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:18px;border-radius:4px;cursor:pointer;height:20px;opacity:1;padding:4px;width:20px}.notice-management-container .notice-add-modal .form-input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{background-color:#3b82f64d}.notice-management-container .notice-add-modal .form-select{background:#181c14;border:1px solid #2d3339;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;transition:border-color .3s ease;width:100%}.notice-management-container .notice-add-modal .form-select:focus,.notice-management-container .notice-add-modal .form-select:hover{border-color:#3b82f6}.notice-management-container .notice-add-modal .form-textarea{background:#181c14;border:1px solid #2d3339;border-radius:6px;box-sizing:border-box;color:#fff;font-family:Inter,sans-serif;font-size:14px;line-height:1.6;outline:none;padding:10px 12px;resize:vertical;transition:border-color .3s ease;width:100%}.notice-management-container .notice-add-modal .form-textarea::placeholder{color:#6b7280}.notice-management-container .notice-add-modal .form-textarea:focus,.notice-management-container .notice-add-modal .form-textarea:hover{border-color:#3b82f6}.notice-management-container .notice-add-modal .checkbox-section{margin-bottom:20px}.notice-management-container .notice-add-modal .checkbox-section>label:first-child{color:#fff;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.notice-management-container .notice-add-modal .checkbox-wrapper{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:6px;box-sizing:border-box;cursor:pointer;display:flex;padding:10px 12px;transition:border-color .3s ease;width:100%}.notice-management-container .notice-add-modal .checkbox-wrapper:hover{border-color:#3b82f6}.notice-management-container .notice-add-modal .checkbox-wrapper input[type=checkbox]{accent-color:#3b82f6;cursor:pointer;height:18px;margin-right:10px;width:18px}.notice-management-container .notice-add-modal .checkbox-wrapper span{color:#9ca3af;font-size:14px}.notice-management-container .notice-add-modal .form-info{align-items:flex-start;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:6px;box-sizing:border-box;display:flex;gap:8px;padding:12px;width:100%}.notice-management-container .notice-add-modal .form-info .material-symbols-outlined{color:#3b82f6;flex-shrink:0;font-size:20px}.notice-management-container .notice-add-modal .form-info p{color:#cad2e0;font-size:13px;line-height:1.5;margin:0}.notice-management-container .notice-detail-modal{background:#21252b;border:1px solid #4b5563;border-radius:12px;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:700px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.notice-management-container .notice-add-modal .modal-header,.notice-management-container .notice-detail-modal .modal-header{align-items:flex-start;border-bottom:1px solid #4b5563;box-sizing:border-box;display:flex;justify-content:space-between;padding:24px;width:100%}.notice-management-container .modal-title-section{flex:1 1}.notice-management-container .modal-header h3{color:#fff;font-size:20px;font-weight:600;margin:0 0 12px}.notice-management-container .modal-meta{display:flex;gap:8px}.notice-management-container .btn-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.notice-management-container .btn-close:hover{color:#fff}.notice-management-container .notice-detail-modal .modal-info{background:#181c14;border-bottom:1px solid #4b5563;box-sizing:border-box;display:flex;gap:24px;padding:16px 24px;width:100%}.notice-management-container .info-item{align-items:center;color:#9ca3af;display:flex;font-size:13px;gap:6px}.notice-management-container .info-item .material-symbols-outlined{font-size:18px}.notice-management-container .notice-add-modal .modal-content,.notice-management-container .notice-detail-modal .modal-content{animation:none;background:#0000;border-radius:0;box-shadow:none;box-sizing:border-box;flex:1 1;max-width:none;overflow-y:auto;padding:24px;width:100%}.notice-management-container .notice-content{color:#fff;font-size:14px;line-height:1.8;white-space:pre-wrap}.notice-management-container .notice-add-modal .modal-actions,.notice-management-container .notice-detail-modal .modal-actions{border-top:1px solid #4b5563;box-sizing:border-box;display:flex;gap:12px;padding:20px 24px;width:100%}.notice-management-container .btn-edit{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background .3s ease}.notice-management-container .btn-edit:hover{background:#2563eb}.notice-management-container .btn-delete{background:#0000;border:1px solid #ef4444;border-radius:6px;color:#ef4444;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.notice-management-container .btn-delete:hover{background:#ef44441a}.notice-management-container .btn-close-modal{background:#0000;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-left:auto;padding:12px 24px;transition:all .3s ease}.notice-management-container .btn-close-modal:hover{border-color:#3b82f6}.notice-management-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background .3s ease}.notice-management-container .btn-primary:hover{background:#2563eb}.notice-management-container .btn-secondary{background:#0000;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .3s ease}.notice-management-container .btn-secondary:hover{border-color:#3b82f6}.ip-management-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;padding:4px}.ip-management-container .ip-management-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.ip-management-container .ip-management-header-left{display:flex;flex-direction:column}.ip-management-container .ip-management-header-right{text-align:right}.ip-management-container .ip-management-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.ip-management-container .ip-management-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.ip-management-container .ip-management-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:20px 24px}.ip-management-container .ip-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.ip-management-container .stat-card{align-items:center;background:#21252b;border:1px solid #1b1d20;border-radius:8px;display:flex;gap:16px;padding:20px}.ip-management-container .stat-icon{align-items:center;border-radius:8px;display:flex;height:48px;justify-content:center;width:48px}.ip-management-container .stat-icon .material-symbols-outlined{font-size:24px}.ip-management-container .stat-info{flex:1 1}.ip-management-container .stat-label{color:#9ca3af;font-size:13px;margin-bottom:4px}.ip-management-container .stat-value{color:#fff;font-size:24px;font-weight:600}.ip-management-container .ip-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.ip-management-container .control-left{align-items:center;display:flex;gap:12px}.ip-management-container .control-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;width:50px}.ip-management-container .dropdown-container{display:inline-block;position:relative}.ip-management-container .status-dropdown{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;min-width:150px;outline:none;padding:8px 32px 8px 12px}.ip-management-container .status-dropdown:focus,.ip-management-container .status-dropdown:hover{border-color:#3b82f6}.ip-management-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.ip-management-container .control-right{align-items:center;display:flex;gap:12px}.ip-management-container .btn-add-ip{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.ip-management-container .btn-add-ip:hover{background:#2563eb}.ip-management-container .plus-icon{color:#fff;height:16px;width:16px}.ip-management-container .ip-table-container{overflow:hidden}.ip-management-container .ip-table{border:1px solid #4b5563;border-collapse:collapse;width:100%}.ip-management-container .ip-table thead{background:#3741514d}.ip-management-container .ip-table th{border-bottom:1px solid #4b5563;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:16px 20px;text-align:left}.ip-management-container .ip-table tbody tr{border-bottom:1px solid #4b5563;cursor:pointer;transition:background .2s}.ip-management-container .ip-table tbody tr:hover{background:#3741514d}.ip-management-container .ip-table tbody tr:last-child{border-bottom:none}.ip-management-container .ip-table td{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;padding:16px 20px}.ip-management-container .ip-address{align-items:center;color:#fff;display:flex;font-family:monospace;font-weight:500;gap:8px}.ip-management-container .ip-address .material-symbols-outlined{color:#3b82f6;font-size:20px}.ip-management-container .access-level-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 12px}.ip-management-container .status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.ip-management-container .action-buttons{display:flex;gap:8px}.ip-management-container .btn-icon{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.ip-management-container .btn-icon:hover{color:#3b82f6}.ip-management-container .modal-overlay{background:#000000b3;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.ip-management-container .ip-add-modal{background:#21252b;border:1px solid #4b5563;border-radius:12px;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:600px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.ip-management-container .form-section{margin-bottom:20px}.ip-management-container .form-section label{color:#fff;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.ip-management-container .required{color:#ef4444;margin-left:4px}.ip-management-container .form-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;transition:border-color .3s ease;width:100%}.ip-management-container .form-input::placeholder{color:#6b7280}.ip-management-container .form-input:focus,.ip-management-container .form-input:hover{border-color:#3b82f6}.ip-management-container .form-select{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 12px;transition:border-color .3s ease;width:100%}.ip-management-container .form-select:focus,.ip-management-container .form-select:hover{border-color:#3b82f6}.ip-management-container .form-info{align-items:flex-start;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:6px;display:flex;gap:8px;padding:12px}.ip-management-container .form-info .material-symbols-outlined{color:#3b82f6;flex-shrink:0;font-size:20px}.ip-management-container .form-info p{color:#cad2e0;font-size:13px;line-height:1.5;margin:0}.ip-management-container .ip-detail-modal{background:#21252b;border:1px solid #4b5563;border-radius:12px;display:flex;flex-direction:column;left:50%;max-height:90vh;max-width:600px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.ip-management-container .modal-header{align-items:center;border-bottom:1px solid #4b5563;display:flex;justify-content:space-between;padding:20px 24px}.ip-management-container .modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}.ip-management-container .btn-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.ip-management-container .btn-close:hover{color:#fff}.ip-management-container .modal-content{flex:1 1;overflow-y:auto;padding:24px}.ip-management-container .detail-section{margin-bottom:20px}.ip-management-container .detail-section label{color:#9ca3af;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.ip-management-container .detail-value{color:#fff;font-size:14px}.ip-management-container .modal-actions{border-top:1px solid #4b5563;display:flex;gap:12px;padding:20px 24px}.ip-management-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px;transition:background .3s ease}.ip-management-container .btn-primary:hover{background:#2563eb}.ip-management-container .btn-secondary{background:#0000;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px;transition:all .3s ease}.ip-management-container .btn-secondary:hover{border-color:#3b82f6}.platform-container{background:#0f1419;display:flex;min-height:calc(100vh - 60px)}.platform-sidebar{background:#1a1f28;border-right:1px solid #2a2f38;flex-shrink:0;padding:24px 0;width:260px}.platform-sidebar .sidebar-header{border-bottom:1px solid #2a2f38;margin-bottom:16px;padding:0 24px 24px}.platform-sidebar .sidebar-title{color:#f59e0b;font-size:20px;font-weight:600;margin:0 0 4px}.platform-sidebar .sidebar-subtitle{color:#9ca3af;font-size:12px;margin:0}.platform-sidebar .sidebar-nav{padding:0 12px}.platform-sidebar .nav-item{align-items:center;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:12px 16px;transition:all .2s ease}.platform-sidebar .nav-item:hover{background:#f59e0b1a;color:#f59e0b}.platform-sidebar .nav-item.active{background:#f59e0b26;color:#f59e0b}.platform-sidebar .nav-icon{font-size:20px}.platform-sidebar .nav-label{font-size:14px;font-weight:500}.platform-main-content{flex:1 1;overflow-y:auto;padding:24px 32px}.platform-page-header{margin-bottom:24px}.platform-page-title{color:#fff;font-size:24px;font-weight:600;margin:0 0 8px}.platform-page-description{color:#9ca3af;font-size:14px;margin:0}.platform-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.platform-stat-card{background:#1a1f28;border:1px solid #2a2f38;gap:16px;padding:20px}.platform-stat-card,.platform-stat-icon{align-items:center;border-radius:12px;display:flex}.platform-stat-icon{background:#f59e0b1a;height:48px;justify-content:center;width:48px}.platform-stat-icon .material-symbols-outlined{color:#f59e0b;font-size:24px}.platform-stat-info{flex:1 1}.platform-stat-value{color:#fff;font-size:28px;font-weight:700;line-height:1}.platform-stat-label{color:#9ca3af;font-size:13px;margin-top:4px}.platform-table-container{background:#1a1f28;border:1px solid #2a2f38;border-radius:12px;overflow:hidden}.platform-table-header{align-items:center;border-bottom:1px solid #2a2f38;display:flex;justify-content:space-between;padding:16px 20px}.platform-table-title{color:#fff;font-size:16px;font-weight:600}.platform-table{border-collapse:collapse;width:100%}.platform-table th{background:#21252b;border-bottom:1px solid #2a2f38;color:#9ca3af;font-size:12px;font-weight:600;padding:12px 20px;text-align:left;text-transform:uppercase}.platform-table td{border-bottom:1px solid #2a2f38;color:#e5e7eb;font-size:14px;padding:16px 20px}.platform-table tr:last-child td{border-bottom:none}.platform-table tr:hover td{background:#ffffff05}.platform-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.platform-badge.active{background:#22c55e26;color:#22c55e}.platform-badge.inactive{background:#ef444426;color:#ef4444}.platform-badge.pending{background:#f59e0b26;color:#f59e0b}.platform-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.platform-btn-primary{background:#f59e0b;color:#000}.platform-btn-primary:hover{background:#d97706}.platform-btn-secondary{background:#2a2f38;color:#e5e7eb}.platform-btn-secondary:hover{background:#3a3f48}.platform-btn .material-symbols-outlined{font-size:18px}.platform-actions{display:flex;gap:8px}.platform-action-btn{align-items:center;background:#2a2f38;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.platform-action-btn:hover{background:#3a3f48;color:#fff}.platform-action-btn.edit:hover{background:#3b82f633;color:#3b82f6}.platform-action-btn.delete:hover{background:#ef444433;color:#ef4444}.platform-action-btn .material-symbols-outlined{font-size:18px}.platform-empty{color:#9ca3af;padding:48px 20px;text-align:center}.platform-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.platform-empty-text{font-size:14px}.tab-menu-container{display:flex;gap:0;height:100%;width:100%}.tab-menu-vertical{flex-direction:row}.tab-menu-horizontal{flex-direction:column}.tab-menu-list{background:#1a1f2e;border-right:1px solid #2a3441;display:flex;min-width:200px}.tab-menu-vertical .tab-menu-list{flex-direction:column;padding:16px 0}.tab-menu-horizontal .tab-menu-list{border-bottom:1px solid #2a3441;border-right:none;flex-direction:row;min-width:0;min-width:auto;padding:0 16px}.tab-menu-item{align-items:center;background:#0000;border:none;color:#8b92a8;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 20px;position:relative;text-align:left;transition:all .2s ease;white-space:nowrap}.tab-menu-vertical .tab-menu-item{border-radius:8px;margin:0 12px}.tab-menu-horizontal .tab-menu-item{border-radius:0;margin:0;padding:14px 24px}.tab-menu-icon{color:inherit;font-size:20px}.tab-menu-label{flex:1 1}.tab-menu-item:hover:not(.active):not(:disabled){background:#3b82f61a;color:#b4bbcc}.tab-menu-item.active{background:#3b82f626;color:#3b82f6;font-weight:600}.tab-menu-horizontal .tab-menu-item.active{background:#0000}.tab-menu-indicator{background:#3b82f6;border-radius:2px;position:absolute}.tab-menu-vertical .tab-menu-indicator{height:60%;right:0;top:50%;transform:translateY(-50%);width:3px}.tab-menu-horizontal .tab-menu-indicator{border-radius:2px 2px 0 0;bottom:0;height:3px;left:0;width:100%}.tab-menu-item:disabled{cursor:not-allowed;opacity:.5}.tab-menu-content{background:#0f1419;flex:1 1;overflow-y:auto;padding:24px}.tab-menu-content::-webkit-scrollbar{width:8px}.tab-menu-content::-webkit-scrollbar-track{background:#1a1f2e}.tab-menu-content::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}.tab-menu-content::-webkit-scrollbar-thumb:hover{background:#4b5563}@media (max-width:768px){.tab-menu-vertical{flex-direction:column}.tab-menu-vertical .tab-menu-list{border-bottom:1px solid #2a3441;border-right:none;flex-direction:row;min-width:0;min-width:auto;overflow-x:auto;padding:0 12px}.tab-menu-vertical .tab-menu-item{border-radius:0;margin:0;padding:12px 16px}.tab-menu-vertical .tab-menu-indicator{border-radius:2px 2px 0 0;bottom:0;height:3px;left:0;top:auto;transform:none;width:100%}.tab-menu-content{padding:16px}}.company-management-container{display:flex;flex-direction:column;gap:20px;height:100%}.company-controls{align-items:center;border-bottom:1px solid #2a3441;display:flex;gap:16px;justify-content:space-between;padding-bottom:20px}.control-left,.control-right{align-items:center;display:flex;gap:12px}.control-label{color:#8b92a8;font-size:14px;font-weight:500}.dropdown-container{display:inline-block;position:relative}.status-dropdown{-webkit-appearance:none;appearance:none;background:#1a1f2e;border:1px solid #2a3441;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;min-width:120px;padding:8px 32px 8px 12px;transition:all .2s ease}.status-dropdown:hover{background:#1f2937;border-color:#3b82f6}.status-dropdown:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.company-management-container .dropdown-icon{color:#8b92a8;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.search-container{align-items:center;display:flex;position:relative}.search-input{background:#1a1f2e;border:1px solid #2a3441;border-radius:6px;color:#fff;font-size:14px;padding:8px 36px 8px 12px;transition:all .2s ease;width:260px}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-input::placeholder{color:#6b7280}.search-icon{color:#8b92a8;pointer-events:none;position:absolute;right:12px}.add-company-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.add-company-btn:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.add-company-btn:active{transform:translateY(0)}.plus-icon{height:16px;width:16px}.company-table-container{background:#1a1f2e;border:1px solid #2a3441;border-radius:8px;flex:1 1;overflow-y:auto}.company-table{border-collapse:collapse;width:100%}.company-table thead{background:#151921;position:-webkit-sticky;position:sticky;top:0;z-index:1}.company-table th{border-bottom:2px solid #2a3441;color:#8b92a8;font-size:13px;font-weight:600;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.company-table tbody tr{border-bottom:1px solid #2a3441;transition:background .2s ease}.company-table tbody tr.clickable-row{cursor:pointer}.company-table tbody tr.clickable-row:hover,.company-table tbody tr:hover{background:#3b82f60d}.company-table td{color:#cad2e0;font-size:14px;padding:14px 16px}.company-name,.company-name-cell{color:#fff;font-weight:600}.address-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.status-active{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}.status-inactive{background:#9ca3af26;border:1px solid #9ca3af4d;color:#9ca3af}.action-buttons{display:flex;gap:8px}.action-btn{align-items:center;background:#0000;border:1px solid #2a3441;border-radius:6px;color:#8b92a8;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.action-btn:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6}.delete-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.company-stats{grid-gap:16px;border-top:1px solid #2a3441;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding-top:20px}.stat-card{background:#1a1f2e;border:1px solid #2a3441;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .2s ease}.stat-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-2px)}.stat-label{color:#8b92a8;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#fff;font-size:24px;font-weight:700}.stat-active{color:#22c55e}.stat-inactive{color:#9ca3af}.company-table-container::-webkit-scrollbar{width:8px}.company-table-container::-webkit-scrollbar-track{background:#1a1f2e}.company-table-container::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}.company-table-container::-webkit-scrollbar-thumb:hover{background:#4b5563}@media (max-width:1200px){.company-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.company-controls{align-items:stretch;flex-direction:column}.control-left,.control-right{justify-content:space-between;width:100%}.search-input{width:100%}.company-stats{grid-template-columns:1fr}.company-table-container{overflow-x:auto}.company-table{min-width:1000px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#1a1f2e;border:1px solid #2a3441;border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:480px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #2a3441;display:flex;justify-content:space-between;padding:20px 24px}.modal-title{color:#fff;font-size:18px;font-weight:600;margin:0}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#8b92a8;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close-btn:hover{background:#9ca3af1a;color:#cad2e0}.modal-body{flex-direction:column;padding:32px 24px;text-align:center}.modal-body,.warning-icon{align-items:center;display:flex}.warning-icon{background:#ef444426;border-radius:50%;height:64px;justify-content:center;margin-bottom:20px;width:64px}.warning-icon .material-symbols-outlined{color:#ef4444;font-size:36px}.modal-message{color:#cad2e0;font-size:16px;line-height:1.5;margin:0 0 12px}.modal-message strong{color:#fff;font-weight:600}.modal-submessage{color:#8b92a8;font-size:14px;margin:0}.modal-footer{border-top:1px solid #2a3441;display:flex;gap:12px;padding:20px 24px}.modal-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;justify-content:center;padding:10px 20px;transition:all .2s ease}.cancel-btn{background:#2a3441;border:1px solid #374151;color:#cad2e0}.cancel-btn:hover{background:#374151;border-color:#4b5563}.delete-confirm-btn{background:#ef4444;color:#fff}.delete-confirm-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}@media (max-width:480px){.modal-content{margin:0 10px;width:95%}.modal-header{padding:16px 20px}.modal-body{padding:24px 20px}.modal-footer{flex-direction:column;padding:16px 20px}.modal-btn{width:100%}}.data-verification-container p{color:#fff}.admin-page-container{background:#0f1419;display:flex;flex-direction:column;height:100%}.admin-page-header{align-items:center;background:linear-gradient(135deg,#1a1f2e,#151921);border-bottom:1px solid #2a3441;display:flex;justify-content:space-between;padding:24px 32px}.admin-page-header-left{display:flex;flex-direction:column;gap:4px}.admin-page-title{color:#fff;font-size:24px;font-weight:700;letter-spacing:-.5px}.admin-page-subtitle{color:#8b92a8;font-size:14px;margin:0}.admin-page-content{display:flex;flex:1 1;overflow:hidden}.company-register-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.company-register-container .company-register-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.company-register-container .company-register-header-left{align-items:center;display:flex;gap:16px}.company-register-container .back-btn{align-items:center;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;width:36px}.company-register-container .company-register-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.company-register-container .company-register-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.company-register-container .company-register-form{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.company-register-container .form-section{margin-bottom:32px}.company-register-container .form-section:last-child{margin-bottom:0}.company-register-container .section-title{border-bottom:1px solid #2d3339;color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin:0 0 20px;padding-bottom:12px}.company-register-container .form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.company-register-container .form-group{display:flex;flex-direction:column;gap:8px}.company-register-container .form-group-full{grid-column:1/-1}.company-register-container .form-label{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.company-register-container .required{color:#ef4444;margin-left:4px}.company-register-container .form-input,.company-register-container .form-select{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.company-register-container .form-input::placeholder{color:#6b7280}.company-register-container .form-input:focus,.company-register-container .form-input:hover,.company-register-container .form-select:focus,.company-register-container .form-select:hover{border-color:#3b82f6}.company-register-container .form-input.error,.company-register-container .form-input.error:focus{border-color:#ef4444}.company-register-container .error-message{color:#ef4444;font-size:12px;margin-top:-4px}.company-register-container .dropdown-container{display:inline-block;position:relative;width:100%}.company-register-container .form-select{-webkit-appearance:none;appearance:none;cursor:pointer;padding:10px 32px 10px 12px;width:100%}.company-register-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.company-register-container .form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.company-register-container .btn-cancel{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-register-container .btn-cancel:hover{background:#3d4349}.company-register-container .btn-submit{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-register-container .btn-submit:hover{background:#2563eb}.company-register-container::-webkit-scrollbar{height:8px;width:8px}.company-register-container::-webkit-scrollbar-track{background:#181c14}.company-register-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.company-register-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.company-register-container .form-grid{grid-template-columns:1fr}}@media (max-width:768px){.company-register-container .company-register-form{padding:20px}.company-register-container .company-register-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.company-register-container .form-grid{grid-template-columns:1fr}.company-register-container .form-group-full{grid-column:1}.company-register-container .form-actions{flex-direction:column-reverse}.company-register-container .btn-cancel,.company-register-container .btn-submit{width:100%}}.company-detail-container{background-color:#0b0c0e;display:flex;flex-direction:column;height:100%;max-height:100%;overflow-y:auto;padding:4px}.company-detail-container .company-detail-header{align-items:center;background-color:#21252b;border:1px solid #1b1d20;display:flex;height:64px;justify-content:space-between;margin-bottom:4px;padding:0 16px}.company-detail-container .company-detail-header-left{align-items:center;display:flex;gap:16px}.company-detail-container .company-detail-header-right{align-items:center;display:flex;gap:12px}.company-detail-container .back-btn{align-items:center;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.company-detail-container .back-btn svg{color:#fff}.company-detail-container .company-detail-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:4px}.company-detail-container .company-detail-subtitle{color:#fff;font-size:12px;margin-bottom:4px}.company-detail-container .delete-header-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:all .2s}.company-detail-container .delete-header-btn:hover{background:#ef4444;border-color:#ef4444}.company-detail-container .edit-header-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.company-detail-container .edit-header-btn:hover{background:#2563eb}.company-detail-container .cancel-btn{align-items:center;background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.company-detail-container .cancel-btn:hover{background:#3d4349}.company-detail-container .save-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:8px 16px;transition:background .2s}.company-detail-container .save-btn:hover{background:#2563eb}.company-detail-container .company-detail-content{background:#21252b;border:1px solid #1b1d20;border-radius:8px;margin-bottom:24px;padding:32px}.company-detail-container .company-profile-card{align-items:center;background:#181c14;border:1px solid #2d3339;border-radius:12px;display:flex;gap:24px;margin-bottom:32px;padding:24px}.company-detail-container .company-profile-icon{align-items:center;background:#2d3339;border-radius:12px;color:#3b82f6;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.company-detail-container .company-profile-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.company-detail-container .company-profile-name{color:#fff;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin:0}.company-detail-container .company-profile-code{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0}.company-detail-container .status-badge-large{border-radius:16px;color:#fff;display:inline-block;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:6px 16px;width:-webkit-fit-content;width:fit-content}.company-detail-container .status-active{background:#3b82f6}.company-detail-container .status-inactive{background:#ef4444}.company-detail-container .company-profile-meta{border-left:1px solid #2d3339;display:flex;flex-direction:column;gap:12px;padding-left:24px}.company-detail-container .meta-item{display:flex;flex-direction:column;gap:4px}.company-detail-container .meta-label{color:#6b7280;font-family:Inter,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.company-detail-container .meta-value{color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.company-detail-container .detail-section{border-bottom:1px solid #2d3339;margin-bottom:32px;padding-bottom:32px}.company-detail-container .detail-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.company-detail-container .section-title{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:600;line-height:24px;margin-bottom:20px}.company-detail-container .detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.company-detail-container .detail-group{display:flex;flex-direction:column;gap:8px}.company-detail-container .detail-group-full{grid-column:1/-1}.company-detail-container .detail-label{color:#9ca3af;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.company-detail-container .detail-value{color:#fff;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;padding:10px 0}.company-detail-container .detail-input{background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 12px;transition:border-color .2s}.company-detail-container .detail-input::placeholder{color:#6b7280}.company-detail-container .detail-input:focus,.company-detail-container .detail-input:hover{border-color:#3b82f6}.company-detail-container .dropdown-container{display:inline-block;position:relative;width:100%}.company-detail-container .detail-select{-webkit-appearance:none;appearance:none;background:#181c14;border:1px solid #2d3339;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:20px;outline:none;padding:10px 32px 10px 12px;transition:border-color .2s;width:100%}.company-detail-container .detail-select:focus,.company-detail-container .detail-select:hover{border-color:#3b82f6}.company-detail-container .dropdown-icon{color:#9ca3af;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.company-detail-container .form-actions{border-top:1px solid #2d3339;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.company-detail-container .btn-secondary{background:#2d3339;border:1px solid #4b5563;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-detail-container .btn-secondary:hover{background:#3d4349}.company-detail-container .btn-primary{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:10px 24px;transition:background .2s}.company-detail-container .btn-primary:hover{background:#2563eb}.company-detail-container::-webkit-scrollbar{height:8px;width:8px}.company-detail-container::-webkit-scrollbar-track{background:#181c14}.company-detail-container::-webkit-scrollbar-thumb{background:#2d3339;border-radius:4px}.company-detail-container::-webkit-scrollbar-thumb:hover{background:#3d4349}@media (max-width:1200px){.company-detail-container .detail-grid{grid-template-columns:1fr}.company-detail-container .company-profile-card{align-items:flex-start;flex-direction:column}.company-detail-container .company-profile-meta{border-left:none;border-top:1px solid #2d3339;padding-left:0;padding-top:16px;width:100%}}@media (max-width:768px){.company-detail-container .company-detail-content{padding:20px}.company-detail-container .company-detail-header{align-items:flex-start!important;flex-direction:column;gap:16px;height:auto!important;padding:16px!important}.company-detail-container .company-detail-header-left{width:100%}.company-detail-container .company-detail-header-right{justify-content:flex-end;width:100%}.company-detail-container .company-profile-card{padding:16px}.company-detail-container .form-actions{flex-direction:column}.company-detail-container .btn-primary,.company-detail-container .btn-secondary{width:100%}}.notfound-container{align-items:center;background-color:#0b0c0e;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.notfound-container .notfound-content{align-items:center;display:flex;flex-direction:column;gap:24px;max-width:600px;text-align:center;width:100%}.notfound-container .notfound-icon{animation:float 3s ease-in-out infinite;margin-bottom:16px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.notfound-container .notfound-code{color:#3b82f6;font-family:Inter,sans-serif;font-size:96px;font-style:normal;font-weight:900;letter-spacing:-4px;line-height:1;margin:0;text-shadow:0 0 40px #3b82f64d}.notfound-container .notfound-title{color:#fff;font-family:Inter,sans-serif;font-size:32px;font-style:normal;font-weight:700;line-height:40px;margin:0}.notfound-container .notfound-message{color:#9ca3af;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin:0;max-width:400px}.notfound-container .notfound-path{align-items:center;background:#21252b;border:1px solid #2d3339;border-radius:8px;color:#6b7280;display:flex;gap:8px;margin-top:8px;padding:12px 20px}.notfound-container .notfound-path svg{color:#6b7280;flex-shrink:0}.notfound-container .notfound-path-text{color:#9ca3af;font-family:JetBrains Mono,Courier New,monospace;font-size:14px;font-style:normal;font-weight:400;line-height:20px;word-break:break-all}.notfound-container .notfound-actions{display:flex;gap:12px;margin-top:16px}.notfound-container .notfound-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:8px;line-height:20px;padding:12px 24px;transition:all .2s ease}.notfound-container .notfound-btn svg{height:16px;width:16px}.notfound-container .btn-secondary{background:#2d3339;border:1px solid #4b5563;color:#fff}.notfound-container .btn-secondary:hover{background:#3d4349;box-shadow:0 4px 12px #2d333966;transform:translateY(-2px)}.notfound-container .btn-primary{background:#3b82f6;color:#fff}.notfound-container .btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.notfound-container .notfound-btn:active{transform:translateY(0)}.notfound-container .notfound-quick-links{margin-top:32px;width:100%}.notfound-container .quick-links-title{color:#6b7280;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;line-height:20px;margin:0 0 16px}.notfound-container .quick-links-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.notfound-container .quick-link{align-items:center;background:#21252b;border:1px solid #2d3339;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:500;gap:12px;line-height:20px;padding:16px;text-align:left;transition:all .2s ease}.notfound-container .quick-link svg{color:#3b82f6;flex-shrink:0}.notfound-container .quick-link:hover{background:#2d3339;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.notfound-container .quick-link:active{transform:translateY(0)}@media (max-width:768px){.notfound-container .notfound-code{font-size:72px}.notfound-container .notfound-title{font-size:24px;line-height:32px}.notfound-container .notfound-message{font-size:14px;line-height:20px}.notfound-container .notfound-actions{flex-direction:column;width:100%}.notfound-container .notfound-btn{justify-content:center;width:100%}.notfound-container .quick-links-grid{grid-template-columns:1fr}}@media (max-width:480px){.notfound-container .notfound-code{font-size:64px}.notfound-container .notfound-icon svg{height:80px;width:80px}}
/*# sourceMappingURL=main.9188202f.css.map*/