body,html{height:100%}
body{min-height:100%;background:#f0f2f5 url(/static/images/background.svg) no-repeat 60%;background-size:100%;position:relative;text-align:center}
body{margin:0;color:rgba(0,0,0,.65);font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-variant:tabular-nums;line-height:1.5;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum"}
img,input,svg{vertical-align:middle}
body a{color:#1890ff;text-decoration:none;background-color:transparent;outline:0;cursor:pointer;-webkit-transition:color .3s;transition:color .3s;-webkit-text-decoration-skip:objects}
.layui-layout-body{overflow:auto}
.swiftadmin-user-display-show{display:block!important}
.swiftadmin-login{position:relative;left:0;top:0;padding:110px 0;min-height:100%;box-sizing:border-box}
.swiftadmin-login-main{width:390px;margin:0 auto;box-sizing:border-box}
.swiftadmin-login-box{padding:20px 3px}
.swiftadmin-login-header{text-align:center;padding-right:20px}
.swiftadmin-login-header h2{margin-bottom:10px;font-weight:300;font-size:30px;color:#000;font-size:33px;color:rgba(0,0,0,.85);font-family:Avenir,Helvetica Neue,Arial,Helvetica,sans-serif;font-weight:600;position:relative;top:2px}
.swiftadmin-login-header p{font-weight:300;color:#999}
.swiftadmin-login-body .layui-form-item{position:relative;margin-bottom:25px}
.swiftadmin-login-icon{position:absolute;left:1px;top:2px;width:38px;line-height:36px;text-align:center;color:#d2d2d2}
.swiftadmin-login-body .layui-form-item .layui-input{padding-left:38px;height:40px;line-height:40px;border-radius:5px;border:0}
.swiftadmin-login-codeimg{max-height:38px;width:100%;cursor:pointer;box-sizing:border-box}
.swiftadmin-login-other{position:relative;font-size:0;line-height:38px;padding-top:20px}
.swiftadmin-login-other>*{display:inline-block;vertical-align:middle;margin-right:10px;font-size:14px}
.swiftadmin-login-other .layui-icon{position:relative;top:2px;font-size:26px}
.swiftadmin-login-other a:hover{opacity:.8}
.swiftadmin-user-jump-change{float:right}
.swiftadmin-login-footer{position:absolute;left:0;bottom:0;width:100%;line-height:30px;padding:20px;text-align:center;box-sizing:border-box;color:rgba(0,0,0,.5)}
.swiftadmin-login-footer span{padding:0 5px}
.swiftadmin-login-footer a{padding:0 5px;color:rgba(0,0,0,.5)}
.swiftadmin-login-footer a:hover{color:#000}
.swiftadmin-login-main[bgimg]{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.05)}
@media screen and (max-width:768px){
    .swiftadmin-login{padding-top:60px}
    .swiftadmin-login-main{width:300px}
    .swiftadmin-login-box{padding:10px}
}
.fl{float:left}
.fr{float:right}
.swiftadmin-login .logo{height:44px;vertical-align:top;margin-right:16px;border-style:none;display:inline}
.swiftadmin-login .captcha{width:97%;padding:2px;border-radius:5px;border:1px solid #d9d9d9;background-color:#fff}
.swiftadmin-login .captcha img{width:100%}
.swiftadmin-login .layui-col-xs7{width:65%}
.swiftadmin-login .captcha:hover,.swiftadmin-login .item:hover,.swiftadmin-login .layui-col-xs7:hover{border:1px solid #1890ff}
.swiftadmin-login .item,.swiftadmin-login layui-col-xs7{border:1px solid #d9d9d9;border-radius:5px}
.swiftadmin-login .other-login .layui-icon{color:#d9d9d9}
.swiftadmin-login .other-login a{margin-left:6px;display:inline-block}
.swiftadmin-login .other-login .layui-icon:hover{color:#1890ff}
.swiftadmin-login .layui-col-xs3{width:33%}
.layui-btn-fixed,.swiftadmin-login .layui-btn{border-radius:5px}
.swiftadmin-login .layui-btn-fixed{height:40px;line-height:36px;width:100%;padding:1px}
.layui-form-checkbox[lay-skin=primary]:hover i{border-color:#1890ff;color:#fff}
.layui-form-checked[lay-skin=primary] i{border-color:#1890ff!important;background-color:#1890ff;color:#fff}
.layui-form-pane .layui-form-checkbox {margin-left: 0;}

/* 滑块拼图验证码：图片承载细节，控件保持轻和清楚 */
.sc-wrap{--sc-blue:#3974c6;--sc-border:#d9e2ec;--sc-text:#68788c;width:100%}
.sc-img-box{position:relative;width:100%;border:1px solid rgba(49,66,91,.15);border-radius:8px;overflow:hidden;line-height:0;user-select:none;background:#829bad;box-shadow:0 2px 8px rgba(27,49,77,.12)}
.sc-bg{width:100%;display:block}
.sc-piece{position:absolute;top:0;left:0;width:17.3334%;filter:drop-shadow(0 2px 2px rgba(11,27,46,.48)) drop-shadow(0 4px 5px rgba(11,27,46,.22));will-change:left}
.sc-refresh{appearance:none;position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;gap:5px;height:29px;padding:0 9px;border:1px solid rgba(255,255,255,.86);border-radius:15px;background:rgba(255,255,255,.88);box-shadow:0 1px 5px rgba(20,39,60,.14);color:#3d536c;font:12px/1 "Microsoft YaHei",sans-serif;cursor:pointer;backdrop-filter:blur(5px);transition:background .18s ease,box-shadow .18s ease;z-index:3}
.sc-refresh .layui-icon{font-size:15px;line-height:1}
.sc-refresh:hover{background:#fff;box-shadow:0 2px 7px rgba(20,39,60,.2)}
.sc-refresh:active{background:#edf2f8}
.sc-refresh:focus-visible{outline:3px solid rgba(57,116,198,.5);outline-offset:2px}
.sc-refresh:disabled{cursor:default;opacity:.72}
.sc-refresh.is-loading .layui-icon{animation:sc-spin .7s linear infinite}
.sc-track{position:relative;box-sizing:border-box;margin-top:10px;height:44px;line-height:42px;border:1px solid var(--sc-border);border-radius:8px;background:#f5f7fa;box-shadow:inset 0 1px 2px rgba(31,52,82,.05)}
.sc-tips{position:absolute;left:0;top:0;width:100%;text-align:center;color:var(--sc-text);font-size:13px;pointer-events:none;transition:color .18s ease}
.sc-progress{position:absolute;left:0;top:0;height:100%;width:0;border-radius:7px 0 0 7px;background:#e5eef9;transition:background .18s ease}
.sc-handle{position:absolute;box-sizing:border-box;left:-1px;top:-1px;display:flex;align-items:center;justify-content:center;width:46px;height:44px;border:1px solid #bad0eb;border-radius:8px;background:#fff;box-shadow:0 2px 5px rgba(38,70,112,.16);color:var(--sc-blue);cursor:grab;touch-action:none;z-index:2;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.sc-handle:hover{border-color:#8fb4e1;background:#f8fbff}
.sc-handle:focus-visible{outline:3px solid rgba(57,116,198,.27);outline-offset:2px}
.sc-track.dragging .sc-handle{border-color:var(--sc-blue);background:#eef5fd;box-shadow:0 2px 7px rgba(38,70,112,.22);cursor:grabbing}
.sc-handle-symbol{position:relative;width:18px;height:18px}
.sc-handle-symbol:before{content:"";position:absolute;left:4px;top:5px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;border-radius:1px;transform:rotate(45deg)}
.sc-track.ok .sc-progress{background:#e4f2e9}
.sc-track.ok .sc-tips{color:#397e54}
.sc-track.ok .sc-handle{border-color:#a7cdb4;background:#f5fbf7;color:#397e54}
.sc-track.ok .sc-handle-symbol:before{left:5px;top:1px;width:7px;height:12px;border:0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;border-radius:0;transform:rotate(45deg)}
.sc-track.fail .sc-progress{background:#faeae7}
.sc-track.fail .sc-tips{color:#b45d50}
.sc-track.fail .sc-handle{border-color:#e1b8b1;background:#fff8f6;color:#b45d50}
.sc-track.fail .sc-handle-symbol:before{left:8px;top:2px;width:2px;height:14px;border:0;border-radius:1px;background:currentColor;transform:rotate(45deg)}
.sc-track.fail .sc-handle-symbol:after{content:"";position:absolute;left:8px;top:2px;width:2px;height:14px;border-radius:1px;background:currentColor;transform:rotate(-45deg)}
@keyframes sc-spin{to{transform:rotate(360deg)}}
@media (max-height:720px){.swiftadmin-login{padding-top:32px}}
@media (prefers-reduced-motion:reduce){.sc-refresh,.sc-refresh .layui-icon,.sc-progress,.sc-handle,.sc-tips{transition:none;animation:none}}
