/* ========== Global Reset ========== */
* {margin:0;padding:0;box-sizing:border-box;}
html, body {font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';width:100%;height:100%;overflow:hidden;}
.loading {width:100%;height:100%;background:url(../img/logo1.png) no-repeat center;}
.kui-logo {
    background:url(../img/logo1.png) no-repeat 5px;height:50px;
    position:initial;margin:0;padding:0;margin-top:4px;
}
:root[data-theme=dark] .kui-logo, .kui-menu-dark .kui-logo {background:url(../img/logo.png) no-repeat 5px;}

.ant-table-summary td {font-weight:bold;}

/* ========== Login Page ========== */
.jxc-login {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:100vh;
  overflow:hidden;
  background:linear-gradient(135deg,#0c1445 0%,#1a3a8a 40%,#2563eb 70%,#06b6d4 100%);
}

/* Decorative background shapes */
.jxc-login::before {
  content:"";
  position:absolute;
  top:-20%;
  right:-10%;
  width:600px;
  height:600px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(6,182,212,0.15) 0%,transparent 70%);
  pointer-events:none;
  animation:jxcFloat 8s ease-in-out infinite;
}

.jxc-login::after {
  content:"";
  position:absolute;
  bottom:-15%;
  left:-5%;
  width:500px;
  height:500px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(99,102,241,0.12) 0%,transparent 70%);
  pointer-events:none;
  animation:jxcFloat 10s ease-in-out infinite reverse;
}

@keyframes jxcFloat {
  0%,100% {transform:translate(0,0) scale(1);}
  50% {transform:translate(30px,-30px) scale(1.05);}
}

/* Main container */
.jxc-login-container {
  position:relative;
  z-index:1;
  display:flex;
  width:960px;
  max-width:94vw;
  min-height:560px;
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-radius:24px;
  box-shadow:0 25px 60px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.1);
  overflow:hidden;
  animation:jxcFadeIn 0.8s ease-out;
}

@keyframes jxcFadeIn {
  from {opacity:0;transform:translateY(30px) scale(0.96);}
  to {opacity:1;transform:translateY(0) scale(1);}
}

/* ========== Left Brand Panel ========== */
.jxc-login-brand {
  flex:0 0 480px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:60px 40px;
  background:linear-gradient(160deg,rgba(12,20,69,0.85) 0%,rgba(37,99,235,0.35) 100%);
  position:relative;
  overflow:hidden;
}

.jxc-login-brand::before {
  content:"";
  position:absolute;
  top:-100px;
  right:-100px;
  width:300px;
  height:300px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.06);
  pointer-events:none;
}

.jxc-login-brand::after {
  content:"";
  position:absolute;
  bottom:-60px;
  left:-60px;
  width:200px;
  height:200px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.04);
  pointer-events:none;
}

.jxc-login-title {
  font-size:28px;
  font-weight:700;
  color:#fff;
  letter-spacing:2px;
  margin:8px 0;
  text-shadow:0 2px 10px rgba(0,0,0,0.2);
}

.jxc-login-subtitle {
  font-size:15px;
  color:rgba(255,255,255,0.7);
  letter-spacing:4px;
  margin-bottom:40px;
}

/* Feature tags */
.jxc-login-features {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-bottom:32px;
}

.jxc-feature-tag {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 18px;
  border-radius:20px;
  font-size:13px;
  color:rgba(255,255,255,0.9);
  background:rgba(255,255,255,0.1);
  border:1px solid rgba(255,255,255,0.12);
  backdrop-filter:blur(4px);
  transition:all 0.3s;
}

.jxc-feature-tag:hover {
  background:rgba(255,255,255,0.18);
  transform:translateY(-2px);
}

.jxc-feature-tag .jxc-feature-icon {
  font-size:14px;
  color:#34d399;
}

/* Decorative illustration area */
.jxc-login-illustration {
  position:relative;
  width:280px;
  height:180px;
}

/* Background dots pattern */
.jxc-dots-pattern {
  position:absolute;
  inset:0;
  opacity:0.06;
  background-image:radial-gradient(circle,#fff 1.2px,transparent 1.2px);
  background-size:24px 24px;
}

/* ========== Right Form Panel ========== */
.jxc-login-form-panel {
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:50px 48px;
  background:rgba(255,255,255,0.95);
}

[data-theme=dark] .jxc-login-form-panel {
  background:rgba(30,30,45,0.95);
}

.jxc-login-form-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:32px;
}

.jxc-login-welcome {
  font-size:22px;
  font-weight:700;
  color:#1e293b;
  line-height:1.3;
}

[data-theme=dark] .jxc-login-welcome {
  color:#e2e8f0;
}

.jxc-login-welcome small {
  display:block;
  font-size:14px;
  font-weight:400;
  color:#64748b;
  margin-top:4px;
}

[data-theme=dark] .jxc-login-welcome small {
  color:#94a3b8;
}

.jxc-login-actions {
  display:flex;
  align-items:center;
  gap:8px;
}

/* Tabs styling */
.jxc-login-form-panel .ant-tabs-nav {
  margin-bottom:28px;
}

.jxc-login-form-panel .ant-tabs-nav::before {
  border-bottom-color:#e2e8f0;
}

