@charset "utf-8";

:root{
  --mb-navy:#071629;
  --mb-navy-2:#0c2544;
  --mb-blue:#174cff;
  --mb-cyan:#2be5e5;
  --mb-ink:#0c1c34;
  --mb-text:#506078;
  --mb-muted:#8190a4;
  --mb-line:#dce5ef;
  --mb-bg:#f3f7fb;
  --mb-white:#fff;
  --mb-shadow:0 22px 60px -38px rgba(7,22,41,.5);
}

html,body{font-family:"Inter","PingFang SC","Microsoft YaHei","Segoe UI",Arial,sans-serif;color:var(--mb-text);background:var(--mb-bg)}
*{box-sizing:border-box}

/* Login */
body.admin-login-page{min-height:100vh;background:var(--mb-navy)}
.admin-login-page .user-login{position:relative;min-height:100vh;padding:0!important;background:linear-gradient(90deg,rgba(4,16,32,.97) 0%,rgba(4,16,32,.88) 39%,rgba(4,16,32,.38) 69%,rgba(4,16,32,.16) 100%),url("../../../../../../static/upload/image/20260914/admin-login-aerial-operations.png") center/cover no-repeat!important;overflow:hidden}
.admin-login-page .user-login:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to right,black,transparent)}
.admin-login-page .user-login-main{position:absolute;z-index:1;top:50%;left:12vw;right:auto;width:430px;margin:0;padding:42px 42px 36px;box-sizing:border-box;transform:translateY(-50%);border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(7,22,41,.76);box-shadow:0 45px 110px -50px rgba(0,0,0,.9);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.admin-login-page .user-login-header{padding:0 0 28px;text-align:left}
.admin-login-brand{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.admin-logo-crop{position:relative;display:block;width:82px;height:61px;overflow:hidden;flex:0 0 auto}
.admin-logo-crop img{position:absolute;left:-15px;top:-15px;width:112px;max-width:none}
.admin-brand-text strong{display:block;color:#fff;font-size:21px;line-height:1.25;letter-spacing:.02em}
.admin-brand-text span{display:block;margin-top:5px;color:rgba(255,255,255,.48);font-size:10px;letter-spacing:.14em}
.admin-login-page .user-login-header h2{color:#fff;font-size:30px;line-height:1.3;font-weight:700;letter-spacing:-.02em}
.admin-login-page .user-login-header p{margin-top:9px;color:rgba(222,233,245,.62);font-size:14px}
.admin-login-page #dologin,.admin-login-page .user-login-box{width:100%;padding:0;box-sizing:border-box}
.admin-login-page .user-login-box .layui-form-item{width:100%;margin:0 0 15px;box-sizing:border-box}
.admin-login-page .user-login-box .login-field,.admin-login-page .user-login-box .login-captcha-row .layui-col-xs7{position:relative}
.admin-login-page .user-login-box .layui-form-item .layui-input{width:100%;height:52px;padding:0 16px 0 50px;box-sizing:border-box;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(255,255,255,.075);color:#fff;font-size:15px;line-height:52px;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.admin-login-page .layui-input::placeholder{color:rgba(255,255,255,.42)}
.admin-login-page .layui-input:focus{border-color:rgba(43,229,229,.68)!important;background:rgba(255,255,255,.11);box-shadow:0 0 0 4px rgba(43,229,229,.08)}
.admin-login-page .user-login-box .user-login-icon{position:absolute;z-index:2;top:0;left:0;width:50px;height:52px;line-height:52px;text-align:center;color:rgba(255,255,255,.5);pointer-events:none}
.admin-login-page .login-captcha-row .layui-row{display:grid;grid-template-columns:minmax(0,1fr) 122px;align-items:center;gap:12px;direction:ltr}
.admin-login-page .login-captcha-row .layui-col-xs7,.admin-login-page .login-captcha-row .layui-col-xs5{float:none;width:auto;grid-row:1}.admin-login-page .login-captcha-row .layui-col-xs7{grid-column:1}.admin-login-page .login-captcha-row .layui-col-xs5{grid-column:2}
.admin-login-page .login-captcha-row .layui-col-xs5>div{margin-left:0!important}
.admin-login-page .user-login-codeimg{display:block;width:100%;height:52px;border-radius:8px;object-fit:cover}
.admin-login-page .layui-btn-fluid{height:50px;border-radius:8px;background:var(--mb-cyan);color:#041323;font-size:15px;font-weight:700;letter-spacing:.1em;box-shadow:0 16px 30px -18px rgba(43,229,229,.9)}
.admin-login-page .layui-btn-fluid:hover{background:#6ff3ef;opacity:1}
.admin-login-page .user-login-footer{left:12vw;right:auto;color:rgba(255,255,255,.38);font-size:12px;text-align:left}

/* Admin shell */
.layui-layout-admin .layui-header{height:72px;background:rgba(7,22,41,.98);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:none}
.layui-layout-admin .layui-logo{width:250px;height:72px;line-height:normal;background:#071629;border-right:1px solid rgba(255,255,255,.08)}
.layui-layout-admin .layui-logo>a{height:72px;display:flex;align-items:center;padding:0 18px;color:#fff!important}
.admin-shell-logo{position:relative;width:61px;height:46px;overflow:hidden;flex:0 0 auto}
.admin-shell-logo img{position:absolute;left:-12px;top:-11px;width:84px;max-width:none}
.admin-shell-copy{margin-left:10px;text-align:left}
.admin-shell-copy strong{display:block;color:#fff;font-size:14px;line-height:1.25;letter-spacing:.02em}
.admin-shell-copy span{display:block;margin-top:3px;color:rgba(255,255,255,.42);font-size:9px;letter-spacing:.12em}
.layui-layout-admin .layui-header .menu{left:250px;height:72px;display:flex;align-items:center}
.layui-layout-admin .layui-header .menu-ico{padding:0 22px;color:rgba(255,255,255,.65);font-size:17px}
.layui-layout-admin .layui-header .area-select{left:310px;top:18px}
.layui-layout-admin .layui-header .layui-nav{height:72px;background:transparent}
.layui-layout-admin .layui-header .layui-nav .layui-nav-item{line-height:72px}
.layui-layout-admin .layui-header .layui-nav .layui-nav-item>a{color:rgba(255,255,255,.68);font-size:13px}
.layui-layout-admin .layui-header .layui-nav .layui-nav-item>a:hover{color:#fff}
.layui-layout-admin .layui-header .layui-nav-bar{background:var(--mb-cyan)}
.layui-layout-admin .layui-side{top:72px;width:250px;background:#091a30!important;border-right:1px solid rgba(255,255,255,.06)}
.layui-layout-admin .layui-side-scroll{width:270px}
.layui-layout-admin .layui-nav-tree{width:250px;padding:16px 10px 28px;background:transparent}
.layui-layout-admin .layui-nav-tree .layui-nav-item{margin-bottom:5px}
.layui-layout-admin .layui-nav-tree .layui-nav-item>a{height:46px;line-height:46px;padding:0 16px;border-radius:8px;color:rgba(225,235,246,.66);font-size:14px}
.layui-layout-admin .layui-nav-tree .layui-nav-item>a:hover,.layui-layout-admin .layui-nav-tree .layui-nav-itemed>a{color:#fff;background:rgba(255,255,255,.065)}
.layui-layout-admin .layui-nav-tree .layui-nav-item>a i{width:25px;color:rgba(43,229,229,.7)}
.layui-layout-admin .layui-nav-tree .layui-nav-more{right:16px;border-top-color:rgba(255,255,255,.45)}
.layui-layout-admin .layui-nav-tree .layui-nav-itemed>a .layui-nav-more{border-bottom-color:var(--mb-cyan)}
.layui-layout-admin .layui-nav-tree .layui-nav-child{padding:4px 0 7px;background:transparent!important}
.layui-layout-admin .layui-nav-tree .layui-nav-child dd a{height:40px;line-height:40px;margin:2px 0;padding-left:45px;border-radius:7px;color:rgba(225,235,246,.5);font-size:13px}
.layui-layout-admin .layui-nav-tree .layui-nav-child dd a:hover{color:#fff;background:rgba(23,76,255,.22)}
.layui-layout-admin .layui-body{top:72px;left:250px;bottom:0;padding:28px 30px;background:var(--mb-bg)}

/* Existing modules */
.layui-elem-quote{padding:15px 18px;border-left:3px solid var(--mb-blue);border-radius:8px;background:#fff;color:var(--mb-text);box-shadow:0 10px 32px -28px rgba(7,22,41,.5)}
.layui-elem-field{margin-top:20px;border:1px solid var(--mb-line);border-radius:12px;background:#fff;box-shadow:var(--mb-shadow)}
.layui-elem-field legend{margin-left:18px;padding:0 8px;color:var(--mb-ink);font-size:15px;font-weight:700}
.layui-card,.layui-panel{border-radius:12px;box-shadow:var(--mb-shadow)}
.layui-card-header{height:50px;line-height:50px;border-color:var(--mb-line);color:var(--mb-ink);font-weight:700}
.layui-btn{border-radius:6px;background:var(--mb-blue)}
.layui-btn:hover{opacity:.9}
.layui-btn-primary{border-color:var(--mb-line);background:#fff;color:var(--mb-ink)}
.layui-btn-danger{background:#e54b5f}
.layui-form-label{color:#354860;font-size:14px}
.layui-input,.layui-select,.layui-textarea{border-color:#d4dfeb;border-radius:6px;color:var(--mb-ink)}
.layui-input:focus,.layui-textarea:focus{border-color:var(--mb-blue)!important;box-shadow:0 0 0 3px rgba(23,76,255,.07)}
.layui-form-select dl dd.layui-this{background:var(--mb-blue)}
.layui-form-checked[lay-skin=primary] i{border-color:var(--mb-blue)!important;background:var(--mb-blue)}
.layui-table{color:#465871}
.layui-table th{background:#f6f9fc;color:#243850;font-weight:700}
.layui-table td,.layui-table th{border-color:#e3eaf2}
.layui-table tbody tr:hover{background:#f3f7ff}
.layui-tab-title{border-color:var(--mb-line)}
.layui-tab-brief>.layui-tab-title .layui-this{color:var(--mb-blue)}
.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border-color:var(--mb-blue)}
.deskbox{border-radius:10px;background:linear-gradient(145deg,#0b2e54,#0a1e37)!important;box-shadow:0 18px 38px -28px rgba(7,22,41,.65)!important}
.deskbox dt,.deskbox dd{color:#fff!important}

/* Operations dashboard */
.ops-dashboard{max-width:1440px;margin:0 auto}
.layui-body>.layui-elem-quote:not(#note),.layui-body>.layui-elem-field{display:none}
.ops-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;padding:32px;border-radius:18px;background:linear-gradient(115deg,#09294b,#071629);color:#fff;box-shadow:0 28px 70px -42px rgba(7,22,41,.8);overflow:hidden;position:relative}
.ops-welcome:after{content:"";position:absolute;right:-80px;top:-180px;width:400px;height:400px;border:1px solid rgba(43,229,229,.22);border-radius:50%;box-shadow:0 0 0 55px rgba(43,229,229,.035),0 0 0 110px rgba(43,229,229,.02)}
.ops-kicker{display:block;margin-bottom:9px;color:var(--mb-cyan);font-size:11px;font-weight:700;letter-spacing:.16em}
.ops-welcome h1{position:relative;z-index:1;margin:0;color:#fff;font-size:30px;line-height:1.3;letter-spacing:-.02em}
.ops-welcome p{position:relative;z-index:1;margin:9px 0 0;color:rgba(230,238,248,.64);font-size:14px}
.ops-welcome-actions{position:relative;z-index:1;display:flex;gap:10px;flex:0 0 auto}
.ops-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border:1px solid rgba(255,255,255,.2);border-radius:7px;color:#fff;background:rgba(255,255,255,.06);font-size:13px;transition:.2s ease}
.ops-btn:hover{color:#fff;background:rgba(255,255,255,.12)}
.ops-btn.primary{border-color:var(--mb-cyan);background:var(--mb-cyan);color:#061426;font-weight:700}
.ops-alerts{margin-bottom:20px}
.ops-alert{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px;padding:14px 16px;border:1px solid #f1d59b;border-radius:9px;background:#fff9ec;color:#70531b;font-size:13px}
.ops-alert i{margin-top:2px;color:#d89a1d}
.ops-alert a{margin-left:auto;color:#8b5a00;font-weight:700;white-space:nowrap}
.ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ops-card{position:relative;min-height:172px;padding:24px;border:1px solid var(--mb-line);border-radius:14px;background:#fff;color:var(--mb-text);box-shadow:0 18px 46px -38px rgba(7,22,41,.5);overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.ops-card:hover{transform:translateY(-3px);border-color:rgba(23,76,255,.26);box-shadow:0 24px 54px -36px rgba(7,22,41,.55);color:var(--mb-text)}
.ops-card .num{position:absolute;right:17px;top:11px;color:#eef3f9;font-size:48px;font-weight:800;letter-spacing:-.08em}
.ops-card .icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:24px;border-radius:10px;background:#edf3ff;color:var(--mb-blue);font-size:17px}
.ops-card h3{position:relative;margin:0;color:var(--mb-ink);font-size:17px}
.ops-card p{position:relative;margin:7px 0 0;color:var(--mb-muted);font-size:12px;line-height:1.7}
.ops-card .go{position:absolute;right:21px;bottom:20px;color:var(--mb-blue);font-size:12px;font-weight:700}
.ops-section{margin-top:20px;padding:26px;border:1px solid var(--mb-line);border-radius:14px;background:#fff;box-shadow:0 20px 52px -42px rgba(7,22,41,.5)}
.ops-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.ops-section-head h2{margin:0;color:var(--mb-ink);font-size:19px}
.ops-section-head p{margin:4px 0 0;color:var(--mb-muted);font-size:12px}
.ops-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ops-count{display:block;padding:18px;border-radius:10px;background:#f5f8fc;border:1px solid #e7edf4;color:var(--mb-ink)}
.ops-count:hover{border-color:rgba(23,76,255,.25);background:#f1f5ff;color:var(--mb-ink)}
.ops-count strong{display:block;margin-top:7px;font-size:27px;line-height:1;color:var(--mb-blue)}
.ops-count span{font-size:12px;color:var(--mb-muted)}
.ops-help{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--mb-line)}
.ops-step{padding:20px 22px;border-right:1px solid var(--mb-line)}
.ops-step:last-child{border:0}
.ops-step b{display:block;margin-bottom:7px;color:var(--mb-ink);font-size:14px}
.ops-step span{color:var(--mb-muted);font-size:12px;line-height:1.65}

@media(max-width:1100px){
  .ops-grid{grid-template-columns:repeat(2,1fr)}
  .ops-counts{grid-template-columns:repeat(3,1fr)}
  .ops-help{grid-template-columns:repeat(2,1fr)}
  .ops-step:nth-child(2){border-right:0}.ops-step:nth-child(-n+2){border-bottom:1px solid var(--mb-line)}
}

@media(max-width:768px){
  .admin-login-page .user-login-main{left:50%;width:min(calc(100% - 30px),430px);padding:34px 28px;transform:translate(-50%,-50%)}
  .admin-login-page .user-login-footer{left:0;right:0;text-align:center}
  .layui-layout-admin .layui-header{height:60px}
  .layui-layout-admin .layui-logo{width:200px;height:60px}
  .layui-layout-admin .layui-logo>a{height:60px;padding-left:12px}
  .admin-shell-logo{width:52px;height:39px}.admin-shell-logo img{left:-10px;top:-10px;width:72px}
  .layui-layout-admin .layui-header .menu{left:200px;height:60px}
  .layui-layout-admin .layui-side{top:60px;width:200px}
  .layui-layout-admin .layui-nav-tree{width:200px}
  .layui-layout-admin .layui-body{top:60px;left:0;padding:18px 14px}
  .ops-welcome{display:block;padding:24px}
  .ops-welcome-actions{margin-top:18px}
  .ops-grid,.ops-counts,.ops-help{grid-template-columns:1fr}
  .ops-step{border-right:0;border-bottom:1px solid var(--mb-line)!important}
  .ops-step:last-child{border-bottom:0!important}
}
