.app-footer{height:72px}.app-center,.app-footer{text-align:center}.editable-cell{position:relative}.editable-cell-value-wrap{padding:5px 12px;cursor:pointer}.editable-row:hover .editable-cell-value-wrap{border:1px solid #d9d9d9;border-radius:4px;padding:4px 11px}[data-theme=dark] .editable-row:hover .editable-cell-value-wrap{border:1px solid #434343}#admin-template .logo{width:120px;float:left}#admin-template .logo img{width:100%}#admin-template .admin-content{min-height:calc(100vh - 137px)}#front-template .logo{width:120px;float:left}#front-template .logo img{width:100%}#front-template .front-content{min-height:calc(100vh - 137px);width:100%;margin:auto;padding:20px}#center-template{min-height:100vh}#center-template .cen-content{display:flex;flex-direction:column;min-height:calc(100vh - 72px)}#center-template .cen-login{flex:1 0 auto;min-height:calc(100vh - 72px);padding:16px;background-color:#f7f7fc;display:flex;align-items:center;justify-content:center}.bagLoc{min-height:50px;font-size:14px;line-height:20px;box-shadow:0 1px 7px 0 rgba(0,0,0,.1);margin:3px;background:#fff;border-radius:4px;padding:7px}.login-card{width:100%;max-width:420px;border-radius:16px;box-shadow:0 12px 32px rgba(16,42,67,.08);--login-control-height:44px}.login-card .ant-card-body{padding:28px 26px;min-height:514px;display:flex;flex-direction:column}.login-hero{text-align:center;margin-bottom:16px}.login-hero img{width:100%;max-width:160px;height:auto}.login-title.ant-typography{font-weight:700;font-size:22px;line-height:1.3;letter-spacing:.5px;text-align:center;color:#06b7ab;margin-bottom:4px}.login-subtitle.ant-typography{display:block;text-align:center;color:#7b8794;font-size:13px;margin-bottom:20px}.login-card .ant-input,.login-card .ant-input-affix-wrapper,.login-card .ant-select-selector{border-radius:10px}.login-card .ant-input-affix-wrapper,.login-card .ant-input:not(.totp-code-input){height:var(--login-control-height)}.login-card .ant-input-affix-wrapper>.ant-input{height:auto}.login-card .ant-input-affix-wrapper .anticon{color:rgba(0,0,0,.25);margin-right:4px}.login-card .ant-select:not(.ant-select-customize-input) .ant-select-selector{border:1px solid #d9d9d9;border-radius:10px}.login-card .ant-select:not(.ant-select-customize-input):hover .ant-select-selector{border-color:#06b7ab}.login-card .ant-select.ant-select-lg .ant-select-selector{height:var(--login-control-height);padding:0 12px}.login-card .ant-select.ant-select-lg .ant-select-selection-item{line-height:calc(var(--login-control-height) - 2px);font-size:14px}.login-field{margin-bottom:16px}.login-card .ant-form-item-label>label,.login-field-label{display:block;font-size:12px;font-weight:600;color:#5a6673;margin-bottom:6px}.login-source-select{width:100%}.login-form .ant-form-item{margin-bottom:0;padding-bottom:20px}.login-form .ant-form-item-explain,.login-form .ant-form-item-extra{min-height:20px;font-size:12px;line-height:20px}.login-form .ant-form-item.login-submit-item{padding-bottom:0}.login-form-error{min-height:20px;margin-bottom:4px;color:#bb2124;font-size:12px;line-height:20px;text-align:center;overflow-wrap:anywhere}.login-submit-btn.ant-btn{height:48px;border-radius:12px;background:#06b7ab;border-color:#06b7ab;font-weight:600;font-size:15px}.login-submit-btn.ant-btn:focus,.login-submit-btn.ant-btn:hover{background:#05a096;border-color:#05a096}.login-submit-btn.ant-btn[disabled],.login-submit-btn.ant-btn[disabled]:hover{background:#b9e5e2;border-color:#b9e5e2;color:#fff}.login-card .ant-btn:focus,.login-card .ant-btn:focus-visible,.login-card .ant-input-affix-wrapper-focused,.login-card .ant-input:focus,.login-card .ant-select-focused:not(.ant-select-customize-input) .ant-select-selector{border-color:#06b7ab;box-shadow:0 0 0 3px rgba(6,183,171,.2)}.login-step{display:flex;flex-direction:column;flex:1 1}.login-step .login-step-actions{margin-top:auto;padding-top:20px}.login-step-loading{align-items:center;grid-gap:12px;gap:12px;padding:24px 0}.login-step-copy.ant-typography{display:block;text-align:center;color:#5a6673;font-size:13px;line-height:1.5;margin-bottom:20px}.login-step-loading .login-step-copy.ant-typography{margin-bottom:0}.totp-code-input.ant-input{height:52px;border-radius:10px;text-align:center;font-size:24px;font-weight:600;letter-spacing:8px;padding:8px 12px;text-indent:8px}.totp-qr{width:175px;margin:0 auto 20px}.totp-qr img,.totp-qr svg{display:block;width:100%;height:auto;border-radius:8px}.totp-secret{margin-bottom:20px}.totp-secret-label{display:block;text-align:center;color:#97a1ac;font-size:12px;margin-bottom:6px}.totp-secret-row{display:flex;align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;background:#f4f6f8;border-radius:10px}.totp-secret-value{flex:1 1;min-width:0;overflow-wrap:anywhere;word-break:break-all;font-size:12px;line-height:1.5;color:#3c4858}.login-step-actions{display:flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px}.login-back-btn.ant-btn{padding:0;height:auto;color:#7b8794;font-size:13px;flex-shrink:0}.login-back-btn.ant-btn:hover{color:#06b7ab}.login-step-submit.ant-btn{flex:1 1;min-width:0;max-width:180px}@media (max-height:730px){#center-template .cen-login{padding:12px 16px}.login-card .ant-card-body{padding:22px 26px;min-height:462px}.login-hero{margin-bottom:12px}.login-hero img{max-width:118px}.login-subtitle.ant-typography{margin-bottom:16px}}@media (max-width:400px){.login-card .ant-card-body{padding:24px 18px;min-height:484px}.login-hero img{max-width:140px}.login-title.ant-typography{font-size:19px}.totp-qr{width:150px}.totp-code-input.ant-input{font-size:20px;letter-spacing:6px;text-indent:6px}.login-step-actions{grid-gap:8px;gap:8px}.login-step-submit.ant-btn{max-width:none}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}