[data-theme=dark] .jxc-login-form-panel .ant-tabs-nav::before {
  border-bottom-color:#334155;
}

.jxc-login-form-panel .ant-tabs-tab {
  font-size:14px;
  padding:10px 0;
  color:#64748b;
  transition:color 0.3s;
}

.jxc-login-form-panel .ant-tabs-tab:hover {
  color:#2563eb;
}

.jxc-login-form-panel .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color:#2563eb;
  font-weight:600;
}

.jxc-login-form-panel .ant-tabs-ink-bar {
  background:linear-gradient(90deg,#2563eb,#06b6d4);
  height:3px;
  border-radius:2px;
}

/* Form fields */
.jxc-login-form-panel .ant-form-item {
  margin-bottom:22px;
}

.jxc-login-form-panel .ant-input-affix-wrapper {
  border-radius:10px;
  border:1.5px solid #e2e8f0;
  padding:8px 14px;
  font-size:14px;
  transition:all 0.3s;
  background:#f8fafc;
}

[data-theme=dark] .jxc-login-form-panel .ant-input-affix-wrapper {
  border-color:#334155;
  background:#1e293b;
}

.jxc-login-form-panel .ant-input-affix-wrapper:hover {
  border-color:#93c5fd;
}

.jxc-login-form-panel .ant-input-affix-wrapper-focused,
.jxc-login-form-panel .ant-input-affix-wrapper:focus {
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,0.1);
  background:#fff;
}

[data-theme=dark] .jxc-login-form-panel .ant-input-affix-wrapper-focused,
[data-theme=dark] .jxc-login-form-panel .ant-input-affix-wrapper:focus {
  background:#0f172a;
}

.jxc-login-form-panel .ant-input-affix-wrapper > .ant-input:not(textarea) {
  padding-left:8px;
}

.jxc-login-form-panel .ant-input-prefix {
  color:#94a3b8;
  font-size:16px;
  margin-right:4px;
}

/* Login button */
.jxc-login-form-panel .ant-btn-primary {
  width:100%;
  height:44px;
  border-radius:10px;
  font-size:16px;
  font-weight:600;
  letter-spacing:1px;
  border:none;
  background:linear-gradient(135deg,#2563eb,#1d4ed8);
  box-shadow:0 4px 16px rgba(37,99,235,0.35);
  transition:all 0.3s;
}

.jxc-login-form-panel .ant-btn-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(37,99,235,0.45);
  background:linear-gradient(135deg,#3b82f6,#2563eb);
}

.jxc-login-form-panel .ant-btn-primary:active {
  transform:translateY(0);
}

/* QR Code section */
.jxc-qrcode-wrapper {
  text-align:center;
  padding:16px 0;
}

.jxc-qrcode-wrapper p {
  margin-bottom:18px;
  font-size:14px;
  color:#64748b;
}

[data-theme=dark] .jxc-qrcode-wrapper p {
  color:#94a3b8;
}

/* Footer */
.jxc-login-footer {
  position:absolute;
  bottom:20px;
  left:0;
  right:0;
  text-align:center;
  color:rgba(255,255,255,0.5);
  font-size:13px;
  z-index:1;
}

.jxc-login-footer span {
  margin:0 4px;
}

[data-theme=dark] .jxc-login-footer {
  color:rgba(255,255,255,0.3);
}

/* ========== Responsive ========== */
@media screen and (max-width:820px) {
  .jxc-login-container {
    flex-direction:column;
    max-width:96vw;
    min-height:auto;
  }

  .jxc-login-brand {
    flex:none;
    padding:40px 30px 32px;
  }

  .jxc-login-logo {
    width:72px;
    height:72px;
    margin-bottom:16px;
  }

  .jxc-login-logo .kui-logo {
    width:42px;
    height:42px;
  }

  .jxc-login-title {
    font-size:22px;
  }

  .jxc-login-subtitle {
    font-size:13px;
    margin-bottom:24px;
  }

  .jxc-login-features {
    gap:8px;
    margin-bottom:0;
  }

  .jxc-feature-tag {
    padding:5px 14px;
    font-size:12px;
  }

  .jxc-login-illustration {
    display:none;
  }

  .jxc-login-form-panel {
    padding:36px 28px;
  }

  .jxc-login-welcome {
    font-size:20px;
  }
}

@media screen and (max-width:480px) {
  .jxc-login-container {
    border-radius:16px;
  }

  .jxc-login-brand {
    padding:28px 20px 24px;
  }

  .jxc-login-logo {
    width:60px;
    height:60px;
    border-radius:14px;
  }

  .jxc-login-logo .kui-logo {
    width:36px;
    height:36px;
  }

  .jxc-login-title {
    font-size:18px;
  }

  .jxc-login-subtitle {
    font-size:12px;
    letter-spacing:2px;
    margin-bottom:16px;
  }

  .jxc-login-features {
    gap:6px;
  }

  .jxc-feature-tag {
    padding:4px 10px;
    font-size:11px;
  }

  .jxc-login-form-panel {
    padding:28px 20px;
  }

  .jxc-login-form-header {
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-bottom:24px;
  }

  .jxc-login-welcome {
    font-size:18px;
  }
}