From 980a684d85e25f2d6ec70b62370b74aeca3adb7f Mon Sep 17 00:00:00 2001 From: Apex Liu Date: Sun, 19 Nov 2017 00:09:25 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=91=E5=AE=9A=E8=BA=AB=E4=BB=BD=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=E5=99=A8=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=BA=AB=E4=BB=BD=E8=AE=A4=E8=AF=81=E5=99=A8?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=AF=86=E7=A0=81=E7=99=BB=E5=BD=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E6=88=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/select-oath-app.psd | Bin 0 -> 76750 bytes server/www/teleport/static/css/dashboard.css | 2 +- server/www/teleport/static/css/login.css | 2 +- server/www/teleport/static/css/single.css | 2 +- server/www/teleport/static/css/style.css | 2 +- .../static/img/qrcode/select-oath-app.png | Bin 0 -> 4029 bytes .../www/teleport/static/img/qrcode/wechat.png | Bin 0 -> 49534 bytes .../www/teleport/static/js/user/bind-oath.js | 399 ++++++++++++++++++ server/www/teleport/static/js/user/me.js | 6 +- .../teleport/static/js/user/reset-password.js | 21 +- .../www/teleport/static/js/user/user-list.js | 3 - server/www/teleport/static/less/_base.less | 21 +- .../static/less/_overwrite_bootstrap.less | 5 + server/www/teleport/static/less/single.less | 4 +- server/www/teleport/view/auth/login.mako | 1 + server/www/teleport/view/user/bind-oath.mako | 219 ++++++++++ server/www/teleport/view/user/me.mako | 2 +- .../teleport/view/user/reset-password.mako | 2 +- .../webroot/app/controller/__init__.py | 14 +- .../teleport/webroot/app/controller/auth.py | 121 +++--- .../teleport/webroot/app/controller/user.py | 120 +++++- .../webroot/app/logic/auth/captcha.py | 51 --- server/www/teleport/webroot/app/model/user.py | 87 +++- 23 files changed, 931 insertions(+), 153 deletions(-) create mode 100644 resource/select-oath-app.psd create mode 100644 server/www/teleport/static/img/qrcode/select-oath-app.png create mode 100644 server/www/teleport/static/img/qrcode/wechat.png create mode 100644 server/www/teleport/static/js/user/bind-oath.js create mode 100644 server/www/teleport/view/user/bind-oath.mako diff --git a/resource/select-oath-app.psd b/resource/select-oath-app.psd new file mode 100644 index 0000000000000000000000000000000000000000..e47b5ea207a98b2441746247e221b322573ab2d8 GIT binary patch literal 76750 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.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}.page-content-dashboard{padding:20px 25px}.sys-msg{border:1px solid #ff8987;border-radius:5px;background-color:#ffbdb7;padding:10px;margin-bottom:10px;text-align:center;display:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:10px;padding-left:10px}.stats{overflow:hidden;color:#686868;background-color:#fff;margin-bottom:10px}.stats.stats-id-host{border-top:5px solid #348fe2;background-color:#e7f1fb}.stats.stats-id-user{border-top:5px solid #f57523;background-color:#feefe6}.stats.stats-id-account{border-top:5px solid #d34242;background-color:#fae7e7}.stats.stats-id-connect{border-top:5px solid #368142;background-color:#def1e1}.stats.stats-box{position:relative;height:98px;box-shadow:1px 1px 2px rgba(0,0,0,0.3)}.stats.stats-box .stats-content{padding-left:20px}.stats.stats-box .stats-icon{font-size:130px;line-height:130px;top:5px;right:-40px;position:absolute;color:rgba(0,0,0,0.07)}.stats.stats-box .stats-name{font-size:16px;font-weight:500;padding-top:10px;color:rgba(0,0,0,0.6)}.stats.stats-box .stats-value{color:rgba(0,0,0,0.6);font-size:42px;font-weight:300;white-space:nowrap;padding-left:20px}.stats.stats-bar{position:relative;height:280px;padding:8px;box-shadow:1px 1px 2px rgba(0,0,0,0.3)}.stats.stats-bar .stats-name{font-size:14px;font-weight:500;color:rgba(0,0,0,0.6)}.stats.stats-bar .stats-value{margin-top:5px}.stats.stats-first{border-left:none}.stats a{color:#eee;color:rgba(255,255,255,0.7)}.stats a:hover{color:#fff}/*# sourceMappingURL=dashboard.css.map */ \ No newline at end of file +@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}.important{color:#d45f1c}hr.hr-sm{margin-top:5px;margin-bottom:5px}ul{list-style:none}ul.list{margin:0;padding:3px 0 5px 0}ul.list li{margin:3px 3px 5px 10px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.modal-dialog .modal-content .modal-header{background-color:#f7f7f7}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}.page-content-dashboard{padding:20px 25px}.sys-msg{border:1px solid #ff8987;border-radius:5px;background-color:#ffbdb7;padding:10px;margin-bottom:10px;text-align:center;display:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:10px;padding-left:10px}.stats{overflow:hidden;color:#686868;background-color:#fff;margin-bottom:10px}.stats.stats-id-host{border-top:5px solid #348fe2;background-color:#e7f1fb}.stats.stats-id-user{border-top:5px solid #f57523;background-color:#feefe6}.stats.stats-id-account{border-top:5px solid #d34242;background-color:#fae7e7}.stats.stats-id-connect{border-top:5px solid #368142;background-color:#def1e1}.stats.stats-box{position:relative;height:98px;box-shadow:1px 1px 2px rgba(0,0,0,0.3)}.stats.stats-box .stats-content{padding-left:20px}.stats.stats-box .stats-icon{font-size:130px;line-height:130px;top:5px;right:-40px;position:absolute;color:rgba(0,0,0,0.07)}.stats.stats-box .stats-name{font-size:16px;font-weight:500;padding-top:10px;color:rgba(0,0,0,0.6)}.stats.stats-box .stats-value{color:rgba(0,0,0,0.6);font-size:42px;font-weight:300;white-space:nowrap;padding-left:20px}.stats.stats-bar{position:relative;height:280px;padding:8px;box-shadow:1px 1px 2px rgba(0,0,0,0.3)}.stats.stats-bar .stats-name{font-size:14px;font-weight:500;color:rgba(0,0,0,0.6)}.stats.stats-bar .stats-value{margin-top:5px}.stats.stats-first{border-left:none}.stats a{color:#eee;color:rgba(255,255,255,0.7)}.stats a:hover{color:#fff}/*# sourceMappingURL=dashboard.css.map */ \ No newline at end of file diff --git a/server/www/teleport/static/css/login.css b/server/www/teleport/static/css/login.css index 06f5c3b..b58f6e2 100644 --- a/server/www/teleport/static/css/login.css +++ b/server/www/teleport/static/css/login.css @@ -1 +1 @@ -@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}hr.hr-sm{margin-top:5px;margin-bottom:5px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}body{padding:0;margin:0;overflow:hidden}.bg-blur{position:fixed;top:-20px;left:-20px}.bg-blur-overlay{position:absolute;width:100%;height:100%;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSI0NiUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wOCIvPjxzdG9wIG9mZnNldD0iNTklIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMDgiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC45Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-webkit-gradient(linear, 50% 0, 50% 100%, color-stop(46%, rgba(0,0,0,0.08)), color-stop(59%, rgba(0,0,0,0.08)), color-stop(100%, rgba(0,0,0,0.9)));background-image:-moz-linear-gradient(top, rgba(0,0,0,0.08) 46%, rgba(0,0,0,0.08) 59%, rgba(0,0,0,0.9) 100%);background-image:-webkit-linear-gradient(top, rgba(0,0,0,0.08) 46%, rgba(0,0,0,0.08) 59%, rgba(0,0,0,0.9) 100%);background-image:linear-gradient(to bottom, rgba(0,0,0,0.08) 46%, rgba(0,0,0,0.08) 59%, rgba(0,0,0,0.9) 100%)}.container{min-width:460px}#page-header nav.navbar{height:70px;margin-bottom:0;border:none;background-color:rgba(0,0,0,0.6);color:#fff}#page-header nav li{display:inline-block;float:left}#page-header .logo{position:relative;margin-top:10px;display:inline-block}#page-header .desc{position:relative;display:inline-block;color:#ccc;top:32px;font-size:24px;vertical-align:baseline;font-family:"Kai","华文楷体","楷体","Microsoft YaHei","微软雅黑",Helvetica,Arial,sans-serif}#page-footer nav.navbar{min-height:36px;height:36px;line-height:36px;background-color:rgba(0,0,0,0.6);font-size:12px;color:#6d6d6d}#page-footer nav.navbar .container{height:24px}#page-footer nav.navbar p{margin:0 auto;text-align:center}.auth-box-container{position:fixed;left:0;top:70px;width:100%}.auth-box-container .auth-box{margin:80px auto 0 auto;width:450px;border:1px solid #fff;border-radius:8px;background-color:rgba(255,255,255,0.6);box-shadow:0 5px 50px rgba(0,0,0,0.9)}.auth-box-container .auth-box .header{min-height:50px;height:50px;border:none;box-shadow:none;border-bottom:1px solid rgba(255,255,255,0.3)}.auth-box-container .auth-box .header .title{display:inline-block;float:left;margin-left:60px;height:24px;margin-top:25px;line-height:16px;font-size:20px;color:#484848}.auth-box-container .auth-box .header .title:hover{border-bottom:2px solid #5396eb}.auth-box-container .auth-box .header .selected{border-bottom:2px solid #4882cc;color:#262b40}.auth-box-container .auth-box .inputarea{margin:30px}.auth-box-container .auth-box .inputarea .input-group-addon{padding:0 20px 0 5px}.auth-box-container .auth-box .inputarea p.input-addon-desc{text-align:right;padding:0 5px 0 5px;color:#636363}.auth-box-container .auth-box .inputbox{margin-bottom:20px}.auth-box-container .auth-box .op_box{display:block;padding:5px;border-radius:3px;text-align:center;margin:5px 20px 10px 20px}.auth-box-container .auth-box .op_error{background:rgba(255,5,0,0.5);color:#fff}.auth-box-container .auth-box .op_wait{background:rgba(255,255,255,0.3)}#slogan-box{padding-top:80px}#msg-slogan{text-align:right;font-size:24px;line-height:48px;font-family:"Kai","华文楷体","楷体","Microsoft YaHei","微软雅黑",Helvetica,Arial,sans-serif;color:rgba(255,255,255,0.5)}@media screen and (max-width:990px){#slogan-box{display:none}.auth-box{margin:30px auto 0 auto}}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}/*# sourceMappingURL=login.css.map */ \ No newline at end of file +@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}.important{color:#d45f1c}hr.hr-sm{margin-top:5px;margin-bottom:5px}ul{list-style:none}ul.list{margin:0;padding:3px 0 5px 0}ul.list li{margin:3px 3px 5px 10px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}body{padding:0;margin:0;overflow:hidden}.bg-blur{position:fixed;top:-20px;left:-20px}.bg-blur-overlay{position:absolute;width:100%;height:100%;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSI0NiUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wOCIvPjxzdG9wIG9mZnNldD0iNTklIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjAuMDgiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC45Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-webkit-gradient(linear, 50% 0, 50% 100%, color-stop(46%, rgba(0,0,0,0.08)), color-stop(59%, rgba(0,0,0,0.08)), color-stop(100%, rgba(0,0,0,0.9)));background-image:-moz-linear-gradient(top, rgba(0,0,0,0.08) 46%, rgba(0,0,0,0.08) 59%, rgba(0,0,0,0.9) 100%);background-image:-webkit-linear-gradient(top, rgba(0,0,0,0.08) 46%, rgba(0,0,0,0.08) 59%, rgba(0,0,0,0.9) 100%);background-image:linear-gradient(to bottom, rgba(0,0,0,0.08) 46%, rgba(0,0,0,0.08) 59%, rgba(0,0,0,0.9) 100%)}.container{min-width:460px}#page-header nav.navbar{height:70px;margin-bottom:0;border:none;background-color:rgba(0,0,0,0.6);color:#fff}#page-header nav li{display:inline-block;float:left}#page-header .logo{position:relative;margin-top:10px;display:inline-block}#page-header .desc{position:relative;display:inline-block;color:#ccc;top:32px;font-size:24px;vertical-align:baseline;font-family:"Kai","华文楷体","楷体","Microsoft YaHei","微软雅黑",Helvetica,Arial,sans-serif}#page-footer nav.navbar{min-height:36px;height:36px;line-height:36px;background-color:rgba(0,0,0,0.6);font-size:12px;color:#6d6d6d}#page-footer nav.navbar .container{height:24px}#page-footer nav.navbar p{margin:0 auto;text-align:center}.auth-box-container{position:fixed;left:0;top:70px;width:100%}.auth-box-container .auth-box{margin:80px auto 0 auto;width:450px;border:1px solid #fff;border-radius:8px;background-color:rgba(255,255,255,0.6);box-shadow:0 5px 50px rgba(0,0,0,0.9)}.auth-box-container .auth-box .header{min-height:50px;height:50px;border:none;box-shadow:none;border-bottom:1px solid rgba(255,255,255,0.3)}.auth-box-container .auth-box .header .title{display:inline-block;float:left;margin-left:60px;height:24px;margin-top:25px;line-height:16px;font-size:20px;color:#484848}.auth-box-container .auth-box .header .title:hover{border-bottom:2px solid #5396eb}.auth-box-container .auth-box .header .selected{border-bottom:2px solid #4882cc;color:#262b40}.auth-box-container .auth-box .inputarea{margin:30px}.auth-box-container .auth-box .inputarea .input-group-addon{padding:0 20px 0 5px}.auth-box-container .auth-box .inputarea p.input-addon-desc{text-align:right;padding:0 5px 0 5px;color:#636363}.auth-box-container .auth-box .inputbox{margin-bottom:20px}.auth-box-container .auth-box .op_box{display:block;padding:5px;border-radius:3px;text-align:center;margin:5px 20px 10px 20px}.auth-box-container .auth-box .op_error{background:rgba(255,5,0,0.5);color:#fff}.auth-box-container .auth-box .op_wait{background:rgba(255,255,255,0.3)}#slogan-box{padding-top:80px}#msg-slogan{text-align:right;font-size:24px;line-height:48px;font-family:"Kai","华文楷体","楷体","Microsoft YaHei","微软雅黑",Helvetica,Arial,sans-serif;color:rgba(255,255,255,0.5)}@media screen and (max-width:990px){#slogan-box{display:none}.auth-box{margin:30px auto 0 auto}}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.modal-dialog .modal-content .modal-header{background-color:#f7f7f7}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}/*# sourceMappingURL=login.css.map */ \ No newline at end of file diff --git a/server/www/teleport/static/css/single.css b/server/www/teleport/static/css/single.css index 8344c8a..7e598ee 100644 --- a/server/www/teleport/static/css/single.css +++ b/server/www/teleport/static/css/single.css @@ -1 +1 @@ -@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}hr.hr-sm{margin-top:5px;margin-bottom:5px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.table{margin-bottom:10px}.table>thead>tr>th{vertical-align:middle;border-bottom:2px solid #ddd}.table.table-info-list{width:auto}.table.table-info-list td{border-top:1px dotted #ddd;padding:5px 5px;vertical-align:top}.table.table-info-list td.key{text-align:right;width:1px;white-space:nowrap}.table.table-info-list td.value{text-align:left;font-weight:bold;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;color:#3e3e3e}.table.table-info-list td .error{color:#cc3632;font-weight:bold}.table.table-info-list td .disabled{color:#848484}.table.table-info-list.table-info-list-lite{width:100%}.table.table-info-list.table-info-list-lite td{padding:5px 5px}.table.table-info-list.table-info-list-lite td.value{font-weight:normal}.table.table-info-list tr:first-child td{border-top:none}.table.table-config-list{width:100%}.table.table-config-list td{border:none;padding:5px}.table.table-config-list td.title{text-align:left;font-size:110%;font-weight:bolder}.table.table-config-list td.key{width:1px;white-space:nowrap;text-align:right;padding-right:15px}.table.table-config-list td.value{text-align:left}.table.table-config-list td.value input{width:4em;padding:0 5px;text-align:right}.table.table-config-list td.value .unit{margin-left:5px}.table.table-config-list td.value .desc{color:#999;margin-left:15px;display:inline-block}.table>thead>tr>th{padding:5px 5px;outline:none;white-space:nowrap;font-weight:normal;text-align:center;background-color:#ededed}.table>tbody>tr>td{padding:5px;text-align:center;vertical-align:middle}.table>tbody>tr>td .nowrap{white-space:nowrap}.table-data td.loading{text-align:left;padding:20px}.table-data .btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.table.table-data thead .sorting,.table.table-data thead .sorting_asc,.table.table-data thead .sorting_desc{cursor:pointer}.table.table-data thead .sorting:after,.table.table-data thead .sorting_asc:after,.table.table-data thead .sorting_desc:after{bottom:4px;padding-left:5px;display:inline-block;font-family:'FontAwesome';opacity:.8}.table.table-data thead .sorting:after{opacity:.2;content:"\f0dc"}.table.table-data thead .sorting_asc:after{content:"\f0de"}.table.table-data thead .sorting_desc:after{content:"\f0dd"}.host-name{font-size:16px}.host-name-desc{cursor:pointer}.host-ip{font-size:12px;color:#999;display:inline-block;white-space:nowrap;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;overflow:hidden;text-overflow:ellipsis}.td-ip-list{padding-right:20px;padding-left:5px}.td-ip-show-more{font-size:14px;width:12px;float:right;display:block}.td-ip-item{min-width:12em;width:12em;height:18px;padding:2px 4px;margin:1px 0;color:#333;text-align:center;white-space:nowrap;border-radius:9px;line-height:11px;font-size:11px;background:#dfdfdf !important}.td-ip-item span{display:inline-block;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:11px;font-weight:400}.td-ip-item a{display:inline-block;width:14px;float:right;font-size:14px}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}body{padding:0;margin:0}#page-content{margin-bottom:44px}#page-footer nav.navbar{min-height:24px;height:24px;line-height:24px;background-color:#cdcdcd;font-size:12px;color:#6d6d6d}#page-footer nav.navbar .container{height:24px}#page-footer nav.navbar p{margin:0 auto;text-align:center}.page-header{box-shadow:0 0 3px rgba(0,0,0,0.5);min-height:48px;top:0;width:100%;height:48px;margin:0 0 10px;border:none;background-color:#2a2a2a}.page-header .top-navbar{min-height:48px;height:48px;line-height:47px;background-color:#3a3a3a;color:#ccc}.page-header .top-navbar a{color:#d5d5d5}.page-header .top-navbar a:hover{color:#5a8fee}.page-header .top-navbar .brand{float:left;display:inline-block;padding:12px 0;margin:0}.page-header .top-navbar .brand .site-logo{display:block;width:86px;height:24px;background:url(../img/site-logo-small.png) no-repeat}.page-header .top-navbar .breadcrumb-container{float:left;display:inline-block;margin:0;padding:0}.page-header .top-navbar .breadcrumb-container .breadcrumb{background-color:#3a3a3a;margin:0;border-radius:0;border:none;padding:0 0 0 20px;font-size:16px;color:#ccc}.page-header .top-navbar .breadcrumb-container .breadcrumb>li+li:before{font-size:18px;padding:0 5px;color:#555;content:'|'}.page-header .top-navbar .breadcrumb-container .breadcrumb>li.title{font-size:18px}.page-header .top-navbar .breadcrumb-container .breadcrumb>li.sub-title{font-size:14px;color:#b3b3b3;line-height:47px}.page-header .top-navbar .status-container{float:right}.op_box{display:block;padding:5px;margin:0}.op_box.op_error{background-color:#ffb8b5;border:1px solid #d47e7b;color:#333}.op_box.op_wait{background:#e5e5e5;border:1px solid #a8a8a8;color:#333}.op_box.op_success{background:#acf1b2;border:1px solid #82df82;color:#333}.info-box{width:100%;margin:30px auto}.info-box .info-icon-box{z-index:-1;position:absolute;min-height:194px;overflow:hidden}.info-box .info-icon-box .fa{margin-top:30px;font-size:164px}.info-box .info-message-box{min-height:328px;border:1px solid #fff;background-color:rgba(255,255,255,0.76);box-shadow:2px 2px 3px rgba(0,0,0,0.3);padding:15px 20px 35px 30px;margin-left:98.4px}.info-box .info-message-box .title{font-size:180%;margin:15px 0}.info-box .info-message-box hr{margin:10px 0 20px;border-top:none;border-bottom:1px dashed #d3d3d3}.info-box .op_box{margin:5px 0;text-align:center}.content-box{background-color:#fff;padding:20px;box-shadow:1px 1px 1px rgba(0,0,0,0.3)}.content-box .welcome-message .fa{display:block;color:#ff272a;font-size:18px;float:left}.content-box .welcome-message span{display:block;line-height:18px;padding-left:23px}.content-box .table{width:auto;margin-left:20px}.content-box .table td{border-top:1px dotted #ddd;padding:5px}.content-box .table td.key{text-align:right}.content-box .table td.value{text-align:left;font-weight:bold}.content-box .table tr:first-child td{border-top:none}.content-box table.form{width:auto;margin-left:20px}.content-box table.form td{padding:5px;line-height:1.42857143;vertical-align:middle}.content-box table.form td.key{text-align:right}.content-box table.form td label{margin-bottom:0}.content-box table.form td .form-control{height:30px;padding:5px 10px;font-size:inherit;line-height:inherit}.content-box h1 .fa-spin{color:#aaa}.content-box h1{font-size:180%}.content-box h2{font-size:140%}.content-box .op_box{margin:5px 0}.content-box .steps-detail{display:none;margin:10px;padding:10px;border:1px solid #b4b4b4;background-color:#dcdcdc}.content-box .steps-detail p{padding-left:5px;margin:2px 0 2px 1px}.content-box .steps-detail p.error{color:#fff;margin:2px 0 2px 0;background-color:#cc3632;border:1px solid #9c2a26}.content-box .alert.alert-warning{color:#6a542d;border:1px solid #e2cab4;background-color:#ffe4cb}.content-box .error{color:#cc3632}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}/*# sourceMappingURL=single.css.map */ \ No newline at end of file +@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}.important{color:#d45f1c}hr.hr-sm{margin-top:5px;margin-bottom:5px}ul{list-style:none}ul.list{margin:0;padding:3px 0 5px 0}ul.list li{margin:3px 3px 5px 10px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.table{margin-bottom:10px}.table>thead>tr>th{vertical-align:middle;border-bottom:2px solid #ddd}.table.table-info-list{width:auto}.table.table-info-list td{border-top:1px dotted #ddd;padding:5px 5px;vertical-align:top}.table.table-info-list td.key{text-align:right;width:1px;white-space:nowrap}.table.table-info-list td.value{text-align:left;font-weight:bold;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;color:#3e3e3e}.table.table-info-list td .error{color:#cc3632;font-weight:bold}.table.table-info-list td .disabled{color:#848484}.table.table-info-list.table-info-list-lite{width:100%}.table.table-info-list.table-info-list-lite td{padding:5px 5px}.table.table-info-list.table-info-list-lite td.value{font-weight:normal}.table.table-info-list tr:first-child td{border-top:none}.table.table-config-list{width:100%}.table.table-config-list td{border:none;padding:5px}.table.table-config-list td.title{text-align:left;font-size:110%;font-weight:bolder}.table.table-config-list td.key{width:1px;white-space:nowrap;text-align:right;padding-right:15px}.table.table-config-list td.value{text-align:left}.table.table-config-list td.value input{width:4em;padding:0 5px;text-align:right}.table.table-config-list td.value .unit{margin-left:5px}.table.table-config-list td.value .desc{color:#999;margin-left:15px;display:inline-block}.table>thead>tr>th{padding:5px 5px;outline:none;white-space:nowrap;font-weight:normal;text-align:center;background-color:#ededed}.table>tbody>tr>td{padding:5px;text-align:center;vertical-align:middle}.table>tbody>tr>td .nowrap{white-space:nowrap}.table-data td.loading{text-align:left;padding:20px}.table-data .btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.table.table-data thead .sorting,.table.table-data thead .sorting_asc,.table.table-data thead .sorting_desc{cursor:pointer}.table.table-data thead .sorting:after,.table.table-data thead .sorting_asc:after,.table.table-data thead .sorting_desc:after{bottom:4px;padding-left:5px;display:inline-block;font-family:'FontAwesome';opacity:.8}.table.table-data thead .sorting:after{opacity:.2;content:"\f0dc"}.table.table-data thead .sorting_asc:after{content:"\f0de"}.table.table-data thead .sorting_desc:after{content:"\f0dd"}.host-name{font-size:16px}.host-name-desc{cursor:pointer}.host-ip{font-size:12px;color:#999;display:inline-block;white-space:nowrap;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;overflow:hidden;text-overflow:ellipsis}.td-ip-list{padding-right:20px;padding-left:5px}.td-ip-show-more{font-size:14px;width:12px;float:right;display:block}.td-ip-item{min-width:12em;width:12em;height:18px;padding:2px 4px;margin:1px 0;color:#333;text-align:center;white-space:nowrap;border-radius:9px;line-height:11px;font-size:11px;background:#dfdfdf !important}.td-ip-item span{display:inline-block;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:11px;font-weight:400}.td-ip-item a{display:inline-block;width:14px;float:right;font-size:14px}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.modal-dialog .modal-content .modal-header{background-color:#f7f7f7}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}body{padding:0;margin:0}#page-content{margin-bottom:44px}#page-footer nav.navbar{min-height:24px;height:24px;line-height:24px;background-color:#cdcdcd;font-size:12px;color:#6d6d6d}#page-footer nav.navbar .container{height:24px}#page-footer nav.navbar p{margin:0 auto;text-align:center}.page-header{box-shadow:0 0 3px rgba(0,0,0,0.5);min-height:48px;top:0;width:100%;height:48px;margin:0 0 10px;border:none;background-color:#2a2a2a}.page-header .top-navbar{min-height:48px;height:48px;line-height:47px;background-color:#3a3a3a;color:#ccc}.page-header .top-navbar a{color:#d5d5d5}.page-header .top-navbar a:hover{color:#5a8fee}.page-header .top-navbar .brand{float:left;display:inline-block;padding:12px 0;margin:0}.page-header .top-navbar .brand .site-logo{display:block;width:86px;height:24px;background:url(../img/site-logo-small.png) no-repeat}.page-header .top-navbar .breadcrumb-container{float:left;display:inline-block;margin:0;padding:0}.page-header .top-navbar .breadcrumb-container .breadcrumb{background-color:#3a3a3a;margin:0;border-radius:0;border:none;padding:0 0 0 20px;font-size:16px;color:#ccc}.page-header .top-navbar .breadcrumb-container .breadcrumb>li+li:before{font-size:18px;padding:0 5px;color:#555;content:'|'}.page-header .top-navbar .breadcrumb-container .breadcrumb>li.title{font-size:18px}.page-header .top-navbar .breadcrumb-container .breadcrumb>li.sub-title{font-size:14px;color:#b3b3b3;line-height:47px}.page-header .top-navbar .status-container{float:right}.op_box{display:block;padding:5px;margin:0}.op_box.op_error{background-color:#ffb8b5;border:1px solid #d47e7b;color:#333}.op_box.op_wait{background:#e5e5e5;border:1px solid #a8a8a8;color:#333}.op_box.op_success{background:#acf1b2;border:1px solid #82df82;color:#333}.info-box{width:100%;margin:30px auto}.info-box .info-icon-box{z-index:-1;position:absolute;min-height:194px;overflow:hidden}.info-box .info-icon-box>.fa{margin-top:30px;font-size:164px}.info-box .info-message-box{min-height:328px;border:1px solid #fff;background-color:rgba(255,255,255,0.76);box-shadow:2px 2px 3px rgba(0,0,0,0.3);padding:15px 20px 35px 30px;margin-left:98.4px}.info-box .info-message-box .title{font-size:180%;margin:15px 0}.info-box .info-message-box hr{border-top:none;border-bottom:1px dashed #d3d3d3}.info-box .op_box{margin:5px 0;text-align:center}.content-box{background-color:#fff;padding:20px;box-shadow:1px 1px 1px rgba(0,0,0,0.3)}.content-box .welcome-message .fa{display:block;color:#ff272a;font-size:18px;float:left}.content-box .welcome-message span{display:block;line-height:18px;padding-left:23px}.content-box .table{width:auto;margin-left:20px}.content-box .table td{border-top:1px dotted #ddd;padding:5px}.content-box .table td.key{text-align:right}.content-box .table td.value{text-align:left;font-weight:bold}.content-box .table tr:first-child td{border-top:none}.content-box table.form{width:auto;margin-left:20px}.content-box table.form td{padding:5px;line-height:1.42857143;vertical-align:middle}.content-box table.form td.key{text-align:right}.content-box table.form td label{margin-bottom:0}.content-box table.form td .form-control{height:30px;padding:5px 10px;font-size:inherit;line-height:inherit}.content-box h1 .fa-spin{color:#aaa}.content-box h1{font-size:180%}.content-box h2{font-size:140%}.content-box .op_box{margin:5px 0}.content-box .steps-detail{display:none;margin:10px;padding:10px;border:1px solid #b4b4b4;background-color:#dcdcdc}.content-box .steps-detail p{padding-left:5px;margin:2px 0 2px 1px}.content-box .steps-detail p.error{color:#fff;margin:2px 0 2px 0;background-color:#cc3632;border:1px solid #9c2a26}.content-box .alert.alert-warning{color:#6a542d;border:1px solid #e2cab4;background-color:#ffe4cb}.content-box .error{color:#cc3632}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}/*# sourceMappingURL=single.css.map */ \ No newline at end of file diff --git a/server/www/teleport/static/css/style.css b/server/www/teleport/static/css/style.css index 33b3f58..09525ab 100644 --- a/server/www/teleport/static/css/style.css +++ b/server/www/teleport/static/css/style.css @@ -1 +1 @@ -@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}hr.hr-sm{margin-top:5px;margin-bottom:5px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.table.table-role .header{font-size:120%;margin-top:8px}.table.table-role td{text-align:left;vertical-align:top;padding:0}.table.table-role td.role-name{min-width:160px}.table.table-role td.role-name ul{list-style:none;margin:0;padding:0}.table.table-role td.role-name ul li{padding:8px 30px 8px 6px;white-space:nowrap}.table.table-role td.role-name ul li:first-child{margin-top:10px}.table.table-role td.role-name ul li.active{color:#fff;background-color:#4091dd}.table.table-role td.role-name ul li.active:hover{background-color:#4091dd;cursor:auto}.table.table-role td.role-name ul li:hover{background-color:#81b6e9;cursor:pointer}.table.table-role td.role-privilege{padding:0 0 10px 10px;border-left:3px solid #4091dd}.table.table-role td.role-privilege hr{margin:8px 0;border-bottom:1px solid rgba(255,255,255,0.3)}.table.table-role td.role-privilege .title{font-size:110%;margin:5px 0}.table.table-role td.role-privilege ul{list-style:none;margin:0;padding:0}.table.table-role td.role-privilege ul li{display:inline-block;width:180px;margin-bottom:5px;margin-left:10px}.table.table-role td.role-privilege ul li span{color:#8e8e8e}.table.table-role td.role-privilege ul li span:before{display:inline-block;width:16px;content:"\f096";font-family:'FontAwesome'}.table.table-role td.role-privilege ul li span.enabled{color:#3374b0}.table.table-role td.role-privilege ul li span.enabled:before{content:"\f046";font-family:'FontAwesome'}.table.table-role td.role-privilege.editable li span{cursor:pointer}.table.table-role tr:first-child td{border-top:none}#btn-create-role{margin-top:15px}.table{margin-bottom:10px}.table>thead>tr>th{vertical-align:middle;border-bottom:2px solid #ddd}.table.table-info-list{width:auto}.table.table-info-list td{border-top:1px dotted #ddd;padding:5px 5px;vertical-align:top}.table.table-info-list td.key{text-align:right;width:1px;white-space:nowrap}.table.table-info-list td.value{text-align:left;font-weight:bold;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;color:#3e3e3e}.table.table-info-list td .error{color:#cc3632;font-weight:bold}.table.table-info-list td .disabled{color:#848484}.table.table-info-list.table-info-list-lite{width:100%}.table.table-info-list.table-info-list-lite td{padding:5px 5px}.table.table-info-list.table-info-list-lite td.value{font-weight:normal}.table.table-info-list tr:first-child td{border-top:none}.table.table-config-list{width:100%}.table.table-config-list td{border:none;padding:5px}.table.table-config-list td.title{text-align:left;font-size:110%;font-weight:bolder}.table.table-config-list td.key{width:1px;white-space:nowrap;text-align:right;padding-right:15px}.table.table-config-list td.value{text-align:left}.table.table-config-list td.value input{width:4em;padding:0 5px;text-align:right}.table.table-config-list td.value .unit{margin-left:5px}.table.table-config-list td.value .desc{color:#999;margin-left:15px;display:inline-block}.table>thead>tr>th{padding:5px 5px;outline:none;white-space:nowrap;font-weight:normal;text-align:center;background-color:#ededed}.table>tbody>tr>td{padding:5px;text-align:center;vertical-align:middle}.table>tbody>tr>td .nowrap{white-space:nowrap}.table-data td.loading{text-align:left;padding:20px}.table-data .btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.table.table-data thead .sorting,.table.table-data thead .sorting_asc,.table.table-data thead .sorting_desc{cursor:pointer}.table.table-data thead .sorting:after,.table.table-data thead .sorting_asc:after,.table.table-data thead .sorting_desc:after{bottom:4px;padding-left:5px;display:inline-block;font-family:'FontAwesome';opacity:.8}.table.table-data thead .sorting:after{opacity:.2;content:"\f0dc"}.table.table-data thead .sorting_asc:after{content:"\f0de"}.table.table-data thead .sorting_desc:after{content:"\f0dd"}.host-name{font-size:16px}.host-name-desc{cursor:pointer}.host-ip{font-size:12px;color:#999;display:inline-block;white-space:nowrap;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;overflow:hidden;text-overflow:ellipsis}.td-ip-list{padding-right:20px;padding-left:5px}.td-ip-show-more{font-size:14px;width:12px;float:right;display:block}.td-ip-item{min-width:12em;width:12em;height:18px;padding:2px 4px;margin:1px 0;color:#333;text-align:center;white-space:nowrap;border-radius:9px;line-height:11px;font-size:11px;background:#dfdfdf !important}.td-ip-item span{display:inline-block;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:11px;font-weight:400}.td-ip-item a{display:inline-block;width:14px;float:right;font-size:14px}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}body.page-header-fixed{padding-top:48px}body.page-sidebar-fixed .page-sidebar{position:fixed}body.page-sidebar-fixed .page-content{margin-left:180px}.page-header{border:none;box-shadow:0 0 3px rgba(0,0,0,0.5)}.page-header.navbar{overflow:hidden;min-height:48px;height:48px;margin:0}.page-header.navbar .brand{display:inline-block;float:left;width:180px;height:48px;padding:12px 0 0;text-align:center;margin:0 auto;background-color:#3a3a3a}.page-header.navbar .brand .logo{display:inline-block;width:93px;height:30px;background:url(../img/site-logo-small.png) no-repeat}.page-header.navbar .breadcrumb-container{display:inline-block;padding-top:6px}.page-header.navbar .breadcrumb-container .breadcrumb{background-color:transparent;padding-left:20px;font-size:16px}.page-header.navbar .breadcrumb-container .breadcrumb>li+li:before{content:"\f105";font-family:'FontAwesome'}.page-header .container-fluid{padding-left:0}.page-sidebar{top:48px;bottom:0;left:0;width:180px;padding-top:0;z-index:1010;background-color:#3a3a3a}.page-sidebar .nav-menu>li>a{padding:8px 0 8px 20px;line-height:24px;font-size:13px;color:#c2c2c2;border-left:5px solid #3a3a3a}.page-sidebar .nav-menu>li>a:focus{background-color:#3a3a3a;border-left:5px solid #3a3a3a}.page-sidebar .nav-menu>li>a:hover{background-color:#2d2d2d;border-left:5px solid #005c74}.page-sidebar .nav-menu>li>a.selected{border-left:5px solid #00485b}.page-sidebar .nav-menu>li>a.selected:focus{border-left:5px solid #00485b}.page-sidebar .nav-menu>li>a.active{color:#fff;background-color:#0084a7;border-left:5px solid #0084a7}.page-sidebar .nav-menu>li>a.active:hover{border-left:5px solid #00acda}.page-sidebar .nav-menu>li>a.active:after{content:"\e251";font-family:'Glyphicons Halflings';position:relative;top:1px;display:inline-block;font-style:normal;font-weight:400;float:right;color:#e9e9e9;font-size:20px;line-height:24px;margin-right:-6px}.page-sidebar .nav-menu li .menu-caret:after{display:inline-block;width:12px;height:12px;margin-left:5px;top:1px;position:relative;border:none;font-family:'FontAwesome';font-style:normal}.page-sidebar .nav-menu li .menu-caret:after{content:'\f0da'}.page-sidebar .nav-menu li.expand .menu-caret:after{content:'\f0d7'}.page-sidebar .nav-menu>li>a>i.icon{float:left;margin-top:1px;margin-right:15px;text-align:center;line-height:24px;font-size:14px}.page-sidebar .sub-menu{padding:0;margin:0;background-color:#292929;position:relative;list-style-type:none;border-top:1px solid #202020;border-bottom:1px solid #464646}.page-sidebar .sub-menu>li>a{padding:8px 0 8px 40px;line-height:20px;font-size:13px;display:block;position:relative;color:#889097;border-left:5px solid #292929}.page-sidebar .sub-menu>li>a:before{display:inline-block;padding-right:8px;line-height:20px;content:"\f105";font-family:'FontAwesome'}.page-sidebar .sub-menu>li>a:hover{color:#fff;border-left:5px solid #005c74}.page-sidebar .sub-menu>li>a.active{color:#fff;background-color:#0084a7;border-left:5px solid #0084a7}.page-sidebar .sub-menu>li>a.active:hover{border-left:5px solid #00acda}.page-sidebar .sub-menu>li>a.active:after{content:"\e251";font-family:'Glyphicons Halflings';position:relative;top:-1px;display:inline-block;font-style:normal;font-weight:400;float:right;color:#e9e9e9;font-size:18px;line-height:24px;margin-right:-6px}.page-sidebar .nav-menu>li.profile{padding:10px 10px;color:#ccc;background-color:#333;border-bottom:1px solid #464646}.page-sidebar .nav-menu>li.profile a.title{color:#ccc}.page-sidebar .nav-menu>li.profile a.title:hover{color:#fff;background-color:transparent}.page-sidebar .nav-menu>li.profile a.title:focus{background-color:transparent}.page-sidebar .nav-menu>li.profile .image{float:left;margin-top:3px;font-size:24px;color:#69f;width:36px;height:36px;border-radius:6px;background-color:#eee;text-align:center;margin-right:10px;overflow:hidden}.page-sidebar .nav-menu>li.profile .image img{margin-top:-3px}.page-sidebar .nav-menu>li.profile .name{display:block;padding-top:3px;font-size:14px}.page-sidebar .nav-menu>li.profile .role{display:block;font-size:12px;color:#999}.page-sidebar .nav-menu>li.profile.active{background-color:#0084a7;color:#fff}.page-sidebar .nav-menu>li.profile.active .name,.page-sidebar .nav-menu>li.profile.active .role{color:#fff}.page-sidebar .nav-menu>li.profile.active:after{content:"\e251";font-family:'Glyphicons Halflings';position:absolute;top:0;right:-1px;display:inline-block;font-style:normal;font-weight:400;color:#e9e9e9;font-size:24px;line-height:61px;margin-right:-6px}.page-sidebar .nav-menu>li.profile .dropdown-menu{min-width:0;font-size:13px}.page-sidebar .nav-menu>li.profile .dropdown-menu>li>a{padding-right:30px}.page-sidebar .nav-menu>li.profile .dropdown-menu>li>a:hover{background-color:#ccc}.page-sidebar .nav-menu>li.profile .dropdown-menu .divider{margin:5px 0}.page-sidebar .badge{margin-top:-10px;margin-left:5px}.page-content-inner{padding:15px}.box{border:none;box-shadow:1px 1px 2px rgba(0,0,0,0.2);background-color:#fff;padding:15px;margin-bottom:15px}.box .nav-tabs{font-size:14px;font-weight:bold}.box .nav-tabs>li:first-child{margin-left:30px}.box .tab-content>.tab-pane{background-color:#fff;padding:20px;border:1px solid #ddd;border-top:none;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.box.box-nav-tabs{padding:0;background-color:#f5f5f5}.box.box-nav-tabs .nav-tabs{font-size:inherit;font-weight:inherit}.box.box-nav-tabs .nav-tabs>li{padding-top:8px}.box.box-nav-tabs .nav-tabs>li>a{margin-right:5px;border-top-left-radius:3px;border-top-right-radius:3px;padding:3px 15px;background-color:#e6e6e6;border:1px solid #ddd;border-bottom-color:transparent}.box.box-nav-tabs .nav-tabs>li.active>a{font-weight:bold;border:1px solid #ddd;border-bottom-color:transparent;background-color:#fff}.box.box-nav-tabs .tab-content>.tab-pane{padding:20px;border:none}.box-btn-bar{line-height:30px}.box-btn-bar a.btn{margin-right:20px}.page-filter{height:36px;line-height:36px;margin-bottom:10px}.page-filter .form-control{margin-top:5px;margin-right:4px}.form-group .input-group{margin-bottom:5px}.op_box{display:block;padding:5px;border-radius:3px;text-align:center;margin-top:5px}.op_error{background:#fbb}.op_wait{background:#ccc}.more-action{position:absolute !important}.more-action .dropdown-menu{background-color:rgba(60,60,60,0.9);color:#fff;font-size:13px}.more-action .dropdown-menu.dropdown-menu-left{margin-left:-120px}.more-action .dropdown-menu>li>a{padding:5px 20px;color:#fff}.more-action .dropdown-menu>li>a:hover,.more-action .dropdown-menu>li>a:active,.more-action .dropdown-menu>li>a:visited{background-color:#0084a7}.more-action .dropdown-menu .divider{margin:5px 0;background-color:#666}.popover-inline-edit input,.popover-inline-edit .btn{height:30px}.popover-inline-edit .popover-title{background-color:#ddd}.popover-inline-edit .popover-content{padding:20px 10px}.popover-inline-edit .popover{padding:0;max-width:500px}.popover-inline-edit .popover .popover-content{padding:10px 10px 20px 10px}.popover-inline-edit .popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#ddd}.tp-table-filter{width:100%;height:25px;margin:0;padding:0}.tp-table-filter .tp-table-filter-inner{display:table;margin:0;padding:0}.tp-table-filter.tp-table-filter-input .tp-table-filter-inner{width:100%}.tp-table-filter.tp-table-filter-left .tp-table-filter-inner,.tp-table-filter.tp-table-filter-right .tp-table-filter-inner{width:auto}.tp-table-filter.tp-table-filter-center .tp-table-filter-inner{margin:0 auto}.tp-table-filter .search-title{display:table-cell;vertical-align:middle;height:25px;line-height:25px;color:#555;white-space:nowrap;width:1px;text-align:left}.tp-table-filter .search-input,.tp-table-filter .search-select{display:table-cell;text-align:left;height:25px}.tp-table-filter .search-input>.btn,.tp-table-filter .search-select>.btn{font-size:13px;background-color:transparent;border:none;padding:0 0 0 8px;border-radius:0}.tp-table-filter .search-input>.btn:active,.tp-table-filter .search-select>.btn:active{box-shadow:none}.tp-table-filter .search-input .dropdown-menu,.tp-table-filter .search-select .dropdown-menu{min-width:0;background-color:rgba(0,0,0,0.8);color:#fff;font-size:13px;box-shadow:0 3px 6px rgba(0,0,0,0.3);border:none}.tp-table-filter .search-input .dropdown-menu>li>a,.tp-table-filter .search-select .dropdown-menu>li>a{padding-right:30px;min-width:100px;color:#fff}.tp-table-filter .search-input .dropdown-menu>li>a:hover,.tp-table-filter .search-select .dropdown-menu>li>a:hover,.tp-table-filter .search-input .dropdown-menu>li>a:active,.tp-table-filter .search-select .dropdown-menu>li>a:active,.tp-table-filter .search-input .dropdown-menu>li>a:visited,.tp-table-filter .search-select .dropdown-menu>li>a:visited{background-color:rgba(255,255,255,0.2)}.tp-table-filter .search-input .dropdown-menu .divider,.tp-table-filter .search-select .dropdown-menu .divider{margin:5px 0;background-color:#666}.tp-table-filter .search-input{width:100%;padding-left:10px}.tp-table-filter .search-input>.input-group .input-group-addon{font-size:13px;padding:0 5px}.tp-table-filter .search-input>.input-group input.form-control{font-size:13px;height:25px;width:100%;padding:0 5px}.btn.btn-no-border{font-size:13px;background-color:transparent;border:none;padding:0 0 0 8px;border-radius:0}.btn.btn-no-border:active{box-shadow:none}.table>tbody>tr.table-footer-action{background-color:transparent}.table>tbody>tr.table-footer-action>td{border-color:transparent;padding-top:15px;vertical-align:middle}.table-extend-area,.table-prefix-area{display:table;width:100%}.table-extend-area .table-extend-cell,.table-prefix-area .table-extend-cell{display:table-cell;height:24px;line-height:24px;padding:3px}.table-extend-area .table-extend-cell.table-extend-cell-right,.table-prefix-area .table-extend-cell.table-extend-cell-right{text-align:right}.table-extend-area .table-extend-cell .table-name,.table-prefix-area .table-extend-cell .table-name{font-size:120%;position:relative;top:3px;padding-right:10px}.table-extend-area .table-extend-cell .pagination,.table-prefix-area .table-extend-cell .pagination{margin:0 0}.table-extend-area .table-extend-cell .pagination>li>span,.table-prefix-area .table-extend-cell .pagination>li>span,.table-extend-area .table-extend-cell .pagination a,.table-prefix-area .table-extend-cell .pagination a{padding:3px 8px;font-size:12px;line-height:1.5}.table-extend-area .table-extend-cell.checkbox-select-all,.table-prefix-area .table-extend-cell.checkbox-select-all{width:36px;text-align:center}.table-extend-area .table-extend-cell.checkbox-select-all input,.table-prefix-area .table-extend-cell.checkbox-select-all input{position:relative;top:3px}.table-extend-area .table-extend-cell.group-actions>.btn-group .btn,.table-prefix-area .table-extend-cell.group-actions>.btn-group .btn{padding:3px 5px;font-size:12px}.table-extend-area .table-extend-cell.table-item-counter,.table-prefix-area .table-extend-cell.table-item-counter{text-align:right}.table-extend-area .table-extend-cell.table-item-counter ol,.table-prefix-area .table-extend-cell.table-item-counter ol{list-style:none;padding:0;margin:0;border:none;background-color:transparent;color:#666}.table-extend-area .table-extend-cell.table-item-counter ol>li,.table-prefix-area .table-extend-cell.table-item-counter ol>li{display:inline-block;padding-left:10px}.table-extend-area .table-extend-cell.table-item-counter .btn,.table-prefix-area .table-extend-cell.table-item-counter .btn{margin-top:-3px}.table-extend-area .table-extend-cell.table-item-counter .btn .caret,.table-prefix-area .table-extend-cell.table-item-counter .btn .caret{margin-top:-3px}.table-prefix-area{margin-bottom:10px}.table-prefix-area .table-extend-cell{padding:0}.btn-group.pagination .btn.dropdown-toggle{background-color:transparent;border:1px solid #999}textarea.textarea-resize-y{resize:vertical}textarea.textarea-resize-none{resize:none}textarea.textarea-code{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}textarea.cert_pub{width:100%;height:64px;border:1px solid #e2e2e2;background-color:#e4ffe5}.box ul.help-list{list-style:none;margin:0 0 10px 0;padding:0}.box ul.help-list li{padding:3px 3px 3px 20px;margin-left:10px}.box ul.help-list li:before{color:#999;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f05a";font-family:'FontAwesome'}.box ul.help-list li em{color:#3374b0;font-style:normal}.tp-checkbox{display:inline-block;color:#6487ad}.tp-checkbox.tp-disabled{cursor:not-allowed;color:#c2c2c2}.tp-checkbox:before{display:inline-block;position:relative;top:1px;width:16px;content:"\f096";font-family:'FontAwesome'}.tp-checkbox.tp-editable{cursor:pointer}.tp-checkbox.tp-editable:hover{color:#459dee}.tp-checkbox.tp-selected,.tp-checkbox.tp-checked{color:#3374b0}.tp-checkbox.tp-selected:before,.tp-checkbox.tp-checked:before{content:"\f046";font-family:'FontAwesome'}i.upload-button{font-size:128px;color:#b1b1b1}i.upload-button:hover{cursor:pointer;color:#709cff}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}/*# sourceMappingURL=style.css.map */ \ No newline at end of file +@charset "utf-8";html{font-size:13px}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background-color:#e9e9e9;color:#333}html,body{height:100%}#page-container{min-width:1260px}a{text-decoration:none}a:link{text-decoration:none}a:hover{text-decoration:none}a:active{text-decoration:none}a:visited{text-decoration:none}select{outline:none}label{font-weight:normal}.clear-float{clear:both}.bigger{font-size:120%}.normal-text{font-size:13px;color:#333}.mono{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}.important{color:#d45f1c}hr.hr-sm{margin-top:5px;margin-bottom:5px}ul{list-style:none}ul.list{margin:0;padding:3px 0 5px 0}ul.list li{margin:3px 3px 5px 10px}.btn-single-line{white-space:nowrap}.btn-single-line .btn:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.btn-single-line .btn:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.remote-action-group{margin-bottom:3px;height:28px}.remote-action-group ul{display:block;height:28px;margin:0;padding:0}.remote-action-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-action-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-action-group ul li.remote-action-input{background:none;padding:4px 0}.remote-action-group ul li.remote-action-input select{border:none}.remote-action-group ul li.remote-action-chk-protocol{width:86px}.remote-action-group ul li.remote-action-state{text-align:center;white-space:nowrap}.remote-action-group ul li.remote-action-state.state-disabled{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.remote-action-group ul li.remote-action-state.state-disabled>i.fa{color:#b53a2f}.remote-action-group ul li.remote-action-username,.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol{width:96px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-action-group ul li.remote-action-username{font-size:90%;color:#999}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-protocol,.remote-action-group ul li.remote-action-chk-protocol{color:#000}.remote-action-group ul li.remote-action-name,.remote-action-group ul li.remote-action-chk-protocol{font-weight:bold}.remote-action-group ul li.remote-action-password,.remote-action-group ul li.remote-action-sshkey,.remote-action-group ul li.remote-action-noauth{text-align:center;padding:4px 8px;width:45px}.remote-action-group ul li.remote-action-password{background-color:#e3ffe3;color:#999}.remote-action-group ul li.remote-action-sshkey{background-color:#fbe9c8;color:#666}.remote-action-group ul li.remote-action-noauth{background-color:#e0e0e0;color:#666}.remote-action-group ul li .btn{line-height:1.5;margin:0;padding:4px 8px;font-size:12px;border-radius:0}.remote-action-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-action-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.remote-action-group ul li select{margin-top:-3px}.remote-action-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li.remote-action-btn:first-child{border:none}.remote-action-group ul li.remote-action-btn:first-child .btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-action-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-action-group ul li.remote-action-btn:last-child{border:none}.remote-action-group ul li.remote-action-btn:last-child .btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.remote-info-group{margin-bottom:3px;height:28px}.remote-info-group ul{display:inline-block;height:28px;margin:0;padding:0}.remote-info-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.remote-info-group ul li.remote-action-btn{background:none;padding:0;border:none}.remote-info-group ul li.remote-action-input{background:none;padding:4px 0}.remote-info-group ul li.remote-action-input select{border:none}.remote-info-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.remote-info-group ul li select{margin-top:-3px}.remote-info-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.remote-info-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hr.small{margin:5px 0}.dlg-protocol-group{margin-bottom:3px}.dlg-protocol-group ul{display:block;height:28px;margin:0;padding:0}.dlg-protocol-group ul li{float:left;position:relative;display:block;height:28px;padding:4px 5px;background-color:#eee;border-top:1px solid #ccc;border-right:1px solid #ccc;border-bottom:1px solid #ccc}.dlg-protocol-group ul li.item-name{width:120px}.dlg-protocol-group ul li.item-btn{background:none;padding:0;border:none}.dlg-protocol-group ul li.item-input{background:none;border:none;padding:0}.dlg-protocol-group ul li .form-control{line-height:1.5;margin:0;padding:4px 5px;font-size:12px;height:28px;border-radius:0;border-left:none;width:100px}.dlg-protocol-group ul li label{padding:0;display:block;float:left;margin-top:1px;cursor:pointer}.dlg-protocol-group ul li input[type=checkbox]{display:block;float:left;margin:3px 5px 0 0}.dlg-protocol-group ul li:first-child{border-left:1px solid #ccc;border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:first-child .btn,.dlg-protocol-group ul li:first-child .form-control{border-top-left-radius:4px;border-bottom-left-radius:4px}.dlg-protocol-group ul li:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.dlg-protocol-group ul li:last-child .btn,.dlg-protocol-group ul li:last-child .form-control{border-top-right-radius:4px;border-bottom-right-radius:4px}.os-icon-windows:after{color:#00bcf6;content:"\f17a";font-size:18px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-linux:after{color:#fff;content:"\f17c";font-size:18px;width:24px;height:24px;line-height:24px;background-color:#333;border-radius:50%;display:inline-block;font-family:'FontAwesome'}.os-icon-macos:after{color:#a7a7a7;content:"\f179";font-size:20px;width:24px;height:24px;line-height:24px;display:inline-block;font-family:'FontAwesome'}.os-icon-ubuntu:after,.os-icon-debian:after,.os-icon-centos:after,.os-icon-redhat:after{content:" ";width:24px;height:24px;line-height:24px;display:inline-block}.os-icon-ubuntu:after{background:url(../img/os-icon/ubuntu-24x24.png) no-repeat}.os-icon-debian:after{background:url(../img/os-icon/debian-24x24.png) no-repeat}.os-icon-centos:after{background:url(../img/os-icon/centos-24x24.png) no-repeat}.os-icon-redhat:after{background:url(../img/os-icon/redhat-24x24.png) no-repeat}.disable-bg{position:absolute;background:url(../img/css/disable-bg.png) repeat;opacity:.45;z-index:990}.disable-message{display:inline-block;font-size:160%;position:absolute;padding:20px 40px;border:1px solid #2b0002;background-color:#65181a;color:#fff;opacity:.85;z-index:991}.table.table-role .header{font-size:120%;margin-top:8px}.table.table-role td{text-align:left;vertical-align:top;padding:0}.table.table-role td.role-name{min-width:160px}.table.table-role td.role-name ul{list-style:none;margin:0;padding:0}.table.table-role td.role-name ul li{padding:8px 30px 8px 6px;white-space:nowrap}.table.table-role td.role-name ul li:first-child{margin-top:10px}.table.table-role td.role-name ul li.active{color:#fff;background-color:#4091dd}.table.table-role td.role-name ul li.active:hover{background-color:#4091dd;cursor:auto}.table.table-role td.role-name ul li:hover{background-color:#81b6e9;cursor:pointer}.table.table-role td.role-privilege{padding:0 0 10px 10px;border-left:3px solid #4091dd}.table.table-role td.role-privilege hr{margin:8px 0;border-bottom:1px solid rgba(255,255,255,0.3)}.table.table-role td.role-privilege .title{font-size:110%;margin:5px 0}.table.table-role td.role-privilege ul{list-style:none;margin:0;padding:0}.table.table-role td.role-privilege ul li{display:inline-block;width:180px;margin-bottom:5px;margin-left:10px}.table.table-role td.role-privilege ul li span{color:#8e8e8e}.table.table-role td.role-privilege ul li span:before{display:inline-block;width:16px;content:"\f096";font-family:'FontAwesome'}.table.table-role td.role-privilege ul li span.enabled{color:#3374b0}.table.table-role td.role-privilege ul li span.enabled:before{content:"\f046";font-family:'FontAwesome'}.table.table-role td.role-privilege.editable li span{cursor:pointer}.table.table-role tr:first-child td{border-top:none}#btn-create-role{margin-top:15px}.table{margin-bottom:10px}.table>thead>tr>th{vertical-align:middle;border-bottom:2px solid #ddd}.table.table-info-list{width:auto}.table.table-info-list td{border-top:1px dotted #ddd;padding:5px 5px;vertical-align:top}.table.table-info-list td.key{text-align:right;width:1px;white-space:nowrap}.table.table-info-list td.value{text-align:left;font-weight:bold;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;color:#3e3e3e}.table.table-info-list td .error{color:#cc3632;font-weight:bold}.table.table-info-list td .disabled{color:#848484}.table.table-info-list.table-info-list-lite{width:100%}.table.table-info-list.table-info-list-lite td{padding:5px 5px}.table.table-info-list.table-info-list-lite td.value{font-weight:normal}.table.table-info-list tr:first-child td{border-top:none}.table.table-config-list{width:100%}.table.table-config-list td{border:none;padding:5px}.table.table-config-list td.title{text-align:left;font-size:110%;font-weight:bolder}.table.table-config-list td.key{width:1px;white-space:nowrap;text-align:right;padding-right:15px}.table.table-config-list td.value{text-align:left}.table.table-config-list td.value input{width:4em;padding:0 5px;text-align:right}.table.table-config-list td.value .unit{margin-left:5px}.table.table-config-list td.value .desc{color:#999;margin-left:15px;display:inline-block}.table>thead>tr>th{padding:5px 5px;outline:none;white-space:nowrap;font-weight:normal;text-align:center;background-color:#ededed}.table>tbody>tr>td{padding:5px;text-align:center;vertical-align:middle}.table>tbody>tr>td .nowrap{white-space:nowrap}.table-data td.loading{text-align:left;padding:20px}.table-data .btn-group.open .dropdown-toggle{-webkit-box-shadow:none;box-shadow:none}.table.table-data thead .sorting,.table.table-data thead .sorting_asc,.table.table-data thead .sorting_desc{cursor:pointer}.table.table-data thead .sorting:after,.table.table-data thead .sorting_asc:after,.table.table-data thead .sorting_desc:after{bottom:4px;padding-left:5px;display:inline-block;font-family:'FontAwesome';opacity:.8}.table.table-data thead .sorting:after{opacity:.2;content:"\f0dc"}.table.table-data thead .sorting_asc:after{content:"\f0de"}.table.table-data thead .sorting_desc:after{content:"\f0dd"}.host-name{font-size:16px}.host-name-desc{cursor:pointer}.host-ip{font-size:12px;color:#999;display:inline-block;white-space:nowrap;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;overflow:hidden;text-overflow:ellipsis}.td-ip-list{padding-right:20px;padding-left:5px}.td-ip-show-more{font-size:14px;width:12px;float:right;display:block}.td-ip-item{min-width:12em;width:12em;height:18px;padding:2px 4px;margin:1px 0;color:#333;text-align:center;white-space:nowrap;border-radius:9px;line-height:11px;font-size:11px;background:#dfdfdf !important}.td-ip-item span{display:inline-block;font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace;font-size:11px;font-weight:400}.td-ip-item a{display:inline-block;width:14px;float:right;font-size:14px}.btn-group-sm>.btn{padding:3px 5px;font-size:12px}.pop-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.form-group{margin-bottom:5px}.badge{padding:3px 6px;border-radius:10px;font-size:13px;font-weight:400;background-color:#999}.badge.badge-sm{font-size:12px;padding:3px 5px;margin-top:0;border-radius:8px;text-shadow:none}.badge.badge-sup{margin-left:-8px;margin-top:-16px}.badge.badge-ignore{background-color:#e5e5e5;color:#999}.badge.badge-info{background-color:#33b7d0}.badge.badge-primary{background-color:#348fe2}.badge.badge-success{background-color:#368142}.badge.badge-warning{background-color:#f57523}.badge.badge-danger{background-color:#d34242}.btn-success .badge{color:#fff}.label{display:inline-block;padding:5px 10px;margin:2px;font-size:13px;font-weight:400;background-color:#999}.label.label-sm{font-size:12px;padding:3px 8px 4px 8px;margin-top:0;border-radius:3px}.label.label-ignore{background-color:#e5e5e5;color:#aaa;text-shadow:-1px -1px 1px #fff}.label.label-info{background-color:#33b7d0}.label.label-primary{background-color:#348fe2}.label.label-success{background-color:#368142}.label.label-warning{background-color:#f57523}.label.label-danger{background-color:#d34242}.progress.progress-sm{height:18px;margin-bottom:2px;background-color:#aaa}.progress.progress-sm.button{cursor:pointer}.progress.progress-sm .progress-bar{display:block;font-size:11px;float:none}.modal-dialog .modal-content .modal-header{background-color:#f7f7f7}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{padding-right:5px;padding-left:5px}.input-group :-moz-placeholder{color:#d2d2d2}.input-group ::-moz-placeholder{color:#d2d2d2}.input-group input:-ms-input-placeholder,.input-group textarea:-ms-input-placeholder{color:#d2d2d2}.input-group input::-webkit-input-placeholder,.input-group textarea::-webkit-input-placeholder{color:#d2d2d2}.modal .modal-content{border-radius:0}.modal .modal-header .close{margin-top:-4px;margin-right:-6px}.modal .modal-header .close:hover{color:#9c3023;opacity:1}.modal .modal-header .close:active,.modal .modal-header .close:focus,.modal .modal-header .close:visited{-webkit-appearance:none}.modal .form-horizontal .form-group,.modal .row{margin-left:0;margin-right:0}.alert{border-radius:0;padding:5px;margin-bottom:10px}.dropdown-menu{min-width:0;font-size:13px}.form-control-sm{padding:3px 5px;font-size:13px;height:inherit}.form-group .control-label.require{color:#505050;font-weight:bold}.form-group .control-label.require:before{font-weight:normal;color:#ac4e43;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f069";font-size:8px;font-family:'FontAwesome'}.form-group .control-desc{padding-top:6px;color:#999}label.form-control-static input{display:inline-block;position:relative;margin-top:4px}.control-desc .popover{max-width:none;font-size:13px}body.page-header-fixed{padding-top:48px}body.page-sidebar-fixed .page-sidebar{position:fixed}body.page-sidebar-fixed .page-content{margin-left:180px}.page-header{border:none;box-shadow:0 0 3px rgba(0,0,0,0.5)}.page-header.navbar{overflow:hidden;min-height:48px;height:48px;margin:0}.page-header.navbar .brand{display:inline-block;float:left;width:180px;height:48px;padding:12px 0 0;text-align:center;margin:0 auto;background-color:#3a3a3a}.page-header.navbar .brand .logo{display:inline-block;width:93px;height:30px;background:url(../img/site-logo-small.png) no-repeat}.page-header.navbar .breadcrumb-container{display:inline-block;padding-top:6px}.page-header.navbar .breadcrumb-container .breadcrumb{background-color:transparent;padding-left:20px;font-size:16px}.page-header.navbar .breadcrumb-container .breadcrumb>li+li:before{content:"\f105";font-family:'FontAwesome'}.page-header .container-fluid{padding-left:0}.page-sidebar{top:48px;bottom:0;left:0;width:180px;padding-top:0;z-index:1010;background-color:#3a3a3a}.page-sidebar .nav-menu>li>a{padding:8px 0 8px 20px;line-height:24px;font-size:13px;color:#c2c2c2;border-left:5px solid #3a3a3a}.page-sidebar .nav-menu>li>a:focus{background-color:#3a3a3a;border-left:5px solid #3a3a3a}.page-sidebar .nav-menu>li>a:hover{background-color:#2d2d2d;border-left:5px solid #005c74}.page-sidebar .nav-menu>li>a.selected{border-left:5px solid #00485b}.page-sidebar .nav-menu>li>a.selected:focus{border-left:5px solid #00485b}.page-sidebar .nav-menu>li>a.active{color:#fff;background-color:#0084a7;border-left:5px solid #0084a7}.page-sidebar .nav-menu>li>a.active:hover{border-left:5px solid #00acda}.page-sidebar .nav-menu>li>a.active:after{content:"\e251";font-family:'Glyphicons Halflings';position:relative;top:1px;display:inline-block;font-style:normal;font-weight:400;float:right;color:#e9e9e9;font-size:20px;line-height:24px;margin-right:-6px}.page-sidebar .nav-menu li .menu-caret:after{display:inline-block;width:12px;height:12px;margin-left:5px;top:1px;position:relative;border:none;font-family:'FontAwesome';font-style:normal}.page-sidebar .nav-menu li .menu-caret:after{content:'\f0da'}.page-sidebar .nav-menu li.expand .menu-caret:after{content:'\f0d7'}.page-sidebar .nav-menu>li>a>i.icon{float:left;margin-top:1px;margin-right:15px;text-align:center;line-height:24px;font-size:14px}.page-sidebar .sub-menu{padding:0;margin:0;background-color:#292929;position:relative;list-style-type:none;border-top:1px solid #202020;border-bottom:1px solid #464646}.page-sidebar .sub-menu>li>a{padding:8px 0 8px 40px;line-height:20px;font-size:13px;display:block;position:relative;color:#889097;border-left:5px solid #292929}.page-sidebar .sub-menu>li>a:before{display:inline-block;padding-right:8px;line-height:20px;content:"\f105";font-family:'FontAwesome'}.page-sidebar .sub-menu>li>a:hover{color:#fff;border-left:5px solid #005c74}.page-sidebar .sub-menu>li>a.active{color:#fff;background-color:#0084a7;border-left:5px solid #0084a7}.page-sidebar .sub-menu>li>a.active:hover{border-left:5px solid #00acda}.page-sidebar .sub-menu>li>a.active:after{content:"\e251";font-family:'Glyphicons Halflings';position:relative;top:-1px;display:inline-block;font-style:normal;font-weight:400;float:right;color:#e9e9e9;font-size:18px;line-height:24px;margin-right:-6px}.page-sidebar .nav-menu>li.profile{padding:10px 10px;color:#ccc;background-color:#333;border-bottom:1px solid #464646}.page-sidebar .nav-menu>li.profile a.title{color:#ccc}.page-sidebar .nav-menu>li.profile a.title:hover{color:#fff;background-color:transparent}.page-sidebar .nav-menu>li.profile a.title:focus{background-color:transparent}.page-sidebar .nav-menu>li.profile .image{float:left;margin-top:3px;font-size:24px;color:#69f;width:36px;height:36px;border-radius:6px;background-color:#eee;text-align:center;margin-right:10px;overflow:hidden}.page-sidebar .nav-menu>li.profile .image img{margin-top:-3px}.page-sidebar .nav-menu>li.profile .name{display:block;padding-top:3px;font-size:14px}.page-sidebar .nav-menu>li.profile .role{display:block;font-size:12px;color:#999}.page-sidebar .nav-menu>li.profile.active{background-color:#0084a7;color:#fff}.page-sidebar .nav-menu>li.profile.active .name,.page-sidebar .nav-menu>li.profile.active .role{color:#fff}.page-sidebar .nav-menu>li.profile.active:after{content:"\e251";font-family:'Glyphicons Halflings';position:absolute;top:0;right:-1px;display:inline-block;font-style:normal;font-weight:400;color:#e9e9e9;font-size:24px;line-height:61px;margin-right:-6px}.page-sidebar .nav-menu>li.profile .dropdown-menu{min-width:0;font-size:13px}.page-sidebar .nav-menu>li.profile .dropdown-menu>li>a{padding-right:30px}.page-sidebar .nav-menu>li.profile .dropdown-menu>li>a:hover{background-color:#ccc}.page-sidebar .nav-menu>li.profile .dropdown-menu .divider{margin:5px 0}.page-sidebar .badge{margin-top:-10px;margin-left:5px}.page-content-inner{padding:15px}.box{border:none;box-shadow:1px 1px 2px rgba(0,0,0,0.2);background-color:#fff;padding:15px;margin-bottom:15px}.box .nav-tabs{font-size:14px;font-weight:bold}.box .nav-tabs>li:first-child{margin-left:30px}.box .tab-content>.tab-pane{background-color:#fff;padding:20px;border:1px solid #ddd;border-top:none;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.box.box-nav-tabs{padding:0;background-color:#f5f5f5}.box.box-nav-tabs .nav-tabs{font-size:inherit;font-weight:inherit}.box.box-nav-tabs .nav-tabs>li{padding-top:8px}.box.box-nav-tabs .nav-tabs>li>a{margin-right:5px;border-top-left-radius:3px;border-top-right-radius:3px;padding:3px 15px;background-color:#e6e6e6;border:1px solid #ddd;border-bottom-color:transparent}.box.box-nav-tabs .nav-tabs>li.active>a{font-weight:bold;border:1px solid #ddd;border-bottom-color:transparent;background-color:#fff}.box.box-nav-tabs .tab-content>.tab-pane{padding:20px;border:none}.box-btn-bar{line-height:30px}.box-btn-bar a.btn{margin-right:20px}.page-filter{height:36px;line-height:36px;margin-bottom:10px}.page-filter .form-control{margin-top:5px;margin-right:4px}.form-group .input-group{margin-bottom:5px}.op_box{display:block;padding:5px;border-radius:3px;text-align:center;margin-top:5px}.op_error{background:#fbb}.op_wait{background:#ccc}.more-action{position:absolute !important}.more-action .dropdown-menu{background-color:rgba(60,60,60,0.9);color:#fff;font-size:13px}.more-action .dropdown-menu.dropdown-menu-left{margin-left:-120px}.more-action .dropdown-menu>li>a{padding:5px 20px;color:#fff}.more-action .dropdown-menu>li>a:hover,.more-action .dropdown-menu>li>a:active,.more-action .dropdown-menu>li>a:visited{background-color:#0084a7}.more-action .dropdown-menu .divider{margin:5px 0;background-color:#666}.popover-inline-edit input,.popover-inline-edit .btn{height:30px}.popover-inline-edit .popover-title{background-color:#ddd}.popover-inline-edit .popover-content{padding:20px 10px}.popover-inline-edit .popover{padding:0;max-width:500px}.popover-inline-edit .popover .popover-content{padding:10px 10px 20px 10px}.popover-inline-edit .popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#ddd}.tp-table-filter{width:100%;height:25px;margin:0;padding:0}.tp-table-filter .tp-table-filter-inner{display:table;margin:0;padding:0}.tp-table-filter.tp-table-filter-input .tp-table-filter-inner{width:100%}.tp-table-filter.tp-table-filter-left .tp-table-filter-inner,.tp-table-filter.tp-table-filter-right .tp-table-filter-inner{width:auto}.tp-table-filter.tp-table-filter-center .tp-table-filter-inner{margin:0 auto}.tp-table-filter .search-title{display:table-cell;vertical-align:middle;height:25px;line-height:25px;color:#555;white-space:nowrap;width:1px;text-align:left}.tp-table-filter .search-input,.tp-table-filter .search-select{display:table-cell;text-align:left;height:25px}.tp-table-filter .search-input>.btn,.tp-table-filter .search-select>.btn{font-size:13px;background-color:transparent;border:none;padding:0 0 0 8px;border-radius:0}.tp-table-filter .search-input>.btn:active,.tp-table-filter .search-select>.btn:active{box-shadow:none}.tp-table-filter .search-input .dropdown-menu,.tp-table-filter .search-select .dropdown-menu{min-width:0;background-color:rgba(0,0,0,0.8);color:#fff;font-size:13px;box-shadow:0 3px 6px rgba(0,0,0,0.3);border:none}.tp-table-filter .search-input .dropdown-menu>li>a,.tp-table-filter .search-select .dropdown-menu>li>a{padding-right:30px;min-width:100px;color:#fff}.tp-table-filter .search-input .dropdown-menu>li>a:hover,.tp-table-filter .search-select .dropdown-menu>li>a:hover,.tp-table-filter .search-input .dropdown-menu>li>a:active,.tp-table-filter .search-select .dropdown-menu>li>a:active,.tp-table-filter .search-input .dropdown-menu>li>a:visited,.tp-table-filter .search-select .dropdown-menu>li>a:visited{background-color:rgba(255,255,255,0.2)}.tp-table-filter .search-input .dropdown-menu .divider,.tp-table-filter .search-select .dropdown-menu .divider{margin:5px 0;background-color:#666}.tp-table-filter .search-input{width:100%;padding-left:10px}.tp-table-filter .search-input>.input-group .input-group-addon{font-size:13px;padding:0 5px}.tp-table-filter .search-input>.input-group input.form-control{font-size:13px;height:25px;width:100%;padding:0 5px}.btn.btn-no-border{font-size:13px;background-color:transparent;border:none;padding:0 0 0 8px;border-radius:0}.btn.btn-no-border:active{box-shadow:none}.table>tbody>tr.table-footer-action{background-color:transparent}.table>tbody>tr.table-footer-action>td{border-color:transparent;padding-top:15px;vertical-align:middle}.table-extend-area,.table-prefix-area{display:table;width:100%}.table-extend-area .table-extend-cell,.table-prefix-area .table-extend-cell{display:table-cell;height:24px;line-height:24px;padding:3px}.table-extend-area .table-extend-cell.table-extend-cell-right,.table-prefix-area .table-extend-cell.table-extend-cell-right{text-align:right}.table-extend-area .table-extend-cell .table-name,.table-prefix-area .table-extend-cell .table-name{font-size:120%;position:relative;top:3px;padding-right:10px}.table-extend-area .table-extend-cell .pagination,.table-prefix-area .table-extend-cell .pagination{margin:0 0}.table-extend-area .table-extend-cell .pagination>li>span,.table-prefix-area .table-extend-cell .pagination>li>span,.table-extend-area .table-extend-cell .pagination a,.table-prefix-area .table-extend-cell .pagination a{padding:3px 8px;font-size:12px;line-height:1.5}.table-extend-area .table-extend-cell.checkbox-select-all,.table-prefix-area .table-extend-cell.checkbox-select-all{width:36px;text-align:center}.table-extend-area .table-extend-cell.checkbox-select-all input,.table-prefix-area .table-extend-cell.checkbox-select-all input{position:relative;top:3px}.table-extend-area .table-extend-cell.group-actions>.btn-group .btn,.table-prefix-area .table-extend-cell.group-actions>.btn-group .btn{padding:3px 5px;font-size:12px}.table-extend-area .table-extend-cell.table-item-counter,.table-prefix-area .table-extend-cell.table-item-counter{text-align:right}.table-extend-area .table-extend-cell.table-item-counter ol,.table-prefix-area .table-extend-cell.table-item-counter ol{list-style:none;padding:0;margin:0;border:none;background-color:transparent;color:#666}.table-extend-area .table-extend-cell.table-item-counter ol>li,.table-prefix-area .table-extend-cell.table-item-counter ol>li{display:inline-block;padding-left:10px}.table-extend-area .table-extend-cell.table-item-counter .btn,.table-prefix-area .table-extend-cell.table-item-counter .btn{margin-top:-3px}.table-extend-area .table-extend-cell.table-item-counter .btn .caret,.table-prefix-area .table-extend-cell.table-item-counter .btn .caret{margin-top:-3px}.table-prefix-area{margin-bottom:10px}.table-prefix-area .table-extend-cell{padding:0}.btn-group.pagination .btn.dropdown-toggle{background-color:transparent;border:1px solid #999}textarea.textarea-resize-y{resize:vertical}textarea.textarea-resize-none{resize:none}textarea.textarea-code{font-family:Monaco,Lucida Console,Consolas,Courier,'Courier New',monospace}textarea.cert_pub{width:100%;height:64px;border:1px solid #e2e2e2;background-color:#e4ffe5}.box ul.help-list{list-style:none;margin:0 0 10px 0;padding:0}.box ul.help-list li{padding:3px 3px 3px 20px;margin-left:10px}.box ul.help-list li:before{color:#999;position:absolute;margin-left:-1.2em;margin-top:1px;content:"\f05a";font-family:'FontAwesome'}.box ul.help-list li em{color:#3374b0;font-style:normal}.tp-checkbox{display:inline-block;color:#6487ad}.tp-checkbox.tp-disabled{cursor:not-allowed;color:#c2c2c2}.tp-checkbox:before{display:inline-block;position:relative;top:1px;width:16px;content:"\f096";font-family:'FontAwesome'}.tp-checkbox.tp-editable{cursor:pointer}.tp-checkbox.tp-editable:hover{color:#459dee}.tp-checkbox.tp-selected,.tp-checkbox.tp-checked{color:#3374b0}.tp-checkbox.tp-selected:before,.tp-checkbox.tp-checked:before{content:"\f046";font-family:'FontAwesome'}i.upload-button{font-size:128px;color:#b1b1b1}i.upload-button:hover{cursor:pointer;color:#709cff}#gritter-notice-wrapper{z-index:9999}.gritter-bottom,.gritter-item,.gritter-top{background:rgba(0,0,0,0.8) !important}.gritter-top{border-top-left-radius:3px;border-top-right-radius:3px}.gritter-bottom{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.gritter-close,.gritter-light .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%}.gritter-close:before,.gritter-light .gritter-close:before{content:'\f00d' !important;font-family:FontAwesome !important;font-size:9px !important;width:16px !important;height:16px !important;line-height:16px !important;color:#fff !important;text-indent:0 !important;position:absolute !important;text-align:center !important;right:0 !important;top:0 !important}.gritter-title{font-size:13px !important;line-height:16px !important;padding-bottom:5px !important;font-weight:400 !important;color:#fff !important;text-shadow:none !important}.gritter-item{color:#aaa !important;font-size:13px !important;padding:2px 15px 5px !important}.gritter-error .gritter-bottom,.gritter-error .gritter-item,.gritter-error .gritter-top{background:rgba(123,32,32,0.9) !important}.gritter-error .gritter-title{color:#fff !important}.gritter-error .gritter-item{color:#ddd !important}.gritter-error .gritter-close{left:auto !important;right:5px !important;top:5px !important;width:16px !important;height:16px !important;line-height:16px !important;display:block !important;border-radius:50%;background:#e33b3b !important}.gritter-success .gritter-bottom,.gritter-success .gritter-item,.gritter-success .gritter-top{background:rgba(1,65,16,0.9) !important}.gritter-success .gritter-title{color:#ddd !important}.gritter-success .gritter-item{color:#ccc !important}.gritter-success .gritter-close{background:#0eb320 !important}#gritter-notice-wrapper{width:320px;max-width:480px}/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/server/www/teleport/static/img/qrcode/select-oath-app.png b/server/www/teleport/static/img/qrcode/select-oath-app.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b445b66fd41f4056fd89ea5ad60fe2828d10c6 GIT binary patch literal 4029 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 literal 0 HcmV?d00001 diff --git a/server/www/teleport/static/img/qrcode/wechat.png b/server/www/teleport/static/img/qrcode/wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..2000a7cda6f0c320e99220f87d8e7541e970b01c GIT binary patch literal 49534 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 m?H9TIJ<4s!;BqwmzXJee+@ylQ40ksG0000 正在发送密码重置确认函,请稍候...'); +// $app.do_send_reset_email(str_username, str_email, str_captcha); +// } +// else { +// $app.dom.find.btn_submit.removeAttr('disabled'); +// $app.hide_op_box(); +// $app.show_op_box('error', tp_error_msg(ret.code, ret.message)); +// $app.dom.captcha_image.attr('src', '/auth/captcha?h=28&rnd=' + Math.random()); +// $app.dom.input_captcha.focus().select().val(''); +// } +// }, +// function () { +// $app.hide_op_box(); +// $app.show_op_box('error', '很抱歉,无法连接服务器!请稍后再试一次!'); +// $app.dom.find.btn_submit.removeAttr('disabled'); +// } +// ); +// }; +// +// $app.do_send_reset_email = function (str_username, str_email, str_captcha) { +// $tp.ajax_post_json('/user/do-reset-password', { +// mode: 3, +// username: str_username, +// email: str_email, +// captcha: str_captcha +// }, +// function (ret) { +// if (ret.code === TPE_OK) { +// $app.dom.find.btn_submit.slideUp('fast'); +// $app.show_op_box('success', '密码重置确认函已发送,请注意查收!'); +// } else { +// $app.dom.find.btn_submit.removeAttr('disabled'); +// $app.hide_op_box(); +// var msg = ''; +// if (ret.code === TPE_NOT_EXISTS) +// msg = tp_error_msg(ret.code, '用户不存在,请检查输入的用户和电子邮件地址是否匹配!'); +// else +// msg = tp_error_msg(ret.code, ret.message); +// $app.show_op_box('error', msg); +// } +// }, +// function () { +// $app.dom.find.btn_submit.removeAttr('disabled'); +// $app.hide_op_box(); +// $app.show_op_box('error', '网络故障,密码重置确认函发送失败!'); +// }, +// 15000 +// ); +// }; +// +// $app.on_set_new_password = function () { +// $app.hide_op_box(); +// var str_password = $app.dom.set_password.input_password.val(); +// +// if (str_password.length === 0) { +// $app.show_op_box('error', '密码未填写!'); +// $app.dom.set_password.input_password.attr('data-content', "请设置您的新密码!").focus().popover('show'); +// return; +// } +// +// if ($app.options.force_strong) { +// if (!tp_check_strong_password(str_password)) { +// $app.show_op_box('error', tp_error_msg(TPE_FAILED, '抱歉,不能使用弱密码!')); +// $app.dom.set_password.input_password.attr('data-content', "请设置强密码:至少8位,必须包含大写字母、小写字母以及数字!").focus().popover('show'); +// return; +// } +// } +// +// $tp.ajax_post_json('/user/do-reset-password', { +// mode: 4, +// token: $app.options.token, +// password: str_password +// }, +// function (ret) { +// $app.dom.find.btn_submit.removeAttr('disabled'); +// if (ret.code === TPE_OK) { +// $app.show_op_box('success', '密码已重置,正在转到登录界面!'); +// setTimeout(function () { +// window.location.href = '/'; +// }, 2000); +// } else { +// var msg = ''; +// if (ret.code === TPE_NOT_EXISTS) +// msg = tp_error_msg(ret.code, '无效的密码重置链接!'); +// else +// msg = tp_error_msg(ret.code, ret.message); +// $app.show_op_box('error', msg); +// } +// }, +// function () { +// $app.dom.find.btn_submit.removeAttr('disabled'); +// $app.hide_op_box(); +// $app.show_op_box('error', '网络故障,密码重置失败!'); +// } +// ); +// }; + + diff --git a/server/www/teleport/static/js/user/me.js b/server/www/teleport/static/js/user/me.js index 22ac9b2..87c4f45 100644 --- a/server/www/teleport/static/js/user/me.js +++ b/server/www/teleport/static/js/user/me.js @@ -114,14 +114,14 @@ $app.on_init = function (cb_stack, cb_args) { }); $app.dom.btn_reset_oath_code.click(function () { - $tp.ajax_post_json('/auth/oath-secret-reset', {}, + $tp.ajax_post_json('/user/gen-oath-secret', {}, function (ret) { if (ret.code === TPE_OK) { - $app.dom.oath_secret_image.attr('src', '/auth/oath-secret-qrcode?' + Math.random()); + $app.dom.oath_secret_image.attr('src', '/user/oath-secret-qrcode?' + Math.random()); $app.dom.tmp_oath_secret.text(ret.data.tmp_oath_secret); $app.dom.dlg_reset_oath_code.modal({backdrop: 'static'}); } else { - $tp.notify_error('发生内部错误!' + tp_error_msg(ret.code, ret.message)); + $tp.notify_error('无法绑定身份验证器:' + tp_error_msg(ret.code, ret.message)); } }, function () { diff --git a/server/www/teleport/static/js/user/reset-password.js b/server/www/teleport/static/js/user/reset-password.js index 11b554f..5f09dc6 100644 --- a/server/www/teleport/static/js/user/reset-password.js +++ b/server/www/teleport/static/js/user/reset-password.js @@ -46,6 +46,7 @@ $app.on_init = function (cb_stack) { if (event.which === 13) { $app.dom.find.input_email.focus(); } else { + $app.hide_op_box(); $('[data-toggle="popover"]').popover('hide'); } }); @@ -53,6 +54,7 @@ $app.on_init = function (cb_stack) { if (event.which === 13) { $app.dom.find.input_captcha.focus(); } else { + $app.hide_op_box(); $('[data-toggle="popover"]').popover('hide'); } }); @@ -60,6 +62,7 @@ $app.on_init = function (cb_stack) { if (event.which === 13) { $app.on_send_find_password_email(); } else { + $app.hide_op_box(); $('[data-toggle="popover"]').popover('hide'); } }); @@ -145,16 +148,20 @@ $app.on_send_find_password_email = function () { var str_captcha = $app.dom.find.input_captcha.val(); if (str_username.length === 0) { - $app.show_op_box('error', '账号未填写!'); - $app.dom.find.input_username.attr('data-content', "请填写您的账号!").focus().popover('show'); - // $app.dom.find.input_username.focus(); + $app.show_op_box('error', '用户名未填写!'); + $app.dom.find.input_username.attr('data-content', "请填写您的用户名!").focus().popover('show'); return; } if (str_email.length === 0) { - $app.show_op_box('error', '邮箱未填写!'); - $app.dom.find.input_email.attr('data-content', "请填写您的邮箱!").focus().popover('show'); - // $app.dom.find.input_email.focus(); + $app.show_op_box('error', '电子邮件地址未填写!'); + $app.dom.find.input_email.attr('data-content', "请填写您的电子邮件地址!").focus().popover('show'); + return; + } + + if (!tp_check_email(str_email)) { + $app.show_op_box('error', '无效的电子邮件地址!'); + $app.dom.find.input_email.attr('data-content', "请检查输入的电子邮件地址!").focus().popover('show'); return; } @@ -205,7 +212,7 @@ $app.do_send_reset_email = function (str_username, str_email, str_captcha) { $app.hide_op_box(); var msg = ''; if (ret.code === TPE_NOT_EXISTS) - msg = tp_error_msg(ret.code, '没有此用户'); + msg = tp_error_msg(ret.code, '用户不存在,请检查输入的用户和电子邮件地址是否匹配!'); else msg = tp_error_msg(ret.code, ret.message); $app.show_op_box('error', msg); diff --git a/server/www/teleport/static/js/user/user-list.js b/server/www/teleport/static/js/user/user-list.js index 0f46fe4..d994c89 100644 --- a/server/www/teleport/static/js/user/user-list.js +++ b/server/www/teleport/static/js/user/user-list.js @@ -914,8 +914,6 @@ $app.create_dlg_reset_password = function () { var dlg = {}; dlg.dom_id = 'dlg-reset-password'; dlg.field_id = -1; - // dlg.field_username = ''; - // dlg.field_surname = ''; dlg.field_email = ''; dlg.field_password = ''; @@ -1025,7 +1023,6 @@ $app.create_dlg_reset_password = function () { function (ret) { if (ret.code === TPE_OK) { $tp.notify_success('用户密码重置成功!'); - // $app.table_users.load_data(); dlg.dom.dialog.modal('hide'); } else { $tp.notify_error('用户密码重置失败:' + tp_error_msg(ret.code, ret.message)); diff --git a/server/www/teleport/static/less/_base.less b/server/www/teleport/static/less/_base.less index 7d55a41..1dbb567 100644 --- a/server/www/teleport/static/less/_base.less +++ b/server/www/teleport/static/less/_base.less @@ -77,14 +77,29 @@ label { font-family: @font-family-mono; } +.important { + //font-weight:bold; + color: #d45f1c; + //font-style: italic; +} + hr.hr-sm { margin-top: 5px; margin-bottom: 5px; } -//============================================== -// 重载bootstrap的样式 -//============================================== +ul { + list-style: none; +} + +ul.list { + //list-style: none; + margin: 0; + padding: 3px 0 5px 0; + li { + margin: 3px 3px 5px 10px; + } +} .btn-single-line { white-space: nowrap; diff --git a/server/www/teleport/static/less/_overwrite_bootstrap.less b/server/www/teleport/static/less/_overwrite_bootstrap.less index d177d25..026de3d 100644 --- a/server/www/teleport/static/less/_overwrite_bootstrap.less +++ b/server/www/teleport/static/less/_overwrite_bootstrap.less @@ -145,6 +145,11 @@ } } +.modal-dialog .modal-content .modal-header { + //padding: 10px; + background-color: #f7f7f7; +} + //.alert-sm { // padding: 5px; // margin-bottom: 10px; diff --git a/server/www/teleport/static/less/single.less b/server/www/teleport/static/less/single.less index bfdc4d3..fce37d0 100644 --- a/server/www/teleport/static/less/single.less +++ b/server/www/teleport/static/less/single.less @@ -202,7 +202,7 @@ body { position: absolute; min-height: @error-icon-size+30px; overflow: hidden; - .fa { + & > .fa { margin-top: 30px; font-size: @error-icon-size; //color: rgb(255, 101, 0); @@ -227,7 +227,7 @@ body { hr { //border-top: 1px solid #d3d3d3; //border-bottom: 1px solid #fff; - margin: 10px 0 20px; + //margin: 10px 0 20px; border-top: none; border-bottom: 1px dashed #d3d3d3; } diff --git a/server/www/teleport/view/auth/login.mako b/server/www/teleport/view/auth/login.mako index 940f428..ebbbdbd 100644 --- a/server/www/teleport/view/auth/login.mako +++ b/server/www/teleport/view/auth/login.mako @@ -61,6 +61,7 @@ +

尚未绑定身份验证器?

diff --git a/server/www/teleport/view/user/bind-oath.mako b/server/www/teleport/view/user/bind-oath.mako new file mode 100644 index 0000000..a0012da --- /dev/null +++ b/server/www/teleport/view/user/bind-oath.mako @@ -0,0 +1,219 @@ +<%! + page_title_ = '绑定身份验证器' +%> +<%inherit file="../page_single_base.mako"/> + +<%block name="extend_js_file"> + + + +<%block name="embed_css"> + + + +<%block name="page_header"> +
+
+ +
+ + +
+
+
+ +
+
+
绑定身份验证器
+
+
+

第一步:安装身份验证器

+

请在你的手机上安装身份验证器App。点击此处获取安装方式

+ +
+

第二步:检查服务器时间

+

请注意检查您的手机时间与teleport服务器时间是否同步,如果两者时间偏差超过两分钟则无法绑定,请及时通知系统管理员处理!

+
TELEPORT服务器时间:-
+ +
+

第三步:认证并绑定

+
+
+
+
+ + +
+
+ + +
+ +
+ + +
+
+
+
+ +
+
+
+
+ +<%block name="extend_content"> + + + + + +<%block name="embed_js"> + + diff --git a/server/www/teleport/view/user/me.mako b/server/www/teleport/view/user/me.mako index 5a10e24..e6081d7 100644 --- a/server/www/teleport/view/user/me.mako +++ b/server/www/teleport/view/user/me.mako @@ -31,7 +31,7 @@ diff --git a/server/www/teleport/view/user/reset-password.mako b/server/www/teleport/view/user/reset-password.mako index cbded02..c94bd14 100644 --- a/server/www/teleport/view/user/reset-password.mako +++ b/server/www/teleport/view/user/reset-password.mako @@ -23,7 +23,7 @@ <%block name="page_header">
-
+