#app,body,html{margin:0!important;padding:0!important;width:100%!important;height:100%!important;overflow:hidden!important;border:none!important}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;background:#f0f2f5;color:#333;overflow:hidden!important}#loading-page.hidden,#login-page.hidden,#main-page.hidden,.hidden{display:none!important;visibility:hidden!important;opacity:0!important;z-index:-9999!important}.page-exit{pointer-events:none;animation:.32s forwards pageExit}.page-enter{animation:.36s both pageEnter}.login-page-exit{pointer-events:none;animation:.26s forwards loginPageExit}@keyframes pageExit{from{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(10px);filter:blur(2px)}}@keyframes loginPageExit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.985)}}@keyframes pageEnter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}#loading-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0,#764ba2 100%)}.loading-container{text-align:center;color:#fff}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:1s linear infinite spin;margin:0 auto 20px}@keyframes spin{to{transform:rotate(360deg)}}.loading-container p{font-size:16px;opacity:.9}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}#login-page{display:flex;position:fixed;top:0;left:0;width:100vw;height:100vh;margin:0;padding:0;overflow:hidden;background:linear-gradient(135deg,rgba(0,20,40,.85) 0,rgba(20,40,80,.7) 50%,rgba(40,20,80,.6) 100%),url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1920&q=80') center/cover}#main-page{display:flex;flex-direction:column;height:100vh}.login-wrapper{display:flex;width:100%;height:100%;margin:0;padding:0}.login-left{position:relative;flex:55%;height:100%;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:60px 80px;box-sizing:border-box;margin:0}.login-bg-image{position:fixed;top:-5%;left:-5%;width:110vw;height:110vh;background:linear-gradient(135deg,rgba(0,20,40,.85) 0,rgba(20,40,80,.7) 50%,rgba(40,20,80,.6) 100%) 0 0/cover,url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1920&q=80') center/cover;z-index:0;animation:15s infinite gradientShift}.login-left-content{position:relative;z-index:1;color:#fff;animation:.8s ease-out fadeInUp}.login-logo{display:flex;align-items:center;gap:16px;margin-bottom:40px}.login-logo .logo-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:12px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px)}.login-logo .logo-icon svg{width:40px;height:40px}.login-logo .logo-icon img{width:40px;height:40px;object-fit:contain}.site-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:12px;line-height:1.6;pointer-events:auto}.site-footer-divider{color:inherit;opacity:.45}.site-footer-item{display:inline-flex;align-items:center;gap:4px}.site-footer-icon{display:inline-flex;width:14px;height:14px;flex:0 0 auto}.site-footer-icon img,.site-footer-icon svg{width:14px;height:14px;display:block}.site-footer a{color:inherit;text-decoration:none;cursor:pointer;pointer-events:auto}.site-footer a:hover{text-decoration:underline}.site-footer-login{position:absolute;left:24px;right:24px;bottom:18px;z-index:20;color:rgba(255,255,255,.62)}.site-footer-main{padding:16px 12px 20px;color:#111827}.login-logo span{font-size:18px;font-weight:600;letter-spacing:1px}.login-left-content h1{font-size:42px;font-weight:700;line-height:1.2;margin-bottom:20px;background:linear-gradient(135deg,#fff 0,#a8e6cf 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-left-content p{font-size:16px;color:rgba(255,255,255,.75);line-height:1.8;max-width:500px;margin-bottom:50px}.login-features{display:flex;flex-direction:column;gap:24px}.feature-item{display:flex;align-items:flex-start;gap:16px}.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:12px;font-size:22px;flex-shrink:0}.feature-item strong{display:block;font-size:16px;font-weight:600;margin-bottom:4px;color:#fff}.feature-item span{font-size:14px;color:rgba(255,255,255,.65)}.login-right{position:relative;z-index:1;flex:45%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 60px;box-sizing:border-box;background:0 0;margin:0}.login-card{width:100%;max-width:420px;padding:50px 45px;background:rgba(8,24,48,.48);border:1px solid rgba(255,255,255,.18);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.28);backdrop-filter:blur(18px);animation:.8s ease-out .2s both fadeInUp}.login-card-header{text-align:center;margin-bottom:40px}.login-card-header h2{font-size:32px;font-weight:700;color:#fff;margin-bottom:8px}.login-card-header span{font-size:14px;color:rgba(255,255,255,.68);letter-spacing:2px}#login-page .form-group{margin-bottom:24px}#login-page .input-wrapper{position:relative;display:flex;align-items:center}#login-page .input-icon{position:absolute;left:16px;font-size:18px;color:#94a3b8}#login-page .form-group input{width:100%;height:52px;padding:0 20px 0 48px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;color:#1e293b;background:#f8fafc;transition:.3s;box-sizing:border-box}#login-page .form-group input:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px rgba(99,102,241,.1);outline:0}#login-page .form-group input::placeholder{color:#94a3b8}.toggle-password{position:absolute;right:16px;font-size:16px;cursor:pointer;color:#94a3b8;transition:color .2s}.toggle-password:hover{color:#6366f1}.btn-login{width:100%;height:52px;margin-top:10px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1 0,#8b5cf6 50%,#ec4899 100%);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:.3s;box-shadow:0 4px 15px rgba(99,102,241,.4)}.btn-login:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(99,102,241,.5)}.btn-login:active{transform:translateY(0)}.login-divider{position:relative;margin:30px 0;text-align:center}.login-divider::after,.login-divider::before{content:'';position:absolute;top:50%;width:35%;height:1px;background:#e2e8f0}.login-divider::before{left:0}.login-divider::after{right:0}.form-group{margin-bottom:20px;flex:1;min-width:150px}.form-group label{display:block;margin-bottom:8px;font-weight:500}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;box-sizing:border-box;height:40px}.visitor-item .form-row{display:flex;align-items:flex-end;gap:12px}.visitor-item .form-group{flex:1;min-width:120px}.visitor-item .form-group:last-child{flex:0 0 auto;min-width:auto}.form-group input:focus,.form-group select:focus{outline:0;border-color:#1890ff}.visitor-row{display:flex;gap:10px;align-items:flex-end;padding:10px;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:10px}.visitor-row .form-group.third{flex:1;min-width:0}.visitor-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #d9d9d9}.btn-secondary:hover{background-color:#e8e8e8}.searchable-select .custom-select-trigger{width:100%;padding:10px 30px 10px 10px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;box-sizing:border-box;background:#fff;cursor:pointer;text-align:left;position:relative;appearance:none;display:block;height:40px}.searchable-select .custom-select-trigger::after{content:'';position:absolute;right:10px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #999;pointer-events:none}.searchable-select .custom-select-trigger:focus{outline:0;border-color:#1890ff}.searchable-select .custom-dropdown{position:absolute;top:100%;left:0;right:0;border:1px solid #d9d9d9;border-radius:0 0 4px 4px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:100;display:none;max-height:250px;overflow:hidden;margin-top:-1px}.searchable-select.active .custom-dropdown{display:block}.searchable-select .dropdown-search{width:100%;padding:8px 10px;border:none;border-bottom:1px solid #f0f0f0;font-size:14px;box-sizing:border-box}.searchable-select .dropdown-search:focus{outline:0}.searchable-select .dropdown-options{max-height:200px;overflow-y:auto;margin:0;padding:0;list-style:none}.searchable-select .dropdown-option{padding:8px 10px;cursor:pointer;font-size:14px}.searchable-select .dropdown-option:hover{background:#f5f5f5}.searchable-select .dropdown-option.selected{background:#e6f7ff;color:#1890ff}.searchable-select .dropdown-option.hidden,.searchable-select .native-select{display:none}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;height:40px;box-sizing:border-box;font-size:14px;transition:.3s}.btn-primary{background:#1890ff;color:#fff}.btn-primary:hover{background:#40a9ff}.btn-sm,.btn-small{padding:10px;font-size:12px;height:40px;box-sizing:border-box}.btn-sm{min-width:50px}.btn-danger{background:#ff4d4f;color:#fff}.header{background:#001529;color:#fff;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:20px;font-weight:600}.user-dropdown{position:relative;display:flex;align-items:center;cursor:pointer}.user-trigger{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.85);padding:8px 12px;border-radius:6px;transition:background-color .2s}.user-trigger:hover{background-color:rgba(255,255,255,.1)}.user-trigger i{font-size:12px;transition:transform .2s}.user-dropdown.active .user-trigger i{transform:rotate(180deg)}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);padding:8px 0;z-index:1000}.dropdown-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 16px;background:0 0;border:none;text-align:left;font-size:14px;color:#333;cursor:pointer;transition:background-color .2s}.dropdown-item:hover{background-color:#f5f5f5}.dropdown-item i{font-size:14px;color:#666}.dropdown-item:last-child,.dropdown-item:last-child i{color:#e74c3c}.container{display:flex;flex:1;min-height:0;height:calc(100vh - 64px);overflow:hidden}.sidebar{width:200px;background:#001529;padding:16px 0 24px;height:calc(100vh - 64px);max-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;flex-shrink:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.28) transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.36)}.nav-menu{list-style:none;padding-bottom:32px}.nav-item{padding:12px 24px;color:rgba(255,255,255,.65);cursor:pointer;transition:.3s;display:flex;align-items:center;gap:10px}.nav-item.active,.nav-item:hover{color:#fff;background:#1890ff}.nav-item .icon{font-size:16px}.nav-item.has-submenu{position:relative}.nav-item.has-submenu .arrow{margin-left:auto;font-size:10px;transition:transform .3s}.nav-item.has-submenu.expanded .arrow{transform:rotate(180deg)}.submenu{max-height:0;overflow:hidden;background:rgba(0,0,0,.1);transition:max-height .3s ease-out}.submenu.show{max-height:520px}.nav-item.sub-item{padding:10px 24px 10px 48px;font-size:13px;color:rgba(255,255,255,.6)}.nav-item.sub-item:hover{color:#fff;background:rgba(24,144,255,.3)}.nav-item.sub-item.active{color:#fff;background:#1890ff}.main-content{flex:1;min-height:0;padding:4px;overflow-y:auto}.content-page{background:#f0f2f5;min-height:100%}.content-page-enter{animation:.22s both contentPageEnter}@keyframes contentPageEnter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content-page h2{margin-bottom:24px;color:#262626}.page-header{display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 4px 20px rgba(0,0,0,.15);position:relative;overflow:hidden;transition:.3s}.page-header::before{content:'';position:absolute;top:-50%;right:-20%;width:100px;height:100px;background:rgba(255,255,255,.1);border-radius:50%}.page-header::after{content:'';position:absolute;bottom:-30%;left:-10%;width:60px;height:60px;background:rgba(255,255,255,.08);border-radius:50%}.page-title-wrapper{display:flex;align-items:center;gap:12px;z-index:1}.page-icon{font-size:28px;animation:3s ease-in-out infinite iconFloat}@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.page-title{margin:0;font-size:24px;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.page-subtitle{margin-top:6px;font-size:14px;color:rgba(255,255,255,.85);z-index:1}.idc-dashboard{padding:24px;background:linear-gradient(240deg,#0e4170 0,#4fa1b6 50%,#5d4cea 100%);min-height:calc(100vh - 72px);position:relative;box-sizing:border-box}.idc-dashboard::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 10% 20%,rgba(0,200,255,.1) 0,transparent 40%),radial-gradient(circle at 90% 80%,rgba(100,50,255,.1) 0,transparent 40%);pointer-events:none}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;background:rgba(255,255,255,.05);border-radius:16px}.header-left{flex:1}.dashboard-title{font-size:28px;font-weight:700;color:#fff;margin:0;display:flex;align-items:center;gap:12px}.title-icon{font-size:32px;animation:2s ease-in-out infinite pulse}.dashboard-subtitle{font-size:14px;color:rgba(255,255,255,.6);margin:8px 0 0}.header-right{display:flex;gap:16px;align-items:center}.time-display{font-size:20px;color:#00c8ff;font-weight:700;font-family:'Courier New',monospace}.date-display{font-size:14px;color:rgba(255,255,255,.7)}.core-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:32px}.stat-card:hover{box-shadow:0 12px 40px rgba(0,200,255,.3)}.card-bg{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.1;z-index:0}.glow-blue .card-bg{background:linear-gradient(135deg,#00c8ff 0,#06f 100%)}.glow-green .card-bg{background:linear-gradient(135deg,#0f8 0,#0c6 100%)}.glow-purple .card-bg{background:linear-gradient(135deg,#667eea 0,#764ba2 100%)}.glow-orange .card-bg{background:linear-gradient(135deg,#ff9500 0,#f60 100%)}.stat-content{position:relative;z-index:1;display:flex;align-items:center;gap:16px}.stat-icon{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;animation:3s ease-in-out infinite pulse}.stat-info{flex:1}.stat-value{margin:0;line-height:1}.stat-label{margin:8px 0 4px}.stat-trend{color:rgba(255,255,255,.5);margin:0}.stat-chart{position:absolute;bottom:0;left:0;right:0;height:40px;background:rgba(255,255,255,.05)}.monitor-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:32px}.monitor-card{background:rgba(255,255,255,.05);border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.1)}.card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.card-header h3{display:flex;align-items:center;gap:8px}.header-icon{font-size:18px}.status-badge{background:rgba(0,200,255,.2);color:#00c8ff}.status-badge.online{background:rgba(0,255,136,.2);color:#0f8}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.status-item{display:flex;align-items:center;gap:12px}.status-icon{width:40px;height:40px;border-radius:50%;background:rgba(0,255,136,.2);color:#0f8;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.pulse-green{animation:2s ease-in-out infinite pulse-green}.pulse-yellow{background:rgba(255,170,0,.2);color:#fa0;animation:2s ease-in-out infinite pulse-yellow}.pulse-blue{background:rgba(0,150,255,.2);color:#0096ff;animation:2s ease-in-out infinite pulse-blue}.status-info{flex:1}.status-name{font-size:14px;color:#fff;margin:0;font-weight:500}.status-desc{font-size:12px;color:rgba(255,255,255,.6);margin:4px 0 0}.inspection-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.inspection-item{text-align:center;padding:16px;background:rgba(255,255,255,.05);border-radius:12px}.inspection-num{font-size:28px;font-weight:700;color:#00c8ff;margin-bottom:8px}.inspection-label{font-size:12px;color:rgba(255,255,255,.6)}.action-section{background:rgba(255,255,255,.05);border-radius:16px;padding:20px;border:1px solid rgba(255,255,255,.1)}.action-header{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.action-header h3{font-size:16px;color:#fff;margin:0;display:flex;align-items:center;gap:8px}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.action-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:.3s;color:#fff}.action-card:hover{background:rgba(0,200,255,.2);border-color:rgba(0,200,255,.5);transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,200,255,.3)}.action-name{font-size:14px;font-weight:500}.action-desc{font-size:12px;color:rgba(255,255,255,.6);text-align:center}@keyframes pulse-green{0%,100%{box-shadow:0 0 0 0 rgba(0,255,136,.4)}50%{box-shadow:0 0 0 8px rgba(0,255,136,0)}}@keyframes pulse-yellow{0%,100%{box-shadow:0 0 0 0 rgba(255,170,0,.4)}50%{box-shadow:0 0 0 8px rgba(255,170,0,0)}}@keyframes pulse-blue{0%,100%{box-shadow:0 0 0 0 rgba(0,150,255,.4)}50%{box-shadow:0 0 0 8px rgba(0,150,255,0)}}.simple-dashboard{padding:20px}.simple-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.simple-header h2{font-size:20px;color:#333;margin:0}.dashboard-date{color:#666;font-size:14px}.simple-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.simple-stat{background:#fff;border-radius:8px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.simple-stat .stat-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);display:flex;align-items:center;justify-content:center;font-size:20px}.simple-stat div{flex:1}.simple-stat .stat-num{font-size:24px;font-weight:700;color:#333;margin:0}.simple-stat .stat-name{font-size:12px;color:#999;margin:4px 0 0}.status-section{background:#fff;border-radius:8px;padding:16px;margin-bottom:24px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.status-section h3{font-size:14px;color:#333;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #eee}.status-items{display:flex;flex-wrap:wrap;gap:12px}.status-item{display:flex;align-items:center;gap:8px}.status-dot.green{background:#52c41a}.quick-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.quick-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;transition:.2s;font-size:12px;color:#666}.quick-btn:hover{background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.quick-btn span:first-child{font-size:20px}.dashboard-container{min-height:100%;padding:20px;background:linear-gradient(135deg,#0f0c29 0,#302b63 50%,#24243e 100%);position:relative}.dashboard-container::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(0,200,255,.15) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(150,50,255,.15) 0,transparent 50%),radial-gradient(circle at 50% 50%,rgba(0,255,150,.05) 0,transparent 70%);pointer-events:none}.dashboard-time{z-index:1;color:rgba(255,255,255,.8);font-size:16px;font-family:'Courier New',monospace;background:rgba(0,200,255,.1);padding:8px 20px;border-radius:20px;border:1px solid rgba(0,200,255,.3)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px;z-index:1;position:relative}.stat-card{position:relative;padding:24px;border-radius:16px;overflow:hidden;transition:.3s;border:1px solid rgba(255,255,255,.1)}.stat-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.3)}.card-glow{position:absolute;top:-50%;right:-50%;width:100%;height:100%;border-radius:50%;opacity:.3;filter:blur(40px)}.stat-card.gradient-blue .card-glow{background:linear-gradient(135deg,#00c8ff,#06f)}.stat-card.gradient-purple .card-glow{background:linear-gradient(135deg,#7b2fff,#f0f)}.stat-card.gradient-cyan .card-glow{background:linear-gradient(135deg,#0f8,#0c6)}.stat-card.gradient-orange .card-glow{background:linear-gradient(135deg,#fa0,#f60)}.stat-card.gradient-blue{background:linear-gradient(135deg,rgba(0,200,255,.2),rgba(0,102,255,.1))}.stat-card.gradient-purple{background:linear-gradient(135deg,rgba(123,47,255,.2),rgba(255,0,255,.1))}.stat-card.gradient-cyan{background:linear-gradient(135deg,rgba(0,255,136,.2),rgba(0,204,102,.1))}.stat-card.gradient-orange{background:linear-gradient(135deg,rgba(255,170,0,.2),rgba(255,102,0,.1))}.stat-icon-wrapper{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}.stat-icon{font-size:24px}.stat-info{position:relative;z-index:1}.stat-label{color:rgba(255,255,255,.6);font-size:13px;margin-bottom:5px;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:36px;font-weight:700;color:#fff;margin-bottom:8px;text-shadow:0 0 20px rgba(255,255,255,.3)}.stat-trend{font-size:12px;font-weight:600;padding:3px 10px;border-radius:10px;display:inline-block}.stat-trend.positive{color:#0f8;background:rgba(0,255,136,.2)}.stat-trend.negative{color:#f66;background:rgba(255,102,102,.2)}.dashboard-container .hidden{display:none!important}.dashboard-content{z-index:1;position:relative}.chart-section,.info-section{background:rgba(255,255,255,.05);border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid rgba(255,255,255,.1)}.section-header{margin-bottom:20px}.section-header h3{color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.section-icon{font-size:18px}.chart-container{background:rgba(0,0,0,.2);border-radius:8px;padding:20px}.mini-chart{display:flex;justify-content:space-around;align-items:flex-end;height:150px}.chart-bar-wrapper{display:flex;flex-direction:column;align-items:center;gap:10px}.chart-bar{width:40px;border-radius:8px 8px 0 0;transition:.5s;position:relative}.chart-bar:hover{opacity:.8;transform:scaleX(1.1)}.chart-bar::after{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3),transparent);border-radius:8px 8px 0 0}.bar-label{color:rgba(255,255,255,.7);font-size:12px}.bar-count{color:rgba(255,255,255,.9);font-size:14px;font-weight:700;margin-top:5px}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.status-item{display:flex;align-items:center;gap:10px;padding:12px 15px;background:rgba(0,0,0,.2);border-radius:8px;color:rgba(255,255,255,.8);font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;animation:2s infinite pulse}.status-item.online .status-dot{background:#0f8}.status-item.warning .status-dot{background:#fa0}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px}.action-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;cursor:pointer;transition:.3s;backdrop-filter:blur(10px)}.action-btn:hover{background:rgba(0,200,255,.2);border-color:rgba(0,200,255,.5);transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,200,255,.3)}.action-icon{font-size:28px}.action-text{font-size:13px;font-weight:500}.data-table{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);border-collapse:collapse}.data-table td,.data-table th{padding:16px;text-align:left}.data-table th{background:#fafafa;font-weight:500;color:#262626}.data-table.fixed-header{table-layout:fixed}.data-table.fixed-header th{position:sticky;top:0;z-index:10;text-align:center;background:#f5f5f5}.data-table.fixed-header td:nth-child(4),.data-table.fixed-header td:nth-child(5),.data-table.fixed-header th:nth-child(4),.data-table.fixed-header th:nth-child(5){width:25%;min-width:200px}.data-table tr:hover{background:#fafafa}.data-table .actions{display:flex;gap:8px;flex-wrap:wrap}.data-table td:last-child{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.data-table td:last-child .btn{padding:6px 14px;font-size:12px;font-weight:500;border-radius:6px;transition:.2s;border:1px solid transparent;cursor:pointer;min-width:60px;text-align:center}.duty-completed-cell{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.duty-completed-content{flex:1;min-width:0;line-height:1.6;word-break:break-word}.duty-inline-add-btn{flex-shrink:0}.readonly-content{min-height:72px;max-height:220px;overflow-y:auto;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;background:#fafafa;color:#555;line-height:1.6;white-space:normal;word-break:break-word}#authorization-operations-table td,#authorization-operations-table th{padding:14px 12px;text-align:center;vertical-align:middle}#authorization-operations-table td:first-child,#authorization-operations-table td:nth-child(2),#authorization-operations-table td:nth-child(3),#authorization-operations-table td:nth-child(4),#authorization-operations-table td:nth-child(5),#authorization-operations-table td:nth-child(7),#authorization-operations-table td:nth-child(8),#authorization-operations-table th:first-child,#authorization-operations-table th:nth-child(2),#authorization-operations-table th:nth-child(3),#authorization-operations-table th:nth-child(4),#authorization-operations-table th:nth-child(5),#authorization-operations-table th:nth-child(7),#authorization-operations-table th:nth-child(8){min-width:0;white-space:nowrap}#authorization-operations-table td:nth-child(6),#authorization-operations-table th:nth-child(6){min-width:0;white-space:normal;word-break:break-word;text-align:left;line-height:1.6}#authorization-operations-table td:last-child{display:table-cell;text-align:center;white-space:nowrap}#authorization-operations-table .authorization-operation-actions{display:inline-flex;align-items:center;justify-content:center;gap:6px}#authorization-operations-table .authorization-operation-actions .btn{padding:7px 10px;min-width:48px}.data-table td:last-child .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.data-table td:last-child .btn:active{transform:translateY(0);box-shadow:0 1px 4px rgba(0,0,0,.1)}.data-table td:last-child .btn-primary{background:#1890ff;color:#fff;border:1px solid #1890ff}.data-table td:last-child .btn-primary:hover{background:#40a9ff;border-color:#40a9ff}.data-table td:last-child .btn-default{background:#fff;color:#333;border:1px solid #d9d9d9}.data-table td:last-child .btn-default:hover{background:#f0f8ff;border-color:#1890ff;color:#1890ff}.data-table td:last-child .btn-danger{background:#ff4d4f;color:#fff;border:1px solid #ff4d4f}.data-table td:last-child .btn-danger:hover{background:#ff7875;border-color:#ff7875}.data-table td:last-child .btn-success{background:#52c41a;color:#fff;border:1px solid #52c41a}.data-table td:last-child .btn-success:hover{background:#73d13d;border-color:#73d13d}.data-table td:last-child .btn-info{background:#1890ff;color:#fff;border:1px solid #1890ff}.data-table td:last-child .btn-info:hover{background:#40a9ff;border-color:#40a9ff}.data-table td:last-child .btn-warning{background:#fa8c16;color:#fff;border:1px solid #fa8c16}.data-table td:last-child .btn-warning:hover{background:#ffa940;border-color:#ffa940}.data-table td:last-child .btn-view{background:#f5f5f5;color:#333;border:1px solid #d9d9d9}.data-table td:last-child .btn-view:hover{background:#f0f8ff;border-color:#1890ff;color:#1890ff}.data-table .checkbox-col{width:40px;text-align:center;padding:16px 8px}.data-table .checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;vertical-align:middle}.status-active{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-inactive{background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e}.status-maintenance{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.status-abnormal,.status-danger{background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e}.status-resolved,.status-warning{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.status-idle{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-occupied{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.status-reserved{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.filter-group{display:flex;align-items:center;flex-wrap:wrap}.filter-group input,.filter-group select{min-width:120px}.btn-group{display:flex;gap:8px}.form-row{display:flex;gap:16px}.form-group.half{flex:1}.form-group .required{color:#ff4d4f}.form-hint{display:block;margin-top:4px;color:#8c8c8c;font-size:12px}.form-group textarea{width:100%;padding:10px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;resize:vertical;box-sizing:border-box}.form-group input[readonly]{background:#f5f5f5;cursor:not-allowed}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:16px}.pagination button{padding:6px 12px;border:1px solid #d9d9d9;background:#fff;border-radius:4px;cursor:pointer;transition:.3s}.pagination button:hover:not(:disabled){border-color:#1890ff;color:#1890ff}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button.active{background:#1890ff;color:#fff;border-color:#1890ff}.pagination .page-info{color:#8c8c8c;font-size:14px}.pagination-wrapper{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:16px;flex-wrap:wrap}.pagination-wrapper .page-btn{padding:8px 16px;border:1px solid #d9d9d9;background:#fff;border-radius:6px;cursor:pointer;transition:.3s;font-size:14px;color:#595959}.pagination-wrapper .page-btn:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#e6f7ff}.pagination-wrapper .page-btn:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.pagination-wrapper .page-info{color:#262626;font-size:14px;font-weight:500;padding:0 12px}.pagination-wrapper .page-jump{display:flex;align-items:center;gap:8px;margin-left:16px;padding-left:16px;border-left:1px solid #e8e8e8}.pagination-wrapper .page-jump span{color:#595959;font-size:14px}.pagination-wrapper .page-jump input{width:60px;padding:6px 10px;border:1px solid #d9d9d9;border-radius:6px;text-align:center;font-size:14px;color:#262626;transition:.3s}.pagination-wrapper .page-jump input:focus{outline:0;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.pagination-wrapper .page-jump input::-webkit-inner-spin-button,.pagination-wrapper .page-jump input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pagination-wrapper .page-jump .btn-confirm{padding:8px 16px;background:#1890ff;color:#fff;border-color:#1890ff}.pagination-wrapper .page-jump .btn-confirm:hover{background:#40a9ff;border-color:#40a9ff}.progress-bar{width:100%;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.progress-bar .progress-fill{height:100%;background:#1890ff;border-radius:4px;transition:width .3s}.progress-bar .progress-fill.warning{background:#fa8c16}.progress-bar .progress-fill.danger{background:#ff4d4f}.progress-text{font-size:12px;color:#8c8c8c;margin-top:4px}.progress-bar.clickable,.progress-text.clickable{cursor:pointer}.progress-bar.clickable:hover .progress-fill{opacity:.8}.progress-text.clickable:hover{color:#1890ff}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:.3s fadeIn}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;box-shadow:0 12px 48px rgba(0,0,0,.18);animation:.3s slideUp;display:flex;flex-direction:column}.modal-content .modal-body{flex:1;overflow-y:auto;max-height:calc(90vh - 140px);padding-right:8px}.modal-content .modal-body::-webkit-scrollbar{width:6px}.modal-content .modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.modal-content .modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.modal-content .modal-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fafafa}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa;display:flex;justify-content:flex-end;gap:12px}.confirm-message{padding:20px 0;text-align:center}.confirm-message p{line-height:1.5}.detail-container{display:flex;flex-direction:column;gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:14px;font-weight:500;color:#666}.detail-item span{font-size:15px;color:#333;line-height:1.4}.visitors-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.visitor-detail{padding:12px;background:#f9f9f9;border-radius:8px;border-left:4px solid #1890ff}.visitor-detail strong{display:block;margin-bottom:8px;color:#333}.visitor-detail div{font-size:14px;color:#666;margin-bottom:4px}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#262626}.modal-header .close{font-size:24px;color:#8c8c8c;cursor:pointer;transition:color .3s}.modal-header .close:hover{color:#1890ff}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}.form-actions .btn{min-width:80px;padding:8px 16px;font-size:14px;border-radius:4px;cursor:pointer;transition:.3s}.form-actions .btn:hover{opacity:.85}.form-actions .btn-primary{background:#1890ff;color:#fff;border:none}.form-actions .btn-primary:hover{background:#40a9ff}.form-actions .btn-secondary{background:#f5f5f5;color:#333;border:1px solid #d9d9d9}.form-actions .btn-secondary:hover{background:#f0f0f0;border-color:#1890ff;color:#1890ff}#view-cabinet-modal .modal-content{max-width:800px;padding:20px 24px;max-height:none}#view-cabinet-modal .form-row{display:flex;gap:16px;margin-bottom:12px}#view-cabinet-modal .form-group.half{flex:1;margin-bottom:0}#view-cabinet-modal .form-group{margin-bottom:12px}#view-cabinet-modal label{font-size:12px;color:#8c8c8c;margin-bottom:4px;display:block}#view-cabinet-modal input[readonly],#view-cabinet-modal textarea[readonly]{background:#f5f5f5;border:1px solid #d9d9d9;color:#262626;font-size:13px;padding:6px 10px;border-radius:4px;width:100%;cursor:default;height:32px}#view-cabinet-modal textarea[readonly]{resize:none;height:50px;min-height:50px}#view-cabinet-modal h3{font-size:16px;font-weight:600;color:#262626;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}#view-cabinet-modal .form-actions{margin-top:16px}.modal-small{max-width:400px!important;padding:24px!important;text-align:center}.modal-small h3{font-size:16px;color:#ff4d4f;margin-bottom:20px;border-bottom:none}.confirm-message{margin-bottom:24px}.confirm-message p{margin:8px 0;font-size:14px;color:#262626}.confirm-message strong{color:#1890ff;font-size:16px}.warning-text{color:#ff4d4f!important;font-size:12px!important}.modal-small .form-actions{justify-content:center;margin-top:0}.modal-small .form-actions .btn{min-width:100px}#success-modal h3{color:#52c41a}#success-modal .confirm-message p{color:#595959;white-space:pre-line}#release-confirm-modal h3{color:#1890ff}.view-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;text-align:left}.view-info-item{display:flex;flex-direction:column}.view-info-item.full-width{grid-column:1/-1}.view-info-item label{font-size:12px;color:#8c8c8c;margin-bottom:4px}.view-info-item span{font-size:14px;color:#262626;font-weight:500}.module-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:linear-gradient(135deg,#f8fafc 0,#f1f5f9 100%);border-radius:12px;border:1px solid #e2e8f0}.module-nav{display:flex;align-items:center;gap:20px}.btn-back{display:flex;align-items:center;gap:6px;padding:12px 24px;background:#1890ff;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:500;box-shadow:0 4px 12px rgba(24,144,255,.3);transition:.3s;cursor:pointer}.btn-back:hover{background:#40a9ff;box-shadow:0 6px 16px rgba(24,144,255,.4);transform:translateY(-1px)}.btn-back:active{transform:translateY(0);box-shadow:0 2px 8px rgba(24,144,255,.3)}.back-icon{font-size:16px;color:#fff}.module-dc-info{display:flex;align-items:center;gap:6px;padding:12px 24px;background:#1890ff;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:500;box-shadow:0 4px 12px rgba(24,144,255,.3)}.module-dc-label{font-size:15px;color:rgba(255,255,255,.85);font-weight:500}.module-dc-name{font-size:15px;font-weight:600;color:#1f2937}.plus-icon{font-size:16px;font-weight:700}.module-toolbar .btn-primary{display:flex;align-items:center;gap:6px;padding:12px 24px;background:#1890ff;border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:500;box-shadow:0 4px 12px rgba(24,144,255,.3);transition:.3s}.module-toolbar .btn-primary:hover{background:#40a9ff;box-shadow:0 6px 16px rgba(24,144,255,.4);transform:translateY(-1px)}.module-toolbar .btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(24,144,255,.3)}#cabinet-modal .modal-content{max-width:420px;padding:0;border-radius:12px;overflow:hidden;max-height:none}#cabinet-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#cabinet-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#cabinet-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#cabinet-modal .close:hover{color:#fff;opacity:1}#cabinet-modal .modal-body{padding:20px 24px}#cabinet-modal .form-group{margin-bottom:12px}#cabinet-modal label{font-size:13px;margin-bottom:4px}#cabinet-modal input,#cabinet-modal select,#cabinet-modal textarea{padding:8px 12px;font-size:13px}#cabinet-modal textarea{min-height:60px;resize:none}#cabinet-modal .form-actions{margin-top:16px;padding-top:12px}#cabinet-modal .form-actions .btn{padding:8px 20px;font-size:13px}.dashboard-fullscreen{position:fixed;top:0;left:200px;right:0;bottom:0;z-index:100;padding:0!important;display:flex;flex-direction:column}.dashboard-fullscreen .header{flex-shrink:0}.dashboard-fullscreen .dashboard-container{display:flex;flex-direction:column;height:calc(100vh - 64px);min-height:0;overflow:hidden;margin-bottom:0}.dashboard-fullscreen.is-native-fullscreen,.dashboard-fullscreen:-webkit-full-screen,.dashboard-fullscreen:fullscreen{overflow:hidden}.dashboard-fullscreen.is-native-fullscreen .dashboard-container,.dashboard-fullscreen:-webkit-full-screen .dashboard-container,.dashboard-fullscreen:fullscreen .dashboard-container{flex:1;height:100vh;min-height:0;overflow:hidden}#cabinet-dashboard-page .dashboard-sub-header{display:none}#cabinet-dashboard-page.is-native-fullscreen .dashboard-sub-header,#cabinet-dashboard-page:-webkit-full-screen .dashboard-sub-header,#cabinet-dashboard-page:fullscreen .dashboard-sub-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;flex-shrink:0;width:100%;padding:28px 32px 18px}#cabinet-dashboard-page.is-native-fullscreen .dashboard-sub-header .header-left,#cabinet-dashboard-page:-webkit-full-screen .dashboard-sub-header .header-left,#cabinet-dashboard-page:fullscreen .dashboard-sub-header .header-left{min-width:0}#cabinet-dashboard-page.is-native-fullscreen .dashboard-sub-header .header-center,#cabinet-dashboard-page:-webkit-full-screen .dashboard-sub-header .header-center,#cabinet-dashboard-page:fullscreen .dashboard-sub-header .header-center{grid-column:2;justify-self:center;text-align:center}#cabinet-dashboard-page.is-native-fullscreen .dashboard-sub-header .header-right,#cabinet-dashboard-page:-webkit-full-screen .dashboard-sub-header .header-right,#cabinet-dashboard-page:fullscreen .dashboard-sub-header .header-right{grid-column:3;justify-self:end;align-self:center;text-align:right}.dashboard-container{background:radial-gradient(ellipse at top,rgba(0,150,255,.1) 0,transparent 50%),radial-gradient(ellipse at bottom,rgba(0,200,255,.05) 0,transparent 50%);border-radius:8px;overflow:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:linear-gradient(90deg,rgba(0,100,200,.1) 0,rgba(0,150,255,.2) 50%,rgba(0,100,200,.1) 100%);border:1px solid rgba(0,200,255,.3);position:relative;overflow:hidden}.dashboard-header::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00c8ff,transparent)}.header-left .logo{font-size:20px;font-weight:700;color:#00c8ff;text-shadow:0 0 20px rgba(0,200,255,.5)}.header-center{text-align:center}.dashboard-header .main-title{font-size:24px;font-weight:700;background:linear-gradient(90deg,#00c8ff,#09f,#00c8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:4px;margin-bottom:8px}.dashboard-header .sub-title{font-size:16px;color:#00c8ff;text-shadow:0 0 10px rgba(0,200,255,.3)}.dashboard-sub-header .main-title{margin:0 0 12px;font-size:30px;font-weight:700;color:#1f2937;letter-spacing:0}.dashboard-sub-header .sub-title{font-size:16px;color:#4b5563}.header-right{text-align:right}.header-right .datetime{font-size:14px;color:#00c8ff}.dashboard-main{display:flex;gap:20px;padding:20px;flex:1;min-height:0}.dashboard-fullscreen.is-native-fullscreen .dashboard-main,.dashboard-fullscreen:-webkit-full-screen .dashboard-main,.dashboard-fullscreen:fullscreen .dashboard-main{min-height:0}.dashboard-main .left-panel{width:130px;display:flex;flex-direction:column;gap:16px;flex-shrink:0;overflow-y:auto;padding-right:4px}.dashboard-main .stat-card{background:linear-gradient(135deg,rgba(0,50,100,.4) 0,rgba(0,30,60,.6) 100%);border:1px solid rgba(0,200,255,.3);border-radius:12px;padding:10px;display:flex;align-items:center;gap:12px;position:relative;overflow:hidden}.dashboard-main .stat-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,#00c8ff,#09f)}.dashboard-main .stat-icon{width:40px;height:40px;background:rgba(0,200,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#00c8ff}.dashboard-main .stat-icon svg{width:20px;height:20px}.dashboard-main .stat-icon.success{color:#00d26a;background:rgba(0,210,106,.1)}.dashboard-main .stat-icon.info{color:#00c8ff;background:rgba(0,200,255,.1)}.dashboard-main .stat-icon.warning{color:#faad14;background:rgba(250,173,20,.1)}.dashboard-main .stat-icon.purple{color:#722ed1;background:rgba(114,46,209,.1)}.dashboard-main .stat-icon.orange{color:#ff7a45;background:rgba(255,122,69,.1)}.dashboard-main .stat-icon.danger{color:#ff4d4f;background:rgba(255,77,79,.1)}.dashboard-main .stat-icon.gray{color:#8c8c8c;background:rgba(140,140,140,.1)}.dashboard-main .stat-info{flex:1}.dashboard-main .stat-label{font-size:11px;color:rgba(255,255,255,.6);margin-bottom:4px}.dashboard-main .stat-value{font-size:22px;font-weight:700;color:#fff;text-shadow:0 0 10px rgba(0,200,255,.3)}.dashboard-main .center-panel{flex:1;background:linear-gradient(135deg,rgba(0,30,60,.4) 0,rgba(0,20,40,.6) 100%);border:1px solid rgba(0,200,255,.3);border-radius:12px;padding:20px;display:flex;flex-direction:column;position:relative;min-height:0}.dashboard-main .center-panel::before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;background:linear-gradient(45deg,transparent,rgba(0,200,255,.1),transparent);border-radius:12px;z-index:-1}.dashboard-main .dc-selector{margin-bottom:16px;display:flex;gap:12px;align-items:center}.dashboard-main .dc-selector select{min-width:160px;padding:10px 36px 10px 16px;background:rgba(0,50,100,.5);border:1px solid rgba(0,200,255,.5);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;outline:0;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2300c8ff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.fullscreen-btn{position:fixed;bottom:20px;right:20px;width:48px;height:48px;background:linear-gradient(135deg,rgba(0,100,200,.8) 0,rgba(0,60,120,.9) 100%);border:1px solid rgba(0,200,255,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:.3s;box-shadow:0 4px 12px rgba(0,0,0,.3)}.fullscreen-btn:hover{background:linear-gradient(135deg,rgba(0,150,255,.9) 0,#0064c8 100%);transform:scale(1.1);box-shadow:0 6px 20px rgba(0,200,255,.4)}.fullscreen-btn svg{width:24px;height:24px;color:#fff}.dashboard-fullscreen:-webkit-full-screen .fullscreen-btn,.dashboard-fullscreen:fullscreen .fullscreen-btn{bottom:20px;right:20px}.dashboard-main .dc-selector select:focus{border-color:#00c8ff;box-shadow:0 0 15px rgba(0,200,255,.3)}.dashboard-main .dc-selector select option{background:#0a0e27;color:#fff}#dashboard-module-select{min-width:140px}.dashboard-main .legend-bar{display:flex;justify-content:center;gap:24px;margin-bottom:16px;padding:12px;background:rgba(0,50,100,.2);border-radius:8px}.dashboard-main .legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.8)}.dashboard-main .legend-color{width:14px;height:14px;border-radius:4px;box-shadow:0 0 8px currentColor}.dashboard-main .legend-color.idle{background:#00d26a;box-shadow:0 0 8px #00d26a}.dashboard-main .legend-color.occupied{background:#ff4757;box-shadow:0 0 8px #ff4757}.dashboard-main .legend-color.reserved{background:#ffa502;box-shadow:0 0 8px #ffa502}.dashboard-main .legend-color.maintenance{background:#747d8c;box-shadow:0 0 8px #747d8c}.dashboard-main .legend-color.warning{background:#ff6348;box-shadow:0 0 8px #ff6348}.dashboard-main .cabinets-grid{flex:1;display:grid;grid-template-columns:repeat(26,1fr);grid-auto-rows:minmax(40px,60px);gap:15px;overflow-x:hidden;overflow-y:auto;padding:5px;background:rgba(0,20,40,.3);border-radius:8px;border:1px solid rgba(0,200,255,.2);width:100%}.dashboard-main .cabinets-grid::-webkit-scrollbar{width:6px}.dashboard-main .cabinets-grid::-webkit-scrollbar-track{background:rgba(0,50,100,.2);border-radius:3px}.dashboard-main .cabinets-grid::-webkit-scrollbar-thumb{background:rgba(0,200,255,.5);border-radius:3px}.dashboard-main .empty-state{grid-column:1/-1;display:flex;align-items:center;justify-content:center;height:100%;color:rgba(255,255,255,.5);font-size:14px}.dashboard-main .cabinet-unit{aspect-ratio:1;background:linear-gradient(135deg,rgba(0,100,200,.3) 0,rgba(0,50,100,.5) 100%);border:1px solid rgba(0,200,255,.3);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.3s;position:relative;overflow:hidden}.dashboard-main .cabinet-unit::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:0;transition:opacity .3s}.dashboard-main .cabinet-unit:hover::before{opacity:1}.dashboard-main .cabinet-unit:hover{transform:scale(1.05);box-shadow:0 0 20px rgba(0,200,255,.3)}.dashboard-main .cabinet-unit.idle{background:linear-gradient(135deg,rgba(0,210,106,.2) 0,rgba(0,150,80,.4) 100%);border-color:rgba(0,210,106,.5);color:#00d26a}.dashboard-main .cabinet-unit.occupied{background:linear-gradient(135deg,rgba(255,71,87,.2) 0,rgba(200,50,70,.4) 100%);border-color:rgba(255,71,87,.5);color:#ff4757}.dashboard-main .cabinet-unit.reserved{background:linear-gradient(135deg,rgba(255,165,2,.2) 0,rgba(200,130,0,.4) 100%);border-color:rgba(255,165,2,.5);color:#ffa502}.dashboard-main .cabinet-unit.maintenance{background:linear-gradient(135deg,rgba(116,125,140,.2) 0,rgba(80,90,100,.4) 100%);border-color:rgba(116,125,140,.5);color:#747d8c}.dashboard-main .cabinet-unit.warning{background:linear-gradient(135deg,rgba(255,99,72,.2) 0,rgba(200,70,50,.4) 100%);border-color:rgba(255,99,72,.5);color:#ff6348;animation:2s infinite pulse}@keyframes pulse{50%{opacity:.5;transform:scale(1.1);opacity:.8;box-shadow:0 0 20px currentColor}0%,100%{transform:scale(1);opacity:1;box-shadow:0 0 5px currentColor}}.dashboard-main .cabinet-no{font-size:10px;font-weight:700;margin-bottom:2px}.dashboard-main .cabinet-status{font-size:8px;opacity:.8}.dashboard-main .cabinet-group-break{visibility:hidden;flex-shrink:0}.dashboard-main .cabinet-group-newline{grid-column:1/-1;height:0;margin:0;padding:0;border:none}.dashboard-main .cabinet-pillar{width:100%;height:100%;min-height:0;background:linear-gradient(180deg,rgba(100,50,150,.4) 0,rgba(60,30,100,.6) 100%);border:2px solid rgba(150,100,255,.5);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:default;transition:.3s;position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,transparent calc(50% - 1px),rgba(150,100,255,.3) calc(50% - 1px),rgba(150,100,255,.3) calc(50% + 1px),transparent calc(50% + 1px));background-size:10px 100%,100% 100%}.dashboard-main .cabinet-pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(150,100,255,.8),transparent)}.dashboard-main .cabinet-pillar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(150,100,255,.8),transparent)}.dashboard-main .cabinet-pillar:hover{transform:scale(1.02);box-shadow:0 0 20px rgba(150,100,255,.4);border-color:rgba(180,130,255,.7)}.dashboard-main .cabinet-pillar .pillar-name{font-size:10px;font-weight:700;color:rgba(180,150,255,.9);text-align:center;writing-mode:horizontal-tb;letter-spacing:1px;text-shadow:0 0 10px rgba(150,100,255,.5)}.dashboard-main .cabinet-tooltip{position:fixed;background:linear-gradient(135deg,rgba(0,30,60,.95) 0,rgba(0,20,40,.98) 100%);border:1px solid rgba(0,200,255,.5);border-radius:8px;padding:12px;min-width:180px;max-width:280px;z-index:1000;display:none;box-shadow:0 10px 40px rgba(0,0,0,.5)}.dashboard-main .cabinet-tooltip.show{display:block}.dashboard-main .tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(0,200,255,.3)}.dashboard-main .tooltip-title{font-size:13px;font-weight:700;color:#00c8ff}.dashboard-main .tooltip-status{font-size:10px;padding:2px 6px;border-radius:10px;background:rgba(0,200,255,.2);color:#00c8ff}.dashboard-main .tooltip-row{display:flex;margin-bottom:6px;font-size:11px}.dashboard-main .tooltip-label{color:rgba(255,255,255,.6);width:60px}.dashboard-main .tooltip-value{color:#fff;flex:1}.dashboard-main .tooltip-row-devices{align-items:flex-start}.dashboard-main .tooltip-devices{line-height:1.45;word-break:break-word;max-height:180px;overflow-y:auto}.dashboard-main .tooltip-device-item{color:#fff;margin-bottom:3px}.dashboard-main .tooltip-device-more,.dashboard-main .tooltip-devices .muted-text{color:rgba(255,255,255,.65)}.dashboard-footer{background:linear-gradient(90deg,rgba(0,50,100,.3) 0,rgba(0,80,150,.4) 50%,rgba(0,50,100,.3) 100%);border:1px solid rgba(0,200,255,.3);padding:12px 40px}.dashboard-footer .footer-nav{display:flex;justify-content:center;gap:30px}.dashboard-footer .nav-item{color:rgba(255,255,255,.6);text-decoration:none;font-size:13px;padding:6px 16px;border-radius:20px;transition:.3s;position:relative}.dashboard-footer .nav-item.active,.dashboard-footer .nav-item:hover{color:#00c8ff;background:rgba(0,200,255,.1)}.dashboard-footer .nav-item.active::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:24px;height:2px;background:#00c8ff;box-shadow:0 0 10px #00c8ff}#module-modal .modal-content{max-width:500px;padding:0;border-radius:12px;overflow:hidden}#module-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none}#module-modal .modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}#module-modal .modal-header .close{color:#fff;opacity:.8;font-size:24px;transition:.3s}#module-modal .modal-header .close:hover{opacity:1;color:#fff}#module-modal .modal-body{padding:24px;background:#fff}#module-modal .form-group{margin-bottom:20px}#module-modal .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}#module-modal .form-group input,#module-modal .form-group select,#module-modal .form-group textarea{width:100%;padding:10px 14px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px;transition:.3s;box-sizing:border-box}#module-modal .form-group input:focus,#module-modal .form-group select:focus,#module-modal .form-group textarea:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}#module-modal .form-group textarea{resize:vertical;min-height:80px}#module-modal .form-hint{display:block;margin-top:6px;font-size:12px;color:#8c8c8c}#module-modal .form-row{display:flex;gap:16px;margin-bottom:20px}#module-modal .form-row .form-group{flex:1;margin-bottom:0}#module-modal .modal-footer{background:#fafafa;border-top:1px solid #f0f0f0;padding:16px 24px;display:flex;justify-content:flex-end;gap:12px}#module-modal .modal-footer .btn{min-width:80px;padding:10px 16px;font-size:14px;border-radius:6px;transition:.3s}#module-modal .modal-footer .btn-primary{background:#1890ff;color:#fff;border:none}#module-modal .modal-footer .btn-primary:hover{background:#40a9ff;box-shadow:0 2px 8px rgba(24,144,255,.3)}#module-modal .modal-footer .btn{background:#f5f5f5;color:#333;border:1px solid #d9d9d9}#module-modal .modal-footer .btn:hover{background:#f0f0f0;border-color:#1890ff;color:#1890ff}#batch-cabinet-modal .modal-content{max-width:550px;padding:0;border-radius:12px;overflow:hidden}#batch-cabinet-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none}#batch-cabinet-modal .modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}#batch-cabinet-modal .modal-header .close{color:#fff;opacity:.8;font-size:24px;transition:.3s}#batch-cabinet-modal .modal-header .close:hover{opacity:1;color:#fff}#batch-cabinet-modal .modal-body{padding:24px;background:#fff}#batch-cabinet-modal .form-group{margin-bottom:20px}#batch-cabinet-modal .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}#batch-cabinet-modal .form-control{width:100%;padding:10px 14px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px;transition:.3s;box-sizing:border-box;height:40px}#batch-cabinet-modal .form-control:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}#batch-cabinet-modal .form-hint{display:block;margin-top:6px;font-size:12px;color:#8c8c8c;line-height:1.4}#batch-cabinet-modal .form-row{display:flex;gap:16px;margin-bottom:20px}#batch-cabinet-modal .form-row .form-group{flex:1;margin-bottom:0}#batch-cabinet-modal .modal-footer{background:#fafafa;border-top:1px solid #f0f0f0;padding:16px 24px;display:flex;justify-content:flex-end;gap:12px}#batch-cabinet-modal .modal-footer .btn{min-width:80px;padding:10px 24px;font-size:14px;font-weight:500;border-radius:6px;transition:.3s}#batch-cabinet-modal .modal-footer .btn-primary{background:#1890ff;color:#fff;border:none}#batch-cabinet-modal .modal-footer .btn-primary:hover{background:#40a9ff;box-shadow:0 2px 8px rgba(24,144,255,.3);transform:translateY(-1px)}#batch-cabinet-modal .modal-footer .btn{background:#f5f5f5;color:#333;border:1px solid #d9d9d9}#batch-cabinet-modal .modal-footer .btn:hover{background:#f0f0f0;border-color:#1890ff;color:#1890ff;transform:translateY(-1px)}#asset-modal .modal-content{max-width:680px;padding:0;border-radius:12px;overflow:hidden;max-height:none}#asset-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none}.settings-tabs{display:flex;gap:12px;margin-bottom:24px;padding:12px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.settings-tab{padding:10px 20px;border-radius:6px;cursor:pointer;transition:.3s;display:flex;align-items:center;gap:8px;color:#666;font-size:14px}.settings-tab:hover{background:#f0f7ff;color:#1890ff}.settings-tab.active{background:#1890ff;color:#fff}.settings-tab-content{display:block}.settings-tab-content.hidden{display:none}.card{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.card h3{margin:0 0 20px;color:#333;font-size:16px;font-weight:600}.module-permission-card{overflow:hidden;border:1px solid #edf1f7;box-shadow:0 8px 24px rgba(15,35,70,.06)}.module-permission-card .card-header{align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #eef2f7}.module-permission-card .card-header h3{margin-bottom:6px;color:#1f2937;font-size:18px}.module-permission-subtitle{margin:0;color:#8a94a6;font-size:13px}.module-permission-panel{padding-top:18px}.module-permission-toolbar{display:flex;align-items:center;gap:14px;width:fit-content;margin-bottom:18px;padding:10px 12px;border:1px solid #edf1f7;border-radius:8px;background:#f8fafc}.module-permission-toolbar label{color:#475569;font-size:14px;font-weight:600;white-space:nowrap}.module-permission-toolbar select{min-width:240px;height:38px;padding:0 36px 0 12px;border:1px solid #d7dfe9;border-radius:6px;background:#fff;color:#1f2937;font-size:14px;outline:0;transition:border-color .2s,box-shadow .2s}.module-permission-toolbar select:focus{border-color:#1890ff;box-shadow:0 0 0 3px rgba(24,144,255,.12)}.module-permission-hint{margin:0 0 16px;color:#64748b;font-size:14px}.module-permission-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.module-permission-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:13px 16px;border:1px solid #e5eaf1;border-radius:8px;background:linear-gradient(180deg,#fff 0,#fbfdff 100%);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}.module-permission-item:hover{border-color:#1890ff;background:#f7fbff;box-shadow:0 6px 16px rgba(24,144,255,.1);transform:translateY(-1px)}.module-permission-item:has(input:checked){border-color:#1890ff;background:#eef7ff;box-shadow:inset 3px 0 0 #1890ff}.module-permission-item input{width:18px;height:18px;margin:0;accent-color:#1890ff;flex:0 0 auto}.module-permission-text{display:flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}.module-permission-text strong{overflow:hidden;color:#1f2937;font-size:14px;font-weight:600;text-overflow:ellipsis}.module-permission-text small{color:#94a3b8;font-size:12px;white-space:nowrap}.module-permission-save-btn{min-width:92px;height:40px;border-radius:6px;box-shadow:0 6px 16px rgba(24,144,255,.22)}.room-config-btn{background:linear-gradient(135deg,#1890ff 0,#096dd9 100%);color:#fff;border:none;border-radius:8px;padding:12px 32px;font-size:14px;font-weight:500;cursor:pointer;transition:.3s;box-shadow:0 4px 12px rgba(24,144,255,.3);white-space:nowrap}.room-config-btn:hover{background:linear-gradient(135deg,#40a9ff 0,#1890ff 100%);box-shadow:0 6px 16px rgba(24,144,255,.4);transform:translateY(-2px)}.room-config-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(24,144,255,.3)}#room-name-input{flex:1;padding:12px 16px;border:2px solid #e8e8e8;border-radius:8px;font-size:14px;transition:.3s;outline:0}#room-name-input:focus{border-color:#1890ff;box-shadow:0 0 0 3px rgba(24,144,255,.1)}.temp-humidity-table{width:100%;border:1px solid #d9d9d9;border-radius:8px;overflow:hidden}.temp-humidity-table .table-header{display:flex;background:#69c0ff;color:#fff;font-weight:600}.temp-humidity-table .table-row{display:flex;border-bottom:1px solid #e8e8e8}.temp-humidity-table .table-row:last-child{border-bottom:none}.temp-humidity-table .td,.temp-humidity-table .th{flex:1;padding:12px;text-align:center;min-width:80px}.temp-humidity-table .td:first-child,.temp-humidity-table .th:first-child{flex:2;min-width:200px}.temp-humidity-table .td.label-cell{background:#fafafa;text-align:left}.temp-humidity-table .label-text{font-size:12px;color:#666;line-height:1.5}.temp-humidity-table .humidity-input,.temp-humidity-table .temp-input{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:13px;text-align:center;transition:.3s;outline:0;box-sizing:border-box}.temp-humidity-table .humidity-input:focus,.temp-humidity-table .temp-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.1)}.temp-humidity-table .humidity-input::placeholder,.temp-humidity-table .temp-input::placeholder{color:#bfbfbf}.temp-humidity-save-btn{background:linear-gradient(135deg,#1890ff 0,#096dd9 100%);color:#fff;border:none;border-radius:8px;padding:12px 40px;font-size:14px;font-weight:500;cursor:pointer;transition:.3s;box-shadow:0 4px 12px rgba(24,144,255,.3)}.temp-humidity-save-btn:hover{background:linear-gradient(135deg,#40a9ff 0,#1890ff 100%);box-shadow:0 6px 16px rgba(24,144,255,.4);transform:translateY(-2px)}.temp-humidity-save-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(24,144,255,.3)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-header h3{margin:0;color:#333;font-size:16px;font-weight:600}.add-room-btn{background:linear-gradient(135deg,#52c41a 0,#389e0d 100%);color:#fff;border:none;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;cursor:pointer;transition:.3s;box-shadow:0 2px 8px rgba(82,196,26,.3)}.add-room-btn:hover{background:linear-gradient(135deg,#73d13d 0,#52c41a 100%);box-shadow:0 4px 12px rgba(82,196,26,.4)}.room-section{background:#fafafa;border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid #e8e8e8}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e8e8e8}.room-name-row{flex:1;margin-right:12px}.room-name-input{width:100%;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;font-weight:600;color:#333;background:#fff;outline:0;transition:.3s}.room-name-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.1)}.room-name-input::placeholder{color:#bfbfbf;font-weight:400}.remove-room-btn{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:.3s}.remove-room-btn:hover{background:#ffccc7;border-color:#ff4d4f}#asset-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#asset-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#asset-modal .close:hover{color:#fff;opacity:1}#asset-modal .form-row{display:flex;gap:16px;margin-bottom:16px}#asset-modal .form-row .form-group{flex:1;margin-bottom:0;min-width:0}#asset-modal .form-group{margin-bottom:16px}#asset-modal label{display:block;font-size:13px;font-weight:500;color:#262626;margin-bottom:6px}#asset-modal label .required{color:#ff4d4f;margin-left:2px}#asset-modal input,#asset-modal select,#asset-modal textarea{width:100%;padding:8px 12px;font-size:13px;border:1px solid #d9d9d9;border-radius:4px;transition:.3s;box-sizing:border-box}#asset-modal input:focus,#asset-modal select:focus,#asset-modal textarea:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.1);outline:0}#asset-modal input::placeholder{color:#bfbfbf}#asset-modal textarea{min-height:80px;resize:vertical}@media (max-width:640px){#asset-modal .form-row{flex-direction:column}}#asset-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}#asset-modal .modal-footer .btn{min-width:80px;padding:8px 16px;font-size:14px;border-radius:4px;cursor:pointer;transition:.3s}#asset-modal .modal-footer .btn:hover{opacity:.85}#asset-modal .modal-footer .btn-primary{background:#1890ff;color:#fff;border:none}#asset-modal .modal-footer .btn-primary:hover{background:#40a9ff}#asset-detail-modal .modal-content{max-width:680px;padding:0;border-radius:12px;overflow:hidden}#asset-detail-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#asset-detail-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#asset-detail-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#asset-detail-modal .close:hover{color:#fff;opacity:1}#asset-detail-modal .modal-body{padding:24px 28px}#access-request-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#access-request-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#access-request-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#access-request-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#access-request-modal .close:hover{color:#fff;opacity:1}#access-request-modal .modal-body{padding:24px}#manual-entry-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#manual-entry-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#manual-entry-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#manual-entry-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#manual-entry-modal .close:hover{color:#fff;opacity:1}#manual-entry-modal .modal-body{padding:24px}#mount-asset-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#mount-asset-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#mount-asset-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#mount-asset-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#mount-asset-modal .close:hover{color:#fff;opacity:1}#mount-asset-modal .modal-body{padding:24px}#user-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#user-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#user-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#user-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#user-modal .close:hover{color:#fff;opacity:1}#user-modal .modal-body{padding:24px}#reset-password-modal .modal-content{max-width:400px;padding:0;border-radius:12px;overflow:hidden}#reset-password-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#reset-password-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#reset-password-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#reset-password-modal .close:hover{color:#fff;opacity:1}#reset-password-modal .modal-body{padding:24px}#change-password-modal .modal-content{max-width:500px;padding:0;border-radius:12px;overflow:hidden}#change-password-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none}#change-password-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#change-password-modal .modal-header .close{color:#fff;opacity:.8;font-size:24px;cursor:pointer;transition:.3s}#change-password-modal .modal-header .close:hover{color:#fff;opacity:1}#change-password-modal .modal-body{padding:24px;background:#fff}#change-password-modal .form-group{margin-bottom:20px}#change-password-modal .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}#change-password-modal .form-control{width:100%;height:40px;padding:10px 14px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px;box-sizing:border-box;transition:.3s}#change-password-modal .form-control:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}#change-password-modal .form-hint{display:block;margin-top:6px;font-size:12px;color:#8c8c8c}#change-password-modal .modal-footer{background:#fafafa;border-top:1px solid #f0f0f0;padding:16px 24px;display:flex;justify-content:flex-end;gap:12px}#change-password-modal .modal-footer .btn{min-width:80px;padding:10px 16px;font-size:14px;border-radius:6px;background:#f5f5f5;color:#333;border:1px solid #d9d9d9;transition:.3s}#change-password-modal .modal-footer .btn:hover{background:#f0f0f0;border-color:#1890ff;color:#1890ff}#change-password-modal .modal-footer .btn-primary{background:#1890ff;color:#fff;border:none}#change-password-modal .modal-footer .btn-primary:hover{background:#40a9ff;color:#fff;box-shadow:0 2px 8px rgba(24,144,255,.3)}#fault-record-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#fault-record-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#fault-record-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#fault-record-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#fault-record-modal .close:hover{color:#fff;opacity:1}#fault-record-modal .modal-body{padding:24px}#unmount-asset-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#unmount-asset-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#unmount-asset-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#unmount-asset-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#unmount-asset-modal .close:hover{color:#fff;opacity:1}#unmount-asset-modal .modal-body{padding:24px}#edit-entry-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#edit-entry-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#edit-entry-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#edit-entry-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#edit-entry-modal .close:hover{color:#fff;opacity:1}#edit-entry-modal .modal-body{padding:24px}#edit-access-request-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#edit-access-request-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#edit-access-request-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#edit-access-request-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#edit-access-request-modal .close:hover{color:#fff;opacity:1}#edit-access-request-modal .modal-body{padding:24px}#asset-detail-modal .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 24px}#asset-detail-modal .detail-item{display:flex;align-items:flex-start}#asset-detail-modal .detail-item.full-width{grid-column:1/-1;flex-direction:column}#asset-detail-modal .detail-label{font-size:13px;color:#8c8c8c;min-width:80px;flex-shrink:0}#asset-detail-modal .detail-value{font-size:13px;color:#262626;flex:1}#asset-detail-modal .modal-footer{display:flex;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}#fault-record-detail-modal .modal-content{max-width:560px;padding:0;border-radius:12px;overflow:hidden}#fault-record-detail-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#fault-record-detail-modal .modal-header h3{margin:0;font-size:18px;font-weight:600}#fault-record-detail-modal .modal-header .close{color:#fff;font-size:24px;cursor:pointer;opacity:.8}#fault-record-detail-modal .modal-header .close:hover{opacity:1}#fault-record-detail-modal .modal-body{padding:24px}#fault-record-detail-modal .detail-grid{display:grid;gap:16px}#fault-record-detail-modal .detail-row{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px;transition:.3s}#fault-record-detail-modal .detail-row:hover{background:#f0f8ff;box-shadow:0 2px 4px rgba(0,0,0,.08)}#fault-record-detail-modal .detail-label{font-weight:600;color:#333;min-width:120px;flex-shrink:0}#fault-record-detail-modal .detail-value{flex:1;color:#666}#asset-rack-record-detail-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#asset-rack-record-detail-modal .modal-header h3{margin:0;font-size:18px;font-weight:600}#asset-rack-record-detail-modal .modal-header .close{color:#fff;font-size:24px;cursor:pointer;opacity:.8}#asset-rack-record-detail-modal .modal-header .close:hover{opacity:1}#asset-rack-record-detail-modal .modal-body{padding:24px}#asset-rack-record-detail-modal .detail-grid{display:grid;gap:16px}#asset-rack-record-detail-modal .detail-row{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#f9f9f9;border-radius:8px;transition:.3s}#asset-rack-record-detail-modal .detail-row:hover{background:#f0f8ff;box-shadow:0 2px 4px rgba(0,0,0,.08)}#complete-wo-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none}#complete-wo-modal .modal-header h3{color:#fff;margin:0;font-size:18px;font-weight:600}#complete-wo-modal .modal-header .close{color:#fff;opacity:.8;font-size:24px;transition:.3s}#complete-wo-modal .modal-header .close:hover{opacity:1;color:#fff}#asset-rack-record-detail-modal .detail-label{font-weight:600;color:#333;min-width:120px;flex-shrink:0}#asset-rack-record-detail-modal .detail-value{flex:1;color:#666;word-break:break-word}#asset-rack-record-detail-modal .modal-footer{padding:16px 24px;border-top:1px solid #e8e8e8;display:flex;justify-content:flex-end;gap:12px}#asset-rack-record-detail-modal .modal-footer .btn{padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:.3s}#asset-rack-record-detail-modal .modal-footer .btn:hover{opacity:.8}#fault-record-detail-modal .modal-footer{display:flex;justify-content:flex-end;padding:16px 24px;border-top:1px solid #f0f0f0;background:#fafafa}#fault-record-detail-modal .modal-footer .btn{min-width:80px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.filter-group{display:flex;gap:12px;align-items:center}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.filter-group input{min-width:220px}.btn-group{display:flex;gap:10px}#customers-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}#customers-page .filter-group{display:flex;gap:12px;align-items:center}#customers-page .filter-group input,#customers-page .filter-group select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}#customers-page .filter-group input{min-width:220px}#customers-page .btn-group{display:flex;gap:10px}#customer-modal .modal-header h3{color:#fff}#customer-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#customer-modal .close:hover{color:#fff;opacity:1}#customer-modal input,#customer-modal select,#customer-modal textarea{width:100%;padding:8px 12px;font-size:13px;border:1px solid #d9d9d9;border-radius:4px;transition:.3s;box-sizing:border-box}#customer-modal input:focus,#customer-modal select:focus,#customer-modal textarea:focus{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.1);outline:0}#customer-modal textarea{min-height:80px;resize:vertical}#customer-detail-modal .modal-content{max-width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;padding:24px 28px 80px;position:relative}#customer-detail-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}#customer-detail-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#262626}#customer-detail-modal .form-actions{position:absolute;bottom:0;left:0;right:0;padding:16px 28px;background:#fff;border-top:1px solid #f0f0f0;box-sizing:border-box}.customer-detail-tabs{margin-top:16px}.customer-detail-tabs .tab-header{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #f0f0f0}.customer-detail-tabs .tab-btn{padding:10px 20px;font-size:14px;color:#595959;background:0 0;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:.3s}.customer-detail-tabs .tab-btn:hover{color:#1890ff}.customer-detail-tabs .tab-btn.active{color:#1890ff;border-bottom-color:#1890ff;font-weight:500}.customer-detail-tabs .tab-content{min-height:200px;max-height:calc(80vh - 200px);overflow-y:auto;flex:1;padding-bottom:20px}.customer-detail-tabs .tab-panel{display:none}.customer-detail-tabs .tab-panel.active{display:block}.confirm-modal .modal-header{display:flex;justify-content:center;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.confirm-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#262626}#delete-customer-modal .modal-content{max-width:400px;padding:24px}#delete-customer-modal .confirm-message{text-align:center;margin:20px 0}#delete-customer-modal .confirm-message p{margin:8px 0;font-size:14px;color:#262626}#delete-customer-modal .warning-text{color:#ff4d4f;font-size:13px}#delete-customer-modal .form-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.customer-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.customer-status.active{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.customer-status.inactive{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}#work-orders-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}#work-orders-page .filter-group{display:flex;gap:12px;align-items:center;flex-wrap:wrap}#work-orders-page .filter-group input,#work-orders-page .filter-group select{padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}#work-orders-page .filter-group input{min-width:200px}.wo-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.wo-status.pending{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.wo-status.approved{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.wo-status.completed,.wo-status.processing{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.wo-status.rejected{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.wo-status.cancelled{background:#f5f5f5;color:#999;border:1px solid #d9d9d9}.wo-priority{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.wo-priority.low{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.wo-priority.medium{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.wo-priority.high{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.wo-priority.urgent{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.wo-type{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;background:#f5f5f5;color:#666;border:1px solid #d9d9d9}.work-order-detail-content{max-height:500px;overflow-y:auto;padding-right:8px}.work-order-detail-content::-webkit-scrollbar{width:6px}.work-order-detail-content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.work-order-detail-content::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.work-order-detail-content::-webkit-scrollbar-thumb:hover{background:#1890ff}.work-order-detail-content .detail-section{margin-bottom:24px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);border:1px solid #f0f0f0}.work-order-detail-content .detail-section h4{margin:0 0 16px;font-size:16px;color:#262626;font-weight:600;padding-bottom:10px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:8px}.work-order-detail-content .detail-section h4::before{content:'';width:4px;height:16px;background:#1890ff;border-radius:2px}.work-order-detail-content .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.work-order-detail-content .detail-item{display:flex;flex-direction:column;gap:8px;min-height:80px}.work-order-detail-content .detail-item label{font-size:13px;color:#666;font-weight:500;display:flex;align-items:center;gap:6px}.work-order-detail-content .detail-item label::after{content:':';color:#999}.work-order-detail-content .detail-item span{font-size:14px;color:#333;line-height:1.5;word-break:break-word;padding:12px 16px;background:#fff;border-radius:6px;border:1px solid #e8e8e8;height:48px;display:flex;align-items:center;transition:.3s}.work-order-detail-content .detail-item span .wo-priority,.work-order-detail-content .detail-item span .wo-status{background:0 0;border:none;padding:0;font-size:14px;font-weight:500}.work-order-detail-content .detail-item span:hover{border-color:#1890ff;box-shadow:0 2px 8px rgba(24,144,255,.1)}.work-order-detail-content .detail-item.full-width{grid-column:1/-1}.work-order-detail-content .detail-item.full-width span{min-height:100px;align-items:flex-start;padding:16px}#work-order-detail-modal .modal-content{display:flex;flex-direction:column}#work-order-detail-modal .modal-content .work-order-detail-content{flex:1;overflow-y:auto;margin-bottom:20px}#wo-detail-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #f0f0f0}#wo-detail-actions .btn{min-width:80px;padding:8px 20px;font-size:14px;border-radius:6px;transition:.3s}#wo-detail-actions .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}#work-order-modal .modal-content{max-width:720px;padding:0;border-radius:12px;overflow:hidden}#work-order-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#work-order-modal .modal-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}#work-order-modal .close{font-size:24px;color:#fff;opacity:.8;cursor:pointer;transition:.3s}#work-order-modal .close:hover{color:#fff;opacity:1}#work-order-modal .modal-body{padding:24px 28px}#work-order-detail-modal .modal-content{max-width:800px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;padding:24px 28px}#work-order-modal .form-row{display:flex;gap:16px;margin-bottom:20px}#work-order-modal .form-group.half{flex:1}#work-order-modal .form-group{margin-bottom:20px}#work-order-modal .form-group label{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}#work-order-modal .form-group label .required{color:#ff4d4f;margin-left:4px}#work-order-modal input,#work-order-modal select,#work-order-modal textarea{width:100%;padding:10px 14px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px;transition:.3s;box-sizing:border-box;background:#fff}#work-order-modal input:focus,#work-order-modal select:focus,#work-order-modal textarea:focus{outline:0;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}#work-order-modal textarea{min-height:100px;resize:vertical;padding:12px 14px}#work-order-modal .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}#work-order-modal .form-actions .btn{padding:10px 24px;font-size:14px;border-radius:6px;transition:.3s;cursor:pointer}#work-order-modal .form-actions .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}#work-order-modal .form-actions .btn-primary{background:#1890ff;border:1px solid #1890ff;color:#fff}#work-order-modal .form-actions .btn-primary:hover{background:#40a9ff;border-color:#40a9ff;box-shadow:0 2px 8px rgba(24,144,255,.3)}#customer-modal .modal-content{max-width:600px;padding:0;border-radius:12px;overflow:hidden}#customer-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none;display:flex;justify-content:space-between;align-items:center}#customer-modal .modal-header h3{font-size:18px;font-weight:600;margin:0}#customer-modal .modal-header .close{background:rgba(255,255,255,.2);border:none;color:#fff;font-size:28px;line-height:1;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s}#customer-modal .modal-header .close:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}#customer-modal .modal-body{padding:24px;max-height:70vh;overflow-y:auto}#customer-modal .form-group{margin-bottom:20px}#customer-modal .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}#customer-modal .form-group label .required{color:#ff4d4f;margin-left:4px}#customer-modal .form-group input,#customer-modal .form-group select,#customer-modal .form-group textarea{width:100%;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:.3s;font-family:inherit}#customer-modal .form-group input:focus,#customer-modal .form-group select:focus,#customer-modal .form-group textarea:focus{outline:0;border-color:#1890ff;box-shadow:0 0 0 3px rgba(24,144,255,.1)}#customer-modal .form-group textarea{resize:vertical;min-height:80px}#customer-modal .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}#customer-modal .form-actions .btn{min-width:80px;padding:10px 24px;font-size:14px;border-radius:6px;transition:.3s;cursor:pointer}#customer-modal .form-actions .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}#customer-modal .form-actions .btn-primary{background:#1890ff;border:1px solid #1890ff;color:#fff}#customer-modal .form-actions .btn-primary:hover{background:#40a9ff;border-color:#40a9ff;box-shadow:0 2px 8px rgba(24,144,255,.3)}#customer-modal .form-actions .btn:not(.btn-primary){background:#fff;border:1px solid #d9d9d9;color:#333}#customer-modal .form-actions .btn:not(.btn-primary):hover{border-color:#1890ff;color:#1890ff}#access-record-modal .modal-content{max-width:550px;padding:0;border-radius:12px;overflow:hidden}#access-record-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none}#access-record-modal .modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}#access-record-modal .modal-header .close{color:#fff;opacity:.8;font-size:24px;transition:.3s}#access-record-modal .modal-header .close:hover{opacity:1;color:#fff}#access-record-modal .modal-body{padding:24px;background:#fff}#access-record-modal .form-group{margin-bottom:20px}#access-record-modal .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}#access-record-modal .form-control{width:100%;padding:10px 14px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px;transition:.3s;box-sizing:border-box;height:40px}#access-record-modal .form-control:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}#access-record-modal textarea.form-control{height:auto;min-height:80px;resize:vertical}#access-record-modal .form-hint{display:block;margin-top:6px;font-size:12px;color:#8c8c8c;line-height:1.4}#access-record-modal .form-row{display:flex;gap:16px;margin-bottom:20px}#access-record-modal .form-row .form-group{flex:1;margin-bottom:0}#access-record-modal .modal-footer{background:#fafafa;border-top:1px solid #f0f0f0;padding:16px 24px;display:flex;justify-content:flex-end;gap:12px}#access-record-modal .modal-footer .btn{padding:10px 24px;font-size:14px;border-radius:6px;transition:.3s;cursor:pointer}#access-record-modal .modal-footer .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}#access-record-modal .modal-footer .btn-primary{background:#1890ff;border:1px solid #1890ff;color:#fff}#access-record-modal .modal-footer .btn-primary:hover{background:#40a9ff;border-color:#40a9ff;box-shadow:0 2px 8px rgba(24,144,255,.3)}#access-record-modal .modal-footer .btn:not(.btn-primary){background:#fff;border:1px solid #d9d9d9;color:#333}#access-record-modal .modal-footer .btn:not(.btn-primary):hover{border-color:#1890ff;color:#1890ff}#import-access-request-modal .modal-content{max-width:550px;padding:0;border-radius:12px;overflow:hidden}#import-access-request-modal .modal-header{background:linear-gradient(135deg,#1890ff 0,#40a9ff 100%);color:#fff;padding:20px 24px;border-bottom:none}#import-access-request-modal .modal-header h3{color:#fff;font-size:18px;font-weight:600;margin:0}#import-access-request-modal .modal-header .close{color:#fff;opacity:.8;font-size:24px;transition:.3s}#import-access-request-modal .modal-header .close:hover{opacity:1;color:#fff}#import-access-request-modal .modal-body{padding:24px;background:#fff}#import-access-request-modal .form-group{margin-bottom:20px}#import-access-request-modal .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}#import-access-request-modal .form-control{width:100%;padding:10px 14px;font-size:14px;border:1px solid #d9d9d9;border-radius:6px;transition:.3s;box-sizing:border-box;height:40px}#import-access-request-modal .form-control:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}#import-access-request-modal .form-hint{display:block;margin-top:6px;font-size:12px;color:#8c8c8c;line-height:1.4}#import-access-request-modal .modal-footer{background:#fafafa;border-top:1px solid #f0f0f0;padding:16px 24px;display:flex;justify-content:flex-end;gap:12px}#import-access-request-modal .modal-footer .btn{padding:10px 24px;font-size:14px;border-radius:6px;transition:.3s;cursor:pointer}#import-access-request-modal .modal-footer .btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}#import-access-request-modal .modal-footer .btn-success{background:#52c41a;border:1px solid #52c41a;color:#fff}#import-access-request-modal .modal-footer .btn-success:hover{background:#73d13d;border-color:#73d13d;box-shadow:0 2px 8px rgba(82,196,26,.3)}#import-access-request-modal .modal-footer .btn:not(.btn-success){background:#fff;border:1px solid #d9d9d9;color:#333}#import-access-request-modal .modal-footer .btn:not(.btn-success):hover{border-color:#1890ff;color:#1890ff}.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid #f0f0f0}.tabs .tab{padding:10px 24px;font-size:14px;color:#595959;background:0 0;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:.3s;font-weight:500}.tabs .tab:hover{color:#1890ff}.tabs .tab.active{color:#1890ff;border-bottom-color:#1890ff}.tab-panel{display:block}.tab-panel.hidden{display:none!important}.inventory-tabs{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:10px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.inventory-tab{border:none;border-radius:6px;background:0 0;color:#595959;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:.2s}.inventory-tab:hover{background:#f0f7ff;color:#1890ff}.inventory-tab.active{background:#e6f7ff;color:#1890ff}.status-normal{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-warning{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.status-danger{background:#fff1f0;color:#ff4d4f;border:1px solid #ffa39e}.status-disabled{background:#f5f5f5;color:#bfbfbf;border:1px solid #d9d9d9}.status-success{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.btn-view{background:#f5f5f5;color:#666;border:1px solid #d9d9d9}.btn-view:hover{background:#e8e8e8}.btn-success{background:#52c41a;color:#fff;border:1px solid #52c41a}.btn-success:hover{background:#73d13d;border-color:#73d13d}.btn-warning{background:#faad14;color:#fff;border:1px solid #faad14}.btn-warning:hover{background:#ffc53d;border-color:#ffc53d}.detail-modal .modal-content{max-width:500px}.detail-grid{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;padding:12px;background:#fafafa;border-radius:4px}.detail-label{width:100px;font-weight:500;color:#8c8c8c;flex-shrink:0}.detail-value{flex:1;color:#333}.inspection-form{max-width:100%}.inspection-form .card{border:1px solid #e8e8e8;border-radius:8px}.inspection-form .card-header{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;border-radius:8px 8px 0 0!important}.inspection-form .card-header h4{margin:0;font-size:16px}.inspection-form .card-body{padding:20px}.inspection-form .form-row{display:flex;gap:16px;margin-bottom:16px}.inspection-form .form-label{font-weight:500;color:#555;margin-bottom:8px}.inspection-form .form-control{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s}.inspection-form .form-control:focus{outline:0;border-color:#667eea;box-shadow:0 0 0 2px rgba(102,126,234,.2)}.inspection-form .form-control::placeholder{color:#aaa}.inspection-form .text-center{display:flex;justify-content:center;padding:4px 0 20px}.table-inspection{width:100%;border-collapse:collapse;font-size:14px}.table-inspection td,.table-inspection th{padding:12px;text-align:left;border-bottom:1px solid #e8e8e8}.table-inspection th{background:#fafafa;font-weight:600;color:#555}.table-inspection tbody tr:hover{background:#f9f9f9}.table-inspection.check-items{table-layout:fixed}.table-inspection.check-items tbody td,.table-inspection.inspection-check-all-table tbody td{text-align:center}.table-inspection.check-items tbody td:nth-child(2){text-align:left}.table-inspection.inspection-check-all-table{table-layout:fixed}.table-inspection.humidity-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);table-layout:fixed}.table-inspection.humidity-table thead th{background:linear-gradient(135deg,#69c0ff 0,#1890ff 100%);color:#fff;font-weight:600;padding:12px 8px;text-align:center;border:none}.table-inspection.humidity-table tbody td:first-child,.table-inspection.humidity-table thead th:first-child{width:3%;min-width:30px;text-align:center}.table-inspection.humidity-table tbody td:nth-child(2),.table-inspection.humidity-table thead th:nth-child(2){width:28%;text-align:left;padding-left:16px}.table-inspection.humidity-table tbody td:nth-child(n+3),.table-inspection.humidity-table thead th:nth-child(n+3){text-align:center}.table-inspection.humidity-table td,.table-inspection.humidity-table th{padding:12px 4px;border-bottom:1px solid #e8e8e8}.table-inspection.humidity-table tbody tr:nth-child(odd){background:#fafafa}.table-inspection.humidity-table tbody tr:nth-child(2n){background:#fff}.table-inspection.humidity-table tbody tr:hover{background:#f0f8ff}.table-inspection.humidity-table td:first-child{text-align:left;padding-left:16px;font-size:13px;color:#666;line-height:1.4}.table-inspection.humidity-table .form-control{width:100%;min-width:60px;max-width:80px;padding:8px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;text-align:center;background:#fff;transition:.3s;outline:0}.table-inspection.humidity-table .form-control:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.1)}.table-inspection.humidity-table .form-control::placeholder{color:#bfbfbf}.humidity-table-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#69c0ff 0,#1890ff 100%);padding:12px 16px;color:#fff;font-weight:600;border-radius:8px 8px 0 0}.humidity-table-header .room-title{font-size:15px}.humidity-table-header .section-title{font-size:13px;opacity:.9}.table-inspection.humidity-table-header-fixed{width:100%;border-collapse:collapse;border-radius:8px 8px 0 0;overflow:hidden;margin-bottom:0;box-shadow:0 2px 8px rgba(0,0,0,.06);table-layout:fixed}.table-inspection.humidity-table-header-fixed thead th{background:linear-gradient(135deg,#69c0ff 0,#1890ff 100%);color:#fff;font-weight:600;padding:14px 12px;text-align:center;border:none;font-size:14px}.table-inspection.humidity-table-header-fixed thead th:first-child,.table-inspection.humidity-table-header-fixed thead th:nth-child(2){text-align:center}#inspection-humidity-data{border:1px solid #e8e8e8;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.humidity-room-section{background:#fff}.humidity-room-name-row{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#e6f7ff 0,#b3dfff 100%);padding:10px 16px;border-bottom:1px solid #d9d9d9}.humidity-room-name-row .room-name-label{font-size:15px;font-weight:600;color:#1890ff}.humidity-room-name-row .room-section-label{font-size:13px;color:#666}.table-inspection.humidity-table-data{width:100%;border-collapse:collapse;margin-bottom:0;table-layout:fixed}.table-inspection.humidity-table-data td{padding:12px 4px;text-align:center;border-bottom:1px solid #f0f0f0}.table-inspection.humidity-table-data td:first-child{width:3%;min-width:30px;text-align:center}.table-inspection.humidity-table-data td:nth-child(2){text-align:left;padding-left:16px}.table-inspection.humidity-table-data td:nth-child(n+3){text-align:center}.table-inspection.humidity-table-data tbody tr:nth-child(odd){background:#fafafa}.table-inspection.humidity-table-data tbody tr:nth-child(2n){background:#fff}.table-inspection.humidity-table-data .form-control{width:100%;min-width:60px;max-width:80px;padding:8px 10px;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;text-align:center;background:#fff;transition:.3s;outline:0}.table-inspection.humidity-table-data .form-control:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.1)}.table-inspection.humidity-table-data .form-control::placeholder{color:#bfbfbf}.humidity-room-divider{height:1px;background:linear-gradient(to right,transparent,#d9d9d9,transparent);margin:4px 0}.check-btn{width:32px;height:28px;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:.2s}.check-btn.normal-btn{background:#f6ffed;color:#52c41a;border-color:#b7eb8f}.check-btn.normal-btn.active,.check-btn.normal-btn:hover{background:#52c41a;color:#fff;border-color:#52c41a}.check-btn.abnormal-btn{background:#fff2f0;color:#ff4d4f;border-color:#ffccc7}.check-btn.abnormal-btn.active,.check-btn.abnormal-btn:hover{background:#ff4d4f;color:#fff;border-color:#ff4d4f}.check-all-btn{background:#fff;border:2px solid #1890ff;color:#1890ff;border-radius:6px;padding:6px 12px;font-size:14px;cursor:pointer;transition:.2s}.check-all-btn:hover{background-color:#e6f7ff}.check-all-btn.active{background:#1890ff;color:#fff;border-color:#1890ff}.table-inspection .btn-group .btn{flex:1;min-width:60px;padding:4px 8px;font-size:12px;border-radius:4px;cursor:pointer;transition:.3s}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success{background-color:#52c41a;border-color:#52c41a;color:#fff}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff}.btn-check:active+.btn-outline-success:hover,.btn-check:checked+.btn-outline-success:hover{background-color:#73d13d;border-color:#73d13d}.btn-check:active+.btn-outline-danger:hover,.btn-check:checked+.btn-outline-danger:hover{background-color:#ff7875;border-color:#ff7875}.page-header{margin-bottom:24px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.page-header h3{margin:0 0 4px;color:#333}.page-header .text-muted{color:#999;font-size:14px}.humidity-input,.temp-input{max-width:120px}.check-cell{display:flex;gap:4px;justify-content:center;align-items:center}.check-cell input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#52c41a}.check-cell input[type=radio]:nth-child(2){accent-color:#ff4d4f}#inspection-records-page .inspection-records-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.06)}#inspection-records-page .inspection-records-header h2{margin:0;color:#262626}#inspection-records-page .inspection-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}#inspection-records-page .inspection-summary-card{background:#fff;border-radius:8px;padding:18px 20px;box-shadow:0 2px 8px rgba(0,0,0,.06)}#inspection-records-page .inspection-summary-card span{display:block;color:#8c8c8c;font-size:13px;margin-bottom:8px}#inspection-records-page .inspection-summary-card strong{display:block;color:#262626;font-size:28px;line-height:1}#inspection-records-page .btn-back{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#1890ff;border:none;color:#fff;border-radius:4px;font-size:14px;cursor:pointer;transition:background .3s}#inspection-records-page .btn-back:hover{background:#40a9ff}#inspection-records-page .search-section{background:#fff;padding:20px 24px;border-radius:8px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.06)}#inspection-records-page .search-row{display:flex;align-items:flex-end;gap:35px;flex-wrap:wrap}#inspection-records-page .search-item{flex:0 1 200px}#inspection-records-page .search-item label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#666}#inspection-records-page .date-range-input,#inspection-records-page .search-item input,#inspection-records-page .search-item select{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .3s}#inspection-records-page .date-range-input:focus{outline:0;border-color:#1890ff}#inspection-records-page .btn-query{display:flex;align-items:center;gap:6px;padding:10px 24px;background:#1890ff;border:none;color:#fff;border-radius:4px;font-size:14px;cursor:pointer;transition:background .3s;white-space:nowrap}#inspection-records-page .btn-query:hover{background:#40a9ff}#inspection-records-page .records-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);overflow-x:auto}#inspection-records-page .records-table{width:100%;border-collapse:collapse}#inspection-records-page .records-table thead{background:linear-gradient(135deg,#1a365d 0,#2c5282 100%)}#inspection-records-page .records-table th{padding:14px 16px;text-align:left;font-size:14px;font-weight:600;color:#fff;white-space:nowrap}#inspection-records-page .records-table th.col-date{width:120px}#inspection-records-page .records-table th:nth-child(5){min-width:280px}#inspection-records-page .records-table th.col-actions{width:210px;text-align:center}#inspection-records-page .records-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}#inspection-records-page .records-table tbody tr:hover{background:#fafafa}#inspection-records-page .records-table tbody tr:last-child{border-bottom:none}#inspection-records-page .records-table td{padding:12px 16px;vertical-align:top}#inspection-records-page .records-table td.col-date{font-size:14px;color:#333;font-weight:500}#inspection-records-page .records-table td.col-events{font-size:14px;color:#666}#inspection-records-page .event-item{padding:8px 12px;background:#f9f9f9;border-radius:4px;margin-bottom:8px;display:flex;align-items:center;gap:10px}#inspection-records-page .event-item:last-child{margin-bottom:0}#inspection-records-page .event-time{font-weight:600;color:#1890ff;font-size:13px}#inspection-records-page .event-content{flex:1;color:#595959;line-height:1.5}#inspection-records-page .inspection-progress-text{color:#8c8c8c;font-size:12px}#inspection-records-page .records-table td.col-actions{text-align:center}#inspection-records-page .action-btns{display:flex;justify-content:center;gap:8px}#inspection-records-page .btn-detail{padding:6px 12px;background:#1890ff;border:none;color:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:background .3s;display:flex;align-items:center;gap:4px}#inspection-records-page .btn-detail:hover{background:#40a9ff}#inspection-records-page .btn-edit{padding:6px 12px;background:#faad14;border:none;color:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:background .3s;display:flex;align-items:center;gap:4px}#inspection-records-page .btn-edit:hover{background:#ffc53d}#inspection-records-page .btn-export{padding:6px 12px;background:#52c41a;border:none;color:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:background .3s}#inspection-records-page .btn-export:hover{background:#73d13d}#inspection-records-page .btn-delete{padding:6px 12px;background:#ff4d4f;border:none;color:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:background .3s}#inspection-records-page .btn-delete:hover{background:#ff7875}#inspection-records-page .empty-state{padding:60px 20px;text-align:center}#inspection-records-page .empty-icon{font-size:48px;margin-bottom:16px}#inspection-records-page .empty-state p{font-size:14px;color:#999}#inspection-detail-modal .modal-detail{width:90%;max-width:980px}#inspection-detail-modal .inspection-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#inspection-detail-modal .detail-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:6px;padding:12px}#inspection-detail-modal .detail-item label{margin-bottom:6px;color:#8c8c8c}#inspection-detail-modal .detail-item span{color:#262626;word-break:break-word}#inspection-detail-modal .detail-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}#inspection-detail-modal .detail-section h4{margin:0 0 16px;font-size:15px;color:#333}#inspection-detail-modal .check-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#inspection-detail-modal .check-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f9f9f9;border-radius:4px;font-size:13px}#inspection-detail-modal .check-item .check-name{color:#595959}#inspection-detail-modal .check-item .check-status{font-weight:500}#inspection-detail-modal .check-status.normal{color:#52c41a}#inspection-detail-modal .check-status.abnormal{color:#ff4d4f}#inspection-detail-modal .check-status.empty{color:#8c8c8c}#inspection-detail-modal .inspection-env-table{overflow-x:auto}#inspection-detail-modal .inspection-env-table table{width:100%;border-collapse:collapse;background:#fff}#inspection-detail-modal .inspection-env-table td,#inspection-detail-modal .inspection-env-table th{border:1px solid #f0f0f0;padding:10px;text-align:center;font-size:13px;white-space:nowrap}#inspection-detail-modal .inspection-env-table th{background:#fafafa;color:#595959;font-weight:600}#inspection-detail-modal .detail-events{padding:12px;background:#fafafa;border:1px solid #f0f0f0;border-radius:6px;color:#595959;line-height:1.7;min-height:48px}#inspection-detail-modal .muted-text{color:#999}#inspection-export-modal .inspection-export-modal-content{max-width:420px}#inspection-export-modal .form-group{margin-bottom:0}.searchable-select{position:relative;width:100%}.searchable-select .search-input{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;background:#fff;transition:border-color .2s,box-shadow .2s}.searchable-select .search-input:focus{outline:0;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.searchable-select .search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #d9d9d9;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:1000;max-height:200px;overflow-y:auto}.searchable-select .search-item{display:flex;align-items:center;padding:10px 12px;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f0f0f0}.searchable-select .search-item:last-child{border-bottom:none}.searchable-select .search-item:hover{background-color:#f5f5f5}.searchable-select .search-item .item-name{flex:1;font-weight:500;color:#333}.searchable-select .search-item .item-code{margin-right:12px;font-size:12px;color:#999}.searchable-select .search-item .item-stock{font-size:12px;color:#52c41a;font-weight:500}.searchable-select .search-no-result{padding:12px;text-align:center;color:#999;font-size:14px}.role-permission-container{display:flex;gap:20px;padding:10px}.selector-card{flex:0 0 280px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border-radius:12px;box-shadow:0 4px 20px rgba(102,126,234,.3);overflow:hidden}.selector-header{display:flex;align-items:center;gap:10px;padding:16px 20px;background:rgba(255,255,255,.1)}.selector-icon{font-size:24px}.selector-header h3{margin:0;font-size:16px;font-weight:600;color:#fff}.selector-body{padding:20px}.selector-body .form-row{display:flex;flex-direction:column;gap:16px}.selector-body .form-group{display:flex;flex-direction:column;gap:8px}.selector-body .form-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:rgba(255,255,255,.9)}.label-icon{font-size:14px}.selector-body .form-select{width:100%;padding:10px 12px;border:none;border-radius:8px;font-size:14px;background:rgba(255,255,255,.95);color:#333;cursor:pointer;transition:.2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.selector-body .form-select:hover{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}.selector-body .form-select:focus{outline:0;box-shadow:0 0 0 3px rgba(255,255,255,.3)}.permission-tree-card{flex:1;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);overflow:hidden;display:flex;flex-direction:column}.tree-header{display:flex;align-items:center;gap:10px;padding:16px 20px;background:linear-gradient(135deg,#f093fb 0,#f5576c 100%)}.tree-icon{font-size:20px}.tree-header h3{margin:0;font-size:16px;font-weight:600;color:#fff}.tree-body{flex:1;padding:20px;overflow-y:auto;max-height:calc(100vh - 350px)}.tree-footer{padding:16px 20px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end}.btn-icon{margin-right:6px}.permission-group{margin-bottom:16px;background:#f8f9fa;border-radius:8px;overflow:hidden;border:1px solid #e9ecef}.permission-group-header{display:flex;align-items:center;padding:12px 16px;background:#fff;cursor:pointer;transition:background-color .2s}.permission-group-header:hover{background:#f5f5f5}.permission-group-header input[type=checkbox]{margin-right:10px;width:18px;height:18px;cursor:pointer}.permission-group-title{font-weight:600;color:#333;font-size:14px}.permission-group-content{padding:12px 16px 12px 44px;display:flex;flex-wrap:wrap;gap:10px}.permission-item{display:flex;align-items:center;padding:8px 12px;background:#fff;border-radius:6px;border:1px solid #e9ecef;transition:.2s}.permission-item:hover{border-color:#667eea;background:#f0f0ff}.permission-item input[type=checkbox]{margin-right:8px;width:14px;height:14px;cursor:pointer}.permission-item-label{font-size:13px;color:#555}.permission-item-code{margin-left:6px;font-size:11px;color:#999;background:#f0f0f0;padding:2px 6px;border-radius:4px}.permission-empty{text-align:center;padding:40px;color:#999}.permission-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.permission-empty-text{font-size:14px}.device-monitor{min-height:calc(100vh - 72px);padding:22px;background:#f4f7fb;box-sizing:border-box}.monitor-alert-stats{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px;margin-bottom:24px}.monitor-alert-card{display:flex;align-items:center;gap:16px;min-height:96px;padding:20px;background:#fff;border:1px solid #e8eef6;border-radius:8px;box-shadow:0 8px 26px rgba(34,62,101,.08);box-sizing:border-box}.monitor-alert-card .monitor-alert-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:11px;color:#fff;font-size:22px;font-weight:800;flex:0 0 auto}.monitor-alert-card.total .monitor-alert-icon{background:#4b5870}.monitor-alert-card.critical .monitor-alert-icon{background:#ef3d43}.monitor-alert-card.warning .monitor-alert-icon{background:#f58a2d}.monitor-alert-card.info .monitor-alert-icon{background:#2d86d9}.monitor-alert-number{font-size:30px;line-height:1;color:#111827;font-weight:800}.monitor-alert-label{margin-top:8px;color:#718096;font-size:14px;font-weight:600}.monitor-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;margin-bottom:24px;background:#fff;border:1px solid #e8eef6;border-radius:8px;box-shadow:0 8px 22px rgba(34,62,101,.06)}.monitor-actions,.monitor-filter-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.monitor-filter-chip,.monitor-tool-btn{min-height:38px;padding:0 16px;border:0;border-radius:19px;background:#eef3f9;color:#44546a;font-size:14px;font-weight:700;cursor:pointer;transition:.2s}.monitor-filter-chip:hover,.monitor-tool-btn:hover{color:#1f6fd1;background:#e4effc}.monitor-filter-chip.active{color:#1f6fd1;background:#eef6ff;box-shadow:inset 0 0 0 1px #5d9cec}.monitor-search{display:flex;align-items:center;gap:8px;min-width:260px;padding:0 14px;height:44px;border-radius:22px;background:#eef3f9;border:1px solid #dae5f1;color:#8ca0b7}.monitor-search input{width:100%;min-width:0;border:0;outline:0;background:0 0;color:#334155;font-size:14px}.monitor-table-panel{overflow-x:auto;background:#fff;border:1px solid #e8eef6;border-radius:8px;box-shadow:0 8px 24px rgba(34,62,101,.07)}.monitor-table{width:100%;min-width:900px;border-collapse:collapse;color:#273142}.monitor-table th{padding:16px;background:#f8fbfe;color:#4a5c72;font-size:13px;font-weight:800;text-align:left;border-bottom:1px solid #e8eef6}.monitor-table td{padding:18px 16px;font-size:14px;font-weight:600;border-bottom:1px solid #edf2f8;vertical-align:middle}.monitor-table tr:last-child td{border-bottom:0}.monitor-table tr:hover{background:#fbfdff}.monitor-level{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:800}.monitor-level span{width:10px;height:10px;border-radius:50%;display:inline-block}.monitor-level.critical{color:#ef3d43}.monitor-level.critical span{background:#ef3d43}.monitor-level.warning{color:#f58a2d}.monitor-level.warning span{background:#f58a2d}.monitor-level.info{color:#2d86d9}.monitor-level.info span{background:#2d86d9}.monitor-source{display:inline-flex;align-items:center;padding:4px 10px;border-radius:14px;background:#e8f7ff;color:#1683c7;font-size:13px;font-weight:800;white-space:nowrap}.monitor-content-cell{min-width:300px;color:#202938}.monitor-device-name{color:#273142;font-weight:800}.monitor-device-location{margin-top:4px;color:#64748b;font-size:13px;font-weight:500}.monitor-status{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:800;white-space:nowrap}.monitor-status.unconfirmed{color:#526172;background:#edf2f7}.monitor-status.acknowledged{color:#18864b;background:#d9f8e8}.monitor-status.resolved{color:#50718a;background:#e7eef5}.monitor-row-actions{display:flex;align-items:center;gap:8px}.monitor-row-actions button{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:0 0;color:#9aa9ba;cursor:pointer;font-size:18px;line-height:1}.monitor-row-actions button:hover{color:#2d86d9;background:#eef6ff}.monitor-empty{height:96px;color:#8a99aa;text-align:center;font-weight:600}.monitor-footer-note{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:18px;color:#9aabc0;font-size:13px;font-weight:700}.live-dot{width:10px;height:10px;border-radius:50%;background:#38c976;box-shadow:0 0 0 4px rgba(56,201,118,.12)}@media (max-width:1180px){.monitor-alert-stats{grid-template-columns:repeat(2,minmax(160px,1fr))}.monitor-filter-bar{align-items:stretch;flex-direction:column}.monitor-actions{justify-content:space-between}.monitor-search{flex:1}}@media (max-width:720px){.device-monitor{padding:14px}.monitor-alert-stats{grid-template-columns:1fr;gap:12px}.monitor-actions,.monitor-filter-tabs{width:100%}.monitor-search{min-width:100%}.monitor-filter-chip,.monitor-tool-btn{flex:1}.monitor-footer-note{align-items:flex-start;flex-direction:column;gap:8px}}.ops-service-modal,.ops-service-page{--ops-line:#e6ebf2;--ops-line-soft:#f1f5f9;--ops-text:#0f172a;--ops-text-2:#334155;--ops-muted:#64748b;--ops-low:#64748b;--ops-low-bg:#eef2f6;--ops-mid:#2563eb;--ops-mid-bg:#eaf1fe;--ops-high:#7c3aed;--ops-high-bg:#f2ecfe;--ops-full:#e2670c;--ops-full-bg:#fdf1e6;--ops-ok:#059669;--ops-ok-bg:#e7f7f0;--ops-warn:#d97706;--ops-warn-bg:#fef4e6;--ops-off:#94a3b8;--ops-off-bg:#f1f5f9;color:var(--ops-text)}.ops-service-modal [data-tier=low],.ops-service-page [data-tier=low]{--ops-c:var(--ops-low);--ops-c-bg:var(--ops-low-bg)}.ops-service-modal [data-tier=mid],.ops-service-page [data-tier=mid]{--ops-c:var(--ops-mid);--ops-c-bg:var(--ops-mid-bg)}.ops-service-modal [data-tier=high],.ops-service-page [data-tier=high]{--ops-c:var(--ops-high);--ops-c-bg:var(--ops-high-bg)}.ops-service-modal [data-tier=full],.ops-service-page [data-tier=full]{--ops-c:var(--ops-full);--ops-c-bg:var(--ops-full-bg)}.ops-service-hero{background:linear-gradient(180deg,#fff 0,#f8fafd 100%);border:1px solid var(--ops-line);border-radius:12px;padding:28px 30px;margin-bottom:16px}.ops-service-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--ops-mid);margin-bottom:10px}.ops-service-hero h3{font-size:26px;font-weight:700;line-height:1.25;margin:0}.ops-service-hero>p:not(.ops-service-eyebrow){margin-top:10px;font-size:14px;color:var(--ops-muted);max-width:780px}.ops-tier-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px}.ops-tier-step{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--ops-line);border-radius:8px;padding:8px 14px 8px 10px;box-shadow:0 1px 2px rgba(15,23,42,.04)}.ops-tier-step::before{content:'';width:4px;height:22px;border-radius:3px;background:var(--ops-c)}.ops-card-tag,.ops-th-tag,.ops-tier-badge,.ops-tier-tag{font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff;background:var(--ops-c);border-radius:5px;padding:2px 8px}.ops-tier-name{font-size:13px;font-weight:600}.ops-tier-count{font-size:12px;color:var(--ops-muted)}.ops-tier-arrow{color:#cbd5e1}.ops-service-notice{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:14px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:13px;color:#78350f;line-height:1.7}.ops-service-notice>span{flex:none;width:20px;height:20px;border-radius:50%;background:#f59e0b;color:#fff;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;margin-top:2px}.ops-service-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(255,255,255,.92);border:1px solid var(--ops-line);border-radius:10px;padding:12px;margin-bottom:16px}.ops-segment{display:inline-flex;background:#eef2f7;padding:3px;border-radius:8px;gap:2px;flex-wrap:wrap}.ops-segment button{border:0;background:0 0;padding:6px 14px;border-radius:6px;font:inherit;font-size:13px;font-weight:500;color:var(--ops-muted);cursor:pointer}.ops-segment button.active{background:#fff;color:var(--ops-text);font-weight:600;box-shadow:0 1px 2px rgba(15,23,42,.08)}.ops-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ops-text-2)}.ops-check input{width:16px;height:16px;accent-color:var(--ops-mid)}.ops-legend{margin-left:auto;display:flex;align-items:center;gap:16px;font-size:12px;color:var(--ops-muted)}.ops-legend span{display:inline-flex;align-items:center;gap:6px}.ops-legend-new{width:20px;height:14px;border-radius:4px;background:var(--ops-mid-bg);border:1px solid #c7dbfd}.ops-legend-has{color:#94a3b8;font-weight:700}.ops-search{flex:1;min-width:180px;max-width:300px;margin-left:auto;font:inherit;font-size:13px;color:var(--ops-text);padding:8px 13px;border:1px solid var(--ops-line);border-radius:8px;background:#fff;outline:0}.ops-search:focus{border-color:#b9cdf3;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.ops-service-body{padding-bottom:32px}.ops-table-wrap{background:#fff;border:1px solid var(--ops-line);border-radius:12px;overflow-x:auto;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px -20px rgba(15,23,42,.22)}.ops-service-matrix{width:100%;min-width:700px;border-collapse:separate;border-spacing:0}.ops-service-matrix td,.ops-service-matrix th{padding:11px 14px;font-size:13px;text-align:center;border-bottom:1px solid var(--ops-line-soft)}.ops-service-matrix thead th{background:#f8fafc;font-weight:600;border-bottom:1px solid var(--ops-line);border-top:3px solid var(--ops-c);white-space:nowrap}.ops-service-matrix thead th.ops-col-service{text-align:left;border-top-color:#e2e8f0;font-size:12px;letter-spacing:.08em;color:var(--ops-muted)}.ops-th-name{display:block;font-size:13px;font-weight:600;color:var(--ops-text);margin-top:5px}.ops-col-service{width:38%}.ops-service-matrix td.ops-service-name{text-align:left;color:var(--ops-text-2);padding-left:20px}.ops-group-row td{background:#f8fafc;text-align:left;font-weight:700;font-size:12px;letter-spacing:.03em;padding:9px 20px;border-bottom:1px solid var(--ops-line);color:var(--ops-text)}.ops-group-row span{font-weight:500;color:var(--ops-muted);font-size:11px;margin-left:8px}.ops-service-cell.empty{color:#d5dde8}.ops-service-cell.has{color:#94a3b8;font-weight:700}.ops-service-matrix tbody tr:not(.ops-group-row):hover td{background:#fafbfd}.ops-service-cell.is-new{background:var(--ops-c-bg)}.ops-pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;background:var(--ops-c)}.ops-service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.ops-service-card{background:#fff;border:1px solid var(--ops-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px -24px rgba(15,23,42,.25)}.ops-service-card header{padding:18px;border-bottom:1px solid var(--ops-line);border-top:3px solid var(--ops-c);background:linear-gradient(180deg,var(--ops-c-bg) 0,#fff 100%)}.ops-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ops-card-count{font-size:12px;color:var(--ops-muted)}.ops-card-count b{font-size:15px;color:var(--ops-c)}.ops-service-card h3{font-size:16px;margin:0}.ops-service-card p{font-size:12px;color:var(--ops-muted);margin-top:5px;line-height:1.6}.ops-card-body{padding:4px 18px 20px}.ops-cat-group{margin-top:16px}.ops-cat-group h4{font-size:11px;font-weight:700;letter-spacing:.08em;color:#94a3b8;margin-bottom:4px}.ops-cat-group ul{list-style:none;padding:0;margin:0}.ops-cat-group li{position:relative;display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--ops-text-2);padding:6px 0 6px 14px;border-bottom:1px dashed var(--ops-line-soft);line-height:1.5}.ops-cat-group li::before{content:'';position:absolute;left:2px;top:13px;width:5px;height:5px;border-radius:50%;background:#cbd5e1}.ops-cat-group li.new{color:var(--ops-text);font-weight:600}.ops-cat-group li.new::before{background:var(--ops-c)}.ops-li-name{flex:1}.ops-li-badge{flex:none;font-size:10px;font-weight:700;color:#fff;background:var(--ops-c);border-radius:4px;padding:1px 5px}.ops-client-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:24px;background:var(--ops-line);border:1px solid var(--ops-line);border-radius:10px;overflow:hidden}.ops-client-stats>div{background:#fff;padding:16px 18px}.ops-stat-num{font-size:26px;font-weight:700;line-height:1.2}.ops-stat-num small{font-size:13px;font-weight:600;color:var(--ops-muted);margin-left:3px}.ops-stat-label{font-size:12px;color:var(--ops-muted);margin-top:2px}.ops-client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.ops-client-card{background:#fff;border:1px solid var(--ops-line);border-top:3px solid var(--ops-c);border-radius:8px;padding:20px;cursor:pointer;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 1px 2px rgba(15,23,42,.04)}.ops-client-card:hover{transform:translateY(-3px);border-color:#d3ddec;box-shadow:0 1px 2px rgba(15,23,42,.04),0 16px 32px -18px rgba(15,23,42,.28)}.ops-client-foot,.ops-client-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.ops-client-top{margin-bottom:12px}.ops-industry{font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:999px;color:#fff}.ops-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px}.ops-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.ops-status.st-active{color:var(--ops-ok);background:var(--ops-ok-bg)}.ops-status.st-expiring{color:var(--ops-warn);background:var(--ops-warn-bg)}.ops-status.st-ended{color:var(--ops-off);background:var(--ops-off-bg)}.ops-client-card h3{font-size:16px;font-weight:700;line-height:1.4;margin:0}.ops-client-meta{font-size:12px;color:var(--ops-muted);margin-top:6px;line-height:1.7}.ops-client-meta b{color:var(--ops-text-2)}.ops-tier-line{display:flex;align-items:center;gap:9px;margin-top:14px;padding:11px 13px;border-radius:8px;background:var(--ops-c-bg)}.ops-tier-title{font-size:13px;font-weight:700;color:var(--ops-text)}.ops-tier-total{margin-left:auto;font-size:12px;color:var(--ops-muted)}.ops-tier-total b{color:var(--ops-c);font-size:14px}.ops-client-foot{margin-top:14px;padding-top:13px;border-top:1px solid var(--ops-line-soft)}.ops-foot-tags{display:flex;gap:5px;flex-wrap:wrap}.ops-mini-tag{font-size:11px;color:var(--ops-text-2);background:#f1f5f9;border-radius:5px;padding:2px 7px;white-space:nowrap}.ops-mini-tag.addon{background:var(--ops-c-bg);color:var(--ops-c);font-weight:600}.ops-go{font-size:12px;font-weight:600;color:var(--ops-c);white-space:nowrap}.ops-empty-state{grid-column:1/-1;text-align:center;padding:56px 20px;color:var(--ops-muted);font-size:14px;background:#fff;border:1px dashed var(--ops-line);border-radius:12px}.ops-service-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:22px}.ops-service-modal.open{display:flex}.ops-modal-mask{position:absolute;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(4px)}.ops-modal-box{position:relative;background:#fff;border-radius:12px;max-width:940px;width:100%;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px -16px rgba(15,23,42,.42)}.ops-modal-head{padding:22px 26px 20px;border-bottom:1px solid var(--ops-line);border-top:4px solid var(--ops-c);background:linear-gradient(180deg,var(--ops-c-bg) 0,#fff 100%);flex:none}.ops-modal-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ops-modal-head h2{font-size:21px;font-weight:700;line-height:1.35;margin:0}.ops-modal-badges{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.ops-modal-close{flex:none;width:32px;height:32px;border-radius:8px;border:1px solid var(--ops-line);background:#fff;color:var(--ops-muted);font-size:20px;line-height:1;cursor:pointer}.ops-modal-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(15,23,42,.07)}.ops-modal-info div{font-size:12px;color:var(--ops-muted)}.ops-modal-info b{display:block;font-size:13px;color:var(--ops-text);margin-top:2px}.ops-modal-body{padding:22px 26px 26px;overflow-y:auto;flex:1}.ops-modal-note{display:flex;gap:10px;align-items:flex-start;background:#f8fafc;border:1px solid var(--ops-line);border-radius:8px;padding:12px 14px;font-size:12px;color:var(--ops-text-2);line-height:1.7;margin-bottom:20px}.ops-modal-groups{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.ops-modal-group{margin-bottom:20px;break-inside:avoid}.ops-modal-group h4{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--ops-text);padding-bottom:7px;border-bottom:1px solid var(--ops-line);margin-bottom:4px}.ops-modal-group h4 span{margin-left:auto;font-size:11px;font-weight:600;color:var(--ops-muted);background:#f1f5f9;border-radius:5px;padding:1px 7px;letter-spacing:0}.ops-modal-group ul{list-style:none;margin:0;padding:0}.ops-modal-group li{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--ops-text-2);padding:6px 0;line-height:1.55}.ops-checkmark{flex:none;width:15px;height:15px;border-radius:4px;margin-top:2px;background:var(--ops-c);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}.ops-modal-group.addon h4{color:var(--ops-c);border-bottom-color:var(--ops-c)}.ops-addon-flag{flex:none;font-size:10px;font-weight:700;color:#fff;background:var(--ops-c);border-radius:4px;padding:1px 5px;margin-top:2px}.ops-modal-foot{flex:none;padding:14px 26px;border-top:1px solid var(--ops-line);background:#fafbfd;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ops-modal-foot p{font-size:12px;color:var(--ops-muted);line-height:1.6;flex:1;min-width:200px;margin:0}body.ops-modal-open{overflow:hidden}@media (max-width:1120px){.ops-service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1020px){.ops-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.ops-client-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:660px){.ops-service-hero{padding:22px 18px}.ops-service-hero h3{font-size:22px}.ops-tier-arrow{display:none}.ops-tier-step{flex:1 1 46%}.ops-client-grid,.ops-modal-groups,.ops-modal-info,.ops-service-cards{grid-template-columns:1fr}.ops-legend{margin-left:0}}@media print{.header,.ops-modal-close,.ops-modal-foot .btn,.ops-modal-mask,.sidebar{display:none!important}.ops-service-modal.open{position:static;display:block;padding:0}.ops-modal-box{max-width:none;max-height:none;box-shadow:none}}.advanced-ticket-page{--adv-line:#e6ebf2;--adv-line-soft:#f1f5f9;--adv-text:#0f172a;--adv-muted:#64748b;--adv-blue:#2563eb;--adv-ok:#059669;--adv-warn:#d97706;--adv-danger:#dc2626;color:var(--adv-text)}.advanced-ticket-hero{background:linear-gradient(180deg,#fff 0,#f8fafd 100%);border:1px solid var(--adv-line);border-radius:12px;padding:28px 30px;margin-bottom:16px}.advanced-ticket-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--adv-blue);margin-bottom:10px}.advanced-ticket-hero h3{font-size:26px;margin:0}.advanced-ticket-hero>p:not(.advanced-ticket-eyebrow){margin-top:10px;font-size:14px;color:var(--adv-muted);max-width:850px}.advanced-ticket-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:24px;background:var(--adv-line);border:1px solid var(--adv-line);border-radius:10px;overflow:hidden}.advanced-ticket-stats>div{background:#fff;padding:16px 18px}.advanced-ticket-stats b{display:block;font-size:26px;line-height:1.2}.advanced-ticket-stats small{font-size:13px;color:var(--adv-muted);margin-left:3px}.advanced-ticket-stats span{font-size:12px;color:var(--adv-muted)}.advanced-ticket-stats .warn b{color:var(--adv-warn)}.advanced-ticket-stats .danger b{color:var(--adv-danger)}.advanced-ticket-stats .ok b{color:var(--adv-ok)}.advanced-ticket-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:rgba(255,255,255,.92);border:1px solid var(--adv-line);border-radius:10px;padding:12px;margin-bottom:16px}.advanced-ticket-toolbar>span{font-size:12px;font-weight:700;color:#94a3b8}.advanced-ticket-seg{display:inline-flex;background:#eef2f7;padding:3px;border-radius:8px;gap:2px;flex-wrap:wrap}.advanced-ticket-seg button{border:0;background:0 0;padding:6px 12px;border-radius:6px;font:inherit;font-size:13px;color:var(--adv-muted);cursor:pointer}.advanced-ticket-seg button.active{background:#fff;color:var(--adv-text);font-weight:600;box-shadow:0 1px 2px rgba(15,23,42,.08)}.advanced-ticket-search{flex:1;min-width:170px;max-width:300px;margin-left:auto;padding:8px 13px;border:1px solid var(--adv-line);border-radius:8px;font:inherit;font-size:13px}.advanced-table-wrap{background:#fff;border:1px solid var(--adv-line);border-radius:12px;overflow-x:auto;box-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px -24px rgba(15,23,42,.22)}.advanced-ticket-table{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0}.advanced-ticket-table td,.advanced-ticket-table th{padding:12px 14px;font-size:13px;text-align:left;border-bottom:1px solid var(--adv-line-soft);vertical-align:middle}.advanced-ticket-table th{background:#f8fafc;color:var(--adv-muted);font-size:12px;letter-spacing:.05em}.advanced-ticket-table tbody tr{cursor:pointer}.advanced-ticket-table tbody tr:hover td{background:#fafbfd}.advanced-ticket-table tbody tr.overdue td{background:snow}.advanced-ticket-id{white-space:nowrap;font-size:12px}.advanced-ticket-title{font-weight:700;max-width:330px}.advanced-ticket-title small{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.advanced-ticket-title small span{font-size:11px;font-weight:500;color:#334155;background:#f1f5f9;border-radius:4px;padding:1px 6px}.advanced-priority,.advanced-status,.advanced-type{display:inline-flex;align-items:center;white-space:nowrap;font-style:normal;border-radius:999px;font-size:12px;font-weight:700;padding:3px 9px}.advanced-type.incident{background:#dc2626;color:#fff}.advanced-type.request{background:#2563eb;color:#fff}.advanced-type.change{background:#7c3aed;color:#fff}.advanced-type.problem{background:#d97706;color:#fff}.advanced-type.task{background:#0891b2;color:#fff}.advanced-priority.p1{background:#fdeaea;color:#dc2626}.advanced-priority.p2{background:#fef0e6;color:#ea580c}.advanced-priority.p3{background:#eaf1fe;color:#2563eb}.advanced-priority.p4{background:#f1f5f9;color:#64748b}.advanced-status.pending{background:#fef4e6;color:#d97706}.advanced-status.processing{background:#eaf1fe;color:#2563eb}.advanced-status.verify{background:#f2ecfe;color:#7c3aed}.advanced-status.done{background:#e7f7f0;color:#059669}.advanced-status.closed{background:#f1f5f9;color:#64748b}.advanced-assignee,.advanced-client{font-size:12px;color:#334155;white-space:nowrap}.advanced-client small{display:block;color:var(--adv-muted)}.advanced-assignee.none{color:#c3ccd8}.advanced-sla{min-width:130px}.advanced-sla div{height:5px;border-radius:3px;background:#eef2f7;overflow:hidden;margin-bottom:4px}.advanced-sla i{display:block;height:100%;border-radius:3px}.advanced-sla span{font-size:11px;font-weight:700}.advanced-sla.ok i{background:linear-gradient(90deg,#34d399,#059669)}.advanced-sla.ok span{color:#059669}.advanced-sla.warn i{background:linear-gradient(90deg,#fbbf24,#d97706)}.advanced-sla.warn span{color:#d97706}.advanced-sla.danger i{background:linear-gradient(90deg,#f87171,#dc2626)}.advanced-sla.danger span{color:#dc2626}.advanced-sla.done i{background:#cbd5e1}.advanced-sla.done span{color:#94a3b8}.advanced-ticket-empty{text-align:center;padding:56px 20px;color:var(--adv-muted);background:#fff;border:1px dashed var(--adv-line);border-radius:12px}.advanced-ticket-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:22px}.advanced-ticket-modal.open{display:flex}.advanced-modal-mask{position:absolute;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(4px)}.advanced-modal-box{position:relative;background:#fff;border-radius:12px;max-width:1000px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 64px -16px rgba(15,23,42,.42)}.advanced-modal-foot,.advanced-modal-head{flex:none;padding:18px 24px;border-bottom:1px solid var(--adv-line);background:linear-gradient(180deg,#eef4ff 0,#fff 100%);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.advanced-modal-head span{font-size:12px;font-weight:700;color:var(--adv-muted)}.advanced-modal-head h3{margin:4px 0 10px;font-size:20px}.advanced-modal-head p{display:flex;gap:8px;flex-wrap:wrap}.advanced-modal-head button{width:32px;height:32px;border:1px solid var(--adv-line);border-radius:8px;background:#fff;cursor:pointer;font-size:20px}.advanced-modal-body{padding:22px 24px;overflow-y:auto}.advanced-detail-grid{display:grid;grid-template-columns:1fr 300px;gap:22px}.advanced-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px;background:#f8fafc;border:1px solid var(--adv-line);border-radius:10px}.advanced-info-grid div{font-size:12px;color:var(--adv-muted)}.advanced-info-grid b{display:block;color:var(--adv-text);margin-top:3px}.advanced-desc{margin:18px 0;padding:14px;background:#f8fafc;border:1px solid var(--adv-line);border-radius:10px;color:#334155;line-height:1.8}.advanced-detail-grid h4{margin:0 0 10px;font-size:13px}.advanced-detail-grid h4 span{float:right;color:#fff;background:var(--adv-blue);border-radius:999px;padding:1px 8px;font-size:11px}.advanced-timeline{border-left:2px solid var(--adv-line);padding-left:18px}.advanced-timeline div{position:relative;padding-bottom:16px}.advanced-timeline div::before{content:'';position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--adv-blue)}.advanced-timeline time{display:block;font-size:11px;color:var(--adv-muted)}.advanced-timeline b{display:block;font-size:13px}.advanced-timeline small{color:var(--adv-blue);margin-left:6px}.advanced-timeline p{color:#334155;font-size:12px;margin-top:3px}.advanced-detail-grid aside section{border:1px solid var(--adv-line);border-radius:10px;margin-bottom:14px;padding:12px}.advanced-detail-grid aside p{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px dashed var(--adv-line-soft);font-size:12px;color:#334155}.advanced-detail-grid aside p:last-child{border-bottom:0}.advanced-detail-grid aside span{color:var(--adv-ok);font-weight:700}.advanced-modal-foot{border-top:1px solid var(--adv-line);border-bottom:0;background:#fafbfd;justify-content:flex-end;align-items:center}.advanced-form-field{margin-bottom:16px}.advanced-form-field label{display:block;margin-bottom:7px;font-size:13px;font-weight:600}.advanced-form-field input,.advanced-form-field select,.advanced-form-field textarea{width:100%;border:1px solid var(--adv-line);border-radius:8px;padding:9px 12px;font:inherit}.advanced-form-field textarea{min-height:90px;resize:vertical}@media (max-width:900px){.advanced-detail-grid{grid-template-columns:1fr}.advanced-ticket-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.advanced-ticket-hero{padding:22px 18px}.advanced-ticket-search{max-width:none;min-width:100%}.advanced-info-grid{grid-template-columns:1fr}}