/* Vben-inspired presentation layer. Keeps FastAdmin's native navigation and widgets. */
:root{--vb-primary:#2563eb;--vb-primary-soft:#edf5ff;--vb-bg:#f3f7fc;--vb-text:#273044;--vb-muted:#858b9c;--vb-border:#eceef3;--vb-radius:10px}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--vb-text);background:var(--vb-bg);font-size:14px}
a{color:var(--vb-primary)}a:hover,a:focus{color:#3284e2}a:focus-visible,button:focus-visible{outline:2px solid var(--vb-primary);outline-offset:3px}
.content-wrapper,.right-side,body.addtabs{background:var(--vb-bg)}
.main-header .logo{background:#fff!important;color:var(--vb-text)!important;font-weight:650;border-right:1px solid var(--vb-border);box-shadow:none}
.main-header .navbar{background:#fff!important;border-bottom:1px solid var(--vb-border);box-shadow:none}
.main-header .navbar .nav>li>a,.main-header .navbar .sidebar-toggle{color:#606779!important}
.main-header .navbar .nav>li>a:hover,.main-header .navbar .sidebar-toggle:hover{background:#f5f7fa!important;color:var(--vb-primary)!important}
.main-header .nav-addtabs>li.active>a,.main-header .nav-addtabs>li.active>a:hover{background:var(--vb-primary-soft)!important;color:var(--vb-primary)!important;border-bottom-color:var(--vb-primary)!important}
.main-sidebar,.left-side{background:#fff!important;border-right:1px solid var(--vb-border)}
.sidebar-menu{padding:8px}.sidebar-menu>li{margin-bottom:5px}.sidebar-menu>li>a{border-radius:7px;border-left:0!important;padding:13px 15px!important;color:#515b6e!important}
.sidebar-menu>li:hover>a,.sidebar-menu>li.active>a{color:var(--vb-primary)!important;background:var(--vb-primary-soft)!important}
.sidebar-menu>li>.treeview-menu{background:transparent!important;margin:4px 0}.treeview-menu>li>a{color:#6b7280!important;padding:10px 12px 10px 32px;border-radius:6px}.treeview-menu>li.active>a,.treeview-menu>li>a:hover{color:var(--vb-primary)!important;background:#f5faff!important}
.sidebar .user-panel .info,.sidebar .user-panel .info a{color:#515b6e!important}.user-panel{padding:20px 16px}.user-panel .image img{border:2px solid #edf5ff}
.sidebar-form{border:1px solid var(--vb-border)!important;border-radius:7px!important;margin:6px 16px 12px!important}.sidebar-form input,.sidebar-form .btn{background:#f7f8fb!important;color:#70798b!important}.sidebar-menu .header{color:var(--vb-muted)!important;background:transparent!important}
.content{padding:20px}.panel,.box{border:1px solid var(--vb-border);border-radius:var(--vb-radius);box-shadow:0 2px 8px #20274a03}.panel-default>.panel-heading,.panel-intro>.panel-heading,.box-header{background:#fff;border-color:var(--vb-border);border-radius:10px 10px 0 0;padding:16px 20px}.panel-body{padding:20px}.panel-heading .nav-tabs{margin-bottom:-16px}.nav-tabs{border-color:var(--vb-border)}.nav-tabs>li>a{color:#697286}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:var(--vb-primary);border-color:transparent;background:transparent;border-bottom:2px solid var(--vb-primary)}
.btn{border-radius:6px;box-shadow:none;transition:background-color .15s,border-color .15s}.btn-primary,.btn-success{background:var(--vb-primary);border-color:var(--vb-primary)}.btn-primary:hover,.btn-primary:focus,.btn-success:hover,.btn-success:focus{background:#3a8be8;border-color:#3a8be8}.btn-default{border-color:#e1e4ec;background:#fff;color:#515b6e}.btn-danger{background:#fef2f2;border-color:#fecaca;color:#dc4545}.btn-warning{background:#fff8eb;border-color:#f5dba8;color:#b77914}
.form-control{border:1px solid #e1e4ec;border-radius:6px;box-shadow:none;color:var(--vb-text)}.form-control:focus{border-color:var(--vb-primary);box-shadow:0 0 0 3px #4b9fff14}.input-group-addon{border-color:#e1e4ec;background:#f8f9fc;color:#9198a8}.control-label{font-weight:500}.selectpage-control,.bootstrap-select>.dropdown-toggle{border-radius:6px}
.table>thead>tr>th,.fixed-table-header{background:#f8f9fc;color:#616b80;font-weight:550;border-bottom:1px solid var(--vb-border)}.table>tbody>tr>td{border-color:var(--vb-border);padding-top:12px;padding-bottom:12px}.table-striped>tbody>tr:nth-of-type(odd){background:#fff}.table-hover>tbody>tr:hover{background:#f9fcff}.fixed-table-container{border-color:var(--vb-border);border-radius:8px}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>span{background:var(--vb-primary);border-color:var(--vb-primary)}.pagination>li>a{color:#626c80}.label-primary,.label-success,.bg-purple{background:var(--vb-primary)!important}
.dropdown-menu{border:1px solid var(--vb-border);border-radius:9px;box-shadow:0 8px 30px #26325312;padding:6px}.dropdown-menu>li>a{padding:9px 15px;border-radius:5px}.dropdown-menu>li>a:hover{background:var(--vb-primary-soft);color:var(--vb-primary)}.layui-layer{border-radius:10px!important;overflow:hidden}.layui-layer-title{background:#fff!important;border-bottom-color:var(--vb-border)!important}.layui-layer-btn .layui-layer-btn0{background:var(--vb-primary)!important;border-color:var(--vb-primary)!important}
.panel-body .sm-st{border:1px solid var(--vb-border);border-radius:10px;padding:22px;box-shadow:0 3px 12px #20274a04}.panel-body .sm-st-icon{border-radius:12px;width:52px;height:52px;line-height:52px;font-size:23px}.panel-body .st-red{background:#fff0f1;color:#ee6b82}.panel-body .st-violet{background:#ecf5ff;color:#59a2f5}.panel-body .st-blue{background:#eaf4ff;color:#4e99ee}.panel-body .st-green{background:#e6f9f1;color:#35b68c}.sm-st-info{color:var(--vb-muted)}.sm-st-info span{color:var(--vb-text);font-variant-numeric:tabular-nums}.progress{border-radius:8px;background:#f0f1f7}.progress-bar-success{background:var(--vb-primary)}
/* Login: split brand canvas and focused authentication panel. */
body.vben-login{background:#fff;color:var(--vb-text);min-height:100vh}.vben-login>.container{width:100%;padding:0}.vben-login .login-wrapper{display:flex;min-height:100vh}.vben-login-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:52%;padding:40px 48px;background:radial-gradient(ellipse at 40% 40%,#e1efff,transparent 65%),#f3f4fb}.vben-brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:650}.vben-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--vb-primary);color:#fff;border-radius:11px}.vben-intro-content{text-align:center}.vben-intro-content h1{font-size:25px;font-weight:650;margin-top:42px}.vben-intro-content p,.vben-login-intro small{color:var(--vb-muted)}.vben-visual{height:230px;width:270px;margin:auto;position:relative;transform:rotate(-9deg)}.vben-visual span{position:absolute;display:block;width:200px;height:130px;left:35px;top:45px;border:1px solid #fff;border-radius:18px;background:linear-gradient(135deg,#fff,#ebf4ff);box-shadow:0 18px 45px #549bec2b}.vben-visual span:first-child{transform:translate(-25px,-35px) rotate(-12deg);background:#d7eaff}.vben-visual span:last-child{transform:translate(25px,35px) rotate(12deg);background:linear-gradient(130deg,#74b5ff,#4a93e7)}.vben-visual span:last-child:after{content:"";position:absolute;left:30px;top:30px;width:90px;height:12px;border-radius:5px;background:#ffffffb3;box-shadow:0 26px #ffffff70,0 52px #ffffff40}
.vben-login .login-screen{width:48%;max-width:none;margin:0;display:flex;align-items:center;justify-content:center;padding:60px 40px}.vben-login .login-screen .well{width:390px;max-width:100%;box-shadow:none;background:transparent}.vben-login .login-head,.vben-login .profile-img-card{display:none}.vben-login .login-form{padding:0}.vben-login-title{font-size:30px;font-weight:650;margin:0 0 14px}.vben-login .profile-name-card{text-align:left;color:var(--vb-muted);margin-bottom:32px}.vben-login #login-form{margin-top:28px}.vben-login #login-form .input-group{margin-bottom:22px}.vben-login #login-form .form-control{height:46px;font-size:14px}.vben-login .input-group-addon{padding:10px 16px;background:#fff}.vben-login .btn.btn-success{background:var(--vb-primary)!important;border-color:var(--vb-primary);height:46px;font-size:15px;border-radius:7px}.vben-login .checkbox{color:#737b8e}.vben-login .two-factor__icon{background:var(--vb-primary-soft);color:var(--vb-primary)}
@media(max-width:991px){.vben-login-intro{width:45%;padding:30px}.vben-login .login-screen{width:55%}.vben-intro-content h1{font-size:21px}.vben-visual{transform:scale(.8)}}
@media(max-width:767px){.content{padding:12px}.panel-body{padding:14px}.vben-login-intro{display:none}.vben-login .login-screen{width:100%;padding:40px 24px}.main-header .logo{border-right:0}.sidebar-menu{padding:6px}.vben-login-title{font-size:28px}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}
.panel-intro>.panel-heading .nav-tabs>li>a{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#858b9c;padding:12px 18px}.panel-intro>.panel-heading .nav-tabs>li.active>a,.panel-intro>.panel-heading .nav-tabs>li.active>a:hover{background:transparent;color:var(--vb-primary);border:0;border-bottom:2px solid var(--vb-primary)}

/* Electric blue / navy / cyan palette. */
:root{--vb-primary-soft:#eaf1ff;--vb-border:#e3ebf5;--vb-muted:#718198}
a:hover,a:focus{color:#1d4ed8}
.main-header .logo,.main-header .navbar,.main-sidebar,.left-side{background:#0b1739!important;border-color:#1d2d50!important}
.main-header .logo{color:#f3f7fc!important}
.main-header .navbar .nav>li>a,.main-header .navbar .sidebar-toggle{color:#c3d1e8!important}
.main-header .navbar .nav>li>a:hover,.main-header .navbar .sidebar-toggle:hover{background:#14264c!important;color:#22d3ee!important}
.main-header .nav-addtabs>li.active>a,.main-header .nav-addtabs>li.active>a:hover{background:#172f5a!important;color:#67e8f9!important;border-bottom-color:#22d3ee!important}
.sidebar-menu>li>a,.treeview-menu>li>a,.sidebar .user-panel .info,.sidebar .user-panel .info a{color:#c3d1e8!important}
.sidebar-menu>li:hover>a,.sidebar-menu>li.active>a{background:#183666!important;color:#67e8f9!important}
.treeview-menu>li.active>a,.treeview-menu>li>a:hover{background:#142a50!important;color:#67e8f9!important}
.sidebar-menu .header{color:#8ca2c7!important}
.sidebar-form{border-color:#2a3d60!important}.sidebar-form input,.sidebar-form .btn{background:#142447!important;color:#d7e5fa!important}
.sidebar-form input::placeholder{color:#8ca2c7}.sidebar .user-panel .image img{border-color:#28528a}
.btn-primary:hover,.btn-primary:focus,.btn-success:hover,.btn-success:focus{background:#1d4ed8;border-color:#1d4ed8}
.form-control:focus{box-shadow:0 0 0 3px #2563eb18}
.vben-login-intro{color:#f3f7fc;background:radial-gradient(ellipse at 25% 30%,#123b69 0,transparent 60%),linear-gradient(145deg,#0b1739,#10274e)}
.vben-login-intro .vben-intro-content p,.vben-login-intro small{color:#aec3df}
.vben-brand-mark{background:linear-gradient(135deg,#2563eb,#22d3ee);box-shadow:0 6px 24px #22d3ee26}
.vben-visual span{border-color:#76c8ff55;background:linear-gradient(135deg,#dbeafe,#a5d7fa);box-shadow:0 18px 45px #020b2566}
.vben-visual span:first-child{background:#18417a;border-color:#3d82c6}
.vben-visual span:last-child{background:linear-gradient(135deg,#22d3ee,#2563eb);border-color:#70eaff}
.vben-login .btn.btn-success:hover,.vben-login .btn.btn-success:focus{background:#1d4ed8!important}
